{"report_id":"5391f7a6-c661-4e12-bc4b-d3f87543db4f","version":0,"status":"done","tags":[],"date":"2026-07-27T03:57:17Z","url":{"schema":"https","addr":"astroxcinvest.com/","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":0,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"astroxcinvest.com/","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"title":"astroxcinvest.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-04T06:10:26.760742Z","times_seen":842,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"astroxcinvest.com/","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":0,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T03:57:17Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":1}},"detection":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"widget-v3.smartsuppcdn.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2018-11-20","domain_rank":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":497,"comment":"","tags":null,"fingerprints":null},{"fqdn":"astroxcinvest.com","ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"domain_registered":"2024-10-17","domain_rank":0,"first_seen":"2026-07-27T03:16:19.421705Z","last_seen":"2026-07-27T03:16:19.421705Z","alert_count":37,"request_count":37,"received_data":2816839,"sent_data":19476,"comment":"","tags":null,"fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Google Maps","description":"Google Maps is a web mapping service. It offers satellite imagery, aerial photography, street maps, 360° interactive panoramic views of streets, real-time traffic conditions, and route planning for traveling by foot, car, bicycle and air, or public transportation.","website":"https://maps.google.com","common_platform_enumeration":"","icon":"Google Maps.svg","categories":["Maps"]},{"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":"Font Awesome","description":"Font Awesome is a font and icon toolkit based on CSS and Less.","website":"https://fontawesome.com/","common_platform_enumeration":"","icon":"Font Awesome.svg","categories":["Font scripts"]},{"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":"jQuery","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]}]},{"fqdn":"widgets.coingecko.com","ip":{"addr":"104.18.4.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2014-03-26","domain_rank":3132971,"first_seen":"2018-07-05T11:10:42Z","last_seen":"2026-07-23T05:31:16.754918Z","alert_count":0,"request_count":1,"received_data":1338183,"sent_data":492,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"www.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":146047,"first_seen":"2012-05-29T15:36:17Z","last_seen":"2026-07-26T23:06:30.068608Z","alert_count":0,"request_count":3,"received_data":44768,"sent_data":1907,"comment":"","tags":null,"fingerprints":null},{"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":18547,"sent_data":464,"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":"api.coingecko.com","ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2014-03-26","domain_rank":442226,"first_seen":"2018-05-18T12:16:11Z","last_seen":"2026-07-21T20:24:11.162909Z","alert_count":0,"request_count":6,"received_data":11606,"sent_data":3148,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"maps.googleapis.com","ip":{"addr":"172.217.115.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":3442,"first_seen":"2012-05-22T14:23:23Z","last_seen":"2026-07-20T08:05:15.246758Z","alert_count":0,"request_count":2,"received_data":312706,"sent_data":968,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":1,"received_data":75996,"sent_data":505,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":5,"received_data":184043,"sent_data":2836,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.tradingview-widget.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2020-06-05","domain_rank":196495,"first_seen":"2021-04-08T06:14:48Z","last_seen":"2026-07-24T15:28:31.440139Z","alert_count":0,"request_count":28,"received_data":666638,"sent_data":15478,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]}]},{"fqdn":"s3-symbol-logo.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":110931,"first_seen":"2020-11-23T08:22:37Z","last_seen":"2026-07-25T00:19:15.629884Z","alert_count":0,"request_count":9,"received_data":15559,"sent_data":5202,"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":"s3.tradingview.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2010-03-20","domain_rank":165395,"first_seen":"2018-06-24T04:06:00Z","last_seen":"2026-07-25T05:38:23.80932Z","alert_count":0,"request_count":1,"received_data":13686,"sent_data":503,"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":"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":3,"received_data":196307,"sent_data":1850,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widgetdata.tradingview.com","ip":{"addr":"93.123.102.226","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"domain_registered":"2010-03-20","domain_rank":179381,"first_seen":"2015-02-20T09:47:36Z","last_seen":"2026-07-26T01:26:45.690501Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":775,"comment":"","tags":null,"fingerprints":null},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"18.185.198.9","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":1579,"sent_data":537,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.googletagmanager.com","ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2011-11-11","domain_rank":283,"first_seen":"2012-10-04T01:07:32Z","last_seen":"2026-07-26T22:31:28.839046Z","alert_count":0,"request_count":1,"received_data":489157,"sent_data":473,"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.googleapis.com","ip":{"addr":"142.250.178.74","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":11993,"sent_data":1041,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"widget-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":1,"received_data":555,"sent_data":567,"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":"kit.fontawesome.com","ip":{"addr":"172.64.147.188","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2012-10-18","domain_rank":16651,"first_seen":"2019-03-29T02:12:52Z","last_seen":"2026-07-20T12:54:33.829185Z","alert_count":0,"request_count":1,"received_data":384,"sent_data":480,"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":"cdnjs.cloudflare.com","ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2009-02-17","domain_rank":1222,"first_seen":"2012-05-23T12:49:49Z","last_seen":"2026-07-26T22:43:30.214545Z","alert_count":0,"request_count":3,"received_data":113329,"sent_data":1698,"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":"coinlib.io","ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-12-05","domain_rank":119150,"first_seen":"2017-12-08T06:44:44Z","last_seen":"2026-07-25T05:38:23.773256Z","alert_count":0,"request_count":13,"received_data":590366,"sent_data":7156,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}]},{"fqdn":"www.google.com","ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":22,"first_seen":"2015-05-10T13:11:19Z","last_seen":"2026-07-26T22:51:17.688286Z","alert_count":0,"request_count":1,"received_data":717,"sent_data":549,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.115.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":32331,"sent_data":573,"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":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"43cc84282ae8ae707422fe0e47a737e4","sha1":"9494dfe845f51f5f1a62975275bc212704af3f7b","sha256":"84be6de752c70c93efb10cb0b1bee2711b78342f56d6fcf411ab0f8c5c003348","sha512":"e21b2eb023b2c19c6a1bee13ac490e62d541e2f74e423ce0073b1ec70e611810dc842db685d8eedb836d0520e71553cd308175651f588f74b49a887920f060f4","ssdeep":"","tlshash":"80b092252098852637f508bcb96467d4bd3241a060096151903d899819b6f8b0990bef","size":121,"data":"","first_seen":"2026-06-05T01:28:54.596192Z","last_seen":"2026-08-04T06:18:34.315032Z","times_seen":1836,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10d8b01b1b865a519be7d5b88e98bcac","sha1":"80cc14de2c8bb984866e74720f37ad57a80e9acf","sha256":"ce33f60576204820a75cd31723620bd7247276841db0647fb820abea4c8ab03d","sha512":"cf9a2f01ddc7113f81551041381a6e81350c9febe4b7f24f2143df7177c5bdf87a4cc5ef95a5a14ab06aeab4a710635b1e8c60e816eeeebe0766eeaa643d7208","ssdeep":"","tlshash":"f0f00e358b3c10220aec08f9c0898be83e2d7262e0245060fc69de7d0948cafd053eef","size":525,"data":"","first_seen":"2025-07-20T14:54:50.990021Z","last_seen":"2026-08-04T06:18:34.315688Z","times_seen":4755,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"630261c66fd1cfdc1d377aeacf7cae48","sha1":"2510e79e093980a6efcdd513d4134a19f2b96ee9","sha256":"2f90d6879fdf68aabce3ae9fbf0028a10659ba1870e24687a8de1bced3e5314f","sha512":"dd63351fe827dcd768ed78b36ef29fcaafb1d0583cecbf8af4dfa8d20fb478d9e14e87640b1a089cde6ce993a61d73f992e79522c7a77368405134f12cbe01ea","ssdeep":"","tlshash":"54f0c0df1711c972c6b98167337fb355383272127a9104209658aad86920cd3c219c87","size":542,"data":"","first_seen":"2026-06-16T13:06:30.04206Z","last_seen":"2026-08-04T06:18:34.316631Z","times_seen":1717,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1a6e1178e4bbf5730bd664a49dd3bc24","sha1":"17c3ae3273f9de6afbbdedf2e413dbb3a6722792","sha256":"3814cddd18b2095e01abb745a99e5ada90178e709c09879324c3b623f2d829ea","sha512":"cfb1aab0bf589e33fd12906f448ddbbf7163420a088de513b174304c9ba3a7abcd9b41c98bc4dd51edd0206c1fe4660db9857e3c6163d1bf50c670cefddee509","ssdeep":"","tlshash":"de9002b090c39c5890264186687100160b6c040c01080141132184d810115048e40d8e","size":43,"data":"","first_seen":"2023-03-13T01:07:12Z","last_seen":"2026-08-04T07:30:18.120721Z","times_seen":213600,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"3ecaea12642976a1d336129f8c85369e","sha1":"a6999ecd201a6667f53a0ef41335fec9e160ad20","sha256":"bf3f74192fbb6caa6f83b6dbf1fabe1975fe5899d1b824f0ae074c30a9f8d371","sha512":"d7d20694badab3c88645a504b7d386dc31ae1972c286da756e91824726e79c7d7de2152680962ffdc1d53aaf6a811e4771038420f1405d325884044943246d55","ssdeep":"","tlshash":"65d02241b006dcd29ca2bb2a71348ca9009caa7c10a161c4b2cfc25100b39780b42a0f","size":206,"data":"","first_seen":"2026-06-12T17:57:14.031557Z","last_seen":"2026-08-04T06:18:34.319413Z","times_seen":1765,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b6821bb45424547e332af4cefb5a5a75","sha1":"4767332b287c3b15f28ce99f18aca4ddb021f181","sha256":"e0c576273d1ca8ee9a2fba609a005263c2bb272cdec1d6ab5b997dc7c586bc06","sha512":"e2a0babe63e240a4bee41e4c5c1bcc19f8666a69fcd43eb6b0c3671b929958fba310283d97fa4923654ded85f5bec8f38ed0b3ca02d30aab912ac77dee4f01e9","ssdeep":"","tlshash":"5f41ff25c50fdc0889f3cda230cdb913281a913056e22657d96e5ee9cddf43b53a2b58","size":2225,"data":"","first_seen":"2026-06-12T17:57:14.032554Z","last_seen":"2026-08-04T06:18:34.320009Z","times_seen":1765,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"0fa06e655bed2d7a59c026cb90ba9802","sha1":"547bbafeb7acece1ce2f2509f8bf346043d84fc1","sha256":"c9da0420122e0b5f04aa5bdd58c285498cc2921321de0c0a4b1fdc766c821a18","sha512":"e2aa2182136fdf4aca1b1667166168ca0fd10c964e7c6719aa561160dafae66ea577fba93d15074f86ffa35182adf99c2c96ed72627b5f52febc663e406e2921","ssdeep":"","tlshash":"cb800475c0400d1741f1001314343011515c440444010150d3517145151111d7d1fd4d","size":35,"data":"","first_seen":"2026-07-07T19:15:46.886577Z","last_seen":"2026-07-29T06:17:13.213594Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"e3204b49a85b636cc8880cbad5ba5018","sha1":"6dfed1a64fc53aee256c26a5c52cc6491df97ab5","sha256":"a765dc27704c7f8a199ae74b8af7ddf6be7485298a56dd54bc46fdb7b69b1221","sha512":"f99c67dba4af1db7d12716d800e54f232db84e89854334f126cbdea05cfeef08509cc055ae2084173338097125b435b5229d4b00d74fdc4b995a87aaa9258038","ssdeep":"768:XyOQ03DV6Ly5NEdTtWWLiQn6spuNokpvauELcQcrQ+0XjsbgXlmJJWXzIC6tLKf3:XyOR6LMELcUPwbgXl52cfIyZ589e","tlshash":"7bc39268f224e77e7d3778ac96bce44c320571a1e9f807dee95172119fc3bb26829118","size":123458,"data":"","first_seen":"2026-07-07T19:15:46.907257Z","last_seen":"2026-07-29T06:17:13.214911Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"67a5c420ee38fdc0a33429a1b395663a","sha1":"d18d9874a6ac698c63568a84f1a8b515a9adbbe5","sha256":"c2759dec8fbb791e08e0b550a68d292862d8a0a9c14170d9a1ee5942e07c5d0c","sha512":"1ece6c5b4d04d6df39312c28872d53ce4029ff463bdc2950077bc1b1861d91dcbf95cd010e6a397c48717f6ba62923783d947a93d07d403c8f5fea96c845f98a","ssdeep":"","tlshash":"2501c02a5400ee5eecaa1eb4113d8dbb268d8abfc250cdfcd459de242f4627513a79c1","size":831,"data":"","first_seen":"2026-07-23T13:38:20.570216Z","last_seen":"2026-07-29T06:17:13.216197Z","times_seen":1012,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1589309228d0596a56ca9637600c0ffd","sha1":"0ee2c12424b1650ebfe7c9aacade8146e4270115","sha256":"1dd1d72183717c7c8dfe538108603807a462ddc3769bb5114cee9f8b8c3ab1c8","sha512":"243e5a148dc39dbc7129e66fc0e760f5690f408adec6a19e92eb41013fbd1f25bf12881022d4afbbe487b9269f51665585861a9d985ece6eecb5df695a9e3b02","ssdeep":"","tlshash":"7a11e01eda5eee49a829cd1f143b1f3688c4dc779034156db25ecfc81262fa20ba9d91","size":1030,"data":"","first_seen":"2026-06-13T02:21:16.275218Z","last_seen":"2026-08-04T06:18:34.322023Z","times_seen":1745,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10967388aedd93a37687c8c1ce2fcb80","sha1":"6a3fbd3121492cb2dbc250e1078291fb40a5b933","sha256":"03728e970c199ba3374ce7b1b3f3163632fa6de63ef11aa3a05d5824e3674b52","sha512":"939dc8ddedb2b725ff92e0a41928b7227646168e4948a090c4271fcfdb7b6089f60d0945a1d5f213eef31f6000ee46460c63d2b11ca5cd9ace0b906d97445573","ssdeep":"","tlshash":"5451337d3504c96bedad785a127fbe3528d9016b07d0ceb887c8de0409418bfa756dc1","size":2768,"data":"","first_seen":"2026-06-29T23:16:30.42623Z","last_seen":"2026-07-29T06:17:13.218911Z","times_seen":1541,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"307cab8226db7752ba6aaaff5720e1ae","sha1":"13cddabd9f6bc9191241d2165fcb4b081f20c93f","sha256":"54426822571d255ae68721d9aabe5fc072c61606fe2ffe791667e198f94ae3b0","sha512":"f433b9e8b489e6999a6eb18a6ed6c8e3578fbb8539bf12c7149bbad162d2c1916abfcef37ee635cbebf013d407d9c370d8ba26286d9de08864aa44c8079df353","ssdeep":"","tlshash":"9331d729f045f68abd9f26b5903fdcbe218f546e0fa19ab4465789a9470103d2783ec0","size":1623,"data":"","first_seen":"2026-06-12T17:57:14.038934Z","last_seen":"2026-07-29T06:17:13.220051Z","times_seen":1701,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"04a519a0bd479c67c4ebacec3d09f64b","sha1":"85232a728bf982cc4a73732a1e798f279fd1b93e","sha256":"35f0bb0c452726724f562ca9d05532bb98aac7b8d11ed0de1cac17d2d096823f","sha512":"23d7695f631768e74b2982c8336546ae4c9e85b33dff0e986f29119c3644bf89dc262c7dc87e40d5c99c439436ddb989d78f2a3c40dde91b54522b2917651868","ssdeep":"","tlshash":"6c21926e6804de57ec3e3d69053eed3a10cd887b4650def8829ece041a0297a37dadc1","size":1206,"data":"","first_seen":"2026-06-13T02:21:16.284448Z","last_seen":"2026-08-04T06:18:34.323485Z","times_seen":1745,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"25365a482f6248f1da0c3425cc63a8ce","sha1":"c34437aaa7f17ead780baa8bf8043f664b4fb2c4","sha256":"61be21898e1e84434732d2734df95db4af9ecb4e5f2486f2da7641bfb09224c4","sha512":"8dce633aacfbd032476a23f6c09e157087e1598acd773f855f29b9ddc2f649c17eaf0d0b13807397663991feea665e1d9d0692e5fd6e5ffd18a16db2ac340898","ssdeep":"","tlshash":"6ad012909c82cc1dc6a60f37283a6c3622dcc66447455586adc9da695a8ae3105a5dca","size":198,"data":"","first_seen":"2026-01-16T17:39:52.610905Z","last_seen":"2026-08-04T06:18:34.32399Z","times_seen":1754,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"44652b490b6c9ea2158adc5e0daf547d","sha1":"77c456327b269bf17f3898b9250e3829e77ebc47","sha256":"92fb3cc60692c42b2fdf8a54159d9197f9d0db962357ea84f96c373efeaf761a","sha512":"6e8ad870e7e45d5b1f8d83242685835e8abac75962f49b68e99c5a3a43cb1bb6d45698153757a16ab0a91c6c7e5f610870e696c51497bac74d88ebc4c591db45","ssdeep":"","tlshash":"32c04c25c95999059825cc8e141a2f2a868ac87640280d74736dd9886161b415b59d95","size":153,"data":"","first_seen":"2026-07-07T13:53:11.726539Z","last_seen":"2026-08-04T06:18:34.324497Z","times_seen":1519,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b1691151961bb944c7869d870287a11f","sha1":"b4548e10cff0bbac231a29ceb780078813a47fbb","sha256":"d1efa1aee00140209d76ff05acbc6e90d27a3c130cb231383fd87a5ce25dc4a2","sha512":"ea9a091ece87fc089d0e9823673c4132c7f4515c8068911d43c98245b38f19657bc47ad9bc8629f396edbfefc4f14dbf897ec0cfd892705ec315e07043654c5f","ssdeep":"","tlshash":"f3418bb2ec19ec44e7c65e0c693a7ca454dd83a29186a08fb29ced784587d344df1a32","size":2250,"data":"","first_seen":"2026-07-07T13:53:11.727685Z","last_seen":"2026-08-04T06:18:34.324993Z","times_seen":1519,"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/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":"astroxcinvest.com/js/jquery.counterup.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ef36cca760bf1cd76cfcd0e4dc10cef1","sha1":"ef38469f60d58850fe55c4de2ec7e289a2415d71","sha256":"26d40f8ffdf1b9bf286a954c6888a33cda0cd031e802d821fe0c0562e379ae29","sha512":"77c175276932891a30041ffcfe9016b2a525d304843a41b92804e4555e2c95f6e5abd55143a3320d95715a5dad59dfa63e1b826e94c1e0ceee53fc7d165810f5","ssdeep":"","tlshash":"37118cb93a0a298daa80e459f1efb0989176bdbc0c80884b91c558401fa5abc3b5b730","size":1067,"data":"","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-04T04:02:31.54107Z","times_seen":12979,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/jquery.colorbox.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"49a2977c850d817835011c902eed214c","sha1":"4ea8be53a31253437e439c65afbc7beeaca11223","sha256":"1386b3ea8141a8adb913c82faf7dbe3752913e6bb3dd6ddfd87ef7fff0d7fa1d","sha512":"68ea57ff5fd37becde55c2a33da2aa87ffb423240f1f4d31ec8c4affad840a8ecfd6a07a3178e509d1a48b3a7545fbd84397d2f248e36bf15402eb8fb1a2c48c","ssdeep":"384:t3gsDG1DrzIZNBHCDfwzk84RM4mNjzRT89995L59qwc:tbDG1/eizONT89f9+","tlshash":"9bd2b6b4e77e261e803a107dd84d43cd123f81721526b9bbfca4466c98e05ae4369fed","size":29162,"data":"","first_seen":"2023-03-07T22:07:31Z","last_seen":"2026-07-29T06:17:13.172532Z","times_seen":627,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4911410e5153f0d7.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"e09a94d1ed13e73c8c05e86ecc9b73b5","sha1":"5d3e0e86e66f40d854564417d18b9a8cfb50938f","sha256":"bdeee3ad5435b26f62f6a8ce700f78618b18b355f3d3cd21ec3949a59777eaf5","sha512":"7d4e4220b8c82da8621e7f0ae1bfdb323ed094215712b54bfd28ed06e06e0aa9aded8bc0f07eb71ea08e821f75d433c38522d2054e9756e34814622cf8957899","ssdeep":"3072:LZhLWlPznn2U1BR0Bef8xgVrkRMKTopmN6Cstv9it+QK:LZhLWxznn2U1sWK04xstv9it+QK","tlshash":"66240be83995f6626ab302a710af1803733c252b280d4d60a711fdddb57845eb17bf9e","size":224417,"data":"","first_seen":"2026-02-04T14:24:19.892015Z","last_seen":"2026-08-04T06:18:34.234722Z","times_seen":1915,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/c0a6ae515f4d245d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"42e2ea745a52c479ce79b9fadf7f2ed9","sha1":"0cf08999016475d70bf072b7878daea0244184e3","sha256":"2746264358bea944d3523f9c66585147897903d73b7b42e0bfd599f2492e3315","sha512":"cf4f42621c9615fcfc08b325ce391ff9e3af8b94fe80c1e4118eb1e52ca88e0b0409d0c36bc96f50a26ac3ea232630521e1a8077e10d05438f3b7fb8ebc266a9","ssdeep":"","tlshash":"af7165f0a702b23409ea41de5079c778b53d3658512e9420d1badc7f626cd8964b2ef3","size":3649,"data":"","first_seen":"2026-06-13T02:21:16.197988Z","last_seen":"2026-08-04T06:18:34.219548Z","times_seen":1751,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/800e836146d6e7eb.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"7b2a7348e5acf7f61cd01b2152c769a6","sha1":"1cc03a4809684838384744113d8a0e0093a62a3a","sha256":"c5bd83f87b5a8d38fee5230c1078de1f65ac83476cd29e8f5a41d63ea9bd22c5","sha512":"56b9d74b6b4d8a6f1e9909cb88c18e6c784c6bbab10d877a936f334ec5056d8720d20c2443e241c3064f536853f3ffa4578c1c8b3ab391ce8d671256a83a0ef3","ssdeep":"192:c0/B5NGI4y5Zzlqrvd2bcQFCx4zN2M15hNeSd4e+MQCC8h/PzM+kyhtTliuR3dQ5:cOq8bcj+Jz57b4e+MQCL2+k+Nll3dwA4","tlshash":"b492b81056143788f5b78289915fc40c302f2a4caf0e85b5bbbcac666b544e73a6ffd6","size":19477,"data":"","first_seen":"2026-06-09T20:30:37.829522Z","last_seen":"2026-08-04T06:18:34.280579Z","times_seen":1765,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/custom.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"5c708b092eede4db18aa75ca18beb816","sha1":"139c07810e38a874f00873df7c50ee94f8c0eef9","sha256":"84aee81fef8e0e3d216104154002aeee11256a630a49d45d43d230a29542bb2c","sha512":"a38b91c6d5560fed72a7f487528a67c12b5f42d22ef1fe17c56ea0bff32ed3c54373bff40921cb760b521951e027442c8c6921e2df2fc343d2f06f3c0b903c78","ssdeep":"192:rBl/2yJo1k+0YrzHro/akKAXZ/Bfb/akKblto/akK4XQlWy8Cj9O:r8GkLo/akK4/hb/akKbDo/akKcym","tlshash":"1252ad0afcf4182351a7f03a5bef5205e924810b4e45ad517e9d42ac6f8c72e69bdbcc","size":13512,"data":"","first_seen":"2023-03-11T13:40:47Z","last_seen":"2026-07-29T06:17:13.138343Z","times_seen":250,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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-04T06:18:34.293787Z","times_seen":4306,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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-04T06:18:34.294299Z","times_seen":2883,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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":"d0851046a7d662ca9147bff65728ba64","sha1":"840c93c84fb11e5e350fa3ae56f10e389052818f","sha256":"04fe8f34d7dcdcb81cdc5c6e38d7a789321c830b3f3e2c885a264397e251b8fe","sha512":"965dd004736c25bd5e4bed0cc5f09cdb95783dde057ce5dc02248872d8450ce5c4122331660f2ade4cd05c028187e7f2f4429e54a9a69de8bc1fd0fc3a2d0040","ssdeep":"384:UipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4Ous30:ZNogFbLrZ30","tlshash":"e5822067c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30bb7d","size":18676,"data":"","first_seen":"2026-07-25T00:19:44.531058Z","last_seen":"2026-07-27T07:12:49.473629Z","times_seen":152,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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-04T06:18:34.295263Z","times_seen":4453,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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-04T06:18:03.414889Z","times_seen":3557,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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-04T06:18:34.2974Z","times_seen":2759,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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-04T06:18:34.297935Z","times_seen":4455,"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-04T06:18:34.333983Z","times_seen":2870,"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-04T06:18:34.251465Z","times_seen":3438,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/jquery.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"c5bd50ad014b50a9a389bab972c84f77","sha1":"d546c417dfe79dab0b0e72a8646f4ef4ba0d0ea0","sha256":"b7ddd98aecbc08b16b14d87e67ecbd632064a69aa9c533c85bce75d60f9c36d0","sha512":"7271e65106b77c9fb2d88caf0917ffa553543a4acc8be29b53987249286845e6bf99704f54477960003a41e48efebb9191284efb3a6bef853779cad80d63c47d","ssdeep":"3072:4dgwZUx3gxrFhEBJMqhJComyfEGyT/+Pr8z4aKNvDTa:tBJMqhJCdyfRa0DTa","tlshash":"07e36389b6e620395613f0798eafdc05b135485b1acddc957c0c91a4af548388bfafec","size":149282,"data":"","first_seen":"2023-03-13T16:57:02Z","last_seen":"2026-07-29T06:17:13.150334Z","times_seen":329,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/33074d3ff5d0cd2d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"992603cebc96287b9bf186c47928c4d2","sha1":"8a86c102cf1671f6d0cf3b6b5598fff510a4b79d","sha256":"93abe3bbe2a336a05186632225cfa198e5969ab56080e1163da35e41ae9facaf","sha512":"06cc3005d9c8ffe1f27e81eac61fddab10c3e07cdca8c183315799b19b177a9f9dd2043bd1c9c92364578b78d69640c31014db6cca25a74972244784f2de74a2","ssdeep":"","tlshash":"e4d02b702250fcd8408aa4cc8836424bf529247262fe3495d7ae8cb1a174f0c51e1955","size":282,"data":"","first_seen":"2026-02-04T14:24:19.894391Z","last_seen":"2026-08-04T06:18:34.229175Z","times_seen":2900,"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/embed_forex_cross_rates_widget.777cea271d0c0d67c09e.js","fqdn":"www.tradingview-widget.com","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":"686875cf199c7af0be3de2a5a2bffc57","sha1":"67f4e29b649a6641be9ad6f99db217ae6a30121c","sha256":"e62fb06f3628b281bc3f17bd41735a65af72ec9a545d1404885fff36cb5f80df","sha512":"9eb81f5be62b7352d397604220c39f01461801d232e6409ed60f8cedced7080c3d80da4f305d313d5dc053557b1e55f42dc7d15b41179de3265e8886984bf523","ssdeep":"768:OG4E1H6Xn6hVwEfGAM3r+ddH3NC2p7nHBiJMNg3v5c1W0U9z51qKrDIwPzPAIF7x:DH6X6hVwrA17BiJMW3v5c1W0U9z51qKn","tlshash":"0b13e64ab19064a362db40a7807b100bfa3f6aecb405857db578ccdd27add487267b3d","size":45309,"data":"","first_seen":"2026-07-23T13:38:20.430637Z","last_seen":"2026-07-28T04:59:54.43658Z","times_seen":255,"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-04T06:18:03.8209Z","times_seen":7979,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"abce7e5c8825b1003cbef395cb29ed68","sha1":"56661842a465749f80369ce8b023ff3a82f8238f","sha256":"92331a0eee344253eefc6ee1a719c8b154355c51295bce3cafbbab54ce4656fe","sha512":"87020447e52c2ee3e3eb76d311f0d621ac445bb0ede0ecc2aa96b089d8a8ea416e3662c20d22826e800b6101be670ac2c9d7aa86bc042096f1b38c4bdd6fc341","ssdeep":"","tlshash":"f2c0928aaae3cd100b9ef865cb6e4f043030804b490586063d3c469cdfbce53e5257c9","size":142,"data":"","first_seen":"2026-06-07T23:56:05.532376Z","last_seen":"2026-07-27T13:51:19.477416Z","times_seen":29,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6319a3c92d6111bc9621d85fdb72f9e7","sha1":"e72d0c087a60928ed4554662c07e8b2f3f928a9e","sha256":"def992c6fb956fdb6eab0ee3baba681a1b6b08296fb0a6666606c23f075461ba","sha512":"13124b577ae8004133da28b113c41beabb9c8b34a2d5901250b8f5cb36b172abe3716b114f73547d6f9b235b1ece7d0ed3e8125c2cd7f1a3c2aefea5ebcc037d","ssdeep":"","tlshash":"32e0a707b030000f0497f005d39a0ac83234840b053d1d103a4e508b3fb3f6c235d6a4","size":319,"data":"","first_seen":"2026-06-15T09:01:12.576239Z","last_seen":"2026-07-27T09:50:26.937527Z","times_seen":11,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"ff5023f19187e5501447ebeb8c165089","sha1":"0da14a82aa0c21d628d9f9a85d8d970c8599046e","sha256":"1ca7c132a69b9a13bb611d593dc9d28c784ec6bf1411e7fc27a2aef93136c7b6","sha512":"13337acb7e96d4e72304a3ac734c5afd789bbeddce1e715c60b82d696fb36423912b14736fae93e8cef306985652930f5fb5bd5027332e01c2b98904214d1bd7","ssdeep":"","tlshash":"16e0ab3d2c7041510b9200f680a7e6283e2a30240451c947849a88385cf0bda6d02c98","size":416,"data":"","first_seen":"2026-07-27T03:16:24.615611Z","last_seen":"2026-07-27T03:58:10.336462Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/smoothscroll.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"e03feb87da130faf3c3351a17366dc39","sha1":"71ee955904a3ce5ab0720d4524f67fc6516f1d24","sha256":"d73c0ce55fc249f7026f8e511709e8714970869c0963493c8f235053e39eeeee","sha512":"bdbc2a891c61ae617e3362a534b564a6a8a285fac5ca415514c5d9f7c8a6e4f8190bf8c50be5910b2f77b62c926c7eabf3b6433953657b204d3fc7ffe102a6cd","ssdeep":"96:damZT/mslXmbZ9ptU4jl0kdafRP9VXPUO7f5yxdooknvXRGwZ50xRROwJYy:dac/mslXy7p+JVPsef5aeXRGTUwmy","tlshash":"29e1eaec7643f0a5e2ea51bbb16f830a71314110640b9491a239d894bc7cdfb9367e9f","size":6824,"data":"","first_seen":"2023-03-11T13:40:47Z","last_seen":"2026-07-29T06:17:13.170059Z","times_seen":328,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/gmap3.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ddbf3b7927b350f466f9e34ea7ed98a4","sha1":"6b5f4baa17c330489425c3e3bf67f4cdd778a763","sha256":"e5cbe5656f77594cb19de28f05387ac2abb13e7d6eadd2eb840076cae64edc9b","sha512":"694fcfef91c612a141506875001006c608fcef0f7af62525551ef2e58d7e46ece29da1f9070584a935717d481c405747b20f6f8298d15fda5759ec7a7db0eb9d","ssdeep":"768:SyzHjFmEsxoTxb2CPP440jbNRjvb44oJnBAbXzDd:SyzDUxoTxb21n","tlshash":"6be2fb4d3df3308185b7b5bc4b5f6409b279a213700c8a407d5da7e09f9663adae2e9c","size":31345,"data":"","first_seen":"2023-03-10T10:56:13Z","last_seen":"2026-07-29T06:17:13.173346Z","times_seen":349,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/81a298ddc7471070.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"19fc6352b3bef54383c8770d74131cfa","sha1":"c67ec295996975fd662c06e0b614bd3b9f97d7bd","sha256":"9f43d8db2c14631ecaeb7f7ea5d8823bbfe41eeee26f6893c816d0aa348e9605","sha512":"64eba4d08add14b4c9728e2e5026234cf522dd62e2da45df50d967e4d337e6b38cbeaf471dbfba3420a5d3c992bb47c628f60618fca6d84114f7250b7407c5cd","ssdeep":"96:76gC8v2YWBRNY6v28COSXTnv2IDESf3vZ8kM2Lv2kyIWwzysv2hv2zthN1Vm5w7b:cjYWG8COJIDEiikyBwuzkx/T+AP","tlshash":"e4f1536636d4f9d1168b44d5c83b5006f22e0d3a216d70a8b7e5cefa369044ef472fea","size":8114,"data":"","first_seen":"2026-02-06T09:43:19.169507Z","last_seen":"2026-08-04T06:18:34.21556Z","times_seen":1756,"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/en.39147.30b888a5ea9796cb7d58.js","fqdn":"www.tradingview-widget.com","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":"ad61195f03f12e78d238d4a9203f0449","sha1":"1784e4e0de4f473231a8eccb06846ed523cd8e14","sha256":"7673dd94cc13d2dc00d5937cc5b1bc5a0bb64b94e0bcfa8d28cd0ea6291c58dc","sha512":"d681a2b3b386af653697765f91b39eff665af151cb0bd4d4b20f31481f4a2d08f02f3a135c00977ace846dfd67df5ba1464fd1c421cdf3f958a72106b95218c6","ssdeep":"","tlshash":"ce813f27d010c1f22f73ca19b791edc6b5f4b2a111f2e8cab7862f69c617c8019396b4","size":3899,"data":"","first_seen":"2026-07-23T13:38:20.401292Z","last_seen":"2026-07-29T06:14:13.933383Z","times_seen":283,"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":"astroxcinvest.com/js/owl.carousel.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b7b9c97cd68ec336d01a79d5be48c58d","sha1":"1a99890b57c9859a622337ed0b2f989d6e30cc0e","sha256":"b394d33b2a7ec654a6b037ebfda6618341b3f897a362be624c923c2711b54a43","sha512":"968e18822c24c6c54827999ec766fe54750a9489d22b6a45b641854731ec00beb8fd93b9bda8823e67463f7a99ab587d333673821ae90cfdf7e92716ba050c4e","ssdeep":"768:JBA7PMMFA0tdlXKNSR4vlGRep2lcwJeL+C2jQdc7/CORUQuFBt33:HAIMFFdYMxAcLQDV","tlshash":"cb137346b3202d2a869b61a0663f160bb23a291ce414507d7d7da6de6d7dc4c213fbfc","size":42766,"data":"","first_seen":"2023-03-07T01:03:18Z","last_seen":"2026-08-04T07:36:59.922435Z","times_seen":20474,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/480cde08b8bfd5ce.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"2197ad79def7e68e0db5210279b81a88","sha1":"4a9572c96dc4b65a933f8494889a2d78f6bc8b3b","sha256":"0c61a398dcdf9a5d5a6a744855e7d95635c22711ee32b5af4a658fc6035de812","sha512":"1ed4b2613596da63a7fbbb97a8839e5ae8cf7a62d48b3f2818a3d7b510dde3fef57905aa4ce17843dcee71e3b9205f42c8e3b412427bddd975643af58c1b5979","ssdeep":"768:9Nf3ebiEpt8v84l+ayd9ar543m7dGwVBmOJ8SLBlbGJz5RBC8zogjPwNp9WxBbV3:yGY8AJ8pIOCSOvB9GW7H5sZzIxB","tlshash":"8883f8f931d1f88207ab44aac43f0002f32c5d77189e7864a3e5ddea716455da1f2faa","size":84456,"data":"","first_seen":"2026-04-28T18:06:46.282063Z","last_seen":"2026-08-04T06:18:34.228429Z","times_seen":2028,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4815a758657d4bae.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"9b4f6d29f92ea43b7c7ef4770fbed76a","sha1":"bdad2044ced7e4c0208e62e5650f99140e88aeb6","sha256":"6fb06a5d29509dddf687974e467d8274ef9ef0f6bec7c841fd8336543c9a3f74","sha512":"06ec26c380efdf73315dfc21639732033b79b7869acaed6d4a6697c4d441500bb21f57311b543ee176e2b31b775cff20bc5e611dfff3cca3a3a5c30c8338262f","ssdeep":"1536:UIYGGTQpo7UFYEpzussak11xgaAF+j/G7qWF:UIYGKO+UFZaJgaUt7/","tlshash":"f023d4c971e5b4900bb395b1803f000bf23e1d76185d98a0d3a2dde9b8b45aed233f99","size":49883,"data":"","first_seen":"2026-06-13T02:21:16.211868Z","last_seen":"2026-08-04T06:18:34.245622Z","times_seen":1751,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widgets.coingecko.com/coingecko-coin-compare-chart-widget.js","fqdn":"widgets.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"104.18.4.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"867f73f638eda490fb1e2277241456b1","sha1":"f4318f6cf221047488b19256817d2e0e02016865","sha256":"61a14b3f23d61b6772c97248e96033ebbba16a6232f3577623ea206dea01817b","sha512":"e5582039eb949ba87c3ecbfcd977d75fd4dae3aff60d05f3424b1d9c47a1d6ee964674789ad0ad680f94605452114e08a1a67815ea13ed20c349cd0ec90de255","ssdeep":"24576:gcF7T/Br44zF0sFWU/BvyZqE/T586okd8mOUYIxEMbQkCRoRDG3CCazDd3rUE/TE:gcF7T/Br44zF0sFWU/BvyZqE/T586okc","tlshash":"2d559349e7e22635c153f0295e1f8d09b736a4af6789c90c3e5c91e04f154389bbafb8","size":1337298,"data":"","first_seen":"2026-07-27T03:16:24.630551Z","last_seen":"2026-07-27T07:16:21.568722Z","times_seen":6,"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-04T06:18:03.286309Z","times_seen":1852,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/d71b99267b066b9b.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8ab91e90961bd7e4d7c2d7514a37ecf6","sha1":"d2e2405837d8cd1436dae22a0c5d7f4e15168995","sha256":"6e16504cbe3f76082798a523cf9cdce3bc9321fefc36485d02c9289e5a5f6b38","sha512":"da24ae4884840b4b996fdd087c41065e590b5cf33046f6aec00157142b53b9da067a83af2cc7744429b64c02bbfb1aef428787389939a1736cb4ad1f0458ee69","ssdeep":"384:AqniNMH/fZ8oNS1VFWHcE+Ff8IiUG6AUNmXVOmitisz8Xdjz8/K4QIwATf:YO58o0fG65mXVOOKKNInf","tlshash":"bec2c725b90705be2aee83e7e06cabd5d9385a02d5098b4ce3978f319704bf56187b0d","size":27443,"data":"","first_seen":"2026-04-30T18:36:20.827898Z","last_seen":"2026-08-04T06:18:34.231181Z","times_seen":2011,"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":"coinlib.io/_next/static/chunks/9df3b67b6061ea9e.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"c678a91c2c6476c2f4253bbb2f68861b","sha1":"69b7933df2474b5a89bafec3ed00c63e7a38fd6c","sha256":"ee32b6de09c560980545699191b3ba6ebd9847bba1e07b95f5a5ddf359bfc353","sha512":"f3ae2a1ace9a1a1c354782702e328db28abd4864d69e33e7e6e72cc82ce93e5142093752a6b82a5d21f62e953ed27f5101956c00407e5d2d9527eb36435d1584","ssdeep":"384:EjUDGGRCRvBrTfIVZ/X+0o3NkOG4+Z47auBSwTNGFJl:4vB/8Z/X+0o3KZzZ47auJG","tlshash":"dce2c7b572d5faa2139340f0c83f2017f2784c7521ac7460a7e4cc9b765888da6bafd9","size":33297,"data":"","first_seen":"2026-02-04T14:24:19.872146Z","last_seen":"2026-08-04T06:18:34.225513Z","times_seen":2149,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_forex_cross_rates_widget.d7cd8bbba41a0d54656c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"22801bb506d6dad77306f77a8e5105a1","sha1":"b6fe247a1f52aed43a1d788cca49b0adf1f6fc64","sha256":"370863792c0f726ef634011ffd719bd59d4ba8cf35ea9d32183589645f80f52c","sha512":"8ba4ec36838eb2eb5a0a6317a22ba6cf2f68365e859aa0322f2a8c6aaaa14a8acbacb206bdead71e59c13bccc12224c79f5b774c65cd20f8727a2fbb32db59a1","ssdeep":"192:YLwqLptVvG6uptkfr8lJkNnmn1BnRMC4p2koVcsFAVrGg:4wqLp/vXunkfr8/kVm1BnRMC4p2kIzAb","tlshash":"7312d9ac314ce53225fb08114479e462f72d72fb5e0ae0a1a367fcb96868ed46633d51","size":9146,"data":"","first_seen":"2026-07-25T00:19:44.438661Z","last_seen":"2026-07-28T04:59:54.480331Z","times_seen":245,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"bea43ed2cdab6de383dae5b43f7f7ea7","sha1":"fee133e8e4885d721f6251298bbef7797126d1e6","sha256":"5324890457a4126c757b6c6f4eb68d2e58501802bffc02bc5018aa185d33c7e7","sha512":"d0948a7b1e160bd486f71a1c87caff66c4d8bb68becaffb75aa3875251a34474cba30ab51b8052c425e453911a1a804a7c746aee4ef7db3f95bb86f7c04f585a","ssdeep":"6144:/yHnRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8nC1WLP69VwqxVZOvg","tlshash":"aea4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","size":488553,"data":"","first_seen":"2026-07-27T02:47:36.009071Z","last_seen":"2026-07-27T07:02:12.014235Z","times_seen":194,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-forex-cross-rates.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6ff9630986d3855842b586b326474dae","sha1":"69f83fc5e5e46f4ae60db6c9a2c7a0624f2b971d","sha256":"2eb114ab8c6de3b23037ae8feb4df46fc8d082acfe985a7086ad2744b49f2618","sha512":"7aea1b79bb1426698dcc337f9814dddffd5bcbddf75914dd5e73e107f13b378656aacca54997eb6dffbbeabb0c071c3b1a30d5e3d6eff3e117964eac45090f24","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6OrmaRMViZMEa:uD5Unb26nD6OrmaRkFEa","tlshash":"5b42d7aab660dcbd919945dba07a2321b61d3944b203eca4b5ace4c510fdccca531f7e","size":12720,"data":"","first_seen":"2026-07-16T22:06:47.112342Z","last_seen":"2026-08-04T06:18:34.266139Z","times_seen":949,"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-04T06:18:34.288838Z","times_seen":4996,"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-04T06:18:34.252878Z","times_seen":4549,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"1833830743382d130652becb9f498826","sha1":"9408cb757bf3964ac68d17c1ac2dfc1cdfc963a4","sha256":"c07d5b91b890e3483e1800910322977007748ed06c18f09f68a3b0f7611b0023","sha512":"f522799bf698caab0e73f467345ad34b6d3ac423522726bd914c37ec2e17801206ef2e672b03dcdafdd029ca7616fc1e09594a8da18bbd649b51925ce20ffccf","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECitwNWF0:XDD4U6KKZgtBgtCiT0","tlshash":"1273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","size":75428,"data":"","first_seen":"2026-07-27T03:02:41.147556Z","last_seen":"2026-07-27T04:01:29.26053Z","times_seen":121,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/popper.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"70d3fda195602fe8b75e0097eed74dde","sha1":"c3b977aa4b8dfb69d651e07015031d385ded964b","sha256":"a52f7aa54d7bcaafa056ee0a050262dfc5694ae28dee8b4cac3429af37ff0d66","sha512":"51affb5a8cfd2f93b473007f6987b19a0a1a0fb970ddd59ef45bd77a355d82abbbd60468837a09823496411e797f05b1f962ae93c725ed4c00d514ba40269d14","ssdeep":"384:+CbuG4xGNoDic2UjKPafxwC5b/4xQviOJU7QzxzivDdE3pcGdjkd/9jt3B+Kb964:zb4xGmiJfaf7gxQvVU7eziv+cSjknZ3f","tlshash":"1c82a3cc3291b06643a79167a06f960fb2339979614e9410f199f2d87c70ef9913fc7a","size":19188,"data":"","first_seen":"2023-03-07T01:02:44Z","last_seen":"2026-08-04T07:18:42.962879Z","times_seen":110961,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/95262386d8d4b6dd.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c155806c003f628ca093cb0feb083d0","sha1":"7e566386cefa86e8ede2e755f712dff7a8ef02f7","sha256":"07310b422de93eb0e61986355fd1084b06b47060d629f957c5311440650a6d2a","sha512":"980bd9a8f57049d13d7a8647fb56f621b005d208dafacc5c0534b9a919204bc9e363a122a1b4a48f4ef71cc00dcd2308e4885de83e31d2491b0a5d4a807fe7fe","ssdeep":"384:tj5z75Bq9E0mLlSmRt0cJ3XHHE79Fg/Za98qWtOPSN6wfV:N5z9BX0idiMxxgwfV","tlshash":"a4d2d9b17395f9a352db86d9d03a0005f2290d3530ae28b0b395dcef365dc8991fafa5","size":30684,"data":"","first_seen":"2026-03-29T05:29:39.700118Z","last_seen":"2026-08-04T06:18:34.267184Z","times_seen":2033,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps/api/js?callback=__gmap3","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.115.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"9d6b8d637a2478aab85c77154dc8834e","sha1":"9f61c05d7f03630ffb910c9192b2a809929a3a06","sha256":"6ded4b04c34ccc92fd7bc8c274b92259ab28881642580eddfff0a4a7c94cf4a3","sha512":"19f54fc16989c4d38c8f2fae5dda97cf044ec1a039d47ff9d393ef34fb8b329224abab8a5324741eb930d19fd20f03f6729c4679a49908ae0ab7f000c11fb637","ssdeep":"3072:W1zHovwhh+hNI8cMS9xlgb7HBrT+kQqbdhfDnT8tSsZ95urOHLNeM6NGPbQ7RpYc:8zuHI8cMGcbBrykCh5ucLNbLPMRWc","tlshash":"78643d947362746287b2e4b4502b0007f17ea45af00c89acf69cddf2aef994945b7f74","size":311598,"data":"","first_seen":"2026-07-27T03:16:24.600772Z","last_seen":"2026-07-27T10:38:15.832184Z","times_seen":40,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/waypoints.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"dfe0eedf8da578f4a4c43b05448c51d9","sha1":"812d7071b4e44b1aa5d5ea6c7ce0b79eb9d46520","sha256":"a0fded691aed767f851011cd3185b928619298a21a0fbdad4808a9e88b490833","sha512":"9084433d6201a0aa45efd1c9bf7c413d08192a3871cea3061b637af2cbef21de39c3dbe9fe14d7a11edc0c44588551212c94ee4866ff737f991e07907cb9b41e","ssdeep":"96:uLBvpnG3nnRh+1pRVKmHyjyYfAPiQc954LT4KN/WzdBUVKdBJEdfdpu531v8L7:uPG3nC19KWssPVpX4KN/eU8Ju4e/","tlshash":"3bf1f9c9b4c7b4221befa0b5d43f060bb33a9e4561098064f194e4da3db4a2da567f38","size":8044,"data":"","first_seen":"2023-03-07T01:07:26Z","last_seen":"2026-08-04T04:02:31.554741Z","times_seen":12566,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/16067.9d24889b2af3eb305dcf.js","fqdn":"www.tradingview-widget.com","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":"1d9a347c6cdf907920b1993e9feddfba","sha1":"bcc6d02f92bd3eac53876be063d13f785ca1179e","sha256":"5190f0eab3ed44eb52290be2d754d52b090408e7d499dc46833fb4d0017b18f9","sha512":"cfbdb76074a6eb51120e6910bde5aaa8bfe2549f80c281d492e99346ec89e6c8532136fe25e9b6c6aecdbdd0ea78235327149fd53b5d063f7256027cb7b6ea4a","ssdeep":"384:gtprvDyVG3ll4CRbiobm+FXM3Op0dv5JbOrDkSN48WNknWPx:gLrveVKllPllxlM3mU0rDkSN48W+nWPx","tlshash":"4f52b669f0c267dc3ab196e0f8b710c1f16bac55f5016860eff04de229a5d4a3166fac","size":13271,"data":"","first_seen":"2026-07-23T13:38:20.449846Z","last_seen":"2026-07-28T04:59:54.460146Z","times_seen":306,"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":"astroxcinvest.com/js/bootstrap.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"14d449eb8876fa55e1ef3c2cc52b0c17","sha1":"a9545831803b1359cfeed47e3b4d6bae68e40e99","sha256":"e7ed36ceee5450b4243bbc35188afabdfb4280c7c57597001de0ed167299b01b","sha512":"00d9069b9bd29ad0daa0503f341d67549cce28e888e1affd1a2a45b64a4c1bc460d81cfc4751857f991f2f4fb3d2572fd97fca651ba0c2b0255530209b182f22","ssdeep":"768:9VG5R15WbHVKZrycEHSYro34CrSLB6WU/6DqBf4l1B:9VIRuo53XiwWTvl1B","tlshash":"7523c84a7254b4a202dfa476913f450bb73b389aa60bc16cb95994ed1d7cd8c3227f3c","size":48944,"data":"","first_seen":"2023-03-07T01:02:44Z","last_seen":"2026-08-04T07:36:59.901326Z","times_seen":110518,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/turbopack-18a9de512a1933ad.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"ee874107586f9203ea70e460428f2bb3","sha1":"9bfba653884c0499149072efe4824e6170f10271","sha256":"44b3081e3a644e21b57f4155637e1e43563eae2c0f034c6ba9edd6bc9cba26ea","sha512":"7fd5fb8b487d8981ead132093abf93b51a77860cb1d04cd5c233c3e671b7183921080069aac71afb4f5f77a424d02ccdea22e3feba459326eea86d1c6637a09b","ssdeep":"192:D74eFn8/Esp1U91EG5T1uyO9lGdiwMhMlng4W9PZcxkUk1IsiyLxA:D74e2OvO9lG0OlgJZZQLyLxA","tlshash":"6722d8ea33a6f07743af94e6907f4044f1795468145d542c936ce8fa38398ae49e3f27","size":10707,"data":"","first_seen":"2026-07-01T05:10:22.643373Z","last_seen":"2026-07-31T06:34:35.53001Z","times_seen":1526,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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/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}}],"eval":null,"write":null,"console":[{"level":"warn","text":"[CoingeckoCoinCompareChartWidget] This widget is deprecated and is no longer maintained. Please visit https://www.coingecko.com/widgets to get the new version of this widget, which features a new design and better performance!","filename":"https://widgets.coingecko.com/coingecko-coin-compare-chart-widget.js","line_number":3935,"column_number":17},{"level":"warn","text":"Google Maps JavaScript API has been loaded directly without loading=async. This can result in suboptimal performance. For best-practice loading patterns please see https://goo.gle/js-api-loading","filename":"https://maps.googleapis.com/maps/api/js?callback=__gmap3","line_number":328,"column_number":325}]},"http":[{"url":{"schema":"https","addr":"astroxcinvest.com/css/responsive.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.405Z","timestamp":1785124599405,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/responsive.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Thu, 07 Jan 2021 13:30:50 GMT\r\netag: \"565c-5ff70d0a-b5de408251b24515;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 3555\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":22108,"size_decoded":3918,"mime_type":"text/css","magic":"ASCII text","md5":"1cb14b6f9805052190e5a2a91c75208b","sha1":"fead6162853ca90586cdc6d3aee789efcccc915e","sha256":"e5d4d8656bed3d55245d398d50927a3579b84be48438713e2ae211f68c0433cb","sha512":"a935e4a2b34b052bf6f0aaa7f780290720b98de5703717474f81057be05ac215613c8789895d926f8235e08cd7feb5000a47293e734bf116f8092db27b732253","ssdeep":"192:jjhQnje+ndnXnAK+KHeohlJH45ctYiO2u3xsAqLFHarPhndnXnAK+KHeohXjQRVu:j9uFbeox4GtYijFYFbeoJQ1FdII8","tlshash":"1fa2878f5af32005684660b99bbe26217673d073e38ecde17e8d624dcf856c54cd2b88","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.190803Z","times_seen":222,"resource_available":false,"data":"LyogUmVzcG9uc2l2ZSBzdHlsZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIExhcmdlIERldmljZXMsIFdpZGUgU2NyZWVucyAqLwoKQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogICAubmF2YmFyLWNvbGxhcHNlIHsKICAgICAgcGFkZGluZy1yaWdodDogNDBweDsKICAgfQp9CgovKiBNZWRpdW0gRGV2aWNlcywgRGVza3RvcHMgKi8KCkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KSB7CiAgIC8qIEhlYWRlciAqLwogICB1bC5uYXZiYXItbmF2PmxpIHsKICAgICAgcGFkZGluZy1yaWdodDogOHB4OwogICB9CiAgIHVsLm5hdmJhci1uYXY+bGk+YSwKICAgLmRyb3Bkb3duLW1lbnUgbGkgYSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgfQogICAvKiBGZWF0dXJlcyAqLwogICAudHMtZmVhdHVyZS1pbmZvIHsKICAgICAgcGFkZGluZzogMzVweDsKICAgfQogICAvKiBQcm9qZWN0cyAqLwogICAucHJvamVjdC1pdGVtLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICB9CiAgIC8qIENsaWVudHMgKi8KICAgLmNsaWVudHMtbG9nbyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgIH0KICAgLyogU3Vic2NyaWJlICovCiAgIC8qIEFjdGlvbiBib3ggKi8KICAgLmFjdGlvbi1ib3gtdGV4dCB7CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgfQogICAvKiBGb290ZXIgKi8KICAgLmZvb3Rlci1zb2NpYWwgdWwgbGkgewogICAgICBtYXJnaW46IDAgM3B4IDAgMDsKICAgfQogICAuZm9vdGVyLW1lbnUgewogICAgICBmbG9hdDogbm9uZTsKICAgfQogICAjYmFjay10by10b3AuYWZmaXggewogICAgICBib3R0b206IDM1cHg7CiAgIH0KICAgI2JhY2stdG8tdG9wIHsKICAgICAgcmlnaHQ6IDE1cHg7CiAgIH0KfQoKLyogU21hbGwgRGV2aWNlcywgVGFibGV0cyAqLwoKQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKICAgLyogdG9wIGluZm8gKi8KICAgLnRvcC1pbmZvIC5pbmZvLXdyYXBwZXIgewogICAgICBwYWRkaW5nLXJpZ2h0OiAwOwogICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7CiAgIH0KICAgI3RvcC1iYXIgLnRvcC1pbmZvIHAsCiAgICN0b3AtYmFyIC50b3AtaW5mbyBpIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICB9CiAgICN0b3AtYmFyIC50b3AtaW5mbyAuaW5mby13cmFwcGVyOmFmdGVyIHsKICAgICAgdG9wOiAwOwogICB9CiAgIC50b3Atc29jaWFsIGEgewogICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICB9CiAgIC5oZWFkZXItZ2V0LWEtcXVvdGUgewogICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICB9CiAgIC8qIEhlYWRlciAqLwogICAuaGVhZGVyLm5hdi1kb3duLm5hdi1ib3ggewogICAgICBoZWlnaHQ6IDM1NXB4OwogICB9CiAgIC5uYXZiYXItZml4ZWQgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgfQogICAuaGVhZGVyLXRyYW5zLWxlZnRib3gsCiAgIC5oZWFkZXItdHJhbnNwYXJlbnQgewogICAgICB0b3A6IDI1cHg7CiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OwogICB9CiAgIC5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLXRyYW5zcGFyZW50IHsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgICAgdG9wOiA0NXB4OwogICAgICBwYWRkaW5nLWJvdHRvbTogMDsKICAgfQogICAubG9nbyB7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIHBhZGRpbmctbGVmdDogMzBweDsKICAgfQogICAubG9nby1hcmVhIHsKICAgICAgcGFkZGluZzogNDBweDsKICAgfQogICAuaGVhZGVyLXJpZ2h0IHsKICAgICAgZmxvYXQ6IG5vbmU7CiAgICAgIG1hcmdpbi10b3A6IDQwcHg7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgfQogICAubmF2LXNlYXJjaCB7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgIH0KICAgLyogTmF2aWdhdGlvbiBicmVha3BvaW50ICovCiAgIC5uYXZiYXItdG9nZ2xlIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHotaW5kZXg6IDE7CiAgIH0KICAgLnNpdGUtbmF2LWlubmVyIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIHBhZGRpbmc6IDAgMDsKICAgfQogICB1bC5uYXZiYXItbmF2IHsKICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogNy41cHg7CiAgIH0KICAgdWwubmF2YmFyLW5hdj5saSB7CiAgICAgIGZsb2F0OiBub25lOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgfQogICAuY29sbGFwc2UuaW4gewogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICB9CiAgIC5uYXZiYXItY29sbGFwc2UuaW4gewogICAgICBvdmVyZmxvdy15OiBhdXRvOwogICB9CiAgIHVsLm5hdiBsaS5kcm9wZG93bjpob3ZlciB1bC5kcm9wZG93bi1tZW51IHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgfQogICB1bC5uYXYgbGkuZHJvcGRvd24ub3BlbiB1bC5kcm9wZG93bi1tZW51IHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgIH0KICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgewogICAgICBwb3NpdGlvbjogc3RhdGljOwogICAgICBmbG9hdDogbm9uZTsKICAgICAgd2lkdGg6IGF1dG87CiAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXI6IDA7CiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgfQogICAvKiBOYXZpZ2F0aW9uICovCiAgIC5uYXZiYXItY29sbGFwc2UgewogICAgICBiYWNrZ3JvdW5kOiAjMWMxZTIyOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgYm9yZGVyLXRvcDogMDsKICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgfQogICB1bC5uYXZiYXItbmF2PmxpOmhvdmVyPmE6YWZ0ZXIsCiAgIHVsLm5hdmJhci1uYXY+bGkuYWN0aXZlPmE6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgfQogICB1bC5uYXZiYXItbmF2PmxpPmE6YmVmb3JlIHsKICAgICAgYm9yZGVyLWJvdHRvbTogMDsKICAgfQogICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saSB7CiAgICAgIHBhZGRpbmctbGVmdDogMDsKICAgfQogICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hLAogICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taGVhZGVyIHsKICAgICAgcGFkZGluZzogMTVweDsKICAgfQogICB1bC5uYXZiYXItbmF2PmxpIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7CiAgIH0KICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YSB7CiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICB9CiAgIHVsLm5hdmJhci1uYXY+bGkubmF2LXNlYXJjaCwKICAgdWwubmF2YmFyLW5hdj5saS5oZWFkZXItZ2V0LWEtcXVvdGUgewogICAgICBkaXNwbGF5OiBub25lOwogICB9CiAgIHVsLm5hdmJhci1uYXYgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgcGFkZGluZzogMCAwIDEwcHg7CiAgIH0KICAgdWwubmF2YmFyLW5hdiBsaSB7CiAgICAgIGZsb2F0OiBub25lOwogICB9CiAgIHVsLm5hdmJhci1uYXYgbGkgYSwKICAgdWwubmF2YmFyLW5hdiBsaSBhIHsKICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzM4MzkzZDsKICAgICAgcGFkZGluZzogMTVweCAwOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgbWluLXdpZHRoOiAzNTBweDsKICAgfQogICB1bC5uYXZiYXItbmF2IGxpOmxhc3QtY2hpbGQgYSB7CiAgICAgIGJvcmRlci1ib3R0b206IDA7CiAgIH0KICAgdWwubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSBsaSBhIHsKICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7CiAgIH0KICAgdWwubmF2YmFyLW5hdiBsaSBhIGksCiAgIC5kcm9wZG93bi1zdWJtZW51PmE6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgICBmbG9hdDogcmlnaHQ7CiAgICAgIHdpZHRoOiAzNnB4OwogICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OwogICAgICBtYXJnaW4tdG9wOiAtNXB4OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgIH0KICAgLm5hdi1zZWFyY2ggewogICAgICB0b3A6IDE1cHg7CiAgIH0KICAgLnNlYXJjaC1ibG9jayB7CiAgICAgIHRvcDogNjVweDsKICAgfQogICAvKiBOYXYgc2VhcmNoICovCiAgIC5uYXYtc2VhcmNoIHsKICAgICAgdG9wOiAxOHB4OwogICB9CiAgIC8qIEhlYWRlciAyICovCiAgIC5oZWFkZXItdHdvIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICB9CiAgIC5oZWFkZXItdHdvIC5uYXZiYXItdG9nZ2xlIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICByaWdodDogMjVweDsKICAgICAgbWFyZ2luLXRvcDogMjhweDsKICAgICAgei1pbmRleDogMTsKICAgfQogICAuaGVhZGVyLXR3byAuc2l0ZS1uYXZpZ2F0aW9uLm5hdmlnYXRpb24gewogICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OwogICB9CiAgIC5oZWFkZXItdHdvIHVsLm5hdmJhci1uYXYgbGkgYSB7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVkZWRlICFpbXBvcnRhbnQ7CiAgIH0KICAgLmhlYWRlci10d28gdWwubmF2YmFyLW5hdiBsaSBhIGksCiAgIC5kcm9wZG93bi1zdWJtZW51PmE6YWZ0ZXIgewogICAgICBjb2xvcjogI2ZmZjsKICAgfQogICAuaGVhZGVyLXR3byB1bC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IGxpIGEgewogICAgICBjb2xvcjogIzMzMzsKICAgfQogICAvKiBIZWFkZXIgOCAqLwogICAubG9nby13cmFwcGVyIHsKICAgICAgcGFkZGluZzogMDsKICAgfQogICAubG9nby13cmFwcGVyIC5sb2dvIHsKICAgICAgaGVpZ2h0OiA4NXB4OwogICAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgIH0KICAgLyogSGVhZGVyIDkgKi8KICAgLmxvZ28tYWJzb2x1dGUgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHotaW5kZXg6IDE7CiAgICAgIHRvcDogLTIwcHg7CiAgICAgIGhlaWdodDogMDsKICAgfQogICAvKiBTbGlkZXNob3cgKi8KICAgI21haW4tc2xpZGUgLnNsaWRlci1jb250ZW50IC5zbGlkZS1zdWItdGl0bGUgewogICAgICBmb250LXNpemU6IDcwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsKICAgICAgbWFyZ2luOiAwIDAgMTVweDsKICAgfQogICAjbWFpbi1zbGlkZSAuc2xpZGVyLWNvbnRlbnQgLnNsaWRlLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAzMHB4OwogICB9CiAgICNtYWluLXNsaWRlIC5zbGlkZXItY29udGVudCAuc2xpZGVyLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICB9CiAgICNtYWluLXNsaWRlIC5zbGlkZXItY29udGVudC50ZXh0LWNlbnRlciAuc2xpZGUtc3ViLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiA3MnB4OwogICAgICBsaW5lLWhlaWdodDogOTBweDsKICAgfQogICAvKiBBY3Rpb24gKi8KICAgLmNhbGwtdG8tYWN0aW9uLXRpdGxlIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICB9CiAgIC5jYWxsLXRvLWFjdGlvbi1idG4gewogICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICB9CiAgIC8qIEZhY3RzICovCiAgIC50cy1mYWN0cy1hcmVhIC50cy1wYWRkaW5nIHsKICAgICAgcGFkZGluZy1sZWZ0OiAwOwogICAgICBwYWRkaW5nLXJpZ2h0OiAwOwogICB9CiAgIC5pbnRyby12aWRlbyB7CiAgICAgIGhlaWdodDogYXV0bzsKICAgfQogICAuaW50cm8tdmlkZW8gaW1nIHsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB3aWR0aDogMTAwJTsKICAgfQogICAvKiBGZWF0dXJlcyAqLwogICAuZmVhdHVyZWQtcHJvamVjdHMtdGV4dCB7CiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsKICAgfQogICAudHMtZmVhdHVyZXMtY29sIC5yb3cgW2NsYXNzKj0iY29sLSJdIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgfQogICAudHMtZmVhdHVyZXMtY29sIC5yb3cgW2NsYXNzKj0iY29sLSJdOmxhc3QtY2hpbGQgewogICAgICBtYXJnaW4tYm90dG9tOiAwOwogICB9CiAgIC8qIFNlcnZpY2UgKi8KICAgLnRzLXNlcnZpY2UtYm94IHsKICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgfQogICBzZWN0aW9uLnRzLXNlcnZpY2VzIHsKICAgICAgcGFkZGluZy1ib3R0b206IDQ1cHg7CiAgIH0KICAgLnNlcnZpY2UtY2VudGVyLWltZyB7CiAgICAgIHBhZGRpbmc6IDM1cHggMTI1cHggNDVweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgfQogICAjZmVhdHVyZWQtY2FzZXMtc2xpZGUgLm93bC1zdGFnZS1vdXRlciB7CiAgICAgIHBhZGRpbmctdG9wOiAwOwogICB9CiAgIC50cy1mZWF0dXJlZC1jYXNlcyAub3dsLXRoZW1lIC5vd2wtbmF2IHsKICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgfQogICAudHMtc2VydmljZS1ib3ggewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgIH0KICAgLm1yYi04MCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgIH0KICAgLyogUHJvamVjdHMgKi8KICAgLmlzb3RvcGUtbmF2IHVsIGxpIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgfQogICAuaXNvdG9wZS1uYXYgdWwgbGk6bGFzdC1jaGlsZCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgIH0KICAgLyogQ29udGVudCBhcmVhICovCiAgIC50ZXN0aW1vbmlhbC1zbGlkZSB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLyogU3Vic2NyaWJlICovCiAgIC50cy1uZXdzbGV0dGVyIHsKICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OwogICB9CiAgIC50cy1uZXdzbGV0dGVyOmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgIH0KICAgLyogTGF0ZXN0IHBvc3QgKi8KICAgLmxhdGVzdC1wb3N0IHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgfQogICAvKiBRdW90ZSBBcmVhICovCiAgIC5xdW90ZS1hcmVhIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgfQogICAvKiBGb290ZXIgKi8KICAgLmZvb3Rlci1tYWluIHsKICAgICAgcGFkZGluZy10b3A6IDM0MHB4OwogICB9CiAgIC5mb290ZXItbWVudSB7CiAgICAgIGZsb2F0OiBub25lCiAgIH0KICAgLnVuc3R5bGVkIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBtYXJnaW4tdG9wOiAwOwogICB9CiAgIC5hY3Rpb24tYm94IHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgfQogICAuZm9vdGVyLXdpZGdldCB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgfQogICAubmV3c2xldHRlci1mb3JtIGlucHV0IHsKICAgICAgd2lkdGg6IDkwJTsKICAgfQogICAjYmFjay10by10b3AgewogICAgICByaWdodDogMjBweDsKICAgfQogICAuY29weXJpZ2h0LWluZm8gewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgIH0KICAgLyogUGFnZXMgKi8KICAgLyogQmFubmVyICovCiAgIC5iYW5uZXItdGl0bGUgewogICAgICBmb250LXNpemU6IDYwcHg7CiAgICAgIHBhZGRpbmctdG9wOiA2MHB4OwogICB9CiAgIC8qIEFib3V0IDEgKi8KICAgLmNlby1zaWduYXR1cmUgewogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICB9CiAgIC50cy10ZWFtLWNvbnRlbnQgewogICAgICB0b3A6IDgwJTsKICAgfQogICAudHMtdGVhbS13cmFwcGVyIHsKICAgICAgbWluLWhlaWdodDogODQ1cHg7CiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgIH0KICAgLyogUXVvdGUgRm9ybSAqLwogICAucXVvdGVfZm9ybSB7CiAgICAgIG1hcmdpbi10b3A6IDgwcHg7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OwogICB9CiAgIC8qIFRlYW0gKi8KICAgLnRzLXRlYW0tY2xhc3NpYyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLyogU2luZ2xlIENhc2UgKi8KICAgLmxpc3Qtc3R5bGUtY2xhc3NpYyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLyogUHJpY2luZyBUYWJsZSAqLwogICAucGxhbiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLnBsYW4uZmVhdHVyZWQgewogICAgICBtYXJnaW46IDBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgfQogICAuc2luZ2xlLXByaWNlLWJveCB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICB9CiAgIC5zaW5nbGUtcHJpY2UtYm94LmZlYXR1cmVkIHsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgfQogICAucHJpY2luZy1ib3hlZCAuc2luZ2xlLXByaWNlLWJveDpsYXN0LWNoaWxkIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgfQogICAvKiBDb250YWN0ICBQYWdlIDIgKi8KICAgLmNvbnRhY3QtYm94LmluZm8tYm94LAogICAuY29udGFjdC1ib3guZm9ybS1ib3ggewogICAgICB3aWR0aDogMTAwJTsKICAgfQp9CgovKiBTbWFsbCBEZXZpY2VzIFBvdHJhaXQgKi8KCkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgewogICAvKiBTZWN0aW9uIHRpdGxlICovCiAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAzNXB4OwogICB9CiAgIC8qIFRvcCBiYXIgKi8KICAgLnRvcC1tZW51IHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICB9CiAgIHVsLnRvcC1pbmZvIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICB9CiAgIC50b3Atc29jaWFsIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgIH0KICAgI3RvcC1iYXIgLnRvcC1pbmZvIGkgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgIH0KICAgI3RvcC1iYXIgLnRvcC1pbmZvIHAgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgIH0KICAgLnRvcC1pbmZvIC5pbmZvLXdyYXBwZXIgewogICAgICBwYWRkaW5nLXJpZ2h0OiAwOwogICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7CiAgIH0KICAgLyogTG9nbyBhcmVhICovCiAgIHVsLnRvcC1pbmZvIHsKICAgICAgbWFyZ2luLXRvcDogMTVweDsKICAgfQogICB1bC50b3AtaW5mbyB7CiAgICAgIGZsb2F0OiBub25lOwogICB9CiAgIC50b3AtaW5mbyAuaW5mby13cmFwcGVyOmFmdGVyIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgfQogICB1bC50b3AtaW5mby51bnN0eWxlZCBsaSB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICB9CiAgIHVsLnRvcC1pbmZvLnVuc3R5bGVkIGxpOmxhc3QtY2hpbGQgewogICAgICBtYXJnaW4tYm90dG9tOiAwOwogICB9CiAgIHVsLnRvcC1pbmZvLnVuc3R5bGVkIHsKICAgICAgcGFkZGluZy1sZWZ0OiAyMCU7CiAgIH0KICAgLyogSGVhZGVyICovCiAgIC5oZWFkZXIubmF2LWRvd24ubmF2LWJveCB7CiAgICAgIGhlaWdodDogMzgwcHg7CiAgIH0KICAgLmhlYWRlci10cmFucy1sZWZ0Ym94IHsKICAgICAgdG9wOiAxMDBweDsKICAgfQogICAuaGVhZGVyLXRyYW5zLWxlZnRib3ggLmNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgcGFkZGluZzogMDsKICAgfQogICAuaGVhZGVyLXRyYW5zLWxlZnRib3ggLmhlYWRlci13cmFwcGVyIHsKICAgICAgcGFkZGluZzogMDsKICAgICAgYm90dG9tOiAwOwogICB9CiAgIC5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLXRyYW5zcGFyZW50IHsKICAgICAgdG9wOiA3NXB4OwogICB9CiAgIC5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLWJveGVkIHsKICAgICAgdG9wOiAxMDBweDsKICAgfQogICAvKiBIZWFkZXIgOSAqLwogICAubG9nby1hYnNvbHV0ZSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgei1pbmRleDogMTsKICAgICAgdG9wOiAtMjBweDsKICAgICAgaGVpZ2h0OiAwOwogICAgICBwYWRkaW5nOiAzNXB4IDAgMDsKICAgfQogICAubmF2YmFyLWhlYWRlciB7CiAgICAgIGZsb2F0OiBsZWZ0OwogICB9CiAgIC5sb2dvIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgIH0KICAgLmhlYWRlci5uYXYtZG93biAubG9nbyB7CiAgICAgIGhlaWdodDogMDsKICAgfQogICAubG9nby13cmFwcGVyLmxvZ28tYXJlYSB7CiAgICAgIGhlaWdodDogOTBweDsKICAgfQogICAubG9nby1hcmVhIHsKICAgICAgcGFkZGluZzogNDBweDsKICAgfQogICAubG9nby13cmFwcGVyLmxvZ28tYXJlYSAubG9nbyB7CiAgICAgIHBhZGRpbmctbGVmdDogMDsKICAgfQogICAubmF2LXNlYXJjaCB7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgIH0KICAgdWwudG9wLWluZm8tYm94IHsKICAgICAgZmxvYXQ6IG5vbmU7CiAgIH0KICAgdWwudG9wLWluZm8tYm94IGxpIHsKICAgICAgZmxvYXQ6IG5vbmU7CiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yaWdodDogMDsKICAgfQogICB1bC50b3AtaW5mby1ib3ggbGkgLmluZm8tYm94IHsKICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgfQogICB1bC50b3AtaW5mby1ib3ggbGkgLmluZm8tYm94Lmxhc3QgewogICAgICBtYXJnaW4tYm90dG9tOiAwOwogICB9CiAgIHVsLnRvcC1pbmZvLWJveD5saS5uYXYtc2VhcmNoIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgfQogICAvKiBOYXZpZ2F0aW9uIGJyZWFrcG9pbnQgKi8KICAgLm5hdmJhci1maXhlZCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgYW5pbWF0aW9uOiBub25lOwogICB9CiAgIC5zaXRlLW5hdi1pbm5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICB9CiAgIHVsLm5hdmJhci1uYXYgewogICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tdG9wOiA3LjVweDsKICAgfQogICB1bC5uYXZiYXItbmF2PmxpIHsKICAgICAgZmxvYXQ6IG5vbmU7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICB9CiAgIC5jb2xsYXBzZS5pbiB7CiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgIH0KICAgLm5hdmJhci1jb2xsYXBzZS5pbiB7CiAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgIH0KICAgdWwubmF2IGxpLmRyb3Bkb3duOmhvdmVyIHVsLmRyb3Bkb3duLW1lbnUgewogICAgICBkaXNwbGF5OiBub25lOwogICB9CiAgIHVsLm5hdiBsaS5kcm9wZG93bi5vcGVuIHVsLmRyb3Bkb3duLW1lbnUgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgfQogICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSB7CiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICAgIGZsb2F0OiBub25lOwogICAgICB3aWR0aDogYXV0bzsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlcjogMDsKICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgICBib3gtc2hhZG93OiBub25lOwogICB9CiAgIC8qIE5hdmlnYXRpb24gKi8KICAgLm5hdmJhci1jb2xsYXBzZSB7CiAgICAgIGJhY2tncm91bmQ6ICMxYzFlMjI7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBib3JkZXItdG9wOiAwOwogICAgICBib3gtc2hhZG93OiBub25lOwogICB9CiAgIHVsLm5hdmJhci1uYXY+bGk6aG92ZXI+YTphZnRlciwKICAgdWwubmF2YmFyLW5hdj5saS5hY3RpdmU+YTphZnRlciB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICB9CiAgIHVsLm5hdmJhci1uYXY+bGk+YTpiZWZvcmUgewogICAgICBib3JkZXItYm90dG9tOiAwOwogICB9CiAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpIHsKICAgICAgcGFkZGluZy1sZWZ0OiAwOwogICB9CiAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmEsCiAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIgewogICAgICBwYWRkaW5nOiAxNXB4OwogICB9CiAgIHVsLm5hdmJhci1uYXY+bGkgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDsKICAgfQogICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hIHsKICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgIH0KICAgdWwubmF2YmFyLW5hdj5saS5uYXYtc2VhcmNoLAogICB1bC5uYXZiYXItbmF2PmxpLmhlYWRlci1nZXQtYS1xdW90ZSB7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgIH0KICAgdWwubmF2YmFyLW5hdiB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBwYWRkaW5nOiAwIDAgMTBweDsKICAgfQogICB1bC5uYXZiYXItbmF2IGxpIHsKICAgICAgZmxvYXQ6IG5vbmU7CiAgIH0KICAgdWwubmF2YmFyLW5hdiBsaSBhLAogICB1bC5uYXZiYXItbmF2IGxpIGEgewogICAgICBsaW5lLWhlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzgzOTNkOwogICAgICBwYWRkaW5nOiAxNXB4IDA7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICB9CiAgIHVsLm5hdmJhci1uYXYgbGk6bGFzdC1jaGlsZCBhIHsKICAgICAgYm9yZGVyLWJvdHRvbTogMDsKICAgfQogICB1bC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsKICAgICAgZmxvYXQ6IG5vbmU7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgYm9yZGVyOiAwOwogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgIH0KICAgdWwubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSBsaSBhIHsKICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7CiAgIH0KICAgdWwubmF2YmFyLW5hdiBsaS5kcm9wZG93biB1bC5kcm9wZG93bi1tZW51IGxpLmRyb3Bkb3duLXN1Ym1lbnUgLmRyb3Bkb3duLW1lbnUgewogICAgICBsZWZ0OiAwOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgIH0KICAgdWwubmF2YmFyLW5hdiBsaS5kcm9wZG93biB1bC5kcm9wZG93bi1tZW51IGxpLmRyb3Bkb3duLXN1Ym1lbnUgLmRyb3Bkb3duLW1lbnUgYSB7CiAgICAgIHBhZGRpbmctbGVmdDogNTBweDsKICAgfQogICB1bC5uYXZiYXItbmF2IGxpLmRyb3Bkb3duIHVsLmRyb3Bkb3duLW1lbnUgbGkuZHJvcGRvd24tc3VibWVudSBhIGkgewogICAgICBtYXJnaW4tdG9wOiAtMjJweDsKICAgfQogICB1bC5uYXZiYXItbmF2IGxpLmRyb3Bkb3duIHVsLmRyb3Bkb3duLW1lbnUgbGkuZHJvcGRvd24tc3VibWVudSAuZHJvcGRvd24tbWVudSBsaSBhIHsKICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4ICFpbXBvcnRhbnQ7CiAgIH0KICAgdWwubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7CiAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgIGJvcmRlci10b3A6IDA7CiAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgIH0KICAgdWwubmF2YmFyLW5hdiBsaSBhIGksCiAgIC5kcm9wZG93bi1zdWJtZW51PmE6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgICBmbG9hdDogcmlnaHQ7CiAgICAgIHdpZHRoOiAzNnB4OwogICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OwogICAgICBtYXJnaW4tdG9wOiAtNXB4OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgIH0KICAgLmRyb3Bkb3duLXN1Ym1lbnU+YTphZnRlciB7CiAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgfQogICAubmF2LXNlYXJjaCB7CiAgICAgIHRvcDogMTVweDsKICAgfQogICAuc2VhcmNoLWJsb2NrIHsKICAgICAgdG9wOiA2NXB4OwogICB9CiAgIC8qIFNsaWRlc2hvdyAqLwogICAjbWFpbi1zbGlkZSAuaXRlbSwKICAgLnBhZ2Utc2xpZGVyIC5pdGVtIHsKICAgICAgbWluLWhlaWdodDogNDUwcHg7CiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDcwJSA1MCU7CiAgIH0KICAgI21haW4tc2xpZGUgLnNsaWRlci1jb250ZW50LnRleHQtbGVmdCB7CiAgICAgIGxlZnQ6IDUlOwogICB9CiAgICNtYWluLXNsaWRlIC5zbGlkZXItY29udGVudC50ZXh0LXJpZ2h0IHsKICAgICAgcmlnaHQ6IDUlOwogICB9CiAgIC5zbGlkZS10aXRsZS1ib3ggewogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4OwogICB9CiAgIC5zbGlkZS10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgIH0KICAgI21haW4tc2xpZGUgLnNsaWRlci1jb250ZW50IC5zbGlkZS1zdWItdGl0bGUgewogICAgICBmb250LXNpemU6IDQ4cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OwogICB9CiAgIC5zbGlkZS1zdWItdGl0bGUgewogICAgICBmb250LXNpemU6IDI2cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgICAgIG1hcmdpbi10b3A6IDA7CiAgIH0KICAgLnNsaWRlci1kZXNjcmlwdGlvbi5sZWFkIHsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgfQogICAvKiBPd2wgc2xpZGVzaG93ICovCiAgIC5vd2wtdGhlbWUgLm93bC1kb3RzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgfQogICAub3dsLXRoZW1lLmJveC1zbGlkZSAub3dsLXBhZ2luYXRpb24gewogICAgICBkaXNwbGF5OiBub25lOwogICB9CiAgIC5ib3gtc2xpZGVyLXRleHQgewogICAgICBtYXgtd2lkdGg6IDMzMHB4OwogICAgICBtYXJnaW4tdG9wOiA3MHB4OwogICB9CiAgIC5ib3gtc2xpZGUtdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgIH0KICAgLmJveC1zbGlkZS1zdWItdGl0bGUgewogICAgICBmb250LXNpemU6IDI2cHg7CiAgIH0KICAgLnBhZ2Utc2xpZGVyLXNtYWxsIHsKICAgICAgY2xlYXI6IGJvdGg7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgIH0KICAgLyogU2VydmljZSAqLwogICAudHMtc2VydmljZS1ib3ggewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLnRzLWZhY3RzLWFyZWEgLnRzLXBhZGRpbmcgewogICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7CiAgIH0KICAgLyogRmFjdHMgKi8KICAgLmludHJvLXZpZGVvIHsKICAgICAgaGVpZ2h0OiBhdXRvOwogICB9CiAgIC5pbnRyby12aWRlbyBpbWcgewogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIHdpZHRoOiAxMDAlOwogICB9CiAgIC50cy1mYWN0cyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgIH0KICAgLyogRmVhdHVyZXMgKi8KICAgLmZlYXR1cmVkLXByb2plY3RzLWNvbnRlbnQgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDMwcHg7CiAgIH0KICAgLmZlYXR1cmVkLXByb2plY3RzLXRleHQgewogICAgICBwYWRkaW5nOiAwOwogICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgIH0KICAgLmZlYXR1cmVkLXByb2plY3RzLXRleHQucHVsbC1yaWdodCB7CiAgICAgIHBhZGRpbmc6IDA7CiAgIH0KICAgLmZlYXR1cmVkLXByb2plY3RzLXRleHQgLmNvbHVtbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMzVweDsKICAgfQogICAuZmVhdHVyZWQtcHJvamVjdHMtdGV4dCB7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgIH0KICAgLmZlYXR1cmVzLXNsaWRlci1pbWcgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgcGFkZGluZzogMDsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgfQogICAudHMtZmVhdHVyZWQtY2FzZXMgLm93bC10aGVtZSAub3dsLW5hdiB7CiAgICAgIG1hcmdpbi10b3A6IDcwcHg7CiAgIH0KICAgLnNlY3Rpb24tdGl0bGUtdmVydGljYWwgLnNlY3Rpb24tdGl0bGUgewogICAgICBsZWZ0OiAwOwogICB9CiAgICNmZWF0dXJlZC1jYXNlcy1zbGlkZSAub3dsLXN0YWdlLW91dGVyIHsKICAgICAgcGFkZGluZy10b3A6IDA7CiAgIH0KICAgLnRzLWZlYXR1cmVzLWNvbCAucm93IFtjbGFzcyo9ImNvbC0iXSB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLnRzLWZlYXR1cmVzLWNvbCAucm93IFtjbGFzcyo9ImNvbC0iXTpsYXN0LWNoaWxkIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgfQogICAvKiBUZWFtICovCiAgIC50cy10ZWFtLXdyYXBwZXIgewogICAgICBtaW4taGVpZ2h0OiA2NTBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgfQogICAudHMtdGVhbS1jbGFzc2ljIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgfQogICAvKiBDb250ZW50ICovCiAgIC5wYW5lbC1ncm91cCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLmNsaWVudHMtbG9nbyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgfQogICAvKiBUZXN0aW1vbmlhbCAqLwogICAucXVvdGUtdGh1bWIgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICB9CiAgIC5xdW90ZS1hcmVhIHsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgfQogICAucXVvdGVfZm9ybSB7CiAgICAgIG1hcmdpbi10b3A6IDgwcHg7CiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OwogICB9CiAgIC5xdW90ZS1pdGVtIC5xdW90ZS10ZXh0IHsKICAgICAgbWFyZ2luOiA5MHB4IDAgMTBweDsKICAgfQogICAudGVzdGltb25pYWwtc2xpZGUub3dsLXRoZW1lIC5vd2wtbmF2IHsKICAgICAgbWFyZ2luLXRvcDogNDBweDsKICAgfQogICAvKiBGZWF0dXJlZCB0YWIgKi8KICAgLmZlYXR1cmVkLXRhYiAubmF2LXRhYnM+bGk+YSB7CiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OwogICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsKICAgfQogICAudGFiLXRleHQtdGl0bGUgewogICAgICBtYXJnaW4tdG9wOiAwOwogICAgICBmb250LXNpemU6IDEycHg7CiAgIH0KICAgLm5ld3MgewogICAgICBwYWRkaW5nOiAwOwogICB9CiAgIC8qIFN1YnNjcmliZSAqLwogICAubmV3c2xldHRlci1mb3JtIGlucHV0IHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7CiAgIH0KICAgLm5ld3NsZXR0ZXItZm9ybSAuYnRuLmJ0bi1wcmltYXJ5IHsKICAgICAgcmlnaHQ6IC0xcHg7CiAgIH0KICAgLnRzLW5ld3NsZXR0ZXIgewogICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgICAgIG1pbi1oZWlnaHQ6IDE3MHB4OwogICB9CiAgIC50cy1uZXdzbGV0dGVyOmFmdGVyIHsKICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgfQogICAubmV3c2xldHRlci1mb3JtIHsKICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgIH0KICAgLyogTGF0ZXN0IHBvc3QgKi8KICAgLmxhdGVzdC1wb3N0IHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgICAgbWluLWhlaWdodDogMjIwcHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgIH0KICAgLmxhdGVzdC1wb3N0LnBvc3QtbGFyZ2UgLmxhdGVzdC1wb3N0LWltZyBpbWcgewogICAgICBoZWlnaHQ6IDIyMHB4OwogICB9CiAgIC5zaGFyZS1pdGVtcy5mbG9hdC1yaWdodCB7CiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgIH0KICAgLnBvc3Qtc29jaWFsLWljb25zIGEgewogICAgICBtYXJnaW4tbGVmdDogMHB4OwogICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgIH0KICAgLnBvc3QtaXRlbS1kYXRlLAogICAucG9zdC1jYXQgewogICAgICBkaXNwbGF5OiBub25lOwogICB9CiAgIC5sYXRlc3QtcG9zdCAucG9zdC10aXRsZSwKICAgLmxhdGVzdC1wb3N0LnBvc3QtbGFyZ2UgLnBvc3QtdGl0bGUgewogICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICB9CiAgIC8qIEZvb3RlciAqLwogICAuZm9vdGVyLXRvcCB7CiAgICAgIHRvcDogLTIwcHg7CiAgIH0KICAgLmZvb3Rlci1tYWluIHsKICAgICAgcGFkZGluZy10b3A6IDI5MHB4OwogICB9CiAgIC5hY3Rpb24tYm94IHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgfQogICAuZm9vdGVyLXdpZGdldCB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgbWFyZ2luLXRvcDogNDBweDsKICAgfQogICAjYmFjay10by10b3AuYWZmaXggewogICAgICBib3R0b206IDM1cHg7CiAgIH0KICAgI2JhY2stdG8tdG9wIHsKICAgICAgcmlnaHQ6IDEwcHg7CiAgIH0KICAgLmNvcHlyaWdodC1pbmZvIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgIH0KICAgLmZvb3Rlci1tZW51IHsKICAgICAgZmxvYXQ6IG5vbmU7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgfQogICAuZm9vdGVyLW1lbnUgdWwgbGkgewogICAgICBwYWRkaW5nLWxlZnQ6IDVweDsKICAgfQogICAuZm9vdGVyLW1lbnUgdWwubmF2IGxpIGEgewogICAgICBmb250LXNpemU6IDEycHg7CiAgIH0KICAgLnVuc3R5bGVkIHsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgIH0KICAgLyogUGFnZXMgKi8KICAgLyogQmFubmVyICovCiAgIC5iYW5uZXItdGl0bGUgewogICAgICBmb250LXNpemU6IDYwcHg7CiAgICAgIHBhZGRpbmctdG9wOiA2MHB4OwogICB9CiAgIC8qIEFib3V0IDEgKi8KICAgLmNlby1zaWduYXR1cmUgewogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICB9CiAgIC50cy10ZWFtLWNvbnRlbnQgewogICAgICB0b3A6IDc4JTsKICAgfQogICAvKiBOZXdzIExpc3RpbmcgKi8KICAgLnBvc3QtbWV0YS1sZWZ0LAogICAucG9zdC1jb250ZW50LXJpZ2h0IHsKICAgICAgd2lkdGg6IDEwMCU7CiAgIH0KICAgLnBvc3QtY29udGVudC1yaWdodCB7CiAgICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgIH0KICAgLmNvbW1lbnRzLXJlcGx5IHsKICAgICAgbWFyZ2luOiAwOwogICB9CiAgIC5zaWRlYmFyLXJpZ2h0IC53aWRnZXQgewogICAgICBtYXJnaW4tbGVmdDogMDsKICAgfQogICAuc2lkZWJhci1yaWdodCB7CiAgICAgIG1hcmdpbi10b3A6IDQwcHg7CiAgIH0KICAgLnNpZGViYXItbGVmdCAud2lkZ2V0IHsKICAgICAgbWFyZ2luLXJpZ2h0OiAwOwogICB9CiAgIC8qIENhcmVlciAqLwogICAuY2FyZWVyLWxheW91dCB7CiAgICAgIHdpZHRoOiAxMDAlOwogICB9CiAgIC5jYXJlZXItbGF5b3V0LmNhcmVlci1sYXlvdXQtZG91YmxlIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgIH0KICAgLmpvYi1za2lsbCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLmpvYi1pbmZvIHsKICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIHdpZHRoOiA1MCU7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgIH0KICAgLyogUHJpY2luZyBUYWJsZSAqLwogICAucGxhbiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgIH0KICAgLnBsYW4uZmVhdHVyZWQgewogICAgICBtYXJnaW46IDBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgfQogICAuc2luZ2xlLXByaWNlLWJveCB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICB9CiAgIC5zaW5nbGUtcHJpY2UtYm94LmZlYXR1cmVkIHsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgfQogICAucHJpY2luZy1ib3hlZCAuc2luZ2xlLXByaWNlLWJveDpsYXN0LWNoaWxkIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgfQogICAudHMtcHJpY2UtYm94IHsKICAgICAgbWFyZ2luLWJvdHRvbTogLTEyMHB4OwogICB9CiAgIC8qIENvbnRhY3QgIFBhZ2UgMiAqLwogICAuY29udGFjdC1ib3guaW5mby1ib3gsCiAgIC5jb250YWN0LWJveC5mb3JtLWJveCB7CiAgICAgIHdpZHRoOiAxMDAlOwogICB9Cn0KCi8qIEV4dHJhIFNtYWxsIERldmljZXMsIFBob25lcyAqLwoKQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7CiAgIC50b3Atc29jaWFsIGEgewogICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OwogICB9CiAgIC8qIFNlY3Rpb24gdGl0bGUgKi8KICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDI1cHg7CiAgIH0KICAgLyogVG9wIGJhciAqLwogICAjdG9wLWJhciAudG9wLWluZm8gLmluZm8td3JhcHBlcjphZnRlciB7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgIH0KICAgLyogSGVhZGVyICovCiAgIC5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLXRyYW5zcGFyZW50IHsKICAgICAgdG9wOiAxMTBweDsKICAgfQogICAvKiBIZWFkZXIgOCAqLwogICAubG9nby13cmFwcGVyLmxvZ28tYXJlYSB7CiAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgIH0KICAgLyogSGVhZGVyIDkgKi8KICAgLmxvZ28tYXJlYS5sb2dvLWFic29sdXRlIHsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgaGVpZ2h0OiAwOwogICAgICBwYWRkaW5nLXRvcDogMjBweDsKICAgfQogICAvKiBUYWIgKi8KICAgLnRhYi1jb250ZW50LWluZm8gewogICAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgIH0KICAgLnRhYi10ZXh0LXRpdGxlIHsKICAgICAgZm9udC1zaXplOiA5cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgIH0KICAgLmZlYXR1cmVkLXRhYiAubmF2LWxpbmsuYWN0aXZlOmFmdGVyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBsZWZ0OiA1MCU7CiAgICAgIHdpZHRoOiA3MHB4OwogICAgICBtYXJnaW4tbGVmdDogLTM1cHg7CiAgIH0KICAgLnRhYi1oZWFkIHNwYW4gaSB7CiAgICAgIGZvbnQtc2l6ZTogMjVweDsKICAgfQogICAuZmVhdHVyZWQtdGFiIC5uYXYtdGFicz5saT5hIHsKICAgICAgcGFkZGluZzogNXB4IDEycHg7CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgbWluLWhlaWdodDogNzBweDsKICAgfQogICAvKiBUZWFtICovCiAgIC50cy10ZWFtLXdyYXBwZXIgewogICAgICBtaW4taGVpZ2h0OiAzOTVweDsKICAgfQogICAvKiBOZXdzbGV0dGVyICovCiAgIC5xdW90ZV9mb3JtIC5jb2x1bW4tdGl0bGUgewogICAgICBmb250LXNpemU6IDI1cHg7CiAgIH0KICAgLnF1b3RlX2Zvcm0gLmNvbHVtbi10aXRsZSBzcGFuIHsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICB9CiAgIC5xdW90ZV9mb3JtIC5idG4gewogICAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7CiAgIH0KICAgI2JhY2stdG8tdG9wLmFmZml4IHsKICAgICAgYm90dG9tOiAyMHB4OwogICB9CiAgIC8qIFBhZ2VzICovCiAgIC50cy10ZWFtLWNvbnRlbnQgewogICAgICB0b3A6IDgxJTsKICAgfQogICAvKiBGb290ZXIgKi8KICAgLmZvb3Rlci1tYWluIHsKICAgICAgcGFkZGluZy10b3A6IDM0MHB4OwogICB9CiAgIC8qIGhvbWUgMiAqLwogICAvKiBJbnRybyAqLwogICAuaW50cm8taW1hZ2UtY29udGVudCB7CiAgICAgIHBhZGRpbmc6IDEwcHggMzBweDsKICAgICAgd2lkdGg6IDg4JTsKICAgICAgaGVpZ2h0OiA5MSU7CiAgIH0KICAgLmludHJvLXNoYXBlOmFmdGVyIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgfQp9CgovKiBDdXN0b20sIGlQaG9uZSBSZXRpbmEgKi8KCkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ3OHB4KSB7CiAgIC8qIEhlYWRlciA4ICovCiAgIC5sb2dvLXdyYXBwZXIubG9nby1hcmVhIHsKICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgfQogICB1bC50b3AtaW5mby51bnN0eWxlZCB7CiAgICAgIHBhZGRpbmctbGVmdDogMDsKICAgfQogICAudG9wLXNvY2lhbCBhIHsKICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsKICAgfQogICAvKiBOYXZiYXIgKi8KICAgLm5hdmJhci1jb2xsYXBzZSB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICB9CiAgIC8qIFNsaWRlciAqLwogICAuYm94LXNsaWRlci10ZXh0IHsKICAgICAgbWF4LXdpZHRoOiAyOTBweDsKICAgfQogICAuYm94LXNsaWRlLXN1Yi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgfQogICAuYm94LXNsaWRlLWRlc2NyaXB0aW9uIHsKICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgIH0KfQ=="}},"time_used":192,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":126,"receive":66,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widgets.coingecko.com/coingecko-coin-compare-chart-widget.js","fqdn":"widgets.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"104.18.4.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.614Z","timestamp":1785124599614,"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":"coingecko.com","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 25 Jun 2026 14:12:31 GMT","end":"Wed, 23 Sep 2026 14:12:30 GMT"},"fingerprint":{"sha1":"79:92:C9:C4:9C:3B:8E:38:3D:B4:5C:FA:23:B7:32:6D:E5:6E:21:4C","sha256":"9F:04:05:47:D7:AB:A2:ED:CE:9E:40:05:15:CB:1D:E0:9F:A7:BB:C0:DC:EC:A2:90:53:EC:F5:8E:57:D6:62:B0"}}},"request":{"raw":"GET /coingecko-coin-compare-chart-widget.js HTTP/1.1\r\nHost: widgets.coingecko.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://astroxcinvest.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\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nx-amz-id-2: 5cEmKBOH00j6s1zZQ6hi5/+pxEg0AD04wh33129FyiPnhf2U+ylMT86L+SdVyVqdQSvwjcztjuN5/TvCrwQFpZF0WIIM0vDL\r\nx-amz-request-id: 9CJAK32B2FBT5BX6\r\nx-amz-replication-status: COMPLETED\r\nlast-modified: Fri, 03 Jul 2026 04:41:09 GMT\r\nvary: accept-encoding\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: kRqpvMCwQ2hmDi2_5oH91sMUkdgxG54P\r\nserver: cloudflare\r\npriority: u=3,i=?0\r\nage: 256147\r\nexpires: Tue, 28 Jul 2026 03:56:39 GMT\r\ncache-control: public, max-age=86400\r\ncf-cache-status: HIT\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nspeculation-rules: \"/cdn-cgi/speculation\"\r\netag: W/\"867f73f638eda490fb1e2277241456b1\"\r\ncontent-encoding: br\r\ncf-ray: a218b72bc9e756c9-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":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"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":1337298,"size_decoded":232910,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (2308)","md5":"620d93c63a57e63b2678de7680c72775","sha1":"730864fddab561b6abb3b0d09aef42230cb0f5ff","sha256":"5d8823d5735747cf7722995e046f1c1c3cd81cf925b910f8dc26057965c5ff06","sha512":"c24729c3d5828974a32bffa9be8b8d0e687823e5ec2dee2d7f956057410381cfc16bac3dc532742fba74d5411395b04c2035fa3e204259f5b015385a6a7395f9","ssdeep":"24576:gcF7T/Br44zF0sFWU/BvyZqE/T586okd8mOUYIxEMbQkCRoRDG3CCazDd3rUE/Tm:gcF7T/Br44zF0sFWU/BvyZqE/T586oku","tlshash":"6e258349a7e22535c153f0295e2fdc09b636a4af6789cd0c3e4c91e44f154389bbafb8","first_seen":"2026-07-27T03:16:24.611003Z","last_seen":"2026-07-27T07:16:21.458302Z","times_seen":6,"resource_available":false,"data":"KGZ1bmN0aW9uKHQpIHsKICB2YXIgZSA9IHt9OwoKICBmdW5jdGlvbiBpKG4pIHsKICAgIGlmIChlW25dKSByZXR1cm4gZVtuXS5leHBvcnRzOwogICAgdmFyIG8gPSBlW25dID0geyBpOiBuLCBsOiAhMSwgZXhwb3J0czoge30gfTsKICAgIHJldHVybiB0W25dLmNhbGwoby5leHBvcnRzLCBvLCBvLmV4cG9ydHMsIGkpLCBvLmwgPSAhMCwgby5leHBvcnRzOwogIH0KCiAgaS5tID0gdCwgaS5jID0gZSwgaS5kID0gZnVuY3Rpb24odCwgZSwgbikgewogICAgaS5vKHQsIGUpIHx8IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBlLCB7IGVudW1lcmFibGU6ICEwLCBnZXQ6IG4gfSk7CiAgfSwgaS5yID0gZnVuY3Rpb24odCkgewogICAgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBTeW1ib2wgJiYgU3ltYm9sLnRvU3RyaW5nVGFnICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICJNb2R1bGUiIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgIl9fZXNNb2R1bGUiLCB7IHZhbHVlOiAhMCB9KTsKICB9LCBpLnQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICBpZiAoMSAmIGUgJiYgKHQgPSBpKHQpKSwgOCAmIGUpIHJldHVybiB0OwogICAgaWYgKDQgJiBlICYmICJvYmplY3QiID09PSB0eXBlb2YgdCAmJiB0ICYmIHQuX19lc01vZHVsZSkgcmV0dXJuIHQ7CiAgICB2YXIgbiA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICBpZiAoaS5yKG4pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkobiwgImRlZmF1bHQiLCB7IGVudW1lcmFibGU6ICEwLCB2YWx1ZTogdCB9KSwgMiAmIGUgJiYgInN0cmluZyIgIT0gdHlwZW9mIHQpIGZvciAodmFyIG8gaW4gdCkgaS5kKG4sIG8sIGZ1bmN0aW9uKGUpIHsKICAgICAgcmV0dXJuIHRbZV07CiAgICB9LmJpbmQobnVsbCwgbykpOwogICAgcmV0dXJuIG47CiAgfSwgaS5uID0gZnVuY3Rpb24odCkgewogICAgdmFyIGUgPSB0ICYmIHQuX19lc01vZHVsZSA/IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gdFsiZGVmYXVsdCJdOwogICAgfSA6IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gdDsKICAgIH07CiAgICByZXR1cm4gaS5kKGUsICJhIiwgZSksIGU7CiAgfSwgaS5vID0gZnVuY3Rpb24odCwgZSkgewogICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBlKTsKICB9LCBpLnAgPSAiLyIsIGkoaS5zID0gMTcpOwp9KSh7CiAgIjAxNGIiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiA9IGkoImU1M2QiKSwgbyA9IGkoIjA3ZTMiKSwgciA9IGkoIjhlNjAiKSwgcyA9IGkoIjYzYjYiKSwgYSA9IGkoIjkxMzgiKSwgaCA9IGkoImViZmQiKS5LRVksIGwgPSBpKCIyOTRjIiksIGMgPSBpKCJkYmRiIiksIHAgPSBpKCI0NWYyIiksCiAgICAgIGQgPSBpKCI2MmEwIiksIHUgPSBpKCI1MTY4IiksIGYgPSBpKCJjY2I5IiksIGcgPSBpKCI2NzE4IiksIG0gPSBpKCI0N2VlIiksIHkgPSBpKCI5MDAzIiksIHYgPSBpKCJlNGFlIiksIHggPSBpKCJmNzcyIiksIGIgPSBpKCIyNDFlIiksIF8gPSBpKCIzNmMzIiksCiAgICAgIHcgPSBpKCIxYmMzIiksIGsgPSBpKCJhZWJkIiksIFMgPSBpKCJhMTU5IiksIEMgPSBpKCIwMzk1IiksIE0gPSBpKCJiZjBiIiksIEEgPSBpKCI5YWE5IiksIFAgPSBpKCJkOWY2IiksIE8gPSBpKCJjM2ExIiksIFQgPSBNLmYsIEUgPSBQLmYsIEwgPSBDLmYsCiAgICAgIGogPSBuLlN5bWJvbCwgRCA9IG4uSlNPTiwgSSA9IEQgJiYgRC5zdHJpbmdpZnksIHogPSAicHJvdG90eXBlIiwgQiA9IHUoIl9oaWRkZW4iKSwgUiA9IHUoInRvUHJpbWl0aXZlIiksIE4gPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZSwKICAgICAgRyA9IGMoInN5bWJvbC1yZWdpc3RyeSIpLCBIID0gYygic3ltYm9scyIpLCBXID0gYygib3Atc3ltYm9scyIpLCBGID0gT2JqZWN0W3pdLCBYID0gImZ1bmN0aW9uIiA9PSB0eXBlb2YgaiAmJiAhIUEuZiwgVSA9IG4uUU9iamVjdCwKICAgICAgWSA9ICFVIHx8ICFVW3pdIHx8ICFVW3pdLmZpbmRDaGlsZCwgViA9IHIgJiYgbCgoZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIDcgIT0gUyhFKHt9LCAiYSIsIHsKICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBFKHRoaXMsICJhIiwgeyB2YWx1ZTogNyB9KS5hOwogICAgICAgICAgfQogICAgICAgIH0pKS5hOwogICAgICB9KSkgPyBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4gPSBUKEYsIGUpOwogICAgICAgIG4gJiYgZGVsZXRlIEZbZV0sIEUodCwgZSwgaSksIG4gJiYgdCAhPT0gRiAmJiBFKEYsIGUsIG4pOwogICAgICB9IDogRSwgJCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9IEhbdF0gPSBTKGpbel0pOwogICAgICAgIHJldHVybiBlLl9rID0gdCwgZTsKICAgICAgfSwgSyA9IFggJiYgInN5bWJvbCIgPT0gdHlwZW9mIGouaXRlcmF0b3IgPyBmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuICJzeW1ib2wiID09IHR5cGVvZiB0OwogICAgICB9IDogZnVuY3Rpb24odCkgewogICAgICAgIHJldHVybiB0IGluc3RhbmNlb2YgajsKICAgICAgfSwgcSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICByZXR1cm4gdCA9PT0gRiAmJiBxKFcsIGUsIGkpLCB2KHQpLCBlID0gdyhlLCAhMCksIHYoaSksIG8oSCwgZSkgPyAoaS5lbnVtZXJhYmxlID8gKG8odCwgQikgJiYgdFtCXVtlXSAmJiAodFtCXVtlXSA9ICExKSwgaSA9IFMoaSwgeyBlbnVtZXJhYmxlOiBrKDAsICExKSB9KSkgOiAobyh0LCBCKSB8fCBFKHQsIEIsIGsoMSwge30pKSwgdFtCXVtlXSA9ICEwKSwgVih0LCBlLCBpKSkgOiBFKHQsIGUsIGkpOwogICAgICB9LCBaID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgIHYodCk7CiAgICAgICAgdmFyIGksIG4gPSBtKGUgPSBfKGUpKSwgbyA9IDAsIHIgPSBuLmxlbmd0aDsKICAgICAgICB3aGlsZSAociA+IG8pIHEodCwgaSA9IG5bbysrXSwgZVtpXSk7CiAgICAgICAgcmV0dXJuIHQ7CiAgICAgIH0sIEogPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gZSA/IFModCkgOiBaKFModCksIGUpOwogICAgICB9LCBRID0gZnVuY3Rpb24odCkgewogICAgICAgIHZhciBlID0gTi5jYWxsKHRoaXMsIHQgPSB3KHQsICEwKSk7CiAgICAgICAgcmV0dXJuICEodGhpcyA9PT0gRiAmJiBvKEgsIHQpICYmICFvKFcsIHQpKSAmJiAoIShlIHx8ICFvKHRoaXMsIHQpIHx8ICFvKEgsIHQpIHx8IG8odGhpcywgQikgJiYgdGhpc1tCXVt0XSkgfHwgZSk7CiAgICAgIH0sIHR0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgIGlmICh0ID0gXyh0KSwgZSA9IHcoZSwgITApLCB0ICE9PSBGIHx8ICFvKEgsIGUpIHx8IG8oVywgZSkpIHsKICAgICAgICAgIHZhciBpID0gVCh0LCBlKTsKICAgICAgICAgIHJldHVybiAhaSB8fCAhbyhILCBlKSB8fCBvKHQsIEIpICYmIHRbQl1bZV0gfHwgKGkuZW51bWVyYWJsZSA9ICEwKSwgaTsKICAgICAgICB9CiAgICAgIH0sIGV0ID0gZnVuY3Rpb24odCkgewogICAgICAgIHZhciBlLCBpID0gTChfKHQpKSwgbiA9IFtdLCByID0gMDsKICAgICAgICB3aGlsZSAoaS5sZW5ndGggPiByKSBvKEgsIGUgPSBpW3IrK10pIHx8IGUgPT0gQiB8fCBlID09IGggfHwgbi5wdXNoKGUpOwogICAgICAgIHJldHVybiBuOwogICAgICB9LCBpdCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSwgaSA9IHQgPT09IEYsIG4gPSBMKGkgPyBXIDogXyh0KSksIHIgPSBbXSwgcyA9IDA7CiAgICAgICAgd2hpbGUgKG4ubGVuZ3RoID4gcykgIW8oSCwgZSA9IG5bcysrXSkgfHwgaSAmJiAhbyhGLCBlKSB8fCByLnB1c2goSFtlXSk7CiAgICAgICAgcmV0dXJuIHI7CiAgICAgIH07CiAgICBYIHx8IChqID0gZnVuY3Rpb24oKSB7CiAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgaikgdGhyb3cgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IhIik7CiAgICAgIHZhciB0ID0gZChhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IHZvaWQgMCksIGUgPSBmdW5jdGlvbihpKSB7CiAgICAgICAgdGhpcyA9PT0gRiAmJiBlLmNhbGwoVywgaSksIG8odGhpcywgQikgJiYgbyh0aGlzW0JdLCB0KSAmJiAodGhpc1tCXVt0XSA9ICExKSwgVih0aGlzLCB0LCBrKDEsIGkpKTsKICAgICAgfTsKICAgICAgcmV0dXJuIHIgJiYgWSAmJiBWKEYsIHQsIHsgY29uZmlndXJhYmxlOiAhMCwgc2V0OiBlIH0pLCAkKHQpOwogICAgfSwgYShqW3pdLCAidG9TdHJpbmciLCAoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLl9rOwogICAgfSkpLCBNLmYgPSB0dCwgUC5mID0gcSwgaSgiNmFiZiIpLmYgPSBDLmYgPSBldCwgaSgiMzU1ZCIpLmYgPSBRLCBBLmYgPSBpdCwgciAmJiAhaSgiYjhlMyIpICYmIGEoRiwgInByb3BlcnR5SXNFbnVtZXJhYmxlIiwgUSwgITApLCBmLmYgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiAkKHUodCkpOwogICAgfSksIHMocy5HICsgcy5XICsgcy5GICogIVgsIHsgU3ltYm9sOiBqIH0pOwogICAgZm9yICh2YXIgbnQgPSAiaGFzSW5zdGFuY2UsaXNDb25jYXRTcHJlYWRhYmxlLGl0ZXJhdG9yLG1hdGNoLHJlcGxhY2Usc2VhcmNoLHNwZWNpZXMsc3BsaXQsdG9QcmltaXRpdmUsdG9TdHJpbmdUYWcsdW5zY29wYWJsZXMiLnNwbGl0KCIsIiksIG90ID0gMDsgbnQubGVuZ3RoID4gb3Q7KSB1KG50W290KytdKTsKICAgIGZvciAodmFyIHJ0ID0gTyh1LnN0b3JlKSwgc3QgPSAwOyBydC5sZW5ndGggPiBzdDspIGcocnRbc3QrK10pOwogICAgcyhzLlMgKyBzLkYgKiAhWCwgIlN5bWJvbCIsIHsKICAgICAgZm9yOiBmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIG8oRywgdCArPSAiIikgPyBHW3RdIDogR1t0XSA9IGoodCk7CiAgICAgIH0sIGtleUZvcjogZnVuY3Rpb24odCkgewogICAgICAgIGlmICghSyh0KSkgdGhyb3cgVHlwZUVycm9yKHQgKyAiIGlzIG5vdCBhIHN5bWJvbCEiKTsKICAgICAgICBmb3IgKHZhciBlIGluIEcpIGlmIChHW2VdID09PSB0KSByZXR1cm4gZTsKICAgICAgfSwgdXNlU2V0dGVyOiBmdW5jdGlvbigpIHsKICAgICAgICBZID0gITA7CiAgICAgIH0sIHVzZVNpbXBsZTogZnVuY3Rpb24oKSB7CiAgICAgICAgWSA9ICExOwogICAgICB9CiAgICB9KSwgcyhzLlMgKyBzLkYgKiAhWCwgIk9iamVjdCIsIHsKICAgICAgY3JlYXRlOiBKLAogICAgICBkZWZpbmVQcm9wZXJ0eTogcSwKICAgICAgZGVmaW5lUHJvcGVydGllczogWiwKICAgICAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOiB0dCwKICAgICAgZ2V0T3duUHJvcGVydHlOYW1lczogZXQsCiAgICAgIGdldE93blByb3BlcnR5U3ltYm9sczogaXQKICAgIH0pOwogICAgdmFyIGF0ID0gbCgoZnVuY3Rpb24oKSB7CiAgICAgIEEuZigxKTsKICAgIH0pKTsKICAgIHMocy5TICsgcy5GICogYXQsICJPYmplY3QiLCB7CiAgICAgIGdldE93blByb3BlcnR5U3ltYm9sczogZnVuY3Rpb24odCkgewogICAgICAgIHJldHVybiBBLmYoYih0KSk7CiAgICAgIH0KICAgIH0pLCBEICYmIHMocy5TICsgcy5GICogKCFYIHx8IGwoKGZ1bmN0aW9uKCkgewogICAgICB2YXIgdCA9IGooKTsKICAgICAgcmV0dXJuICJbbnVsbF0iICE9IEkoW3RdKSB8fCAie30iICE9IEkoeyBhOiB0IH0pIHx8ICJ7fSIgIT0gSShPYmplY3QodCkpOwogICAgfSkpKSwgIkpTT04iLCB7CiAgICAgIHN0cmluZ2lmeTogZnVuY3Rpb24odCkgewogICAgICAgIHZhciBlLCBpLCBuID0gW3RdLCBvID0gMTsKICAgICAgICB3aGlsZSAoYXJndW1lbnRzLmxlbmd0aCA+IG8pIG4ucHVzaChhcmd1bWVudHNbbysrXSk7CiAgICAgICAgaWYgKGkgPSBlID0gblsxXSwgKHgoZSkgfHwgdm9pZCAwICE9PSB0KSAmJiAhSyh0KSkgcmV0dXJuIHkoZSkgfHwgKGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICBpZiAoImZ1bmN0aW9uIiA9PSB0eXBlb2YgaSAmJiAoZSA9IGkuY2FsbCh0aGlzLCB0LCBlKSksICFLKGUpKSByZXR1cm4gZTsKICAgICAgICB9KSwgblsxXSA9IGUsIEkuYXBwbHkoRCwgbik7CiAgICAgIH0KICAgIH0pLCBqW3pdW1JdIHx8IGkoIjM1ZTgiKShqW3pdLCBSLCBqW3pdLnZhbHVlT2YpLCBwKGosICJTeW1ib2wiKSwgcChNYXRoLCAiTWF0aCIsICEwKSwgcChuLkpTT04sICJKU09OIiwgITApOwogIH0sICIwMWY5IjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCIyZDAwIiksIG8gPSBpKCI1Y2ExIiksIHIgPSBpKCIyYWJhIiksIHMgPSBpKCIzMmU5IiksIGEgPSBpKCI4NGYyIiksIGggPSBpKCI0MWEwIiksIGwgPSBpKCI3ZjIwIiksIGMgPSBpKCIzOGZkIiksIHAgPSBpKCIyYjRjIikoIml0ZXJhdG9yIiksCiAgICAgIGQgPSAhKFtdLmtleXMgJiYgIm5leHQiIGluIFtdLmtleXMoKSksIHUgPSAiQEBpdGVyYXRvciIsIGYgPSAia2V5cyIsIGcgPSAidmFsdWVzIiwgbSA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzOwogICAgICB9OwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSwgaSwgeSwgdiwgeCwgYikgewogICAgICBoKGksIGUsIHkpOwogICAgICB2YXIgXywgdywgaywgUyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGlmICghZCAmJiB0IGluIFApIHJldHVybiBQW3RdOwogICAgICAgICAgc3dpdGNoICh0KSB7CiAgICAgICAgICAgIGNhc2UgZjoKICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IGkodGhpcywgdCk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2FzZSBnOgogICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiBuZXcgaSh0aGlzLCB0KTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGkodGhpcywgdCk7CiAgICAgICAgICB9OwogICAgICAgIH0sIEMgPSBlICsgIiBJdGVyYXRvciIsIE0gPSB2ID09IGcsIEEgPSAhMSwgUCA9IHQucHJvdG90eXBlLCBPID0gUFtwXSB8fCBQW3VdIHx8IHYgJiYgUFt2XSwgVCA9IE8gfHwgUyh2KSwgRSA9IHYgPyBNID8gUygiZW50cmllcyIpIDogVCA6IHZvaWQgMCwKICAgICAgICBMID0gIkFycmF5IiA9PSBlICYmIFAuZW50cmllcyB8fCBPOwogICAgICBpZiAoTCAmJiAoayA9IGMoTC5jYWxsKG5ldyB0KSksIGsgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgay5uZXh0ICYmIChsKGssIEMsICEwKSwgbiB8fCAiZnVuY3Rpb24iID09IHR5cGVvZiBrW3BdIHx8IHMoaywgcCwgbSkpKSwgTSAmJiBPICYmIE8ubmFtZSAhPT0gZyAmJiAoQSA9ICEwLCBUID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIE8uY2FsbCh0aGlzKTsKICAgICAgfSksIG4gJiYgIWIgfHwgIWQgJiYgIUEgJiYgUFtwXSB8fCBzKFAsIHAsIFQpLCBhW2VdID0gVCwgYVtDXSA9IG0sIHYpIGlmIChfID0gewogICAgICAgIHZhbHVlczogTSA/IFQgOiBTKGcpLAogICAgICAgIGtleXM6IHggPyBUIDogUyhmKSwKICAgICAgICBlbnRyaWVzOiBFCiAgICAgIH0sIGIpIGZvciAodyBpbiBfKSB3IGluIFAgfHwgcihQLCB3LCBfW3ddKTsgZWxzZSBvKG8uUCArIG8uRiAqIChkIHx8IEEpLCBlLCBfKTsKICAgICAgcmV0dXJuIF87CiAgICB9OwogIH0sICIwMjZhIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LiRjcmVhdGVFbGVtZW50LCBpID0gdC5fc2VsZi5fYyB8fCBlOwogICAgICAgIHJldHVybiBpKCJkaXYiLCB7CiAgICAgICAgICBzdGF0aWNDbGFzczogImNnLWNvbnRhaW5lciIsCiAgICAgICAgICBzdHlsZTogdC5jb250YWluZXJTdHlsZSwKICAgICAgICAgIGF0dHJzOiB7ICJkYXRhLWxvYWRpbmciOiB0LmxvYWRpbmcgfQogICAgICAgIH0sIFt0LmxvYWRpbmcgPyBpKCJkaXYiLCB7IHN0YXRpY0NsYXNzOiAiY2ctcC0zIGNnLWJhc2UiIH0sIFt0Ll92KCJMb2FkaW5nIHdpZGdldC4uLiIpXSkgOiB0Ll9lKCksIGkoImRpdiIsIHsgc3RhdGljQ2xhc3M6ICJjZy13aWRnZXQgY2ctcmVsYXRpdmUiIH0sIFtpKCJkaXYiLCB7IGF0dHJzOiB7IGlkOiB0LmNoYXJ0SWQgfSB9KSwgaSgiZGl2IiwgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJjZy1hYnNvbHV0ZSBjZy1ib2xkIiwKICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IGJvdHRvbTogIjVweCIsIGxlZnQ6ICIxOHB4IiB9LAogICAgICAgICAgZG9tUHJvcHM6IHsgaW5uZXJIVE1MOiB0Ll9zKHQucG93ZXJlZEJ5Q29pbkdlY2tvKSB9CiAgICAgICAgfSldKV0pOwogICAgICB9LCBvID0gW10sIHIgPSAoaSgiN2Y3ZiIpLCBpKCI0NTZkIiksIGkoIjVkZjMiKSwgaSgiYWM2YSIpLCBpKCIyOGE1IiksIGkoIjZiNTQiKSwgaSgiYzVmNiIpLCBpKCJlOGJhIikpLCBzID0gaSgiZTU5MSIpLCBhID0gaS5uKHMpLCBoID0gaSgiMDMxOSIpLAogICAgICBsID0gaS5uKGgpLCBjID0gaSgiYzFlMiIpLCBwID0gaSgiMmY2ZCIpOwogICAgbCgpKGEuYSksIGEuYS50aGVtZSA9IHsgY2hhcnQ6IHsgYmFja2dyb3VuZENvbG9yOiAiI2Q2ZmVhNjFhIiB9LCB0aXRsZTogeyBzdHlsZTogeyBjb2xvcjogIiMwMDAiLCBmb250OiAiMjBweCBzYW5zLXNlcmlmIiB9IH0gfSwgYS5hLnNldE9wdGlvbnMoYS5hLnRoZW1lKTsKICAgIHZhciBkID0gIiM0Yjg4MDAiLCB1ID0gMiwgZiA9IDUwMCwgZyA9IHsKICAgICAgbmFtZTogIkNvaW5nZWNrb0NvaW5Db21wYXJlQ2hhcnRXaWRnZXQiLAogICAgICBtaXhpbnM6IFtPYmplY3QoY1siYSJdKSgpLCBwWyJhIl1dLAogICAgICBwcm9wczogewogICAgICAgIGNvaW5JZHM6IHsgdHlwZTogU3RyaW5nLCBkZWZhdWx0OiAiYml0Y29pbixsaXRlY29pbix0cm9uLG5lbyxtb25lcm8iIH0sCiAgICAgICAgY3VycmVuY3k6IHsgdHlwZTogU3RyaW5nLCBkZWZhdWx0OiAidXNkIiB9LAogICAgICAgIHR5cGU6IHsgdHlwZTogU3RyaW5nLCBkZWZhdWx0OiAicHJpY2UiIH0sCiAgICAgICAgbG9jYWxlOiB7IHR5cGU6IFN0cmluZywgZGVmYXVsdDogImVuIiB9LAogICAgICAgIHdpZHRoOiB7IHR5cGU6IE51bWJlciwgZGVmYXVsdDogMCB9CiAgICAgIH0sCiAgICAgIGRhdGE6IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB7IGNoYXJ0SWQ6ICJjaGFydC0iLmNvbmNhdChNYXRoLmZsb29yKDFlNiAqIE1hdGgucmFuZG9tKCkpLnRvU3RyaW5nKCkpLCBsb2FkaW5nOiAhMCwgYXBpQ2hhcnREYXRhOiB7fSwgYXBpQ29pbkRhdGE6IHt9LCBzZXJpZXNEYXRhOiBbXSB9OwogICAgICB9LAogICAgICBjb21wdXRlZDogewogICAgICAgIGN1cnJlbmN5Q29kZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeS50b0xvd2VyQ2FzZSgpOwogICAgICAgIH0sIHNhbml0aXplZENvaW5JZHM6IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSB0aGlzLmNvaW5JZHMuc3BsaXQoIiwiKS5tYXAoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQudHJpbSgpOwogICAgICAgICAgfSkpLCBlID0gW10sIGkgPSB7fTsKICAgICAgICAgIHJldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgaVt0XSB8fCBlLnB1c2godCksIGlbdF0gPSB0OwogICAgICAgICAgfSkpLCBlOwogICAgICAgIH0sIGNvaW5zOiBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0ge307CiAgICAgICAgICByZXR1cm4gdGhpcy5hcGlDaGFydERhdGEuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICB0W2UuaWRdID0gZTsKICAgICAgICAgIH0pKSwgdGhpcy5zYW5pdGl6ZWRDb2luSWRzLm1hcCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gdFtlXTsKICAgICAgICAgIH0pKTsKICAgICAgICB9LCBwb3dlcmVkQnlDb2luR2Vja286IGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMucG9seWdsb3QudCgiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldC5wb3dlcmVkX2J5IiwgewogICAgICAgICAgICBuYW1lOiAiQ29pbkdlY2tvIiwKICAgICAgICAgICAgbmFtZV9zdGFydDogIjxhIGNsYXNzPVwiY2ctcHJpbWFyeS1jb2xvci1kYXJrIGNnLW5vLXVuZGVybGluZVwiIGhyZWY9XCJodHRwczovL3d3dy5jb2luZ2Vja28uY29tL2VuPyIuY29uY2F0KHRoaXMudXRtUGFyYW1zKHRoaXMuc2FuaXRpemVkQ29pbklkcy5qb2luKCkpLCAiXCIgdGFyZ2V0PVwiX2JsYW5rXCI+IiksCiAgICAgICAgICAgIG5hbWVfZW5kOiAiPC9hPiIKICAgICAgICAgIH0pOwogICAgICAgIH0sIGNvbnRhaW5lclN0eWxlOiBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gIiIuY29uY2F0KHRoaXMud2lkdGgsICJweCIpOwogICAgICAgICAgcmV0dXJuIDAgPT09IHRoaXMud2lkdGggJiYgKHQgPSAiMTAwJSIpLCB7IHdpZHRoOiB0IH07CiAgICAgICAgfQogICAgICB9LAogICAgICBtZXRob2RzOiB7CiAgICAgICAgZm9ybWF0Q3VycmVuY3k6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHJldHVybiBPYmplY3QoclsiZm9ybWF0Q3VycmVuY3kiXSkodCwgdGhpcy5jdXJyZW5jeUNvZGUsIHRoaXMubG9jYWxlKTsKICAgICAgICB9LCBmZXRjaENvaW5DaGFydERhdGE6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgIHZhciBpID0gdGhpczsKICAgICAgICAgIHJldHVybiBmZXRjaCgiaHR0cHM6Ly9hcGkuY29pbmdlY2tvLmNvbS9hcGkvdjMvY29pbnMvIi5jb25jYXQodCwgIi9tYXJrZXRfY2hhcnQ/dnNfY3VycmVuY3k9IikuY29uY2F0KHRoaXMuY3VycmVuY3lDb2RlLCAiJmRheXM9IikuY29uY2F0KGUpKS50aGVuKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0Lmpzb24oKTsKICAgICAgICAgIH0pKS50aGVuKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGkuYXBpQ2hhcnREYXRhW3RdID0gZTsKICAgICAgICAgIH0pKTsKICAgICAgICB9LCBmZXRjaENvaW5zOiBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gdGhpczsKICAgICAgICAgIGZldGNoKCJodHRwczovL2FwaS5jb2luZ2Vja28uY29tL2FwaS92My9jb2lucy9tYXJrZXRzP2lkcz0iLmNvbmNhdCh0aGlzLnNhbml0aXplZENvaW5JZHMsICImdnNfY3VycmVuY3k9IikuY29uY2F0KHRoaXMuY3VycmVuY3lDb2RlKSkudGhlbigoZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdC5qc29uKCk7CiAgICAgICAgICB9KSkudGhlbigoZnVuY3Rpb24oZSkgewogICAgICAgICAgICB0LmFwaUNvaW5EYXRhID0ge30sIGUuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHQuYXBpQ29pbkRhdGFbZS5pZF0gPSBlOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9KSk7CiAgICAgICAgfSwgZmV0Y2hEYXRhOiBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzBdID8gYXJndW1lbnRzWzBdIDoge30sIGkgPSBlLmR1cmF0aW9uSW5EYXlzLCBuID0gdm9pZCAwID09PSBpID8gIm1heCIgOiBpOwogICAgICAgICAgdGhpcy5sb2FkaW5nID0gITAsIHRoaXMuZmV0Y2hDb2lucygpOwogICAgICAgICAgZm9yICh2YXIgbyA9IFtdLCByID0gMDsgciA8IHRoaXMuc2FuaXRpemVkQ29pbklkcy5sZW5ndGg7IHIgKz0gdSkgby5wdXNoKHRoaXMuc2FuaXRpemVkQ29pbklkcy5zbGljZShyLCByICsgdSkpOwogICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCksIG8uZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICB0Ll9kYXRhUHJvbWlzZSA9IHQuX2RhdGFQcm9taXNlLnRoZW4oKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChlLm1hcCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHQuZmV0Y2hDb2luQ2hhcnREYXRhKGUsIG4pOwogICAgICAgICAgICAgIH0pKSk7CiAgICAgICAgICAgIH0pKS50aGVuKChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQodCwgZik7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9KSksIHRoaXMuX2RhdGFQcm9taXNlLnRoZW4oKGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0LnNlcmllc0RhdGEgPSB0LnNhbml0aXplZENvaW5JZHMubWFwKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSAicHJpY2VzIjsKICAgICAgICAgICAgICByZXR1cm4gInByaWNlIiA9PT0gdC50eXBlID8gaSA9ICJwcmljZXMiIDogIm1hcmtldF9jYXAiID09PSB0LnR5cGUgJiYgKGkgPSAibWFya2V0X2NhcHMiKSwgeyBuYW1lOiBlLCBkYXRhOiB0LmFwaUNoYXJ0RGF0YVtlXVtpXSB9OwogICAgICAgICAgICB9KSksIHQubG9hZGluZyA9ICExLCB0LmNyZWF0ZUNoYXJ0KCk7CiAgICAgICAgICB9KSk7CiAgICAgICAgfSwgY3JlYXRlQ2hhcnQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQ7CiAgICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkgewogICAgICAgICAgICBjYXNlInByaWNlIjoKICAgICAgICAgICAgICB0ID0gdGhpcy5wb2x5Z2xvdC50KCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0LmNyeXB0b19wcmljZV9jb21wYXJpc29uIik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UibWFya2V0X2NhcCI6CiAgICAgICAgICAgICAgdCA9IHRoaXMucG9seWdsb3QudCgiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldC5jcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgdCA9ICJVbmtub3duIENvbXBhcmlzb24iOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGUgPSB0aGlzLmZvcm1hdEN1cnJlbmN5LmJpbmQodGhpcyksIGkgPSB0aGlzLmFwaUNvaW5EYXRhOwogICAgICAgICAgdGhpcy5jaGFydCA9IGEuYS5zdG9ja0NoYXJ0KHRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3IoIiMiLmNvbmNhdCh0aGlzLmNoYXJ0SWQpKSwgewogICAgICAgICAgICBjaGFydDogeyBzcGFjaW5nQm90dG9tOiAyNSwgc3BhY2luZ1RvcDogMjAsIHNwYWNpbmdMZWZ0OiAyMCwgc3BhY2luZ1JpZ2h0OiAyMCB9LAogICAgICAgICAgICB0aXRsZTogeyB0ZXh0OiB0LCBzdHlsZTogeyBjb2xvcjogZCB9IH0sCiAgICAgICAgICAgIHN1YnRpdGxlOiB7CiAgICAgICAgICAgICAgdGV4dDogT2JqZWN0LmtleXMoaSkubWFwKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaVt0XS5uYW1lOwogICAgICAgICAgICAgIH0pKS5qb2luKCIsICIpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG5hdmlnYXRvcjogeyBlbmFibGVkOiAhMSB9LAogICAgICAgICAgICB4QXhpczogeyBtaW5SYW5nZTogMzZlNSB9LAogICAgICAgICAgICB5QXhpczogewogICAgICAgICAgICAgIHR5cGU6ICJsaW5lYXIiLCBsYWJlbHM6IHsKICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBlKHRoaXMudmFsdWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sIHBsb3RMaW5lczogW3sgdmFsdWU6IDAsIHdpZHRoOiAyLCBjb2xvcjogInNpbHZlciIgfV0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcGxvdE9wdGlvbnM6IHsgc2VyaWVzOiB7IHNob3dJbk5hdmlnYXRvcjogITAgfSB9LAogICAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgICAgcG9pbnRGb3JtYXR0ZXI6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICI8c3BhbiBzdHlsZT1cImNvbG9yOntzZXJpZXMuY29sb3J9XCI+Ii5jb25jYXQoaVt0aGlzLnNlcmllcy5uYW1lXS5uYW1lLCAiPC9zcGFuPjogPGI+IikuY29uY2F0KGUodGhpcy55KSwgIjwvYj48YnIvPiIpOwogICAgICAgICAgICAgIH0sIHZhbHVlRGVjaW1hbHM6IDIsIHNwbGl0OiAhMAogICAgICAgICAgICB9LAogICAgICAgICAgICByYW5nZVNlbGVjdG9yOiB7CiAgICAgICAgICAgICAgaW5wdXRFbmFibGVkOiAhMSwKICAgICAgICAgICAgICBzZWxlY3RlZDogNSwKICAgICAgICAgICAgICBidXR0b25Qb3NpdGlvbjogeyB4OiAtNSB9LAogICAgICAgICAgICAgIGJ1dHRvblRoZW1lOiB7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2LAogICAgICAgICAgICAgICAgd2lkdGg6IDI0LAogICAgICAgICAgICAgICAgZmlsbDogIm5vbmUiLAogICAgICAgICAgICAgICAgc3Ryb2tlOiAibm9uZSIsCiAgICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogMCwKICAgICAgICAgICAgICAgIHI6IDIsCiAgICAgICAgICAgICAgICBzdHlsZTogeyBjb2xvcjogZCwgZm9udFdlaWdodDogImJvbGQiIH0sCiAgICAgICAgICAgICAgICBzdGF0ZXM6IHsgaG92ZXI6IHt9LCBzZWxlY3Q6IHsgZmlsbDogZCwgc3R5bGU6IHsgY29sb3I6ICJ3aGl0ZSIgfSB9IH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIGxhYmVsU3R5bGU6IHsgZGlzcGxheTogIm5vbmUiIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgZXhwb3J0aW5nOiB7CiAgICAgICAgICAgICAgYnV0dG9uczogewogICAgICAgICAgICAgICAgbG9nQnV0dG9uOiB7CiAgICAgICAgICAgICAgICAgIHRleHQ6ICJMb2ciLCBlbmFibGVkOiAhMCwgY2xhc3NOYW1lOiAiY2ctbG9nLWJ1dHRvbiIsIHg6IDUsIHk6IDUwLCBvbmNsaWNrOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuZXhwb3J0aW5nR3JvdXAuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuY2ctbGluZWFyLWJ1dHRvbiIpLCBlID0gdGhpcy5leHBvcnRpbmdHcm91cC5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jZy1sb2ctYnV0dG9uIik7CiAgICAgICAgICAgICAgICAgICAgZS5jbGFzc0xpc3QuYWRkKCJjZy1hY3RpdmUtYnV0dG9uIiksIHQuY2xhc3NMaXN0LnJlbW92ZSgiY2ctYWN0aXZlLWJ1dHRvbiIpLCB0aGlzLnVwZGF0ZSh7IHlBeGlzOiB7IHR5cGU6ICJsb2dhcml0aG1pYyIgfSB9KTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwgbGluZWFyQnV0dG9uOiB7CiAgICAgICAgICAgICAgICAgIHRleHQ6ICJMaW5lYXIiLCB3aWR0aDogNTAsIGNsYXNzTmFtZTogImNnLWxpbmVhci1idXR0b24gY2ctYWN0aXZlLWJ1dHRvbiIsIHg6IC0zMCwgeTogNTAsIG9uY2xpY2s6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcy5leHBvcnRpbmdHcm91cC5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jZy1saW5lYXItYnV0dG9uIiksIGUgPSB0aGlzLmV4cG9ydGluZ0dyb3VwLmVsZW1lbnQucXVlcnlTZWxlY3RvcigiLmNnLWxvZy1idXR0b24iKTsKICAgICAgICAgICAgICAgICAgICBlLmNsYXNzTGlzdC5yZW1vdmUoImNnLWFjdGl2ZS1idXR0b24iKSwgdC5jbGFzc0xpc3QuYWRkKCJjZy1hY3RpdmUtYnV0dG9uIiksIHRoaXMudXBkYXRlKHsgeUF4aXM6IHsgdHlwZTogImxpbmVhciIgfSB9KTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2VyaWVzOiB0aGlzLnNlcmllc0RhdGEsCiAgICAgICAgICAgIGNyZWRpdHM6IHsgcG9zaXRpb246IHsgeTogLTEwLCB4OiAtMjAgfSB9CiAgICAgICAgICB9KTsKICAgICAgICB9LCB1dG1QYXJhbXM6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHJldHVybiAidXRtX3NvdXJjZT0iLmNvbmNhdCh3aW5kb3cubG9jYXRpb24uaG9zdCwgIiZ1dG1fbWVkaXVtPWNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQmdXRtX2NvbnRlbnQ9IikuY29uY2F0KHQpOwogICAgICAgIH0KICAgICAgfSwKICAgICAgd2F0Y2g6IHsKICAgICAgICBjb2luSWRzOiBmdW5jdGlvbigpIHsKICAgICAgICAgIHRoaXMuZmV0Y2hEYXRhKCk7CiAgICAgICAgfSwgY3VycmVuY3k6IGZ1bmN0aW9uKCkgewogICAgICAgICAgdGhpcy5mZXRjaERhdGEoKTsKICAgICAgICB9LCB3aWR0aDogZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IHRoaXM7CiAgICAgICAgICBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdC5jcmVhdGVDaGFydCgpOwogICAgICAgICAgfSksIDEwMCk7CiAgICAgICAgfSwgdHlwZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICB0aGlzLmZldGNoRGF0YSgpOwogICAgICAgIH0KICAgICAgfSwKICAgICAgY3JlYXRlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5mZXRjaERhdGEoKTsKICAgICAgfQogICAgfSwgbSA9IGcsIHkgPSBpKCIyODc3IiksIHYgPSBPYmplY3QoeVsiYSJdKShtLCBuLCBvLCAhMSwgbnVsbCwgbnVsbCwgbnVsbCk7CiAgICBlWyJhIl0gPSB2LmV4cG9ydHM7CiAgfSwgIjAyZjQiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjQ1ODgiKSwgbyA9IGkoImJlMTMiKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICB2YXIgciwgcywgYSA9IFN0cmluZyhvKGUpKSwgaCA9IG4oaSksIGwgPSBhLmxlbmd0aDsKICAgICAgICByZXR1cm4gaCA8IDAgfHwgaCA+PSBsID8gdCA/ICIiIDogdm9pZCAwIDogKHIgPSBhLmNoYXJDb2RlQXQoaCksIHIgPCA1NTI5NiB8fCByID4gNTYzMTkgfHwgaCArIDEgPT09IGwgfHwgKHMgPSBhLmNoYXJDb2RlQXQoaCArIDEpKSA8IDU2MzIwIHx8IHMgPiA1NzM0MyA/IHQgPyBhLmNoYXJBdChoKSA6IHIgOiB0ID8gYS5zbGljZShoLCBoICsgMikgOiBzIC0gNTYzMjAgKyAociAtIDU1Mjk2IDw8IDEwKSArIDY1NTM2KTsKICAgICAgfTsKICAgIH07CiAgfSwgIjAzMTkiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiwgbzsKICAgIChmdW5jdGlvbihyKSB7CiAgICAgIHQuZXhwb3J0cyA/IChyWyJkZWZhdWx0Il0gPSByLCB0LmV4cG9ydHMgPSByKSA6IChuID0gW2koImVhN2YiKV0sIG8gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIHIodCksIHIuSGlnaGNoYXJ0cyA9IHQsIHI7CiAgICAgIH0uYXBwbHkoZSwgbiksIHZvaWQgMCA9PT0gbyB8fCAodC5leHBvcnRzID0gbykpOwogICAgfSkoKGZ1bmN0aW9uKHQpIHsKICAgICAgZnVuY3Rpb24gZSh0LCBlLCBpLCBuKSB7CiAgICAgICAgdC5oYXNPd25Qcm9wZXJ0eShlKSB8fCAodFtlXSA9IG4uYXBwbHkobnVsbCwgaSkpOwogICAgICB9CgogICAgICB0ID0gdCA/IHQuX21vZHVsZXMgOiB7fSwgZSh0LCAiRXh0ZW5zaW9ucy9GdWxsU2NyZWVuLmpzIiwgW3RbIkNvcmUvQ2hhcnQvQ2hhcnQuanMiXSwgdFsiQ29yZS9HbG9iYWxzLmpzIl0sIHRbIkNvcmUvUmVuZGVyZXIvSFRNTC9BU1QuanMiXSwgdFsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgdmFyIG8gPSBuLmFkZEV2ZW50OwogICAgICAgIHJldHVybiBuID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiB0KHQpIHsKICAgICAgICAgICAgdGhpcy5jaGFydCA9IHQsIHRoaXMuaXNPcGVuID0gITEsIHQgPSB0LnJlbmRlclRvLCB0aGlzLmJyb3dzZXJQcm9wcyB8fCAoImZ1bmN0aW9uIiA9PT0gdHlwZW9mIHQucmVxdWVzdEZ1bGxzY3JlZW4gPyB0aGlzLmJyb3dzZXJQcm9wcyA9IHsKICAgICAgICAgICAgICBmdWxsc2NyZWVuQ2hhbmdlOiAiZnVsbHNjcmVlbmNoYW5nZSIsCiAgICAgICAgICAgICAgcmVxdWVzdEZ1bGxzY3JlZW46ICJyZXF1ZXN0RnVsbHNjcmVlbiIsCiAgICAgICAgICAgICAgZXhpdEZ1bGxzY3JlZW46ICJleGl0RnVsbHNjcmVlbiIKICAgICAgICAgICAgfSA6IHQubW96UmVxdWVzdEZ1bGxTY3JlZW4gPyB0aGlzLmJyb3dzZXJQcm9wcyA9IHsKICAgICAgICAgICAgICBmdWxsc2NyZWVuQ2hhbmdlOiAibW96ZnVsbHNjcmVlbmNoYW5nZSIsCiAgICAgICAgICAgICAgcmVxdWVzdEZ1bGxzY3JlZW46ICJtb3pSZXF1ZXN0RnVsbFNjcmVlbiIsCiAgICAgICAgICAgICAgZXhpdEZ1bGxzY3JlZW46ICJtb3pDYW5jZWxGdWxsU2NyZWVuIgogICAgICAgICAgICB9IDogdC53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbiA/IHRoaXMuYnJvd3NlclByb3BzID0gewogICAgICAgICAgICAgIGZ1bGxzY3JlZW5DaGFuZ2U6ICJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwKICAgICAgICAgICAgICByZXF1ZXN0RnVsbHNjcmVlbjogIndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuIiwKICAgICAgICAgICAgICBleGl0RnVsbHNjcmVlbjogIndlYmtpdEV4aXRGdWxsc2NyZWVuIgogICAgICAgICAgICB9IDogdC5tc1JlcXVlc3RGdWxsc2NyZWVuICYmICh0aGlzLmJyb3dzZXJQcm9wcyA9IHsKICAgICAgICAgICAgICBmdWxsc2NyZWVuQ2hhbmdlOiAiTVNGdWxsc2NyZWVuQ2hhbmdlIiwKICAgICAgICAgICAgICByZXF1ZXN0RnVsbHNjcmVlbjogIm1zUmVxdWVzdEZ1bGxzY3JlZW4iLAogICAgICAgICAgICAgIGV4aXRGdWxsc2NyZWVuOiAibXNFeGl0RnVsbHNjcmVlbiIKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQsIGUgPSB0Lm9wdGlvbnMuY2hhcnQ7CiAgICAgICAgICAgIHRoaXMuaXNPcGVuICYmIHRoaXMuYnJvd3NlclByb3BzICYmIHQuY29udGFpbmVyLm93bmVyRG9jdW1lbnQgaW5zdGFuY2VvZiBEb2N1bWVudCAmJiB0LmNvbnRhaW5lci5vd25lckRvY3VtZW50W3RoaXMuYnJvd3NlclByb3BzLmV4aXRGdWxsc2NyZWVuXSgpLCB0aGlzLnVuYmluZEZ1bGxzY3JlZW5FdmVudCAmJiAodGhpcy51bmJpbmRGdWxsc2NyZWVuRXZlbnQgPSB0aGlzLnVuYmluZEZ1bGxzY3JlZW5FdmVudCgpKSwgdC5zZXRTaXplKHRoaXMub3JpZ1dpZHRoLCB0aGlzLm9yaWdIZWlnaHQsICExKSwgdGhpcy5vcmlnSGVpZ2h0ID0gdGhpcy5vcmlnV2lkdGggPSB2b2lkIDAsIGUud2lkdGggPSB0aGlzLm9yaWdXaWR0aE9wdGlvbiwgZS5oZWlnaHQgPSB0aGlzLm9yaWdIZWlnaHRPcHRpb24sIHRoaXMub3JpZ0hlaWdodE9wdGlvbiA9IHRoaXMub3JpZ1dpZHRoT3B0aW9uID0gdm9pZCAwLCB0aGlzLmlzT3BlbiA9ICExLCB0aGlzLnNldEJ1dHRvblRleHQoKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9wZW4gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdC5jaGFydCwgaSA9IGUub3B0aW9ucy5jaGFydDsKICAgICAgICAgICAgaWYgKGkgJiYgKHQub3JpZ1dpZHRoT3B0aW9uID0gaS53aWR0aCwgdC5vcmlnSGVpZ2h0T3B0aW9uID0gaS5oZWlnaHQpLCB0Lm9yaWdXaWR0aCA9IGUuY2hhcnRXaWR0aCwgdC5vcmlnSGVpZ2h0ID0gZS5jaGFydEhlaWdodCwgdC5icm93c2VyUHJvcHMpIHsKICAgICAgICAgICAgICB2YXIgbiA9IG8oZS5jb250YWluZXIub3duZXJEb2N1bWVudCwgdC5icm93c2VyUHJvcHMuZnVsbHNjcmVlbkNoYW5nZSwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdC5pc09wZW4gPyAodC5pc09wZW4gPSAhMSwgdC5jbG9zZSgpKSA6IChlLnNldFNpemUobnVsbCwgbnVsbCwgITEpLCB0LmlzT3BlbiA9ICEwLCB0LnNldEJ1dHRvblRleHQoKSk7CiAgICAgICAgICAgICAgfSkpLCByID0gbyhlLCAiZGVzdHJveSIsIG4pOwogICAgICAgICAgICAgIHQudW5iaW5kRnVsbHNjcmVlbkV2ZW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBuKCksIHIoKTsKICAgICAgICAgICAgICB9LCAoaSA9IGUucmVuZGVyVG9bdC5icm93c2VyUHJvcHMucmVxdWVzdEZ1bGxzY3JlZW5dKCkpICYmIGlbImNhdGNoIl0oKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgYWxlcnQoIkZ1bGwgc2NyZWVuIGlzIG5vdCBzdXBwb3J0ZWQgaW5zaWRlIGEgZnJhbWUuIik7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRCdXR0b25UZXh0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5jaGFydCwgZSA9IHQuZXhwb3J0RGl2RWxlbWVudHMsIG4gPSB0Lm9wdGlvbnMuZXhwb3J0aW5nLCBvID0gbiAmJiBuLmJ1dHRvbnMgJiYgbi5idXR0b25zLmNvbnRleHRCdXR0b24ubWVudUl0ZW1zOwogICAgICAgICAgICB0ID0gdC5vcHRpb25zLmxhbmcsIG4gJiYgbi5tZW51SXRlbURlZmluaXRpb25zICYmIHQgJiYgdC5leGl0RnVsbHNjcmVlbiAmJiB0LnZpZXdGdWxsc2NyZWVuICYmIG8gJiYgZSAmJiAoZSA9IGVbby5pbmRleE9mKCJ2aWV3RnVsbHNjcmVlbiIpXSkgJiYgaS5zZXRFbGVtZW50SFRNTChlLCB0aGlzLmlzT3BlbiA/IHQuZXhpdEZ1bGxzY3JlZW4gOiBuLm1lbnVJdGVtRGVmaW5pdGlvbnMudmlld0Z1bGxzY3JlZW4udGV4dCB8fCB0LnZpZXdGdWxsc2NyZWVuKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnRvZ2dsZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmlzT3BlbiA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpOwogICAgICAgICAgfSwgdDsKICAgICAgICB9KCksIGUuRnVsbHNjcmVlbiA9IG4sIG8odCwgImJlZm9yZVJlbmRlciIsIChmdW5jdGlvbigpIHsKICAgICAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IG5ldyBlLkZ1bGxzY3JlZW4odGhpcyk7CiAgICAgICAgfSkpLCBlLkZ1bGxzY3JlZW47CiAgICAgIH0pKSwgZSh0LCAiQ29yZS9DaGFydC9DaGFydE5hdmlnYXRpb25Db21wb3NpdGlvbi5qcyIsIFtdLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHQ7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHQuY29tcG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQubmF2aWdhdGlvbiB8fCAodC5uYXZpZ2F0aW9uID0gbmV3IGUodCkpLCB0OwogICAgICAgICAgfTsKICAgICAgICAgIHZhciBlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHQodCkgewogICAgICAgICAgICAgIHRoaXMudXBkYXRlcyA9IFtdLCB0aGlzLmNoYXJ0ID0gdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLmFkZFVwZGF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0aGlzLmNoYXJ0Lm5hdmlnYXRpb24udXBkYXRlcy5wdXNoKHQpOwogICAgICAgICAgICB9LCB0LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzOwogICAgICAgICAgICAgIHRoaXMudXBkYXRlcy5mb3JFYWNoKChmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgICBuLmNhbGwoaS5jaGFydCwgdCwgZSk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9LCB0OwogICAgICAgICAgfSgpOwogICAgICAgICAgdC5BZGRpdGlvbnMgPSBlOwogICAgICAgIH0odCB8fCAodCA9IHt9KSksIHQ7CiAgICAgIH0pKSwgZSh0LCAiRXh0ZW5zaW9ucy9FeHBvcnRpbmcvRXhwb3J0aW5nRGVmYXVsdHMuanMiLCBbdFsiQ29yZS9HbG9iYWxzLmpzIl1dLCAoZnVuY3Rpb24odCkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICBleHBvcnRpbmc6IHsKICAgICAgICAgICAgdHlwZTogImltYWdlL3BuZyIsCiAgICAgICAgICAgIHVybDogImh0dHBzOi8vZXhwb3J0LmhpZ2hjaGFydHMuY29tLyIsCiAgICAgICAgICAgIHByaW50TWF4V2lkdGg6IDc4MCwKICAgICAgICAgICAgc2NhbGU6IDIsCiAgICAgICAgICAgIGJ1dHRvbnM6IHsKICAgICAgICAgICAgICBjb250ZXh0QnV0dG9uOiB7CiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJoaWdoY2hhcnRzLWNvbnRleHRidXR0b24iLAogICAgICAgICAgICAgICAgbWVudUNsYXNzTmFtZTogImhpZ2hjaGFydHMtY29udGV4dG1lbnUiLAogICAgICAgICAgICAgICAgc3ltYm9sOiAibWVudSIsCiAgICAgICAgICAgICAgICB0aXRsZUtleTogImNvbnRleHRCdXR0b25UaXRsZSIsCiAgICAgICAgICAgICAgICBtZW51SXRlbXM6ICJ2aWV3RnVsbHNjcmVlbiBwcmludENoYXJ0IHNlcGFyYXRvciBkb3dubG9hZFBORyBkb3dubG9hZEpQRUcgZG93bmxvYWRQREYgZG93bmxvYWRTVkciLnNwbGl0KCIgIikKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG1lbnVJdGVtRGVmaW5pdGlvbnM6IHsKICAgICAgICAgICAgICB2aWV3RnVsbHNjcmVlbjogewogICAgICAgICAgICAgICAgdGV4dEtleTogInZpZXdGdWxsc2NyZWVuIiwgb25jbGljazogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgIHRoaXMuZnVsbHNjcmVlbi50b2dnbGUoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LCBwcmludENoYXJ0OiB7CiAgICAgICAgICAgICAgICB0ZXh0S2V5OiAicHJpbnRDaGFydCIsIG9uY2xpY2s6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICB0aGlzLnByaW50KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwgc2VwYXJhdG9yOiB7IHNlcGFyYXRvcjogITAgfSwgZG93bmxvYWRQTkc6IHsKICAgICAgICAgICAgICAgIHRleHRLZXk6ICJkb3dubG9hZFBORyIsIG9uY2xpY2s6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICB0aGlzLmV4cG9ydENoYXJ0KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwgZG93bmxvYWRKUEVHOiB7CiAgICAgICAgICAgICAgICB0ZXh0S2V5OiAiZG93bmxvYWRKUEVHIiwgb25jbGljazogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgIHRoaXMuZXhwb3J0Q2hhcnQoeyB0eXBlOiAiaW1hZ2UvanBlZyIgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwgZG93bmxvYWRQREY6IHsKICAgICAgICAgICAgICAgIHRleHRLZXk6ICJkb3dubG9hZFBERiIsIG9uY2xpY2s6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICB0aGlzLmV4cG9ydENoYXJ0KHsgdHlwZTogImFwcGxpY2F0aW9uL3BkZiIgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwgZG93bmxvYWRTVkc6IHsKICAgICAgICAgICAgICAgIHRleHRLZXk6ICJkb3dubG9hZFNWRyIsIG9uY2xpY2s6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICB0aGlzLmV4cG9ydENoYXJ0KHsgdHlwZTogImltYWdlL3N2Zyt4bWwiIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGxhbmc6IHsKICAgICAgICAgICAgdmlld0Z1bGxzY3JlZW46ICJWaWV3IGluIGZ1bGwgc2NyZWVuIiwKICAgICAgICAgICAgZXhpdEZ1bGxzY3JlZW46ICJFeGl0IGZyb20gZnVsbCBzY3JlZW4iLAogICAgICAgICAgICBwcmludENoYXJ0OiAiUHJpbnQgY2hhcnQiLAogICAgICAgICAgICBkb3dubG9hZFBORzogIkRvd25sb2FkIFBORyBpbWFnZSIsCiAgICAgICAgICAgIGRvd25sb2FkSlBFRzogIkRvd25sb2FkIEpQRUcgaW1hZ2UiLAogICAgICAgICAgICBkb3dubG9hZFBERjogIkRvd25sb2FkIFBERiBkb2N1bWVudCIsCiAgICAgICAgICAgIGRvd25sb2FkU1ZHOiAiRG93bmxvYWQgU1ZHIHZlY3RvciBpbWFnZSIsCiAgICAgICAgICAgIGNvbnRleHRCdXR0b25UaXRsZTogIkNoYXJ0IGNvbnRleHQgbWVudSIKICAgICAgICAgIH0sCiAgICAgICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgICAgIGJ1dHRvbk9wdGlvbnM6IHsKICAgICAgICAgICAgICBzeW1ib2xTaXplOiAxNCwKICAgICAgICAgICAgICBzeW1ib2xYOiAxMi41LAogICAgICAgICAgICAgIHN5bWJvbFk6IDEwLjUsCiAgICAgICAgICAgICAgYWxpZ246ICJyaWdodCIsCiAgICAgICAgICAgICAgYnV0dG9uU3BhY2luZzogMywKICAgICAgICAgICAgICBoZWlnaHQ6IDIyLAogICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICJ0b3AiLAogICAgICAgICAgICAgIHdpZHRoOiAyNCwKICAgICAgICAgICAgICBzeW1ib2xGaWxsOiAiIzY2NjY2NiIsCiAgICAgICAgICAgICAgc3ltYm9sU3Ryb2tlOiAiIzY2NjY2NiIsCiAgICAgICAgICAgICAgc3ltYm9sU3Ryb2tlV2lkdGg6IDMsCiAgICAgICAgICAgICAgdGhlbWU6IHsgcGFkZGluZzogNSB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG1lbnVTdHlsZTogeyBib3JkZXI6ICIxcHggc29saWQgIzk5OTk5OSIsIGJhY2tncm91bmQ6ICIjZmZmZmZmIiwgcGFkZGluZzogIjVweCAwIiB9LAogICAgICAgICAgICBtZW51SXRlbVN0eWxlOiB7CiAgICAgICAgICAgICAgcGFkZGluZzogIjAuNWVtIDFlbSIsCiAgICAgICAgICAgICAgY29sb3I6ICIjMzMzMzMzIiwKICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAibm9uZSIsCiAgICAgICAgICAgICAgZm9udFNpemU6IHQuaXNUb3VjaERldmljZSA/ICIxNHB4IiA6ICIxMXB4IiwKICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAiYmFja2dyb3VuZCAyNTBtcywgY29sb3IgMjUwbXMiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG1lbnVJdGVtSG92ZXJTdHlsZTogeyBiYWNrZ3JvdW5kOiAiIzMzNWNhZCIsIGNvbG9yOiAiI2ZmZmZmZiIgfQogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH0pKSwgZSh0LCAiRXh0ZW5zaW9ucy9FeHBvcnRpbmcvRXhwb3J0aW5nU3ltYm9scy5qcyIsIFtdLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHQ7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUodCwgZSwgaSwgbikgewogICAgICAgICAgICByZXR1cm4gW1siTSIsIHQsIGUgKyAyLjVdLCBbIkwiLCB0ICsgaSwgZSArIDIuNV0sIFsiTSIsIHQsIGUgKyBuIC8gMiArIC41XSwgWyJMIiwgdCArIGksIGUgKyBuIC8gMiArIC41XSwgWyJNIiwgdCwgZSArIG4gLSAxLjVdLCBbIkwiLCB0ICsgaSwgZSArIG4gLSAxLjVdXTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBpKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBuIC8gMyAtIDIsIG4gPSBbXSwgbi5jb25jYXQodGhpcy5jaXJjbGUoaSAtIHQsIGUsIHQsIHQpLCB0aGlzLmNpcmNsZShpIC0gdCwgZSArIHQgKyA0LCB0LCB0KSwgdGhpcy5jaXJjbGUoaSAtIHQsIGUgKyAyICogKHQgKyA0KSwgdCwgdCkpOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBuID0gW107CiAgICAgICAgICB0LmNvbXBvc2UgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIC0xID09PSBuLmluZGV4T2YodCkgJiYgKG4ucHVzaCh0KSwgdCA9IHQucHJvdG90eXBlLnN5bWJvbHMsIHQubWVudSA9IGUsIHQubWVudWJhbGwgPSBpLmJpbmQodCkpOwogICAgICAgICAgfTsKICAgICAgICB9KHQgfHwgKHQgPSB7fSkpLCB0OwogICAgICB9KSksIGUodCwgIkNvcmUvSHR0cFV0aWxpdGllcy5qcyIsIFt0WyJDb3JlL0dsb2JhbHMuanMiXSwgdFsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSB0LmRvYywgbiA9IGUuY3JlYXRlRWxlbWVudCwgbyA9IGUuZGlzY2FyZEVsZW1lbnQsIHIgPSBlLm1lcmdlLCBzID0gZS5vYmplY3RFYWNoLCBhID0gewogICAgICAgICAgYWpheDogZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHIoITAsIHsgdXJsOiAhMSwgdHlwZTogImdldCIsIGRhdGFUeXBlOiAianNvbiIsIHN1Y2Nlc3M6ICExLCBlcnJvcjogITEsIGRhdGE6ICExLCBoZWFkZXJzOiB7fSB9LCB0KTsKICAgICAgICAgICAgdCA9IHsganNvbjogImFwcGxpY2F0aW9uL2pzb24iLCB4bWw6ICJhcHBsaWNhdGlvbi94bWwiLCB0ZXh0OiAidGV4dC9wbGFpbiIsIG9jdGV0OiAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiB9OwogICAgICAgICAgICB2YXIgaSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKICAgICAgICAgICAgaWYgKCFlLnVybCkgcmV0dXJuICExOwogICAgICAgICAgICBpLm9wZW4oZS50eXBlLnRvVXBwZXJDYXNlKCksIGUudXJsLCAhMCksIGUuaGVhZGVyc1siQ29udGVudC1UeXBlIl0gfHwgaS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCB0W2UuZGF0YVR5cGVdIHx8IHQudGV4dCksIHMoZS5oZWFkZXJzLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGkuc2V0UmVxdWVzdEhlYWRlcihlLCB0KTsKICAgICAgICAgICAgfSkpLCBpLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGlmICg0ID09PSBpLnJlYWR5U3RhdGUpIHsKICAgICAgICAgICAgICAgIGlmICgyMDAgPT09IGkuc3RhdHVzKSB7CiAgICAgICAgICAgICAgICAgIHZhciB0ID0gaS5yZXNwb25zZVRleHQ7CiAgICAgICAgICAgICAgICAgIGlmICgianNvbiIgPT09IGUuZGF0YVR5cGUpIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgdCA9IEpTT04ucGFyc2UodCk7CiAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKG4pIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAoZS5lcnJvciAmJiBlLmVycm9yKGksIG4pKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICByZXR1cm4gZS5zdWNjZXNzICYmIGUuc3VjY2Vzcyh0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGUuZXJyb3IgJiYgZS5lcnJvcihpLCBpLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgIGUuZGF0YSA9IEpTT04uc3RyaW5naWZ5KGUuZGF0YSk7CiAgICAgICAgICAgIH0gY2F0Y2ggKG4pIHsKICAgICAgICAgICAgfQogICAgICAgICAgICBpLnNlbmQoZS5kYXRhIHx8ICEwKTsKICAgICAgICAgIH0sIGdldEpTT046IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgYS5hamF4KHsgdXJsOiB0LCBzdWNjZXNzOiBlLCBkYXRhVHlwZTogImpzb24iLCBoZWFkZXJzOiB7ICJDb250ZW50LVR5cGUiOiAidGV4dC9wbGFpbiIgfSB9KTsKICAgICAgICAgIH0sIHBvc3Q6IGZ1bmN0aW9uKHQsIGUsIGEpIHsKICAgICAgICAgICAgdmFyIGggPSBuKCJmb3JtIiwgcih7IG1ldGhvZDogInBvc3QiLCBhY3Rpb246IHQsIGVuY3R5cGU6ICJtdWx0aXBhcnQvZm9ybS1kYXRhIiB9LCBhKSwgeyBkaXNwbGF5OiAibm9uZSIgfSwgaS5ib2R5KTsKICAgICAgICAgICAgcyhlLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIG4oImlucHV0IiwgeyB0eXBlOiAiaGlkZGVuIiwgbmFtZTogZSwgdmFsdWU6IHQgfSwgbnVsbCwgaCk7CiAgICAgICAgICAgIH0pKSwgaC5zdWJtaXQoKSwgbyhoKTsKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIHJldHVybiBhOwogICAgICB9KSksIGUodCwgIkV4dGVuc2lvbnMvRXhwb3J0aW5nL0V4cG9ydGluZy5qcyIsIFt0WyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0sIHRbIkNvcmUvQ2hhcnQvQ2hhcnQuanMiXSwgdFsiQ29yZS9DaGFydC9DaGFydE5hdmlnYXRpb25Db21wb3NpdGlvbi5qcyJdLCB0WyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0sIHRbIkV4dGVuc2lvbnMvRXhwb3J0aW5nL0V4cG9ydGluZ0RlZmF1bHRzLmpzIl0sIHRbIkV4dGVuc2lvbnMvRXhwb3J0aW5nL0V4cG9ydGluZ1N5bWJvbHMuanMiXSwgdFsiQ29yZS9HbG9iYWxzLmpzIl0sIHRbIkNvcmUvSHR0cFV0aWxpdGllcy5qcyJdLCB0WyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIsIHMsIGEsIGgpIHsKICAgICAgICBlID0gbi5kZWZhdWx0T3B0aW9uczsKICAgICAgICB2YXIgbCwgYyA9IHMuZG9jLCBwID0gcy53aW4sIGQgPSBoLmFkZEV2ZW50LCB1ID0gaC5jc3MsIGYgPSBoLmNyZWF0ZUVsZW1lbnQsIGcgPSBoLmRpc2NhcmRFbGVtZW50LCBtID0gaC5leHRlbmQsIHkgPSBoLmZpbmQsIHYgPSBoLmZpcmVFdmVudCwKICAgICAgICAgIHggPSBoLmlzT2JqZWN0LCBiID0gaC5tZXJnZSwgXyA9IGgub2JqZWN0RWFjaCwgdyA9IGgucGljaywgayA9IGgucmVtb3ZlRXZlbnQsIFMgPSBoLnVuaXF1ZUtleTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgewogICAgICAgICAgZnVuY3Rpb24gbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IGUucmVuZGVyZXIsIG4gPSBiKGUub3B0aW9ucy5uYXZpZ2F0aW9uLmJ1dHRvbk9wdGlvbnMsIHQpLCBvID0gbi5vbmNsaWNrLCByID0gbi5tZW51SXRlbXMsIHMgPSBuLnN5bWJvbFNpemUgfHwgMTI7CiAgICAgICAgICAgIGlmIChlLmJ0bkNvdW50IHx8IChlLmJ0bkNvdW50ID0gMCksIGUuZXhwb3J0RGl2RWxlbWVudHMgfHwgKGUuZXhwb3J0RGl2RWxlbWVudHMgPSBbXSwgZS5leHBvcnRTVkdFbGVtZW50cyA9IFtdKSwgITEgIT09IG4uZW5hYmxlZCAmJiBuLnRoZW1lKSB7CiAgICAgICAgICAgICAgdmFyIGEsIGggPSBuLnRoZW1lLCBsID0gaC5zdGF0ZXMsIGMgPSBsICYmIGwuaG92ZXI7CiAgICAgICAgICAgICAgbCA9IGwgJiYgbC5zZWxlY3QsIGUuc3R5bGVkTW9kZSB8fCAoaC5maWxsID0gdyhoLmZpbGwsICIjZmZmZmZmIiksIGguc3Ryb2tlID0gdyhoLnN0cm9rZSwgIm5vbmUiKSksIGRlbGV0ZSBoLnN0YXRlcywgbyA/IGEgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0ICYmIHQuc3RvcFByb3BhZ2F0aW9uKCksIG8uY2FsbChlLCB0KTsKICAgICAgICAgICAgICB9IDogciAmJiAoYSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQgJiYgdC5zdG9wUHJvcGFnYXRpb24oKSwgZS5jb250ZXh0TWVudShwLm1lbnVDbGFzc05hbWUsIHIsIHAudHJhbnNsYXRlWCwgcC50cmFuc2xhdGVZLCBwLndpZHRoLCBwLmhlaWdodCwgcCksIHAuc2V0U3RhdGUoMik7CiAgICAgICAgICAgICAgfSksIG4udGV4dCAmJiBuLnN5bWJvbCA/IGgucGFkZGluZ0xlZnQgPSB3KGgucGFkZGluZ0xlZnQsIDMwKSA6IG4udGV4dCB8fCBtKGgsIHsKICAgICAgICAgICAgICAgIHdpZHRoOiBuLndpZHRoLAogICAgICAgICAgICAgICAgaGVpZ2h0OiBuLmhlaWdodCwKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAKICAgICAgICAgICAgICB9KSwgZS5zdHlsZWRNb2RlIHx8IChoWyJzdHJva2UtbGluZWNhcCJdID0gInJvdW5kIiwgaC5maWxsID0gdyhoLmZpbGwsICIjZmZmZmZmIiksIGguc3Ryb2tlID0gdyhoLnN0cm9rZSwgIm5vbmUiKSk7CiAgICAgICAgICAgICAgdmFyIHAgPSBpLmJ1dHRvbihuLnRleHQsIDAsIDAsIGEsIGgsIGMsIGwpLmFkZENsYXNzKHQuY2xhc3NOYW1lKS5hdHRyKHsgdGl0bGU6IHcoZS5vcHRpb25zLmxhbmdbbi5fdGl0bGVLZXkgfHwgbi50aXRsZUtleV0sICIiKSB9KTsKICAgICAgICAgICAgICBpZiAocC5tZW51Q2xhc3NOYW1lID0gdC5tZW51Q2xhc3NOYW1lIHx8ICJoaWdoY2hhcnRzLW1lbnUtIiArIGUuYnRuQ291bnQrKywgbi5zeW1ib2wpIHsKICAgICAgICAgICAgICAgIHZhciBkID0gaS5zeW1ib2wobi5zeW1ib2wsIG4uc3ltYm9sWCAtIHMgLyAyLCBuLnN5bWJvbFkgLSBzIC8gMiwgcywgcywgewogICAgICAgICAgICAgICAgICB3aWR0aDogcywKICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzCiAgICAgICAgICAgICAgICB9KS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1idXR0b24tc3ltYm9sIikuYXR0cih7IHpJbmRleDogMSB9KS5hZGQocCk7CiAgICAgICAgICAgICAgICBlLnN0eWxlZE1vZGUgfHwgZC5hdHRyKHsgc3Ryb2tlOiBuLnN5bWJvbFN0cm9rZSwgZmlsbDogbi5zeW1ib2xGaWxsLCAic3Ryb2tlLXdpZHRoIjogbi5zeW1ib2xTdHJva2VXaWR0aCB8fCAxIH0pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBwLmFkZChlLmV4cG9ydGluZ0dyb3VwKS5hbGlnbihtKG4sIHsKICAgICAgICAgICAgICAgIHdpZHRoOiBwLndpZHRoLAogICAgICAgICAgICAgICAgeDogdyhuLngsIGUuYnV0dG9uT2Zmc2V0KQogICAgICAgICAgICAgIH0pLCAhMCwgInNwYWNpbmdCb3giKSwgZS5idXR0b25PZmZzZXQgKz0gKHAud2lkdGggKyBuLmJ1dHRvblNwYWNpbmcpICogKCJyaWdodCIgPT09IG4uYWxpZ24gPyAtMSA6IDEpLCBlLmV4cG9ydFNWR0VsZW1lbnRzLnB1c2gocCwgZCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBvKCkgewogICAgICAgICAgICBpZiAodGhpcy5wcmludFJldmVyc2VJbmZvKSB7CiAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnByaW50UmV2ZXJzZUluZm8sIGUgPSB0LmNoaWxkTm9kZXMsIGkgPSB0Lm9yaWdEaXNwbGF5OwogICAgICAgICAgICAgIHQgPSB0LnJlc2V0UGFyYW1zLCB0aGlzLm1vdmVDb250YWluZXJzKHRoaXMucmVuZGVyVG8pLCBbXS5mb3JFYWNoLmNhbGwoZSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIDEgPT09IHQubm9kZVR5cGUgJiYgKHQuc3R5bGUuZGlzcGxheSA9IGlbZV0gfHwgIiIpOwogICAgICAgICAgICAgIH0pKSwgdGhpcy5pc1ByaW50aW5nID0gITEsIHQgJiYgdGhpcy5zZXRTaXplLmFwcGx5KHRoaXMsIHQpLCBkZWxldGUgdGhpcy5wcmludFJldmVyc2VJbmZvLCBGID0gdm9pZCAwLCB2KHRoaXMsICJhZnRlclByaW50Iik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBsKCkgewogICAgICAgICAgICB2YXIgdCA9IGMuYm9keSwgZSA9IHRoaXMub3B0aW9ucy5leHBvcnRpbmcucHJpbnRNYXhXaWR0aCwgaSA9IHsgY2hpbGROb2RlczogdC5jaGlsZE5vZGVzLCBvcmlnRGlzcGxheTogW10sIHJlc2V0UGFyYW1zOiB2b2lkIDAgfTsKICAgICAgICAgICAgdGhpcy5pc1ByaW50aW5nID0gITAsIHRoaXMucG9pbnRlci5yZXNldChudWxsLCAwKSwgdih0aGlzLCAiYmVmb3JlUHJpbnQiKSwgZSAmJiB0aGlzLmNoYXJ0V2lkdGggPiBlICYmIChpLnJlc2V0UGFyYW1zID0gW3RoaXMub3B0aW9ucy5jaGFydC53aWR0aCwgdm9pZCAwLCAhMV0sIHRoaXMuc2V0U2l6ZShlLCB2b2lkIDAsICExKSksIFtdLmZvckVhY2guY2FsbChpLmNoaWxkTm9kZXMsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgMSA9PT0gdC5ub2RlVHlwZSAmJiAoaS5vcmlnRGlzcGxheVtlXSA9IHQuc3R5bGUuZGlzcGxheSwgdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKTsKICAgICAgICAgICAgfSkpLCB0aGlzLm1vdmVDb250YWluZXJzKHQpLCB0aGlzLnByaW50UmV2ZXJzZUluZm8gPSBpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIEModCkgewogICAgICAgICAgICB0LnJlbmRlckV4cG9ydGluZygpLCBkKHQsICJyZWRyYXciLCB0LnJlbmRlckV4cG9ydGluZyksIGQodCwgImRlc3Ryb3kiLCB0LmRlc3Ryb3lFeHBvcnQpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIE0oZSwgaSwgbiwgbywgciwgcywgYSkgewogICAgICAgICAgICB2YXIgbCA9IHRoaXMsIGcgPSBsLm9wdGlvbnMubmF2aWdhdGlvbiwgeSA9IGwuY2hhcnRXaWR0aCwgYiA9IGwuY2hhcnRIZWlnaHQsIF8gPSAiY2FjaGUtIiArIGUsIHcgPSBNYXRoLm1heChyLCBzKSwgayA9IGxbX107CiAgICAgICAgICAgIGlmICghaykgewogICAgICAgICAgICAgIGwuZXhwb3J0Q29udGV4dE1lbnUgPSBsW19dID0gayA9IGYoImRpdiIsIHsgY2xhc3NOYW1lOiBlIH0sIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICAgICAgekluZGV4OiAxZTMsCiAgICAgICAgICAgICAgICBwYWRkaW5nOiB3ICsgInB4IiwKICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICJhdXRvIgogICAgICAgICAgICAgIH0sIGwuZml4ZWREaXYgfHwgbC5jb250YWluZXIpOwogICAgICAgICAgICAgIHZhciBTID0gZigidWwiLCB7IGNsYXNzTmFtZTogImhpZ2hjaGFydHMtbWVudSIgfSwgeyBsaXN0U3R5bGU6ICJub25lIiwgbWFyZ2luOiAwLCBwYWRkaW5nOiAwIH0sIGspOwogICAgICAgICAgICAgIGwuc3R5bGVkTW9kZSB8fCB1KFMsIG0oewogICAgICAgICAgICAgICAgTW96Qm94U2hhZG93OiAiM3B4IDNweCAxMHB4ICM4ODgiLAogICAgICAgICAgICAgICAgV2Via2l0Qm94U2hhZG93OiAiM3B4IDNweCAxMHB4ICM4ODgiLAogICAgICAgICAgICAgICAgYm94U2hhZG93OiAiM3B4IDNweCAxMHB4ICM4ODgiCiAgICAgICAgICAgICAgfSwgZy5tZW51U3R5bGUpKSwgay5oaWRlTWVudSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdShrLCB7IGRpc3BsYXk6ICJub25lIiB9KSwgYSAmJiBhLnNldFN0YXRlKDApLCBsLm9wZW5NZW51ID0gITEsIHUobC5yZW5kZXJUbywgeyBvdmVyZmxvdzogImhpZGRlbiIgfSksIHUobC5jb250YWluZXIsIHsgb3ZlcmZsb3c6ICJoaWRkZW4iIH0pLCBoLmNsZWFyVGltZW91dChrLmhpZGVUaW1lciksIHYobCwgImV4cG9ydE1lbnVIaWRkZW4iKTsKICAgICAgICAgICAgICB9LCBsLmV4cG9ydEV2ZW50cy5wdXNoKGQoaywgIm1vdXNlbGVhdmUiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBrLmhpZGVUaW1lciA9IHAuc2V0VGltZW91dChrLmhpZGVNZW51LCA1MDApOwogICAgICAgICAgICAgIH0pKSwgZChrLCAibW91c2VlbnRlciIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGguY2xlYXJUaW1lb3V0KGsuaGlkZVRpbWVyKTsKICAgICAgICAgICAgICB9KSksIGQoYywgIm1vdXNldXAiLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgbC5wb2ludGVyLmluQ2xhc3ModC50YXJnZXQsIGUpIHx8IGsuaGlkZU1lbnUoKTsKICAgICAgICAgICAgICB9KSksIGQoaywgImNsaWNrIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbC5vcGVuTWVudSAmJiBrLmhpZGVNZW51KCk7CiAgICAgICAgICAgICAgfSkpKSwgaS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBpZiAoInN0cmluZyIgPT09IHR5cGVvZiBlICYmIChlID0gbC5vcHRpb25zLmV4cG9ydGluZy5tZW51SXRlbURlZmluaXRpb25zW2VdKSwgeChlLCAhMCkpIHsKICAgICAgICAgICAgICAgICAgdmFyIGkgPSB2b2lkIDA7CiAgICAgICAgICAgICAgICAgIGUuc2VwYXJhdG9yID8gaSA9IGYoImhyIiwgdm9pZCAwLCB2b2lkIDAsIFMpIDogKCJ2aWV3RGF0YSIgPT09IGUudGV4dEtleSAmJiBsLmlzRGF0YVRhYmxlVmlzaWJsZSAmJiAoZS50ZXh0S2V5ID0gImhpZGVEYXRhIiksIGkgPSBmKCJsaSIsIHsKICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJoaWdoY2hhcnRzLW1lbnUtaXRlbSIsCiAgICAgICAgICAgICAgICAgICAgb25jbGljazogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgdCAmJiB0LnN0b3BQcm9wYWdhdGlvbigpLCBrLmhpZGVNZW51KCksIGUub25jbGljayAmJiBlLm9uY2xpY2suYXBwbHkobCwgYXJndW1lbnRzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHZvaWQgMCwgUyksIHQuc2V0RWxlbWVudEhUTUwoaSwgZS50ZXh0IHx8IGwub3B0aW9ucy5sYW5nW2UudGV4dEtleV0pLCBsLnN0eWxlZE1vZGUgfHwgKGkub25tb3VzZW92ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB1KHRoaXMsIGcubWVudUl0ZW1Ib3ZlclN0eWxlKTsKICAgICAgICAgICAgICAgICAgfSwgaS5vbm1vdXNlb3V0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdSh0aGlzLCBnLm1lbnVJdGVtU3R5bGUpOwogICAgICAgICAgICAgICAgICB9LCB1KGksIG0oeyBjdXJzb3I6ICJwb2ludGVyIiB9LCBnLm1lbnVJdGVtU3R5bGUpKSkpLCBsLmV4cG9ydERpdkVsZW1lbnRzLnB1c2goaSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkpLCBsLmV4cG9ydERpdkVsZW1lbnRzLnB1c2goUywgayksIGwuZXhwb3J0TWVudVdpZHRoID0gay5vZmZzZXRXaWR0aCwgbC5leHBvcnRNZW51SGVpZ2h0ID0gay5vZmZzZXRIZWlnaHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaSA9IHsgZGlzcGxheTogImJsb2NrIiB9LCBuICsgbC5leHBvcnRNZW51V2lkdGggPiB5ID8gaS5yaWdodCA9IHkgLSBuIC0gciAtIHcgKyAicHgiIDogaS5sZWZ0ID0gbiAtIHcgKyAicHgiLCBvICsgcyArIGwuZXhwb3J0TWVudUhlaWdodCA+IGIgJiYgInRvcCIgIT09IGEuYWxpZ25PcHRpb25zLnZlcnRpY2FsQWxpZ24gPyBpLmJvdHRvbSA9IGIgLSBvIC0gdyArICJweCIgOiBpLnRvcCA9IG8gKyBzIC0gdyArICJweCIsIHUoaywgaSksIHUobC5yZW5kZXJUbywgeyBvdmVyZmxvdzogIiIgfSksIHUobC5jb250YWluZXIsIHsgb3ZlcmZsb3c6ICIiIH0pLCBsLm9wZW5NZW51ID0gITAsIHYobCwgImV4cG9ydE1lbnVTaG93biIpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIEEodCkgewogICAgICAgICAgICB2YXIgZSwgaSA9IHQgPyB0LnRhcmdldCA6IHRoaXMsIG4gPSBpLmV4cG9ydFNWR0VsZW1lbnRzLCBvID0gaS5leHBvcnREaXZFbGVtZW50czsKICAgICAgICAgICAgdCA9IGkuZXhwb3J0RXZlbnRzLCBuICYmIChuLmZvckVhY2goKGZ1bmN0aW9uKHQsIG8pIHsKICAgICAgICAgICAgICB0ICYmICh0Lm9uY2xpY2sgPSB0Lm9udG91Y2hzdGFydCA9IG51bGwsIGUgPSAiY2FjaGUtIiArIHQubWVudUNsYXNzTmFtZSwgaVtlXSAmJiBkZWxldGUgaVtlXSwgbltvXSA9IHQuZGVzdHJveSgpKTsKICAgICAgICAgICAgfSkpLCBuLmxlbmd0aCA9IDApLCBpLmV4cG9ydGluZ0dyb3VwICYmIChpLmV4cG9ydGluZ0dyb3VwLmRlc3Ryb3koKSwgZGVsZXRlIGkuZXhwb3J0aW5nR3JvdXApLCBvICYmIChvLmZvckVhY2goKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0ICYmIChoLmNsZWFyVGltZW91dCh0LmhpZGVUaW1lciksIGsodCwgIm1vdXNlbGVhdmUiKSwgb1tlXSA9IHQub25tb3VzZW91dCA9IHQub25tb3VzZW92ZXIgPSB0Lm9udG91Y2hzdGFydCA9IHQub25jbGljayA9IG51bGwsIGcodCkpOwogICAgICAgICAgICB9KSksIG8ubGVuZ3RoID0gMCksIHQgJiYgKHQuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQoKTsKICAgICAgICAgICAgfSkpLCB0Lmxlbmd0aCA9IDApOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIFAodCwgZSkgewogICAgICAgICAgICBlID0gdGhpcy5nZXRTVkdGb3JFeHBvcnQodCwgZSksIHQgPSBiKHRoaXMub3B0aW9ucy5leHBvcnRpbmcsIHQpLCBhLnBvc3QodC51cmwsIHsKICAgICAgICAgICAgICBmaWxlbmFtZTogdC5maWxlbmFtZSA/IHQuZmlsZW5hbWUucmVwbGFjZSgvXC8vZywgIi0iKSA6IHRoaXMuZ2V0RmlsZW5hbWUoKSwKICAgICAgICAgICAgICB0eXBlOiB0LnR5cGUsCiAgICAgICAgICAgICAgd2lkdGg6IHQud2lkdGggfHwgMCwKICAgICAgICAgICAgICBzY2FsZTogdC5zY2FsZSwKICAgICAgICAgICAgICBzdmc6IGUKICAgICAgICAgICAgfSwgdC5mb3JtQXR0cmlidXRlcyk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gTygpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3R5bGVkTW9kZSAmJiB0aGlzLmlubGluZVN0eWxlcygpLCB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUw7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gVCgpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnVzZXJPcHRpb25zLnRpdGxlICYmIHRoaXMudXNlck9wdGlvbnMudGl0bGUudGV4dCwgZSA9IHRoaXMub3B0aW9ucy5leHBvcnRpbmcuZmlsZW5hbWU7CiAgICAgICAgICAgIHJldHVybiBlID8gZS5yZXBsYWNlKC9cLy9nLCAiLSIpIDogKCJzdHJpbmciID09PSB0eXBlb2YgdCAmJiAoZSA9IHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC88XC8/W14+XSsoPnwkKS9nLCAiIikucmVwbGFjZSgvW1xzX10rL2csICItIikucmVwbGFjZSgvW15hLXowLTlcLV0vZywgIiIpLnJlcGxhY2UoL15bXC1dKy9nLCAiIikucmVwbGFjZSgvW1wtXSsvZywgIi0iKS5zdWJzdHIoMCwgMjQpLnJlcGxhY2UoL1tcLV0rJC9nLCAiIikpLCAoIWUgfHwgNSA+IGUubGVuZ3RoKSAmJiAoZSA9ICJjaGFydCIpLCBlKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBFKHQpIHsKICAgICAgICAgICAgdmFyIGUsIGkgPSBiKHRoaXMub3B0aW9ucywgdCk7CiAgICAgICAgICAgIGkucGxvdE9wdGlvbnMgPSBiKHRoaXMudXNlck9wdGlvbnMucGxvdE9wdGlvbnMsIHQgJiYgdC5wbG90T3B0aW9ucyksIGkudGltZSA9IGIodGhpcy51c2VyT3B0aW9ucy50aW1lLCB0ICYmIHQudGltZSk7CiAgICAgICAgICAgIHZhciBuID0gZigiZGl2IiwgbnVsbCwgeyBwb3NpdGlvbjogImFic29sdXRlIiwgdG9wOiAiLTk5OTllbSIsIHdpZHRoOiB0aGlzLmNoYXJ0V2lkdGggKyAicHgiLCBoZWlnaHQ6IHRoaXMuY2hhcnRIZWlnaHQgKyAicHgiIH0sIGMuYm9keSksCiAgICAgICAgICAgICAgbyA9IHRoaXMucmVuZGVyVG8uc3R5bGUud2lkdGgsIHIgPSB0aGlzLnJlbmRlclRvLnN0eWxlLmhlaWdodDsKICAgICAgICAgICAgbyA9IGkuZXhwb3J0aW5nLnNvdXJjZVdpZHRoIHx8IGkuY2hhcnQud2lkdGggfHwgL3B4JC8udGVzdChvKSAmJiBwYXJzZUludChvLCAxMCkgfHwgKGkuaXNHYW50dCA/IDgwMCA6IDYwMCksIHIgPSBpLmV4cG9ydGluZy5zb3VyY2VIZWlnaHQgfHwgaS5jaGFydC5oZWlnaHQgfHwgL3B4JC8udGVzdChyKSAmJiBwYXJzZUludChyLCAxMCkgfHwgNDAwLCBtKGkuY2hhcnQsIHsKICAgICAgICAgICAgICBhbmltYXRpb246ICExLAogICAgICAgICAgICAgIHJlbmRlclRvOiBuLAogICAgICAgICAgICAgIGZvckV4cG9ydDogITAsCiAgICAgICAgICAgICAgcmVuZGVyZXI6ICJTVkdSZW5kZXJlciIsCiAgICAgICAgICAgICAgd2lkdGg6IG8sCiAgICAgICAgICAgICAgaGVpZ2h0OiByCiAgICAgICAgICAgIH0pLCBpLmV4cG9ydGluZy5lbmFibGVkID0gITEsIGRlbGV0ZSBpLmRhdGEsIGkuc2VyaWVzID0gW10sIHRoaXMuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBlID0gYih0LnVzZXJPcHRpb25zLCB7IGFuaW1hdGlvbjogITEsIGVuYWJsZU1vdXNlVHJhY2tpbmc6ICExLCBzaG93Q2hlY2tib3g6ICExLCB2aXNpYmxlOiB0LnZpc2libGUgfSksIGUuaXNJbnRlcm5hbCB8fCBpLnNlcmllcy5wdXNoKGUpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIHZhciBzID0ge307CiAgICAgICAgICAgIHRoaXMuYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC51c2VyT3B0aW9ucy5pbnRlcm5hbEtleSB8fCAodC51c2VyT3B0aW9ucy5pbnRlcm5hbEtleSA9IFMoKSksIHQub3B0aW9ucy5pc0ludGVybmFsIHx8IChzW3QuY29sbF0gfHwgKHNbdC5jb2xsXSA9ICEwLCBpW3QuY29sbF0gPSBbXSksIGlbdC5jb2xsXS5wdXNoKGIodC51c2VyT3B0aW9ucywgeyB2aXNpYmxlOiB0LnZpc2libGUgfSkpKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB2YXIgYSA9IG5ldyB0aGlzLmNvbnN0cnVjdG9yKGksIHRoaXMuY2FsbGJhY2spOwogICAgICAgICAgICByZXR1cm4gdCAmJiBbInhBeGlzIiwgInlBeGlzIiwgInNlcmllcyJdLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHt9OwogICAgICAgICAgICAgIHRbZV0gJiYgKGlbZV0gPSB0W2VdLCBhLnVwZGF0ZShpKSk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5heGVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHkoYS5heGVzLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGUub3B0aW9ucy5pbnRlcm5hbEtleSA9PT0gdC51c2VyT3B0aW9ucy5pbnRlcm5hbEtleTsKICAgICAgICAgICAgICB9KSksIGkgPSB0LmdldEV4dHJlbWVzKCksIG4gPSBpLnVzZXJNaW47CiAgICAgICAgICAgICAgaSA9IGkudXNlck1heCwgZSAmJiAoInVuZGVmaW5lZCIgIT09IHR5cGVvZiBuICYmIG4gIT09IGUubWluIHx8ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgaSAmJiBpICE9PSBlLm1heCkgJiYgZS5zZXRFeHRyZW1lcyhuLCBpLCAhMCwgITEpOwogICAgICAgICAgICB9KSksIHIgPSBhLmdldENoYXJ0SFRNTCgpLCB2KHRoaXMsICJnZXRTVkciLCB7IGNoYXJ0Q29weTogYSB9KSwgciA9IHRoaXMuc2FuaXRpemVTVkcociwgaSksIGkgPSBudWxsLCBhLmRlc3Ryb3koKSwgZyhuKSwgcjsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBMKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLm9wdGlvbnMuZXhwb3J0aW5nOwogICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTVkcoYih7IGNoYXJ0OiB7IGJvcmRlclJhZGl1czogMCB9IH0sIGkuY2hhcnRPcHRpb25zLCBlLCB7CiAgICAgICAgICAgICAgZXhwb3J0aW5nOiB7CiAgICAgICAgICAgICAgICBzb3VyY2VXaWR0aDogdCAmJiB0LnNvdXJjZVdpZHRoIHx8IGkuc291cmNlV2lkdGgsCiAgICAgICAgICAgICAgICBzb3VyY2VIZWlnaHQ6IHQgJiYgdC5zb3VyY2VIZWlnaHQgfHwgaS5zb3VyY2VIZWlnaHQKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBqKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQucmVwbGFjZSgvKFtBLVpdKS9nLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHJldHVybiAiLSIgKyBlLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBEKCkgewogICAgICAgICAgICBmdW5jdGlvbiB0KGUpIHsKICAgICAgICAgICAgICBmdW5jdGlvbiBhKHQsIGkpIHsKICAgICAgICAgICAgICAgIGlmIChsID0gYyA9ICExLCBvLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICBmb3IgKGQgPSBvLmxlbmd0aDsgZC0tICYmICFjOykgYyA9IG9bZF0udGVzdChpKTsKICAgICAgICAgICAgICAgICAgbCA9ICFjOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yICgidHJhbnNmb3JtIiA9PT0gaSAmJiAibm9uZSIgPT09IHQgJiYgKGwgPSAhMCksIGQgPSBuLmxlbmd0aDsgZC0tICYmICFsOykgbCA9IG5bZF0udGVzdChpKSB8fCAiZnVuY3Rpb24iID09PSB0eXBlb2YgdDsKICAgICAgICAgICAgICAgIGwgfHwgZ1tpXSA9PT0gdCAmJiAic3ZnIiAhPT0gZS5ub2RlTmFtZSB8fCByW2Uubm9kZU5hbWVdW2ldID09PSB0IHx8IChXICYmIC0xID09PSBXLmluZGV4T2YoaSkgPyB1ICs9IGooaSkgKyAiOiIgKyB0ICsgIjsiIDogdCAmJiBlLnNldEF0dHJpYnV0ZShqKGkpLCB0KSk7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgbCwgYywgZCwgdSA9ICIiOwogICAgICAgICAgICAgIGlmICgxID09PSBlLm5vZGVUeXBlICYmIC0xID09PSBYLmluZGV4T2YoZS5ub2RlTmFtZSkpIHsKICAgICAgICAgICAgICAgIHZhciBmID0gcC5nZXRDb21wdXRlZFN0eWxlKGUsIG51bGwpLCBnID0gInN2ZyIgPT09IGUubm9kZU5hbWUgPyB7fSA6IHAuZ2V0Q29tcHV0ZWRTdHlsZShlLnBhcmVudE5vZGUsIG51bGwpOwogICAgICAgICAgICAgICAgaWYgKCFyW2Uubm9kZU5hbWVdKSB7CiAgICAgICAgICAgICAgICAgIGkgPSBoLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzdmciKVswXTsKICAgICAgICAgICAgICAgICAgdmFyIG0gPSBoLmNyZWF0ZUVsZW1lbnROUyhlLm5hbWVzcGFjZVVSSSwgZS5ub2RlTmFtZSk7CiAgICAgICAgICAgICAgICAgIGkuYXBwZW5kQ2hpbGQobSksIHJbZS5ub2RlTmFtZV0gPSBiKHAuZ2V0Q29tcHV0ZWRTdHlsZShtLCBudWxsKSksICJ0ZXh0IiA9PT0gZS5ub2RlTmFtZSAmJiBkZWxldGUgci50ZXh0LmZpbGwsIGkucmVtb3ZlQ2hpbGQobSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAocy5pc0ZpcmVmb3ggfHwgcy5pc01TKSBmb3IgKHZhciB5IGluIGYpIGEoZlt5XSwgeSk7IGVsc2UgXyhmLCBhKTsKICAgICAgICAgICAgICAgIHUgJiYgKGYgPSBlLmdldEF0dHJpYnV0ZSgic3R5bGUiKSwgZS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgKGYgPyBmICsgIjsiIDogIiIpICsgdSkpLCAic3ZnIiA9PT0gZS5ub2RlTmFtZSAmJiBlLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIiwgIjFweCIpLCAidGV4dCIgIT09IGUubm9kZU5hbWUgJiYgW10uZm9yRWFjaC5jYWxsKGUuY2hpbGRyZW4gfHwgZS5jaGlsZE5vZGVzLCB0KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBpLCBuID0gSCwgbyA9IGUuaW5saW5lV2hpdGVsaXN0LCByID0ge30sIGEgPSBjLmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwogICAgICAgICAgICB1KGEsIHsgd2lkdGg6ICIxcHgiLCBoZWlnaHQ6ICIxcHgiLCB2aXNpYmlsaXR5OiAiaGlkZGVuIiB9KSwgYy5ib2R5LmFwcGVuZENoaWxkKGEpOwogICAgICAgICAgICB2YXIgaCA9IGEuY29udGVudFdpbmRvdy5kb2N1bWVudDsKICAgICAgICAgICAgaC5vcGVuKCksIGgud3JpdGUoIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjwvc3ZnPiIpLCBoLmNsb3NlKCksIHQodGhpcy5jb250YWluZXIucXVlcnlTZWxlY3Rvcigic3ZnIikpLCBpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksIGEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBJKHQpIHsKICAgICAgICAgICAgKHRoaXMuZml4ZWREaXYgPyBbdGhpcy5maXhlZERpdiwgdGhpcy5zY3JvbGxpbmdDb250YWluZXJdIDogW3RoaXMuY29udGFpbmVyXSkuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHQuYXBwZW5kQ2hpbGQoZSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiB6KCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXM7CiAgICAgICAgICAgIHQuZXhwb3J0aW5nID0gewogICAgICAgICAgICAgIHVwZGF0ZTogZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgdC5pc0RpcnR5RXhwb3J0aW5nID0gITAsIGIoITAsIHQub3B0aW9ucy5leHBvcnRpbmcsIGUpLCB3KGksICEwKSAmJiB0LnJlZHJhdygpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgaS5jb21wb3NlKHQpLm5hdmlnYXRpb24uYWRkVXBkYXRlKChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgdC5pc0RpcnR5RXhwb3J0aW5nID0gITAsIGIoITAsIHQub3B0aW9ucy5uYXZpZ2F0aW9uLCBlKSwgdyhpLCAhMCkgJiYgdC5yZWRyYXcoKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIEIoKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpczsKICAgICAgICAgICAgdC5pc1ByaW50aW5nIHx8IChGID0gdCwgcy5pc1NhZmFyaSB8fCB0LmJlZm9yZVByaW50KCksIHNldFRpbWVvdXQoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHAuZm9jdXMoKSwgcC5wcmludCgpLCBzLmlzU2FmYXJpIHx8IHNldFRpbWVvdXQoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdC5hZnRlclByaW50KCk7CiAgICAgICAgICAgICAgfSksIDFlMyk7CiAgICAgICAgICAgIH0pLCAxKSk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gUigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdC5vcHRpb25zLmV4cG9ydGluZywgaSA9IGUuYnV0dG9ucywgbiA9IHQuaXNEaXJ0eUV4cG9ydGluZyB8fCAhdC5leHBvcnRTVkdFbGVtZW50czsKICAgICAgICAgICAgdC5idXR0b25PZmZzZXQgPSAwLCB0LmlzRGlydHlFeHBvcnRpbmcgJiYgdC5kZXN0cm95RXhwb3J0KCksIG4gJiYgITEgIT09IGUuZW5hYmxlZCAmJiAodC5leHBvcnRFdmVudHMgPSBbXSwgdC5leHBvcnRpbmdHcm91cCA9IHQuZXhwb3J0aW5nR3JvdXAgfHwgdC5yZW5kZXJlci5nKCJleHBvcnRpbmctZ3JvdXAiKS5hdHRyKHsgekluZGV4OiAzIH0pLmFkZCgpLCBfKGksIChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgdC5hZGRCdXR0b24oZSk7CiAgICAgICAgICAgIH0pKSwgdC5pc0RpcnR5RXhwb3J0aW5nID0gITEpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIE4odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHQuaW5kZXhPZigiPC9zdmc+IikgKyA2LCBuID0gdC5zdWJzdHIoaSk7CiAgICAgICAgICAgIHJldHVybiB0ID0gdC5zdWJzdHIoMCwgaSksIGUgJiYgZS5leHBvcnRpbmcgJiYgZS5leHBvcnRpbmcuYWxsb3dIVE1MICYmIG4gJiYgKG4gPSAiPGZvcmVpZ25PYmplY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiIiArIGUuY2hhcnQud2lkdGggKyAiXCIgaGVpZ2h0PVwiIiArIGUuY2hhcnQuaGVpZ2h0ICsgIlwiPjxib2R5IHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiPiIgKyBuLnJlcGxhY2UoLyg8KD86aW1nfGJyKS4qPyg/PT4pKT4vZywgIiQxIC8+IikgKyAiPC9ib2R5PjwvZm9yZWlnbk9iamVjdD4iLCB0ID0gdC5yZXBsYWNlKCI8L3N2Zz4iLCBuICsgIjwvc3ZnPiIpKSwgdCA9IHQucmVwbGFjZSgvekluZGV4PSJbXiJdKyIvZywgIiIpLnJlcGxhY2UoL3N5bWJvbE5hbWU9IlteIl0rIi9nLCAiIikucmVwbGFjZSgvalF1ZXJ5WzAtOV0rPSJbXiJdKyIvZywgIiIpLnJlcGxhY2UoL3VybFwoKCJ8JnF1b3Q7KSguKj8pKCJ8JnF1b3Q7KTs/XCkvZywgInVybCgkMikiKS5yZXBsYWNlKC91cmxcKFteI10rIy9nLCAidXJsKCMiKS5yZXBsYWNlKC88c3ZnIC8sICI8c3ZnIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiICIpLnJlcGxhY2UoLyAofE5TWzAtOV0rOilocmVmPS9nLCAiIHhsaW5rOmhyZWY9IikucmVwbGFjZSgvXG4vLCAiICIpLnJlcGxhY2UoLyhmaWxsfHN0cm9rZSk9InJnYmFcKChbIDAtOV0rLFsgMC05XSssWyAwLTldKyksKFsgMC05XC5dKylcKSIvZywgIiQxPVwicmdiKCQyKVwiICQxLW9wYWNpdHk9XCIkM1wiIikucmVwbGFjZSgvJm5ic3A7L2csICLCoCIpLnJlcGxhY2UoLyZzaHk7L2csICLCrSIpLCB0aGlzLmllU2FuaXRpemVTVkcgJiYgKHQgPSB0aGlzLmllU2FuaXRpemVTVkcodCkpLCB0OwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBHID0gW10sCiAgICAgICAgICAgIEggPSBbLy0vLCAvXihjbGlwUGF0aHxjc3NUZXh0fGR8aGVpZ2h0fHdpZHRoKSQvLCAvXmZvbnQkLywgL1tsTF1vZ2ljYWwoV2lkdGh8SGVpZ2h0KSQvLCAvcGVyc3BlY3RpdmUvLCAvVGFwSGlnaGxpZ2h0Q29sb3IvLCAvXnRyYW5zaXRpb24vLCAvXmxlbmd0aCQvXSwKICAgICAgICAgICAgVyA9ICJmaWxsIHN0cm9rZSBzdHJva2VMaW5lY2FwIHN0cm9rZUxpbmVqb2luIHN0cm9rZVdpZHRoIHRleHRBbmNob3IgeCB5Ii5zcGxpdCgiICIpOwogICAgICAgICAgZS5pbmxpbmVXaGl0ZWxpc3QgPSBbXTsKICAgICAgICAgIHZhciBGLCBYID0gWyJjbGlwUGF0aCIsICJkZWZzIiwgImRlc2MiXTsKICAgICAgICAgIGUuY29tcG9zZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgci5jb21wb3NlKGUpLCAtMSA9PT0gRy5pbmRleE9mKHQpICYmIChHLnB1c2godCksIGUgPSB0LnByb3RvdHlwZSwgZS5hZnRlclByaW50ID0gbywgZS5leHBvcnRDaGFydCA9IFAsIGUuaW5saW5lU3R5bGVzID0gRCwgZS5wcmludCA9IEIsIGUuc2FuaXRpemVTVkcgPSBOLCBlLmdldENoYXJ0SFRNTCA9IE8sIGUuZ2V0U1ZHID0gRSwgZS5nZXRTVkdGb3JFeHBvcnQgPSBMLCBlLmdldEZpbGVuYW1lID0gVCwgZS5tb3ZlQ29udGFpbmVycyA9IEksIGUuYmVmb3JlUHJpbnQgPSBsLCBlLmNvbnRleHRNZW51ID0gTSwgZS5hZGRCdXR0b24gPSBuLCBlLmRlc3Ryb3lFeHBvcnQgPSBBLCBlLnJlbmRlckV4cG9ydGluZyA9IFIsIGUuY2FsbGJhY2tzLnB1c2goQyksIGQodCwgImluaXQiLCB6KSwgcy5pc1NhZmFyaSAmJiBzLndpbi5tYXRjaE1lZGlhKCJwcmludCIpLmFkZExpc3RlbmVyKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgRiAmJiAodC5tYXRjaGVzID8gRi5iZWZvcmVQcmludCgpIDogRi5hZnRlclByaW50KCkpOwogICAgICAgICAgICB9KSkpOwogICAgICAgICAgfTsKICAgICAgICB9KGwgfHwgKGwgPSB7fSkpLCBlLmV4cG9ydGluZyA9IGIoby5leHBvcnRpbmcsIGUuZXhwb3J0aW5nKSwgZS5sYW5nID0gYihvLmxhbmcsIGUubGFuZyksIGUubmF2aWdhdGlvbiA9IGIoby5uYXZpZ2F0aW9uLCBlLm5hdmlnYXRpb24pLCBsOwogICAgICB9KSksIGUodCwgIm1hc3RlcnMvbW9kdWxlcy9leHBvcnRpbmcuc3JjLmpzIiwgW3RbIkNvcmUvR2xvYmFscy5qcyJdLCB0WyJFeHRlbnNpb25zL0V4cG9ydGluZy9FeHBvcnRpbmcuanMiXSwgdFsiQ29yZS9IdHRwVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgIHQuSHR0cFV0aWxpdGllcyA9IGksIHQuYWpheCA9IGkuYWpheCwgdC5nZXRKU09OID0gaS5nZXRKU09OLCB0LnBvc3QgPSBpLnBvc3QsIGUuY29tcG9zZSh0LkNoYXJ0LCB0LlJlbmRlcmVyKTsKICAgICAgfSkpOwogICAgfSkpOwogIH0sICIwMzkwIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCIwMmY0IikoITApOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICByZXR1cm4gZSArIChpID8gbih0LCBlKS5sZW5ndGggOiAxKTsKICAgIH07CiAgfSwgIjAzOTUiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjM2YzMiKSwgbyA9IGkoIjZhYmYiKS5mLCByID0ge30udG9TdHJpbmcsCiAgICAgIHMgPSAib2JqZWN0IiA9PSB0eXBlb2Ygd2luZG93ICYmIHdpbmRvdyAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHdpbmRvdykgOiBbXSwgYSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB0cnkgewogICAgICAgICAgcmV0dXJuIG8odCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgcmV0dXJuIHMuc2xpY2UoKTsKICAgICAgICB9CiAgICAgIH07CiAgICB0LmV4cG9ydHMuZiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIHMgJiYgIltvYmplY3QgV2luZG93XSIgPT0gci5jYWxsKHQpID8gYSh0KSA6IG8obih0KSk7CiAgICB9OwogIH0sICIwNDIzIjogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCLmmYLkvqHnt4/poY3jg6njg7Pjgq9cIixcIm1jYXBcIjpcIuaZguS+oee3j+mhjVwiLFwiMjRoX3ZvbHVtZVwiOlwiMjTmmYLplpPps6XosrTml49cIixcIjI0aF9oaWdoX2xvd1wiOlwiMjTmmYLplpMg5pyA6auY5YCkL+acgOWuieWApFwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bXCIsXCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvblwiOlwi5Luu5oOz6YCa6LKo5L6h5qC844Gu5q+U6LyDXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCLku67mg7PpgJrosqjmmYLkvqHnt4/poY3jga7mr5TovINcIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bXCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjRI5pyA6auY5YCkXCIsXCIyNGhfbG93XCI6XCIyNEjmnIDlronlgKRcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIiV7Y29pbn3jga7kvqHmoLzjg4Hjg6Pjg7zjg4jjgpLopovjgotcIixcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH3jgavjgojjgovmj5DkvptcIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfeOBq+OCiOOCi+aPkOS+m1wifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bXCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bXCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0SOacgOmrmOWApFwiLFwiMjRoX2xvd1wiOlwiMjRI5pyA5a6J5YCkXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCIle2NvaW5944Gu5L6h5qC844OB44Oj44O844OI44KS6KaL44KLXCIsXCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bXCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiJXtjb2lufeOBruS+oeagvOODgeODo+ODvOODiOOCkuimi+OCi1wiLFwicG93ZXJlZF9ieVwiOlwiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfeOBq+OCiOOCi+aPkOS+m1wifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi5Luu5oOz6YCa6LKo44OH44O844K/5LiA6KanXCIsXCJzdWJ0aXRsZVwiOlwiKOaZguS+oee3j+mhjeS4iuS9jSV7dG9wfSlcIixcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH3jgavjgojjgovmj5DkvptcIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCLlhY3osqzkuovpoIU6IOOBk+OBruODhOODvOODq+OBr+OCqOODs+OCv+ODvOODhuOCpOODoeODs+ODiOOCkuebrueahOOBqOOBl+OBpuaPkOS+m+OBleOCjOOBpuOBiuOCiuOAgeiyoeWLmeeahOOBquWKqeiogOOCkuaIkOOBmeOCguOBruOBp+OBr+OBguOCiuOBvuOBm+OCk+OAglwiLFwic3BpblwiOlwi44K544OU44OzXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIuWIqeeUqOWPr+iDveOBquOCs+OCpOODs1wifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkNvaW5HZWNrbyDkvqHmoLzjgqLjg4Pjg5fjg4fjg7zjg4hcIixcInRvdGFsX21jYXBcIjpcIuaZguS+oee3j+mhjeWQiOioiFwiLFwiMjRoX3ZvbFwiOlwiMjRI5Y+W5byV6auYXCIsXCJkb21cIjpcIuWNoOacieeOh1wifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCLlj5blvJXmiYBcIixcInBhaXJcIjpcIumAmuiyqOODmuOColwiLFwicHJpY2VcIjpcIuS+oeagvFwiLFwidm9sdW1lXCI6XCLlj5blvJXpq5hcIixcInRydXN0X3Njb3JlXCI6XCLjg4jjg6njgrnjg4jjgrnjgrPjgqJcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIuS+oeagvOODgeODo+ODvOODiOOCkuimi+OCi1wiLFwicG93ZXJlZF9ieVwiOlwiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfeOBq+OCiOOCi+aPkOS+m1wiLFwidmlld19hbGxcIjpcIuOBmeOBueOBpuOBriAle2NvaW59IOODnuODvOOCseODg+ODiOOCkuihqOekulwifX0iKTsKICB9LCAiMDU2YyI6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwi57i95biC5YC85o6S5ZCNXCIsXCJtY2FwXCI6XCLnuL3luILlgLxcIixcIjI0aF92b2x1bWVcIjpcIjI0IOWwj+aZguS6pOaYk+mHj1wiLFwiMjRoX2hpZ2hfbG93XCI6XCIyNCDlsI/mmYLpq5jlg7kv5L2O5YO5XCJ9LFwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaPkOS+m1wiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIuWKoOWvhuiyqOW5o+WMr+eOh+avlOi8g1wiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwi5Yqg5a+G6LKo5bmj5biC5YC85q+U6LyDXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5o+Q5L6bXCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjQg5bCP5pmC6auY5YO5XCIsXCIyNGhfbG93XCI6XCIyNCDlsI/mmYLkvY7lg7lcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIuafpeeciyAle2NvaW59IOeahOWMr+eOh+WcluihqFwiLFwicG93ZXJlZF9ieVwiOlwi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5o+Q5L6bXCJ9LFwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaPkOS+m1wifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmj5DkvptcIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaPkOS+m1wifSxcImNvaW5fdGlja2VyX3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCIyNCDlsI/mmYLpq5jlg7lcIixcIjI0aF9sb3dcIjpcIjI0IOWwj+aZguS9juWDuVwiLFwidmlld19wcmljZV9jaGFydFwiOlwi5p+l55yLICV7Y29pbn0g55qE5Yyv546H5ZyW6KGoXCIsXCJwb3dlcmVkX2J5XCI6XCLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmj5DkvptcIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLmn6XnnIsgJXtjb2lufSDnmoTljK/njofotbDli6LlnJZcIixcInBvd2VyZWRfYnlcIjpcIueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaPkOS+m1wifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi5Yqg5a+G6LKo5bmj5qi554uA5ZyWXCIsXCJzdWJ0aXRsZVwiOlwiKOW4guWAvOWJjSAle3RvcH0g5ZCNKVwiLFwicG93ZXJlZF9ieVwiOlwi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5o+Q5L6bXCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwi5YWN6LKs6IGy5piO77ya5q2k5bel5YW35YOF5L6b5aib5qiC5LmL55So77yM5LiN5qeL5oiQ6LKh5YuZ5bu66K2w44CCXCIsXCJzcGluXCI6XCJTcGluXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIuWPr+eUqOiyqOW5o1wifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkNvaW5HZWNrbyDljK/njofmm7TmlrBcIixcInRvdGFsX21jYXBcIjpcIue4veW4guWAvFwiLFwiMjRoX3ZvbFwiOlwiMjQg5bCP5pmC5Lqk5piT6YePXCIsXCJkb21cIjpcIuW4guS9lOeOh1wifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCLkuqTmmJPlubPlj7BcIixcInBhaXJcIjpcIuWwjVwiLFwicHJpY2VcIjpcIuWDueagvFwiLFwidm9sdW1lXCI6XCLkuqTmmJPph49cIixcInRydXN0X3Njb3JlXCI6XCLkv6Hku7vliIbmlbhcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIuafpeeci+WMr+eOh+i1sOWLouWcllwiLFwicG93ZXJlZF9ieVwiOlwi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5o+Q5L6bXCIsXCJ2aWV3X2FsbFwiOlwi5p+l55yL5omA5pyJICV7Y29pbn0g5biC5aC0XCJ9fSIpOwogIH0sICIwN2UzIjogZnVuY3Rpb24odCwgZSkgewogICAgdmFyIGkgPSB7fS5oYXNPd25Qcm9wZXJ0eTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgcmV0dXJuIGkuY2FsbCh0LCBlKTsKICAgIH07CiAgfSwgIjA4MjUiOiBmdW5jdGlvbih0KSB7CiAgICB0LmV4cG9ydHMgPSBKU09OLnBhcnNlKCJ7XCJjb2luX2RldGFpbHNcIjp7XCJtY2FwX3JhbmtcIjpcIkNsYXNzaWZpY2EgY2FwLiBkaSBtZXJjYXRvXCIsXCJtY2FwXCI6XCJDYXAuIGRpIG1lcmNhdG9cIixcIjI0aF92b2x1bWVcIjpcIlZvbHVtZSBpbiAyNCBvcmVcIixcIjI0aF9oaWdoX2xvd1wiOlwiTWF4L21pbiBpbiAyNCBvcmVcIn0sXCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvblwiOlwiQ29uZnJvbnRvIHByZXp6aSBkZWxsZSBjcmlwdG9cIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIkNvbmZyb250byBkaSBjYXBpdGFsaXp6YXppb25lIGRpIG1lcmNhdG8gZGVsbGUgY3JpcHRvXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiTWFzc2ltbyBpbiAyNCBvcmVcIixcIjI0aF9sb3dcIjpcIk1pbmltbyBpbiAyNCBvcmVcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZpc3VhbGl6emEgZ3JhZmljbyBwcmV6emkgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fdGlja2VyX3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCJNYXNzaW1vIGluIDI0IG9yZVwiLFwiMjRoX2xvd1wiOlwiTWluaW1vIGluIDI0IG9yZVwiLFwidmlld19wcmljZV9jaGFydFwiOlwiVmlzdWFsaXp6YSBncmFmaWNvIHByZXp6aSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJWaXN1YWxpenphIGdyYWZpY28gcHJlenppICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiTWFwcGEgYWQgYWxiZXJvIGRlbGxlIGNyaXB0b3ZhbHV0ZVwiLFwic3VidGl0bGVcIjpcIihWYWx1dGUgdG9wICV7dG9wfSBwZXIgY2FwaXRhbGl6emF6aW9uZSBkaSBtZXJjYXRvKVwiLFwicG93ZXJlZF9ieVwiOlwiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwiRGlzY2xhaW1lcjogUXVlc3RpIHN0cnVtZW50aSBzb25vIGEgc2NvcG8gZGkgaW50cmF0dGVuaW1lbnRvIGUgbm9uIGNvc3RpdHVpc2Nvbm8gdW5hIGNvbnN1bGVuemEgZmluYW56aWFyaWEuXCIsXCJzcGluXCI6XCJTcGluXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIlZhbHV0ZSBEaXNwb25pYmlsaVwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkFnZ2lvcm5hbWVudG8gcHJlenppIENvaW5HZWNrb1wiLFwidG90YWxfbWNhcFwiOlwiQ2FwLiBkaSBtZXJjYXRvIHRvdGFsZVwiLFwiMjRoX3ZvbFwiOlwiVm9sdW1lIGluIDI0IG9yZVwiLFwiZG9tXCI6XCJEb21cIn0sXCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXRcIjp7XCJleGNoYW5nZVwiOlwiRXhjaGFuZ2VcIixcInBhaXJcIjpcIkNvcHBpYVwiLFwicHJpY2VcIjpcIlByZXp6b1wiLFwidm9sdW1lXCI6XCJWb2x1bWVcIixcInRydXN0X3Njb3JlXCI6XCJQdW50ZWdnaW8gZGkgZmlkdWNpYVwiLFwidmlld19wcmljZV9jaGFydFwiOlwiVmlzdWFsaXp6YSBncmFmaWNvIHByZXp6aVwiLFwicG93ZXJlZF9ieVwiOlwiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJ2aWV3X2FsbFwiOlwiVmlzdWFsaXp6YSB0dXR0aSBpIG1lcmNhdGkgJXtjb2lufVwifX0iKTsKICB9LCAiMGJmYiI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiY2I3YyIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciB0ID0gbih0aGlzKSwgZSA9ICIiOwogICAgICByZXR1cm4gdC5nbG9iYWwgJiYgKGUgKz0gImciKSwgdC5pZ25vcmVDYXNlICYmIChlICs9ICJpIiksIHQubXVsdGlsaW5lICYmIChlICs9ICJtIiksIHQudW5pY29kZSAmJiAoZSArPSAidSIpLCB0LnN0aWNreSAmJiAoZSArPSAieSIpLCBlOwogICAgfTsKICB9LCAiMGQ1OCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiY2UxMCIpLCBvID0gaSgiZTExZSIpOwogICAgdC5leHBvcnRzID0gT2JqZWN0LmtleXMgfHwgZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gbih0LCBvKTsKICAgIH07CiAgfSwgIjBmN2MiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiA9IGkoIjY4OGUiKTsKICAgIHQuZXhwb3J0cyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHx8IG47CiAgfSwgIjBmYzkiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjNhMzgiKSwgbyA9IE1hdGgubWF4LCByID0gTWF0aC5taW47CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgIHJldHVybiB0ID0gbih0KSwgdCA8IDAgPyBvKHQgKyBlLCAwKSA6IHIodCwgZSk7CiAgICB9OwogIH0sIDExNTM6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiODNjMiIpLCBvID0gbigiJVN0cmluZyUiKSwgciA9IG4oIiVUeXBlRXJyb3IlIik7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIGlmICgic3ltYm9sIiA9PT0gdHlwZW9mIHQpIHRocm93IG5ldyByKCJDYW5ub3QgY29udmVydCBhIFN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyIpOwogICAgICByZXR1cm4gbyh0KTsKICAgIH07CiAgfSwgIjExZTkiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjUyYTciKSwgbyA9IGkoIjQ2MzAiKSwgciA9IGkoIjY4MjEiKSwgcyA9IGkoIjZhOTkiKSwgYSA9IGkoIjY5YTgiKSwgaCA9IGkoImM2OWEiKSwgbCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7CiAgICBlLmYgPSBpKCI5ZTFlIikgPyBsIDogZnVuY3Rpb24odCwgZSkgewogICAgICBpZiAodCA9IHIodCksIGUgPSBzKGUsICEwKSwgaCkgdHJ5IHsKICAgICAgICByZXR1cm4gbCh0LCBlKTsKICAgICAgfSBjYXRjaCAoaSkgewogICAgICB9CiAgICAgIGlmIChhKHQsIGUpKSByZXR1cm4gbyghbi5mLmNhbGwodCwgZSksIHRbZV0pOwogICAgfTsKICB9LCAxNDk1OiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjg2Y2MiKSwgbyA9IGkoImNiN2MiKSwgciA9IGkoIjBkNTgiKTsKICAgIHQuZXhwb3J0cyA9IGkoIjllMWUiKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIDogZnVuY3Rpb24odCwgZSkgewogICAgICBvKHQpOwogICAgICB2YXIgaSwgcyA9IHIoZSksIGEgPSBzLmxlbmd0aCwgaCA9IDA7CiAgICAgIHdoaWxlIChhID4gaCkgbi5mKHQsIGkgPSBzW2grK10sIGVbaV0pOwogICAgICByZXR1cm4gdDsKICAgIH07CiAgfSwgMTY1NDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCI3MWMxIikoITApOwogICAgaSgiMzBmMSIpKFN0cmluZywgIlN0cmluZyIsIChmdW5jdGlvbih0KSB7CiAgICAgIHRoaXMuX3QgPSBTdHJpbmcodCksIHRoaXMuX2kgPSAwOwogICAgfSksIChmdW5jdGlvbigpIHsKICAgICAgdmFyIHQsIGUgPSB0aGlzLl90LCBpID0gdGhpcy5faTsKICAgICAgcmV0dXJuIGkgPj0gZS5sZW5ndGggPyB7IHZhbHVlOiB2b2lkIDAsIGRvbmU6ICEwIH0gOiAodCA9IG4oZSwgaSksIHRoaXMuX2kgKz0gdC5sZW5ndGgsIHsgdmFsdWU6IHQsIGRvbmU6ICExIH0pOwogICAgfSkpOwogIH0sIDE2OTE6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHQuZXhwb3J0cyA9ICJjb25zdHJ1Y3RvcixoYXNPd25Qcm9wZXJ0eSxpc1Byb3RvdHlwZU9mLHByb3BlcnR5SXNFbnVtZXJhYmxlLHRvTG9jYWxlU3RyaW5nLHRvU3RyaW5nLHZhbHVlT2YiLnNwbGl0KCIsIik7CiAgfSwgMTc6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHQuZXhwb3J0cyA9IGkoImNlZjUiKTsKICB9LCAiMWI3ZiI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiNTYyZSIpLCBvID0gIuKAiyI7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbSAmJiBvLnRyaW0oKSA9PT0gbyA/IFN0cmluZy5wcm90b3R5cGUudHJpbSA6IG47CiAgICB9OwogIH0sICIxYmMzIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJmNzcyIik7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgIGlmICghbih0KSkgcmV0dXJuIHQ7CiAgICAgIHZhciBpLCBvOwogICAgICBpZiAoZSAmJiAiZnVuY3Rpb24iID09IHR5cGVvZiAoaSA9IHQudG9TdHJpbmcpICYmICFuKG8gPSBpLmNhbGwodCkpKSByZXR1cm4gbzsKICAgICAgaWYgKCJmdW5jdGlvbiIgPT0gdHlwZW9mIChpID0gdC52YWx1ZU9mKSAmJiAhbihvID0gaS5jYWxsKHQpKSkgcmV0dXJuIG87CiAgICAgIGlmICghZSAmJiAiZnVuY3Rpb24iID09IHR5cGVvZiAoaSA9IHQudG9TdHJpbmcpICYmICFuKG8gPSBpLmNhbGwodCkpKSByZXR1cm4gbzsKICAgICAgdGhyb3cgVHlwZUVycm9yKCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWUiKTsKICAgIH07CiAgfSwgIjFlYzkiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoImY3NzIiKSwgbyA9IGkoImU1M2QiKS5kb2N1bWVudCwgciA9IG4obykgJiYgbihvLmNyZWF0ZUVsZW1lbnQpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gciA/IG8uY3JlYXRlRWxlbWVudCh0KSA6IHt9OwogICAgfTsKICB9LCAiMjEwYyI6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwiUGVyaW5na2F0IEthcCBQYXNhclwiLFwibWNhcFwiOlwiS2FwaXRhbGlzYXNpIFBhc2FyXCIsXCIyNGhfdm9sdW1lXCI6XCJWb2x1bWUgMjRKXCIsXCIyNGhfaGlnaF9sb3dcIjpcIlRpbmdnaS9SZW5kYWggMjRKXCJ9LFwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIlBlcmJhbmRpbmdhbiBIYXJnYSBLcmlwdG9cIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIlBlcmJhbmRpbmdhbiBLYXAgUGFhciBLcmlwdG9cIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCIyNEogVGluZ2dpXCIsXCIyNGhfbG93XCI6XCIyNEogUmVuZGFoXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJMaWhhdCBHcmFmaWsgSGFyZ2EgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiRGlkdWt1bmcgb2xlaCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fdGlja2VyX3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCIyNEogVGluZ2dpXCIsXCIyNGhfbG93XCI6XCIyNEogUmVuZGFoXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJMaWhhdCBHcmFmaWsgSGFyZ2EgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiRGlkdWt1bmcgb2xlaCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiTGloYXQgR3JhZmlrIEhhcmdhICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiUGV0YSBQb2hvbiBDcnlwdG9jdXJyZW5jeVwiLFwic3VidGl0bGVcIjpcIigle3RvcH0gVGVyYXRhcyBCZXJkYXNhcmthbiBLYXAgUGFzYXIpXCIsXCJwb3dlcmVkX2J5XCI6XCJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCJTYW5na2FsYW46IEFsYXQgaW5pIGJlcmZ1bmdzaSBzZWJhZ2FpIGhpYnVyYW4gZGFuIGJ1a2FuIG1lcnVwYWthbiBzYXJhbiBrZXVhbmdhbi5cIixcInNwaW5cIjpcIlB1dGFyXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIktvaW4geWFuZyBUZXJzZWRpYVwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIlBlbWJhcnVhbiBIYXJnYSBDb2luR2Vja29cIixcInRvdGFsX21jYXBcIjpcIlRvdGFsIEthcCBQXCIsXCIyNGhfdm9sXCI6XCJWb2x1bWUgMjRKXCIsXCJkb21cIjpcIkRvbVwifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCJCdXJzYVwiLFwicGFpclwiOlwiUGFzYW5nYW5cIixcInByaWNlXCI6XCJIYXJnYVwiLFwidm9sdW1lXCI6XCJWb2x1bWVcIixcInRydXN0X3Njb3JlXCI6XCJTa29yIEtlcGVyY2F5YWFuXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJMaWhhdCBHcmFmaWsgSGFyZ2FcIixcInBvd2VyZWRfYnlcIjpcIkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwidmlld19hbGxcIjpcIkxpaGF0IHNlbXVhIHBhc2FyICV7Y29pbn1cIn19Iik7CiAgfSwgIjIxNGYiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICBpKCJiMGM1Iik7CiAgICB2YXIgbiA9IGkoIjJhYmEiKSwgbyA9IGkoIjMyZTkiKSwgciA9IGkoIjc5ZTUiKSwgcyA9IGkoImJlMTMiKSwgYSA9IGkoIjJiNGMiKSwgaCA9IGkoIjUyMGEiKSwgbCA9IGEoInNwZWNpZXMiKSwgYyA9ICFyKChmdW5jdGlvbigpIHsKICAgICAgdmFyIHQgPSAvLi87CiAgICAgIHJldHVybiB0LmV4ZWMgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgdCA9IFtdOwogICAgICAgIHJldHVybiB0Lmdyb3VwcyA9IHsgYTogIjciIH0sIHQ7CiAgICAgIH0sICI3IiAhPT0gIiIucmVwbGFjZSh0LCAiJDxhPiIpOwogICAgfSkpLCBwID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciB0ID0gLyg/OikvLCBlID0gdC5leGVjOwogICAgICB0LmV4ZWMgPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICB9OwogICAgICB2YXIgaSA9ICJhYiIuc3BsaXQodCk7CiAgICAgIHJldHVybiAyID09PSBpLmxlbmd0aCAmJiAiYSIgPT09IGlbMF0gJiYgImIiID09PSBpWzFdOwogICAgfSgpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICB2YXIgZCA9IGEodCksIHUgPSAhcigoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGUgPSB7fTsKICAgICAgICByZXR1cm4gZVtkXSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIDc7CiAgICAgICAgfSwgNyAhPSAiIlt0XShlKTsKICAgICAgfSkpLCBmID0gdSA/ICFyKChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZSA9ICExLCBpID0gL2EvOwogICAgICAgIHJldHVybiBpLmV4ZWMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHJldHVybiBlID0gITAsIG51bGw7CiAgICAgICAgfSwgInNwbGl0IiA9PT0gdCAmJiAoaS5jb25zdHJ1Y3RvciA9IHt9LCBpLmNvbnN0cnVjdG9yW2xdID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9KSwgaVtkXSgiIiksICFlOwogICAgICB9KSkgOiB2b2lkIDA7CiAgICAgIGlmICghdSB8fCAhZiB8fCAicmVwbGFjZSIgPT09IHQgJiYgIWMgfHwgInNwbGl0IiA9PT0gdCAmJiAhcCkgewogICAgICAgIHZhciBnID0gLy4vW2RdLCBtID0gaShzLCBkLCAiIlt0XSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICAgIHJldHVybiBlLmV4ZWMgPT09IGggPyB1ICYmICFvID8geyBkb25lOiAhMCwgdmFsdWU6IGcuY2FsbChlLCBpLCBuKSB9IDogeyBkb25lOiAhMCwgdmFsdWU6IHQuY2FsbChpLCBlLCBuKSB9IDogeyBkb25lOiAhMSB9OwogICAgICAgIH0pKSwgeSA9IG1bMF0sIHYgPSBtWzFdOwogICAgICAgIG4oU3RyaW5nLnByb3RvdHlwZSwgdCwgeSksIG8oUmVnRXhwLnByb3RvdHlwZSwgZCwgMiA9PSBlID8gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgcmV0dXJuIHYuY2FsbCh0LCB0aGlzLCBlKTsKICAgICAgICB9IDogZnVuY3Rpb24odCkgewogICAgICAgICAgcmV0dXJuIHYuY2FsbCh0LCB0aGlzKTsKICAgICAgICB9KTsKICAgICAgfQogICAgfTsKICB9LCAiMjFhYSI6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwiUmFuZ2xpc3RlIGVmdGVyIG1hcmtlZHN2w6ZyZGlcIixcIm1jYXBcIjpcIk1hcmtlZHN2w6ZyZGlcIixcIjI0aF92b2x1bWVcIjpcIjI0dCB2b2x1bWVuXCIsXCIyNGhfaGlnaF9sb3dcIjpcIjI0dCBow7hqL2xhdlwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJEcmV2ZXQgYWYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIlNhbW1lbmxpZ25pbmcgYWYga3J5cHRva3Vyc1wiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwiU2FtbWVubGlnbmluZyBhZiBrcnlwdG9tYXJrZWRzdsOmcmRpXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiRHJldmV0IGFmICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCIyNHQgaMO4alwiLFwiMjRoX2xvd1wiOlwiMjR0IGxhdlwiLFwidmlld19wcmljZV9jaGFydFwiOlwiVmlzIGt1cnNkaWFncmFtIGZvciAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJEcmV2ZXQgYWYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJEcmV2ZXQgYWYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJEcmV2ZXQgYWYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImJlYW1fd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiRHJldmV0IGFmICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjR0IGjDuGpcIixcIjI0aF9sb3dcIjpcIjI0dCBsYXZcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZpcyBrdXJzZGlhZ3JhbSBmb3IgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiRHJldmV0IGFmICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJWaXMga3Vyc2RpYWdyYW0gZm9yICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIkRyZXZldCBhZiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCJPdmVyc2lndCBvdmVyIGtyeXB0b3ZhbHV0YWVyXCIsXCJzdWJ0aXRsZVwiOlwiKFRvcCAle3RvcH0gdWQgZnJhIG1hcmtlZHN2w6ZyZGkpXCIsXCJwb3dlcmVkX2J5XCI6XCJEcmV2ZXQgYWYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcInJhbmRvbV9jb2luX3dpZGdldFwiOntcImRpc2NsYWltZXJcIjpcIkFuc3ZhcnNmcmFza3JpdmVsc2U6IERpc3NlIHbDpnJrdMO4amVyIGZ1bmdlcmVyIHNvbSB1bmRlcmhvbGRuaW5nIG9nIHVkZ8O4ciBpa2tlIGZpbmFuc2llbCByw6VkZ2l2bmluZy5cIixcInNwaW5cIjpcIkthc3RcIixcImF2YWlsYWJsZV9jb2luc1wiOlwiVGlsZ8OmbmdlbGlnZSBjb2luc1wifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkNvaW5HZWNrbyBrdXJzb3BkYXRlcmluZ1wiLFwidG90YWxfbWNhcFwiOlwiTWFya2Vkc3bDpnJkaSBpIGFsdFwiLFwiMjRoX3ZvbFwiOlwiMjR0IHZvbHVtZW5cIixcImRvbVwiOlwiRG9tXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIkLDuHJzXCIsXCJwYWlyXCI6XCJQYXJcIixcInByaWNlXCI6XCJQcmlzXCIsXCJ2b2x1bWVcIjpcIlZvbHVtZW5cIixcInRydXN0X3Njb3JlXCI6XCJUaWxsaWRzc2NvcmVcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZpcyBrdXJzZGlhZ3JhbVwiLFwicG93ZXJlZF9ieVwiOlwiRHJldmV0IGFmICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCJWaXMgYWxsZSAle2NvaW59LW1hcmtlZGVyXCJ9fSIpOwogIH0sICIyMWQwIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsIG8gPSAvXlxzKmNsYXNzXGIvLCByID0gZnVuY3Rpb24odCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgZSA9IG4uY2FsbCh0KTsKICAgICAgICAgIHJldHVybiBvLnRlc3QoZSk7CiAgICAgICAgfSBjYXRjaCAoaSkgewogICAgICAgICAgcmV0dXJuICExOwogICAgICAgIH0KICAgICAgfSwgcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB0cnkgewogICAgICAgICAgcmV0dXJuICFyKHQpICYmIChuLmNhbGwodCksICEwKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICByZXR1cm4gITE7CiAgICAgICAgfQogICAgICB9LCBhID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZywgaCA9ICJbb2JqZWN0IEZ1bmN0aW9uXSIsIGwgPSAiW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iLAogICAgICBjID0gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIFN5bWJvbCAmJiAic3ltYm9sIiA9PT0gdHlwZW9mIFN5bWJvbC50b1N0cmluZ1RhZzsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgaWYgKCF0KSByZXR1cm4gITE7CiAgICAgIGlmICgiZnVuY3Rpb24iICE9PSB0eXBlb2YgdCAmJiAib2JqZWN0IiAhPT0gdHlwZW9mIHQpIHJldHVybiAhMTsKICAgICAgaWYgKCJmdW5jdGlvbiIgPT09IHR5cGVvZiB0ICYmICF0LnByb3RvdHlwZSkgcmV0dXJuICEwOwogICAgICBpZiAoYykgcmV0dXJuIHModCk7CiAgICAgIGlmIChyKHQpKSByZXR1cm4gITE7CiAgICAgIHZhciBlID0gYS5jYWxsKHQpOwogICAgICByZXR1cm4gZSA9PT0gaCB8fCBlID09PSBsOwogICAgfTsKICB9LCAiMjMwZSI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiZDNmNCIpLCBvID0gaSgiNzcyNiIpLmRvY3VtZW50LCByID0gbihvKSAmJiBuKG8uY3JlYXRlRWxlbWVudCk7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiByID8gby5jcmVhdGVFbGVtZW50KHQpIDoge307CiAgICB9OwogIH0sICIyM2M2IjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCIyZDk1IiksIG8gPSBpKCIyYjRjIikoInRvU3RyaW5nVGFnIiksIHIgPSAiQXJndW1lbnRzIiA9PSBuKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gYXJndW1lbnRzOwogICAgfSgpKSwgcyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gdFtlXTsKICAgICAgfSBjYXRjaCAoaSkgewogICAgICB9CiAgICB9OwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICB2YXIgZSwgaSwgYTsKICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gdCA/ICJVbmRlZmluZWQiIDogbnVsbCA9PT0gdCA/ICJOdWxsIiA6ICJzdHJpbmciID09IHR5cGVvZiAoaSA9IHMoZSA9IE9iamVjdCh0KSwgbykpID8gaSA6IHIgPyBuKGUpIDogIk9iamVjdCIgPT0gKGEgPSBuKGUpKSAmJiAiZnVuY3Rpb24iID09IHR5cGVvZiBlLmNhbGxlZSA/ICJBcmd1bWVudHMiIDogYTsKICAgIH07CiAgfSwgIjI0MWUiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjI1ZWIiKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIE9iamVjdChuKHQpKTsKICAgIH07CiAgfSwgIjI0ZmIiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgZnVuY3Rpb24gbih0LCBlKSB7CiAgICAgIHZhciBpID0gdFsxXSB8fCAiIiwgbiA9IHRbM107CiAgICAgIGlmICghbikgcmV0dXJuIGk7CiAgICAgIGlmIChlICYmICJmdW5jdGlvbiIgPT09IHR5cGVvZiBidG9hKSB7CiAgICAgICAgdmFyIHIgPSBvKG4pLCBzID0gbi5zb3VyY2VzLm1hcCgoZnVuY3Rpb24odCkgewogICAgICAgICAgcmV0dXJuICIvKiMgc291cmNlVVJMPSIgKyBuLnNvdXJjZVJvb3QgKyB0ICsgIiAqLyI7CiAgICAgICAgfSkpOwogICAgICAgIHJldHVybiBbaV0uY29uY2F0KHMpLmNvbmNhdChbcl0pLmpvaW4oIlxuIik7CiAgICAgIH0KICAgICAgcmV0dXJuIFtpXS5qb2luKCJcbiIpOwogICAgfQoKICAgIGZ1bmN0aW9uIG8odCkgewogICAgICB2YXIgZSA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHQpKSkpLCBpID0gInNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCIgKyBlOwogICAgICByZXR1cm4gIi8qIyAiICsgaSArICIgKi8iOwogICAgfQoKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgdmFyIGUgPSBbXTsKICAgICAgcmV0dXJuIGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIHZhciBpID0gbihlLCB0KTsKICAgICAgICAgIHJldHVybiBlWzJdID8gIkBtZWRpYSAiICsgZVsyXSArICJ7IiArIGkgKyAifSIgOiBpOwogICAgICAgIH0pKS5qb2luKCIiKTsKICAgICAgfSwgZS5pID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICJzdHJpbmciID09PSB0eXBlb2YgdCAmJiAodCA9IFtbbnVsbCwgdCwgIiJdXSk7CiAgICAgICAgZm9yICh2YXIgbiA9IHt9LCBvID0gMDsgbyA8IHRoaXMubGVuZ3RoOyBvKyspIHsKICAgICAgICAgIHZhciByID0gdGhpc1tvXVswXTsKICAgICAgICAgIG51bGwgIT0gciAmJiAobltyXSA9ICEwKTsKICAgICAgICB9CiAgICAgICAgZm9yIChvID0gMDsgbyA8IHQubGVuZ3RoOyBvKyspIHsKICAgICAgICAgIHZhciBzID0gdFtvXTsKICAgICAgICAgIG51bGwgIT0gc1swXSAmJiBuW3NbMF1dIHx8IChpICYmICFzWzJdID8gc1syXSA9IGkgOiBpICYmIChzWzJdID0gIigiICsgc1syXSArICIpIGFuZCAoIiArIGkgKyAiKSIpLCBlLnB1c2gocykpOwogICAgICAgIH0KICAgICAgfSwgZTsKICAgIH07CiAgfSwgIjI1ZWIiOiBmdW5jdGlvbih0LCBlKSB7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIGlmICh2b2lkIDAgPT0gdCkgdGhyb3cgVHlwZUVycm9yKCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAgIiArIHQpOwogICAgICByZXR1cm4gdDsKICAgIH07CiAgfSwgMjg3NzogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwoKICAgIGZ1bmN0aW9uIG4odCwgZSwgaSwgbiwgbywgciwgcywgYSkgewogICAgICB2YXIgaCwgbCA9ICJmdW5jdGlvbiIgPT09IHR5cGVvZiB0ID8gdC5vcHRpb25zIDogdDsKICAgICAgaWYgKGUgJiYgKGwucmVuZGVyID0gZSwgbC5zdGF0aWNSZW5kZXJGbnMgPSBpLCBsLl9jb21waWxlZCA9ICEwKSwgbiAmJiAobC5mdW5jdGlvbmFsID0gITApLCByICYmIChsLl9zY29wZUlkID0gImRhdGEtdi0iICsgciksIHMgPyAoaCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB0ID0gdCB8fCB0aGlzLiR2bm9kZSAmJiB0aGlzLiR2bm9kZS5zc3JDb250ZXh0IHx8IHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LiR2bm9kZSAmJiB0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCwgdCB8fCAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gfHwgKHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fKSwgbyAmJiBvLmNhbGwodGhpcywgdCksIHQgJiYgdC5fcmVnaXN0ZXJlZENvbXBvbmVudHMgJiYgdC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKHMpOwogICAgICB9LCBsLl9zc3JSZWdpc3RlciA9IGgpIDogbyAmJiAoaCA9IGEgPyBmdW5jdGlvbigpIHsKICAgICAgICBvLmNhbGwodGhpcywgdGhpcy4kcm9vdC4kb3B0aW9ucy5zaGFkb3dSb290KTsKICAgICAgfSA6IG8pLCBoKSBpZiAobC5mdW5jdGlvbmFsKSB7CiAgICAgICAgbC5faW5qZWN0U3R5bGVzID0gaDsKICAgICAgICB2YXIgYyA9IGwucmVuZGVyOwogICAgICAgIGwucmVuZGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgcmV0dXJuIGguY2FsbChlKSwgYyh0LCBlKTsKICAgICAgICB9OwogICAgICB9IGVsc2UgewogICAgICAgIHZhciBwID0gbC5iZWZvcmVDcmVhdGU7CiAgICAgICAgbC5iZWZvcmVDcmVhdGUgPSBwID8gW10uY29uY2F0KHAsIGgpIDogW2hdOwogICAgICB9CiAgICAgIHJldHVybiB7IGV4cG9ydHM6IHQsIG9wdGlvbnM6IGwgfTsKICAgIH0KCiAgICBpLmQoZSwgImEiLCAoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBuOwogICAgfSkpOwogIH0sICIyODhhIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCJkMDI0IiksIG8gPSBpKCJmYTRlIiksIHIgPSBpKCJhMGQzIiksIHMgPSBpKCJjYTlmIiksIGEgPSBmdW5jdGlvbih0KSB7CiAgICAgIG8oITEsIHQpOwogICAgfSwgaCA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSwgbCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQsIGMgPSAifHx8fCIsIHAgPSBmdW5jdGlvbih0KSB7CiAgICAgIHZhciBlID0gdCAlIDEwOwogICAgICByZXR1cm4gMTEgIT09IHQgJiYgMSA9PT0gZSA/IDAgOiAyIDw9IGUgJiYgZSA8PSA0ICYmICEodCA+PSAxMiAmJiB0IDw9IDE0KSA/IDEgOiAyOwogICAgfSwgZCA9IHsKICAgICAgYXJhYmljOiBmdW5jdGlvbih0KSB7CiAgICAgICAgaWYgKHQgPCAzKSByZXR1cm4gdDsKICAgICAgICB2YXIgZSA9IHQgJSAxMDA7CiAgICAgICAgcmV0dXJuIGUgPj0gMyAmJiBlIDw9IDEwID8gMyA6IGUgPj0gMTEgPyA0IDogNTsKICAgICAgfSwgYm9zbmlhbl9zZXJiaWFuOiBwLCBjaGluZXNlOiBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gMDsKICAgICAgfSwgY3JvYXRpYW46IHAsIGZyZW5jaDogZnVuY3Rpb24odCkgewogICAgICAgIHJldHVybiB0ID4gMSA/IDEgOiAwOwogICAgICB9LCBnZXJtYW46IGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gMSAhPT0gdCA/IDEgOiAwOwogICAgICB9LCBydXNzaWFuOiBwLCBsaXRodWFuaWFuOiBmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIHQgJSAxMCA9PT0gMSAmJiB0ICUgMTAwICE9PSAxMSA/IDAgOiB0ICUgMTAgPj0gMiAmJiB0ICUgMTAgPD0gOSAmJiAodCAlIDEwMCA8IDExIHx8IHQgJSAxMDAgPiAxOSkgPyAxIDogMjsKICAgICAgfSwgY3plY2g6IGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gMSA9PT0gdCA/IDAgOiB0ID49IDIgJiYgdCA8PSA0ID8gMSA6IDI7CiAgICAgIH0sIHBvbGlzaDogZnVuY3Rpb24odCkgewogICAgICAgIGlmICgxID09PSB0KSByZXR1cm4gMDsKICAgICAgICB2YXIgZSA9IHQgJSAxMDsKICAgICAgICByZXR1cm4gMiA8PSBlICYmIGUgPD0gNCAmJiAodCAlIDEwMCA8IDEwIHx8IHQgJSAxMDAgPj0gMjApID8gMSA6IDI7CiAgICAgIH0sIGljZWxhbmRpYzogZnVuY3Rpb24odCkgewogICAgICAgIHJldHVybiB0ICUgMTAgIT09IDEgfHwgdCAlIDEwMCA9PT0gMTEgPyAxIDogMDsKICAgICAgfSwgc2xvdmVuaWFuOiBmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUgPSB0ICUgMTAwOwogICAgICAgIHJldHVybiAxID09PSBlID8gMCA6IDIgPT09IGUgPyAxIDogMyA9PT0gZSB8fCA0ID09PSBlID8gMiA6IDM7CiAgICAgIH0KICAgIH0sIHUgPSB7CiAgICAgIGFyYWJpYzogWyJhciJdLAogICAgICBib3NuaWFuX3NlcmJpYW46IFsiYnMtTGF0bi1CQSIsICJicy1DeXJsLUJBIiwgInNybC1SUyIsICJzci1SUyJdLAogICAgICBjaGluZXNlOiBbImlkIiwgImlkLUlEIiwgImphIiwgImtvIiwgImtvLUtSIiwgImxvIiwgIm1zIiwgInRoIiwgInRoLVRIIiwgInpoIl0sCiAgICAgIGNyb2F0aWFuOiBbImhyIiwgImhyLUhSIl0sCiAgICAgIGdlcm1hbjogWyJmYSIsICJkYSIsICJkZSIsICJlbiIsICJlcyIsICJmaSIsICJlbCIsICJoZSIsICJoaS1JTiIsICJodSIsICJodS1IVSIsICJpdCIsICJubCIsICJubyIsICJwdCIsICJzdiIsICJ0ciJdLAogICAgICBmcmVuY2g6IFsiZnIiLCAidGwiLCAicHQtYnIiXSwKICAgICAgcnVzc2lhbjogWyJydSIsICJydS1SVSJdLAogICAgICBsaXRodWFuaWFuOiBbImx0Il0sCiAgICAgIGN6ZWNoOiBbImNzIiwgImNzLUNaIiwgInNrIl0sCiAgICAgIHBvbGlzaDogWyJwbCJdLAogICAgICBpY2VsYW5kaWM6IFsiaXMiXSwKICAgICAgc2xvdmVuaWFuOiBbInNsLVNMIl0KICAgIH07CgogICAgZnVuY3Rpb24gZih0KSB7CiAgICAgIHZhciBlID0ge307CiAgICAgIHJldHVybiBuKHQsIChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgbih0LCAoZnVuY3Rpb24odCkgewogICAgICAgICAgZVt0XSA9IGk7CiAgICAgICAgfSkpOwogICAgICB9KSksIGU7CiAgICB9CgogICAgZnVuY3Rpb24gZyh0KSB7CiAgICAgIHZhciBlID0gZih1KTsKICAgICAgcmV0dXJuIGVbdF0gfHwgZVtsLmNhbGwodCwgLy0vLCAxKVswXV0gfHwgZS5lbjsKICAgIH0KCiAgICBmdW5jdGlvbiBtKHQsIGUpIHsKICAgICAgcmV0dXJuIGRbZyh0KV0oZSk7CiAgICB9CgogICAgZnVuY3Rpb24geSh0KSB7CiAgICAgIHJldHVybiB0LnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCAiXFwkJiIpOwogICAgfQoKICAgIGZ1bmN0aW9uIHYodCkgewogICAgICB2YXIgZSA9IHQgJiYgdC5wcmVmaXggfHwgIiV7IiwgaSA9IHQgJiYgdC5zdWZmaXggfHwgIn0iOwogICAgICBpZiAoZSA9PT0gYyB8fCBpID09PSBjKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcigiXCIiICsgYyArICJcIiB0b2tlbiBpcyByZXNlcnZlZCBmb3IgcGx1cmFsaXphdGlvbiIpOwogICAgICByZXR1cm4gbmV3IFJlZ0V4cCh5KGUpICsgIiguKj8pIiArIHkoaSksICJnIik7CiAgICB9CgogICAgdmFyIHggPSAvXCQvZywgYiA9ICIkJCIsIF8gPSAvJVx7KC4qPylcfS9nOwoKICAgIGZ1bmN0aW9uIHcodCwgZSwgaSwgbikgewogICAgICBpZiAoInN0cmluZyIgIT09IHR5cGVvZiB0KSB0aHJvdyBuZXcgVHlwZUVycm9yKCJQb2x5Z2xvdC50cmFuc2Zvcm1QaHJhc2UgZXhwZWN0cyBhcmd1bWVudCAjMSB0byBiZSBzdHJpbmciKTsKICAgICAgaWYgKG51bGwgPT0gZSkgcmV0dXJuIHQ7CiAgICAgIHZhciBvID0gdCwgYSA9IG4gfHwgXywgcCA9ICJudW1iZXIiID09PSB0eXBlb2YgZSA/IHsgc21hcnRfY291bnQ6IGUgfSA6IGU7CiAgICAgIGlmIChudWxsICE9IHAuc21hcnRfY291bnQgJiYgbykgewogICAgICAgIHZhciBkID0gbC5jYWxsKG8sIGMpOwogICAgICAgIG8gPSBzKGRbbShpIHx8ICJlbiIsIHAuc21hcnRfY291bnQpXSB8fCBkWzBdKTsKICAgICAgfQogICAgICByZXR1cm4gbyA9IGguY2FsbChvLCBhLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgIHJldHVybiByKHAsIGUpICYmIG51bGwgIT0gcFtlXSA/IGguY2FsbChwW2VdLCB4LCBiKSA6IHQ7CiAgICAgIH0pKSwgbzsKICAgIH0KCiAgICBmdW5jdGlvbiBrKHQpIHsKICAgICAgdmFyIGUgPSB0IHx8IHt9OwogICAgICB0aGlzLnBocmFzZXMgPSB7fSwgdGhpcy5leHRlbmQoZS5waHJhc2VzIHx8IHt9KSwgdGhpcy5jdXJyZW50TG9jYWxlID0gZS5sb2NhbGUgfHwgImVuIjsKICAgICAgdmFyIGkgPSBlLmFsbG93TWlzc2luZyA/IHcgOiBudWxsOwogICAgICB0aGlzLm9uTWlzc2luZ0tleSA9ICJmdW5jdGlvbiIgPT09IHR5cGVvZiBlLm9uTWlzc2luZ0tleSA/IGUub25NaXNzaW5nS2V5IDogaSwgdGhpcy53YXJuID0gZS53YXJuIHx8IGEsIHRoaXMudG9rZW5SZWdleCA9IHYoZS5pbnRlcnBvbGF0aW9uKTsKICAgIH0KCiAgICBrLnByb3RvdHlwZS5sb2NhbGUgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiB0ICYmICh0aGlzLmN1cnJlbnRMb2NhbGUgPSB0KSwgdGhpcy5jdXJyZW50TG9jYWxlOwogICAgfSwgay5wcm90b3R5cGUuZXh0ZW5kID0gZnVuY3Rpb24odCwgZSkgewogICAgICBuKHQsIChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgdmFyIG4gPSBlID8gZSArICIuIiArIGkgOiBpOwogICAgICAgICJvYmplY3QiID09PSB0eXBlb2YgdCA/IHRoaXMuZXh0ZW5kKHQsIG4pIDogdGhpcy5waHJhc2VzW25dID0gdDsKICAgICAgfSksIHRoaXMpOwogICAgfSwgay5wcm90b3R5cGUudW5zZXQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICJzdHJpbmciID09PSB0eXBlb2YgdCA/IGRlbGV0ZSB0aGlzLnBocmFzZXNbdF0gOiBuKHQsIChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgdmFyIG4gPSBlID8gZSArICIuIiArIGkgOiBpOwogICAgICAgICJvYmplY3QiID09PSB0eXBlb2YgdCA/IHRoaXMudW5zZXQodCwgbikgOiBkZWxldGUgdGhpcy5waHJhc2VzW25dOwogICAgICB9KSwgdGhpcyk7CiAgICB9LCBrLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uKCkgewogICAgICB0aGlzLnBocmFzZXMgPSB7fTsKICAgIH0sIGsucHJvdG90eXBlLnJlcGxhY2UgPSBmdW5jdGlvbih0KSB7CiAgICAgIHRoaXMuY2xlYXIoKSwgdGhpcy5leHRlbmQodCk7CiAgICB9LCBrLnByb3RvdHlwZS50ID0gZnVuY3Rpb24odCwgZSkgewogICAgICB2YXIgaSwgbiwgbyA9IG51bGwgPT0gZSA/IHt9IDogZTsKICAgICAgaWYgKCJzdHJpbmciID09PSB0eXBlb2YgdGhpcy5waHJhc2VzW3RdKSBpID0gdGhpcy5waHJhc2VzW3RdOyBlbHNlIGlmICgic3RyaW5nIiA9PT0gdHlwZW9mIG8uXykgaSA9IG8uXzsgZWxzZSBpZiAodGhpcy5vbk1pc3NpbmdLZXkpIHsKICAgICAgICB2YXIgciA9IHRoaXMub25NaXNzaW5nS2V5OwogICAgICAgIG4gPSByKHQsIG8sIHRoaXMuY3VycmVudExvY2FsZSwgdGhpcy50b2tlblJlZ2V4KTsKICAgICAgfSBlbHNlIHRoaXMud2FybigiTWlzc2luZyB0cmFuc2xhdGlvbiBmb3Iga2V5OiBcIiIgKyB0ICsgIlwiIiksIG4gPSB0OwogICAgICByZXR1cm4gInN0cmluZyIgPT09IHR5cGVvZiBpICYmIChuID0gdyhpLCBvLCB0aGlzLmN1cnJlbnRMb2NhbGUsIHRoaXMudG9rZW5SZWdleCkpLCBuOwogICAgfSwgay5wcm90b3R5cGUuaGFzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gcih0aGlzLnBocmFzZXMsIHQpOwogICAgfSwgay50cmFuc2Zvcm1QaHJhc2UgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgIHJldHVybiB3KHQsIGUsIGkpOwogICAgfSwgdC5leHBvcnRzID0gazsKICB9LCAiMjhhNSI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiYWFlMyIpLCBvID0gaSgiY2I3YyIpLCByID0gaSgiZWJkNiIpLCBzID0gaSgiMDM5MCIpLCBhID0gaSgiOWRlZiIpLCBoID0gaSgiNWYxYiIpLCBsID0gaSgiNTIwYSIpLCBjID0gaSgiNzllNSIpLCBwID0gTWF0aC5taW4sIGQgPSBbXS5wdXNoLAogICAgICB1ID0gInNwbGl0IiwgZiA9ICJsZW5ndGgiLCBnID0gImxhc3RJbmRleCIsIG0gPSA0Mjk0OTY3Mjk1LCB5ID0gIWMoKGZ1bmN0aW9uKCkgewogICAgICAgIFJlZ0V4cChtLCAieSIpOwogICAgICB9KSk7CiAgICBpKCIyMTRmIikoInNwbGl0IiwgMiwgKGZ1bmN0aW9uKHQsIGUsIGksIGMpIHsKICAgICAgdmFyIHY7CiAgICAgIHJldHVybiB2ID0gImMiID09ICJhYmJjIlt1XSgvKGIpKi8pWzFdIHx8IDQgIT0gInRlc3QiW3VdKC8oPzopLywgLTEpW2ZdIHx8IDIgIT0gImFiIlt1XSgvKD86YWIpKi8pW2ZdIHx8IDQgIT0gIi4iW3VdKC8oLj8pKC4/KS8pW2ZdIHx8ICIuIlt1XSgvKCkoKS8pW2ZdID4gMSB8fCAiIlt1XSgvLj8vKVtmXSA/IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICB2YXIgbyA9IFN0cmluZyh0aGlzKTsKICAgICAgICBpZiAodm9pZCAwID09PSB0ICYmIDAgPT09IGUpIHJldHVybiBbXTsKICAgICAgICBpZiAoIW4odCkpIHJldHVybiBpLmNhbGwobywgdCwgZSk7CiAgICAgICAgdmFyIHIsIHMsIGEsIGggPSBbXSwgYyA9ICh0Lmlnbm9yZUNhc2UgPyAiaSIgOiAiIikgKyAodC5tdWx0aWxpbmUgPyAibSIgOiAiIikgKyAodC51bmljb2RlID8gInUiIDogIiIpICsgKHQuc3RpY2t5ID8gInkiIDogIiIpLCBwID0gMCwKICAgICAgICAgIHUgPSB2b2lkIDAgPT09IGUgPyBtIDogZSA+Pj4gMCwgeSA9IG5ldyBSZWdFeHAodC5zb3VyY2UsIGMgKyAiZyIpOwogICAgICAgIHdoaWxlIChyID0gbC5jYWxsKHksIG8pKSB7CiAgICAgICAgICBpZiAocyA9IHlbZ10sIHMgPiBwICYmIChoLnB1c2goby5zbGljZShwLCByLmluZGV4KSksIHJbZl0gPiAxICYmIHIuaW5kZXggPCBvW2ZdICYmIGQuYXBwbHkoaCwgci5zbGljZSgxKSksIGEgPSByWzBdW2ZdLCBwID0gcywgaFtmXSA+PSB1KSkgYnJlYWs7CiAgICAgICAgICB5W2ddID09PSByLmluZGV4ICYmIHlbZ10rKzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHAgPT09IG9bZl0gPyAhYSAmJiB5LnRlc3QoIiIpIHx8IGgucHVzaCgiIikgOiBoLnB1c2goby5zbGljZShwKSksIGhbZl0gPiB1ID8gaC5zbGljZSgwLCB1KSA6IGg7CiAgICAgIH0gOiAiMCJbdV0odm9pZCAwLCAwKVtmXSA/IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICByZXR1cm4gdm9pZCAwID09PSB0ICYmIDAgPT09IGUgPyBbXSA6IGkuY2FsbCh0aGlzLCB0LCBlKTsKICAgICAgfSA6IGksIFtmdW5jdGlvbihpLCBuKSB7CiAgICAgICAgdmFyIG8gPSB0KHRoaXMpLCByID0gdm9pZCAwID09IGkgPyB2b2lkIDAgOiBpW2VdOwogICAgICAgIHJldHVybiB2b2lkIDAgIT09IHIgPyByLmNhbGwoaSwgbywgbikgOiB2LmNhbGwoU3RyaW5nKG8pLCBpLCBuKTsKICAgICAgfSwgZnVuY3Rpb24odCwgZSkgewogICAgICAgIHZhciBuID0gYyh2LCB0LCB0aGlzLCBlLCB2ICE9PSBpKTsKICAgICAgICBpZiAobi5kb25lKSByZXR1cm4gbi52YWx1ZTsKICAgICAgICB2YXIgbCA9IG8odCksIGQgPSBTdHJpbmcodGhpcyksIHUgPSByKGwsIFJlZ0V4cCksIGYgPSBsLnVuaWNvZGUsCiAgICAgICAgICBnID0gKGwuaWdub3JlQ2FzZSA/ICJpIiA6ICIiKSArIChsLm11bHRpbGluZSA/ICJtIiA6ICIiKSArIChsLnVuaWNvZGUgPyAidSIgOiAiIikgKyAoeSA/ICJ5IiA6ICJnIiksIHggPSBuZXcgdSh5ID8gbCA6ICJeKD86IiArIGwuc291cmNlICsgIikiLCBnKSwKICAgICAgICAgIGIgPSB2b2lkIDAgPT09IGUgPyBtIDogZSA+Pj4gMDsKICAgICAgICBpZiAoMCA9PT0gYikgcmV0dXJuIFtdOwogICAgICAgIGlmICgwID09PSBkLmxlbmd0aCkgcmV0dXJuIG51bGwgPT09IGgoeCwgZCkgPyBbZF0gOiBbXTsKICAgICAgICB2YXIgXyA9IDAsIHcgPSAwLCBrID0gW107CiAgICAgICAgd2hpbGUgKHcgPCBkLmxlbmd0aCkgewogICAgICAgICAgeC5sYXN0SW5kZXggPSB5ID8gdyA6IDA7CiAgICAgICAgICB2YXIgUywgQyA9IGgoeCwgeSA/IGQgOiBkLnNsaWNlKHcpKTsKICAgICAgICAgIGlmIChudWxsID09PSBDIHx8IChTID0gcChhKHgubGFzdEluZGV4ICsgKHkgPyAwIDogdykpLCBkLmxlbmd0aCkpID09PSBfKSB3ID0gcyhkLCB3LCBmKTsgZWxzZSB7CiAgICAgICAgICAgIGlmIChrLnB1c2goZC5zbGljZShfLCB3KSksIGsubGVuZ3RoID09PSBiKSByZXR1cm4gazsKICAgICAgICAgICAgZm9yICh2YXIgTSA9IDE7IE0gPD0gQy5sZW5ndGggLSAxOyBNKyspIGlmIChrLnB1c2goQ1tNXSksIGsubGVuZ3RoID09PSBiKSByZXR1cm4gazsKICAgICAgICAgICAgdyA9IF8gPSBTOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gay5wdXNoKGQuc2xpY2UoXykpLCBrOwogICAgICB9XTsKICAgIH0pKTsKICB9LCAiMjk0YyI6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gISF0KCk7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICByZXR1cm4gITA7CiAgICAgIH0KICAgIH07CiAgfSwgIjJhYmEiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjc3MjYiKSwgbyA9IGkoIjMyZTkiKSwgciA9IGkoIjY5YTgiKSwgcyA9IGkoImNhNWEiKSgic3JjIiksIGEgPSBpKCJmYTViIiksIGggPSAidG9TdHJpbmciLCBsID0gKCIiICsgYSkuc3BsaXQoaCk7CiAgICBpKCI4Mzc4IikuaW5zcGVjdFNvdXJjZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIGEuY2FsbCh0KTsKICAgIH0sICh0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlLCBpLCBhKSB7CiAgICAgIHZhciBoID0gImZ1bmN0aW9uIiA9PSB0eXBlb2YgaTsKICAgICAgaCAmJiAocihpLCAibmFtZSIpIHx8IG8oaSwgIm5hbWUiLCBlKSksIHRbZV0gIT09IGkgJiYgKGggJiYgKHIoaSwgcykgfHwgbyhpLCBzLCB0W2VdID8gIiIgKyB0W2VdIDogbC5qb2luKFN0cmluZyhlKSkpKSwgdCA9PT0gbiA/IHRbZV0gPSBpIDogYSA/IHRbZV0gPyB0W2VdID0gaSA6IG8odCwgZSwgaSkgOiAoZGVsZXRlIHRbZV0sIG8odCwgZSwgaSkpKTsKICAgIH0pKEZ1bmN0aW9uLnByb3RvdHlwZSwgaCwgKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gImZ1bmN0aW9uIiA9PSB0eXBlb2YgdGhpcyAmJiB0aGlzW3NdIHx8IGEuY2FsbCh0aGlzKTsKICAgIH0pKTsKICB9LCAiMmFlYiI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiY2I3YyIpLCBvID0gaSgiMTQ5NSIpLCByID0gaSgiZTExZSIpLCBzID0gaSgiNjEzYiIpKCJJRV9QUk9UTyIpLCBhID0gZnVuY3Rpb24oKSB7CiAgICB9LCBoID0gInByb3RvdHlwZSIsIGwgPSBmdW5jdGlvbigpIHsKICAgICAgdmFyIHQsIGUgPSBpKCIyMzBlIikoImlmcmFtZSIpLCBuID0gci5sZW5ndGgsIG8gPSAiPCIsIHMgPSAiPiI7CiAgICAgIGUuc3R5bGUuZGlzcGxheSA9ICJub25lIiwgaSgiZmFiMiIpLmFwcGVuZENoaWxkKGUpLCBlLnNyYyA9ICJqYXZhc2NyaXB0OiIsIHQgPSBlLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQsIHQub3BlbigpLCB0LndyaXRlKG8gKyAic2NyaXB0IiArIHMgKyAiZG9jdW1lbnQuRj1PYmplY3QiICsgbyArICIvc2NyaXB0IiArIHMpLCB0LmNsb3NlKCksIGwgPSB0LkY7CiAgICAgIHdoaWxlIChuLS0pIGRlbGV0ZSBsW2hdW3Jbbl1dOwogICAgICByZXR1cm4gbCgpOwogICAgfTsKICAgIHQuZXhwb3J0cyA9IE9iamVjdC5jcmVhdGUgfHwgZnVuY3Rpb24odCwgZSkgewogICAgICB2YXIgaTsKICAgICAgcmV0dXJuIG51bGwgIT09IHQgPyAoYVtoXSA9IG4odCksIGkgPSBuZXcgYSwgYVtoXSA9IG51bGwsIGlbc10gPSB0KSA6IGkgPSBsKCksIHZvaWQgMCA9PT0gZSA/IGkgOiBvKGksIGUpOwogICAgfTsKICB9LCAiMmIwZSI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIChmdW5jdGlvbih0KSB7CiAgICAgIC8qIQogKiBWdWUuanMgdjIuNS4yMQogKiAoYykgMjAxNC0yMDE4IEV2YW4gWW91CiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICovCiAgICAgIHZhciBpID0gT2JqZWN0LmZyZWV6ZSh7fSk7CgogICAgICBmdW5jdGlvbiBuKHQpIHsKICAgICAgICByZXR1cm4gdm9pZCAwID09PSB0IHx8IG51bGwgPT09IHQ7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIG8odCkgewogICAgICAgIHJldHVybiB2b2lkIDAgIT09IHQgJiYgbnVsbCAhPT0gdDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcih0KSB7CiAgICAgICAgcmV0dXJuICEwID09PSB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBzKHQpIHsKICAgICAgICByZXR1cm4gITEgPT09IHQ7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGEodCkgewogICAgICAgIHJldHVybiAic3RyaW5nIiA9PT0gdHlwZW9mIHQgfHwgIm51bWJlciIgPT09IHR5cGVvZiB0IHx8ICJzeW1ib2wiID09PSB0eXBlb2YgdCB8fCAiYm9vbGVhbiIgPT09IHR5cGVvZiB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBoKHQpIHsKICAgICAgICByZXR1cm4gbnVsbCAhPT0gdCAmJiAib2JqZWN0IiA9PT0gdHlwZW9mIHQ7CiAgICAgIH0KCiAgICAgIHZhciBsID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCiAgICAgIGZ1bmN0aW9uIGModCkgewogICAgICAgIHJldHVybiAiW29iamVjdCBPYmplY3RdIiA9PT0gbC5jYWxsKHQpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBwKHQpIHsKICAgICAgICByZXR1cm4gIltvYmplY3QgUmVnRXhwXSIgPT09IGwuY2FsbCh0KTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZCh0KSB7CiAgICAgICAgdmFyIGUgPSBwYXJzZUZsb2F0KFN0cmluZyh0KSk7CiAgICAgICAgcmV0dXJuIGUgPj0gMCAmJiBNYXRoLmZsb29yKGUpID09PSBlICYmIGlzRmluaXRlKHQpOwogICAgICB9CgogICAgICBmdW5jdGlvbiB1KHQpIHsKICAgICAgICByZXR1cm4gbnVsbCA9PSB0ID8gIiIgOiAib2JqZWN0IiA9PT0gdHlwZW9mIHQgPyBKU09OLnN0cmluZ2lmeSh0LCBudWxsLCAyKSA6IFN0cmluZyh0KTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZih0KSB7CiAgICAgICAgdmFyIGUgPSBwYXJzZUZsb2F0KHQpOwogICAgICAgIHJldHVybiBpc05hTihlKSA/IHQgOiBlOwogICAgICB9CgogICAgICBmdW5jdGlvbiBnKHQsIGUpIHsKICAgICAgICBmb3IgKHZhciBpID0gT2JqZWN0LmNyZWF0ZShudWxsKSwgbiA9IHQuc3BsaXQoIiwiKSwgbyA9IDA7IG8gPCBuLmxlbmd0aDsgbysrKSBpW25bb11dID0gITA7CiAgICAgICAgcmV0dXJuIGUgPyBmdW5jdGlvbih0KSB7CiAgICAgICAgICByZXR1cm4gaVt0LnRvTG93ZXJDYXNlKCldOwogICAgICAgIH0gOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICByZXR1cm4gaVt0XTsKICAgICAgICB9OwogICAgICB9CgogICAgICBnKCJzbG90LGNvbXBvbmVudCIsICEwKTsKICAgICAgdmFyIG0gPSBnKCJrZXkscmVmLHNsb3Qsc2xvdC1zY29wZSxpcyIpOwoKICAgICAgZnVuY3Rpb24geSh0LCBlKSB7CiAgICAgICAgaWYgKHQubGVuZ3RoKSB7CiAgICAgICAgICB2YXIgaSA9IHQuaW5kZXhPZihlKTsKICAgICAgICAgIGlmIChpID4gLTEpIHJldHVybiB0LnNwbGljZShpLCAxKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTsKCiAgICAgIGZ1bmN0aW9uIHgodCwgZSkgewogICAgICAgIHJldHVybiB2LmNhbGwodCwgZSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGIodCkgewogICAgICAgIHZhciBlID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oaSkgewogICAgICAgICAgdmFyIG4gPSBlW2ldOwogICAgICAgICAgcmV0dXJuIG4gfHwgKGVbaV0gPSB0KGkpKTsKICAgICAgICB9OwogICAgICB9CgogICAgICB2YXIgXyA9IC8tKFx3KS9nLCB3ID0gYigoZnVuY3Rpb24odCkgewogICAgICAgIHJldHVybiB0LnJlcGxhY2UoXywgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgIHJldHVybiBlID8gZS50b1VwcGVyQ2FzZSgpIDogIiI7CiAgICAgICAgfSkpOwogICAgICB9KSksIGsgPSBiKChmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0LnNsaWNlKDEpOwogICAgICB9KSksIFMgPSAvXEIoW0EtWl0pL2csIEMgPSBiKChmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIHQucmVwbGFjZShTLCAiLSQxIikudG9Mb3dlckNhc2UoKTsKICAgICAgfSkpOwoKICAgICAgZnVuY3Rpb24gTSh0LCBlKSB7CiAgICAgICAgZnVuY3Rpb24gaShpKSB7CiAgICAgICAgICB2YXIgbiA9IGFyZ3VtZW50cy5sZW5ndGg7CiAgICAgICAgICByZXR1cm4gbiA/IG4gPiAxID8gdC5hcHBseShlLCBhcmd1bWVudHMpIDogdC5jYWxsKGUsIGkpIDogdC5jYWxsKGUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGkuX2xlbmd0aCA9IHQubGVuZ3RoLCBpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBBKHQsIGUpIHsKICAgICAgICByZXR1cm4gdC5iaW5kKGUpOwogICAgICB9CgogICAgICB2YXIgUCA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID8gQSA6IE07CgogICAgICBmdW5jdGlvbiBPKHQsIGUpIHsKICAgICAgICBlID0gZSB8fCAwOwogICAgICAgIHZhciBpID0gdC5sZW5ndGggLSBlLCBuID0gbmV3IEFycmF5KGkpOwogICAgICAgIHdoaWxlIChpLS0pIG5baV0gPSB0W2kgKyBlXTsKICAgICAgICByZXR1cm4gbjsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gVCh0LCBlKSB7CiAgICAgICAgZm9yICh2YXIgaSBpbiBlKSB0W2ldID0gZVtpXTsKICAgICAgICByZXR1cm4gdDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gRSh0KSB7CiAgICAgICAgZm9yICh2YXIgZSA9IHt9LCBpID0gMDsgaSA8IHQubGVuZ3RoOyBpKyspIHRbaV0gJiYgVChlLCB0W2ldKTsKICAgICAgICByZXR1cm4gZTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gTCh0LCBlLCBpKSB7CiAgICAgIH0KCiAgICAgIHZhciBqID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgIHJldHVybiAhMTsKICAgICAgfSwgRCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gdDsKICAgICAgfTsKCiAgICAgIGZ1bmN0aW9uIEkodCwgZSkgewogICAgICAgIGlmICh0ID09PSBlKSByZXR1cm4gITA7CiAgICAgICAgdmFyIGkgPSBoKHQpLCBuID0gaChlKTsKICAgICAgICBpZiAoIWkgfHwgIW4pIHJldHVybiAhaSAmJiAhbiAmJiBTdHJpbmcodCkgPT09IFN0cmluZyhlKTsKICAgICAgICB0cnkgewogICAgICAgICAgdmFyIG8gPSBBcnJheS5pc0FycmF5KHQpLCByID0gQXJyYXkuaXNBcnJheShlKTsKICAgICAgICAgIGlmIChvICYmIHIpIHJldHVybiB0Lmxlbmd0aCA9PT0gZS5sZW5ndGggJiYgdC5ldmVyeSgoZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICByZXR1cm4gSSh0LCBlW2ldKTsKICAgICAgICAgIH0pKTsKICAgICAgICAgIGlmICh0IGluc3RhbmNlb2YgRGF0ZSAmJiBlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHQuZ2V0VGltZSgpID09PSBlLmdldFRpbWUoKTsKICAgICAgICAgIGlmIChvIHx8IHIpIHJldHVybiAhMTsKICAgICAgICAgIHZhciBzID0gT2JqZWN0LmtleXModCksIGEgPSBPYmplY3Qua2V5cyhlKTsKICAgICAgICAgIHJldHVybiBzLmxlbmd0aCA9PT0gYS5sZW5ndGggJiYgcy5ldmVyeSgoZnVuY3Rpb24oaSkgewogICAgICAgICAgICByZXR1cm4gSSh0W2ldLCBlW2ldKTsKICAgICAgICAgIH0pKTsKICAgICAgICB9IGNhdGNoIChsKSB7CiAgICAgICAgICByZXR1cm4gITE7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiB6KHQsIGUpIHsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHQubGVuZ3RoOyBpKyspIGlmIChJKHRbaV0sIGUpKSByZXR1cm4gaTsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEIodCkgewogICAgICAgIHZhciBlID0gITE7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgZSB8fCAoZSA9ICEwLCB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOwogICAgICAgIH07CiAgICAgIH0KCiAgICAgIHZhciBSID0gImRhdGEtc2VydmVyLXJlbmRlcmVkIiwgTiA9IFsiY29tcG9uZW50IiwgImRpcmVjdGl2ZSIsICJmaWx0ZXIiXSwKICAgICAgICBHID0gWyJiZWZvcmVDcmVhdGUiLCAiY3JlYXRlZCIsICJiZWZvcmVNb3VudCIsICJtb3VudGVkIiwgImJlZm9yZVVwZGF0ZSIsICJ1cGRhdGVkIiwgImJlZm9yZURlc3Ryb3kiLCAiZGVzdHJveWVkIiwgImFjdGl2YXRlZCIsICJkZWFjdGl2YXRlZCIsICJlcnJvckNhcHR1cmVkIl0sCiAgICAgICAgSCA9IHsKICAgICAgICAgIG9wdGlvbk1lcmdlU3RyYXRlZ2llczogT2JqZWN0LmNyZWF0ZShudWxsKSwKICAgICAgICAgIHNpbGVudDogITEsCiAgICAgICAgICBwcm9kdWN0aW9uVGlwOiAhMSwKICAgICAgICAgIGRldnRvb2xzOiAhMSwKICAgICAgICAgIHBlcmZvcm1hbmNlOiAhMSwKICAgICAgICAgIGVycm9ySGFuZGxlcjogbnVsbCwKICAgICAgICAgIHdhcm5IYW5kbGVyOiBudWxsLAogICAgICAgICAgaWdub3JlZEVsZW1lbnRzOiBbXSwKICAgICAgICAgIGtleUNvZGVzOiBPYmplY3QuY3JlYXRlKG51bGwpLAogICAgICAgICAgaXNSZXNlcnZlZFRhZzogaiwKICAgICAgICAgIGlzUmVzZXJ2ZWRBdHRyOiBqLAogICAgICAgICAgaXNVbmtub3duRWxlbWVudDogaiwKICAgICAgICAgIGdldFRhZ05hbWVzcGFjZTogTCwKICAgICAgICAgIHBhcnNlUGxhdGZvcm1UYWdOYW1lOiBELAogICAgICAgICAgbXVzdFVzZVByb3A6IGosCiAgICAgICAgICBhc3luYzogITAsCiAgICAgICAgICBfbGlmZWN5Y2xlSG9va3M6IEcKICAgICAgICB9OwoKICAgICAgZnVuY3Rpb24gVyh0KSB7CiAgICAgICAgdmFyIGUgPSAodCArICIiKS5jaGFyQ29kZUF0KDApOwogICAgICAgIHJldHVybiAzNiA9PT0gZSB8fCA5NSA9PT0gZTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gRih0LCBlLCBpLCBuKSB7CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIGUsIHsgdmFsdWU6IGksIGVudW1lcmFibGU6ICEhbiwgd3JpdGFibGU6ICEwLCBjb25maWd1cmFibGU6ICEwIH0pOwogICAgICB9CgogICAgICB2YXIgWCA9IC9bXlx3LiRdLzsKCiAgICAgIGZ1bmN0aW9uIFUodCkgewogICAgICAgIGlmICghWC50ZXN0KHQpKSB7CiAgICAgICAgICB2YXIgZSA9IHQuc3BsaXQoIi4iKTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIGlmICghdCkgcmV0dXJuOwogICAgICAgICAgICAgIHQgPSB0W2VbaV1dOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0OwogICAgICAgICAgfTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciBZLCBWID0gIl9fcHJvdG9fXyIgaW4ge30sICQgPSAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHdpbmRvdywgSyA9ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgV1hFbnZpcm9ubWVudCAmJiAhIVdYRW52aXJvbm1lbnQucGxhdGZvcm0sCiAgICAgICAgcSA9IEsgJiYgV1hFbnZpcm9ubWVudC5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpLCBaID0gJCAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLCBKID0gWiAmJiAvbXNpZXx0cmlkZW50Ly50ZXN0KFopLAogICAgICAgIFEgPSBaICYmIFouaW5kZXhPZigibXNpZSA5LjAiKSA+IDAsIHR0ID0gWiAmJiBaLmluZGV4T2YoImVkZ2UvIikgPiAwLAogICAgICAgIGV0ID0gKFogJiYgWi5pbmRleE9mKCJhbmRyb2lkIiksIFogJiYgL2lwaG9uZXxpcGFkfGlwb2R8aW9zLy50ZXN0KFopIHx8ICJpb3MiID09PSBxKSwgaXQgPSAoWiAmJiAvY2hyb21lXC9cZCsvLnRlc3QoWiksIHt9LndhdGNoKSwgbnQgPSAhMTsKICAgICAgaWYgKCQpIHRyeSB7CiAgICAgICAgdmFyIG90ID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG90LCAicGFzc2l2ZSIsIHsKICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIG50ID0gITA7CiAgICAgICAgICB9CiAgICAgICAgfSksIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0LXBhc3NpdmUiLCBudWxsLCBvdCk7CiAgICAgIH0gY2F0Y2ggKGFzKSB7CiAgICAgIH0KICAgICAgdmFyIHJ0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gWSAmJiAoWSA9ICEkICYmICFLICYmICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdCAmJiAodFsicHJvY2VzcyJdICYmICJzZXJ2ZXIiID09PSB0WyJwcm9jZXNzIl0uZW52LlZVRV9FTlYpKSwgWTsKICAgICAgfSwgc3QgPSAkICYmIHdpbmRvdy5fX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fOwoKICAgICAgZnVuY3Rpb24gYXQodCkgewogICAgICAgIHJldHVybiAiZnVuY3Rpb24iID09PSB0eXBlb2YgdCAmJiAvbmF0aXZlIGNvZGUvLnRlc3QodC50b1N0cmluZygpKTsKICAgICAgfQoKICAgICAgdmFyIGh0LCBsdCA9ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgU3ltYm9sICYmIGF0KFN5bWJvbCkgJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBSZWZsZWN0ICYmIGF0KFJlZmxlY3Qub3duS2V5cyk7CiAgICAgIGh0ID0gInVuZGVmaW5lZCIgIT09IHR5cGVvZiBTZXQgJiYgYXQoU2V0KSA/IFNldCA6IGZ1bmN0aW9uKCkgewogICAgICAgIGZ1bmN0aW9uIHQoKSB7CiAgICAgICAgICB0aGlzLnNldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdC5wcm90b3R5cGUuaGFzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgcmV0dXJuICEwID09PSB0aGlzLnNldFt0XTsKICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICB0aGlzLnNldFt0XSA9ICEwOwogICAgICAgIH0sIHQucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB0aGlzLnNldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICAgICAgfSwgdDsKICAgICAgfSgpOwogICAgICB2YXIgY3QgPSBMLCBwdCA9IDAsIGR0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5pZCA9IHB0KyssIHRoaXMuc3VicyA9IFtdOwogICAgICB9OwogICAgICBkdC5wcm90b3R5cGUuYWRkU3ViID0gZnVuY3Rpb24odCkgewogICAgICAgIHRoaXMuc3Vicy5wdXNoKHQpOwogICAgICB9LCBkdC5wcm90b3R5cGUucmVtb3ZlU3ViID0gZnVuY3Rpb24odCkgewogICAgICAgIHkodGhpcy5zdWJzLCB0KTsKICAgICAgfSwgZHQucHJvdG90eXBlLmRlcGVuZCA9IGZ1bmN0aW9uKCkgewogICAgICAgIGR0LnRhcmdldCAmJiBkdC50YXJnZXQuYWRkRGVwKHRoaXMpOwogICAgICB9LCBkdC5wcm90b3R5cGUubm90aWZ5ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHQgPSB0aGlzLnN1YnMuc2xpY2UoKTsKICAgICAgICBmb3IgKHZhciBlID0gMCwgaSA9IHQubGVuZ3RoOyBlIDwgaTsgZSsrKSB0W2VdLnVwZGF0ZSgpOwogICAgICB9LCBkdC50YXJnZXQgPSBudWxsOwogICAgICB2YXIgdXQgPSBbXTsKCiAgICAgIGZ1bmN0aW9uIGZ0KHQpIHsKICAgICAgICB1dC5wdXNoKHQpLCBkdC50YXJnZXQgPSB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBndCgpIHsKICAgICAgICB1dC5wb3AoKSwgZHQudGFyZ2V0ID0gdXRbdXQubGVuZ3RoIC0gMV07CiAgICAgIH0KCiAgICAgIHZhciBtdCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIsIHMsIGEpIHsKICAgICAgICB0aGlzLnRhZyA9IHQsIHRoaXMuZGF0YSA9IGUsIHRoaXMuY2hpbGRyZW4gPSBpLCB0aGlzLnRleHQgPSBuLCB0aGlzLmVsbSA9IG8sIHRoaXMubnMgPSB2b2lkIDAsIHRoaXMuY29udGV4dCA9IHIsIHRoaXMuZm5Db250ZXh0ID0gdm9pZCAwLCB0aGlzLmZuT3B0aW9ucyA9IHZvaWQgMCwgdGhpcy5mblNjb3BlSWQgPSB2b2lkIDAsIHRoaXMua2V5ID0gZSAmJiBlLmtleSwgdGhpcy5jb21wb25lbnRPcHRpb25zID0gcywgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IHZvaWQgMCwgdGhpcy5wYXJlbnQgPSB2b2lkIDAsIHRoaXMucmF3ID0gITEsIHRoaXMuaXNTdGF0aWMgPSAhMSwgdGhpcy5pc1Jvb3RJbnNlcnQgPSAhMCwgdGhpcy5pc0NvbW1lbnQgPSAhMSwgdGhpcy5pc0Nsb25lZCA9ICExLCB0aGlzLmlzT25jZSA9ICExLCB0aGlzLmFzeW5jRmFjdG9yeSA9IGEsIHRoaXMuYXN5bmNNZXRhID0gdm9pZCAwLCB0aGlzLmlzQXN5bmNQbGFjZWhvbGRlciA9ICExOwogICAgICB9LCB5dCA9IHsgY2hpbGQ6IHsgY29uZmlndXJhYmxlOiAhMCB9IH07CiAgICAgIHl0LmNoaWxkLmdldCA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEluc3RhbmNlOwogICAgICB9LCBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhtdC5wcm90b3R5cGUsIHl0KTsKICAgICAgdmFyIHZ0ID0gZnVuY3Rpb24odCkgewogICAgICAgIHZvaWQgMCA9PT0gdCAmJiAodCA9ICIiKTsKICAgICAgICB2YXIgZSA9IG5ldyBtdDsKICAgICAgICByZXR1cm4gZS50ZXh0ID0gdCwgZS5pc0NvbW1lbnQgPSAhMCwgZTsKICAgICAgfTsKCiAgICAgIGZ1bmN0aW9uIHh0KHQpIHsKICAgICAgICByZXR1cm4gbmV3IG10KHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIFN0cmluZyh0KSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGJ0KHQpIHsKICAgICAgICB2YXIgZSA9IG5ldyBtdCh0LnRhZywgdC5kYXRhLCB0LmNoaWxkcmVuICYmIHQuY2hpbGRyZW4uc2xpY2UoKSwgdC50ZXh0LCB0LmVsbSwgdC5jb250ZXh0LCB0LmNvbXBvbmVudE9wdGlvbnMsIHQuYXN5bmNGYWN0b3J5KTsKICAgICAgICByZXR1cm4gZS5ucyA9IHQubnMsIGUuaXNTdGF0aWMgPSB0LmlzU3RhdGljLCBlLmtleSA9IHQua2V5LCBlLmlzQ29tbWVudCA9IHQuaXNDb21tZW50LCBlLmZuQ29udGV4dCA9IHQuZm5Db250ZXh0LCBlLmZuT3B0aW9ucyA9IHQuZm5PcHRpb25zLCBlLmZuU2NvcGVJZCA9IHQuZm5TY29wZUlkLCBlLmFzeW5jTWV0YSA9IHQuYXN5bmNNZXRhLCBlLmlzQ2xvbmVkID0gITAsIGU7CiAgICAgIH0KCiAgICAgIHZhciBfdCA9IEFycmF5LnByb3RvdHlwZSwgd3QgPSBPYmplY3QuY3JlYXRlKF90KSwga3QgPSBbInB1c2giLCAicG9wIiwgInNoaWZ0IiwgInVuc2hpZnQiLCAic3BsaWNlIiwgInNvcnQiLCAicmV2ZXJzZSJdOwogICAgICBrdC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUgPSBfdFt0XTsKICAgICAgICBGKHd0LCB0LCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgaSA9IFtdLCBuID0gYXJndW1lbnRzLmxlbmd0aDsKICAgICAgICAgIHdoaWxlIChuLS0pIGlbbl0gPSBhcmd1bWVudHNbbl07CiAgICAgICAgICB2YXIgbywgciA9IGUuYXBwbHkodGhpcywgaSksIHMgPSB0aGlzLl9fb2JfXzsKICAgICAgICAgIHN3aXRjaCAodCkgewogICAgICAgICAgICBjYXNlInB1c2giOgogICAgICAgICAgICBjYXNlInVuc2hpZnQiOgogICAgICAgICAgICAgIG8gPSBpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlInNwbGljZSI6CiAgICAgICAgICAgICAgbyA9IGkuc2xpY2UoMik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbyAmJiBzLm9ic2VydmVBcnJheShvKSwgcy5kZXAubm90aWZ5KCksIHI7CiAgICAgICAgfSkpOwogICAgICB9KSk7CiAgICAgIHZhciBTdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHd0KSwgQ3QgPSAhMDsKCiAgICAgIGZ1bmN0aW9uIE10KHQpIHsKICAgICAgICBDdCA9IHQ7CiAgICAgIH0KCiAgICAgIHZhciBBdCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB0aGlzLnZhbHVlID0gdCwgdGhpcy5kZXAgPSBuZXcgZHQsIHRoaXMudm1Db3VudCA9IDAsIEYodCwgIl9fb2JfXyIsIHRoaXMpLCBBcnJheS5pc0FycmF5KHQpID8gKFYgPyBQdCh0LCB3dCkgOiBPdCh0LCB3dCwgU3QpLCB0aGlzLm9ic2VydmVBcnJheSh0KSkgOiB0aGlzLndhbGsodCk7CiAgICAgIH07CgogICAgICBmdW5jdGlvbiBQdCh0LCBlKSB7CiAgICAgICAgdC5fX3Byb3RvX18gPSBlOwogICAgICB9CgogICAgICBmdW5jdGlvbiBPdCh0LCBlLCBpKSB7CiAgICAgICAgZm9yICh2YXIgbiA9IDAsIG8gPSBpLmxlbmd0aDsgbiA8IG87IG4rKykgewogICAgICAgICAgdmFyIHIgPSBpW25dOwogICAgICAgICAgRih0LCByLCBlW3JdKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFR0KHQsIGUpIHsKICAgICAgICB2YXIgaTsKICAgICAgICBpZiAoaCh0KSAmJiAhKHQgaW5zdGFuY2VvZiBtdCkpIHJldHVybiB4KHQsICJfX29iX18iKSAmJiB0Ll9fb2JfXyBpbnN0YW5jZW9mIEF0ID8gaSA9IHQuX19vYl9fIDogQ3QgJiYgIXJ0KCkgJiYgKEFycmF5LmlzQXJyYXkodCkgfHwgYyh0KSkgJiYgT2JqZWN0LmlzRXh0ZW5zaWJsZSh0KSAmJiAhdC5faXNWdWUgJiYgKGkgPSBuZXcgQXQodCkpLCBlICYmIGkgJiYgaS52bUNvdW50KyssIGk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEV0KHQsIGUsIGksIG4sIG8pIHsKICAgICAgICB2YXIgciA9IG5ldyBkdCwgcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCwgZSk7CiAgICAgICAgaWYgKCFzIHx8ICExICE9PSBzLmNvbmZpZ3VyYWJsZSkgewogICAgICAgICAgdmFyIGEgPSBzICYmIHMuZ2V0LCBoID0gcyAmJiBzLnNldDsKICAgICAgICAgIGEgJiYgIWggfHwgMiAhPT0gYXJndW1lbnRzLmxlbmd0aCB8fCAoaSA9IHRbZV0pOwogICAgICAgICAgdmFyIGwgPSAhbyAmJiBUdChpKTsKICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBlLCB7CiAgICAgICAgICAgIGVudW1lcmFibGU6ICEwLCBjb25maWd1cmFibGU6ICEwLCBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciBlID0gYSA/IGEuY2FsbCh0KSA6IGk7CiAgICAgICAgICAgICAgcmV0dXJuIGR0LnRhcmdldCAmJiAoci5kZXBlbmQoKSwgbCAmJiAobC5kZXAuZGVwZW5kKCksIEFycmF5LmlzQXJyYXkoZSkgJiYgRHQoZSkpKSwgZTsKICAgICAgICAgICAgfSwgc2V0OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgdmFyIG4gPSBhID8gYS5jYWxsKHQpIDogaTsKICAgICAgICAgICAgICBlID09PSBuIHx8IGUgIT09IGUgJiYgbiAhPT0gbiB8fCBhICYmICFoIHx8IChoID8gaC5jYWxsKHQsIGUpIDogaSA9IGUsIGwgPSAhbyAmJiBUdChlKSwgci5ub3RpZnkoKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gTHQodCwgZSwgaSkgewogICAgICAgIGlmIChBcnJheS5pc0FycmF5KHQpICYmIGQoZSkpIHJldHVybiB0Lmxlbmd0aCA9IE1hdGgubWF4KHQubGVuZ3RoLCBlKSwgdC5zcGxpY2UoZSwgMSwgaSksIGk7CiAgICAgICAgaWYgKGUgaW4gdCAmJiAhKGUgaW4gT2JqZWN0LnByb3RvdHlwZSkpIHJldHVybiB0W2VdID0gaSwgaTsKICAgICAgICB2YXIgbiA9IHQuX19vYl9fOwogICAgICAgIHJldHVybiB0Ll9pc1Z1ZSB8fCBuICYmIG4udm1Db3VudCA/IGkgOiBuID8gKEV0KG4udmFsdWUsIGUsIGkpLCBuLmRlcC5ub3RpZnkoKSwgaSkgOiAodFtlXSA9IGksIGkpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBqdCh0LCBlKSB7CiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodCkgJiYgZChlKSkgdC5zcGxpY2UoZSwgMSk7IGVsc2UgewogICAgICAgICAgdmFyIGkgPSB0Ll9fb2JfXzsKICAgICAgICAgIHQuX2lzVnVlIHx8IGkgJiYgaS52bUNvdW50IHx8IHgodCwgZSkgJiYgKGRlbGV0ZSB0W2VdLCBpICYmIGkuZGVwLm5vdGlmeSgpKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIER0KHQpIHsKICAgICAgICBmb3IgKHZhciBlID0gdm9pZCAwLCBpID0gMCwgbiA9IHQubGVuZ3RoOyBpIDwgbjsgaSsrKSBlID0gdFtpXSwgZSAmJiBlLl9fb2JfXyAmJiBlLl9fb2JfXy5kZXAuZGVwZW5kKCksIEFycmF5LmlzQXJyYXkoZSkgJiYgRHQoZSk7CiAgICAgIH0KCiAgICAgIEF0LnByb3RvdHlwZS53YWxrID0gZnVuY3Rpb24odCkgewogICAgICAgIGZvciAodmFyIGUgPSBPYmplY3Qua2V5cyh0KSwgaSA9IDA7IGkgPCBlLmxlbmd0aDsgaSsrKSBFdCh0LCBlW2ldKTsKICAgICAgfSwgQXQucHJvdG90eXBlLm9ic2VydmVBcnJheSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICBmb3IgKHZhciBlID0gMCwgaSA9IHQubGVuZ3RoOyBlIDwgaTsgZSsrKSBUdCh0W2VdKTsKICAgICAgfTsKICAgICAgdmFyIEl0ID0gSC5vcHRpb25NZXJnZVN0cmF0ZWdpZXM7CgogICAgICBmdW5jdGlvbiB6dCh0LCBlKSB7CiAgICAgICAgaWYgKCFlKSByZXR1cm4gdDsKICAgICAgICBmb3IgKHZhciBpLCBuLCBvLCByID0gT2JqZWN0LmtleXMoZSksIHMgPSAwOyBzIDwgci5sZW5ndGg7IHMrKykgaSA9IHJbc10sIG4gPSB0W2ldLCBvID0gZVtpXSwgeCh0LCBpKSA/IG4gIT09IG8gJiYgYyhuKSAmJiBjKG8pICYmIHp0KG4sIG8pIDogTHQodCwgaSwgbyk7CiAgICAgICAgcmV0dXJuIHQ7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEJ0KHQsIGUsIGkpIHsKICAgICAgICByZXR1cm4gaSA/IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIG4gPSAiZnVuY3Rpb24iID09PSB0eXBlb2YgZSA/IGUuY2FsbChpLCBpKSA6IGUsIG8gPSAiZnVuY3Rpb24iID09PSB0eXBlb2YgdCA/IHQuY2FsbChpLCBpKSA6IHQ7CiAgICAgICAgICByZXR1cm4gbiA/IHp0KG4sIG8pIDogbzsKICAgICAgICB9IDogZSA/IHQgPyBmdW5jdGlvbigpIHsKICAgICAgICAgIHJldHVybiB6dCgiZnVuY3Rpb24iID09PSB0eXBlb2YgZSA/IGUuY2FsbCh0aGlzLCB0aGlzKSA6IGUsICJmdW5jdGlvbiIgPT09IHR5cGVvZiB0ID8gdC5jYWxsKHRoaXMsIHRoaXMpIDogdCk7CiAgICAgICAgfSA6IGUgOiB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBSdCh0LCBlKSB7CiAgICAgICAgcmV0dXJuIGUgPyB0ID8gdC5jb25jYXQoZSkgOiBBcnJheS5pc0FycmF5KGUpID8gZSA6IFtlXSA6IHQ7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIE50KHQsIGUsIGksIG4pIHsKICAgICAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUodCB8fCBudWxsKTsKICAgICAgICByZXR1cm4gZSA/IFQobywgZSkgOiBvOwogICAgICB9CgogICAgICBJdC5kYXRhID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgIHJldHVybiBpID8gQnQodCwgZSwgaSkgOiBlICYmICJmdW5jdGlvbiIgIT09IHR5cGVvZiBlID8gdCA6IEJ0KHQsIGUpOwogICAgICB9LCBHLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICBJdFt0XSA9IFJ0OwogICAgICB9KSksIE4uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgIEl0W3QgKyAicyJdID0gTnQ7CiAgICAgIH0pKSwgSXQud2F0Y2ggPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgaWYgKHQgPT09IGl0ICYmICh0ID0gdm9pZCAwKSwgZSA9PT0gaXQgJiYgKGUgPSB2b2lkIDApLCAhZSkgcmV0dXJuIE9iamVjdC5jcmVhdGUodCB8fCBudWxsKTsKICAgICAgICBpZiAoIXQpIHJldHVybiBlOwogICAgICAgIHZhciBvID0ge307CiAgICAgICAgZm9yICh2YXIgciBpbiBUKG8sIHQpLCBlKSB7CiAgICAgICAgICB2YXIgcyA9IG9bcl0sIGEgPSBlW3JdOwogICAgICAgICAgcyAmJiAhQXJyYXkuaXNBcnJheShzKSAmJiAocyA9IFtzXSksIG9bcl0gPSBzID8gcy5jb25jYXQoYSkgOiBBcnJheS5pc0FycmF5KGEpID8gYSA6IFthXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG87CiAgICAgIH0sIEl0LnByb3BzID0gSXQubWV0aG9kcyA9IEl0LmluamVjdCA9IEl0LmNvbXB1dGVkID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgIGlmICghdCkgcmV0dXJuIGU7CiAgICAgICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICAgIHJldHVybiBUKG8sIHQpLCBlICYmIFQobywgZSksIG87CiAgICAgIH0sIEl0LnByb3ZpZGUgPSBCdDsKICAgICAgdmFyIEd0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgIHJldHVybiB2b2lkIDAgPT09IGUgPyB0IDogZTsKICAgICAgfTsKCiAgICAgIGZ1bmN0aW9uIEh0KHQsIGUpIHsKICAgICAgICB2YXIgaSA9IHQucHJvcHM7CiAgICAgICAgaWYgKGkpIHsKICAgICAgICAgIHZhciBuLCBvLCByLCBzID0ge307CiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpKSkgewogICAgICAgICAgICBuID0gaS5sZW5ndGg7CiAgICAgICAgICAgIHdoaWxlIChuLS0pIG8gPSBpW25dLCAic3RyaW5nIiA9PT0gdHlwZW9mIG8gJiYgKHIgPSB3KG8pLCBzW3JdID0geyB0eXBlOiBudWxsIH0pOwogICAgICAgICAgfSBlbHNlIGlmIChjKGkpKSBmb3IgKHZhciBhIGluIGkpIG8gPSBpW2FdLCByID0gdyhhKSwgc1tyXSA9IGMobykgPyBvIDogeyB0eXBlOiBvIH07IGVsc2UgMDsKICAgICAgICAgIHQucHJvcHMgPSBzOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gV3QodCwgZSkgewogICAgICAgIHZhciBpID0gdC5pbmplY3Q7CiAgICAgICAgaWYgKGkpIHsKICAgICAgICAgIHZhciBuID0gdC5pbmplY3QgPSB7fTsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGkpKSBmb3IgKHZhciBvID0gMDsgbyA8IGkubGVuZ3RoOyBvKyspIG5baVtvXV0gPSB7IGZyb206IGlbb10gfTsgZWxzZSBpZiAoYyhpKSkgZm9yICh2YXIgciBpbiBpKSB7CiAgICAgICAgICAgIHZhciBzID0gaVtyXTsKICAgICAgICAgICAgbltyXSA9IGMocykgPyBUKHsgZnJvbTogciB9LCBzKSA6IHsgZnJvbTogcyB9OwogICAgICAgICAgfSBlbHNlIDA7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBGdCh0KSB7CiAgICAgICAgdmFyIGUgPSB0LmRpcmVjdGl2ZXM7CiAgICAgICAgaWYgKGUpIGZvciAodmFyIGkgaW4gZSkgewogICAgICAgICAgdmFyIG4gPSBlW2ldOwogICAgICAgICAgImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG4gJiYgKGVbaV0gPSB7IGJpbmQ6IG4sIHVwZGF0ZTogbiB9KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFh0KHQsIGUsIGkpIHsKICAgICAgICBpZiAoImZ1bmN0aW9uIiA9PT0gdHlwZW9mIGUgJiYgKGUgPSBlLm9wdGlvbnMpLCBIdChlLCBpKSwgV3QoZSwgaSksIEZ0KGUpLCAhZS5fYmFzZSAmJiAoZS5leHRlbmRzICYmICh0ID0gWHQodCwgZS5leHRlbmRzLCBpKSksIGUubWl4aW5zKSkgZm9yICh2YXIgbiA9IDAsIG8gPSBlLm1peGlucy5sZW5ndGg7IG4gPCBvOyBuKyspIHQgPSBYdCh0LCBlLm1peGluc1tuXSwgaSk7CiAgICAgICAgdmFyIHIsIHMgPSB7fTsKICAgICAgICBmb3IgKHIgaW4gdCkgYShyKTsKICAgICAgICBmb3IgKHIgaW4gZSkgeCh0LCByKSB8fCBhKHIpOwoKICAgICAgICBmdW5jdGlvbiBhKG4pIHsKICAgICAgICAgIHZhciBvID0gSXRbbl0gfHwgR3Q7CiAgICAgICAgICBzW25dID0gbyh0W25dLCBlW25dLCBpLCBuKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBzOwogICAgICB9CgogICAgICBmdW5jdGlvbiBVdCh0LCBlLCBpLCBuKSB7CiAgICAgICAgaWYgKCJzdHJpbmciID09PSB0eXBlb2YgaSkgewogICAgICAgICAgdmFyIG8gPSB0W2VdOwogICAgICAgICAgaWYgKHgobywgaSkpIHJldHVybiBvW2ldOwogICAgICAgICAgdmFyIHIgPSB3KGkpOwogICAgICAgICAgaWYgKHgobywgcikpIHJldHVybiBvW3JdOwogICAgICAgICAgdmFyIHMgPSBrKHIpOwogICAgICAgICAgaWYgKHgobywgcykpIHJldHVybiBvW3NdOwogICAgICAgICAgdmFyIGEgPSBvW2ldIHx8IG9bcl0gfHwgb1tzXTsKICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gWXQodCwgZSwgaSwgbikgewogICAgICAgIHZhciBvID0gZVt0XSwgciA9ICF4KGksIHQpLCBzID0gaVt0XSwgYSA9IHF0KEJvb2xlYW4sIG8udHlwZSk7CiAgICAgICAgaWYgKGEgPiAtMSkgaWYgKHIgJiYgIXgobywgImRlZmF1bHQiKSkgcyA9ICExOyBlbHNlIGlmICgiIiA9PT0gcyB8fCBzID09PSBDKHQpKSB7CiAgICAgICAgICB2YXIgaCA9IHF0KFN0cmluZywgby50eXBlKTsKICAgICAgICAgIChoIDwgMCB8fCBhIDwgaCkgJiYgKHMgPSAhMCk7CiAgICAgICAgfQogICAgICAgIGlmICh2b2lkIDAgPT09IHMpIHsKICAgICAgICAgIHMgPSBWdChuLCBvLCB0KTsKICAgICAgICAgIHZhciBsID0gQ3Q7CiAgICAgICAgICBNdCghMCksIFR0KHMpLCBNdChsKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHM7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFZ0KHQsIGUsIGkpIHsKICAgICAgICBpZiAoeChlLCAiZGVmYXVsdCIpKSB7CiAgICAgICAgICB2YXIgbiA9IGUuZGVmYXVsdDsKICAgICAgICAgIHJldHVybiB0ICYmIHQuJG9wdGlvbnMucHJvcHNEYXRhICYmIHZvaWQgMCA9PT0gdC4kb3B0aW9ucy5wcm9wc0RhdGFbaV0gJiYgdm9pZCAwICE9PSB0Ll9wcm9wc1tpXSA/IHQuX3Byb3BzW2ldIDogImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG4gJiYgIkZ1bmN0aW9uIiAhPT0gJHQoZS50eXBlKSA/IG4uY2FsbCh0KSA6IG47CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiAkdCh0KSB7CiAgICAgICAgdmFyIGUgPSB0ICYmIHQudG9TdHJpbmcoKS5tYXRjaCgvXlxzKmZ1bmN0aW9uIChcdyspLyk7CiAgICAgICAgcmV0dXJuIGUgPyBlWzFdIDogIiI7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEt0KHQsIGUpIHsKICAgICAgICByZXR1cm4gJHQodCkgPT09ICR0KGUpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBxdCh0LCBlKSB7CiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGUpKSByZXR1cm4gS3QoZSwgdCkgPyAwIDogLTE7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBlLmxlbmd0aDsgaSA8IG47IGkrKykgaWYgKEt0KGVbaV0sIHQpKSByZXR1cm4gaTsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFp0KHQsIGUsIGkpIHsKICAgICAgICBpZiAoZSkgewogICAgICAgICAgdmFyIG4gPSBlOwogICAgICAgICAgd2hpbGUgKG4gPSBuLiRwYXJlbnQpIHsKICAgICAgICAgICAgdmFyIG8gPSBuLiRvcHRpb25zLmVycm9yQ2FwdHVyZWQ7CiAgICAgICAgICAgIGlmIChvKSBmb3IgKHZhciByID0gMDsgciA8IG8ubGVuZ3RoOyByKyspIHRyeSB7CiAgICAgICAgICAgICAgdmFyIHMgPSAhMSA9PT0gb1tyXS5jYWxsKG4sIHQsIGUsIGkpOwogICAgICAgICAgICAgIGlmIChzKSByZXR1cm47CiAgICAgICAgICAgIH0gY2F0Y2ggKGFzKSB7CiAgICAgICAgICAgICAgSnQoYXMsIG4sICJlcnJvckNhcHR1cmVkIGhvb2siKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBKdCh0LCBlLCBpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gSnQodCwgZSwgaSkgewogICAgICAgIGlmIChILmVycm9ySGFuZGxlcikgdHJ5IHsKICAgICAgICAgIHJldHVybiBILmVycm9ySGFuZGxlci5jYWxsKG51bGwsIHQsIGUsIGkpOwogICAgICAgIH0gY2F0Y2ggKGFzKSB7CiAgICAgICAgICBRdChhcywgbnVsbCwgImNvbmZpZy5lcnJvckhhbmRsZXIiKTsKICAgICAgICB9CiAgICAgICAgUXQodCwgZSwgaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFF0KHQsIGUsIGkpIHsKICAgICAgICBpZiAoISQgJiYgIUsgfHwgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBjb25zb2xlKSB0aHJvdyB0OwogICAgICAgIGNvbnNvbGUuZXJyb3IodCk7CiAgICAgIH0KCiAgICAgIHZhciB0ZSwgZWUsIGllID0gW10sIG5lID0gITE7CgogICAgICBmdW5jdGlvbiBvZSgpIHsKICAgICAgICBuZSA9ICExOwogICAgICAgIHZhciB0ID0gaWUuc2xpY2UoMCk7CiAgICAgICAgaWUubGVuZ3RoID0gMDsKICAgICAgICBmb3IgKHZhciBlID0gMDsgZSA8IHQubGVuZ3RoOyBlKyspIHRbZV0oKTsKICAgICAgfQoKICAgICAgdmFyIHJlID0gITE7CiAgICAgIGlmICgidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHNldEltbWVkaWF0ZSAmJiBhdChzZXRJbW1lZGlhdGUpKSBlZSA9IGZ1bmN0aW9uKCkgewogICAgICAgIHNldEltbWVkaWF0ZShvZSk7CiAgICAgIH07IGVsc2UgaWYgKCJ1bmRlZmluZWQiID09PSB0eXBlb2YgTWVzc2FnZUNoYW5uZWwgfHwgIWF0KE1lc3NhZ2VDaGFubmVsKSAmJiAiW29iamVjdCBNZXNzYWdlQ2hhbm5lbENvbnN0cnVjdG9yXSIgIT09IE1lc3NhZ2VDaGFubmVsLnRvU3RyaW5nKCkpIGVlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgc2V0VGltZW91dChvZSwgMCk7CiAgICAgIH07IGVsc2UgewogICAgICAgIHZhciBzZSA9IG5ldyBNZXNzYWdlQ2hhbm5lbCwgYWUgPSBzZS5wb3J0MjsKICAgICAgICBzZS5wb3J0MS5vbm1lc3NhZ2UgPSBvZSwgZWUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGFlLnBvc3RNZXNzYWdlKDEpOwogICAgICAgIH07CiAgICAgIH0KICAgICAgaWYgKCJ1bmRlZmluZWQiICE9PSB0eXBlb2YgUHJvbWlzZSAmJiBhdChQcm9taXNlKSkgewogICAgICAgIHZhciBoZSA9IFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIHRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBoZS50aGVuKG9lKSwgZXQgJiYgc2V0VGltZW91dChMKTsKICAgICAgICB9OwogICAgICB9IGVsc2UgdGUgPSBlZTsKCiAgICAgIGZ1bmN0aW9uIGxlKHQpIHsKICAgICAgICByZXR1cm4gdC5fd2l0aFRhc2sgfHwgKHQuX3dpdGhUYXNrID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICByZSA9ICEwOwogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcmV0dXJuIHQuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKICAgICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIHJlID0gITE7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGNlKHQsIGUpIHsKICAgICAgICB2YXIgaTsKICAgICAgICBpZiAoaWUucHVzaCgoZnVuY3Rpb24oKSB7CiAgICAgICAgICBpZiAodCkgdHJ5IHsKICAgICAgICAgICAgdC5jYWxsKGUpOwogICAgICAgICAgfSBjYXRjaCAoYXMpIHsKICAgICAgICAgICAgWnQoYXMsIGUsICJuZXh0VGljayIpOwogICAgICAgICAgfSBlbHNlIGkgJiYgaShlKTsKICAgICAgICB9KSksIG5lIHx8IChuZSA9ICEwLCByZSA/IGVlKCkgOiB0ZSgpKSwgIXQgJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBQcm9taXNlKSByZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGkgPSB0OwogICAgICAgIH0pKTsKICAgICAgfQoKICAgICAgdmFyIHBlID0gbmV3IGh0OwoKICAgICAgZnVuY3Rpb24gZGUodCkgewogICAgICAgIHVlKHQsIHBlKSwgcGUuY2xlYXIoKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdWUodCwgZSkgewogICAgICAgIHZhciBpLCBuLCBvID0gQXJyYXkuaXNBcnJheSh0KTsKICAgICAgICBpZiAoISghbyAmJiAhaCh0KSB8fCBPYmplY3QuaXNGcm96ZW4odCkgfHwgdCBpbnN0YW5jZW9mIG10KSkgewogICAgICAgICAgaWYgKHQuX19vYl9fKSB7CiAgICAgICAgICAgIHZhciByID0gdC5fX29iX18uZGVwLmlkOwogICAgICAgICAgICBpZiAoZS5oYXMocikpIHJldHVybjsKICAgICAgICAgICAgZS5hZGQocik7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAobykgewogICAgICAgICAgICBpID0gdC5sZW5ndGg7CiAgICAgICAgICAgIHdoaWxlIChpLS0pIHVlKHRbaV0sIGUpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbiA9IE9iamVjdC5rZXlzKHQpLCBpID0gbi5sZW5ndGg7CiAgICAgICAgICAgIHdoaWxlIChpLS0pIHVlKHRbbltpXV0sIGUpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIGZlLCBnZSA9IGIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9ICImIiA9PT0gdC5jaGFyQXQoMCk7CiAgICAgICAgdCA9IGUgPyB0LnNsaWNlKDEpIDogdDsKICAgICAgICB2YXIgaSA9ICJ+IiA9PT0gdC5jaGFyQXQoMCk7CiAgICAgICAgdCA9IGkgPyB0LnNsaWNlKDEpIDogdDsKICAgICAgICB2YXIgbiA9ICIhIiA9PT0gdC5jaGFyQXQoMCk7CiAgICAgICAgcmV0dXJuIHQgPSBuID8gdC5zbGljZSgxKSA6IHQsIHsgbmFtZTogdCwgb25jZTogaSwgY2FwdHVyZTogbiwgcGFzc2l2ZTogZSB9OwogICAgICB9KSk7CgogICAgICBmdW5jdGlvbiBtZSh0KSB7CiAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgIHZhciB0ID0gYXJndW1lbnRzLCBpID0gZS5mbnM7CiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoaSkpIHJldHVybiBpLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgICAgICBmb3IgKHZhciBuID0gaS5zbGljZSgpLCBvID0gMDsgbyA8IG4ubGVuZ3RoOyBvKyspIG5bb10uYXBwbHkobnVsbCwgdCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZS5mbnMgPSB0LCBlOwogICAgICB9CgogICAgICBmdW5jdGlvbiB5ZSh0LCBlLCBpLCBvLCBzLCBhKSB7CiAgICAgICAgdmFyIGgsIGwsIGMsIHA7CiAgICAgICAgZm9yIChoIGluIHQpIGwgPSB0W2hdLCBjID0gZVtoXSwgcCA9IGdlKGgpLCBuKGwpIHx8IChuKGMpID8gKG4obC5mbnMpICYmIChsID0gdFtoXSA9IG1lKGwpKSwgcihwLm9uY2UpICYmIChsID0gdFtoXSA9IHMocC5uYW1lLCBsLCBwLmNhcHR1cmUpKSwgaShwLm5hbWUsIGwsIHAuY2FwdHVyZSwgcC5wYXNzaXZlLCBwLnBhcmFtcykpIDogbCAhPT0gYyAmJiAoYy5mbnMgPSBsLCB0W2hdID0gYykpOwogICAgICAgIGZvciAoaCBpbiBlKSBuKHRbaF0pICYmIChwID0gZ2UoaCksIG8ocC5uYW1lLCBlW2hdLCBwLmNhcHR1cmUpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdmUodCwgZSwgaSkgewogICAgICAgIHZhciBzOwogICAgICAgIHQgaW5zdGFuY2VvZiBtdCAmJiAodCA9IHQuZGF0YS5ob29rIHx8ICh0LmRhdGEuaG9vayA9IHt9KSk7CiAgICAgICAgdmFyIGEgPSB0W2VdOwoKICAgICAgICBmdW5jdGlvbiBoKCkgewogICAgICAgICAgaS5hcHBseSh0aGlzLCBhcmd1bWVudHMpLCB5KHMuZm5zLCBoKTsKICAgICAgICB9CgogICAgICAgIG4oYSkgPyBzID0gbWUoW2hdKSA6IG8oYS5mbnMpICYmIHIoYS5tZXJnZWQpID8gKHMgPSBhLCBzLmZucy5wdXNoKGgpKSA6IHMgPSBtZShbYSwgaF0pLCBzLm1lcmdlZCA9ICEwLCB0W2VdID0gczsKICAgICAgfQoKICAgICAgZnVuY3Rpb24geGUodCwgZSwgaSkgewogICAgICAgIHZhciByID0gZS5vcHRpb25zLnByb3BzOwogICAgICAgIGlmICghbihyKSkgewogICAgICAgICAgdmFyIHMgPSB7fSwgYSA9IHQuYXR0cnMsIGggPSB0LnByb3BzOwogICAgICAgICAgaWYgKG8oYSkgfHwgbyhoKSkgZm9yICh2YXIgbCBpbiByKSB7CiAgICAgICAgICAgIHZhciBjID0gQyhsKTsKICAgICAgICAgICAgYmUocywgaCwgbCwgYywgITApIHx8IGJlKHMsIGEsIGwsIGMsICExKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBzOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gYmUodCwgZSwgaSwgbiwgcikgewogICAgICAgIGlmIChvKGUpKSB7CiAgICAgICAgICBpZiAoeChlLCBpKSkgcmV0dXJuIHRbaV0gPSBlW2ldLCByIHx8IGRlbGV0ZSBlW2ldLCAhMDsKICAgICAgICAgIGlmICh4KGUsIG4pKSByZXR1cm4gdFtpXSA9IGVbbl0sIHIgfHwgZGVsZXRlIGVbbl0sICEwOwogICAgICAgIH0KICAgICAgICByZXR1cm4gITE7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIF9lKHQpIHsKICAgICAgICBmb3IgKHZhciBlID0gMDsgZSA8IHQubGVuZ3RoOyBlKyspIGlmIChBcnJheS5pc0FycmF5KHRbZV0pKSByZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSwgdCk7CiAgICAgICAgcmV0dXJuIHQ7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHdlKHQpIHsKICAgICAgICByZXR1cm4gYSh0KSA/IFt4dCh0KV0gOiBBcnJheS5pc0FycmF5KHQpID8gU2UodCkgOiB2b2lkIDA7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGtlKHQpIHsKICAgICAgICByZXR1cm4gbyh0KSAmJiBvKHQudGV4dCkgJiYgcyh0LmlzQ29tbWVudCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFNlKHQsIGUpIHsKICAgICAgICB2YXIgaSwgcywgaCwgbCwgYyA9IFtdOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKSBzID0gdFtpXSwgbihzKSB8fCAiYm9vbGVhbiIgPT09IHR5cGVvZiBzIHx8IChoID0gYy5sZW5ndGggLSAxLCBsID0gY1toXSwgQXJyYXkuaXNBcnJheShzKSA/IHMubGVuZ3RoID4gMCAmJiAocyA9IFNlKHMsIChlIHx8ICIiKSArICJfIiArIGkpLCBrZShzWzBdKSAmJiBrZShsKSAmJiAoY1toXSA9IHh0KGwudGV4dCArIHNbMF0udGV4dCksIHMuc2hpZnQoKSksIGMucHVzaC5hcHBseShjLCBzKSkgOiBhKHMpID8ga2UobCkgPyBjW2hdID0geHQobC50ZXh0ICsgcykgOiAiIiAhPT0gcyAmJiBjLnB1c2goeHQocykpIDoga2UocykgJiYga2UobCkgPyBjW2hdID0geHQobC50ZXh0ICsgcy50ZXh0KSA6IChyKHQuX2lzVkxpc3QpICYmIG8ocy50YWcpICYmIG4ocy5rZXkpICYmIG8oZSkgJiYgKHMua2V5ID0gIl9fdmxpc3QiICsgZSArICJfIiArIGkgKyAiX18iKSwgYy5wdXNoKHMpKSk7CiAgICAgICAgcmV0dXJuIGM7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIENlKHQsIGUpIHsKICAgICAgICByZXR1cm4gKHQuX19lc01vZHVsZSB8fCBsdCAmJiAiTW9kdWxlIiA9PT0gdFtTeW1ib2wudG9TdHJpbmdUYWddKSAmJiAodCA9IHQuZGVmYXVsdCksIGgodCkgPyBlLmV4dGVuZCh0KSA6IHQ7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIE1lKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICB2YXIgciA9IHZ0KCk7CiAgICAgICAgcmV0dXJuIHIuYXN5bmNGYWN0b3J5ID0gdCwgci5hc3luY01ldGEgPSB7IGRhdGE6IGUsIGNvbnRleHQ6IGksIGNoaWxkcmVuOiBuLCB0YWc6IG8gfSwgcjsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gQWUodCwgZSwgaSkgewogICAgICAgIGlmIChyKHQuZXJyb3IpICYmIG8odC5lcnJvckNvbXApKSByZXR1cm4gdC5lcnJvckNvbXA7CiAgICAgICAgaWYgKG8odC5yZXNvbHZlZCkpIHJldHVybiB0LnJlc29sdmVkOwogICAgICAgIGlmIChyKHQubG9hZGluZykgJiYgbyh0LmxvYWRpbmdDb21wKSkgcmV0dXJuIHQubG9hZGluZ0NvbXA7CiAgICAgICAgaWYgKCFvKHQuY29udGV4dHMpKSB7CiAgICAgICAgICB2YXIgcyA9IHQuY29udGV4dHMgPSBbaV0sIGEgPSAhMCwgbCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgZm9yICh2YXIgZSA9IDAsIGkgPSBzLmxlbmd0aDsgZSA8IGk7IGUrKykgc1tlXS4kZm9yY2VVcGRhdGUoKTsKICAgICAgICAgICAgdCAmJiAocy5sZW5ndGggPSAwKTsKICAgICAgICAgIH0sIGMgPSBCKChmdW5jdGlvbihpKSB7CiAgICAgICAgICAgIHQucmVzb2x2ZWQgPSBDZShpLCBlKSwgYSB8fCBsKCEwKTsKICAgICAgICAgIH0pKSwgcCA9IEIoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgbyh0LmVycm9yQ29tcCkgJiYgKHQuZXJyb3IgPSAhMCwgbCghMCkpOwogICAgICAgICAgfSkpLCBkID0gdChjLCBwKTsKICAgICAgICAgIHJldHVybiBoKGQpICYmICgiZnVuY3Rpb24iID09PSB0eXBlb2YgZC50aGVuID8gbih0LnJlc29sdmVkKSAmJiBkLnRoZW4oYywgcCkgOiBvKGQuY29tcG9uZW50KSAmJiAiZnVuY3Rpb24iID09PSB0eXBlb2YgZC5jb21wb25lbnQudGhlbiAmJiAoZC5jb21wb25lbnQudGhlbihjLCBwKSwgbyhkLmVycm9yKSAmJiAodC5lcnJvckNvbXAgPSBDZShkLmVycm9yLCBlKSksIG8oZC5sb2FkaW5nKSAmJiAodC5sb2FkaW5nQ29tcCA9IENlKGQubG9hZGluZywgZSksIDAgPT09IGQuZGVsYXkgPyB0LmxvYWRpbmcgPSAhMCA6IHNldFRpbWVvdXQoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBuKHQucmVzb2x2ZWQpICYmIG4odC5lcnJvcikgJiYgKHQubG9hZGluZyA9ICEwLCBsKCExKSk7CiAgICAgICAgICB9KSwgZC5kZWxheSB8fCAyMDApKSwgbyhkLnRpbWVvdXQpICYmIHNldFRpbWVvdXQoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBuKHQucmVzb2x2ZWQpICYmIHAobnVsbCk7CiAgICAgICAgICB9KSwgZC50aW1lb3V0KSkpLCBhID0gITEsIHQubG9hZGluZyA/IHQubG9hZGluZ0NvbXAgOiB0LnJlc29sdmVkOwogICAgICAgIH0KICAgICAgICB0LmNvbnRleHRzLnB1c2goaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFBlKHQpIHsKICAgICAgICByZXR1cm4gdC5pc0NvbW1lbnQgJiYgdC5hc3luY0ZhY3Rvcnk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIE9lKHQpIHsKICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0KSkgZm9yICh2YXIgZSA9IDA7IGUgPCB0Lmxlbmd0aDsgZSsrKSB7CiAgICAgICAgICB2YXIgaSA9IHRbZV07CiAgICAgICAgICBpZiAobyhpKSAmJiAobyhpLmNvbXBvbmVudE9wdGlvbnMpIHx8IFBlKGkpKSkgcmV0dXJuIGk7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBUZSh0KSB7CiAgICAgICAgdC5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKSwgdC5faGFzSG9va0V2ZW50ID0gITE7CiAgICAgICAgdmFyIGUgPSB0LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7CiAgICAgICAgZSAmJiBEZSh0LCBlKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gRWUodCwgZSkgewogICAgICAgIGZlLiRvbih0LCBlKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gTGUodCwgZSkgewogICAgICAgIGZlLiRvZmYodCwgZSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGplKHQsIGUpIHsKICAgICAgICB2YXIgaSA9IGZlOwogICAgICAgIHJldHVybiBmdW5jdGlvbiBuKCkgewogICAgICAgICAgdmFyIG8gPSBlLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgICAgICBudWxsICE9PSBvICYmIGkuJG9mZih0LCBuKTsKICAgICAgICB9OwogICAgICB9CgogICAgICBmdW5jdGlvbiBEZSh0LCBlLCBpKSB7CiAgICAgICAgZmUgPSB0LCB5ZShlLCBpIHx8IHt9LCBFZSwgTGUsIGplLCB0KSwgZmUgPSB2b2lkIDA7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEllKHQpIHsKICAgICAgICB2YXIgZSA9IC9eaG9vazovOwogICAgICAgIHQucHJvdG90eXBlLiRvbiA9IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgIHZhciBuID0gdGhpczsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHQpKSBmb3IgKHZhciBvID0gMCwgciA9IHQubGVuZ3RoOyBvIDwgcjsgbysrKSBuLiRvbih0W29dLCBpKTsgZWxzZSAobi5fZXZlbnRzW3RdIHx8IChuLl9ldmVudHNbdF0gPSBbXSkpLnB1c2goaSksIGUudGVzdCh0KSAmJiAobi5faGFzSG9va0V2ZW50ID0gITApOwogICAgICAgICAgcmV0dXJuIG47CiAgICAgICAgfSwgdC5wcm90b3R5cGUuJG9uY2UgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICB2YXIgaSA9IHRoaXM7CgogICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgaS4kb2ZmKHQsIG4pLCBlLmFwcGx5KGksIGFyZ3VtZW50cyk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIG4uZm4gPSBlLCBpLiRvbih0LCBuKSwgaTsKICAgICAgICB9LCB0LnByb3RvdHlwZS4kb2ZmID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgdmFyIGkgPSB0aGlzOwogICAgICAgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gaS5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKSwgaTsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHQpKSB7CiAgICAgICAgICAgIGZvciAodmFyIG4gPSAwLCBvID0gdC5sZW5ndGg7IG4gPCBvOyBuKyspIGkuJG9mZih0W25dLCBlKTsKICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgciA9IGkuX2V2ZW50c1t0XTsKICAgICAgICAgIGlmICghcikgcmV0dXJuIGk7CiAgICAgICAgICBpZiAoIWUpIHJldHVybiBpLl9ldmVudHNbdF0gPSBudWxsLCBpOwogICAgICAgICAgaWYgKGUpIHsKICAgICAgICAgICAgdmFyIHMsIGEgPSByLmxlbmd0aDsKICAgICAgICAgICAgd2hpbGUgKGEtLSkgaWYgKHMgPSByW2FdLCBzID09PSBlIHx8IHMuZm4gPT09IGUpIHsKICAgICAgICAgICAgICByLnNwbGljZShhLCAxKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgfSwgdC5wcm90b3R5cGUuJGVtaXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBlLl9ldmVudHNbdF07CiAgICAgICAgICBpZiAoaSkgewogICAgICAgICAgICBpID0gaS5sZW5ndGggPiAxID8gTyhpKSA6IGk7CiAgICAgICAgICAgIGZvciAodmFyIG4gPSBPKGFyZ3VtZW50cywgMSksIG8gPSAwLCByID0gaS5sZW5ndGg7IG8gPCByOyBvKyspIHRyeSB7CiAgICAgICAgICAgICAgaVtvXS5hcHBseShlLCBuKTsKICAgICAgICAgICAgfSBjYXRjaCAoYXMpIHsKICAgICAgICAgICAgICBadChhcywgZSwgImV2ZW50IGhhbmRsZXIgZm9yIFwiIiArIHQgKyAiXCIiKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGU7CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gemUodCwgZSkgewogICAgICAgIHZhciBpID0ge307CiAgICAgICAgaWYgKCF0KSByZXR1cm4gaTsKICAgICAgICBmb3IgKHZhciBuID0gMCwgbyA9IHQubGVuZ3RoOyBuIDwgbzsgbisrKSB7CiAgICAgICAgICB2YXIgciA9IHRbbl0sIHMgPSByLmRhdGE7CiAgICAgICAgICBpZiAocyAmJiBzLmF0dHJzICYmIHMuYXR0cnMuc2xvdCAmJiBkZWxldGUgcy5hdHRycy5zbG90LCByLmNvbnRleHQgIT09IGUgJiYgci5mbkNvbnRleHQgIT09IGUgfHwgIXMgfHwgbnVsbCA9PSBzLnNsb3QpIChpLmRlZmF1bHQgfHwgKGkuZGVmYXVsdCA9IFtdKSkucHVzaChyKTsgZWxzZSB7CiAgICAgICAgICAgIHZhciBhID0gcy5zbG90LCBoID0gaVthXSB8fCAoaVthXSA9IFtdKTsKICAgICAgICAgICAgInRlbXBsYXRlIiA9PT0gci50YWcgPyBoLnB1c2guYXBwbHkoaCwgci5jaGlsZHJlbiB8fCBbXSkgOiBoLnB1c2gocik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAodmFyIGwgaW4gaSkgaVtsXS5ldmVyeShCZSkgJiYgZGVsZXRlIGlbbF07CiAgICAgICAgcmV0dXJuIGk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEJlKHQpIHsKICAgICAgICByZXR1cm4gdC5pc0NvbW1lbnQgJiYgIXQuYXN5bmNGYWN0b3J5IHx8ICIgIiA9PT0gdC50ZXh0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBSZSh0LCBlKSB7CiAgICAgICAgZSA9IGUgfHwge307CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKSBBcnJheS5pc0FycmF5KHRbaV0pID8gUmUodFtpXSwgZSkgOiBlW3RbaV0ua2V5XSA9IHRbaV0uZm47CiAgICAgICAgcmV0dXJuIGU7CiAgICAgIH0KCiAgICAgIHZhciBOZSA9IG51bGw7CgogICAgICBmdW5jdGlvbiBHZSh0KSB7CiAgICAgICAgdmFyIGUgPSBOZTsKICAgICAgICByZXR1cm4gTmUgPSB0LCBmdW5jdGlvbigpIHsKICAgICAgICAgIE5lID0gZTsKICAgICAgICB9OwogICAgICB9CgogICAgICBmdW5jdGlvbiBIZSh0KSB7CiAgICAgICAgdmFyIGUgPSB0LiRvcHRpb25zLCBpID0gZS5wYXJlbnQ7CiAgICAgICAgaWYgKGkgJiYgIWUuYWJzdHJhY3QpIHsKICAgICAgICAgIHdoaWxlIChpLiRvcHRpb25zLmFic3RyYWN0ICYmIGkuJHBhcmVudCkgaSA9IGkuJHBhcmVudDsKICAgICAgICAgIGkuJGNoaWxkcmVuLnB1c2godCk7CiAgICAgICAgfQogICAgICAgIHQuJHBhcmVudCA9IGksIHQuJHJvb3QgPSBpID8gaS4kcm9vdCA6IHQsIHQuJGNoaWxkcmVuID0gW10sIHQuJHJlZnMgPSB7fSwgdC5fd2F0Y2hlciA9IG51bGwsIHQuX2luYWN0aXZlID0gbnVsbCwgdC5fZGlyZWN0SW5hY3RpdmUgPSAhMSwgdC5faXNNb3VudGVkID0gITEsIHQuX2lzRGVzdHJveWVkID0gITEsIHQuX2lzQmVpbmdEZXN0cm95ZWQgPSAhMTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gV2UodCkgewogICAgICAgIHQucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICB2YXIgaSA9IHRoaXMsIG4gPSBpLiRlbCwgbyA9IGkuX3Zub2RlLCByID0gR2UoaSk7CiAgICAgICAgICBpLl92bm9kZSA9IHQsIGkuJGVsID0gbyA/IGkuX19wYXRjaF9fKG8sIHQpIDogaS5fX3BhdGNoX18oaS4kZWwsIHQsIGUsICExKSwgcigpLCBuICYmIChuLl9fdnVlX18gPSBudWxsKSwgaS4kZWwgJiYgKGkuJGVsLl9fdnVlX18gPSBpKSwgaS4kdm5vZGUgJiYgaS4kcGFyZW50ICYmIGkuJHZub2RlID09PSBpLiRwYXJlbnQuX3Zub2RlICYmIChpLiRwYXJlbnQuJGVsID0gaS4kZWwpOwogICAgICAgIH0sIHQucHJvdG90eXBlLiRmb3JjZVVwZGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSB0aGlzOwogICAgICAgICAgdC5fd2F0Y2hlciAmJiB0Ll93YXRjaGVyLnVwZGF0ZSgpOwogICAgICAgIH0sIHQucHJvdG90eXBlLiRkZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IHRoaXM7CiAgICAgICAgICBpZiAoIXQuX2lzQmVpbmdEZXN0cm95ZWQpIHsKICAgICAgICAgICAgJGUodCwgImJlZm9yZURlc3Ryb3kiKSwgdC5faXNCZWluZ0Rlc3Ryb3llZCA9ICEwOwogICAgICAgICAgICB2YXIgZSA9IHQuJHBhcmVudDsKICAgICAgICAgICAgIWUgfHwgZS5faXNCZWluZ0Rlc3Ryb3llZCB8fCB0LiRvcHRpb25zLmFic3RyYWN0IHx8IHkoZS4kY2hpbGRyZW4sIHQpLCB0Ll93YXRjaGVyICYmIHQuX3dhdGNoZXIudGVhcmRvd24oKTsKICAgICAgICAgICAgdmFyIGkgPSB0Ll93YXRjaGVycy5sZW5ndGg7CiAgICAgICAgICAgIHdoaWxlIChpLS0pIHQuX3dhdGNoZXJzW2ldLnRlYXJkb3duKCk7CiAgICAgICAgICAgIHQuX2RhdGEuX19vYl9fICYmIHQuX2RhdGEuX19vYl9fLnZtQ291bnQtLSwgdC5faXNEZXN0cm95ZWQgPSAhMCwgdC5fX3BhdGNoX18odC5fdm5vZGUsIG51bGwpLCAkZSh0LCAiZGVzdHJveWVkIiksIHQuJG9mZigpLCB0LiRlbCAmJiAodC4kZWwuX192dWVfXyA9IG51bGwpLCB0LiR2bm9kZSAmJiAodC4kdm5vZGUucGFyZW50ID0gbnVsbCk7CiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gRmUodCwgZSwgaSkgewogICAgICAgIHZhciBuOwogICAgICAgIHJldHVybiB0LiRlbCA9IGUsIHQuJG9wdGlvbnMucmVuZGVyIHx8ICh0LiRvcHRpb25zLnJlbmRlciA9IHZ0KSwgJGUodCwgImJlZm9yZU1vdW50IiksIG4gPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHQuX3VwZGF0ZSh0Ll9yZW5kZXIoKSwgaSk7CiAgICAgICAgfSwgbmV3IGhpKHQsIG4sIEwsIHsKICAgICAgICAgIGJlZm9yZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHQuX2lzTW91bnRlZCAmJiAhdC5faXNEZXN0cm95ZWQgJiYgJGUodCwgImJlZm9yZVVwZGF0ZSIpOwogICAgICAgICAgfQogICAgICAgIH0sICEwKSwgaSA9ICExLCBudWxsID09IHQuJHZub2RlICYmICh0Ll9pc01vdW50ZWQgPSAhMCwgJGUodCwgIm1vdW50ZWQiKSksIHQ7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFhlKHQsIGUsIG4sIG8sIHIpIHsKICAgICAgICB2YXIgcyA9ICEhKHIgfHwgdC4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4gfHwgby5kYXRhLnNjb3BlZFNsb3RzIHx8IHQuJHNjb3BlZFNsb3RzICE9PSBpKTsKICAgICAgICBpZiAodC4kb3B0aW9ucy5fcGFyZW50Vm5vZGUgPSBvLCB0LiR2bm9kZSA9IG8sIHQuX3Zub2RlICYmICh0Ll92bm9kZS5wYXJlbnQgPSBvKSwgdC4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4gPSByLCB0LiRhdHRycyA9IG8uZGF0YS5hdHRycyB8fCBpLCB0LiRsaXN0ZW5lcnMgPSBuIHx8IGksIGUgJiYgdC4kb3B0aW9ucy5wcm9wcykgewogICAgICAgICAgTXQoITEpOwogICAgICAgICAgZm9yICh2YXIgYSA9IHQuX3Byb3BzLCBoID0gdC4kb3B0aW9ucy5fcHJvcEtleXMgfHwgW10sIGwgPSAwOyBsIDwgaC5sZW5ndGg7IGwrKykgewogICAgICAgICAgICB2YXIgYyA9IGhbbF0sIHAgPSB0LiRvcHRpb25zLnByb3BzOwogICAgICAgICAgICBhW2NdID0gWXQoYywgcCwgZSwgdCk7CiAgICAgICAgICB9CiAgICAgICAgICBNdCghMCksIHQuJG9wdGlvbnMucHJvcHNEYXRhID0gZTsKICAgICAgICB9CiAgICAgICAgbiA9IG4gfHwgaTsKICAgICAgICB2YXIgZCA9IHQuJG9wdGlvbnMuX3BhcmVudExpc3RlbmVyczsKICAgICAgICB0LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnMgPSBuLCBEZSh0LCBuLCBkKSwgcyAmJiAodC4kc2xvdHMgPSB6ZShyLCBvLmNvbnRleHQpLCB0LiRmb3JjZVVwZGF0ZSgpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gVWUodCkgewogICAgICAgIHdoaWxlICh0ICYmICh0ID0gdC4kcGFyZW50KSkgaWYgKHQuX2luYWN0aXZlKSByZXR1cm4gITA7CiAgICAgICAgcmV0dXJuICExOwogICAgICB9CgogICAgICBmdW5jdGlvbiBZZSh0LCBlKSB7CiAgICAgICAgaWYgKGUpIHsKICAgICAgICAgIGlmICh0Ll9kaXJlY3RJbmFjdGl2ZSA9ICExLCBVZSh0KSkgcmV0dXJuOwogICAgICAgIH0gZWxzZSBpZiAodC5fZGlyZWN0SW5hY3RpdmUpIHJldHVybjsKICAgICAgICBpZiAodC5faW5hY3RpdmUgfHwgbnVsbCA9PT0gdC5faW5hY3RpdmUpIHsKICAgICAgICAgIHQuX2luYWN0aXZlID0gITE7CiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHQuJGNoaWxkcmVuLmxlbmd0aDsgaSsrKSBZZSh0LiRjaGlsZHJlbltpXSk7CiAgICAgICAgICAkZSh0LCAiYWN0aXZhdGVkIik7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBWZSh0LCBlKSB7CiAgICAgICAgaWYgKCghZSB8fCAodC5fZGlyZWN0SW5hY3RpdmUgPSAhMCwgIVVlKHQpKSkgJiYgIXQuX2luYWN0aXZlKSB7CiAgICAgICAgICB0Ll9pbmFjdGl2ZSA9ICEwOwogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0LiRjaGlsZHJlbi5sZW5ndGg7IGkrKykgVmUodC4kY2hpbGRyZW5baV0pOwogICAgICAgICAgJGUodCwgImRlYWN0aXZhdGVkIik7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiAkZSh0LCBlKSB7CiAgICAgICAgZnQoKTsKICAgICAgICB2YXIgaSA9IHQuJG9wdGlvbnNbZV07CiAgICAgICAgaWYgKGkpIGZvciAodmFyIG4gPSAwLCBvID0gaS5sZW5ndGg7IG4gPCBvOyBuKyspIHRyeSB7CiAgICAgICAgICBpW25dLmNhbGwodCk7CiAgICAgICAgfSBjYXRjaCAoYXMpIHsKICAgICAgICAgIFp0KGFzLCB0LCBlICsgIiBob29rIik7CiAgICAgICAgfQogICAgICAgIHQuX2hhc0hvb2tFdmVudCAmJiB0LiRlbWl0KCJob29rOiIgKyBlKSwgZ3QoKTsKICAgICAgfQoKICAgICAgdmFyIEtlID0gW10sIHFlID0gW10sIFplID0ge30sIEplID0gITEsIFFlID0gITEsIHRpID0gMDsKCiAgICAgIGZ1bmN0aW9uIGVpKCkgewogICAgICAgIHRpID0gS2UubGVuZ3RoID0gcWUubGVuZ3RoID0gMCwgWmUgPSB7fSwgSmUgPSBRZSA9ICExOwogICAgICB9CgogICAgICBmdW5jdGlvbiBpaSgpIHsKICAgICAgICB2YXIgdCwgZTsKICAgICAgICBmb3IgKFFlID0gITAsIEtlLnNvcnQoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgIHJldHVybiB0LmlkIC0gZS5pZDsKICAgICAgICB9KSksIHRpID0gMDsgdGkgPCBLZS5sZW5ndGg7IHRpKyspIHQgPSBLZVt0aV0sIHQuYmVmb3JlICYmIHQuYmVmb3JlKCksIGUgPSB0LmlkLCBaZVtlXSA9IG51bGwsIHQucnVuKCk7CiAgICAgICAgdmFyIGkgPSBxZS5zbGljZSgpLCBuID0gS2Uuc2xpY2UoKTsKICAgICAgICBlaSgpLCByaShpKSwgbmkobiksIHN0ICYmIEguZGV2dG9vbHMgJiYgc3QuZW1pdCgiZmx1c2giKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gbmkodCkgewogICAgICAgIHZhciBlID0gdC5sZW5ndGg7CiAgICAgICAgd2hpbGUgKGUtLSkgewogICAgICAgICAgdmFyIGkgPSB0W2VdLCBuID0gaS52bTsKICAgICAgICAgIG4uX3dhdGNoZXIgPT09IGkgJiYgbi5faXNNb3VudGVkICYmICFuLl9pc0Rlc3Ryb3llZCAmJiAkZShuLCAidXBkYXRlZCIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gb2kodCkgewogICAgICAgIHQuX2luYWN0aXZlID0gITEsIHFlLnB1c2godCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHJpKHQpIHsKICAgICAgICBmb3IgKHZhciBlID0gMDsgZSA8IHQubGVuZ3RoOyBlKyspIHRbZV0uX2luYWN0aXZlID0gITAsIFllKHRbZV0sICEwKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gc2kodCkgewogICAgICAgIHZhciBlID0gdC5pZDsKICAgICAgICBpZiAobnVsbCA9PSBaZVtlXSkgewogICAgICAgICAgaWYgKFplW2VdID0gITAsIFFlKSB7CiAgICAgICAgICAgIHZhciBpID0gS2UubGVuZ3RoIC0gMTsKICAgICAgICAgICAgd2hpbGUgKGkgPiB0aSAmJiBLZVtpXS5pZCA+IHQuaWQpIGktLTsKICAgICAgICAgICAgS2Uuc3BsaWNlKGkgKyAxLCAwLCB0KTsKICAgICAgICAgIH0gZWxzZSBLZS5wdXNoKHQpOwogICAgICAgICAgSmUgfHwgKEplID0gITAsIGNlKGlpKSk7CiAgICAgICAgfQogICAgICB9CgogICAgICB2YXIgYWkgPSAwLCBoaSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICB0aGlzLnZtID0gdCwgbyAmJiAodC5fd2F0Y2hlciA9IHRoaXMpLCB0Ll93YXRjaGVycy5wdXNoKHRoaXMpLCBuID8gKHRoaXMuZGVlcCA9ICEhbi5kZWVwLCB0aGlzLnVzZXIgPSAhIW4udXNlciwgdGhpcy5sYXp5ID0gISFuLmxhenksIHRoaXMuc3luYyA9ICEhbi5zeW5jLCB0aGlzLmJlZm9yZSA9IG4uYmVmb3JlKSA6IHRoaXMuZGVlcCA9IHRoaXMudXNlciA9IHRoaXMubGF6eSA9IHRoaXMuc3luYyA9ICExLCB0aGlzLmNiID0gaSwgdGhpcy5pZCA9ICsrYWksIHRoaXMuYWN0aXZlID0gITAsIHRoaXMuZGlydHkgPSB0aGlzLmxhenksIHRoaXMuZGVwcyA9IFtdLCB0aGlzLm5ld0RlcHMgPSBbXSwgdGhpcy5kZXBJZHMgPSBuZXcgaHQsIHRoaXMubmV3RGVwSWRzID0gbmV3IGh0LCB0aGlzLmV4cHJlc3Npb24gPSAiIiwgImZ1bmN0aW9uIiA9PT0gdHlwZW9mIGUgPyB0aGlzLmdldHRlciA9IGUgOiAodGhpcy5nZXR0ZXIgPSBVKGUpLCB0aGlzLmdldHRlciB8fCAodGhpcy5nZXR0ZXIgPSBMKSksIHRoaXMudmFsdWUgPSB0aGlzLmxhenkgPyB2b2lkIDAgOiB0aGlzLmdldCgpOwogICAgICB9OwogICAgICBoaS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHQ7CiAgICAgICAgZnQodGhpcyk7CiAgICAgICAgdmFyIGUgPSB0aGlzLnZtOwogICAgICAgIHRyeSB7CiAgICAgICAgICB0ID0gdGhpcy5nZXR0ZXIuY2FsbChlLCBlKTsKICAgICAgICB9IGNhdGNoIChhcykgewogICAgICAgICAgaWYgKCF0aGlzLnVzZXIpIHRocm93IGFzOwogICAgICAgICAgWnQoYXMsIGUsICJnZXR0ZXIgZm9yIHdhdGNoZXIgXCIiICsgdGhpcy5leHByZXNzaW9uICsgIlwiIik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgIHRoaXMuZGVlcCAmJiBkZSh0KSwgZ3QoKSwgdGhpcy5jbGVhbnVwRGVwcygpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdDsKICAgICAgfSwgaGkucHJvdG90eXBlLmFkZERlcCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9IHQuaWQ7CiAgICAgICAgdGhpcy5uZXdEZXBJZHMuaGFzKGUpIHx8ICh0aGlzLm5ld0RlcElkcy5hZGQoZSksIHRoaXMubmV3RGVwcy5wdXNoKHQpLCB0aGlzLmRlcElkcy5oYXMoZSkgfHwgdC5hZGRTdWIodGhpcykpOwogICAgICB9LCBoaS5wcm90b3R5cGUuY2xlYW51cERlcHMgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgdCA9IHRoaXMuZGVwcy5sZW5ndGg7CiAgICAgICAgd2hpbGUgKHQtLSkgewogICAgICAgICAgdmFyIGUgPSB0aGlzLmRlcHNbdF07CiAgICAgICAgICB0aGlzLm5ld0RlcElkcy5oYXMoZS5pZCkgfHwgZS5yZW1vdmVTdWIodGhpcyk7CiAgICAgICAgfQogICAgICAgIHZhciBpID0gdGhpcy5kZXBJZHM7CiAgICAgICAgdGhpcy5kZXBJZHMgPSB0aGlzLm5ld0RlcElkcywgdGhpcy5uZXdEZXBJZHMgPSBpLCB0aGlzLm5ld0RlcElkcy5jbGVhcigpLCBpID0gdGhpcy5kZXBzLCB0aGlzLmRlcHMgPSB0aGlzLm5ld0RlcHMsIHRoaXMubmV3RGVwcyA9IGksIHRoaXMubmV3RGVwcy5sZW5ndGggPSAwOwogICAgICB9LCBoaS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5sYXp5ID8gdGhpcy5kaXJ0eSA9ICEwIDogdGhpcy5zeW5jID8gdGhpcy5ydW4oKSA6IHNpKHRoaXMpOwogICAgICB9LCBoaS5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7CiAgICAgICAgICB2YXIgdCA9IHRoaXMuZ2V0KCk7CiAgICAgICAgICBpZiAodCAhPT0gdGhpcy52YWx1ZSB8fCBoKHQpIHx8IHRoaXMuZGVlcCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMudmFsdWU7CiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlID0gdCwgdGhpcy51c2VyKSB0cnkgewogICAgICAgICAgICAgIHRoaXMuY2IuY2FsbCh0aGlzLnZtLCB0LCBlKTsKICAgICAgICAgICAgfSBjYXRjaCAoYXMpIHsKICAgICAgICAgICAgICBadChhcywgdGhpcy52bSwgImNhbGxiYWNrIGZvciB3YXRjaGVyIFwiIiArIHRoaXMuZXhwcmVzc2lvbiArICJcIiIpOwogICAgICAgICAgICB9IGVsc2UgdGhpcy5jYi5jYWxsKHRoaXMudm0sIHQsIGUpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgaGkucHJvdG90eXBlLmV2YWx1YXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0KCksIHRoaXMuZGlydHkgPSAhMTsKICAgICAgfSwgaGkucHJvdG90eXBlLmRlcGVuZCA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciB0ID0gdGhpcy5kZXBzLmxlbmd0aDsKICAgICAgICB3aGlsZSAodC0tKSB0aGlzLmRlcHNbdF0uZGVwZW5kKCk7CiAgICAgIH0sIGhpLnByb3RvdHlwZS50ZWFyZG93biA9IGZ1bmN0aW9uKCkgewogICAgICAgIGlmICh0aGlzLmFjdGl2ZSkgewogICAgICAgICAgdGhpcy52bS5faXNCZWluZ0Rlc3Ryb3llZCB8fCB5KHRoaXMudm0uX3dhdGNoZXJzLCB0aGlzKTsKICAgICAgICAgIHZhciB0ID0gdGhpcy5kZXBzLmxlbmd0aDsKICAgICAgICAgIHdoaWxlICh0LS0pIHRoaXMuZGVwc1t0XS5yZW1vdmVTdWIodGhpcyk7CiAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICExOwogICAgICAgIH0KICAgICAgfTsKICAgICAgdmFyIGxpID0geyBlbnVtZXJhYmxlOiAhMCwgY29uZmlndXJhYmxlOiAhMCwgZ2V0OiBMLCBzZXQ6IEwgfTsKCiAgICAgIGZ1bmN0aW9uIGNpKHQsIGUsIGkpIHsKICAgICAgICBsaS5nZXQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHJldHVybiB0aGlzW2VdW2ldOwogICAgICAgIH0sIGxpLnNldCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHRoaXNbZV1baV0gPSB0OwogICAgICAgIH0sIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBpLCBsaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHBpKHQpIHsKICAgICAgICB0Ll93YXRjaGVycyA9IFtdOwogICAgICAgIHZhciBlID0gdC4kb3B0aW9uczsKICAgICAgICBlLnByb3BzICYmIGRpKHQsIGUucHJvcHMpLCBlLm1ldGhvZHMgJiYgYmkodCwgZS5tZXRob2RzKSwgZS5kYXRhID8gdWkodCkgOiBUdCh0Ll9kYXRhID0ge30sICEwKSwgZS5jb21wdXRlZCAmJiBtaSh0LCBlLmNvbXB1dGVkKSwgZS53YXRjaCAmJiBlLndhdGNoICE9PSBpdCAmJiBfaSh0LCBlLndhdGNoKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZGkodCwgZSkgewogICAgICAgIHZhciBpID0gdC4kb3B0aW9ucy5wcm9wc0RhdGEgfHwge30sIG4gPSB0Ll9wcm9wcyA9IHt9LCBvID0gdC4kb3B0aW9ucy5fcHJvcEtleXMgPSBbXSwgciA9ICF0LiRwYXJlbnQ7CiAgICAgICAgciB8fCBNdCghMSk7CiAgICAgICAgdmFyIHMgPSBmdW5jdGlvbihyKSB7CiAgICAgICAgICBvLnB1c2gocik7CiAgICAgICAgICB2YXIgcyA9IFl0KHIsIGUsIGksIHQpOwogICAgICAgICAgRXQobiwgciwgcyksIHIgaW4gdCB8fCBjaSh0LCAiX3Byb3BzIiwgcik7CiAgICAgICAgfTsKICAgICAgICBmb3IgKHZhciBhIGluIGUpIHMoYSk7CiAgICAgICAgTXQoITApOwogICAgICB9CgogICAgICBmdW5jdGlvbiB1aSh0KSB7CiAgICAgICAgdmFyIGUgPSB0LiRvcHRpb25zLmRhdGE7CiAgICAgICAgZSA9IHQuX2RhdGEgPSAiZnVuY3Rpb24iID09PSB0eXBlb2YgZSA/IGZpKGUsIHQpIDogZSB8fCB7fSwgYyhlKSB8fCAoZSA9IHt9KTsKICAgICAgICB2YXIgaSA9IE9iamVjdC5rZXlzKGUpLCBuID0gdC4kb3B0aW9ucy5wcm9wcywgbyA9ICh0LiRvcHRpb25zLm1ldGhvZHMsIGkubGVuZ3RoKTsKICAgICAgICB3aGlsZSAoby0tKSB7CiAgICAgICAgICB2YXIgciA9IGlbb107CiAgICAgICAgICAwLCBuICYmIHgobiwgcikgfHwgVyhyKSB8fCBjaSh0LCAiX2RhdGEiLCByKTsKICAgICAgICB9CiAgICAgICAgVHQoZSwgITApOwogICAgICB9CgogICAgICBmdW5jdGlvbiBmaSh0LCBlKSB7CiAgICAgICAgZnQoKTsKICAgICAgICB0cnkgewogICAgICAgICAgcmV0dXJuIHQuY2FsbChlLCBlKTsKICAgICAgICB9IGNhdGNoIChhcykgewogICAgICAgICAgcmV0dXJuIFp0KGFzLCBlLCAiZGF0YSgpIiksIHt9OwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICBndCgpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIGdpID0geyBsYXp5OiAhMCB9OwoKICAgICAgZnVuY3Rpb24gbWkodCwgZSkgewogICAgICAgIHZhciBpID0gdC5fY29tcHV0ZWRXYXRjaGVycyA9IE9iamVjdC5jcmVhdGUobnVsbCksIG4gPSBydCgpOwogICAgICAgIGZvciAodmFyIG8gaW4gZSkgewogICAgICAgICAgdmFyIHIgPSBlW29dLCBzID0gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIHIgPyByIDogci5nZXQ7CiAgICAgICAgICAwLCBuIHx8IChpW29dID0gbmV3IGhpKHQsIHMgfHwgTCwgTCwgZ2kpKSwgbyBpbiB0IHx8IHlpKHQsIG8sIHIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24geWkodCwgZSwgaSkgewogICAgICAgIHZhciBuID0gIXJ0KCk7CiAgICAgICAgImZ1bmN0aW9uIiA9PT0gdHlwZW9mIGkgPyAobGkuZ2V0ID0gbiA/IHZpKGUpIDogeGkoaSksIGxpLnNldCA9IEwpIDogKGxpLmdldCA9IGkuZ2V0ID8gbiAmJiAhMSAhPT0gaS5jYWNoZSA/IHZpKGUpIDogeGkoaS5nZXQpIDogTCwgbGkuc2V0ID0gaS5zZXQgfHwgTCksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBlLCBsaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHZpKHQpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgZSA9IHRoaXMuX2NvbXB1dGVkV2F0Y2hlcnMgJiYgdGhpcy5fY29tcHV0ZWRXYXRjaGVyc1t0XTsKICAgICAgICAgIGlmIChlKSByZXR1cm4gZS5kaXJ0eSAmJiBlLmV2YWx1YXRlKCksIGR0LnRhcmdldCAmJiBlLmRlcGVuZCgpLCBlLnZhbHVlOwogICAgICAgIH07CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHhpKHQpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gdC5jYWxsKHRoaXMsIHRoaXMpOwogICAgICAgIH07CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGJpKHQsIGUpIHsKICAgICAgICB0LiRvcHRpb25zLnByb3BzOwogICAgICAgIGZvciAodmFyIGkgaW4gZSkgdFtpXSA9ICJmdW5jdGlvbiIgIT09IHR5cGVvZiBlW2ldID8gTCA6IFAoZVtpXSwgdCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIF9pKHQsIGUpIHsKICAgICAgICBmb3IgKHZhciBpIGluIGUpIHsKICAgICAgICAgIHZhciBuID0gZVtpXTsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4pKSBmb3IgKHZhciBvID0gMDsgbyA8IG4ubGVuZ3RoOyBvKyspIHdpKHQsIGksIG5bb10pOyBlbHNlIHdpKHQsIGksIG4pOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gd2kodCwgZSwgaSwgbikgewogICAgICAgIHJldHVybiBjKGkpICYmIChuID0gaSwgaSA9IGkuaGFuZGxlciksICJzdHJpbmciID09PSB0eXBlb2YgaSAmJiAoaSA9IHRbaV0pLCB0LiR3YXRjaChlLCBpLCBuKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24ga2kodCkgewogICAgICAgIHZhciBlID0gewogICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7CiAgICAgICAgICB9CiAgICAgICAgfSwgaSA9IHsKICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wcm9wczsKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwgIiRkYXRhIiwgZSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwgIiRwcm9wcyIsIGkpLCB0LnByb3RvdHlwZS4kc2V0ID0gTHQsIHQucHJvdG90eXBlLiRkZWxldGUgPSBqdCwgdC5wcm90b3R5cGUuJHdhdGNoID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgdmFyIG4gPSB0aGlzOwogICAgICAgICAgaWYgKGMoZSkpIHJldHVybiB3aShuLCB0LCBlLCBpKTsKICAgICAgICAgIGkgPSBpIHx8IHt9LCBpLnVzZXIgPSAhMDsKICAgICAgICAgIHZhciBvID0gbmV3IGhpKG4sIHQsIGUsIGkpOwogICAgICAgICAgaWYgKGkuaW1tZWRpYXRlKSB0cnkgewogICAgICAgICAgICBlLmNhbGwobiwgby52YWx1ZSk7CiAgICAgICAgICB9IGNhdGNoIChyKSB7CiAgICAgICAgICAgIFp0KHIsIG4sICJjYWxsYmFjayBmb3IgaW1tZWRpYXRlIHdhdGNoZXIgXCIiICsgby5leHByZXNzaW9uICsgIlwiIik7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIG8udGVhcmRvd24oKTsKICAgICAgICAgIH07CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gU2kodCkgewogICAgICAgIHZhciBlID0gdC4kb3B0aW9ucy5wcm92aWRlOwogICAgICAgIGUgJiYgKHQuX3Byb3ZpZGVkID0gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIGUgPyBlLmNhbGwodCkgOiBlKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gQ2kodCkgewogICAgICAgIHZhciBlID0gTWkodC4kb3B0aW9ucy5pbmplY3QsIHQpOwogICAgICAgIGUgJiYgKE10KCExKSwgT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24oaSkgewogICAgICAgICAgRXQodCwgaSwgZVtpXSk7CiAgICAgICAgfSkpLCBNdCghMCkpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBNaSh0LCBlKSB7CiAgICAgICAgaWYgKHQpIHsKICAgICAgICAgIGZvciAodmFyIGkgPSBPYmplY3QuY3JlYXRlKG51bGwpLCBuID0gbHQgPyBSZWZsZWN0Lm93bktleXModCkuZmlsdGVyKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsIGUpLmVudW1lcmFibGU7CiAgICAgICAgICB9KSkgOiBPYmplY3Qua2V5cyh0KSwgbyA9IDA7IG8gPCBuLmxlbmd0aDsgbysrKSB7CiAgICAgICAgICAgIHZhciByID0gbltvXSwgcyA9IHRbcl0uZnJvbSwgYSA9IGU7CiAgICAgICAgICAgIHdoaWxlIChhKSB7CiAgICAgICAgICAgICAgaWYgKGEuX3Byb3ZpZGVkICYmIHgoYS5fcHJvdmlkZWQsIHMpKSB7CiAgICAgICAgICAgICAgICBpW3JdID0gYS5fcHJvdmlkZWRbc107CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYSA9IGEuJHBhcmVudDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIWEpIGlmICgiZGVmYXVsdCIgaW4gdFtyXSkgewogICAgICAgICAgICAgIHZhciBoID0gdFtyXS5kZWZhdWx0OwogICAgICAgICAgICAgIGlbcl0gPSAiZnVuY3Rpb24iID09PSB0eXBlb2YgaCA/IGguY2FsbChlKSA6IGg7CiAgICAgICAgICAgIH0gZWxzZSAwOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBBaSh0LCBlKSB7CiAgICAgICAgdmFyIGksIG4sIHIsIHMsIGE7CiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodCkgfHwgInN0cmluZyIgPT09IHR5cGVvZiB0KSBmb3IgKGkgPSBuZXcgQXJyYXkodC5sZW5ndGgpLCBuID0gMCwgciA9IHQubGVuZ3RoOyBuIDwgcjsgbisrKSBpW25dID0gZSh0W25dLCBuKTsgZWxzZSBpZiAoIm51bWJlciIgPT09IHR5cGVvZiB0KSBmb3IgKGkgPSBuZXcgQXJyYXkodCksIG4gPSAwOyBuIDwgdDsgbisrKSBpW25dID0gZShuICsgMSwgbik7IGVsc2UgaWYgKGgodCkpIGZvciAocyA9IE9iamVjdC5rZXlzKHQpLCBpID0gbmV3IEFycmF5KHMubGVuZ3RoKSwgbiA9IDAsIHIgPSBzLmxlbmd0aDsgbiA8IHI7IG4rKykgYSA9IHNbbl0sIGlbbl0gPSBlKHRbYV0sIGEsIG4pOwogICAgICAgIHJldHVybiBvKGkpIHx8IChpID0gW10pLCBpLl9pc1ZMaXN0ID0gITAsIGk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFBpKHQsIGUsIGksIG4pIHsKICAgICAgICB2YXIgbywgciA9IHRoaXMuJHNjb3BlZFNsb3RzW3RdOwogICAgICAgIHIgPyAoaSA9IGkgfHwge30sIG4gJiYgKGkgPSBUKFQoe30sIG4pLCBpKSksIG8gPSByKGkpIHx8IGUpIDogbyA9IHRoaXMuJHNsb3RzW3RdIHx8IGU7CiAgICAgICAgdmFyIHMgPSBpICYmIGkuc2xvdDsKICAgICAgICByZXR1cm4gcyA/IHRoaXMuJGNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIiwgeyBzbG90OiBzIH0sIG8pIDogbzsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gT2kodCkgewogICAgICAgIHJldHVybiBVdCh0aGlzLiRvcHRpb25zLCAiZmlsdGVycyIsIHQsICEwKSB8fCBEOwogICAgICB9CgogICAgICBmdW5jdGlvbiBUaSh0LCBlKSB7CiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodCkgPyAtMSA9PT0gdC5pbmRleE9mKGUpIDogdCAhPT0gZTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gRWkodCwgZSwgaSwgbiwgbykgewogICAgICAgIHZhciByID0gSC5rZXlDb2Rlc1tlXSB8fCBpOwogICAgICAgIHJldHVybiBvICYmIG4gJiYgIUgua2V5Q29kZXNbZV0gPyBUaShvLCBuKSA6IHIgPyBUaShyLCB0KSA6IG4gPyBDKG4pICE9PSBlIDogdm9pZCAwOwogICAgICB9CgogICAgICBmdW5jdGlvbiBMaSh0LCBlLCBpLCBuLCBvKSB7CiAgICAgICAgaWYgKGkpIGlmIChoKGkpKSB7CiAgICAgICAgICB2YXIgcjsKICAgICAgICAgIEFycmF5LmlzQXJyYXkoaSkgJiYgKGkgPSBFKGkpKTsKICAgICAgICAgIHZhciBzID0gZnVuY3Rpb24ocykgewogICAgICAgICAgICBpZiAoImNsYXNzIiA9PT0gcyB8fCAic3R5bGUiID09PSBzIHx8IG0ocykpIHIgPSB0OyBlbHNlIHsKICAgICAgICAgICAgICB2YXIgYSA9IHQuYXR0cnMgJiYgdC5hdHRycy50eXBlOwogICAgICAgICAgICAgIHIgPSBuIHx8IEgubXVzdFVzZVByb3AoZSwgYSwgcykgPyB0LmRvbVByb3BzIHx8ICh0LmRvbVByb3BzID0ge30pIDogdC5hdHRycyB8fCAodC5hdHRycyA9IHt9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgaCA9IHcocyk7CiAgICAgICAgICAgIGlmICghKHMgaW4gcikgJiYgIShoIGluIHIpICYmIChyW3NdID0gaVtzXSwgbykpIHsKICAgICAgICAgICAgICB2YXIgbCA9IHQub24gfHwgKHQub24gPSB7fSk7CiAgICAgICAgICAgICAgbFsidXBkYXRlOiIgKyBoXSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGlbc10gPSB0OwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgICBmb3IgKHZhciBhIGluIGkpIHMoYSk7CiAgICAgICAgfSBlbHNlIDsKICAgICAgICByZXR1cm4gdDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gamkodCwgZSkgewogICAgICAgIHZhciBpID0gdGhpcy5fc3RhdGljVHJlZXMgfHwgKHRoaXMuX3N0YXRpY1RyZWVzID0gW10pLCBuID0gaVt0XTsKICAgICAgICByZXR1cm4gbiAmJiAhZSA/IG4gOiAobiA9IGlbdF0gPSB0aGlzLiRvcHRpb25zLnN0YXRpY1JlbmRlckZuc1t0XS5jYWxsKHRoaXMuX3JlbmRlclByb3h5LCBudWxsLCB0aGlzKSwgSWkobiwgIl9fc3RhdGljX18iICsgdCwgITEpLCBuKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gRGkodCwgZSwgaSkgewogICAgICAgIHJldHVybiBJaSh0LCAiX19vbmNlX18iICsgZSArIChpID8gIl8iICsgaSA6ICIiKSwgITApLCB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBJaSh0LCBlLCBpKSB7CiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodCkpIGZvciAodmFyIG4gPSAwOyBuIDwgdC5sZW5ndGg7IG4rKykgdFtuXSAmJiAic3RyaW5nIiAhPT0gdHlwZW9mIHRbbl0gJiYgemkodFtuXSwgZSArICJfIiArIG4sIGkpOyBlbHNlIHppKHQsIGUsIGkpOwogICAgICB9CgogICAgICBmdW5jdGlvbiB6aSh0LCBlLCBpKSB7CiAgICAgICAgdC5pc1N0YXRpYyA9ICEwLCB0LmtleSA9IGUsIHQuaXNPbmNlID0gaTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gQmkodCwgZSkgewogICAgICAgIGlmIChlKSBpZiAoYyhlKSkgewogICAgICAgICAgdmFyIGkgPSB0Lm9uID0gdC5vbiA/IFQoe30sIHQub24pIDoge307CiAgICAgICAgICBmb3IgKHZhciBuIGluIGUpIHsKICAgICAgICAgICAgdmFyIG8gPSBpW25dLCByID0gZVtuXTsKICAgICAgICAgICAgaVtuXSA9IG8gPyBbXS5jb25jYXQobywgcikgOiByOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSA7CiAgICAgICAgcmV0dXJuIHQ7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFJpKHQpIHsKICAgICAgICB0Ll9vID0gRGksIHQuX24gPSBmLCB0Ll9zID0gdSwgdC5fbCA9IEFpLCB0Ll90ID0gUGksIHQuX3EgPSBJLCB0Ll9pID0geiwgdC5fbSA9IGppLCB0Ll9mID0gT2ksIHQuX2sgPSBFaSwgdC5fYiA9IExpLCB0Ll92ID0geHQsIHQuX2UgPSB2dCwgdC5fdSA9IFJlLCB0Ll9nID0gQmk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIE5pKHQsIGUsIG4sIG8sIHMpIHsKICAgICAgICB2YXIgYSwgaCA9IHMub3B0aW9uczsKICAgICAgICB4KG8sICJfdWlkIikgPyAoYSA9IE9iamVjdC5jcmVhdGUobyksIGEuX29yaWdpbmFsID0gbykgOiAoYSA9IG8sIG8gPSBvLl9vcmlnaW5hbCk7CiAgICAgICAgdmFyIGwgPSByKGguX2NvbXBpbGVkKSwgYyA9ICFsOwogICAgICAgIHRoaXMuZGF0YSA9IHQsIHRoaXMucHJvcHMgPSBlLCB0aGlzLmNoaWxkcmVuID0gbiwgdGhpcy5wYXJlbnQgPSBvLCB0aGlzLmxpc3RlbmVycyA9IHQub24gfHwgaSwgdGhpcy5pbmplY3Rpb25zID0gTWkoaC5pbmplY3QsIG8pLCB0aGlzLnNsb3RzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gemUobiwgbyk7CiAgICAgICAgfSwgbCAmJiAodGhpcy4kb3B0aW9ucyA9IGgsIHRoaXMuJHNsb3RzID0gdGhpcy5zbG90cygpLCB0aGlzLiRzY29wZWRTbG90cyA9IHQuc2NvcGVkU2xvdHMgfHwgaSksIGguX3Njb3BlSWQgPyB0aGlzLl9jID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgdmFyIHIgPSBKaShhLCB0LCBlLCBpLCBuLCBjKTsKICAgICAgICAgIHJldHVybiByICYmICFBcnJheS5pc0FycmF5KHIpICYmIChyLmZuU2NvcGVJZCA9IGguX3Njb3BlSWQsIHIuZm5Db250ZXh0ID0gbyksIHI7CiAgICAgICAgfSA6IHRoaXMuX2MgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICByZXR1cm4gSmkoYSwgdCwgZSwgaSwgbiwgYyk7CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gR2kodCwgZSwgbiwgciwgcykgewogICAgICAgIHZhciBhID0gdC5vcHRpb25zLCBoID0ge30sIGwgPSBhLnByb3BzOwogICAgICAgIGlmIChvKGwpKSBmb3IgKHZhciBjIGluIGwpIGhbY10gPSBZdChjLCBsLCBlIHx8IGkpOyBlbHNlIG8obi5hdHRycykgJiYgV2koaCwgbi5hdHRycyksIG8obi5wcm9wcykgJiYgV2koaCwgbi5wcm9wcyk7CiAgICAgICAgdmFyIHAgPSBuZXcgTmkobiwgaCwgcywgciwgdCksIGQgPSBhLnJlbmRlci5jYWxsKG51bGwsIHAuX2MsIHApOwogICAgICAgIGlmIChkIGluc3RhbmNlb2YgbXQpIHJldHVybiBIaShkLCBuLCBwLnBhcmVudCwgYSwgcCk7CiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZCkpIHsKICAgICAgICAgIGZvciAodmFyIHUgPSB3ZShkKSB8fCBbXSwgZiA9IG5ldyBBcnJheSh1Lmxlbmd0aCksIGcgPSAwOyBnIDwgdS5sZW5ndGg7IGcrKykgZltnXSA9IEhpKHVbZ10sIG4sIHAucGFyZW50LCBhLCBwKTsKICAgICAgICAgIHJldHVybiBmOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gSGkodCwgZSwgaSwgbiwgbykgewogICAgICAgIHZhciByID0gYnQodCk7CiAgICAgICAgcmV0dXJuIHIuZm5Db250ZXh0ID0gaSwgci5mbk9wdGlvbnMgPSBuLCBlLnNsb3QgJiYgKChyLmRhdGEgfHwgKHIuZGF0YSA9IHt9KSkuc2xvdCA9IGUuc2xvdCksIHI7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFdpKHQsIGUpIHsKICAgICAgICBmb3IgKHZhciBpIGluIGUpIHRbdyhpKV0gPSBlW2ldOwogICAgICB9CgogICAgICBSaShOaS5wcm90b3R5cGUpOwogICAgICB2YXIgRmkgPSB7CiAgICAgICAgaW5pdDogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgaWYgKHQuY29tcG9uZW50SW5zdGFuY2UgJiYgIXQuY29tcG9uZW50SW5zdGFuY2UuX2lzRGVzdHJveWVkICYmIHQuZGF0YS5rZWVwQWxpdmUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0OwogICAgICAgICAgICBGaS5wcmVwYXRjaChpLCBpKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciBuID0gdC5jb21wb25lbnRJbnN0YW5jZSA9IFlpKHQsIE5lKTsKICAgICAgICAgICAgbi4kbW91bnQoZSA/IHQuZWxtIDogdm9pZCAwLCBlKTsKICAgICAgICAgIH0KICAgICAgICB9LCBwcmVwYXRjaDogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgdmFyIGkgPSBlLmNvbXBvbmVudE9wdGlvbnMsIG4gPSBlLmNvbXBvbmVudEluc3RhbmNlID0gdC5jb21wb25lbnRJbnN0YW5jZTsKICAgICAgICAgIFhlKG4sIGkucHJvcHNEYXRhLCBpLmxpc3RlbmVycywgZSwgaS5jaGlsZHJlbik7CiAgICAgICAgfSwgaW5zZXJ0OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgZSA9IHQuY29udGV4dCwgaSA9IHQuY29tcG9uZW50SW5zdGFuY2U7CiAgICAgICAgICBpLl9pc01vdW50ZWQgfHwgKGkuX2lzTW91bnRlZCA9ICEwLCAkZShpLCAibW91bnRlZCIpKSwgdC5kYXRhLmtlZXBBbGl2ZSAmJiAoZS5faXNNb3VudGVkID8gb2koaSkgOiBZZShpLCAhMCkpOwogICAgICAgIH0sIGRlc3Ryb3k6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHZhciBlID0gdC5jb21wb25lbnRJbnN0YW5jZTsKICAgICAgICAgIGUuX2lzRGVzdHJveWVkIHx8ICh0LmRhdGEua2VlcEFsaXZlID8gVmUoZSwgITApIDogZS4kZGVzdHJveSgpKTsKICAgICAgICB9CiAgICAgIH0sIFhpID0gT2JqZWN0LmtleXMoRmkpOwoKICAgICAgZnVuY3Rpb24gVWkodCwgZSwgaSwgcywgYSkgewogICAgICAgIGlmICghbih0KSkgewogICAgICAgICAgdmFyIGwgPSBpLiRvcHRpb25zLl9iYXNlOwogICAgICAgICAgaWYgKGgodCkgJiYgKHQgPSBsLmV4dGVuZCh0KSksICJmdW5jdGlvbiIgPT09IHR5cGVvZiB0KSB7CiAgICAgICAgICAgIHZhciBjOwogICAgICAgICAgICBpZiAobih0LmNpZCkgJiYgKGMgPSB0LCB0ID0gQWUoYywgbCwgaSksIHZvaWQgMCA9PT0gdCkpIHJldHVybiBNZShjLCBlLCBpLCBzLCBhKTsKICAgICAgICAgICAgZSA9IGUgfHwge30sIGhuKHQpLCBvKGUubW9kZWwpICYmIEtpKHQub3B0aW9ucywgZSk7CiAgICAgICAgICAgIHZhciBwID0geGUoZSwgdCwgYSk7CiAgICAgICAgICAgIGlmIChyKHQub3B0aW9ucy5mdW5jdGlvbmFsKSkgcmV0dXJuIEdpKHQsIHAsIGUsIGksIHMpOwogICAgICAgICAgICB2YXIgZCA9IGUub247CiAgICAgICAgICAgIGlmIChlLm9uID0gZS5uYXRpdmVPbiwgcih0Lm9wdGlvbnMuYWJzdHJhY3QpKSB7CiAgICAgICAgICAgICAgdmFyIHUgPSBlLnNsb3Q7CiAgICAgICAgICAgICAgZSA9IHt9LCB1ICYmIChlLnNsb3QgPSB1KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBWaShlKTsKICAgICAgICAgICAgdmFyIGYgPSB0Lm9wdGlvbnMubmFtZSB8fCBhLCBnID0gbmV3IG10KCJ2dWUtY29tcG9uZW50LSIgKyB0LmNpZCArIChmID8gIi0iICsgZiA6ICIiKSwgZSwgdm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgaSwgewogICAgICAgICAgICAgIEN0b3I6IHQsCiAgICAgICAgICAgICAgcHJvcHNEYXRhOiBwLAogICAgICAgICAgICAgIGxpc3RlbmVyczogZCwKICAgICAgICAgICAgICB0YWc6IGEsCiAgICAgICAgICAgICAgY2hpbGRyZW46IHMKICAgICAgICAgICAgfSwgYyk7CiAgICAgICAgICAgIHJldHVybiBnOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gWWkodCwgZSkgewogICAgICAgIHZhciBpID0geyBfaXNDb21wb25lbnQ6ICEwLCBfcGFyZW50Vm5vZGU6IHQsIHBhcmVudDogZSB9LCBuID0gdC5kYXRhLmlubGluZVRlbXBsYXRlOwogICAgICAgIHJldHVybiBvKG4pICYmIChpLnJlbmRlciA9IG4ucmVuZGVyLCBpLnN0YXRpY1JlbmRlckZucyA9IG4uc3RhdGljUmVuZGVyRm5zKSwgbmV3IHQuY29tcG9uZW50T3B0aW9ucy5DdG9yKGkpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBWaSh0KSB7CiAgICAgICAgZm9yICh2YXIgZSA9IHQuaG9vayB8fCAodC5ob29rID0ge30pLCBpID0gMDsgaSA8IFhpLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB2YXIgbiA9IFhpW2ldLCBvID0gZVtuXSwgciA9IEZpW25dOwogICAgICAgICAgbyA9PT0gciB8fCBvICYmIG8uX21lcmdlZCB8fCAoZVtuXSA9IG8gPyAkaShyLCBvKSA6IHIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gJGkodCwgZSkgewogICAgICAgIHZhciBpID0gZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgdChpLCBuKSwgZShpLCBuKTsKICAgICAgICB9OwogICAgICAgIHJldHVybiBpLl9tZXJnZWQgPSAhMCwgaTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gS2kodCwgZSkgewogICAgICAgIHZhciBpID0gdC5tb2RlbCAmJiB0Lm1vZGVsLnByb3AgfHwgInZhbHVlIiwgbiA9IHQubW9kZWwgJiYgdC5tb2RlbC5ldmVudCB8fCAiaW5wdXQiOwogICAgICAgIChlLnByb3BzIHx8IChlLnByb3BzID0ge30pKVtpXSA9IGUubW9kZWwudmFsdWU7CiAgICAgICAgdmFyIHIgPSBlLm9uIHx8IChlLm9uID0ge30pLCBzID0gcltuXSwgYSA9IGUubW9kZWwuY2FsbGJhY2s7CiAgICAgICAgbyhzKSA/IChBcnJheS5pc0FycmF5KHMpID8gLTEgPT09IHMuaW5kZXhPZihhKSA6IHMgIT09IGEpICYmIChyW25dID0gW2FdLmNvbmNhdChzKSkgOiByW25dID0gYTsKICAgICAgfQoKICAgICAgdmFyIHFpID0gMSwgWmkgPSAyOwoKICAgICAgZnVuY3Rpb24gSmkodCwgZSwgaSwgbiwgbywgcykgewogICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheShpKSB8fCBhKGkpKSAmJiAobyA9IG4sIG4gPSBpLCBpID0gdm9pZCAwKSwgcihzKSAmJiAobyA9IFppKSwgUWkodCwgZSwgaSwgbiwgbyk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFFpKHQsIGUsIGksIG4sIHIpIHsKICAgICAgICBpZiAobyhpKSAmJiBvKGkuX19vYl9fKSkgcmV0dXJuIHZ0KCk7CiAgICAgICAgaWYgKG8oaSkgJiYgbyhpLmlzKSAmJiAoZSA9IGkuaXMpLCAhZSkgcmV0dXJuIHZ0KCk7CiAgICAgICAgdmFyIHMsIGEsIGg7CiAgICAgICAgKEFycmF5LmlzQXJyYXkobikgJiYgImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG5bMF0gJiYgKGkgPSBpIHx8IHt9LCBpLnNjb3BlZFNsb3RzID0geyBkZWZhdWx0OiBuWzBdIH0sIG4ubGVuZ3RoID0gMCksIHIgPT09IFppID8gbiA9IHdlKG4pIDogciA9PT0gcWkgJiYgKG4gPSBfZShuKSksICJzdHJpbmciID09PSB0eXBlb2YgZSkgPyAoYSA9IHQuJHZub2RlICYmIHQuJHZub2RlLm5zIHx8IEguZ2V0VGFnTmFtZXNwYWNlKGUpLCBzID0gSC5pc1Jlc2VydmVkVGFnKGUpID8gbmV3IG10KEgucGFyc2VQbGF0Zm9ybVRhZ05hbWUoZSksIGksIG4sIHZvaWQgMCwgdm9pZCAwLCB0KSA6IGkgJiYgaS5wcmUgfHwgIW8oaCA9IFV0KHQuJG9wdGlvbnMsICJjb21wb25lbnRzIiwgZSkpID8gbmV3IG10KGUsIGksIG4sIHZvaWQgMCwgdm9pZCAwLCB0KSA6IFVpKGgsIGksIHQsIG4sIGUpKSA6IHMgPSBVaShlLCBpLCB0LCBuKTsKICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShzKSA/IHMgOiBvKHMpID8gKG8oYSkgJiYgdG4ocywgYSksIG8oaSkgJiYgZW4oaSksIHMpIDogdnQoKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdG4odCwgZSwgaSkgewogICAgICAgIGlmICh0Lm5zID0gZSwgImZvcmVpZ25PYmplY3QiID09PSB0LnRhZyAmJiAoZSA9IHZvaWQgMCwgaSA9ICEwKSwgbyh0LmNoaWxkcmVuKSkgZm9yICh2YXIgcyA9IDAsIGEgPSB0LmNoaWxkcmVuLmxlbmd0aDsgcyA8IGE7IHMrKykgewogICAgICAgICAgdmFyIGggPSB0LmNoaWxkcmVuW3NdOwogICAgICAgICAgbyhoLnRhZykgJiYgKG4oaC5ucykgfHwgcihpKSAmJiAic3ZnIiAhPT0gaC50YWcpICYmIHRuKGgsIGUsIGkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gZW4odCkgewogICAgICAgIGgodC5zdHlsZSkgJiYgZGUodC5zdHlsZSksIGgodC5jbGFzcykgJiYgZGUodC5jbGFzcyk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIG5uKHQpIHsKICAgICAgICB0Ll92bm9kZSA9IG51bGwsIHQuX3N0YXRpY1RyZWVzID0gbnVsbDsKICAgICAgICB2YXIgZSA9IHQuJG9wdGlvbnMsIG4gPSB0LiR2bm9kZSA9IGUuX3BhcmVudFZub2RlLCBvID0gbiAmJiBuLmNvbnRleHQ7CiAgICAgICAgdC4kc2xvdHMgPSB6ZShlLl9yZW5kZXJDaGlsZHJlbiwgbyksIHQuJHNjb3BlZFNsb3RzID0gaSwgdC5fYyA9IGZ1bmN0aW9uKGUsIGksIG4sIG8pIHsKICAgICAgICAgIHJldHVybiBKaSh0LCBlLCBpLCBuLCBvLCAhMSk7CiAgICAgICAgfSwgdC4kY3JlYXRlRWxlbWVudCA9IGZ1bmN0aW9uKGUsIGksIG4sIG8pIHsKICAgICAgICAgIHJldHVybiBKaSh0LCBlLCBpLCBuLCBvLCAhMCk7CiAgICAgICAgfTsKICAgICAgICB2YXIgciA9IG4gJiYgbi5kYXRhOwogICAgICAgIEV0KHQsICIkYXR0cnMiLCByICYmIHIuYXR0cnMgfHwgaSwgbnVsbCwgITApLCBFdCh0LCAiJGxpc3RlbmVycyIsIGUuX3BhcmVudExpc3RlbmVycyB8fCBpLCBudWxsLCAhMCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIG9uKHQpIHsKICAgICAgICBSaSh0LnByb3RvdHlwZSksIHQucHJvdG90eXBlLiRuZXh0VGljayA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHJldHVybiBjZSh0LCB0aGlzKTsKICAgICAgICB9LCB0LnByb3RvdHlwZS5fcmVuZGVyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCwgZSA9IHRoaXMsIG4gPSBlLiRvcHRpb25zLCBvID0gbi5yZW5kZXIsIHIgPSBuLl9wYXJlbnRWbm9kZTsKICAgICAgICAgIHIgJiYgKGUuJHNjb3BlZFNsb3RzID0gci5kYXRhLnNjb3BlZFNsb3RzIHx8IGkpLCBlLiR2bm9kZSA9IHI7CiAgICAgICAgICB0cnkgewogICAgICAgICAgICB0ID0gby5jYWxsKGUuX3JlbmRlclByb3h5LCBlLiRjcmVhdGVFbGVtZW50KTsKICAgICAgICAgIH0gY2F0Y2ggKGFzKSB7CiAgICAgICAgICAgIFp0KGFzLCBlLCAicmVuZGVyIiksIHQgPSBlLl92bm9kZTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiB0IGluc3RhbmNlb2YgbXQgfHwgKHQgPSB2dCgpKSwgdC5wYXJlbnQgPSByLCB0OwogICAgICAgIH07CiAgICAgIH0KCiAgICAgIHZhciBybiA9IDA7CgogICAgICBmdW5jdGlvbiBzbih0KSB7CiAgICAgICAgdC5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgZSA9IHRoaXM7CiAgICAgICAgICBlLl91aWQgPSBybisrLCBlLl9pc1Z1ZSA9ICEwLCB0ICYmIHQuX2lzQ29tcG9uZW50ID8gYW4oZSwgdCkgOiBlLiRvcHRpb25zID0gWHQoaG4oZS5jb25zdHJ1Y3RvciksIHQgfHwge30sIGUpLCBlLl9yZW5kZXJQcm94eSA9IGUsIGUuX3NlbGYgPSBlLCBIZShlKSwgVGUoZSksIG5uKGUpLCAkZShlLCAiYmVmb3JlQ3JlYXRlIiksIENpKGUpLCBwaShlKSwgU2koZSksICRlKGUsICJjcmVhdGVkIiksIGUuJG9wdGlvbnMuZWwgJiYgZS4kbW91bnQoZS4kb3B0aW9ucy5lbCk7CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gYW4odCwgZSkgewogICAgICAgIHZhciBpID0gdC4kb3B0aW9ucyA9IE9iamVjdC5jcmVhdGUodC5jb25zdHJ1Y3Rvci5vcHRpb25zKSwgbiA9IGUuX3BhcmVudFZub2RlOwogICAgICAgIGkucGFyZW50ID0gZS5wYXJlbnQsIGkuX3BhcmVudFZub2RlID0gbjsKICAgICAgICB2YXIgbyA9IG4uY29tcG9uZW50T3B0aW9uczsKICAgICAgICBpLnByb3BzRGF0YSA9IG8ucHJvcHNEYXRhLCBpLl9wYXJlbnRMaXN0ZW5lcnMgPSBvLmxpc3RlbmVycywgaS5fcmVuZGVyQ2hpbGRyZW4gPSBvLmNoaWxkcmVuLCBpLl9jb21wb25lbnRUYWcgPSBvLnRhZywgZS5yZW5kZXIgJiYgKGkucmVuZGVyID0gZS5yZW5kZXIsIGkuc3RhdGljUmVuZGVyRm5zID0gZS5zdGF0aWNSZW5kZXJGbnMpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBobih0KSB7CiAgICAgICAgdmFyIGUgPSB0Lm9wdGlvbnM7CiAgICAgICAgaWYgKHQuc3VwZXIpIHsKICAgICAgICAgIHZhciBpID0gaG4odC5zdXBlciksIG4gPSB0LnN1cGVyT3B0aW9uczsKICAgICAgICAgIGlmIChpICE9PSBuKSB7CiAgICAgICAgICAgIHQuc3VwZXJPcHRpb25zID0gaTsKICAgICAgICAgICAgdmFyIG8gPSBsbih0KTsKICAgICAgICAgICAgbyAmJiBUKHQuZXh0ZW5kT3B0aW9ucywgbyksIGUgPSB0Lm9wdGlvbnMgPSBYdChpLCB0LmV4dGVuZE9wdGlvbnMpLCBlLm5hbWUgJiYgKGUuY29tcG9uZW50c1tlLm5hbWVdID0gdCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBlOwogICAgICB9CgogICAgICBmdW5jdGlvbiBsbih0KSB7CiAgICAgICAgdmFyIGUsIGkgPSB0Lm9wdGlvbnMsIG4gPSB0LmV4dGVuZE9wdGlvbnMsIG8gPSB0LnNlYWxlZE9wdGlvbnM7CiAgICAgICAgZm9yICh2YXIgciBpbiBpKSBpW3JdICE9PSBvW3JdICYmIChlIHx8IChlID0ge30pLCBlW3JdID0gY24oaVtyXSwgbltyXSwgb1tyXSkpOwogICAgICAgIHJldHVybiBlOwogICAgICB9CgogICAgICBmdW5jdGlvbiBjbih0LCBlLCBpKSB7CiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodCkpIHsKICAgICAgICAgIHZhciBuID0gW107CiAgICAgICAgICBpID0gQXJyYXkuaXNBcnJheShpKSA/IGkgOiBbaV0sIGUgPSBBcnJheS5pc0FycmF5KGUpID8gZSA6IFtlXTsKICAgICAgICAgIGZvciAodmFyIG8gPSAwOyBvIDwgdC5sZW5ndGg7IG8rKykgKGUuaW5kZXhPZih0W29dKSA+PSAwIHx8IGkuaW5kZXhPZih0W29dKSA8IDApICYmIG4ucHVzaCh0W29dKTsKICAgICAgICAgIHJldHVybiBuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcG4odCkgewogICAgICAgIHRoaXMuX2luaXQodCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGRuKHQpIHsKICAgICAgICB0LnVzZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHZhciBlID0gdGhpcy5faW5zdGFsbGVkUGx1Z2lucyB8fCAodGhpcy5faW5zdGFsbGVkUGx1Z2lucyA9IFtdKTsKICAgICAgICAgIGlmIChlLmluZGV4T2YodCkgPiAtMSkgcmV0dXJuIHRoaXM7CiAgICAgICAgICB2YXIgaSA9IE8oYXJndW1lbnRzLCAxKTsKICAgICAgICAgIHJldHVybiBpLnVuc2hpZnQodGhpcyksICJmdW5jdGlvbiIgPT09IHR5cGVvZiB0Lmluc3RhbGwgPyB0Lmluc3RhbGwuYXBwbHkodCwgaSkgOiAiZnVuY3Rpb24iID09PSB0eXBlb2YgdCAmJiB0LmFwcGx5KG51bGwsIGkpLCBlLnB1c2godCksIHRoaXM7CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdW4odCkgewogICAgICAgIHQubWl4aW4gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zID0gWHQodGhpcy5vcHRpb25zLCB0KSwgdGhpczsKICAgICAgICB9OwogICAgICB9CgogICAgICBmdW5jdGlvbiBmbih0KSB7CiAgICAgICAgdC5jaWQgPSAwOwogICAgICAgIHZhciBlID0gMTsKICAgICAgICB0LmV4dGVuZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHQgPSB0IHx8IHt9OwogICAgICAgICAgdmFyIGkgPSB0aGlzLCBuID0gaS5jaWQsIG8gPSB0Ll9DdG9yIHx8ICh0Ll9DdG9yID0ge30pOwogICAgICAgICAgaWYgKG9bbl0pIHJldHVybiBvW25dOwogICAgICAgICAgdmFyIHIgPSB0Lm5hbWUgfHwgaS5vcHRpb25zLm5hbWU7CiAgICAgICAgICB2YXIgcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5faW5pdCh0KTsKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGkucHJvdG90eXBlKSwgcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzLCBzLmNpZCA9IGUrKywgcy5vcHRpb25zID0gWHQoaS5vcHRpb25zLCB0KSwgc1sic3VwZXIiXSA9IGksIHMub3B0aW9ucy5wcm9wcyAmJiBnbihzKSwgcy5vcHRpb25zLmNvbXB1dGVkICYmIG1uKHMpLCBzLmV4dGVuZCA9IGkuZXh0ZW5kLCBzLm1peGluID0gaS5taXhpbiwgcy51c2UgPSBpLnVzZSwgTi5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHNbdF0gPSBpW3RdOwogICAgICAgICAgfSkpLCByICYmIChzLm9wdGlvbnMuY29tcG9uZW50c1tyXSA9IHMpLCBzLnN1cGVyT3B0aW9ucyA9IGkub3B0aW9ucywgcy5leHRlbmRPcHRpb25zID0gdCwgcy5zZWFsZWRPcHRpb25zID0gVCh7fSwgcy5vcHRpb25zKSwgb1tuXSA9IHMsIHM7CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZ24odCkgewogICAgICAgIHZhciBlID0gdC5vcHRpb25zLnByb3BzOwogICAgICAgIGZvciAodmFyIGkgaW4gZSkgY2kodC5wcm90b3R5cGUsICJfcHJvcHMiLCBpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gbW4odCkgewogICAgICAgIHZhciBlID0gdC5vcHRpb25zLmNvbXB1dGVkOwogICAgICAgIGZvciAodmFyIGkgaW4gZSkgeWkodC5wcm90b3R5cGUsIGksIGVbaV0pOwogICAgICB9CgogICAgICBmdW5jdGlvbiB5bih0KSB7CiAgICAgICAgTi5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICB0W2VdID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICByZXR1cm4gaSA/ICgiY29tcG9uZW50IiA9PT0gZSAmJiBjKGkpICYmIChpLm5hbWUgPSBpLm5hbWUgfHwgdCwgaSA9IHRoaXMub3B0aW9ucy5fYmFzZS5leHRlbmQoaSkpLCAiZGlyZWN0aXZlIiA9PT0gZSAmJiAiZnVuY3Rpb24iID09PSB0eXBlb2YgaSAmJiAoaSA9IHsKICAgICAgICAgICAgICBiaW5kOiBpLAogICAgICAgICAgICAgIHVwZGF0ZTogaQogICAgICAgICAgICB9KSwgdGhpcy5vcHRpb25zW2UgKyAicyJdW3RdID0gaSwgaSkgOiB0aGlzLm9wdGlvbnNbZSArICJzIl1bdF07CiAgICAgICAgICB9OwogICAgICAgIH0pKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdm4odCkgewogICAgICAgIHJldHVybiB0ICYmICh0LkN0b3Iub3B0aW9ucy5uYW1lIHx8IHQudGFnKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24geG4odCwgZSkgewogICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHQpID8gdC5pbmRleE9mKGUpID4gLTEgOiAic3RyaW5nIiA9PT0gdHlwZW9mIHQgPyB0LnNwbGl0KCIsIikuaW5kZXhPZihlKSA+IC0xIDogISFwKHQpICYmIHQudGVzdChlKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gYm4odCwgZSkgewogICAgICAgIHZhciBpID0gdC5jYWNoZSwgbiA9IHQua2V5cywgbyA9IHQuX3Zub2RlOwogICAgICAgIGZvciAodmFyIHIgaW4gaSkgewogICAgICAgICAgdmFyIHMgPSBpW3JdOwogICAgICAgICAgaWYgKHMpIHsKICAgICAgICAgICAgdmFyIGEgPSB2bihzLmNvbXBvbmVudE9wdGlvbnMpOwogICAgICAgICAgICBhICYmICFlKGEpICYmIF9uKGksIHIsIG4sIG8pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gX24odCwgZSwgaSwgbikgewogICAgICAgIHZhciBvID0gdFtlXTsKICAgICAgICAhbyB8fCBuICYmIG8udGFnID09PSBuLnRhZyB8fCBvLmNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCksIHRbZV0gPSBudWxsLCB5KGksIGUpOwogICAgICB9CgogICAgICBzbihwbiksIGtpKHBuKSwgSWUocG4pLCBXZShwbiksIG9uKHBuKTsKICAgICAgdmFyIHduID0gW1N0cmluZywgUmVnRXhwLCBBcnJheV0sIGtuID0gewogICAgICAgIG5hbWU6ICJrZWVwLWFsaXZlIiwgYWJzdHJhY3Q6ICEwLCBwcm9wczogeyBpbmNsdWRlOiB3biwgZXhjbHVkZTogd24sIG1heDogW1N0cmluZywgTnVtYmVyXSB9LCBjcmVhdGVkOiBmdW5jdGlvbigpIHsKICAgICAgICAgIHRoaXMuY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpLCB0aGlzLmtleXMgPSBbXTsKICAgICAgICB9LCBkZXN0cm95ZWQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgZm9yICh2YXIgdCBpbiB0aGlzLmNhY2hlKSBfbih0aGlzLmNhY2hlLCB0LCB0aGlzLmtleXMpOwogICAgICAgIH0sIG1vdW50ZWQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSB0aGlzOwogICAgICAgICAgdGhpcy4kd2F0Y2goImluY2x1ZGUiLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICBibih0LCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiB4bihlLCB0KTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSkpLCB0aGlzLiR3YXRjaCgiZXhjbHVkZSIsIChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGJuKHQsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuICF4bihlLCB0KTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSkpOwogICAgICAgIH0sIHJlbmRlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IHRoaXMuJHNsb3RzLmRlZmF1bHQsIGUgPSBPZSh0KSwgaSA9IGUgJiYgZS5jb21wb25lbnRPcHRpb25zOwogICAgICAgICAgaWYgKGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB2bihpKSwgbyA9IHRoaXMsIHIgPSBvLmluY2x1ZGUsIHMgPSBvLmV4Y2x1ZGU7CiAgICAgICAgICAgIGlmIChyICYmICghbiB8fCAheG4ociwgbikpIHx8IHMgJiYgbiAmJiB4bihzLCBuKSkgcmV0dXJuIGU7CiAgICAgICAgICAgIHZhciBhID0gdGhpcywgaCA9IGEuY2FjaGUsIGwgPSBhLmtleXMsIGMgPSBudWxsID09IGUua2V5ID8gaS5DdG9yLmNpZCArIChpLnRhZyA/ICI6OiIgKyBpLnRhZyA6ICIiKSA6IGUua2V5OwogICAgICAgICAgICBoW2NdID8gKGUuY29tcG9uZW50SW5zdGFuY2UgPSBoW2NdLmNvbXBvbmVudEluc3RhbmNlLCB5KGwsIGMpLCBsLnB1c2goYykpIDogKGhbY10gPSBlLCBsLnB1c2goYyksIHRoaXMubWF4ICYmIGwubGVuZ3RoID4gcGFyc2VJbnQodGhpcy5tYXgpICYmIF9uKGgsIGxbMF0sIGwsIHRoaXMuX3Zub2RlKSksIGUuZGF0YS5rZWVwQWxpdmUgPSAhMDsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBlIHx8IHQgJiYgdFswXTsKICAgICAgICB9CiAgICAgIH0sIFNuID0geyBLZWVwQWxpdmU6IGtuIH07CgogICAgICBmdW5jdGlvbiBDbih0KSB7CiAgICAgICAgdmFyIGUgPSB7CiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gSDsKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCAiY29uZmlnIiwgZSksIHQudXRpbCA9IHsKICAgICAgICAgIHdhcm46IGN0LAogICAgICAgICAgZXh0ZW5kOiBULAogICAgICAgICAgbWVyZ2VPcHRpb25zOiBYdCwKICAgICAgICAgIGRlZmluZVJlYWN0aXZlOiBFdAogICAgICAgIH0sIHQuc2V0ID0gTHQsIHQuZGVsZXRlID0ganQsIHQubmV4dFRpY2sgPSBjZSwgdC5vcHRpb25zID0gT2JqZWN0LmNyZWF0ZShudWxsKSwgTi5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICB0Lm9wdGlvbnNbZSArICJzIl0gPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICAgIH0pKSwgdC5vcHRpb25zLl9iYXNlID0gdCwgVCh0Lm9wdGlvbnMuY29tcG9uZW50cywgU24pLCBkbih0KSwgdW4odCksIGZuKHQpLCB5bih0KTsKICAgICAgfQoKICAgICAgQ24ocG4pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkocG4ucHJvdG90eXBlLCAiJGlzU2VydmVyIiwgeyBnZXQ6IHJ0IH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkocG4ucHJvdG90eXBlLCAiJHNzckNvbnRleHQiLCB7CiAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgIHJldHVybiB0aGlzLiR2bm9kZSAmJiB0aGlzLiR2bm9kZS5zc3JDb250ZXh0OwogICAgICAgIH0KICAgICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwbiwgIkZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0IiwgeyB2YWx1ZTogTmkgfSksIHBuLnZlcnNpb24gPSAiMi41LjIxIjsKICAgICAgdmFyIE1uID0gZygic3R5bGUsY2xhc3MiKSwgQW4gPSBnKCJpbnB1dCx0ZXh0YXJlYSxvcHRpb24sc2VsZWN0LHByb2dyZXNzIiksIFBuID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgcmV0dXJuICJ2YWx1ZSIgPT09IGkgJiYgQW4odCkgJiYgImJ1dHRvbiIgIT09IGUgfHwgInNlbGVjdGVkIiA9PT0gaSAmJiAib3B0aW9uIiA9PT0gdCB8fCAiY2hlY2tlZCIgPT09IGkgJiYgImlucHV0IiA9PT0gdCB8fCAibXV0ZWQiID09PSBpICYmICJ2aWRlbyIgPT09IHQ7CiAgICAgICAgfSwgT24gPSBnKCJjb250ZW50ZWRpdGFibGUsZHJhZ2dhYmxlLHNwZWxsY2hlY2siKSwKICAgICAgICBUbiA9IGcoImFsbG93ZnVsbHNjcmVlbixhc3luYyxhdXRvZm9jdXMsYXV0b3BsYXksY2hlY2tlZCxjb21wYWN0LGNvbnRyb2xzLGRlY2xhcmUsZGVmYXVsdCxkZWZhdWx0Y2hlY2tlZCxkZWZhdWx0bXV0ZWQsZGVmYXVsdHNlbGVjdGVkLGRlZmVyLGRpc2FibGVkLGVuYWJsZWQsZm9ybW5vdmFsaWRhdGUsaGlkZGVuLGluZGV0ZXJtaW5hdGUsaW5lcnQsaXNtYXAsaXRlbXNjb3BlLGxvb3AsbXVsdGlwbGUsbXV0ZWQsbm9ocmVmLG5vcmVzaXplLG5vc2hhZGUsbm92YWxpZGF0ZSxub3dyYXAsb3BlbixwYXVzZW9uZXhpdCxyZWFkb25seSxyZXF1aXJlZCxyZXZlcnNlZCxzY29wZWQsc2VhbWxlc3Msc2VsZWN0ZWQsc29ydGFibGUsdHJhbnNsYXRlLHRydWVzcGVlZCx0eXBlbXVzdG1hdGNoLHZpc2libGUiKSwKICAgICAgICBFbiA9ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwgTG4gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICByZXR1cm4gIjoiID09PSB0LmNoYXJBdCg1KSAmJiAieGxpbmsiID09PSB0LnNsaWNlKDAsIDUpOwogICAgICAgIH0sIGpuID0gZnVuY3Rpb24odCkgewogICAgICAgICAgcmV0dXJuIExuKHQpID8gdC5zbGljZSg2LCB0Lmxlbmd0aCkgOiAiIjsKICAgICAgICB9LCBEbiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHJldHVybiBudWxsID09IHQgfHwgITEgPT09IHQ7CiAgICAgICAgfTsKCiAgICAgIGZ1bmN0aW9uIEluKHQpIHsKICAgICAgICB2YXIgZSA9IHQuZGF0YSwgaSA9IHQsIG4gPSB0OwogICAgICAgIHdoaWxlIChvKG4uY29tcG9uZW50SW5zdGFuY2UpKSBuID0gbi5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUsIG4gJiYgbi5kYXRhICYmIChlID0gem4obi5kYXRhLCBlKSk7CiAgICAgICAgd2hpbGUgKG8oaSA9IGkucGFyZW50KSkgaSAmJiBpLmRhdGEgJiYgKGUgPSB6bihlLCBpLmRhdGEpKTsKICAgICAgICByZXR1cm4gQm4oZS5zdGF0aWNDbGFzcywgZS5jbGFzcyk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHpuKHQsIGUpIHsKICAgICAgICByZXR1cm4geyBzdGF0aWNDbGFzczogUm4odC5zdGF0aWNDbGFzcywgZS5zdGF0aWNDbGFzcyksIGNsYXNzOiBvKHQuY2xhc3MpID8gW3QuY2xhc3MsIGUuY2xhc3NdIDogZS5jbGFzcyB9OwogICAgICB9CgogICAgICBmdW5jdGlvbiBCbih0LCBlKSB7CiAgICAgICAgcmV0dXJuIG8odCkgfHwgbyhlKSA/IFJuKHQsIE5uKGUpKSA6ICIiOwogICAgICB9CgogICAgICBmdW5jdGlvbiBSbih0LCBlKSB7CiAgICAgICAgcmV0dXJuIHQgPyBlID8gdCArICIgIiArIGUgOiB0IDogZSB8fCAiIjsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gTm4odCkgewogICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHQpID8gR24odCkgOiBoKHQpID8gSG4odCkgOiAic3RyaW5nIiA9PT0gdHlwZW9mIHQgPyB0IDogIiI7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEduKHQpIHsKICAgICAgICBmb3IgKHZhciBlLCBpID0gIiIsIG4gPSAwLCByID0gdC5sZW5ndGg7IG4gPCByOyBuKyspIG8oZSA9IE5uKHRbbl0pKSAmJiAiIiAhPT0gZSAmJiAoaSAmJiAoaSArPSAiICIpLCBpICs9IGUpOwogICAgICAgIHJldHVybiBpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBIbih0KSB7CiAgICAgICAgdmFyIGUgPSAiIjsKICAgICAgICBmb3IgKHZhciBpIGluIHQpIHRbaV0gJiYgKGUgJiYgKGUgKz0gIiAiKSwgZSArPSBpKTsKICAgICAgICByZXR1cm4gZTsKICAgICAgfQoKICAgICAgdmFyIFduID0geyBzdmc6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsIG1hdGg6ICJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIiB9LAogICAgICAgIEZuID0gZygiaHRtbCxib2R5LGJhc2UsaGVhZCxsaW5rLG1ldGEsc3R5bGUsdGl0bGUsYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLG5hdixzZWN0aW9uLGRpdixkZCxkbCxkdCxmaWdjYXB0aW9uLGZpZ3VyZSxwaWN0dXJlLGhyLGltZyxsaSxtYWluLG9sLHAscHJlLHVsLGEsYixhYmJyLGJkaSxiZG8sYnIsY2l0ZSxjb2RlLGRhdGEsZGZuLGVtLGksa2JkLG1hcmsscSxycCxydCxydGMscnVieSxzLHNhbXAsc21hbGwsc3BhbixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVhLGF1ZGlvLG1hcCx0cmFjayx2aWRlbyxlbWJlZCxvYmplY3QscGFyYW0sc291cmNlLGNhbnZhcyxzY3JpcHQsbm9zY3JpcHQsZGVsLGlucyxjYXB0aW9uLGNvbCxjb2xncm91cCx0YWJsZSx0aGVhZCx0Ym9keSx0ZCx0aCx0cixidXR0b24sZGF0YWxpc3QsZmllbGRzZXQsZm9ybSxpbnB1dCxsYWJlbCxsZWdlbmQsbWV0ZXIsb3B0Z3JvdXAsb3B0aW9uLG91dHB1dCxwcm9ncmVzcyxzZWxlY3QsdGV4dGFyZWEsZGV0YWlscyxkaWFsb2csbWVudSxtZW51aXRlbSxzdW1tYXJ5LGNvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVtcGxhdGUsYmxvY2txdW90ZSxpZnJhbWUsdGZvb3QiKSwKICAgICAgICBYbiA9IGcoInN2ZyxhbmltYXRlLGNpcmNsZSxjbGlwcGF0aCxjdXJzb3IsZGVmcyxkZXNjLGVsbGlwc2UsZmlsdGVyLGZvbnQtZmFjZSxmb3JlaWduT2JqZWN0LGcsZ2x5cGgsaW1hZ2UsbGluZSxtYXJrZXIsbWFzayxtaXNzaW5nLWdseXBoLHBhdGgscGF0dGVybixwb2x5Z29uLHBvbHlsaW5lLHJlY3Qsc3dpdGNoLHN5bWJvbCx0ZXh0LHRleHRwYXRoLHRzcGFuLHVzZSx2aWV3IiwgITApLAogICAgICAgIFVuID0gZnVuY3Rpb24odCkgewogICAgICAgICAgcmV0dXJuIEZuKHQpIHx8IFhuKHQpOwogICAgICAgIH07CgogICAgICBmdW5jdGlvbiBZbih0KSB7CiAgICAgICAgcmV0dXJuIFhuKHQpID8gInN2ZyIgOiAibWF0aCIgPT09IHQgPyAibWF0aCIgOiB2b2lkIDA7CiAgICAgIH0KCiAgICAgIHZhciBWbiA9IE9iamVjdC5jcmVhdGUobnVsbCk7CgogICAgICBmdW5jdGlvbiAkbih0KSB7CiAgICAgICAgaWYgKCEkKSByZXR1cm4gITA7CiAgICAgICAgaWYgKFVuKHQpKSByZXR1cm4gITE7CiAgICAgICAgaWYgKHQgPSB0LnRvTG93ZXJDYXNlKCksIG51bGwgIT0gVm5bdF0pIHJldHVybiBWblt0XTsKICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7CiAgICAgICAgcmV0dXJuIHQuaW5kZXhPZigiLSIpID4gLTEgPyBWblt0XSA9IGUuY29uc3RydWN0b3IgPT09IHdpbmRvdy5IVE1MVW5rbm93bkVsZW1lbnQgfHwgZS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkhUTUxFbGVtZW50IDogVm5bdF0gPSAvSFRNTFVua25vd25FbGVtZW50Ly50ZXN0KGUudG9TdHJpbmcoKSk7CiAgICAgIH0KCiAgICAgIHZhciBLbiA9IGcoInRleHQsbnVtYmVyLHBhc3N3b3JkLHNlYXJjaCxlbWFpbCx0ZWwsdXJsIik7CgogICAgICBmdW5jdGlvbiBxbih0KSB7CiAgICAgICAgaWYgKCJzdHJpbmciID09PSB0eXBlb2YgdCkgewogICAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpOwogICAgICAgICAgcmV0dXJuIGUgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBabih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpOwogICAgICAgIHJldHVybiAic2VsZWN0IiAhPT0gdCA/IGkgOiAoZS5kYXRhICYmIGUuZGF0YS5hdHRycyAmJiB2b2lkIDAgIT09IGUuZGF0YS5hdHRycy5tdWx0aXBsZSAmJiBpLnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLCAibXVsdGlwbGUiKSwgaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEpuKHQsIGUpIHsKICAgICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFduW3RdLCBlKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gUW4odCkgewogICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdG8odCkgewogICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVDb21tZW50KHQpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBlbyh0LCBlLCBpKSB7CiAgICAgICAgdC5pbnNlcnRCZWZvcmUoZSwgaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGlvKHQsIGUpIHsKICAgICAgICB0LnJlbW92ZUNoaWxkKGUpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBubyh0LCBlKSB7CiAgICAgICAgdC5hcHBlbmRDaGlsZChlKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gb28odCkgewogICAgICAgIHJldHVybiB0LnBhcmVudE5vZGU7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHJvKHQpIHsKICAgICAgICByZXR1cm4gdC5uZXh0U2libGluZzsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gc28odCkgewogICAgICAgIHJldHVybiB0LnRhZ05hbWU7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGFvKHQsIGUpIHsKICAgICAgICB0LnRleHRDb250ZW50ID0gZTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gaG8odCwgZSkgewogICAgICAgIHQuc2V0QXR0cmlidXRlKGUsICIiKTsKICAgICAgfQoKICAgICAgdmFyIGxvID0gT2JqZWN0LmZyZWV6ZSh7CiAgICAgICAgY3JlYXRlRWxlbWVudDogWm4sCiAgICAgICAgY3JlYXRlRWxlbWVudE5TOiBKbiwKICAgICAgICBjcmVhdGVUZXh0Tm9kZTogUW4sCiAgICAgICAgY3JlYXRlQ29tbWVudDogdG8sCiAgICAgICAgaW5zZXJ0QmVmb3JlOiBlbywKICAgICAgICByZW1vdmVDaGlsZDogaW8sCiAgICAgICAgYXBwZW5kQ2hpbGQ6IG5vLAogICAgICAgIHBhcmVudE5vZGU6IG9vLAogICAgICAgIG5leHRTaWJsaW5nOiBybywKICAgICAgICB0YWdOYW1lOiBzbywKICAgICAgICBzZXRUZXh0Q29udGVudDogYW8sCiAgICAgICAgc2V0U3R5bGVTY29wZTogaG8KICAgICAgfSksIGNvID0gewogICAgICAgIGNyZWF0ZTogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgcG8oZSk7CiAgICAgICAgfSwgdXBkYXRlOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICB0LmRhdGEucmVmICE9PSBlLmRhdGEucmVmICYmIChwbyh0LCAhMCksIHBvKGUpKTsKICAgICAgICB9LCBkZXN0cm95OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICBwbyh0LCAhMCk7CiAgICAgICAgfQogICAgICB9OwoKICAgICAgZnVuY3Rpb24gcG8odCwgZSkgewogICAgICAgIHZhciBpID0gdC5kYXRhLnJlZjsKICAgICAgICBpZiAobyhpKSkgewogICAgICAgICAgdmFyIG4gPSB0LmNvbnRleHQsIHIgPSB0LmNvbXBvbmVudEluc3RhbmNlIHx8IHQuZWxtLCBzID0gbi4kcmVmczsKICAgICAgICAgIGUgPyBBcnJheS5pc0FycmF5KHNbaV0pID8geShzW2ldLCByKSA6IHNbaV0gPT09IHIgJiYgKHNbaV0gPSB2b2lkIDApIDogdC5kYXRhLnJlZkluRm9yID8gQXJyYXkuaXNBcnJheShzW2ldKSA/IHNbaV0uaW5kZXhPZihyKSA8IDAgJiYgc1tpXS5wdXNoKHIpIDogc1tpXSA9IFtyXSA6IHNbaV0gPSByOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIHVvID0gbmV3IG10KCIiLCB7fSwgW10pLCBmbyA9IFsiY3JlYXRlIiwgImFjdGl2YXRlIiwgInVwZGF0ZSIsICJyZW1vdmUiLCAiZGVzdHJveSJdOwoKICAgICAgZnVuY3Rpb24gZ28odCwgZSkgewogICAgICAgIHJldHVybiB0LmtleSA9PT0gZS5rZXkgJiYgKHQudGFnID09PSBlLnRhZyAmJiB0LmlzQ29tbWVudCA9PT0gZS5pc0NvbW1lbnQgJiYgbyh0LmRhdGEpID09PSBvKGUuZGF0YSkgJiYgbW8odCwgZSkgfHwgcih0LmlzQXN5bmNQbGFjZWhvbGRlcikgJiYgdC5hc3luY0ZhY3RvcnkgPT09IGUuYXN5bmNGYWN0b3J5ICYmIG4oZS5hc3luY0ZhY3RvcnkuZXJyb3IpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gbW8odCwgZSkgewogICAgICAgIGlmICgiaW5wdXQiICE9PSB0LnRhZykgcmV0dXJuICEwOwogICAgICAgIHZhciBpLCBuID0gbyhpID0gdC5kYXRhKSAmJiBvKGkgPSBpLmF0dHJzKSAmJiBpLnR5cGUsIHIgPSBvKGkgPSBlLmRhdGEpICYmIG8oaSA9IGkuYXR0cnMpICYmIGkudHlwZTsKICAgICAgICByZXR1cm4gbiA9PT0gciB8fCBLbihuKSAmJiBLbihyKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24geW8odCwgZSwgaSkgewogICAgICAgIHZhciBuLCByLCBzID0ge307CiAgICAgICAgZm9yIChuID0gZTsgbiA8PSBpOyArK24pIHIgPSB0W25dLmtleSwgbyhyKSAmJiAoc1tyXSA9IG4pOwogICAgICAgIHJldHVybiBzOwogICAgICB9CgogICAgICBmdW5jdGlvbiB2byh0KSB7CiAgICAgICAgdmFyIGUsIGksIHMgPSB7fSwgaCA9IHQubW9kdWxlcywgbCA9IHQubm9kZU9wczsKICAgICAgICBmb3IgKGUgPSAwOyBlIDwgZm8ubGVuZ3RoOyArK2UpIGZvciAoc1tmb1tlXV0gPSBbXSwgaSA9IDA7IGkgPCBoLmxlbmd0aDsgKytpKSBvKGhbaV1bZm9bZV1dKSAmJiBzW2ZvW2VdXS5wdXNoKGhbaV1bZm9bZV1dKTsKCiAgICAgICAgZnVuY3Rpb24gYyh0KSB7CiAgICAgICAgICByZXR1cm4gbmV3IG10KGwudGFnTmFtZSh0KS50b0xvd2VyQ2FzZSgpLCB7fSwgW10sIHZvaWQgMCwgdCk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBwKHQsIGUpIHsKICAgICAgICAgIGZ1bmN0aW9uIGkoKSB7CiAgICAgICAgICAgIDAgPT09IC0taS5saXN0ZW5lcnMgJiYgZCh0KTsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gaS5saXN0ZW5lcnMgPSBlLCBpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZCh0KSB7CiAgICAgICAgICB2YXIgZSA9IGwucGFyZW50Tm9kZSh0KTsKICAgICAgICAgIG8oZSkgJiYgbC5yZW1vdmVDaGlsZChlLCB0KTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHUodCwgZSwgaSwgbiwgcywgYSwgaCkgewogICAgICAgICAgaWYgKG8odC5lbG0pICYmIG8oYSkgJiYgKHQgPSBhW2hdID0gYnQodCkpLCB0LmlzUm9vdEluc2VydCA9ICFzLCAhZih0LCBlLCBpLCBuKSkgewogICAgICAgICAgICB2YXIgYyA9IHQuZGF0YSwgcCA9IHQuY2hpbGRyZW4sIGQgPSB0LnRhZzsKICAgICAgICAgICAgbyhkKSA/ICh0LmVsbSA9IHQubnMgPyBsLmNyZWF0ZUVsZW1lbnROUyh0Lm5zLCBkKSA6IGwuY3JlYXRlRWxlbWVudChkLCB0KSwgdyh0KSwgeCh0LCBwLCBlKSwgbyhjKSAmJiBfKHQsIGUpLCB2KGksIHQuZWxtLCBuKSkgOiByKHQuaXNDb21tZW50KSA/ICh0LmVsbSA9IGwuY3JlYXRlQ29tbWVudCh0LnRleHQpLCB2KGksIHQuZWxtLCBuKSkgOiAodC5lbG0gPSBsLmNyZWF0ZVRleHROb2RlKHQudGV4dCksIHYoaSwgdC5lbG0sIG4pKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGYodCwgZSwgaSwgbikgewogICAgICAgICAgdmFyIHMgPSB0LmRhdGE7CiAgICAgICAgICBpZiAobyhzKSkgewogICAgICAgICAgICB2YXIgYSA9IG8odC5jb21wb25lbnRJbnN0YW5jZSkgJiYgcy5rZWVwQWxpdmU7CiAgICAgICAgICAgIGlmIChvKHMgPSBzLmhvb2spICYmIG8ocyA9IHMuaW5pdCkgJiYgcyh0LCAhMSksIG8odC5jb21wb25lbnRJbnN0YW5jZSkpIHJldHVybiBtKHQsIGUpLCB2KGksIHQuZWxtLCBuKSwgcihhKSAmJiB5KHQsIGUsIGksIG4pLCAhMDsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG0odCwgZSkgewogICAgICAgICAgbyh0LmRhdGEucGVuZGluZ0luc2VydCkgJiYgKGUucHVzaC5hcHBseShlLCB0LmRhdGEucGVuZGluZ0luc2VydCksIHQuZGF0YS5wZW5kaW5nSW5zZXJ0ID0gbnVsbCksIHQuZWxtID0gdC5jb21wb25lbnRJbnN0YW5jZS4kZWwsIGIodCkgPyAoXyh0LCBlKSwgdyh0KSkgOiAocG8odCksIGUucHVzaCh0KSk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB5KHQsIGUsIGksIG4pIHsKICAgICAgICAgIHZhciByLCBhID0gdDsKICAgICAgICAgIHdoaWxlIChhLmNvbXBvbmVudEluc3RhbmNlKSBpZiAoYSA9IGEuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlLCBvKHIgPSBhLmRhdGEpICYmIG8ociA9IHIudHJhbnNpdGlvbikpIHsKICAgICAgICAgICAgZm9yIChyID0gMDsgciA8IHMuYWN0aXZhdGUubGVuZ3RoOyArK3IpIHMuYWN0aXZhdGVbcl0odW8sIGEpOwogICAgICAgICAgICBlLnB1c2goYSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgdihpLCB0LmVsbSwgbik7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB2KHQsIGUsIGkpIHsKICAgICAgICAgIG8odCkgJiYgKG8oaSkgPyBsLnBhcmVudE5vZGUoaSkgPT09IHQgJiYgbC5pbnNlcnRCZWZvcmUodCwgZSwgaSkgOiBsLmFwcGVuZENoaWxkKHQsIGUpKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHgodCwgZSwgaSkgewogICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZSkpIHsKICAgICAgICAgICAgMDsKICAgICAgICAgICAgZm9yICh2YXIgbiA9IDA7IG4gPCBlLmxlbmd0aDsgKytuKSB1KGVbbl0sIGksIHQuZWxtLCBudWxsLCAhMCwgZSwgbik7CiAgICAgICAgICB9IGVsc2UgYSh0LnRleHQpICYmIGwuYXBwZW5kQ2hpbGQodC5lbG0sIGwuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKHQudGV4dCkpKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGIodCkgewogICAgICAgICAgd2hpbGUgKHQuY29tcG9uZW50SW5zdGFuY2UpIHQgPSB0LmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTsKICAgICAgICAgIHJldHVybiBvKHQudGFnKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF8odCwgaSkgewogICAgICAgICAgZm9yICh2YXIgbiA9IDA7IG4gPCBzLmNyZWF0ZS5sZW5ndGg7ICsrbikgcy5jcmVhdGVbbl0odW8sIHQpOwogICAgICAgICAgZSA9IHQuZGF0YS5ob29rLCBvKGUpICYmIChvKGUuY3JlYXRlKSAmJiBlLmNyZWF0ZSh1bywgdCksIG8oZS5pbnNlcnQpICYmIGkucHVzaCh0KSk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB3KHQpIHsKICAgICAgICAgIHZhciBlOwogICAgICAgICAgaWYgKG8oZSA9IHQuZm5TY29wZUlkKSkgbC5zZXRTdHlsZVNjb3BlKHQuZWxtLCBlKTsgZWxzZSB7CiAgICAgICAgICAgIHZhciBpID0gdDsKICAgICAgICAgICAgd2hpbGUgKGkpIG8oZSA9IGkuY29udGV4dCkgJiYgbyhlID0gZS4kb3B0aW9ucy5fc2NvcGVJZCkgJiYgbC5zZXRTdHlsZVNjb3BlKHQuZWxtLCBlKSwgaSA9IGkucGFyZW50OwogICAgICAgICAgfQogICAgICAgICAgbyhlID0gTmUpICYmIGUgIT09IHQuY29udGV4dCAmJiBlICE9PSB0LmZuQ29udGV4dCAmJiBvKGUgPSBlLiRvcHRpb25zLl9zY29wZUlkKSAmJiBsLnNldFN0eWxlU2NvcGUodC5lbG0sIGUpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gayh0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICBmb3IgKDsgbiA8PSBvOyArK24pIHUoaVtuXSwgciwgdCwgZSwgITEsIGksIG4pOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gUyh0KSB7CiAgICAgICAgICB2YXIgZSwgaSwgbiA9IHQuZGF0YTsKICAgICAgICAgIGlmIChvKG4pKSBmb3IgKG8oZSA9IG4uaG9vaykgJiYgbyhlID0gZS5kZXN0cm95KSAmJiBlKHQpLCBlID0gMDsgZSA8IHMuZGVzdHJveS5sZW5ndGg7ICsrZSkgcy5kZXN0cm95W2VdKHQpOwogICAgICAgICAgaWYgKG8oZSA9IHQuY2hpbGRyZW4pKSBmb3IgKGkgPSAwOyBpIDwgdC5jaGlsZHJlbi5sZW5ndGg7ICsraSkgUyh0LmNoaWxkcmVuW2ldKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIEModCwgZSwgaSwgbikgewogICAgICAgICAgZm9yICg7IGkgPD0gbjsgKytpKSB7CiAgICAgICAgICAgIHZhciByID0gZVtpXTsKICAgICAgICAgICAgbyhyKSAmJiAobyhyLnRhZykgPyAoTShyKSwgUyhyKSkgOiBkKHIuZWxtKSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBNKHQsIGUpIHsKICAgICAgICAgIGlmIChvKGUpIHx8IG8odC5kYXRhKSkgewogICAgICAgICAgICB2YXIgaSwgbiA9IHMucmVtb3ZlLmxlbmd0aCArIDE7CiAgICAgICAgICAgIGZvciAobyhlKSA/IGUubGlzdGVuZXJzICs9IG4gOiBlID0gcCh0LmVsbSwgbiksIG8oaSA9IHQuY29tcG9uZW50SW5zdGFuY2UpICYmIG8oaSA9IGkuX3Zub2RlKSAmJiBvKGkuZGF0YSkgJiYgTShpLCBlKSwgaSA9IDA7IGkgPCBzLnJlbW92ZS5sZW5ndGg7ICsraSkgcy5yZW1vdmVbaV0odCwgZSk7CiAgICAgICAgICAgIG8oaSA9IHQuZGF0YS5ob29rKSAmJiBvKGkgPSBpLnJlbW92ZSkgPyBpKHQsIGUpIDogZSgpOwogICAgICAgICAgfSBlbHNlIGQodC5lbG0pOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gQSh0LCBlLCBpLCByLCBzKSB7CiAgICAgICAgICB2YXIgYSwgaCwgYywgcCwgZCA9IDAsIGYgPSAwLCBnID0gZS5sZW5ndGggLSAxLCBtID0gZVswXSwgeSA9IGVbZ10sIHYgPSBpLmxlbmd0aCAtIDEsIHggPSBpWzBdLCBiID0gaVt2XSwgXyA9ICFzOwogICAgICAgICAgd2hpbGUgKGQgPD0gZyAmJiBmIDw9IHYpIG4obSkgPyBtID0gZVsrK2RdIDogbih5KSA/IHkgPSBlWy0tZ10gOiBnbyhtLCB4KSA/IChPKG0sIHgsIHIsIGksIGYpLCBtID0gZVsrK2RdLCB4ID0gaVsrK2ZdKSA6IGdvKHksIGIpID8gKE8oeSwgYiwgciwgaSwgdiksIHkgPSBlWy0tZ10sIGIgPSBpWy0tdl0pIDogZ28obSwgYikgPyAoTyhtLCBiLCByLCBpLCB2KSwgXyAmJiBsLmluc2VydEJlZm9yZSh0LCBtLmVsbSwgbC5uZXh0U2libGluZyh5LmVsbSkpLCBtID0gZVsrK2RdLCBiID0gaVstLXZdKSA6IGdvKHksIHgpID8gKE8oeSwgeCwgciwgaSwgZiksIF8gJiYgbC5pbnNlcnRCZWZvcmUodCwgeS5lbG0sIG0uZWxtKSwgeSA9IGVbLS1nXSwgeCA9IGlbKytmXSkgOiAobihhKSAmJiAoYSA9IHlvKGUsIGQsIGcpKSwgaCA9IG8oeC5rZXkpID8gYVt4LmtleV0gOiBQKHgsIGUsIGQsIGcpLCBuKGgpID8gdSh4LCByLCB0LCBtLmVsbSwgITEsIGksIGYpIDogKGMgPSBlW2hdLCBnbyhjLCB4KSA/IChPKGMsIHgsIHIsIGksIGYpLCBlW2hdID0gdm9pZCAwLCBfICYmIGwuaW5zZXJ0QmVmb3JlKHQsIGMuZWxtLCBtLmVsbSkpIDogdSh4LCByLCB0LCBtLmVsbSwgITEsIGksIGYpKSwgeCA9IGlbKytmXSk7CiAgICAgICAgICBkID4gZyA/IChwID0gbihpW3YgKyAxXSkgPyBudWxsIDogaVt2ICsgMV0uZWxtLCBrKHQsIHAsIGksIGYsIHYsIHIpKSA6IGYgPiB2ICYmIEModCwgZSwgZCwgZyk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBQKHQsIGUsIGksIG4pIHsKICAgICAgICAgIGZvciAodmFyIHIgPSBpOyByIDwgbjsgcisrKSB7CiAgICAgICAgICAgIHZhciBzID0gZVtyXTsKICAgICAgICAgICAgaWYgKG8ocykgJiYgZ28odCwgcykpIHJldHVybiByOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gTyh0LCBlLCBpLCBhLCBoLCBjKSB7CiAgICAgICAgICBpZiAodCAhPT0gZSkgewogICAgICAgICAgICBvKGUuZWxtKSAmJiBvKGEpICYmIChlID0gYVtoXSA9IGJ0KGUpKTsKICAgICAgICAgICAgdmFyIHAgPSBlLmVsbSA9IHQuZWxtOwogICAgICAgICAgICBpZiAocih0LmlzQXN5bmNQbGFjZWhvbGRlcikpIG8oZS5hc3luY0ZhY3RvcnkucmVzb2x2ZWQpID8gTCh0LmVsbSwgZSwgaSkgOiBlLmlzQXN5bmNQbGFjZWhvbGRlciA9ICEwOyBlbHNlIGlmIChyKGUuaXNTdGF0aWMpICYmIHIodC5pc1N0YXRpYykgJiYgZS5rZXkgPT09IHQua2V5ICYmIChyKGUuaXNDbG9uZWQpIHx8IHIoZS5pc09uY2UpKSkgZS5jb21wb25lbnRJbnN0YW5jZSA9IHQuY29tcG9uZW50SW5zdGFuY2U7IGVsc2UgewogICAgICAgICAgICAgIHZhciBkLCB1ID0gZS5kYXRhOwogICAgICAgICAgICAgIG8odSkgJiYgbyhkID0gdS5ob29rKSAmJiBvKGQgPSBkLnByZXBhdGNoKSAmJiBkKHQsIGUpOwogICAgICAgICAgICAgIHZhciBmID0gdC5jaGlsZHJlbiwgZyA9IGUuY2hpbGRyZW47CiAgICAgICAgICAgICAgaWYgKG8odSkgJiYgYihlKSkgewogICAgICAgICAgICAgICAgZm9yIChkID0gMDsgZCA8IHMudXBkYXRlLmxlbmd0aDsgKytkKSBzLnVwZGF0ZVtkXSh0LCBlKTsKICAgICAgICAgICAgICAgIG8oZCA9IHUuaG9vaykgJiYgbyhkID0gZC51cGRhdGUpICYmIGQodCwgZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG4oZS50ZXh0KSA/IG8oZikgJiYgbyhnKSA/IGYgIT09IGcgJiYgQShwLCBmLCBnLCBpLCBjKSA6IG8oZykgPyAobyh0LnRleHQpICYmIGwuc2V0VGV4dENvbnRlbnQocCwgIiIpLCBrKHAsIG51bGwsIGcsIDAsIGcubGVuZ3RoIC0gMSwgaSkpIDogbyhmKSA/IEMocCwgZiwgMCwgZi5sZW5ndGggLSAxKSA6IG8odC50ZXh0KSAmJiBsLnNldFRleHRDb250ZW50KHAsICIiKSA6IHQudGV4dCAhPT0gZS50ZXh0ICYmIGwuc2V0VGV4dENvbnRlbnQocCwgZS50ZXh0KSwgbyh1KSAmJiBvKGQgPSB1Lmhvb2spICYmIG8oZCA9IGQucG9zdHBhdGNoKSAmJiBkKHQsIGUpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBUKHQsIGUsIGkpIHsKICAgICAgICAgIGlmIChyKGkpICYmIG8odC5wYXJlbnQpKSB0LnBhcmVudC5kYXRhLnBlbmRpbmdJbnNlcnQgPSBlOyBlbHNlIGZvciAodmFyIG4gPSAwOyBuIDwgZS5sZW5ndGg7ICsrbikgZVtuXS5kYXRhLmhvb2suaW5zZXJ0KGVbbl0pOwogICAgICAgIH0KCiAgICAgICAgdmFyIEUgPSBnKCJhdHRycyxjbGFzcyxzdGF0aWNDbGFzcyxzdGF0aWNTdHlsZSxrZXkiKTsKCiAgICAgICAgZnVuY3Rpb24gTCh0LCBlLCBpLCBuKSB7CiAgICAgICAgICB2YXIgcywgYSA9IGUudGFnLCBoID0gZS5kYXRhLCBsID0gZS5jaGlsZHJlbjsKICAgICAgICAgIGlmIChuID0gbiB8fCBoICYmIGgucHJlLCBlLmVsbSA9IHQsIHIoZS5pc0NvbW1lbnQpICYmIG8oZS5hc3luY0ZhY3RvcnkpKSByZXR1cm4gZS5pc0FzeW5jUGxhY2Vob2xkZXIgPSAhMCwgITA7CiAgICAgICAgICBpZiAobyhoKSAmJiAobyhzID0gaC5ob29rKSAmJiBvKHMgPSBzLmluaXQpICYmIHMoZSwgITApLCBvKHMgPSBlLmNvbXBvbmVudEluc3RhbmNlKSkpIHJldHVybiBtKGUsIGkpLCAhMDsKICAgICAgICAgIGlmIChvKGEpKSB7CiAgICAgICAgICAgIGlmIChvKGwpKSBpZiAodC5oYXNDaGlsZE5vZGVzKCkpIGlmIChvKHMgPSBoKSAmJiBvKHMgPSBzLmRvbVByb3BzKSAmJiBvKHMgPSBzLmlubmVySFRNTCkpIHsKICAgICAgICAgICAgICBpZiAocyAhPT0gdC5pbm5lckhUTUwpIHJldHVybiAhMTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBmb3IgKHZhciBjID0gITAsIHAgPSB0LmZpcnN0Q2hpbGQsIGQgPSAwOyBkIDwgbC5sZW5ndGg7IGQrKykgewogICAgICAgICAgICAgICAgaWYgKCFwIHx8ICFMKHAsIGxbZF0sIGksIG4pKSB7CiAgICAgICAgICAgICAgICAgIGMgPSAhMTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBwID0gcC5uZXh0U2libGluZzsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKCFjIHx8IHApIHJldHVybiAhMTsKICAgICAgICAgICAgfSBlbHNlIHgoZSwgbCwgaSk7CiAgICAgICAgICAgIGlmIChvKGgpKSB7CiAgICAgICAgICAgICAgdmFyIHUgPSAhMTsKICAgICAgICAgICAgICBmb3IgKHZhciBmIGluIGgpIGlmICghRShmKSkgewogICAgICAgICAgICAgICAgdSA9ICEwLCBfKGUsIGkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICF1ICYmIGhbImNsYXNzIl0gJiYgZGUoaFsiY2xhc3MiXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB0LmRhdGEgIT09IGUudGV4dCAmJiAodC5kYXRhID0gZS50ZXh0KTsKICAgICAgICAgIHJldHVybiAhMDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmdW5jdGlvbih0LCBlLCBpLCBhKSB7CiAgICAgICAgICBpZiAoIW4oZSkpIHsKICAgICAgICAgICAgdmFyIGggPSAhMSwgcCA9IFtdOwogICAgICAgICAgICBpZiAobih0KSkgaCA9ICEwLCB1KGUsIHApOyBlbHNlIHsKICAgICAgICAgICAgICB2YXIgZCA9IG8odC5ub2RlVHlwZSk7CiAgICAgICAgICAgICAgaWYgKCFkICYmIGdvKHQsIGUpKSBPKHQsIGUsIHAsIG51bGwsIG51bGwsIGEpOyBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChkKSB7CiAgICAgICAgICAgICAgICAgIGlmICgxID09PSB0Lm5vZGVUeXBlICYmIHQuaGFzQXR0cmlidXRlKFIpICYmICh0LnJlbW92ZUF0dHJpYnV0ZShSKSwgaSA9ICEwKSwgcihpKSAmJiBMKHQsIGUsIHApKSByZXR1cm4gVChlLCBwLCAhMCksIHQ7CiAgICAgICAgICAgICAgICAgIHQgPSBjKHQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIGYgPSB0LmVsbSwgZyA9IGwucGFyZW50Tm9kZShmKTsKICAgICAgICAgICAgICAgIGlmICh1KGUsIHAsIGYuX2xlYXZlQ2IgPyBudWxsIDogZywgbC5uZXh0U2libGluZyhmKSksIG8oZS5wYXJlbnQpKSB7CiAgICAgICAgICAgICAgICAgIHZhciBtID0gZS5wYXJlbnQsIHkgPSBiKGUpOwogICAgICAgICAgICAgICAgICB3aGlsZSAobSkgewogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHYgPSAwOyB2IDwgcy5kZXN0cm95Lmxlbmd0aDsgKyt2KSBzLmRlc3Ryb3lbdl0obSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKG0uZWxtID0gZS5lbG0sIHkpIHsKICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgcy5jcmVhdGUubGVuZ3RoOyArK3gpIHMuY3JlYXRlW3hdKHVvLCBtKTsKICAgICAgICAgICAgICAgICAgICAgIHZhciBfID0gbS5kYXRhLmhvb2suaW5zZXJ0OwogICAgICAgICAgICAgICAgICAgICAgaWYgKF8ubWVyZ2VkKSBmb3IgKHZhciB3ID0gMTsgdyA8IF8uZm5zLmxlbmd0aDsgdysrKSBfLmZuc1t3XSgpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBwbyhtKTsKICAgICAgICAgICAgICAgICAgICBtID0gbS5wYXJlbnQ7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG8oZykgPyBDKGcsIFt0XSwgMCwgMCkgOiBvKHQudGFnKSAmJiBTKHQpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gVChlLCBwLCBoKSwgZS5lbG07CiAgICAgICAgICB9CiAgICAgICAgICBvKHQpICYmIFModCk7CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgdmFyIHhvID0gewogICAgICAgIGNyZWF0ZTogYm8sIHVwZGF0ZTogYm8sIGRlc3Ryb3k6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGJvKHQsIHVvKTsKICAgICAgICB9CiAgICAgIH07CgogICAgICBmdW5jdGlvbiBibyh0LCBlKSB7CiAgICAgICAgKHQuZGF0YS5kaXJlY3RpdmVzIHx8IGUuZGF0YS5kaXJlY3RpdmVzKSAmJiBfbyh0LCBlKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gX28odCwgZSkgewogICAgICAgIHZhciBpLCBuLCBvLCByID0gdCA9PT0gdW8sIHMgPSBlID09PSB1bywgYSA9IGtvKHQuZGF0YS5kaXJlY3RpdmVzLCB0LmNvbnRleHQpLCBoID0ga28oZS5kYXRhLmRpcmVjdGl2ZXMsIGUuY29udGV4dCksIGwgPSBbXSwgYyA9IFtdOwogICAgICAgIGZvciAoaSBpbiBoKSBuID0gYVtpXSwgbyA9IGhbaV0sIG4gPyAoby5vbGRWYWx1ZSA9IG4udmFsdWUsIENvKG8sICJ1cGRhdGUiLCBlLCB0KSwgby5kZWYgJiYgby5kZWYuY29tcG9uZW50VXBkYXRlZCAmJiBjLnB1c2gobykpIDogKENvKG8sICJiaW5kIiwgZSwgdCksIG8uZGVmICYmIG8uZGVmLmluc2VydGVkICYmIGwucHVzaChvKSk7CiAgICAgICAgaWYgKGwubGVuZ3RoKSB7CiAgICAgICAgICB2YXIgcCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGwubGVuZ3RoOyBpKyspIENvKGxbaV0sICJpbnNlcnRlZCIsIGUsIHQpOwogICAgICAgICAgfTsKICAgICAgICAgIHIgPyB2ZShlLCAiaW5zZXJ0IiwgcCkgOiBwKCk7CiAgICAgICAgfQogICAgICAgIGlmIChjLmxlbmd0aCAmJiB2ZShlLCAicG9zdHBhdGNoIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjLmxlbmd0aDsgaSsrKSBDbyhjW2ldLCAiY29tcG9uZW50VXBkYXRlZCIsIGUsIHQpOwogICAgICAgIH0pKSwgIXIpIGZvciAoaSBpbiBhKSBoW2ldIHx8IENvKGFbaV0sICJ1bmJpbmQiLCB0LCB0LCBzKTsKICAgICAgfQoKICAgICAgdmFyIHdvID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKCiAgICAgIGZ1bmN0aW9uIGtvKHQsIGUpIHsKICAgICAgICB2YXIgaSwgbiwgbyA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICAgICAgaWYgKCF0KSByZXR1cm4gbzsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdC5sZW5ndGg7IGkrKykgbiA9IHRbaV0sIG4ubW9kaWZpZXJzIHx8IChuLm1vZGlmaWVycyA9IHdvKSwgb1tTbyhuKV0gPSBuLCBuLmRlZiA9IFV0KGUuJG9wdGlvbnMsICJkaXJlY3RpdmVzIiwgbi5uYW1lLCAhMCk7CiAgICAgICAgcmV0dXJuIG87CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFNvKHQpIHsKICAgICAgICByZXR1cm4gdC5yYXdOYW1lIHx8IHQubmFtZSArICIuIiArIE9iamVjdC5rZXlzKHQubW9kaWZpZXJzIHx8IHt9KS5qb2luKCIuIik7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIENvKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICB2YXIgciA9IHQuZGVmICYmIHQuZGVmW2VdOwogICAgICAgIGlmIChyKSB0cnkgewogICAgICAgICAgcihpLmVsbSwgdCwgaSwgbiwgbyk7CiAgICAgICAgfSBjYXRjaCAoYXMpIHsKICAgICAgICAgIFp0KGFzLCBpLmNvbnRleHQsICJkaXJlY3RpdmUgIiArIHQubmFtZSArICIgIiArIGUgKyAiIGhvb2siKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciBNbyA9IFtjbywgeG9dOwoKICAgICAgZnVuY3Rpb24gQW8odCwgZSkgewogICAgICAgIHZhciBpID0gZS5jb21wb25lbnRPcHRpb25zOwogICAgICAgIGlmICgoIW8oaSkgfHwgITEgIT09IGkuQ3Rvci5vcHRpb25zLmluaGVyaXRBdHRycykgJiYgKCFuKHQuZGF0YS5hdHRycykgfHwgIW4oZS5kYXRhLmF0dHJzKSkpIHsKICAgICAgICAgIHZhciByLCBzLCBhLCBoID0gZS5lbG0sIGwgPSB0LmRhdGEuYXR0cnMgfHwge30sIGMgPSBlLmRhdGEuYXR0cnMgfHwge307CiAgICAgICAgICBmb3IgKHIgaW4gbyhjLl9fb2JfXykgJiYgKGMgPSBlLmRhdGEuYXR0cnMgPSBUKHt9LCBjKSksIGMpIHMgPSBjW3JdLCBhID0gbFtyXSwgYSAhPT0gcyAmJiBQbyhoLCByLCBzKTsKICAgICAgICAgIGZvciAociBpbiAoSiB8fCB0dCkgJiYgYy52YWx1ZSAhPT0gbC52YWx1ZSAmJiBQbyhoLCAidmFsdWUiLCBjLnZhbHVlKSwgbCkgbihjW3JdKSAmJiAoTG4ocikgPyBoLnJlbW92ZUF0dHJpYnV0ZU5TKEVuLCBqbihyKSkgOiBPbihyKSB8fCBoLnJlbW92ZUF0dHJpYnV0ZShyKSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBQbyh0LCBlLCBpKSB7CiAgICAgICAgdC50YWdOYW1lLmluZGV4T2YoIi0iKSA+IC0xID8gT28odCwgZSwgaSkgOiBUbihlKSA/IERuKGkpID8gdC5yZW1vdmVBdHRyaWJ1dGUoZSkgOiAoaSA9ICJhbGxvd2Z1bGxzY3JlZW4iID09PSBlICYmICJFTUJFRCIgPT09IHQudGFnTmFtZSA/ICJ0cnVlIiA6IGUsIHQuc2V0QXR0cmlidXRlKGUsIGkpKSA6IE9uKGUpID8gdC5zZXRBdHRyaWJ1dGUoZSwgRG4oaSkgfHwgImZhbHNlIiA9PT0gaSA/ICJmYWxzZSIgOiAidHJ1ZSIpIDogTG4oZSkgPyBEbihpKSA/IHQucmVtb3ZlQXR0cmlidXRlTlMoRW4sIGpuKGUpKSA6IHQuc2V0QXR0cmlidXRlTlMoRW4sIGUsIGkpIDogT28odCwgZSwgaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIE9vKHQsIGUsIGkpIHsKICAgICAgICBpZiAoRG4oaSkpIHQucmVtb3ZlQXR0cmlidXRlKGUpOyBlbHNlIHsKICAgICAgICAgIGlmIChKICYmICFRICYmICgiVEVYVEFSRUEiID09PSB0LnRhZ05hbWUgfHwgIklOUFVUIiA9PT0gdC50YWdOYW1lKSAmJiAicGxhY2Vob2xkZXIiID09PSBlICYmICF0Ll9faWVwaCkgewogICAgICAgICAgICB2YXIgbiA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCB0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImlucHV0Iiwgbik7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHQuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBuKSwgdC5fX2llcGggPSAhMDsKICAgICAgICAgIH0KICAgICAgICAgIHQuc2V0QXR0cmlidXRlKGUsIGkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIFRvID0geyBjcmVhdGU6IEFvLCB1cGRhdGU6IEFvIH07CgogICAgICBmdW5jdGlvbiBFbyh0LCBlKSB7CiAgICAgICAgdmFyIGkgPSBlLmVsbSwgciA9IGUuZGF0YSwgcyA9IHQuZGF0YTsKICAgICAgICBpZiAoIShuKHIuc3RhdGljQ2xhc3MpICYmIG4oci5jbGFzcykgJiYgKG4ocykgfHwgbihzLnN0YXRpY0NsYXNzKSAmJiBuKHMuY2xhc3MpKSkpIHsKICAgICAgICAgIHZhciBhID0gSW4oZSksIGggPSBpLl90cmFuc2l0aW9uQ2xhc3NlczsKICAgICAgICAgIG8oaCkgJiYgKGEgPSBSbihhLCBObihoKSkpLCBhICE9PSBpLl9wcmV2Q2xhc3MgJiYgKGkuc2V0QXR0cmlidXRlKCJjbGFzcyIsIGEpLCBpLl9wcmV2Q2xhc3MgPSBhKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciBMbywgam8gPSB7IGNyZWF0ZTogRW8sIHVwZGF0ZTogRW8gfSwgRG8gPSAiX19yIiwgSW8gPSAiX19jIjsKCiAgICAgIGZ1bmN0aW9uIHpvKHQpIHsKICAgICAgICBpZiAobyh0W0RvXSkpIHsKICAgICAgICAgIHZhciBlID0gSiA/ICJjaGFuZ2UiIDogImlucHV0IjsKICAgICAgICAgIHRbZV0gPSBbXS5jb25jYXQodFtEb10sIHRbZV0gfHwgW10pLCBkZWxldGUgdFtEb107CiAgICAgICAgfQogICAgICAgIG8odFtJb10pICYmICh0LmNoYW5nZSA9IFtdLmNvbmNhdCh0W0lvXSwgdC5jaGFuZ2UgfHwgW10pLCBkZWxldGUgdFtJb10pOwogICAgICB9CgogICAgICBmdW5jdGlvbiBCbyh0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4gPSBMbzsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gbygpIHsKICAgICAgICAgIHZhciByID0gZS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgICAgICAgbnVsbCAhPT0gciAmJiBObyh0LCBvLCBpLCBuKTsKICAgICAgICB9OwogICAgICB9CgogICAgICBmdW5jdGlvbiBSbyh0LCBlLCBpLCBuKSB7CiAgICAgICAgZSA9IGxlKGUpLCBMby5hZGRFdmVudExpc3RlbmVyKHQsIGUsIG50ID8geyBjYXB0dXJlOiBpLCBwYXNzaXZlOiBuIH0gOiBpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gTm8odCwgZSwgaSwgbikgewogICAgICAgIChuIHx8IExvKS5yZW1vdmVFdmVudExpc3RlbmVyKHQsIGUuX3dpdGhUYXNrIHx8IGUsIGkpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBHbyh0LCBlKSB7CiAgICAgICAgaWYgKCFuKHQuZGF0YS5vbikgfHwgIW4oZS5kYXRhLm9uKSkgewogICAgICAgICAgdmFyIGkgPSBlLmRhdGEub24gfHwge30sIG8gPSB0LmRhdGEub24gfHwge307CiAgICAgICAgICBMbyA9IGUuZWxtLCB6byhpKSwgeWUoaSwgbywgUm8sIE5vLCBCbywgZS5jb250ZXh0KSwgTG8gPSB2b2lkIDA7CiAgICAgICAgfQogICAgICB9CgogICAgICB2YXIgSG8gPSB7IGNyZWF0ZTogR28sIHVwZGF0ZTogR28gfTsKCiAgICAgIGZ1bmN0aW9uIFdvKHQsIGUpIHsKICAgICAgICBpZiAoIW4odC5kYXRhLmRvbVByb3BzKSB8fCAhbihlLmRhdGEuZG9tUHJvcHMpKSB7CiAgICAgICAgICB2YXIgaSwgciwgcyA9IGUuZWxtLCBhID0gdC5kYXRhLmRvbVByb3BzIHx8IHt9LCBoID0gZS5kYXRhLmRvbVByb3BzIHx8IHt9OwogICAgICAgICAgZm9yIChpIGluIG8oaC5fX29iX18pICYmIChoID0gZS5kYXRhLmRvbVByb3BzID0gVCh7fSwgaCkpLCBhKSBuKGhbaV0pICYmIChzW2ldID0gIiIpOwogICAgICAgICAgZm9yIChpIGluIGgpIHsKICAgICAgICAgICAgaWYgKHIgPSBoW2ldLCAidGV4dENvbnRlbnQiID09PSBpIHx8ICJpbm5lckhUTUwiID09PSBpKSB7CiAgICAgICAgICAgICAgaWYgKGUuY2hpbGRyZW4gJiYgKGUuY2hpbGRyZW4ubGVuZ3RoID0gMCksIHIgPT09IGFbaV0pIGNvbnRpbnVlOwogICAgICAgICAgICAgIDEgPT09IHMuY2hpbGROb2Rlcy5sZW5ndGggJiYgcy5yZW1vdmVDaGlsZChzLmNoaWxkTm9kZXNbMF0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgidmFsdWUiID09PSBpKSB7CiAgICAgICAgICAgICAgcy5fdmFsdWUgPSByOwogICAgICAgICAgICAgIHZhciBsID0gbihyKSA/ICIiIDogU3RyaW5nKHIpOwogICAgICAgICAgICAgIEZvKHMsIGwpICYmIChzLnZhbHVlID0gbCk7CiAgICAgICAgICAgIH0gZWxzZSBzW2ldID0gcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEZvKHQsIGUpIHsKICAgICAgICByZXR1cm4gIXQuY29tcG9zaW5nICYmICgiT1BUSU9OIiA9PT0gdC50YWdOYW1lIHx8IFhvKHQsIGUpIHx8IFVvKHQsIGUpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gWG8odCwgZSkgewogICAgICAgIHZhciBpID0gITA7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGkgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0OwogICAgICAgIH0gY2F0Y2ggKGFzKSB7CiAgICAgICAgfQogICAgICAgIHJldHVybiBpICYmIHQudmFsdWUgIT09IGU7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIFVvKHQsIGUpIHsKICAgICAgICB2YXIgaSA9IHQudmFsdWUsIG4gPSB0Ll92TW9kaWZpZXJzOwogICAgICAgIGlmIChvKG4pKSB7CiAgICAgICAgICBpZiAobi5sYXp5KSByZXR1cm4gITE7CiAgICAgICAgICBpZiAobi5udW1iZXIpIHJldHVybiBmKGkpICE9PSBmKGUpOwogICAgICAgICAgaWYgKG4udHJpbSkgcmV0dXJuIGkudHJpbSgpICE9PSBlLnRyaW0oKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGkgIT09IGU7CiAgICAgIH0KCiAgICAgIHZhciBZbyA9IHsgY3JlYXRlOiBXbywgdXBkYXRlOiBXbyB9LCBWbyA9IGIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9IHt9LCBpID0gLzsoPyFbXihdKlwpKS9nLCBuID0gLzooLispLzsKICAgICAgICByZXR1cm4gdC5zcGxpdChpKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICB2YXIgaSA9IHQuc3BsaXQobik7CiAgICAgICAgICAgIGkubGVuZ3RoID4gMSAmJiAoZVtpWzBdLnRyaW0oKV0gPSBpWzFdLnRyaW0oKSk7CiAgICAgICAgICB9CiAgICAgICAgfSkpLCBlOwogICAgICB9KSk7CgogICAgICBmdW5jdGlvbiAkbyh0KSB7CiAgICAgICAgdmFyIGUgPSBLbyh0LnN0eWxlKTsKICAgICAgICByZXR1cm4gdC5zdGF0aWNTdHlsZSA/IFQodC5zdGF0aWNTdHlsZSwgZSkgOiBlOwogICAgICB9CgogICAgICBmdW5jdGlvbiBLbyh0KSB7CiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodCkgPyBFKHQpIDogInN0cmluZyIgPT09IHR5cGVvZiB0ID8gVm8odCkgOiB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBxbyh0LCBlKSB7CiAgICAgICAgdmFyIGksIG4gPSB7fTsKICAgICAgICBpZiAoZSkgewogICAgICAgICAgdmFyIG8gPSB0OwogICAgICAgICAgd2hpbGUgKG8uY29tcG9uZW50SW5zdGFuY2UpIG8gPSBvLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSwgbyAmJiBvLmRhdGEgJiYgKGkgPSAkbyhvLmRhdGEpKSAmJiBUKG4sIGkpOwogICAgICAgIH0KICAgICAgICAoaSA9ICRvKHQuZGF0YSkpICYmIFQobiwgaSk7CiAgICAgICAgdmFyIHIgPSB0OwogICAgICAgIHdoaWxlIChyID0gci5wYXJlbnQpIHIuZGF0YSAmJiAoaSA9ICRvKHIuZGF0YSkpICYmIFQobiwgaSk7CiAgICAgICAgcmV0dXJuIG47CiAgICAgIH0KCiAgICAgIHZhciBabywgSm8gPSAvXi0tLywgUW8gPSAvXHMqIWltcG9ydGFudCQvLCB0ciA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICBpZiAoSm8udGVzdChlKSkgdC5zdHlsZS5zZXRQcm9wZXJ0eShlLCBpKTsgZWxzZSBpZiAoUW8udGVzdChpKSkgdC5zdHlsZS5zZXRQcm9wZXJ0eShlLCBpLnJlcGxhY2UoUW8sICIiKSwgImltcG9ydGFudCIpOyBlbHNlIHsKICAgICAgICAgIHZhciBuID0gaXIoZSk7CiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpKSkgZm9yICh2YXIgbyA9IDAsIHIgPSBpLmxlbmd0aDsgbyA8IHI7IG8rKykgdC5zdHlsZVtuXSA9IGlbb107IGVsc2UgdC5zdHlsZVtuXSA9IGk7CiAgICAgICAgfQogICAgICB9LCBlciA9IFsiV2Via2l0IiwgIk1veiIsICJtcyJdLCBpciA9IGIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICBpZiAoWm8gPSBabyB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwgdCA9IHcodCksICJmaWx0ZXIiICE9PSB0ICYmIHQgaW4gWm8pIHJldHVybiB0OwogICAgICAgIGZvciAodmFyIGUgPSB0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdC5zbGljZSgxKSwgaSA9IDA7IGkgPCBlci5sZW5ndGg7IGkrKykgewogICAgICAgICAgdmFyIG4gPSBlcltpXSArIGU7CiAgICAgICAgICBpZiAobiBpbiBabykgcmV0dXJuIG47CiAgICAgICAgfQogICAgICB9KSk7CgogICAgICBmdW5jdGlvbiBucih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSBlLmRhdGEsIHIgPSB0LmRhdGE7CiAgICAgICAgaWYgKCEobihpLnN0YXRpY1N0eWxlKSAmJiBuKGkuc3R5bGUpICYmIG4oci5zdGF0aWNTdHlsZSkgJiYgbihyLnN0eWxlKSkpIHsKICAgICAgICAgIHZhciBzLCBhLCBoID0gZS5lbG0sIGwgPSByLnN0YXRpY1N0eWxlLCBjID0gci5ub3JtYWxpemVkU3R5bGUgfHwgci5zdHlsZSB8fCB7fSwgcCA9IGwgfHwgYywgZCA9IEtvKGUuZGF0YS5zdHlsZSkgfHwge307CiAgICAgICAgICBlLmRhdGEubm9ybWFsaXplZFN0eWxlID0gbyhkLl9fb2JfXykgPyBUKHt9LCBkKSA6IGQ7CiAgICAgICAgICB2YXIgdSA9IHFvKGUsICEwKTsKICAgICAgICAgIGZvciAoYSBpbiBwKSBuKHVbYV0pICYmIHRyKGgsIGEsICIiKTsKICAgICAgICAgIGZvciAoYSBpbiB1KSBzID0gdVthXSwgcyAhPT0gcFthXSAmJiB0cihoLCBhLCBudWxsID09IHMgPyAiIiA6IHMpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIG9yID0geyBjcmVhdGU6IG5yLCB1cGRhdGU6IG5yIH0sIHJyID0gL1xzKy87CgogICAgICBmdW5jdGlvbiBzcih0LCBlKSB7CiAgICAgICAgaWYgKGUgJiYgKGUgPSBlLnRyaW0oKSkpIGlmICh0LmNsYXNzTGlzdCkgZS5pbmRleE9mKCIgIikgPiAtMSA/IGUuc3BsaXQocnIpLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIHJldHVybiB0LmNsYXNzTGlzdC5hZGQoZSk7CiAgICAgICAgfSkpIDogdC5jbGFzc0xpc3QuYWRkKGUpOyBlbHNlIHsKICAgICAgICAgIHZhciBpID0gIiAiICsgKHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpIHx8ICIiKSArICIgIjsKICAgICAgICAgIGkuaW5kZXhPZigiICIgKyBlICsgIiAiKSA8IDAgJiYgdC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgKGkgKyBlKS50cmltKCkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gYXIodCwgZSkgewogICAgICAgIGlmIChlICYmIChlID0gZS50cmltKCkpKSBpZiAodC5jbGFzc0xpc3QpIGUuaW5kZXhPZigiICIpID4gLTEgPyBlLnNwbGl0KHJyKS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICByZXR1cm4gdC5jbGFzc0xpc3QucmVtb3ZlKGUpOwogICAgICAgIH0pKSA6IHQuY2xhc3NMaXN0LnJlbW92ZShlKSwgdC5jbGFzc0xpc3QubGVuZ3RoIHx8IHQucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpOyBlbHNlIHsKICAgICAgICAgIHZhciBpID0gIiAiICsgKHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpIHx8ICIiKSArICIgIiwgbiA9ICIgIiArIGUgKyAiICI7CiAgICAgICAgICB3aGlsZSAoaS5pbmRleE9mKG4pID49IDApIGkgPSBpLnJlcGxhY2UobiwgIiAiKTsKICAgICAgICAgIGkgPSBpLnRyaW0oKSwgaSA/IHQuc2V0QXR0cmlidXRlKCJjbGFzcyIsIGkpIDogdC5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzIik7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBocih0KSB7CiAgICAgICAgaWYgKHQpIHsKICAgICAgICAgIGlmICgib2JqZWN0IiA9PT0gdHlwZW9mIHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB7fTsKICAgICAgICAgICAgcmV0dXJuICExICE9PSB0LmNzcyAmJiBUKGUsIGxyKHQubmFtZSB8fCAidiIpKSwgVChlLCB0KSwgZTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiAic3RyaW5nIiA9PT0gdHlwZW9mIHQgPyBscih0KSA6IHZvaWQgMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciBsciA9IGIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgZW50ZXJDbGFzczogdCArICItZW50ZXIiLAogICAgICAgICAgZW50ZXJUb0NsYXNzOiB0ICsgIi1lbnRlci10byIsCiAgICAgICAgICBlbnRlckFjdGl2ZUNsYXNzOiB0ICsgIi1lbnRlci1hY3RpdmUiLAogICAgICAgICAgbGVhdmVDbGFzczogdCArICItbGVhdmUiLAogICAgICAgICAgbGVhdmVUb0NsYXNzOiB0ICsgIi1sZWF2ZS10byIsCiAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzOiB0ICsgIi1sZWF2ZS1hY3RpdmUiCiAgICAgICAgfTsKICAgICAgfSkpLCBjciA9ICQgJiYgIVEsIHByID0gInRyYW5zaXRpb24iLCBkciA9ICJhbmltYXRpb24iLCB1ciA9ICJ0cmFuc2l0aW9uIiwgZnIgPSAidHJhbnNpdGlvbmVuZCIsIGdyID0gImFuaW1hdGlvbiIsIG1yID0gImFuaW1hdGlvbmVuZCI7CiAgICAgIGNyICYmICh2b2lkIDAgPT09IHdpbmRvdy5vbnRyYW5zaXRpb25lbmQgJiYgdm9pZCAwICE9PSB3aW5kb3cub253ZWJraXR0cmFuc2l0aW9uZW5kICYmICh1ciA9ICJXZWJraXRUcmFuc2l0aW9uIiwgZnIgPSAid2Via2l0VHJhbnNpdGlvbkVuZCIpLCB2b2lkIDAgPT09IHdpbmRvdy5vbmFuaW1hdGlvbmVuZCAmJiB2b2lkIDAgIT09IHdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCAmJiAoZ3IgPSAiV2Via2l0QW5pbWF0aW9uIiwgbXIgPSAid2Via2l0QW5pbWF0aW9uRW5kIikpOwogICAgICB2YXIgeXIgPSAkID8gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA/IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpIDogc2V0VGltZW91dCA6IGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gdCgpOwogICAgICB9OwoKICAgICAgZnVuY3Rpb24gdnIodCkgewogICAgICAgIHlyKChmdW5jdGlvbigpIHsKICAgICAgICAgIHlyKHQpOwogICAgICAgIH0pKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24geHIodCwgZSkgewogICAgICAgIHZhciBpID0gdC5fdHJhbnNpdGlvbkNsYXNzZXMgfHwgKHQuX3RyYW5zaXRpb25DbGFzc2VzID0gW10pOwogICAgICAgIGkuaW5kZXhPZihlKSA8IDAgJiYgKGkucHVzaChlKSwgc3IodCwgZSkpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBicih0LCBlKSB7CiAgICAgICAgdC5fdHJhbnNpdGlvbkNsYXNzZXMgJiYgeSh0Ll90cmFuc2l0aW9uQ2xhc3NlcywgZSksIGFyKHQsIGUpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBfcih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4gPSBrcih0LCBlKSwgbyA9IG4udHlwZSwgciA9IG4udGltZW91dCwgcyA9IG4ucHJvcENvdW50OwogICAgICAgIGlmICghbykgcmV0dXJuIGkoKTsKICAgICAgICB2YXIgYSA9IG8gPT09IHByID8gZnIgOiBtciwgaCA9IDAsIGwgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLCBjKSwgaSgpOwogICAgICAgIH0sIGMgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICBlLnRhcmdldCA9PT0gdCAmJiArK2ggPj0gcyAmJiBsKCk7CiAgICAgICAgfTsKICAgICAgICBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHsKICAgICAgICAgIGggPCBzICYmIGwoKTsKICAgICAgICB9KSwgciArIDEpLCB0LmFkZEV2ZW50TGlzdGVuZXIoYSwgYyk7CiAgICAgIH0KCiAgICAgIHZhciB3ciA9IC9cYih0cmFuc2Zvcm18YWxsKSgsfCQpLzsKCiAgICAgIGZ1bmN0aW9uIGtyKHQsIGUpIHsKICAgICAgICB2YXIgaSwgbiA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLCBvID0gKG5bdXIgKyAiRGVsYXkiXSB8fCAiIikuc3BsaXQoIiwgIiksIHIgPSAoblt1ciArICJEdXJhdGlvbiJdIHx8ICIiKS5zcGxpdCgiLCAiKSwgcyA9IFNyKG8sIHIpLAogICAgICAgICAgYSA9IChuW2dyICsgIkRlbGF5Il0gfHwgIiIpLnNwbGl0KCIsICIpLCBoID0gKG5bZ3IgKyAiRHVyYXRpb24iXSB8fCAiIikuc3BsaXQoIiwgIiksIGwgPSBTcihhLCBoKSwgYyA9IDAsIHAgPSAwOwogICAgICAgIGUgPT09IHByID8gcyA+IDAgJiYgKGkgPSBwciwgYyA9IHMsIHAgPSByLmxlbmd0aCkgOiBlID09PSBkciA/IGwgPiAwICYmIChpID0gZHIsIGMgPSBsLCBwID0gaC5sZW5ndGgpIDogKGMgPSBNYXRoLm1heChzLCBsKSwgaSA9IGMgPiAwID8gcyA+IGwgPyBwciA6IGRyIDogbnVsbCwgcCA9IGkgPyBpID09PSBwciA/IHIubGVuZ3RoIDogaC5sZW5ndGggOiAwKTsKICAgICAgICB2YXIgZCA9IGkgPT09IHByICYmIHdyLnRlc3Qoblt1ciArICJQcm9wZXJ0eSJdKTsKICAgICAgICByZXR1cm4geyB0eXBlOiBpLCB0aW1lb3V0OiBjLCBwcm9wQ291bnQ6IHAsIGhhc1RyYW5zZm9ybTogZCB9OwogICAgICB9CgogICAgICBmdW5jdGlvbiBTcih0LCBlKSB7CiAgICAgICAgd2hpbGUgKHQubGVuZ3RoIDwgZS5sZW5ndGgpIHQgPSB0LmNvbmNhdCh0KTsKICAgICAgICByZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCwgZS5tYXAoKGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgIHJldHVybiBDcihlKSArIENyKHRbaV0pOwogICAgICAgIH0pKSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIENyKHQpIHsKICAgICAgICByZXR1cm4gMWUzICogTnVtYmVyKHQuc2xpY2UoMCwgLTEpLnJlcGxhY2UoIiwiLCAiLiIpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gTXIodCwgZSkgewogICAgICAgIHZhciBpID0gdC5lbG07CiAgICAgICAgbyhpLl9sZWF2ZUNiKSAmJiAoaS5fbGVhdmVDYi5jYW5jZWxsZWQgPSAhMCwgaS5fbGVhdmVDYigpKTsKICAgICAgICB2YXIgciA9IGhyKHQuZGF0YS50cmFuc2l0aW9uKTsKICAgICAgICBpZiAoIW4ocikgJiYgIW8oaS5fZW50ZXJDYikgJiYgMSA9PT0gaS5ub2RlVHlwZSkgewogICAgICAgICAgdmFyIHMgPSByLmNzcywgYSA9IHIudHlwZSwgbCA9IHIuZW50ZXJDbGFzcywgYyA9IHIuZW50ZXJUb0NsYXNzLCBwID0gci5lbnRlckFjdGl2ZUNsYXNzLCBkID0gci5hcHBlYXJDbGFzcywgdSA9IHIuYXBwZWFyVG9DbGFzcywKICAgICAgICAgICAgZyA9IHIuYXBwZWFyQWN0aXZlQ2xhc3MsIG0gPSByLmJlZm9yZUVudGVyLCB5ID0gci5lbnRlciwgdiA9IHIuYWZ0ZXJFbnRlciwgeCA9IHIuZW50ZXJDYW5jZWxsZWQsIGIgPSByLmJlZm9yZUFwcGVhciwgXyA9IHIuYXBwZWFyLAogICAgICAgICAgICB3ID0gci5hZnRlckFwcGVhciwgayA9IHIuYXBwZWFyQ2FuY2VsbGVkLCBTID0gci5kdXJhdGlvbiwgQyA9IE5lLCBNID0gTmUuJHZub2RlOwogICAgICAgICAgd2hpbGUgKE0gJiYgTS5wYXJlbnQpIE0gPSBNLnBhcmVudCwgQyA9IE0uY29udGV4dDsKICAgICAgICAgIHZhciBBID0gIUMuX2lzTW91bnRlZCB8fCAhdC5pc1Jvb3RJbnNlcnQ7CiAgICAgICAgICBpZiAoIUEgfHwgXyB8fCAiIiA9PT0gXykgewogICAgICAgICAgICB2YXIgUCA9IEEgJiYgZCA/IGQgOiBsLCBPID0gQSAmJiBnID8gZyA6IHAsIFQgPSBBICYmIHUgPyB1IDogYywgRSA9IEEgJiYgYiB8fCBtLCBMID0gQSAmJiAiZnVuY3Rpb24iID09PSB0eXBlb2YgXyA/IF8gOiB5LCBqID0gQSAmJiB3IHx8IHYsCiAgICAgICAgICAgICAgRCA9IEEgJiYgayB8fCB4LCBJID0gZihoKFMpID8gUy5lbnRlciA6IFMpOwogICAgICAgICAgICAwOwogICAgICAgICAgICB2YXIgeiA9ICExICE9PSBzICYmICFRLCBSID0gT3IoTCksIE4gPSBpLl9lbnRlckNiID0gQigoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgeiAmJiAoYnIoaSwgVCksIGJyKGksIE8pKSwgTi5jYW5jZWxsZWQgPyAoeiAmJiBicihpLCBQKSwgRCAmJiBEKGkpKSA6IGogJiYgaihpKSwgaS5fZW50ZXJDYiA9IG51bGw7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgdC5kYXRhLnNob3cgfHwgdmUodCwgImluc2VydCIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgZSA9IGkucGFyZW50Tm9kZSwgbiA9IGUgJiYgZS5fcGVuZGluZyAmJiBlLl9wZW5kaW5nW3Qua2V5XTsKICAgICAgICAgICAgICBuICYmIG4udGFnID09PSB0LnRhZyAmJiBuLmVsbS5fbGVhdmVDYiAmJiBuLmVsbS5fbGVhdmVDYigpLCBMICYmIEwoaSwgTik7CiAgICAgICAgICAgIH0pKSwgRSAmJiBFKGkpLCB6ICYmICh4cihpLCBQKSwgeHIoaSwgTyksIHZyKChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBicihpLCBQKSwgTi5jYW5jZWxsZWQgfHwgKHhyKGksIFQpLCBSIHx8IChQcihJKSA/IHNldFRpbWVvdXQoTiwgSSkgOiBfcihpLCBhLCBOKSkpOwogICAgICAgICAgICB9KSkpLCB0LmRhdGEuc2hvdyAmJiAoZSAmJiBlKCksIEwgJiYgTChpLCBOKSksIHogfHwgUiB8fCBOKCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBBcih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSB0LmVsbTsKICAgICAgICBvKGkuX2VudGVyQ2IpICYmIChpLl9lbnRlckNiLmNhbmNlbGxlZCA9ICEwLCBpLl9lbnRlckNiKCkpOwogICAgICAgIHZhciByID0gaHIodC5kYXRhLnRyYW5zaXRpb24pOwogICAgICAgIGlmIChuKHIpIHx8IDEgIT09IGkubm9kZVR5cGUpIHJldHVybiBlKCk7CiAgICAgICAgaWYgKCFvKGkuX2xlYXZlQ2IpKSB7CiAgICAgICAgICB2YXIgcyA9IHIuY3NzLCBhID0gci50eXBlLCBsID0gci5sZWF2ZUNsYXNzLCBjID0gci5sZWF2ZVRvQ2xhc3MsIHAgPSByLmxlYXZlQWN0aXZlQ2xhc3MsIGQgPSByLmJlZm9yZUxlYXZlLCB1ID0gci5sZWF2ZSwgZyA9IHIuYWZ0ZXJMZWF2ZSwKICAgICAgICAgICAgbSA9IHIubGVhdmVDYW5jZWxsZWQsIHkgPSByLmRlbGF5TGVhdmUsIHYgPSByLmR1cmF0aW9uLCB4ID0gITEgIT09IHMgJiYgIVEsIGIgPSBPcih1KSwgXyA9IGYoaCh2KSA/IHYubGVhdmUgOiB2KTsKICAgICAgICAgIDA7CiAgICAgICAgICB2YXIgdyA9IGkuX2xlYXZlQ2IgPSBCKChmdW5jdGlvbigpIHsKICAgICAgICAgICAgaS5wYXJlbnROb2RlICYmIGkucGFyZW50Tm9kZS5fcGVuZGluZyAmJiAoaS5wYXJlbnROb2RlLl9wZW5kaW5nW3Qua2V5XSA9IG51bGwpLCB4ICYmIChicihpLCBjKSwgYnIoaSwgcCkpLCB3LmNhbmNlbGxlZCA/ICh4ICYmIGJyKGksIGwpLCBtICYmIG0oaSkpIDogKGUoKSwgZyAmJiBnKGkpKSwgaS5fbGVhdmVDYiA9IG51bGw7CiAgICAgICAgICB9KSk7CiAgICAgICAgICB5ID8geShrKSA6IGsoKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGsoKSB7CiAgICAgICAgICB3LmNhbmNlbGxlZCB8fCAoIXQuZGF0YS5zaG93ICYmIGkucGFyZW50Tm9kZSAmJiAoKGkucGFyZW50Tm9kZS5fcGVuZGluZyB8fCAoaS5wYXJlbnROb2RlLl9wZW5kaW5nID0ge30pKVt0LmtleV0gPSB0KSwgZCAmJiBkKGkpLCB4ICYmICh4cihpLCBsKSwgeHIoaSwgcCksIHZyKChmdW5jdGlvbigpIHsKICAgICAgICAgICAgYnIoaSwgbCksIHcuY2FuY2VsbGVkIHx8ICh4cihpLCBjKSwgYiB8fCAoUHIoXykgPyBzZXRUaW1lb3V0KHcsIF8pIDogX3IoaSwgYSwgdykpKTsKICAgICAgICAgIH0pKSksIHUgJiYgdShpLCB3KSwgeCB8fCBiIHx8IHcoKSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBQcih0KSB7CiAgICAgICAgcmV0dXJuICJudW1iZXIiID09PSB0eXBlb2YgdCAmJiAhaXNOYU4odCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIE9yKHQpIHsKICAgICAgICBpZiAobih0KSkgcmV0dXJuICExOwogICAgICAgIHZhciBlID0gdC5mbnM7CiAgICAgICAgcmV0dXJuIG8oZSkgPyBPcihBcnJheS5pc0FycmF5KGUpID8gZVswXSA6IGUpIDogKHQuX2xlbmd0aCB8fCB0Lmxlbmd0aCkgPiAxOwogICAgICB9CgogICAgICBmdW5jdGlvbiBUcih0LCBlKSB7CiAgICAgICAgITAgIT09IGUuZGF0YS5zaG93ICYmIE1yKGUpOwogICAgICB9CgogICAgICB2YXIgRXIgPSAkID8gewogICAgICAgIGNyZWF0ZTogVHIsIGFjdGl2YXRlOiBUciwgcmVtb3ZlOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAhMCAhPT0gdC5kYXRhLnNob3cgPyBBcih0LCBlKSA6IGUoKTsKICAgICAgICB9CiAgICAgIH0gOiB7fSwgTHIgPSBbVG8sIGpvLCBIbywgWW8sIG9yLCBFcl0sIGpyID0gTHIuY29uY2F0KE1vKSwgRHIgPSB2byh7IG5vZGVPcHM6IGxvLCBtb2R1bGVzOiBqciB9KTsKICAgICAgUSAmJiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwogICAgICAgIHQgJiYgdC52bW9kZWwgJiYgV3IodCwgImlucHV0Iik7CiAgICAgIH0pKTsKICAgICAgdmFyIElyID0gewogICAgICAgIGluc2VydGVkOiBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAic2VsZWN0IiA9PT0gaS50YWcgPyAobi5lbG0gJiYgIW4uZWxtLl92T3B0aW9ucyA/IHZlKGksICJwb3N0cGF0Y2giLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIElyLmNvbXBvbmVudFVwZGF0ZWQodCwgZSwgaSk7CiAgICAgICAgICB9KSkgOiB6cih0LCBlLCBpLmNvbnRleHQpLCB0Ll92T3B0aW9ucyA9IFtdLm1hcC5jYWxsKHQub3B0aW9ucywgTnIpKSA6ICgidGV4dGFyZWEiID09PSBpLnRhZyB8fCBLbih0LnR5cGUpKSAmJiAodC5fdk1vZGlmaWVycyA9IGUubW9kaWZpZXJzLCBlLm1vZGlmaWVycy5sYXp5IHx8ICh0LmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCBHciksIHQuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCBIciksIHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgSHIpLCBRICYmICh0LnZtb2RlbCA9ICEwKSkpOwogICAgICAgIH0sIGNvbXBvbmVudFVwZGF0ZWQ6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgIGlmICgic2VsZWN0IiA9PT0gaS50YWcpIHsKICAgICAgICAgICAgenIodCwgZSwgaS5jb250ZXh0KTsKICAgICAgICAgICAgdmFyIG4gPSB0Ll92T3B0aW9ucywgbyA9IHQuX3ZPcHRpb25zID0gW10ubWFwLmNhbGwodC5vcHRpb25zLCBOcik7CiAgICAgICAgICAgIGlmIChvLnNvbWUoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gIUkodCwgbltlXSk7CiAgICAgICAgICAgIH0pKSkgewogICAgICAgICAgICAgIHZhciByID0gdC5tdWx0aXBsZSA/IGUudmFsdWUuc29tZSgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIFJyKHQsIG8pOwogICAgICAgICAgICAgIH0pKSA6IGUudmFsdWUgIT09IGUub2xkVmFsdWUgJiYgUnIoZS52YWx1ZSwgbyk7CiAgICAgICAgICAgICAgciAmJiBXcih0LCAiY2hhbmdlIik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH07CgogICAgICBmdW5jdGlvbiB6cih0LCBlLCBpKSB7CiAgICAgICAgQnIodCwgZSwgaSksIChKIHx8IHR0KSAmJiBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHsKICAgICAgICAgIEJyKHQsIGUsIGkpOwogICAgICAgIH0pLCAwKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gQnIodCwgZSwgaSkgewogICAgICAgIHZhciBuID0gZS52YWx1ZSwgbyA9IHQubXVsdGlwbGU7CiAgICAgICAgaWYgKCFvIHx8IEFycmF5LmlzQXJyYXkobikpIHsKICAgICAgICAgIGZvciAodmFyIHIsIHMsIGEgPSAwLCBoID0gdC5vcHRpb25zLmxlbmd0aDsgYSA8IGg7IGErKykgaWYgKHMgPSB0Lm9wdGlvbnNbYV0sIG8pIHIgPSB6KG4sIE5yKHMpKSA+IC0xLCBzLnNlbGVjdGVkICE9PSByICYmIChzLnNlbGVjdGVkID0gcik7IGVsc2UgaWYgKEkoTnIocyksIG4pKSByZXR1cm4gdm9pZCAodC5zZWxlY3RlZEluZGV4ICE9PSBhICYmICh0LnNlbGVjdGVkSW5kZXggPSBhKSk7CiAgICAgICAgICBvIHx8ICh0LnNlbGVjdGVkSW5kZXggPSAtMSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBScih0LCBlKSB7CiAgICAgICAgcmV0dXJuIGUuZXZlcnkoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIHJldHVybiAhSShlLCB0KTsKICAgICAgICB9KSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIE5yKHQpIHsKICAgICAgICByZXR1cm4gIl92YWx1ZSIgaW4gdCA/IHQuX3ZhbHVlIDogdC52YWx1ZTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gR3IodCkgewogICAgICAgIHQudGFyZ2V0LmNvbXBvc2luZyA9ICEwOwogICAgICB9CgogICAgICBmdW5jdGlvbiBIcih0KSB7CiAgICAgICAgdC50YXJnZXQuY29tcG9zaW5nICYmICh0LnRhcmdldC5jb21wb3NpbmcgPSAhMSwgV3IodC50YXJnZXQsICJpbnB1dCIpKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gV3IodCwgZSkgewogICAgICAgIHZhciBpID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkhUTUxFdmVudHMiKTsKICAgICAgICBpLmluaXRFdmVudChlLCAhMCwgITApLCB0LmRpc3BhdGNoRXZlbnQoaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIEZyKHQpIHsKICAgICAgICByZXR1cm4gIXQuY29tcG9uZW50SW5zdGFuY2UgfHwgdC5kYXRhICYmIHQuZGF0YS50cmFuc2l0aW9uID8gdCA6IEZyKHQuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlKTsKICAgICAgfQoKICAgICAgdmFyIFhyID0gewogICAgICAgIGJpbmQ6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgIHZhciBuID0gZS52YWx1ZTsKICAgICAgICAgIGkgPSBGcihpKTsKICAgICAgICAgIHZhciBvID0gaS5kYXRhICYmIGkuZGF0YS50cmFuc2l0aW9uLCByID0gdC5fX3ZPcmlnaW5hbERpc3BsYXkgPSAibm9uZSIgPT09IHQuc3R5bGUuZGlzcGxheSA/ICIiIDogdC5zdHlsZS5kaXNwbGF5OwogICAgICAgICAgbiAmJiBvID8gKGkuZGF0YS5zaG93ID0gITAsIE1yKGksIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdC5zdHlsZS5kaXNwbGF5ID0gcjsKICAgICAgICAgIH0pKSkgOiB0LnN0eWxlLmRpc3BsYXkgPSBuID8gciA6ICJub25lIjsKICAgICAgICB9LCB1cGRhdGU6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgIHZhciBuID0gZS52YWx1ZSwgbyA9IGUub2xkVmFsdWU7CiAgICAgICAgICBpZiAoIW4gIT09ICFvKSB7CiAgICAgICAgICAgIGkgPSBGcihpKTsKICAgICAgICAgICAgdmFyIHIgPSBpLmRhdGEgJiYgaS5kYXRhLnRyYW5zaXRpb247CiAgICAgICAgICAgIHIgPyAoaS5kYXRhLnNob3cgPSAhMCwgbiA/IE1yKGksIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB0LnN0eWxlLmRpc3BsYXkgPSB0Ll9fdk9yaWdpbmFsRGlzcGxheTsKICAgICAgICAgICAgfSkpIDogQXIoaSwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHQuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgfSkpKSA6IHQuc3R5bGUuZGlzcGxheSA9IG4gPyB0Ll9fdk9yaWdpbmFsRGlzcGxheSA6ICJub25lIjsKICAgICAgICAgIH0KICAgICAgICB9LCB1bmJpbmQ6IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICAgIG8gfHwgKHQuc3R5bGUuZGlzcGxheSA9IHQuX192T3JpZ2luYWxEaXNwbGF5KTsKICAgICAgICB9CiAgICAgIH0sIFVyID0geyBtb2RlbDogSXIsIHNob3c6IFhyIH0sIFlyID0gewogICAgICAgIG5hbWU6IFN0cmluZywKICAgICAgICBhcHBlYXI6IEJvb2xlYW4sCiAgICAgICAgY3NzOiBCb29sZWFuLAogICAgICAgIG1vZGU6IFN0cmluZywKICAgICAgICB0eXBlOiBTdHJpbmcsCiAgICAgICAgZW50ZXJDbGFzczogU3RyaW5nLAogICAgICAgIGxlYXZlQ2xhc3M6IFN0cmluZywKICAgICAgICBlbnRlclRvQ2xhc3M6IFN0cmluZywKICAgICAgICBsZWF2ZVRvQ2xhc3M6IFN0cmluZywKICAgICAgICBlbnRlckFjdGl2ZUNsYXNzOiBTdHJpbmcsCiAgICAgICAgbGVhdmVBY3RpdmVDbGFzczogU3RyaW5nLAogICAgICAgIGFwcGVhckNsYXNzOiBTdHJpbmcsCiAgICAgICAgYXBwZWFyQWN0aXZlQ2xhc3M6IFN0cmluZywKICAgICAgICBhcHBlYXJUb0NsYXNzOiBTdHJpbmcsCiAgICAgICAgZHVyYXRpb246IFtOdW1iZXIsIFN0cmluZywgT2JqZWN0XQogICAgICB9OwoKICAgICAgZnVuY3Rpb24gVnIodCkgewogICAgICAgIHZhciBlID0gdCAmJiB0LmNvbXBvbmVudE9wdGlvbnM7CiAgICAgICAgcmV0dXJuIGUgJiYgZS5DdG9yLm9wdGlvbnMuYWJzdHJhY3QgPyBWcihPZShlLmNoaWxkcmVuKSkgOiB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiAkcih0KSB7CiAgICAgICAgdmFyIGUgPSB7fSwgaSA9IHQuJG9wdGlvbnM7CiAgICAgICAgZm9yICh2YXIgbiBpbiBpLnByb3BzRGF0YSkgZVtuXSA9IHRbbl07CiAgICAgICAgdmFyIG8gPSBpLl9wYXJlbnRMaXN0ZW5lcnM7CiAgICAgICAgZm9yICh2YXIgciBpbiBvKSBlW3cocildID0gb1tyXTsKICAgICAgICByZXR1cm4gZTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gS3IodCwgZSkgewogICAgICAgIGlmICgvXGQta2VlcC1hbGl2ZSQvLnRlc3QoZS50YWcpKSByZXR1cm4gdCgia2VlcC1hbGl2ZSIsIHsgcHJvcHM6IGUuY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGEgfSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHFyKHQpIHsKICAgICAgICB3aGlsZSAodCA9IHQucGFyZW50KSBpZiAodC5kYXRhLnRyYW5zaXRpb24pIHJldHVybiAhMDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gWnIodCwgZSkgewogICAgICAgIHJldHVybiBlLmtleSA9PT0gdC5rZXkgJiYgZS50YWcgPT09IHQudGFnOwogICAgICB9CgogICAgICB2YXIgSnIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIHQudGFnIHx8IFBlKHQpOwogICAgICB9LCBRciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gInNob3ciID09PSB0Lm5hbWU7CiAgICAgIH0sIHRzID0gewogICAgICAgIG5hbWU6ICJ0cmFuc2l0aW9uIiwgcHJvcHM6IFlyLCBhYnN0cmFjdDogITAsIHJlbmRlcjogZnVuY3Rpb24odCkgewogICAgICAgICAgdmFyIGUgPSB0aGlzLCBpID0gdGhpcy4kc2xvdHMuZGVmYXVsdDsKICAgICAgICAgIGlmIChpICYmIChpID0gaS5maWx0ZXIoSnIpLCBpLmxlbmd0aCkpIHsKICAgICAgICAgICAgMDsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLm1vZGU7CiAgICAgICAgICAgIDA7CiAgICAgICAgICAgIHZhciBvID0gaVswXTsKICAgICAgICAgICAgaWYgKHFyKHRoaXMuJHZub2RlKSkgcmV0dXJuIG87CiAgICAgICAgICAgIHZhciByID0gVnIobyk7CiAgICAgICAgICAgIGlmICghcikgcmV0dXJuIG87CiAgICAgICAgICAgIGlmICh0aGlzLl9sZWF2aW5nKSByZXR1cm4gS3IodCwgbyk7CiAgICAgICAgICAgIHZhciBzID0gIl9fdHJhbnNpdGlvbi0iICsgdGhpcy5fdWlkICsgIi0iOwogICAgICAgICAgICByLmtleSA9IG51bGwgPT0gci5rZXkgPyByLmlzQ29tbWVudCA/IHMgKyAiY29tbWVudCIgOiBzICsgci50YWcgOiBhKHIua2V5KSA/IDAgPT09IFN0cmluZyhyLmtleSkuaW5kZXhPZihzKSA/IHIua2V5IDogcyArIHIua2V5IDogci5rZXk7CiAgICAgICAgICAgIHZhciBoID0gKHIuZGF0YSB8fCAoci5kYXRhID0ge30pKS50cmFuc2l0aW9uID0gJHIodGhpcyksIGwgPSB0aGlzLl92bm9kZSwgYyA9IFZyKGwpOwogICAgICAgICAgICBpZiAoci5kYXRhLmRpcmVjdGl2ZXMgJiYgci5kYXRhLmRpcmVjdGl2ZXMuc29tZShRcikgJiYgKHIuZGF0YS5zaG93ID0gITApLCBjICYmIGMuZGF0YSAmJiAhWnIociwgYykgJiYgIVBlKGMpICYmICghYy5jb21wb25lbnRJbnN0YW5jZSB8fCAhYy5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUuaXNDb21tZW50KSkgewogICAgICAgICAgICAgIHZhciBwID0gYy5kYXRhLnRyYW5zaXRpb24gPSBUKHt9LCBoKTsKICAgICAgICAgICAgICBpZiAoIm91dC1pbiIgPT09IG4pIHJldHVybiB0aGlzLl9sZWF2aW5nID0gITAsIHZlKHAsICJhZnRlckxlYXZlIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZS5fbGVhdmluZyA9ICExLCBlLiRmb3JjZVVwZGF0ZSgpOwogICAgICAgICAgICAgIH0pKSwgS3IodCwgbyk7CiAgICAgICAgICAgICAgaWYgKCJpbi1vdXQiID09PSBuKSB7CiAgICAgICAgICAgICAgICBpZiAoUGUocikpIHJldHVybiBsOwogICAgICAgICAgICAgICAgdmFyIGQsIHUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgZCgpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIHZlKGgsICJhZnRlckVudGVyIiwgdSksIHZlKGgsICJlbnRlckNhbmNlbGxlZCIsIHUpLCB2ZShwLCAiZGVsYXlMZWF2ZSIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIGQgPSB0OwogICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbzsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIGVzID0gVCh7IHRhZzogU3RyaW5nLCBtb3ZlQ2xhc3M6IFN0cmluZyB9LCBZcik7CiAgICAgIGRlbGV0ZSBlcy5tb2RlOwogICAgICB2YXIgaXMgPSB7CiAgICAgICAgcHJvcHM6IGVzLCBiZWZvcmVNb3VudDogZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0aGlzLl91cGRhdGU7CiAgICAgICAgICB0aGlzLl91cGRhdGUgPSBmdW5jdGlvbihpLCBuKSB7CiAgICAgICAgICAgIHZhciBvID0gR2UodCk7CiAgICAgICAgICAgIHQuX19wYXRjaF9fKHQuX3Zub2RlLCB0LmtlcHQsICExLCAhMCksIHQuX3Zub2RlID0gdC5rZXB0LCBvKCksIGUuY2FsbCh0LCBpLCBuKTsKICAgICAgICAgIH07CiAgICAgICAgfSwgcmVuZGVyOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmb3IgKHZhciBlID0gdGhpcy50YWcgfHwgdGhpcy4kdm5vZGUuZGF0YS50YWcgfHwgInNwYW4iLCBpID0gT2JqZWN0LmNyZWF0ZShudWxsKSwgbiA9IHRoaXMucHJldkNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbiwgbyA9IHRoaXMuJHNsb3RzLmRlZmF1bHQgfHwgW10sIHIgPSB0aGlzLmNoaWxkcmVuID0gW10sIHMgPSAkcih0aGlzKSwgYSA9IDA7IGEgPCBvLmxlbmd0aDsgYSsrKSB7CiAgICAgICAgICAgIHZhciBoID0gb1thXTsKICAgICAgICAgICAgaWYgKGgudGFnKSBpZiAobnVsbCAhPSBoLmtleSAmJiAwICE9PSBTdHJpbmcoaC5rZXkpLmluZGV4T2YoIl9fdmxpc3QiKSkgci5wdXNoKGgpLCBpW2gua2V5XSA9IGgsIChoLmRhdGEgfHwgKGguZGF0YSA9IHt9KSkudHJhbnNpdGlvbiA9IHM7IGVsc2UgOwogICAgICAgICAgfQogICAgICAgICAgaWYgKG4pIHsKICAgICAgICAgICAgZm9yICh2YXIgbCA9IFtdLCBjID0gW10sIHAgPSAwOyBwIDwgbi5sZW5ndGg7IHArKykgewogICAgICAgICAgICAgIHZhciBkID0gbltwXTsKICAgICAgICAgICAgICBkLmRhdGEudHJhbnNpdGlvbiA9IHMsIGQuZGF0YS5wb3MgPSBkLmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgaVtkLmtleV0gPyBsLnB1c2goZCkgOiBjLnB1c2goZCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5rZXB0ID0gdChlLCBudWxsLCBsKSwgdGhpcy5yZW1vdmVkID0gYzsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiB0KGUsIG51bGwsIHIpOwogICAgICAgIH0sIHVwZGF0ZWQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSB0aGlzLnByZXZDaGlsZHJlbiwgZSA9IHRoaXMubW92ZUNsYXNzIHx8ICh0aGlzLm5hbWUgfHwgInYiKSArICItbW92ZSI7CiAgICAgICAgICB0Lmxlbmd0aCAmJiB0aGlzLmhhc01vdmUodFswXS5lbG0sIGUpICYmICh0LmZvckVhY2gobnMpLCB0LmZvckVhY2gob3MpLCB0LmZvckVhY2gocnMpLCB0aGlzLl9yZWZsb3cgPSBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCwgdC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGlmICh0LmRhdGEubW92ZWQpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHQuZWxtLCBuID0gaS5zdHlsZTsKICAgICAgICAgICAgICB4cihpLCBlKSwgbi50cmFuc2Zvcm0gPSBuLldlYmtpdFRyYW5zZm9ybSA9IG4udHJhbnNpdGlvbkR1cmF0aW9uID0gIiIsIGkuYWRkRXZlbnRMaXN0ZW5lcihmciwgaS5fbW92ZUNiID0gZnVuY3Rpb24gdChuKSB7CiAgICAgICAgICAgICAgICBuICYmIG4udGFyZ2V0ICE9PSBpIHx8IG4gJiYgIS90cmFuc2Zvcm0kLy50ZXN0KG4ucHJvcGVydHlOYW1lKSB8fCAoaS5yZW1vdmVFdmVudExpc3RlbmVyKGZyLCB0KSwgaS5fbW92ZUNiID0gbnVsbCwgYnIoaSwgZSkpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9KSkpOwogICAgICAgIH0sIG1ldGhvZHM6IHsKICAgICAgICAgIGhhc01vdmU6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgaWYgKCFjcikgcmV0dXJuICExOwogICAgICAgICAgICBpZiAodGhpcy5faGFzTW92ZSkgcmV0dXJuIHRoaXMuX2hhc01vdmU7CiAgICAgICAgICAgIHZhciBpID0gdC5jbG9uZU5vZGUoKTsKICAgICAgICAgICAgdC5fdHJhbnNpdGlvbkNsYXNzZXMgJiYgdC5fdHJhbnNpdGlvbkNsYXNzZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGFyKGksIHQpOwogICAgICAgICAgICB9KSksIHNyKGksIGUpLCBpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSIsIHRoaXMuJGVsLmFwcGVuZENoaWxkKGkpOwogICAgICAgICAgICB2YXIgbiA9IGtyKGkpOwogICAgICAgICAgICByZXR1cm4gdGhpcy4kZWwucmVtb3ZlQ2hpbGQoaSksIHRoaXMuX2hhc01vdmUgPSBuLmhhc1RyYW5zZm9ybTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH07CgogICAgICBmdW5jdGlvbiBucyh0KSB7CiAgICAgICAgdC5lbG0uX21vdmVDYiAmJiB0LmVsbS5fbW92ZUNiKCksIHQuZWxtLl9lbnRlckNiICYmIHQuZWxtLl9lbnRlckNiKCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIG9zKHQpIHsKICAgICAgICB0LmRhdGEubmV3UG9zID0gdC5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHJzKHQpIHsKICAgICAgICB2YXIgZSA9IHQuZGF0YS5wb3MsIGkgPSB0LmRhdGEubmV3UG9zLCBuID0gZS5sZWZ0IC0gaS5sZWZ0LCBvID0gZS50b3AgLSBpLnRvcDsKICAgICAgICBpZiAobiB8fCBvKSB7CiAgICAgICAgICB0LmRhdGEubW92ZWQgPSAhMDsKICAgICAgICAgIHZhciByID0gdC5lbG0uc3R5bGU7CiAgICAgICAgICByLnRyYW5zZm9ybSA9IHIuV2Via2l0VHJhbnNmb3JtID0gInRyYW5zbGF0ZSgiICsgbiArICJweCwiICsgbyArICJweCkiLCByLnRyYW5zaXRpb25EdXJhdGlvbiA9ICIwcyI7CiAgICAgICAgfQogICAgICB9CgogICAgICB2YXIgc3MgPSB7IFRyYW5zaXRpb246IHRzLCBUcmFuc2l0aW9uR3JvdXA6IGlzIH07CiAgICAgIHBuLmNvbmZpZy5tdXN0VXNlUHJvcCA9IFBuLCBwbi5jb25maWcuaXNSZXNlcnZlZFRhZyA9IFVuLCBwbi5jb25maWcuaXNSZXNlcnZlZEF0dHIgPSBNbiwgcG4uY29uZmlnLmdldFRhZ05hbWVzcGFjZSA9IFluLCBwbi5jb25maWcuaXNVbmtub3duRWxlbWVudCA9ICRuLCBUKHBuLm9wdGlvbnMuZGlyZWN0aXZlcywgVXIpLCBUKHBuLm9wdGlvbnMuY29tcG9uZW50cywgc3MpLCBwbi5wcm90b3R5cGUuX19wYXRjaF9fID0gJCA/IERyIDogTCwgcG4ucHJvdG90eXBlLiRtb3VudCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICByZXR1cm4gdCA9IHQgJiYgJCA/IHFuKHQpIDogdm9pZCAwLCBGZSh0aGlzLCB0LCBlKTsKICAgICAgfSwgJCAmJiBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHsKICAgICAgICBILmRldnRvb2xzICYmIHN0ICYmIHN0LmVtaXQoImluaXQiLCBwbik7CiAgICAgIH0pLCAwKSwgZVsiYSJdID0gcG47CiAgICB9KS5jYWxsKHRoaXMsIGkoImM4YmEiKSk7CiAgfSwgIjJiNGMiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjU1MzciKSgid2tzIiksIG8gPSBpKCJjYTVhIiksIHIgPSBpKCI3NzI2IikuU3ltYm9sLCBzID0gImZ1bmN0aW9uIiA9PSB0eXBlb2YgciwgYSA9IHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIG5bdF0gfHwgKG5bdF0gPSBzICYmIHJbdF0gfHwgKHMgPyByIDogbykoIlN5bWJvbC4iICsgdCkpOwogICAgfTsKICAgIGEuc3RvcmUgPSBuOwogIH0sICIyZDAwIjogZnVuY3Rpb24odCwgZSkgewogICAgdC5leHBvcnRzID0gITE7CiAgfSwgIjJkOTUiOiBmdW5jdGlvbih0LCBlKSB7CiAgICB2YXIgaSA9IHt9LnRvU3RyaW5nOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gaS5jYWxsKHQpLnNsaWNlKDgsIC0xKTsKICAgIH07CiAgfSwgIjJmNmQiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICBpLmQoZSwgImEiLCAoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBuOwogICAgfSkpOwogICAgaSgiN2Y3ZiIpOwogICAgdmFyIG4gPSB7CiAgICAgIGNyZWF0ZWQ6IGZ1bmN0aW9uKCkgewogICAgICAgIGNvbnNvbGUud2FybigiWyIuY29uY2F0KHRoaXMuJG9wdGlvbnMubmFtZSwgIl0gVGhpcyB3aWRnZXQgaXMgZGVwcmVjYXRlZCBhbmQgaXMgbm8gbG9uZ2VyIG1haW50YWluZWQuIFBsZWFzZSB2aXNpdCBodHRwczovL3d3dy5jb2luZ2Vja28uY29tL3dpZGdldHMgdG8gZ2V0IHRoZSBuZXcgdmVyc2lvbiBvZiB0aGlzIHdpZGdldCwgd2hpY2ggZmVhdHVyZXMgYSBuZXcgZGVzaWduIGFuZCBiZXR0ZXIgcGVyZm9ybWFuY2UhIikpOwogICAgICB9CiAgICB9OwogIH0sICIzMGYxIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCJiOGUzIiksIG8gPSBpKCI2M2I2IiksIHIgPSBpKCI5MTM4IiksIHMgPSBpKCIzNWU4IiksIGEgPSBpKCI0ODFiIiksIGggPSBpKCI4ZjYwIiksIGwgPSBpKCI0NWYyIiksIGMgPSBpKCI1M2UyIiksIHAgPSBpKCI1MTY4IikoIml0ZXJhdG9yIiksCiAgICAgIGQgPSAhKFtdLmtleXMgJiYgIm5leHQiIGluIFtdLmtleXMoKSksIHUgPSAiQEBpdGVyYXRvciIsIGYgPSAia2V5cyIsIGcgPSAidmFsdWVzIiwgbSA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzOwogICAgICB9OwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSwgaSwgeSwgdiwgeCwgYikgewogICAgICBoKGksIGUsIHkpOwogICAgICB2YXIgXywgdywgaywgUyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGlmICghZCAmJiB0IGluIFApIHJldHVybiBQW3RdOwogICAgICAgICAgc3dpdGNoICh0KSB7CiAgICAgICAgICAgIGNhc2UgZjoKICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IGkodGhpcywgdCk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2FzZSBnOgogICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiBuZXcgaSh0aGlzLCB0KTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGkodGhpcywgdCk7CiAgICAgICAgICB9OwogICAgICAgIH0sIEMgPSBlICsgIiBJdGVyYXRvciIsIE0gPSB2ID09IGcsIEEgPSAhMSwgUCA9IHQucHJvdG90eXBlLCBPID0gUFtwXSB8fCBQW3VdIHx8IHYgJiYgUFt2XSwgVCA9IE8gfHwgUyh2KSwgRSA9IHYgPyBNID8gUygiZW50cmllcyIpIDogVCA6IHZvaWQgMCwKICAgICAgICBMID0gIkFycmF5IiA9PSBlICYmIFAuZW50cmllcyB8fCBPOwogICAgICBpZiAoTCAmJiAoayA9IGMoTC5jYWxsKG5ldyB0KSksIGsgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgay5uZXh0ICYmIChsKGssIEMsICEwKSwgbiB8fCAiZnVuY3Rpb24iID09IHR5cGVvZiBrW3BdIHx8IHMoaywgcCwgbSkpKSwgTSAmJiBPICYmIE8ubmFtZSAhPT0gZyAmJiAoQSA9ICEwLCBUID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIE8uY2FsbCh0aGlzKTsKICAgICAgfSksIG4gJiYgIWIgfHwgIWQgJiYgIUEgJiYgUFtwXSB8fCBzKFAsIHAsIFQpLCBhW2VdID0gVCwgYVtDXSA9IG0sIHYpIGlmIChfID0gewogICAgICAgIHZhbHVlczogTSA/IFQgOiBTKGcpLAogICAgICAgIGtleXM6IHggPyBUIDogUyhmKSwKICAgICAgICBlbnRyaWVzOiBFCiAgICAgIH0sIGIpIGZvciAodyBpbiBfKSB3IGluIFAgfHwgcihQLCB3LCBfW3ddKTsgZWxzZSBvKG8uUCArIG8uRiAqIChkIHx8IEEpLCBlLCBfKTsKICAgICAgcmV0dXJuIF87CiAgICB9OwogIH0sICIzMmU5IjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCI4NmNjIiksIG8gPSBpKCI0NjMwIik7CiAgICB0LmV4cG9ydHMgPSBpKCI5ZTFlIikgPyBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgIHJldHVybiBuLmYodCwgZSwgbygxLCBpKSk7CiAgICB9IDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgICByZXR1cm4gdFtlXSA9IGksIHQ7CiAgICB9OwogIH0sICIzMmZjIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJlNTNkIikuZG9jdW1lbnQ7CiAgICB0LmV4cG9ydHMgPSBuICYmIG4uZG9jdW1lbnRFbGVtZW50OwogIH0sICIzMzVjIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCI2YjRjIik7CiAgICB0LmV4cG9ydHMgPSBPYmplY3QoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKSA/IE9iamVjdCA6IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuICJTdHJpbmciID09IG4odCkgPyB0LnNwbGl0KCIiKSA6IE9iamVjdCh0KTsKICAgIH07CiAgfSwgMzUwNDogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCLmgLvluILlgLzmjpLlkI1cIixcIm1jYXBcIjpcIuaAu+W4guWAvFwiLFwiMjRoX3ZvbHVtZVwiOlwiMjQg5bCP5pe25Lqk5piT6YePXCIsXCIyNGhfaGlnaF9sb3dcIjpcIjI05bCP5pe26auYL+S9jlwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIFcIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCLliqDlr4bku7fmoLzmr5TovoNcIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIuWKoOWvhui0p+W4geW4guWAvOavlOi+g1wifSxcImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaUr+aMgVwifSxcImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0IOWwj+aXtuacgOmrmOS7t+agvFwiLFwiMjRoX2xvd1wiOlwiMjQg5bCP5pe25pyA5L2O5Lu35qC8XCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLmn6XnnIsgJXtjb2lufSDku7fmoLzotbDlir/lm75cIixcInBvd2VyZWRfYnlcIjpcIueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaUr+aMgVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIFcIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5pSv5oyBXCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIFcIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjQg5bCP5pe25pyA6auY5Lu35qC8XCIsXCIyNGhfbG93XCI6XCIyNCDlsI/ml7bmnIDkvY7ku7fmoLxcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIuafpeeciyAle2NvaW59IOS7t+agvOi1sOWKv+WbvlwiLFwicG93ZXJlZF9ieVwiOlwi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5pSv5oyBXCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwi5p+l55yLICV7Y29pbn0g5Lu35qC86LWw5Yq/5Zu+XCIsXCJwb3dlcmVkX2J5XCI6XCLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIFcIn0sXCJjb2luX2hlYXRtYXBfd2lkZ2V0XCI6e1widGl0bGVcIjpcIuWKoOWvhui0p+W4geagkeWei+WbvlwiLFwic3VidGl0bGVcIjpcIu+8iOW4guWAvOaOkuWQjeWJjSV7dG9wfe+8iVwiLFwicG93ZXJlZF9ieVwiOlwi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5pSv5oyBXCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwi5YWN6LSj5aOw5piO77ya5q2k5bel5YW35LuF55So5LqO5aix5LmQ55uu55qE77yM5LiN5p6E5oiQ5Lu75L2V6YeR6J6N5bu66K6u44CCXCIsXCJzcGluXCI6XCJTcGluXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIuWPr+eUqOS7o+W4gVwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkNvaW5HZWNrbyDku7fmoLzmm7TmlrBcIixcInRvdGFsX21jYXBcIjpcIuaAu+W4guWAvFwiLFwiMjRoX3ZvbFwiOlwiMjTlsI/ml7bkuqTmmJPph49cIixcImRvbVwiOlwi5biC5Y2g546HXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIuS6pOaYk+aJgFwiLFwicGFpclwiOlwi6LSn5biB57uE5ZCIXCIsXCJwcmljZVwiOlwi5Lu35qC8XCIsXCJ2b2x1bWVcIjpcIuS6pOaYk+mHj1wiLFwidHJ1c3Rfc2NvcmVcIjpcIuS/oeeUqOivhOWIhlwiLFwidmlld19wcmljZV9jaGFydFwiOlwi5p+l55yL5Lu35qC86LWw5Yq/5Zu+XCIsXCJwb3dlcmVkX2J5XCI6XCLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIFcIixcInZpZXdfYWxsXCI6XCLmn6XnnIvmiYDmnIkgJXtjb2lufSDluILlnLpcIn19Iik7CiAgfSwgIjM1NWQiOiBmdW5jdGlvbih0LCBlKSB7CiAgICBlLmYgPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTsKICB9LCAiMzVlOCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiZDlmNiIpLCBvID0gaSgiYWViZCIpOwogICAgdC5leHBvcnRzID0gaSgiOGU2MCIpID8gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICByZXR1cm4gbi5mKHQsIGUsIG8oMSwgaSkpOwogICAgfSA6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgcmV0dXJuIHRbZV0gPSBpLCB0OwogICAgfTsKICB9LCAiMzZjMyI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiMzM1YyIpLCBvID0gaSgiMjVlYiIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gbihvKHQpKTsKICAgIH07CiAgfSwgMzg0NjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgaSgiOWUxZSIpICYmICJnIiAhPSAvLi9nLmZsYWdzICYmIGkoIjg2Y2MiKS5mKFJlZ0V4cC5wcm90b3R5cGUsICJmbGFncyIsIHsgY29uZmlndXJhYmxlOiAhMCwgZ2V0OiBpKCIwYmZiIikgfSk7CiAgfSwgIjM4ZmQiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjY5YTgiKSwgbyA9IGkoIjRiZjgiKSwgciA9IGkoIjYxM2IiKSgiSUVfUFJPVE8iKSwgcyA9IE9iamVjdC5wcm90b3R5cGU7CiAgICB0LmV4cG9ydHMgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gdCA9IG8odCksIG4odCwgcikgPyB0W3JdIDogImZ1bmN0aW9uIiA9PSB0eXBlb2YgdC5jb25zdHJ1Y3RvciAmJiB0IGluc3RhbmNlb2YgdC5jb25zdHJ1Y3RvciA/IHQuY29uc3RydWN0b3IucHJvdG90eXBlIDogdCBpbnN0YW5jZW9mIE9iamVjdCA/IHMgOiBudWxsOwogICAgfTsKICB9LCAiM2EzOCI6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHZhciBpID0gTWF0aC5jZWlsLCBuID0gTWF0aC5mbG9vcjsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIGlzTmFOKHQgPSArdCkgPyAwIDogKHQgPiAwID8gbiA6IGkpKHQpOwogICAgfTsKICB9LCAiM2RhOSI6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwiUG9yYWRpZSB0cmhvdmVqIGthcGl0YWxpesOhY2llXCIsXCJtY2FwXCI6XCJUcmhvdsOhIGthcGl0YWxpesOhY2lhXCIsXCIyNGhfdm9sdW1lXCI6XCJPYmplbSB6YSAyNEhcIixcIjI0aF9oaWdoX2xvd1wiOlwiMjRIIHZ5c29rw6EvbsOtemthXCJ9LFwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlBvaMOhxYhhbsOpICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCJQb3Jvdm5hbmllIGNpZW4ga3J5cHRvbWllblwiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwiUG9yb3ZuYW5pZSB0cmhvdmVqIGthcGl0YWxpesOhY2llIGtyeXB0b21pZW5cIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQb2jDocWIYW7DqSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjRIIHZ5c29rw6FcIixcIjI0aF9sb3dcIjpcIjI0SCBuw616a2FcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlpvYnJhemnFpSBjZW5vdsO9IGdyYWYgcHJlICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIlBvaMOhxYhhbsOpICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQb2jDocWIYW7DqSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQb2jDocWIYW7DqSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0SCB2eXNva8OhXCIsXCIyNGhfbG93XCI6XCIyNEggbsOtemthXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJab2JyYXppxaUgY2Vub3bDvSBncmFmIHByZSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJQb2jDocWIYW7DqSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiWm9icmF6acWlIGNlbm92w70gZ3JhZiBwcmUgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiTWFwYSBrcnlwdG9taWVuXCIsXCJzdWJ0aXRsZVwiOlwiKFRvcCAle3RvcH0gcG9kxL5hIHRyaG92ZWoga2FwKVwiLFwicG93ZXJlZF9ieVwiOlwiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcInJhbmRvbV9jb2luX3dpZGdldFwiOntcImRpc2NsYWltZXJcIjpcIlpyaWVrbnV0aWUgc2Egem9kcG92ZWRub3N0aTogVGVudG8gbsOhc3Ryb2ogc2zDusW+aWEgbmEgesOhYmF2dSBhIG5lcHJlZHN0YXZ1asO6IGZpbmFuxI1uw6kgcG9yYWRlbnN0dm8uXCIsXCJzcGluXCI6XCJUb8SNacWlXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIkRvc3R1cG7DqSBjb2lueVwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkFrdHVhbGl6w6FjaWEgY2VueSBDb2luR2Vja29cIixcInRvdGFsX21jYXBcIjpcIkNlbGtvdsOhIHRyaC4ga2FwLlwiLFwiMjRoX3ZvbFwiOlwiT2JqZW0gemEgMjRoXCIsXCJkb21cIjpcIkRvbWluYW5jaWFcIn0sXCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXRcIjp7XCJleGNoYW5nZVwiOlwiQnVyemFcIixcInBhaXJcIjpcIlDDoXJcIixcInByaWNlXCI6XCJDZW5hXCIsXCJ2b2x1bWVcIjpcIk9iamVtXCIsXCJ0cnVzdF9zY29yZVwiOlwiU2vDs3JlIGTDtHZlcnlob2Rub3N0aVwiLFwidmlld19wcmljZV9jaGFydFwiOlwiWm9icmF6acWlIGNlbm92w70gZ3JhZlwiLFwicG93ZXJlZF9ieVwiOlwiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwidmlld19hbGxcIjpcIlpvYnJhemnFpSB2xaFldGt5IHRyaHkgJXtjb2lufVwifX0iKTsKICB9LCAiNDFhMCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiMmFlYiIpLCBvID0gaSgiNDYzMCIpLCByID0gaSgiN2YyMCIpLCBzID0ge307CiAgICBpKCIzMmU5IikocywgaSgiMmI0YyIpKCJpdGVyYXRvciIpLCAoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiB0aGlzOwogICAgfSkpLCB0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgIHQucHJvdG90eXBlID0gbihzLCB7IG5leHQ6IG8oMSwgaSkgfSksIHIodCwgZSArICIgSXRlcmF0b3IiKTsKICAgIH07CiAgfSwgIjQ1NmQiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjRiZjgiKSwgbyA9IGkoIjBkNTgiKTsKICAgIGkoIjVlZGEiKSgia2V5cyIsIChmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gbyhuKHQpKTsKICAgICAgfTsKICAgIH0pKTsKICB9LCA0NTg4OiBmdW5jdGlvbih0LCBlKSB7CiAgICB2YXIgaSA9IE1hdGguY2VpbCwgbiA9IE1hdGguZmxvb3I7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiBpc05hTih0ID0gK3QpID8gMCA6ICh0ID4gMCA/IG4gOiBpKSh0KTsKICAgIH07CiAgfSwgIjQ1ZjIiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoImQ5ZjYiKS5mLCBvID0gaSgiMDdlMyIpLCByID0gaSgiNTE2OCIpKCJ0b1N0cmluZ1RhZyIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICB0ICYmICFvKHQgPSBpID8gdCA6IHQucHJvdG90eXBlLCByKSAmJiBuKHQsIHIsIHsgY29uZmlndXJhYmxlOiAhMCwgdmFsdWU6IGUgfSk7CiAgICB9OwogIH0sIDQ2MDE6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiODNjMiIpLCBvID0gbigiJVR5cGVFcnJvciUiKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgaWYgKG51bGwgPT0gdCkgdGhyb3cgbmV3IG8oZSB8fCAiQ2Fubm90IGNhbGwgbWV0aG9kIG9uICIgKyB0KTsKICAgICAgcmV0dXJuIHQ7CiAgICB9OwogIH0sIDQ2MzA6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgcmV0dXJuIHsgZW51bWVyYWJsZTogISgxICYgdCksIGNvbmZpZ3VyYWJsZTogISgyICYgdCksIHdyaXRhYmxlOiAhKDQgJiB0KSwgdmFsdWU6IGUgfTsKICAgIH07CiAgfSwgIjQ3ZWUiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoImMzYTEiKSwgbyA9IGkoIjlhYTkiKSwgciA9IGkoIjM1NWQiKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgdmFyIGUgPSBuKHQpLCBpID0gby5mOwogICAgICBpZiAoaSkgewogICAgICAgIHZhciBzLCBhID0gaSh0KSwgaCA9IHIuZiwgbCA9IDA7CiAgICAgICAgd2hpbGUgKGEubGVuZ3RoID4gbCkgaC5jYWxsKHQsIHMgPSBhW2wrK10pICYmIGUucHVzaChzKTsKICAgICAgfQogICAgICByZXR1cm4gZTsKICAgIH07CiAgfSwgIjQ4MWIiOiBmdW5jdGlvbih0LCBlKSB7CiAgICB0LmV4cG9ydHMgPSB7fTsKICB9LCAiNGJmOCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiYmUxMyIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gT2JqZWN0KG4odCkpOwogICAgfTsKICB9LCAiNGM1YiI6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwiQsO2cnN2w6RyZGVzcmFua25pbmdcIixcIm1jYXBcIjpcIkLDtnJzdsOkcmRlXCIsXCIyNGhfdm9sdW1lXCI6XCJWb2x5bSAyNCBoXCIsXCIyNGhfaGlnaF9sb3dcIjpcIjI0SCBow7Znc3QvbMOkZ3N0YVwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvblwiOlwiSsOkbWbDtnJlbHNlIGF2IGtyeXB0b3ByaXNlclwiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwiSsOkbWbDtnJlbHNlIGF2IGtyeXB0b2LDtnJzdsOkcmRlXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiRHJpdnMgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0IGggaMO2Z3N0YVwiLFwiMjRoX2xvd1wiOlwiMjRoIGzDpGdzdGFcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZpc2EgcHJpc2xpc3RhIGbDtnIgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiRHJpdnMgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkRyaXZzIGF2ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkRyaXZzIGF2ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjQgaCBow7Znc3RhXCIsXCIyNGhfbG93XCI6XCIyNGggbMOkZ3N0YVwiLFwidmlld19wcmljZV9jaGFydFwiOlwiVmlzYSBwcmlzbGlzdGEgZsO2ciAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiVmlzYSBwcmlzbGlzdGEgZsO2ciAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCJUcsOkZGthcnRhIMO2dmVyIGtyeXB0b3ZhbHV0b3JcIixcInN1YnRpdGxlXCI6XCIoJXt0b3B9IGkgdG9wcCBlZnRlciBiw7Zyc3bDpHJkZSlcIixcInBvd2VyZWRfYnlcIjpcIkRyaXZzIGF2ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCJPYnMhIERlc3NhIHZlcmt0eWcgZnVuZ2VyYXIgc29tIHVuZGVyaMOlbGxuaW5nIG9jaCB1dGfDtnIgaW50ZSBmaW5hbnNpZWxsIHLDpWRnaXZuaW5nLlwiLFwic3BpblwiOlwiU251cnJhXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIlRpbGxnw6RuZ2xpZ2EgbXludFwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIlByaXN1cHBkYXRlcmluZyBob3MgQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCJUb3RhbHQgYsO2cnN2w6RyZGVcIixcIjI0aF92b2xcIjpcIlZvbHltIDI0IGhcIixcImRvbVwiOlwiRG9tXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIkhhbmRlbFwiLFwicGFpclwiOlwiUGFyXCIsXCJwcmljZVwiOlwiUHJpc1wiLFwidm9sdW1lXCI6XCJWb2x5bVwiLFwidHJ1c3Rfc2NvcmVcIjpcIkbDtnJ0cm9lbmRlYmV0eWdcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZpc2EgcHJpc3RhYmVsbFwiLFwicG93ZXJlZF9ieVwiOlwiRHJpdnMgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwidmlld19hbGxcIjpcIlZpc2EgYWxsYSAle2NvaW59LW1hcmtuYWRlclwifX0iKTsKICB9LCAiNGQwMSI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiMGY3YyIpLCBvID0gaSgiODNjMiIpLCByID0gbygiJUZ1bmN0aW9uJSIpLCBzID0gci5hcHBseSwgYSA9IHIuY2FsbDsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gbi5hcHBseShhLCBhcmd1bWVudHMpOwogICAgfSwgdC5leHBvcnRzLmFwcGx5ID0gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBuLmFwcGx5KHMsIGFyZ3VtZW50cyk7CiAgICB9OwogIH0sICI0ZTczIjogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCJLYXBpdGFsaXrDoWNpw7NzIHJhbmdcIixcIm1jYXBcIjpcIlBpYWNpIGthcGl0YWxpesOhY2nDs1wiLFwiMjRoX3ZvbHVtZVwiOlwiMjQgw7Nyw6FzIGZvcmdhbG9tXCIsXCIyNGhfaGlnaF9sb3dcIjpcIjI0IMOzcsOhcyBtYXhpbXVtL21pbmltdW1cIn0sXCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiQSh6KSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IGrDs3ZvbHTDoWLDs2xcIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCJLcmlwdG/DoXJmb2x5YW1vayDDtnNzemVoYXNvbmzDrXTDoXNhXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCJLcmlwdG9waWFjaSBrYXBpdGFsaXrDoWNpw7Mgw7Zzc3plaGFzb25sw610w6FzYVwifSxcImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkEoeikgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSBqw7N2b2x0w6Fiw7NsXCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjQgw7Nyw6FzIG1heGltdW1cIixcIjI0aF9sb3dcIjpcIjI0IMOzcsOhcyBtaW5pbXVtXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCIle2NvaW59LcOhcmZvbHlhbWRpYWdyYW0gbWVndGVraW50w6lzZVwiLFwicG93ZXJlZF9ieVwiOlwiQSh6KSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IGrDs3ZvbHTDoWLDs2xcIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiQSh6KSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IGrDs3ZvbHTDoWLDs2xcIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiQSh6KSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IGrDs3ZvbHTDoWLDs2xcIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkEoeikgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSBqw7N2b2x0w6Fiw7NsXCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0IMOzcsOhcyBtYXhpbXVtXCIsXCIyNGhfbG93XCI6XCIyNCDDs3LDoXMgbWluaW11bVwiLFwidmlld19wcmljZV9jaGFydFwiOlwiJXtjb2lufS3DoXJmb2x5YW1kaWFncmFtIG1lZ3Rla2ludMOpc2VcIixcInBvd2VyZWRfYnlcIjpcIkEoeikgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSBqw7N2b2x0w6Fiw7NsXCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiJXtjb2lufS3DoXJmb2x5YW1kaWFncmFtIG1lZ3Rla2ludMOpc2VcIixcInBvd2VyZWRfYnlcIjpcIkEoeikgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSBqw7N2b2x0w6Fiw7NsXCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCJLcmlwdG9kZXZpesOhayBmYXN0cnVrdMO6cmEtdMOpcmvDqXBlXCIsXCJzdWJ0aXRsZVwiOlwiKEVsc8WRICV7dG9wfSBrYXBpdGFsaXrDoWNpw7MgYWxhcGrDoW4pXCIsXCJwb3dlcmVkX2J5XCI6XCJBKHopICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gasOzdm9sdMOhYsOzbFwifSxcInJhbmRvbV9jb2luX3dpZGdldFwiOntcImRpc2NsYWltZXJcIjpcIkZlbGVsxZFzc8OpZ2kgbnlpbGF0a296YXQ6IGV6IGF6IGNzYWsgZXN6a8O2eiBzesOzcmFrb3p0YXTDoXNyYSBzem9sZ8OhbCwgbmVtIG1pbsWRc8O8bCBww6luesO8Z3lpIHRhbsOhY3NhZMOhc25hay5cIixcInNwaW5cIjpcIlDDtnJnZXTDqXNcIixcImF2YWlsYWJsZV9jb2luc1wiOlwiRWzDqXJoZXTFkSDDqXJtw6lrXCJ9LFwiY29pbl9kYWlseV9wcmljZV93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiQ29pbkdlY2tvLcOhcmZvbHlhbWZyaXNzw610w6lzXCIsXCJ0b3RhbF9tY2FwXCI6XCJUZWxqZXMgcC4ga2FwLlwiLFwiMjRoX3ZvbFwiOlwiMjQgw7Nyw6FzIGZvcmdhbG9tXCIsXCJkb21cIjpcIkRvbWluYW5jaWFcIn0sXCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXRcIjp7XCJleGNoYW5nZVwiOlwiVMWRenNkZVwiLFwicGFpclwiOlwiRGV2aXphcMOhclwiLFwicHJpY2VcIjpcIsOBcmZvbHlhbVwiLFwidm9sdW1lXCI6XCJGb3JnYWxvbVwiLFwidHJ1c3Rfc2NvcmVcIjpcIk1lZ2LDrXpoYXTDs3PDoWdpIHBvbnRzesOhbVwiLFwidmlld19wcmljZV9jaGFydFwiOlwiw4FyZm9seWFtZGlhZ3JhbSBtZWd0ZWtpbnTDqXNlXCIsXCJwb3dlcmVkX2J5XCI6XCJBKHopICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gasOzdm9sdMOhYsOzbFwiLFwidmlld19hbGxcIjpcIsOWc3N6ZXMgJXtjb2lufS1waWFjIG1lZ3Rla2ludMOpc2VcIn19Iik7CiAgfSwgIjUwZWQiOiBmdW5jdGlvbih0LCBlKSB7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgIHJldHVybiB7IHZhbHVlOiBlLCBkb25lOiAhIXQgfTsKICAgIH07CiAgfSwgNTE2ODogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJkYmRiIikoIndrcyIpLCBvID0gaSgiNjJhMCIpLCByID0gaSgiZTUzZCIpLlN5bWJvbCwgcyA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIHIsIGEgPSB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiBuW3RdIHx8IChuW3RdID0gcyAmJiByW3RdIHx8IChzID8gciA6IG8pKCJTeW1ib2wuIiArIHQpKTsKICAgIH07CiAgICBhLnN0b3JlID0gbjsKICB9LCAiNTIwYSI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiMGJmYiIpLCBvID0gUmVnRXhwLnByb3RvdHlwZS5leGVjLCByID0gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLCBzID0gbywgYSA9ICJsYXN0SW5kZXgiLCBoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciB0ID0gL2EvLCBlID0gL2IqL2c7CiAgICAgIHJldHVybiBvLmNhbGwodCwgImEiKSwgby5jYWxsKGUsICJhIiksIDAgIT09IHRbYV0gfHwgMCAhPT0gZVthXTsKICAgIH0oKSwgbCA9IHZvaWQgMCAhPT0gLygpPz8vLmV4ZWMoIiIpWzFdLCBjID0gaCB8fCBsOwogICAgYyAmJiAocyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgdmFyIGUsIGksIHMsIGMsIHAgPSB0aGlzOwogICAgICByZXR1cm4gbCAmJiAoaSA9IG5ldyBSZWdFeHAoIl4iICsgcC5zb3VyY2UgKyAiJCg/IVxccykiLCBuLmNhbGwocCkpKSwgaCAmJiAoZSA9IHBbYV0pLCBzID0gby5jYWxsKHAsIHQpLCBoICYmIHMgJiYgKHBbYV0gPSBwLmdsb2JhbCA/IHMuaW5kZXggKyBzWzBdLmxlbmd0aCA6IGUpLCBsICYmIHMgJiYgcy5sZW5ndGggPiAxICYmIHIuY2FsbChzWzBdLCBpLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgZm9yIChjID0gMTsgYyA8IGFyZ3VtZW50cy5sZW5ndGggLSAyOyBjKyspIHZvaWQgMCA9PT0gYXJndW1lbnRzW2NdICYmIChzW2NdID0gdm9pZCAwKTsKICAgICAgfSkpLCBzOwogICAgfSksIHQuZXhwb3J0cyA9IHM7CiAgfSwgIjUyYTciOiBmdW5jdGlvbih0LCBlKSB7CiAgICBlLmYgPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTsKICB9LCA1MzA5OiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICBpLmQoZSwgImEiLCAoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBuOwogICAgfSkpOwogICAgdmFyIG4gPSB7CiAgICAgIGN1c3RvbUVsZW1lbnQ6IHsKICAgICAgICBzcmM6ICJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9kb2N1bWVudC1yZWdpc3Rlci1lbGVtZW50LzEuMTEuMS9kb2N1bWVudC1yZWdpc3Rlci1lbGVtZW50LmpzIiwKICAgICAgICBpbnRlZ3JpdHk6ICJzaGEzODQtekE2VjRjaFlGR2dzZXpoMXlBUXp1czJWTlVjeVR5R0kzTk83TDVwRWlFOEFPWHYzRUMrT1MyQy8vNzJWVTZNZyIKICAgICAgfSwKICAgICAgZmV0Y2g6IHsKICAgICAgICBzcmM6ICJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9mZXRjaC8yLjAuNC9mZXRjaC5taW4uanMiLAogICAgICAgIGludGVncml0eTogInNoYTM4NC0ya2t1cXdTQ0Z6ZTF5N1VjQWVqVUg2d3QyTXBRNG5hYSsreldQMFN4eVVDL2pud3E5MVNBZmUxNFJBcnVYdG5WIgogICAgICB9LAogICAgICBjc3N2YXI6IHsKICAgICAgICBzcmM6ICJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Nzcy12YXJzLXBvbnlmaWxsQDEuMTYuMiIsCiAgICAgICAgaW50ZWdyaXR5OiAic2hhMzg0LTRzVlZzdEdBWDVFRUhRenhzZmYwNUNlZFk0NlVWalhPTWNVNWVsdTk0dnp0RzViTzJWU0FxNjlEMVpQR1BMNUUiCiAgICAgIH0sCiAgICAgIGNvbmZldHRpOiB7CiAgICAgICAgc3JjOiAiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jYW52YXMtY29uZmV0dGlAMS45LjMvZGlzdC9jb25mZXR0aS5icm93c2VyLm1pbi5qcyIsCiAgICAgICAgaW50ZWdyaXR5OiAic2hhMzg0LUd2SjI0TzdCcG43ekxua1R6S0Z3YVBPMFVjejBubkpSa2tuMnhTMCtTWjh2dUNNWW4vUGpDL2grV0llaG5HU00iCiAgICAgIH0KICAgIH07CiAgfSwgIjUzZTIiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjA3ZTMiKSwgbyA9IGkoIjI0MWUiKSwgciA9IGkoIjU1NTkiKSgiSUVfUFJPVE8iKSwgcyA9IE9iamVjdC5wcm90b3R5cGU7CiAgICB0LmV4cG9ydHMgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gdCA9IG8odCksIG4odCwgcikgPyB0W3JdIDogImZ1bmN0aW9uIiA9PSB0eXBlb2YgdC5jb25zdHJ1Y3RvciAmJiB0IGluc3RhbmNlb2YgdC5jb25zdHJ1Y3RvciA/IHQuY29uc3RydWN0b3IucHJvdG90eXBlIDogdCBpbnN0YW5jZW9mIE9iamVjdCA/IHMgOiBudWxsOwogICAgfTsKICB9LCA1NTM3OiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjgzNzgiKSwgbyA9IGkoIjc3MjYiKSwgciA9ICJfX2NvcmUtanNfc2hhcmVkX18iLCBzID0gb1tyXSB8fCAob1tyXSA9IHt9KTsKICAgICh0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgIHJldHVybiBzW3RdIHx8IChzW3RdID0gdm9pZCAwICE9PSBlID8gZSA6IHt9KTsKICAgIH0pKCJ2ZXJzaW9ucyIsIFtdKS5wdXNoKHsgdmVyc2lvbjogbi52ZXJzaW9uLCBtb2RlOiBpKCIyZDAwIikgPyAicHVyZSIgOiAiZ2xvYmFsIiwgY29weXJpZ2h0OiAiwqkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSIgfSk7CiAgfSwgNTU1OTogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJkYmRiIikoImtleXMiKSwgbyA9IGkoIjYyYTAiKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIG5bdF0gfHwgKG5bdF0gPSBvKHQpKTsKICAgIH07CiAgfSwgIjU2MmUiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiA9IGkoIjQ2MDEiKSwgbyA9IGkoIjExNTMiKSwgciA9IGkoIjhhYjUiKSwgcyA9IHIoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZSIpLAogICAgICBhID0gL15bXHgwOVx4MEFceDBCXHgwQ1x4MERceDIwXHhBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMFx1MjAyOFx1MjAyOVx1RkVGRl0rLywKICAgICAgaCA9IC9bXHgwOVx4MEFceDBCXHgwQ1x4MERceDIwXHhBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMFx1MjAyOFx1MjAyOVx1RkVGRl0rJC87CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbigpIHsKICAgICAgdmFyIHQgPSBvKG4odGhpcykpOwogICAgICByZXR1cm4gcyhzKHQsIGEsICIiKSwgaCwgIiIpOwogICAgfTsKICB9LCA1NzU0OiBmdW5jdGlvbih0KSB7CiAgICB0LmV4cG9ydHMgPSBKU09OLnBhcnNlKCJ7XCJjb2luX2RldGFpbHNcIjp7XCJtY2FwX3JhbmtcIjpcIk1hcmtraW5hLWFydm9uIHNpamFcIixcIm1jYXBcIjpcIk1hcmtraW5hLWFydm9cIixcIjI0aF92b2x1bWVcIjpcIjI0dCB2b2x5eW1pXCIsXCIyNGhfaGlnaF9sb3dcIjpcIjI0dCBrb3JrZWluIC8gYWxpbiBoaW50YVwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCJLcnlwdG9qZW4gaGlubmFudmVydGFpbHVcIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIktyeXB0b2plbiBtYXJra2luYS1hcnZvamVuIHZlcnRhaWx1XCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiUGFsdmVsdW4gdGFyam9hYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjR0IEtvcmtlaW5cIixcIjI0aF9sb3dcIjpcIjI0dCBBbGhhaXNpblwiLFwidmlld19wcmljZV9jaGFydFwiOlwiTsOkeXTDpCBrb2xpa29uICV7Y29pbn0gaGludGFrYWF2aW9cIixcInBvd2VyZWRfYnlcIjpcIlBhbHZlbHVuIHRhcmpvYWEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiUGFsdmVsdW4gdGFyam9hYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjR0IEtvcmtlaW5cIixcIjI0aF9sb3dcIjpcIjI0dCBBbGhhaXNpblwiLFwidmlld19wcmljZV9jaGFydFwiOlwiTsOkeXTDpCBrb2xpa29uICV7Y29pbn0gaGludGFrYWF2aW9cIixcInBvd2VyZWRfYnlcIjpcIlBhbHZlbHVuIHRhcmpvYWEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fY29udmVydGVyX3dpZGdldFwiOntcInZpZXdfcHJpY2VfY2hhcnRcIjpcIk7DpHl0w6Qga29saWtvbiAle2NvaW59IGhpbnRha2FhdmlvXCIsXCJwb3dlcmVkX2J5XCI6XCJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2hlYXRtYXBfd2lkZ2V0XCI6e1widGl0bGVcIjpcIktyeXB0b3ZhbHV1dHRvamVuIHB1dWthYXZpb1wiLFwic3VidGl0bGVcIjpcIihQYXJoYWF0ICV7dG9wfSBtYXJra2luYS1hcnZvbiBtdWthYW4pXCIsXCJwb3dlcmVkX2J5XCI6XCJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCJWYXN0dXV2YXBhdXNsYXVzZWtlOiBUw6Rtw6QgdHnDtmthbHUgb24gdGFya29pdGV0dHUgdmlpaGRla8OkeXR0w7bDtm4sIGphIHNlbiBzaXPDpGx0w7YgZWkgb2xlIHRhbG91ZGVsbGlzdGEgbmV1dm9udGFhLlwiLFwic3BpblwiOlwiUHnDtnLDpHl0w6RcIixcImF2YWlsYWJsZV9jb2luc1wiOlwiU2FhdGF2aWxsYSBvbGV2YXQga29saWtvdFwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkNvaW5HZWNrbyBoaW5uYW5ww6Rpdml0eXNcIixcInRvdGFsX21jYXBcIjpcIktva29uYWlzbWFya2tpbmEtYXJ2b1wiLFwiMjRoX3ZvbFwiOlwiMjQgdHVubmluIHZvbHl5bWlcIixcImRvbVwiOlwiRG9taW5hbnNzaVwifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCJLcnlwdG9ww7Zyc3NpXCIsXCJwYWlyXCI6XCJQYXJpXCIsXCJwcmljZVwiOlwiSGludGFcIixcInZvbHVtZVwiOlwiVm9seXltaVwiLFwidHJ1c3Rfc2NvcmVcIjpcIlRydXN0IFNjb3JlXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJOw6R5dMOkIGhpbnRha2FhdmlvXCIsXCJwb3dlcmVkX2J5XCI6XCJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCJOw6R5dMOkIGthaWtraSAle2NvaW59IG1hcmtraW5hdFwifX0iKTsKICB9LCAiNTg0YSI6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHZhciBpID0gdC5leHBvcnRzID0geyB2ZXJzaW9uOiAiMi42LjExIiB9OwogICAgIm51bWJlciIgPT0gdHlwZW9mIF9fZSAmJiAoX19lID0gaSk7CiAgfSwgIjViNGUiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjM2YzMiKSwgbyA9IGkoImI0NDciKSwgciA9IGkoIjBmYzkiKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGksIHMpIHsKICAgICAgICB2YXIgYSwgaCA9IG4oZSksIGwgPSBvKGgubGVuZ3RoKSwgYyA9IHIocywgbCk7CiAgICAgICAgaWYgKHQgJiYgaSAhPSBpKSB7CiAgICAgICAgICB3aGlsZSAobCA+IGMpIGlmIChhID0gaFtjKytdLCBhICE9IGEpIHJldHVybiAhMDsKICAgICAgICB9IGVsc2UgZm9yICg7IGwgPiBjOyBjKyspIGlmICgodCB8fCBjIGluIGgpICYmIGhbY10gPT09IGkpIHJldHVybiB0IHx8IGMgfHwgMDsKICAgICAgICByZXR1cm4gIXQgJiYgLTE7CiAgICAgIH07CiAgICB9OwogIH0sICI1Y2ExIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCI3NzI2IiksIG8gPSBpKCI4Mzc4IiksIHIgPSBpKCIzMmU5IiksIHMgPSBpKCIyYWJhIiksIGEgPSBpKCI5YjQzIiksIGggPSAicHJvdG90eXBlIiwgbCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgdmFyIGMsIHAsIGQsIHUsIGYgPSB0ICYgbC5GLCBnID0gdCAmIGwuRywgbSA9IHQgJiBsLlMsIHkgPSB0ICYgbC5QLCB2ID0gdCAmIGwuQiwgeCA9IGcgPyBuIDogbSA/IG5bZV0gfHwgKG5bZV0gPSB7fSkgOiAobltlXSB8fCB7fSlbaF0sCiAgICAgICAgYiA9IGcgPyBvIDogb1tlXSB8fCAob1tlXSA9IHt9KSwgXyA9IGJbaF0gfHwgKGJbaF0gPSB7fSk7CiAgICAgIGZvciAoYyBpbiBnICYmIChpID0gZSksIGkpIHAgPSAhZiAmJiB4ICYmIHZvaWQgMCAhPT0geFtjXSwgZCA9IChwID8geCA6IGkpW2NdLCB1ID0gdiAmJiBwID8gYShkLCBuKSA6IHkgJiYgImZ1bmN0aW9uIiA9PSB0eXBlb2YgZCA/IGEoRnVuY3Rpb24uY2FsbCwgZCkgOiBkLCB4ICYmIHMoeCwgYywgZCwgdCAmIGwuVSksIGJbY10gIT0gZCAmJiByKGIsIGMsIHUpLCB5ICYmIF9bY10gIT0gZCAmJiAoX1tjXSA9IGQpOwogICAgfTsKICAgIG4uY29yZSA9IG8sIGwuRiA9IDEsIGwuRyA9IDIsIGwuUyA9IDQsIGwuUCA9IDgsIGwuQiA9IDE2LCBsLlcgPSAzMiwgbC5VID0gNjQsIGwuUiA9IDEyOCwgdC5leHBvcnRzID0gbDsKICB9LCAiNWQ1OCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHQuZXhwb3J0cyA9IGkoImQ4ZDYiKTsKICB9LCAiNWQ2NyI6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwiQ2xhc3NpZmljYcOnw6NvIGRhIGNhcGl0YWxpemHDp8OjbyBkZSBtZXJjYWRvXCIsXCJtY2FwXCI6XCJDYXBpdGFsaXphw6fDo28gZGUgbWVyY2Fkb1wiLFwiMjRoX3ZvbHVtZVwiOlwiVm9sdW1lIGVtIDI0IEhcIixcIjI0aF9oaWdoX2xvd1wiOlwiMjRIIEFsdGEvQmFpeGFcIn0sXCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvblwiOlwiQ29tcGFyYcOnw6NvIGRlIFByZcOnb3MgZGUgQ3JpcHRvXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCJDb21wYXJhw6fDo28gZGUgQ2FwaXRhbGl6YcOnw6NvIGRlIE1lcmNhZG8gZGUgQ3JpcHRvXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiQWx0YSBkZSAyNCBoXCIsXCIyNGhfbG93XCI6XCJCYWl4YSBkZSAyNCBoXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJWZXIgR3LDoWZpY28gZGUgUHJlw6dvcyAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJEZXNlbnZvbHZpZG8gcG9yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkRlc2Vudm9sdmlkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImJlYW1fd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIkFsdGEgZGUgMjQgaFwiLFwiMjRoX2xvd1wiOlwiQmFpeGEgZGUgMjQgaFwiLFwidmlld19wcmljZV9jaGFydFwiOlwiVmVyIEdyw6FmaWNvIGRlIFByZcOnb3MgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiVmVyIEdyw6FmaWNvIGRlIFByZcOnb3MgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCJNYXBhIGRlIMOhcnZvcmUgZGUgY3JpcHRvbW9lZGFzXCIsXCJzdWJ0aXRsZVwiOlwiKFByaW5jaXBhaXMgJXt0b3B9IE1vZWRhcyBwb3IgQ2FwaXRhbGl6YcOnw6NvIGRlIE1lcmNhZG8pXCIsXCJwb3dlcmVkX2J5XCI6XCJEZXNlbnZvbHZpZG8gcG9yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCJBdGVuw6fDo286IEVzdGFzIGZlcnJhbWVudGFzIHPDo28gcGFyYSBmaW5zIGRlIGVudHJldGVuaW1lbnRvIGUgbsOjbyBjb25zdGl0dWVtIGNvbnNlbGhvcyBmaW5hbmNlaXJvcy5cIixcInNwaW5cIjpcIkdpcmFyXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIk1vZWRhcyBEaXNwb27DrXZlaXNcIn0sXCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldFwiOntcInRpdGxlXCI6XCJBdHVhbGl6YcOnw6NvIGRvIFByZcOnb3MgQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCJDYXBpdGFsaXphw6fDo28gVG90YWwgZGUgTWVyY2Fkb1wiLFwiMjRoX3ZvbFwiOlwiVm9sdW1lIGVtIDI0IGhcIixcImRvbVwiOlwiRG9tXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIkPDom1iaW9cIixcInBhaXJcIjpcIlBhclwiLFwicHJpY2VcIjpcIlByZcOnb1wiLFwidm9sdW1lXCI6XCJWb2x1bWVcIixcInRydXN0X3Njb3JlXCI6XCJQbGFjYXIgZGUgQ29uZmlhbsOnYVwiLFwidmlld19wcmljZV9jaGFydFwiOlwiVmVyIEdyw6FmaWNvIGRlIFByZcOnb3NcIixcInBvd2VyZWRfYnlcIjpcIkRlc2Vudm9sdmlkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwidmlld19hbGxcIjpcIlZlciB0b2RvcyBvcyBtZXJjYWRvcyAle2NvaW59XCJ9fSIpOwogIH0sICI1ZGJjIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJkM2Y0IiksIG8gPSBpKCI4Yjk3Iikuc2V0OwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICB2YXIgciwgcyA9IGUuY29uc3RydWN0b3I7CiAgICAgIHJldHVybiBzICE9PSBpICYmICJmdW5jdGlvbiIgPT0gdHlwZW9mIHMgJiYgKHIgPSBzLnByb3RvdHlwZSkgIT09IGkucHJvdG90eXBlICYmIG4ocikgJiYgbyAmJiBvKHQsIHIpLCB0OwogICAgfTsKICB9LCAiNWRmMyI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiMDJmNCIpKCEwKTsKICAgIGkoIjAxZjkiKShTdHJpbmcsICJTdHJpbmciLCAoZnVuY3Rpb24odCkgewogICAgICB0aGlzLl90ID0gU3RyaW5nKHQpLCB0aGlzLl9pID0gMDsKICAgIH0pLCAoZnVuY3Rpb24oKSB7CiAgICAgIHZhciB0LCBlID0gdGhpcy5fdCwgaSA9IHRoaXMuX2k7CiAgICAgIHJldHVybiBpID49IGUubGVuZ3RoID8geyB2YWx1ZTogdm9pZCAwLCBkb25lOiAhMCB9IDogKHQgPSBuKGUsIGkpLCB0aGlzLl9pICs9IHQubGVuZ3RoLCB7IHZhbHVlOiB0LCBkb25lOiAhMSB9KTsKICAgIH0pKTsKICB9LCAiNWVkYSI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiNWNhMSIpLCBvID0gaSgiODM3OCIpLCByID0gaSgiNzllNSIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSkgewogICAgICB2YXIgaSA9IChvLk9iamVjdCB8fCB7fSlbdF0gfHwgT2JqZWN0W3RdLCBzID0ge307CiAgICAgIHNbdF0gPSBlKGkpLCBuKG4uUyArIG4uRiAqIHIoKGZ1bmN0aW9uKCkgewogICAgICAgIGkoMSk7CiAgICAgIH0pKSwgIk9iamVjdCIsIHMpOwogICAgfTsKICB9LCAiNWYxYiI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiMjNjNiIpLCBvID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSkgewogICAgICB2YXIgaSA9IHQuZXhlYzsKICAgICAgaWYgKCJmdW5jdGlvbiIgPT09IHR5cGVvZiBpKSB7CiAgICAgICAgdmFyIHIgPSBpLmNhbGwodCwgZSk7CiAgICAgICAgaWYgKCJvYmplY3QiICE9PSB0eXBlb2YgcikgdGhyb3cgbmV3IFR5cGVFcnJvcigiUmVnRXhwIGV4ZWMgbWV0aG9kIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIE9iamVjdCBvciBudWxsIik7CiAgICAgICAgcmV0dXJuIHI7CiAgICAgIH0KICAgICAgaWYgKCJSZWdFeHAiICE9PSBuKHQpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyIik7CiAgICAgIHJldHVybiBvLmNhbGwodCwgZSk7CiAgICB9OwogIH0sIDYwNDU6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwiUmlua29zIGthcGl0YWxpemFjaWpvcyByZWl0aW5nYXNcIixcIm1jYXBcIjpcIlJpbmtvcyBrYXBpdGFsaXphY2lqYVwiLFwiMjRoX3ZvbHVtZVwiOlwiMjQgdmFsLiBhcGltdGlzXCIsXCIyNGhfaGlnaF9sb3dcIjpcIkF1a8WhxI1pYXVzaWEgLyBtYcW+aWF1c2lhIHBlciAyNCB2YWwuXCJ9LFwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIsSuZGllZ3RhIHBhZ2FsICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCJLcmlwdG92YWxpdXTFsyBrYWluxbMgcGFseWdpbmltYXNcIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIktyaXB0b3ZhbGl1dMWzIHJpbmtvcyB0YWxwb3MgcGFseWdpbmltYXNcIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLErmRpZWd0YSBwYWdhbCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiRGlkxb5pYXVzaWEgcGVyIDI0IHZhbC5cIixcIjI0aF9sb3dcIjpcIsW9ZW1pYXVzaWEgcGVyIDI0IHZhbC5cIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlBlcsW+acWrcsSXdGkgJXtjb2lufSBLYWluxbMgZGlhZ3JhbWFcIixcInBvd2VyZWRfYnlcIjpcIsSuZGllZ3RhIHBhZ2FsICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwixK5kaWVndGEgcGFnYWwgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLErmRpZWd0YSBwYWdhbCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLErmRpZWd0YSBwYWdhbCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIkRpZMW+aWF1c2lhIHBlciAyNCB2YWwuXCIsXCIyNGhfbG93XCI6XCLFvWVtaWF1c2lhIHBlciAyNCB2YWwuXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJQZXLFvmnFq3LEl3RpICV7Y29pbn0gS2FpbsWzIGRpYWdyYW1hXCIsXCJwb3dlcmVkX2J5XCI6XCLErmRpZWd0YSBwYWdhbCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiUGVyxb5pxatyxJd0aSAle2NvaW59IEthaW7FsyBkaWFncmFtYVwiLFwicG93ZXJlZF9ieVwiOlwixK5kaWVndGEgcGFnYWwgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiS3JpcHRvdmFsaXV0xbMgbWVkaXNcIixcInN1YnRpdGxlXCI6XCIoUG9wdWxpYXJpYXVzaW9zICAle3RvcH0gcGFnYWwgcmlua29zIGthcGl0YWxpemFjaWrEhSlcIixcInBvd2VyZWRfYnlcIjpcIsSuZGllZ3RhIHBhZ2FsICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCJBdHNha29teWLEl3MgYXByaWJvamltYXM6IMWgaWUgxK9yYW5raWFpIHNraXJ0aSBwcmFtb2dhaSBpciBuxJdyYSBmaW5hbnNpbsSXcyBrb25zdWx0YWNpam9zLlwiLFwic3BpblwiOlwiU3VrdGlcIixcImF2YWlsYWJsZV9jb2luc1wiOlwiUHJpZWluYW1vcyBtb25ldG9zXCJ9LFwiY29pbl9kYWlseV9wcmljZV93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiQ29pbkdlY2tvIEthaW7FsyBBdG5hdWppbmltYXNcIixcInRvdGFsX21jYXBcIjpcIkJlbmRyYSBNIHJpYmFcIixcIjI0aF92b2xcIjpcIkFwaW10aXMgcGVyIDI0IHZhbC5cIixcImRvbVwiOlwiRG9taW5hdmltYXNcIn0sXCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXRcIjp7XCJleGNoYW5nZVwiOlwiS2VpdHlrbGFcIixcInBhaXJcIjpcIlBvcmFcIixcInByaWNlXCI6XCJLYWluYVwiLFwidm9sdW1lXCI6XCJBcGltdGlzXCIsXCJ0cnVzdF9zY29yZVwiOlwiUGFzaXRpa8SXamltbyBiYWxhc1wiLFwidmlld19wcmljZV9jaGFydFwiOlwiUGVyxb5pxatyxJd0aSBLYWluxbMgZGlhZ3JhbcSFXCIsXCJwb3dlcmVkX2J5XCI6XCLErmRpZWd0YSBwYWdhbCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJ2aWV3X2FsbFwiOlwiUGVyxb5pxatyxJd0aSB2aXNhcyAle2NvaW59IHJpbmthc1wifX0iKTsKICB9LCAiNjEzYiI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiNTUzNyIpKCJrZXlzIiksIG8gPSBpKCJjYTVhIik7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiBuW3RdIHx8IChuW3RdID0gbyh0KSk7CiAgICB9OwogIH0sICI2MjZhIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCIyZDk1Iik7CiAgICB0LmV4cG9ydHMgPSBPYmplY3QoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKSA/IE9iamVjdCA6IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuICJTdHJpbmciID09IG4odCkgPyB0LnNwbGl0KCIiKSA6IE9iamVjdCh0KTsKICAgIH07CiAgfSwgIjYyYTAiOiBmdW5jdGlvbih0LCBlKSB7CiAgICB2YXIgaSA9IDAsIG4gPSBNYXRoLnJhbmRvbSgpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gIlN5bWJvbCgiLmNvbmNhdCh2b2lkIDAgPT09IHQgPyAiIiA6IHQsICIpXyIsICgrK2kgKyBuKS50b1N0cmluZygzNikpOwogICAgfTsKICB9LCAiNjJlYSI6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwi0KDQtdC50YLQuNC90LMg0YDQuNC90LrQvtCy0L7RlyDQutCw0L/RltGC0LDQu9GW0LfQsNGG0ZbRl1wiLFwibWNhcFwiOlwi0KDQuNC90LrQvtCy0LAg0LrQsNC/0ZbRgtCw0LvRltC30LDRhtGW0Y9cIixcIjI0aF92b2x1bWVcIjpcItCe0LHRgdGP0LMg0LfQsCAyNCDQs9C+0LTQuNC90LhcIixcIjI0aF9oaWdoX2xvd1wiOlwi0JzQsNC60YEuL9C80ZbQvS4g0LfQsCAyNCDQs9C+0LTQuNC90LhcIn0sXCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCLQn9C+0YDRltCy0L3Rj9C90L3RjyDRhtGW0L0g0LrRgNC40L/RgtC+0LLQsNC70Y7RglwiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwi0J/QvtGA0ZbQstC90Y/QvdC90Y8g0YDQuNC90LrQvtCy0L7RlyDQutCw0L/RltGC0LDQu9GW0LfQsNGG0ZbRlyDQutGA0LjQv9GC0L7QstCw0LvRjtGCXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCLQnNCw0LrRgdC40LzRg9C8INC30LAgMjQg0LPQvtC00LjQvdC4XCIsXCIyNGhfbG93XCI6XCLQnNGW0L3RltC80YPQvCDQt9CwIDI0INCz0L7QtNC40L3QuFwiLFwidmlld19wcmljZV9jaGFydFwiOlwi0J/QtdGA0LXQs9C70Y/QvdGD0YLQuCDQs9GA0LDRhNGW0Log0YbRltC90LggJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcItCf0YDQsNGG0Y7RlCDQvdCwINC/0LvQsNGC0YTQvtGA0LzRliAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcItCc0LDQutGB0LjQvNGD0Lwg0LfQsCAyNCDQs9C+0LTQuNC90LhcIixcIjI0aF9sb3dcIjpcItCc0ZbQvdGW0LzRg9C8INC30LAgMjQg0LPQvtC00LjQvdC4XCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLQn9C10YDQtdCz0LvRj9C90YPRgtC4INCz0YDQsNGE0ZbQuiDRhtGW0L3QuCAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCLQn9GA0LDRhtGO0ZQg0L3QsCDQv9C70LDRgtGE0L7RgNC80ZYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fY29udmVydGVyX3dpZGdldFwiOntcInZpZXdfcHJpY2VfY2hhcnRcIjpcItCf0LXRgNC10LPQu9GP0L3Rg9GC0Lgg0LPRgNCw0YTRltC6INGG0ZbQvdC4ICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcItCf0YDQsNGG0Y7RlCDQvdCwINC/0LvQsNGC0YTQvtGA0LzRliAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCLQmtCw0YDRgtCwINC00LXRgNC10LLQsCDQutGA0LjQv9GC0L7QstCw0LvRjtGC0LhcIixcInN1YnRpdGxlXCI6XCIo0JrRgNCw0YnRliAle3RvcH0g0LfQsCDRgNC40L3QutC+0LLQvtGOINC60LDQv9GW0YLQsNC70ZbQt9Cw0YbRltGU0Y4pXCIsXCJwb3dlcmVkX2J5XCI6XCLQn9GA0LDRhtGO0ZQg0L3QsCDQv9C70LDRgtGE0L7RgNC80ZYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcInJhbmRvbV9jb2luX3dpZGdldFwiOntcImRpc2NsYWltZXJcIjpcItCS0ZbQtNC80L7QstCwINCy0ZbQtCDQstGW0LTQv9C+0LLRltC00LDQu9GM0L3QvtGB0YLRljog0KbRliDRltC90YHRgtGA0YPQvNC10L3RgtC4INC00LDQvdGWINGP0Log0YDQvtC30LLQsNC20LDQu9GM0L3RliDQuSDQvdC1INGUINGE0ZbQvdCw0L3RgdC+0LLQuNC80Lgg0YDQtdC60L7QvNC10L3QtNCw0YbRltGP0LzQuC5cIixcInNwaW5cIjpcItCh0L/RltC9XCIsXCJhdmFpbGFibGVfY29pbnNcIjpcItCU0L7RgdGC0YPQv9C90ZYg0LzQvtC90LXRgtC4XCJ9LFwiY29pbl9kYWlseV9wcmljZV93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi0J7QvdC+0LLQu9C10L3QvdGPINGG0ZbQvdC4IENvaW5HZWNrb1wiLFwidG90YWxfbWNhcFwiOlwi0JfQsNCz0LDQu9GM0L3QsCDRgNC40L0uINC60LDQvy5cIixcIjI0aF92b2xcIjpcItCe0LHRgdGP0LMg0YLQvtGA0LPRltCyINC30LAgMjQg0LPQvtC00LjQvdC4XCIsXCJkb21cIjpcItCU0L7QvNGW0L3Rg9Cy0LDQvdC90Y9cIn0sXCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXRcIjp7XCJleGNoYW5nZVwiOlwi0JHRltGA0LbQsFwiLFwicGFpclwiOlwi0J/QsNGA0LBcIixcInByaWNlXCI6XCLQptGW0L3QsFwiLFwidm9sdW1lXCI6XCLQntCx0YHRj9CzXCIsXCJ0cnVzdF9zY29yZVwiOlwi0J/QvtC60LDQt9C90LjQuiDQvdCw0LTRltC50L3QvtGB0YLRllwiLFwidmlld19wcmljZV9jaGFydFwiOlwi0J/QtdGA0LXQs9C70Y/QvdGD0YLQuCDQs9GA0LDRhNGW0Log0YbRltC90LhcIixcInBvd2VyZWRfYnlcIjpcItCf0YDQsNGG0Y7RlCDQvdCwINC/0LvQsNGC0YTQvtGA0LzRliAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJ2aWV3X2FsbFwiOlwi0J/QtdGA0LXQs9C70Y/QvdGD0YLQuCDQstGB0ZYg0YDQuNC90LrQuCAle2NvaW59XCJ9fSIpOwogIH0sICI2M2I2IjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJlNTNkIiksIG8gPSBpKCI1ODRhIiksIHIgPSBpKCJkODY0IiksIHMgPSBpKCIzNWU4IiksIGEgPSBpKCIwN2UzIiksIGggPSAicHJvdG90eXBlIiwgbCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgdmFyIGMsIHAsIGQsIHUgPSB0ICYgbC5GLCBmID0gdCAmIGwuRywgZyA9IHQgJiBsLlMsIG0gPSB0ICYgbC5QLCB5ID0gdCAmIGwuQiwgdiA9IHQgJiBsLlcsIHggPSBmID8gbyA6IG9bZV0gfHwgKG9bZV0gPSB7fSksIGIgPSB4W2hdLAogICAgICAgIF8gPSBmID8gbiA6IGcgPyBuW2VdIDogKG5bZV0gfHwge30pW2hdOwogICAgICBmb3IgKGMgaW4gZiAmJiAoaSA9IGUpLCBpKSBwID0gIXUgJiYgXyAmJiB2b2lkIDAgIT09IF9bY10sIHAgJiYgYSh4LCBjKSB8fCAoZCA9IHAgPyBfW2NdIDogaVtjXSwgeFtjXSA9IGYgJiYgImZ1bmN0aW9uIiAhPSB0eXBlb2YgX1tjXSA/IGlbY10gOiB5ICYmIHAgPyByKGQsIG4pIDogdiAmJiBfW2NdID09IGQgPyBmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUgPSBmdW5jdGlvbihlLCBpLCBuKSB7CiAgICAgICAgICBpZiAodGhpcyBpbnN0YW5jZW9mIHQpIHsKICAgICAgICAgICAgc3dpdGNoIChhcmd1bWVudHMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyB0OwogICAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgIHJldHVybiBuZXcgdChlKTsKICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHQoZSwgaSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIG5ldyB0KGUsIGksIG4pOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICAgIHJldHVybiBlW2hdID0gdFtoXSwgZTsKICAgICAgfShkKSA6IG0gJiYgImZ1bmN0aW9uIiA9PSB0eXBlb2YgZCA/IHIoRnVuY3Rpb24uY2FsbCwgZCkgOiBkLCBtICYmICgoeC52aXJ0dWFsIHx8ICh4LnZpcnR1YWwgPSB7fSkpW2NdID0gZCwgdCAmIGwuUiAmJiBiICYmICFiW2NdICYmIHMoYiwgYywgZCkpKTsKICAgIH07CiAgICBsLkYgPSAxLCBsLkcgPSAyLCBsLlMgPSA0LCBsLlAgPSA4LCBsLkIgPSAxNiwgbC5XID0gMzIsIGwuVSA9IDY0LCBsLlIgPSAxMjgsIHQuZXhwb3J0cyA9IGw7CiAgfSwgNjcxODogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJlNTNkIiksIG8gPSBpKCI1ODRhIiksIHIgPSBpKCJiOGUzIiksIHMgPSBpKCJjY2I5IiksIGEgPSBpKCJkOWY2IikuZjsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgdmFyIGUgPSBvLlN5bWJvbCB8fCAoby5TeW1ib2wgPSByID8ge30gOiBuLlN5bWJvbCB8fCB7fSk7CiAgICAgICJfIiA9PSB0LmNoYXJBdCgwKSB8fCB0IGluIGUgfHwgYShlLCB0LCB7IHZhbHVlOiBzLmYodCkgfSk7CiAgICB9OwogIH0sICI2N2JiIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdC5leHBvcnRzID0gaSgiZjkyMSIpOwogIH0sIDY4MjE6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiNjI2YSIpLCBvID0gaSgiYmUxMyIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gbihvKHQpKTsKICAgIH07CiAgfSwgIjY4OGUiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiA9ICJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb24gaW5jb21wYXRpYmxlICIsIG8gPSBBcnJheS5wcm90b3R5cGUuc2xpY2UsIHIgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLCBzID0gIltvYmplY3QgRnVuY3Rpb25dIjsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgdmFyIGUgPSB0aGlzOwogICAgICBpZiAoImZ1bmN0aW9uIiAhPT0gdHlwZW9mIGUgfHwgci5jYWxsKGUpICE9PSBzKSB0aHJvdyBuZXcgVHlwZUVycm9yKG4gKyBlKTsKICAgICAgZm9yICh2YXIgaSwgYSA9IG8uY2FsbChhcmd1bWVudHMsIDEpLCBoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHRoaXMgaW5zdGFuY2VvZiBpKSB7CiAgICAgICAgICB2YXIgbiA9IGUuYXBwbHkodGhpcywgYS5jb25jYXQoby5jYWxsKGFyZ3VtZW50cykpKTsKICAgICAgICAgIHJldHVybiBPYmplY3QobikgPT09IG4gPyBuIDogdGhpczsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGUuYXBwbHkodCwgYS5jb25jYXQoby5jYWxsKGFyZ3VtZW50cykpKTsKICAgICAgfSwgbCA9IE1hdGgubWF4KDAsIGUubGVuZ3RoIC0gYS5sZW5ndGgpLCBjID0gW10sIHAgPSAwOyBwIDwgbDsgcCsrKSBjLnB1c2goIiQiICsgcCk7CiAgICAgIGlmIChpID0gRnVuY3Rpb24oImJpbmRlciIsICJyZXR1cm4gZnVuY3Rpb24gKCIgKyBjLmpvaW4oIiwiKSArICIpeyByZXR1cm4gYmluZGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsgfSIpKGgpLCBlLnByb3RvdHlwZSkgewogICAgICAgIHZhciBkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgfTsKICAgICAgICBkLnByb3RvdHlwZSA9IGUucHJvdG90eXBlLCBpLnByb3RvdHlwZSA9IG5ldyBkLCBkLnByb3RvdHlwZSA9IG51bGw7CiAgICAgIH0KICAgICAgcmV0dXJuIGk7CiAgICB9OwogIH0sICI2OWE4IjogZnVuY3Rpb24odCwgZSkgewogICAgdmFyIGkgPSB7fS5oYXNPd25Qcm9wZXJ0eTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgcmV0dXJuIGkuY2FsbCh0LCBlKTsKICAgIH07CiAgfSwgIjY5ZDMiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICBpKCI2NzE4IikoImFzeW5jSXRlcmF0b3IiKTsKICB9LCAiNmE5OSI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiZDNmNCIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSkgewogICAgICBpZiAoIW4odCkpIHJldHVybiB0OwogICAgICB2YXIgaSwgbzsKICAgICAgaWYgKGUgJiYgImZ1bmN0aW9uIiA9PSB0eXBlb2YgKGkgPSB0LnRvU3RyaW5nKSAmJiAhbihvID0gaS5jYWxsKHQpKSkgcmV0dXJuIG87CiAgICAgIGlmICgiZnVuY3Rpb24iID09IHR5cGVvZiAoaSA9IHQudmFsdWVPZikgJiYgIW4obyA9IGkuY2FsbCh0KSkpIHJldHVybiBvOwogICAgICBpZiAoIWUgJiYgImZ1bmN0aW9uIiA9PSB0eXBlb2YgKGkgPSB0LnRvU3RyaW5nKSAmJiAhbihvID0gaS5jYWxsKHQpKSkgcmV0dXJuIG87CiAgICAgIHRocm93IFR5cGVFcnJvcigiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIik7CiAgICB9OwogIH0sICI2YWJmIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJlNmYzIiksIG8gPSBpKCIxNjkxIikuY29uY2F0KCJsZW5ndGgiLCAicHJvdG90eXBlIik7CiAgICBlLmYgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB8fCBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiBuKHQsIG8pOwogICAgfTsKICB9LCAiNmI0YyI6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHZhciBpID0ge30udG9TdHJpbmc7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiBpLmNhbGwodCkuc2xpY2UoOCwgLTEpOwogICAgfTsKICB9LCAiNmI1NCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIGkoIjM4NDYiKTsKICAgIHZhciBuID0gaSgiY2I3YyIpLCBvID0gaSgiMGJmYiIpLCByID0gaSgiOWUxZSIpLCBzID0gInRvU3RyaW5nIiwgYSA9IC8uL1tzXSwgaCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgaSgiMmFiYSIpKFJlZ0V4cC5wcm90b3R5cGUsIHMsIHQsICEwKTsKICAgIH07CiAgICBpKCI3OWU1IikoKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gIi9hL2IiICE9IGEuY2FsbCh7IHNvdXJjZTogImEiLCBmbGFnczogImIiIH0pOwogICAgfSkpID8gaCgoZnVuY3Rpb24oKSB7CiAgICAgIHZhciB0ID0gbih0aGlzKTsKICAgICAgcmV0dXJuICIvIi5jb25jYXQodC5zb3VyY2UsICIvIiwgImZsYWdzIiBpbiB0ID8gdC5mbGFncyA6ICFyICYmIHQgaW5zdGFuY2VvZiBSZWdFeHAgPyBvLmNhbGwodCkgOiB2b2lkIDApOwogICAgfSkpIDogYS5uYW1lICE9IHMgJiYgaCgoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBhLmNhbGwodGhpcyk7CiAgICB9KSk7CiAgfSwgIjZjMWMiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICBpKCJjMzY3Iik7CiAgICBmb3IgKHZhciBuID0gaSgiZTUzZCIpLCBvID0gaSgiMzVlOCIpLCByID0gaSgiNDgxYiIpLCBzID0gaSgiNTE2OCIpKCJ0b1N0cmluZ1RhZyIpLCBhID0gIkNTU1J1bGVMaXN0LENTU1N0eWxlRGVjbGFyYXRpb24sQ1NTVmFsdWVMaXN0LENsaWVudFJlY3RMaXN0LERPTVJlY3RMaXN0LERPTVN0cmluZ0xpc3QsRE9NVG9rZW5MaXN0LERhdGFUcmFuc2Zlckl0ZW1MaXN0LEZpbGVMaXN0LEhUTUxBbGxDb2xsZWN0aW9uLEhUTUxDb2xsZWN0aW9uLEhUTUxGb3JtRWxlbWVudCxIVE1MU2VsZWN0RWxlbWVudCxNZWRpYUxpc3QsTWltZVR5cGVBcnJheSxOYW1lZE5vZGVNYXAsTm9kZUxpc3QsUGFpbnRSZXF1ZXN0TGlzdCxQbHVnaW4sUGx1Z2luQXJyYXksU1ZHTGVuZ3RoTGlzdCxTVkdOdW1iZXJMaXN0LFNWR1BhdGhTZWdMaXN0LFNWR1BvaW50TGlzdCxTVkdTdHJpbmdMaXN0LFNWR1RyYW5zZm9ybUxpc3QsU291cmNlQnVmZmVyTGlzdCxTdHlsZVNoZWV0TGlzdCxUZXh0VHJhY2tDdWVMaXN0LFRleHRUcmFja0xpc3QsVG91Y2hMaXN0Ii5zcGxpdCgiLCIpLCBoID0gMDsgaCA8IGEubGVuZ3RoOyBoKyspIHsKICAgICAgdmFyIGwgPSBhW2hdLCBjID0gbltsXSwgcCA9IGMgJiYgYy5wcm90b3R5cGU7CiAgICAgIHAgJiYgIXBbc10gJiYgbyhwLCBzLCBsKSwgcltsXSA9IHIuQXJyYXk7CiAgICB9CiAgfSwgIjZjZTIiOiBmdW5jdGlvbih0KSB7CiAgICB0LmV4cG9ydHMgPSBKU09OLnBhcnNlKCJ7XCJjb2luX2RldGFpbHNcIjp7XCJtY2FwX3JhbmtcIjpcIk1hcmt0a2FwaXRhbGlzaWVydW5nc3JhbmdcIixcIm1jYXBcIjpcIk1hcmt0a2FwaXRhbGlzaWVydW5nXCIsXCIyNGhfdm9sdW1lXCI6XCIyNC1TdHVuZGVuIFZvbHVtZW5cIixcIjI0aF9oaWdoX2xvd1wiOlwiMjQtU3R1bmRlbi1Ib2NoLy1UaWVmXCJ9LFwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIktyeXB0by1LdXJzdmVyZ2xlaWNoXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCJLcnlwdG8tTWFya3RrYXBpdGFsaXNpZXJ1bmdzdmVyZ2xlaWNoXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiVW50ZXJzdMO8dHp0IHZvbiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjQtU3R1bmRlbi1Ib2NoXCIsXCIyNGhfbG93XCI6XCIyNC1TdHVuZGVuLVRpZWZcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIiV7Y29pbn0gS3Vyc2RpYWdyYW1tIGFuemVpZ2VuXCIsXCJwb3dlcmVkX2J5XCI6XCJVbnRlcnN0w7x0enQgdm9uICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiVW50ZXJzdMO8dHp0IHZvbiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImJlYW1fd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiVW50ZXJzdMO8dHp0IHZvbiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0LVN0dW5kZW4tSG9jaFwiLFwiMjRoX2xvd1wiOlwiMjQtU3R1bmRlbi1UaWVmXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCIle2NvaW59IEt1cnNkaWFncmFtbSBhbnplaWdlblwiLFwicG93ZXJlZF9ieVwiOlwiVW50ZXJzdMO8dHp0IHZvbiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiJXtjb2lufSBLdXJzZGlhZ3JhbW0gYW56ZWlnZW5cIixcInBvd2VyZWRfYnlcIjpcIlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiS3J5cHRvd8OkaHJ1bmdzLVRyZWUtTWFwXCIsXCJzdWJ0aXRsZVwiOlwiKFRvcC0le3RvcH0gbmFjaCBNYXJrdGthcGl0YWxpc2llcnVuZylcIixcInBvd2VyZWRfYnlcIjpcIlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcInJhbmRvbV9jb2luX3dpZGdldFwiOntcImRpc2NsYWltZXJcIjpcIkRpc2NsYWltZXI6IERpZXNlIFdlcmt6ZXVnZSBkaWVuZW4gYWxzIFVudGVyaGFsdHVuZyB1bmQgc3RlbGxlbiBrZWluZSBmaW5hbnppZWxsZSBCZXJhdHVuZyBkYXIuXCIsXCJzcGluXCI6XCJEcmVoZW5cIixcImF2YWlsYWJsZV9jb2luc1wiOlwiVmVyZsO8Z2JhcmUgQ29pbnNcIn0sXCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldFwiOntcInRpdGxlXCI6XCJDb2luR2Vja28gS3Vyc2FrdHVhbGlzaWVydW5nXCIsXCJ0b3RhbF9tY2FwXCI6XCJNYXJrdGthcGl0YWxpc2llcnVuZyBpbnNnZXNhbXRcIixcIjI0aF92b2xcIjpcIjI0LVN0dW5kZW4tVm9sdW1lblwiLFwiZG9tXCI6XCJEb21pbmFuelwifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCJCw7Zyc2VcIixcInBhaXJcIjpcIlBhYXJcIixcInByaWNlXCI6XCJLdXJzXCIsXCJ2b2x1bWVcIjpcIlZvbHVtZW5cIixcInRydXN0X3Njb3JlXCI6XCJWZXJ0cmF1ZW5zd2VydFwiLFwidmlld19wcmljZV9jaGFydFwiOlwiIEt1cnNkaWFncmFtbSBhbnplaWdlblwiLFwicG93ZXJlZF9ieVwiOlwiVW50ZXJzdMO8dHp0IHZvbiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJ2aWV3X2FsbFwiOlwiQWxsZSAle2NvaW59LU3DpHJrdGUgYW56ZWlnZW5cIn19Iik7CiAgfSwgIjcxYzEiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjNhMzgiKSwgbyA9IGkoIjI1ZWIiKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICB2YXIgciwgcywgYSA9IFN0cmluZyhvKGUpKSwgaCA9IG4oaSksIGwgPSBhLmxlbmd0aDsKICAgICAgICByZXR1cm4gaCA8IDAgfHwgaCA+PSBsID8gdCA/ICIiIDogdm9pZCAwIDogKHIgPSBhLmNoYXJDb2RlQXQoaCksIHIgPCA1NTI5NiB8fCByID4gNTYzMTkgfHwgaCArIDEgPT09IGwgfHwgKHMgPSBhLmNoYXJDb2RlQXQoaCArIDEpKSA8IDU2MzIwIHx8IHMgPiA1NzM0MyA/IHQgPyBhLmNoYXJBdChoKSA6IHIgOiB0ID8gYS5zbGljZShoLCBoICsgMikgOiBzIC0gNTYzMjAgKyAociAtIDU1Mjk2IDw8IDEwKSArIDY1NTM2KTsKICAgICAgfTsKICAgIH07CiAgfSwgIjc1ZmMiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICBlID0gdC5leHBvcnRzID0gaSgiMjRmYiIpKCExKSwgZS5wdXNoKFt0LmksICIuY2ctZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNlZ29lIHVpLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLFxuICAgIGFwcGxlIGNvbG9yIGVtb2ppLCBzZWdvZSB1aSBlbW9qaSwgc2Vnb2UgdWkgc3ltYm9sO1xufVxuLmNnLWJvbGQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLmNnLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jZy1wcmltYXJ5LWNvbG9yIHtcbiAgY29sb3I6ICM4ZGM2NDcgIWltcG9ydGFudDtcbn1cbi5jZy1wcmltYXJ5LWNvbG9yLWRhcmsge1xuICBjb2xvcjogIzRiODgwMCAhaW1wb3J0YW50O1xufVxuLmNnLXJlZC1jb2xvci1kYXJrIHtcbiAgY29sb3I6ICNjMjIyMGQgIWltcG9ydGFudDtcbn1cbi5jZy1yZWQtY29sb3Ige1xuICBjb2xvcjogI2ZmNjE0ZCAhaW1wb3J0YW50O1xufVxuLmNnLTJ4cyB7XG4gIGZvbnQtc2l6ZTogOC44cHg7IC8qIDAuNTVyZW07ICovXG59XG4uY2cteHMge1xuICBmb250LXNpemU6IDEwLjRweDsgLyogMC42NXJlbSAqL1xufVxuLmNnLXNtIHtcbiAgZm9udC1zaXplOiAxMi44cHg7IC8qIDAuOHJlbSAqL1xufVxuLmNnLW5vcm1hbCB7XG4gIGZvbnQtc2l6ZTogMTMuNnB4OyAvKiAwLjg1cmVtICovXG59XG4uY2ctYmFzZSB7XG4gIGZvbnQtc2l6ZTogMTZweDsgLyogMTZweCAqL1xufVxuLmNnLW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMTkuMnB4OyAvKiAxLjJyZW0gKi9cbn1cbi5jZy1sZyB7XG4gIGZvbnQtc2l6ZTogMjRweDsgLyogMS41cmVtICovXG59XG4uY2cteGwge1xuICBmb250LXNpemU6IDMwLjRweDsgLyogMS45cmVtICovXG59XG4uY2ctY2FwIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4uY2ctbm8tdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmNnLW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jZy1tLTAge1xuICBtYXJnaW46IDA7XG59XG4uY2ctbS0xIHtcbiAgbWFyZ2luOiA0cHg7XG59XG4uY2ctbS0yIHtcbiAgbWFyZ2luOiA4cHg7XG59XG4uY2ctbXQtMSB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbi5jZy1tYi0xIHtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuLmNnLW1sLTEge1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuLmNnLW1yLTEge1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cbi5jZy1tdC0yIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuLmNnLW1sLTIge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLmNnLW1yLTIge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbi5jZy1tYi0yIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLmNnLW14LTEge1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cbi5jZy1teS0xIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG4uY2ctbXgtMiB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuLmNnLW15LTIge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi5jZy1teS01IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNnLXAtMSB7XG4gIHBhZGRpbmc6IDRweDtcbn1cbi5jZy1wLTIge1xuICBwYWRkaW5nOiA4cHg7XG59XG4uY2ctcC0zIHtcbiAgcGFkZGluZzogMTJweDtcbn1cbi5jZy1wLTQge1xuICBwYWRkaW5nOiAxNnB4O1xufVxuLmNnLXB0LTEge1xuICBwYWRkaW5nLXRvcDogNHB4O1xufVxuLmNnLXBiLTEge1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xufVxuLmNnLXB0LTIge1xuICBwYWRkaW5nLXRvcDogOHB4O1xufVxuLmNnLXBiLTIge1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuLmNnLXB0LTMge1xuICBwYWRkaW5nLXRvcDogMTJweDtcbn1cbi5jZy1wYi0zIHtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG4uY2ctcHktMSB7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG59XG4uY2ctcHgtMSB7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG59XG4uY2ctcHktMiB7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG59XG4uY2ctcHgtMiB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG4uY2ctcHktMyB7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbn1cbi5jZy1weC0zIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuLmNnLXB4LTQge1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG4uY2ctcHktNCB7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbn1cbi5jZy1weS01IHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLmNnLXByLTEge1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG59XG4uY2ctcHItMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cblxuLmNnLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG4uY2ctZmxleC1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLmNnLWZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNnLWl0ZW1zLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogZmxleC1zdHJldGNoO1xufVxuLmNnLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4uY2ctaXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jZy1pdGVtcy1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG4uY2ctaXRlbXMtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5cbi5jZy1qdXN0aWZ5LXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmNnLWp1c3RpZnktY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uY2ctanVzdGlmeS1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLmNnLWp1c3RpZnktYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5jZy1qdXN0aWZ5LWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uY2ctc2VsZi1hdXRvIHtcbiAgYWxpZ24tc2VsZjogYXV0bztcbn1cbi5jZy1zZWxmLXN0YXJ0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5jZy1zZWxmLWNlbnRlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5jZy1zZWxmLWVuZCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuLmNnLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5jZy1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jZy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5jZy1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwgIiJdKTsKICB9LCA3NjE4OiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICBpLmQoZSwgImEiLCAoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBhOwogICAgfSkpOwogICAgdmFyIG4gPSBpKCI1ZDU4IiksIG8gPSBpLm4obiksIHIgPSBpKCI2N2JiIiksIHMgPSBpLm4ocik7CgogICAgZnVuY3Rpb24gYSh0KSB7CiAgICAgIHJldHVybiBhID0gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIHMuYSAmJiAic3ltYm9sIiA9PT0gdHlwZW9mIG8uYSA/IGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gdHlwZW9mIHQ7CiAgICAgIH0gOiBmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIHQgJiYgImZ1bmN0aW9uIiA9PT0gdHlwZW9mIHMuYSAmJiB0LmNvbnN0cnVjdG9yID09PSBzLmEgJiYgdCAhPT0gcy5hLnByb3RvdHlwZSA/ICJzeW1ib2wiIDogdHlwZW9mIHQ7CiAgICAgIH0sIGEodCk7CiAgICB9CiAgfSwgIjc2NWQiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICBpKCI2NzE4IikoIm9ic2VydmFibGUiKTsKICB9LCA3NzA0OiBmdW5jdGlvbih0KSB7CiAgICB0LmV4cG9ydHMgPSBKU09OLnBhcnNlKCJ7XCJjb2luX2RldGFpbHNcIjp7XCJtY2FwX3JhbmtcIjpcItCf0L7Qt9C40YbQuNGPINCyINGA0LXQudGC0LjQvdCz0LUg0L/QviDRgNGL0L3QvtGH0L3QvtC5INC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNC4XCIsXCJtY2FwXCI6XCLQoNGL0L3QvtGH0L3QsNGPINC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNGPXCIsXCIyNGhfdm9sdW1lXCI6XCLQntCx0YrQtdC8INC30LAgMjQg0YfQsNGB0LBcIixcIjI0aF9oaWdoX2xvd1wiOlwi0JzQsNC60YEuL9C80LjQvS4g0LfQsCAyNCDRh9Cw0YHQsFwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCLQodGA0LDQstC90LXQvdC40LUg0YbQtdC9INC60YDQuNC/0YLQvtCy0LDQu9GO0YJcIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcItCh0YDQsNCy0L3QtdC90LjQtSDRgNGL0L3QvtGH0L3QvtC5INC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNC4INC60YDQuNC/0YLQvtCy0LDQu9GO0YJcIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCLQnNCw0LrRgS4g0LfQsCAyNCDRh9Cw0YHQsFwiLFwiMjRoX2xvd1wiOlwi0JzQuNC9LiDQt9CwIDI0wqDRh9Cw0YHQsFwiLFwidmlld19wcmljZV9jaGFydFwiOlwi0J/QvtGB0LzQvtGC0YDQtdGC0Ywg0LPRgNCw0YTQuNC6INGG0LXQvSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/RgNC4INC/0L7QtNC00LXRgNC20LrQtSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcItCf0YDQuCDQv9C+0LTQtNC10YDQttC60LUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImJlYW1fd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/RgNC4INC/0L7QtNC00LXRgNC20LrQtSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcItCc0LDQutGBLiDQt9CwIDI0wqDRh9Cw0YHQsFwiLFwiMjRoX2xvd1wiOlwi0JzQuNC9LiDQt9CwIDI0wqDRh9Cw0YHQsFwiLFwidmlld19wcmljZV9jaGFydFwiOlwi0J/QvtGB0LzQvtGC0YDQtdGC0Ywg0LPRgNCw0YTQuNC6INGG0LXQvSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLQn9C+0YHQvNC+0YLRgNC10YLRjCDQs9GA0LDRhNC40Log0YbQtdC9ICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcItCf0YDQuCDQv9C+0LTQtNC10YDQttC60LUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi0JrQsNGA0YLQsCDQtNC10YDQtdCy0LAg0LrRgNC40L/RgtC+0LLQsNC70Y7RglwiLFwic3VidGl0bGVcIjpcIijQm9GD0YfRiNC40LUg0LzQvtC90LXRgtGLICV7dG9wfSDQv9C+INGA0YvQvdC+0YfQvdC+0Lkg0LrQsNC/0LjRgtCw0LvQuNC30LDRhtC40LgpXCIsXCJwb3dlcmVkX2J5XCI6XCLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCLQntGC0LrQsNC3INC+0YIg0L7RgtCy0LXRgtGB0YLQstC10L3QvdC+0YHRgtC4OiDQrdGC0Lgg0LjQvdGB0YLRgNGD0LzQtdC90YLRiyDQtNCw0L3RiyDQsiDQutCw0YfQtdGB0YLQstC1INGA0LDQt9Cy0LvQtdC60LDRgtC10LvRjNC90YvRhSDQuCDQvdC1INGP0LLQu9GP0Y7RgtGB0Y8g0YTQuNC90LDQvdGB0L7QstGL0LzQuCDRgNC10LrQvtC80LXQvdC00LDRhtC40Y/QvNC4LlwiLFwic3BpblwiOlwi0KHQv9C40L1cIixcImF2YWlsYWJsZV9jb2luc1wiOlwi0JTQvtGB0YLRg9C/0L3Ri9C1INC80L7QvdC10YLRi1wifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcItCe0LHQvdC+0LLQu9C10L3QuNC1INGG0LXQvdGLIENvaW5HZWNrb1wiLFwidG90YWxfbWNhcFwiOlwi0KDRi9C9LtC60LDQvy4g0LLRgdC10LPQvlwiLFwiMjRoX3ZvbFwiOlwi0J7QsdGK0LXQvCDRgtC+0YDQs9C+0LIg0LfQsCAyNCDRh9Cw0YHQsFwiLFwiZG9tXCI6XCLQlNC+0LzQuNC90LjRgNC+0LLQsNC90LjQtVwifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCLQkdC40YDQttCwXCIsXCJwYWlyXCI6XCLQn9Cw0YDQsFwiLFwicHJpY2VcIjpcItCm0LXQvdCwXCIsXCJ2b2x1bWVcIjpcItCe0LHQvtGA0L7RglwiLFwidHJ1c3Rfc2NvcmVcIjpcItCf0L7QutCw0LfQsNGC0LXQu9GMINC90LDQtNC10LbQvdC+0YHRgtC4XCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLQn9C+0YHQvNC+0YLRgNC10YLRjCDQs9GA0LDRhNC40Log0YbQtdC9XCIsXCJwb3dlcmVkX2J5XCI6XCLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCLQn9C+0YHQvNC+0YLRgNC10YLRjCDQstGB0LUg0YDRi9C90LrQuCAle2NvaW59XCJ9fSIpOwogIH0sIDc3MjY6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHZhciBpID0gdC5leHBvcnRzID0gInVuZGVmaW5lZCIgIT0gdHlwZW9mIHdpbmRvdyAmJiB3aW5kb3cuTWF0aCA9PSBNYXRoID8gd2luZG93IDogInVuZGVmaW5lZCIgIT0gdHlwZW9mIHNlbGYgJiYgc2VsZi5NYXRoID09IE1hdGggPyBzZWxmIDogRnVuY3Rpb24oInJldHVybiB0aGlzIikoKTsKICAgICJudW1iZXIiID09IHR5cGVvZiBfX2cgJiYgKF9fZyA9IGkpOwogIH0sICI3N2YxIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCI0NTg4IiksIG8gPSBNYXRoLm1heCwgciA9IE1hdGgubWluOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSkgewogICAgICByZXR1cm4gdCA9IG4odCksIHQgPCAwID8gbyh0ICsgZSwgMCkgOiByKHQsIGUpOwogICAgfTsKICB9LCAiNzk0YiI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHQuZXhwb3J0cyA9ICFpKCI4ZTYwIikgJiYgIWkoIjI5NGMiKSgoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiA3ICE9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpKCIxZWM5IikoImRpdiIpLCAiYSIsIHsKICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIDc7CiAgICAgICAgfQogICAgICB9KS5hOwogICAgfSkpOwogIH0sICI3OWFhIjogZnVuY3Rpb24odCwgZSkgewogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICBpZiAoImZ1bmN0aW9uIiAhPSB0eXBlb2YgdCkgdGhyb3cgVHlwZUVycm9yKHQgKyAiIGlzIG5vdCBhIGZ1bmN0aW9uISIpOwogICAgICByZXR1cm4gdDsKICAgIH07CiAgfSwgIjc5ZTUiOiBmdW5jdGlvbih0LCBlKSB7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuICEhdCgpOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmV0dXJuICEwOwogICAgICB9CiAgICB9OwogIH0sICI3YTAzIjogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCLgpK7gpL7gpLDgpY3gpJXgpYfgpJ8g4KSV4KWI4KSqIOCksOCliOCkguCklVwiLFwibWNhcFwiOlwi4KSu4KS+4KSw4KWN4KSV4KWH4KSfIOCkleCliOCkqlwiLFwiMjRoX3ZvbHVtZVwiOlwiMjTgpJjgpIIg4KSV4KS+IOCkteCkvuCksuCljeCkr+ClguCkrlwiLFwiMjRoX2hpZ2hfbG93XCI6XCIyNOCkmOCkgiDgpJXgpL4g4KS54KS+4KSIL+CksuCli1wifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOCkpuCljeCkteCkvuCksOCkviDgpLjgpILgpJrgpL7gpLLgpL/gpKRcIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCLgpJXgpY3gpLDgpL/gpKrgpY3gpJ/gpYsg4KSq4KWN4KSw4KS+4KSH4KS4IOCkleClgCDgpKTgpYHgpLLgpKjgpL5cIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIuCkleCljeCksOCkv+CkquCljeCkn+CliyDgpK7gpL7gpLDgpY3gpJXgpYfgpJ8g4KSV4KWI4KSqIOCkleClgCDgpKTgpYHgpLLgpKjgpL5cIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOCkpuCljeCkteCkvuCksOCkviDgpLjgpILgpJrgpL7gpLLgpL/gpKRcIn0sXCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCIyNOCkmOCkgiDgpJXgpL4g4KS54KS+4KSIXCIsXCIyNGhfbG93XCI6XCIyNOCkmOCkgiDgpJXgpL4g4KSy4KWLXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCIle2NvaW59IOCkleCkviDgpKrgpY3gpLDgpL7gpIfgpLgg4KSa4KS+4KSw4KWN4KSfIOCkpuClh+CkluClh+CkglwiLFwicG93ZXJlZF9ieVwiOlwiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDgpKbgpY3gpLXgpL7gpLDgpL4g4KS44KSC4KSa4KS+4KSy4KS/4KSkXCJ9LFwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g4KSm4KWN4KS14KS+4KSw4KS+IOCkuOCkguCkmuCkvuCksuCkv+CkpFwifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOCkpuCljeCkteCkvuCksOCkviDgpLjgpILgpJrgpL7gpLLgpL/gpKRcIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g4KSm4KWN4KS14KS+4KSw4KS+IOCkuOCkguCkmuCkvuCksuCkv+CkpFwifSxcImNvaW5fdGlja2VyX3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCIyNOCkmOCkgiDgpJXgpL4g4KS54KS+4KSIXCIsXCIyNGhfbG93XCI6XCIyNOCkmOCkgiDgpJXgpL4g4KSy4KWLXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCIle2NvaW59IOCkleCkviDgpKrgpY3gpLDgpL7gpIfgpLgg4KSa4KS+4KSw4KWN4KSfIOCkpuClh+CkluClh+CkglwiLFwicG93ZXJlZF9ieVwiOlwiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDgpKbgpY3gpLXgpL7gpLDgpL4g4KS44KSC4KSa4KS+4KSy4KS/4KSkXCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiJXtjb2lufSDgpJXgpL4g4KSq4KWN4KSw4KS+4KSH4KS4IOCkmuCkvuCksOCljeCknyDgpKbgpYfgpJbgpYfgpIJcIixcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g4KSm4KWN4KS14KS+4KSw4KS+IOCkuOCkguCkmuCkvuCksuCkv+CkpFwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi4KSV4KWN4KSw4KS/4KSq4KWN4KSf4KWL4KSV4KSw4KSC4KS44KWAIOCkn+CljeCksOClgCDgpK7gpYjgpKpcIixcInN1YnRpdGxlXCI6XCIo4KSu4KS+4KSw4KWN4KSV4KWH4KSfIOCkleCliOCkqiDgpJXgpYcg4KSG4KSn4KS+4KSwIOCkquCksCDgpJ/gpYngpKogJXt0b3B9KVwiLFwicG93ZXJlZF9ieVwiOlwiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDgpKbgpY3gpLXgpL7gpLDgpL4g4KS44KSC4KSa4KS+4KSy4KS/4KSkXCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwi4KSh4KS/4KS44KWN4KSV4KWN4KSy4KWH4KSu4KSwOiDgpK/gpLkg4KSu4KSo4KWL4KSw4KSC4KSc4KSoIOCkleCksOCkqOClhyDgpJXgpYcg4KSy4KS/4KSPIOCkleCkvuCkriDgpJXgpLDgpKTgpL4g4KS54KWIIOCklOCksCDgpIfgpLjgpK7gpYfgpIIg4KSV4KWL4KSIIOCkhuCksOCljeCkpeCkv+CklSDgpLjgpLLgpL7gpLkg4KSo4KS54KWA4KSCIOCkpuClgCDgpJzgpL7gpKTgpYAg4KS54KWI4KWkXCIsXCJzcGluXCI6XCLgpLjgpY3gpKrgpL/gpKgg4KSV4KSw4KWH4KSCXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIuCkruCljOCknOClguCkpiDgpJXgpYngpIfgpKhcIn0sXCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldFwiOntcInRpdGxlXCI6XCJDb2luR2Vja28g4KSq4KWN4KSw4KS+4KSH4KS4IOCkheCkquCkoeClh+Ckn1wiLFwidG90YWxfbWNhcFwiOlwi4KSV4KWB4KSyIOCkruCkvuCksOCljeCkleClh+CknyDgpJXgpYjgpKpcIixcIjI0aF92b2xcIjpcIjI04KSY4KSC4KSf4KWHIOCkleCkviDgpLXgpL7gpLLgpY3gpK/gpYLgpK5cIixcImRvbVwiOlwi4KS14KSw4KWN4KSa4KS44KWN4KS1XCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIuCkj+CkleCljeCkuOCkmuClh+CkguCknFwiLFwicGFpclwiOlwi4KSq4KWH4KSv4KSwXCIsXCJwcmljZVwiOlwi4KSq4KWN4KSw4KS+4KSH4KS4XCIsXCJ2b2x1bWVcIjpcIuCkteCkvuCksuCljeCkr+ClguCkrlwiLFwidHJ1c3Rfc2NvcmVcIjpcIuCkn+CljeCksOCkuOCljeCknyDgpLjgpY3gpJXgpYvgpLBcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIuCkquCljeCksOCkvuCkh+CkuCDgpJrgpL7gpLDgpY3gpJ8g4KSm4KWH4KSV4KWH4KSCXCIsXCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOCkpuCljeCkteCkvuCksOCkviDgpLjgpILgpJrgpL7gpLLgpL/gpKRcIixcInZpZXdfYWxsXCI6XCLgpLjgpK3gpYAgJXtjb2lufSDgpK7gpL7gpLDgpY3gpJXgpYfgpJ/gpYvgpIIg4KSV4KWLIOCkpuClh+CkluClh+CkglwifX0iKTsKICB9LCAiN2U5MCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiZDlmNiIpLCBvID0gaSgiZTRhZSIpLCByID0gaSgiYzNhMSIpOwogICAgdC5leHBvcnRzID0gaSgiOGU2MCIpID8gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgIG8odCk7CiAgICAgIHZhciBpLCBzID0gcihlKSwgYSA9IHMubGVuZ3RoLCBoID0gMDsKICAgICAgd2hpbGUgKGEgPiBoKSBuLmYodCwgaSA9IHNbaCsrXSwgZVtpXSk7CiAgICAgIHJldHVybiB0OwogICAgfTsKICB9LCAiN2YyMCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiODZjYyIpLmYsIG8gPSBpKCI2OWE4IiksIHIgPSBpKCIyYjRjIikoInRvU3RyaW5nVGFnIik7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgIHQgJiYgIW8odCA9IGkgPyB0IDogdC5wcm90b3R5cGUsIHIpICYmIG4odCwgciwgeyBjb25maWd1cmFibGU6ICEwLCB2YWx1ZTogZSB9KTsKICAgIH07CiAgfSwgIjdmN2YiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjg2Y2MiKS5mLCBvID0gRnVuY3Rpb24ucHJvdG90eXBlLCByID0gL15ccypmdW5jdGlvbiAoW14gKF0qKS8sIHMgPSAibmFtZSI7CiAgICBzIGluIG8gfHwgaSgiOWUxZSIpICYmIG4obywgcywgewogICAgICBjb25maWd1cmFibGU6ICEwLCBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICByZXR1cm4gKCIiICsgdGhpcykubWF0Y2gocilbMV07CiAgICAgICAgfSBjYXRjaCAodCkgewogICAgICAgICAgcmV0dXJuICIiOwogICAgICAgIH0KICAgICAgfQogICAgfSk7CiAgfSwgODM3ODogZnVuY3Rpb24odCwgZSkgewogICAgdmFyIGkgPSB0LmV4cG9ydHMgPSB7IHZlcnNpb246ICIyLjYuMTEiIH07CiAgICAibnVtYmVyIiA9PSB0eXBlb2YgX19lICYmIChfX2UgPSBpKTsKICB9LCAiODNjMiI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuLCBvID0gVHlwZUVycm9yLCByID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjsKICAgIGlmIChyKSB0cnkgewogICAgICByKHt9LCAiIik7CiAgICB9IGNhdGNoIChDKSB7CiAgICAgIHIgPSBudWxsOwogICAgfQogICAgdmFyIHMsIGEsIGgsIGwgPSBmdW5jdGlvbigpIHsKICAgICAgICB0aHJvdyBuZXcgbzsKICAgICAgfSwgYyA9IHIgPyBmdW5jdGlvbigpIHsKICAgICAgICB0cnkgewogICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cy5jYWxsZWUsIGw7CiAgICAgICAgfSBjYXRjaCAodCkgewogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcmV0dXJuIHIoYXJndW1lbnRzLCAiY2FsbGVlIikuZ2V0OwogICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZXR1cm4gbDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0oKSA6IGwsIHAgPSBpKCI5ZDNjIikoKSwgZCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIHQuX19wcm90b19fOwogICAgICB9LCB1ID0gcyA/IGQocykgOiBuLCBmID0gYSA/IGEuY29uc3RydWN0b3IgOiBuLCBnID0gaCA/IGQoaCkgOiBuLCBtID0gaCA/IGgoKSA6IG4sIHkgPSAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIFVpbnQ4QXJyYXkgPyBuIDogZChVaW50OEFycmF5KSwgdiA9IHsKICAgICAgICAiJUFycmF5JSI6IEFycmF5LAogICAgICAgICIlQXJyYXlCdWZmZXIlIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBBcnJheUJ1ZmZlciA/IG4gOiBBcnJheUJ1ZmZlciwKICAgICAgICAiJUFycmF5QnVmZmVyUHJvdG90eXBlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgQXJyYXlCdWZmZXIgPyBuIDogQXJyYXlCdWZmZXIucHJvdG90eXBlLAogICAgICAgICIlQXJyYXlJdGVyYXRvclByb3RvdHlwZSUiOiBwID8gZChbXVtTeW1ib2wuaXRlcmF0b3JdKCkpIDogbiwKICAgICAgICAiJUFycmF5UHJvdG90eXBlJSI6IEFycmF5LnByb3RvdHlwZSwKICAgICAgICAiJUFycmF5UHJvdG9fZW50cmllcyUiOiBBcnJheS5wcm90b3R5cGUuZW50cmllcywKICAgICAgICAiJUFycmF5UHJvdG9fZm9yRWFjaCUiOiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCwKICAgICAgICAiJUFycmF5UHJvdG9fa2V5cyUiOiBBcnJheS5wcm90b3R5cGUua2V5cywKICAgICAgICAiJUFycmF5UHJvdG9fdmFsdWVzJSI6IEFycmF5LnByb3RvdHlwZS52YWx1ZXMsCiAgICAgICAgIiVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUlIjogbiwKICAgICAgICAiJUFzeW5jRnVuY3Rpb24lIjogZiwKICAgICAgICAiJUFzeW5jRnVuY3Rpb25Qcm90b3R5cGUlIjogZiA/IGYucHJvdG90eXBlIDogbiwKICAgICAgICAiJUFzeW5jR2VuZXJhdG9yJSI6IGggPyBkKG0pIDogbiwKICAgICAgICAiJUFzeW5jR2VuZXJhdG9yRnVuY3Rpb24lIjogZywKICAgICAgICAiJUFzeW5jR2VuZXJhdG9yUHJvdG90eXBlJSI6IGcgPyBnLnByb3RvdHlwZSA6IG4sCiAgICAgICAgIiVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJSI6IG0gJiYgcCAmJiBTeW1ib2wuYXN5bmNJdGVyYXRvciA/IG1bU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCkgOiBuLAogICAgICAgICIlQXRvbWljcyUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIEF0b21pY3MgPyBuIDogQXRvbWljcywKICAgICAgICAiJUJvb2xlYW4lIjogQm9vbGVhbiwKICAgICAgICAiJUJvb2xlYW5Qcm90b3R5cGUlIjogQm9vbGVhbi5wcm90b3R5cGUsCiAgICAgICAgIiVEYXRhVmlldyUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIERhdGFWaWV3ID8gbiA6IERhdGFWaWV3LAogICAgICAgICIlRGF0YVZpZXdQcm90b3R5cGUlIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBEYXRhVmlldyA/IG4gOiBEYXRhVmlldy5wcm90b3R5cGUsCiAgICAgICAgIiVEYXRlJSI6IERhdGUsCiAgICAgICAgIiVEYXRlUHJvdG90eXBlJSI6IERhdGUucHJvdG90eXBlLAogICAgICAgICIlZGVjb2RlVVJJJSI6IGRlY29kZVVSSSwKICAgICAgICAiJWRlY29kZVVSSUNvbXBvbmVudCUiOiBkZWNvZGVVUklDb21wb25lbnQsCiAgICAgICAgIiVlbmNvZGVVUkklIjogZW5jb2RlVVJJLAogICAgICAgICIlZW5jb2RlVVJJQ29tcG9uZW50JSI6IGVuY29kZVVSSUNvbXBvbmVudCwKICAgICAgICAiJUVycm9yJSI6IEVycm9yLAogICAgICAgICIlRXJyb3JQcm90b3R5cGUlIjogRXJyb3IucHJvdG90eXBlLAogICAgICAgICIlZXZhbCUiOiBldmFsLAogICAgICAgICIlRXZhbEVycm9yJSI6IEV2YWxFcnJvciwKICAgICAgICAiJUV2YWxFcnJvclByb3RvdHlwZSUiOiBFdmFsRXJyb3IucHJvdG90eXBlLAogICAgICAgICIlRmxvYXQzMkFycmF5JSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgRmxvYXQzMkFycmF5ID8gbiA6IEZsb2F0MzJBcnJheSwKICAgICAgICAiJUZsb2F0MzJBcnJheVByb3RvdHlwZSUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIEZsb2F0MzJBcnJheSA/IG4gOiBGbG9hdDMyQXJyYXkucHJvdG90eXBlLAogICAgICAgICIlRmxvYXQ2NEFycmF5JSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgRmxvYXQ2NEFycmF5ID8gbiA6IEZsb2F0NjRBcnJheSwKICAgICAgICAiJUZsb2F0NjRBcnJheVByb3RvdHlwZSUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIEZsb2F0NjRBcnJheSA/IG4gOiBGbG9hdDY0QXJyYXkucHJvdG90eXBlLAogICAgICAgICIlRnVuY3Rpb24lIjogRnVuY3Rpb24sCiAgICAgICAgIiVGdW5jdGlvblByb3RvdHlwZSUiOiBGdW5jdGlvbi5wcm90b3R5cGUsCiAgICAgICAgIiVHZW5lcmF0b3IlIjogcyA/IGQocygpKSA6IG4sCiAgICAgICAgIiVHZW5lcmF0b3JGdW5jdGlvbiUiOiB1LAogICAgICAgICIlR2VuZXJhdG9yUHJvdG90eXBlJSI6IHUgPyB1LnByb3RvdHlwZSA6IG4sCiAgICAgICAgIiVJbnQ4QXJyYXklIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBJbnQ4QXJyYXkgPyBuIDogSW50OEFycmF5LAogICAgICAgICIlSW50OEFycmF5UHJvdG90eXBlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgSW50OEFycmF5ID8gbiA6IEludDhBcnJheS5wcm90b3R5cGUsCiAgICAgICAgIiVJbnQxNkFycmF5JSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgSW50MTZBcnJheSA/IG4gOiBJbnQxNkFycmF5LAogICAgICAgICIlSW50MTZBcnJheVByb3RvdHlwZSUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIEludDE2QXJyYXkgPyBuIDogSW50OEFycmF5LnByb3RvdHlwZSwKICAgICAgICAiJUludDMyQXJyYXklIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBJbnQzMkFycmF5ID8gbiA6IEludDMyQXJyYXksCiAgICAgICAgIiVJbnQzMkFycmF5UHJvdG90eXBlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgSW50MzJBcnJheSA/IG4gOiBJbnQzMkFycmF5LnByb3RvdHlwZSwKICAgICAgICAiJWlzRmluaXRlJSI6IGlzRmluaXRlLAogICAgICAgICIlaXNOYU4lIjogaXNOYU4sCiAgICAgICAgIiVJdGVyYXRvclByb3RvdHlwZSUiOiBwID8gZChkKFtdW1N5bWJvbC5pdGVyYXRvcl0oKSkpIDogbiwKICAgICAgICAiJUpTT04lIjogIm9iamVjdCIgPT09IHR5cGVvZiBKU09OID8gSlNPTiA6IG4sCiAgICAgICAgIiVKU09OUGFyc2UlIjogIm9iamVjdCIgPT09IHR5cGVvZiBKU09OID8gSlNPTi5wYXJzZSA6IG4sCiAgICAgICAgIiVNYXAlIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBNYXAgPyBuIDogTWFwLAogICAgICAgICIlTWFwSXRlcmF0b3JQcm90b3R5cGUlIjogInVuZGVmaW5lZCIgIT09IHR5cGVvZiBNYXAgJiYgcCA/IGQoKG5ldyBNYXApW1N5bWJvbC5pdGVyYXRvcl0oKSkgOiBuLAogICAgICAgICIlTWFwUHJvdG90eXBlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgTWFwID8gbiA6IE1hcC5wcm90b3R5cGUsCiAgICAgICAgIiVNYXRoJSI6IE1hdGgsCiAgICAgICAgIiVOdW1iZXIlIjogTnVtYmVyLAogICAgICAgICIlTnVtYmVyUHJvdG90eXBlJSI6IE51bWJlci5wcm90b3R5cGUsCiAgICAgICAgIiVPYmplY3QlIjogT2JqZWN0LAogICAgICAgICIlT2JqZWN0UHJvdG90eXBlJSI6IE9iamVjdC5wcm90b3R5cGUsCiAgICAgICAgIiVPYmpQcm90b190b1N0cmluZyUiOiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLAogICAgICAgICIlT2JqUHJvdG9fdmFsdWVPZiUiOiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YsCiAgICAgICAgIiVwYXJzZUZsb2F0JSI6IHBhcnNlRmxvYXQsCiAgICAgICAgIiVwYXJzZUludCUiOiBwYXJzZUludCwKICAgICAgICAiJVByb21pc2UlIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBQcm9taXNlID8gbiA6IFByb21pc2UsCiAgICAgICAgIiVQcm9taXNlUHJvdG90eXBlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgUHJvbWlzZSA/IG4gOiBQcm9taXNlLnByb3RvdHlwZSwKICAgICAgICAiJVByb21pc2VQcm90b190aGVuJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgUHJvbWlzZSA/IG4gOiBQcm9taXNlLnByb3RvdHlwZS50aGVuLAogICAgICAgICIlUHJvbWlzZV9hbGwlIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBQcm9taXNlID8gbiA6IFByb21pc2UuYWxsLAogICAgICAgICIlUHJvbWlzZV9yZWplY3QlIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBQcm9taXNlID8gbiA6IFByb21pc2UucmVqZWN0LAogICAgICAgICIlUHJvbWlzZV9yZXNvbHZlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgUHJvbWlzZSA/IG4gOiBQcm9taXNlLnJlc29sdmUsCiAgICAgICAgIiVQcm94eSUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIFByb3h5ID8gbiA6IFByb3h5LAogICAgICAgICIlUmFuZ2VFcnJvciUiOiBSYW5nZUVycm9yLAogICAgICAgICIlUmFuZ2VFcnJvclByb3RvdHlwZSUiOiBSYW5nZUVycm9yLnByb3RvdHlwZSwKICAgICAgICAiJVJlZmVyZW5jZUVycm9yJSI6IFJlZmVyZW5jZUVycm9yLAogICAgICAgICIlUmVmZXJlbmNlRXJyb3JQcm90b3R5cGUlIjogUmVmZXJlbmNlRXJyb3IucHJvdG90eXBlLAogICAgICAgICIlUmVmbGVjdCUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIFJlZmxlY3QgPyBuIDogUmVmbGVjdCwKICAgICAgICAiJVJlZ0V4cCUiOiBSZWdFeHAsCiAgICAgICAgIiVSZWdFeHBQcm90b3R5cGUlIjogUmVnRXhwLnByb3RvdHlwZSwKICAgICAgICAiJVNldCUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIFNldCA/IG4gOiBTZXQsCiAgICAgICAgIiVTZXRJdGVyYXRvclByb3RvdHlwZSUiOiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIFNldCAmJiBwID8gZCgobmV3IFNldClbU3ltYm9sLml0ZXJhdG9yXSgpKSA6IG4sCiAgICAgICAgIiVTZXRQcm90b3R5cGUlIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBTZXQgPyBuIDogU2V0LnByb3RvdHlwZSwKICAgICAgICAiJVNoYXJlZEFycmF5QnVmZmVyJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXIgPyBuIDogU2hhcmVkQXJyYXlCdWZmZXIsCiAgICAgICAgIiVTaGFyZWRBcnJheUJ1ZmZlclByb3RvdHlwZSUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyID8gbiA6IFNoYXJlZEFycmF5QnVmZmVyLnByb3RvdHlwZSwKICAgICAgICAiJVN0cmluZyUiOiBTdHJpbmcsCiAgICAgICAgIiVTdHJpbmdJdGVyYXRvclByb3RvdHlwZSUiOiBwID8gZCgiIltTeW1ib2wuaXRlcmF0b3JdKCkpIDogbiwKICAgICAgICAiJVN0cmluZ1Byb3RvdHlwZSUiOiBTdHJpbmcucHJvdG90eXBlLAogICAgICAgICIlU3ltYm9sJSI6IHAgPyBTeW1ib2wgOiBuLAogICAgICAgICIlU3ltYm9sUHJvdG90eXBlJSI6IHAgPyBTeW1ib2wucHJvdG90eXBlIDogbiwKICAgICAgICAiJVN5bnRheEVycm9yJSI6IFN5bnRheEVycm9yLAogICAgICAgICIlU3ludGF4RXJyb3JQcm90b3R5cGUlIjogU3ludGF4RXJyb3IucHJvdG90eXBlLAogICAgICAgICIlVGhyb3dUeXBlRXJyb3IlIjogYywKICAgICAgICAiJVR5cGVkQXJyYXklIjogeSwKICAgICAgICAiJVR5cGVkQXJyYXlQcm90b3R5cGUlIjogeSA/IHkucHJvdG90eXBlIDogbiwKICAgICAgICAiJVR5cGVFcnJvciUiOiBvLAogICAgICAgICIlVHlwZUVycm9yUHJvdG90eXBlJSI6IG8ucHJvdG90eXBlLAogICAgICAgICIlVWludDhBcnJheSUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIFVpbnQ4QXJyYXkgPyBuIDogVWludDhBcnJheSwKICAgICAgICAiJVVpbnQ4QXJyYXlQcm90b3R5cGUlIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBVaW50OEFycmF5ID8gbiA6IFVpbnQ4QXJyYXkucHJvdG90eXBlLAogICAgICAgICIlVWludDhDbGFtcGVkQXJyYXklIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBVaW50OENsYW1wZWRBcnJheSA/IG4gOiBVaW50OENsYW1wZWRBcnJheSwKICAgICAgICAiJVVpbnQ4Q2xhbXBlZEFycmF5UHJvdG90eXBlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgVWludDhDbGFtcGVkQXJyYXkgPyBuIDogVWludDhDbGFtcGVkQXJyYXkucHJvdG90eXBlLAogICAgICAgICIlVWludDE2QXJyYXklIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBVaW50MTZBcnJheSA/IG4gOiBVaW50MTZBcnJheSwKICAgICAgICAiJVVpbnQxNkFycmF5UHJvdG90eXBlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgVWludDE2QXJyYXkgPyBuIDogVWludDE2QXJyYXkucHJvdG90eXBlLAogICAgICAgICIlVWludDMyQXJyYXklIjogInVuZGVmaW5lZCIgPT09IHR5cGVvZiBVaW50MzJBcnJheSA/IG4gOiBVaW50MzJBcnJheSwKICAgICAgICAiJVVpbnQzMkFycmF5UHJvdG90eXBlJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgVWludDMyQXJyYXkgPyBuIDogVWludDMyQXJyYXkucHJvdG90eXBlLAogICAgICAgICIlVVJJRXJyb3IlIjogVVJJRXJyb3IsCiAgICAgICAgIiVVUklFcnJvclByb3RvdHlwZSUiOiBVUklFcnJvci5wcm90b3R5cGUsCiAgICAgICAgIiVXZWFrTWFwJSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgV2Vha01hcCA/IG4gOiBXZWFrTWFwLAogICAgICAgICIlV2Vha01hcFByb3RvdHlwZSUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIFdlYWtNYXAgPyBuIDogV2Vha01hcC5wcm90b3R5cGUsCiAgICAgICAgIiVXZWFrU2V0JSI6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgV2Vha1NldCA/IG4gOiBXZWFrU2V0LAogICAgICAgICIlV2Vha1NldFByb3RvdHlwZSUiOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIFdlYWtTZXQgPyBuIDogV2Vha1NldC5wcm90b3R5cGUKICAgICAgfSwgeCA9IGkoIjBmN2MiKSwgYiA9IHguY2FsbChGdW5jdGlvbi5jYWxsLCBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpLAogICAgICBfID0gL1teJS5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCUkKSkvZywgdyA9IC9cXChcXCk/L2csIGsgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUgPSBbXTsKICAgICAgICByZXR1cm4gYih0LCBfLCAoZnVuY3Rpb24odCwgaSwgbiwgbykgewogICAgICAgICAgZVtlLmxlbmd0aF0gPSBuID8gYihvLCB3LCAiJDEiKSA6IGkgfHwgdDsKICAgICAgICB9KSksIGU7CiAgICAgIH0sIFMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgaWYgKCEodCBpbiB2KSkgdGhyb3cgbmV3IFN5bnRheEVycm9yKCJpbnRyaW5zaWMgIiArIHQgKyAiIGRvZXMgbm90IGV4aXN0ISIpOwogICAgICAgIGlmICgidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHZbdF0gJiYgIWUpIHRocm93IG5ldyBvKCJpbnRyaW5zaWMgIiArIHQgKyAiIGV4aXN0cywgYnV0IGlzIG5vdCBhdmFpbGFibGUuIFBsZWFzZSBmaWxlIGFuIGlzc3VlISIpOwogICAgICAgIHJldHVybiB2W3RdOwogICAgICB9OwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSkgewogICAgICBpZiAoInN0cmluZyIgIT09IHR5cGVvZiB0IHx8IDAgPT09IHQubGVuZ3RoKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnRyaW5zaWMgbmFtZSBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZyIpOwogICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgImJvb2xlYW4iICE9PSB0eXBlb2YgZSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiXCJhbGxvd01pc3NpbmdcIiBhcmd1bWVudCBtdXN0IGJlIGEgYm9vbGVhbiIpOwogICAgICBmb3IgKHZhciBpID0gayh0KSwgbiA9IFMoIiUiICsgKGkubGVuZ3RoID4gMCA/IGlbMF0gOiAiIikgKyAiJSIsIGUpLCBzID0gMTsgcyA8IGkubGVuZ3RoOyBzICs9IDEpIGlmIChudWxsICE9IG4pIGlmIChyICYmIHMgKyAxID49IGkubGVuZ3RoKSB7CiAgICAgICAgdmFyIGEgPSByKG4sIGlbc10pOwogICAgICAgIGlmICghZSAmJiAhKGlbc10gaW4gbikpIHRocm93IG5ldyBvKCJiYXNlIGludHJpbnNpYyBmb3IgIiArIHQgKyAiIGV4aXN0cywgYnV0IHRoZSBwcm9wZXJ0eSBpcyBub3QgYXZhaWxhYmxlLiIpOwogICAgICAgIG4gPSBhID8gYS5nZXQgfHwgYS52YWx1ZSA6IG5baVtzXV07CiAgICAgIH0gZWxzZSBuID0gbltpW3NdXTsKICAgICAgcmV0dXJuIG47CiAgICB9OwogIH0sIDg0MzY6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKCkgewogICAgfTsKICB9LCAiODRmMiI6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHQuZXhwb3J0cyA9IHt9OwogIH0sIDg2ODA6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwi4Lit4Lix4LiZ4LiU4Lix4Lia4Lih4Li54Lil4LiE4LmI4Liy4LiV4Liy4Lih4Lij4Liy4LiE4Liy4LiV4Lil4Liy4LiUXCIsXCJtY2FwXCI6XCLguKHguLnguKXguITguYjguLLguJXguLLguKHguKPguLLguITguLLguJXguKXguLLguJRcIixcIjI0aF92b2x1bWVcIjpcIuC4m+C4o+C4tOC4oeC4suC4kyAyNCDguIrguLHguYjguKfguYLguKHguIdcIixcIjI0aF9oaWdoX2xvd1wiOlwi4Liq4Li54LiHIC8g4LiV4LmI4LizIDI0IOC4iuC4oS5cIn0sXCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi4LiC4Lix4Lia4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LmC4LiU4LiiICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCLguIHguLLguKPguYDguJvguKPguLXguKLguJrguYDguJfguLXguKLguJrguKPguLLguITguLLguITguKPguLTguJvguYLguJVcIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIuC4geC4suC4o+C5gOC4m+C4o+C4teC4ouC4muC5gOC4l+C4teC4ouC4muC4oeC4ueC4peC4hOC5iOC4suC4leC4peC4suC4lOC4hOC4o+C4tOC4m+C5guC4lVwifSxcImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjQg4LiK4LihLiDguKrguLnguIfguKrguLjguJRcIixcIjI0aF9sb3dcIjpcIjI0IOC4iuC4oS4g4LiV4LmI4Liz4Liq4Li44LiUXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLguJTguLnguIHguKPguLLguJ/guKPguLLguITguLIgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwi4LiC4Lix4Lia4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LmC4LiU4LiiICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi4LiC4Lix4Lia4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LmC4LiU4LiiICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi4LiC4Lix4Lia4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LmC4LiU4LiiICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0IOC4iuC4oS4g4Liq4Li54LiH4Liq4Li44LiUXCIsXCIyNGhfbG93XCI6XCIyNCDguIrguKEuIOC4leC5iOC4s+C4quC4uOC4lFwiLFwidmlld19wcmljZV9jaGFydFwiOlwi4LiU4Li54LiB4Lij4Liy4Lif4Lij4Liy4LiE4LiyICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwi4LiU4Li54LiB4Lij4Liy4Lif4Lij4Liy4LiE4LiyICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCLguYHguJzguJnguJfguLXguYjguKPguLnguJvguJXguYnguJnguYTguKHguYkgQ3J5cHRvY3VycmVuY3lcIixcInN1YnRpdGxlXCI6XCIoJXt0b3B9IOC4quC4ueC4h+C4quC4uOC4lOC4leC4suC4oeC4oeC4ueC4peC4hOC5iOC4suC4leC4peC4suC4lClcIixcInBvd2VyZWRfYnlcIjpcIuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwi4LiC4LmJ4Lit4LiI4Liz4LiB4Lix4LiU4LiE4Lin4Liy4Lih4Lij4Lix4Lia4Lic4Li04LiU4LiK4Lit4LiaOiDguYDguITguKPguLfguYjguK3guIfguKHguLfguK3guJnguLXguYnguJfguLPguKvguJnguYnguLLguJfguLXguYjguYDguJvguYfguJnguITguKfguLLguKHguJrguLHguJnguYDguJfguLTguIfguYHguKXguLDguYTguKHguYjguYPguIrguYjguITguLPguYHguJnguLDguJnguLPguJfguLLguIfguIHguLLguKPguYDguIfguLTguJlcIixcInNwaW5cIjpcIuC4q+C4oeC4uOC4mVwiLFwiYXZhaWxhYmxlX2NvaW5zXCI6XCLguYDguKvguKPguLXguKLguI3guJfguLXguYjguKHguLXguK3guKLguLnguYhcIn0sXCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldFwiOntcInRpdGxlXCI6XCLguK3guLHguJ7guYDguJTguJfguKPguLLguITguLIgQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCLguITguKfguLLguKHguIjguLjguJfguLHguYnguIfguKvguKHguJTguILguK3guIcgTVwiLFwiMjRoX3ZvbFwiOlwi4Lib4Lij4Li04Lih4Liy4LiTIDI0IOC4iuC4oS5cIixcImRvbVwiOlwi4LiB4Liy4Lij4LiE4Lij4Lit4LiH4Liq4LmI4Lin4LiZ4LmB4Lia4LmI4LiH4LmD4LiZ4LiV4Lil4Liy4LiUXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIuC4leC4peC4suC4lOC5geC4peC4geC5gOC4m+C4peC4teC5iOC4ouC4mVwiLFwicGFpclwiOlwi4LiE4Li54LmIXCIsXCJwcmljZVwiOlwi4Lij4Liy4LiE4LiyXCIsXCJ2b2x1bWVcIjpcIuC4m+C4o+C4tOC4oeC4suC4k1wiLFwidHJ1c3Rfc2NvcmVcIjpcIuC4hOC4sOC5geC4meC4meC4hOC4p+C4suC4oeC4meC5iOC4suC5gOC4iuC4t+C5iOC4reC4luC4t+C4rVwiLFwidmlld19wcmljZV9jaGFydFwiOlwi4LiU4Li54LiB4Lij4Liy4Lif4Lij4Liy4LiE4LiyXCIsXCJwb3dlcmVkX2J5XCI6XCLguILguLHguJrguYDguITguKXguLfguYjguK3guJnguYLguJTguKIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwidmlld19hbGxcIjpcIuC4lOC4ueC4leC4peC4suC4lCAle2NvaW59IOC4l+C4seC5ieC4h+C4q+C4oeC4lFwifX0iKTsKICB9LCAiODZjYyI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiY2I3YyIpLCBvID0gaSgiYzY5YSIpLCByID0gaSgiNmE5OSIpLCBzID0gT2JqZWN0LmRlZmluZVByb3BlcnR5OwogICAgZS5mID0gaSgiOWUxZSIpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5IDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgICBpZiAobih0KSwgZSA9IHIoZSwgITApLCBuKGkpLCBvKSB0cnkgewogICAgICAgIHJldHVybiBzKHQsIGUsIGkpOwogICAgICB9IGNhdGNoIChhKSB7CiAgICAgIH0KICAgICAgaWYgKCJnZXQiIGluIGkgfHwgInNldCIgaW4gaSkgdGhyb3cgVHlwZUVycm9yKCJBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEiKTsKICAgICAgcmV0dXJuICJ2YWx1ZSIgaW4gaSAmJiAodFtlXSA9IGkudmFsdWUpLCB0OwogICAgfTsKICB9LCAiODliMiI6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwiT2NlbmEgd2cuIGthcGl0YWxpemFjamkgcnlua3VcIixcIm1jYXBcIjpcIkthcGl0YWxpemFjamEgcnlua293YVwiLFwiMjRoX3ZvbHVtZVwiOlwiV29sdW1lbiDigJMgMjQgZ29kei5cIixcIjI0aF9oaWdoX2xvd1wiOlwiMjQgaCDigJMgbWFrcy4vbWluLlwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIlBvcsOzd25hbmllIGt1cnN1IGtyeXB0b1wiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwiUG9yw7N3bmFuaWUga2FwaXRhbGl6YWNqaSByeW5rb3dlaiBrcnlwdG9cIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0IGdvZHouIOKAkyB3eXNva29cIixcIjI0aF9sb3dcIjpcIjI0IGdvZHouIOKAkyBuaXNrb1wiLFwidmlld19wcmljZV9jaGFydFwiOlwiV3nFm3dpZXRsIHd5a3JlcyBrdXJzdSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImJlYW1fd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiT2JzxYJ1Z2l3YW5lIHByemV6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjQgZ29kei4g4oCTIHd5c29rb1wiLFwiMjRoX2xvd1wiOlwiMjQgZ29kei4g4oCTIG5pc2tvXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJXecWbd2lldGwgd3lrcmVzIGt1cnN1ICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIk9ic8WCdWdpd2FuZSBwcnpleiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiV3nFm3dpZXRsIHd5a3JlcyBrdXJzdSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiRHJ6ZXdvIGtyeXB0b3dhbHV0XCIsXCJzdWJ0aXRsZVwiOlwiKFRvcCAle3RvcH0gd2VkxYJ1ZyBrYXBpdGFsaXphY2ppIHJ5bmtvd2VqKVwiLFwicG93ZXJlZF9ieVwiOlwiT2JzxYJ1Z2l3YW5lIHByemV6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCJPxZt3aWFkY3plbmllOiBOYXJ6xJlkemlhIHRlIHPFgnXFvMSFIHJvenJ5d2NlIGkgbmllIHN0YW5vd2nEhSBwb3JhZHkgZmluYW5zb3dlai5cIixcInNwaW5cIjpcIlpha3LEmcSHXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIkRvc3TEmXBuZSB3YWx1dHlcIn0sXCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldFwiOntcInRpdGxlXCI6XCJBa3R1YWxpemFjamEga3Vyc3UgQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCJDYcWCa293aXRhIGthcGl0YWxpemFjamEgcnlua293YVwiLFwiMjRoX3ZvbFwiOlwiV29sdW1lbiDigJMgMjQgZ29kei5cIixcImRvbVwiOlwiRG9taW5hY2phXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIkdpZcWCZGFcIixcInBhaXJcIjpcIlBhcmFcIixcInByaWNlXCI6XCJLdXJzXCIsXCJ2b2x1bWVcIjpcIldvbHVtZW5cIixcInRydXN0X3Njb3JlXCI6XCJXc2thxbpuaWsgemF1ZmFuaWFcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIld5xZt3aWV0bCB3eWtyZXMga3Vyc3VcIixcInBvd2VyZWRfYnlcIjpcIk9ic8WCdWdpd2FuZSBwcnpleiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJ2aWV3X2FsbFwiOlwiWm9iYWN6IHdzenlzdGtpZSByeW5raSAle2NvaW59XCJ9fSIpOwogIH0sICI4YWI1IjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCI4M2MyIiksIG8gPSBpKCI0ZDAxIiksIHIgPSBvKG4oIlN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiIpKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgdmFyIGkgPSBuKHQsICEhZSk7CiAgICAgIHJldHVybiAiZnVuY3Rpb24iID09PSB0eXBlb2YgaSAmJiByKHQsICIucHJvdG90eXBlLiIpID8gbyhpKSA6IGk7CiAgICB9OwogIH0sICI4Yjk3IjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJkM2Y0IiksIG8gPSBpKCJjYjdjIiksIHIgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgIGlmIChvKHQpLCAhbihlKSAmJiBudWxsICE9PSBlKSB0aHJvdyBUeXBlRXJyb3IoZSArICI6IGNhbid0IHNldCBhcyBwcm90b3R5cGUhIik7CiAgICB9OwogICAgdC5leHBvcnRzID0gewogICAgICBzZXQ6IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCAoIl9fcHJvdG9fXyIgaW4ge30gPyBmdW5jdGlvbih0LCBlLCBuKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIG4gPSBpKCI5YjQzIikoRnVuY3Rpb24uY2FsbCwgaSgiMTFlOSIpLmYoT2JqZWN0LnByb3RvdHlwZSwgIl9fcHJvdG9fXyIpLnNldCwgMiksIG4odCwgW10pLCBlID0gISh0IGluc3RhbmNlb2YgQXJyYXkpOwogICAgICAgIH0gY2F0Y2ggKG8pIHsKICAgICAgICAgIGUgPSAhMDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgIHJldHVybiByKHQsIGkpLCBlID8gdC5fX3Byb3RvX18gPSBpIDogbih0LCBpKSwgdDsKICAgICAgICB9OwogICAgICB9KHt9LCAhMSkgOiB2b2lkIDApLCBjaGVjazogcgogICAgfTsKICB9LCAiOGU2MCI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHQuZXhwb3J0cyA9ICFpKCIyOTRjIikoKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gNyAhPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICJhIiwgewogICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gNzsKICAgICAgICB9CiAgICAgIH0pLmE7CiAgICB9KSk7CiAgfSwgIjhmNjAiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiA9IGkoImExNTkiKSwgbyA9IGkoImFlYmQiKSwgciA9IGkoIjQ1ZjIiKSwgcyA9IHt9OwogICAgaSgiMzVlOCIpKHMsIGkoIjUxNjgiKSgiaXRlcmF0b3IiKSwgKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gdGhpczsKICAgIH0pKSwgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICB0LnByb3RvdHlwZSA9IG4ocywgeyBuZXh0OiBvKDEsIGkpIH0pLCByKHQsIGUgKyAiIEl0ZXJhdG9yIik7CiAgICB9OwogIH0sIDkwMDM6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiNmI0YyIpOwogICAgdC5leHBvcnRzID0gQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiAiQXJyYXkiID09IG4odCk7CiAgICB9OwogIH0sIDkwOTM6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiY2UxMCIpLCBvID0gaSgiZTExZSIpLmNvbmNhdCgibGVuZ3RoIiwgInByb3RvdHlwZSIpOwogICAgZS5mID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgfHwgZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gbih0LCBvKTsKICAgIH07CiAgfSwgOTEzODogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdC5leHBvcnRzID0gaSgiMzVlOCIpOwogIH0sICI5MmQ3IjogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCJSYW5nIHByZW1hIHRyxb5pxaFub2oga2FwaXQuXCIsXCJtY2FwXCI6XCJUcsW+acWhbmEga2FwaXQuXCIsXCIyNGhfdm9sdW1lXCI6XCJWb2x1bWVuIHUgMjQgaFwiLFwiMjRoX2hpZ2hfbG93XCI6XCJWaXNva2Evbmlza2EgdSAyNCBoXCJ9LFwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlBva3JlxIdlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCJVc3BvcmVkYmEgY2lqZW5lIGtyaXB0b3ZhbHV0YVwiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwiVXNwb3JlZGJhIHRyxb5pxaFuZSBrYXBpdGFsaXphY2lqZSBrcmlwdG92YWx1dGFcIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQb2tyZcSHZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiVmlzb2thIHUgMjQgaFwiLFwiMjRoX2xvd1wiOlwiTmlza2EgdSAyNCBoXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJQcmlrYcW+aSBncmFmaWtvbiBjaWplbmUgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiUG9rcmXEh2UgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJQb2tyZcSHZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlBva3JlxIdlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlBva3JlxIdlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiVmlzb2thIHUgMjQgaFwiLFwiMjRoX2xvd1wiOlwiTmlza2EgdSAyNCBoXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJQcmlrYcW+aSBncmFmaWtvbiBjaWplbmUgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiUG9rcmXEh2UgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fY29udmVydGVyX3dpZGdldFwiOntcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlByaWthxb5pIGdyYWZpa29uIGNpamVuZSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJQb2tyZcSHZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCJLYXJ0YSBzYSBzdGFibG9tIGtyaXB0b3ZhbHV0YVwiLFwic3VidGl0bGVcIjpcIihOYWp2ZcSHaWggJXt0b3B9IHByZW1hIHRyxb5pxaFub2oga2FwaXRhbGl6YWNpamkpXCIsXCJwb3dlcmVkX2J5XCI6XCJQb2tyZcSHZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwiSXpqYXZhIG8gb2RyaWNhbmp1IG9kZ292b3Jub3N0aTogb3ZpIGFsYXRpIHphYmF2bm9nIHN1IGthcmFrdGVyYSBpIG5lIHByZWRzdGF2bGphanUgZmluYW5jaWpza2kgc2F2amV0LlwiLFwic3BpblwiOlwiU3BpblwiLFwiYXZhaWxhYmxlX2NvaW5zXCI6XCJEb3N0dXBuaSBub3bEjWnEh2lcIn0sXCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldFwiOntcInRpdGxlXCI6XCJBxb51cmlyYW5qZSBjaWplbmUgbmEgcGxhdGZvcm1pIENvaW5HZWNrb1wiLFwidG90YWxfbWNhcFwiOlwiVWt1cG5hIHRyxb4uIGthcGl0YWxpemFjaWphXCIsXCIyNGhfdm9sXCI6XCJWb2x1bWVuIHUgMjQgaFwiLFwiZG9tXCI6XCJEb21pbmFudG5vc3RcIn0sXCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXRcIjp7XCJleGNoYW5nZVwiOlwiQnVyemFcIixcInBhaXJcIjpcIlBhclwiLFwicHJpY2VcIjpcIkNpamVuYVwiLFwidm9sdW1lXCI6XCJWb2x1bWVuXCIsXCJ0cnVzdF9zY29yZVwiOlwiT2NqZW5hIHBvdXpkYW5vc3RpXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJQcmlrYcW+aSBncmFmaWtvbiBjaWplbmVcIixcInBvd2VyZWRfYnlcIjpcIlBva3JlxIdlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCJQcmlrYcW+aSBzdmEgdHLFvmnFoXRhIHphICV7Y29pbn1cIn19Iik7CiAgfSwgOTU0MjogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCJSYW5nIGNhcGl0YWxpemFyZSBsYSBidXJzxINcIixcIm1jYXBcIjpcIkNhcGl0YWxpemFyZSBsYSBidXJzxINcIixcIjI0aF92b2x1bWVcIjpcIlZvbHVtIMOubiB1bHRpbWVsZSAyNCBvcmVcIixcIjI0aF9oaWdoX2xvd1wiOlwiTWF4aW0vTWluaW0gw65uIDI0aFwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJTdXPIm2ludXQgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIkNvbXBhcmFyZWEgcHJlyJt1cmlsb3IgQ3JpcHRvXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCJDb21wYXJhcmUgY2FwaXRhbGl6YXJlYSBsYSBidXJzYSBjcmlwdG9cIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJTdXPIm2ludXQgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIk1heGltIMOubiB1bHRpbWVsZSAyNCBvcmVcIixcIjI0aF9sb3dcIjpcIk1pbmltIMOubiB1bHRpbWVsZSAyNCBvcmVcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZlemkgZ3JhZmljdWwgZGUgcHJlyJt1cmkgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlN1c8ibaW51dCBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIk1heGltIMOubiB1bHRpbWVsZSAyNCBvcmVcIixcIjI0aF9sb3dcIjpcIk1pbmltIMOubiB1bHRpbWVsZSAyNCBvcmVcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZlemkgZ3JhZmljdWwgZGUgcHJlyJt1cmkgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJWZXppIGdyYWZpY3VsIGRlIHByZcibdXJpICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIlN1c8ibaW51dCBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCJIYXJ0YSBhcmJvcmVzY2VudMSDIGEgY3JpcHRvbW9uZWRlbG9yXCIsXCJzdWJ0aXRsZVwiOlwiKFRvcCAle3RvcH0gZHVwxIMgY2FwaXRhbGl6YXJlYSBidXJzaWVyxIMpXCIsXCJwb3dlcmVkX2J5XCI6XCJTdXPIm2ludXQgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcInJhbmRvbV9jb2luX3dpZGdldFwiOntcImRpc2NsYWltZXJcIjpcIkF2ZXJ0aXNtZW50OiBBY2VzdCBpbnN0cnVtZW50IGVzdGUgcGVudHJ1IGRpdmVydGlzbWVudCDImWkgbnUgYXJlIHJvbHVsIGRlIGNvbnNpbGllcmUgZmluYW5jaWFyxIMuXCIsXCJzcGluXCI6XCJSb3RpcmVcIixcImF2YWlsYWJsZV9jb2luc1wiOlwiTW9uZWRlIGRpc3BvbmliaWxlXCJ9LFwiY29pbl9kYWlseV9wcmljZV93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiQWN0dWFsaXphcmUgUHJlyJsgQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCJUb3RhbCBjYXBpdGFsaXphcmUgbGEgYnVyc8SDXCIsXCIyNGhfdm9sXCI6XCJWb2x1bSDDrm4gdWx0aW1lbGUgMjQgb3JlXCIsXCJkb21cIjpcIkRvbWluYcibaWVcIn0sXCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXRcIjp7XCJleGNoYW5nZVwiOlwiU2NoaW1iXCIsXCJwYWlyXCI6XCJQZXJlY2hlXCIsXCJwcmljZVwiOlwiUHJlyJtcIixcInZvbHVtZVwiOlwiVm9sdW1cIixcInRydXN0X3Njb3JlXCI6XCJTY29yIGRlIMOubmNyZWRlcmVcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZlemkgZ3JhZmljdWwgZGUgcHJlyJt1cmlcIixcInBvd2VyZWRfYnlcIjpcIlN1c8ibaW51dCBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJ2aWV3X2FsbFwiOlwiVmV6aSB0b2F0ZSBwaWXIm2VsZSAle2NvaW59XCJ9fSIpOwogIH0sICI5YWE5IjogZnVuY3Rpb24odCwgZSkgewogICAgZS5mID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczsKICB9LCAiOWI0MyI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiZDhlOCIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICBpZiAobih0KSwgdm9pZCAwID09PSBlKSByZXR1cm4gdDsKICAgICAgc3dpdGNoIChpKSB7CiAgICAgICAgY2FzZSAxOgogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgcmV0dXJuIHQuY2FsbChlLCBpKTsKICAgICAgICAgIH07CiAgICAgICAgY2FzZSAyOgogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGksIG4pIHsKICAgICAgICAgICAgcmV0dXJuIHQuY2FsbChlLCBpLCBuKTsKICAgICAgICAgIH07CiAgICAgICAgY2FzZSAzOgogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGksIG4sIG8pIHsKICAgICAgICAgICAgcmV0dXJuIHQuY2FsbChlLCBpLCBuLCBvKTsKICAgICAgICAgIH07CiAgICAgIH0KICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0LmFwcGx5KGUsIGFyZ3VtZW50cyk7CiAgICAgIH07CiAgICB9OwogIH0sICI5YzZjIjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCIyYjRjIikoInVuc2NvcGFibGVzIiksIG8gPSBBcnJheS5wcm90b3R5cGU7CiAgICB2b2lkIDAgPT0gb1tuXSAmJiBpKCIzMmU5Iikobywgbiwge30pLCB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIG9bbl1bdF0gPSAhMDsKICAgIH07CiAgfSwgIjlkM2MiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICAoZnVuY3Rpb24oZSkgewogICAgICB2YXIgbiA9IGUuU3ltYm9sLCBvID0gaSgiZDZkYSIpOwogICAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG4gJiYgKCJmdW5jdGlvbiIgPT09IHR5cGVvZiBTeW1ib2wgJiYgKCJzeW1ib2wiID09PSB0eXBlb2YgbigiZm9vIikgJiYgKCJzeW1ib2wiID09PSB0eXBlb2YgU3ltYm9sKCJiYXIiKSAmJiBvKCkpKSk7CiAgICAgIH07CiAgICB9KS5jYWxsKHRoaXMsIGkoImM4YmEiKSk7CiAgfSwgIjlkZWYiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjQ1ODgiKSwgbyA9IE1hdGgubWluOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gdCA+IDAgPyBvKG4odCksIDkwMDcxOTkyNTQ3NDA5OTEpIDogMDsKICAgIH07CiAgfSwgIjllMWUiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB0LmV4cG9ydHMgPSAhaSgiNzllNSIpKChmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIDcgIT0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAiYSIsIHsKICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIDc7CiAgICAgICAgfQogICAgICB9KS5hOwogICAgfSkpOwogIH0sIGEwZDM6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiMGY3YyIpOwogICAgdC5leHBvcnRzID0gbi5jYWxsKEZ1bmN0aW9uLmNhbGwsIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpOwogIH0sIGExNTk6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiZTRhZSIpLCBvID0gaSgiN2U5MCIpLCByID0gaSgiMTY5MSIpLCBzID0gaSgiNTU1OSIpKCJJRV9QUk9UTyIpLCBhID0gZnVuY3Rpb24oKSB7CiAgICB9LCBoID0gInByb3RvdHlwZSIsIGwgPSBmdW5jdGlvbigpIHsKICAgICAgdmFyIHQsIGUgPSBpKCIxZWM5IikoImlmcmFtZSIpLCBuID0gci5sZW5ndGgsIG8gPSAiPCIsIHMgPSAiPiI7CiAgICAgIGUuc3R5bGUuZGlzcGxheSA9ICJub25lIiwgaSgiMzJmYyIpLmFwcGVuZENoaWxkKGUpLCBlLnNyYyA9ICJqYXZhc2NyaXB0OiIsIHQgPSBlLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQsIHQub3BlbigpLCB0LndyaXRlKG8gKyAic2NyaXB0IiArIHMgKyAiZG9jdW1lbnQuRj1PYmplY3QiICsgbyArICIvc2NyaXB0IiArIHMpLCB0LmNsb3NlKCksIGwgPSB0LkY7CiAgICAgIHdoaWxlIChuLS0pIGRlbGV0ZSBsW2hdW3Jbbl1dOwogICAgICByZXR1cm4gbCgpOwogICAgfTsKICAgIHQuZXhwb3J0cyA9IE9iamVjdC5jcmVhdGUgfHwgZnVuY3Rpb24odCwgZSkgewogICAgICB2YXIgaTsKICAgICAgcmV0dXJuIG51bGwgIT09IHQgPyAoYVtoXSA9IG4odCksIGkgPSBuZXcgYSwgYVtoXSA9IG51bGwsIGlbc10gPSB0KSA6IGkgPSBsKCksIHZvaWQgMCA9PT0gZSA/IGkgOiBvKGksIGUpOwogICAgfTsKICB9LCBhMzA2OiBmdW5jdGlvbih0KSB7CiAgICB0LmV4cG9ydHMgPSBKU09OLnBhcnNlKCJ7XCJjb2luX2RldGFpbHNcIjp7XCJtY2FwX3JhbmtcIjpcIkNsYXNpZmljYWNpw7NuIGRlIGNhcGl0YWxpemFjacOzbiBkZSBtZXJjYWRvXCIsXCJtY2FwXCI6XCJDYXAuIGRlIG1lcmNhZG9cIixcIjI0aF92b2x1bWVcIjpcIjI0SCBWb2x1bWVuXCIsXCIyNGhfaGlnaF9sb3dcIjpcIk3DoXhpbW8vbcOtbmltbyBlbiAyNMKgaFwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJDb24gdGVjbm9sb2fDrWEgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIkNvbXBhcmFjacOzbiBkZSBwcmVjaW9zIGRlIGNyaXB0b21vbmVkYXNcIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIkNvbXBhcmFjacOzbiBkZSBsYSBjYXBpdGFsaXphY2nDs24gZGVsIG1lcmNhZG8gZGUgY3JpcHRvbW9uZWRhc1wifSxcImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkNvbiB0ZWNub2xvZ8OtYSBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiTcOheGltbyBlbiAyNCBoXCIsXCIyNGhfbG93XCI6XCJNw61uaW1vIGVuIDI0IGhcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlZlciBncsOhZmljbyBkZSBwcmVjaW9zIGRlICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIkNvbiB0ZWNub2xvZ8OtYSBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkNvbiB0ZWNub2xvZ8OtYSBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIkNvbiB0ZWNub2xvZ8OtYSBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJDb24gdGVjbm9sb2fDrWEgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fdGlja2VyX3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCJNw6F4aW1vIGVuIDI0IGhcIixcIjI0aF9sb3dcIjpcIk3DrW5pbW8gZW4gMjQgaFwiLFwidmlld19wcmljZV9jaGFydFwiOlwiVmVyIGdyw6FmaWNvIGRlIHByZWNpb3MgZGUgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJWZXIgZ3LDoWZpY28gZGUgcHJlY2lvcyBkZSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJDb24gdGVjbm9sb2fDrWEgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiTWFwYSBkZSDDoXJib2wgZGUgY3JpcHRvbW9uZWRhc1wiLFwic3VidGl0bGVcIjpcIihQcmluY2lwYWxlcyAle3RvcH0gc2Vnw7puIGxhIGNhcGl0YWxpemFjacOzbiBkZSBtZXJjYWRvKVwiLFwicG93ZXJlZF9ieVwiOlwiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCJEZXNjYXJnbyBkZSByZXNwb25zYWJpbGlkYWQ6IGVzdGFzIGhlcnJhbWllbnRhcyB0aWVuZW4gZmluZXMgaW5mb3JtYXRpdm9zIHkgbm8gY29uc3RpdHV5ZW4gYXNlc29yYW1pZW50byBmaW5hbmNpZXJvLlwiLFwic3BpblwiOlwiR2lyYXJcIixcImF2YWlsYWJsZV9jb2luc1wiOlwiTW9uZWRhcyBkaXNwb25pYmxlc1wifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkFjdHVhbGl6YWNpw7NuIGRlIHByZWNpbyBkZSBDb2luR2Vja29cIixcInRvdGFsX21jYXBcIjpcIkNhcCBNIHRvdGFsXCIsXCIyNGhfdm9sXCI6XCJWb2x1bWVuIGVuIDI0wqBoXCIsXCJkb21cIjpcIkRvbVwifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCJJbnRlcmNhbWJpb3NcIixcInBhaXJcIjpcIlBhclwiLFwicHJpY2VcIjpcIlByZWNpb1wiLFwidm9sdW1lXCI6XCJWb2x1bWVuXCIsXCJ0cnVzdF9zY29yZVwiOlwiUHVudHVhY2nDs24gZGUgY29uZmlhbnphXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJWZXIgZ3LDoWZpY28gZGUgcHJlY2lvc1wiLFwicG93ZXJlZF9ieVwiOlwiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCJWZXIgdG9kb3MgbG9zIG1lcmNhZG9zIGRlICV7Y29pbn1cIn19Iik7CiAgfSwgYTQ4MTogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCJjYjdjIiksIG8gPSBpKCI0YmY4IiksIHIgPSBpKCI5ZGVmIiksIHMgPSBpKCI0NTg4IiksIGEgPSBpKCIwMzkwIiksIGggPSBpKCI1ZjFiIiksIGwgPSBNYXRoLm1heCwgYyA9IE1hdGgubWluLCBwID0gTWF0aC5mbG9vciwKICAgICAgZCA9IC9cJChbJCZgJ118XGRcZD98PFtePl0qPikvZywgdSA9IC9cJChbJCZgJ118XGRcZD8pL2csIGYgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gdCA/IHQgOiBTdHJpbmcodCk7CiAgICAgIH07CiAgICBpKCIyMTRmIikoInJlcGxhY2UiLCAyLCAoZnVuY3Rpb24odCwgZSwgaSwgZykgewogICAgICByZXR1cm4gW2Z1bmN0aW9uKG4sIG8pIHsKICAgICAgICB2YXIgciA9IHQodGhpcyksIHMgPSB2b2lkIDAgPT0gbiA/IHZvaWQgMCA6IG5bZV07CiAgICAgICAgcmV0dXJuIHZvaWQgMCAhPT0gcyA/IHMuY2FsbChuLCByLCBvKSA6IGkuY2FsbChTdHJpbmcociksIG4sIG8pOwogICAgICB9LCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgdmFyIG8gPSBnKGksIHQsIHRoaXMsIGUpOwogICAgICAgIGlmIChvLmRvbmUpIHJldHVybiBvLnZhbHVlOwogICAgICAgIHZhciBwID0gbih0KSwgZCA9IFN0cmluZyh0aGlzKSwgdSA9ICJmdW5jdGlvbiIgPT09IHR5cGVvZiBlOwogICAgICAgIHUgfHwgKGUgPSBTdHJpbmcoZSkpOwogICAgICAgIHZhciB5ID0gcC5nbG9iYWw7CiAgICAgICAgaWYgKHkpIHsKICAgICAgICAgIHZhciB2ID0gcC51bmljb2RlOwogICAgICAgICAgcC5sYXN0SW5kZXggPSAwOwogICAgICAgIH0KICAgICAgICB2YXIgeCA9IFtdOwogICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICB2YXIgYiA9IGgocCwgZCk7CiAgICAgICAgICBpZiAobnVsbCA9PT0gYikgYnJlYWs7CiAgICAgICAgICBpZiAoeC5wdXNoKGIpLCAheSkgYnJlYWs7CiAgICAgICAgICB2YXIgXyA9IFN0cmluZyhiWzBdKTsKICAgICAgICAgICIiID09PSBfICYmIChwLmxhc3RJbmRleCA9IGEoZCwgcihwLmxhc3RJbmRleCksIHYpKTsKICAgICAgICB9CiAgICAgICAgZm9yICh2YXIgdyA9ICIiLCBrID0gMCwgUyA9IDA7IFMgPCB4Lmxlbmd0aDsgUysrKSB7CiAgICAgICAgICBiID0geFtTXTsKICAgICAgICAgIGZvciAodmFyIEMgPSBTdHJpbmcoYlswXSksIE0gPSBsKGMocyhiLmluZGV4KSwgZC5sZW5ndGgpLCAwKSwgQSA9IFtdLCBQID0gMTsgUCA8IGIubGVuZ3RoOyBQKyspIEEucHVzaChmKGJbUF0pKTsKICAgICAgICAgIHZhciBPID0gYi5ncm91cHM7CiAgICAgICAgICBpZiAodSkgewogICAgICAgICAgICB2YXIgVCA9IFtDXS5jb25jYXQoQSwgTSwgZCk7CiAgICAgICAgICAgIHZvaWQgMCAhPT0gTyAmJiBULnB1c2goTyk7CiAgICAgICAgICAgIHZhciBFID0gU3RyaW5nKGUuYXBwbHkodm9pZCAwLCBUKSk7CiAgICAgICAgICB9IGVsc2UgRSA9IG0oQywgZCwgTSwgQSwgTywgZSk7CiAgICAgICAgICBNID49IGsgJiYgKHcgKz0gZC5zbGljZShrLCBNKSArIEUsIGsgPSBNICsgQy5sZW5ndGgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdyArIGQuc2xpY2Uoayk7CiAgICAgIH1dOwoKICAgICAgZnVuY3Rpb24gbSh0LCBlLCBuLCByLCBzLCBhKSB7CiAgICAgICAgdmFyIGggPSBuICsgdC5sZW5ndGgsIGwgPSByLmxlbmd0aCwgYyA9IHU7CiAgICAgICAgcmV0dXJuIHZvaWQgMCAhPT0gcyAmJiAocyA9IG8ocyksIGMgPSBkKSwgaS5jYWxsKGEsIGMsIChmdW5jdGlvbihpLCBvKSB7CiAgICAgICAgICB2YXIgYTsKICAgICAgICAgIHN3aXRjaCAoby5jaGFyQXQoMCkpIHsKICAgICAgICAgICAgY2FzZSIkIjoKICAgICAgICAgICAgICByZXR1cm4gIiQiOwogICAgICAgICAgICBjYXNlIiYiOgogICAgICAgICAgICAgIHJldHVybiB0OwogICAgICAgICAgICBjYXNlImAiOgogICAgICAgICAgICAgIHJldHVybiBlLnNsaWNlKDAsIG4pOwogICAgICAgICAgICBjYXNlIiciOgogICAgICAgICAgICAgIHJldHVybiBlLnNsaWNlKGgpOwogICAgICAgICAgICBjYXNlIjwiOgogICAgICAgICAgICAgIGEgPSBzW28uc2xpY2UoMSwgLTEpXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICB2YXIgYyA9ICtvOwogICAgICAgICAgICAgIGlmICgwID09PSBjKSByZXR1cm4gaTsKICAgICAgICAgICAgICBpZiAoYyA+IGwpIHsKICAgICAgICAgICAgICAgIHZhciBkID0gcChjIC8gMTApOwogICAgICAgICAgICAgICAgcmV0dXJuIDAgPT09IGQgPyBpIDogZCA8PSBsID8gdm9pZCAwID09PSByW2QgLSAxXSA/IG8uY2hhckF0KDEpIDogcltkIC0gMV0gKyBvLmNoYXJBdCgxKSA6IGk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGEgPSByW2MgLSAxXTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IGEgPyAiIiA6IGE7CiAgICAgICAgfSkpOwogICAgICB9CiAgICB9KSk7CiAgfSwgYTYyNTogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCJSYW5nb3JkZSBtYXJrdGthcGl0YWxpc2F0aWVcIixcIm1jYXBcIjpcIk1hcmt0a2FwLlwiLFwiMjRoX3ZvbHVtZVwiOlwiMjRVIHZvbHVtZVwiLFwiMjRoX2hpZ2hfbG93XCI6XCIyNC11dXJzIGhvb2cvbGFhZ1wifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJNb2dlbGlqayBnZW1hYWt0IGRvb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIlZlcmdlbGlqa2luZyB2YW4gY3J5cHRvcHJpanplblwiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwiVmVyZ2VsaWpraW5nIHZhbiBjcnlwdG9tYXJrdGthcGl0YWxpc2F0aWVzXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCIyNFUgaG9vZ1wiLFwiMjRoX2xvd1wiOlwiMjRVIGxhYWdcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIktvZXJzZ3JhZmllayB2YW4gJXtjb2lufSBiZWtpamtlblwiLFwicG93ZXJlZF9ieVwiOlwiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJiZWFtX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIk1vZ2VsaWprIGdlbWFha3QgZG9vciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIjI0VSBob29nXCIsXCIyNGhfbG93XCI6XCIyNFUgbGFhZ1wiLFwidmlld19wcmljZV9jaGFydFwiOlwiS29lcnNncmFmaWVrIHZhbiAle2NvaW59IGJla2lqa2VuXCIsXCJwb3dlcmVkX2J5XCI6XCJNb2dlbGlqayBnZW1hYWt0IGRvb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fY29udmVydGVyX3dpZGdldFwiOntcInZpZXdfcHJpY2VfY2hhcnRcIjpcIktvZXJzZ3JhZmllayB2YW4gJXtjb2lufSBiZWtpamtlblwiLFwicG93ZXJlZF9ieVwiOlwiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2hlYXRtYXBfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkJvb21rYWFydCBjcnlwdG9jdXJyZW5jeSdzXCIsXCJzdWJ0aXRsZVwiOlwiKFRvcCAle3RvcH0gbXVudGVuIG9wIG1hcmt0a2FwaXRhbGlzYXRpZSlcIixcInBvd2VyZWRfYnlcIjpcIk1vZ2VsaWprIGdlbWFha3QgZG9vciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwiRGlzY2xhaW1lcjogRGV6ZSB0b29scyB6aWpuIGJlZG9lbGQgYWxzIGVudGVydGFpbm1lbnQgZW4gdm9ybWVuIGdlZW4gZmluYW5jaWVlbCBhZHZpZXMuXCIsXCJzcGluXCI6XCJEcmFhaWVuXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIkJlc2NoaWtiYXJlIG11bnRlblwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkNvaW5HZWNrbyBwcmlqc3VwZGF0ZVwiLFwidG90YWxfbWNhcFwiOlwiVG90YWxlIG1hcmt0a2FwaXRhbGlzYXRpZVwiLFwiMjRoX3ZvbFwiOlwiMjRoIFZvbHVtZVwiLFwiZG9tXCI6XCJEb21pbmFudGllXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIkJldXJzXCIsXCJwYWlyXCI6XCJQYWFyXCIsXCJwcmljZVwiOlwiUHJpanNcIixcInZvbHVtZVwiOlwiVm9sdW1lXCIsXCJ0cnVzdF9zY29yZVwiOlwiVHJ1c3QgU2NvcmVcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIktvZXJzZ3JhZmllayBiZWtpamtlblwiLFwicG93ZXJlZF9ieVwiOlwiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCJCZWtpamsgYWxsZSAle2NvaW59LW1hcmt0ZW5cIn19Iik7CiAgfSwgYWE3NzogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCI1Y2ExIiksIG8gPSBpKCJiZTEzIiksIHIgPSBpKCI3OWU1IiksIHMgPSBpKCJmZGVmIiksIGEgPSAiWyIgKyBzICsgIl0iLCBoID0gIuKAi8KFIiwgbCA9IFJlZ0V4cCgiXiIgKyBhICsgYSArICIqIiksIGMgPSBSZWdFeHAoYSArIGEgKyAiKiQiKSwKICAgICAgcCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbyA9IHt9LCBhID0gcigoZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gISFzW3RdKCkgfHwgaFt0XSgpICE9IGg7CiAgICAgICAgfSkpLCBsID0gb1t0XSA9IGEgPyBlKGQpIDogc1t0XTsKICAgICAgICBpICYmIChvW2ldID0gbCksIG4obi5QICsgbi5GICogYSwgIlN0cmluZyIsIG8pOwogICAgICB9LCBkID0gcC50cmltID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgIHJldHVybiB0ID0gU3RyaW5nKG8odCkpLCAxICYgZSAmJiAodCA9IHQucmVwbGFjZShsLCAiIikpLCAyICYgZSAmJiAodCA9IHQucmVwbGFjZShjLCAiIikpLCB0OwogICAgICB9OwogICAgdC5leHBvcnRzID0gcDsKICB9LCBhYWUzOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoImQzZjQiKSwgbyA9IGkoIjJkOTUiKSwgciA9IGkoIjJiNGMiKSgibWF0Y2giKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgdmFyIGU7CiAgICAgIHJldHVybiBuKHQpICYmICh2b2lkIDAgIT09IChlID0gdFtyXSkgPyAhIWUgOiAiUmVnRXhwIiA9PSBvKHQpKTsKICAgIH07CiAgfSwgYWM2YTogZnVuY3Rpb24odCwgZSwgaSkgewogICAgZm9yICh2YXIgbiA9IGkoImNhZGYiKSwgbyA9IGkoIjBkNTgiKSwgciA9IGkoIjJhYmEiKSwgcyA9IGkoIjc3MjYiKSwgYSA9IGkoIjMyZTkiKSwgaCA9IGkoIjg0ZjIiKSwgbCA9IGkoIjJiNGMiKSwgYyA9IGwoIml0ZXJhdG9yIiksIHAgPSBsKCJ0b1N0cmluZ1RhZyIpLCBkID0gaC5BcnJheSwgdSA9IHsKICAgICAgQ1NTUnVsZUxpc3Q6ICEwLAogICAgICBDU1NTdHlsZURlY2xhcmF0aW9uOiAhMSwKICAgICAgQ1NTVmFsdWVMaXN0OiAhMSwKICAgICAgQ2xpZW50UmVjdExpc3Q6ICExLAogICAgICBET01SZWN0TGlzdDogITEsCiAgICAgIERPTVN0cmluZ0xpc3Q6ICExLAogICAgICBET01Ub2tlbkxpc3Q6ICEwLAogICAgICBEYXRhVHJhbnNmZXJJdGVtTGlzdDogITEsCiAgICAgIEZpbGVMaXN0OiAhMSwKICAgICAgSFRNTEFsbENvbGxlY3Rpb246ICExLAogICAgICBIVE1MQ29sbGVjdGlvbjogITEsCiAgICAgIEhUTUxGb3JtRWxlbWVudDogITEsCiAgICAgIEhUTUxTZWxlY3RFbGVtZW50OiAhMSwKICAgICAgTWVkaWFMaXN0OiAhMCwKICAgICAgTWltZVR5cGVBcnJheTogITEsCiAgICAgIE5hbWVkTm9kZU1hcDogITEsCiAgICAgIE5vZGVMaXN0OiAhMCwKICAgICAgUGFpbnRSZXF1ZXN0TGlzdDogITEsCiAgICAgIFBsdWdpbjogITEsCiAgICAgIFBsdWdpbkFycmF5OiAhMSwKICAgICAgU1ZHTGVuZ3RoTGlzdDogITEsCiAgICAgIFNWR051bWJlckxpc3Q6ICExLAogICAgICBTVkdQYXRoU2VnTGlzdDogITEsCiAgICAgIFNWR1BvaW50TGlzdDogITEsCiAgICAgIFNWR1N0cmluZ0xpc3Q6ICExLAogICAgICBTVkdUcmFuc2Zvcm1MaXN0OiAhMSwKICAgICAgU291cmNlQnVmZmVyTGlzdDogITEsCiAgICAgIFN0eWxlU2hlZXRMaXN0OiAhMCwKICAgICAgVGV4dFRyYWNrQ3VlTGlzdDogITEsCiAgICAgIFRleHRUcmFja0xpc3Q6ICExLAogICAgICBUb3VjaExpc3Q6ICExCiAgICB9LCBmID0gbyh1KSwgZyA9IDA7IGcgPCBmLmxlbmd0aDsgZysrKSB7CiAgICAgIHZhciBtLCB5ID0gZltnXSwgdiA9IHVbeV0sIHggPSBzW3ldLCBiID0geCAmJiB4LnByb3RvdHlwZTsKICAgICAgaWYgKGIgJiYgKGJbY10gfHwgYShiLCBjLCBkKSwgYltwXSB8fCBhKGIsIHAsIHkpLCBoW3ldID0gZCwgdikpIGZvciAobSBpbiBuKSBiW21dIHx8IHIoYiwgbSwgblttXSwgITApOwogICAgfQogIH0sIGFjZWQ6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwiWOG6v3AgaOG6oW5nIFbhu5FuIGjDs2EgdGjhu4sgdHLGsOG7nW5nXCIsXCJtY2FwXCI6XCJW4buRbiBow7NhIHRo4buLIHRyxrDhu51uZ1wiLFwiMjRoX3ZvbHVtZVwiOlwiS2jhu5FpIGzGsOG7o25nIHRyb25nIDI0aFwiLFwiMjRoX2hpZ2hfbG93XCI6XCJN4bupYyBjYW8gbmjhuqV0L3Ro4bqlcCBuaOG6pXQgdHJvbmcgMjQgZ2nhu51cIn0sXCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvblwiOlwiU28gc8OhbmggZ2nDoSB0aeG7gW4gbcOjIGjDs2FcIixcImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb25cIjpcIlNvIHPDoW5oIGdpw6EgdHLhu4sgduG7kW4gaMOzYSB0aOG7iyB0csaw4budbmcgY+G7p2EgdGnhu4FuIG3DoyBow7NhXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiQ2FvIHRyb25nIDI0SFwiLFwiMjRoX2xvd1wiOlwiVGjhuqVwIHRyb25nIDI0SFwiLFwidmlld19wcmljZV9jaGFydFwiOlwiWGVtIGJp4buDdSDEkeG7kyBnacOhICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIsSQxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiQ2FvIHRyb25nIDI0SFwiLFwiMjRoX2xvd1wiOlwiVGjhuqVwIHRyb25nIDI0SFwiLFwidmlld19wcmljZV9jaGFydFwiOlwiWGVtIGJp4buDdSDEkeG7kyBnacOhICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIsSQxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fY29udmVydGVyX3dpZGdldFwiOntcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlhlbSBiaeG7g3UgxJHhu5MgZ2nDoSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2hlYXRtYXBfd2lkZ2V0XCI6e1widGl0bGVcIjpcIlPGoSDEkeG7kyBjw6J5IFRp4buBbiBtw6MgaMOzYVwiLFwic3VidGl0bGVcIjpcIigle3RvcH0gaMOgbmcgxJHhuqd1IHRoZW8gZ2nDoSB0cuG7iyB24buRbiBow7NhIHRo4buLIHRyxrDhu51uZylcIixcInBvd2VyZWRfYnlcIjpcIsSQxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcInJhbmRvbV9jb2luX3dpZGdldFwiOntcImRpc2NsYWltZXJcIjpcIlR1ecOqbiBi4buRIG1p4buFbiB0cuG7qyB0csOhY2ggbmhp4buHbTogQ8O0bmcgY+G7pSBuw6B5IMSRxrDhu6NjIGTDuW5nIGNobyBt4bulYyDEkcOtY2ggZ2nhuqNpIHRyw60gdsOgIGtow7RuZyBj4bqldSB0aMOgbmggdGjDtG5nIHRpbiB0xrAgduG6pW4gdMOgaSBjaMOtbmguXCIsXCJzcGluXCI6XCLEkOG7k25nIFNwaW5cIixcImF2YWlsYWJsZV9jb2luc1wiOlwiVGnhu4FuIOG6o28ga2jhuqMgZOG7pW5nXCJ9LFwiY29pbl9kYWlseV9wcmljZV93aWRnZXRcIjp7XCJ0aXRsZVwiOlwiQ+G6rXAgbmjhuq10IGdpw6EgdHLDqm4gQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCJU4buVbmcgZ2nDoSB0cuG7iyB24buRbiBow7NhIHRo4buLIHRyxrDhu51uZ1wiLFwiMjRoX3ZvbFwiOlwiS2jhu5FpIGzGsOG7o25nIGdpYW8gZOG7i2NoIHRyb25nIDI0IGdp4budXCIsXCJkb21cIjpcIsavdSB0aOG6v1wifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCJTw6BuIGdpYW8gZOG7i2NoXCIsXCJwYWlyXCI6XCJD4bq3cFwiLFwicHJpY2VcIjpcIkdpw6FcIixcInZvbHVtZVwiOlwiS2jhu5FpIGzGsOG7o25nXCIsXCJ0cnVzdF9zY29yZVwiOlwixJBp4buDbSB0aW4gY+G6rXlcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlhlbSBiaeG7g3UgxJHhu5MgZ2nDoVwiLFwicG93ZXJlZF9ieVwiOlwixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCIsXCJ2aWV3X2FsbFwiOlwiWGVtIHThuqV0IGPhuqMgY8OhYyB0aOG7iyB0csaw4budbmcgJXtjb2lufVwifX0iKTsKICB9LCBhZWJkOiBmdW5jdGlvbih0LCBlKSB7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgIHJldHVybiB7IGVudW1lcmFibGU6ICEoMSAmIHQpLCBjb25maWd1cmFibGU6ICEoMiAmIHQpLCB3cml0YWJsZTogISg0ICYgdCksIHZhbHVlOiBlIH07CiAgICB9OwogIH0sIGFmMDg6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwi2KrYtdmG2YrZgSDYp9mE2YLZitmF2Kkg2KfZhNiz2YjZgtmK2KlcIixcIm1jYXBcIjpcItin2YTZgtmK2YXYqSDYp9mE2LPZiNmC2YrYqSBcIixcIjI0aF92b2x1bWVcIjpcItit2KzZhSDYp9mE2KrYr9in2YjZhCDYudmE2Ykg2YXYr9in2LEgMjQg2LPYp9i52KlcIixcIjI0aF9oaWdoX2xvd1wiOlwi2KfYsdiq2YHYp9i5L9in2YbYrtmB2KfYtiDYudmE2Ykg2YXYr9in2LEgMjQg2LPYp9i52KlcIn0sXCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi2YXYr9i52YjZhSDZhdmGICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCLZhdmC2KfYsdmG2Kkg2LPYudixINin2YTYudmF2YTYp9iqINin2YTZhdi02YHYsdipXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCLZhdmC2KfYsdmG2Kkg2KfZhNmC2YrZhdipINin2YTYs9mI2YLZitipINmE2YTYudmF2YTYp9iqINin2YTZhdi02YHYsdipXCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi2YXYr9i52YjZhSDZhdmGICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCLZhdix2KrZgdi5INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqVwiLFwiMjRoX2xvd1wiOlwi2YXZhtiu2YHYtiDYudmE2Ykg2YXYr9in2LEgMjQg2LPYp9i52KlcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIti52LHYtiDYp9mE2LHYs9mFINin2YTYqNmK2KfZhtmKINmE2LPYudixICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLZhdiv2LnZiNmFINmF2YYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fdGlja2VyX3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCLZhdix2KrZgdi5INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqVwiLFwiMjRoX2xvd1wiOlwi2YXZhtiu2YHYtiDYudmE2Ykg2YXYr9in2LEgMjQg2LPYp9i52KlcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIti52LHYtiAle2NvaW59INin2YTYsdiz2YUg2KfZhNio2YrYp9mG2Yog2YTZhNiz2LnYsVwiLFwicG93ZXJlZF9ieVwiOlwi2YXYr9i52YjZhSDZhdmGICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLYudix2LYgJXtjb2lufSDYp9mE2LHYs9mFINin2YTYqNmK2KfZhtmKINmE2YTYs9i52LFcIixcInBvd2VyZWRfYnlcIjpcItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCLYrtix2YrYt9ipINi02KzYsdipINin2YTYudmF2YTYp9iqINin2YTZhdi02YHYsdipXCIsXCJzdWJ0aXRsZVwiOlwiKNij2YHYttmEICV7dG9wfSDZiNmB2YLZi9inINmE2YTZgtmK2YXYqSDYp9mE2LPZiNmC2YrYqSlcIixcInBvd2VyZWRfYnlcIjpcItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwi2KXYrtmE2KfYoSDYp9mE2YXYs9ik2YjZhNmK2Kk6INiq2LPYqtiu2K/ZhSDZh9iw2Ycg2KfZhNij2K/ZiNin2Kog2YPYo9iv2YjYp9iqINiq2LHZgdmK2YfZitipINmI2YTYpyDYqti02YPZkdmEINmF2LTZiNix2Kkg2YXYp9mE2YrYqS5cIixcInNwaW5cIjpcItiv2YjYsdin2YZcIixcImF2YWlsYWJsZV9jb2luc1wiOlwi2LnZhdmE2KfYqiDZhdiq2KfYrdipXCJ9LFwiY29pbl9kYWlseV9wcmljZV93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi2KrYrdiv2YrYqyDYs9i52LEgQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCLYpdis2YXYp9mE2Yog2KfZhNmC2YrZhdipINin2YTYs9mI2YLZitipXCIsXCIyNGhfdm9sXCI6XCLYp9mE2K3YrNmFINi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqVwiLFwiZG9tXCI6XCLYp9mE2YfZitmF2YbYqVwifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCLYqNmI2LHYtdipXCIsXCJwYWlyXCI6XCLYstmI2KxcIixcInByaWNlXCI6XCLYp9mE2LPYudixXCIsXCJ2b2x1bWVcIjpcItin2YTYrdis2YVcIixcInRydXN0X3Njb3JlXCI6XCLZhtmC2KfYtyDYp9mE2KvZgtipIFRydXN0IFNjb3JlXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLYudix2LYg2KfZhNix2LPZhSDYp9mE2KjZitin2YbZiiDZhNmE2LPYudixXCIsXCJwb3dlcmVkX2J5XCI6XCLZhdiv2LnZiNmFINmF2YYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwidmlld19hbGxcIjpcIti52LHYtiDYrNmF2YrYuSDYo9iz2YjYp9mCICV7Y29pbn1cIn19Iik7CiAgfSwgYWYxNDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgaS5kKGUsICJhIiwgKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gbjsKICAgIH0pKTsKICAgIGkoIjc2MTgiKTsKCiAgICBmdW5jdGlvbiBuKCkgewogICAgICByZXR1cm4gbnVsbCAhPSBkb2N1bWVudC5oZWFkLmF0dGFjaFNoYWRvdyAmJiBudWxsICE9IHdpbmRvdy5jdXN0b21FbGVtZW50cyAmJiBudWxsICE9IHdpbmRvdy5mZXRjaDsKICAgIH0KICB9LCBiMGM1OiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiA9IGkoIjUyMGEiKTsKICAgIGkoIjVjYTEiKSh7IHRhcmdldDogIlJlZ0V4cCIsIHByb3RvOiAhMCwgZm9yY2VkOiBuICE9PSAvLi8uZXhlYyB9LCB7IGV4ZWM6IG4gfSk7CiAgfSwgYjNmZDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCJmMzY3IiksIG8gPSBpKCIxYjdmIik7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbigpIHsKICAgICAgdmFyIHQgPSBvKCk7CiAgICAgIHJldHVybiBuKFN0cmluZy5wcm90b3R5cGUsIHsgdHJpbTogdCB9LCB7CiAgICAgICAgdHJpbTogZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltICE9PSB0OwogICAgICAgIH0KICAgICAgfSksIHQ7CiAgICB9OwogIH0sIGI0NDc6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiM2EzOCIpLCBvID0gTWF0aC5taW47CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiB0ID4gMCA/IG8obih0KSwgOTAwNzE5OTI1NDc0MDk5MSkgOiAwOwogICAgfTsKICB9LCBiOGUzOiBmdW5jdGlvbih0LCBlKSB7CiAgICB0LmV4cG9ydHMgPSAhMDsKICB9LCBiYThkOiBmdW5jdGlvbih0KSB7CiAgICB0LmV4cG9ydHMgPSBKU09OLnBhcnNlKCJ7XCJjb2luX2RldGFpbHNcIjp7XCJtY2FwX3JhbmtcIjpcIteT16jXkteqINep15XXldeZINep15XXp1wiLFwibWNhcFwiOlwi16nXldeV15kg16nXldenXCIsXCIyNGhfdm9sdW1lXCI6XCLXoNek15cg157XodeX16gg15EtMjQg16nXoteV16pcIixcIjI0aF9oaWdoX2xvd1wiOlwi16nXmdeQL9ep16TXnCDXkS0yNCDXqdei15XXqlwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCLXlNep15XXldeQ16og157Xl9eZ16jXmSDXnteY15HXoteV16og16fXqNeZ16TXmNeVXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCLXlNep15XXldeQ16og16nXldeV15kg16nXldenINep15wg157XmNeR16LXldeqINen16jXmdek15jXlVwifSxcImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcItee15XXpNei15wg16LXnCDXmdeT15kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcItep15nXkCDXkS0yNCDXqdei15XXqlwiLFwiMjRoX2xvd1wiOlwi16nXpNecINeRLTI0INep16LXldeqXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLXlNem15Ig15DXqiDXmNeR15zXqiDXlNee15fXmdeo15nXnSDXqdecICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcItee15XXpNei15wg16LXnCDXmdeT15kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi157Xldek16LXnCDXotecINeZ15PXmSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwi16nXmdeQINeRLTI0INep16LXldeqXCIsXCIyNGhfbG93XCI6XCLXqdek15wg15EtMjQg16nXoteV16pcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIteU16bXkiDXkNeqINeY15HXnNeqINeU157Xl9eZ16jXmdedINep15wgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwi157Xldek16LXnCDXotecINeZ15PXmSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwi15TXpteSINeQ16og15jXkdec16og15TXnteX15nXqNeZ150g16nXnCAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2hlYXRtYXBfd2lkZ2V0XCI6e1widGl0bGVcIjpcItee16TXqiDXlNei16Ug16nXnCDXnteY15HXoteV16og16fXqNeZ16TXmNeVXCIsXCJzdWJ0aXRsZVwiOlwiKCV7dG9wfSDXnteV15HXmdec15nXnSDXnNek15kg16nXldeV15kg16nXldenKVwiLFwicG93ZXJlZF9ieVwiOlwi157Xldek16LXnCDXotecINeZ15PXmSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwi15vXqteRINeV15nXqteV16g6INeb15zXmdedINeQ15zXlSDXntep157XqdeZ150g15zXpteV16jXmiDXkdeZ15PXldeoINeV15DXmdeg150g157XlNeV15XXmdedINeZ15nXoteV16Ug16TXmdeg16DXodeZLlwiLFwic3BpblwiOlwi16HXldeR15FcIixcImF2YWlsYWJsZV9jb2luc1wiOlwi157XmNeR16LXldeqINeW157Xmdeg15nXnVwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcItei15PXm9eV158g157Xl9eZ16jXmSBDb2luR2Vja29cIixcInRvdGFsX21jYXBcIjpcItep15XXldeZINep15XXpyDXm9eV15zXnFwiLFwiMjRoX3ZvbFwiOlwi16DXpNeXINeRLTI0INep16LXldeqXCIsXCJkb21cIjpcIteT15XXnteZ16DXoNeY15nXldeqXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIteR15XXqNeh15RcIixcInBhaXJcIjpcItem157Xk1wiLFwicHJpY2VcIjpcItee15fXmdeo157Xl9eZ16hcIixcInZvbHVtZVwiOlwi16DXpNeXXCIsXCJ0cnVzdF9zY29yZVwiOlwi16bXmdeV158g15DXnteZ16DXldeqXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCLXlNem15Ig15jXkdec16og157Xl9eZ16jXmdedXCIsXCJwb3dlcmVkX2J5XCI6XCLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCLXlNem15Ig15DXqiDXm9ecINeU16nXldeV16fXmdedINep15wgJXtjb2lufVwifX0iKTsKICB9LCBiZTEzOiBmdW5jdGlvbih0LCBlKSB7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIGlmICh2b2lkIDAgPT0gdCkgdGhyb3cgVHlwZUVycm9yKCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAgIiArIHQpOwogICAgICByZXR1cm4gdDsKICAgIH07CiAgfSwgYmYwYjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCIzNTVkIiksIG8gPSBpKCJhZWJkIiksIHIgPSBpKCIzNmMzIiksIHMgPSBpKCIxYmMzIiksIGEgPSBpKCIwN2UzIiksIGggPSBpKCI3OTRiIiksIGwgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOwogICAgZS5mID0gaSgiOGU2MCIpID8gbCA6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgaWYgKHQgPSByKHQpLCBlID0gcyhlLCAhMCksIGgpIHRyeSB7CiAgICAgICAgcmV0dXJuIGwodCwgZSk7CiAgICAgIH0gY2F0Y2ggKGkpIHsKICAgICAgfQogICAgICBpZiAoYSh0LCBlKSkgcmV0dXJuIG8oIW4uZi5jYWxsKHQsIGUpLCB0W2VdKTsKICAgIH07CiAgfSwgYmYwZjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgaS5kKGUsICJiIiwgKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gTjsKICAgIH0pKTsKICAgIHZhciBuID0gaSgiNzYxOCIpLCBvID0gaSgiYWYwOCIpLCByID0gaSgiZGNkMCIpLCBzID0gaSgiYzY4NiIpLCBhID0gaSgiMjFhYSIpLCBoID0gaSgiNmNlMiIpLCBsID0gaSgiZjE4NCIpLCBjID0gaSgiZWRkNCIpLCBwID0gaSgiYTMwNiIpLCBkID0gaSgiNTc1NCIpLAogICAgICB1ID0gaSgiZjY5MyIpLCBmID0gaSgiYmE4ZCIpLCBnID0gaSgiN2EwMyIpLCBtID0gaSgiOTJkNyIpLCB5ID0gaSgiNGU3MyIpLCB2ID0gaSgiMjEwYyIpLCB4ID0gaSgiMDgyNSIpLCBiID0gaSgiMDQyMyIpLCBfID0gaSgiZGQxMSIpLCB3ID0gaSgiNjA0NSIpLAogICAgICBrID0gaSgiYTYyNSIpLCBTID0gaSgiZjk0NyIpLCBDID0gaSgiODliMiIpLCBNID0gaSgiNWQ2NyIpLCBBID0gaSgiOTU0MiIpLCBQID0gaSgiNzcwNCIpLCBPID0gaSgiM2RhOSIpLCBUID0gaSgiZDM0YSIpLCBFID0gaSgiNGM1YiIpLCBMID0gaSgiODY4MCIpLAogICAgICBqID0gaSgiZmZlYiIpLCBEID0gaSgiNjJlYSIpLCBJID0gaSgiYWNlZCIpLCB6ID0gaSgiMzUwNCIpLCBCID0gaSgiMDU2YyIpLCBSID0gewogICAgICAgIGFyOiBvLAogICAgICAgIGJnOiByLAogICAgICAgIGNzOiBzLAogICAgICAgIGRhOiBhLAogICAgICAgIGRlOiBoLAogICAgICAgIGVsOiBsLAogICAgICAgIGVuOiBjLAogICAgICAgIGVzOiBwLAogICAgICAgIGZpOiBkLAogICAgICAgIGZyOiB1LAogICAgICAgIGhlOiBmLAogICAgICAgIGhpOiBnLAogICAgICAgIGhyOiBtLAogICAgICAgIGh1OiB5LAogICAgICAgIGlkOiB2LAogICAgICAgIGl0OiB4LAogICAgICAgIGphOiBiLAogICAgICAgIGtvOiBfLAogICAgICAgIGx0OiB3LAogICAgICAgIG5sOiBrLAogICAgICAgIG5vOiBTLAogICAgICAgIHBsOiBDLAogICAgICAgIHB0OiBNLAogICAgICAgIHJvOiBBLAogICAgICAgIHJ1OiBQLAogICAgICAgIHNrOiBPLAogICAgICAgIHNsOiBULAogICAgICAgIHN2OiBFLAogICAgICAgIHRoOiBMLAogICAgICAgIHRyOiBqLAogICAgICAgIHVrOiBELAogICAgICAgIHZpOiBJLAogICAgICAgIHpoOiB6LAogICAgICAgICJ6aC10dyI6IEIKICAgICAgfTsKCiAgICBmdW5jdGlvbiBOKHQpIHsKICAgICAgdmFyIGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiB2b2lkIDAgIT09IGFyZ3VtZW50c1sxXSA/IGFyZ3VtZW50c1sxXSA6ICJlbiI7CiAgICAgIHJldHVybiBHKFJbdF0sIFJbZV0pOwogICAgfQoKICAgIGZ1bmN0aW9uIEcodCwgZSkgewogICAgICB2YXIgaSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZSkpOwogICAgICBmb3IgKHZhciBvIGluIGkpIHsKICAgICAgICB2YXIgciA9IHRbb10sIHMgPSBpW29dOwogICAgICAgIGlmIChyICYmIHMpIGlmICgib2JqZWN0IiA9PT0gT2JqZWN0KG5bImEiXSkocikgJiYgIm9iamVjdCIgPT09IE9iamVjdChuWyJhIl0pKHMpKSBmb3IgKHZhciBhIGluIHRbb10pIGlbb11bYV0gPSB0W29dW2FdOyBlbHNlIGlbb10gPSB0W29dOwogICAgICB9CiAgICAgIHJldHVybiBpOwogICAgfQoKICAgIGVbImEiXSA9IFI7CiAgfSwgYzFlMjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCIyYjBlIiksIG8gPSBpKCIyODhhIiksIHIgPSBpLm4obyksIHMgPSBpKCJiZjBmIiksIGEgPSBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIG5bImEiXS5taXhpbih7CiAgICAgICAgZGF0YTogZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4geyBwb2x5Z2xvdDogbmV3IHIuYSh7IHBocmFzZXM6IE9iamVjdChzWyJiIl0pKCJlbiIpIH0pIH07CiAgICAgICAgfSwgbWV0aG9kczogewogICAgICAgICAgcmVsb2FkTG9jYWxlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKHZvaWQgMCAhPT0gdGhpcy5sb2NhbGUpIHsKICAgICAgICAgICAgICBpZiAoIXNbImEiXVt0aGlzLmxvY2FsZV0pIHRocm93IG5ldyBFcnJvcigiTG9jYWxlIG5vdCBzdXBwb3J0ZWQgYnkgd2lkZ2V0LiBDb250YWN0IHN1cHBvcnRAY29pbmdlY2tvLmNvbSBmb3IgaGVscC4iKTsKICAgICAgICAgICAgICB0aGlzLnBvbHlnbG90ID0gbmV3IHIuYSh7IHBocmFzZXM6IE9iamVjdChzWyJiIl0pKHRoaXMubG9jYWxlLCAiZW4iKSB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIHdhdGNoOiB7CiAgICAgICAgICBsb2NhbGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLnJlbG9hZExvY2FsZSgpOwogICAgICAgICAgfQogICAgICAgIH0sIGNyZWF0ZWQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgdGhpcy5yZWxvYWRMb2NhbGUoKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfTsKICAgIGVbImEiXSA9IGE7CiAgfSwgYzIwNzogZnVuY3Rpb24odCwgZSkgewogIH0sIGMzNjY6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiNjgyMSIpLCBvID0gaSgiOWRlZiIpLCByID0gaSgiNzdmMSIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICByZXR1cm4gZnVuY3Rpb24oZSwgaSwgcykgewogICAgICAgIHZhciBhLCBoID0gbihlKSwgbCA9IG8oaC5sZW5ndGgpLCBjID0gcihzLCBsKTsKICAgICAgICBpZiAodCAmJiBpICE9IGkpIHsKICAgICAgICAgIHdoaWxlIChsID4gYykgaWYgKGEgPSBoW2MrK10sIGEgIT0gYSkgcmV0dXJuICEwOwogICAgICAgIH0gZWxzZSBmb3IgKDsgbCA+IGM7IGMrKykgaWYgKCh0IHx8IGMgaW4gaCkgJiYgaFtjXSA9PT0gaSkgcmV0dXJuIHQgfHwgYyB8fCAwOwogICAgICAgIHJldHVybiAhdCAmJiAtMTsKICAgICAgfTsKICAgIH07CiAgfSwgYzM2NzogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCI4NDM2IiksIG8gPSBpKCI1MGVkIiksIHIgPSBpKCI0ODFiIiksIHMgPSBpKCIzNmMzIik7CiAgICB0LmV4cG9ydHMgPSBpKCIzMGYxIikoQXJyYXksICJBcnJheSIsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgIHRoaXMuX3QgPSBzKHQpLCB0aGlzLl9pID0gMCwgdGhpcy5fayA9IGU7CiAgICB9KSwgKGZ1bmN0aW9uKCkgewogICAgICB2YXIgdCA9IHRoaXMuX3QsIGUgPSB0aGlzLl9rLCBpID0gdGhpcy5faSsrOwogICAgICByZXR1cm4gIXQgfHwgaSA+PSB0Lmxlbmd0aCA/ICh0aGlzLl90ID0gdm9pZCAwLCBvKDEpKSA6IG8oMCwgImtleXMiID09IGUgPyBpIDogInZhbHVlcyIgPT0gZSA/IHRbaV0gOiBbaSwgdFtpXV0pOwogICAgfSksICJ2YWx1ZXMiKSwgci5Bcmd1bWVudHMgPSByLkFycmF5LCBuKCJrZXlzIiksIG4oInZhbHVlcyIpLCBuKCJlbnRyaWVzIik7CiAgfSwgYzNhMTogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCJlNmYzIiksIG8gPSBpKCIxNjkxIik7CiAgICB0LmV4cG9ydHMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiBuKHQsIG8pOwogICAgfTsKICB9LCBjNWY2OiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiA9IGkoIjc3MjYiKSwgbyA9IGkoIjY5YTgiKSwgciA9IGkoIjJkOTUiKSwgcyA9IGkoIjVkYmMiKSwgYSA9IGkoIjZhOTkiKSwgaCA9IGkoIjc5ZTUiKSwgbCA9IGkoIjkwOTMiKS5mLCBjID0gaSgiMTFlOSIpLmYsIHAgPSBpKCI4NmNjIikuZiwKICAgICAgZCA9IGkoImFhNzciKS50cmltLCB1ID0gIk51bWJlciIsIGYgPSBuW3VdLCBnID0gZiwgbSA9IGYucHJvdG90eXBlLCB5ID0gcihpKCIyYWViIikobSkpID09IHUsIHYgPSAidHJpbSIgaW4gU3RyaW5nLnByb3RvdHlwZSwgeCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9IGEodCwgITEpOwogICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgZSAmJiBlLmxlbmd0aCA+IDIpIHsKICAgICAgICAgIGUgPSB2ID8gZS50cmltKCkgOiBkKGUsIDMpOwogICAgICAgICAgdmFyIGksIG4sIG8sIHIgPSBlLmNoYXJDb2RlQXQoMCk7CiAgICAgICAgICBpZiAoNDMgPT09IHIgfHwgNDUgPT09IHIpIHsKICAgICAgICAgICAgaWYgKGkgPSBlLmNoYXJDb2RlQXQoMiksIDg4ID09PSBpIHx8IDEyMCA9PT0gaSkgcmV0dXJuIE5hTjsKICAgICAgICAgIH0gZWxzZSBpZiAoNDggPT09IHIpIHsKICAgICAgICAgICAgc3dpdGNoIChlLmNoYXJDb2RlQXQoMSkpIHsKICAgICAgICAgICAgICBjYXNlIDY2OgogICAgICAgICAgICAgIGNhc2UgOTg6CiAgICAgICAgICAgICAgICBuID0gMiwgbyA9IDQ5OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSA3OToKICAgICAgICAgICAgICBjYXNlIDExMToKICAgICAgICAgICAgICAgIG4gPSA4LCBvID0gNTU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgcmV0dXJuICtlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciAodmFyIHMsIGggPSBlLnNsaWNlKDIpLCBsID0gMCwgYyA9IGgubGVuZ3RoOyBsIDwgYzsgbCsrKSBpZiAocyA9IGguY2hhckNvZGVBdChsKSwgcyA8IDQ4IHx8IHMgPiBvKSByZXR1cm4gTmFOOwogICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQoaCwgbik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiArZTsKICAgICAgfTsKICAgIGlmICghZigiIDBvMSIpIHx8ICFmKCIwYjEiKSB8fCBmKCIrMHgxIikpIHsKICAgICAgZiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9IGFyZ3VtZW50cy5sZW5ndGggPCAxID8gMCA6IHQsIGkgPSB0aGlzOwogICAgICAgIHJldHVybiBpIGluc3RhbmNlb2YgZiAmJiAoeSA/IGgoKGZ1bmN0aW9uKCkgewogICAgICAgICAgbS52YWx1ZU9mLmNhbGwoaSk7CiAgICAgICAgfSkpIDogcihpKSAhPSB1KSA/IHMobmV3IGcoeChlKSksIGksIGYpIDogeChlKTsKICAgICAgfTsKICAgICAgZm9yICh2YXIgYiwgXyA9IGkoIjllMWUiKSA/IGwoZykgOiAiTUFYX1ZBTFVFLE1JTl9WQUxVRSxOYU4sTkVHQVRJVkVfSU5GSU5JVFksUE9TSVRJVkVfSU5GSU5JVFksRVBTSUxPTixpc0Zpbml0ZSxpc0ludGVnZXIsaXNOYU4saXNTYWZlSW50ZWdlcixNQVhfU0FGRV9JTlRFR0VSLE1JTl9TQUZFX0lOVEVHRVIscGFyc2VGbG9hdCxwYXJzZUludCxpc0ludGVnZXIiLnNwbGl0KCIsIiksIHcgPSAwOyBfLmxlbmd0aCA+IHc7IHcrKykgbyhnLCBiID0gX1t3XSkgJiYgIW8oZiwgYikgJiYgcChmLCBiLCBjKGcsIGIpKTsKICAgICAgZi5wcm90b3R5cGUgPSBtLCBtLmNvbnN0cnVjdG9yID0gZiwgaSgiMmFiYSIpKG4sIHUsIGYpOwogICAgfQogIH0sIGM2NDk6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIGkuZChlLCAiYyIsIChmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIG47CiAgICB9KSksIGkuZChlLCAiYiIsIChmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIHI7CiAgICB9KSksIGkuZChlLCAiYSIsIChmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIHM7CiAgICB9KSk7CiAgICBpKCJhNDgxIiksIGkoIjVkZjMiKSwgaSgiYWM2YSIpOwoKICAgIGZ1bmN0aW9uIG4odCkgewogICAgICB2YXIgZSA9IFtdOwogICAgICByZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgZS5wdXNoKG5ldyBQcm9taXNlKChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICBvKHQsIGUsIGkpOwogICAgICAgIH0pKSk7CiAgICAgIH0pKSwgUHJvbWlzZS5hbGwoZSk7CiAgICB9CgogICAgZnVuY3Rpb24gbyh0KSB7CiAgICAgIHZhciBlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbMV0gPyBhcmd1bWVudHNbMV0gOiBmdW5jdGlvbigpIHsKICAgICAgfSwgaSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzJdID8gYXJndW1lbnRzWzJdIDogZnVuY3Rpb24oKSB7CiAgICAgIH0sIG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKICAgICAgbi5zcmMgPSB0LnNyYywgbi5jcm9zc09yaWdpbiA9ICJhbm9ueW1vdXMiLCBuLmludGVncml0eSA9IHQuaW50ZWdyaXR5LCBuLm9ubG9hZCA9IGUsIG4ub25lcnJvciA9IGZ1bmN0aW9uKCkgewogICAgICAgIGkobmV3IEVycm9yKCJGYWlsZWQgdG8gbG9hZCBzY3JpcHQgIiArIHQuc3JjKSk7CiAgICAgIH0sIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobik7CiAgICB9CgogICAgZnVuY3Rpb24gcih0LCBlLCBpKSB7CiAgICAgIHZhciBuOwogICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIG8gPSB0aGlzLCByID0gYXJndW1lbnRzLCBzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBuID0gbnVsbCwgaSB8fCB0LmFwcGx5KG8sIHIpOwogICAgICAgIH0sIGEgPSBpICYmICFuOwogICAgICAgIGNsZWFyVGltZW91dChuKSwgbiA9IHNldFRpbWVvdXQocywgZSksIGEgJiYgdC5hcHBseShvLCByKTsKICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBzKHQpIHsKICAgICAgdmFyIGUgPSBbXS5zbGljZSwgaSA9IDEgPD0gYXJndW1lbnRzLmxlbmd0aCA/IGUuY2FsbChhcmd1bWVudHMsIDApIDogW10sCiAgICAgICAgbiA9IC8oXnxbXHNcbl18PFtBLVphLXpdKlwvPz4pKCg/Omh0dHBzP3xmdHApOlwvXC9bXC1BLVowLTkrXHUwMDI2XHUyMDE5QCNcLyU/PSgpfl98ITosLjtdKltcLUEtWjAtOStcdTAwMjZAI1wvJT1+KClffF0pL2dpOwogICAgICByZXR1cm4gaS5sZW5ndGggPiAwID8gdC5yZXBsYWNlKG4sIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4gPSAiPGEgaHJlZj1cIiIgKyBpICsgIlwiIGNsYXNzPVwiY2ctcHJpbWFyeS1jb2xvci1kYXJrIGNnLW5vLXVuZGVybGluZVwiIHRhcmdldD1cIl9ibGFua1wiPiIgKyBpICsgIjwvYT4iOwogICAgICAgIHJldHVybiAiIiArIGUgKyBuOwogICAgICB9KSkgOiB0LnJlcGxhY2UobiwgIiQxPGEgY2xhc3M9XCJjZy1wcmltYXJ5LWNvbG9yLWRhcmsgY2ctbm8tdW5kZXJsaW5lXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIiQyXCI+JDI8L2E+Iik7CiAgICB9CiAgfSwgYzY4NjogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCJQb8WZYWTDrSBwb2RsZSB0csW+bsOtIGthcGl0YWxpemFjZVwiLFwibWNhcFwiOlwiVHLFvm7DrSBrYXBpdGFsaXphY2VcIixcIjI0aF92b2x1bWVcIjpcIk9iamVtIHphIDI0IGhvZC5cIixcIjI0aF9oaWdoX2xvd1wiOlwiTmVqdnnFocWhw60vbmVqbmnFvsWhw60gemEgMjQgaG9kLlwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCJTcm92bsOhbsOtIGNlbiBrcnlwdG9txJtuXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCJTcm92bsOhbsOtIGthcGl0YWxpemFjZSBrcnlwdG8gdHJodVwifSxcImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlZ5dcW+w612w6EgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIk5lanZ5xaHFocOtIHphIDI0IGhvZC5cIixcIjI0aF9sb3dcIjpcIk5lam5pxb7FocOtIHphIDI0IGhvZC5cIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlpvYnJheml0IGNlbm92w70gZ3JhZiAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiVnl1xb7DrXbDoSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIlZ5dcW+w612w6EgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImJlYW1fd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiVnl1xb7DrXbDoSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl90aWNrZXJfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIk5lanZ5xaHFocOtIHphIDI0IGhvZC5cIixcIjI0aF9sb3dcIjpcIk5lam5pxb7FocOtIHphIDI0IGhvZC5cIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIlpvYnJheml0IGNlbm92w70gZ3JhZiAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJab2JyYXppdCBjZW5vdsO9IGdyYWYgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiVnl1xb7DrXbDoSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9oZWF0bWFwX3dpZGdldFwiOntcInRpdGxlXCI6XCJTdHJvbW92w6EgbWFwYSBrcnlwdG9txJtuXCIsXCJzdWJ0aXRsZVwiOlwiKE5laiAle3RvcH0gcG9kbGUgdHLFvm7DrSBrYXBpdGFsaXphY2UpXCIsXCJwb3dlcmVkX2J5XCI6XCJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCJPZG3DrXRudXTDrSBvZHBvdsSbZG5vc3RpOiB0eXRvIG7DoXN0cm9qZSBzbG91xb7DrSBwcm8gesOhYmF2dSBhIG5lcMWZZWRzdGF2dWrDrSBmb3JtdSBmaW5hbsSNbsOtaG8gcG9yYWRlbnN0dsOtLlwiLFwic3BpblwiOlwiUm96dG/EjWl0XCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIkRvc3R1cG7DqSBtaW5jZVwifSxcImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkFrdHVhbGl6YWNlIGNlbnkgQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCJDZWxrb3bDoSB0csW+bsOtIGthcC5cIixcIjI0aF92b2xcIjpcIk9iamVtICgyNCBoLilcIixcImRvbVwiOlwiRG9tXCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIkJ1cnphXCIsXCJwYWlyXCI6XCJQw6FyXCIsXCJwcmljZVwiOlwiQ2VuYVwiLFwidm9sdW1lXCI6XCJPYmplbVwiLFwidHJ1c3Rfc2NvcmVcIjpcIlNrw7NyZSBkxa92xJtyeWhvZG5vc3RpXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJab2JyYXppdCBjZW5vdsO9IGdyYWZcIixcInBvd2VyZWRfYnlcIjpcIlZ5dcW+w612w6EgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwiLFwidmlld19hbGxcIjpcIlpvYnJheml0IHbFoWVjaG55IHRyaHkgcHJvICV7Y29pbn1cIn19Iik7CiAgfSwgYzY5YTogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdC5leHBvcnRzID0gIWkoIjllMWUiKSAmJiAhaSgiNzllNSIpKChmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIDcgIT0gT2JqZWN0LmRlZmluZVByb3BlcnR5KGkoIjIzMGUiKSgiZGl2IiksICJhIiwgewogICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gNzsKICAgICAgICB9CiAgICAgIH0pLmE7CiAgICB9KSk7CiAgfSwgYzg5NDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwoKICAgIC8qKgogICAgICogdnVlLWN1c3RvbS1lbGVtZW50IHYzLjIuNgogICAgICogKGMpIDIwMTggS2Fyb2wgRmFiamHFhGN6dWsKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovZnVuY3Rpb24gbih0LCBlKSB7CiAgICAgIHJldHVybiB0Ll9fcHJvdG9fXyA9IGUsIHQ7CiAgICB9CgogICAgT2JqZWN0LnNldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IG47CiAgICBuLmJpbmQoT2JqZWN0KTsKCiAgICBmdW5jdGlvbiBvKCkgewogICAgICByZXR1cm4gInVuZGVmaW5lZCIgIT09IHR5cGVvZiBTeW1ib2wgJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBSZWZsZWN0ICYmICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgUHJveHkgJiYgIU9iamVjdC5pc1NlYWxlZChQcm94eSk7CiAgICB9CgogICAgdmFyIHIgPSBvKCksIHMgPSBmdW5jdGlvbigpIHsKICAgICAgZnVuY3Rpb24gdCh0LCBlKSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB2YXIgbiA9IGVbaV07CiAgICAgICAgICBuLmVudW1lcmFibGUgPSBuLmVudW1lcmFibGUgfHwgITEsIG4uY29uZmlndXJhYmxlID0gITAsICJ2YWx1ZSIgaW4gbiAmJiAobi53cml0YWJsZSA9ICEwKSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIG4ua2V5LCBuKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpLCBuKSB7CiAgICAgICAgcmV0dXJuIGkgJiYgdChlLnByb3RvdHlwZSwgaSksIG4gJiYgdChlLCBuKSwgZTsKICAgICAgfTsKICAgIH0oKTsKCiAgICBmdW5jdGlvbiBhKHQsIGUpIHsKICAgICAgaWYgKCEodCBpbnN0YW5jZW9mIGUpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKTsKICAgIH0KCiAgICBmdW5jdGlvbiBoKHQsIGUpIHsKICAgICAgaWYgKCF0KSB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpOwogICAgICByZXR1cm4gIWUgfHwgIm9iamVjdCIgIT09IHR5cGVvZiBlICYmICJmdW5jdGlvbiIgIT09IHR5cGVvZiBlID8gdCA6IGU7CiAgICB9CgogICAgZnVuY3Rpb24gbCh0LCBlKSB7CiAgICAgIGlmICgiZnVuY3Rpb24iICE9PSB0eXBlb2YgZSAmJiBudWxsICE9PSBlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90ICIgKyB0eXBlb2YgZSk7CiAgICAgIHQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlICYmIGUucHJvdG90eXBlLCB7CiAgICAgICAgY29uc3RydWN0b3I6IHsKICAgICAgICAgIHZhbHVlOiB0LAogICAgICAgICAgZW51bWVyYWJsZTogITEsCiAgICAgICAgICB3cml0YWJsZTogITAsCiAgICAgICAgICBjb25maWd1cmFibGU6ICEwCiAgICAgICAgfQogICAgICB9KSwgZSAmJiAoT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHQsIGUpIDogdC5fX3Byb3RvX18gPSBlKTsKICAgIH0KCiAgICBmdW5jdGlvbiBjKCkgewogICAgICByZXR1cm4gUmVmbGVjdC5jb25zdHJ1Y3QoSFRNTEVsZW1lbnQsIFtdLCB0aGlzLl9fcHJvdG9fXy5jb25zdHJ1Y3Rvcik7CiAgICB9CgogICAgZnVuY3Rpb24gcCh0KSB7CiAgICAgIHZhciBlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbMV0gPyBhcmd1bWVudHNbMV0gOiB7fTsKICAgICAgaWYgKCJ1bmRlZmluZWQiICE9PSB0eXBlb2YgY3VzdG9tRWxlbWVudHMpIHsKICAgICAgICBpZiAocikgewogICAgICAgICAgdmFyIGkgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGkodCkgewogICAgICAgICAgICAgIHZhciBlOwogICAgICAgICAgICAgIGEodGhpcywgaSk7CiAgICAgICAgICAgICAgdmFyIG4gPSBoKHRoaXMsIChpLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaSkpLmNhbGwodGhpcykpLCByID0gdCA/IEhUTUxFbGVtZW50LmNhbGwodCkgOiBuOwogICAgICAgICAgICAgIHJldHVybiBvLmNhbGwociksIGUgPSByLCBoKG4sIGUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gbChpLCB0KSwgcyhpLCBudWxsLCBbewogICAgICAgICAgICAgIGtleTogIm9ic2VydmVkQXR0cmlidXRlcyIsIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZS5vYnNlcnZlZEF0dHJpYnV0ZXMgfHwgW107CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9XSksIGk7CiAgICAgICAgICB9KGMpOwogICAgICAgICAgcmV0dXJuIGkucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrID0gcCwgaS5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2sgPSBkLCBpLnByb3RvdHlwZS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgPSB1LCBmKHQsIGkpLCBpOwogICAgICAgIH0KICAgICAgICB2YXIgbiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHZhciBlID0gdCA/IEhUTUxFbGVtZW50LmNhbGwodCkgOiB0aGlzOwogICAgICAgICAgcmV0dXJuIG8uY2FsbChlKSwgZTsKICAgICAgICB9OwogICAgICAgIHJldHVybiBuLm9ic2VydmVkQXR0cmlidXRlcyA9IGUub2JzZXJ2ZWRBdHRyaWJ1dGVzIHx8IFtdLCBuLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoSFRNTEVsZW1lbnQucHJvdG90eXBlLCB7CiAgICAgICAgICBjb25zdHJ1Y3RvcjogewogICAgICAgICAgICBjb25maWd1cmFibGU6ICEwLAogICAgICAgICAgICB3cml0YWJsZTogITAsCiAgICAgICAgICAgIHZhbHVlOiBuCiAgICAgICAgICB9CiAgICAgICAgfSksIG4ucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrID0gcCwgbi5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2sgPSBkLCBuLnByb3RvdHlwZS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgPSB1LCBmKHQsIG4pLCBuOwogICAgICB9CgogICAgICBmdW5jdGlvbiBvKCkgewogICAgICAgICEwID09PSBlLnNoYWRvdyAmJiBIVE1MRWxlbWVudC5wcm90b3R5cGUuYXR0YWNoU2hhZG93ICYmIHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pLCAiZnVuY3Rpb24iID09PSB0eXBlb2YgZS5jb25zdHJ1Y3RvckNhbGxiYWNrICYmIGUuY29uc3RydWN0b3JDYWxsYmFjay5jYWxsKHRoaXMpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBwKCkgewogICAgICAgICJmdW5jdGlvbiIgPT09IHR5cGVvZiBlLmNvbm5lY3RlZENhbGxiYWNrICYmIGUuY29ubmVjdGVkQ2FsbGJhY2suY2FsbCh0aGlzKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZCgpIHsKICAgICAgICAiZnVuY3Rpb24iID09PSB0eXBlb2YgZS5kaXNjb25uZWN0ZWRDYWxsYmFjayAmJiBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHUodCwgaSwgbikgewogICAgICAgICJmdW5jdGlvbiIgPT09IHR5cGVvZiBlLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayAmJiBlLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjay5jYWxsKHRoaXMsIHQsIGksIG4pOwogICAgICB9CgogICAgICBmdW5jdGlvbiBmKHQsIGUpIHsKICAgICAgICB2YXIgaSA9IGN1c3RvbUVsZW1lbnRzLmdldCh0KTsKICAgICAgICByZXR1cm4gInVuZGVmaW5lZCIgIT09IHR5cGVvZiBpID8gaSA6IGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0LCBlKTsKICAgICAgfQogICAgfQoKICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihjLnByb3RvdHlwZSwgSFRNTEVsZW1lbnQucHJvdG90eXBlKSwgT2JqZWN0LnNldFByb3RvdHlwZU9mKGMsIEhUTUxFbGVtZW50KTsKICAgIHZhciBkID0gLy0oXHcpL2csIHUgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiB0LnJlcGxhY2UoZCwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICByZXR1cm4gZSA/IGUudG9VcHBlckNhc2UoKSA6ICIiOwogICAgICB9KSk7CiAgICB9LCBmID0gLyhbXi1dKShbQS1aXSkvZywgZyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuIHQucmVwbGFjZShmLCAiJDEtJDIiKS5yZXBsYWNlKGYsICIkMS0kMiIpLnRvTG93ZXJDYXNlKCk7CiAgICB9OwoKICAgIGZ1bmN0aW9uIG0odCkgewogICAgICB2YXIgZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzFdID8gYXJndW1lbnRzWzFdIDogMCwgaSA9IHQubGVuZ3RoIC0gZSwgbiA9IG5ldyBBcnJheShpKTsKICAgICAgd2hpbGUgKGktLSkgbltpXSA9IHRbaSArIGVdOwogICAgICByZXR1cm4gbjsKICAgIH0KCiAgICB2YXIgeSA9ICJmdW5jdGlvbiIgPT09IHR5cGVvZiBTeW1ib2wgJiYgInN5bWJvbCIgPT09IHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPyBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiB0eXBlb2YgdDsKICAgIH0gOiBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiB0ICYmICJmdW5jdGlvbiIgPT09IHR5cGVvZiBTeW1ib2wgJiYgdC5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIHQgIT09IFN5bWJvbC5wcm90b3R5cGUgPyAic3ltYm9sIiA6IHR5cGVvZiB0OwogICAgfTsKCiAgICBmdW5jdGlvbiB2KHQsIGUpIHsKICAgICAgdmFyIGkgPSB0LCBuID0gWyJ0cnVlIiwgImZhbHNlIl0uaW5kZXhPZih0KSA+IC0xLCBvID0gcGFyc2VGbG9hdChpLCAxMCksCiAgICAgICAgciA9ICFpc05hTihvKSAmJiBpc0Zpbml0ZShpKSAmJiAic3RyaW5nIiA9PT0gdHlwZW9mIGkgJiYgIWkubWF0Y2goL14wK1teLl1cZCokL2cpOwogICAgICByZXR1cm4gZSAmJiBlICE9PSBCb29sZWFuICYmICgidW5kZWZpbmVkIiA9PT0gdHlwZW9mIGkgPyAidW5kZWZpbmVkIiA6IHkoaSkpICE9PSBlID8gaSA9IGUodCkgOiBuIHx8IGUgPT09IEJvb2xlYW4gPyBpID0gIiIgPT09IGkgfHwgInRydWUiID09PSBpIDogciAmJiAoaSA9IG8pLCBpOwogICAgfQoKICAgIGZ1bmN0aW9uIHgodCwgZSkgewogICAgICBpZiAodCAmJiB0Lmxlbmd0aCkgdC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGkgPSB1KHQpOwogICAgICAgIC0xID09PSBlLmNhbWVsQ2FzZS5pbmRleE9mKGkpICYmIGUuY2FtZWxDYXNlLnB1c2goaSk7CiAgICAgIH0pKTsgZWxzZSBpZiAodCAmJiAib2JqZWN0IiA9PT0gKCJ1bmRlZmluZWQiID09PSB0eXBlb2YgdCA/ICJ1bmRlZmluZWQiIDogeSh0KSkpIGZvciAodmFyIGkgaW4gdCkgewogICAgICAgIHZhciBuID0gdShpKTsKICAgICAgICAtMSA9PT0gZS5jYW1lbENhc2UuaW5kZXhPZihuKSAmJiBlLmNhbWVsQ2FzZS5wdXNoKG4pLCB0W25dICYmIHRbbl0udHlwZSAmJiAoZS50eXBlc1tpXSA9IFtdLmNvbmNhdCh0W25dLnR5cGUpWzBdKTsKICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGIoKSB7CiAgICAgIHZhciB0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbMF0gPyBhcmd1bWVudHNbMF0gOiB7fSwgZSA9IHsgY2FtZWxDYXNlOiBbXSwgaHlwaGVuYXRlOiBbXSwgdHlwZXM6IHt9IH07CiAgICAgIGlmICh0Lm1peGlucyAmJiB0Lm1peGlucy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgeCh0LnByb3BzLCBlKTsKICAgICAgfSkpLCB0LmV4dGVuZHMgJiYgdC5leHRlbmRzLnByb3BzKSB7CiAgICAgICAgdmFyIGkgPSB0LmV4dGVuZHMucHJvcHM7CiAgICAgICAgeChpLCBlKTsKICAgICAgfQogICAgICByZXR1cm4geCh0LnByb3BzLCBlKSwgZS5jYW1lbENhc2UuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgIGUuaHlwaGVuYXRlLnB1c2goZyh0KSk7CiAgICAgIH0pKSwgZTsKICAgIH0KCiAgICBmdW5jdGlvbiBfKHQsIGUpIHsKICAgICAgZS5jYW1lbENhc2UuZm9yRWFjaCgoZnVuY3Rpb24oaSwgbikgewogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBpLCB7CiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fW2ldOwogICAgICAgICAgfSwgc2V0OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGlmICgib2JqZWN0IiAhPT0gKCJ1bmRlZmluZWQiID09PSB0eXBlb2YgdCA/ICJ1bmRlZmluZWQiIDogeSh0KSkgJiYgImZ1bmN0aW9uIiAhPT0gdHlwZW9mIHQgfHwgIXRoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfXykgewogICAgICAgICAgICAgIHZhciBpID0gZS50eXBlc1tlLmNhbWVsQ2FzZVtuXV07CiAgICAgICAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoZS5oeXBoZW5hdGVbbl0sIHYodCwgaSkpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHZhciBvID0gZS5jYW1lbENhc2Vbbl07CiAgICAgICAgICAgICAgdGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fW29dID0gdDsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9KSk7CiAgICB9CgogICAgZnVuY3Rpb24gdyh0LCBlLCBpKSB7CiAgICAgIHZhciBuID0gZS5wcm9wc0RhdGEgfHwge307CiAgICAgIHJldHVybiBpLmh5cGhlbmF0ZS5mb3JFYWNoKChmdW5jdGlvbihlLCBvKSB7CiAgICAgICAgdmFyIHIgPSBpLmNhbWVsQ2FzZVtvXSwgcyA9IHQuYXR0cmlidXRlc1tlXSB8fCB0W3JdLCBhID0gbnVsbDsKICAgICAgICBpLnR5cGVzW3JdICYmIChhID0gaS50eXBlc1tyXSksIHMgaW5zdGFuY2VvZiBBdHRyID8gbltyXSA9IHYocy52YWx1ZSwgYSkgOiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHMgJiYgKG5bcl0gPSBzKTsKICAgICAgfSkpLCBuOwogICAgfQoKICAgIGZ1bmN0aW9uIGsodCkgewogICAgICB2YXIgZSA9IHt9OwogICAgICByZXR1cm4gbSh0LmF0dHJpYnV0ZXMpLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICBlWyJ2dWUtc2xvdCIgPT09IHQubm9kZU5hbWUgPyAic2xvdCIgOiB0Lm5vZGVOYW1lXSA9IHQubm9kZVZhbHVlOwogICAgICB9KSksIGU7CiAgICB9CgogICAgZnVuY3Rpb24gUyh0KSB7CiAgICAgIGlmICh0LmNoaWxkTm9kZXMubGVuZ3RoKSByZXR1cm4gdC5jaGlsZE5vZGVzOwogICAgICBpZiAodC5jb250ZW50ICYmIHQuY29udGVudC5jaGlsZE5vZGVzICYmIHQuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCkgcmV0dXJuIHQuY29udGVudC5jaGlsZE5vZGVzOwogICAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICByZXR1cm4gZS5pbm5lckhUTUwgPSB0LmlubmVySFRNTCwgZS5jaGlsZE5vZGVzOwogICAgfQoKICAgIGZ1bmN0aW9uIEModCwgZSwgaSkgewogICAgICB2YXIgbiA9IFMoZSksIG8gPSBtKG4pLm1hcCgoZnVuY3Rpb24oZSkgewogICAgICAgIHJldHVybiAiI3RleHQiID09PSBlLm5vZGVOYW1lID8gZS5ub2RlVmFsdWUgOiB0KGUudGFnTmFtZSwgeyBhdHRyczogayhlKSwgZG9tUHJvcHM6IHsgaW5uZXJIVE1MOiBlLmlubmVySFRNTCB9IH0pOwogICAgICB9KSk7CiAgICAgIHJldHVybiBpLnNsb3QgPSBlLmlkLCB0KCJ0ZW1wbGF0ZSIsIGksIG8pOwogICAgfQoKICAgIGZ1bmN0aW9uIE0oKSB7CiAgICAgIHZhciB0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbMF0gPyBhcmd1bWVudHNbMF0gOiBbXSwgZSA9IGFyZ3VtZW50c1sxXSwgaSA9IFtdOwogICAgICByZXR1cm4gbSh0KS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgaWYgKCIjdGV4dCIgPT09IHQubm9kZU5hbWUpIHQubm9kZVZhbHVlLnRyaW0oKSAmJiBpLnB1c2goZSgic3BhbiIsIHQubm9kZVZhbHVlKSk7IGVsc2UgaWYgKCIjY29tbWVudCIgIT09IHQubm9kZU5hbWUpIHsKICAgICAgICAgIHZhciBuID0gayh0KSwgbyA9IHsgYXR0cnM6IG4sIGRvbVByb3BzOiB7IGlubmVySFRNTDogIiIgPT09IHQuaW5uZXJIVE1MID8gdC5pbm5lclRleHQgOiB0LmlubmVySFRNTCB9IH07CiAgICAgICAgICBuLnNsb3QgJiYgKG8uc2xvdCA9IG4uc2xvdCwgbi5zbG90ID0gdm9pZCAwKTsKICAgICAgICAgIHZhciByID0gIlRFTVBMQVRFIiA9PT0gdC50YWdOYW1lID8gQyhlLCB0LCBvKSA6IGUodC50YWdOYW1lLCBvKTsKICAgICAgICAgIGkucHVzaChyKTsKICAgICAgICB9CiAgICAgIH0pKSwgaTsKICAgIH0KCiAgICBmdW5jdGlvbiBBKHQsIGUpIHsKICAgICAgdmFyIGkgPSB7IGJ1YmJsZXM6ICExLCBjYW5jZWxhYmxlOiAhMSwgZGV0YWlsOiBlIH0sIG4gPSB2b2lkIDA7CiAgICAgIHJldHVybiAiZnVuY3Rpb24iID09PSB0eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50ID8gbiA9IG5ldyBDdXN0b21FdmVudCh0LCBpKSA6IChuID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50IiksIG4uaW5pdEN1c3RvbUV2ZW50KHQsIGkuYnViYmxlcywgaS5jYW5jZWxhYmxlLCBpLmRldGFpbCkpLCBuOwogICAgfQoKICAgIGZ1bmN0aW9uIFAodCwgZSkgewogICAgICBmb3IgKHZhciBpID0gYXJndW1lbnRzLmxlbmd0aCwgbiA9IEFycmF5KGkgPiAyID8gaSAtIDIgOiAwKSwgbyA9IDI7IG8gPCBpOyBvKyspIG5bbyAtIDJdID0gYXJndW1lbnRzW29dOwogICAgICB2YXIgciA9IEEoZSwgW10uY29uY2F0KG4pKTsKICAgICAgdC5kaXNwYXRjaEV2ZW50KHIpOwogICAgfQoKICAgIGZ1bmN0aW9uIE8odCwgZSwgaSwgbiwgbykgewogICAgICBpZiAoIXQuX192dWVfY3VzdG9tX2VsZW1lbnRfXykgewogICAgICAgIHZhciByID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB0aGlzLiRlbWl0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZvciAodmFyIGUsIGkgPSBhcmd1bWVudHMubGVuZ3RoLCBuID0gQXJyYXkoaSksIG8gPSAwOyBvIDwgaTsgbysrKSBuW29dID0gYXJndW1lbnRzW29dOwogICAgICAgICAgICBQLmFwcGx5KHZvaWQgMCwgW3RdLmNvbmNhdChuKSksIHRoaXMuX19wcm90b19fICYmIChlID0gdGhpcy5fX3Byb3RvX18uJGVtaXQpLmNhbGwuYXBwbHkoZSwgW3RoaXNdLmNvbmNhdChuKSk7CiAgICAgICAgICB9OwogICAgICAgIH0sIHMgPSBlLnV0aWwuZXh0ZW5kKHt9LCBpKSwgYSA9IHcodCwgcywgbiksIGggPSBlLnZlcnNpb24gJiYgcGFyc2VJbnQoZS52ZXJzaW9uLnNwbGl0KCIuIilbMF0sIDEwKSB8fCAwOwogICAgICAgIGlmIChzLmJlZm9yZUNyZWF0ZSA9IFtdLmNvbmNhdChzLmJlZm9yZUNyZWF0ZSB8fCBbXSwgciksIHMuX2NvbXBpbGVkKSB7CiAgICAgICAgICB2YXIgbCA9IHt9OwogICAgICAgICAgcy5fQ3RvciAmJiAobCA9IE9iamVjdC52YWx1ZXMocy5fQ3RvcilbMF0ub3B0aW9ucyksIGwuYmVmb3JlQ3JlYXRlID0gcy5iZWZvcmVDcmVhdGU7CiAgICAgICAgfQogICAgICAgIHZhciBjID0gdm9pZCAwOwogICAgICAgIGlmIChoID49IDIpIHsKICAgICAgICAgIHZhciBwID0gdC5jbG9uZU5vZGUoITApLmNoaWxkTm9kZXM7CiAgICAgICAgICBjID0gewogICAgICAgICAgICBwcm9wc0RhdGE6IGEsIHByb3BzOiBuLmNhbWVsQ2FzZSwgY29tcHV0ZWQ6IHsKICAgICAgICAgICAgICByZWFjdGl2ZVByb3BzOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHt9OwogICAgICAgICAgICAgICAgcmV0dXJuIG4uY2FtZWxDYXNlLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAgICAgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB0W2ldICYmIChlW2ldID0gdFtpXSk7CiAgICAgICAgICAgICAgICB9KSksIGU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCByZW5kZXI6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHsgcHJvcHM6IHRoaXMucmVhY3RpdmVQcm9wcyB9OwogICAgICAgICAgICAgIHJldHVybiB0KHMsIGUsIE0ocCwgdCkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9OwogICAgICAgIH0gZWxzZSBpZiAoMSA9PT0gaCkgYyA9IHMsIGMucHJvcHNEYXRhID0gYTsgZWxzZSB7CiAgICAgICAgICBjID0gczsKICAgICAgICAgIHZhciBkID0ge307CiAgICAgICAgICBPYmplY3Qua2V5cyhhKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGRbdF0gPSB7IGRlZmF1bHQ6IGFbdF0gfTsKICAgICAgICAgIH0pKSwgYy5wcm9wcyA9IGQ7CiAgICAgICAgfQogICAgICAgIHZhciB1ID0gaCA+PSAyID8gIjxkaXY+PC9kaXY+IiA6ICgiPGRpdj4iICsgdC5pbm5lckhUTUwgKyAiPC9kaXY+IikucmVwbGFjZSgvdnVlLXNsb3Q9L2csICJzbG90PSIpOwogICAgICAgIGlmIChvLnNoYWRvdyAmJiB0LnNoYWRvd1Jvb3QgPyAodC5zaGFkb3dSb290LmlubmVySFRNTCA9IHUsIGMuZWwgPSB0LnNoYWRvd1Jvb3QuY2hpbGRyZW5bMF0pIDogKHQuaW5uZXJIVE1MID0gdSwgYy5lbCA9IHQuY2hpbGRyZW5bMF0pLCBfKHQsIG4pLCAiZnVuY3Rpb24iID09PSB0eXBlb2Ygby5iZWZvcmVDcmVhdGVWdWVJbnN0YW5jZSAmJiAoYyA9IG8uYmVmb3JlQ3JlYXRlVnVlSW5zdGFuY2UoYykgfHwgYyksIHQuX192dWVfY3VzdG9tX2VsZW1lbnRfXyA9IG5ldyBlKGMpLCB0Ll9fdnVlX2N1c3RvbV9lbGVtZW50X3Byb3BzX18gPSBuLCB0LmdldFZ1ZUluc3RhbmNlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gdC5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fLiRjaGlsZHJlblswXTsKICAgICAgICB9LCBvLnNoYWRvdyAmJiBvLnNoYWRvd0NzcyAmJiB0LnNoYWRvd1Jvb3QpIHsKICAgICAgICAgIHZhciBmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKICAgICAgICAgIGYudHlwZSA9ICJ0ZXh0L2NzcyIsIGYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoby5zaGFkb3dDc3MpKSwgdC5zaGFkb3dSb290LmFwcGVuZENoaWxkKGYpOwogICAgICAgIH0KICAgICAgICB0LnJlbW92ZUF0dHJpYnV0ZSgidmNlLWNsb2FrIiksIHQuc2V0QXR0cmlidXRlKCJ2Y2UtcmVhZHkiLCAiIiksIFAodCwgInZjZS1yZWFkeSIpOwogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gVCh0KSB7CiAgICAgIHQuY3VzdG9tRWxlbWVudCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICB2YXIgbiA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzJdID8gYXJndW1lbnRzWzJdIDoge30sIG8gPSAiZnVuY3Rpb24iID09PSB0eXBlb2YgaSwgciA9IG8gJiYgeyBwcm9wczogbi5wcm9wcyB8fCBbXSB9LAogICAgICAgICAgcyA9IGIobyA/IHIgOiBpKSwgYSA9IHAoZSwgewogICAgICAgICAgICBjb25zdHJ1Y3RvckNhbGxiYWNrOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAiZnVuY3Rpb24iID09PSB0eXBlb2Ygbi5jb25zdHJ1Y3RvckNhbGxiYWNrICYmIG4uY29uc3RydWN0b3JDYWxsYmFjay5jYWxsKHRoaXMpOwogICAgICAgICAgICB9LCBjb25uZWN0ZWRDYWxsYmFjazogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdmFyIHIgPSB0aGlzLCBhID0gbyAmJiBpKCksIGggPSBhICYmIGEudGhlbiAmJiAiZnVuY3Rpb24iID09PSB0eXBlb2YgYS50aGVuOwogICAgICAgICAgICAgIGlmICgiZnVuY3Rpb24iID09PSB0eXBlb2Ygbi5jb25uZWN0ZWRDYWxsYmFjayAmJiBuLmNvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyksIG8gJiYgIWgpIHRocm93IG5ldyBFcnJvcigiQXN5bmMgY29tcG9uZW50ICIgKyBlICsgIiBkbyBub3QgcmV0dXJucyBQcm9taXNlIik7CiAgICAgICAgICAgICAgdGhpcy5fX2RldGFjaGVkX18gfHwgKGggPyBhLnRoZW4oKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gYihlKTsKICAgICAgICAgICAgICAgIE8ociwgdCwgZSwgaSwgbiksICJmdW5jdGlvbiIgPT09IHR5cGVvZiBuLnZ1ZUluc3RhbmNlQ3JlYXRlZENhbGxiYWNrICYmIG4udnVlSW5zdGFuY2VDcmVhdGVkQ2FsbGJhY2suY2FsbChyKTsKICAgICAgICAgICAgICB9KSkgOiAoTyh0aGlzLCB0LCBpLCBzLCBuKSwgImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG4udnVlSW5zdGFuY2VDcmVhdGVkQ2FsbGJhY2sgJiYgbi52dWVJbnN0YW5jZUNyZWF0ZWRDYWxsYmFjay5jYWxsKHRoaXMpKSksIHRoaXMuX19kZXRhY2hlZF9fID0gITE7CiAgICAgICAgICAgIH0sIGRpc2Nvbm5lY3RlZENhbGxiYWNrOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgdCA9IHRoaXM7CiAgICAgICAgICAgICAgdGhpcy5fX2RldGFjaGVkX18gPSAhMCwgImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG4uZGlzY29ubmVjdGVkQ2FsbGJhY2sgJiYgbi5kaXNjb25uZWN0ZWRDYWxsYmFjay5jYWxsKHRoaXMpLCBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHQuX19kZXRhY2hlZF9fICYmIHQuX192dWVfY3VzdG9tX2VsZW1lbnRfXyAmJiAodC5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fLiRkZXN0cm95KCEwKSwgZGVsZXRlIHQuX192dWVfY3VzdG9tX2VsZW1lbnRfXywgZGVsZXRlIHQuX192dWVfY3VzdG9tX2VsZW1lbnRfcHJvcHNfXyk7CiAgICAgICAgICAgICAgfSksIG4uZGVzdHJveVRpbWVvdXQgfHwgM2UzKTsKICAgICAgICAgICAgfSwgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgaWYgKHRoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfXyAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGkpIHsKICAgICAgICAgICAgICAgIHZhciBvID0gdSh0KTsKICAgICAgICAgICAgICAgICJmdW5jdGlvbiIgPT09IHR5cGVvZiBuLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayAmJiBuLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjay5jYWxsKHRoaXMsIHQsIGUsIGkpOwogICAgICAgICAgICAgICAgdmFyIHIgPSB0aGlzLl9fdnVlX2N1c3RvbV9lbGVtZW50X3Byb3BzX18udHlwZXNbb107CiAgICAgICAgICAgICAgICB0aGlzLl9fdnVlX2N1c3RvbV9lbGVtZW50X19bb10gPSB2KGksIHIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgb2JzZXJ2ZWRBdHRyaWJ1dGVzOiBzLmh5cGhlbmF0ZSwgc2hhZG93OiAhIW4uc2hhZG93ICYmICEhSFRNTEVsZW1lbnQucHJvdG90eXBlLmF0dGFjaFNoYWRvdwogICAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIGE7CiAgICAgIH07CiAgICB9CgogICAgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB3aW5kb3cgJiYgd2luZG93LlZ1ZSAmJiAod2luZG93LlZ1ZS51c2UoVCksIFQuaW5zdGFsbGVkICYmIChULmluc3RhbGxlZCA9ICExKSksIGVbImEiXSA9IFQ7CiAgfSwgYzhiYTogZnVuY3Rpb24odCwgZSkgewogICAgdmFyIGk7CiAgICBpID0gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiB0aGlzOwogICAgfSgpOwogICAgdHJ5IHsKICAgICAgaSA9IGkgfHwgbmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCk7CiAgICB9IGNhdGNoIChuKSB7CiAgICAgICJvYmplY3QiID09PSB0eXBlb2Ygd2luZG93ICYmIChpID0gd2luZG93KTsKICAgIH0KICAgIHQuZXhwb3J0cyA9IGk7CiAgfSwgY2E1YTogZnVuY3Rpb24odCwgZSkgewogICAgdmFyIGkgPSAwLCBuID0gTWF0aC5yYW5kb20oKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgcmV0dXJuICJTeW1ib2woIi5jb25jYXQodm9pZCAwID09PSB0ID8gIiIgOiB0LCAiKV8iLCAoKytpICsgbikudG9TdHJpbmcoMzYpKTsKICAgIH07CiAgfSwgY2E5ZjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBpKCI0ZDAxIiksIG8gPSBpKCJmMzY3IiksIHIgPSBpKCI1NjJlIiksIHMgPSBpKCIxYjdmIiksIGEgPSBpKCJiM2ZkIiksIGggPSBuKHMoKSk7CiAgICBvKGgsIHsgZ2V0UG9seWZpbGw6IHMsIGltcGxlbWVudGF0aW9uOiByLCBzaGltOiBhIH0pLCB0LmV4cG9ydHMgPSBoOwogIH0sIGNhZGY6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gaSgiOWM2YyIpLCBvID0gaSgiZDUzYiIpLCByID0gaSgiODRmMiIpLCBzID0gaSgiNjgyMSIpOwogICAgdC5leHBvcnRzID0gaSgiMDFmOSIpKEFycmF5LCAiQXJyYXkiLCAoZnVuY3Rpb24odCwgZSkgewogICAgICB0aGlzLl90ID0gcyh0KSwgdGhpcy5faSA9IDAsIHRoaXMuX2sgPSBlOwogICAgfSksIChmdW5jdGlvbigpIHsKICAgICAgdmFyIHQgPSB0aGlzLl90LCBlID0gdGhpcy5faywgaSA9IHRoaXMuX2krKzsKICAgICAgcmV0dXJuICF0IHx8IGkgPj0gdC5sZW5ndGggPyAodGhpcy5fdCA9IHZvaWQgMCwgbygxKSkgOiBvKDAsICJrZXlzIiA9PSBlID8gaSA6ICJ2YWx1ZXMiID09IGUgPyB0W2ldIDogW2ksIHRbaV1dKTsKICAgIH0pLCAidmFsdWVzIiksIHIuQXJndW1lbnRzID0gci5BcnJheSwgbigia2V5cyIpLCBuKCJ2YWx1ZXMiKSwgbigiZW50cmllcyIpOwogIH0sIGNiN2M6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiZDNmNCIpOwogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCkgewogICAgICBpZiAoIW4odCkpIHRocm93IFR5cGVFcnJvcih0ICsgIiBpcyBub3QgYW4gb2JqZWN0ISIpOwogICAgICByZXR1cm4gdDsKICAgIH07CiAgfSwgY2NiOTogZnVuY3Rpb24odCwgZSwgaSkgewogICAgZS5mID0gaSgiNTE2OCIpOwogIH0sIGNlMTA6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiNjlhOCIpLCBvID0gaSgiNjgyMSIpLCByID0gaSgiYzM2NiIpKCExKSwgcyA9IGkoIjYxM2IiKSgiSUVfUFJPVE8iKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgdmFyIGksIGEgPSBvKHQpLCBoID0gMCwgbCA9IFtdOwogICAgICBmb3IgKGkgaW4gYSkgaSAhPSBzICYmIG4oYSwgaSkgJiYgbC5wdXNoKGkpOwogICAgICB3aGlsZSAoZS5sZW5ndGggPiBoKSBuKGEsIGkgPSBlW2grK10pICYmICh+cihsLCBpKSB8fCBsLnB1c2goaSkpOwogICAgICByZXR1cm4gbDsKICAgIH07CiAgfSwgY2VmNTogZnVuY3Rpb24odCwgZSwgaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgaS5yKGUpOwogICAgaSgiNmI1NCIpOwogICAgdmFyIG4gPSBpKCIyYjBlIiksIG8gPSBpKCJjODk0IiksIHIgPSBpKCI1MzA5IiksIHMgPSBpKCJhZjE0IiksIGEgPSBpKCJjNjQ5IiksIGggPSBpKCIwMjZhIiksIGwgPSBpKCJlZjJmIiksIGMgPSBpLm4obCk7CiAgICBuWyJhIl0udXNlKG9bImEiXSk7CiAgICB2YXIgcCA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzBdID8gYXJndW1lbnRzWzBdIDogeyBzaGFkb3c6ICExIH07CiAgICAgIG5bImEiXS5jdXN0b21FbGVtZW50KCJjb2luZ2Vja28tY29pbi1jb21wYXJlLWNoYXJ0LXdpZGdldCIsIGhbImEiXSwgewogICAgICAgIHNoYWRvdzogdC5zaGFkb3csIHNoYWRvd0NzczogYy5hLnRvU3RyaW5nKCksIGNvbm5lY3RlZENhbGxiYWNrOiBmdW5jdGlvbigpIHsKICAgICAgICAgIGlmICghdC5zaGFkb3cpIHsKICAgICAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwogICAgICAgICAgICBlLmlubmVySFRNTCA9IGMuYS50b1N0cmluZygpLCBkb2N1bWVudC5oZWFkLmFwcGVuZChlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfTsKICAgIE9iamVjdChzWyJhIl0pKCkgPyBwKHsgc2hhZG93OiAhMCB9KSA6IE9iamVjdChhWyJjIl0pKFtyWyJhIl0uY3VzdG9tRWxlbWVudCwgclsiYSJdLmZldGNoLCByWyJhIl0uY3NzdmFyXSkudGhlbigoZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBwKHsgc2hhZG93OiAhMSB9KTsKICAgIH0pKTsKICB9LCBkMDI0OiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbiA9IGkoIjIxZDAiKSwgbyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsIHIgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LCBzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICBmb3IgKHZhciBuID0gMCwgbyA9IHQubGVuZ3RoOyBuIDwgbzsgbisrKSByLmNhbGwodCwgbikgJiYgKG51bGwgPT0gaSA/IGUodFtuXSwgbiwgdCkgOiBlLmNhbGwoaSwgdFtuXSwgbiwgdCkpOwogICAgfSwgYSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgZm9yICh2YXIgbiA9IDAsIG8gPSB0Lmxlbmd0aDsgbiA8IG87IG4rKykgbnVsbCA9PSBpID8gZSh0LmNoYXJBdChuKSwgbiwgdCkgOiBlLmNhbGwoaSwgdC5jaGFyQXQobiksIG4sIHQpOwogICAgfSwgaCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgZm9yICh2YXIgbiBpbiB0KSByLmNhbGwodCwgbikgJiYgKG51bGwgPT0gaSA/IGUodFtuXSwgbiwgdCkgOiBlLmNhbGwoaSwgdFtuXSwgbiwgdCkpOwogICAgfSwgbCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgaWYgKCFuKGUpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJpdGVyYXRvciBtdXN0IGJlIGEgZnVuY3Rpb24iKTsKICAgICAgdmFyIHI7CiAgICAgIGFyZ3VtZW50cy5sZW5ndGggPj0gMyAmJiAociA9IGkpLCAiW29iamVjdCBBcnJheV0iID09PSBvLmNhbGwodCkgPyBzKHQsIGUsIHIpIDogInN0cmluZyIgPT09IHR5cGVvZiB0ID8gYSh0LCBlLCByKSA6IGgodCwgZSwgcik7CiAgICB9OwogICAgdC5leHBvcnRzID0gbDsKICB9LCBkMzRhOiBmdW5jdGlvbih0KSB7CiAgICB0LmV4cG9ydHMgPSBKU09OLnBhcnNlKCJ7XCJjb2luX2RldGFpbHNcIjp7XCJtY2FwX3JhbmtcIjpcIlJhbmcgdHLFvm5lIGthcGl0YWxpemFjaWplXCIsXCJtY2FwXCI6XCJUcsW+bmEga2FwaXRhbGl6YWNpamFcIixcIjI0aF92b2x1bWVcIjpcIk9ic2VnIHYgMjQgaFwiLFwiMjRoX2hpZ2hfbG93XCI6XCJOYWp2Li9uYWptLiB2IDI0IGhcIn0sXCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiVXBvcmFibGphIHRlaG5vbG9naWpvICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCJQcmltZXJqYXZhIGNlbiBrcmlwdG92YWx1dFwiLFwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvblwiOlwiUHJpbWVyamF2YSB0csW+bmUga2FwaXRhbGl6YWNpamUga3JpcHRvdmFsdXRcIn0sXCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJVcG9yYWJsamEgdGVobm9sb2dpam8gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcIk5hanYuIHYgMjQgaFwiLFwiMjRoX2xvd1wiOlwiTmFqbS4gdiAyNCBoXCIsXCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCJPZ2xlZCBncmFmaWtvbmEga292YW5jYSAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCJVcG9yYWJsamEgdGVobm9sb2dpam8gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJVcG9yYWJsamEgdGVobm9sb2dpam8gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fbGlzdF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCJVcG9yYWJsamEgdGVobm9sb2dpam8gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImJlYW1fd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwiVXBvcmFibGphIHRlaG5vbG9naWpvICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX3RpY2tlcl93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiTmFqdi4gdiAyNCBoXCIsXCIyNGhfbG93XCI6XCJOYWptLiB2IDI0IGhcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIk9nbGVkIGdyYWZpa29uYSBrb3ZhbmNhICV7Y29pbn1cIixcInBvd2VyZWRfYnlcIjpcIlVwb3JhYmxqYSB0ZWhub2xvZ2lqbyAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0XCI6e1widmlld19wcmljZV9jaGFydFwiOlwiT2dsZWQgZ3JhZmlrb25hIGtvdmFuY2EgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwiVXBvcmFibGphIHRlaG5vbG9naWpvICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2hlYXRtYXBfd2lkZ2V0XCI6e1widGl0bGVcIjpcIkRyZXZlc25pIHBvZ2xlZCBrcmlwdG92YWx1dFwiLFwic3VidGl0bGVcIjpcIihUb3AgJXt0b3B9IHBvIHRyxb5uaSBrYXBpdGFsaXphY2lqaSlcIixcInBvd2VyZWRfYnlcIjpcIlVwb3JhYmxqYSB0ZWhub2xvZ2lqbyAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwicmFuZG9tX2NvaW5fd2lkZ2V0XCI6e1wiZGlzY2xhaW1lclwiOlwiSXpqYXZhIG8gb21laml0dmkgb2Rnb3Zvcm5vc3RpOiBUYSBvcm9kamEgc28gbmFtZW5qZW5hIHJhenZlZHJpbHUgaW4gbmUgcHJlZHN0YXZsamFqbyBmaW5hbsSNbmVnYSBzdmV0b3ZhbmphLlwiLFwic3BpblwiOlwiWmF2cnRpXCIsXCJhdmFpbGFibGVfY29pbnNcIjpcIlJhenBvbG/FvmxqaXZpIGtvdmFuY2lcIn0sXCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldFwiOntcInRpdGxlXCI6XCJQb3NvZG9iaXRldiBjZW5lIENvaW5HZWNrb1wiLFwidG90YWxfbWNhcFwiOlwiU2t1cC4gdHIuIGthcC5cIixcIjI0aF92b2xcIjpcIk9ic2VnIHRyZ292YW5qYSB2IDI0IGhcIixcImRvbVwiOlwiRG9taW5hbnRub3N0XCJ9LFwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0XCI6e1wiZXhjaGFuZ2VcIjpcIkJvcnphXCIsXCJwYWlyXCI6XCJQYXJcIixcInByaWNlXCI6XCJDZW5hXCIsXCJ2b2x1bWVcIjpcIk9ic2VnXCIsXCJ0cnVzdF9zY29yZVwiOlwiT2NlbmEgemF1cGFuamFcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIk9nbGVkIGNlbmlrYVwiLFwicG93ZXJlZF9ieVwiOlwiVXBvcmFibGphIHRlaG5vbG9naWpvICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCJPZ2xlZCB2c2VoIHRyZ292IGtvdmFuY2EgJXtjb2lufVwifX0iKTsKICB9LCBkM2Y0OiBmdW5jdGlvbih0LCBlKSB7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0KSB7CiAgICAgIHJldHVybiAib2JqZWN0IiA9PT0gdHlwZW9mIHQgPyBudWxsICE9PSB0IDogImZ1bmN0aW9uIiA9PT0gdHlwZW9mIHQ7CiAgICB9OwogIH0sIGQ0YWI6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgdmFyIGUgPSBuLmNhbGwodCksIGkgPSAiW29iamVjdCBBcmd1bWVudHNdIiA9PT0gZTsKICAgICAgcmV0dXJuIGkgfHwgKGkgPSAiW29iamVjdCBBcnJheV0iICE9PSBlICYmIG51bGwgIT09IHQgJiYgIm9iamVjdCIgPT09IHR5cGVvZiB0ICYmICJudW1iZXIiID09PSB0eXBlb2YgdC5sZW5ndGggJiYgdC5sZW5ndGggPj0gMCAmJiAiW29iamVjdCBGdW5jdGlvbl0iID09PSBuLmNhbGwodC5jYWxsZWUpKSwgaTsKICAgIH07CiAgfSwgZDUzYjogZnVuY3Rpb24odCwgZSkgewogICAgdC5leHBvcnRzID0gZnVuY3Rpb24odCwgZSkgewogICAgICByZXR1cm4geyB2YWx1ZTogZSwgZG9uZTogISF0IH07CiAgICB9OwogIH0sIGQ2Yzc6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSwgbyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsIHIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UsIHMgPSBpKCJkNGFiIiksIGEgPSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLAogICAgICBoID0gIWEuY2FsbCh7IHRvU3RyaW5nOiBudWxsIH0sICJ0b1N0cmluZyIpLCBsID0gYS5jYWxsKChmdW5jdGlvbigpIHsKICAgICAgfSksICJwcm90b3R5cGUiKSwgYyA9IFsidG9TdHJpbmciLCAidG9Mb2NhbGVTdHJpbmciLCAidmFsdWVPZiIsICJoYXNPd25Qcm9wZXJ0eSIsICJpc1Byb3RvdHlwZU9mIiwgInByb3BlcnR5SXNFbnVtZXJhYmxlIiwgImNvbnN0cnVjdG9yIl0sIHAgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUgPSB0LmNvbnN0cnVjdG9yOwogICAgICAgIHJldHVybiBlICYmIGUucHJvdG90eXBlID09PSB0OwogICAgICB9LCBkID0gewogICAgICAgICRhcHBsaWNhdGlvbkNhY2hlOiAhMCwKICAgICAgICAkY29uc29sZTogITAsCiAgICAgICAgJGV4dGVybmFsOiAhMCwKICAgICAgICAkZnJhbWU6ICEwLAogICAgICAgICRmcmFtZUVsZW1lbnQ6ICEwLAogICAgICAgICRmcmFtZXM6ICEwLAogICAgICAgICRpbm5lckhlaWdodDogITAsCiAgICAgICAgJGlubmVyV2lkdGg6ICEwLAogICAgICAgICRvdXRlckhlaWdodDogITAsCiAgICAgICAgJG91dGVyV2lkdGg6ICEwLAogICAgICAgICRwYWdlWE9mZnNldDogITAsCiAgICAgICAgJHBhZ2VZT2Zmc2V0OiAhMCwKICAgICAgICAkcGFyZW50OiAhMCwKICAgICAgICAkc2Nyb2xsTGVmdDogITAsCiAgICAgICAgJHNjcm9sbFRvcDogITAsCiAgICAgICAgJHNjcm9sbFg6ICEwLAogICAgICAgICRzY3JvbGxZOiAhMCwKICAgICAgICAkc2VsZjogITAsCiAgICAgICAgJHdlYmtpdEluZGV4ZWREQjogITAsCiAgICAgICAgJHdlYmtpdFN0b3JhZ2VJbmZvOiAhMCwKICAgICAgICAkd2luZG93OiAhMAogICAgICB9LCB1ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKCJ1bmRlZmluZWQiID09PSB0eXBlb2Ygd2luZG93KSByZXR1cm4gITE7CiAgICAgICAgZm9yICh2YXIgdCBpbiB3aW5kb3cpIHRyeSB7CiAgICAgICAgICBpZiAoIWRbIiQiICsgdF0gJiYgbi5jYWxsKHdpbmRvdywgdCkgJiYgbnVsbCAhPT0gd2luZG93W3RdICYmICJvYmplY3QiID09PSB0eXBlb2Ygd2luZG93W3RdKSB0cnkgewogICAgICAgICAgICBwKHdpbmRvd1t0XSk7CiAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHJldHVybiAhMDsKICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICByZXR1cm4gITA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAhMTsKICAgICAgfSgpLCBmID0gZnVuY3Rpb24odCkgewogICAgICAgIGlmICgidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHdpbmRvdyB8fCAhdSkgcmV0dXJuIHAodCk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHJldHVybiBwKHQpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIHJldHVybiAhMTsKICAgICAgICB9CiAgICAgIH0sIGcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUgPSBudWxsICE9PSB0ICYmICJvYmplY3QiID09PSB0eXBlb2YgdCwgaSA9ICJbb2JqZWN0IEZ1bmN0aW9uXSIgPT09IG8uY2FsbCh0KSwgciA9IHModCksIGEgPSBlICYmICJbb2JqZWN0IFN0cmluZ10iID09PSBvLmNhbGwodCksIHAgPSBbXTsKICAgICAgICBpZiAoIWUgJiYgIWkgJiYgIXIpIHRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdC5rZXlzIGNhbGxlZCBvbiBhIG5vbi1vYmplY3QiKTsKICAgICAgICB2YXIgZCA9IGwgJiYgaTsKICAgICAgICBpZiAoYSAmJiB0Lmxlbmd0aCA+IDAgJiYgIW4uY2FsbCh0LCAwKSkgZm9yICh2YXIgdSA9IDA7IHUgPCB0Lmxlbmd0aDsgKyt1KSBwLnB1c2goU3RyaW5nKHUpKTsKICAgICAgICBpZiAociAmJiB0Lmxlbmd0aCA+IDApIGZvciAodmFyIGcgPSAwOyBnIDwgdC5sZW5ndGg7ICsrZykgcC5wdXNoKFN0cmluZyhnKSk7IGVsc2UgZm9yICh2YXIgbSBpbiB0KSBkICYmICJwcm90b3R5cGUiID09PSBtIHx8ICFuLmNhbGwodCwgbSkgfHwgcC5wdXNoKFN0cmluZyhtKSk7CiAgICAgICAgaWYgKGgpIGZvciAodmFyIHkgPSBmKHQpLCB2ID0gMDsgdiA8IGMubGVuZ3RoOyArK3YpIHkgJiYgImNvbnN0cnVjdG9yIiA9PT0gY1t2XSB8fCAhbi5jYWxsKHQsIGNbdl0pIHx8IHAucHVzaChjW3ZdKTsKICAgICAgICByZXR1cm4gcDsKICAgICAgfTsKICAgIGcuc2hpbSA9IGZ1bmN0aW9uKCkgewogICAgICBpZiAoT2JqZWN0LmtleXMpIHsKICAgICAgICB2YXIgdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIDIgPT09IChPYmplY3Qua2V5cyhhcmd1bWVudHMpIHx8ICIiKS5sZW5ndGg7CiAgICAgICAgfSgxLCAyKTsKICAgICAgICBpZiAoIXQpIHsKICAgICAgICAgIHZhciBlID0gT2JqZWN0LmtleXM7CiAgICAgICAgICBPYmplY3Qua2V5cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHModCkgPyBlKHIuY2FsbCh0KSkgOiBlKHQpOwogICAgICAgICAgfTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBPYmplY3Qua2V5cyA9IGc7CiAgICAgIHJldHVybiBPYmplY3Qua2V5cyB8fCBnOwogICAgfSwgdC5leHBvcnRzID0gZzsKICB9LCBkNmRhOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbigpIHsKICAgICAgaWYgKCJmdW5jdGlvbiIgIT09IHR5cGVvZiBTeW1ib2wgfHwgImZ1bmN0aW9uIiAhPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHJldHVybiAhMTsKICAgICAgaWYgKCJzeW1ib2wiID09PSB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yKSByZXR1cm4gITA7CiAgICAgIHZhciB0ID0ge30sIGUgPSBTeW1ib2woInRlc3QiKSwgaSA9IE9iamVjdChlKTsKICAgICAgaWYgKCJzdHJpbmciID09PSB0eXBlb2YgZSkgcmV0dXJuICExOwogICAgICBpZiAoIltvYmplY3QgU3ltYm9sXSIgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSkgcmV0dXJuICExOwogICAgICBpZiAoIltvYmplY3QgU3ltYm9sXSIgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpKSkgcmV0dXJuICExOwogICAgICB2YXIgbiA9IDQyOwogICAgICBmb3IgKGUgaW4gdFtlXSA9IG4sIHQpIHJldHVybiAhMTsKICAgICAgaWYgKCJmdW5jdGlvbiIgPT09IHR5cGVvZiBPYmplY3Qua2V5cyAmJiAwICE9PSBPYmplY3Qua2V5cyh0KS5sZW5ndGgpIHJldHVybiAhMTsKICAgICAgaWYgKCJmdW5jdGlvbiIgPT09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAmJiAwICE9PSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5sZW5ndGgpIHJldHVybiAhMTsKICAgICAgdmFyIG8gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpOwogICAgICBpZiAoMSAhPT0gby5sZW5ndGggfHwgb1swXSAhPT0gZSkgcmV0dXJuICExOwogICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0LCBlKSkgcmV0dXJuICExOwogICAgICBpZiAoImZ1bmN0aW9uIiA9PT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpIHsKICAgICAgICB2YXIgciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCwgZSk7CiAgICAgICAgaWYgKHIudmFsdWUgIT09IG4gfHwgITAgIT09IHIuZW51bWVyYWJsZSkgcmV0dXJuICExOwogICAgICB9CiAgICAgIHJldHVybiAhMDsKICAgIH07CiAgfSwgZDg2NDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgdmFyIG4gPSBpKCI3OWFhIik7CiAgICB0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgIGlmIChuKHQpLCB2b2lkIDAgPT09IGUpIHJldHVybiB0OwogICAgICBzd2l0Y2ggKGkpIHsKICAgICAgICBjYXNlIDE6CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oaSkgewogICAgICAgICAgICByZXR1cm4gdC5jYWxsKGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICBjYXNlIDI6CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgICByZXR1cm4gdC5jYWxsKGUsIGksIG4pOwogICAgICAgICAgfTsKICAgICAgICBjYXNlIDM6CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oaSwgbiwgbykgewogICAgICAgICAgICByZXR1cm4gdC5jYWxsKGUsIGksIG4sIG8pOwogICAgICAgICAgfTsKICAgICAgfQogICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHQuYXBwbHkoZSwgYXJndW1lbnRzKTsKICAgICAgfTsKICAgIH07CiAgfSwgZDhkNjogZnVuY3Rpb24odCwgZSwgaSkgewogICAgaSgiMTY1NCIpLCBpKCI2YzFjIiksIHQuZXhwb3J0cyA9IGkoImNjYjkiKS5mKCJpdGVyYXRvciIpOwogIH0sIGQ4ZTg6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgaWYgKCJmdW5jdGlvbiIgIT0gdHlwZW9mIHQpIHRocm93IFR5cGVFcnJvcih0ICsgIiBpcyBub3QgYSBmdW5jdGlvbiEiKTsKICAgICAgcmV0dXJuIHQ7CiAgICB9OwogIH0sIGQ5ZjY6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiZTRhZSIpLCBvID0gaSgiNzk0YiIpLCByID0gaSgiMWJjMyIpLCBzID0gT2JqZWN0LmRlZmluZVByb3BlcnR5OwogICAgZS5mID0gaSgiOGU2MCIpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5IDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgICBpZiAobih0KSwgZSA9IHIoZSwgITApLCBuKGkpLCBvKSB0cnkgewogICAgICAgIHJldHVybiBzKHQsIGUsIGkpOwogICAgICB9IGNhdGNoIChhKSB7CiAgICAgIH0KICAgICAgaWYgKCJnZXQiIGluIGkgfHwgInNldCIgaW4gaSkgdGhyb3cgVHlwZUVycm9yKCJBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEiKTsKICAgICAgcmV0dXJuICJ2YWx1ZSIgaW4gaSAmJiAodFtlXSA9IGkudmFsdWUpLCB0OwogICAgfTsKICB9LCBkYmRiOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoIjU4NGEiKSwgbyA9IGkoImU1M2QiKSwgciA9ICJfX2NvcmUtanNfc2hhcmVkX18iLCBzID0gb1tyXSB8fCAob1tyXSA9IHt9KTsKICAgICh0LmV4cG9ydHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgIHJldHVybiBzW3RdIHx8IChzW3RdID0gdm9pZCAwICE9PSBlID8gZSA6IHt9KTsKICAgIH0pKCJ2ZXJzaW9ucyIsIFtdKS5wdXNoKHsgdmVyc2lvbjogbi52ZXJzaW9uLCBtb2RlOiBpKCJiOGUzIikgPyAicHVyZSIgOiAiZ2xvYmFsIiwgY29weXJpZ2h0OiAiwqkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSIgfSk7CiAgfSwgZGNkMDogZnVuY3Rpb24odCkgewogICAgdC5leHBvcnRzID0gSlNPTi5wYXJzZSgie1wiY29pbl9kZXRhaWxzXCI6e1wibWNhcF9yYW5rXCI6XCLQoNC10LnRgtC40L3QsyDQv9C+INC/0LDQt9Cw0YDQvdCwINC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNGPXCIsXCJtY2FwXCI6XCLQn9Cw0LfQsNGA0L3QsCDQutCw0L/QuNGC0LDQu9C40LfQsNGG0LjRj1wiLFwiMjRoX3ZvbHVtZVwiOlwi0J7QsdC10Lwg0LfQsCAyNCDRhy5cIixcIjI0aF9oaWdoX2xvd1wiOlwi0J3QsNC5LdCy0LjRgdC+0LrQsC/QvdCw0Lkt0L3QuNGB0LrQsCDRgdGC0L7QudC90L7RgdGCINC30LAgMjQg0YcuXCJ9LFwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcImNyeXB0b19wcmljZV9jb21wYXJpc29uXCI6XCLQodGA0LDQstC90LXQvdC40LUg0L3QsCDRhtC10L3QuNGC0LUg0L3QsCDQutGA0LjQv9GC0L7QstCw0LvRg9GC0LjRgtC1XCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCLQodGA0LDQstC90LXQvdC40LUg0L3QsCDQv9Cw0LfQsNGA0L3QsNGC0LAg0LrQsNC/0LjRgtCw0LvQuNC30LDRhtC40Y8g0L3QsCDQutGA0LjQv9GC0L7QstCw0LvRg9GC0LjRgtC1XCJ9LFwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0XCI6e1wiMjRoX2hpZ2hcIjpcItCd0LDQuS3QstC40YHQvtC60LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIDI0INGHLlwiLFwiMjRoX2xvd1wiOlwi0J3QsNC5LdC90LjRgdC60LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIDI0INGHLlwiLFwidmlld19wcmljZV9jaGFydFwiOlwi0J/RgNC10LPQu9C10LQg0L3QsCDQs9GA0LDRhNC40LrQsNGC0LAg0L3QsCDRhtC10L3QuNGC0LUg0L3QsCAle2NvaW59XCIsXCJwb3dlcmVkX2J5XCI6XCLQn9C+0LTQtNGK0YDQttCwINGB0LUg0L7RgiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9XCJ9LFwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIn0sXCJjb2luX2xpc3Rfd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImJlYW1fd2lkZ2V0XCI6e1wicG93ZXJlZF9ieVwiOlwi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fdGlja2VyX3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCLQndCw0Lkt0LLQuNGB0L7QutCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCAyNCDRhy5cIixcIjI0aF9sb3dcIjpcItCd0LDQuS3QvdC40YHQutCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCAyNCDRhy5cIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcItCf0YDQtdCz0LvQtdC0INC90LAg0LPRgNCw0YTQuNC60LDRgtCwINC90LAg0YbQtdC90LjRgtC1INC90LAgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5fY29udmVydGVyX3dpZGdldFwiOntcInZpZXdfcHJpY2VfY2hhcnRcIjpcItCf0YDQtdCz0LvQtdC0INC90LAg0LPRgNCw0YTQuNC60LDRgtCwINC90LAg0YbQtdC90LjRgtC1INC90LAgJXtjb2lufVwiLFwicG93ZXJlZF9ieVwiOlwi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi0JTRitGA0LLQvtCy0LjQtNC90LAg0LrQsNGA0YLQsCDQvdCwINC60YDQuNC/0YLQvtCy0LDQu9GD0YLQuNGC0LVcIixcInN1YnRpdGxlXCI6XCIo0KLQvtC/ICV7dG9wfSDQv9C+INC/0LDQt9Cw0YDQvdCwINC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNGPKVwiLFwicG93ZXJlZF9ieVwiOlwi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfVwifSxcInJhbmRvbV9jb2luX3dpZGdldFwiOntcImRpc2NsYWltZXJcIjpcItCe0YLQutCw0Lcg0L7RgiDQvtGC0LPQvtCy0L7RgNC90L7RgdGCOiDQotC10LfQuCDQuNC90YHRgtGA0YPQvNC10L3RgtC4INGB0LAg0LfQsCDRgNCw0LfQstC70LXRh9C10L3QuNC1INC4INC90LUg0L/RgNC10LTRgdGC0LDQstC70Y/QstCw0YIg0YTQuNC90LDQvdGB0L7QsiDRgdGK0LLQtdGCLlwiLFwic3BpblwiOlwi0J/Qu9Cw0YLRhNC+0YDQvNCwIFNwaW5cIixcImF2YWlsYWJsZV9jb2luc1wiOlwi0J3QsNC70LjRh9C90Lgg0LLQsNC70YPRgtC4XCJ9LFwiY29pbl9kYWlseV9wcmljZV93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi0JDQutGC0YPQsNC70LjQt9C40YDQsNC90LUg0L3QsCDRhtC10L3QuNGC0LUg0LIgQ29pbkdlY2tvXCIsXCJ0b3RhbF9tY2FwXCI6XCLQntCx0YnQsCDQv9Cw0LfQsNGA0L3QsCDQutCw0L/QuNGC0LDQu9C40LfQsNGG0LjRj1wiLFwiMjRoX3ZvbFwiOlwi0J7QsdC10Lwg0LfQsCAyNCDRhy5cIixcImRvbVwiOlwi0JTQvtC8LlwifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCLQkdC+0YDRgdCwXCIsXCJwYWlyXCI6XCLQlNCy0L7QudC60LBcIixcInByaWNlXCI6XCLQptC10L3QsFwiLFwidm9sdW1lXCI6XCLQntCx0LXQvFwiLFwidHJ1c3Rfc2NvcmVcIjpcItCg0LXQt9GD0LvRgtCw0YIg0LfQsCDQtNC+0LLQtdGA0LjQtVwiLFwidmlld19wcmljZV9jaGFydFwiOlwi0J/RgNC10LPQu9C10LQg0L3QsCDQs9GA0LDRhNC40LrQsNGC0LAg0L3QsCDRhtC10L3QuNGC0LVcIixcInBvd2VyZWRfYnlcIjpcItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH1cIixcInZpZXdfYWxsXCI6XCLQn9GA0LXQs9C70LXQtCDQvdCwINCy0YHQuNGH0LrQuCDQv9Cw0LfQsNGA0Lgg0LfQsCAle2NvaW59XCJ9fSIpOwogIH0sIGRkMTE6IGZ1bmN0aW9uKHQpIHsKICAgIHQuZXhwb3J0cyA9IEpTT04ucGFyc2UoIntcImNvaW5fZGV0YWlsc1wiOntcIm1jYXBfcmFua1wiOlwi7Iuc6rCA7LSd7JWhIOyInOychFwiLFwibWNhcFwiOlwi7Iuc6rCA7LSd7JWhXCIsXCIyNGhfdm9sdW1lXCI6XCIyNOyLnOqwhCDrs7zrpahcIixcIjI0aF9oaWdoX2xvd1wiOlwiMjTsi5zqsIQg6rOg6rCAL+yggOqwgFwifSxcImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOygnOqztVwiLFwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb25cIjpcIuyVlO2YuO2ZlO2PkCDqsIDqsqkg67mE6rWQXCIsXCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uXCI6XCLslZTtmLjtmZTtj5Ag7Iuc6rCA7LSd7JWhIOu5hOq1kFwifSxcImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1XCJ9LFwiY29pbl9wcmljZV9jaGFydF93aWRnZXRcIjp7XCIyNGhfaGlnaFwiOlwiMjTsi5zqsIQg6rOg6rCAXCIsXCIyNGhfbG93XCI6XCIyNOyLnOqwhCDsoIDqsIBcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIiV7Y29pbn0g6rCA6rKpIOywqO2KuCDsobDtmoxcIixcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1XCJ9LFwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1XCJ9LFwiY29pbl9saXN0X3dpZGdldFwiOntcInBvd2VyZWRfYnlcIjpcIiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1XCJ9LFwiYmVhbV93aWRnZXRcIjp7XCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOygnOqztVwifSxcImNvaW5fdGlja2VyX3dpZGdldFwiOntcIjI0aF9oaWdoXCI6XCIyNOyLnOqwhCDqs6DqsIBcIixcIjI0aF9sb3dcIjpcIjI07Iuc6rCEIOyggOqwgFwiLFwidmlld19wcmljZV9jaGFydFwiOlwiJXtjb2lufSDqsIDqsqkg7LCo7Yq4IOyhsO2ajFwiLFwicG93ZXJlZF9ieVwiOlwiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDsoJzqs7VcIn0sXCJjb2luX2NvbnZlcnRlcl93aWRnZXRcIjp7XCJ2aWV3X3ByaWNlX2NoYXJ0XCI6XCIle2NvaW59IOqwgOqyqSDssKjtirgg7KGw7ZqMXCIsXCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOygnOqztVwifSxcImNvaW5faGVhdG1hcF93aWRnZXRcIjp7XCJ0aXRsZVwiOlwi7JWU7Zi47ZmU7Y+QIOuCmOustOyngOuPhFwiLFwic3VidGl0bGVcIjpcIijsi5zqsIDstJ3slaEg6riw7KSAIOyDgeychCAle3RvcH0g7L2U7J24KVwiLFwicG93ZXJlZF9ieVwiOlwiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDsoJzqs7VcIn0sXCJyYW5kb21fY29pbl93aWRnZXRcIjp7XCJkaXNjbGFpbWVyXCI6XCLqs6Dsp4Ag7IKs7ZWtOiDrs7gg64+E6rWs64qUIOyerOuvuOuhnOunjCDtmZzsmqntlaAg7IiYIOyeiOyKteuLiOuLpCwg6riI7Jy17KCB7J24IOyekOusuOydtCDslYTri5nri4jri6QuXCIsXCJzcGluXCI6XCLtmozsoIRcIixcImF2YWlsYWJsZV9jb2luc1wiOlwi7IKs7JqpIOqwgOuKpSDsvZTsnbhcIn0sXCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldFwiOntcInRpdGxlXCI6XCJDb2luR2Vja28g6rCA6rKpIOyXheuNsOydtO2KuFwiLFwidG90YWxfbWNhcFwiOlwi7LSdIOyLnOqwgOy0neyVoVwiLFwiMjRoX3ZvbFwiOlwiMjTsi5zqsIQg6rGw656Y65+JXCIsXCJkb21cIjpcIuyngOuwsOugpVwifSxcImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldFwiOntcImV4Y2hhbmdlXCI6XCLqsbDrnpjshoxcIixcInBhaXJcIjpcIuyMjVwiLFwicHJpY2VcIjpcIuyLnOyEuFwiLFwidm9sdW1lXCI6XCLqsbDrnpjrn4lcIixcInRydXN0X3Njb3JlXCI6XCLsi6DrorDsp4DsiJhcIixcInZpZXdfcHJpY2VfY2hhcnRcIjpcIuqwgOqyqSDssKjtirgg7KGw7ZqMXCIsXCJwb3dlcmVkX2J5XCI6XCIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOygnOqztVwiLFwidmlld19hbGxcIjpcIuyghOyytCAle2NvaW59IOuniOy8kyDsobDtmoxcIn19Iik7CiAgfSwgZTExZTogZnVuY3Rpb24odCwgZSkgewogICAgdC5leHBvcnRzID0gImNvbnN0cnVjdG9yLGhhc093blByb3BlcnR5LGlzUHJvdG90eXBlT2YscHJvcGVydHlJc0VudW1lcmFibGUsdG9Mb2NhbGVTdHJpbmcsdG9TdHJpbmcsdmFsdWVPZiIuc3BsaXQoIiwiKTsKICB9LCBlNGFlOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICB2YXIgbiA9IGkoImY3NzIiKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgaWYgKCFuKHQpKSB0aHJvdyBUeXBlRXJyb3IodCArICIgaXMgbm90IGFuIG9iamVjdCEiKTsKICAgICAgcmV0dXJuIHQ7CiAgICB9OwogIH0sIGU1M2Q6IGZ1bmN0aW9uKHQsIGUpIHsKICAgIHZhciBpID0gdC5leHBvcnRzID0gInVuZGVmaW5lZCIgIT0gdHlwZW9mIHdpbmRvdyAmJiB3aW5kb3cuTWF0aCA9PSBNYXRoID8gd2luZG93IDogInVuZGVmaW5lZCIgIT0gdHlwZW9mIHNlbGYgJiYgc2VsZi5NYXRoID09IE1hdGggPyBzZWxmIDogRnVuY3Rpb24oInJldHVybiB0aGlzIikoKTsKICAgICJudW1iZXIiID09IHR5cGVvZiBfX2cgJiYgKF9fZyA9IGkpOwogIH0sIGU1OTE6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuOwogICAgKGZ1bmN0aW9uKG8sIHIpIHsKICAgICAgdC5leHBvcnRzID8gKHJbImRlZmF1bHQiXSA9IHIsIHQuZXhwb3J0cyA9IG8uZG9jdW1lbnQgPyByKG8pIDogcikgOiAobiA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiByKG8pOwogICAgICB9LmNhbGwoZSwgaSwgZSwgdCksIHZvaWQgMCA9PT0gbiB8fCAodC5leHBvcnRzID0gbikpOwogICAgfSkoInVuZGVmaW5lZCIgIT09IHR5cGVvZiB3aW5kb3cgPyB3aW5kb3cgOiB0aGlzLCAoZnVuY3Rpb24odCkgewogICAgICBmdW5jdGlvbiBlKHQsIGUsIGksIG4pIHsKICAgICAgICB0Lmhhc093blByb3BlcnR5KGUpIHx8ICh0W2VdID0gbi5hcHBseShudWxsLCBpKSk7CiAgICAgIH0KCiAgICAgIHZhciBpID0ge307CiAgICAgIHJldHVybiBlKGksICJDb3JlL0dsb2JhbHMuanMiLCBbXSwgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBlLCBpID0gInVuZGVmaW5lZCIgIT09IHR5cGVvZiB0ID8gdCA6ICJ1bmRlZmluZWQiICE9PSB0eXBlb2Ygd2luZG93ID8gd2luZG93IDoge307CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHQuU1ZHX05TID0gImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgdC5wcm9kdWN0ID0gIkhpZ2hjaGFydHMiLCB0LnZlcnNpb24gPSAiOS4zLjMiLCB0LndpbiA9IGksIHQuZG9jID0gdC53aW4uZG9jdW1lbnQsIHQuc3ZnID0gdC5kb2MgJiYgdC5kb2MuY3JlYXRlRWxlbWVudE5TICYmICEhdC5kb2MuY3JlYXRlRWxlbWVudE5TKHQuU1ZHX05TLCAic3ZnIikuY3JlYXRlU1ZHUmVjdCwgdC51c2VyQWdlbnQgPSB0Lndpbi5uYXZpZ2F0b3IgJiYgdC53aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCB8fCAiIiwgdC5pc0Nocm9tZSA9IC0xICE9PSB0LnVzZXJBZ2VudC5pbmRleE9mKCJDaHJvbWUiKSwgdC5pc0ZpcmVmb3ggPSAtMSAhPT0gdC51c2VyQWdlbnQuaW5kZXhPZigiRmlyZWZveCIpLCB0LmlzTVMgPSAvKGVkZ2V8bXNpZXx0cmlkZW50KS9pLnRlc3QodC51c2VyQWdlbnQpICYmICF0Lndpbi5vcGVyYSwgdC5pc1NhZmFyaSA9ICF0LmlzQ2hyb21lICYmIC0xICE9PSB0LnVzZXJBZ2VudC5pbmRleE9mKCJTYWZhcmkiKSwgdC5pc1RvdWNoRGV2aWNlID0gLyhNb2JpbGV8QW5kcm9pZHxXaW5kb3dzIFBob25lKS8udGVzdCh0LnVzZXJBZ2VudCksIHQuaXNXZWJLaXQgPSAtMSAhPT0gdC51c2VyQWdlbnQuaW5kZXhPZigiQXBwbGVXZWJLaXQiKSwgdC5kZWcycmFkID0gMiAqIE1hdGguUEkgLyAzNjAsIHQuaGFzQmlkaUJ1ZyA9IHQuaXNGaXJlZm94ICYmIDQgPiBwYXJzZUludCh0LnVzZXJBZ2VudC5zcGxpdCgiRmlyZWZveC8iKVsxXSwgMTApLCB0Lmhhc1RvdWNoID0gISF0Lndpbi5Ub3VjaEV2ZW50LCB0Lm1hcmdpbk5hbWVzID0gWyJwbG90VG9wIiwgIm1hcmdpblJpZ2h0IiwgIm1hcmdpbkJvdHRvbSIsICJwbG90TGVmdCJdLCB0Lm5vb3AgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIH0sIHQuc3VwcG9ydHNQYXNzaXZlRXZlbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gITE7CiAgICAgICAgICAgIGlmICghdC5pc01TKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICJwYXNzaXZlIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgZSA9ICEwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIHQud2luLmFkZEV2ZW50TGlzdGVuZXIgJiYgdC53aW4ucmVtb3ZlRXZlbnRMaXN0ZW5lciAmJiAodC53aW4uYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLCB0Lm5vb3AsIGkpLCB0Lndpbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZSIsIHQubm9vcCwgaSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBlOwogICAgICAgICAgfSgpLCB0LmNoYXJ0cyA9IFtdLCB0LmRhdGVGb3JtYXRzID0ge30sIHQuc2VyaWVzVHlwZXMgPSB7fSwgdC5zeW1ib2xTaXplcyA9IHt9LCB0LmNoYXJ0Q291bnQgPSAwOwogICAgICAgIH0oZSB8fCAoZSA9IHt9KSksIGU7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9VdGlsaXRpZXMuanMiLCBbaVsiQ29yZS9HbG9iYWxzLmpzIl1dLCAoZnVuY3Rpb24odCkgewogICAgICAgIGZ1bmN0aW9uIGUoaSwgbiwgbywgcikgewogICAgICAgICAgdmFyIHMgPSBuID8gIkhpZ2hjaGFydHMgZXJyb3IiIDogIkhpZ2hjaGFydHMgd2FybmluZyI7CiAgICAgICAgICAzMiA9PT0gaSAmJiAoaSA9IHMgKyAiOiBEZXByZWNhdGVkIG1lbWJlciIpOwogICAgICAgICAgdmFyIGEgPSBsKGkpLCBoID0gYSA/IHMgKyAiICMiICsgaSArICI6IHd3dy5oaWdoY2hhcnRzLmNvbS9lcnJvcnMvIiArIGkgKyAiLyIgOiBpLnRvU3RyaW5nKCk7CiAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgIT09IHR5cGVvZiByKSB7CiAgICAgICAgICAgIHZhciBjID0gIiI7CiAgICAgICAgICAgIGEgJiYgKGggKz0gIj8iKSwgeShyLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGMgKz0gIlxuIC0gIiArIGUgKyAiOiAiICsgdCwgYSAmJiAoaCArPSBlbmNvZGVVUkkoZSkgKyAiPSIgKyBlbmNvZGVVUkkodCkpOwogICAgICAgICAgICB9KSksIGggKz0gYzsKICAgICAgICAgIH0KICAgICAgICAgIHgodCwgImRpc3BsYXlFcnJvciIsIHsgY2hhcnQ6IG8sIGNvZGU6IGksIG1lc3NhZ2U6IGgsIHBhcmFtczogciB9LCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmIChuKSB0aHJvdyBFcnJvcihoKTsKICAgICAgICAgICAgdy5jb25zb2xlICYmIC0xID09PSBlLm1lc3NhZ2VzLmluZGV4T2YoaCkgJiYgY29uc29sZS53YXJuKGgpOwogICAgICAgICAgfSkpLCBlLm1lc3NhZ2VzLnB1c2goaCk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpKHQsIGUpIHsKICAgICAgICAgIHZhciBuID0ge307CiAgICAgICAgICByZXR1cm4geSh0LCAoZnVuY3Rpb24obywgcikgewogICAgICAgICAgICBzKHRbcl0sICEwKSAmJiAhdC5ub2RlVHlwZSAmJiBlW3JdID8gKG8gPSBpKHRbcl0sIGVbcl0pLCBPYmplY3Qua2V5cyhvKS5sZW5ndGggJiYgKG5bcl0gPSBvKSkgOiAocyh0W3JdKSB8fCB0W3JdICE9PSBlW3JdKSAmJiAobltyXSA9IHRbcl0pOwogICAgICAgICAgfSkpLCBuOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbih0LCBlKSB7CiAgICAgICAgICByZXR1cm4gcGFyc2VJbnQodCwgZSB8fCAxMCk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvKHQpIHsKICAgICAgICAgIHJldHVybiAic3RyaW5nIiA9PT0gdHlwZW9mIHQ7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiByKHQpIHsKICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLCAiW29iamVjdCBBcnJheV0iID09PSB0IHx8ICJbb2JqZWN0IEFycmF5IEl0ZXJhdG9yXSIgPT09IHQ7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBzKHQsIGUpIHsKICAgICAgICAgIHJldHVybiAhIXQgJiYgIm9iamVjdCIgPT09IHR5cGVvZiB0ICYmICghZSB8fCAhcih0KSk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBhKHQpIHsKICAgICAgICAgIHJldHVybiBzKHQpICYmICJudW1iZXIiID09PSB0eXBlb2YgdC5ub2RlVHlwZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGgodCkgewogICAgICAgICAgdmFyIGUgPSB0ICYmIHQuY29uc3RydWN0b3I7CiAgICAgICAgICByZXR1cm4gISghcyh0LCAhMCkgfHwgYSh0KSB8fCAhZSB8fCAhZS5uYW1lIHx8ICJPYmplY3QiID09PSBlLm5hbWUpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbCh0KSB7CiAgICAgICAgICByZXR1cm4gIm51bWJlciIgPT09IHR5cGVvZiB0ICYmICFpc05hTih0KSAmJiAxIC8gMCA+IHQgJiYgLTEgLyAwIDwgdDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGModCkgewogICAgICAgICAgcmV0dXJuICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdCAmJiBudWxsICE9PSB0OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gcCh0LCBlLCBpKSB7CiAgICAgICAgICB2YXIgbjsKICAgICAgICAgIHJldHVybiBvKGUpID8gYyhpKSA/IHQuc2V0QXR0cmlidXRlKGUsIGkpIDogdCAmJiB0LmdldEF0dHJpYnV0ZSAmJiAoKG4gPSB0LmdldEF0dHJpYnV0ZShlKSkgfHwgImNsYXNzIiAhPT0gZSB8fCAobiA9IHQuZ2V0QXR0cmlidXRlKGUgKyAiTmFtZSIpKSkgOiB5KGUsIChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGMoZSkgPyB0LnNldEF0dHJpYnV0ZShpLCBlKSA6IHQucmVtb3ZlQXR0cmlidXRlKGkpOwogICAgICAgICAgfSkpLCBuOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZCh0LCBlKSB7CiAgICAgICAgICB2YXIgaTsKICAgICAgICAgIGZvciAoaSBpbiB0IHx8ICh0ID0ge30pLCBlKSB0W2ldID0gZVtpXTsKICAgICAgICAgIHJldHVybiB0OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gdSgpIHsKICAgICAgICAgIGZvciAodmFyIHQgPSBhcmd1bWVudHMsIGUgPSB0Lmxlbmd0aCwgaSA9IDA7IGkgPCBlOyBpKyspIHsKICAgICAgICAgICAgdmFyIG4gPSB0W2ldOwogICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgIT09IHR5cGVvZiBuICYmIG51bGwgIT09IG4pIHJldHVybiBuOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZihlLCBpKSB7CiAgICAgICAgICB0LmlzTVMgJiYgIXQuc3ZnICYmIGkgJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBpLm9wYWNpdHkgJiYgKGkuZmlsdGVyID0gImFscGhhKG9wYWNpdHk9IiArIDEwMCAqIGkub3BhY2l0eSArICIpIiksIGQoZS5zdHlsZSwgaSk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBnKHQsIGUpIHsKICAgICAgICAgIHJldHVybiAxZTE0IDwgdCA/IHQgOiBwYXJzZUZsb2F0KHQudG9QcmVjaXNpb24oZSB8fCAxNCkpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbShpLCBvLCByKSB7CiAgICAgICAgICB2YXIgcyA9IHQuZ2V0U3R5bGUgfHwgbTsKICAgICAgICAgIGlmICgid2lkdGgiID09PSBvKSByZXR1cm4gbyA9IE1hdGgubWluKGkub2Zmc2V0V2lkdGgsIGkuc2Nyb2xsV2lkdGgpLCByID0gaS5nZXRCb3VuZGluZ0NsaWVudFJlY3QgJiYgaS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCwgciA8IG8gJiYgciA+PSBvIC0gMSAmJiAobyA9IE1hdGguZmxvb3IocikpLCBNYXRoLm1heCgwLCBvIC0gKHMoaSwgInBhZGRpbmctbGVmdCIsICEwKSB8fCAwKSAtIChzKGksICJwYWRkaW5nLXJpZ2h0IiwgITApIHx8IDApKTsKICAgICAgICAgIGlmICgiaGVpZ2h0IiA9PT0gbykgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKGkub2Zmc2V0SGVpZ2h0LCBpLnNjcm9sbEhlaWdodCkgLSAocyhpLCAicGFkZGluZy10b3AiLCAhMCkgfHwgMCkgLSAocyhpLCAicGFkZGluZy1ib3R0b20iLCAhMCkgfHwgMCkpOwogICAgICAgICAgaWYgKHcuZ2V0Q29tcHV0ZWRTdHlsZSB8fCBlKDI3LCAhMCksIGkgPSB3LmdldENvbXB1dGVkU3R5bGUoaSwgdm9pZCAwKSkgewogICAgICAgICAgICB2YXIgYSA9IGkuZ2V0UHJvcGVydHlWYWx1ZShvKTsKICAgICAgICAgICAgdShyLCAib3BhY2l0eSIgIT09IG8pICYmIChhID0gbihhKSk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gYTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHkodCwgZSwgaSkgewogICAgICAgICAgZm9yICh2YXIgbiBpbiB0KSBPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiBlLmNhbGwoaSB8fCB0W25dLCB0W25dLCBuLCB0KTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHYoZSwgaSwgbikgewogICAgICAgICAgZnVuY3Rpb24gbyhpLCBuKSB7CiAgICAgICAgICAgIHZhciBvID0gZS5yZW1vdmVFdmVudExpc3RlbmVyIHx8IHQucmVtb3ZlRXZlbnRMaXN0ZW5lclBvbHlmaWxsOwogICAgICAgICAgICBvICYmIG8uY2FsbChlLCBpLCBuLCAhMSk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gcih0KSB7CiAgICAgICAgICAgIHZhciBuOwogICAgICAgICAgICBpZiAoZS5ub2RlTmFtZSkgewogICAgICAgICAgICAgIGlmIChpKSB7CiAgICAgICAgICAgICAgICB2YXIgciA9IHt9OwogICAgICAgICAgICAgICAgcltpXSA9ICEwOwogICAgICAgICAgICAgIH0gZWxzZSByID0gdDsKICAgICAgICAgICAgICB5KHIsIChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICBpZiAodFtpXSkgZm9yIChuID0gdFtpXS5sZW5ndGg7IG4tLTspIG8oaSwgdFtpXVtuXS5mbik7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIHMgPSAiZnVuY3Rpb24iID09PSB0eXBlb2YgZSAmJiBlLnByb3RvdHlwZSB8fCBlOwogICAgICAgICAgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsICJoY0V2ZW50cyIpKSB7CiAgICAgICAgICAgIHZhciBhID0gcy5oY0V2ZW50czsKICAgICAgICAgICAgaSA/IChzID0gYVtpXSB8fCBbXSwgbiA/IChhW2ldID0gcy5maWx0ZXIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gbiAhPT0gdC5mbjsKICAgICAgICAgICAgfSkpLCBvKGksIG4pKSA6IChyKGEpLCBhW2ldID0gW10pKSA6IChyKGEpLCBkZWxldGUgcy5oY0V2ZW50cyk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB4KGUsIGksIG4sIG8pIHsKICAgICAgICAgIGlmIChuID0gbiB8fCB7fSwgXy5jcmVhdGVFdmVudCAmJiAoZS5kaXNwYXRjaEV2ZW50IHx8IGUuZmlyZUV2ZW50ICYmIGUgIT09IHQpKSB7CiAgICAgICAgICAgIHZhciByID0gXy5jcmVhdGVFdmVudCgiRXZlbnRzIik7CiAgICAgICAgICAgIHIuaW5pdEV2ZW50KGksICEwLCAhMCksIG4gPSBkKHIsIG4pLCBlLmRpc3BhdGNoRXZlbnQgPyBlLmRpc3BhdGNoRXZlbnQobikgOiBlLmZpcmVFdmVudChpLCBuKTsKICAgICAgICAgIH0gZWxzZSBpZiAoZS5oY0V2ZW50cykgewogICAgICAgICAgICBuLnRhcmdldCB8fCBkKG4sIHsKICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBuLmRlZmF1bHRQcmV2ZW50ZWQgPSAhMDsKICAgICAgICAgICAgICB9LCB0YXJnZXQ6IGUsIHR5cGU6IGkKICAgICAgICAgICAgfSksIHIgPSBbXTsKICAgICAgICAgICAgZm9yICh2YXIgcyA9IGUsIGEgPSAhMTsgcy5oY0V2ZW50czspIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsICJoY0V2ZW50cyIpICYmIHMuaGNFdmVudHNbaV0gJiYgKHIubGVuZ3RoICYmIChhID0gITApLCByLnVuc2hpZnQuYXBwbHkociwgcy5oY0V2ZW50c1tpXSkpLCBzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHMpOwogICAgICAgICAgICBhICYmIHIuc29ydCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHJldHVybiB0Lm9yZGVyIC0gZS5vcmRlcjsKICAgICAgICAgICAgfSkpLCByLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAhMSA9PT0gdC5mbi5jYWxsKGUsIG4pICYmIG4ucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfQogICAgICAgICAgbyAmJiAhbi5kZWZhdWx0UHJldmVudGVkICYmIG8uY2FsbChlLCBuKTsKICAgICAgICB9CgogICAgICAgIHZhciBiID0gdC5jaGFydHMsIF8gPSB0LmRvYywgdyA9IHQud2luOwogICAgICAgIChlIHx8IChlID0ge30pKS5tZXNzYWdlcyA9IFtdLCBNYXRoLmVhc2VJbk91dFNpbmUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICByZXR1cm4gLS41ICogKE1hdGguY29zKE1hdGguUEkgKiB0KSAtIDEpOwogICAgICAgIH07CiAgICAgICAgdmFyIGsgPSBBcnJheS5wcm90b3R5cGUuZmluZCA/IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgIHJldHVybiB0LmZpbmQoZSk7CiAgICAgICAgfSA6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgIHZhciBpLCBuID0gdC5sZW5ndGg7CiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSBpZiAoZSh0W2ldLCBpKSkgcmV0dXJuIHRbaV07CiAgICAgICAgfTsKICAgICAgICB5KHsgbWFwOiAibWFwIiwgZWFjaDogImZvckVhY2giLCBncmVwOiAiZmlsdGVyIiwgcmVkdWNlOiAicmVkdWNlIiwgc29tZTogInNvbWUiIH0sIChmdW5jdGlvbihpLCBuKSB7CiAgICAgICAgICB0W25dID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgbzsKICAgICAgICAgICAgcmV0dXJuIGUoMzIsICExLCB2b2lkIDAsIChvID0ge30sIG9bIkhpZ2hjaGFydHMuIiArIG5dID0gInVzZSBBcnJheS4iICsgaSwgbykpLCBBcnJheS5wcm90b3R5cGVbaV0uYXBwbHkodCwgW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpKTsKICAgICAgICAgIH07CiAgICAgICAgfSkpOwogICAgICAgIHZhciBTLCBDID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCA5KSArICItIiwgZSA9IDA7CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiAiaGlnaGNoYXJ0cy0iICsgKFMgPyAiIiA6IHQpICsgZSsrOwogICAgICAgICAgfTsKICAgICAgICB9KCk7CiAgICAgICAgcmV0dXJuIHcualF1ZXJ5ICYmICh3LmpRdWVyeS5mbi5oaWdoY2hhcnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgZSA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTsKICAgICAgICAgIGlmICh0aGlzWzBdKSByZXR1cm4gZVswXSA/IChuZXcgKHRbbyhlWzBdKSA/IGUuc2hpZnQoKSA6ICJDaGFydCJdKSh0aGlzWzBdLCBlWzBdLCBlWzFdKSwgdGhpcykgOiBiW3AodGhpc1swXSwgImRhdGEtaGlnaGNoYXJ0cy1jaGFydCIpXTsKICAgICAgICB9KSwgayA9IHsKICAgICAgICAgIGFkZEV2ZW50OiBmdW5jdGlvbihlLCBpLCBuLCBvKSB7CiAgICAgICAgICAgIHZvaWQgMCA9PT0gbyAmJiAobyA9IHt9KTsKICAgICAgICAgICAgdmFyIHIgPSAiZnVuY3Rpb24iID09PSB0eXBlb2YgZSAmJiBlLnByb3RvdHlwZSB8fCBlOwogICAgICAgICAgICBPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChyLCAiaGNFdmVudHMiKSB8fCAoci5oY0V2ZW50cyA9IHt9KSwgciA9IHIuaGNFdmVudHMsIHQuUG9pbnQgJiYgZSBpbnN0YW5jZW9mIHQuUG9pbnQgJiYgZS5zZXJpZXMgJiYgZS5zZXJpZXMuY2hhcnQgJiYgKGUuc2VyaWVzLmNoYXJ0LnJ1blRyYWNrZXJDbGljayA9ICEwKTsKICAgICAgICAgICAgdmFyIHMgPSBlLmFkZEV2ZW50TGlzdGVuZXIgfHwgdC5hZGRFdmVudExpc3RlbmVyUG9seWZpbGw7CiAgICAgICAgICAgIHJldHVybiBzICYmIHMuY2FsbChlLCBpLCBuLCAhIXQuc3VwcG9ydHNQYXNzaXZlRXZlbnRzICYmIHsKICAgICAgICAgICAgICBwYXNzaXZlOiB2b2lkIDAgPT09IG8ucGFzc2l2ZSA/IC0xICE9PSBpLmluZGV4T2YoInRvdWNoIikgOiBvLnBhc3NpdmUsCiAgICAgICAgICAgICAgY2FwdHVyZTogITEKICAgICAgICAgICAgfSksIHJbaV0gfHwgKHJbaV0gPSBbXSksIHJbaV0ucHVzaCh7IGZuOiBuLCBvcmRlcjogIm51bWJlciIgPT09IHR5cGVvZiBvLm9yZGVyID8gby5vcmRlciA6IDEgLyAwIH0pLCByW2ldLnNvcnQoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gdC5vcmRlciAtIGUub3JkZXI7CiAgICAgICAgICAgIH0pKSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdihlLCBpLCBuKTsKICAgICAgICAgICAgfTsKICAgICAgICAgIH0sCiAgICAgICAgICBhcnJheU1heDogZnVuY3Rpb24odCkgewogICAgICAgICAgICBmb3IgKHZhciBlID0gdC5sZW5ndGgsIGkgPSB0WzBdOyBlLS07KSB0W2VdID4gaSAmJiAoaSA9IHRbZV0pOwogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgIH0sCiAgICAgICAgICBhcnJheU1pbjogZnVuY3Rpb24odCkgewogICAgICAgICAgICBmb3IgKHZhciBlID0gdC5sZW5ndGgsIGkgPSB0WzBdOyBlLS07KSB0W2VdIDwgaSAmJiAoaSA9IHRbZV0pOwogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgIH0sCiAgICAgICAgICBhdHRyOiBwLAogICAgICAgICAgY2xhbXA6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPiBlID8gdCA8IGkgPyB0IDogaSA6IGU7CiAgICAgICAgICB9LAogICAgICAgICAgY2xlYW5SZWN1cnNpdmVseTogaSwKICAgICAgICAgIGNsZWFyVGltZW91dDogZnVuY3Rpb24odCkgewogICAgICAgICAgICBjKHQpICYmIGNsZWFyVGltZW91dCh0KTsKICAgICAgICAgIH0sCiAgICAgICAgICBjb3JyZWN0RmxvYXQ6IGcsCiAgICAgICAgICBjcmVhdGVFbGVtZW50OiBmdW5jdGlvbih0LCBlLCBpLCBuLCBvKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gXy5jcmVhdGVFbGVtZW50KHQpLCBlICYmIGQodCwgZSksIG8gJiYgZih0LCB7IHBhZGRpbmc6ICIwIiwgYm9yZGVyOiAibm9uZSIsIG1hcmdpbjogIjAiIH0pLCBpICYmIGYodCwgaSksIG4gJiYgbi5hcHBlbmRDaGlsZCh0KSwgdDsKICAgICAgICAgIH0sCiAgICAgICAgICBjc3M6IGYsCiAgICAgICAgICBkZWZpbmVkOiBjLAogICAgICAgICAgZGVzdHJveU9iamVjdFByb3BlcnRpZXM6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgeSh0LCAoZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgICAgIGkgJiYgaSAhPT0gZSAmJiBpLmRlc3Ryb3kgJiYgaS5kZXN0cm95KCksIGRlbGV0ZSB0W25dOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LAogICAgICAgICAgZGlzY2FyZEVsZW1lbnQ6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdCAmJiB0LnBhcmVudEVsZW1lbnQgJiYgdC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHQpOwogICAgICAgICAgfSwKICAgICAgICAgIGVyYXNlOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSB0Lmxlbmd0aDsgaS0tOykgaWYgKHRbaV0gPT09IGUpIHsKICAgICAgICAgICAgICB0LnNwbGljZShpLCAxKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGVycm9yOiBlLAogICAgICAgICAgZXh0ZW5kOiBkLAogICAgICAgICAgZXh0ZW5kQ2xhc3M6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuIGkucHJvdG90eXBlID0gbmV3IHQsIGQoaS5wcm90b3R5cGUsIGUpLCBpOwogICAgICAgICAgfSwKICAgICAgICAgIGZpbmQ6IGssCiAgICAgICAgICBmaXJlRXZlbnQ6IHgsCiAgICAgICAgICBnZXRNYWduaXR1ZGU6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIE1hdGgucG93KDEwLCBNYXRoLmZsb29yKE1hdGgubG9nKHQpIC8gTWF0aC5MTjEwKSk7CiAgICAgICAgICB9LAogICAgICAgICAgZ2V0TmVzdGVkUHJvcGVydHk6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgZm9yICh0ID0gdC5zcGxpdCgiLiIpOyB0Lmxlbmd0aCAmJiBjKGUpOykgewogICAgICAgICAgICAgIHZhciBpID0gdC5zaGlmdCgpOwogICAgICAgICAgICAgIGlmICgidW5kZWZpbmVkIiA9PT0gdHlwZW9mIGkgfHwgIl9fcHJvdG9fXyIgPT09IGkpIHJldHVybjsKICAgICAgICAgICAgICBpZiAoZSA9IGVbaV0sICFjKGUpIHx8ICJmdW5jdGlvbiIgPT09IHR5cGVvZiBlIHx8ICJudW1iZXIiID09PSB0eXBlb2YgZS5ub2RlVHlwZSB8fCBlID09PSB3KSByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGU7CiAgICAgICAgICB9LAogICAgICAgICAgZ2V0U3R5bGU6IG0sCiAgICAgICAgICBpbkFycmF5OiBmdW5jdGlvbih0LCBpLCBuKSB7CiAgICAgICAgICAgIHJldHVybiBlKDMyLCAhMSwgdm9pZCAwLCB7ICJIaWdoY2hhcnRzLmluQXJyYXkiOiAidXNlIEFycmF5LmluZGV4T2YiIH0pLCBpLmluZGV4T2YodCwgbik7CiAgICAgICAgICB9LAogICAgICAgICAgaXNBcnJheTogciwKICAgICAgICAgIGlzQ2xhc3M6IGgsCiAgICAgICAgICBpc0RPTUVsZW1lbnQ6IGEsCiAgICAgICAgICBpc0Z1bmN0aW9uOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiAiZnVuY3Rpb24iID09PSB0eXBlb2YgdDsKICAgICAgICAgIH0sCiAgICAgICAgICBpc051bWJlcjogbCwKICAgICAgICAgIGlzT2JqZWN0OiBzLAogICAgICAgICAgaXNTdHJpbmc6IG8sCiAgICAgICAgICBrZXlzOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiBlKDMyLCAhMSwgdm9pZCAwLCB7ICJIaWdoY2hhcnRzLmtleXMiOiAidXNlIE9iamVjdC5rZXlzIiB9KSwgT2JqZWN0LmtleXModCk7CiAgICAgICAgICB9LAogICAgICAgICAgbWVyZ2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSA9IGFyZ3VtZW50cywgaSA9IHt9LCBuID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHJldHVybiAib2JqZWN0IiAhPT0gdHlwZW9mIHQgJiYgKHQgPSB7fSksIHkoZSwgKGZ1bmN0aW9uKGksIG8pIHsKICAgICAgICAgICAgICAgICJfX3Byb3RvX18iICE9PSBvICYmICJjb25zdHJ1Y3RvciIgIT09IG8gJiYgKCFzKGksICEwKSB8fCBoKGkpIHx8IGEoaSkgPyB0W29dID0gZVtvXSA6IHRbb10gPSBuKHRbb10gfHwge30sIGkpKTsKICAgICAgICAgICAgICB9KSksIHQ7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgICEwID09PSBlWzBdICYmIChpID0gZVsxXSwgZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUsIDIpKTsKICAgICAgICAgICAgdmFyIG8gPSBlLmxlbmd0aDsKICAgICAgICAgICAgZm9yICh0ID0gMDsgdCA8IG87IHQrKykgaSA9IG4oaSwgZVt0XSk7CiAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgICAgfSwKICAgICAgICAgIG5vcm1hbGl6ZVRpY2tJbnRlcnZhbDogZnVuY3Rpb24odCwgZSwgaSwgbiwgbykgewogICAgICAgICAgICB2YXIgciA9IHQ7CiAgICAgICAgICAgIGkgPSB1KGksIDEpOwogICAgICAgICAgICB2YXIgcyA9IHQgLyBpOwogICAgICAgICAgICBmb3IgKGUgfHwgKGUgPSBvID8gWzEsIDEuMiwgMS41LCAyLCAyLjUsIDMsIDQsIDUsIDYsIDgsIDEwXSA6IFsxLCAyLCAyLjUsIDUsIDEwXSwgITEgPT09IG4gJiYgKDEgPT09IGkgPyBlID0gZS5maWx0ZXIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gMCA9PT0gdCAlIDE7CiAgICAgICAgICAgIH0pKSA6IC4xID49IGkgJiYgKGUgPSBbMSAvIGldKSkpLCBuID0gMDsgbiA8IGUubGVuZ3RoICYmIChyID0gZVtuXSwgIShvICYmIHIgKiBpID49IHQgfHwgIW8gJiYgcyA8PSAoZVtuXSArIChlW24gKyAxXSB8fCBlW25dKSkgLyAyKSk7IG4rKykgOwogICAgICAgICAgICByZXR1cm4gZyhyICogaSwgLU1hdGgucm91bmQoTWF0aC5sb2coLjAwMSkgLyBNYXRoLkxOMTApKTsKICAgICAgICAgIH0sCiAgICAgICAgICBvYmplY3RFYWNoOiB5LAogICAgICAgICAgb2Zmc2V0OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gXy5kb2N1bWVudEVsZW1lbnQ7CiAgICAgICAgICAgIHJldHVybiB0ID0gdC5wYXJlbnRFbGVtZW50IHx8IHQucGFyZW50Tm9kZSA/IHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7CiAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgd2lkdGg6IDAsCiAgICAgICAgICAgICAgaGVpZ2h0OiAwCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICB0b3A6IHQudG9wICsgKHcucGFnZVlPZmZzZXQgfHwgZS5zY3JvbGxUb3ApIC0gKGUuY2xpZW50VG9wIHx8IDApLAogICAgICAgICAgICAgIGxlZnQ6IHQubGVmdCArICh3LnBhZ2VYT2Zmc2V0IHx8IGUuc2Nyb2xsTGVmdCkgLSAoZS5jbGllbnRMZWZ0IHx8IDApLAogICAgICAgICAgICAgIHdpZHRoOiB0LndpZHRoLAogICAgICAgICAgICAgIGhlaWdodDogdC5oZWlnaHQKICAgICAgICAgICAgfTsKICAgICAgICAgIH0sCiAgICAgICAgICBwYWQ6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIEFycmF5KChlIHx8IDIpICsgMSAtIFN0cmluZyh0KS5yZXBsYWNlKCItIiwgIiIpLmxlbmd0aCkuam9pbihpIHx8ICIwIikgKyB0OwogICAgICAgICAgfSwKICAgICAgICAgIHBpY2s6IHUsCiAgICAgICAgICBwSW50OiBuLAogICAgICAgICAgcmVsYXRpdmVMZW5ndGg6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIC8lJC8udGVzdCh0KSA/IGUgKiBwYXJzZUZsb2F0KHQpIC8gMTAwICsgKGkgfHwgMCkgOiBwYXJzZUZsb2F0KHQpOwogICAgICAgICAgfSwKICAgICAgICAgIHJlbW92ZUV2ZW50OiB2LAogICAgICAgICAgc3BsYXQ6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHIodCkgPyB0IDogW3RdOwogICAgICAgICAgfSwKICAgICAgICAgIHN0YWJsZVNvcnQ6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGksIG4sIG8gPSB0Lmxlbmd0aDsKICAgICAgICAgICAgZm9yIChuID0gMDsgbiA8IG87IG4rKykgdFtuXS5zYWZlSSA9IG47CiAgICAgICAgICAgIGZvciAodC5zb3J0KChmdW5jdGlvbih0LCBuKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGkgPSBlKHQsIG4pLCAwID09PSBpID8gdC5zYWZlSSAtIG4uc2FmZUkgOiBpOwogICAgICAgICAgICB9KSksIG4gPSAwOyBuIDwgbzsgbisrKSBkZWxldGUgdFtuXS5zYWZlSTsKICAgICAgICAgIH0sCiAgICAgICAgICBzeW5jVGltZW91dDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICByZXR1cm4gMCA8IGUgPyBzZXRUaW1lb3V0KHQsIGUsIGkpIDogKHQuY2FsbCgwLCBpKSwgLTEpOwogICAgICAgICAgfSwKICAgICAgICAgIHRpbWVVbml0czogeyBtaWxsaXNlY29uZDogMSwgc2Vjb25kOiAxZTMsIG1pbnV0ZTogNmU0LCBob3VyOiAzNmU1LCBkYXk6IDg2NGU1LCB3ZWVrOiA2MDQ4ZTUsIG1vbnRoOiAyNDE5MmU1LCB5ZWFyOiAzMTQ0OTZlNSB9LAogICAgICAgICAgdW5pcXVlS2V5OiBDLAogICAgICAgICAgdXNlU2VyaWFsSWRzOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiBTID0gdSh0LCBTKTsKICAgICAgICAgIH0sCiAgICAgICAgICB3cmFwOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdFtlXTsKICAgICAgICAgICAgdFtlXSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciB0ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSwgZSA9IGFyZ3VtZW50cywgbyA9IHRoaXM7CiAgICAgICAgICAgICAgcmV0dXJuIG8ucHJvY2VlZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbi5hcHBseShvLCBhcmd1bWVudHMubGVuZ3RoID8gYXJndW1lbnRzIDogZSk7CiAgICAgICAgICAgICAgfSwgdC51bnNoaWZ0KG4pLCB0ID0gaS5hcHBseSh0aGlzLCB0KSwgby5wcm9jZWVkID0gbnVsbCwgdDsKICAgICAgICAgICAgfTsKICAgICAgICAgIH0KICAgICAgICB9LCBrOwogICAgICB9KSksIGUoaSwgIkNvcmUvQ2hhcnQvQ2hhcnREZWZhdWx0cy5qcyIsIFtdLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHBhbm5pbmc6IHsgZW5hYmxlZDogITEsIHR5cGU6ICJ4IiB9LAogICAgICAgICAgc3R5bGVkTW9kZTogITEsCiAgICAgICAgICBib3JkZXJSYWRpdXM6IDAsCiAgICAgICAgICBjb2xvckNvdW50OiAxMCwKICAgICAgICAgIGRlZmF1bHRTZXJpZXNUeXBlOiAibGluZSIsCiAgICAgICAgICBpZ25vcmVIaWRkZW5TZXJpZXM6ICEwLAogICAgICAgICAgc3BhY2luZzogWzEwLCAxMCwgMTUsIDEwXSwKICAgICAgICAgIHJlc2V0Wm9vbUJ1dHRvbjogeyB0aGVtZTogeyB6SW5kZXg6IDYgfSwgcG9zaXRpb246IHsgYWxpZ246ICJyaWdodCIsIHg6IC0xMCwgeTogMTAgfSB9LAogICAgICAgICAgem9vbUJ5U2luZ2xlVG91Y2g6ICExLAogICAgICAgICAgd2lkdGg6IG51bGwsCiAgICAgICAgICBoZWlnaHQ6IG51bGwsCiAgICAgICAgICBib3JkZXJDb2xvcjogIiMzMzVjYWQiLAogICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAiI2ZmZmZmZiIsCiAgICAgICAgICBwbG90Qm9yZGVyQ29sb3I6ICIjY2NjY2NjIgogICAgICAgIH07CiAgICAgIH0pKSwgZShpLCAiQ29yZS9Db2xvci9Db2xvci5qcyIsIFtpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSBlLmlzTnVtYmVyLCBuID0gZS5tZXJnZSwgbyA9IGUucEludDsKICAgICAgICByZXR1cm4gZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gZShpKSB7CiAgICAgICAgICAgIHRoaXMucmdiYSA9IFtOYU4sIE5hTiwgTmFOLCBOYU5dLCB0aGlzLmlucHV0ID0gaTsKICAgICAgICAgICAgdmFyIG4gPSB0LkNvbG9yOwogICAgICAgICAgICByZXR1cm4gbiAmJiBuICE9PSBlID8gbmV3IG4oaSkgOiB0aGlzIGluc3RhbmNlb2YgZSA/IHZvaWQgdGhpcy5pbml0KGkpIDogbmV3IGUoaSk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGUucGFyc2UgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0ID8gbmV3IGUodCkgOiBlLk5vbmU7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgaTsKICAgICAgICAgICAgaWYgKCJvYmplY3QiID09PSB0eXBlb2YgdCAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHQuc3RvcHMpIHRoaXMuc3RvcHMgPSB0LnN0b3BzLm1hcCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiBuZXcgZSh0WzFdKTsKICAgICAgICAgICAgfSkpOyBlbHNlIGlmICgic3RyaW5nIiA9PT0gdHlwZW9mIHQpIHsKICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dCA9IHQgPSBlLm5hbWVzW3QudG9Mb3dlckNhc2UoKV0gfHwgdCwgIiMiID09PSB0LmNoYXJBdCgwKSkgewogICAgICAgICAgICAgICAgdmFyIG4gPSB0Lmxlbmd0aCwgbyA9IHBhcnNlSW50KHQuc3Vic3RyKDEpLCAxNik7CiAgICAgICAgICAgICAgICA3ID09PSBuID8gaSA9IFsoMTY3MTE2ODAgJiBvKSA+PiAxNiwgKDY1MjgwICYgbykgPj4gOCwgMjU1ICYgbywgMV0gOiA0ID09PSBuICYmIChpID0gWygzODQwICYgbykgPj4gNCB8ICgzODQwICYgbykgPj4gOCwgKDI0MCAmIG8pID4+IDQgfCAyNDAgJiBvLCAoMTUgJiBvKSA8PCA0IHwgMTUgJiBvLCAxXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmICghaSkgZm9yIChvID0gZS5wYXJzZXJzLmxlbmd0aDsgby0tICYmICFpOykgewogICAgICAgICAgICAgICAgdmFyIHIgPSBlLnBhcnNlcnNbb107CiAgICAgICAgICAgICAgICAobiA9IHIucmVnZXguZXhlYyh0KSkgJiYgKGkgPSByLnBhcnNlKG4pKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaSAmJiAodGhpcy5yZ2JhID0gaSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5pbnB1dCwgbyA9IHRoaXMucmdiYTsKICAgICAgICAgICAgaWYgKCJvYmplY3QiID09PSB0eXBlb2YgZSAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHRoaXMuc3RvcHMpIHsKICAgICAgICAgICAgICB2YXIgciA9IG4oZSk7CiAgICAgICAgICAgICAgcmV0dXJuIHIuc3RvcHMgPSBbXS5zbGljZS5jYWxsKHIuc3RvcHMpLCB0aGlzLnN0b3BzLmZvckVhY2goKGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICAgIHIuc3RvcHNbaV0gPSBbci5zdG9wc1tpXVswXSwgZS5nZXQodCldOwogICAgICAgICAgICAgIH0pKSwgcjsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbyAmJiBpKG9bMF0pID8gInJnYiIgPT09IHQgfHwgIXQgJiYgMSA9PT0gb1szXSA/ICJyZ2IoIiArIG9bMF0gKyAiLCIgKyBvWzFdICsgIiwiICsgb1syXSArICIpIiA6ICJhIiA9PT0gdCA/ICIiICsgb1szXSA6ICJyZ2JhKCIgKyBvLmpvaW4oIiwiKSArICIpIiA6IGU7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5icmlnaHRlbiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnJnYmE7CiAgICAgICAgICAgIGlmICh0aGlzLnN0b3BzKSB0aGlzLnN0b3BzLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBlLmJyaWdodGVuKHQpOwogICAgICAgICAgICB9KSk7IGVsc2UgaWYgKGkodCkgJiYgMCAhPT0gdCkgZm9yICh2YXIgbiA9IDA7IDMgPiBuOyBuKyspIGVbbl0gKz0gbygyNTUgKiB0KSwgMCA+IGVbbl0gJiYgKGVbbl0gPSAwKSwgMjU1IDwgZVtuXSAmJiAoZVtuXSA9IDI1NSk7CiAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuc2V0T3BhY2l0eSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMucmdiYVszXSA9IHQsIHRoaXM7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS50d2VlblRvID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMucmdiYSwgbyA9IHQucmdiYTsKICAgICAgICAgICAgcmV0dXJuIGkoblswXSkgJiYgaShvWzBdKSA/ICh0ID0gMSAhPT0gb1szXSB8fCAxICE9PSBuWzNdLCAodCA/ICJyZ2JhKCIgOiAicmdiKCIpICsgTWF0aC5yb3VuZChvWzBdICsgKG5bMF0gLSBvWzBdKSAqICgxIC0gZSkpICsgIiwiICsgTWF0aC5yb3VuZChvWzFdICsgKG5bMV0gLSBvWzFdKSAqICgxIC0gZSkpICsgIiwiICsgTWF0aC5yb3VuZChvWzJdICsgKG5bMl0gLSBvWzJdKSAqICgxIC0gZSkpICsgKHQgPyAiLCIgKyAob1szXSArIChuWzNdIC0gb1szXSkgKiAoMSAtIGUpKSA6ICIiKSArICIpIikgOiB0LmlucHV0IHx8ICJub25lIjsKICAgICAgICAgIH0sIGUubmFtZXMgPSB7CiAgICAgICAgICAgIHdoaXRlOiAiI2ZmZmZmZiIsCiAgICAgICAgICAgIGJsYWNrOiAiIzAwMDAwMCIKICAgICAgICAgIH0sIGUucGFyc2VycyA9IFt7CiAgICAgICAgICAgIHJlZ2V4OiAvcmdiYVwoXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldPyg/OlwuWzAtOV0rKT8pXHMqXCkvLCBwYXJzZTogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiBbbyh0WzFdKSwgbyh0WzJdKSwgbyh0WzNdKSwgcGFyc2VGbG9hdCh0WzRdLCAxMCldOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCB7CiAgICAgICAgICAgIHJlZ2V4OiAvcmdiXChccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKlwpLywgcGFyc2U6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gW28odFsxXSksIG8odFsyXSksIG8odFszXSksIDFdOwogICAgICAgICAgICB9CiAgICAgICAgICB9XSwgZS5Ob25lID0gbmV3IGUoIiIpLCBlOwogICAgICAgIH0oKSwgZTsKICAgICAgfSkpLCBlKGksICJDb3JlL0NvbG9yL1BhbGV0dGVzLmpzIiwgW10sIChmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4geyBjb2xvcnM6ICIjN2NiNWVjICM0MzQzNDggIzkwZWQ3ZCAjZjdhMzVjICM4MDg1ZTkgI2YxNWM4MCAjZTRkMzU0ICMyYjkwOGYgI2Y0NWI1YiAjOTFlOGUxIi5zcGxpdCgiICIpIH07CiAgICAgIH0pKSwgZShpLCAiQ29yZS9UaW1lLmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICB2YXIgaSA9IHQud2luLCBuID0gZS5kZWZpbmVkLCBvID0gZS5lcnJvciwgciA9IGUuZXh0ZW5kLCBzID0gZS5pc09iamVjdCwgYSA9IGUubWVyZ2UsIGggPSBlLm9iamVjdEVhY2gsIGwgPSBlLnBhZCwgYyA9IGUucGljaywgcCA9IGUuc3BsYXQsCiAgICAgICAgICBkID0gZS50aW1lVW5pdHMsIHUgPSB0LmlzU2FmYXJpICYmIGkuSW50bCAmJiBpLkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmZvcm1hdFJhbmdlLAogICAgICAgICAgZiA9IHQuaXNTYWZhcmkgJiYgaS5JbnRsICYmICFpLkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmZvcm1hdFJhbmdlOwogICAgICAgIHJldHVybiBlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiBlKHQpIHsKICAgICAgICAgICAgdGhpcy5vcHRpb25zID0ge30sIHRoaXMudmFyaWFibGVUaW1lem9uZSA9IHRoaXMudXNlVVRDID0gITEsIHRoaXMuRGF0ZSA9IGkuRGF0ZSwgdGhpcy5nZXRUaW1lem9uZU9mZnNldCA9IHRoaXMudGltZXpvbmVPZmZzZXRGdW5jdGlvbigpLCB0aGlzLnVwZGF0ZSh0KTsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gZS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICBpZiAodGhpcy52YXJpYWJsZVRpbWV6b25lIHx8IHRoaXMudGltZXpvbmVPZmZzZXQpIHsKICAgICAgICAgICAgICB2YXIgaSA9IGUuZ2V0VGltZSgpLCBuID0gaSAtIHRoaXMuZ2V0VGltZXpvbmVPZmZzZXQoZSk7CiAgICAgICAgICAgICAgcmV0dXJuIGUuc2V0VGltZShuKSwgdCA9IGVbImdldFVUQyIgKyB0XSgpLCBlLnNldFRpbWUoaSksIHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlVVRDID8gZVsiZ2V0VVRDIiArIHRdKCkgOiBlWyJnZXQiICsgdF0oKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgaWYgKHRoaXMudmFyaWFibGVUaW1lem9uZSB8fCB0aGlzLnRpbWV6b25lT2Zmc2V0KSB7CiAgICAgICAgICAgICAgaWYgKCJNaWxsaXNlY29uZHMiID09PSB0IHx8ICJTZWNvbmRzIiA9PT0gdCB8fCAiTWludXRlcyIgPT09IHQgJiYgMCA9PT0gdGhpcy5nZXRUaW1lem9uZU9mZnNldChlKSAlIDM2ZTUpIHJldHVybiBlWyJzZXRVVEMiICsgdF0oaSk7CiAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmdldFRpbWV6b25lT2Zmc2V0KGUpOwogICAgICAgICAgICAgIHJldHVybiBuID0gZS5nZXRUaW1lKCkgLSBuLCBlLnNldFRpbWUobiksIGVbInNldFVUQyIgKyB0XShpKSwgdCA9IHRoaXMuZ2V0VGltZXpvbmVPZmZzZXQoZSksIG4gPSBlLmdldFRpbWUoKSArIHQsIGUuc2V0VGltZShuKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdGhpcy51c2VVVEMgfHwgdSAmJiAiRnVsbFllYXIiID09PSB0ID8gZVsic2V0VVRDIiArIHRdKGkpIDogZVsic2V0IiArIHRdKGkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IGModCAmJiB0LnVzZVVUQywgITApOwogICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB0ID0gYSghMCwgdGhpcy5vcHRpb25zIHx8IHt9LCB0KSwgdGhpcy5EYXRlID0gdC5EYXRlIHx8IGkuRGF0ZSB8fCBEYXRlLCB0aGlzLnRpbWV6b25lT2Zmc2V0ID0gKHRoaXMudXNlVVRDID0gZSkgJiYgdC50aW1lem9uZU9mZnNldCwgdGhpcy5nZXRUaW1lem9uZU9mZnNldCA9IHRoaXMudGltZXpvbmVPZmZzZXRGdW5jdGlvbigpLCB0aGlzLnZhcmlhYmxlVGltZXpvbmUgPSBlICYmICEoIXQuZ2V0VGltZXpvbmVPZmZzZXQgJiYgIXQudGltZXpvbmUpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUubWFrZVRpbWUgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICAgIGlmICh0aGlzLnVzZVVUQykgewogICAgICAgICAgICAgIHZhciBzID0gdGhpcy5EYXRlLlVUQy5hcHBseSgwLCBhcmd1bWVudHMpLCBhID0gdGhpcy5nZXRUaW1lem9uZU9mZnNldChzKTsKICAgICAgICAgICAgICBzICs9IGE7CiAgICAgICAgICAgICAgdmFyIGggPSB0aGlzLmdldFRpbWV6b25lT2Zmc2V0KHMpOwogICAgICAgICAgICAgIGEgIT09IGggPyBzICs9IGggLSBhIDogYSAtIDM2ZTUgIT09IHRoaXMuZ2V0VGltZXpvbmVPZmZzZXQocyAtIDM2ZTUpIHx8IGYgfHwgKHMgLT0gMzZlNSk7CiAgICAgICAgICAgIH0gZWxzZSBzID0gbmV3IHRoaXMuRGF0ZSh0LCBlLCBjKGksIDEpLCBjKG4sIDApLCBjKG8sIDApLCBjKHIsIDApKS5nZXRUaW1lKCk7CiAgICAgICAgICAgIHJldHVybiBzOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudGltZXpvbmVPZmZzZXRGdW5jdGlvbiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0aGlzLm9wdGlvbnMsIG4gPSBlLmdldFRpbWV6b25lT2Zmc2V0LCByID0gZS5tb21lbnQgfHwgaS5tb21lbnQ7CiAgICAgICAgICAgIGlmICghdGhpcy51c2VVVEMpIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIDZlNCAqIG5ldyBEYXRlKHQudG9TdHJpbmcoKSkuZ2V0VGltZXpvbmVPZmZzZXQoKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgaWYgKGUudGltZXpvbmUpIHsKICAgICAgICAgICAgICBpZiAocikgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiA2ZTQgKiAtci50eih0LCBlLnRpbWV6b25lKS51dGNPZmZzZXQoKTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIG8oMjUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0aGlzLnVzZVVUQyAmJiBuID8gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiA2ZTQgKiBuKHQudmFsdWVPZigpKTsKICAgICAgICAgICAgfSA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHJldHVybiA2ZTQgKiAodC50aW1lem9uZU9mZnNldCB8fCAwKTsKICAgICAgICAgICAgfTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmRhdGVGb3JtYXQgPSBmdW5jdGlvbihlLCBpLCBvKSB7CiAgICAgICAgICAgIGlmICghbihpKSB8fCBpc05hTihpKSkgcmV0dXJuIHQuZGVmYXVsdE9wdGlvbnMubGFuZyAmJiB0LmRlZmF1bHRPcHRpb25zLmxhbmcuaW52YWxpZERhdGUgfHwgIiI7CiAgICAgICAgICAgIGUgPSBjKGUsICIlWS0lbS0lZCAlSDolTTolUyIpOwogICAgICAgICAgICB2YXIgcyA9IHRoaXMsIGEgPSBuZXcgdGhpcy5EYXRlKGkpLCBwID0gdGhpcy5nZXQoIkhvdXJzIiwgYSksIGQgPSB0aGlzLmdldCgiRGF5IiwgYSksIHUgPSB0aGlzLmdldCgiRGF0ZSIsIGEpLCBmID0gdGhpcy5nZXQoIk1vbnRoIiwgYSksCiAgICAgICAgICAgICAgZyA9IHRoaXMuZ2V0KCJGdWxsWWVhciIsIGEpLCBtID0gdC5kZWZhdWx0T3B0aW9ucy5sYW5nLCB5ID0gbSAmJiBtLndlZWtkYXlzLCB2ID0gbSAmJiBtLnNob3J0V2Vla2RheXM7CiAgICAgICAgICAgIHJldHVybiBhID0gcih7CiAgICAgICAgICAgICAgYTogdiA/IHZbZF0gOiB5W2RdLnN1YnN0cigwLCAzKSwKICAgICAgICAgICAgICBBOiB5W2RdLAogICAgICAgICAgICAgIGQ6IGwodSksCiAgICAgICAgICAgICAgZTogbCh1LCAyLCAiICIpLAogICAgICAgICAgICAgIHc6IGQsCiAgICAgICAgICAgICAgYjogbS5zaG9ydE1vbnRoc1tmXSwKICAgICAgICAgICAgICBCOiBtLm1vbnRoc1tmXSwKICAgICAgICAgICAgICBtOiBsKGYgKyAxKSwKICAgICAgICAgICAgICBvOiBmICsgMSwKICAgICAgICAgICAgICB5OiBnLnRvU3RyaW5nKCkuc3Vic3RyKDIsIDIpLAogICAgICAgICAgICAgIFk6IGcsCiAgICAgICAgICAgICAgSDogbChwKSwKICAgICAgICAgICAgICBrOiBwLAogICAgICAgICAgICAgIEk6IGwocCAlIDEyIHx8IDEyKSwKICAgICAgICAgICAgICBsOiBwICUgMTIgfHwgMTIsCiAgICAgICAgICAgICAgTTogbCh0aGlzLmdldCgiTWludXRlcyIsIGEpKSwKICAgICAgICAgICAgICBwOiAxMiA+IHAgPyAiQU0iIDogIlBNIiwKICAgICAgICAgICAgICBQOiAxMiA+IHAgPyAiYW0iIDogInBtIiwKICAgICAgICAgICAgICBTOiBsKGEuZ2V0U2Vjb25kcygpKSwKICAgICAgICAgICAgICBMOiBsKE1hdGguZmxvb3IoaSAlIDFlMyksIDMpCiAgICAgICAgICAgIH0sIHQuZGF0ZUZvcm1hdHMpLCBoKGEsIChmdW5jdGlvbih0LCBuKSB7CiAgICAgICAgICAgICAgZm9yICg7IC0xICE9PSBlLmluZGV4T2YoIiUiICsgbik7KSBlID0gZS5yZXBsYWNlKCIlIiArIG4sICJmdW5jdGlvbiIgPT09IHR5cGVvZiB0ID8gdC5jYWxsKHMsIGkpIDogdCk7CiAgICAgICAgICAgIH0pKSwgbyA/IGUuc3Vic3RyKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBlLnN1YnN0cigxKSA6IGU7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5yZXNvbHZlRFRMRm9ybWF0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gcyh0LCAhMCkgPyB0IDogKHQgPSBwKHQpLCB7IG1haW46IHRbMF0sIGZyb206IHRbMV0sIHRvOiB0WzJdIH0pOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0VGltZVRpY2tzID0gZnVuY3Rpb24odCwgZSwgaSwgbykgewogICAgICAgICAgICB2YXIgcywgYSA9IHRoaXMsIGggPSBbXSwgbCA9IHt9LCBwID0gbmV3IGEuRGF0ZShlKSwgdSA9IHQudW5pdFJhbmdlLCBmID0gdC5jb3VudCB8fCAxOwogICAgICAgICAgICBpZiAobyA9IGMobywgMSksIG4oZSkpIHsKICAgICAgICAgICAgICBpZiAoYS5zZXQoIk1pbGxpc2Vjb25kcyIsIHAsIHUgPj0gZC5zZWNvbmQgPyAwIDogZiAqIE1hdGguZmxvb3IoYS5nZXQoIk1pbGxpc2Vjb25kcyIsIHApIC8gZikpLCB1ID49IGQuc2Vjb25kICYmIGEuc2V0KCJTZWNvbmRzIiwgcCwgdSA+PSBkLm1pbnV0ZSA/IDAgOiBmICogTWF0aC5mbG9vcihhLmdldCgiU2Vjb25kcyIsIHApIC8gZikpLCB1ID49IGQubWludXRlICYmIGEuc2V0KCJNaW51dGVzIiwgcCwgdSA+PSBkLmhvdXIgPyAwIDogZiAqIE1hdGguZmxvb3IoYS5nZXQoIk1pbnV0ZXMiLCBwKSAvIGYpKSwgdSA+PSBkLmhvdXIgJiYgYS5zZXQoIkhvdXJzIiwgcCwgdSA+PSBkLmRheSA/IDAgOiBmICogTWF0aC5mbG9vcihhLmdldCgiSG91cnMiLCBwKSAvIGYpKSwgdSA+PSBkLmRheSAmJiBhLnNldCgiRGF0ZSIsIHAsIHUgPj0gZC5tb250aCA/IDEgOiBNYXRoLm1heCgxLCBmICogTWF0aC5mbG9vcihhLmdldCgiRGF0ZSIsIHApIC8gZikpKSwgdSA+PSBkLm1vbnRoKSB7CiAgICAgICAgICAgICAgICBhLnNldCgiTW9udGgiLCBwLCB1ID49IGQueWVhciA/IDAgOiBmICogTWF0aC5mbG9vcihhLmdldCgiTW9udGgiLCBwKSAvIGYpKTsKICAgICAgICAgICAgICAgIHZhciBnID0gYS5nZXQoIkZ1bGxZZWFyIiwgcCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHUgPj0gZC55ZWFyICYmIGEuc2V0KCJGdWxsWWVhciIsIHAsIGcgLSBnICUgZiksIHUgPT09IGQud2VlayAmJiAoZyA9IGEuZ2V0KCJEYXkiLCBwKSwgYS5zZXQoIkRhdGUiLCBwLCBhLmdldCgiRGF0ZSIsIHApIC0gZyArIG8gKyAoZyA8IG8gPyAtNyA6IDApKSksIGcgPSBhLmdldCgiRnVsbFllYXIiLCBwKSwgbyA9IGEuZ2V0KCJNb250aCIsIHApOwogICAgICAgICAgICAgIHZhciBtID0gYS5nZXQoIkRhdGUiLCBwKSwgeSA9IGEuZ2V0KCJIb3VycyIsIHApOwogICAgICAgICAgICAgIGZvciAoZSA9IHAuZ2V0VGltZSgpLCAhYS52YXJpYWJsZVRpbWV6b25lICYmIGEudXNlVVRDIHx8ICFuKGkpIHx8IChzID0gaSAtIGUgPiA0ICogZC5tb250aCB8fCBhLmdldFRpbWV6b25lT2Zmc2V0KGUpICE9PSBhLmdldFRpbWV6b25lT2Zmc2V0KGkpKSwgZSA9IHAuZ2V0VGltZSgpLCBwID0gMTsgZSA8IGk7KSBoLnB1c2goZSksIGUgPSB1ID09PSBkLnllYXIgPyBhLm1ha2VUaW1lKGcgKyBwICogZiwgMCkgOiB1ID09PSBkLm1vbnRoID8gYS5tYWtlVGltZShnLCBvICsgcCAqIGYpIDogIXMgfHwgdSAhPT0gZC5kYXkgJiYgdSAhPT0gZC53ZWVrID8gcyAmJiB1ID09PSBkLmhvdXIgJiYgMSA8IGYgPyBhLm1ha2VUaW1lKGcsIG8sIG0sIHkgKyBwICogZikgOiBlICsgdSAqIGYgOiBhLm1ha2VUaW1lKGcsIG8sIG0gKyBwICogZiAqICh1ID09PSBkLmRheSA/IDEgOiA3KSksIHArKzsKICAgICAgICAgICAgICBoLnB1c2goZSksIHUgPD0gZC5ob3VyICYmIDFlNCA+IGgubGVuZ3RoICYmIGguZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgMCA9PT0gdCAlIDE4ZTUgJiYgIjAwMDAwMDAwMCIgPT09IGEuZGF0ZUZvcm1hdCgiJUglTSVTJUwiLCB0KSAmJiAobFt0XSA9ICJkYXkiKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGguaW5mbyA9IHIodCwgeyBoaWdoZXJSYW5rczogbCwgdG90YWxSYW5nZTogdSAqIGYgfSksIGg7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5nZXREYXRlRm9ybWF0ID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICB2YXIgbyA9IHRoaXMuZGF0ZUZvcm1hdCgiJW0tJWQgJUg6JU06JVMuJUwiLCBlKSwgciA9IHsgbWlsbGlzZWNvbmQ6IDE1LCBzZWNvbmQ6IDEyLCBtaW51dGU6IDksIGhvdXI6IDYsIGRheTogMyB9LCBzID0gIm1pbGxpc2Vjb25kIjsKICAgICAgICAgICAgZm9yIChhIGluIGQpIHsKICAgICAgICAgICAgICBpZiAodCA9PT0gZC53ZWVrICYmICt0aGlzLmRhdGVGb3JtYXQoIiV3IiwgZSkgPT09IGkgJiYgIjAwOjAwOjAwLjAwMCIgPT09IG8uc3Vic3RyKDYpKSB7CiAgICAgICAgICAgICAgICB2YXIgYSA9ICJ3ZWVrIjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoZFthXSA+IHQpIHsKICAgICAgICAgICAgICAgIGEgPSBzOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChyW2FdICYmIG8uc3Vic3RyKHJbYV0pICE9PSAiMDEtMDEgMDA6MDA6MDAuMDAwIi5zdWJzdHIoclthXSkpIGJyZWFrOwogICAgICAgICAgICAgICJ3ZWVrIiAhPT0gYSAmJiAocyA9IGEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChhKSB2YXIgaCA9IHRoaXMucmVzb2x2ZURUTEZvcm1hdChuW2FdKS5tYWluOwogICAgICAgICAgICByZXR1cm4gaDsKICAgICAgICAgIH0sIGU7CiAgICAgICAgfSgpLCBlOwogICAgICB9KSksIGUoaSwgIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiLCBbaVsiQ29yZS9DaGFydC9DaGFydERlZmF1bHRzLmpzIl0sIGlbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvQ29sb3IvUGFsZXR0ZXMuanMiXSwgaVsiQ29yZS9UaW1lLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgcikgewogICAgICAgIGUgPSBlLnBhcnNlOwogICAgICAgIHZhciBzID0gci5tZXJnZSwgYSA9IHsKICAgICAgICAgIGNvbG9yczogbi5jb2xvcnMsCiAgICAgICAgICBzeW1ib2xzOiBbImNpcmNsZSIsICJkaWFtb25kIiwgInNxdWFyZSIsICJ0cmlhbmdsZSIsICJ0cmlhbmdsZS1kb3duIl0sCiAgICAgICAgICBsYW5nOiB7CiAgICAgICAgICAgIGxvYWRpbmc6ICJMb2FkaW5nLi4uIiwKICAgICAgICAgICAgbW9udGhzOiAiSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKSwKICAgICAgICAgICAgc2hvcnRNb250aHM6ICJKYW4gRmViIE1hciBBcHIgTWF5IEp1biBKdWwgQXVnIFNlcCBPY3QgTm92IERlYyIuc3BsaXQoIiAiKSwKICAgICAgICAgICAgd2Vla2RheXM6ICJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheSIuc3BsaXQoIiAiKSwKICAgICAgICAgICAgZGVjaW1hbFBvaW50OiAiLiIsCiAgICAgICAgICAgIG51bWVyaWNTeW1ib2xzOiAia01HVFBFIi5zcGxpdCgiIiksCiAgICAgICAgICAgIHJlc2V0Wm9vbTogIlJlc2V0IHpvb20iLAogICAgICAgICAgICByZXNldFpvb21UaXRsZTogIlJlc2V0IHpvb20gbGV2ZWwgMToxIiwKICAgICAgICAgICAgdGhvdXNhbmRzU2VwOiAiICIKICAgICAgICAgIH0sCiAgICAgICAgICBnbG9iYWw6IHt9LAogICAgICAgICAgdGltZTogeyBEYXRlOiB2b2lkIDAsIGdldFRpbWV6b25lT2Zmc2V0OiB2b2lkIDAsIHRpbWV6b25lOiB2b2lkIDAsIHRpbWV6b25lT2Zmc2V0OiAwLCB1c2VVVEM6ICEwIH0sCiAgICAgICAgICBjaGFydDogdCwKICAgICAgICAgIHRpdGxlOiB7IHRleHQ6ICJDaGFydCB0aXRsZSIsIGFsaWduOiAiY2VudGVyIiwgbWFyZ2luOiAxNSwgd2lkdGhBZGp1c3Q6IC00NCB9LAogICAgICAgICAgc3VidGl0bGU6IHsgdGV4dDogIiIsIGFsaWduOiAiY2VudGVyIiwgd2lkdGhBZGp1c3Q6IC00NCB9LAogICAgICAgICAgY2FwdGlvbjogeyBtYXJnaW46IDE1LCB0ZXh0OiAiIiwgYWxpZ246ICJsZWZ0IiwgdmVydGljYWxBbGlnbjogImJvdHRvbSIgfSwKICAgICAgICAgIHBsb3RPcHRpb25zOiB7fSwKICAgICAgICAgIGxhYmVsczogeyBzdHlsZTogeyBwb3NpdGlvbjogImFic29sdXRlIiwgY29sb3I6ICIjMzMzMzMzIiB9IH0sCiAgICAgICAgICBsZWdlbmQ6IHsKICAgICAgICAgICAgZW5hYmxlZDogITAsCiAgICAgICAgICAgIGFsaWduOiAiY2VudGVyIiwKICAgICAgICAgICAgYWxpZ25Db2x1bW5zOiAhMCwKICAgICAgICAgICAgY2xhc3NOYW1lOiAiaGlnaGNoYXJ0cy1uby10b29sdGlwIiwKICAgICAgICAgICAgbGF5b3V0OiAiaG9yaXpvbnRhbCIsCiAgICAgICAgICAgIGxhYmVsRm9ybWF0dGVyOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lOwogICAgICAgICAgICB9LAogICAgICAgICAgICBib3JkZXJDb2xvcjogIiM5OTk5OTkiLAogICAgICAgICAgICBib3JkZXJSYWRpdXM6IDAsCiAgICAgICAgICAgIG5hdmlnYXRpb246IHsgYWN0aXZlQ29sb3I6ICIjMDAzMzk5IiwgaW5hY3RpdmVDb2xvcjogIiNjY2NjY2MiIH0sCiAgICAgICAgICAgIGl0ZW1TdHlsZTogeyBjb2xvcjogIiMzMzMzMzMiLCBjdXJzb3I6ICJwb2ludGVyIiwgZm9udFNpemU6ICIxMnB4IiwgZm9udFdlaWdodDogImJvbGQiLCB0ZXh0T3ZlcmZsb3c6ICJlbGxpcHNpcyIgfSwKICAgICAgICAgICAgaXRlbUhvdmVyU3R5bGU6IHsgY29sb3I6ICIjMDAwMDAwIiB9LAogICAgICAgICAgICBpdGVtSGlkZGVuU3R5bGU6IHsgY29sb3I6ICIjY2NjY2NjIiB9LAogICAgICAgICAgICBzaGFkb3c6ICExLAogICAgICAgICAgICBpdGVtQ2hlY2tib3hTdHlsZTogeyBwb3NpdGlvbjogImFic29sdXRlIiwgd2lkdGg6ICIxM3B4IiwgaGVpZ2h0OiAiMTNweCIgfSwKICAgICAgICAgICAgc3F1YXJlU3ltYm9sOiAhMCwKICAgICAgICAgICAgc3ltYm9sUGFkZGluZzogNSwKICAgICAgICAgICAgdmVydGljYWxBbGlnbjogImJvdHRvbSIsCiAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgIHk6IDAsCiAgICAgICAgICAgIHRpdGxlOiB7IHN0eWxlOiB7IGZvbnRXZWlnaHQ6ICJib2xkIiB9IH0KICAgICAgICAgIH0sCiAgICAgICAgICBsb2FkaW5nOiB7CiAgICAgICAgICAgIGxhYmVsU3R5bGU6IHsgZm9udFdlaWdodDogImJvbGQiLCBwb3NpdGlvbjogInJlbGF0aXZlIiwgdG9wOiAiNDUlIiB9LAogICAgICAgICAgICBzdHlsZTogeyBwb3NpdGlvbjogImFic29sdXRlIiwgYmFja2dyb3VuZENvbG9yOiAiI2ZmZmZmZiIsIG9wYWNpdHk6IC41LCB0ZXh0QWxpZ246ICJjZW50ZXIiIH0KICAgICAgICAgIH0sCiAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICBhbmltYXRpb246IGkuc3ZnLAogICAgICAgICAgICBib3JkZXJSYWRpdXM6IDMsCiAgICAgICAgICAgIGRhdGVUaW1lTGFiZWxGb3JtYXRzOiB7CiAgICAgICAgICAgICAgbWlsbGlzZWNvbmQ6ICIlQSwgJWIgJWUsICVIOiVNOiVTLiVMIiwKICAgICAgICAgICAgICBzZWNvbmQ6ICIlQSwgJWIgJWUsICVIOiVNOiVTIiwKICAgICAgICAgICAgICBtaW51dGU6ICIlQSwgJWIgJWUsICVIOiVNIiwKICAgICAgICAgICAgICBob3VyOiAiJUEsICViICVlLCAlSDolTSIsCiAgICAgICAgICAgICAgZGF5OiAiJUEsICViICVlLCAlWSIsCiAgICAgICAgICAgICAgd2VlazogIldlZWsgZnJvbSAlQSwgJWIgJWUsICVZIiwKICAgICAgICAgICAgICBtb250aDogIiVCICVZIiwKICAgICAgICAgICAgICB5ZWFyOiAiJVkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGZvb3RlckZvcm1hdDogIiIsCiAgICAgICAgICAgIGhlYWRlclNoYXBlOiAiY2FsbG91dCIsCiAgICAgICAgICAgIGhpZGVEZWxheTogNTAwLAogICAgICAgICAgICBwYWRkaW5nOiA4LAogICAgICAgICAgICBzaGFwZTogImNhbGxvdXQiLAogICAgICAgICAgICBzaGFyZWQ6ICExLAogICAgICAgICAgICBzbmFwOiBpLmlzVG91Y2hEZXZpY2UgPyAyNSA6IDEwLAogICAgICAgICAgICBoZWFkZXJGb3JtYXQ6ICI8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTBweFwiPntwb2ludC5rZXl9PC9zcGFuPjxici8+IiwKICAgICAgICAgICAgcG9pbnRGb3JtYXQ6ICI8c3BhbiBzdHlsZT1cImNvbG9yOntwb2ludC5jb2xvcn1cIj7il488L3NwYW4+IHtzZXJpZXMubmFtZX06IDxiPntwb2ludC55fTwvYj48YnIvPiIsCiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZSgiI2Y3ZjdmNyIpLnNldE9wYWNpdHkoLjg1KS5nZXQoKSwKICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDEsCiAgICAgICAgICAgIHNoYWRvdzogITAsCiAgICAgICAgICAgIHN0aWNrT25Db250YWN0OiAhMSwKICAgICAgICAgICAgc3R5bGU6IHsgY29sb3I6ICIjMzMzMzMzIiwgY3Vyc29yOiAiZGVmYXVsdCIsIGZvbnRTaXplOiAiMTJweCIsIHdoaXRlU3BhY2U6ICJub3dyYXAiIH0sCiAgICAgICAgICAgIHVzZUhUTUw6ICExCiAgICAgICAgICB9LAogICAgICAgICAgY3JlZGl0czogewogICAgICAgICAgICBlbmFibGVkOiAhMCwKICAgICAgICAgICAgaHJlZjogImh0dHBzOi8vd3d3LmhpZ2hjaGFydHMuY29tP2NyZWRpdHMiLAogICAgICAgICAgICBwb3NpdGlvbjogeyBhbGlnbjogInJpZ2h0IiwgeDogLTEwLCB2ZXJ0aWNhbEFsaWduOiAiYm90dG9tIiwgeTogLTUgfSwKICAgICAgICAgICAgc3R5bGU6IHsgY3Vyc29yOiAicG9pbnRlciIsIGNvbG9yOiAiIzk5OTk5OSIsIGZvbnRTaXplOiAiOXB4IiB9LAogICAgICAgICAgICB0ZXh0OiAiSGlnaGNoYXJ0cy5jb20iCiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICBhLmNoYXJ0LnN0eWxlZE1vZGUgPSAhMTsKICAgICAgICB2YXIgaCA9IG5ldyBvKHMoYS5nbG9iYWwsIGEudGltZSkpOwogICAgICAgIHJldHVybiB0ID0gewogICAgICAgICAgZGVmYXVsdE9wdGlvbnM6IGEsIGRlZmF1bHRUaW1lOiBoLCBnZXRPcHRpb25zOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIGE7CiAgICAgICAgICB9LCBzZXRPcHRpb25zOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiBzKCEwLCBhLCB0KSwgKHQudGltZSB8fCB0Lmdsb2JhbCkgJiYgKGkudGltZSA/IGkudGltZS51cGRhdGUocyhhLmdsb2JhbCwgYS50aW1lLCB0Lmdsb2JhbCwgdC50aW1lKSkgOiBpLnRpbWUgPSBoKSwgYTsKICAgICAgICAgIH0KICAgICAgICB9LCB0OwogICAgICB9KSksIGUoaSwgIkNvcmUvQW5pbWF0aW9uL0Z4LmpzIiwgW2lbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgIHZhciBuID0gdC5wYXJzZSwgbyA9IGUud2luLCByID0gaS5pc051bWJlciwgcyA9IGkub2JqZWN0RWFjaDsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiB0KHQsIGUsIGkpIHsKICAgICAgICAgICAgdGhpcy5wb3MgPSBOYU4sIHRoaXMub3B0aW9ucyA9IGUsIHRoaXMuZWxlbSA9IHQsIHRoaXMucHJvcCA9IGk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLmRTZXR0ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnBhdGhzLCBlID0gdCAmJiB0WzBdOwogICAgICAgICAgICB0ID0gdCAmJiB0WzFdOwogICAgICAgICAgICB2YXIgaSA9IHRoaXMubm93IHx8IDAsIG4gPSBbXTsKICAgICAgICAgICAgaWYgKDEgIT09IGkgJiYgZSAmJiB0KSBpZiAoZS5sZW5ndGggPT09IHQubGVuZ3RoICYmIDEgPiBpKSBmb3IgKHZhciBvID0gMDsgbyA8IHQubGVuZ3RoOyBvKyspIHsKICAgICAgICAgICAgICBmb3IgKHZhciBzID0gZVtvXSwgYSA9IHRbb10sIGggPSBbXSwgbCA9IDA7IGwgPCBhLmxlbmd0aDsgbCsrKSB7CiAgICAgICAgICAgICAgICB2YXIgYyA9IHNbbF0sIHAgPSBhW2xdOwogICAgICAgICAgICAgICAgcihjKSAmJiByKHApICYmICgiQSIgIT09IGFbMF0gfHwgNCAhPT0gbCAmJiA1ICE9PSBsKSA/IGhbbF0gPSBjICsgaSAqIChwIC0gYykgOiBoW2xdID0gcDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgbi5wdXNoKGgpOwogICAgICAgICAgICB9IGVsc2UgbiA9IHQ7IGVsc2UgbiA9IHRoaXMudG9EIHx8IFtdOwogICAgICAgICAgICB0aGlzLmVsZW0uYXR0cigiZCIsIG4sIHZvaWQgMCwgITApOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5lbGVtLCBlID0gdGhpcy5wcm9wLCBpID0gdGhpcy5ub3csIG4gPSB0aGlzLm9wdGlvbnMuc3RlcDsKICAgICAgICAgICAgdGhpc1tlICsgIlNldHRlciJdID8gdGhpc1tlICsgIlNldHRlciJdKCkgOiB0LmF0dHIgPyB0LmVsZW1lbnQgJiYgdC5hdHRyKGUsIGksIG51bGwsICEwKSA6IHQuc3R5bGVbZV0gPSBpICsgdGhpcy51bml0LCBuICYmIG4uY2FsbCh0LCBpLCB0aGlzKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uKGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIHIgPSB0aGlzLCBzID0gci5vcHRpb25zLCBhID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiAhYS5zdG9wcGVkICYmIHIuc3RlcCh0KTsKICAgICAgICAgICAgfSwgaCA9IG8ucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBzZXRUaW1lb3V0KHQsIDEzKTsKICAgICAgICAgICAgfSwgbCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGZvciAodmFyIGUgPSAwOyBlIDwgdC50aW1lcnMubGVuZ3RoOyBlKyspIHQudGltZXJzW2VdKCkgfHwgdC50aW1lcnMuc3BsaWNlKGUtLSwgMSk7CiAgICAgICAgICAgICAgdC50aW1lcnMubGVuZ3RoICYmIGgobCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGUgIT09IGkgfHwgdGhpcy5lbGVtWyJmb3JjZUFuaW1hdGU6IiArIHRoaXMucHJvcF0gPyAodGhpcy5zdGFydFRpbWUgPSArbmV3IERhdGUsIHRoaXMuc3RhcnQgPSBlLCB0aGlzLmVuZCA9IGksIHRoaXMudW5pdCA9IG4sIHRoaXMubm93ID0gdGhpcy5zdGFydCwgdGhpcy5wb3MgPSAwLCBhLmVsZW0gPSB0aGlzLmVsZW0sIGEucHJvcCA9IHRoaXMucHJvcCwgYSgpICYmIDEgPT09IHQudGltZXJzLnB1c2goYSkgJiYgaChsKSkgOiAoZGVsZXRlIHMuY3VyQW5pbVt0aGlzLnByb3BdLCBzLmNvbXBsZXRlICYmIDAgPT09IE9iamVjdC5rZXlzKHMuY3VyQW5pbSkubGVuZ3RoICYmIHMuY29tcGxldGUuY2FsbCh0aGlzLmVsZW0pKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnN0ZXAgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gK25ldyBEYXRlLCBpID0gdGhpcy5vcHRpb25zLCBuID0gdGhpcy5lbGVtLCBvID0gaS5jb21wbGV0ZSwgciA9IGkuZHVyYXRpb24sIGEgPSBpLmN1ckFuaW07CiAgICAgICAgICAgIGlmIChuLmF0dHIgJiYgIW4uZWxlbWVudCkgdCA9ICExOyBlbHNlIGlmICh0IHx8IGUgPj0gciArIHRoaXMuc3RhcnRUaW1lKSB7CiAgICAgICAgICAgICAgdGhpcy5ub3cgPSB0aGlzLmVuZCwgdGhpcy5wb3MgPSAxLCB0aGlzLnVwZGF0ZSgpOwogICAgICAgICAgICAgIHZhciBoID0gYVt0aGlzLnByb3BdID0gITA7CiAgICAgICAgICAgICAgcyhhLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgITAgIT09IHQgJiYgKGggPSAhMSk7CiAgICAgICAgICAgICAgfSkpLCBoICYmIG8gJiYgby5jYWxsKG4pLCB0ID0gITE7CiAgICAgICAgICAgIH0gZWxzZSB0aGlzLnBvcyA9IGkuZWFzaW5nKChlIC0gdGhpcy5zdGFydFRpbWUpIC8gciksIHRoaXMubm93ID0gdGhpcy5zdGFydCArICh0aGlzLmVuZCAtIHRoaXMuc3RhcnQpICogdGhpcy5wb3MsIHRoaXMudXBkYXRlKCksIHQgPSAhMDsKICAgICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pbml0UGF0aCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICg7IHQubGVuZ3RoIDwgZDspIHsKICAgICAgICAgICAgICAgIHZhciBpID0gdFswXSwgbiA9IGVbZCAtIHQubGVuZ3RoXTsKICAgICAgICAgICAgICAgIG4gJiYgIk0iID09PSBpWzBdICYmICh0WzBdID0gIkMiID09PSBuWzBdID8gWyJDIiwgaVsxXSwgaVsyXSwgaVsxXSwgaVsyXSwgaVsxXSwgaVsyXV0gOiBbIkwiLCBpWzFdLCBpWzJdXSksIHQudW5zaGlmdChpKSwgaCAmJiAoaSA9IHQucG9wKCksIHQucHVzaCh0W3QubGVuZ3RoIC0gMV0sIGkpKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIG8odCwgZSkgewogICAgICAgICAgICAgIGZvciAoOyB0Lmxlbmd0aCA8IGQ7KSBpZiAoZSA9IHRbTWF0aC5mbG9vcih0Lmxlbmd0aCAvIGwpIC0gMV0uc2xpY2UoKSwgIkMiID09PSBlWzBdICYmIChlWzFdID0gZVs1XSwgZVsyXSA9IGVbNl0pLCBoKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHRbTWF0aC5mbG9vcih0Lmxlbmd0aCAvIGwpXS5zbGljZSgpOwogICAgICAgICAgICAgICAgdC5zcGxpY2UodC5sZW5ndGggLyAyLCAwLCBlLCBpKTsKICAgICAgICAgICAgICB9IGVsc2UgdC5wdXNoKGUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgcyA9IHQuc3RhcnRYLCBhID0gdC5lbmRYOwogICAgICAgICAgICBpID0gaS5zbGljZSgpOwogICAgICAgICAgICB2YXIgaCA9IHQuaXNBcmVhLCBsID0gaCA/IDIgOiAxOwogICAgICAgICAgICBpZiAoZSA9IGUgJiYgZS5zbGljZSgpLCAhZSkgcmV0dXJuIFtpLCBpXTsKICAgICAgICAgICAgaWYgKHMgJiYgYSAmJiBhLmxlbmd0aCkgewogICAgICAgICAgICAgIGZvciAodCA9IDA7IHQgPCBzLmxlbmd0aDsgdCsrKSB7CiAgICAgICAgICAgICAgICBpZiAoc1t0XSA9PT0gYVswXSkgewogICAgICAgICAgICAgICAgICB2YXIgYyA9IHQ7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKHNbMF0gPT09IGFbYS5sZW5ndGggLSBzLmxlbmd0aCArIHRdKSB7CiAgICAgICAgICAgICAgICAgIGMgPSB0OwogICAgICAgICAgICAgICAgICB2YXIgcCA9ICEwOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChzW3MubGVuZ3RoIC0gMV0gPT09IGFbYS5sZW5ndGggLSBzLmxlbmd0aCArIHRdKSB7CiAgICAgICAgICAgICAgICAgIGMgPSBzLmxlbmd0aCAtIHQ7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIGMgJiYgKGUgPSBbXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGUubGVuZ3RoICYmIHIoYykpIHsKICAgICAgICAgICAgICB2YXIgZCA9IGkubGVuZ3RoICsgYyAqIGw7CiAgICAgICAgICAgICAgcCA/IChuKGUsIGkpLCBvKGksIGUpKSA6IChuKGksIGUpLCBvKGUsIGkpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gW2UsIGldOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZmlsbFNldHRlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0LnByb3RvdHlwZS5zdHJva2VTZXR0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnN0cm9rZVNldHRlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmVsZW0uYXR0cih0aGlzLnByb3AsIG4odGhpcy5zdGFydCkudHdlZW5UbyhuKHRoaXMuZW5kKSwgdGhpcy5wb3MpLCB2b2lkIDAsICEwKTsKICAgICAgICAgIH0sIHQudGltZXJzID0gW10sIHQ7CiAgICAgICAgfSgpOwogICAgICB9KSksIGUoaSwgIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyIsIFtpWyJDb3JlL0FuaW1hdGlvbi9GeC5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICBmdW5jdGlvbiBpKHQpIHsKICAgICAgICAgIHJldHVybiBoKHQpID8gbCh7IGR1cmF0aW9uOiA1MDAsIGRlZmVyOiAwIH0sIHQpIDogeyBkdXJhdGlvbjogdCA/IDUwMCA6IDAsIGRlZmVyOiAwIH07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBuKGUsIGkpIHsKICAgICAgICAgIGZvciAodmFyIG4gPSB0LnRpbWVycy5sZW5ndGg7IG4tLTspIHQudGltZXJzW25dLmVsZW0gIT09IGUgfHwgaSAmJiBpICE9PSB0LnRpbWVyc1tuXS5wcm9wIHx8ICh0LnRpbWVyc1tuXS5zdG9wcGVkID0gITApOwogICAgICAgIH0KCiAgICAgICAgdmFyIG8gPSBlLmRlZmluZWQsIHIgPSBlLmdldFN0eWxlLCBzID0gZS5pc0FycmF5LCBhID0gZS5pc051bWJlciwgaCA9IGUuaXNPYmplY3QsIGwgPSBlLm1lcmdlLCBjID0gZS5vYmplY3RFYWNoLCBwID0gZS5waWNrOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICBhbmltYXRlOiBmdW5jdGlvbihlLCBpLCBvKSB7CiAgICAgICAgICAgIHZhciBwLCBkLCB1LCBmID0gIiI7CiAgICAgICAgICAgIGlmICghaChvKSkgewogICAgICAgICAgICAgIHZhciBnID0gYXJndW1lbnRzOwogICAgICAgICAgICAgIG8gPSB7IGR1cmF0aW9uOiBnWzJdLCBlYXNpbmc6IGdbM10sIGNvbXBsZXRlOiBnWzRdIH07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYShvLmR1cmF0aW9uKSB8fCAoby5kdXJhdGlvbiA9IDQwMCksIG8uZWFzaW5nID0gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG8uZWFzaW5nID8gby5lYXNpbmcgOiBNYXRoW28uZWFzaW5nXSB8fCBNYXRoLmVhc2VJbk91dFNpbmUsIG8uY3VyQW5pbSA9IGwoaSksIGMoaSwgKGZ1bmN0aW9uKGEsIGgpIHsKICAgICAgICAgICAgICBuKGUsIGgpLCB1ID0gbmV3IHQoZSwgbywgaCksIGQgPSB2b2lkIDAsICJkIiA9PT0gaCAmJiBzKGkuZCkgPyAodS5wYXRocyA9IHUuaW5pdFBhdGgoZSwgZS5wYXRoQXJyYXksIGkuZCksIHUudG9EID0gaS5kLCBwID0gMCwgZCA9IDEpIDogZS5hdHRyID8gcCA9IGUuYXR0cihoKSA6IChwID0gcGFyc2VGbG9hdChyKGUsIGgpKSB8fCAwLCAib3BhY2l0eSIgIT09IGggJiYgKGYgPSAicHgiKSksIGQgfHwgKGQgPSBhKSwgInN0cmluZyIgPT09IHR5cGVvZiBkICYmIGQubWF0Y2goInB4IikgJiYgKGQgPSBkLnJlcGxhY2UoL3B4L2csICIiKSksIHUucnVuKHAsIGQsIGYpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBhbmltT2JqZWN0OiBpLCBnZXREZWZlcnJlZEFuaW1hdGlvbjogZnVuY3Rpb24odCwgZSwgbikgewogICAgICAgICAgICB2YXIgciA9IGkoZSksIHMgPSAwLCBhID0gMDsKICAgICAgICAgICAgcmV0dXJuIChuID8gW25dIDogdC5zZXJpZXMpLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0ID0gaSh0Lm9wdGlvbnMuYW5pbWF0aW9uKSwgcyA9IGUgJiYgbyhlLmRlZmVyKSA/IHIuZGVmZXIgOiBNYXRoLm1heChzLCB0LmR1cmF0aW9uICsgdC5kZWZlciksIGEgPSBNYXRoLm1pbihyLmR1cmF0aW9uLCB0LmR1cmF0aW9uKTsKICAgICAgICAgICAgfSkpLCB0LnJlbmRlcmVyLmZvckV4cG9ydCAmJiAocyA9IDApLCB7IGRlZmVyOiBNYXRoLm1heCgwLCBzIC0gYSksIGR1cmF0aW9uOiBNYXRoLm1pbihzLCBhKSB9OwogICAgICAgICAgfSwgc2V0QW5pbWF0aW9uOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIGUucmVuZGVyZXIuZ2xvYmFsQW5pbWF0aW9uID0gcCh0LCBlLm9wdGlvbnMuY2hhcnQuYW5pbWF0aW9uLCAhMCk7CiAgICAgICAgICB9LCBzdG9wOiBuCiAgICAgICAgfTsKICAgICAgfSkpLCBlKGksICJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICB2YXIgaSA9IHQuU1ZHX05TLCBuID0gZS5hdHRyLCBvID0gZS5jcmVhdGVFbGVtZW50LCByID0gZS5lcnJvciwgcyA9IGUuaXNGdW5jdGlvbiwgYSA9IGUuaXNTdHJpbmcsIGggPSBlLm9iamVjdEVhY2gsIGwgPSBlLnNwbGF0LAogICAgICAgICAgYyA9IChlID0gdC53aW4udHJ1c3RlZFR5cGVzKSAmJiBzKGUuY3JlYXRlUG9saWN5KSAmJiBlLmNyZWF0ZVBvbGljeSgiaGlnaGNoYXJ0cyIsIHsKICAgICAgICAgICAgY3JlYXRlSFRNTDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiB0OwogICAgICAgICAgICB9CiAgICAgICAgICB9KSwgcCA9IGMgPyBjLmNyZWF0ZUhUTUwoIiIpIDogIiI7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciBkID0gISEobmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHAsICJ0ZXh0L2h0bWwiKTsKICAgICAgICB9IGNhdGNoICh1KSB7CiAgICAgICAgICBkID0gITE7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiBlKHQpIHsKICAgICAgICAgICAgdGhpcy5ub2RlcyA9ICJzdHJpbmciID09PSB0eXBlb2YgdCA/IHRoaXMucGFyc2VNYXJrdXAodCkgOiB0OwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBlLmZpbHRlclVzZXJBdHRyaWJ1dGVzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gaCh0LCAoZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgICAgIHZhciBvID0gITA7CiAgICAgICAgICAgICAgLTEgPT09IGUuYWxsb3dlZEF0dHJpYnV0ZXMuaW5kZXhPZihuKSAmJiAobyA9ICExKSwgLTEgIT09IFsiYmFja2dyb3VuZCIsICJkeW5zcmMiLCAiaHJlZiIsICJsb3dzcmMiLCAic3JjIl0uaW5kZXhPZihuKSAmJiAobyA9IGEoaSkgJiYgZS5hbGxvd2VkUmVmZXJlbmNlcy5zb21lKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMCA9PT0gaS5pbmRleE9mKHQpOwogICAgICAgICAgICAgIH0pKSksIG8gfHwgKHIoIkhpZ2hjaGFydHMgd2FybmluZzogSW52YWxpZCBhdHRyaWJ1dGUgJyIgKyBuICsgIicgaW4gY29uZmlnIiksIGRlbGV0ZSB0W25dKTsKICAgICAgICAgICAgfSkpLCB0OwogICAgICAgICAgfSwgZS5zZXRFbGVtZW50SFRNTCA9IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgdC5pbm5lckhUTUwgPSBlLmVtcHR5SFRNTCwgaSAmJiBuZXcgZShpKS5hZGRUb0RPTSh0KTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmFkZFRvRE9NID0gZnVuY3Rpb24obykgewogICAgICAgICAgICBmdW5jdGlvbiBzKG8sIGEpIHsKICAgICAgICAgICAgICB2YXIgYzsKICAgICAgICAgICAgICByZXR1cm4gbChvKS5mb3JFYWNoKChmdW5jdGlvbihvKSB7CiAgICAgICAgICAgICAgICB2YXIgbCA9IG8udGFnTmFtZSwgcCA9IG8udGV4dENvbnRlbnQgPyB0LmRvYy5jcmVhdGVUZXh0Tm9kZShvLnRleHRDb250ZW50KSA6IHZvaWQgMDsKICAgICAgICAgICAgICAgIGlmIChsKSBpZiAoIiN0ZXh0IiA9PT0gbCkgdmFyIGQgPSBwOyBlbHNlIGlmICgtMSAhPT0gZS5hbGxvd2VkVGFncy5pbmRleE9mKGwpKSB7CiAgICAgICAgICAgICAgICAgIGwgPSB0LmRvYy5jcmVhdGVFbGVtZW50TlMoInN2ZyIgPT09IGwgPyBpIDogYS5uYW1lc3BhY2VVUkkgfHwgaSwgbCk7CiAgICAgICAgICAgICAgICAgIHZhciB1ID0gby5hdHRyaWJ1dGVzIHx8IHt9OwogICAgICAgICAgICAgICAgICBoKG8sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgInRhZ05hbWUiICE9PSBlICYmICJhdHRyaWJ1dGVzIiAhPT0gZSAmJiAiY2hpbGRyZW4iICE9PSBlICYmICJ0ZXh0Q29udGVudCIgIT09IGUgJiYgKHVbZV0gPSB0KTsKICAgICAgICAgICAgICAgICAgfSkpLCBuKGwsIGUuZmlsdGVyVXNlckF0dHJpYnV0ZXModSkpLCBwICYmIGwuYXBwZW5kQ2hpbGQocCksIHMoby5jaGlsZHJlbiB8fCBbXSwgbCksIGQgPSBsOwogICAgICAgICAgICAgICAgfSBlbHNlIHIoIkhpZ2hjaGFydHMgd2FybmluZzogSW52YWxpZCB0YWdOYW1lICIgKyBsICsgIiBpbiBjb25maWciKTsKICAgICAgICAgICAgICAgIGQgJiYgYS5hcHBlbmRDaGlsZChkKSwgYyA9IGQ7CiAgICAgICAgICAgICAgfSkpLCBjOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcyh0aGlzLm5vZGVzLCBvKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnBhcnNlTWFya3VwID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IFtdOwogICAgICAgICAgICBpZiAodCA9IHQudHJpbSgpLCBkKSB0ID0gKG5ldyBET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyhjID8gYy5jcmVhdGVIVE1MKHQpIDogdCwgInRleHQvaHRtbCIpOyBlbHNlIHsKICAgICAgICAgICAgICB2YXIgaSA9IG8oImRpdiIpOwogICAgICAgICAgICAgIGkuaW5uZXJIVE1MID0gdCwgdCA9IHsgYm9keTogaSB9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBuID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHZhciBpID0gdC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLCBvID0geyB0YWdOYW1lOiBpIH07CiAgICAgICAgICAgICAgaWYgKCIjdGV4dCIgPT09IGkgJiYgKG8udGV4dENvbnRlbnQgPSB0LnRleHRDb250ZW50IHx8ICIiKSwgaSA9IHQuYXR0cmlidXRlcykgewogICAgICAgICAgICAgICAgdmFyIHIgPSB7fTsKICAgICAgICAgICAgICAgIFtdLmZvckVhY2guY2FsbChpLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICByW3QubmFtZV0gPSB0LnZhbHVlOwogICAgICAgICAgICAgICAgfSkpLCBvLmF0dHJpYnV0ZXMgPSByOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAodC5jaGlsZE5vZGVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgdmFyIHMgPSBbXTsKICAgICAgICAgICAgICAgIFtdLmZvckVhY2guY2FsbCh0LmNoaWxkTm9kZXMsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIG4odCwgcyk7CiAgICAgICAgICAgICAgICB9KSksIHMubGVuZ3RoICYmIChvLmNoaWxkcmVuID0gcyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGUucHVzaChvKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuIFtdLmZvckVhY2guY2FsbCh0LmJvZHkuY2hpbGROb2RlcywgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gbih0LCBlKTsKICAgICAgICAgICAgfSkpLCBlOwogICAgICAgICAgfSwgZS5hbGxvd2VkQXR0cmlidXRlcyA9ICJhcmlhLWNvbnRyb2xzIGFyaWEtZGVzY3JpYmVkYnkgYXJpYS1leHBhbmRlZCBhcmlhLWhhc3BvcHVwIGFyaWEtaGlkZGVuIGFyaWEtbGFiZWwgYXJpYS1sYWJlbGxlZGJ5IGFyaWEtbGl2ZSBhcmlhLXByZXNzZWQgYXJpYS1yZWFkb25seSBhcmlhLXJvbGVkZXNjcmlwdGlvbiBhcmlhLXNlbGVjdGVkIGNsYXNzIGNsaXAtcGF0aCBjb2xvciBjb2xzcGFuIGN4IGN5IGQgZHggZHkgZGlzYWJsZWQgZmlsbCBoZWlnaHQgaHJlZiBpZCBpbiBtYXJrZXJIZWlnaHQgbWFya2VyV2lkdGggb2Zmc2V0IG9wYWNpdHkgb3JpZW50IHBhZGRpbmcgcGFkZGluZ0xlZnQgcGFkZGluZ1JpZ2h0IHBhdHRlcm5Vbml0cyByIHJlZlggcmVmWSByb2xlIHNjb3BlIHNsb3BlIHNyYyBzdGFydE9mZnNldCBzdGREZXZpYXRpb24gc3Ryb2tlIHN0cm9rZS1saW5lY2FwIHN0cm9rZS13aWR0aCBzdHlsZSB0YWJsZVZhbHVlcyByZXN1bHQgcm93c3BhbiBzdW1tYXJ5IHRhcmdldCB0YWJpbmRleCB0ZXh0LWFsaWduIHRleHRBbmNob3IgdGV4dExlbmd0aCB0aXRsZSB0eXBlIHZhbGlnbiB3aWR0aCB4IHgxIHgyIHkgeTEgeTIgekluZGV4Ii5zcGxpdCgiICIpLCBlLmFsbG93ZWRSZWZlcmVuY2VzID0gImh0dHBzOi8vIGh0dHA6Ly8gbWFpbHRvOiAvIC4uLyAuLyAjIi5zcGxpdCgiICIpLCBlLmFsbG93ZWRUYWdzID0gImEgYWJiciBiIGJyIGJ1dHRvbiBjYXB0aW9uIGNpcmNsZSBjbGlwUGF0aCBjb2RlIGRkIGRlZnMgZGl2IGRsIGR0IGVtIGZlQ29tcG9uZW50VHJhbnNmZXIgZmVGdW5jQSBmZUZ1bmNCIGZlRnVuY0cgZmVGdW5jUiBmZUdhdXNzaWFuQmx1ciBmZU9mZnNldCBmZU1lcmdlIGZlTWVyZ2VOb2RlIGZpbHRlciBoMSBoMiBoMyBoNCBoNSBoNiBociBpIGltZyBsaSBsaW5lYXJHcmFkaWVudCBtYXJrZXIgb2wgcCBwYXRoIHBhdHRlcm4gcHJlIHJlY3Qgc21hbGwgc3BhbiBzdG9wIHN0cm9uZyBzdHlsZSBzdWIgc3VwIHN2ZyB0YWJsZSB0ZXh0IHRoZWFkIHRib2R5IHRzcGFuIHRkIHRoIHRyIHUgdWwgI3RleHQiLnNwbGl0KCIgIiksIGUuZW1wdHlIVE1MID0gcCwgZTsKICAgICAgICB9KCksIHM7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiLCBbaVsiQ29yZS9EZWZhdWx0T3B0aW9ucy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICBmdW5jdGlvbiBpKHQsIGUsIGksIG8pIHsKICAgICAgICAgIHQgPSArdCB8fCAwLCBlID0gK2U7CiAgICAgICAgICB2YXIgciA9IG4ubGFuZywgbCA9ICh0LnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXSB8fCAiIikuc3BsaXQoImUiKVswXS5sZW5ndGgsIGMgPSB0LnRvU3RyaW5nKCkuc3BsaXQoImUiKSwgcCA9IGU7CiAgICAgICAgICBpZiAoLTEgPT09IGUpIGUgPSBNYXRoLm1pbihsLCAyMCk7IGVsc2UgaWYgKHMoZSkpIHsKICAgICAgICAgICAgaWYgKGUgJiYgY1sxXSAmJiAwID4gY1sxXSkgewogICAgICAgICAgICAgIHZhciBkID0gZSArICtjWzFdOwogICAgICAgICAgICAgIDAgPD0gZCA/IChjWzBdID0gKCtjWzBdKS50b0V4cG9uZW50aWFsKGQpLnNwbGl0KCJlIilbMF0sIGUgPSBkKSA6IChjWzBdID0gY1swXS5zcGxpdCgiLiIpWzBdIHx8IDAsIHQgPSAyMCA+IGUgPyAoY1swXSAqIE1hdGgucG93KDEwLCBjWzFdKSkudG9GaXhlZChlKSA6IDAsIGNbMV0gPSAwKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGUgPSAyOwogICAgICAgICAgZCA9IChNYXRoLmFicyhjWzFdID8gY1swXSA6IHQpICsgTWF0aC5wb3coMTAsIC1NYXRoLm1heChlLCBsKSAtIDEpKS50b0ZpeGVkKGUpLCBsID0gU3RyaW5nKGgoZCkpOwogICAgICAgICAgdmFyIHUgPSAzIDwgbC5sZW5ndGggPyBsLmxlbmd0aCAlIDMgOiAwOwogICAgICAgICAgcmV0dXJuIGkgPSBhKGksIHIuZGVjaW1hbFBvaW50KSwgbyA9IGEobywgci50aG91c2FuZHNTZXApLCB0ID0gKDAgPiB0ID8gIi0iIDogIiIpICsgKHUgPyBsLnN1YnN0cigwLCB1KSArIG8gOiAiIiksIHQgPSAwID4gK2NbMV0gJiYgIXAgPyAiMCIgOiB0ICsgbC5zdWJzdHIodSkucmVwbGFjZSgvKFxkezN9KSg/PVxkKS9nLCAiJDEiICsgbyksIGUgJiYgKHQgKz0gaSArIGQuc2xpY2UoLWUpKSwgY1sxXSAmJiAwICE9PSArdCAmJiAodCArPSAiZSIgKyBjWzFdKSwgdDsKICAgICAgICB9CgogICAgICAgIHZhciBuID0gdC5kZWZhdWx0T3B0aW9ucywgbyA9IHQuZGVmYXVsdFRpbWUsIHIgPSBlLmdldE5lc3RlZFByb3BlcnR5LCBzID0gZS5pc051bWJlciwgYSA9IGUucGljaywgaCA9IGUucEludDsKICAgICAgICByZXR1cm4gewogICAgICAgICAgZGF0ZUZvcm1hdDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICByZXR1cm4gby5kYXRlRm9ybWF0KHQsIGUsIGkpOwogICAgICAgICAgfSwgZm9ybWF0OiBmdW5jdGlvbih0LCBlLCBzKSB7CiAgICAgICAgICAgIHZhciBhID0gInsiLCBoID0gITEsIGwgPSAvZiQvLCBjID0gL1wuKFswLTldKS8sIHAgPSBuLmxhbmcsIGQgPSBzICYmIHMudGltZSB8fCBvOwogICAgICAgICAgICBzID0gcyAmJiBzLm51bWJlckZvcm1hdHRlciB8fCBpOwogICAgICAgICAgICBmb3IgKHZhciB1ID0gW107IHQ7KSB7CiAgICAgICAgICAgICAgdmFyIGYgPSB0LmluZGV4T2YoYSk7CiAgICAgICAgICAgICAgaWYgKC0xID09PSBmKSBicmVhazsKICAgICAgICAgICAgICB2YXIgZyA9IHQuc2xpY2UoMCwgZik7CiAgICAgICAgICAgICAgaWYgKGgpIHsKICAgICAgICAgICAgICAgIGlmIChnID0gZy5zcGxpdCgiOiIpLCBhID0gcihnLnNoaWZ0KCkgfHwgIiIsIGUpLCBnLmxlbmd0aCAmJiAibnVtYmVyIiA9PT0gdHlwZW9mIGEpIGlmIChnID0gZy5qb2luKCI6IiksIGwudGVzdChnKSkgewogICAgICAgICAgICAgICAgICB2YXIgbSA9IHBhcnNlSW50KChnLm1hdGNoKGMpIHx8IFsiIiwgIi0xIl0pWzFdLCAxMCk7CiAgICAgICAgICAgICAgICAgIG51bGwgIT09IGEgJiYgKGEgPSBzKGEsIG0sIHAuZGVjaW1hbFBvaW50LCAtMSA8IGcuaW5kZXhPZigiLCIpID8gcC50aG91c2FuZHNTZXAgOiAiIikpOwogICAgICAgICAgICAgICAgfSBlbHNlIGEgPSBkLmRhdGVGb3JtYXQoZywgYSk7CiAgICAgICAgICAgICAgICB1LnB1c2goYSk7CiAgICAgICAgICAgICAgfSBlbHNlIHUucHVzaChnKTsKICAgICAgICAgICAgICB0ID0gdC5zbGljZShmICsgMSksIGEgPSAoaCA9ICFoKSA/ICJ9IiA6ICJ7IjsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdS5wdXNoKHQpLCB1LmpvaW4oIiIpOwogICAgICAgICAgfSwgbnVtYmVyRm9ybWF0OiBpCiAgICAgICAgfTsKICAgICAgfSkpLCBlKGksICJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyVXRpbGl0aWVzLmpzIiwgW2lbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCkgewogICAgICAgIHZhciBlLCBpID0gdC5jbGFtcCwgbiA9IHQucGljaywgbyA9IHQuc3RhYmxlU29ydDsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gZSh0LCByLCBzKSB7CiAgICAgICAgICAgIHZhciBhLCBoID0gdCwgbCA9IGgucmVkdWNlZExlbiB8fCByLCBjID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHJldHVybiAoZS5yYW5rIHx8IDApIC0gKHQucmFuayB8fCAwKTsKICAgICAgICAgICAgfSwgcCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gdC50YXJnZXQgLSBlLnRhcmdldDsKICAgICAgICAgICAgfSwgZCA9ICEwLCB1ID0gW10sIGYgPSAwOwogICAgICAgICAgICBmb3IgKGEgPSB0Lmxlbmd0aDsgYS0tOykgZiArPSB0W2FdLnNpemU7CiAgICAgICAgICAgIGlmIChmID4gbCkgewogICAgICAgICAgICAgIGZvciAobyh0LCBjKSwgZiA9IGEgPSAwOyBmIDw9IGw7KSBmICs9IHRbYV0uc2l6ZSwgYSsrOwogICAgICAgICAgICAgIHUgPSB0LnNwbGljZShhIC0gMSwgdC5sZW5ndGgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciAobyh0LCBwKSwgdCA9IHQubWFwKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHsgc2l6ZTogdC5zaXplLCB0YXJnZXRzOiBbdC50YXJnZXRdLCBhbGlnbjogbih0LmFsaWduLCAuNSkgfTsKICAgICAgICAgICAgfSkpOyBkOykgewogICAgICAgICAgICAgIGZvciAoYSA9IHQubGVuZ3RoOyBhLS07KSBsID0gdFthXSwgYyA9IChNYXRoLm1pbi5hcHBseSgwLCBsLnRhcmdldHMpICsgTWF0aC5tYXguYXBwbHkoMCwgbC50YXJnZXRzKSkgLyAyLCBsLnBvcyA9IGkoYyAtIGwuc2l6ZSAqIGwuYWxpZ24sIDAsIHIgLSBsLnNpemUpOwogICAgICAgICAgICAgIGZvciAoYSA9IHQubGVuZ3RoLCBkID0gITE7IGEtLTspIDAgPCBhICYmIHRbYSAtIDFdLnBvcyArIHRbYSAtIDFdLnNpemUgPiB0W2FdLnBvcyAmJiAodFthIC0gMV0uc2l6ZSArPSB0W2FdLnNpemUsIHRbYSAtIDFdLnRhcmdldHMgPSB0W2EgLSAxXS50YXJnZXRzLmNvbmNhdCh0W2FdLnRhcmdldHMpLCB0W2EgLSAxXS5hbGlnbiA9IC41LCB0W2EgLSAxXS5wb3MgKyB0W2EgLSAxXS5zaXplID4gciAmJiAodFthIC0gMV0ucG9zID0gciAtIHRbYSAtIDFdLnNpemUpLCB0LnNwbGljZShhLCAxKSwgZCA9ICEwKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gaC5wdXNoLmFwcGx5KGgsIHUpLCBhID0gMCwgdC5zb21lKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGkgPSAwOwogICAgICAgICAgICAgIHJldHVybiAodC50YXJnZXRzIHx8IFtdKS5zb21lKChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiBoW2FdLnBvcyA9IHQucG9zICsgaSwgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBzICYmIE1hdGguYWJzKGhbYV0ucG9zIC0gaFthXS50YXJnZXQpID4gcyA/IChoLnNsaWNlKDAsIGEgKyAxKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBkZWxldGUgdC5wb3M7CiAgICAgICAgICAgICAgICB9KSksIGgucmVkdWNlZExlbiA9IChoLnJlZHVjZWRMZW4gfHwgcikgLSAuMSAqIHIsIGgucmVkdWNlZExlbiA+IC4xICogciAmJiBlKGgsIHIsIHMpLCAhMCkgOiAoaSArPSBoW2FdLnNpemUsIGErKywgITEpOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSkpLCBvKGgsIHApLCBoOwogICAgICAgICAgfQoKICAgICAgICAgIHQuZGlzdHJpYnV0ZSA9IGU7CiAgICAgICAgfShlIHx8IChlID0ge30pKSwgZTsKICAgICAgfSkpLCBlKGksICJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIiwgW2lbIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0sIGlbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbiwgbykgewogICAgICAgIHZhciByID0gdC5hbmltYXRlLCBzID0gdC5hbmltT2JqZWN0LCBhID0gdC5zdG9wLCBoID0gbi5kZWcycmFkLCBsID0gbi5kb2MsIGMgPSBuLm5vb3AsIHAgPSBuLnN2ZywgZCA9IG4uU1ZHX05TLCB1ID0gbi53aW4sIGYgPSBvLmFkZEV2ZW50LCBnID0gby5hdHRyLAogICAgICAgICAgbSA9IG8uY3JlYXRlRWxlbWVudCwgeSA9IG8uY3NzLCB2ID0gby5kZWZpbmVkLCB4ID0gby5lcmFzZSwgYiA9IG8uZXh0ZW5kLCBfID0gby5maXJlRXZlbnQsIHcgPSBvLmlzQXJyYXksIGsgPSBvLmlzRnVuY3Rpb24sIFMgPSBvLmlzTnVtYmVyLAogICAgICAgICAgQyA9IG8uaXNTdHJpbmcsIE0gPSBvLm1lcmdlLCBBID0gby5vYmplY3RFYWNoLCBQID0gby5waWNrLCBPID0gby5wSW50LCBUID0gby5zeW5jVGltZW91dCwgRSA9IG8udW5pcXVlS2V5OwogICAgICAgIHJldHVybiB0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiB0KCkgewogICAgICAgICAgICB0aGlzLmVsZW1lbnQgPSB2b2lkIDAsIHRoaXMub25FdmVudHMgPSB7fSwgdGhpcy5vcGFjaXR5ID0gMSwgdGhpcy5yZW5kZXJlciA9IHZvaWQgMCwgdGhpcy5TVkdfTlMgPSBkLCB0aGlzLnN5bWJvbEN1c3RvbUF0dHJpYnMgPSAieCB5IHdpZHRoIGhlaWdodCByIHN0YXJ0IGVuZCBpbm5lclIgYW5jaG9yWCBhbmNob3JZIHJvdW5kZWQiLnNwbGl0KCIgIik7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLl9kZWZhdWx0R2V0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdCA9IFAodGhpc1t0ICsgIlZhbHVlIl0sIHRoaXNbdF0sIHRoaXMuZWxlbWVudCA/IHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUodCkgOiBudWxsLCAwKSwgL15bXC0wLTlcLl0rJC8udGVzdCh0KSAmJiAodCA9IHBhcnNlRmxvYXQodCkpLCB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuX2RlZmF1bHRTZXR0ZXIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIGkuc2V0QXR0cmlidXRlKGUsIHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMucmVuZGVyZXIsIGkgPSB0aGlzLmVsZW1lbnQ7CiAgICAgICAgICAgIGlmICh0ICYmICh0aGlzLnBhcmVudEdyb3VwID0gdCksIHRoaXMucGFyZW50SW52ZXJ0ZWQgPSB0ICYmIHQuaW52ZXJ0ZWQsICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdGhpcy50ZXh0U3RyICYmICJ0ZXh0IiA9PT0gdGhpcy5lbGVtZW50Lm5vZGVOYW1lICYmIGUuYnVpbGRUZXh0KHRoaXMpLCB0aGlzLmFkZGVkID0gITAsICF0IHx8IHQuaGFuZGxlWiB8fCB0aGlzLnpJbmRleCkgdmFyIG4gPSB0aGlzLnpJbmRleFNldHRlcigpOwogICAgICAgICAgICByZXR1cm4gbiB8fCAodCA/IHQuZWxlbWVudCA6IGUuYm94KS5hcHBlbmRDaGlsZChpKSwgdGhpcy5vbkFkZCAmJiB0aGlzLm9uQWRkKCksIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGRDbGFzcyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSBlID8gIiIgOiB0aGlzLmF0dHIoImNsYXNzIikgfHwgIiI7CiAgICAgICAgICAgIHJldHVybiB0ID0gKHQgfHwgIiIpLnNwbGl0KC8gL2cpLnJlZHVjZSgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHJldHVybiAtMSA9PT0gaS5pbmRleE9mKGUpICYmIHQucHVzaChlKSwgdDsKICAgICAgICAgICAgfSksIGkgPyBbaV0gOiBbXSkuam9pbigiICIpLCB0ICE9PSBpICYmIHRoaXMuYXR0cigiY2xhc3MiLCB0KSwgdGhpczsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFmdGVyU2V0dGVycyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmRvVHJhbnNmb3JtICYmICh0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpLCB0aGlzLmRvVHJhbnNmb3JtID0gITEpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWxpZ24gPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuLCBvLCByLCBzID0ge30sIGEgPSB0aGlzLnJlbmRlcmVyLCBoID0gYS5hbGlnbmVkT2JqZWN0czsKICAgICAgICAgICAgdCA/ICh0aGlzLmFsaWduT3B0aW9ucyA9IHQsIHRoaXMuYWxpZ25CeVRyYW5zbGF0ZSA9IGUsICghaSB8fCBDKGkpKSAmJiAodGhpcy5hbGlnblRvID0gbiA9IGkgfHwgInJlbmRlcmVyIiwgeChoLCB0aGlzKSwgaC5wdXNoKHRoaXMpLCBpID0gdm9pZCAwKSkgOiAodCA9IHRoaXMuYWxpZ25PcHRpb25zLCBlID0gdGhpcy5hbGlnbkJ5VHJhbnNsYXRlLCBuID0gdGhpcy5hbGlnblRvKSwgaSA9IFAoaSwgYVtuXSwgInNjcm9sbGFibGVQbG90Qm94IiA9PT0gbiA/IGEucGxvdEJveCA6IHZvaWQgMCwgYSksIG4gPSB0LmFsaWduOwogICAgICAgICAgICB2YXIgbCA9IHQudmVydGljYWxBbGlnbjsKICAgICAgICAgICAgcmV0dXJuIGEgPSAoaS54IHx8IDApICsgKHQueCB8fCAwKSwgaCA9IChpLnkgfHwgMCkgKyAodC55IHx8IDApLCAicmlnaHQiID09PSBuID8gbyA9IDEgOiAiY2VudGVyIiA9PT0gbiAmJiAobyA9IDIpLCBvICYmIChhICs9IChpLndpZHRoIC0gKHQud2lkdGggfHwgMCkpIC8gbyksIHNbZSA/ICJ0cmFuc2xhdGVYIiA6ICJ4Il0gPSBNYXRoLnJvdW5kKGEpLCAiYm90dG9tIiA9PT0gbCA/IHIgPSAxIDogIm1pZGRsZSIgPT09IGwgJiYgKHIgPSAyKSwgciAmJiAoaCArPSAoaS5oZWlnaHQgLSAodC5oZWlnaHQgfHwgMCkpIC8gciksIHNbZSA/ICJ0cmFuc2xhdGVZIiA6ICJ5Il0gPSBNYXRoLnJvdW5kKGgpLCB0aGlzW3RoaXMucGxhY2VkID8gImFuaW1hdGUiIDogImF0dHIiXShzKSwgdGhpcy5wbGFjZWQgPSAhMCwgdGhpcy5hbGlnbkF0dHIgPSBzLCB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWxpZ25TZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0geyBsZWZ0OiAic3RhcnQiLCBjZW50ZXI6ICJtaWRkbGUiLCByaWdodDogImVuZCIgfTsKICAgICAgICAgICAgZVt0XSAmJiAodGhpcy5hbGlnblZhbHVlID0gdCwgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidGV4dC1hbmNob3IiLCBlW3RdKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hbmltYXRlID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMsIG8gPSBzKFAoZSwgdGhpcy5yZW5kZXJlci5nbG9iYWxBbmltYXRpb24sICEwKSk7CiAgICAgICAgICAgIHJldHVybiBlID0gby5kZWZlciwgUChsLmhpZGRlbiwgbC5tc0hpZGRlbiwgbC53ZWJraXRIaWRkZW4sICExKSAmJiAoby5kdXJhdGlvbiA9IDApLCAwICE9PSBvLmR1cmF0aW9uID8gKGkgJiYgKG8uY29tcGxldGUgPSBpKSwgVCgoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgbi5lbGVtZW50ICYmIHIobiwgdCwgbyk7CiAgICAgICAgICAgIH0pLCBlKSkgOiAodGhpcy5hdHRyKHQsIHZvaWQgMCwgaSksIEEodCwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBvLnN0ZXAgJiYgby5zdGVwLmNhbGwodGhpcywgdCwgeyBwcm9wOiBlLCBwb3M6IDEsIGVsZW06IHRoaXMgfSk7CiAgICAgICAgICAgIH0pLCB0aGlzKSksIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hcHBseVRleHRPdXRsaW5lID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuZWxlbWVudDsKICAgICAgICAgICAgLTEgIT09IHQuaW5kZXhPZigiY29udHJhc3QiKSAmJiAodCA9IHQucmVwbGFjZSgvY29udHJhc3QvZywgdGhpcy5yZW5kZXJlci5nZXRDb250cmFzdChlLnN0eWxlLmZpbGwpKSk7CiAgICAgICAgICAgIHZhciBpID0gdC5zcGxpdCgiICIpOwogICAgICAgICAgICBpZiAodCA9IGlbaS5sZW5ndGggLSAxXSwgKGkgPSBpWzBdKSAmJiAibm9uZSIgIT09IGkgJiYgbi5zdmcpIHsKICAgICAgICAgICAgICB0aGlzLmZha2VUUyA9ICEwLCB0aGlzLnlTZXR0ZXIgPSB0aGlzLnhTZXR0ZXIsIGkgPSBpLnJlcGxhY2UoLyheW1xkXC5dKykoLio/KSQvZywgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyICogTnVtYmVyKGUpICsgaTsKICAgICAgICAgICAgICB9KSksIHRoaXMucmVtb3ZlVGV4dE91dGxpbmUoKTsKICAgICAgICAgICAgICB2YXIgbyA9IGwuY3JlYXRlRWxlbWVudE5TKGQsICJ0c3BhbiIpOwogICAgICAgICAgICAgIGcobywgewogICAgICAgICAgICAgICAgY2xhc3M6ICJoaWdoY2hhcnRzLXRleHQtb3V0bGluZSIsCiAgICAgICAgICAgICAgICBmaWxsOiB0LAogICAgICAgICAgICAgICAgc3Ryb2tlOiB0LAogICAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IGksCiAgICAgICAgICAgICAgICAic3Ryb2tlLWxpbmVqb2luIjogInJvdW5kIgogICAgICAgICAgICAgIH0pLCBbXS5mb3JFYWNoLmNhbGwoZS5jaGlsZE5vZGVzLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0LmNsb25lTm9kZSghMCk7CiAgICAgICAgICAgICAgICBlLnJlbW92ZUF0dHJpYnV0ZSAmJiBbImZpbGwiLCAic3Ryb2tlIiwgInN0cm9rZS13aWR0aCIsICJzdHJva2UiXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBlLnJlbW92ZUF0dHJpYnV0ZSh0KTsKICAgICAgICAgICAgICAgIH0pKSwgby5hcHBlbmRDaGlsZChlKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgdmFyIHIgPSBsLmNyZWF0ZUVsZW1lbnROUyhkLCAidHNwYW4iKTsKICAgICAgICAgICAgICByLnRleHRDb250ZW50ID0gIuKAiyIsIFsieCIsICJ5Il0uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBlLmdldEF0dHJpYnV0ZSh0KTsKICAgICAgICAgICAgICAgIGkgJiYgci5zZXRBdHRyaWJ1dGUodCwgaSk7CiAgICAgICAgICAgICAgfSkpLCBvLmFwcGVuZENoaWxkKHIpLCBlLmluc2VydEJlZm9yZShvLCBlLmZpcnN0Q2hpbGQpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hdHRyID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICB2YXIgbywgciwgcywgaCA9IHRoaXMuZWxlbWVudCwgbCA9IHRoaXMuc3ltYm9sQ3VzdG9tQXR0cmlicywgYyA9IHRoaXM7CiAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PT0gdHlwZW9mIHQgJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBlKSB7CiAgICAgICAgICAgICAgdmFyIHAgPSB0OwogICAgICAgICAgICAgIHQgPSB7fSwgdFtwXSA9IGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICJzdHJpbmciID09PSB0eXBlb2YgdCA/IGMgPSAodGhpc1t0ICsgIkdldHRlciJdIHx8IHRoaXMuX2RlZmF1bHRHZXR0ZXIpLmNhbGwodGhpcywgdCwgaCkgOiAoQSh0LCAoZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgIHIgPSAhMSwgbiB8fCBhKHRoaXMsIGkpLCB0aGlzLnN5bWJvbE5hbWUgJiYgLTEgIT09IGwuaW5kZXhPZihpKSAmJiAobyB8fCAodGhpcy5zeW1ib2xBdHRyKHQpLCBvID0gITApLCByID0gITApLCAhdGhpcy5yb3RhdGlvbiB8fCAieCIgIT09IGkgJiYgInkiICE9PSBpIHx8ICh0aGlzLmRvVHJhbnNmb3JtID0gITApLCByIHx8IChzID0gdGhpc1tpICsgIlNldHRlciJdIHx8IHRoaXMuX2RlZmF1bHRTZXR0ZXIsIHMuY2FsbCh0aGlzLCBlLCBpLCBoKSwgIXRoaXMuc3R5bGVkTW9kZSAmJiB0aGlzLnNoYWRvd3MgJiYgL14od2lkdGh8aGVpZ2h0fHZpc2liaWxpdHl8eHx5fGR8dHJhbnNmb3JtfGN4fGN5fHIpJC8udGVzdChpKSAmJiB0aGlzLnVwZGF0ZVNoYWRvd3MoaSwgZSwgcykpOwogICAgICAgICAgICB9KSwgdGhpcyksIHRoaXMuYWZ0ZXJTZXR0ZXJzKCkpLCBpICYmIGkuY2FsbCh0aGlzKSwgYzsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmNsaXAgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmF0dHIoImNsaXAtcGF0aCIsIHQgPyAidXJsKCIgKyB0aGlzLnJlbmRlcmVyLnVybCArICIjIiArIHQuaWQgKyAiKSIgOiAibm9uZSIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuY3Jpc3AgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIGUgPSBlIHx8IHQuc3Ryb2tlV2lkdGggfHwgMDsKICAgICAgICAgICAgdmFyIGkgPSBNYXRoLnJvdW5kKGUpICUgMiAvIDI7CiAgICAgICAgICAgIHJldHVybiB0LnggPSBNYXRoLmZsb29yKHQueCB8fCB0aGlzLnggfHwgMCkgKyBpLCB0LnkgPSBNYXRoLmZsb29yKHQueSB8fCB0aGlzLnkgfHwgMCkgKyBpLCB0LndpZHRoID0gTWF0aC5mbG9vcigodC53aWR0aCB8fCB0aGlzLndpZHRoIHx8IDApIC0gMiAqIGkpLCB0LmhlaWdodCA9IE1hdGguZmxvb3IoKHQuaGVpZ2h0IHx8IHRoaXMuaGVpZ2h0IHx8IDApIC0gMiAqIGkpLCB2KHQuc3Ryb2tlV2lkdGgpICYmICh0LnN0cm9rZVdpZHRoID0gZSksIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5jb21wbGV4Q29sb3IgPSBmdW5jdGlvbih0LCBlLCBuKSB7CiAgICAgICAgICAgIHZhciBvLCByLCBzLCBhLCBoLCBsLCBjLCBwLCBkLCB1LCBmLCBnID0gdGhpcy5yZW5kZXJlciwgbSA9IFtdOwogICAgICAgICAgICBfKHRoaXMucmVuZGVyZXIsICJjb21wbGV4Q29sb3IiLCB7IGFyZ3M6IGFyZ3VtZW50cyB9LCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaWYgKHQucmFkaWFsR3JhZGllbnQgPyByID0gInJhZGlhbEdyYWRpZW50IiA6IHQubGluZWFyR3JhZGllbnQgJiYgKHIgPSAibGluZWFyR3JhZGllbnQiKSwgcikgewogICAgICAgICAgICAgICAgaWYgKHMgPSB0W3JdLCBoID0gZy5ncmFkaWVudHMsIGwgPSB0LnN0b3BzLCBkID0gbi5yYWRpYWxSZWZlcmVuY2UsIHcocykgJiYgKHRbcl0gPSBzID0gewogICAgICAgICAgICAgICAgICB4MTogc1swXSwKICAgICAgICAgICAgICAgICAgeTE6IHNbMV0sCiAgICAgICAgICAgICAgICAgIHgyOiBzWzJdLAogICAgICAgICAgICAgICAgICB5Mjogc1szXSwKICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0czogInVzZXJTcGFjZU9uVXNlIgogICAgICAgICAgICAgICAgfSksICJyYWRpYWxHcmFkaWVudCIgPT09IHIgJiYgZCAmJiAhdihzLmdyYWRpZW50VW5pdHMpICYmIChhID0gcywgcyA9IE0ocywgZy5nZXRSYWRpYWxBdHRyKGQsIGEpLCB7IGdyYWRpZW50VW5pdHM6ICJ1c2VyU3BhY2VPblVzZSIgfSkpLCBBKHMsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICJpZCIgIT09IGUgJiYgbS5wdXNoKGUsIHQpOwogICAgICAgICAgICAgICAgfSkpLCBBKGwsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIG0ucHVzaCh0KTsKICAgICAgICAgICAgICAgIH0pKSwgbSA9IG0uam9pbigiLCIpLCBoW21dKSB1ID0gaFttXS5hdHRyKCJpZCIpOyBlbHNlIHsKICAgICAgICAgICAgICAgICAgcy5pZCA9IHUgPSBFKCk7CiAgICAgICAgICAgICAgICAgIHZhciB5ID0gaFttXSA9IGcuY3JlYXRlRWxlbWVudChyKS5hdHRyKHMpLmFkZChnLmRlZnMpOwogICAgICAgICAgICAgICAgICB5LnJhZEF0dHIgPSBhLCB5LnN0b3BzID0gW10sIGwuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIDAgPT09IHRbMV0uaW5kZXhPZigicmdiYSIpID8gKG8gPSBpLnBhcnNlKHRbMV0pLCBjID0gby5nZXQoInJnYiIpLCBwID0gby5nZXQoImEiKSkgOiAoYyA9IHRbMV0sIHAgPSAxKSwgdCA9IGcuY3JlYXRlRWxlbWVudCgic3RvcCIpLmF0dHIoewogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0WzBdLAogICAgICAgICAgICAgICAgICAgICAgInN0b3AtY29sb3IiOiBjLAogICAgICAgICAgICAgICAgICAgICAgInN0b3Atb3BhY2l0eSI6IHAKICAgICAgICAgICAgICAgICAgICB9KS5hZGQoeSksIHkuc3RvcHMucHVzaCh0KTsKICAgICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZiA9ICJ1cmwoIiArIGcudXJsICsgIiMiICsgdSArICIpIiwgbi5zZXRBdHRyaWJ1dGUoZSwgZiksIG4uZ3JhZGllbnQgPSBtLCB0LnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBmOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmNzcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnN0eWxlcywgaSA9IHt9LCBuID0gdGhpcy5lbGVtZW50LCBvID0gWyJ0ZXh0T3V0bGluZSIsICJ0ZXh0T3ZlcmZsb3ciLCAid2lkdGgiXSwgciA9ICIiLCBzID0gIWU7CiAgICAgICAgICAgIGlmICh0ICYmIHQuY29sb3IgJiYgKHQuZmlsbCA9IHQuY29sb3IpLCBlICYmIEEodCwgKGZ1bmN0aW9uKHQsIG4pIHsKICAgICAgICAgICAgICBlICYmIGVbbl0gIT09IHQgJiYgKGlbbl0gPSB0LCBzID0gITApOwogICAgICAgICAgICB9KSksIHMpIHsKICAgICAgICAgICAgICBpZiAoZSAmJiAodCA9IGIoZSwgaSkpLCB0KSBpZiAobnVsbCA9PT0gdC53aWR0aCB8fCAiYXV0byIgPT09IHQud2lkdGgpIGRlbGV0ZSB0aGlzLnRleHRXaWR0aDsgZWxzZSBpZiAoInRleHQiID09PSBuLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgJiYgdC53aWR0aCkgdmFyIGEgPSB0aGlzLnRleHRXaWR0aCA9IE8odC53aWR0aCk7CiAgICAgICAgICAgICAgaWYgKHRoaXMuc3R5bGVzID0gdCwgYSAmJiAhcCAmJiB0aGlzLnJlbmRlcmVyLmZvckV4cG9ydCAmJiBkZWxldGUgdC53aWR0aCwgbi5uYW1lc3BhY2VVUkkgPT09IHRoaXMuU1ZHX05TKSB7CiAgICAgICAgICAgICAgICB2YXIgaCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuICItIiArIGUudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBBKHQsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgIC0xID09PSBvLmluZGV4T2YoZSkgJiYgKHIgKz0gZS5yZXBsYWNlKC8oW0EtWl0pL2csIGgpICsgIjoiICsgdCArICI7Iik7CiAgICAgICAgICAgICAgICB9KSksIHIgJiYgZyhuLCAic3R5bGUiLCByKTsKICAgICAgICAgICAgICB9IGVsc2UgeShuLCB0KTsKICAgICAgICAgICAgICB0aGlzLmFkZGVkICYmICgidGV4dCIgPT09IHRoaXMuZWxlbWVudC5ub2RlTmFtZSAmJiB0aGlzLnJlbmRlcmVyLmJ1aWxkVGV4dCh0aGlzKSwgdCAmJiB0LnRleHRPdXRsaW5lICYmIHRoaXMuYXBwbHlUZXh0T3V0bGluZSh0LnRleHRPdXRsaW5lKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kYXNoc3R5bGVTZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpc1sic3Ryb2tlLXdpZHRoIl07CiAgICAgICAgICAgIGlmICgiaW5oZXJpdCIgPT09IGUgJiYgKGUgPSAxKSwgdCA9IHQgJiYgdC50b0xvd2VyQ2FzZSgpKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSB0LnJlcGxhY2UoInNob3J0ZGFzaGRvdGRvdCIsICIzLDEsMSwxLDEsMSwiKS5yZXBsYWNlKCJzaG9ydGRhc2hkb3QiLCAiMywxLDEsMSIpLnJlcGxhY2UoInNob3J0ZG90IiwgIjEsMSwiKS5yZXBsYWNlKCJzaG9ydGRhc2giLCAiMywxLCIpLnJlcGxhY2UoImxvbmdkYXNoIiwgIjgsMywiKS5yZXBsYWNlKC9kb3QvZywgIjEsMywiKS5yZXBsYWNlKCJkYXNoIiwgIjQsMywiKS5yZXBsYWNlKC8sJC8sICIiKS5zcGxpdCgiLCIpOwogICAgICAgICAgICAgIGZvciAodCA9IGkubGVuZ3RoOyB0LS07KSBpW3RdID0gIiIgKyBPKGlbdF0pICogUChlLCBOYU4pOwogICAgICAgICAgICAgIHQgPSBpLmpvaW4oIiwiKS5yZXBsYWNlKC9OYU4vZywgIm5vbmUiKSwgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgic3Ryb2tlLWRhc2hhcnJheSIsIHQpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHQuZWxlbWVudCB8fCB7fSwgaSA9IHQucmVuZGVyZXIsIG4gPSBlLm93bmVyU1ZHRWxlbWVudCwgbyA9IGkuaXNTVkcgJiYgIlNQQU4iID09PSBlLm5vZGVOYW1lICYmIHQucGFyZW50R3JvdXAgfHwgdm9pZCAwOwogICAgICAgICAgICBpZiAoZS5vbmNsaWNrID0gZS5vbm1vdXNlb3V0ID0gZS5vbm1vdXNlb3ZlciA9IGUub25tb3VzZW1vdmUgPSBlLnBvaW50ID0gbnVsbCwgYSh0KSwgdC5jbGlwUGF0aCAmJiBuKSB7CiAgICAgICAgICAgICAgdmFyIHIgPSB0LmNsaXBQYXRoOwogICAgICAgICAgICAgIFtdLmZvckVhY2guY2FsbChuLnF1ZXJ5U2VsZWN0b3JBbGwoIltjbGlwLXBhdGhdLFtDTElQLVBBVEhdIiksIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAtMSA8IHQuZ2V0QXR0cmlidXRlKCJjbGlwLXBhdGgiKS5pbmRleE9mKHIuZWxlbWVudC5pZCkgJiYgdC5yZW1vdmVBdHRyaWJ1dGUoImNsaXAtcGF0aCIpOwogICAgICAgICAgICAgIH0pKSwgdC5jbGlwUGF0aCA9IHIuZGVzdHJveSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh0LnN0b3BzKSB7CiAgICAgICAgICAgICAgZm9yIChuID0gMDsgbiA8IHQuc3RvcHMubGVuZ3RoOyBuKyspIHQuc3RvcHNbbl0uZGVzdHJveSgpOwogICAgICAgICAgICAgIHQuc3RvcHMubGVuZ3RoID0gMCwgdC5zdG9wcyA9IHZvaWQgMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKHQuc2FmZVJlbW92ZUNoaWxkKGUpLCBpLnN0eWxlZE1vZGUgfHwgdC5kZXN0cm95U2hhZG93cygpOyBvICYmIG8uZGl2ICYmIDAgPT09IG8uZGl2LmNoaWxkTm9kZXMubGVuZ3RoOykgZSA9IG8ucGFyZW50R3JvdXAsIHQuc2FmZVJlbW92ZUNoaWxkKG8uZGl2KSwgZGVsZXRlIG8uZGl2LCBvID0gZTsKICAgICAgICAgICAgdC5hbGlnblRvICYmIHgoaS5hbGlnbmVkT2JqZWN0cywgdCksIEEodCwgKGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICB0W2ldICYmIHRbaV0ucGFyZW50R3JvdXAgPT09IHQgJiYgdFtpXS5kZXN0cm95ICYmIHRbaV0uZGVzdHJveSgpLCBkZWxldGUgdFtpXTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZGVzdHJveVNoYWRvd3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgKHRoaXMuc2hhZG93cyB8fCBbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHRoaXMuc2FmZVJlbW92ZUNoaWxkKHQpOwogICAgICAgICAgICB9KSwgdGhpcyksIHRoaXMuc2hhZG93cyA9IHZvaWQgMDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmRlc3Ryb3lUZXh0UGF0aCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZXh0IilbMF07CiAgICAgICAgICAgIGlmIChpKSB7CiAgICAgICAgICAgICAgaWYgKGkucmVtb3ZlQXR0cmlidXRlKCJkeCIpLCBpLnJlbW92ZUF0dHJpYnV0ZSgiZHkiKSwgZS5lbGVtZW50LnNldEF0dHJpYnV0ZSgiaWQiLCAiIiksIHRoaXMudGV4dFBhdGhXcmFwcGVyICYmIGkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRleHRQYXRoIikubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBmb3IgKHQgPSB0aGlzLnRleHRQYXRoV3JhcHBlci5lbGVtZW50LmNoaWxkTm9kZXM7IHQubGVuZ3RoOykgaS5hcHBlbmRDaGlsZCh0WzBdKTsKICAgICAgICAgICAgICAgIGkucmVtb3ZlQ2hpbGQodGhpcy50ZXh0UGF0aFdyYXBwZXIuZWxlbWVudCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgKHQuZ2V0QXR0cmlidXRlKCJkeCIpIHx8IHQuZ2V0QXR0cmlidXRlKCJkeSIpKSAmJiAodC5yZW1vdmVBdHRyaWJ1dGUoImR4IiksIHQucmVtb3ZlQXR0cmlidXRlKCJkeSIpKTsKICAgICAgICAgICAgdGhpcy50ZXh0UGF0aFdyYXBwZXIgJiYgKHRoaXMudGV4dFBhdGhXcmFwcGVyID0gdGhpcy50ZXh0UGF0aFdyYXBwZXIuZGVzdHJveSgpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmRTZXR0ZXIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHcodCkgJiYgKCJzdHJpbmciID09PSB0eXBlb2YgdFswXSAmJiAodCA9IHRoaXMucmVuZGVyZXIucGF0aFRvU2VnbWVudHModCkpLCB0aGlzLnBhdGhBcnJheSA9IHQsIHQgPSB0LnJlZHVjZSgoZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgIHJldHVybiBlICYmIGUuam9pbiA/IChpID8gdCArICIgIiA6ICIiKSArIGUuam9pbigiICIpIDogKGUgfHwgIiIpLnRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0pLCAiIikpLCAvKE5hTnwgezJ9fF4kKS8udGVzdCh0KSAmJiAodCA9ICJNIDAgMCIpLCB0aGlzW2VdICE9PSB0ICYmIChpLnNldEF0dHJpYnV0ZShlLCB0KSwgdGhpc1tlXSA9IHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZmFkZU91dCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICBlLmFuaW1hdGUoeyBvcGFjaXR5OiAwIH0sIHsKICAgICAgICAgICAgICBkdXJhdGlvbjogUCh0LCAxNTApLCBjb21wbGV0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBlLmF0dHIoeyB5OiAtOTk5OSB9KS5oaWRlKCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmZpbGxTZXR0ZXIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICJzdHJpbmciID09PSB0eXBlb2YgdCA/IGkuc2V0QXR0cmlidXRlKGUsIHQpIDogdCAmJiB0aGlzLmNvbXBsZXhDb2xvcih0LCBlLCBpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldEJCb3ggPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5yZW5kZXJlciwgbyA9IHRoaXMuZWxlbWVudCwgciA9IHRoaXMuc3R5bGVzLCBzID0gdGhpcy50ZXh0U3RyLCBhID0gbi5jYWNoZSwgbCA9IG4uY2FjaGVLZXlzLCBjID0gby5uYW1lc3BhY2VVUkkgPT09IHRoaXMuU1ZHX05TOwogICAgICAgICAgICBpID0gUChpLCB0aGlzLnJvdGF0aW9uLCAwKTsKICAgICAgICAgICAgdmFyIHAsIGQgPSBuLnN0eWxlZE1vZGUgPyBvICYmIHQucHJvdG90eXBlLmdldFN0eWxlLmNhbGwobywgImZvbnQtc2l6ZSIpIDogciAmJiByLmZvbnRTaXplOwogICAgICAgICAgICBpZiAodihzKSkgewogICAgICAgICAgICAgIHZhciB1ID0gcy50b1N0cmluZygpOwogICAgICAgICAgICAgIC0xID09PSB1LmluZGV4T2YoIjwiKSAmJiAodSA9IHUucmVwbGFjZSgvWzAtOV0vZywgIjAiKSksIHUgKz0gWyIiLCBpLCBkLCB0aGlzLnRleHRXaWR0aCwgciAmJiByLnRleHRPdmVyZmxvdywgciAmJiByLmZvbnRXZWlnaHRdLmpvaW4oKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodSAmJiAhZSAmJiAocCA9IGFbdV0pLCAhcCkgewogICAgICAgICAgICAgIGlmIChjIHx8IG4uZm9yRXhwb3J0KSB7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICB2YXIgZiA9IHRoaXMuZmFrZVRTICYmIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IG8ucXVlcnlTZWxlY3RvcigiLmhpZ2hjaGFydHMtdGV4dC1vdXRsaW5lIik7CiAgICAgICAgICAgICAgICAgICAgZSAmJiB5KGUsIHsgZGlzcGxheTogdCB9KTsKICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgayhmKSAmJiBmKCJub25lIiksIHAgPSBvLmdldEJCb3ggPyBiKHt9LCBvLmdldEJCb3goKSkgOiB7IHdpZHRoOiBvLm9mZnNldFdpZHRoLCBoZWlnaHQ6IG8ub2Zmc2V0SGVpZ2h0IH0sIGsoZikgJiYgZigiIik7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChnKSB7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAoIXAgfHwgMCA+IHAud2lkdGgpICYmIChwID0geyB3aWR0aDogMCwgaGVpZ2h0OiAwIH0pOwogICAgICAgICAgICAgIH0gZWxzZSBwID0gdGhpcy5odG1sR2V0QkJveCgpOwogICAgICAgICAgICAgIGlmIChuLmlzU1ZHICYmIChlID0gcC53aWR0aCwgbiA9IHAuaGVpZ2h0LCBjICYmIChwLmhlaWdodCA9IG4gPSB7CiAgICAgICAgICAgICAgICAiMTFweCwxNyI6IDE0LAogICAgICAgICAgICAgICAgIjEzcHgsMjAiOiAxNgogICAgICAgICAgICAgIH1bKGQgfHwgIiIpICsgIiwiICsgTWF0aC5yb3VuZChuKV0gfHwgbiksIGkgJiYgKGMgPSBpICogaCwgcC53aWR0aCA9IE1hdGguYWJzKG4gKiBNYXRoLnNpbihjKSkgKyBNYXRoLmFicyhlICogTWF0aC5jb3MoYykpLCBwLmhlaWdodCA9IE1hdGguYWJzKG4gKiBNYXRoLmNvcyhjKSkgKyBNYXRoLmFicyhlICogTWF0aC5zaW4oYykpKSksIHUgJiYgKCIiID09PSBzIHx8IDAgPCBwLmhlaWdodCkpIHsKICAgICAgICAgICAgICAgIGZvciAoOyAyNTAgPCBsLmxlbmd0aDspIGRlbGV0ZSBhW2wuc2hpZnQoKV07CiAgICAgICAgICAgICAgICBhW3VdIHx8IGwucHVzaCh1KSwgYVt1XSA9IHA7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBwOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0U3R5bGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB1LmdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50IHx8IHRoaXMsICIiKS5nZXRQcm9wZXJ0eVZhbHVlKHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaGFzQ2xhc3MgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiAtMSAhPT0gKCIiICsgdGhpcy5hdHRyKCJjbGFzcyIpKS5zcGxpdCgiICIpLmluZGV4T2YodCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5oaWRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdCA/IHRoaXMuYXR0cih7IHk6IC05OTk5IH0pIDogdGhpcy5hdHRyKHsgdmlzaWJpbGl0eTogImhpZGRlbiIgfSksIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5odG1sR2V0QkJveCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4geyBoZWlnaHQ6IDAsIHdpZHRoOiAwLCB4OiAwLCB5OiAwIH07CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLmVsZW1lbnQgPSAic3BhbiIgPT09IGUgPyBtKGUpIDogbC5jcmVhdGVFbGVtZW50TlModGhpcy5TVkdfTlMsIGUpLCB0aGlzLnJlbmRlcmVyID0gdCwgXyh0aGlzLCAiYWZ0ZXJJbml0Iik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pbnZlcnQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmludmVydGVkID0gdCwgdGhpcy51cGRhdGVUcmFuc2Zvcm0oKSwgdGhpczsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9uID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMub25FdmVudHM7CiAgICAgICAgICAgIHJldHVybiBpW3RdICYmIGlbdF0oKSwgaVt0XSA9IGYodGhpcy5lbGVtZW50LCB0LCBlKSwgdGhpczsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9wYWNpdHlTZXR0ZXIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHRoaXMub3BhY2l0eSA9IHQgPSBOdW1iZXIoTnVtYmVyKHQpLnRvRml4ZWQoMykpLCBpLnNldEF0dHJpYnV0ZShlLCB0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUNsYXNzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5hdHRyKCJjbGFzcyIsICgiIiArIHRoaXMuYXR0cigiY2xhc3MiKSkucmVwbGFjZShDKHQpID8gbmV3IFJlZ0V4cCgiKF58ICkiICsgdCArICIoIHwkKSIpIDogdCwgIiAiKS5yZXBsYWNlKC8gKy9nLCAiICIpLnRyaW0oKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmVUZXh0T3V0bGluZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCJ0c3Bhbi5oaWdoY2hhcnRzLXRleHQtb3V0bGluZSIpOwogICAgICAgICAgICB0ICYmIHRoaXMuc2FmZVJlbW92ZUNoaWxkKHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2FmZVJlbW92ZUNoaWxkID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHQucGFyZW50Tm9kZTsKICAgICAgICAgICAgZSAmJiBlLnJlbW92ZUNoaWxkKHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0UmFkaWFsUmVmZXJlbmNlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuZWxlbWVudC5ncmFkaWVudCAmJiB0aGlzLnJlbmRlcmVyLmdyYWRpZW50c1t0aGlzLmVsZW1lbnQuZ3JhZGllbnRdOwogICAgICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50LnJhZGlhbFJlZmVyZW5jZSA9IHQsIGUgJiYgZS5yYWRBdHRyICYmIGUuYW5pbWF0ZSh0aGlzLnJlbmRlcmVyLmdldFJhZGlhbEF0dHIodCwgZS5yYWRBdHRyKSksIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRUZXh0UGF0aCA9IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmVsZW1lbnQsIG8gPSB0aGlzLnRleHQgPyB0aGlzLnRleHQuZWxlbWVudCA6IG4sIHIgPSB7IHRleHRBbmNob3I6ICJ0ZXh0LWFuY2hvciIgfSwgcyA9ICExLCBhID0gdGhpcy50ZXh0UGF0aFdyYXBwZXIsIGggPSAhYTsKICAgICAgICAgICAgaSA9IE0oITAsIHsgZW5hYmxlZDogITAsIGF0dHJpYnV0ZXM6IHsgZHk6IC01LCBzdGFydE9mZnNldDogIjUwJSIsIHRleHRBbmNob3I6ICJtaWRkbGUiIH0gfSwgaSk7CiAgICAgICAgICAgIHZhciBsID0gZS5maWx0ZXJVc2VyQXR0cmlidXRlcyhpLmF0dHJpYnV0ZXMpOwogICAgICAgICAgICBpZiAodCAmJiBpICYmIGkuZW5hYmxlZCkgewogICAgICAgICAgICAgIGEgJiYgbnVsbCA9PT0gYS5lbGVtZW50LnBhcmVudE5vZGUgPyAoaCA9ICEwLCBhID0gYS5kZXN0cm95KCkpIDogYSAmJiB0aGlzLnJlbW92ZVRleHRPdXRsaW5lLmNhbGwoYS5wYXJlbnRHcm91cCksIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMucGFkZGluZyAmJiAobC5keCA9IC10aGlzLm9wdGlvbnMucGFkZGluZyksIGEgfHwgKHRoaXMudGV4dFBhdGhXcmFwcGVyID0gYSA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgidGV4dFBhdGgiKSwgcyA9ICEwKTsKICAgICAgICAgICAgICB2YXIgcCA9IGEuZWxlbWVudDsKICAgICAgICAgICAgICBpZiAoKGkgPSB0LmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpKSB8fCB0LmVsZW1lbnQuc2V0QXR0cmlidXRlKCJpZCIsIGkgPSBFKCkpLCBoKSBmb3IgKG8uc2V0QXR0cmlidXRlKCJ5IiwgMCksIFMobC5keCkgJiYgby5zZXRBdHRyaWJ1dGUoIngiLCAtbC5keCksIHQgPSBbXS5zbGljZS5jYWxsKG8uY2hpbGROb2RlcyksIGggPSAwOyBoIDwgdC5sZW5ndGg7IGgrKykgewogICAgICAgICAgICAgICAgdmFyIGQgPSB0W2hdOwogICAgICAgICAgICAgICAgZC5ub2RlVHlwZSAhPT0gdS5Ob2RlLlRFWFRfTk9ERSAmJiAidHNwYW4iICE9PSBkLm5vZGVOYW1lIHx8IHAuYXBwZW5kQ2hpbGQoZCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHMgJiYgYSAmJiBhLmFkZCh7IGVsZW1lbnQ6IG8gfSksIHAuc2V0QXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCAiaHJlZiIsIHRoaXMucmVuZGVyZXIudXJsICsgIiMiICsgaSksIHYobC5keSkgJiYgKHAucGFyZW50Tm9kZS5zZXRBdHRyaWJ1dGUoImR5IiwgbC5keSksIGRlbGV0ZSBsLmR5KSwgdihsLmR4KSAmJiAocC5wYXJlbnROb2RlLnNldEF0dHJpYnV0ZSgiZHgiLCBsLmR4KSwgZGVsZXRlIGwuZHgpLCBBKGwsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBwLnNldEF0dHJpYnV0ZShyW2VdIHx8IGUsIHQpOwogICAgICAgICAgICAgIH0pKSwgbi5yZW1vdmVBdHRyaWJ1dGUoInRyYW5zZm9ybSIpLCB0aGlzLnJlbW92ZVRleHRPdXRsaW5lLmNhbGwoYSksIHRoaXMudGV4dCAmJiAhdGhpcy5yZW5kZXJlci5zdHlsZWRNb2RlICYmIHRoaXMuYXR0cih7CiAgICAgICAgICAgICAgICBmaWxsOiAibm9uZSIsCiAgICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogMAogICAgICAgICAgICAgIH0pLCB0aGlzLmFwcGx5VGV4dE91dGxpbmUgPSB0aGlzLnVwZGF0ZVRyYW5zZm9ybSA9IGM7CiAgICAgICAgICAgIH0gZWxzZSBhICYmIChkZWxldGUgdGhpcy51cGRhdGVUcmFuc2Zvcm0sIGRlbGV0ZSB0aGlzLmFwcGx5VGV4dE91dGxpbmUsIHRoaXMuZGVzdHJveVRleHRQYXRoKG4sIHQpLCB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpLCB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLnJvdGF0aW9uICYmIHRoaXMuYXBwbHlUZXh0T3V0bGluZSh0aGlzLm9wdGlvbnMuc3R5bGUudGV4dE91dGxpbmUpKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zaGFkb3cgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuLCBvID0gW10sIHIgPSB0aGlzLmVsZW1lbnQsIHMgPSB0aGlzLm9sZFNoYWRvd09wdGlvbnMsCiAgICAgICAgICAgICAgYSA9IHsgY29sb3I6ICIjMDAwMDAwIiwgb2Zmc2V0WDogdGhpcy5wYXJlbnRJbnZlcnRlZCA/IC0xIDogMSwgb2Zmc2V0WTogdGhpcy5wYXJlbnRJbnZlcnRlZCA/IC0xIDogMSwgb3BhY2l0eTogLjE1LCB3aWR0aDogMyB9LCBoID0gITE7CiAgICAgICAgICAgIGlmICghMCA9PT0gdCA/IG4gPSBhIDogIm9iamVjdCIgPT09IHR5cGVvZiB0ICYmIChuID0gYihhLCB0KSksIG4gJiYgKG4gJiYgcyAmJiBBKG4sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdCAhPT0gc1tlXSAmJiAoaCA9ICEwKTsKICAgICAgICAgICAgfSkpLCBoICYmIHRoaXMuZGVzdHJveVNoYWRvd3MoKSwgdGhpcy5vbGRTaGFkb3dPcHRpb25zID0gbiksIG4pIHsKICAgICAgICAgICAgICBpZiAoIXRoaXMuc2hhZG93cykgewogICAgICAgICAgICAgICAgdmFyIGwgPSBuLm9wYWNpdHkgLyBuLndpZHRoLAogICAgICAgICAgICAgICAgICBjID0gdGhpcy5wYXJlbnRJbnZlcnRlZCA/ICJ0cmFuc2xhdGUoIiArIG4ub2Zmc2V0WSArICIsICIgKyBuLm9mZnNldFggKyAiKSIgOiAidHJhbnNsYXRlKCIgKyBuLm9mZnNldFggKyAiLCAiICsgbi5vZmZzZXRZICsgIikiOwogICAgICAgICAgICAgICAgZm9yIChhID0gMTsgYSA8PSBuLndpZHRoOyBhKyspIHsKICAgICAgICAgICAgICAgICAgdmFyIHAgPSByLmNsb25lTm9kZSghMSksIGQgPSAyICogbi53aWR0aCArIDEgLSAyICogYTsKICAgICAgICAgICAgICAgICAgZyhwLCB7CiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB0LmNvbG9yIHx8ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAic3Ryb2tlLW9wYWNpdHkiOiBsICogYSwKICAgICAgICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogZCwKICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGMsCiAgICAgICAgICAgICAgICAgICAgZmlsbDogIm5vbmUiCiAgICAgICAgICAgICAgICAgIH0pLCBwLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCAocC5nZXRBdHRyaWJ1dGUoImNsYXNzIikgfHwgIiIpICsgIiBoaWdoY2hhcnRzLXNoYWRvdyIpLCBpICYmIChnKHAsICJoZWlnaHQiLCBNYXRoLm1heChnKHAsICJoZWlnaHQiKSAtIGQsIDApKSwgcC5jdXRIZWlnaHQgPSBkKSwgZSA/IGUuZWxlbWVudC5hcHBlbmRDaGlsZChwKSA6IHIucGFyZW50Tm9kZSAmJiByLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHAsIHIpLCBvLnB1c2gocCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0aGlzLnNoYWRvd3MgPSBvOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHRoaXMuZGVzdHJveVNoYWRvd3MoKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zaG93ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5hdHRyKHsgdmlzaWJpbGl0eTogdCA/ICJpbmhlcml0IiA6ICJ2aXNpYmxlIiB9KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnN0cm9rZVNldHRlciA9IGZ1bmN0aW9uKGUsIGksIG4pIHsKICAgICAgICAgICAgdGhpc1tpXSA9IGUsIHRoaXMuc3Ryb2tlICYmIHRoaXNbInN0cm9rZS13aWR0aCJdID8gKHQucHJvdG90eXBlLmZpbGxTZXR0ZXIuY2FsbCh0aGlzLCB0aGlzLnN0cm9rZSwgInN0cm9rZSIsIG4pLCBuLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIiwgdGhpc1sic3Ryb2tlLXdpZHRoIl0pLCB0aGlzLmhhc1N0cm9rZSA9ICEwKSA6ICJzdHJva2Utd2lkdGgiID09PSBpICYmIDAgPT09IGUgJiYgdGhpcy5oYXNTdHJva2UgPyAobi5yZW1vdmVBdHRyaWJ1dGUoInN0cm9rZSIpLCB0aGlzLmhhc1N0cm9rZSA9ICExKSA6IHRoaXMucmVuZGVyZXIuc3R5bGVkTW9kZSAmJiB0aGlzWyJzdHJva2Utd2lkdGgiXSAmJiAobi5zZXRBdHRyaWJ1dGUoInN0cm9rZS13aWR0aCIsIHRoaXNbInN0cm9rZS13aWR0aCJdKSwgdGhpcy5oYXNTdHJva2UgPSAhMCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zdHJva2VXaWR0aCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAoIXRoaXMucmVuZGVyZXIuc3R5bGVkTW9kZSkgcmV0dXJuIHRoaXNbInN0cm9rZS13aWR0aCJdIHx8IDA7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5nZXRTdHlsZSgic3Ryb2tlLXdpZHRoIiksIGUgPSAwOwogICAgICAgICAgICBpZiAodC5pbmRleE9mKCJweCIpID09PSB0Lmxlbmd0aCAtIDIpIGUgPSBPKHQpOyBlbHNlIGlmICgiIiAhPT0gdCkgewogICAgICAgICAgICAgIHZhciBpID0gbC5jcmVhdGVFbGVtZW50TlMoZCwgInJlY3QiKTsKICAgICAgICAgICAgICBnKGksIHsgd2lkdGg6IHQsICJzdHJva2Utd2lkdGgiOiAwIH0pLCB0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChpKSwgZSA9IGkuZ2V0QkJveCgpLndpZHRoLCBpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGU7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zeW1ib2xBdHRyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXM7CiAgICAgICAgICAgICJ4IHkgciBzdGFydCBlbmQgd2lkdGggaGVpZ2h0IGlubmVyUiBhbmNob3JYIGFuY2hvclkgY2xvY2t3aXNlIi5zcGxpdCgiICIpLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICBlW2ldID0gUCh0W2ldLCBlW2ldKTsKICAgICAgICAgICAgfSkpLCBlLmF0dHIoeyBkOiBlLnJlbmRlcmVyLnN5bWJvbHNbZS5zeW1ib2xOYW1lXShlLngsIGUueSwgZS53aWR0aCwgZS5oZWlnaHQsIGUpIH0pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudGV4dFNldHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdCAhPT0gdGhpcy50ZXh0U3RyICYmIChkZWxldGUgdGhpcy50ZXh0UHhMZW5ndGgsIHRoaXMudGV4dFN0ciA9IHQsIHRoaXMuYWRkZWQgJiYgdGhpcy5yZW5kZXJlci5idWlsZFRleHQodGhpcykpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudGl0bGVTZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5lbGVtZW50LCBpID0gZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXSB8fCBsLmNyZWF0ZUVsZW1lbnROUyh0aGlzLlNWR19OUywgInRpdGxlIik7CiAgICAgICAgICAgIGUuaW5zZXJ0QmVmb3JlID8gZS5pbnNlcnRCZWZvcmUoaSwgZS5maXJzdENoaWxkKSA6IGUuYXBwZW5kQ2hpbGQoaSksIGkudGV4dENvbnRlbnQgPSBTdHJpbmcoUCh0LCAiIikpLnJlcGxhY2UoLzxbXj5dKj4vZywgIiIpLnJlcGxhY2UoLyZsdDsvZywgIjwiKS5yZXBsYWNlKC8mZ3Q7L2csICI+Iik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS50b0Zyb250ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5lbGVtZW50OwogICAgICAgICAgICByZXR1cm4gdC5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHQpLCB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudHJhbnNsYXRlID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5hdHRyKHsgdHJhbnNsYXRlWDogdCwgdHJhbnNsYXRlWTogZSB9KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZVNoYWRvd3MgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5zaGFkb3dzOwogICAgICAgICAgICBpZiAobikgZm9yICh2YXIgbyA9IG4ubGVuZ3RoOyBvLS07KSBpLmNhbGwobltvXSwgImhlaWdodCIgPT09IHQgPyBNYXRoLm1heChlIC0gKG5bb10uY3V0SGVpZ2h0IHx8IDApLCAwKSA6ICJkIiA9PT0gdCA/IHRoaXMuZCA6IGUsIHQsIG5bb10pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudXBkYXRlVHJhbnNmb3JtID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5zY2FsZVgsIGUgPSB0aGlzLnNjYWxlWSwgaSA9IHRoaXMuaW52ZXJ0ZWQsIG4gPSB0aGlzLnJvdGF0aW9uLCBvID0gdGhpcy5tYXRyaXgsIHIgPSB0aGlzLmVsZW1lbnQsIHMgPSB0aGlzLnRyYW5zbGF0ZVggfHwgMCwKICAgICAgICAgICAgICBhID0gdGhpcy50cmFuc2xhdGVZIHx8IDA7CiAgICAgICAgICAgIGkgJiYgKHMgKz0gdGhpcy53aWR0aCwgYSArPSB0aGlzLmhlaWdodCksIHMgPSBbInRyYW5zbGF0ZSgiICsgcyArICIsIiArIGEgKyAiKSJdLCB2KG8pICYmIHMucHVzaCgibWF0cml4KCIgKyBvLmpvaW4oIiwiKSArICIpIiksIGkgPyBzLnB1c2goInJvdGF0ZSg5MCkgc2NhbGUoLTEsMSkiKSA6IG4gJiYgcy5wdXNoKCJyb3RhdGUoIiArIG4gKyAiICIgKyBQKHRoaXMucm90YXRpb25PcmlnaW5YLCByLmdldEF0dHJpYnV0ZSgieCIpLCAwKSArICIgIiArIFAodGhpcy5yb3RhdGlvbk9yaWdpblksIHIuZ2V0QXR0cmlidXRlKCJ5IikgfHwgMCkgKyAiKSIpLCAodih0KSB8fCB2KGUpKSAmJiBzLnB1c2goInNjYWxlKCIgKyBQKHQsIDEpICsgIiAiICsgUChlLCAxKSArICIpIiksIHMubGVuZ3RoICYmIHIuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCBzLmpvaW4oIiAiKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS52aXNpYmlsaXR5U2V0dGVyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAiaW5oZXJpdCIgPT09IHQgPyBpLnJlbW92ZUF0dHJpYnV0ZShlKSA6IHRoaXNbZV0gIT09IHQgJiYgaS5zZXRBdHRyaWJ1dGUoZSwgdCksIHRoaXNbZV0gPSB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUueEdldHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuICJjaXJjbGUiID09PSB0aGlzLmVsZW1lbnQubm9kZU5hbWUgJiYgKCJ4IiA9PT0gdCA/IHQgPSAiY3giIDogInkiID09PSB0ICYmICh0ID0gImN5IikpLCB0aGlzLl9kZWZhdWx0R2V0dGVyKHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuekluZGV4U2V0dGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMucmVuZGVyZXIsIG4gPSB0aGlzLnBhcmVudEdyb3VwLCBvID0gKG4gfHwgaSkuZWxlbWVudCB8fCBpLmJveCwgciA9IHRoaXMuZWxlbWVudDsKICAgICAgICAgICAgaSA9IG8gPT09IGkuYm94OwogICAgICAgICAgICB2YXIgcywgYSA9ICExLCBoID0gdGhpcy5hZGRlZDsKICAgICAgICAgICAgaWYgKHYodCkgPyAoci5zZXRBdHRyaWJ1dGUoImRhdGEtei1pbmRleCIsIHQpLCB0ID0gK3QsIHRoaXNbZV0gPT09IHQgJiYgKGggPSAhMSkpIDogdih0aGlzW2VdKSAmJiByLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS16LWluZGV4IiksIHRoaXNbZV0gPSB0LCBoKSB7CiAgICAgICAgICAgICAgZm9yICgodCA9IHRoaXMuekluZGV4KSAmJiBuICYmIChuLmhhbmRsZVogPSAhMCksIGUgPSBvLmNoaWxkTm9kZXMsIHMgPSBlLmxlbmd0aCAtIDE7IDAgPD0gcyAmJiAhYTsgcy0tKSB7CiAgICAgICAgICAgICAgICBuID0gZVtzXSwgaCA9IG4uZ2V0QXR0cmlidXRlKCJkYXRhLXotaW5kZXgiKTsKICAgICAgICAgICAgICAgIHZhciBsID0gIXYoaCk7CiAgICAgICAgICAgICAgICBuICE9PSByICYmICgwID4gdCAmJiBsICYmICFpICYmICFzID8gKG8uaW5zZXJ0QmVmb3JlKHIsIGVbc10pLCBhID0gITApIDogKE8oaCkgPD0gdCB8fCBsICYmICghdih0KSB8fCAwIDw9IHQpKSAmJiAoby5pbnNlcnRCZWZvcmUociwgZVtzICsgMV0gfHwgbnVsbCksIGEgPSAhMCkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBhIHx8IChvLmluc2VydEJlZm9yZShyLCBlW2kgPyAzIDogMF0gfHwgbnVsbCksIGEgPSAhMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGE7CiAgICAgICAgICB9LCB0OwogICAgICAgIH0oKSwgdC5wcm90b3R5cGVbInN0cm9rZS13aWR0aFNldHRlciJdID0gdC5wcm90b3R5cGUuc3Ryb2tlU2V0dGVyLCB0LnByb3RvdHlwZS55R2V0dGVyID0gdC5wcm90b3R5cGUueEdldHRlciwgdC5wcm90b3R5cGUubWF0cml4U2V0dGVyID0gdC5wcm90b3R5cGUucm90YXRpb25PcmlnaW5YU2V0dGVyID0gdC5wcm90b3R5cGUucm90YXRpb25PcmlnaW5ZU2V0dGVyID0gdC5wcm90b3R5cGUucm90YXRpb25TZXR0ZXIgPSB0LnByb3RvdHlwZS5zY2FsZVhTZXR0ZXIgPSB0LnByb3RvdHlwZS5zY2FsZVlTZXR0ZXIgPSB0LnByb3RvdHlwZS50cmFuc2xhdGVYU2V0dGVyID0gdC5wcm90b3R5cGUudHJhbnNsYXRlWVNldHRlciA9IHQucHJvdG90eXBlLnZlcnRpY2FsQWxpZ25TZXR0ZXIgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICB0aGlzW2VdID0gdCwgdGhpcy5kb1RyYW5zZm9ybSA9ICEwOwogICAgICAgIH0sIHQ7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9SZW5kZXJlci9SZW5kZXJlclJlZ2lzdHJ5LmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdXSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgewogICAgICAgICAgdmFyIGk7CiAgICAgICAgICBlLnJlbmRlcmVyVHlwZXMgPSB7fSwgZS5nZXRSZW5kZXJlclR5cGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IHQgJiYgKHQgPSBpKSwgZS5yZW5kZXJlclR5cGVzW3RdIHx8IGUucmVuZGVyZXJUeXBlc1tpXTsKICAgICAgICAgIH0sIGUucmVnaXN0ZXJSZW5kZXJlclR5cGUgPSBmdW5jdGlvbihuLCBvLCByKSB7CiAgICAgICAgICAgIGUucmVuZGVyZXJUeXBlc1tuXSA9IG8sIGkgJiYgIXIgfHwgKGkgPSBuLCB0LlJlbmRlcmVyID0gbyk7CiAgICAgICAgICB9OwogICAgICAgIH0oZSB8fCAoZSA9IHt9KSksIGU7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9SZW5kZXJlci9TVkcvU1ZHTGFiZWwuanMiLCBbaVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHRWxlbWVudC5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICB2YXIgaSA9IHRoaXMgJiYgdGhpcy5fX2V4dGVuZHMgfHwgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5fX3Byb3RvX18gPSBlOwogICAgICAgICAgICB9IHx8IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUpIGUuaGFzT3duUHJvcGVydHkoaSkgJiYgKHRbaV0gPSBlW2ldKTsKICAgICAgICAgICAgfSwgdChlLCBpKTsKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBmdW5jdGlvbiBuKCkgewogICAgICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0KGUsIGkpLCBlLnByb3RvdHlwZSA9IG51bGwgPT09IGkgPyBPYmplY3QuY3JlYXRlKGkpIDogKG4ucHJvdG90eXBlID0gaS5wcm90b3R5cGUsIG5ldyBuKTsKICAgICAgICAgIH07CiAgICAgICAgfSgpLCBuID0gZS5kZWZpbmVkLCBvID0gZS5leHRlbmQsIHIgPSBlLmlzTnVtYmVyLCBzID0gZS5tZXJnZSwgYSA9IGUucGljaywgaCA9IGUucmVtb3ZlRXZlbnQ7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIGZ1bmN0aW9uIGwodCwgaSwgbiwgbywgciwgcywgYSwgaCwgYywgcCkgewogICAgICAgICAgICB2YXIgZCwgdSA9IGUuY2FsbCh0aGlzKSB8fCB0aGlzOwogICAgICAgICAgICByZXR1cm4gdS5wYWRkaW5nTGVmdFNldHRlciA9IHUucGFkZGluZ1NldHRlciwgdS5wYWRkaW5nUmlnaHRTZXR0ZXIgPSB1LnBhZGRpbmdTZXR0ZXIsIHUuaW5pdCh0LCAiZyIpLCB1LnRleHRTdHIgPSBpLCB1LnggPSBuLCB1LnkgPSBvLCB1LmFuY2hvclggPSBzLCB1LmFuY2hvclkgPSBhLCB1LmJhc2VsaW5lID0gYywgdS5jbGFzc05hbWUgPSBwLCB1LmFkZENsYXNzKCJidXR0b24iID09PSBwID8gImhpZ2hjaGFydHMtbm8tdG9vbHRpcCIgOiAiaGlnaGNoYXJ0cy1sYWJlbCIpLCBwICYmIHUuYWRkQ2xhc3MoImhpZ2hjaGFydHMtIiArIHApLCB1LnRleHQgPSB0LnRleHQodm9pZCAwLCAwLCAwLCBoKS5hdHRyKHsgekluZGV4OiAxIH0pLCAic3RyaW5nIiA9PT0gdHlwZW9mIHIgJiYgKChkID0gL151cmxcKCguKj8pXCkkLy50ZXN0KHIpKSB8fCB1LnJlbmRlcmVyLnN5bWJvbHNbcl0pICYmICh1LnN5bWJvbEtleSA9IHIpLCB1LmJCb3ggPSBsLmVtcHR5QkJveCwgdS5wYWRkaW5nID0gMywgdS5iYXNlbGluZU9mZnNldCA9IDAsIHUubmVlZHNCb3ggPSB0LnN0eWxlZE1vZGUgfHwgZCwgdS5kZWZlcnJlZEF0dHIgPSB7fSwgdS5hbGlnbkZhY3RvciA9IDAsIHU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGkobCwgZSksIGwucHJvdG90eXBlLmFsaWduU2V0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0ID0gewogICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgY2VudGVyOiAuNSwKICAgICAgICAgICAgICByaWdodDogMQogICAgICAgICAgICB9W3RdLCB0ICE9PSB0aGlzLmFsaWduRmFjdG9yICYmICh0aGlzLmFsaWduRmFjdG9yID0gdCwgdGhpcy5iQm94ICYmIHIodGhpcy54U2V0dGluZykgJiYgdGhpcy5hdHRyKHsgeDogdGhpcy54U2V0dGluZyB9KSk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5hbmNob3JYU2V0dGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLmFuY2hvclggPSB0LCB0aGlzLmJveEF0dHIoZSwgTWF0aC5yb3VuZCh0KSAtIHRoaXMuZ2V0Q3Jpc3BBZGp1c3QoKSAtIHRoaXMueFNldHRpbmcpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuYW5jaG9yWVNldHRlciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdGhpcy5hbmNob3JZID0gdCwgdGhpcy5ib3hBdHRyKGUsIHQgLSB0aGlzLnlTZXR0aW5nKTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLmJveEF0dHIgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHRoaXMuYm94ID8gdGhpcy5ib3guYXR0cih0LCBlKSA6IHRoaXMuZGVmZXJyZWRBdHRyW3RdID0gZTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLmNzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYgKGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHt9OwogICAgICAgICAgICAgIGUgPSBzKGUpLCBsLnRleHRQcm9wcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGVbdF0gJiYgKGlbdF0gPSBlW3RdLCBkZWxldGUgZVt0XSk7CiAgICAgICAgICAgICAgfSkpLCB0aGlzLnRleHQuY3NzKGkpOwogICAgICAgICAgICAgIHZhciBuID0gIndpZHRoIiBpbiBpOwogICAgICAgICAgICAgICJmb250U2l6ZSIgaW4gaSB8fCAiZm9udFdlaWdodCIgaW4gaSA/IHRoaXMudXBkYXRlVGV4dFBhZGRpbmcoKSA6IG4gJiYgdGhpcy51cGRhdGVCb3hTaXplKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLmNzcy5jYWxsKHRoaXMsIGUpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBoKHRoaXMuZWxlbWVudCwgIm1vdXNlZW50ZXIiKSwgaCh0aGlzLmVsZW1lbnQsICJtb3VzZWxlYXZlIiksIHRoaXMudGV4dCAmJiB0aGlzLnRleHQuZGVzdHJveSgpLCB0aGlzLmJveCAmJiAodGhpcy5ib3ggPSB0aGlzLmJveC5kZXN0cm95KCkpLCB0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5maWxsU2V0dGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0ICYmICh0aGlzLm5lZWRzQm94ID0gITApLCB0aGlzLmZpbGwgPSB0LCB0aGlzLmJveEF0dHIoZSwgdCk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5nZXRCQm94ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMudGV4dFN0ciAmJiAwID09PSB0aGlzLmJCb3gud2lkdGggJiYgMCA9PT0gdGhpcy5iQm94LmhlaWdodCAmJiB0aGlzLnVwZGF0ZUJveFNpemUoKTsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnBhZGRpbmcsIGUgPSBhKHRoaXMucGFkZGluZ0xlZnQsIHQpOwogICAgICAgICAgICByZXR1cm4geyB3aWR0aDogdGhpcy53aWR0aCwgaGVpZ2h0OiB0aGlzLmhlaWdodCwgeDogdGhpcy5iQm94LnggLSBlLCB5OiB0aGlzLmJCb3gueSAtIHQgfTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLmdldENyaXNwQWRqdXN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLnN0eWxlZE1vZGUgJiYgdGhpcy5ib3ggPyB0aGlzLmJveC5zdHJva2VXaWR0aCgpICUgMiAvIDIgOiAodGhpc1sic3Ryb2tlLXdpZHRoIl0gPyBwYXJzZUludCh0aGlzWyJzdHJva2Utd2lkdGgiXSwgMTApIDogMCkgJSAyIC8gMjsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLmhlaWdodFNldHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5oZWlnaHRTZXR0aW5nID0gdDsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLm9uQWRkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy50ZXh0U3RyOwogICAgICAgICAgICB0aGlzLnRleHQuYWRkKHRoaXMpLCB0aGlzLmF0dHIoeyB0ZXh0OiBuKHQpID8gdCA6ICIiLCB4OiB0aGlzLngsIHk6IHRoaXMueSB9KSwgdGhpcy5ib3ggJiYgbih0aGlzLmFuY2hvclgpICYmIHRoaXMuYXR0cih7CiAgICAgICAgICAgICAgYW5jaG9yWDogdGhpcy5hbmNob3JYLAogICAgICAgICAgICAgIGFuY2hvclk6IHRoaXMuYW5jaG9yWQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLnBhZGRpbmdTZXR0ZXIgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHIodCkgPyB0ICE9PSB0aGlzW2VdICYmICh0aGlzW2VdID0gdCwgdGhpcy51cGRhdGVUZXh0UGFkZGluZygpKSA6IHRoaXNbZV0gPSB2b2lkIDA7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5yU2V0dGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLmJveEF0dHIoZSwgdCk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5zaGFkb3cgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0ICYmICF0aGlzLnJlbmRlcmVyLnN0eWxlZE1vZGUgJiYgKHRoaXMudXBkYXRlQm94U2l6ZSgpLCB0aGlzLmJveCAmJiB0aGlzLmJveC5zaGFkb3codCkpLCB0aGlzOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuc3Ryb2tlU2V0dGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLnN0cm9rZSA9IHQsIHRoaXMuYm94QXR0cihlLCB0KTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlWyJzdHJva2Utd2lkdGhTZXR0ZXIiXSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdCAmJiAodGhpcy5uZWVkc0JveCA9ICEwKSwgdGhpc1sic3Ryb2tlLXdpZHRoIl0gPSB0LCB0aGlzLmJveEF0dHIoZSwgdCk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZVsidGV4dC1hbGlnblNldHRlciJdID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0aGlzLnRleHRBbGlnbiA9IHQ7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS50ZXh0U2V0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHQgJiYgdGhpcy50ZXh0LmF0dHIoeyB0ZXh0OiB0IH0pLCB0aGlzLnVwZGF0ZVRleHRQYWRkaW5nKCk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS51cGRhdGVCb3hTaXplID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy50ZXh0LmVsZW1lbnQuc3R5bGUsIGUgPSB7fSwgaSA9IHRoaXMucGFkZGluZywKICAgICAgICAgICAgICBzID0gdGhpcy5iQm94ID0gcih0aGlzLndpZHRoU2V0dGluZykgJiYgcih0aGlzLmhlaWdodFNldHRpbmcpICYmICF0aGlzLnRleHRBbGlnbiB8fCAhbih0aGlzLnRleHQudGV4dFN0cikgPyBsLmVtcHR5QkJveCA6IHRoaXMudGV4dC5nZXRCQm94KCk7CiAgICAgICAgICAgIHRoaXMud2lkdGggPSB0aGlzLmdldFBhZGRlZFdpZHRoKCksIHRoaXMuaGVpZ2h0ID0gKHRoaXMuaGVpZ2h0U2V0dGluZyB8fCBzLmhlaWdodCB8fCAwKSArIDIgKiBpLCB0ID0gdGhpcy5yZW5kZXJlci5mb250TWV0cmljcyh0ICYmIHQuZm9udFNpemUsIHRoaXMudGV4dCksIHRoaXMuYmFzZWxpbmVPZmZzZXQgPSBpICsgTWF0aC5taW4oKHRoaXMudGV4dC5maXJzdExpbmVNZXRyaWNzIHx8IHQpLmIsIHMuaGVpZ2h0IHx8IDEgLyAwKSwgdGhpcy5oZWlnaHRTZXR0aW5nICYmICh0aGlzLmJhc2VsaW5lT2Zmc2V0ICs9ICh0aGlzLmhlaWdodFNldHRpbmcgLSB0LmgpIC8gMiksIHRoaXMubmVlZHNCb3ggJiYgKHRoaXMuYm94IHx8IChpID0gdGhpcy5ib3ggPSB0aGlzLnN5bWJvbEtleSA/IHRoaXMucmVuZGVyZXIuc3ltYm9sKHRoaXMuc3ltYm9sS2V5KSA6IHRoaXMucmVuZGVyZXIucmVjdCgpLCBpLmFkZENsYXNzKCgiYnV0dG9uIiA9PT0gdGhpcy5jbGFzc05hbWUgPyAiIiA6ICJoaWdoY2hhcnRzLWxhYmVsLWJveCIpICsgKHRoaXMuY2xhc3NOYW1lID8gIiBoaWdoY2hhcnRzLSIgKyB0aGlzLmNsYXNzTmFtZSArICItYm94IiA6ICIiKSksIGkuYWRkKHRoaXMpKSwgaSA9IHRoaXMuZ2V0Q3Jpc3BBZGp1c3QoKSwgZS54ID0gaSwgZS55ID0gKHRoaXMuYmFzZWxpbmUgPyAtdGhpcy5iYXNlbGluZU9mZnNldCA6IDApICsgaSwgZS53aWR0aCA9IE1hdGgucm91bmQodGhpcy53aWR0aCksIGUuaGVpZ2h0ID0gTWF0aC5yb3VuZCh0aGlzLmhlaWdodCksIHRoaXMuYm94LmF0dHIobyhlLCB0aGlzLmRlZmVycmVkQXR0cikpLCB0aGlzLmRlZmVycmVkQXR0ciA9IHt9KTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLnVwZGF0ZVRleHRQYWRkaW5nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy50ZXh0OwogICAgICAgICAgICB0aGlzLnVwZGF0ZUJveFNpemUoKTsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmJhc2VsaW5lID8gMCA6IHRoaXMuYmFzZWxpbmVPZmZzZXQsIGkgPSBhKHRoaXMucGFkZGluZ0xlZnQsIHRoaXMucGFkZGluZyk7CiAgICAgICAgICAgIG4odGhpcy53aWR0aFNldHRpbmcpICYmIHRoaXMuYkJveCAmJiAoImNlbnRlciIgPT09IHRoaXMudGV4dEFsaWduIHx8ICJyaWdodCIgPT09IHRoaXMudGV4dEFsaWduKSAmJiAoaSArPSB7CiAgICAgICAgICAgICAgY2VudGVyOiAuNSwKICAgICAgICAgICAgICByaWdodDogMQogICAgICAgICAgICB9W3RoaXMudGV4dEFsaWduXSAqICh0aGlzLndpZHRoU2V0dGluZyAtIHRoaXMuYkJveC53aWR0aCkpLCBpID09PSB0LnggJiYgZSA9PT0gdC55IHx8ICh0LmF0dHIoIngiLCBpKSwgdC5oYXNCb3hXaWR0aENoYW5nZWQgJiYgKHRoaXMuYkJveCA9IHQuZ2V0QkJveCghMCkpLCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGUgJiYgdC5hdHRyKCJ5IiwgZSkpLCB0LnggPSBpLCB0LnkgPSBlOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUud2lkdGhTZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMud2lkdGhTZXR0aW5nID0gcih0KSA/IHQgOiB2b2lkIDA7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5nZXRQYWRkZWRXaWR0aCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMucGFkZGluZywgZSA9IGEodGhpcy5wYWRkaW5nTGVmdCwgdCk7CiAgICAgICAgICAgIHJldHVybiB0ID0gYSh0aGlzLnBhZGRpbmdSaWdodCwgdCksICh0aGlzLndpZHRoU2V0dGluZyB8fCB0aGlzLmJCb3gud2lkdGggfHwgMCkgKyBlICsgdDsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLnhTZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMueCA9IHQsIHRoaXMuYWxpZ25GYWN0b3IgJiYgKHQgLT0gdGhpcy5hbGlnbkZhY3RvciAqIHRoaXMuZ2V0UGFkZGVkV2lkdGgoKSwgdGhpc1siZm9yY2VBbmltYXRlOngiXSA9ICEwKSwgdGhpcy54U2V0dGluZyA9IE1hdGgucm91bmQodCksIHRoaXMuYXR0cigidHJhbnNsYXRlWCIsIHRoaXMueFNldHRpbmcpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUueVNldHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy55U2V0dGluZyA9IHRoaXMueSA9IE1hdGgucm91bmQodCksIHRoaXMuYXR0cigidHJhbnNsYXRlWSIsIHRoaXMueVNldHRpbmcpOwogICAgICAgICAgfSwgbC5lbXB0eUJCb3ggPSB7CiAgICAgICAgICAgIHdpZHRoOiAwLAogICAgICAgICAgICBoZWlnaHQ6IDAsCiAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgIHk6IDAKICAgICAgICAgIH0sIGwudGV4dFByb3BzID0gImNvbG9yIGRpcmVjdGlvbiBmb250RmFtaWx5IGZvbnRTaXplIGZvbnRTdHlsZSBmb250V2VpZ2h0IGxpbmVIZWlnaHQgdGV4dEFsaWduIHRleHREZWNvcmF0aW9uIHRleHRPdXRsaW5lIHRleHRPdmVyZmxvdyB3aWR0aCIuc3BsaXQoIiAiKSwgbDsKICAgICAgICB9KHQpOwogICAgICB9KSksIGUoaSwgIkNvcmUvUmVuZGVyZXIvU1ZHL1N5bWJvbHMuanMiLCBbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0KSB7CiAgICAgICAgZnVuY3Rpb24gZSh0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICB2YXIgYSA9IFtdOwogICAgICAgICAgaWYgKHIpIHsKICAgICAgICAgICAgdmFyIGggPSByLnN0YXJ0IHx8IDAsIGwgPSBzKHIuciwgaSk7CiAgICAgICAgICAgIGkgPSBzKHIuciwgbiB8fCBpKTsKICAgICAgICAgICAgdmFyIGMgPSAoci5lbmQgfHwgMCkgLSAuMDAxOwogICAgICAgICAgICBuID0gci5pbm5lclI7CiAgICAgICAgICAgIHZhciBwID0gcyhyLm9wZW4sIC4wMDEgPiBNYXRoLmFicygoci5lbmQgfHwgMCkgLSBoIC0gMiAqIE1hdGguUEkpKSwgZCA9IE1hdGguY29zKGgpLCB1ID0gTWF0aC5zaW4oaCksIGYgPSBNYXRoLmNvcyhjKSwgZyA9IE1hdGguc2luKGMpOwogICAgICAgICAgICBoID0gcyhyLmxvbmdBcmMsIC4wMDEgPiBjIC0gaCAtIE1hdGguUEkgPyAwIDogMSksIGEucHVzaChbIk0iLCB0ICsgbCAqIGQsIGUgKyBpICogdV0sIFsiQSIsIGwsIGksIDAsIGgsIHMoci5jbG9ja3dpc2UsIDEpLCB0ICsgbCAqIGYsIGUgKyBpICogZ10pLCBvKG4pICYmIGEucHVzaChwID8gWyJNIiwgdCArIG4gKiBmLCBlICsgbiAqIGddIDogWyJMIiwgdCArIG4gKiBmLCBlICsgbiAqIGddLCBbIkEiLCBuLCBuLCAwLCBoLCBvKHIuY2xvY2t3aXNlKSA/IDEgLSByLmNsb2Nrd2lzZSA6IDAsIHQgKyBuICogZCwgZSArIG4gKiB1XSksIHAgfHwgYS5wdXNoKFsiWiJdKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gaSh0LCBlLCBpLCBvLCByKSB7CiAgICAgICAgICByZXR1cm4gciAmJiByLnIgPyBuKHQsIGUsIGksIG8sIHIpIDogW1siTSIsIHQsIGVdLCBbIkwiLCB0ICsgaSwgZV0sIFsiTCIsIHQgKyBpLCBlICsgb10sIFsiTCIsIHQsIGUgKyBvXSwgWyJaIl1dOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbih0LCBlLCBpLCBuLCBvKSB7CiAgICAgICAgICByZXR1cm4gbyA9IG8gJiYgby5yIHx8IDAsIFtbIk0iLCB0ICsgbywgZV0sIFsiTCIsIHQgKyBpIC0gbywgZV0sIFsiQyIsIHQgKyBpLCBlLCB0ICsgaSwgZSwgdCArIGksIGUgKyBvXSwgWyJMIiwgdCArIGksIGUgKyBuIC0gb10sIFsiQyIsIHQgKyBpLCBlICsgbiwgdCArIGksIGUgKyBuLCB0ICsgaSAtIG8sIGUgKyBuXSwgWyJMIiwgdCArIG8sIGUgKyBuXSwgWyJDIiwgdCwgZSArIG4sIHQsIGUgKyBuLCB0LCBlICsgbiAtIG9dLCBbIkwiLCB0LCBlICsgb10sIFsiQyIsIHQsIGUsIHQsIGUsIHQgKyBvLCBlXV07CiAgICAgICAgfQoKICAgICAgICB2YXIgbyA9IHQuZGVmaW5lZCwgciA9IHQuaXNOdW1iZXIsIHMgPSB0LnBpY2s7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGFyYzogZSwgY2FsbG91dDogZnVuY3Rpb24odCwgZSwgaSwgbywgcykgewogICAgICAgICAgICB2YXIgYSA9IE1hdGgubWluKHMgJiYgcy5yIHx8IDAsIGksIG8pLCBoID0gYSArIDYsIGwgPSBzICYmIHMuYW5jaG9yWDsKICAgICAgICAgICAgcyA9IHMgJiYgcy5hbmNob3JZIHx8IDA7CiAgICAgICAgICAgIHZhciBjID0gbih0LCBlLCBpLCBvLCB7IHI6IGEgfSk7CiAgICAgICAgICAgIHJldHVybiByKGwpID8gKHQgKyBsID49IGkgPyBzID4gZSArIGggJiYgcyA8IGUgKyBvIC0gaCA/IGMuc3BsaWNlKDMsIDEsIFsiTCIsIHQgKyBpLCBzIC0gNl0sIFsiTCIsIHQgKyBpICsgNiwgc10sIFsiTCIsIHQgKyBpLCBzICsgNl0sIFsiTCIsIHQgKyBpLCBlICsgbyAtIGFdKSA6IGMuc3BsaWNlKDMsIDEsIFsiTCIsIHQgKyBpLCBvIC8gMl0sIFsiTCIsIGwsIHNdLCBbIkwiLCB0ICsgaSwgbyAvIDJdLCBbIkwiLCB0ICsgaSwgZSArIG8gLSBhXSkgOiAwID49IHQgKyBsID8gcyA+IGUgKyBoICYmIHMgPCBlICsgbyAtIGggPyBjLnNwbGljZSg3LCAxLCBbIkwiLCB0LCBzICsgNl0sIFsiTCIsIHQgLSA2LCBzXSwgWyJMIiwgdCwgcyAtIDZdLCBbIkwiLCB0LCBlICsgYV0pIDogYy5zcGxpY2UoNywgMSwgWyJMIiwgdCwgbyAvIDJdLCBbIkwiLCBsLCBzXSwgWyJMIiwgdCwgbyAvIDJdLCBbIkwiLCB0LCBlICsgYV0pIDogcyAmJiBzID4gbyAmJiBsID4gdCArIGggJiYgbCA8IHQgKyBpIC0gaCA/IGMuc3BsaWNlKDUsIDEsIFsiTCIsIGwgKyA2LCBlICsgb10sIFsiTCIsIGwsIGUgKyBvICsgNl0sIFsiTCIsIGwgLSA2LCBlICsgb10sIFsiTCIsIHQgKyBhLCBlICsgb10pIDogcyAmJiAwID4gcyAmJiBsID4gdCArIGggJiYgbCA8IHQgKyBpIC0gaCAmJiBjLnNwbGljZSgxLCAxLCBbIkwiLCBsIC0gNiwgZV0sIFsiTCIsIGwsIGUgLSA2XSwgWyJMIiwgbCArIDYsIGVdLCBbIkwiLCBpIC0gYSwgZV0pLCBjKSA6IGM7CiAgICAgICAgICB9LCBjaXJjbGU6IGZ1bmN0aW9uKHQsIGksIG4sIG8pIHsKICAgICAgICAgICAgcmV0dXJuIGUodCArIG4gLyAyLCBpICsgbyAvIDIsIG4gLyAyLCBvIC8gMiwgeyBzdGFydDogLjUgKiBNYXRoLlBJLCBlbmQ6IDIuNSAqIE1hdGguUEksIG9wZW46ICExIH0pOwogICAgICAgICAgfSwgZGlhbW9uZDogZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICByZXR1cm4gW1siTSIsIHQgKyBpIC8gMiwgZV0sIFsiTCIsIHQgKyBpLCBlICsgbiAvIDJdLCBbIkwiLCB0ICsgaSAvIDIsIGUgKyBuXSwgWyJMIiwgdCwgZSArIG4gLyAyXSwgWyJaIl1dOwogICAgICAgICAgfSwgcmVjdDogaSwgcm91bmRlZFJlY3Q6IG4sIHNxdWFyZTogaSwgdHJpYW5nbGU6IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgcmV0dXJuIFtbIk0iLCB0ICsgaSAvIDIsIGVdLCBbIkwiLCB0ICsgaSwgZSArIG5dLCBbIkwiLCB0LCBlICsgbl0sIFsiWiJdXTsKICAgICAgICAgIH0sICJ0cmlhbmdsZS1kb3duIjogZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICByZXR1cm4gW1siTSIsIHQsIGVdLCBbIkwiLCB0ICsgaSwgZV0sIFsiTCIsIHQgKyBpIC8gMiwgZSArIG5dLCBbIloiXV07CiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgfSkpLCBlKGksICJDb3JlL1JlbmRlcmVyL1NWRy9UZXh0QnVpbGRlci5qcyIsIFtpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbiA9IGUuZG9jLCBvID0gZS5TVkdfTlMsIHIgPSBlLndpbiwgcyA9IGkuYXR0ciwgYSA9IGkuaXNTdHJpbmcsIGggPSBpLm9iamVjdEVhY2gsIGwgPSBpLnBpY2s7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gZSh0KSB7CiAgICAgICAgICAgIHZhciBlID0gdC5zdHlsZXM7CiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIgPSB0LnJlbmRlcmVyLCB0aGlzLnN2Z0VsZW1lbnQgPSB0LCB0aGlzLndpZHRoID0gdC50ZXh0V2lkdGgsIHRoaXMudGV4dExpbmVIZWlnaHQgPSBlICYmIGUubGluZUhlaWdodCwgdGhpcy50ZXh0T3V0bGluZSA9IGUgJiYgZS50ZXh0T3V0bGluZSwgdGhpcy5lbGxpcHNpcyA9ICEoIWUgfHwgImVsbGlwc2lzIiAhPT0gZS50ZXh0T3ZlcmZsb3cpLCB0aGlzLm5vV3JhcCA9ICEoIWUgfHwgIm5vd3JhcCIgIT09IGUud2hpdGVTcGFjZSksIHRoaXMuZm9udFNpemUgPSBlICYmIGUuZm9udFNpemU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGUucHJvdG90eXBlLmJ1aWxkU1ZHID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5zdmdFbGVtZW50LCBpID0gZS5lbGVtZW50LCBvID0gZS5yZW5kZXJlciwgciA9IGwoZS50ZXh0U3RyLCAiIikudG9TdHJpbmcoKSwgcyA9IC0xICE9PSByLmluZGV4T2YoIjwiKSwgaCA9IGkuY2hpbGROb2RlczsKICAgICAgICAgICAgbyA9IHRoaXMud2lkdGggJiYgIWUuYWRkZWQgJiYgby5ib3g7CiAgICAgICAgICAgIHZhciBjID0gLzxici4qPz4vZywgcCA9IFtyLCB0aGlzLmVsbGlwc2lzLCB0aGlzLm5vV3JhcCwgdGhpcy50ZXh0TGluZUhlaWdodCwgdGhpcy50ZXh0T3V0bGluZSwgdGhpcy5mb250U2l6ZSwgdGhpcy53aWR0aF0uam9pbigpOwogICAgICAgICAgICBpZiAocCAhPT0gZS50ZXh0Q2FjaGUpIHsKICAgICAgICAgICAgICBmb3IgKGUudGV4dENhY2hlID0gcCwgZGVsZXRlIGUuYWN0dWFsV2lkdGgsIHAgPSBoLmxlbmd0aDsgcC0tOykgaS5yZW1vdmVDaGlsZChoW3BdKTsKICAgICAgICAgICAgICBzIHx8IHRoaXMuZWxsaXBzaXMgfHwgdGhpcy53aWR0aCB8fCAtMSAhPT0gci5pbmRleE9mKCIgIikgJiYgKCF0aGlzLm5vV3JhcCB8fCBjLnRlc3QocikpID8gIiIgIT09IHIgJiYgKG8gJiYgby5hcHBlbmRDaGlsZChpKSwgciA9IG5ldyB0KHIpLCB0aGlzLm1vZGlmeVRyZWUoci5ub2RlcyksIHIuYWRkVG9ET00oZS5lbGVtZW50KSwgdGhpcy5tb2RpZnlET00oKSwgdGhpcy5lbGxpcHNpcyAmJiAtMSAhPT0gKGkudGV4dENvbnRlbnQgfHwgIiIpLmluZGV4T2YoIuKApiIpICYmIGUuYXR0cigidGl0bGUiLCB0aGlzLnVuZXNjYXBlRW50aXRpZXMoZS50ZXh0U3RyIHx8ICIiLCBbIiZsdDsiLCAiJmd0OyJdKSksIG8gJiYgby5yZW1vdmVDaGlsZChpKSkgOiBpLmFwcGVuZENoaWxkKG4uY3JlYXRlVGV4dE5vZGUodGhpcy51bmVzY2FwZUVudGl0aWVzKHIpKSksIGEodGhpcy50ZXh0T3V0bGluZSkgJiYgZS5hcHBseVRleHRPdXRsaW5lICYmIGUuYXBwbHlUZXh0T3V0bGluZSh0aGlzLnRleHRPdXRsaW5lKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgZS5wcm90b3R5cGUubW9kaWZ5RE9NID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBlID0gdGhpcywgaSA9IHRoaXMuc3ZnRWxlbWVudCwgYSA9IHMoaS5lbGVtZW50LCAieCIpOwogICAgICAgICAgICBmb3IgKGkuZmlyc3RMaW5lTWV0cmljcyA9IHZvaWQgMDsgdCA9IGkuZWxlbWVudC5maXJzdENoaWxkOykgewogICAgICAgICAgICAgIGlmICghL15bXHNcdTIwMEJdKiQvLnRlc3QodC50ZXh0Q29udGVudCB8fCAiICIpKSBicmVhazsKICAgICAgICAgICAgICBpLmVsZW1lbnQucmVtb3ZlQ2hpbGQodCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgW10uZm9yRWFjaC5jYWxsKGkuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0c3Bhbi5oaWdoY2hhcnRzLWJyIiksIChmdW5jdGlvbih0LCBuKSB7CiAgICAgICAgICAgICAgdC5uZXh0U2libGluZyAmJiB0LnByZXZpb3VzU2libGluZyAmJiAoMCA9PT0gbiAmJiAxID09PSB0LnByZXZpb3VzU2libGluZy5ub2RlVHlwZSAmJiAoaS5maXJzdExpbmVNZXRyaWNzID0gaS5yZW5kZXJlci5mb250TWV0cmljcyh2b2lkIDAsIHQucHJldmlvdXNTaWJsaW5nKSksIHModCwgewogICAgICAgICAgICAgICAgZHk6IGUuZ2V0TGluZUhlaWdodCh0Lm5leHRTaWJsaW5nKSwKICAgICAgICAgICAgICAgIHg6IGEKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgdmFyIGggPSB0aGlzLndpZHRoIHx8IDA7CiAgICAgICAgICAgIGlmIChoKSB7CiAgICAgICAgICAgICAgdmFyIGwgPSBmdW5jdGlvbih0LCByKSB7CiAgICAgICAgICAgICAgICB2YXIgbCA9IHQudGV4dENvbnRlbnQgfHwgIiIsIGMgPSBsLnJlcGxhY2UoLyhbXlxeXSktL2csICIkMS0gIikuc3BsaXQoIiAiKSwgcCA9ICFlLm5vV3JhcCAmJiAoMSA8IGMubGVuZ3RoIHx8IDEgPCBpLmVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGgpLAogICAgICAgICAgICAgICAgICBkID0gZS5nZXRMaW5lSGVpZ2h0KHIpLCB1ID0gMCwgZiA9IGkuYWN0dWFsV2lkdGg7CiAgICAgICAgICAgICAgICBpZiAoZS5lbGxpcHNpcykgbCAmJiBlLnRydW5jYXRlKHQsIGwsIHZvaWQgMCwgMCwgTWF0aC5tYXgoMCwgaCAtIHBhcnNlSW50KGUuZm9udFNpemUgfHwgMTIsIDEwKSksIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiB0LnN1YnN0cmluZygwLCBlKSArICLigKYiOwogICAgICAgICAgICAgICAgfSkpOyBlbHNlIGlmIChwKSB7CiAgICAgICAgICAgICAgICAgIGZvciAobCA9IFtdLCBwID0gW107IHIuZmlyc3RDaGlsZCAmJiByLmZpcnN0Q2hpbGQgIT09IHQ7KSBwLnB1c2goci5maXJzdENoaWxkKSwgci5yZW1vdmVDaGlsZChyLmZpcnN0Q2hpbGQpOwogICAgICAgICAgICAgICAgICBmb3IgKDsgYy5sZW5ndGg7KSBjLmxlbmd0aCAmJiAhZS5ub1dyYXAgJiYgMCA8IHUgJiYgKGwucHVzaCh0LnRleHRDb250ZW50IHx8ICIiKSwgdC50ZXh0Q29udGVudCA9IGMuam9pbigiICIpLnJlcGxhY2UoLy0gL2csICItIikpLCBlLnRydW5jYXRlKHQsIHZvaWQgMCwgYywgMCA9PT0gdSAmJiBmIHx8IDAsIGgsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGMuc2xpY2UoMCwgZSkuam9pbigiICIpLnJlcGxhY2UoLy0gL2csICItIik7CiAgICAgICAgICAgICAgICAgIH0pKSwgZiA9IGkuYWN0dWFsV2lkdGgsIHUrKzsKICAgICAgICAgICAgICAgICAgcC5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgci5pbnNlcnRCZWZvcmUoZSwgdCk7CiAgICAgICAgICAgICAgICAgIH0pKSwgbC5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgci5pbnNlcnRCZWZvcmUobi5jcmVhdGVUZXh0Tm9kZShlKSwgdCksIGUgPSBuLmNyZWF0ZUVsZW1lbnROUyhvLCAidHNwYW4iKSwgZS50ZXh0Q29udGVudCA9ICLigIsiLCBzKGUsIHsgZHk6IGQsIHg6IGEgfSksIHIuaW5zZXJ0QmVmb3JlKGUsIHQpOwogICAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwgYyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIFtdLnNsaWNlLmNhbGwodC5jaGlsZE5vZGVzKS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgIGUubm9kZVR5cGUgPT09IHIuTm9kZS5URVhUX05PREUgPyBsKGUsIHQpIDogKC0xICE9PSBlLmNsYXNzTmFtZS5iYXNlVmFsLmluZGV4T2YoImhpZ2hjaGFydHMtYnIiKSAmJiAoaS5hY3R1YWxXaWR0aCA9IDApLCBjKGUpKTsKICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIGMoaS5lbGVtZW50KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0TGluZUhlaWdodCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGU7CiAgICAgICAgICAgIHJldHVybiB0ID0gdC5ub2RlVHlwZSA9PT0gci5Ob2RlLlRFWFRfTk9ERSA/IHQucGFyZW50RWxlbWVudCA6IHQsIHRoaXMucmVuZGVyZXIuc3R5bGVkTW9kZSB8fCAoZSA9IHQgJiYgLyhweHxlbSkkLy50ZXN0KHQuc3R5bGUuZm9udFNpemUpID8gdC5zdHlsZS5mb250U2l6ZSA6IHRoaXMuZm9udFNpemUgfHwgdGhpcy5yZW5kZXJlci5zdHlsZS5mb250U2l6ZSB8fCAxMiksIHRoaXMudGV4dExpbmVIZWlnaHQgPyBwYXJzZUludCh0aGlzLnRleHRMaW5lSGVpZ2h0LnRvU3RyaW5nKCksIDEwKSA6IHRoaXMucmVuZGVyZXIuZm9udE1ldHJpY3MoZSwgdCB8fCB0aGlzLnN2Z0VsZW1lbnQuZWxlbWVudCkuaDsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLm1vZGlmeVRyZWUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IGZ1bmN0aW9uKG4sIG8pIHsKICAgICAgICAgICAgICB2YXIgciA9IG4uYXR0cmlidXRlczsKICAgICAgICAgICAgICByID0gdm9pZCAwID09PSByID8ge30gOiByOwogICAgICAgICAgICAgIHZhciBzID0gbi5jaGlsZHJlbiwgaCA9IG4udGFnTmFtZSwgbCA9IGUucmVuZGVyZXIuc3R5bGVkTW9kZTsKICAgICAgICAgICAgICAiYiIgPT09IGggfHwgInN0cm9uZyIgPT09IGggPyBsID8gclsiY2xhc3MiXSA9ICJoaWdoY2hhcnRzLXN0cm9uZyIgOiByLnN0eWxlID0gImZvbnQtd2VpZ2h0OmJvbGQ7IiArIChyLnN0eWxlIHx8ICIiKSA6ICJpIiAhPT0gaCAmJiAiZW0iICE9PSBoIHx8IChsID8gclsiY2xhc3MiXSA9ICJoaWdoY2hhcnRzLWVtcGhhc2l6ZWQiIDogci5zdHlsZSA9ICJmb250LXN0eWxlOml0YWxpYzsiICsgKHIuc3R5bGUgfHwgIiIpKSwgYShyLnN0eWxlKSAmJiAoci5zdHlsZSA9IHIuc3R5bGUucmVwbGFjZSgvKDt8IHxeKWNvbG9yKFsgOl0pLywgIiQxZmlsbCQyIikpLCAiYnIiID09PSBoID8gKHJbImNsYXNzIl0gPSAiaGlnaGNoYXJ0cy1iciIsIG4udGV4dENvbnRlbnQgPSAi4oCLIiwgKG8gPSB0W28gKyAxXSkgJiYgby50ZXh0Q29udGVudCAmJiAoby50ZXh0Q29udGVudCA9IG8udGV4dENvbnRlbnQucmVwbGFjZSgvXiArL2dtLCAiIikpKSA6ICJhIiA9PT0gaCAmJiBzICYmIHMuc29tZSgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuICIjdGV4dCIgPT09IHQudGFnTmFtZTsKICAgICAgICAgICAgICB9KSkgJiYgKG4uY2hpbGRyZW4gPSBbewogICAgICAgICAgICAgICAgY2hpbGRyZW46IHMsCiAgICAgICAgICAgICAgICB0YWdOYW1lOiAidHNwYW4iCiAgICAgICAgICAgICAgfV0pLCAiI3RleHQiICE9PSBoICYmICJhIiAhPT0gaCAmJiAobi50YWdOYW1lID0gInRzcGFuIiksIG4uYXR0cmlidXRlcyA9IHIsIHMgJiYgcy5maWx0ZXIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAiI3RleHQiICE9PSB0LnRhZ05hbWU7CiAgICAgICAgICAgICAgfSkpLmZvckVhY2goaSk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHQuZm9yRWFjaChpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnRydW5jYXRlID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgcikgewogICAgICAgICAgICB2YXIgcywgYSA9IHRoaXMuc3ZnRWxlbWVudCwgaCA9IGEucmVuZGVyZXIsIGwgPSBhLnJvdGF0aW9uLCBjID0gW10sIHAgPSBpID8gMSA6IDAsIGQgPSAoZSB8fCBpIHx8ICIiKS5sZW5ndGgsIHUgPSBkLCBmID0gZnVuY3Rpb24obywgcykgewogICAgICAgICAgICAgIHMgPSBzIHx8IG87CiAgICAgICAgICAgICAgdmFyIGwgPSB0LnBhcmVudE5vZGU7CiAgICAgICAgICAgICAgaWYgKGwgJiYgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBjW3NdKSBpZiAobC5nZXRTdWJTdHJpbmdMZW5ndGgpIHRyeSB7CiAgICAgICAgICAgICAgICBjW3NdID0gbiArIGwuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsIGkgPyBzICsgMSA6IHMpOwogICAgICAgICAgICAgIH0gY2F0Y2ggKHApIHsKICAgICAgICAgICAgICB9IGVsc2UgaC5nZXRTcGFuV2lkdGggJiYgKHQudGV4dENvbnRlbnQgPSByKGUgfHwgaSwgbyksIGNbc10gPSBuICsgaC5nZXRTcGFuV2lkdGgoYSwgdCkpOwogICAgICAgICAgICAgIHJldHVybiBjW3NdOwogICAgICAgICAgICB9OwogICAgICAgICAgICBhLnJvdGF0aW9uID0gMDsKICAgICAgICAgICAgdmFyIGcgPSBmKHQudGV4dENvbnRlbnQubGVuZ3RoKTsKICAgICAgICAgICAgaWYgKG4gKyBnID4gbykgewogICAgICAgICAgICAgIGZvciAoOyBwIDw9IGQ7KSB1ID0gTWF0aC5jZWlsKChwICsgZCkgLyAyKSwgaSAmJiAocyA9IHIoaSwgdSkpLCBnID0gZih1LCBzICYmIHMubGVuZ3RoIC0gMSksIHAgPT09IGQgPyBwID0gZCArIDEgOiBnID4gbyA/IGQgPSB1IC0gMSA6IHAgPSB1OwogICAgICAgICAgICAgIDAgPT09IGQgPyB0LnRleHRDb250ZW50ID0gIiIgOiBlICYmIGQgPT09IGUubGVuZ3RoIC0gMSB8fCAodC50ZXh0Q29udGVudCA9IHMgfHwgcihlIHx8IGksIHUpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpICYmIGkuc3BsaWNlKDAsIHUpLCBhLmFjdHVhbFdpZHRoID0gZywgYS5yb3RhdGlvbiA9IGw7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS51bmVzY2FwZUVudGl0aWVzID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICByZXR1cm4gaCh0aGlzLnJlbmRlcmVyLmVzY2FwZXMsIChmdW5jdGlvbihpLCBuKSB7CiAgICAgICAgICAgICAgZSAmJiAtMSAhPT0gZS5pbmRleE9mKGkpIHx8ICh0ID0gdC50b1N0cmluZygpLnJlcGxhY2UobmV3IFJlZ0V4cChpLCAiZyIpLCBuKSk7CiAgICAgICAgICAgIH0pKSwgdDsKICAgICAgICAgIH0sIGU7CiAgICAgICAgfSgpOwogICAgICB9KSksIGUoaSwgIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR1JlbmRlcmVyLmpzIiwgW2lbIkNvcmUvUmVuZGVyZXIvSFRNTC9BU1QuanMiXSwgaVsiQ29yZS9Db2xvci9Db2xvci5qcyJdLCBpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9SZW5kZXJlclJlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0VsZW1lbnQuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHTGFiZWwuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9TVkcvU3ltYm9scy5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9UZXh0QnVpbGRlci5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIsIHMsIGEsIGgpIHsKICAgICAgICB2YXIgbCwgYyA9IGkuY2hhcnRzLCBwID0gaS5kZWcycmFkLCBkID0gaS5kb2MsIHUgPSBpLmlzRmlyZWZveCwgZiA9IGkuaXNNUywgZyA9IGkuaXNXZWJLaXQsIG0gPSBpLm5vb3AsIHkgPSBpLlNWR19OUywgdiA9IGkuc3ltYm9sU2l6ZXMsIHggPSBpLndpbiwKICAgICAgICAgIGIgPSBoLmFkZEV2ZW50LCBfID0gaC5hdHRyLCB3ID0gaC5jcmVhdGVFbGVtZW50LCBrID0gaC5jc3MsIFMgPSBoLmRlZmluZWQsIEMgPSBoLmRlc3Ryb3lPYmplY3RQcm9wZXJ0aWVzLCBNID0gaC5leHRlbmQsIEEgPSBoLmlzQXJyYXksIFAgPSBoLmlzTnVtYmVyLAogICAgICAgICAgTyA9IGguaXNPYmplY3QsIFQgPSBoLmlzU3RyaW5nLCBFID0gaC5tZXJnZSwgTCA9IGgucGljaywgaiA9IGgucEludCwgRCA9IGgudW5pcXVlS2V5OwogICAgICAgIHJldHVybiBpID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiBpKHQsIGUsIGksIG4sIG8sIHIsIHMpIHsKICAgICAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMudXJsID0gdGhpcy5zdHlsZSA9IHRoaXMuaXNTVkcgPSB0aGlzLmltZ0NvdW50ID0gdGhpcy5oZWlnaHQgPSB0aGlzLmdyYWRpZW50cyA9IHRoaXMuZ2xvYmFsQW5pbWF0aW9uID0gdGhpcy5kZWZzID0gdGhpcy5jaGFydEluZGV4ID0gdGhpcy5jYWNoZUtleXMgPSB0aGlzLmNhY2hlID0gdGhpcy5ib3hXcmFwcGVyID0gdGhpcy5ib3ggPSB0aGlzLmFsaWduZWRPYmplY3RzID0gdm9pZCAwLCB0aGlzLmluaXQodCwgZSwgaSwgbiwgbywgciwgcyk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGkucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzKSB7CiAgICAgICAgICAgIHZhciBhLCBoID0gdGhpcy5jcmVhdGVFbGVtZW50KCJzdmciKS5hdHRyKHsgdmVyc2lvbjogIjEuMSIsIGNsYXNzOiAiaGlnaGNoYXJ0cy1yb290IiB9KSwgbCA9IGguZWxlbWVudDsKICAgICAgICAgICAgcyB8fCBoLmNzcyh0aGlzLmdldFN0eWxlKG4pKSwgdC5hcHBlbmRDaGlsZChsKSwgXyh0LCAiZGlyIiwgImx0ciIpLCAtMSA9PT0gdC5pbm5lckhUTUwuaW5kZXhPZigieG1sbnMiKSAmJiBfKGwsICJ4bWxucyIsIHRoaXMuU1ZHX05TKSwgdGhpcy5pc1NWRyA9ICEwLCB0aGlzLmJveCA9IGwsIHRoaXMuYm94V3JhcHBlciA9IGgsIHRoaXMuYWxpZ25lZE9iamVjdHMgPSBbXSwgdGhpcy51cmwgPSB0aGlzLmdldFJlZmVyZW5jZVVSTCgpLCB0aGlzLmNyZWF0ZUVsZW1lbnQoImRlc2MiKS5hZGQoKS5lbGVtZW50LmFwcGVuZENoaWxkKGQuY3JlYXRlVGV4dE5vZGUoIkNyZWF0ZWQgd2l0aCBIaWdoY2hhcnRzIDkuMy4zIikpLCB0aGlzLmRlZnMgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoImRlZnMiKS5hZGQoKSwgdGhpcy5hbGxvd0hUTUwgPSByLCB0aGlzLmZvckV4cG9ydCA9IG8sIHRoaXMuc3R5bGVkTW9kZSA9IHMsIHRoaXMuZ3JhZGllbnRzID0ge30sIHRoaXMuY2FjaGUgPSB7fSwgdGhpcy5jYWNoZUtleXMgPSBbXSwgdGhpcy5pbWdDb3VudCA9IDAsIHRoaXMuc2V0U2l6ZShlLCBpLCAhMSksIHUgJiYgdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QgJiYgKGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBrKHQsIHsgbGVmdDogMCwgdG9wOiAwIH0pLCBhID0gdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgayh0LCB7IGxlZnQ6IE1hdGguY2VpbChhLmxlZnQpIC0gYS5sZWZ0ICsgInB4IiwgdG9wOiBNYXRoLmNlaWwoYS50b3ApIC0gYS50b3AgKyAicHgiIH0pOwogICAgICAgICAgICB9LCBlKCksIHRoaXMudW5TdWJQaXhlbEZpeCA9IGIoeCwgInJlc2l6ZSIsIGUpKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmRlZmluaXRpb24gPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgdChbZV0pLmFkZFRvRE9NKHRoaXMuZGVmcy5lbGVtZW50KTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmdldFJlZmVyZW5jZVVSTCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAoKHUgfHwgZykgJiYgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYmFzZSIpLmxlbmd0aCkgewogICAgICAgICAgICAgIGlmICghUyhsKSkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBEKCk7CiAgICAgICAgICAgICAgICBlID0gbmV3IHQoW3sKICAgICAgICAgICAgICAgICAgdGFnTmFtZTogInN2ZyIsCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgd2lkdGg6IDgsIGhlaWdodDogOCB9LAogICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW3sKICAgICAgICAgICAgICAgICAgICB0YWdOYW1lOiAiZGVmcyIsCiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7IHRhZ05hbWU6ICJjbGlwUGF0aCIsIGF0dHJpYnV0ZXM6IHsgaWQ6IGUgfSwgY2hpbGRyZW46IFt7IHRhZ05hbWU6ICJyZWN0IiwgYXR0cmlidXRlczogeyB3aWR0aDogNCwgaGVpZ2h0OiA0IH0gfV0gfV0KICAgICAgICAgICAgICAgICAgfSwgeyB0YWdOYW1lOiAicmVjdCIsIGF0dHJpYnV0ZXM6IHsgaWQ6ICJoaXRtZSIsIHdpZHRoOiA4LCBoZWlnaHQ6IDgsICJjbGlwLXBhdGgiOiAidXJsKCMiICsgZSArICIpIiwgZmlsbDogInJnYmEoMCwwLDAsMC4wMDEpIiB9IH1dCiAgICAgICAgICAgICAgICB9XSkuYWRkVG9ET00oZC5ib2R5KSwgayhlLCB7IHBvc2l0aW9uOiAiZml4ZWQiLCB0b3A6IDAsIGxlZnQ6IDAsIHpJbmRleDogOWU1IH0pOwogICAgICAgICAgICAgICAgdmFyIGkgPSBkLmVsZW1lbnRGcm9tUG9pbnQoNiwgNik7CiAgICAgICAgICAgICAgICBsID0gImhpdG1lIiA9PT0gKGkgJiYgaS5pZCksIGQuYm9keS5yZW1vdmVDaGlsZChlKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGwpIHJldHVybiB4LmxvY2F0aW9uLmhyZWYuc3BsaXQoIiMiKVswXS5yZXBsYWNlKC88W14+XSo+L2csICIiKS5yZXBsYWNlKC8oW1woJ1wpXSkvZywgIlxcJDEiKS5yZXBsYWNlKC8gL2csICIlMjAiKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5nZXRTdHlsZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3R5bGUgPSBNKHsgZm9udEZhbWlseTogIlwiTHVjaWRhIEdyYW5kZVwiLCBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIsIGZvbnRTaXplOiAiMTJweCIgfSwgdCk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5zZXRTdHlsZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5ib3hXcmFwcGVyLmNzcyh0aGlzLmdldFN0eWxlKHQpKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmlzSGlkZGVuID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiAhdGhpcy5ib3hXcmFwcGVyLmdldEJCb3goKS53aWR0aDsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmRlZnM7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmJveCA9IG51bGwsIHRoaXMuYm94V3JhcHBlciA9IHRoaXMuYm94V3JhcHBlci5kZXN0cm95KCksIEModGhpcy5ncmFkaWVudHMgfHwge30pLCB0aGlzLmdyYWRpZW50cyA9IG51bGwsIHQgJiYgKHRoaXMuZGVmcyA9IHQuZGVzdHJveSgpKSwgdGhpcy51blN1YlBpeGVsRml4ICYmIHRoaXMudW5TdWJQaXhlbEZpeCgpLCB0aGlzLmFsaWduZWRPYmplY3RzID0gbnVsbDsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gbmV3IHRoaXMuRWxlbWVudDsKICAgICAgICAgICAgcmV0dXJuIGUuaW5pdCh0aGlzLCB0KSwgZTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmdldFJhZGlhbEF0dHIgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHJldHVybiB7IGN4OiB0WzBdIC0gdFsyXSAvIDIgKyAoZS5jeCB8fCAwKSAqIHRbMl0sIGN5OiB0WzFdIC0gdFsyXSAvIDIgKyAoZS5jeSB8fCAwKSAqIHRbMl0sIHI6IChlLnIgfHwgMCkgKiB0WzJdIH07CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5idWlsZFRleHQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIG5ldyBhKHQpLmJ1aWxkU1ZHKCk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5nZXRDb250cmFzdCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBlLnBhcnNlKHQpLnJnYmEsIHRbMF0gKj0gMSwgdFsxXSAqPSAxLjIsIHRbMl0gKj0gLjUsIDQ1OSA8IHRbMF0gKyB0WzFdICsgdFsyXSA/ICIjMDAwMDAwIiA6ICIjRkZGRkZGIjsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmJ1dHRvbiA9IGZ1bmN0aW9uKGUsIGksIG4sIG8sIHIsIHMsIGEsIGgsIGwsIGMpIHsKICAgICAgICAgICAgdmFyIHAgPSB0aGlzLmxhYmVsKGUsIGksIG4sIGwsIHZvaWQgMCwgdm9pZCAwLCBjLCB2b2lkIDAsICJidXR0b24iKSwgZCA9IHRoaXMuc3R5bGVkTW9kZSwgdSA9IDAsIGcgPSByID8gRShyKSA6IHt9OwogICAgICAgICAgICBpZiAoZSA9IGcgJiYgZy5zdHlsZSB8fCB7fSwgZyA9IHQuZmlsdGVyVXNlckF0dHJpYnV0ZXMoZyksIHAuYXR0cihFKHsgcGFkZGluZzogOCwgcjogMiB9LCBnKSksICFkKSB7CiAgICAgICAgICAgICAgZyA9IEUoewogICAgICAgICAgICAgICAgZmlsbDogIiNmN2Y3ZjciLAogICAgICAgICAgICAgICAgc3Ryb2tlOiAiI2NjY2NjYyIsCiAgICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogMSwKICAgICAgICAgICAgICAgIHN0eWxlOiB7IGNvbG9yOiAiIzMzMzMzMyIsIGN1cnNvcjogInBvaW50ZXIiLCBmb250V2VpZ2h0OiAibm9ybWFsIiB9CiAgICAgICAgICAgICAgfSwgeyBzdHlsZTogZSB9LCBnKTsKICAgICAgICAgICAgICB2YXIgbSA9IGcuc3R5bGU7CiAgICAgICAgICAgICAgZGVsZXRlIGcuc3R5bGUsIHMgPSBFKGcsIHsgZmlsbDogIiNlNmU2ZTYiIH0sIHQuZmlsdGVyVXNlckF0dHJpYnV0ZXMocyB8fCB7fSkpOwogICAgICAgICAgICAgIHZhciB5ID0gcy5zdHlsZTsKICAgICAgICAgICAgICBkZWxldGUgcy5zdHlsZSwgYSA9IEUoZywgeyBmaWxsOiAiI2U2ZWJmNSIsIHN0eWxlOiB7IGNvbG9yOiAiIzAwMDAwMCIsIGZvbnRXZWlnaHQ6ICJib2xkIiB9IH0sIHQuZmlsdGVyVXNlckF0dHJpYnV0ZXMoYSB8fCB7fSkpOwogICAgICAgICAgICAgIHZhciB2ID0gYS5zdHlsZTsKICAgICAgICAgICAgICBkZWxldGUgYS5zdHlsZSwgaCA9IEUoZywgeyBzdHlsZTogeyBjb2xvcjogIiNjY2NjY2MiIH0gfSwgdC5maWx0ZXJVc2VyQXR0cmlidXRlcyhoIHx8IHt9KSk7CiAgICAgICAgICAgICAgdmFyIHggPSBoLnN0eWxlOwogICAgICAgICAgICAgIGRlbGV0ZSBoLnN0eWxlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBiKHAuZWxlbWVudCwgZiA/ICJtb3VzZW92ZXIiIDogIm1vdXNlZW50ZXIiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgMyAhPT0gdSAmJiBwLnNldFN0YXRlKDEpOwogICAgICAgICAgICB9KSksIGIocC5lbGVtZW50LCBmID8gIm1vdXNlb3V0IiA6ICJtb3VzZWxlYXZlIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIDMgIT09IHUgJiYgcC5zZXRTdGF0ZSh1KTsKICAgICAgICAgICAgfSkpLCBwLnNldFN0YXRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIDEgIT09IHQgJiYgKHAuc3RhdGUgPSB1ID0gdCksIHAucmVtb3ZlQ2xhc3MoL2hpZ2hjaGFydHMtYnV0dG9uLShub3JtYWx8aG92ZXJ8cHJlc3NlZHxkaXNhYmxlZCkvKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1idXR0b24tIiArIFsibm9ybWFsIiwgImhvdmVyIiwgInByZXNzZWQiLCAiZGlzYWJsZWQiXVt0IHx8IDBdKSwgZCB8fCBwLmF0dHIoW2csIHMsIGEsIGhdW3QgfHwgMF0pLmNzcyhbbSwgeSwgdiwgeF1bdCB8fCAwXSk7CiAgICAgICAgICAgIH0sIGQgfHwgcC5hdHRyKGcpLmNzcyhNKHsgY3Vyc29yOiAiZGVmYXVsdCIgfSwgbSkpLCBwLm9uKCJ0b3VjaHN0YXJ0IiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgfSkpLm9uKCJjbGljayIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgMyAhPT0gdSAmJiBvLmNhbGwocCwgdCk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmNyaXNwTGluZSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdm9pZCAwID09PSBpICYmIChpID0gInJvdW5kIik7CiAgICAgICAgICAgIHZhciBuID0gdFswXSwgbyA9IHRbMV07CiAgICAgICAgICAgIHJldHVybiBTKG5bMV0pICYmIG5bMV0gPT09IG9bMV0gJiYgKG5bMV0gPSBvWzFdID0gTWF0aFtpXShuWzFdKSAtIGUgJSAyIC8gMiksIFMoblsyXSkgJiYgblsyXSA9PT0gb1syXSAmJiAoblsyXSA9IG9bMl0gPSBNYXRoW2ldKG5bMl0pICsgZSAlIDIgLyAyKSwgdDsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLnBhdGggPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5zdHlsZWRNb2RlID8ge30gOiB7IGZpbGw6ICJub25lIiB9OwogICAgICAgICAgICByZXR1cm4gQSh0KSA/IGUuZCA9IHQgOiBPKHQpICYmIE0oZSwgdCksIHRoaXMuY3JlYXRlRWxlbWVudCgicGF0aCIpLmF0dHIoZSk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5jaXJjbGUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gTyh0KSA/IHQgOiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHQgPyB7fSA6IHsKICAgICAgICAgICAgICB4OiB0LAogICAgICAgICAgICAgIHk6IGUsCiAgICAgICAgICAgICAgcjogaQogICAgICAgICAgICB9LCBlID0gdGhpcy5jcmVhdGVFbGVtZW50KCJjaXJjbGUiKSwgZS54U2V0dGVyID0gZS55U2V0dGVyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgIGkuc2V0QXR0cmlidXRlKCJjIiArIGUsIHQpOwogICAgICAgICAgICB9LCBlLmF0dHIodCk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5hcmMgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICAgIHJldHVybiBPKHQpID8gKG4gPSB0LCBlID0gbi55LCBpID0gbi5yLCB0ID0gbi54KSA6IG4gPSB7IGlubmVyUjogbiwgc3RhcnQ6IG8sIGVuZDogciB9LCB0ID0gdGhpcy5zeW1ib2woImFyYyIsIHQsIGUsIGksIGksIG4pLCB0LnIgPSBpLCB0OwogICAgICAgICAgfSwgaS5wcm90b3R5cGUucmVjdCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIpIHsKICAgICAgICAgICAgbyA9IE8odCkgPyB0LnIgOiBvOwogICAgICAgICAgICB2YXIgcyA9IHRoaXMuY3JlYXRlRWxlbWVudCgicmVjdCIpOwogICAgICAgICAgICByZXR1cm4gdCA9IE8odCkgPyB0IDogInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0ID8ge30gOiB7CiAgICAgICAgICAgICAgeDogdCwKICAgICAgICAgICAgICB5OiBlLAogICAgICAgICAgICAgIHdpZHRoOiBNYXRoLm1heChpLCAwKSwKICAgICAgICAgICAgICBoZWlnaHQ6IE1hdGgubWF4KG4sIDApCiAgICAgICAgICAgIH0sIHRoaXMuc3R5bGVkTW9kZSB8fCAoInVuZGVmaW5lZCIgIT09IHR5cGVvZiByICYmICh0WyJzdHJva2Utd2lkdGgiXSA9IHIsIHQgPSBzLmNyaXNwKHQpKSwgdC5maWxsID0gIm5vbmUiKSwgbyAmJiAodC5yID0gbyksIHMuclNldHRlciA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICBzLnIgPSB0LCBfKGksIHsgcng6IHQsIHJ5OiB0IH0pOwogICAgICAgICAgICB9LCBzLnJHZXR0ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICByZXR1cm4gcy5yIHx8IDA7CiAgICAgICAgICAgIH0sIHMuYXR0cih0KTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLnNldFNpemUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHRoaXMud2lkdGggPSB0LCB0aGlzLmhlaWdodCA9IGUsIHRoaXMuYm94V3JhcHBlci5hbmltYXRlKHsgd2lkdGg6IHQsIGhlaWdodDogZSB9LCB7CiAgICAgICAgICAgICAgc3RlcDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0aGlzLmF0dHIoeyB2aWV3Qm94OiAiMCAwICIgKyB0aGlzLmF0dHIoIndpZHRoIikgKyAiICIgKyB0aGlzLmF0dHIoImhlaWdodCIpIH0pOwogICAgICAgICAgICAgIH0sIGR1cmF0aW9uOiBMKGksICEwKSA/IHZvaWQgMCA6IDAKICAgICAgICAgICAgfSksIHRoaXMuYWxpZ25FbGVtZW50cygpOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuZyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoImciKTsKICAgICAgICAgICAgcmV0dXJuIHQgPyBlLmF0dHIoeyBjbGFzczogImhpZ2hjaGFydHMtIiArIHQgfSkgOiBlOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuaW1hZ2UgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICAgIHZhciBzID0geyBwcmVzZXJ2ZUFzcGVjdFJhdGlvOiAibm9uZSIgfSwgYSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0LnNldEF0dHJpYnV0ZU5TID8gdC5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsICJocmVmIiwgZSkgOiB0LnNldEF0dHJpYnV0ZSgiaGMtc3ZnLWhyZWYiLCBlKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgUChlKSAmJiAocy54ID0gZSksIFAoaSkgJiYgKHMueSA9IGkpLCBQKG4pICYmIChzLndpZHRoID0gbiksIFAobykgJiYgKHMuaGVpZ2h0ID0gbyk7CiAgICAgICAgICAgIHZhciBoID0gdGhpcy5jcmVhdGVFbGVtZW50KCJpbWFnZSIpLmF0dHIocyk7CiAgICAgICAgICAgIHJldHVybiBlID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIGEoaC5lbGVtZW50LCB0KSwgci5jYWxsKGgsIGUpOwogICAgICAgICAgICB9LCByID8gKGEoaC5lbGVtZW50LCAiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iKSwgaSA9IG5ldyB4LkltYWdlLCBiKGksICJsb2FkIiwgZSksIGkuc3JjID0gdCwgaS5jb21wbGV0ZSAmJiBlKHt9KSkgOiBhKGguZWxlbWVudCwgdCksIGg7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5zeW1ib2wgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICAgIHZhciBzLCBhID0gdGhpcywgaCA9IC9edXJsXCgoLio/KVwpJC8sIGwgPSBoLnRlc3QodCksIHAgPSAhbCAmJiAodGhpcy5zeW1ib2xzW3RdID8gdCA6ICJjaXJjbGUiKSwgdSA9IHAgJiYgdGhpcy5zeW1ib2xzW3BdOwogICAgICAgICAgICBpZiAodSkgewogICAgICAgICAgICAgICJudW1iZXIiID09PSB0eXBlb2YgZSAmJiAocyA9IHUuY2FsbCh0aGlzLnN5bWJvbHMsIE1hdGgucm91bmQoZSB8fCAwKSwgTWF0aC5yb3VuZChpIHx8IDApLCBuIHx8IDAsIG8gfHwgMCwgcikpOwogICAgICAgICAgICAgIHZhciBmID0gdGhpcy5wYXRoKHMpOwogICAgICAgICAgICAgIGEuc3R5bGVkTW9kZSB8fCBmLmF0dHIoImZpbGwiLCAibm9uZSIpLCBNKGYsIHsgc3ltYm9sTmFtZTogcCB8fCB2b2lkIDAsIHg6IGUsIHk6IGksIHdpZHRoOiBuLCBoZWlnaHQ6IG8gfSksIHIgJiYgTShmLCByKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChsKSB7CiAgICAgICAgICAgICAgdmFyIGcgPSB0Lm1hdGNoKGgpWzFdLCBtID0gZiA9IHRoaXMuaW1hZ2UoZyk7CiAgICAgICAgICAgICAgbS5pbWd3aWR0aCA9IEwodltnXSAmJiB2W2ddLndpZHRoLCByICYmIHIud2lkdGgpLCBtLmltZ2hlaWdodCA9IEwodltnXSAmJiB2W2ddLmhlaWdodCwgciAmJiByLmhlaWdodCk7CiAgICAgICAgICAgICAgdmFyIHkgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdC5hdHRyKHsgd2lkdGg6IHQud2lkdGgsIGhlaWdodDogdC5oZWlnaHQgfSk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBbIndpZHRoIiwgImhlaWdodCJdLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIG1bdCArICJTZXR0ZXIiXSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzWyJpbWciICsgZV07CiAgICAgICAgICAgICAgICAgIHRoaXNbZV0gPSB0LCBTKGkpICYmIChyICYmICJ3aXRoaW4iID09PSByLmJhY2tncm91bmRTaXplICYmIHRoaXMud2lkdGggJiYgdGhpcy5oZWlnaHQgJiYgKGkgPSBNYXRoLnJvdW5kKGkgKiBNYXRoLm1pbih0aGlzLndpZHRoIC8gdGhpcy5pbWd3aWR0aCwgdGhpcy5oZWlnaHQgLyB0aGlzLmltZ2hlaWdodCkpKSwgdGhpcy5lbGVtZW50ICYmIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoZSwgaSksIHRoaXMuYWxpZ25CeVRyYW5zbGF0ZSB8fCAodCA9ICgodGhpc1tlXSB8fCAwKSAtIGkpIC8gMiwgdGhpcy5hdHRyKCJ3aWR0aCIgPT09IGUgPyB7IHRyYW5zbGF0ZVg6IHQgfSA6IHsgdHJhbnNsYXRlWTogdCB9KSkpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9KSksIFMoZSkgJiYgbS5hdHRyKHsgeDogZSwgeTogaSB9KSwgbS5pc0ltZyA9ICEwLCBTKG0uaW1nd2lkdGgpICYmIFMobS5pbWdoZWlnaHQpID8geShtKSA6IChtLmF0dHIoewogICAgICAgICAgICAgICAgd2lkdGg6IDAsCiAgICAgICAgICAgICAgICBoZWlnaHQ6IDAKICAgICAgICAgICAgICB9KSwgdygiaW1nIiwgewogICAgICAgICAgICAgICAgb25sb2FkOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgdmFyIHQgPSBjW2EuY2hhcnRJbmRleF07CiAgICAgICAgICAgICAgICAgIDAgPT09IHRoaXMud2lkdGggJiYgKGsodGhpcywgeyBwb3NpdGlvbjogImFic29sdXRlIiwgdG9wOiAiLTk5OWVtIiB9KSwgZC5ib2R5LmFwcGVuZENoaWxkKHRoaXMpKSwgdltnXSA9IHsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0CiAgICAgICAgICAgICAgICAgIH0sIG0uaW1nd2lkdGggPSB0aGlzLndpZHRoLCBtLmltZ2hlaWdodCA9IHRoaXMuaGVpZ2h0LCBtLmVsZW1lbnQgJiYgeShtKSwgdGhpcy5wYXJlbnROb2RlICYmIHRoaXMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzKSwgYS5pbWdDb3VudC0tLCBhLmltZ0NvdW50IHx8ICF0IHx8IHQuaGFzTG9hZGVkIHx8IHQub25sb2FkKCk7CiAgICAgICAgICAgICAgICB9LCBzcmM6IGcKICAgICAgICAgICAgICB9KSwgdGhpcy5pbWdDb3VudCsrKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZjsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmNsaXBSZWN0ID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICB2YXIgbyA9IEQoKSArICItIiwgciA9IHRoaXMuY3JlYXRlRWxlbWVudCgiY2xpcFBhdGgiKS5hdHRyKHsgaWQ6IG8gfSkuYWRkKHRoaXMuZGVmcyk7CiAgICAgICAgICAgIHJldHVybiB0ID0gdGhpcy5yZWN0KHQsIGUsIGksIG4sIDApLmFkZChyKSwgdC5pZCA9IG8sIHQuY2xpcFBhdGggPSByLCB0LmNvdW50ID0gMCwgdDsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLnRleHQgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIHZhciBvID0ge307CiAgICAgICAgICAgIHJldHVybiAhbiB8fCAhdGhpcy5hbGxvd0hUTUwgJiYgdGhpcy5mb3JFeHBvcnQgPyAoby54ID0gTWF0aC5yb3VuZChlIHx8IDApLCBpICYmIChvLnkgPSBNYXRoLnJvdW5kKGkpKSwgUyh0KSAmJiAoby50ZXh0ID0gdCksIHQgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoInRleHQiKS5hdHRyKG8pLCAoIW4gfHwgdGhpcy5mb3JFeHBvcnQgJiYgIXRoaXMuYWxsb3dIVE1MKSAmJiAodC54U2V0dGVyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgIGZvciAodmFyIG4sIG8gPSBpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0c3BhbiIpLCByID0gaS5nZXRBdHRyaWJ1dGUoZSksIHMgPSAwOyBzIDwgby5sZW5ndGg7IHMrKykgbiA9IG9bc10sIG4uZ2V0QXR0cmlidXRlKGUpID09PSByICYmIG4uc2V0QXR0cmlidXRlKGUsIHQpOwogICAgICAgICAgICAgIGkuc2V0QXR0cmlidXRlKGUsIHQpOwogICAgICAgICAgICB9KSwgdCkgOiB0aGlzLmh0bWwodCwgZSwgaSk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5mb250TWV0cmljcyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSAhdGhpcy5zdHlsZWRNb2RlICYmIC9weC8udGVzdCh0KSB8fCAheC5nZXRDb21wdXRlZFN0eWxlID8gdCB8fCBlICYmIGUuc3R5bGUgJiYgZS5zdHlsZS5mb250U2l6ZSB8fCB0aGlzLnN0eWxlICYmIHRoaXMuc3R5bGUuZm9udFNpemUgOiBlICYmIG8ucHJvdG90eXBlLmdldFN0eWxlLmNhbGwoZSwgImZvbnQtc2l6ZSIpLCB0ID0gL3B4Ly50ZXN0KHQpID8gaih0KSA6IDEyLCBlID0gMjQgPiB0ID8gdCArIDMgOiBNYXRoLnJvdW5kKDEuMiAqIHQpLCB7CiAgICAgICAgICAgICAgaDogZSwKICAgICAgICAgICAgICBiOiBNYXRoLnJvdW5kKC44ICogZSksCiAgICAgICAgICAgICAgZjogdAogICAgICAgICAgICB9OwogICAgICAgICAgfSwgaS5wcm90b3R5cGUucm90Q29yciA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0OwogICAgICAgICAgICByZXR1cm4gZSAmJiBpICYmIChuID0gTWF0aC5tYXgobiAqIE1hdGguY29zKGUgKiBwKSwgNCkpLCB7IHg6IC10IC8gMyAqIE1hdGguc2luKGUgKiBwKSwgeTogbiB9OwogICAgICAgICAgfSwgaS5wcm90b3R5cGUucGF0aFRvU2VnbWVudHMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGZvciAodmFyIGUgPSBbXSwgaSA9IFtdLCBuID0gewogICAgICAgICAgICAgIEE6IDgsCiAgICAgICAgICAgICAgQzogNywKICAgICAgICAgICAgICBIOiAyLAogICAgICAgICAgICAgIEw6IDMsCiAgICAgICAgICAgICAgTTogMywKICAgICAgICAgICAgICBROiA1LAogICAgICAgICAgICAgIFM6IDUsCiAgICAgICAgICAgICAgVDogMywKICAgICAgICAgICAgICBWOiAyCiAgICAgICAgICAgIH0sIG8gPSAwOyBvIDwgdC5sZW5ndGg7IG8rKykgVChpWzBdKSAmJiBQKHRbb10pICYmIGkubGVuZ3RoID09PSBuW2lbMF0udG9VcHBlckNhc2UoKV0gJiYgdC5zcGxpY2UobywgMCwgaVswXS5yZXBsYWNlKCJNIiwgIkwiKS5yZXBsYWNlKCJtIiwgImwiKSksICJzdHJpbmciID09PSB0eXBlb2YgdFtvXSAmJiAoaS5sZW5ndGggJiYgZS5wdXNoKGkuc2xpY2UoMCkpLCBpLmxlbmd0aCA9IDApLCBpLnB1c2godFtvXSk7CiAgICAgICAgICAgIHJldHVybiBlLnB1c2goaS5zbGljZSgwKSksIGU7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5sYWJlbCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHMsIGEsIGgsIGwpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyByKHRoaXMsIHQsIGUsIGksIG4sIG8sIHMsIGEsIGgsIGwpOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuYWxpZ25FbGVtZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmFsaWduZWRPYmplY3RzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdC5hbGlnbigpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBpOwogICAgICAgIH0oKSwgTShpLnByb3RvdHlwZSwgewogICAgICAgICAgRWxlbWVudDogbywKICAgICAgICAgIFNWR19OUzogeSwKICAgICAgICAgIGVzY2FwZXM6IHsgIiYiOiAiJmFtcDsiLCAiPCI6ICImbHQ7IiwgIj4iOiAiJmd0OyIsICInIjogIiYjMzk7IiwgIlwiIjogIiZxdW90OyIgfSwKICAgICAgICAgIHN5bWJvbHM6IHMsCiAgICAgICAgICBkcmF3OiBtCiAgICAgICAgfSksIG4ucmVnaXN0ZXJSZW5kZXJlclR5cGUoInN2ZyIsIGksICEwKSwgaTsKICAgICAgfSkpLCBlKGksICJDb3JlL1JlbmRlcmVyL0hUTUwvSFRNTEVsZW1lbnQuanMiLCBbaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0VsZW1lbnQuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4gPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKSwgbyA9IHQuaXNGaXJlZm94LCByID0gdC5pc01TLCBzID0gdC5pc1dlYktpdCwgYSA9IHQud2luLCBoID0gaS5jc3MsIGwgPSBpLmRlZmluZWQsIGMgPSBpLmV4dGVuZCwgcCA9IGkucGljaywgZCA9IGkucEludDsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIG4oZSwgdCksIGUuY29tcG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgaWYgKC0xID09PSBlLmNvbXBvc2VkQ2xhc3Nlcy5pbmRleE9mKHQpKSB7CiAgICAgICAgICAgICAgZS5jb21wb3NlZENsYXNzZXMucHVzaCh0KTsKICAgICAgICAgICAgICB2YXIgaSA9IGUucHJvdG90eXBlLCBuID0gdC5wcm90b3R5cGU7CiAgICAgICAgICAgICAgbi5nZXRTcGFuQ29ycmVjdGlvbiA9IGkuZ2V0U3BhbkNvcnJlY3Rpb24sIG4uaHRtbENzcyA9IGkuaHRtbENzcywgbi5odG1sR2V0QkJveCA9IGkuaHRtbEdldEJCb3gsIG4uaHRtbFVwZGF0ZVRyYW5zZm9ybSA9IGkuaHRtbFVwZGF0ZVRyYW5zZm9ybSwgbi5zZXRTcGFuUm90YXRpb24gPSBpLnNldFNwYW5Sb3RhdGlvbjsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdDsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldFNwYW5Db3JyZWN0aW9uID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB0aGlzLnhDb3JyID0gLXQgKiBpLCB0aGlzLnlDb3JyID0gLWU7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5odG1sQ3NzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9ICJTUEFOIiA9PT0gdGhpcy5lbGVtZW50LnRhZ05hbWUgJiYgdCAmJiAid2lkdGgiIGluIHQsIGkgPSBwKGUgJiYgdC53aWR0aCwgdm9pZCAwKTsKICAgICAgICAgICAgaWYgKGUpIHsKICAgICAgICAgICAgICBkZWxldGUgdC53aWR0aCwgdGhpcy50ZXh0V2lkdGggPSBpOwogICAgICAgICAgICAgIHZhciBuID0gITA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHQgJiYgImVsbGlwc2lzIiA9PT0gdC50ZXh0T3ZlcmZsb3cgJiYgKHQud2hpdGVTcGFjZSA9ICJub3dyYXAiLCB0Lm92ZXJmbG93ID0gImhpZGRlbiIpLCB0aGlzLnN0eWxlcyA9IGModGhpcy5zdHlsZXMsIHQpLCBoKHRoaXMuZWxlbWVudCwgdCksIG4gJiYgdGhpcy5odG1sVXBkYXRlVHJhbnNmb3JtKCksIHRoaXM7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5odG1sR2V0QkJveCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZWxlbWVudDsKICAgICAgICAgICAgcmV0dXJuIHsgeDogdC5vZmZzZXRMZWZ0LCB5OiB0Lm9mZnNldFRvcCwgd2lkdGg6IHQub2Zmc2V0V2lkdGgsIGhlaWdodDogdC5vZmZzZXRIZWlnaHQgfTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmh0bWxVcGRhdGVUcmFuc2Zvcm0gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKHRoaXMuYWRkZWQpIHsKICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMucmVuZGVyZXIsIGUgPSB0aGlzLmVsZW1lbnQsIGkgPSB0aGlzLnRyYW5zbGF0ZVggfHwgMCwgbiA9IHRoaXMudHJhbnNsYXRlWSB8fCAwLCBvID0gdGhpcy54IHx8IDAsIHIgPSB0aGlzLnkgfHwgMCwKICAgICAgICAgICAgICAgIHMgPSB0aGlzLnRleHRBbGlnbiB8fCAibGVmdCIsIGEgPSB7IGxlZnQ6IDAsIGNlbnRlcjogLjUsIHJpZ2h0OiAxIH1bc10sIGMgPSB0aGlzLnN0eWxlczsKICAgICAgICAgICAgICBpZiAoYyA9IGMgJiYgYy53aGl0ZVNwYWNlLCBoKGUsIHsgbWFyZ2luTGVmdDogaSwgbWFyZ2luVG9wOiBuIH0pLCAhdC5zdHlsZWRNb2RlICYmIHRoaXMuc2hhZG93cyAmJiB0aGlzLnNoYWRvd3MuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgaCh0LCB7IG1hcmdpbkxlZnQ6IGkgKyAxLCBtYXJnaW5Ub3A6IG4gKyAxIH0pOwogICAgICAgICAgICAgIH0pKSwgdGhpcy5pbnZlcnRlZCAmJiBbXS5mb3JFYWNoLmNhbGwoZS5jaGlsZE5vZGVzLCAoZnVuY3Rpb24oaSkgewogICAgICAgICAgICAgICAgdC5pbnZlcnRDaGlsZChpLCBlKTsKICAgICAgICAgICAgICB9KSksICJTUEFOIiA9PT0gZS50YWdOYW1lKSB7CiAgICAgICAgICAgICAgICB2YXIgcCA9IHRoaXMucm90YXRpb24sIHUgPSB0aGlzLnRleHRXaWR0aCAmJiBkKHRoaXMudGV4dFdpZHRoKSwgZiA9IFtwLCBzLCBlLmlubmVySFRNTCwgdGhpcy50ZXh0V2lkdGgsIHRoaXMudGV4dEFsaWduXS5qb2luKCksIGcgPSB2b2lkIDA7CiAgICAgICAgICAgICAgICBpZiAoZyA9ICExLCB1ICE9PSB0aGlzLm9sZFRleHRXaWR0aCkgewogICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZXh0UHhMZW5ndGgpIHZhciBtID0gdGhpcy50ZXh0UHhMZW5ndGg7IGVsc2UgaChlLCB7IHdpZHRoOiAiIiwgd2hpdGVTcGFjZTogYyB8fCAibm93cmFwIiB9KSwgbSA9IGUub2Zmc2V0V2lkdGg7CiAgICAgICAgICAgICAgICAgICh1ID4gdGhpcy5vbGRUZXh0V2lkdGggfHwgbSA+IHUpICYmICgvWyBcLV0vLnRlc3QoZS50ZXh0Q29udGVudCB8fCBlLmlubmVyVGV4dCkgfHwgImVsbGlwc2lzIiA9PT0gZS5zdHlsZS50ZXh0T3ZlcmZsb3cpICYmIChoKGUsIHsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogbSA+IHUgfHwgcCA/IHUgKyAicHgiIDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJibG9jayIsCiAgICAgICAgICAgICAgICAgICAgd2hpdGVTcGFjZTogYyB8fCAibm9ybWFsIgogICAgICAgICAgICAgICAgICB9KSwgdGhpcy5vbGRUZXh0V2lkdGggPSB1LCBnID0gITApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhpcy5oYXNCb3hXaWR0aENoYW5nZWQgPSBnLCBmICE9PSB0aGlzLmNUVCAmJiAoZyA9IHQuZm9udE1ldHJpY3MoZS5zdHlsZS5mb250U2l6ZSwgZSkuYiwgIWwocCkgfHwgcCA9PT0gKHRoaXMub2xkUm90YXRpb24gfHwgMCkgJiYgcyA9PT0gdGhpcy5vbGRBbGlnbiB8fCB0aGlzLnNldFNwYW5Sb3RhdGlvbihwLCBhLCBnKSwgdGhpcy5nZXRTcGFuQ29ycmVjdGlvbighbChwKSAmJiB0aGlzLnRleHRQeExlbmd0aCB8fCBlLm9mZnNldFdpZHRoLCBnLCBhLCBwLCBzKSksIGgoZSwgewogICAgICAgICAgICAgICAgICBsZWZ0OiBvICsgKHRoaXMueENvcnIgfHwgMCkgKyAicHgiLAogICAgICAgICAgICAgICAgICB0b3A6IHIgKyAodGhpcy55Q29yciB8fCAwKSArICJweCIKICAgICAgICAgICAgICAgIH0pLCB0aGlzLmNUVCA9IGYsIHRoaXMub2xkUm90YXRpb24gPSBwLCB0aGlzLm9sZEFsaWduID0gczsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB0aGlzLmFsaWduT25BZGQgPSAhMDsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnNldFNwYW5Sb3RhdGlvbiA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB7fSwKICAgICAgICAgICAgICBsID0gciAmJiAhL0VkZ2UvLnRlc3QoYS5uYXZpZ2F0b3IudXNlckFnZW50KSA/ICItbXMtdHJhbnNmb3JtIiA6IHMgPyAiLXdlYmtpdC10cmFuc2Zvcm0iIDogbyA/ICJNb3pUcmFuc2Zvcm0iIDogYS5vcGVyYSA/ICItby10cmFuc2Zvcm0iIDogdm9pZCAwOwogICAgICAgICAgICBsICYmIChuW2xdID0gbi50cmFuc2Zvcm0gPSAicm90YXRlKCIgKyB0ICsgImRlZykiLCBuW2wgKyAobyA/ICJPcmlnaW4iIDogIi1vcmlnaW4iKV0gPSBuLnRyYW5zZm9ybU9yaWdpbiA9IDEwMCAqIGUgKyAiJSAiICsgaSArICJweCIsIGgodGhpcy5lbGVtZW50LCBuKSk7CiAgICAgICAgICB9LCBlLmNvbXBvc2VkQ2xhc3NlcyA9IFtdLCBlOwogICAgICAgIH0oZSk7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9SZW5kZXJlci9IVE1ML0hUTUxSZW5kZXJlci5qcyIsIFtpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0VsZW1lbnQuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHUmVuZGVyZXIuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgdmFyIG8gPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKSwgciA9IG4uYXR0ciwgcyA9IG4uY3JlYXRlRWxlbWVudCwgYSA9IG4uZXh0ZW5kLCBoID0gbi5waWNrOwogICAgICAgIHJldHVybiBmdW5jdGlvbihpKSB7CiAgICAgICAgICBmdW5jdGlvbiBuKCkgewogICAgICAgICAgICByZXR1cm4gbnVsbCAhPT0gaSAmJiBpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpczsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gbyhuLCBpKSwgbi5jb21wb3NlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gLTEgPT09IG4uY29tcG9zZWRDbGFzc2VzLmluZGV4T2YodCkgJiYgKG4uY29tcG9zZWRDbGFzc2VzLnB1c2godCksIHQucHJvdG90eXBlLmh0bWwgPSBuLnByb3RvdHlwZS5odG1sKSwgdDsKICAgICAgICAgIH0sIG4ucHJvdG90eXBlLmh0bWwgPSBmdW5jdGlvbihpLCBuLCBvKSB7CiAgICAgICAgICAgIHZhciBsID0gdGhpcy5jcmVhdGVFbGVtZW50KCJzcGFuIiksIGMgPSBsLmVsZW1lbnQsIHAgPSBsLnJlbmRlcmVyLCBkID0gcC5pc1NWRywgdSA9IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgICBbIm9wYWNpdHkiLCAidmlzaWJpbGl0eSJdLmZvckVhY2goKGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgICAgIHRbbiArICJTZXR0ZXIiXSA9IGZ1bmN0aW9uKG8sIHIsIHMpIHsKICAgICAgICAgICAgICAgICAgdmFyIGEgPSB0LmRpdiA/IHQuZGl2LnN0eWxlIDogaTsKICAgICAgICAgICAgICAgICAgZS5wcm90b3R5cGVbbiArICJTZXR0ZXIiXS5jYWxsKHRoaXMsIG8sIHIsIHMpLCBhICYmIChhW3JdID0gbyk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIH0pKSwgdC5hZGRlZFNldHRlcnMgPSAhMDsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuIGwudGV4dFNldHRlciA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBlICE9PSB0aGlzLnRleHRTdHIgJiYgKGRlbGV0ZSB0aGlzLmJCb3gsIGRlbGV0ZSB0aGlzLm9sZFRleHRXaWR0aCwgdC5zZXRFbGVtZW50SFRNTCh0aGlzLmVsZW1lbnQsIGgoZSwgIiIpKSwgdGhpcy50ZXh0U3RyID0gZSwgbC5kb1RyYW5zZm9ybSA9ICEwKTsKICAgICAgICAgICAgfSwgZCAmJiB1KGwsIGwuZWxlbWVudC5zdHlsZSksIGwueFNldHRlciA9IGwueVNldHRlciA9IGwuYWxpZ25TZXR0ZXIgPSBsLnJvdGF0aW9uU2V0dGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICJhbGlnbiIgPT09IGUgPyBsLmFsaWduVmFsdWUgPSBsLnRleHRBbGlnbiA9IHQgOiBsW2VdID0gdCwgbC5kb1RyYW5zZm9ybSA9ICEwOwogICAgICAgICAgICB9LCBsLmFmdGVyU2V0dGVycyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHRoaXMuZG9UcmFuc2Zvcm0gJiYgKHRoaXMuaHRtbFVwZGF0ZVRyYW5zZm9ybSgpLCB0aGlzLmRvVHJhbnNmb3JtID0gITEpOwogICAgICAgICAgICB9LCBsLmF0dHIoeyB0ZXh0OiBpLCB4OiBNYXRoLnJvdW5kKG4pLCB5OiBNYXRoLnJvdW5kKG8pIH0pLmNzcyh7IHBvc2l0aW9uOiAiYWJzb2x1dGUiIH0pLCBwLnN0eWxlZE1vZGUgfHwgbC5jc3MoewogICAgICAgICAgICAgIGZvbnRGYW1pbHk6IHRoaXMuc3R5bGUuZm9udEZhbWlseSwKICAgICAgICAgICAgICBmb250U2l6ZTogdGhpcy5zdHlsZS5mb250U2l6ZQogICAgICAgICAgICB9KSwgYy5zdHlsZS53aGl0ZVNwYWNlID0gIm5vd3JhcCIsIGwuY3NzID0gbC5odG1sQ3NzLCBkICYmIChsLmFkZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHAuYm94LnBhcmVudE5vZGUsIGkgPSBbXTsKICAgICAgICAgICAgICBpZiAodGhpcy5wYXJlbnRHcm91cCA9IHQpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gdC5kaXY7CiAgICAgICAgICAgICAgICBpZiAoIW4pIHsKICAgICAgICAgICAgICAgICAgZm9yICg7IHQ7KSBpLnB1c2godCksIHQgPSB0LnBhcmVudEdyb3VwOwogICAgICAgICAgICAgICAgICBpLnJldmVyc2UoKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gbyhlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgICB0W2ldID0gZSwgInRyYW5zbGF0ZVgiID09PSBpID8gcC5sZWZ0ID0gZSArICJweCIgOiBwLnRvcCA9IGUgKyAicHgiLCB0LmRvVHJhbnNmb3JtID0gITA7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB2YXIgaCA9IHIodC5lbGVtZW50LCAiY2xhc3MiKSwgYyA9IHQuc3R5bGVzIHx8IHt9OwogICAgICAgICAgICAgICAgICAgIG4gPSB0LmRpdiA9IHQuZGl2IHx8IHMoImRpdiIsIGggPyB7IGNsYXNzTmFtZTogaCB9IDogdm9pZCAwLCB7CiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICh0LnRyYW5zbGF0ZVggfHwgMCkgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgdG9wOiAodC50cmFuc2xhdGVZIHx8IDApICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHQuZGlzcGxheSwKICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IHQub3BhY2l0eSwKICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogYy5jdXJzb3IsCiAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyRXZlbnRzOiBjLnBvaW50ZXJFdmVudHMsCiAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB0LnZpc2liaWxpdHkKICAgICAgICAgICAgICAgICAgICB9LCBuIHx8IGUpOwogICAgICAgICAgICAgICAgICAgIHZhciBwID0gbi5zdHlsZTsKICAgICAgICAgICAgICAgICAgICBhKHQsIHsKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzU2V0dGVyOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiY2xhc3MiLCBlKSwgdC5jbGFzc05hbWUgPSBlOwogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgfShuKSwgb246IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVswXS5kaXYgJiYgbC5vbi5hcHBseSh7IGVsZW1lbnQ6IGlbMF0uZGl2LCBvbkV2ZW50czogdC5vbkV2ZW50cyB9LCBhcmd1bWVudHMpLCB0OwogICAgICAgICAgICAgICAgICAgICAgfSwgdHJhbnNsYXRlWFNldHRlcjogbywgdHJhbnNsYXRlWVNldHRlcjogbwogICAgICAgICAgICAgICAgICAgIH0pLCB0LmFkZGVkU2V0dGVycyB8fCB1KHQpOwogICAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSBlbHNlIG4gPSBlOwogICAgICAgICAgICAgIHJldHVybiBuLmFwcGVuZENoaWxkKGMpLCBsLmFkZGVkID0gITAsIGwuYWxpZ25PbkFkZCAmJiBsLmh0bWxVcGRhdGVUcmFuc2Zvcm0oKSwgbDsKICAgICAgICAgICAgfSksIGw7CiAgICAgICAgICB9LCBuLmNvbXBvc2VkQ2xhc3NlcyA9IFtdLCBuOwogICAgICAgIH0oaSk7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9BeGlzL0F4aXNEZWZhdWx0cy5qcyIsIFtdLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHQ7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHQuZGVmYXVsdFhBeGlzT3B0aW9ucyA9IHsKICAgICAgICAgICAgYWxpZ25UaWNrczogITAsCiAgICAgICAgICAgIGFsbG93RGVjaW1hbHM6IHZvaWQgMCwKICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ6ICEwLAogICAgICAgICAgICB6SW5kZXg6IDIsCiAgICAgICAgICAgIHpvb21FbmFibGVkOiAhMCwKICAgICAgICAgICAgZGF0ZVRpbWVMYWJlbEZvcm1hdHM6IHsKICAgICAgICAgICAgICBtaWxsaXNlY29uZDogeyBtYWluOiAiJUg6JU06JVMuJUwiLCByYW5nZTogITEgfSwKICAgICAgICAgICAgICBzZWNvbmQ6IHsgbWFpbjogIiVIOiVNOiVTIiwgcmFuZ2U6ICExIH0sCiAgICAgICAgICAgICAgbWludXRlOiB7IG1haW46ICIlSDolTSIsIHJhbmdlOiAhMSB9LAogICAgICAgICAgICAgIGhvdXI6IHsgbWFpbjogIiVIOiVNIiwgcmFuZ2U6ICExIH0sCiAgICAgICAgICAgICAgZGF5OiB7IG1haW46ICIlZS4gJWIiIH0sCiAgICAgICAgICAgICAgd2VlazogeyBtYWluOiAiJWUuICViIiB9LAogICAgICAgICAgICAgIG1vbnRoOiB7IG1haW46ICIlYiAnJXkiIH0sCiAgICAgICAgICAgICAgeWVhcjogeyBtYWluOiAiJVkiIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgZW5kT25UaWNrOiAhMSwKICAgICAgICAgICAgZ3JpZExpbmVEYXNoU3R5bGU6ICJTb2xpZCIsCiAgICAgICAgICAgIGdyaWRaSW5kZXg6IDEsCiAgICAgICAgICAgIGxhYmVsczogewogICAgICAgICAgICAgIGF1dG9Sb3RhdGlvbjogdm9pZCAwLAogICAgICAgICAgICAgIGF1dG9Sb3RhdGlvbkxpbWl0OiA4MCwKICAgICAgICAgICAgICBkaXN0YW5jZTogdm9pZCAwLAogICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICAgIGluZGVudGF0aW9uOiAxMCwKICAgICAgICAgICAgICBvdmVyZmxvdzogImp1c3RpZnkiLAogICAgICAgICAgICAgIHBhZGRpbmc6IDUsCiAgICAgICAgICAgICAgcmVzZXJ2ZVNwYWNlOiB2b2lkIDAsCiAgICAgICAgICAgICAgcm90YXRpb246IHZvaWQgMCwKICAgICAgICAgICAgICBzdGFnZ2VyTGluZXM6IDAsCiAgICAgICAgICAgICAgc3RlcDogMCwKICAgICAgICAgICAgICB1c2VIVE1MOiAhMSwKICAgICAgICAgICAgICB4OiAwLAogICAgICAgICAgICAgIHpJbmRleDogNywKICAgICAgICAgICAgICBzdHlsZTogeyBjb2xvcjogIiM2NjY2NjYiLCBjdXJzb3I6ICJkZWZhdWx0IiwgZm9udFNpemU6ICIxMXB4IiB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG1heFBhZGRpbmc6IC4wMSwKICAgICAgICAgICAgbWlub3JHcmlkTGluZURhc2hTdHlsZTogIlNvbGlkIiwKICAgICAgICAgICAgbWlub3JUaWNrTGVuZ3RoOiAyLAogICAgICAgICAgICBtaW5vclRpY2tQb3NpdGlvbjogIm91dHNpZGUiLAogICAgICAgICAgICBtaW5QYWRkaW5nOiAuMDEsCiAgICAgICAgICAgIG9mZnNldDogdm9pZCAwLAogICAgICAgICAgICBvcHBvc2l0ZTogITEsCiAgICAgICAgICAgIHJldmVyc2VkOiB2b2lkIDAsCiAgICAgICAgICAgIHJldmVyc2VkU3RhY2tzOiAhMSwKICAgICAgICAgICAgc2hvd0VtcHR5OiAhMCwKICAgICAgICAgICAgc2hvd0ZpcnN0TGFiZWw6ICEwLAogICAgICAgICAgICBzaG93TGFzdExhYmVsOiAhMCwKICAgICAgICAgICAgc3RhcnRPZldlZWs6IDEsCiAgICAgICAgICAgIHN0YXJ0T25UaWNrOiAhMSwKICAgICAgICAgICAgdGlja0xlbmd0aDogMTAsCiAgICAgICAgICAgIHRpY2tQaXhlbEludGVydmFsOiAxMDAsCiAgICAgICAgICAgIHRpY2ttYXJrUGxhY2VtZW50OiAiYmV0d2VlbiIsCiAgICAgICAgICAgIHRpY2tQb3NpdGlvbjogIm91dHNpZGUiLAogICAgICAgICAgICB0aXRsZTogeyBhbGlnbjogIm1pZGRsZSIsIHJvdGF0aW9uOiAwLCB1c2VIVE1MOiAhMSwgeDogMCwgeTogMCwgc3R5bGU6IHsgY29sb3I6ICIjNjY2NjY2IiB9IH0sCiAgICAgICAgICAgIHR5cGU6ICJsaW5lYXIiLAogICAgICAgICAgICB1bmlxdWVOYW1lczogITAsCiAgICAgICAgICAgIHZpc2libGU6ICEwLAogICAgICAgICAgICBtaW5vckdyaWRMaW5lQ29sb3I6ICIjZjJmMmYyIiwKICAgICAgICAgICAgbWlub3JHcmlkTGluZVdpZHRoOiAxLAogICAgICAgICAgICBtaW5vclRpY2tDb2xvcjogIiM5OTk5OTkiLAogICAgICAgICAgICBsaW5lQ29sb3I6ICIjY2NkNmViIiwKICAgICAgICAgICAgbGluZVdpZHRoOiAxLAogICAgICAgICAgICBncmlkTGluZUNvbG9yOiAiI2U2ZTZlNiIsCiAgICAgICAgICAgIGdyaWRMaW5lV2lkdGg6IHZvaWQgMCwKICAgICAgICAgICAgdGlja0NvbG9yOiAiI2NjZDZlYiIKICAgICAgICAgIH0sIHQuZGVmYXVsdFlBeGlzT3B0aW9ucyA9IHsKICAgICAgICAgICAgcmV2ZXJzZWRTdGFja3M6ICEwLAogICAgICAgICAgICBlbmRPblRpY2s6ICEwLAogICAgICAgICAgICBtYXhQYWRkaW5nOiAuMDUsCiAgICAgICAgICAgIG1pblBhZGRpbmc6IC4wNSwKICAgICAgICAgICAgdGlja1BpeGVsSW50ZXJ2YWw6IDcyLAogICAgICAgICAgICBzaG93TGFzdExhYmVsOiAhMCwKICAgICAgICAgICAgbGFiZWxzOiB7IHg6IC04IH0sCiAgICAgICAgICAgIHN0YXJ0T25UaWNrOiAhMCwKICAgICAgICAgICAgdGl0bGU6IHsgcm90YXRpb246IDI3MCwgdGV4dDogIlZhbHVlcyIgfSwKICAgICAgICAgICAgc3RhY2tMYWJlbHM6IHsKICAgICAgICAgICAgICBhbmltYXRpb246IHt9LCBhbGxvd092ZXJsYXA6ICExLCBlbmFibGVkOiAhMSwgY3JvcDogITAsIG92ZXJmbG93OiAianVzdGlmeSIsIGZvcm1hdHRlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuYXhpcy5jaGFydC5udW1iZXJGb3JtYXR0ZXI7CiAgICAgICAgICAgICAgICByZXR1cm4gdCh0aGlzLnRvdGFsLCAtMSk7CiAgICAgICAgICAgICAgfSwgc3R5bGU6IHsgY29sb3I6ICIjMDAwMDAwIiwgZm9udFNpemU6ICIxMXB4IiwgZm9udFdlaWdodDogImJvbGQiLCB0ZXh0T3V0bGluZTogIjFweCBjb250cmFzdCIgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBncmlkTGluZVdpZHRoOiAxLAogICAgICAgICAgICBsaW5lV2lkdGg6IDAKICAgICAgICAgIH0sIHQuZGVmYXVsdExlZnRBeGlzT3B0aW9ucyA9IHsgbGFiZWxzOiB7IHg6IC0xNSB9LCB0aXRsZTogeyByb3RhdGlvbjogMjcwIH0gfSwgdC5kZWZhdWx0UmlnaHRBeGlzT3B0aW9ucyA9IHsKICAgICAgICAgICAgbGFiZWxzOiB7IHg6IDE1IH0sCiAgICAgICAgICAgIHRpdGxlOiB7IHJvdGF0aW9uOiA5MCB9CiAgICAgICAgICB9LCB0LmRlZmF1bHRCb3R0b21BeGlzT3B0aW9ucyA9IHsKICAgICAgICAgICAgbGFiZWxzOiB7IGF1dG9Sb3RhdGlvbjogWy00NV0sIHg6IDAgfSwKICAgICAgICAgICAgbWFyZ2luOiAxNSwKICAgICAgICAgICAgdGl0bGU6IHsgcm90YXRpb246IDAgfQogICAgICAgICAgfSwgdC5kZWZhdWx0VG9wQXhpc09wdGlvbnMgPSB7IGxhYmVsczogeyBhdXRvUm90YXRpb246IFstNDVdLCB4OiAwIH0sIG1hcmdpbjogMTUsIHRpdGxlOiB7IHJvdGF0aW9uOiAwIH0gfTsKICAgICAgICB9KHQgfHwgKHQgPSB7fSkpLCB0OwogICAgICB9KSksIGUoaSwgIkNvcmUvRm91bmRhdGlvbi5qcyIsIFtpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSwgaSA9IHQuYWRkRXZlbnQsIG4gPSB0LmlzRnVuY3Rpb24sIG8gPSB0Lm9iamVjdEVhY2gsIHIgPSB0LnJlbW92ZUV2ZW50OwogICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICB0LnJlZ2lzdGVyRXZlbnRPcHRpb25zID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0LmV2ZW50T3B0aW9ucyA9IHQuZXZlbnRPcHRpb25zIHx8IHt9LCBvKGUuZXZlbnRzLCAoZnVuY3Rpb24oZSwgbykgewogICAgICAgICAgICAgIHQuZXZlbnRPcHRpb25zW29dICE9PSBlICYmICh0LmV2ZW50T3B0aW9uc1tvXSAmJiAocih0LCBvLCB0LmV2ZW50T3B0aW9uc1tvXSksIGRlbGV0ZSB0LmV2ZW50T3B0aW9uc1tvXSksIG4oZSkgJiYgKHQuZXZlbnRPcHRpb25zW29dID0gZSwgaSh0LCBvLCBlKSkpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9OwogICAgICAgIH0oZSB8fCAoZSA9IHt9KSksIGU7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9BeGlzL1RpY2suanMiLCBbaVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgIHZhciBuID0gZS5kZWcycmFkLCBvID0gaS5jbGFtcCwgciA9IGkuY29ycmVjdEZsb2F0LCBzID0gaS5kZWZpbmVkLCBhID0gaS5kZXN0cm95T2JqZWN0UHJvcGVydGllcywgaCA9IGkuZXh0ZW5kLCBsID0gaS5maXJlRXZlbnQsIGMgPSBpLmlzTnVtYmVyLAogICAgICAgICAgcCA9IGkubWVyZ2UsIGQgPSBpLm9iamVjdEVhY2gsIHUgPSBpLnBpY2s7CiAgICAgICAgcmV0dXJuIGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUodCwgZSwgaSwgbiwgbykgewogICAgICAgICAgICB0aGlzLmlzTmV3TGFiZWwgPSB0aGlzLmlzTmV3ID0gITAsIHRoaXMuYXhpcyA9IHQsIHRoaXMucG9zID0gZSwgdGhpcy50eXBlID0gaSB8fCAiIiwgdGhpcy5wYXJhbWV0ZXJzID0gbyB8fCB7fSwgdGhpcy50aWNrbWFya09mZnNldCA9IHRoaXMucGFyYW1ldGVycy50aWNrbWFya09mZnNldCwgdGhpcy5vcHRpb25zID0gdGhpcy5wYXJhbWV0ZXJzLm9wdGlvbnMsIGwodGhpcywgImluaXQiKSwgaSB8fCBuIHx8IHRoaXMuYWRkTGFiZWwoKTsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkTGFiZWwgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLCBpID0gZS5heGlzLCBuID0gaS5vcHRpb25zLCBvID0gaS5jaGFydCwgYSA9IGkuY2F0ZWdvcmllcywgcCA9IGkubG9nYXJpdGhtaWMsIGQgPSBpLm5hbWVzLCBmID0gZS5wb3MsCiAgICAgICAgICAgICAgZyA9IHUoZS5vcHRpb25zICYmIGUub3B0aW9ucy5sYWJlbHMsIG4ubGFiZWxzKSwgbSA9IGkudGlja1Bvc2l0aW9ucywgeSA9IGYgPT09IG1bMF0sIHYgPSBmID09PSBtW20ubGVuZ3RoIC0gMV0sCiAgICAgICAgICAgICAgeCA9ICghZy5zdGVwIHx8IDEgPT09IGcuc3RlcCkgJiYgMSA9PT0gaS50aWNrSW50ZXJ2YWw7CiAgICAgICAgICAgIG0gPSBtLmluZm87CiAgICAgICAgICAgIHZhciBiLCBfID0gZS5sYWJlbDsKICAgICAgICAgICAgaWYgKGEgPSB0aGlzLnBhcmFtZXRlcnMuY2F0ZWdvcnkgfHwgKGEgPyB1KGFbZl0sIGRbZl0sIGYpIDogZiksIHAgJiYgYyhhKSAmJiAoYSA9IHIocC5saW4ybG9nKGEpKSksIGkuZGF0ZVRpbWUpIGlmIChtKSB2YXIgdyA9IG8udGltZS5yZXNvbHZlRFRMRm9ybWF0KG4uZGF0ZVRpbWVMYWJlbEZvcm1hdHNbIW4uZ3JpZCAmJiBtLmhpZ2hlclJhbmtzW2ZdIHx8IG0udW5pdE5hbWVdKSwKICAgICAgICAgICAgICBrID0gdy5tYWluOyBlbHNlIGMoYSkgJiYgKGsgPSBpLmRhdGVUaW1lLmdldFhEYXRlRm9ybWF0KGEsIG4uZGF0ZVRpbWVMYWJlbEZvcm1hdHMgfHwge30pKTsKICAgICAgICAgICAgZS5pc0ZpcnN0ID0geSwgZS5pc0xhc3QgPSB2OwogICAgICAgICAgICB2YXIgUyA9IHsgYXhpczogaSwgY2hhcnQ6IG8sIGRhdGVUaW1lTGFiZWxGb3JtYXQ6IGssIGlzRmlyc3Q6IHksIGlzTGFzdDogdiwgcG9zOiBmLCB0aWNrOiBlLCB0aWNrUG9zaXRpb25JbmZvOiBtLCB2YWx1ZTogYSB9OwogICAgICAgICAgICBsKHRoaXMsICJsYWJlbEZvcm1hdCIsIFMpOwogICAgICAgICAgICB2YXIgQyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICByZXR1cm4gZy5mb3JtYXR0ZXIgPyBnLmZvcm1hdHRlci5jYWxsKGUsIGUpIDogZy5mb3JtYXQgPyAoZS50ZXh0ID0gaS5kZWZhdWx0TGFiZWxGb3JtYXR0ZXIuY2FsbChlKSwgdC5mb3JtYXQoZy5mb3JtYXQsIGUsIG8pKSA6IGkuZGVmYXVsdExhYmVsRm9ybWF0dGVyLmNhbGwoZSwgZSk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIG4gPSBDLmNhbGwoUywgUyk7CiAgICAgICAgICAgIHZhciBNID0gdyAmJiB3Lmxpc3Q7CiAgICAgICAgICAgIGUuc2hvcnRlbkxhYmVsID0gTSA/IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGZvciAoYiA9IDA7IGIgPCBNLmxlbmd0aDsgYisrKSBpZiAoaChTLCB7IGRhdGVUaW1lTGFiZWxGb3JtYXQ6IE1bYl0gfSksIF8uYXR0cih7IHRleHQ6IEMuY2FsbChTLCBTKSB9KSwgXy5nZXRCQm94KCkud2lkdGggPCBpLmdldFNsb3RXaWR0aChlKSAtIDIgKiBnLnBhZGRpbmcpIHJldHVybjsKICAgICAgICAgICAgICBfLmF0dHIoeyB0ZXh0OiAiIiB9KTsKICAgICAgICAgICAgfSA6IHZvaWQgMCwgeCAmJiBpLl9hZGRlZFBsb3RMQiAmJiBlLm1vdmVMYWJlbChuLCBnKSwgcyhfKSB8fCBlLm1vdmVkTGFiZWwgPyBfICYmIF8udGV4dFN0ciAhPT0gbiAmJiAheCAmJiAoIV8udGV4dFdpZHRoIHx8IGcuc3R5bGUud2lkdGggfHwgXy5zdHlsZXMud2lkdGggfHwgXy5jc3MoeyB3aWR0aDogbnVsbCB9KSwgXy5hdHRyKHsgdGV4dDogbiB9KSwgXy50ZXh0UHhMZW5ndGggPSBfLmdldEJCb3goKS53aWR0aCkgOiAoZS5sYWJlbCA9IF8gPSBlLmNyZWF0ZUxhYmVsKHsKICAgICAgICAgICAgICB4OiAwLAogICAgICAgICAgICAgIHk6IDAKICAgICAgICAgICAgfSwgbiwgZyksIGUucm90YXRpb24gPSAwKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmNyZWF0ZUxhYmVsID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMuYXhpcywgbyA9IG4uY2hhcnQ7CiAgICAgICAgICAgIHJldHVybiAodCA9IHMoZSkgJiYgaS5lbmFibGVkID8gby5yZW5kZXJlci50ZXh0KGUsIHQueCwgdC55LCBpLnVzZUhUTUwpLmFkZChuLmxhYmVsR3JvdXApIDogbnVsbCkgJiYgKG8uc3R5bGVkTW9kZSB8fCB0LmNzcyhwKGkuc3R5bGUpKSwgdC50ZXh0UHhMZW5ndGggPSB0LmdldEJCb3goKS53aWR0aCksIHQ7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGEodGhpcywgdGhpcy5heGlzKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldFBvc2l0aW9uID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICB2YXIgcyA9IHRoaXMuYXhpcywgYSA9IHMuY2hhcnQsIGggPSBuICYmIGEub2xkQ2hhcnRIZWlnaHQgfHwgYS5jaGFydEhlaWdodDsKICAgICAgICAgICAgcmV0dXJuIHQgPSB7CiAgICAgICAgICAgICAgeDogdCA/IHIocy50cmFuc2xhdGUoZSArIGksIG51bGwsIG51bGwsIG4pICsgcy50cmFuc0IpIDogcy5sZWZ0ICsgcy5vZmZzZXQgKyAocy5vcHBvc2l0ZSA/IChuICYmIGEub2xkQ2hhcnRXaWR0aCB8fCBhLmNoYXJ0V2lkdGgpIC0gcy5yaWdodCAtIHMubGVmdCA6IDApLAogICAgICAgICAgICAgIHk6IHQgPyBoIC0gcy5ib3R0b20gKyBzLm9mZnNldCAtIChzLm9wcG9zaXRlID8gcy5oZWlnaHQgOiAwKSA6IHIoaCAtIHMudHJhbnNsYXRlKGUgKyBpLCBudWxsLCBudWxsLCBuKSAtIHMudHJhbnNCKQogICAgICAgICAgICB9LCB0LnkgPSBvKHQueSwgLTFlNSwgMWU1KSwgbCh0aGlzLCAiYWZ0ZXJHZXRQb3NpdGlvbiIsIHsgcG9zOiB0IH0pLCB0OwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0TGFiZWxQb3NpdGlvbiA9IGZ1bmN0aW9uKHQsIGUsIGksIG8sIHIsIGEsIGgsIGMpIHsKICAgICAgICAgICAgdmFyIHAgPSB0aGlzLmF4aXMsIGQgPSBwLnRyYW5zQSwgdSA9IHAuaXNMaW5rZWQgJiYgcC5saW5rZWRQYXJlbnQgPyBwLmxpbmtlZFBhcmVudC5yZXZlcnNlZCA6IHAucmV2ZXJzZWQsIGYgPSBwLnN0YWdnZXJMaW5lcywKICAgICAgICAgICAgICBnID0gcC50aWNrUm90Q29yciB8fCB7IHg6IDAsIHk6IDAgfSwgbSA9IG8gfHwgcC5yZXNlcnZlU3BhY2VEZWZhdWx0ID8gMCA6IC1wLmxhYmVsT2Zmc2V0ICogKCJjZW50ZXIiID09PSBwLmxhYmVsQWxpZ24gPyAuNSA6IDEpLCB5ID0ge30sIHYgPSByLnk7CiAgICAgICAgICAgIHJldHVybiBzKHYpIHx8ICh2ID0gMCA9PT0gcC5zaWRlID8gaS5yb3RhdGlvbiA/IC04IDogLWkuZ2V0QkJveCgpLmhlaWdodCA6IDIgPT09IHAuc2lkZSA/IGcueSArIDggOiBNYXRoLmNvcyhpLnJvdGF0aW9uICogbikgKiAoZy55IC0gaS5nZXRCQm94KCExLCAwKS5oZWlnaHQgLyAyKSksIHQgPSB0ICsgci54ICsgbSArIGcueCAtIChhICYmIG8gPyBhICogZCAqICh1ID8gLTEgOiAxKSA6IDApLCBlID0gZSArIHYgLSAoYSAmJiAhbyA/IGEgKiBkICogKHUgPyAxIDogLTEpIDogMCksIGYgJiYgKGkgPSBoIC8gKGMgfHwgMSkgJSBmLCBwLm9wcG9zaXRlICYmIChpID0gZiAtIGkgLSAxKSwgZSArPSBwLmxhYmVsT2Zmc2V0IC8gZiAqIGkpLCB5LnggPSB0LCB5LnkgPSBNYXRoLnJvdW5kKGUpLCBsKHRoaXMsICJhZnRlckdldExhYmVsUG9zaXRpb24iLCB7CiAgICAgICAgICAgICAgcG9zOiB5LAogICAgICAgICAgICAgIHRpY2ttYXJrT2Zmc2V0OiBhLAogICAgICAgICAgICAgIGluZGV4OiBoCiAgICAgICAgICAgIH0pLCB5OwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0TGFiZWxTaXplID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmxhYmVsID8gdGhpcy5sYWJlbC5nZXRCQm94KClbdGhpcy5heGlzLmhvcml6ID8gImhlaWdodCIgOiAid2lkdGgiXSA6IDA7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5nZXRNYXJrUGF0aCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIpIHsKICAgICAgICAgICAgcmV0dXJuIHIuY3Jpc3BMaW5lKFtbIk0iLCB0LCBlXSwgWyJMIiwgdCArIChvID8gMCA6IC1pKSwgZSArIChvID8gaSA6IDApXV0sIG4pOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaGFuZGxlT3ZlcmZsb3cgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5heGlzLCBpID0gZS5vcHRpb25zLmxhYmVscywgbyA9IHQueCwgciA9IGUuY2hhcnQuY2hhcnRXaWR0aCwgcyA9IGUuY2hhcnQuc3BhY2luZywgYSA9IHUoZS5sYWJlbExlZnQsIE1hdGgubWluKGUucG9zLCBzWzNdKSk7CiAgICAgICAgICAgIHMgPSB1KGUubGFiZWxSaWdodCwgTWF0aC5tYXgoZS5pc1JhZGlhbCA/IDAgOiBlLnBvcyArIGUubGVuLCByIC0gc1sxXSkpOwogICAgICAgICAgICB2YXIgaCwgbCA9IHRoaXMubGFiZWwsIGMgPSB0aGlzLnJvdGF0aW9uLCBwID0geyBsZWZ0OiAwLCBjZW50ZXI6IC41LCByaWdodDogMSB9W2UubGFiZWxBbGlnbiB8fCBsLmF0dHIoImFsaWduIildLCBkID0gbC5nZXRCQm94KCkud2lkdGgsCiAgICAgICAgICAgICAgZiA9IGUuZ2V0U2xvdFdpZHRoKHRoaXMpLCBnID0ge30sIG0gPSBmLCB5ID0gMTsKICAgICAgICAgICAgYyB8fCAianVzdGlmeSIgIT09IGkub3ZlcmZsb3cgPyAwID4gYyAmJiBvIC0gcCAqIGQgPCBhID8gaCA9IE1hdGgucm91bmQobyAvIE1hdGguY29zKGMgKiBuKSAtIGEpIDogMCA8IGMgJiYgbyArIHAgKiBkID4gcyAmJiAoaCA9IE1hdGgucm91bmQoKHIgLSBvKSAvIE1hdGguY29zKGMgKiBuKSkpIDogKHIgPSBvICsgKDEgLSBwKSAqIGQsIG8gLSBwICogZCA8IGEgPyBtID0gdC54ICsgbSAqICgxIC0gcCkgLSBhIDogciA+IHMgJiYgKG0gPSBzIC0gdC54ICsgbSAqIHAsIHkgPSAtMSksIG0gPSBNYXRoLm1pbihmLCBtKSwgbSA8IGYgJiYgImNlbnRlciIgPT09IGUubGFiZWxBbGlnbiAmJiAodC54ICs9IHkgKiAoZiAtIG0gLSBwICogKGYgLSBNYXRoLm1pbihkLCBtKSkpKSwgKGQgPiBtIHx8IGUuYXV0b1JvdGF0aW9uICYmIChsLnN0eWxlcyB8fCB7fSkud2lkdGgpICYmIChoID0gbSkpLCBoICYmICh0aGlzLnNob3J0ZW5MYWJlbCA/IHRoaXMuc2hvcnRlbkxhYmVsKCkgOiAoZy53aWR0aCA9IE1hdGguZmxvb3IoaCkgKyAicHgiLCAoaS5zdHlsZSB8fCB7fSkudGV4dE92ZXJmbG93IHx8IChnLnRleHRPdmVyZmxvdyA9ICJlbGxpcHNpcyIpLCBsLmNzcyhnKSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUubW92ZUxhYmVsID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMsIG4gPSBpLmxhYmVsLCBvID0gaS5heGlzLCByID0gby5yZXZlcnNlZCwgcyA9ICExOwogICAgICAgICAgICBpZiAobiAmJiBuLnRleHRTdHIgPT09IHQgPyAoaS5tb3ZlZExhYmVsID0gbiwgcyA9ICEwLCBkZWxldGUgaS5sYWJlbCkgOiBkKG8udGlja3MsIChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgcyB8fCBlLmlzTmV3IHx8IGUgPT09IGkgfHwgIWUubGFiZWwgfHwgZS5sYWJlbC50ZXh0U3RyICE9PSB0IHx8IChpLm1vdmVkTGFiZWwgPSBlLmxhYmVsLCBzID0gITAsIGUubGFiZWxQb3MgPSBpLm1vdmVkTGFiZWwueHksIGRlbGV0ZSBlLmxhYmVsKTsKICAgICAgICAgICAgfSkpLCAhcyAmJiAoaS5sYWJlbFBvcyB8fCBuKSkgewogICAgICAgICAgICAgIHZhciBhID0gaS5sYWJlbFBvcyB8fCBuLnh5OwogICAgICAgICAgICAgIG4gPSBvLmhvcml6ID8gciA/IDAgOiBvLndpZHRoICsgby5sZWZ0IDogYS54LCBvID0gby5ob3JpeiA/IGEueSA6IHIgPyBvLndpZHRoICsgby5sZWZ0IDogMCwgaS5tb3ZlZExhYmVsID0gaS5jcmVhdGVMYWJlbCh7CiAgICAgICAgICAgICAgICB4OiBuLAogICAgICAgICAgICAgICAgeTogbwogICAgICAgICAgICAgIH0sIHQsIGUpLCBpLm1vdmVkTGFiZWwgJiYgaS5tb3ZlZExhYmVsLmF0dHIoeyBvcGFjaXR5OiAwIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5heGlzLCBvID0gbi5ob3JpeiwgciA9IHRoaXMucG9zLCBzID0gdSh0aGlzLnRpY2ttYXJrT2Zmc2V0LCBuLnRpY2ttYXJrT2Zmc2V0KTsKICAgICAgICAgICAgciA9IHRoaXMuZ2V0UG9zaXRpb24obywgciwgcywgZSksIHMgPSByLng7CiAgICAgICAgICAgIHZhciBhID0gci55OwogICAgICAgICAgICBuID0gbyAmJiBzID09PSBuLnBvcyArIG4ubGVuIHx8ICFvICYmIGEgPT09IG4ucG9zID8gLTEgOiAxLCBvID0gdShpLCB0aGlzLmxhYmVsICYmIHRoaXMubGFiZWwubmV3T3BhY2l0eSwgMSksIGkgPSB1KGksIDEpLCB0aGlzLmlzQWN0aXZlID0gITAsIHRoaXMucmVuZGVyR3JpZExpbmUoZSwgaSwgbiksIHRoaXMucmVuZGVyTWFyayhyLCBpLCBuKSwgdGhpcy5yZW5kZXJMYWJlbChyLCBlLCBvLCB0KSwgdGhpcy5pc05ldyA9ICExLCBsKHRoaXMsICJhZnRlclJlbmRlciIpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVuZGVyR3JpZExpbmUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5heGlzLCBvID0gbi5vcHRpb25zLCByID0ge30sIHMgPSB0aGlzLnBvcywgYSA9IHRoaXMudHlwZSwgaCA9IHUodGhpcy50aWNrbWFya09mZnNldCwgbi50aWNrbWFya09mZnNldCksIGwgPSBuLmNoYXJ0LnJlbmRlcmVyLAogICAgICAgICAgICAgIGMgPSB0aGlzLmdyaWRMaW5lLCBwID0gby5ncmlkTGluZVdpZHRoLCBkID0gby5ncmlkTGluZUNvbG9yLCBmID0gby5ncmlkTGluZURhc2hTdHlsZTsKICAgICAgICAgICAgIm1pbm9yIiA9PT0gdGhpcy50eXBlICYmIChwID0gby5taW5vckdyaWRMaW5lV2lkdGgsIGQgPSBvLm1pbm9yR3JpZExpbmVDb2xvciwgZiA9IG8ubWlub3JHcmlkTGluZURhc2hTdHlsZSksIGMgfHwgKG4uY2hhcnQuc3R5bGVkTW9kZSB8fCAoci5zdHJva2UgPSBkLCByWyJzdHJva2Utd2lkdGgiXSA9IHAgfHwgMCwgci5kYXNoc3R5bGUgPSBmKSwgYSB8fCAoci56SW5kZXggPSAxKSwgdCAmJiAoZSA9IDApLCB0aGlzLmdyaWRMaW5lID0gYyA9IGwucGF0aCgpLmF0dHIocikuYWRkQ2xhc3MoImhpZ2hjaGFydHMtIiArIChhID8gYSArICItIiA6ICIiKSArICJncmlkLWxpbmUiKS5hZGQobi5ncmlkR3JvdXApKSwgYyAmJiAoaSA9IG4uZ2V0UGxvdExpbmVQYXRoKHsKICAgICAgICAgICAgICB2YWx1ZTogcyArIGgsCiAgICAgICAgICAgICAgbGluZVdpZHRoOiBjLnN0cm9rZVdpZHRoKCkgKiBpLAogICAgICAgICAgICAgIGZvcmNlOiAicGFzcyIsCiAgICAgICAgICAgICAgb2xkOiB0CiAgICAgICAgICAgIH0pKSAmJiBjW3QgfHwgdGhpcy5pc05ldyA/ICJhdHRyIiA6ICJhbmltYXRlIl0oeyBkOiBpLCBvcGFjaXR5OiBlIH0pOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVuZGVyTWFyayA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmF4aXMsIG8gPSBuLm9wdGlvbnMsIHIgPSBuLmNoYXJ0LnJlbmRlcmVyLCBzID0gdGhpcy50eXBlLCBhID0gbi50aWNrU2l6ZShzID8gcyArICJUaWNrIiA6ICJ0aWNrIiksIGggPSB0Lng7CiAgICAgICAgICAgIHQgPSB0Lnk7CiAgICAgICAgICAgIHZhciBsID0gdShvWyJtaW5vciIgIT09IHMgPyAidGlja1dpZHRoIiA6ICJtaW5vclRpY2tXaWR0aCJdLCAhcyAmJiBuLmlzWEF4aXMgPyAxIDogMCk7CiAgICAgICAgICAgIG8gPSBvWyJtaW5vciIgIT09IHMgPyAidGlja0NvbG9yIiA6ICJtaW5vclRpY2tDb2xvciJdOwogICAgICAgICAgICB2YXIgYyA9IHRoaXMubWFyaywgcCA9ICFjOwogICAgICAgICAgICBhICYmIChuLm9wcG9zaXRlICYmIChhWzBdID0gLWFbMF0pLCBjIHx8ICh0aGlzLm1hcmsgPSBjID0gci5wYXRoKCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtIiArIChzID8gcyArICItIiA6ICIiKSArICJ0aWNrIikuYWRkKG4uYXhpc0dyb3VwKSwgbi5jaGFydC5zdHlsZWRNb2RlIHx8IGMuYXR0cih7CiAgICAgICAgICAgICAgc3Ryb2tlOiBvLAogICAgICAgICAgICAgICJzdHJva2Utd2lkdGgiOiBsCiAgICAgICAgICAgIH0pKSwgY1twID8gImF0dHIiIDogImFuaW1hdGUiXSh7IGQ6IHRoaXMuZ2V0TWFya1BhdGgoaCwgdCwgYVswXSwgYy5zdHJva2VXaWR0aCgpICogaSwgbi5ob3JpeiwgciksIG9wYWNpdHk6IGUgfSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVuZGVyTGFiZWwgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIHZhciBvID0gdGhpcy5heGlzLCByID0gby5ob3JpeiwgcyA9IG8ub3B0aW9ucywgYSA9IHRoaXMubGFiZWwsIGggPSBzLmxhYmVscywgbCA9IGguc3RlcDsKICAgICAgICAgICAgbyA9IHUodGhpcy50aWNrbWFya09mZnNldCwgby50aWNrbWFya09mZnNldCk7CiAgICAgICAgICAgIHZhciBwID0gdC54OwogICAgICAgICAgICB0ID0gdC55OwogICAgICAgICAgICB2YXIgZCA9ICEwOwogICAgICAgICAgICBhICYmIGMocCkgJiYgKGEueHkgPSB0ID0gdGhpcy5nZXRMYWJlbFBvc2l0aW9uKHAsIHQsIGEsIHIsIGgsIG8sIG4sIGwpLCB0aGlzLmlzRmlyc3QgJiYgIXRoaXMuaXNMYXN0ICYmICFzLnNob3dGaXJzdExhYmVsIHx8IHRoaXMuaXNMYXN0ICYmICF0aGlzLmlzRmlyc3QgJiYgIXMuc2hvd0xhc3RMYWJlbCA/IGQgPSAhMSA6ICFyIHx8IGguc3RlcCB8fCBoLnJvdGF0aW9uIHx8IGUgfHwgMCA9PT0gaSB8fCB0aGlzLmhhbmRsZU92ZXJmbG93KHQpLCBsICYmIG4gJSBsICYmIChkID0gITEpLCBkICYmIGModC55KSA/ICh0Lm9wYWNpdHkgPSBpLCBhW3RoaXMuaXNOZXdMYWJlbCA/ICJhdHRyIiA6ICJhbmltYXRlIl0odCksIHRoaXMuaXNOZXdMYWJlbCA9ICExKSA6IChhLmF0dHIoInkiLCAtOTk5OSksIHRoaXMuaXNOZXdMYWJlbCA9ICEwKSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5yZXBsYWNlTW92ZWRMYWJlbCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMubGFiZWwsIGUgPSB0aGlzLmF4aXMsIGkgPSBlLnJldmVyc2VkOwogICAgICAgICAgICBpZiAodCAmJiAhdGhpcy5pc05ldykgewogICAgICAgICAgICAgIHZhciBuID0gZS5ob3JpeiA/IGkgPyBlLmxlZnQgOiBlLndpZHRoICsgZS5sZWZ0IDogdC54eS54OwogICAgICAgICAgICAgIGkgPSBlLmhvcml6ID8gdC54eS55IDogaSA/IGUud2lkdGggKyBlLnRvcCA6IGUudG9wLCB0LmFuaW1hdGUoeyB4OiBuLCB5OiBpLCBvcGFjaXR5OiAwIH0sIHZvaWQgMCwgdC5kZXN0cm95KSwgZGVsZXRlIHRoaXMubGFiZWw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZS5pc0RpcnR5ID0gITAsIHRoaXMubGFiZWwgPSB0aGlzLm1vdmVkTGFiZWwsIGRlbGV0ZSB0aGlzLm1vdmVkTGFiZWw7CiAgICAgICAgICB9LCBlOwogICAgICAgIH0oKSwgZTsKICAgICAgfSkpLCBlKGksICJDb3JlL0F4aXMvQXhpcy5qcyIsIFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9BeGlzL0F4aXNEZWZhdWx0cy5qcyJdLCBpWyJDb3JlL0NvbG9yL0NvbG9yLmpzIl0sIGlbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSwgaVsiQ29yZS9Gb3VuZGF0aW9uLmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL0F4aXMvVGljay5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIsIHMsIGEpIHsKICAgICAgICB2YXIgaCA9IHQuYW5pbU9iamVjdCwgbCA9IG4uZGVmYXVsdE9wdGlvbnMsIGMgPSBvLnJlZ2lzdGVyRXZlbnRPcHRpb25zLCBwID0gci5kZWcycmFkLCBkID0gYS5hcnJheU1heCwgdSA9IGEuYXJyYXlNaW4sIGYgPSBhLmNsYW1wLCBnID0gYS5jb3JyZWN0RmxvYXQsCiAgICAgICAgICBtID0gYS5kZWZpbmVkLCB5ID0gYS5kZXN0cm95T2JqZWN0UHJvcGVydGllcywgdiA9IGEuZXJhc2UsIHggPSBhLmVycm9yLCBiID0gYS5leHRlbmQsIF8gPSBhLmZpcmVFdmVudCwgdyA9IGEuZ2V0TWFnbml0dWRlLCBrID0gYS5pc0FycmF5LAogICAgICAgICAgUyA9IGEuaXNOdW1iZXIsIEMgPSBhLmlzU3RyaW5nLCBNID0gYS5tZXJnZSwgQSA9IGEubm9ybWFsaXplVGlja0ludGVydmFsLCBQID0gYS5vYmplY3RFYWNoLCBPID0gYS5waWNrLCBUID0gYS5yZWxhdGl2ZUxlbmd0aCwgRSA9IGEucmVtb3ZlRXZlbnQsCiAgICAgICAgICBMID0gYS5zcGxhdCwgaiA9IGEuc3luY1RpbWVvdXQ7CiAgICAgICAgcmV0dXJuIHQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGZ1bmN0aW9uIHQodCwgZSkgewogICAgICAgICAgICB0aGlzLnpvb21FbmFibGVkID0gdGhpcy53aWR0aCA9IHRoaXMudmlzaWJsZSA9IHRoaXMudXNlck9wdGlvbnMgPSB0aGlzLnRyYW5zbGF0aW9uU2xvcGUgPSB0aGlzLnRyYW5zQiA9IHRoaXMudHJhbnNBID0gdGhpcy50b3AgPSB0aGlzLnRpY2tzID0gdGhpcy50aWNrUm90Q29yciA9IHRoaXMudGlja1Bvc2l0aW9ucyA9IHRoaXMudGlja21hcmtPZmZzZXQgPSB0aGlzLnRpY2tJbnRlcnZhbCA9IHRoaXMudGlja0Ftb3VudCA9IHRoaXMuc2lkZSA9IHRoaXMuc2VyaWVzID0gdGhpcy5yaWdodCA9IHRoaXMucG9zaXRpdmVWYWx1ZXNPbmx5ID0gdGhpcy5wb3MgPSB0aGlzLnBvaW50UmFuZ2VQYWRkaW5nID0gdGhpcy5wb2ludFJhbmdlID0gdGhpcy5wbG90TGluZXNBbmRCYW5kc0dyb3VwcyA9IHRoaXMucGxvdExpbmVzQW5kQmFuZHMgPSB0aGlzLnBhZGRlZFRpY2tzID0gdGhpcy5vdmVybGFwID0gdGhpcy5vcHRpb25zID0gdGhpcy5vZmZzZXQgPSB0aGlzLm5hbWVzID0gdGhpcy5taW5QaXhlbFBhZGRpbmcgPSB0aGlzLm1pbm9yVGlja3MgPSB0aGlzLm1pbm9yVGlja0ludGVydmFsID0gdGhpcy5taW4gPSB0aGlzLm1heExhYmVsTGVuZ3RoID0gdGhpcy5tYXggPSB0aGlzLmxlbiA9IHRoaXMubGVmdCA9IHRoaXMubGFiZWxGb3JtYXR0ZXIgPSB0aGlzLmxhYmVsRWRnZSA9IHRoaXMuaXNMaW5rZWQgPSB0aGlzLmhlaWdodCA9IHRoaXMuaGFzVmlzaWJsZVNlcmllcyA9IHRoaXMuaGFzTmFtZXMgPSB0aGlzLmV2ZW50T3B0aW9ucyA9IHRoaXMuY29sbCA9IHRoaXMuY2xvc2VzdFBvaW50UmFuZ2UgPSB0aGlzLmNoYXJ0ID0gdGhpcy5jYXRlZ29yaWVzID0gdGhpcy5ib3R0b20gPSB0aGlzLmFsdGVybmF0ZUJhbmRzID0gdm9pZCAwLCB0aGlzLmluaXQodCwgZSk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gZS5pc1g7CiAgICAgICAgICAgIHRoaXMuY2hhcnQgPSB0LCB0aGlzLmhvcml6ID0gdC5pbnZlcnRlZCAmJiAhdGhpcy5pc1pBeGlzID8gIWkgOiBpLCB0aGlzLmlzWEF4aXMgPSBpLCB0aGlzLmNvbGwgPSB0aGlzLmNvbGwgfHwgKGkgPyAieEF4aXMiIDogInlBeGlzIiksIF8odGhpcywgImluaXQiLCB7IHVzZXJPcHRpb25zOiBlIH0pLCB0aGlzLm9wcG9zaXRlID0gTyhlLm9wcG9zaXRlLCB0aGlzLm9wcG9zaXRlKSwgdGhpcy5zaWRlID0gTyhlLnNpZGUsIHRoaXMuc2lkZSwgdGhpcy5ob3JpeiA/IHRoaXMub3Bwb3NpdGUgPyAwIDogMiA6IHRoaXMub3Bwb3NpdGUgPyAxIDogMyksIHRoaXMuc2V0T3B0aW9ucyhlKTsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLm9wdGlvbnMsIG8gPSBuLmxhYmVscywgciA9IG4udHlwZTsKICAgICAgICAgICAgdGhpcy51c2VyT3B0aW9ucyA9IGUsIHRoaXMubWluUGl4ZWxQYWRkaW5nID0gMCwgdGhpcy5yZXZlcnNlZCA9IE8obi5yZXZlcnNlZCwgdGhpcy5yZXZlcnNlZCksIHRoaXMudmlzaWJsZSA9IG4udmlzaWJsZSwgdGhpcy56b29tRW5hYmxlZCA9IG4uem9vbUVuYWJsZWQsIHRoaXMuaGFzTmFtZXMgPSAiY2F0ZWdvcnkiID09PSByIHx8ICEwID09PSBuLmNhdGVnb3JpZXMsIHRoaXMuY2F0ZWdvcmllcyA9IG4uY2F0ZWdvcmllcyB8fCB0aGlzLmhhc05hbWVzLCB0aGlzLm5hbWVzIHx8ICh0aGlzLm5hbWVzID0gW10sIHRoaXMubmFtZXMua2V5cyA9IHt9KSwgdGhpcy5wbG90TGluZXNBbmRCYW5kc0dyb3VwcyA9IHt9LCB0aGlzLnBvc2l0aXZlVmFsdWVzT25seSA9ICEhdGhpcy5sb2dhcml0aG1pYywgdGhpcy5pc0xpbmtlZCA9IG0obi5saW5rZWRUbyksIHRoaXMudGlja3MgPSB7fSwgdGhpcy5sYWJlbEVkZ2UgPSBbXSwgdGhpcy5taW5vclRpY2tzID0ge30sIHRoaXMucGxvdExpbmVzQW5kQmFuZHMgPSBbXSwgdGhpcy5hbHRlcm5hdGVCYW5kcyA9IHt9LCB0aGlzLmxlbiA9IDAsIHRoaXMubWluUmFuZ2UgPSB0aGlzLnVzZXJNaW5SYW5nZSA9IG4ubWluUmFuZ2UgfHwgbi5tYXhab29tLCB0aGlzLnJhbmdlID0gbi5yYW5nZSwgdGhpcy5vZmZzZXQgPSBuLm9mZnNldCB8fCAwLCB0aGlzLm1pbiA9IHRoaXMubWF4ID0gbnVsbCwgZSA9IE8obi5jcm9zc2hhaXIsIEwodC5vcHRpb25zLnRvb2x0aXAuY3Jvc3NoYWlycylbaSA/IDAgOiAxXSksIHRoaXMuY3Jvc3NoYWlyID0gITAgPT09IGUgPyB7fSA6IGUsIC0xID09PSB0LmF4ZXMuaW5kZXhPZih0aGlzKSAmJiAoaSA/IHQuYXhlcy5zcGxpY2UodC54QXhpcy5sZW5ndGgsIDAsIHRoaXMpIDogdC5heGVzLnB1c2godGhpcyksIHRbdGhpcy5jb2xsXS5wdXNoKHRoaXMpKSwgdGhpcy5zZXJpZXMgPSB0aGlzLnNlcmllcyB8fCBbXSwgdC5pbnZlcnRlZCAmJiAhdGhpcy5pc1pBeGlzICYmIGkgJiYgInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0aGlzLnJldmVyc2VkICYmICh0aGlzLnJldmVyc2VkID0gITApLCB0aGlzLmxhYmVsUm90YXRpb24gPSBTKG8ucm90YXRpb24pID8gby5yb3RhdGlvbiA6IHZvaWQgMCwgYyh0aGlzLCBuKSwgXyh0aGlzLCAiYWZ0ZXJJbml0Iik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRPcHRpb25zID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBNKGUuZGVmYXVsdFhBeGlzT3B0aW9ucywgInlBeGlzIiA9PT0gdGhpcy5jb2xsICYmIGUuZGVmYXVsdFlBeGlzT3B0aW9ucywgW2UuZGVmYXVsdFRvcEF4aXNPcHRpb25zLCBlLmRlZmF1bHRSaWdodEF4aXNPcHRpb25zLCBlLmRlZmF1bHRCb3R0b21BeGlzT3B0aW9ucywgZS5kZWZhdWx0TGVmdEF4aXNPcHRpb25zXVt0aGlzLnNpZGVdLCBNKGxbdGhpcy5jb2xsXSwgdCkpLCBfKHRoaXMsICJhZnRlclNldE9wdGlvbnMiLCB7IHVzZXJPcHRpb25zOiB0IH0pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZGVmYXVsdExhYmVsRm9ybWF0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuYXhpczsKICAgICAgICAgICAgdCA9IHRoaXMuY2hhcnQubnVtYmVyRm9ybWF0dGVyOwogICAgICAgICAgICB2YXIgaSA9IFModGhpcy52YWx1ZSkgPyB0aGlzLnZhbHVlIDogTmFOLCBuID0gZS5jaGFydC50aW1lLCBvID0gdGhpcy5kYXRlVGltZUxhYmVsRm9ybWF0LCByID0gbC5sYW5nLCBzID0gci5udW1lcmljU3ltYm9sczsKICAgICAgICAgICAgciA9IHIubnVtZXJpY1N5bWJvbE1hZ25pdHVkZSB8fCAxZTM7CiAgICAgICAgICAgIHZhciBhID0gZS5sb2dhcml0aG1pYyA/IE1hdGguYWJzKGkpIDogZS50aWNrSW50ZXJ2YWwsIGggPSBzICYmIHMubGVuZ3RoOwogICAgICAgICAgICBpZiAoZS5jYXRlZ29yaWVzKSB2YXIgYyA9ICIiICsgdGhpcy52YWx1ZTsgZWxzZSBpZiAobykgYyA9IG4uZGF0ZUZvcm1hdChvLCBpKTsgZWxzZSBpZiAoaCAmJiAxZTMgPD0gYSkgZm9yICg7IGgtLSAmJiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIGM7KSBlID0gTWF0aC5wb3cociwgaCArIDEpLCBhID49IGUgJiYgMCA9PT0gMTAgKiBpICUgZSAmJiBudWxsICE9PSBzW2hdICYmIDAgIT09IGkgJiYgKGMgPSB0KGkgLyBlLCAtMSkgKyBzW2hdKTsKICAgICAgICAgICAgcmV0dXJuICJ1bmRlZmluZWQiID09PSB0eXBlb2YgYyAmJiAoYyA9IDFlNCA8PSBNYXRoLmFicyhpKSA/IHQoaSwgLTEpIDogdChpLCAtMSwgdm9pZCAwLCAiIikpLCBjOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0U2VyaWVzRXh0cmVtZXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUgPSB0aGlzLCBpID0gZS5jaGFydDsKICAgICAgICAgICAgXyh0aGlzLCAiZ2V0U2VyaWVzRXh0cmVtZXMiLCBudWxsLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgZS5oYXNWaXNpYmxlU2VyaWVzID0gITEsIGUuZGF0YU1pbiA9IGUuZGF0YU1heCA9IGUudGhyZXNob2xkID0gbnVsbCwgZS5zb2Z0VGhyZXNob2xkID0gIWUuaXNYQXhpcywgZS5zdGFja2luZyAmJiBlLnN0YWNraW5nLmJ1aWxkU3RhY2tzKCksIGUuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgICAgIGlmIChuLnZpc2libGUgfHwgIWkub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMpIHsKICAgICAgICAgICAgICAgICAgdmFyIG8gPSBuLm9wdGlvbnMsIHIgPSBvLnRocmVzaG9sZDsKICAgICAgICAgICAgICAgICAgaWYgKGUuaGFzVmlzaWJsZVNlcmllcyA9ICEwLCBlLnBvc2l0aXZlVmFsdWVzT25seSAmJiAwID49IHIgJiYgKHIgPSBudWxsKSwgZS5pc1hBeGlzKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKG8gPSBuLnhEYXRhLCBvLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgbyA9IGUubG9nYXJpdGhtaWMgPyBvLmZpbHRlcihlLnZhbGlkYXRlUG9zaXRpdmVWYWx1ZSkgOiBvLCB0ID0gbi5nZXRYRXh0cmVtZXMobyk7CiAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IHQubWluLCBhID0gdC5tYXg7CiAgICAgICAgICAgICAgICAgICAgICBTKHMpIHx8IHMgaW5zdGFuY2VvZiBEYXRlIHx8IChvID0gby5maWx0ZXIoUyksIHQgPSBuLmdldFhFeHRyZW1lcyhvKSwgcyA9IHQubWluLCBhID0gdC5tYXgpLCBvLmxlbmd0aCAmJiAoZS5kYXRhTWluID0gTWF0aC5taW4oTyhlLmRhdGFNaW4sIHMpLCBzKSwgZS5kYXRhTWF4ID0gTWF0aC5tYXgoTyhlLmRhdGFNYXgsIGEpLCBhKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IGVsc2UgbiA9IG4uYXBwbHlFeHRyZW1lcygpLCBTKG4uZGF0YU1pbikgJiYgKHMgPSBuLmRhdGFNaW4sIGUuZGF0YU1pbiA9IE1hdGgubWluKE8oZS5kYXRhTWluLCBzKSwgcykpLCBTKG4uZGF0YU1heCkgJiYgKGEgPSBuLmRhdGFNYXgsIGUuZGF0YU1heCA9IE1hdGgubWF4KE8oZS5kYXRhTWF4LCBhKSwgYSkpLCBtKHIpICYmIChlLnRocmVzaG9sZCA9IHIpLCAoIW8uc29mdFRocmVzaG9sZCB8fCBlLnBvc2l0aXZlVmFsdWVzT25seSkgJiYgKGUuc29mdFRocmVzaG9sZCA9ICExKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKSwgXyh0aGlzLCAiYWZ0ZXJHZXRTZXJpZXNFeHRyZW1lcyIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudHJhbnNsYXRlID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgcikgewogICAgICAgICAgICB2YXIgcyA9IHRoaXMubGlua2VkUGFyZW50IHx8IHRoaXMsIGEgPSBuICYmIHMub2xkID8gcy5vbGQubWluIDogcy5taW4sIGggPSBzLm1pblBpeGVsUGFkZGluZzsKICAgICAgICAgICAgbyA9IChzLmlzT3JkaW5hbCB8fCBzLmJyb2tlbkF4aXMgJiYgcy5icm9rZW5BeGlzLmhhc0JyZWFrcyB8fCBzLmxvZ2FyaXRobWljICYmIG8pICYmIHMubGluMnZhbDsKICAgICAgICAgICAgdmFyIGwgPSAxLCBjID0gMDsKICAgICAgICAgICAgcmV0dXJuIG4gPSBuICYmIHMub2xkID8gcy5vbGQudHJhbnNBIDogcy50cmFuc0EsIG4gfHwgKG4gPSBzLnRyYW5zQSksIGkgJiYgKGwgKj0gLTEsIGMgPSBzLmxlbiksIHMucmV2ZXJzZWQgJiYgKGwgKj0gLTEsIGMgLT0gbCAqIChzLnNlY3RvciB8fCBzLmxlbikpLCBlID8gKHQgPSAodCAqIGwgKyBjIC0gaCkgLyBuICsgYSwgbyAmJiAodCA9IHMubGluMnZhbCh0KSkpIDogKG8gJiYgKHQgPSBzLnZhbDJsaW4odCkpLCB0ID0gUyhhKSA/IGwgKiAodCAtIGEpICogbiArIGMgKyBsICogaCArIChTKHIpID8gbiAqIHIgOiAwKSA6IHZvaWQgMCksIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS50b1BpeGVscyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKHQsICExLCAhdGhpcy5ob3JpeiwgbnVsbCwgITApICsgKGUgPyAwIDogdGhpcy5wb3MpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudG9WYWx1ZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKHQgLSAoZSA/IDAgOiB0aGlzLnBvcyksICEwLCAhdGhpcy5ob3JpeiwgbnVsbCwgITApOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0UGxvdExpbmVQYXRoID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBmdW5jdGlvbiBlKHQsIGUsIGkpIHsKICAgICAgICAgICAgICByZXR1cm4gKCJwYXNzIiAhPT0geCAmJiB0IDwgZSB8fCB0ID4gaSkgJiYgKHggPyB0ID0gZih0LCBlLCBpKSA6IHMgPSAhMCksIHQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBpLCBuLCBvLCByLCBzLCBhID0gdGhpcywgaCA9IGEuY2hhcnQsIGwgPSBhLmxlZnQsIGMgPSBhLnRvcCwgcCA9IHQub2xkLCBkID0gdC52YWx1ZSwgdSA9IHQubGluZVdpZHRoLAogICAgICAgICAgICAgIGcgPSBwICYmIGgub2xkQ2hhcnRIZWlnaHQgfHwgaC5jaGFydEhlaWdodCwgbSA9IHAgJiYgaC5vbGRDaGFydFdpZHRoIHx8IGguY2hhcnRXaWR0aCwgeSA9IGEudHJhbnNCLCB2ID0gdC50cmFuc2xhdGVkVmFsdWUsIHggPSB0LmZvcmNlOwogICAgICAgICAgICByZXR1cm4gdCA9IHsKICAgICAgICAgICAgICB2YWx1ZTogZCwKICAgICAgICAgICAgICBsaW5lV2lkdGg6IHUsCiAgICAgICAgICAgICAgb2xkOiBwLAogICAgICAgICAgICAgIGZvcmNlOiB4LAogICAgICAgICAgICAgIGFjcm9zc1BhbmVzOiB0LmFjcm9zc1BhbmVzLAogICAgICAgICAgICAgIHRyYW5zbGF0ZWRWYWx1ZTogdgogICAgICAgICAgICB9LCBfKHRoaXMsICJnZXRQbG90TGluZVBhdGgiLCB0LCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHYgPSBPKHYsIGEudHJhbnNsYXRlKGQsIG51bGwsIG51bGwsIHApKSwgdiA9IGYodiwgLTFlNSwgMWU1KSwgaSA9IG8gPSBNYXRoLnJvdW5kKHYgKyB5KSwgbiA9IHIgPSBNYXRoLnJvdW5kKGcgLSB2IC0geSksIFModikgPyBhLmhvcml6ID8gKG4gPSBjLCByID0gZyAtIGEuYm90dG9tLCBpID0gbyA9IGUoaSwgbCwgbCArIGEud2lkdGgpKSA6IChpID0gbCwgbyA9IG0gLSBhLnJpZ2h0LCBuID0gciA9IGUobiwgYywgYyArIGEuaGVpZ2h0KSkgOiAocyA9ICEwLCB4ID0gITEpLCB0LnBhdGggPSBzICYmICF4ID8gbnVsbCA6IGgucmVuZGVyZXIuY3Jpc3BMaW5lKFtbIk0iLCBpLCBuXSwgWyJMIiwgbywgcl1dLCB1IHx8IDEpOwogICAgICAgICAgICB9KSksIHQucGF0aDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldExpbmVhclRpY2tQb3NpdGlvbnMgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gZyhNYXRoLmZsb29yKGUgLyB0KSAqIHQpOwogICAgICAgICAgICBpID0gZyhNYXRoLmNlaWwoaSAvIHQpICogdCk7CiAgICAgICAgICAgIHZhciBvLCByID0gW107CiAgICAgICAgICAgIGlmIChnKG4gKyB0KSA9PT0gbiAmJiAobyA9IDIwKSwgdGhpcy5zaW5nbGUpIHJldHVybiBbZV07CiAgICAgICAgICAgIGZvciAoZSA9IG47IGUgPD0gaTspIHsKICAgICAgICAgICAgICBpZiAoci5wdXNoKGUpLCBlID0gZyhlICsgdCwgbyksIGUgPT09IHMpIGJyZWFrOwogICAgICAgICAgICAgIHZhciBzID0gZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcjsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldE1pbm9yVGlja0ludGVydmFsID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zOwogICAgICAgICAgICByZXR1cm4gITAgPT09IHQubWlub3JUaWNrcyA/IE8odC5taW5vclRpY2tJbnRlcnZhbCwgImF1dG8iKSA6ICExID09PSB0Lm1pbm9yVGlja3MgPyBudWxsIDogdC5taW5vclRpY2tJbnRlcnZhbDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldE1pbm9yVGlja1Bvc2l0aW9ucyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMub3B0aW9ucywgZSA9IHRoaXMudGlja1Bvc2l0aW9ucywgaSA9IHRoaXMubWlub3JUaWNrSW50ZXJ2YWwsIG4gPSB0aGlzLnBvaW50UmFuZ2VQYWRkaW5nIHx8IDAsIG8gPSB0aGlzLm1pbiAtIG47CiAgICAgICAgICAgIG4gPSB0aGlzLm1heCArIG47CiAgICAgICAgICAgIHZhciByID0gbiAtIG8sIHMgPSBbXTsKICAgICAgICAgICAgaWYgKHIgJiYgciAvIGkgPCB0aGlzLmxlbiAvIDMpIHsKICAgICAgICAgICAgICB2YXIgYSA9IHRoaXMubG9nYXJpdGhtaWM7CiAgICAgICAgICAgICAgaWYgKGEpIHRoaXMucGFkZGVkVGlja3MuZm9yRWFjaCgoZnVuY3Rpb24odCwgZSwgbikgewogICAgICAgICAgICAgICAgZSAmJiBzLnB1c2guYXBwbHkocywgYS5nZXRMb2dUaWNrUG9zaXRpb25zKGksIG5bZSAtIDFdLCBuW2VdLCAhMCkpOwogICAgICAgICAgICAgIH0pKTsgZWxzZSBpZiAodGhpcy5kYXRlVGltZSAmJiAiYXV0byIgPT09IHRoaXMuZ2V0TWlub3JUaWNrSW50ZXJ2YWwoKSkgcyA9IHMuY29uY2F0KHRoaXMuZ2V0VGltZVRpY2tzKHRoaXMuZGF0ZVRpbWUubm9ybWFsaXplVGltZVRpY2tJbnRlcnZhbChpKSwgbywgbiwgdC5zdGFydE9mV2VlaykpOyBlbHNlIGZvciAodCA9IG8gKyAoZVswXSAtIG8pICUgaTsgdCA8PSBuICYmIHQgIT09IHNbMF07IHQgKz0gaSkgcy5wdXNoKHQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAwICE9PSBzLmxlbmd0aCAmJiB0aGlzLnRyaW1UaWNrcyhzKSwgczsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFkanVzdEZvck1pblJhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBlLCBpLCBuLCBvID0gdGhpcy5vcHRpb25zLCByID0gdGhpcy5sb2dhcml0aG1pYywgcyA9IHRoaXMubWluLCBhID0gdGhpcy5tYXgsIGggPSAwOwogICAgICAgICAgICBpZiAodGhpcy5pc1hBeGlzICYmICJ1bmRlZmluZWQiID09PSB0eXBlb2YgdGhpcy5taW5SYW5nZSAmJiAhciAmJiAobShvLm1pbikgfHwgbShvLm1heCkgfHwgbShvLmZsb29yKSB8fCBtKG8uY2VpbGluZykgPyB0aGlzLm1pblJhbmdlID0gbnVsbCA6ICh0aGlzLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihvKSB7CiAgICAgICAgICAgICAgaWYgKGkgPSBvLnhEYXRhLCBuID0gby54SW5jcmVtZW50ID8gMSA6IGkubGVuZ3RoIC0gMSwgMSA8IGkubGVuZ3RoKSBmb3IgKHQgPSBuOyAwIDwgdDsgdC0tKSBlID0gaVt0XSAtIGlbdCAtIDFdLCAoIWggfHwgZSA8IGgpICYmIChoID0gZSk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5taW5SYW5nZSA9IE1hdGgubWluKDUgKiBoLCB0aGlzLmRhdGFNYXggLSB0aGlzLmRhdGFNaW4pKSksIGEgLSBzIDwgdGhpcy5taW5SYW5nZSkgewogICAgICAgICAgICAgIHZhciBsID0gdGhpcy5kYXRhTWF4IC0gdGhpcy5kYXRhTWluID49IHRoaXMubWluUmFuZ2UsIGMgPSB0aGlzLm1pblJhbmdlLCBwID0gKGMgLSBhICsgcykgLyAyOwogICAgICAgICAgICAgIHAgPSBbcyAtIHAsIE8oby5taW4sIHMgLSBwKV0sIGwgJiYgKHBbMl0gPSB0aGlzLmxvZ2FyaXRobWljID8gdGhpcy5sb2dhcml0aG1pYy5sb2cybGluKHRoaXMuZGF0YU1pbikgOiB0aGlzLmRhdGFNaW4pLCBzID0gZChwKSwgYSA9IFtzICsgYywgTyhvLm1heCwgcyArIGMpXSwgbCAmJiAoYVsyXSA9IHIgPyByLmxvZzJsaW4odGhpcy5kYXRhTWF4KSA6IHRoaXMuZGF0YU1heCksIGEgPSB1KGEpLCBhIC0gcyA8IGMgJiYgKHBbMF0gPSBhIC0gYywgcFsxXSA9IE8oby5taW4sIGEgLSBjKSwgcyA9IGQocCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMubWluID0gcywgdGhpcy5tYXggPSBhOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0Q2xvc2VzdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdDsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2F0ZWdvcmllcyA/IHQgPSAxIDogdGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHZhciBpID0gZS5jbG9zZXN0UG9pbnRSYW5nZSwgbiA9IGUudmlzaWJsZSB8fCAhZS5jaGFydC5vcHRpb25zLmNoYXJ0Lmlnbm9yZUhpZGRlblNlcmllczsKICAgICAgICAgICAgICAhZS5ub1NoYXJlZFRvb2x0aXAgJiYgbShpKSAmJiBuICYmICh0ID0gbSh0KSA/IE1hdGgubWluKHQsIGkpIDogaSk7CiAgICAgICAgICAgIH0pKSwgdDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm5hbWVUb1ggPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gayh0aGlzLmNhdGVnb3JpZXMpLCBpID0gZSA/IHRoaXMuY2F0ZWdvcmllcyA6IHRoaXMubmFtZXMsIG4gPSB0Lm9wdGlvbnMueDsKICAgICAgICAgICAgaWYgKHQuc2VyaWVzLnJlcXVpcmVTb3J0aW5nID0gITEsIG0obikgfHwgKG4gPSB0aGlzLm9wdGlvbnMudW5pcXVlTmFtZXMgPyBlID8gaS5pbmRleE9mKHQubmFtZSkgOiBPKGkua2V5c1t0Lm5hbWVdLCAtMSkgOiB0LnNlcmllcy5hdXRvSW5jcmVtZW50KCkpLCAtMSA9PT0gbikgewogICAgICAgICAgICAgIGlmICghZSkgdmFyIG8gPSBpLmxlbmd0aDsKICAgICAgICAgICAgfSBlbHNlIG8gPSBuOwogICAgICAgICAgICByZXR1cm4gInVuZGVmaW5lZCIgIT09IHR5cGVvZiBvICYmICh0aGlzLm5hbWVzW29dID0gdC5uYW1lLCB0aGlzLm5hbWVzLmtleXNbdC5uYW1lXSA9IG8pLCBvOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudXBkYXRlTmFtZXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdGhpcy5uYW1lczsKICAgICAgICAgICAgMCA8IGUubGVuZ3RoICYmIChPYmplY3Qua2V5cyhlLmtleXMpLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBkZWxldGUgZS5rZXlzW3RdOwogICAgICAgICAgICB9KSksIGUubGVuZ3RoID0gMCwgdGhpcy5taW5SYW5nZSA9IHRoaXMudXNlck1pblJhbmdlLCAodGhpcy5zZXJpZXMgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBlLnhJbmNyZW1lbnQgPSBudWxsLCBlLnBvaW50cyAmJiAhZS5pc0RpcnR5RGF0YSB8fCAodC5tYXggPSBNYXRoLm1heCh0Lm1heCwgZS54RGF0YS5sZW5ndGggLSAxKSwgZS5wcm9jZXNzRGF0YSgpLCBlLmdlbmVyYXRlUG9pbnRzKCkpLCBlLmRhdGEuZm9yRWFjaCgoZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgICAgICAgaWYgKGkgJiYgaS5vcHRpb25zICYmICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgaS5uYW1lKSB7CiAgICAgICAgICAgICAgICAgIHZhciBvID0gdC5uYW1lVG9YKGkpOwogICAgICAgICAgICAgICAgICAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIG8gJiYgbyAhPT0gaS54ICYmIChpLnggPSBvLCBlLnhEYXRhW25dID0gbyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9KSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0QXhpc1RyYW5zbGF0aW9uID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHQubWF4IC0gdC5taW4sIGkgPSB0LmxpbmtlZFBhcmVudCwgbiA9ICEhdC5jYXRlZ29yaWVzLCBvID0gdC5pc1hBeGlzLCByID0gdC5heGlzUG9pbnRSYW5nZSB8fCAwLCBzID0gMCwgYSA9IDAsIGggPSB0LnRyYW5zQTsKICAgICAgICAgICAgaWYgKG8gfHwgbiB8fCByKSB7CiAgICAgICAgICAgICAgdmFyIGwgPSB0LmdldENsb3Nlc3QoKTsKICAgICAgICAgICAgICBpID8gKHMgPSBpLm1pblBvaW50T2Zmc2V0LCBhID0gaS5wb2ludFJhbmdlUGFkZGluZykgOiB0LnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IG4gPyAxIDogbyA/IE8oZS5vcHRpb25zLnBvaW50UmFuZ2UsIGwsIDApIDogdC5heGlzUG9pbnRSYW5nZSB8fCAwLCBoID0gZS5vcHRpb25zLnBvaW50UGxhY2VtZW50OwogICAgICAgICAgICAgICAgciA9IE1hdGgubWF4KHIsIGkpLCB0LnNpbmdsZSAmJiAhbiB8fCAoZSA9IGUuaXMoInhyYW5nZSIpID8gIW8gOiBvLCBzID0gTWF0aC5tYXgocywgZSAmJiBDKGgpID8gMCA6IGkgLyAyKSwgYSA9IE1hdGgubWF4KGEsIGUgJiYgIm9uIiA9PT0gaCA/IDAgOiBpKSk7CiAgICAgICAgICAgICAgfSkpLCBpID0gdC5vcmRpbmFsICYmIHQub3JkaW5hbC5zbG9wZSAmJiBsID8gdC5vcmRpbmFsLnNsb3BlIC8gbCA6IDEsIHQubWluUG9pbnRPZmZzZXQgPSBzICo9IGksIHQucG9pbnRSYW5nZVBhZGRpbmcgPSBhICo9IGksIHQucG9pbnRSYW5nZSA9IE1hdGgubWluKHIsIHQuc2luZ2xlICYmIG4gPyAxIDogZSksIG8gJiYgKHQuY2xvc2VzdFBvaW50UmFuZ2UgPSBsKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0LnRyYW5zbGF0aW9uU2xvcGUgPSB0LnRyYW5zQSA9IGggPSB0LnN0YXRpY1NjYWxlIHx8IHQubGVuIC8gKGUgKyBhIHx8IDEpLCB0LnRyYW5zQiA9IHQuaG9yaXogPyB0LmxlZnQgOiB0LmJvdHRvbSwgdC5taW5QaXhlbFBhZGRpbmcgPSBoICogcywgXyh0aGlzLCAiYWZ0ZXJTZXRBeGlzVHJhbnNsYXRpb24iKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm1pbkZyb21SYW5nZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5tYXggLSB0aGlzLnJhbmdlOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0VGlja0ludGVydmFsID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQsIGkgPSB0aGlzLmxvZ2FyaXRobWljLCBuID0gdGhpcy5vcHRpb25zLCBvID0gdGhpcy5pc1hBeGlzLCByID0gdGhpcy5pc0xpbmtlZCwgcyA9IG4udGlja1BpeGVsSW50ZXJ2YWwsIGEgPSB0aGlzLmNhdGVnb3JpZXMsCiAgICAgICAgICAgICAgaCA9IHRoaXMuc29mdFRocmVzaG9sZCwgbCA9IG4ubWF4UGFkZGluZywgYyA9IG4ubWluUGFkZGluZywgcCA9IFMobi50aWNrSW50ZXJ2YWwpICYmIDAgPD0gbi50aWNrSW50ZXJ2YWwgPyBuLnRpY2tJbnRlcnZhbCA6IHZvaWQgMCwKICAgICAgICAgICAgICBkID0gUyh0aGlzLnRocmVzaG9sZCkgPyB0aGlzLnRocmVzaG9sZCA6IG51bGw7CiAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWUgfHwgYSB8fCByIHx8IHRoaXMuZ2V0VGlja0Ftb3VudCgpOwogICAgICAgICAgICB2YXIgdSA9IE8odGhpcy51c2VyTWluLCBuLm1pbiksIGYgPSBPKHRoaXMudXNlck1heCwgbi5tYXgpOwogICAgICAgICAgICBpZiAocikgewogICAgICAgICAgICAgIHRoaXMubGlua2VkUGFyZW50ID0gZVt0aGlzLmNvbGxdW24ubGlua2VkVG9dOwogICAgICAgICAgICAgIHZhciB5ID0gdGhpcy5saW5rZWRQYXJlbnQuZ2V0RXh0cmVtZXMoKTsKICAgICAgICAgICAgICB0aGlzLm1pbiA9IE8oeS5taW4sIHkuZGF0YU1pbiksIHRoaXMubWF4ID0gTyh5Lm1heCwgeS5kYXRhTWF4KSwgbi50eXBlICE9PSB0aGlzLmxpbmtlZFBhcmVudC5vcHRpb25zLnR5cGUgJiYgeCgxMSwgMSwgZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaWYgKGggJiYgbShkKSkgaWYgKHRoaXMuZGF0YU1pbiA+PSBkKSB5ID0gZCwgYyA9IDA7IGVsc2UgaWYgKHRoaXMuZGF0YU1heCA8PSBkKSB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IGQ7CiAgICAgICAgICAgICAgICBsID0gMDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgdGhpcy5taW4gPSBPKHUsIHksIHRoaXMuZGF0YU1pbiksIHRoaXMubWF4ID0gTyhmLCB2LCB0aGlzLmRhdGFNYXgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpICYmICh0aGlzLnBvc2l0aXZlVmFsdWVzT25seSAmJiAhdCAmJiAwID49IE1hdGgubWluKHRoaXMubWluLCBPKHRoaXMuZGF0YU1pbiwgdGhpcy5taW4pKSAmJiB4KDEwLCAxLCBlKSwgdGhpcy5taW4gPSBnKGkubG9nMmxpbih0aGlzLm1pbiksIDE2KSwgdGhpcy5tYXggPSBnKGkubG9nMmxpbih0aGlzLm1heCksIDE2KSksIHRoaXMucmFuZ2UgJiYgbSh0aGlzLm1heCkgJiYgKHRoaXMudXNlck1pbiA9IHRoaXMubWluID0gdSA9IE1hdGgubWF4KHRoaXMuZGF0YU1pbiwgdGhpcy5taW5Gcm9tUmFuZ2UoKSksIHRoaXMudXNlck1heCA9IGYgPSB0aGlzLm1heCwgdGhpcy5yYW5nZSA9IG51bGwpLCBfKHRoaXMsICJmb3VuZEV4dHJlbWVzIiksIHRoaXMuYmVmb3JlUGFkZGluZyAmJiB0aGlzLmJlZm9yZVBhZGRpbmcoKSwgdGhpcy5hZGp1c3RGb3JNaW5SYW5nZSgpLCAhKGEgfHwgdGhpcy5heGlzUG9pbnRSYW5nZSB8fCB0aGlzLnN0YWNraW5nICYmIHRoaXMuc3RhY2tpbmcudXNlUGVyY2VudGFnZSB8fCByKSAmJiBtKHRoaXMubWluKSAmJiBtKHRoaXMubWF4KSAmJiAoZSA9IHRoaXMubWF4IC0gdGhpcy5taW4pICYmICghbSh1KSAmJiBjICYmICh0aGlzLm1pbiAtPSBlICogYyksICFtKGYpICYmIGwgJiYgKHRoaXMubWF4ICs9IGUgKiBsKSksIFModGhpcy51c2VyTWluKSB8fCAoUyhuLnNvZnRNaW4pICYmIG4uc29mdE1pbiA8IHRoaXMubWluICYmICh0aGlzLm1pbiA9IHUgPSBuLnNvZnRNaW4pLCBTKG4uZmxvb3IpICYmICh0aGlzLm1pbiA9IE1hdGgubWF4KHRoaXMubWluLCBuLmZsb29yKSkpLCBTKHRoaXMudXNlck1heCkgfHwgKFMobi5zb2Z0TWF4KSAmJiBuLnNvZnRNYXggPiB0aGlzLm1heCAmJiAodGhpcy5tYXggPSBmID0gbi5zb2Z0TWF4KSwgUyhuLmNlaWxpbmcpICYmICh0aGlzLm1heCA9IE1hdGgubWluKHRoaXMubWF4LCBuLmNlaWxpbmcpKSksIGggJiYgbSh0aGlzLmRhdGFNaW4pICYmIChkID0gZCB8fCAwLCAhbSh1KSAmJiB0aGlzLm1pbiA8IGQgJiYgdGhpcy5kYXRhTWluID49IGQgPyB0aGlzLm1pbiA9IHRoaXMub3B0aW9ucy5taW5SYW5nZSA/IE1hdGgubWluKGQsIHRoaXMubWF4IC0gdGhpcy5taW5SYW5nZSkgOiBkIDogIW0oZikgJiYgdGhpcy5tYXggPiBkICYmIHRoaXMuZGF0YU1heCA8PSBkICYmICh0aGlzLm1heCA9IHRoaXMub3B0aW9ucy5taW5SYW5nZSA/IE1hdGgubWF4KGQsIHRoaXMubWluICsgdGhpcy5taW5SYW5nZSkgOiBkKSksIFModGhpcy5taW4pICYmIFModGhpcy5tYXgpICYmICF0aGlzLmNoYXJ0LnBvbGFyICYmIHRoaXMubWluID4gdGhpcy5tYXggJiYgKG0odGhpcy5vcHRpb25zLm1pbikgPyB0aGlzLm1heCA9IHRoaXMubWluIDogbSh0aGlzLm9wdGlvbnMubWF4KSAmJiAodGhpcy5taW4gPSB0aGlzLm1heCkpLCB0aGlzLnRpY2tJbnRlcnZhbCA9IHRoaXMubWluID09PSB0aGlzLm1heCB8fCAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHRoaXMubWluIHx8ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgdGhpcy5tYXggPyAxIDogciAmJiB0aGlzLmxpbmtlZFBhcmVudCAmJiAhcCAmJiBzID09PSB0aGlzLmxpbmtlZFBhcmVudC5vcHRpb25zLnRpY2tQaXhlbEludGVydmFsID8gcCA9IHRoaXMubGlua2VkUGFyZW50LnRpY2tJbnRlcnZhbCA6IE8ocCwgdGhpcy50aWNrQW1vdW50ID8gKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gTWF0aC5tYXgodGhpcy50aWNrQW1vdW50IC0gMSwgMSkgOiB2b2lkIDAsIGEgPyAxIDogKHRoaXMubWF4IC0gdGhpcy5taW4pICogcyAvIE1hdGgubWF4KHRoaXMubGVuLCBzKSksIG8gJiYgIXQpIHsKICAgICAgICAgICAgICB2YXIgYiA9IHRoaXMubWluICE9PSAodGhpcy5vbGQgJiYgdGhpcy5vbGQubWluKSB8fCB0aGlzLm1heCAhPT0gKHRoaXMub2xkICYmIHRoaXMub2xkLm1heCk7CiAgICAgICAgICAgICAgdGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdC5mb3JjZUNyb3AgPSB0LmZvcmNlQ3JvcHBpbmcgJiYgdC5mb3JjZUNyb3BwaW5nKCksIHQucHJvY2Vzc0RhdGEoYik7CiAgICAgICAgICAgICAgfSkpLCBfKHRoaXMsICJwb3N0UHJvY2Vzc0RhdGEiLCB7IGhhc0V4dGVtZXNDaGFuZ2VkOiBiIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuc2V0QXhpc1RyYW5zbGF0aW9uKCksIF8odGhpcywgImluaXRpYWxBeGlzVHJhbnNsYXRpb24iKSwgdGhpcy5wb2ludFJhbmdlICYmICFwICYmICh0aGlzLnRpY2tJbnRlcnZhbCA9IE1hdGgubWF4KHRoaXMucG9pbnRSYW5nZSwgdGhpcy50aWNrSW50ZXJ2YWwpKSwgdCA9IE8obi5taW5UaWNrSW50ZXJ2YWwsIHRoaXMuZGF0ZVRpbWUgJiYgIXRoaXMuc2VyaWVzLnNvbWUoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdC5ub1NoYXJlZFRvb2x0aXA7CiAgICAgICAgICAgIH0pKSA/IHRoaXMuY2xvc2VzdFBvaW50UmFuZ2UgOiAwKSwgIXAgJiYgdGhpcy50aWNrSW50ZXJ2YWwgPCB0ICYmICh0aGlzLnRpY2tJbnRlcnZhbCA9IHQpLCB0aGlzLmRhdGVUaW1lIHx8IHRoaXMubG9nYXJpdGhtaWMgfHwgcCB8fCAodGhpcy50aWNrSW50ZXJ2YWwgPSBBKHRoaXMudGlja0ludGVydmFsLCB2b2lkIDAsIHcodGhpcy50aWNrSW50ZXJ2YWwpLCBPKG4uYWxsb3dEZWNpbWFscywgLjUgPiB0aGlzLnRpY2tJbnRlcnZhbCB8fCB2b2lkIDAgIT09IHRoaXMudGlja0Ftb3VudCksICEhdGhpcy50aWNrQW1vdW50KSksIHRoaXMudGlja0Ftb3VudCB8fCAodGhpcy50aWNrSW50ZXJ2YWwgPSB0aGlzLnVuc3F1aXNoKCkpLCB0aGlzLnNldFRpY2tQb3NpdGlvbnMoKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldFRpY2tQb3NpdGlvbnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm9wdGlvbnMsIGUgPSB0LnRpY2tQb3NpdGlvbnMsIGkgPSB0aGlzLmdldE1pbm9yVGlja0ludGVydmFsKCksIG4gPSB0aGlzLmhhc1ZlcnRpY2FsUGFubmluZygpLCBvID0gImNvbG9yQXhpcyIgPT09IHRoaXMuY29sbCwKICAgICAgICAgICAgICByID0gKG8gfHwgIW4pICYmIHQuc3RhcnRPblRpY2s7CiAgICAgICAgICAgIG4gPSAobyB8fCAhbikgJiYgdC5lbmRPblRpY2ssIG8gPSB0LnRpY2tQb3NpdGlvbmVyLCB0aGlzLnRpY2ttYXJrT2Zmc2V0ID0gdGhpcy5jYXRlZ29yaWVzICYmICJiZXR3ZWVuIiA9PT0gdC50aWNrbWFya1BsYWNlbWVudCAmJiAxID09PSB0aGlzLnRpY2tJbnRlcnZhbCA/IC41IDogMCwgdGhpcy5taW5vclRpY2tJbnRlcnZhbCA9ICJhdXRvIiA9PT0gaSAmJiB0aGlzLnRpY2tJbnRlcnZhbCA/IHRoaXMudGlja0ludGVydmFsIC8gNSA6IGksIHRoaXMuc2luZ2xlID0gdGhpcy5taW4gPT09IHRoaXMubWF4ICYmIG0odGhpcy5taW4pICYmICF0aGlzLnRpY2tBbW91bnQgJiYgKHBhcnNlSW50KHRoaXMubWluLCAxMCkgPT09IHRoaXMubWluIHx8ICExICE9PSB0LmFsbG93RGVjaW1hbHMpLCB0aGlzLnRpY2tQb3NpdGlvbnMgPSBpID0gZSAmJiBlLnNsaWNlKCksICFpICYmICh0aGlzLm9yZGluYWwgJiYgdGhpcy5vcmRpbmFsLnBvc2l0aW9ucyB8fCAhKCh0aGlzLm1heCAtIHRoaXMubWluKSAvIHRoaXMudGlja0ludGVydmFsID4gTWF0aC5tYXgoMiAqIHRoaXMubGVuLCAyMDApKSA/IGkgPSB0aGlzLmRhdGVUaW1lID8gdGhpcy5nZXRUaW1lVGlja3ModGhpcy5kYXRlVGltZS5ub3JtYWxpemVUaW1lVGlja0ludGVydmFsKHRoaXMudGlja0ludGVydmFsLCB0LnVuaXRzKSwgdGhpcy5taW4sIHRoaXMubWF4LCB0LnN0YXJ0T2ZXZWVrLCB0aGlzLm9yZGluYWwgJiYgdGhpcy5vcmRpbmFsLnBvc2l0aW9ucywgdGhpcy5jbG9zZXN0UG9pbnRSYW5nZSwgITApIDogdGhpcy5sb2dhcml0aG1pYyA/IHRoaXMubG9nYXJpdGhtaWMuZ2V0TG9nVGlja1Bvc2l0aW9ucyh0aGlzLnRpY2tJbnRlcnZhbCwgdGhpcy5taW4sIHRoaXMubWF4KSA6IHRoaXMuZ2V0TGluZWFyVGlja1Bvc2l0aW9ucyh0aGlzLnRpY2tJbnRlcnZhbCwgdGhpcy5taW4sIHRoaXMubWF4KSA6IChpID0gW3RoaXMubWluLCB0aGlzLm1heF0sIHgoMTksICExLCB0aGlzLmNoYXJ0KSksIGkubGVuZ3RoID4gdGhpcy5sZW4gJiYgKGkgPSBbaVswXSwgaS5wb3AoKV0sIGlbMF0gPT09IGlbMV0gJiYgKGkubGVuZ3RoID0gMSkpLCB0aGlzLnRpY2tQb3NpdGlvbnMgPSBpLCBvICYmIChvID0gby5hcHBseSh0aGlzLCBbdGhpcy5taW4sIHRoaXMubWF4XSkpKSAmJiAodGhpcy50aWNrUG9zaXRpb25zID0gaSA9IG8pLCB0aGlzLnBhZGRlZFRpY2tzID0gaS5zbGljZSgwKSwgdGhpcy50cmltVGlja3MoaSwgciwgbiksIHRoaXMuaXNMaW5rZWQgfHwgKHRoaXMuc2luZ2xlICYmIDIgPiBpLmxlbmd0aCAmJiAhdGhpcy5jYXRlZ29yaWVzICYmICF0aGlzLnNlcmllcy5zb21lKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQuaXMoImhlYXRtYXAiKSAmJiAiYmV0d2VlbiIgPT09IHQub3B0aW9ucy5wb2ludFBsYWNlbWVudDsKICAgICAgICAgICAgfSkpICYmICh0aGlzLm1pbiAtPSAuNSwgdGhpcy5tYXggKz0gLjUpLCBlIHx8IG8gfHwgdGhpcy5hZGp1c3RUaWNrQW1vdW50KCkpLCBfKHRoaXMsICJhZnRlclNldFRpY2tQb3NpdGlvbnMiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnRyaW1UaWNrcyA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0WzBdLCBvID0gdFt0Lmxlbmd0aCAtIDFdLCByID0gIXRoaXMuaXNPcmRpbmFsICYmIHRoaXMubWluUG9pbnRPZmZzZXQgfHwgMDsKICAgICAgICAgICAgaWYgKF8odGhpcywgInRyaW1UaWNrcyIpLCAhdGhpcy5pc0xpbmtlZCkgewogICAgICAgICAgICAgIGlmIChlICYmIC0xIC8gMCAhPT0gbikgdGhpcy5taW4gPSBuOyBlbHNlIGZvciAoOyB0aGlzLm1pbiAtIHIgPiB0WzBdOykgdC5zaGlmdCgpOwogICAgICAgICAgICAgIGlmIChpKSB0aGlzLm1heCA9IG87IGVsc2UgZm9yICg7IHRoaXMubWF4ICsgciA8IHRbdC5sZW5ndGggLSAxXTspIHQucG9wKCk7CiAgICAgICAgICAgICAgMCA9PT0gdC5sZW5ndGggJiYgbShuKSAmJiAhdGhpcy5vcHRpb25zLnRpY2tQb3NpdGlvbnMgJiYgdC5wdXNoKChvICsgbikgLyAyKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWxpZ25Ub090aGVycyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSA9IHt9LCBpID0gdGhpcy5vcHRpb25zOwogICAgICAgICAgICByZXR1cm4gITEgIT09IHRoaXMuY2hhcnQub3B0aW9ucy5jaGFydC5hbGlnblRpY2tzICYmIGkuYWxpZ25UaWNrcyAmJiAhMSAhPT0gaS5zdGFydE9uVGljayAmJiAhMSAhPT0gaS5lbmRPblRpY2sgJiYgIXRoaXMubG9nYXJpdGhtaWMgJiYgdGhpcy5jaGFydFt0aGlzLmNvbGxdLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICB2YXIgbiA9IGkub3B0aW9uczsKICAgICAgICAgICAgICBuID0gW2kuaG9yaXogPyBuLmxlZnQgOiBuLnRvcCwgbi53aWR0aCwgbi5oZWlnaHQsIG4ucGFuZV0uam9pbigpLCBpLnNlcmllcy5sZW5ndGggJiYgKGVbbl0gPyB0ID0gITAgOiBlW25dID0gMSk7CiAgICAgICAgICAgIH0pKSwgdDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFRpY2tBbW91bnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm9wdGlvbnMsIGUgPSB0LnRpY2tQaXhlbEludGVydmFsLCBpID0gdC50aWNrQW1vdW50OwogICAgICAgICAgICAhbSh0LnRpY2tJbnRlcnZhbCkgJiYgIWkgJiYgdGhpcy5sZW4gPCBlICYmICF0aGlzLmlzUmFkaWFsICYmICF0aGlzLmxvZ2FyaXRobWljICYmIHQuc3RhcnRPblRpY2sgJiYgdC5lbmRPblRpY2sgJiYgKGkgPSAyKSwgIWkgJiYgdGhpcy5hbGlnblRvT3RoZXJzKCkgJiYgKGkgPSBNYXRoLmNlaWwodGhpcy5sZW4gLyBlKSArIDEpLCA0ID4gaSAmJiAodGhpcy5maW5hbFRpY2tBbXQgPSBpLCBpID0gNSksIHRoaXMudGlja0Ftb3VudCA9IGk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGp1c3RUaWNrQW1vdW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLCBlID0gdGhpcy50aWNrSW50ZXJ2YWwsIGkgPSB0aGlzLnRpY2tQb3NpdGlvbnMsIG4gPSB0aGlzLnRpY2tBbW91bnQsIG8gPSB0aGlzLmZpbmFsVGlja0FtdCwgciA9IGkgJiYgaS5sZW5ndGgsCiAgICAgICAgICAgICAgcyA9IE8odGhpcy50aHJlc2hvbGQsIHRoaXMuc29mdFRocmVzaG9sZCA/IDAgOiBudWxsKTsKICAgICAgICAgICAgaWYgKHRoaXMuaGFzRGF0YSgpICYmIFModGhpcy5taW4pICYmIFModGhpcy5tYXgpKSB7CiAgICAgICAgICAgICAgaWYgKHIgPCBuKSB7CiAgICAgICAgICAgICAgICBmb3IgKDsgaS5sZW5ndGggPCBuOykgaS5sZW5ndGggJSAyIHx8IHRoaXMubWluID09PSBzID8gaS5wdXNoKGcoaVtpLmxlbmd0aCAtIDFdICsgZSkpIDogaS51bnNoaWZ0KGcoaVswXSAtIGUpKTsKICAgICAgICAgICAgICAgIHRoaXMudHJhbnNBICo9IChyIC0gMSkgLyAobiAtIDEpLCB0aGlzLm1pbiA9IHQuc3RhcnRPblRpY2sgPyBpWzBdIDogTWF0aC5taW4odGhpcy5taW4sIGlbMF0pLCB0aGlzLm1heCA9IHQuZW5kT25UaWNrID8gaVtpLmxlbmd0aCAtIDFdIDogTWF0aC5tYXgodGhpcy5tYXgsIGlbaS5sZW5ndGggLSAxXSk7CiAgICAgICAgICAgICAgfSBlbHNlIHIgPiBuICYmICh0aGlzLnRpY2tJbnRlcnZhbCAqPSAyLCB0aGlzLnNldFRpY2tQb3NpdGlvbnMoKSk7CiAgICAgICAgICAgICAgaWYgKG0obykpIHsKICAgICAgICAgICAgICAgIGZvciAoZSA9IHQgPSBpLmxlbmd0aDsgZS0tOykgKDMgPT09IG8gJiYgMSA9PT0gZSAlIDIgfHwgMiA+PSBvICYmIDAgPCBlICYmIGUgPCB0IC0gMSkgJiYgaS5zcGxpY2UoZSwgMSk7CiAgICAgICAgICAgICAgICB0aGlzLmZpbmFsVGlja0FtdCA9IHZvaWQgMDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldFNjYWxlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gITEsIGUgPSAhMTsKICAgICAgICAgICAgdGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oaSkgewogICAgICAgICAgICAgIHQgPSB0IHx8IGkuaXNEaXJ0eURhdGEgfHwgaS5pc0RpcnR5LCBlID0gZSB8fCBpLnhBeGlzICYmIGkueEF4aXMuaXNEaXJ0eSB8fCAhMTsKICAgICAgICAgICAgfSkpLCB0aGlzLnNldEF4aXNTaXplKCk7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5sZW4gIT09ICh0aGlzLm9sZCAmJiB0aGlzLm9sZC5sZW4pOwogICAgICAgICAgICBpIHx8IHQgfHwgZSB8fCB0aGlzLmlzTGlua2VkIHx8IHRoaXMuZm9yY2VSZWRyYXcgfHwgdGhpcy51c2VyTWluICE9PSAodGhpcy5vbGQgJiYgdGhpcy5vbGQudXNlck1pbikgfHwgdGhpcy51c2VyTWF4ICE9PSAodGhpcy5vbGQgJiYgdGhpcy5vbGQudXNlck1heCkgfHwgdGhpcy5hbGlnblRvT3RoZXJzKCkgPyAodGhpcy5zdGFja2luZyAmJiB0aGlzLnN0YWNraW5nLnJlc2V0U3RhY2tzKCksIHRoaXMuZm9yY2VSZWRyYXcgPSAhMSwgdGhpcy5nZXRTZXJpZXNFeHRyZW1lcygpLCB0aGlzLnNldFRpY2tJbnRlcnZhbCgpLCB0aGlzLmlzRGlydHkgfHwgKHRoaXMuaXNEaXJ0eSA9IGkgfHwgdGhpcy5taW4gIT09ICh0aGlzLm9sZCAmJiB0aGlzLm9sZC5taW4pIHx8IHRoaXMubWF4ICE9PSAodGhpcy5vbGQgJiYgdGhpcy5vbGQubWF4KSkpIDogdGhpcy5zdGFja2luZyAmJiB0aGlzLnN0YWNraW5nLmNsZWFuU3RhY2tzKCksIHQgJiYgdGhpcy5wYW5uaW5nU3RhdGUgJiYgKHRoaXMucGFubmluZ1N0YXRlLmlzRGlydHkgPSAhMCksIF8odGhpcywgImFmdGVyU2V0U2NhbGUiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldEV4dHJlbWVzID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbykgewogICAgICAgICAgICB2YXIgciA9IHRoaXMsIHMgPSByLmNoYXJ0OwogICAgICAgICAgICBpID0gTyhpLCAhMCksIHIuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBkZWxldGUgdC5rZFRyZWU7CiAgICAgICAgICAgIH0pKSwgbyA9IGIobywgeyBtaW46IHQsIG1heDogZSB9KSwgXyhyLCAic2V0RXh0cmVtZXMiLCBvLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgci51c2VyTWluID0gdCwgci51c2VyTWF4ID0gZSwgci5ldmVudEFyZ3MgPSBvLCBpICYmIHMucmVkcmF3KG4pOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS56b29tID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMsIG4gPSB0aGlzLmRhdGFNaW4sIG8gPSB0aGlzLmRhdGFNYXgsIHIgPSB0aGlzLm9wdGlvbnMsIHMgPSBNYXRoLm1pbihuLCBPKHIubWluLCBuKSksIGEgPSBNYXRoLm1heChvLCBPKHIubWF4LCBvKSk7CiAgICAgICAgICAgIHJldHVybiB0ID0geyBuZXdNaW46IHQsIG5ld01heDogZSB9LCBfKHRoaXMsICJ6b29tIiwgdCwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHQubmV3TWluLCByID0gdC5uZXdNYXg7CiAgICAgICAgICAgICAgZSA9PT0gaS5taW4gJiYgciA9PT0gaS5tYXggfHwgKGkuYWxsb3dab29tT3V0c2lkZSB8fCAobShuKSAmJiAoZSA8IHMgJiYgKGUgPSBzKSwgZSA+IGEgJiYgKGUgPSBhKSksIG0obykgJiYgKHIgPCBzICYmIChyID0gcyksIHIgPiBhICYmIChyID0gYSkpKSwgaS5kaXNwbGF5QnRuID0gInVuZGVmaW5lZCIgIT09IHR5cGVvZiBlIHx8ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgciwgaS5zZXRFeHRyZW1lcyhlLCByLCAhMSwgdm9pZCAwLCB7IHRyaWdnZXI6ICJ6b29tIiB9KSksIHQuem9vbWVkID0gITA7CiAgICAgICAgICAgIH0pKSwgdC56b29tZWQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRBeGlzU2l6ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQsIGUgPSB0aGlzLm9wdGlvbnMsIGkgPSBlLm9mZnNldHMgfHwgWzAsIDAsIDAsIDBdLCBuID0gdGhpcy5ob3JpeiwKICAgICAgICAgICAgICBvID0gdGhpcy53aWR0aCA9IE1hdGgucm91bmQoVChPKGUud2lkdGgsIHQucGxvdFdpZHRoIC0gaVszXSArIGlbMV0pLCB0LnBsb3RXaWR0aCkpLAogICAgICAgICAgICAgIHIgPSB0aGlzLmhlaWdodCA9IE1hdGgucm91bmQoVChPKGUuaGVpZ2h0LCB0LnBsb3RIZWlnaHQgLSBpWzBdICsgaVsyXSksIHQucGxvdEhlaWdodCkpLAogICAgICAgICAgICAgIHMgPSB0aGlzLnRvcCA9IE1hdGgucm91bmQoVChPKGUudG9wLCB0LnBsb3RUb3AgKyBpWzBdKSwgdC5wbG90SGVpZ2h0LCB0LnBsb3RUb3ApKTsKICAgICAgICAgICAgZSA9IHRoaXMubGVmdCA9IE1hdGgucm91bmQoVChPKGUubGVmdCwgdC5wbG90TGVmdCArIGlbM10pLCB0LnBsb3RXaWR0aCwgdC5wbG90TGVmdCkpLCB0aGlzLmJvdHRvbSA9IHQuY2hhcnRIZWlnaHQgLSByIC0gcywgdGhpcy5yaWdodCA9IHQuY2hhcnRXaWR0aCAtIG8gLSBlLCB0aGlzLmxlbiA9IE1hdGgubWF4KG4gPyBvIDogciwgMCksIHRoaXMucG9zID0gbiA/IGUgOiBzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0RXh0cmVtZXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmxvZ2FyaXRobWljOwogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgIG1pbjogdCA/IGcodC5saW4ybG9nKHRoaXMubWluKSkgOiB0aGlzLm1pbiwKICAgICAgICAgICAgICBtYXg6IHQgPyBnKHQubGluMmxvZyh0aGlzLm1heCkpIDogdGhpcy5tYXgsCiAgICAgICAgICAgICAgZGF0YU1pbjogdGhpcy5kYXRhTWluLAogICAgICAgICAgICAgIGRhdGFNYXg6IHRoaXMuZGF0YU1heCwKICAgICAgICAgICAgICB1c2VyTWluOiB0aGlzLnVzZXJNaW4sCiAgICAgICAgICAgICAgdXNlck1heDogdGhpcy51c2VyTWF4CiAgICAgICAgICAgIH07CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRUaHJlc2hvbGQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5sb2dhcml0aG1pYywgaSA9IGUgPyBlLmxpbjJsb2codGhpcy5taW4pIDogdGhpcy5taW47CiAgICAgICAgICAgIHJldHVybiBlID0gZSA/IGUubGluMmxvZyh0aGlzLm1heCkgOiB0aGlzLm1heCwgbnVsbCA9PT0gdCB8fCAtMSAvIDAgPT09IHQgPyB0ID0gaSA6IDEgLyAwID09PSB0ID8gdCA9IGUgOiBpID4gdCA/IHQgPSBpIDogZSA8IHQgJiYgKHQgPSBlKSwgdGhpcy50cmFuc2xhdGUodCwgMCwgMSwgMCwgMSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hdXRvTGFiZWxBbGlnbiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSAoTyh0LCAwKSAtIDkwICogdGhpcy5zaWRlICsgNzIwKSAlIDM2MDsKICAgICAgICAgICAgcmV0dXJuIHQgPSB7IGFsaWduOiAiY2VudGVyIiB9LCBfKHRoaXMsICJhdXRvTGFiZWxBbGlnbiIsIHQsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgMTUgPCBlICYmIDE2NSA+IGUgPyB0LmFsaWduID0gInJpZ2h0IiA6IDE5NSA8IGUgJiYgMzQ1ID4gZSAmJiAodC5hbGlnbiA9ICJsZWZ0Iik7CiAgICAgICAgICAgIH0pKSwgdC5hbGlnbjsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnRpY2tTaXplID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMub3B0aW9ucywgaSA9IE8oZVsidGljayIgPT09IHQgPyAidGlja1dpZHRoIiA6ICJtaW5vclRpY2tXaWR0aCJdLCAidGljayIgPT09IHQgJiYgdGhpcy5pc1hBeGlzICYmICF0aGlzLmNhdGVnb3JpZXMgPyAxIDogMCksCiAgICAgICAgICAgICAgbiA9IGVbInRpY2siID09PSB0ID8gInRpY2tMZW5ndGgiIDogIm1pbm9yVGlja0xlbmd0aCJdOwogICAgICAgICAgICBpZiAoaSAmJiBuKSB7CiAgICAgICAgICAgICAgImluc2lkZSIgPT09IGVbdCArICJQb3NpdGlvbiJdICYmIChuID0gLW4pOwogICAgICAgICAgICAgIHZhciBvID0gW24sIGldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0ID0geyB0aWNrU2l6ZTogbyB9LCBfKHRoaXMsICJhZnRlclRpY2tTaXplIiwgdCksIHQudGlja1NpemU7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5sYWJlbE1ldHJpY3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnRpY2tQb3NpdGlvbnMgJiYgdGhpcy50aWNrUG9zaXRpb25zWzBdIHx8IDA7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoYXJ0LnJlbmRlcmVyLmZvbnRNZXRyaWNzKHRoaXMub3B0aW9ucy5sYWJlbHMuc3R5bGUuZm9udFNpemUsIHRoaXMudGlja3NbdF0gJiYgdGhpcy50aWNrc1t0XS5sYWJlbCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS51bnNxdWlzaCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSwgaSA9IHRoaXMub3B0aW9ucy5sYWJlbHMsIG4gPSB0aGlzLmhvcml6LCBvID0gdGhpcy50aWNrSW50ZXJ2YWwsIHIgPSB0aGlzLmxlbiAvICgoKHRoaXMuY2F0ZWdvcmllcyA/IDEgOiAwKSArIHRoaXMubWF4IC0gdGhpcy5taW4pIC8gbyksCiAgICAgICAgICAgICAgcyA9IGkucm90YXRpb24sIGEgPSB0aGlzLmxhYmVsTWV0cmljcygpLCBoID0gTWF0aC5tYXgodGhpcy5tYXggLSB0aGlzLm1pbiwgMCksIGwgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHQgLyAociB8fCAxKTsKICAgICAgICAgICAgICAgIHJldHVybiBlID0gMSA8IGUgPyBNYXRoLmNlaWwoZSkgOiAxLCBlICogbyA+IGggJiYgMSAvIDAgIT09IHQgJiYgMSAvIDAgIT09IHIgJiYgaCAmJiAoZSA9IE1hdGguY2VpbChoIC8gbykpLCBnKGUgKiBvKTsKICAgICAgICAgICAgICB9LCBjID0gbywgZCA9IE51bWJlci5NQVhfVkFMVUU7CiAgICAgICAgICAgIGlmIChuKSB7CiAgICAgICAgICAgICAgaWYgKCFpLnN0YWdnZXJMaW5lcyAmJiAhaS5zdGVwKSBpZiAoUyhzKSkgdmFyIHUgPSBbc107IGVsc2UgciA8IGkuYXV0b1JvdGF0aW9uTGltaXQgJiYgKHUgPSBpLmF1dG9Sb3RhdGlvbik7CiAgICAgICAgICAgICAgdSAmJiB1LmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAgIGlmIChpID09PSBzIHx8IGkgJiYgLTkwIDw9IGkgJiYgOTAgPj0gaSkgewogICAgICAgICAgICAgICAgICBlID0gbChNYXRoLmFicyhhLmggLyBNYXRoLnNpbihwICogaSkpKTsKICAgICAgICAgICAgICAgICAgdmFyIG4gPSBlICsgTWF0aC5hYnMoaSAvIDM2MCk7CiAgICAgICAgICAgICAgICAgIG4gPCBkICYmIChkID0gbiwgdCA9IGksIGMgPSBlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0gZWxzZSBpLnN0ZXAgfHwgKGMgPSBsKGEuaCkpOwogICAgICAgICAgICByZXR1cm4gdGhpcy5hdXRvUm90YXRpb24gPSB1LCB0aGlzLmxhYmVsUm90YXRpb24gPSBPKHQsIFMocykgPyBzIDogMCksIGM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRTbG90V2lkdGggPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydCwgaSA9IHRoaXMuaG9yaXosIG4gPSB0aGlzLm9wdGlvbnMubGFiZWxzLCBvID0gTWF0aC5tYXgodGhpcy50aWNrUG9zaXRpb25zLmxlbmd0aCAtICh0aGlzLmNhdGVnb3JpZXMgPyAwIDogMSksIDEpLAogICAgICAgICAgICAgIHIgPSBlLm1hcmdpblszXTsKICAgICAgICAgICAgaWYgKHQgJiYgUyh0LnNsb3RXaWR0aCkpIHJldHVybiB0LnNsb3RXaWR0aDsKICAgICAgICAgICAgaWYgKGkgJiYgMiA+IG4uc3RlcCkgcmV0dXJuIG4ucm90YXRpb24gPyAwIDogKHRoaXMuc3RhZ2dlckxpbmVzIHx8IDEpICogdGhpcy5sZW4gLyBvOwogICAgICAgICAgICBpZiAoIWkpIHsKICAgICAgICAgICAgICBpZiAodCA9IG4uc3R5bGUud2lkdGgsIHZvaWQgMCAhPT0gdCkgcmV0dXJuIHBhcnNlSW50KFN0cmluZyh0KSwgMTApOwogICAgICAgICAgICAgIGlmIChyKSByZXR1cm4gciAtIGUuc3BhY2luZ1szXTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gLjMzICogZS5jaGFydFdpZHRoOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVuZGVyVW5zcXVpc2ggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmNoYXJ0LCBlID0gdC5yZW5kZXJlciwgaSA9IHRoaXMudGlja1Bvc2l0aW9ucywgbiA9IHRoaXMudGlja3MsIG8gPSB0aGlzLm9wdGlvbnMubGFiZWxzLCByID0gby5zdHlsZSwgcyA9IHRoaXMuaG9yaXosCiAgICAgICAgICAgICAgYSA9IHRoaXMuZ2V0U2xvdFdpZHRoKCksIGggPSBNYXRoLm1heCgxLCBNYXRoLnJvdW5kKGEgLSAyICogby5wYWRkaW5nKSksIGwgPSB7fSwgYyA9IHRoaXMubGFiZWxNZXRyaWNzKCksIHAgPSByLnRleHRPdmVyZmxvdywgZCA9IDA7CiAgICAgICAgICAgIGlmIChDKG8ucm90YXRpb24pIHx8IChsLnJvdGF0aW9uID0gby5yb3RhdGlvbiB8fCAwKSwgaS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdCA9IG5bdF0sIHQubW92ZWRMYWJlbCAmJiB0LnJlcGxhY2VNb3ZlZExhYmVsKCksIHQgJiYgdC5sYWJlbCAmJiB0LmxhYmVsLnRleHRQeExlbmd0aCA+IGQgJiYgKGQgPSB0LmxhYmVsLnRleHRQeExlbmd0aCk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5tYXhMYWJlbExlbmd0aCA9IGQsIHRoaXMuYXV0b1JvdGF0aW9uKSBkID4gaCAmJiBkID4gYy5oID8gbC5yb3RhdGlvbiA9IHRoaXMubGFiZWxSb3RhdGlvbiA6IHRoaXMubGFiZWxSb3RhdGlvbiA9IDA7IGVsc2UgaWYgKGEpIHsKICAgICAgICAgICAgICB2YXIgdSA9IGg7CiAgICAgICAgICAgICAgaWYgKCFwKSB7CiAgICAgICAgICAgICAgICB2YXIgZiA9ICJjbGlwIjsKICAgICAgICAgICAgICAgIGZvciAoaCA9IGkubGVuZ3RoOyAhcyAmJiBoLS07KSB7CiAgICAgICAgICAgICAgICAgIHZhciBnID0gaVtoXTsKICAgICAgICAgICAgICAgICAgKGcgPSBuW2ddLmxhYmVsKSAmJiAoZy5zdHlsZXMgJiYgImVsbGlwc2lzIiA9PT0gZy5zdHlsZXMudGV4dE92ZXJmbG93ID8gZy5jc3MoeyB0ZXh0T3ZlcmZsb3c6ICJjbGlwIiB9KSA6IGcudGV4dFB4TGVuZ3RoID4gYSAmJiBnLmNzcyh7IHdpZHRoOiBhICsgInB4IiB9KSwgZy5nZXRCQm94KCkuaGVpZ2h0ID4gdGhpcy5sZW4gLyBpLmxlbmd0aCAtIChjLmggLSBjLmYpICYmIChnLnNwZWNpZmljVGV4dE92ZXJmbG93ID0gImVsbGlwc2lzIikpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBsLnJvdGF0aW9uICYmICh1ID0gZCA+IC41ICogdC5jaGFydEhlaWdodCA/IC4zMyAqIHQuY2hhcnRIZWlnaHQgOiBkLCBwIHx8IChmID0gImVsbGlwc2lzIikpLCAodGhpcy5sYWJlbEFsaWduID0gby5hbGlnbiB8fCB0aGlzLmF1dG9MYWJlbEFsaWduKHRoaXMubGFiZWxSb3RhdGlvbikpICYmIChsLmFsaWduID0gdGhpcy5sYWJlbEFsaWduKSwgaS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSAodCA9IG5bdF0pICYmIHQubGFiZWwsIGkgPSByLndpZHRoLCBvID0ge307CiAgICAgICAgICAgICAgZSAmJiAoZS5hdHRyKGwpLCB0LnNob3J0ZW5MYWJlbCA/IHQuc2hvcnRlbkxhYmVsKCkgOiB1ICYmICFpICYmICJub3dyYXAiICE9PSByLndoaXRlU3BhY2UgJiYgKHUgPCBlLnRleHRQeExlbmd0aCB8fCAiU1BBTiIgPT09IGUuZWxlbWVudC50YWdOYW1lKSA/IChvLndpZHRoID0gdSArICJweCIsIHAgfHwgKG8udGV4dE92ZXJmbG93ID0gZS5zcGVjaWZpY1RleHRPdmVyZmxvdyB8fCBmKSwgZS5jc3MobykpIDogZS5zdHlsZXMgJiYgZS5zdHlsZXMud2lkdGggJiYgIW8ud2lkdGggJiYgIWkgJiYgZS5jc3MoeyB3aWR0aDogbnVsbCB9KSwgZGVsZXRlIGUuc3BlY2lmaWNUZXh0T3ZlcmZsb3csIHQucm90YXRpb24gPSBsLnJvdGF0aW9uKTsKICAgICAgICAgICAgfSksIHRoaXMpLCB0aGlzLnRpY2tSb3RDb3JyID0gZS5yb3RDb3JyKGMuYiwgdGhpcy5sYWJlbFJvdGF0aW9uIHx8IDAsIDAgIT09IHRoaXMuc2lkZSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5oYXNEYXRhID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcmllcy5zb21lKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQuaGFzRGF0YSgpOwogICAgICAgICAgICB9KSkgfHwgdGhpcy5vcHRpb25zLnNob3dFbXB0eSAmJiBtKHRoaXMubWluKSAmJiBtKHRoaXMubWF4KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFkZFRpdGxlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSwgaSA9IHRoaXMuY2hhcnQucmVuZGVyZXIsIG4gPSB0aGlzLmhvcml6LCBvID0gdGhpcy5vcHBvc2l0ZSwgciA9IHRoaXMub3B0aW9ucy50aXRsZSwgcyA9IHRoaXMuY2hhcnQuc3R5bGVkTW9kZTsKICAgICAgICAgICAgdGhpcy5heGlzVGl0bGUgfHwgKChlID0gci50ZXh0QWxpZ24pIHx8IChlID0gKG4gPyB7IGxvdzogImxlZnQiLCBtaWRkbGU6ICJjZW50ZXIiLCBoaWdoOiAicmlnaHQiIH0gOiB7CiAgICAgICAgICAgICAgbG93OiBvID8gInJpZ2h0IiA6ICJsZWZ0IiwKICAgICAgICAgICAgICBtaWRkbGU6ICJjZW50ZXIiLAogICAgICAgICAgICAgIGhpZ2g6IG8gPyAibGVmdCIgOiAicmlnaHQiCiAgICAgICAgICAgIH0pW3IuYWxpZ25dKSwgdGhpcy5heGlzVGl0bGUgPSBpLnRleHQoci50ZXh0IHx8ICIiLCAwLCAwLCByLnVzZUhUTUwpLmF0dHIoewogICAgICAgICAgICAgIHpJbmRleDogNywKICAgICAgICAgICAgICByb3RhdGlvbjogci5yb3RhdGlvbiwKICAgICAgICAgICAgICBhbGlnbjogZQogICAgICAgICAgICB9KS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1heGlzLXRpdGxlIiksIHMgfHwgdGhpcy5heGlzVGl0bGUuY3NzKE0oci5zdHlsZSkpLCB0aGlzLmF4aXNUaXRsZS5hZGQodGhpcy5heGlzR3JvdXApLCB0aGlzLmF4aXNUaXRsZS5pc05ldyA9ICEwKSwgcyB8fCByLnN0eWxlLndpZHRoIHx8IHRoaXMuaXNSYWRpYWwgfHwgdGhpcy5heGlzVGl0bGUuY3NzKHsgd2lkdGg6IHRoaXMubGVuICsgInB4IiB9KSwgdGhpcy5heGlzVGl0bGVbdCA/ICJzaG93IiA6ICJoaWRlIl0odCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZW5lcmF0ZVRpY2sgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy50aWNrczsKICAgICAgICAgICAgZVt0XSA/IGVbdF0uYWRkTGFiZWwoKSA6IGVbdF0gPSBuZXcgcyh0aGlzLCB0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldE9mZnNldCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0aGlzLCBpID0gZS5jaGFydCwgbiA9IGUuaG9yaXosIG8gPSBlLm9wdGlvbnMsIHIgPSBlLnNpZGUsIHMgPSBlLnRpY2tzLCBhID0gZS50aWNrUG9zaXRpb25zLCBoID0gZS5jb2xsLCBsID0gZS5heGlzUGFyZW50LAogICAgICAgICAgICAgIGMgPSBpLnJlbmRlcmVyLCBwID0gaS5pbnZlcnRlZCAmJiAhZS5pc1pBeGlzID8gWzEsIDAsIDMsIDJdW3JdIDogciwgZCA9IGUuaGFzRGF0YSgpLCB1ID0gby50aXRsZSwgZiA9IG8ubGFiZWxzLCBnID0gaS5heGlzT2Zmc2V0OwogICAgICAgICAgICBpID0gaS5jbGlwT2Zmc2V0OwogICAgICAgICAgICB2YXIgeSwgdiA9IFstMSwgMSwgMSwgLTFdW3JdLCB4ID0gby5jbGFzc05hbWUsIGIgPSAwLCB3ID0gMCwgayA9IDA7CiAgICAgICAgICAgIGlmIChlLnNob3dBeGlzID0geSA9IGQgfHwgby5zaG93RW1wdHksIGUuc3RhZ2dlckxpbmVzID0gZS5ob3JpeiAmJiBmLnN0YWdnZXJMaW5lcyB8fCB2b2lkIDAsICFlLmF4aXNHcm91cCkgewogICAgICAgICAgICAgIHZhciBTID0gZnVuY3Rpb24oZSwgaSwgbikgewogICAgICAgICAgICAgICAgcmV0dXJuIGMuZyhlKS5hdHRyKHsgekluZGV4OiBuIH0pLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIgKyBoLnRvTG93ZXJDYXNlKCkgKyBpICsgIiAiICsgKHQuaXNSYWRpYWwgPyAiaGlnaGNoYXJ0cy1yYWRpYWwtYXhpcyIgKyBpICsgIiAiIDogIiIpICsgKHggfHwgIiIpKS5hZGQobCk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBlLmdyaWRHcm91cCA9IFMoImdyaWQiLCAiLWdyaWQiLCBvLmdyaWRaSW5kZXgpLCBlLmF4aXNHcm91cCA9IFMoImF4aXMiLCAiIiwgby56SW5kZXgpLCBlLmxhYmVsR3JvdXAgPSBTKCJheGlzLWxhYmVscyIsICItbGFiZWxzIiwgZi56SW5kZXgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChkIHx8IGUuaXNMaW5rZWQgPyAoYS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgZS5nZW5lcmF0ZVRpY2sodCk7CiAgICAgICAgICAgIH0pKSwgZS5yZW5kZXJVbnNxdWlzaCgpLCBlLnJlc2VydmVTcGFjZURlZmF1bHQgPSAwID09PSByIHx8IDIgPT09IHIgfHwgewogICAgICAgICAgICAgIDE6ICJsZWZ0IiwKICAgICAgICAgICAgICAzOiAicmlnaHQiCiAgICAgICAgICAgIH1bcl0gPT09IGUubGFiZWxBbGlnbiwgTyhmLnJlc2VydmVTcGFjZSwgImNlbnRlciIgPT09IGUubGFiZWxBbGlnbiB8fCBudWxsLCBlLnJlc2VydmVTcGFjZURlZmF1bHQpICYmIGEuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGsgPSBNYXRoLm1heChzW3RdLmdldExhYmVsU2l6ZSgpLCBrKTsKICAgICAgICAgICAgfSkpLCBlLnN0YWdnZXJMaW5lcyAmJiAoayAqPSBlLnN0YWdnZXJMaW5lcyksIGUubGFiZWxPZmZzZXQgPSBrICogKGUub3Bwb3NpdGUgPyAtMSA6IDEpKSA6IFAocywgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0LmRlc3Ryb3koKSwgZGVsZXRlIHNbZV07CiAgICAgICAgICAgIH0pKSwgdSAmJiB1LnRleHQgJiYgITEgIT09IHUuZW5hYmxlZCAmJiAoZS5hZGRUaXRsZSh5KSwgeSAmJiAhMSAhPT0gdS5yZXNlcnZlU3BhY2UpKSB7CiAgICAgICAgICAgICAgZS50aXRsZU9mZnNldCA9IGIgPSBlLmF4aXNUaXRsZS5nZXRCQm94KClbbiA/ICJoZWlnaHQiIDogIndpZHRoIl07CiAgICAgICAgICAgICAgdmFyIEMgPSB1Lm9mZnNldDsKICAgICAgICAgICAgICB3ID0gbShDKSA/IDAgOiBPKHUubWFyZ2luLCBuID8gNSA6IDEwKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlLnJlbmRlckxpbmUoKSwgZS5vZmZzZXQgPSB2ICogTyhvLm9mZnNldCwgZ1tyXSA/IGdbcl0gKyAoby5tYXJnaW4gfHwgMCkgOiAwKSwgZS50aWNrUm90Q29yciA9IGUudGlja1JvdENvcnIgfHwgewogICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgeTogMAogICAgICAgICAgICB9LCB1ID0gMCA9PT0gciA/IC1lLmxhYmVsTWV0cmljcygpLmggOiAyID09PSByID8gZS50aWNrUm90Q29yci55IDogMCwgZCA9IE1hdGguYWJzKGspICsgdywgayAmJiAoZCA9IGQgLSB1ICsgdiAqIChuID8gTyhmLnksIGUudGlja1JvdENvcnIueSArIDggKiB2KSA6IGYueCkpLCBlLmF4aXNUaXRsZU1hcmdpbiA9IE8oQywgZCksIGUuZ2V0TWF4TGFiZWxEaW1lbnNpb25zICYmIChlLm1heExhYmVsRGltZW5zaW9ucyA9IGUuZ2V0TWF4TGFiZWxEaW1lbnNpb25zKHMsIGEpKSwgImNvbG9yQXhpcyIgIT09IGggJiYgKG4gPSB0aGlzLnRpY2tTaXplKCJ0aWNrIiksIGdbcl0gPSBNYXRoLm1heChnW3JdLCAoZS5heGlzVGl0bGVNYXJnaW4gfHwgMCkgKyBiICsgdiAqIGUub2Zmc2V0LCBkLCBhICYmIGEubGVuZ3RoICYmIG4gPyBuWzBdICsgdiAqIGUub2Zmc2V0IDogMCksIG8gPSAhZS5heGlzTGluZSB8fCBvLm9mZnNldCA/IDAgOiAyICogTWF0aC5mbG9vcihlLmF4aXNMaW5lLnN0cm9rZVdpZHRoKCkgLyAyKSwgaVtwXSA9IE1hdGgubWF4KGlbcF0sIG8pKSwgXyh0aGlzLCAiYWZ0ZXJHZXRPZmZzZXQiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldExpbmVQYXRoID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQsIGkgPSB0aGlzLm9wcG9zaXRlLCBuID0gdGhpcy5vZmZzZXQsIG8gPSB0aGlzLmhvcml6LCByID0gdGhpcy5sZWZ0ICsgKGkgPyB0aGlzLndpZHRoIDogMCkgKyBuOwogICAgICAgICAgICByZXR1cm4gbiA9IGUuY2hhcnRIZWlnaHQgLSB0aGlzLmJvdHRvbSAtIChpID8gdGhpcy5oZWlnaHQgOiAwKSArIG4sIGkgJiYgKHQgKj0gLTEpLCBlLnJlbmRlcmVyLmNyaXNwTGluZShbWyJNIiwgbyA/IHRoaXMubGVmdCA6IHIsIG8gPyBuIDogdGhpcy50b3BdLCBbIkwiLCBvID8gZS5jaGFydFdpZHRoIC0gdGhpcy5yaWdodCA6IHIsIG8gPyBuIDogZS5jaGFydEhlaWdodCAtIHRoaXMuYm90dG9tXV0sIHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVuZGVyTGluZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmF4aXNMaW5lIHx8ICh0aGlzLmF4aXNMaW5lID0gdGhpcy5jaGFydC5yZW5kZXJlci5wYXRoKCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtYXhpcy1saW5lIikuYWRkKHRoaXMuYXhpc0dyb3VwKSwgdGhpcy5jaGFydC5zdHlsZWRNb2RlIHx8IHRoaXMuYXhpc0xpbmUuYXR0cih7CiAgICAgICAgICAgICAgc3Ryb2tlOiB0aGlzLm9wdGlvbnMubGluZUNvbG9yLAogICAgICAgICAgICAgICJzdHJva2Utd2lkdGgiOiB0aGlzLm9wdGlvbnMubGluZVdpZHRoLAogICAgICAgICAgICAgIHpJbmRleDogNwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRUaXRsZVBvc2l0aW9uID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5ob3JpeiwgZSA9IHRoaXMubGVmdCwgaSA9IHRoaXMudG9wLCBuID0gdGhpcy5sZW4sIG8gPSB0aGlzLm9wdGlvbnMudGl0bGUsIHIgPSB0ID8gZSA6IGksIHMgPSB0aGlzLm9wcG9zaXRlLCBhID0gdGhpcy5vZmZzZXQsIGggPSBvLngsCiAgICAgICAgICAgICAgbCA9IG8ueSwgYyA9IHRoaXMuYXhpc1RpdGxlLCBwID0gdGhpcy5jaGFydC5yZW5kZXJlci5mb250TWV0cmljcyhvLnN0eWxlLmZvbnRTaXplLCBjKTsKICAgICAgICAgICAgcmV0dXJuIGMgPSBNYXRoLm1heChjLmdldEJCb3gobnVsbCwgMCkuaGVpZ2h0IC0gcC5oIC0gMSwgMCksIG4gPSB7CiAgICAgICAgICAgICAgbG93OiByICsgKHQgPyAwIDogbiksCiAgICAgICAgICAgICAgbWlkZGxlOiByICsgbiAvIDIsCiAgICAgICAgICAgICAgaGlnaDogciArICh0ID8gbiA6IDApCiAgICAgICAgICAgIH1bby5hbGlnbl0sIGUgPSAodCA/IGkgKyB0aGlzLmhlaWdodCA6IGUpICsgKHQgPyAxIDogLTEpICogKHMgPyAtMSA6IDEpICogdGhpcy5heGlzVGl0bGVNYXJnaW4gKyBbLWMsIGMsIHAuZiwgLWNdW3RoaXMuc2lkZV0sIHQgPSB7CiAgICAgICAgICAgICAgeDogdCA/IG4gKyBoIDogZSArIChzID8gdGhpcy53aWR0aCA6IDApICsgYSArIGgsCiAgICAgICAgICAgICAgeTogdCA/IGUgKyBsIC0gKHMgPyB0aGlzLmhlaWdodCA6IDApICsgYSA6IG4gKyBsCiAgICAgICAgICAgIH0sIF8odGhpcywgImFmdGVyR2V0VGl0bGVQb3NpdGlvbiIsIHsgdGl0bGVQb3NpdGlvbjogdCB9KSwgdDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlck1pbm9yVGljayA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLm1pbm9yVGlja3M7CiAgICAgICAgICAgIGlbdF0gfHwgKGlbdF0gPSBuZXcgcyh0aGlzLCB0LCAibWlub3IiKSksIGUgJiYgaVt0XS5pc05ldyAmJiBpW3RdLnJlbmRlcihudWxsLCAhMCksIGlbdF0ucmVuZGVyKG51bGwsICExLCAxKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlclRpY2sgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy50aWNrczsKICAgICAgICAgICAgKCF0aGlzLmlzTGlua2VkIHx8IHQgPj0gdGhpcy5taW4gJiYgdCA8PSB0aGlzLm1heCB8fCB0aGlzLmdyaWQgJiYgdGhpcy5ncmlkLmlzQ29sdW1uKSAmJiAoblt0XSB8fCAoblt0XSA9IG5ldyBzKHRoaXMsIHQpKSwgaSAmJiBuW3RdLmlzTmV3ICYmIG5bdF0ucmVuZGVyKGUsICEwLCAtMSksIG5bdF0ucmVuZGVyKGUpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSwgaSA9IHRoaXMsIG4gPSBpLmNoYXJ0LCBvID0gaS5sb2dhcml0aG1pYywgYSA9IGkub3B0aW9ucywgbCA9IGkuaXNMaW5rZWQsIGMgPSBpLnRpY2tQb3NpdGlvbnMsIHAgPSBpLmF4aXNUaXRsZSwgZCA9IGkudGlja3MsCiAgICAgICAgICAgICAgdSA9IGkubWlub3JUaWNrcywgZiA9IGkuYWx0ZXJuYXRlQmFuZHMsIGcgPSBhLnN0YWNrTGFiZWxzLCBtID0gYS5hbHRlcm5hdGVHcmlkQ29sb3IsIHkgPSBpLnRpY2ttYXJrT2Zmc2V0LCB2ID0gaS5heGlzTGluZSwgeCA9IGkuc2hvd0F4aXMsCiAgICAgICAgICAgICAgYiA9IGgobi5yZW5kZXJlci5nbG9iYWxBbmltYXRpb24pOwogICAgICAgICAgICBpZiAoaS5sYWJlbEVkZ2UubGVuZ3RoID0gMCwgaS5vdmVybGFwID0gITEsIFtkLCB1LCBmXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgUCh0LCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdC5pc0FjdGl2ZSA9ICExOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSkpLCBpLmhhc0RhdGEoKSB8fCBsKSB7CiAgICAgICAgICAgICAgdmFyIHcgPSBpLmNoYXJ0Lmhhc1JlbmRlcmVkICYmIGkub2xkICYmIFMoaS5vbGQubWluKTsKICAgICAgICAgICAgICBpLm1pbm9yVGlja0ludGVydmFsICYmICFpLmNhdGVnb3JpZXMgJiYgaS5nZXRNaW5vclRpY2tQb3NpdGlvbnMoKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpLnJlbmRlck1pbm9yVGljayh0LCB3KTsKICAgICAgICAgICAgICB9KSksIGMubGVuZ3RoICYmIChjLmZvckVhY2goKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIGkucmVuZGVyVGljayh0LCBlLCB3KTsKICAgICAgICAgICAgICB9KSksIHkgJiYgKDAgPT09IGkubWluIHx8IGkuc2luZ2xlKSAmJiAoZFstMV0gfHwgKGRbLTFdID0gbmV3IHMoaSwgLTEsIG51bGwsICEwKSksIGRbLTFdLnJlbmRlcigtMSkpKSwgbSAmJiBjLmZvckVhY2goKGZ1bmN0aW9uKHMsIGEpIHsKICAgICAgICAgICAgICAgIGUgPSAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGNbYSArIDFdID8gY1thICsgMV0gKyB5IDogaS5tYXggLSB5LCAwID09PSBhICUgMiAmJiBzIDwgaS5tYXggJiYgZSA8PSBpLm1heCArIChuLnBvbGFyID8gLXkgOiB5KSAmJiAoZltzXSB8fCAoZltzXSA9IG5ldyByLlBsb3RMaW5lT3JCYW5kKGkpKSwgdCA9IHMgKyB5LCBmW3NdLm9wdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgIGZyb206IG8gPyBvLmxpbjJsb2codCkgOiB0LAogICAgICAgICAgICAgICAgICB0bzogbyA/IG8ubGluMmxvZyhlKSA6IGUsCiAgICAgICAgICAgICAgICAgIGNvbG9yOiBtLAogICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJoaWdoY2hhcnRzLWFsdGVybmF0ZS1ncmlkIgogICAgICAgICAgICAgICAgfSwgZltzXS5yZW5kZXIoKSwgZltzXS5pc0FjdGl2ZSA9ICEwKTsKICAgICAgICAgICAgICB9KSksIGkuX2FkZGVkUGxvdExCIHx8IChpLl9hZGRlZFBsb3RMQiA9ICEwLCAoYS5wbG90TGluZXMgfHwgW10pLmNvbmNhdChhLnBsb3RCYW5kcyB8fCBbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgaS5hZGRQbG90QmFuZE9yTGluZSh0KTsKICAgICAgICAgICAgICB9KSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFtkLCB1LCBmXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSBbXSwgaSA9IGIuZHVyYXRpb247CiAgICAgICAgICAgICAgUCh0LCAoZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICAgICAgdC5pc0FjdGl2ZSB8fCAodC5yZW5kZXIoaSwgITEsIDApLCB0LmlzQWN0aXZlID0gITEsIGUucHVzaChpKSk7CiAgICAgICAgICAgICAgfSkpLCBqKChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSBlLmxlbmd0aDsgaS0tOykgdFtlW2ldXSAmJiAhdFtlW2ldXS5pc0FjdGl2ZSAmJiAodFtlW2ldXS5kZXN0cm95KCksIGRlbGV0ZSB0W2VbaV1dKTsKICAgICAgICAgICAgICB9KSwgdCAhPT0gZiAmJiBuLmhhc1JlbmRlcmVkICYmIGkgPyBpIDogMCk7CiAgICAgICAgICAgIH0pKSwgdiAmJiAodlt2LmlzUGxhY2VkID8gImFuaW1hdGUiIDogImF0dHIiXSh7IGQ6IHRoaXMuZ2V0TGluZVBhdGgodi5zdHJva2VXaWR0aCgpKSB9KSwgdi5pc1BsYWNlZCA9ICEwLCB2W3ggPyAic2hvdyIgOiAiaGlkZSJdKHgpKSwgcCAmJiB4ICYmIChhID0gaS5nZXRUaXRsZVBvc2l0aW9uKCksIFMoYS55KSA/IChwW3AuaXNOZXcgPyAiYXR0ciIgOiAiYW5pbWF0ZSJdKGEpLCBwLmlzTmV3ID0gITEpIDogKHAuYXR0cigieSIsIC05OTk5KSwgcC5pc05ldyA9ICEwKSksIGcgJiYgZy5lbmFibGVkICYmIGkuc3RhY2tpbmcgJiYgaS5zdGFja2luZy5yZW5kZXJTdGFja1RvdGFscygpLCBpLm9sZCA9IHsKICAgICAgICAgICAgICBsZW46IGkubGVuLAogICAgICAgICAgICAgIG1heDogaS5tYXgsCiAgICAgICAgICAgICAgbWluOiBpLm1pbiwKICAgICAgICAgICAgICB0cmFuc0E6IGkudHJhbnNBLAogICAgICAgICAgICAgIHVzZXJNYXg6IGkudXNlck1heCwKICAgICAgICAgICAgICB1c2VyTWluOiBpLnVzZXJNaW4KICAgICAgICAgICAgfSwgaS5pc0RpcnR5ID0gITEsIF8odGhpcywgImFmdGVyUmVuZGVyIik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZWRyYXcgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy52aXNpYmxlICYmICh0aGlzLnJlbmRlcigpLCB0aGlzLnBsb3RMaW5lc0FuZEJhbmRzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0LnJlbmRlcigpOwogICAgICAgICAgICB9KSkpLCB0aGlzLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5pc0RpcnR5ID0gITA7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldEtlZXBQcm9wcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5rZWVwUHJvcHMgfHwgdC5rZWVwUHJvcHM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBlLnBsb3RMaW5lc0FuZEJhbmRzLCBuID0gdGhpcy5ldmVudE9wdGlvbnM7CiAgICAgICAgICAgIGlmIChfKHRoaXMsICJkZXN0cm95IiwgeyBrZWVwRXZlbnRzOiB0IH0pLCB0IHx8IEUoZSksIFtlLnRpY2tzLCBlLm1pbm9yVGlja3MsIGUuYWx0ZXJuYXRlQmFuZHNdLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB5KHQpOwogICAgICAgICAgICB9KSksIGkpIGZvciAodCA9IGkubGVuZ3RoOyB0LS07KSBpW3RdLmRlc3Ryb3koKTsKICAgICAgICAgICAgZm9yICh2YXIgbyBpbiAiYXhpc0xpbmUgYXhpc1RpdGxlIGF4aXNHcm91cCBncmlkR3JvdXAgbGFiZWxHcm91cCBjcm9zcyBzY3JvbGxiYXIiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGVbdF0gJiYgKGVbdF0gPSBlW3RdLmRlc3Ryb3koKSk7CiAgICAgICAgICAgIH0pKSwgZS5wbG90TGluZXNBbmRCYW5kc0dyb3VwcykgZS5wbG90TGluZXNBbmRCYW5kc0dyb3Vwc1tvXSA9IGUucGxvdExpbmVzQW5kQmFuZHNHcm91cHNbb10uZGVzdHJveSgpOwogICAgICAgICAgICBQKGUsIChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgLTEgPT09IGUuZ2V0S2VlcFByb3BzKCkuaW5kZXhPZihpKSAmJiBkZWxldGUgZVtpXTsKICAgICAgICAgICAgfSkpLCB0aGlzLmV2ZW50T3B0aW9ucyA9IG47CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kcmF3Q3Jvc3NoYWlyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgbiwgbyA9IHRoaXMuY3Jvc3NoYWlyLCByID0gTyhvICYmIG8uc25hcCwgITApLCBzID0gdGhpcy5jaGFydCwgYSA9IHRoaXMuY3Jvc3M7CiAgICAgICAgICAgIGlmIChfKHRoaXMsICJkcmF3Q3Jvc3NoYWlyIiwgeyBlOiB0LCBwb2ludDogZSB9KSwgdCB8fCAodCA9IHRoaXMuY3Jvc3MgJiYgdGhpcy5jcm9zcy5lKSwgbyAmJiAhMSAhPT0gKG0oZSkgfHwgIXIpKSB7CiAgICAgICAgICAgICAgaWYgKHIgPyBtKGUpICYmIChuID0gTygiY29sb3JBeGlzIiAhPT0gdGhpcy5jb2xsID8gZS5jcm9zc2hhaXJQb3MgOiBudWxsLCB0aGlzLmlzWEF4aXMgPyBlLnBsb3RYIDogdGhpcy5sZW4gLSBlLnBsb3RZKSkgOiBuID0gdCAmJiAodGhpcy5ob3JpeiA/IHQuY2hhcnRYIC0gdGhpcy5wb3MgOiB0aGlzLmxlbiAtIHQuY2hhcnRZICsgdGhpcy5wb3MpLCBtKG4pKSB7CiAgICAgICAgICAgICAgICB2YXIgaCA9IHsgdmFsdWU6IGUgJiYgKHRoaXMuaXNYQXhpcyA/IGUueCA6IE8oZS5zdGFja1ksIGUueSkpLCB0cmFuc2xhdGVkVmFsdWU6IG4gfTsKICAgICAgICAgICAgICAgIHMucG9sYXIgJiYgYihoLCB7IGlzQ3Jvc3NoYWlyOiAhMCwgY2hhcnRYOiB0ICYmIHQuY2hhcnRYLCBjaGFydFk6IHQgJiYgdC5jaGFydFksIHBvaW50OiBlIH0pLCBoID0gdGhpcy5nZXRQbG90TGluZVBhdGgoaCkgfHwgbnVsbDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKCFtKGgpKSByZXR1cm4gdm9pZCB0aGlzLmhpZGVDcm9zc2hhaXIoKTsKICAgICAgICAgICAgICByID0gdGhpcy5jYXRlZ29yaWVzICYmICF0aGlzLmlzUmFkaWFsLCBhIHx8ICh0aGlzLmNyb3NzID0gYSA9IHMucmVuZGVyZXIucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLWNyb3NzaGFpciBoaWdoY2hhcnRzLWNyb3NzaGFpci0iICsgKHIgPyAiY2F0ZWdvcnkgIiA6ICJ0aGluICIpICsgKG8uY2xhc3NOYW1lIHx8ICIiKSkuYXR0cih7IHpJbmRleDogTyhvLnpJbmRleCwgMikgfSkuYWRkKCksIHMuc3R5bGVkTW9kZSB8fCAoYS5hdHRyKHsKICAgICAgICAgICAgICAgIHN0cm9rZTogby5jb2xvciB8fCAociA/IGkucGFyc2UoIiNjY2Q2ZWIiKS5zZXRPcGFjaXR5KC4yNSkuZ2V0KCkgOiAiI2NjY2NjYyIpLAogICAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IE8oby53aWR0aCwgMSkKICAgICAgICAgICAgICB9KS5jc3MoeyAicG9pbnRlci1ldmVudHMiOiAibm9uZSIgfSksIG8uZGFzaFN0eWxlICYmIGEuYXR0cih7IGRhc2hzdHlsZTogby5kYXNoU3R5bGUgfSkpKSwgYS5zaG93KCkuYXR0cih7IGQ6IGggfSksIHIgJiYgIW8ud2lkdGggJiYgYS5hdHRyKHsgInN0cm9rZS13aWR0aCI6IHRoaXMudHJhbnNBIH0pLCB0aGlzLmNyb3NzLmUgPSB0OwogICAgICAgICAgICB9IGVsc2UgdGhpcy5oaWRlQ3Jvc3NoYWlyKCk7CiAgICAgICAgICAgIF8odGhpcywgImFmdGVyRHJhd0Nyb3NzaGFpciIsIHsgZTogdCwgcG9pbnQ6IGUgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5oaWRlQ3Jvc3NoYWlyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuY3Jvc3MgJiYgdGhpcy5jcm9zcy5oaWRlKCksIF8odGhpcywgImFmdGVySGlkZUNyb3NzaGFpciIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaGFzVmVydGljYWxQYW5uaW5nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5jaGFydC5vcHRpb25zLmNoYXJ0LnBhbm5pbmc7CiAgICAgICAgICAgIHJldHVybiAhISh0ICYmIHQuZW5hYmxlZCAmJiAveS8udGVzdCh0LnR5cGUpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnZhbGlkYXRlUG9zaXRpdmVWYWx1ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIFModCkgJiYgMCA8IHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5jaGFydDsKICAgICAgICAgICAgdCA9IE0odGhpcy51c2VyT3B0aW9ucywgdCksIHRoaXMuZGVzdHJveSghMCksIHRoaXMuaW5pdChpLCB0KSwgaS5pc0RpcnR5Qm94ID0gITAsIE8oZSwgITApICYmIGkucmVkcmF3KCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGZvciAodmFyIGUgPSB0aGlzLmNoYXJ0LCBpID0gdGhpcy5jb2xsLCBuID0gdGhpcy5zZXJpZXMsIG8gPSBuLmxlbmd0aDsgby0tOykgbltvXSAmJiBuW29dLnJlbW92ZSghMSk7CiAgICAgICAgICAgIHYoZS5heGVzLCB0aGlzKSwgdihlW2ldLCB0aGlzKSwgZVtpXS5mb3JFYWNoKChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5vcHRpb25zLmluZGV4ID0gdC51c2VyT3B0aW9ucy5pbmRleCA9IGU7CiAgICAgICAgICAgIH0pKSwgdGhpcy5kZXN0cm95KCksIGUuaXNEaXJ0eUJveCA9ICEwLCBPKHQsICEwKSAmJiBlLnJlZHJhdygpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0VGl0bGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHRoaXMudXBkYXRlKHsgdGl0bGU6IHQgfSwgZSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRDYXRlZ29yaWVzID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLnVwZGF0ZSh7IGNhdGVnb3JpZXM6IHQgfSwgZSk7CiAgICAgICAgICB9LCB0LmRlZmF1bHRPcHRpb25zID0gZS5kZWZhdWx0WEF4aXNPcHRpb25zLCB0LmtlZXBQcm9wcyA9ICJleHRLZXkgaGNFdmVudHMgbmFtZXMgc2VyaWVzIHVzZXJNYXggdXNlck1pbiIuc3BsaXQoIiAiKSwgdDsKICAgICAgICB9KCksIHQ7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9BeGlzL0RhdGVUaW1lQXhpcy5qcyIsIFtpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSwgaSA9IHQuYWRkRXZlbnQsIG4gPSB0LmdldE1hZ25pdHVkZSwgbyA9IHQubm9ybWFsaXplVGlja0ludGVydmFsLCByID0gdC50aW1lVW5pdHM7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUoKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoYXJ0LnRpbWUuZ2V0VGltZVRpY2tzLmFwcGx5KHRoaXMuY2hhcnQudGltZSwgYXJndW1lbnRzKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBzKHQpIHsKICAgICAgICAgICAgImRhdGV0aW1lIiAhPT0gdC51c2VyT3B0aW9ucy50eXBlID8gdGhpcy5kYXRlVGltZSA9IHZvaWQgMCA6IHRoaXMuZGF0ZVRpbWUgfHwgKHRoaXMuZGF0ZVRpbWUgPSBuZXcgaCh0aGlzKSk7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIGEgPSBbXTsKICAgICAgICAgIHQuY29tcG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIC0xID09PSBhLmluZGV4T2YodCkgJiYgKGEucHVzaCh0KSwgdC5rZWVwUHJvcHMucHVzaCgiZGF0ZVRpbWUiKSwgdC5wcm90b3R5cGUuZ2V0VGltZVRpY2tzID0gZSwgaSh0LCAiaW5pdCIsIHMpKSwgdDsKICAgICAgICAgIH07CiAgICAgICAgICB2YXIgaCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmdW5jdGlvbiB0KHQpIHsKICAgICAgICAgICAgICB0aGlzLmF4aXMgPSB0OwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gdC5wcm90b3R5cGUubm9ybWFsaXplVGltZVRpY2tJbnRlcnZhbCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IGUgfHwgW1sibWlsbGlzZWNvbmQiLCBbMSwgMiwgNSwgMTAsIDIwLCAyNSwgNTAsIDEwMCwgMjAwLCA1MDBdXSwgWyJzZWNvbmQiLCBbMSwgMiwgNSwgMTAsIDE1LCAzMF1dLCBbIm1pbnV0ZSIsIFsxLCAyLCA1LCAxMCwgMTUsIDMwXV0sIFsiaG91ciIsIFsxLCAyLCAzLCA0LCA2LCA4LCAxMl1dLCBbImRheSIsIFsxLCAyXV0sIFsid2VlayIsIFsxLCAyXV0sIFsibW9udGgiLCBbMSwgMiwgMywgNCwgNl1dLCBbInllYXIiLCBudWxsXV07CiAgICAgICAgICAgICAgZSA9IGlbaS5sZW5ndGggLSAxXTsKICAgICAgICAgICAgICB2YXIgcywgYSA9IHJbZVswXV0sIGggPSBlWzFdOwogICAgICAgICAgICAgIGZvciAocyA9IDA7IHMgPCBpLmxlbmd0aCAmJiAoZSA9IGlbc10sIGEgPSByW2VbMF1dLCBoID0gZVsxXSwgIShpW3MgKyAxXSAmJiB0IDw9IChhICogaFtoLmxlbmd0aCAtIDFdICsgcltpW3MgKyAxXVswXV0pIC8gMikpOyBzKyspIDsKICAgICAgICAgICAgICByZXR1cm4gYSA9PT0gci55ZWFyICYmIHQgPCA1ICogYSAmJiAoaCA9IFsxLCAyLCA1XSksIHQgPSBvKHQgLyBhLCBoLCAieWVhciIgPT09IGVbMF0gPyBNYXRoLm1heChuKHQgLyBhKSwgMSkgOiAxKSwgewogICAgICAgICAgICAgICAgdW5pdFJhbmdlOiBhLAogICAgICAgICAgICAgICAgY291bnQ6IHQsCiAgICAgICAgICAgICAgICB1bml0TmFtZTogZVswXQogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFhEYXRlRm9ybWF0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHZhciBpID0gdGhpcy5heGlzOwogICAgICAgICAgICAgIHJldHVybiBpLmNsb3Nlc3RQb2ludFJhbmdlID8gaS5jaGFydC50aW1lLmdldERhdGVGb3JtYXQoaS5jbG9zZXN0UG9pbnRSYW5nZSwgdCwgaS5vcHRpb25zLnN0YXJ0T2ZXZWVrLCBlKSB8fCBlLnllYXIgOiBlLmRheTsKICAgICAgICAgICAgfSwgdDsKICAgICAgICAgIH0oKTsKICAgICAgICAgIHQuQWRkaXRpb25zID0gaDsKICAgICAgICB9KGUgfHwgKGUgPSB7fSkpLCBlOwogICAgICB9KSksIGUoaSwgIkNvcmUvQXhpcy9Mb2dhcml0aG1pY0F4aXMuanMiLCBbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUsIGkgPSB0LmFkZEV2ZW50LCBuID0gdC5nZXRNYWduaXR1ZGUsIG8gPSB0Lm5vcm1hbGl6ZVRpY2tJbnRlcnZhbCwgciA9IHQucGljazsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gZSh0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5sb2dhcml0aG1pYzsKICAgICAgICAgICAgImxvZ2FyaXRobWljIiAhPT0gdC51c2VyT3B0aW9ucy50eXBlID8gdGhpcy5sb2dhcml0aG1pYyA9IHZvaWQgMCA6IGUgfHwgKHRoaXMubG9nYXJpdGhtaWMgPSBuZXcgaCh0aGlzKSk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gcygpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmxvZ2FyaXRobWljOwogICAgICAgICAgICB0ICYmICh0aGlzLmxpbjJ2YWwgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQubGluMmxvZyhlKTsKICAgICAgICAgICAgfSwgdGhpcy52YWwybGluID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHJldHVybiB0LmxvZzJsaW4oZSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBhID0gW107CiAgICAgICAgICB0LmNvbXBvc2UgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gYS5pbmRleE9mKHQpICYmIChhLnB1c2godCksIHQua2VlcFByb3BzLnB1c2goImxvZ2FyaXRobWljIiksIGkodCwgImluaXQiLCBlKSwgaSh0LCAiYWZ0ZXJJbml0IiwgcykpLCB0OwogICAgICAgICAgfTsKICAgICAgICAgIHZhciBoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHQodCkgewogICAgICAgICAgICAgIHRoaXMuYXhpcyA9IHQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5nZXRMb2dUaWNrUG9zaXRpb25zID0gZnVuY3Rpb24odCwgZSwgaSwgcykgewogICAgICAgICAgICAgIHZhciBhID0gdGhpcy5heGlzLCBoID0gYS5sZW4sIGwgPSBhLm9wdGlvbnMsIGMgPSBbXTsKICAgICAgICAgICAgICBpZiAocyB8fCAodGhpcy5taW5vckF1dG9JbnRlcnZhbCA9IHZvaWQgMCksIC41IDw9IHQpIHQgPSBNYXRoLnJvdW5kKHQpLCBjID0gYS5nZXRMaW5lYXJUaWNrUG9zaXRpb25zKHQsIGUsIGkpOyBlbHNlIGlmICguMDggPD0gdCkgewogICAgICAgICAgICAgICAgdmFyIHAsIGQgPSBNYXRoLmZsb29yKGUpLCB1ID0gbCA9IHZvaWQgMDsKICAgICAgICAgICAgICAgIGZvciAoaCA9IC4zIDwgdCA/IFsxLCAyLCA0XSA6IC4xNSA8IHQgPyBbMSwgMiwgNCwgNiwgOF0gOiBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOV07IGQgPCBpICsgMSAmJiAhdTsgZCsrKSB7CiAgICAgICAgICAgICAgICAgIHZhciBmID0gaC5sZW5ndGg7CiAgICAgICAgICAgICAgICAgIGZvciAocCA9IDA7IHAgPCBmICYmICF1OyBwKyspIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZyA9IHRoaXMubG9nMmxpbih0aGlzLmxpbjJsb2coZCkgKiBoW3BdKTsKICAgICAgICAgICAgICAgICAgICBnID4gZSAmJiAoIXMgfHwgbCA8PSBpKSAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGwgJiYgYy5wdXNoKGwpLCBsID4gaSAmJiAodSA9ICEwKSwgbCA9IGc7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGVsc2UgZSA9IHRoaXMubGluMmxvZyhlKSwgaSA9IHRoaXMubGluMmxvZyhpKSwgdCA9IHMgPyBhLmdldE1pbm9yVGlja0ludGVydmFsKCkgOiBsLnRpY2tJbnRlcnZhbCwgdCA9IHIoImF1dG8iID09PSB0ID8gbnVsbCA6IHQsIHRoaXMubWlub3JBdXRvSW50ZXJ2YWwsIGwudGlja1BpeGVsSW50ZXJ2YWwgLyAocyA/IDUgOiAxKSAqIChpIC0gZSkgLyAoKHMgPyBoIC8gYS50aWNrUG9zaXRpb25zLmxlbmd0aCA6IGgpIHx8IDEpKSwgdCA9IG8odCwgdm9pZCAwLCBuKHQpKSwgYyA9IGEuZ2V0TGluZWFyVGlja1Bvc2l0aW9ucyh0LCBlLCBpKS5tYXAodGhpcy5sb2cybGluKSwgcyB8fCAodGhpcy5taW5vckF1dG9JbnRlcnZhbCA9IHQgLyA1KTsKICAgICAgICAgICAgICByZXR1cm4gcyB8fCAoYS50aWNrSW50ZXJ2YWwgPSB0KSwgYzsKICAgICAgICAgICAgfSwgdC5wcm90b3R5cGUubGluMmxvZyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gTWF0aC5wb3coMTAsIHQpOwogICAgICAgICAgICB9LCB0LnByb3RvdHlwZS5sb2cybGluID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiBNYXRoLmxvZyh0KSAvIE1hdGguTE4xMDsKICAgICAgICAgICAgfSwgdDsKICAgICAgICAgIH0oKTsKICAgICAgICAgIHQuQWRkaXRpb25zID0gaDsKICAgICAgICB9KGUgfHwgKGUgPSB7fSkpLCBlOwogICAgICB9KSksIGUoaSwgIkNvcmUvQXhpcy9QbG90TGluZU9yQmFuZC9QbG90TGluZU9yQmFuZEF4aXMuanMiLCBbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUsIGkgPSB0LmVyYXNlLCBuID0gdC5leHRlbmQsIG8gPSB0LmlzTnVtYmVyOwogICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgZSwgciA9IFtdOwogICAgICAgICAgdC5jb21wb3NlID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICByZXR1cm4gZSB8fCAoZSA9IHQpLCAtMSA9PT0gci5pbmRleE9mKGkpICYmIChyLnB1c2goaSksIG4oaS5wcm90b3R5cGUsIHMucHJvdG90eXBlKSksIGk7CiAgICAgICAgICB9OwogICAgICAgICAgdmFyIHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZnVuY3Rpb24gdCgpIHsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLmdldFBsb3RCYW5kUGF0aCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICB2b2lkIDAgPT09IGkgJiYgKGkgPSB0aGlzLm9wdGlvbnMpOwogICAgICAgICAgICAgIHZhciBuID0gdGhpcy5nZXRQbG90TGluZVBhdGgoeyB2YWx1ZTogZSwgZm9yY2U6ICEwLCBhY3Jvc3NQYW5lczogaS5hY3Jvc3NQYW5lcyB9KSwgciA9IFtdLCBzID0gdGhpcy5ob3JpejsKICAgICAgICAgICAgICBpZiAoZSA9ICFvKHRoaXMubWluKSB8fCAhbyh0aGlzLm1heCkgfHwgdCA8IHRoaXMubWluICYmIGUgPCB0aGlzLm1pbiB8fCB0ID4gdGhpcy5tYXggJiYgZSA+IHRoaXMubWF4LCB0ID0gdGhpcy5nZXRQbG90TGluZVBhdGgoewogICAgICAgICAgICAgICAgdmFsdWU6IHQsCiAgICAgICAgICAgICAgICBmb3JjZTogITAsCiAgICAgICAgICAgICAgICBhY3Jvc3NQYW5lczogaS5hY3Jvc3NQYW5lcwogICAgICAgICAgICAgIH0pLCBpID0gMSwgdCAmJiBuKSB7CiAgICAgICAgICAgICAgICBpZiAoZSkgewogICAgICAgICAgICAgICAgICB2YXIgYSA9IHQudG9TdHJpbmcoKSA9PT0gbi50b1N0cmluZygpOwogICAgICAgICAgICAgICAgICBpID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvciAoZSA9IDA7IGUgPCB0Lmxlbmd0aDsgZSArPSAyKSB7CiAgICAgICAgICAgICAgICAgIHZhciBoID0gdFtlXSwgbCA9IHRbZSArIDFdLCBjID0gbltlXSwgcCA9IG5bZSArIDFdOwogICAgICAgICAgICAgICAgICAiTSIgIT09IGhbMF0gJiYgIkwiICE9PSBoWzBdIHx8ICJNIiAhPT0gbFswXSAmJiAiTCIgIT09IGxbMF0gfHwgIk0iICE9PSBjWzBdICYmICJMIiAhPT0gY1swXSB8fCAiTSIgIT09IHBbMF0gJiYgIkwiICE9PSBwWzBdIHx8IChzICYmIGNbMV0gPT09IGhbMV0gPyAoY1sxXSArPSBpLCBwWzFdICs9IGkpIDogcyB8fCBjWzJdICE9PSBoWzJdIHx8IChjWzJdICs9IGksIHBbMl0gKz0gaSksIHIucHVzaChbIk0iLCBoWzFdLCBoWzJdXSwgWyJMIiwgbFsxXSwgbFsyXV0sIFsiTCIsIHBbMV0sIHBbMl1dLCBbIkwiLCBjWzFdLCBjWzJdXSwgWyJaIl0pKSwgci5pc0ZsYXQgPSBhOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gcjsKICAgICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWRkUGxvdEJhbmQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkUGxvdEJhbmRPckxpbmUodCwgInBsb3RCYW5kcyIpOwogICAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGRQbG90TGluZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hZGRQbG90QmFuZE9yTGluZSh0LCAicGxvdExpbmVzIik7CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFkZFBsb3RCYW5kT3JMaW5lID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICAgIHZhciBuID0gdGhpcywgbyA9IHRoaXMudXNlck9wdGlvbnMsIHIgPSBuZXcgZSh0aGlzLCB0KTsKICAgICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlICYmIChyID0gci5yZW5kZXIoKSksIHIpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLl9hZGRlZFBsb3RMQiB8fCAodGhpcy5fYWRkZWRQbG90TEIgPSAhMCwgKG8ucGxvdExpbmVzIHx8IFtdKS5jb25jYXQoby5wbG90QmFuZHMgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgbi5hZGRQbG90QmFuZE9yTGluZSh0KTsKICAgICAgICAgICAgICAgIH0pKSksIGkpIHsKICAgICAgICAgICAgICAgICAgdmFyIHMgPSBvW2ldIHx8IFtdOwogICAgICAgICAgICAgICAgICBzLnB1c2godCksIG9baV0gPSBzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhpcy5wbG90TGluZXNBbmRCYW5kcy5wdXNoKHIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gcjsKICAgICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVtb3ZlUGxvdEJhbmRPckxpbmUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnBsb3RMaW5lc0FuZEJhbmRzLCBuID0gdGhpcy5vcHRpb25zLCBvID0gdGhpcy51c2VyT3B0aW9uczsKICAgICAgICAgICAgICBpZiAoZSkgewogICAgICAgICAgICAgICAgZm9yICh2YXIgciA9IGUubGVuZ3RoOyByLS07KSBlW3JdLmlkID09PSB0ICYmIGVbcl0uZGVzdHJveSgpOwogICAgICAgICAgICAgICAgW24ucGxvdExpbmVzIHx8IFtdLCBvLnBsb3RMaW5lcyB8fCBbXSwgbi5wbG90QmFuZHMgfHwgW10sIG8ucGxvdEJhbmRzIHx8IFtdXS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgIGZvciAociA9IGUubGVuZ3RoOyByLS07KSAoZVtyXSB8fCB7fSkuaWQgPT09IHQgJiYgaShlLCBlW3JdKTsKICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZVBsb3RCYW5kID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHRoaXMucmVtb3ZlUGxvdEJhbmRPckxpbmUodCk7CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZVBsb3RMaW5lID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHRoaXMucmVtb3ZlUGxvdEJhbmRPckxpbmUodCk7CiAgICAgICAgICAgIH0sIHQ7CiAgICAgICAgICB9KCk7CiAgICAgICAgfShlIHx8IChlID0ge30pKSwgZTsKICAgICAgfSkpLCBlKGksICJDb3JlL0F4aXMvUGxvdExpbmVPckJhbmQvUGxvdExpbmVPckJhbmQuanMiLCBbaVsiQ29yZS9BeGlzL1Bsb3RMaW5lT3JCYW5kL1Bsb3RMaW5lT3JCYW5kQXhpcy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICB2YXIgaSA9IGUuYXJyYXlNYXgsIG4gPSBlLmFycmF5TWluLCBvID0gZS5kZWZpbmVkLCByID0gZS5kZXN0cm95T2JqZWN0UHJvcGVydGllcywgcyA9IGUuZXJhc2UsIGEgPSBlLmZpcmVFdmVudCwgaCA9IGUubWVyZ2UsIGwgPSBlLm9iamVjdEVhY2gsCiAgICAgICAgICBjID0gZS5waWNrOwogICAgICAgIHJldHVybiBlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiBlKHQsIGUpIHsKICAgICAgICAgICAgdGhpcy5heGlzID0gdCwgZSAmJiAodGhpcy5vcHRpb25zID0gZSwgdGhpcy5pZCA9IGUuaWQpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBlLmNvbXBvc2UgPSBmdW5jdGlvbihpKSB7CiAgICAgICAgICAgIHJldHVybiB0LmNvbXBvc2UoZSwgaSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgYSh0aGlzLCAicmVuZGVyIik7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHQuYXhpcywgaSA9IGUuaG9yaXosIG4gPSBlLmxvZ2FyaXRobWljLCByID0gdC5vcHRpb25zLCBzID0gci5jb2xvciwgcCA9IGMoci56SW5kZXgsIDApLCBkID0gci5ldmVudHMsIHUgPSB7fSwKICAgICAgICAgICAgICBmID0gZS5jaGFydC5yZW5kZXJlciwgZyA9IHIubGFiZWwsIG0gPSB0LmxhYmVsLCB5ID0gci50bywgdiA9IHIuZnJvbSwgeCA9IHIudmFsdWUsIGIgPSB0LnN2Z0VsZW0sIF8gPSBbXSwgdyA9IG8odikgJiYgbyh5KTsKICAgICAgICAgICAgXyA9IG8oeCk7CiAgICAgICAgICAgIHZhciBrID0gIWIsIFMgPSB7IGNsYXNzOiAiaGlnaGNoYXJ0cy1wbG90LSIgKyAodyA/ICJiYW5kICIgOiAibGluZSAiKSArIChyLmNsYXNzTmFtZSB8fCAiIikgfSwgQyA9IHcgPyAiYmFuZHMiIDogImxpbmVzIjsKICAgICAgICAgICAgaWYgKG4gJiYgKHYgPSBuLmxvZzJsaW4odiksIHkgPSBuLmxvZzJsaW4oeSksIHggPSBuLmxvZzJsaW4oeCkpLCBlLmNoYXJ0LnN0eWxlZE1vZGUgfHwgKF8gPyAoUy5zdHJva2UgPSBzIHx8ICIjOTk5OTk5IiwgU1sic3Ryb2tlLXdpZHRoIl0gPSBjKHIud2lkdGgsIDEpLCByLmRhc2hTdHlsZSAmJiAoUy5kYXNoc3R5bGUgPSByLmRhc2hTdHlsZSkpIDogdyAmJiAoUy5maWxsID0gcyB8fCAiI2U2ZWJmNSIsIHIuYm9yZGVyV2lkdGggJiYgKFMuc3Ryb2tlID0gci5ib3JkZXJDb2xvciwgU1sic3Ryb2tlLXdpZHRoIl0gPSByLmJvcmRlcldpZHRoKSkpLCB1LnpJbmRleCA9IHAsIEMgKz0gIi0iICsgcCwgKG4gPSBlLnBsb3RMaW5lc0FuZEJhbmRzR3JvdXBzW0NdKSB8fCAoZS5wbG90TGluZXNBbmRCYW5kc0dyb3Vwc1tDXSA9IG4gPSBmLmcoInBsb3QtIiArIEMpLmF0dHIodSkuYWRkKCkpLCBrICYmICh0LnN2Z0VsZW0gPSBiID0gZi5wYXRoKCkuYXR0cihTKS5hZGQobikpLCBfKSBfID0gZS5nZXRQbG90TGluZVBhdGgoewogICAgICAgICAgICAgIHZhbHVlOiB4LAogICAgICAgICAgICAgIGxpbmVXaWR0aDogYi5zdHJva2VXaWR0aCgpLAogICAgICAgICAgICAgIGFjcm9zc1BhbmVzOiByLmFjcm9zc1BhbmVzCiAgICAgICAgICAgIH0pOyBlbHNlIHsKICAgICAgICAgICAgICBpZiAoIXcpIHJldHVybjsKICAgICAgICAgICAgICBfID0gZS5nZXRQbG90QmFuZFBhdGgodiwgeSwgcik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICF0LmV2ZW50c0FkZGVkICYmIGQgJiYgKGwoZCwgKGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICBiLm9uKGksIChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBkW2ldLmFwcGx5KHQsIFtlXSk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9KSksIHQuZXZlbnRzQWRkZWQgPSAhMCksIChrIHx8ICFiLmQpICYmIF8gJiYgXy5sZW5ndGggPyBiLmF0dHIoeyBkOiBfIH0pIDogYiAmJiAoXyA/IChiLnNob3coITApLCBiLmFuaW1hdGUoeyBkOiBfIH0pKSA6IGIuZCAmJiAoYi5oaWRlKCksIG0gJiYgKHQubGFiZWwgPSBtID0gbS5kZXN0cm95KCkpKSksIGcgJiYgKG8oZy50ZXh0KSB8fCBvKGcuZm9ybWF0dGVyKSkgJiYgXyAmJiBfLmxlbmd0aCAmJiAwIDwgZS53aWR0aCAmJiAwIDwgZS5oZWlnaHQgJiYgIV8uaXNGbGF0ID8gKGcgPSBoKHsKICAgICAgICAgICAgICBhbGlnbjogaSAmJiB3ICYmICJjZW50ZXIiLAogICAgICAgICAgICAgIHg6IGkgPyAhdyAmJiA0IDogMTAsCiAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogIWkgJiYgdyAmJiAibWlkZGxlIiwKICAgICAgICAgICAgICB5OiBpID8gdyA/IDE2IDogMTAgOiB3ID8gNiA6IC00LAogICAgICAgICAgICAgIHJvdGF0aW9uOiBpICYmICF3ICYmIDkwCiAgICAgICAgICAgIH0sIGcpLCB0aGlzLnJlbmRlckxhYmVsKGcsIF8sIHcsIHApKSA6IG0gJiYgbS5oaWRlKCksIHQ7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5yZW5kZXJMYWJlbCA9IGZ1bmN0aW9uKHQsIGUsIG8sIHIpIHsKICAgICAgICAgICAgdmFyIHMgPSB0aGlzLmF4aXMsIGEgPSBzLmNoYXJ0LnJlbmRlcmVyLCBsID0gdGhpcy5sYWJlbDsKICAgICAgICAgICAgbCB8fCAodGhpcy5sYWJlbCA9IGwgPSBhLnRleHQodGhpcy5nZXRMYWJlbFRleHQodCksIDAsIDAsIHQudXNlSFRNTCkuYXR0cih7CiAgICAgICAgICAgICAgYWxpZ246IHQudGV4dEFsaWduIHx8IHQuYWxpZ24sCiAgICAgICAgICAgICAgcm90YXRpb246IHQucm90YXRpb24sCiAgICAgICAgICAgICAgY2xhc3M6ICJoaWdoY2hhcnRzLXBsb3QtIiArIChvID8gImJhbmQiIDogImxpbmUiKSArICItbGFiZWwgIiArICh0LmNsYXNzTmFtZSB8fCAiIiksCiAgICAgICAgICAgICAgekluZGV4OiByCiAgICAgICAgICAgIH0pLmFkZCgpLCBzLmNoYXJ0LnN0eWxlZE1vZGUgfHwgbC5jc3MoaCh7IHRleHRPdmVyZmxvdzogImVsbGlwc2lzIiB9LCB0LnN0eWxlKSkpLCByID0gZS54Qm91bmRzIHx8IFtlWzBdWzFdLCBlWzFdWzFdLCBvID8gZVsyXVsxXSA6IGVbMF1bMV1dLCBlID0gZS55Qm91bmRzIHx8IFtlWzBdWzJdLCBlWzFdWzJdLCBvID8gZVsyXVsyXSA6IGVbMF1bMl1dLCBvID0gbihyKSwgYSA9IG4oZSksIGwuYWxpZ24odCwgITEsIHsKICAgICAgICAgICAgICB4OiBvLAogICAgICAgICAgICAgIHk6IGEsCiAgICAgICAgICAgICAgd2lkdGg6IGkocikgLSBvLAogICAgICAgICAgICAgIGhlaWdodDogaShlKSAtIGEKICAgICAgICAgICAgfSksIGwuYWxpZ25WYWx1ZSAmJiAibGVmdCIgIT09IGwuYWxpZ25WYWx1ZSB8fCBsLmNzcyh7IHdpZHRoOiAoOTAgPT09IGwucm90YXRpb24gPyBzLmhlaWdodCAtIChsLmFsaWduQXR0ci55IC0gcy50b3ApIDogcy53aWR0aCAtIChsLmFsaWduQXR0ci54IC0gcy5sZWZ0KSkgKyAicHgiIH0pLCBsLnNob3coITApOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0TGFiZWxUZXh0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gbyh0LmZvcm1hdHRlcikgPyB0LmZvcm1hdHRlci5jYWxsKHRoaXMpIDogdC50ZXh0OwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBzKHRoaXMuYXhpcy5wbG90TGluZXNBbmRCYW5kcywgdGhpcyksIGRlbGV0ZSB0aGlzLmF4aXMsIHIodGhpcyk7CiAgICAgICAgICB9LCBlOwogICAgICAgIH0oKSwgZTsKICAgICAgfSkpLCBlKGksICJDb3JlL1Rvb2x0aXAuanMiLCBbaVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJVdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9SZW5kZXJlclJlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbiwgbykgewogICAgICAgIHZhciByID0gdC5mb3JtYXQsIHMgPSBlLmRvYywgYSA9IGkuZGlzdHJpYnV0ZSwgaCA9IG8uYWRkRXZlbnQsIGwgPSBvLmNsYW1wLCBjID0gby5jc3MsIHAgPSBvLmRlZmluZWQsIGQgPSBvLmRpc2NhcmRFbGVtZW50LCB1ID0gby5leHRlbmQsCiAgICAgICAgICBmID0gby5maXJlRXZlbnQsIGcgPSBvLmlzQXJyYXksIG0gPSBvLmlzTnVtYmVyLCB5ID0gby5pc1N0cmluZywgdiA9IG8ubWVyZ2UsIHggPSBvLnBpY2ssIGIgPSBvLnNwbGF0LCBfID0gby5zeW5jVGltZW91dDsKICAgICAgICByZXR1cm4gdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gdCh0LCBlKSB7CiAgICAgICAgICAgIHRoaXMuYWxsb3dTaGFyZWQgPSAhMCwgdGhpcy5jb250YWluZXIgPSB2b2lkIDAsIHRoaXMuY3Jvc3NoYWlycyA9IFtdLCB0aGlzLmRpc3RhbmNlID0gMCwgdGhpcy5pc0hpZGRlbiA9ICEwLCB0aGlzLmlzU3RpY2t5ID0gITEsIHRoaXMubm93ID0ge30sIHRoaXMub3B0aW9ucyA9IHt9LCB0aGlzLm91dHNpZGUgPSAhMSwgdGhpcy5jaGFydCA9IHQsIHRoaXMuaW5pdCh0LCBlKTsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gdC5wcm90b3R5cGUuYXBwbHlGaWx0ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmNoYXJ0OwogICAgICAgICAgICB0LnJlbmRlcmVyLmRlZmluaXRpb24oewogICAgICAgICAgICAgIHRhZ05hbWU6ICJmaWx0ZXIiLAogICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgaWQ6ICJkcm9wLXNoYWRvdy0iICsgdC5pbmRleCwgb3BhY2l0eTogLjUgfSwKICAgICAgICAgICAgICBjaGlsZHJlbjogW3sgdGFnTmFtZTogImZlR2F1c3NpYW5CbHVyIiwgYXR0cmlidXRlczogeyBpbjogIlNvdXJjZUFscGhhIiwgc3RkRGV2aWF0aW9uOiAxIH0gfSwgewogICAgICAgICAgICAgICAgdGFnTmFtZTogImZlT2Zmc2V0IiwKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgZHg6IDEsIGR5OiAxIH0KICAgICAgICAgICAgICB9LCB7IHRhZ05hbWU6ICJmZUNvbXBvbmVudFRyYW5zZmVyIiwgY2hpbGRyZW46IFt7IHRhZ05hbWU6ICJmZUZ1bmNBIiwgYXR0cmlidXRlczogeyB0eXBlOiAibGluZWFyIiwgc2xvcGU6IC4zIH0gfV0gfSwgewogICAgICAgICAgICAgICAgdGFnTmFtZTogImZlTWVyZ2UiLAogICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7IHRhZ05hbWU6ICJmZU1lcmdlTm9kZSIgfSwgeyB0YWdOYW1lOiAiZmVNZXJnZU5vZGUiLCBhdHRyaWJ1dGVzOiB7IGluOiAiU291cmNlR3JhcGhpYyIgfSB9XQogICAgICAgICAgICAgIH1dCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYm9keUZvcm1hdHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQubWFwKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSB0LnNlcmllcy50b29sdGlwT3B0aW9uczsKICAgICAgICAgICAgICByZXR1cm4gKGVbKHQucG9pbnQuZm9ybWF0UHJlZml4IHx8ICJwb2ludCIpICsgIkZvcm1hdHRlciJdIHx8IHQucG9pbnQudG9vbHRpcEZvcm1hdHRlcikuY2FsbCh0LnBvaW50LCBlWyh0LnBvaW50LmZvcm1hdFByZWZpeCB8fCAicG9pbnQiKSArICJGb3JtYXQiXSB8fCAiIik7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmNsZWFuU3BsaXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMuY2hhcnQuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IGUgJiYgZS50dDsKICAgICAgICAgICAgICBpICYmICghaS5pc0FjdGl2ZSB8fCB0ID8gZS50dCA9IGkuZGVzdHJveSgpIDogaS5pc0FjdGl2ZSA9ICExKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZGVmYXVsdEZvcm1hdHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnBvaW50cyB8fCBiKHRoaXMpLCBpID0gW3QudG9vbHRpcEZvb3RlckhlYWRlckZvcm1hdHRlcihlWzBdKV07CiAgICAgICAgICAgIHJldHVybiBpID0gaS5jb25jYXQodC5ib2R5Rm9ybWF0dGVyKGUpKSwgaS5wdXNoKHQudG9vbHRpcEZvb3RlckhlYWRlckZvcm1hdHRlcihlWzBdLCAhMCkpLCBpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmxhYmVsICYmICh0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5kZXN0cm95KCkpLCB0aGlzLnNwbGl0ICYmIHRoaXMudHQgJiYgKHRoaXMuY2xlYW5TcGxpdCghMCksIHRoaXMudHQgPSB0aGlzLnR0LmRlc3Ryb3koKSksIHRoaXMucmVuZGVyZXIgJiYgKHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyLmRlc3Ryb3koKSwgZCh0aGlzLmNvbnRhaW5lcikpLCBvLmNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lciksIG8uY2xlYXJUaW1lb3V0KHRoaXMudG9vbHRpcFRpbWVvdXQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0QW5jaG9yID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSwgbiwgbyA9IHRoaXMuY2hhcnQsIHIgPSBvLnBvaW50ZXIsIHMgPSBvLmludmVydGVkLCBhID0gby5wbG90VG9wLCBoID0gby5wbG90TGVmdCwgbCA9IDAsIGMgPSAwOwogICAgICAgICAgICByZXR1cm4gdCA9IGIodCksIHRoaXMuZm9sbG93UG9pbnRlciAmJiBlID8gKCJ1bmRlZmluZWQiID09PSB0eXBlb2YgZS5jaGFydFggJiYgKGUgPSByLm5vcm1hbGl6ZShlKSksIHIgPSBbZS5jaGFydFggLSBoLCBlLmNoYXJ0WSAtIGFdKSA6IHRbMF0udG9vbHRpcFBvcyA/IHIgPSB0WzBdLnRvb2x0aXBQb3MgOiAodC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgaSA9IHQuc2VyaWVzLnlBeGlzLCBuID0gdC5zZXJpZXMueEF4aXMsIGwgKz0gdC5wbG90WCB8fCAwLCBjICs9IHQucGxvdExvdyA/ICh0LnBsb3RMb3cgKyAodC5wbG90SGlnaCB8fCAwKSkgLyAyIDogdC5wbG90WSB8fCAwLCBuICYmIGkgJiYgKHMgPyAobCArPSBhICsgby5wbG90SGVpZ2h0IC0gbi5sZW4gLSBuLnBvcywgYyArPSBoICsgby5wbG90V2lkdGggLSBpLmxlbiAtIGkucG9zKSA6IChsICs9IG4ucG9zIC0gaCwgYyArPSBpLnBvcyAtIGEpKTsKICAgICAgICAgICAgfSkpLCBsIC89IHQubGVuZ3RoLCBjIC89IHQubGVuZ3RoLCByID0gW3MgPyBvLnBsb3RXaWR0aCAtIGMgOiBsLCBzID8gby5wbG90SGVpZ2h0IC0gbCA6IGNdLCB0aGlzLnNoYXJlZCAmJiAxIDwgdC5sZW5ndGggJiYgZSAmJiAocyA/IHJbMF0gPSBlLmNoYXJ0WCAtIGggOiByWzFdID0gZS5jaGFydFkgLSBhKSksIHIubWFwKE1hdGgucm91bmQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0TGFiZWwgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGkgPSB0aGlzLCBvID0gdGhpcy5jaGFydC5zdHlsZWRNb2RlLCByID0gdGhpcy5vcHRpb25zLCBzID0gdGhpcy5zcGxpdCAmJiB0aGlzLmFsbG93U2hhcmVkLAogICAgICAgICAgICAgIGEgPSAidG9vbHRpcCIgKyAocChyLmNsYXNzTmFtZSkgPyAiICIgKyByLmNsYXNzTmFtZSA6ICIiKSwKICAgICAgICAgICAgICBsID0gci5zdHlsZS5wb2ludGVyRXZlbnRzIHx8ICghdGhpcy5mb2xsb3dQb2ludGVyICYmIHIuc3RpY2tPbkNvbnRhY3QgPyAiYXV0byIgOiAibm9uZSIpLCBkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpLmluQ29udGFjdCA9ICEwOwogICAgICAgICAgICAgIH0sIHUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGkuY2hhcnQuaG92ZXJTZXJpZXM7CiAgICAgICAgICAgICAgICBpLmluQ29udGFjdCA9IGkuc2hvdWxkU3RpY2tPbkNvbnRhY3QoKSAmJiBpLmNoYXJ0LnBvaW50ZXIuaW5DbGFzcyh0LnJlbGF0ZWRUYXJnZXQsICJoaWdoY2hhcnRzLXRvb2x0aXAiKSwgIWkuaW5Db250YWN0ICYmIGUgJiYgZS5vbk1vdXNlT3V0ICYmIGUub25Nb3VzZU91dCgpOwogICAgICAgICAgICAgIH0sIGYgPSB0aGlzLmNoYXJ0LnJlbmRlcmVyOwogICAgICAgICAgICBpZiAoaS5sYWJlbCkgewogICAgICAgICAgICAgIHZhciBnID0gIWkubGFiZWwuaGFzQ2xhc3MoImhpZ2hjaGFydHMtbGFiZWwiKTsKICAgICAgICAgICAgICAocyAmJiAhZyB8fCAhcyAmJiBnKSAmJiBpLmRlc3Ryb3koKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIXRoaXMubGFiZWwpIHsKICAgICAgICAgICAgICBpZiAodGhpcy5vdXRzaWRlKSB7CiAgICAgICAgICAgICAgICBnID0gdGhpcy5jaGFydC5vcHRpb25zLmNoYXJ0LnN0eWxlOwogICAgICAgICAgICAgICAgdmFyIG0gPSBuLmdldFJlbmRlcmVyVHlwZSgpOwogICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSB0ID0gZS5kb2MuY3JlYXRlRWxlbWVudCgiZGl2IiksIHQuY2xhc3NOYW1lID0gImhpZ2hjaGFydHMtdG9vbHRpcC1jb250YWluZXIiLCBjKHQsIHsKICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJhYnNvbHV0ZSIsCiAgICAgICAgICAgICAgICAgIHRvcDogIjFweCIsCiAgICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IGwsCiAgICAgICAgICAgICAgICAgIHpJbmRleDogTWF0aC5tYXgodGhpcy5vcHRpb25zLnN0eWxlLnpJbmRleCB8fCAwLCAoZyAmJiBnLnpJbmRleCB8fCAwKSArIDMpCiAgICAgICAgICAgICAgICB9KSwgaCh0LCAibW91c2VlbnRlciIsIGQpLCBoKHQsICJtb3VzZWxlYXZlIiwgdSksIGUuZG9jLmJvZHkuYXBwZW5kQ2hpbGQodCksIHRoaXMucmVuZGVyZXIgPSBmID0gbmV3IG0odCwgMCwgMCwgZywgdm9pZCAwLCB2b2lkIDAsIGYuc3R5bGVkTW9kZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChzID8gdGhpcy5sYWJlbCA9IGYuZyhhKSA6ICh0aGlzLmxhYmVsID0gZi5sYWJlbCgiIiwgMCwgMCwgci5zaGFwZSwgdm9pZCAwLCB2b2lkIDAsIHIudXNlSFRNTCwgdm9pZCAwLCBhKS5hdHRyKHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IHIucGFkZGluZywKICAgICAgICAgICAgICAgIHI6IHIuYm9yZGVyUmFkaXVzCiAgICAgICAgICAgICAgfSksIG8gfHwgdGhpcy5sYWJlbC5hdHRyKHsKICAgICAgICAgICAgICAgIGZpbGw6IHIuYmFja2dyb3VuZENvbG9yLAogICAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IHIuYm9yZGVyV2lkdGgKICAgICAgICAgICAgICB9KS5jc3Moci5zdHlsZSkuY3NzKHsgcG9pbnRlckV2ZW50czogbCB9KS5zaGFkb3coci5zaGFkb3cpKSwgbyAmJiByLnNoYWRvdyAmJiAodGhpcy5hcHBseUZpbHRlcigpLCB0aGlzLmxhYmVsLmF0dHIoeyBmaWx0ZXI6ICJ1cmwoI2Ryb3Atc2hhZG93LSIgKyB0aGlzLmNoYXJ0LmluZGV4ICsgIikiIH0pKSwgaS5vdXRzaWRlICYmICFpLnNwbGl0KSB7CiAgICAgICAgICAgICAgICB2YXIgeSA9IHRoaXMubGFiZWwsIHYgPSB5LnhTZXR0ZXIsIHggPSB5LnlTZXR0ZXI7CiAgICAgICAgICAgICAgICB5LnhTZXR0ZXIgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgIHYuY2FsbCh5LCBpLmRpc3RhbmNlKSwgdC5zdHlsZS5sZWZ0ID0gZSArICJweCI7CiAgICAgICAgICAgICAgICB9LCB5LnlTZXR0ZXIgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgIHguY2FsbCh5LCBpLmRpc3RhbmNlKSwgdC5zdHlsZS50b3AgPSBlICsgInB4IjsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRoaXMubGFiZWwub24oIm1vdXNlZW50ZXIiLCBkKS5vbigibW91c2VsZWF2ZSIsIHUpLmF0dHIoeyB6SW5kZXg6IDggfSkuYWRkKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFiZWw7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRQb3NpdGlvbiA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4sIG8gPSB0aGlzLmNoYXJ0LCByID0gdGhpcy5kaXN0YW5jZSwgYSA9IHt9LCBoID0gby5pbnZlcnRlZCAmJiBpLmggfHwgMCwgbCA9IHRoaXMub3V0c2lkZSwKICAgICAgICAgICAgICBjID0gbCA/IHMuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gMiAqIHIgOiBvLmNoYXJ0V2lkdGgsCiAgICAgICAgICAgICAgcCA9IGwgPyBNYXRoLm1heChzLmJvZHkuc2Nyb2xsSGVpZ2h0LCBzLmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQsIHMuYm9keS5vZmZzZXRIZWlnaHQsIHMuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodCwgcy5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSA6IG8uY2hhcnRIZWlnaHQsCiAgICAgICAgICAgICAgZCA9IG8ucG9pbnRlci5nZXRDaGFydFBvc2l0aW9uKCksIHUgPSBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgICB2YXIgcyA9ICJ4IiA9PT0gbjsKICAgICAgICAgICAgICAgIHJldHVybiBbbiwgcyA/IGMgOiBwLCBzID8gdCA6IGVdLmNvbmNhdChsID8gW3MgPyB0ICogZC5zY2FsZVggOiBlICogZC5zY2FsZVksIHMgPyBkLmxlZnQgLSByICsgKGkucGxvdFggKyBvLnBsb3RMZWZ0KSAqIGQuc2NhbGVYIDogZC50b3AgLSByICsgKGkucGxvdFkgKyBvLnBsb3RUb3ApICogZC5zY2FsZVksIDAsIHMgPyBjIDogcF0gOiBbcyA/IHQgOiBlLCBzID8gaS5wbG90WCArIG8ucGxvdExlZnQgOiBpLnBsb3RZICsgby5wbG90VG9wLCBzID8gby5wbG90TGVmdCA6IG8ucGxvdFRvcCwgcyA/IG8ucGxvdExlZnQgKyBvLnBsb3RXaWR0aCA6IG8ucGxvdFRvcCArIG8ucGxvdEhlaWdodF0pOwogICAgICAgICAgICAgIH0sIGYgPSB1KCJ5IiksIGcgPSB1KCJ4Iik7CiAgICAgICAgICAgIHUgPSAhIWkubmVnYXRpdmUsICFvLnBvbGFyICYmIG8uaG92ZXJTZXJpZXMgJiYgby5ob3ZlclNlcmllcy55QXhpcyAmJiBvLmhvdmVyU2VyaWVzLnlBeGlzLnJldmVyc2VkICYmICh1ID0gIXUpOwogICAgICAgICAgICB2YXIgbSA9ICF0aGlzLmZvbGxvd1BvaW50ZXIgJiYgeChpLnR0QmVsb3csICFvLmludmVydGVkID09PSB1KSwgeSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHMsIGMpIHsKICAgICAgICAgICAgICB2YXIgcCA9IGwgPyAieSIgPT09IHQgPyByICogZC5zY2FsZVkgOiByICogZC5zY2FsZVggOiByLCB1ID0gKGkgLSBuKSAvIDIsIGYgPSBuIDwgbyAtIHIsIGcgPSBvICsgciArIG4gPCBlLCB5ID0gbyAtIHAgLSBpICsgdTsKICAgICAgICAgICAgICBpZiAobyA9IG8gKyBwIC0gdSwgbSAmJiBnKSBhW3RdID0gbzsgZWxzZSBpZiAoIW0gJiYgZikgYVt0XSA9IHk7IGVsc2UgaWYgKGYpIGFbdF0gPSBNYXRoLm1pbihjIC0gbiwgMCA+IHkgLSBoID8geSA6IHkgLSBoKTsgZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoIWcpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgIGFbdF0gPSBNYXRoLm1heChzLCBvICsgaCArIGkgPiBlID8gbyA6IG8gKyBoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHYgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvKSB7CiAgICAgICAgICAgICAgdmFyIHM7CiAgICAgICAgICAgICAgcmV0dXJuIG8gPCByIHx8IG8gPiBlIC0gciA/IHMgPSAhMSA6IGFbdF0gPSBvIDwgaSAvIDIgPyAxIDogbyA+IGUgLSBuIC8gMiA/IGUgLSBuIC0gMiA6IG8gLSBpIC8gMiwgczsKICAgICAgICAgICAgfSwgYiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IGY7CiAgICAgICAgICAgICAgZiA9IGcsIGcgPSBlLCBuID0gdDsKICAgICAgICAgICAgfSwgXyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICExICE9PSB5LmFwcGx5KDAsIGYpID8gITEgIT09IHYuYXBwbHkoMCwgZykgfHwgbiB8fCAoYighMCksIF8oKSkgOiBuID8gYS54ID0gYS55ID0gMCA6IChiKCEwKSwgXygpKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuIChvLmludmVydGVkIHx8IDEgPCB0aGlzLmxlbikgJiYgYigpLCBfKCksIGE7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5oaWRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXM7CiAgICAgICAgICAgIG8uY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVyKSwgdCA9IHgodCwgdGhpcy5vcHRpb25zLmhpZGVEZWxheSksIHRoaXMuaXNIaWRkZW4gfHwgKHRoaXMuaGlkZVRpbWVyID0gXygoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgZS5nZXRMYWJlbCgpLmZhZGVPdXQodCA/IHZvaWQgMCA6IHQpLCBlLmlzSGlkZGVuID0gITA7CiAgICAgICAgICAgIH0pLCB0KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLmNoYXJ0ID0gdCwgdGhpcy5vcHRpb25zID0gZSwgdGhpcy5jcm9zc2hhaXJzID0gW10sIHRoaXMubm93ID0gewogICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgeTogMAogICAgICAgICAgICB9LCB0aGlzLmlzSGlkZGVuID0gITAsIHRoaXMuc3BsaXQgPSBlLnNwbGl0ICYmICF0LmludmVydGVkICYmICF0LnBvbGFyLCB0aGlzLnNoYXJlZCA9IGUuc2hhcmVkIHx8IHRoaXMuc3BsaXQsIHRoaXMub3V0c2lkZSA9IHgoZS5vdXRzaWRlLCAhKCF0LnNjcm9sbGFibGVQaXhlbHNYICYmICF0LnNjcm9sbGFibGVQaXhlbHNZKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zaG91bGRTdGlja09uQ29udGFjdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gISh0aGlzLmZvbGxvd1BvaW50ZXIgfHwgIXRoaXMub3B0aW9ucy5zdGlja09uQ29udGFjdCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pc1N0aWNreU9uQ29udGFjdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gISghdGhpcy5zaG91bGRTdGlja09uQ29udGFjdCgpIHx8ICF0aGlzLmluQ29udGFjdCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5tb3ZlID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICB2YXIgciA9IHRoaXMsIHMgPSByLm5vdywgYSA9ICExICE9PSByLm9wdGlvbnMuYW5pbWF0aW9uICYmICFyLmlzSGlkZGVuICYmICgxIDwgTWF0aC5hYnModCAtIHMueCkgfHwgMSA8IE1hdGguYWJzKGUgLSBzLnkpKSwKICAgICAgICAgICAgICBoID0gci5mb2xsb3dQb2ludGVyIHx8IDEgPCByLmxlbjsKICAgICAgICAgICAgdShzLCB7CiAgICAgICAgICAgICAgeDogYSA/ICgyICogcy54ICsgdCkgLyAzIDogdCwKICAgICAgICAgICAgICB5OiBhID8gKHMueSArIGUpIC8gMiA6IGUsCiAgICAgICAgICAgICAgYW5jaG9yWDogaCA/IHZvaWQgMCA6IGEgPyAoMiAqIHMuYW5jaG9yWCArIGkpIC8gMyA6IGksCiAgICAgICAgICAgICAgYW5jaG9yWTogaCA/IHZvaWQgMCA6IGEgPyAocy5hbmNob3JZICsgbikgLyAyIDogbgogICAgICAgICAgICB9KSwgci5nZXRMYWJlbCgpLmF0dHIocyksIHIuZHJhd1RyYWNrZXIoKSwgYSAmJiAoby5jbGVhclRpbWVvdXQodGhpcy50b29sdGlwVGltZW91dCksIHRoaXMudG9vbHRpcFRpbWVvdXQgPSBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICByICYmIHIubW92ZSh0LCBlLCBpLCBuKTsKICAgICAgICAgICAgfSksIDMyKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZWZyZXNoID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMuY2hhcnQsIG4gPSB0aGlzLm9wdGlvbnMsIHIgPSBiKHQpLCBzID0gclswXSwgYSA9IFtdLCBoID0gbi5mb3JtYXR0ZXIgfHwgdGhpcy5kZWZhdWx0Rm9ybWF0dGVyLCBsID0gdGhpcy5zaGFyZWQsIGMgPSBpLnN0eWxlZE1vZGUsCiAgICAgICAgICAgICAgcCA9IHt9OwogICAgICAgICAgICBpZiAobi5lbmFibGVkKSB7CiAgICAgICAgICAgICAgby5jbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZXIpLCB0aGlzLmFsbG93U2hhcmVkID0gISghZyh0KSAmJiB0LnNlcmllcyAmJiB0LnNlcmllcy5ub1NoYXJlZFRvb2x0aXApLCB0aGlzLmZvbGxvd1BvaW50ZXIgPSAhdGhpcy5zcGxpdCAmJiBzLnNlcmllcy50b29sdGlwT3B0aW9ucy5mb2xsb3dQb2ludGVyLCB0ID0gdGhpcy5nZXRBbmNob3IodCwgZSk7CiAgICAgICAgICAgICAgdmFyIGQgPSB0WzBdLCB1ID0gdFsxXTsKICAgICAgICAgICAgICBpZiAobCAmJiB0aGlzLmFsbG93U2hhcmVkID8gKGkucG9pbnRlci5hcHBseUluYWN0aXZlU3RhdGUociksIHIuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdC5zZXRTdGF0ZSgiaG92ZXIiKSwgYS5wdXNoKHQuZ2V0TGFiZWxDb25maWcoKSk7CiAgICAgICAgICAgICAgfSkpLCBwID0gewogICAgICAgICAgICAgICAgeDogcy5jYXRlZ29yeSwKICAgICAgICAgICAgICAgIHk6IHMueQogICAgICAgICAgICAgIH0sIHAucG9pbnRzID0gYSkgOiBwID0gcy5nZXRMYWJlbENvbmZpZygpLCB0aGlzLmxlbiA9IGEubGVuZ3RoLCBoID0gaC5jYWxsKHAsIHRoaXMpLCBsID0gcy5zZXJpZXMsIHRoaXMuZGlzdGFuY2UgPSB4KGwudG9vbHRpcE9wdGlvbnMuZGlzdGFuY2UsIDE2KSwgITEgPT09IGgpIHRoaXMuaGlkZSgpOyBlbHNlIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLnNwbGl0ICYmIHRoaXMuYWxsb3dTaGFyZWQpIHRoaXMucmVuZGVyU3BsaXQoaCwgcik7IGVsc2UgewogICAgICAgICAgICAgICAgICB2YXIgbSA9IGQsIHkgPSB1OwogICAgICAgICAgICAgICAgICBpZiAoZSAmJiBpLnBvaW50ZXIuaXNEaXJlY3RUb3VjaCAmJiAobSA9IGUuY2hhcnRYIC0gaS5wbG90TGVmdCwgeSA9IGUuY2hhcnRZIC0gaS5wbG90VG9wKSwgIWkucG9sYXIgJiYgITEgIT09IGwub3B0aW9ucy5jbGlwICYmICFyLnNvbWUoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC5zZXJpZXMuc2hvdWxkU2hvd1Rvb2x0aXAobSwgeSk7CiAgICAgICAgICAgICAgICAgIH0pKSkgcmV0dXJuIHZvaWQgdGhpcy5oaWRlKCk7CiAgICAgICAgICAgICAgICAgIGUgPSB0aGlzLmdldExhYmVsKCksIG4uc3R5bGUud2lkdGggJiYgIWMgfHwgZS5jc3MoeyB3aWR0aDogdGhpcy5jaGFydC5zcGFjaW5nQm94LndpZHRoICsgInB4IiB9KSwgZS5hdHRyKHsgdGV4dDogaCAmJiBoLmpvaW4gPyBoLmpvaW4oIiIpIDogaCB9KSwgZS5yZW1vdmVDbGFzcygvaGlnaGNoYXJ0cy1jb2xvci1bXGRdKy9nKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1jb2xvci0iICsgeChzLmNvbG9ySW5kZXgsIGwuY29sb3JJbmRleCkpLCBjIHx8IGUuYXR0cih7IHN0cm9rZTogbi5ib3JkZXJDb2xvciB8fCBzLmNvbG9yIHx8IGwuY29sb3IgfHwgIiM2NjY2NjYiIH0pLCB0aGlzLnVwZGF0ZVBvc2l0aW9uKHsKICAgICAgICAgICAgICAgICAgICBwbG90WDogZCwKICAgICAgICAgICAgICAgICAgICBwbG90WTogdSwKICAgICAgICAgICAgICAgICAgICBuZWdhdGl2ZTogcy5uZWdhdGl2ZSwKICAgICAgICAgICAgICAgICAgICB0dEJlbG93OiBzLnR0QmVsb3csCiAgICAgICAgICAgICAgICAgICAgaDogdFsyXSB8fCAwCiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhpcy5pc0hpZGRlbiAmJiB0aGlzLmxhYmVsICYmIHRoaXMubGFiZWwuYXR0cih7IG9wYWNpdHk6IDEgfSkuc2hvdygpLCB0aGlzLmlzSGlkZGVuID0gITE7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGYodGhpcywgInJlZnJlc2giKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVuZGVyU3BsaXQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGkodCwgZSwgaSwgbywgcikgewogICAgICAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IHIgJiYgKHIgPSAhMCksIGkgPyAoZSA9IE8gPyAwIDogaiwgdCA9IGwodCAtIG8gLyAyLCBNLmxlZnQsIE0ucmlnaHQgLSBvIC0gKG4ub3V0c2lkZSA/IFQgOiAwKSkpIDogKGUgLT0gRSwgdCA9IHIgPyB0IC0gbyAtIGsgOiB0ICsgaywgdCA9IGwodCwgciA/IHQgOiBNLmxlZnQsIE0ucmlnaHQpKSwgewogICAgICAgICAgICAgICAgeDogdCwKICAgICAgICAgICAgICAgIHk6IGUKICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgbiA9IHRoaXMsIG8gPSBuLmNoYXJ0LCByID0gbi5jaGFydCwgaCA9IHIuY2hhcnRXaWR0aCwgYyA9IHIuY2hhcnRIZWlnaHQsIHAgPSByLnBsb3RIZWlnaHQsIGQgPSByLnBsb3RMZWZ0LCBmID0gci5wbG90VG9wLCBnID0gci5wb2ludGVyLAogICAgICAgICAgICAgIG0gPSByLnNjcm9sbGFibGVQaXhlbHNZOwogICAgICAgICAgICBtID0gdm9pZCAwID09PSBtID8gMCA6IG07CiAgICAgICAgICAgIHZhciB2ID0gci5zY3JvbGxhYmxlUGl4ZWxzWCwgYiA9IHIuc2Nyb2xsaW5nQ29udGFpbmVyOwogICAgICAgICAgICBiID0gdm9pZCAwID09PSBiID8geyBzY3JvbGxMZWZ0OiAwLCBzY3JvbGxUb3A6IDAgfSA6IGI7CiAgICAgICAgICAgIHZhciBfID0gYi5zY3JvbGxMZWZ0OwogICAgICAgICAgICBiID0gYi5zY3JvbGxUb3A7CiAgICAgICAgICAgIHZhciB3ID0gci5zdHlsZWRNb2RlLCBrID0gbi5kaXN0YW5jZSwgUyA9IG4ub3B0aW9ucywgQyA9IG4ub3B0aW9ucy5wb3NpdGlvbmVyLAogICAgICAgICAgICAgIE0gPSBuLm91dHNpZGUgJiYgIm51bWJlciIgIT09IHR5cGVvZiB2ID8gcy5kb2N1bWVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7IGxlZnQ6IF8sIHJpZ2h0OiBfICsgaCwgdG9wOiBiLCBib3R0b206IGIgKyBjIH0sCiAgICAgICAgICAgICAgQSA9IG4uZ2V0TGFiZWwoKSwgUCA9IHRoaXMucmVuZGVyZXIgfHwgby5yZW5kZXJlciwgTyA9ICEoIW8ueEF4aXNbMF0gfHwgIW8ueEF4aXNbMF0ub3Bwb3NpdGUpOwogICAgICAgICAgICBvID0gZy5nZXRDaGFydFBvc2l0aW9uKCk7CiAgICAgICAgICAgIHZhciBUID0gby5sZWZ0OwogICAgICAgICAgICBvID0gby50b3A7CiAgICAgICAgICAgIHZhciBFID0gZiArIGIsIEwgPSAwLCBqID0gcCAtIG07CiAgICAgICAgICAgIHkodCkgJiYgKHQgPSBbITEsIHRdKSwgdCA9IHQuc2xpY2UoMCwgZS5sZW5ndGggKyAxKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsIG8sIHIpIHsKICAgICAgICAgICAgICBpZiAoITEgIT09IG8gJiYgIiIgIT09IG8pIHsKICAgICAgICAgICAgICAgIHIgPSBlW3IgLSAxXSB8fCB7IGlzSGVhZGVyOiAhMCwgcGxvdFg6IGVbMF0ucGxvdFgsIHBsb3RZOiBwLCBzZXJpZXM6IHt9IH07CiAgICAgICAgICAgICAgICB2YXIgcyA9IHIuaXNIZWFkZXIsIGEgPSBzID8gbiA6IHIuc2VyaWVzOwogICAgICAgICAgICAgICAgbyA9IG8udG9TdHJpbmcoKTsKICAgICAgICAgICAgICAgIHZhciBoID0gYS50dCwgYyA9IHIuaXNIZWFkZXIsIHUgPSByLnNlcmllcywgZyA9ICJoaWdoY2hhcnRzLWNvbG9yLSIgKyB4KHIuY29sb3JJbmRleCwgdS5jb2xvckluZGV4LCAibm9uZSIpOwogICAgICAgICAgICAgICAgaWYgKGggfHwgKGggPSB7CiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IFMucGFkZGluZywKICAgICAgICAgICAgICAgICAgcjogUy5ib3JkZXJSYWRpdXMKICAgICAgICAgICAgICAgIH0sIHcgfHwgKGguZmlsbCA9IFMuYmFja2dyb3VuZENvbG9yLCBoWyJzdHJva2Utd2lkdGgiXSA9IFMuYm9yZGVyV2lkdGgpLCBoID0gUC5sYWJlbCgiIiwgMCwgMCwgU1tjID8gImhlYWRlclNoYXBlIiA6ICJzaGFwZSJdLCB2b2lkIDAsIHZvaWQgMCwgUy51c2VIVE1MKS5hZGRDbGFzcygoYyA/ICJoaWdoY2hhcnRzLXRvb2x0aXAtaGVhZGVyICIgOiAiIikgKyAiaGlnaGNoYXJ0cy10b29sdGlwLWJveCAiICsgZykuYXR0cihoKS5hZGQoQSkpLCBoLmlzQWN0aXZlID0gITAsIGguYXR0cih7IHRleHQ6IG8gfSksIHcgfHwgaC5jc3MoUy5zdHlsZSkuc2hhZG93KFMuc2hhZG93KS5hdHRyKHsgc3Ryb2tlOiBTLmJvcmRlckNvbG9yIHx8IHIuY29sb3IgfHwgdS5jb2xvciB8fCAiIzMzMzMzMyIgfSksIGEgPSBhLnR0ID0gaCwgYyA9IGEuZ2V0QkJveCgpLCBvID0gYy53aWR0aCArIGEuc3Ryb2tlV2lkdGgoKSwgcyAmJiAoTCA9IGMuaGVpZ2h0LCBqICs9IEwsIE8gJiYgKEUgLT0gTCkpLCB1ID0gci5wbG90WCwgdSA9IHZvaWQgMCA9PT0gdSA/IDAgOiB1LCBnID0gci5wbG90WSwgZyA9IHZvaWQgMCA9PT0gZyA/IDAgOiBnLCBoID0gci5zZXJpZXMsIHIuaXNIZWFkZXIpIHsKICAgICAgICAgICAgICAgICAgdSA9IGQgKyB1OwogICAgICAgICAgICAgICAgICB2YXIgbSA9IGYgKyBwIC8gMjsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIHZhciB5ID0gaC54QXhpcywgdiA9IGgueUF4aXM7CiAgICAgICAgICAgICAgICAgIHUgPSB5LnBvcyArIGwodSwgLWssIHkubGVuICsgayksIGguc2hvdWxkU2hvd1Rvb2x0aXAoMCwgdi5wb3MgLSBmICsgZywgeyBpZ25vcmVYOiAhMCB9KSAmJiAobSA9IHYucG9zICsgZyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB1ID0gbCh1LCBNLmxlZnQgLSBrLCBNLnJpZ2h0ICsgayksICJudW1iZXIiID09PSB0eXBlb2YgbSA/IChjID0gYy5oZWlnaHQgKyAxLCBnID0gQyA/IEMuY2FsbChuLCBvLCBjLCByKSA6IGkodSwgbSwgcywgbyksIHQucHVzaCh7CiAgICAgICAgICAgICAgICAgIGFsaWduOiBDID8gMCA6IHZvaWQgMCwKICAgICAgICAgICAgICAgICAgYW5jaG9yWDogdSwKICAgICAgICAgICAgICAgICAgYW5jaG9yWTogbSwKICAgICAgICAgICAgICAgICAgYm94V2lkdGg6IG8sCiAgICAgICAgICAgICAgICAgIHBvaW50OiByLAogICAgICAgICAgICAgICAgICByYW5rOiB4KGcucmFuaywgcyA/IDEgOiAwKSwKICAgICAgICAgICAgICAgICAgc2l6ZTogYywKICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBnLnksCiAgICAgICAgICAgICAgICAgIHR0OiBhLAogICAgICAgICAgICAgICAgICB4OiBnLngKICAgICAgICAgICAgICAgIH0pKSA6IGEuaXNBY3RpdmUgPSAhMTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgICAgIH0pLCBbXSksICFDICYmIHQuc29tZSgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBlID0gKG4ub3V0c2lkZSA/IFQgOiAwKSArIHQuYW5jaG9yWDsKICAgICAgICAgICAgICByZXR1cm4gZSA8IE0ubGVmdCAmJiBlICsgdC5ib3hXaWR0aCA8IE0ucmlnaHQgfHwgZSA8IFQgLSBNLmxlZnQgKyB0LmJveFdpZHRoICYmIE0ucmlnaHQgLSBlID4gZTsKICAgICAgICAgICAgfSkpICYmICh0ID0gdC5tYXAoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IGkodC5hbmNob3JYLCB0LmFuY2hvclksIHQucG9pbnQuaXNIZWFkZXIsIHQuYm94V2lkdGgsICExKTsKICAgICAgICAgICAgICByZXR1cm4gdSh0LCB7IHRhcmdldDogZS55LCB4OiBlLnggfSk7CiAgICAgICAgICAgIH0pKSksIG4uY2xlYW5TcGxpdCgpLCBhKHQsIGopOwogICAgICAgICAgICB2YXIgRCA9IFQsIEkgPSBUOwogICAgICAgICAgICB0LmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHQueCwgaSA9IHQuYm94V2lkdGg7CiAgICAgICAgICAgICAgdCA9IHQuaXNIZWFkZXIsIHQgfHwgKG4ub3V0c2lkZSAmJiBUICsgZSA8IEQgJiYgKEQgPSBUICsgZSksICF0ICYmIG4ub3V0c2lkZSAmJiBEICsgaSA+IEkgJiYgKEkgPSBUICsgZSkpOwogICAgICAgICAgICB9KSksIHQuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBlID0gdC54LCBpID0gdC5hbmNob3JYLCBvID0gdC5wb3MsIHIgPSB0LnBvaW50LmlzSGVhZGVyOwogICAgICAgICAgICAgIGlmIChvID0geyB2aXNpYmlsaXR5OiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIG8gPyAiaGlkZGVuIiA6ICJpbmhlcml0IiwgeDogZSwgeTogbyArIEUsIGFuY2hvclg6IGksIGFuY2hvclk6IHQuYW5jaG9yWSB9LCBuLm91dHNpZGUgJiYgZSA8IGkpIHsKICAgICAgICAgICAgICAgIHZhciBzID0gVCAtIEQ7CiAgICAgICAgICAgICAgICAwIDwgcyAmJiAociB8fCAoby54ID0gZSArIHMsIG8uYW5jaG9yWCA9IGkgKyBzKSwgciAmJiAoby54ID0gKEkgLSBEKSAvIDIsIG8uYW5jaG9yWCA9IGkgKyBzKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHQudHQuYXR0cihvKTsKICAgICAgICAgICAgfSkpLCB0ID0gbi5jb250YWluZXIsIG0gPSBuLnJlbmRlcmVyLCBuLm91dHNpZGUgJiYgdCAmJiBtICYmIChyID0gQS5nZXRCQm94KCksIG0uc2V0U2l6ZShyLndpZHRoICsgci54LCByLmhlaWdodCArIHIueSwgITEpLCB0LnN0eWxlLmxlZnQgPSBEICsgInB4IiwgdC5zdHlsZS50b3AgPSBvICsgInB4Iik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kcmF3VHJhY2tlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAodGhpcy5mb2xsb3dQb2ludGVyIHx8ICF0aGlzLm9wdGlvbnMuc3RpY2tPbkNvbnRhY3QpIHRoaXMudHJhY2tlciAmJiB0aGlzLnRyYWNrZXIuZGVzdHJveSgpOyBlbHNlIHsKICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQsIGUgPSB0aGlzLmxhYmVsLCBpID0gdGhpcy5zaGFyZWQgPyB0LmhvdmVyUG9pbnRzIDogdC5ob3ZlclBvaW50OwogICAgICAgICAgICAgIGlmIChlICYmIGkpIHsKICAgICAgICAgICAgICAgIHZhciBuID0geyB4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwIH07CiAgICAgICAgICAgICAgICBpID0gdGhpcy5nZXRBbmNob3IoaSk7CiAgICAgICAgICAgICAgICB2YXIgbyA9IGUuZ2V0QkJveCgpOwogICAgICAgICAgICAgICAgaVswXSArPSB0LnBsb3RMZWZ0IC0gZS50cmFuc2xhdGVYLCBpWzFdICs9IHQucGxvdFRvcCAtIGUudHJhbnNsYXRlWSwgbi54ID0gTWF0aC5taW4oMCwgaVswXSksIG4ueSA9IE1hdGgubWluKDAsIGlbMV0pLCBuLndpZHRoID0gMCA+IGlbMF0gPyBNYXRoLm1heChNYXRoLmFicyhpWzBdKSwgby53aWR0aCAtIGlbMF0pIDogTWF0aC5tYXgoTWF0aC5hYnMoaVswXSksIG8ud2lkdGgpLCBuLmhlaWdodCA9IDAgPiBpWzFdID8gTWF0aC5tYXgoTWF0aC5hYnMoaVsxXSksIG8uaGVpZ2h0IC0gTWF0aC5hYnMoaVsxXSkpIDogTWF0aC5tYXgoTWF0aC5hYnMoaVsxXSksIG8uaGVpZ2h0KSwgdGhpcy50cmFja2VyID8gdGhpcy50cmFja2VyLmF0dHIobikgOiAodGhpcy50cmFja2VyID0gZS5yZW5kZXJlci5yZWN0KG4pLmFkZENsYXNzKCJoaWdoY2hhcnRzLXRyYWNrZXIiKS5hZGQoZSksIHQuc3R5bGVkTW9kZSB8fCB0aGlzLnRyYWNrZXIuYXR0cih7IGZpbGw6ICJyZ2JhKDAsMCwwLDApIiB9KSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zdHlsZWRNb2RlRm9ybWF0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdC5yZXBsYWNlKCJzdHlsZT1cImZvbnQtc2l6ZTogMTBweFwiIiwgImNsYXNzPVwiaGlnaGNoYXJ0cy1oZWFkZXJcIiIpLnJlcGxhY2UoL3N0eWxlPSJjb2xvcjp7KHBvaW50fHNlcmllcylcLmNvbG9yfSIvZywgImNsYXNzPVwiaGlnaGNoYXJ0cy1jb2xvci17JDEuY29sb3JJbmRleH1cIiIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudG9vbHRpcEZvb3RlckhlYWRlckZvcm1hdHRlciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0LnNlcmllcywgbiA9IGkudG9vbHRpcE9wdGlvbnMsIG8gPSBpLnhBeGlzLCBzID0gbyAmJiBvLmRhdGVUaW1lOwogICAgICAgICAgICBvID0geyBpc0Zvb3RlcjogZSwgbGFiZWxDb25maWc6IHQgfTsKICAgICAgICAgICAgdmFyIGEgPSBuLnhEYXRlRm9ybWF0LCBoID0gbltlID8gImZvb3RlckZvcm1hdCIgOiAiaGVhZGVyRm9ybWF0Il07CiAgICAgICAgICAgIHJldHVybiBmKHRoaXMsICJoZWFkZXJGb3JtYXR0ZXIiLCBvLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHMgJiYgIWEgJiYgbSh0LmtleSkgJiYgKGEgPSBzLmdldFhEYXRlRm9ybWF0KHQua2V5LCBuLmRhdGVUaW1lTGFiZWxGb3JtYXRzKSksIHMgJiYgYSAmJiAodC5wb2ludCAmJiB0LnBvaW50LnRvb2x0aXBEYXRlS2V5cyB8fCBbImtleSJdKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBoID0gaC5yZXBsYWNlKCJ7cG9pbnQuIiArIHQgKyAifSIsICJ7cG9pbnQuIiArIHQgKyAiOiIgKyBhICsgIn0iKTsKICAgICAgICAgICAgICB9KSksIGkuY2hhcnQuc3R5bGVkTW9kZSAmJiAoaCA9IHRoaXMuc3R5bGVkTW9kZUZvcm1hdChoKSksIGUudGV4dCA9IHIoaCwgeyBwb2ludDogdCwgc2VyaWVzOiBpIH0sIHRoaXMuY2hhcnQpOwogICAgICAgICAgICB9KSksIG8udGV4dDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5kZXN0cm95KCksIHYoITAsIHRoaXMuY2hhcnQub3B0aW9ucy50b29sdGlwLnVzZXJPcHRpb25zLCB0KSwgdGhpcy5pbml0KHRoaXMuY2hhcnQsIHYoITAsIHRoaXMub3B0aW9ucywgdCkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudXBkYXRlUG9zaXRpb24gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydCwgaSA9IHRoaXMub3B0aW9ucywgbiA9IGUucG9pbnRlciwgbyA9IHRoaXMuZ2V0TGFiZWwoKTsKICAgICAgICAgICAgbiA9IG4uZ2V0Q2hhcnRQb3NpdGlvbigpOwogICAgICAgICAgICB2YXIgciA9IChpLnBvc2l0aW9uZXIgfHwgdGhpcy5nZXRQb3NpdGlvbikuY2FsbCh0aGlzLCBvLndpZHRoLCBvLmhlaWdodCwgdCksIHMgPSB0LnBsb3RYICsgZS5wbG90TGVmdDsKICAgICAgICAgICAgdCA9IHQucGxvdFkgKyBlLnBsb3RUb3AsIHRoaXMub3V0c2lkZSAmJiAoaSA9IGkuYm9yZGVyV2lkdGggKyAyICogdGhpcy5kaXN0YW5jZSwgdGhpcy5yZW5kZXJlci5zZXRTaXplKG8ud2lkdGggKyBpLCBvLmhlaWdodCArIGksICExKSwgMSA9PT0gbi5zY2FsZVggJiYgMSA9PT0gbi5zY2FsZVkgfHwgKGModGhpcy5jb250YWluZXIsIHsgdHJhbnNmb3JtOiAic2NhbGUoIiArIG4uc2NhbGVYICsgIiwgIiArIG4uc2NhbGVZICsgIikiIH0pLCBzICo9IG4uc2NhbGVYLCB0ICo9IG4uc2NhbGVZKSwgcyArPSBuLmxlZnQgLSByLngsIHQgKz0gbi50b3AgLSByLnkpLCB0aGlzLm1vdmUoTWF0aC5yb3VuZChyLngpLCBNYXRoLnJvdW5kKHIueSB8fCAwKSwgcywgdCk7CiAgICAgICAgICB9LCB0OwogICAgICAgIH0oKSwgdDsKICAgICAgfSkpLCBlKGksICJDb3JlL1Nlcmllcy9Qb2ludC5qcyIsIFtpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0sIGlbIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyJdLCBpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0sIGlbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbiwgbykgewogICAgICAgIHZhciByID0gZS5hbmltT2JqZWN0LCBzID0gaS5kZWZhdWx0T3B0aW9ucywgYSA9IG4uZm9ybWF0LCBoID0gby5hZGRFdmVudCwgbCA9IG8uZGVmaW5lZCwgYyA9IG8uZXJhc2UsIHAgPSBvLmV4dGVuZCwgZCA9IG8uZmlyZUV2ZW50LAogICAgICAgICAgdSA9IG8uZ2V0TmVzdGVkUHJvcGVydHksIGYgPSBvLmlzQXJyYXksIGcgPSBvLmlzRnVuY3Rpb24sIG0gPSBvLmlzTnVtYmVyLCB5ID0gby5pc09iamVjdCwgdiA9IG8ubWVyZ2UsIHggPSBvLm9iamVjdEVhY2gsIGIgPSBvLnBpY2ssCiAgICAgICAgICBfID0gby5zeW5jVGltZW91dCwgdyA9IG8ucmVtb3ZlRXZlbnQsIGsgPSBvLnVuaXF1ZUtleTsKICAgICAgICByZXR1cm4gZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgICAgdGhpcy5jb2xvckluZGV4ID0gdGhpcy5jYXRlZ29yeSA9IHZvaWQgMCwgdGhpcy5mb3JtYXRQcmVmaXggPSAicG9pbnQiLCB0aGlzLmlkID0gdm9pZCAwLCB0aGlzLmlzTnVsbCA9ICExLCB0aGlzLnBlcmNlbnRhZ2UgPSB0aGlzLm9wdGlvbnMgPSB0aGlzLm5hbWUgPSB2b2lkIDAsIHRoaXMuc2VsZWN0ZWQgPSAhMSwgdGhpcy50b3RhbCA9IHRoaXMuc2VyaWVzID0gdm9pZCAwLCB0aGlzLnZpc2libGUgPSAhMCwgdGhpcy54ID0gdm9pZCAwOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBlLnByb3RvdHlwZS5hbmltYXRlQmVmb3JlRGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB7IHg6IHQuc3RhcnRYUG9zLCBvcGFjaXR5OiAwIH0sIGkgPSB0LmdldEdyYXBoaWNhbFByb3BzKCk7CiAgICAgICAgICAgIGkuc2luZ3VsYXIuZm9yRWFjaCgoZnVuY3Rpb24oaSkgewogICAgICAgICAgICAgIHRbaV0gPSB0W2ldLmFuaW1hdGUoImRhdGFMYWJlbCIgPT09IGkgPyB7IHg6IHRbaV0uc3RhcnRYUG9zLCB5OiB0W2ldLnN0YXJ0WVBvcywgb3BhY2l0eTogMCB9IDogZSk7CiAgICAgICAgICAgIH0pKSwgaS5wbHVyYWwuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHRbZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5lbGVtZW50ICYmIGUuYW5pbWF0ZShwKHsgeDogdC5zdGFydFhQb3MgfSwgZS5zdGFydFlQb3MgPyB7IHg6IGUuc3RhcnRYUG9zLCB5OiBlLnN0YXJ0WVBvcyB9IDoge30pKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmFwcGx5T3B0aW9ucyA9IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLnNlcmllcywgbyA9IG4ub3B0aW9ucy5wb2ludFZhbEtleSB8fCBuLnBvaW50VmFsS2V5OwogICAgICAgICAgICByZXR1cm4gdCA9IGUucHJvdG90eXBlLm9wdGlvbnNUb09iamVjdC5jYWxsKHRoaXMsIHQpLCBwKHRoaXMsIHQpLCB0aGlzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgPyBwKHRoaXMub3B0aW9ucywgdCkgOiB0LCB0Lmdyb3VwICYmIGRlbGV0ZSB0aGlzLmdyb3VwLCB0LmRhdGFMYWJlbHMgJiYgZGVsZXRlIHRoaXMuZGF0YUxhYmVscywgbyAmJiAodGhpcy55ID0gZS5wcm90b3R5cGUuZ2V0TmVzdGVkUHJvcGVydHkuY2FsbCh0aGlzLCBvKSksIHRoaXMuZm9ybWF0UHJlZml4ID0gKHRoaXMuaXNOdWxsID0gYih0aGlzLmlzVmFsaWQgJiYgIXRoaXMuaXNWYWxpZCgpLCBudWxsID09PSB0aGlzLnggfHwgIW0odGhpcy55KSkpID8gIm51bGwiIDogInBvaW50IiwgdGhpcy5zZWxlY3RlZCAmJiAodGhpcy5zdGF0ZSA9ICJzZWxlY3QiKSwgIm5hbWUiIGluIHRoaXMgJiYgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBpICYmIG4ueEF4aXMgJiYgbi54QXhpcy5oYXNOYW1lcyAmJiAodGhpcy54ID0gbi54QXhpcy5uYW1lVG9YKHRoaXMpKSwgInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0aGlzLnggJiYgbiA/IHRoaXMueCA9ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgaSA/IG4uYXV0b0luY3JlbWVudCgpIDogaSA6IG0odC54KSAmJiBuLm9wdGlvbnMucmVsYXRpdmVYVmFsdWUgJiYgKHRoaXMueCA9IG4uYXV0b0luY3JlbWVudCh0LngpKSwgdGhpczsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZnVuY3Rpb24gdCgpIHsKICAgICAgICAgICAgICBmb3IgKG8gaW4gKGUuZ3JhcGhpYyB8fCBlLmRhdGFMYWJlbCB8fCBlLmRhdGFMYWJlbHMpICYmICh3KGUpLCBlLmRlc3Ryb3lFbGVtZW50cygpKSwgZSkgZVtvXSA9IG51bGw7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IGUuc2VyaWVzLCBuID0gaS5jaGFydDsKICAgICAgICAgICAgaSA9IGkub3B0aW9ucy5kYXRhU29ydGluZzsKICAgICAgICAgICAgdmFyIG8sIHMgPSBuLmhvdmVyUG9pbnRzLCBhID0gcihlLnNlcmllcy5jaGFydC5yZW5kZXJlci5nbG9iYWxBbmltYXRpb24pOwogICAgICAgICAgICBlLmxlZ2VuZEl0ZW0gJiYgbi5sZWdlbmQuZGVzdHJveUl0ZW0oZSksIHMgJiYgKGUuc2V0U3RhdGUoKSwgYyhzLCBlKSwgcy5sZW5ndGggfHwgKG4uaG92ZXJQb2ludHMgPSBudWxsKSksIGUgPT09IG4uaG92ZXJQb2ludCAmJiBlLm9uTW91c2VPdXQoKSwgaSAmJiBpLmVuYWJsZWQgPyAodGhpcy5hbmltYXRlQmVmb3JlRGVzdHJveSgpLCBfKHQsIGEuZHVyYXRpb24pKSA6IHQoKSwgbi5wb2ludENvdW50LS07CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kZXN0cm95RWxlbWVudHMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgdCA9IGUuZ2V0R3JhcGhpY2FsUHJvcHModCksIHQuc2luZ3VsYXIuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGVbdF0gPSBlW3RdLmRlc3Ryb3koKTsKICAgICAgICAgICAgfSkpLCB0LnBsdXJhbC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgZVt0XS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LmVsZW1lbnQgJiYgdC5kZXN0cm95KCk7CiAgICAgICAgICAgICAgfSkpLCBkZWxldGUgZVt0XTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZmlyZVBvaW50RXZlbnQgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcywgbyA9IHRoaXMuc2VyaWVzLm9wdGlvbnM7CiAgICAgICAgICAgIChvLnBvaW50LmV2ZW50c1t0XSB8fCBuLm9wdGlvbnMgJiYgbi5vcHRpb25zLmV2ZW50cyAmJiBuLm9wdGlvbnMuZXZlbnRzW3RdKSAmJiBuLmltcG9ydEV2ZW50cygpLCAiY2xpY2siID09PSB0ICYmIG8uYWxsb3dQb2ludFNlbGVjdCAmJiAoaSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBuLnNlbGVjdCAmJiBuLnNlbGVjdChudWxsLCB0LmN0cmxLZXkgfHwgdC5tZXRhS2V5IHx8IHQuc2hpZnRLZXkpOwogICAgICAgICAgICB9KSwgZChuLCB0LCBlLCBpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldENsYXNzTmFtZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gImhpZ2hjaGFydHMtcG9pbnQiICsgKHRoaXMuc2VsZWN0ZWQgPyAiIGhpZ2hjaGFydHMtcG9pbnQtc2VsZWN0IiA6ICIiKSArICh0aGlzLm5lZ2F0aXZlID8gIiBoaWdoY2hhcnRzLW5lZ2F0aXZlIiA6ICIiKSArICh0aGlzLmlzTnVsbCA/ICIgaGlnaGNoYXJ0cy1udWxsLXBvaW50IiA6ICIiKSArICgidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHRoaXMuY29sb3JJbmRleCA/ICIgaGlnaGNoYXJ0cy1jb2xvci0iICsgdGhpcy5jb2xvckluZGV4IDogIiIpICsgKHRoaXMub3B0aW9ucy5jbGFzc05hbWUgPyAiICIgKyB0aGlzLm9wdGlvbnMuY2xhc3NOYW1lIDogIiIpICsgKHRoaXMuem9uZSAmJiB0aGlzLnpvbmUuY2xhc3NOYW1lID8gIiAiICsgdGhpcy56b25lLmNsYXNzTmFtZS5yZXBsYWNlKCJoaWdoY2hhcnRzLW5lZ2F0aXZlIiwgIiIpIDogIiIpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0R3JhcGhpY2FsUHJvcHMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlLCBpID0gdGhpcywgbiA9IFtdLCBvID0geyBzaW5ndWxhcjogW10sIHBsdXJhbDogW10gfTsKICAgICAgICAgICAgZm9yICh0ID0gdCB8fCB7CiAgICAgICAgICAgICAgZ3JhcGhpYzogMSwKICAgICAgICAgICAgICBkYXRhTGFiZWw6IDEKICAgICAgICAgICAgfSwgdC5ncmFwaGljICYmIG4ucHVzaCgiZ3JhcGhpYyIsICJ1cHBlckdyYXBoaWMiLCAic2hhZG93R3JvdXAiKSwgdC5kYXRhTGFiZWwgJiYgbi5wdXNoKCJkYXRhTGFiZWwiLCAiZGF0YUxhYmVsVXBwZXIiLCAiY29ubmVjdG9yIiksIGUgPSBuLmxlbmd0aDsgZS0tOykgewogICAgICAgICAgICAgIHZhciByID0gbltlXTsKICAgICAgICAgICAgICBpW3JdICYmIG8uc2luZ3VsYXIucHVzaChyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gWyJkYXRhTGFiZWwiLCAiY29ubmVjdG9yIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHZhciBuID0gZSArICJzIjsKICAgICAgICAgICAgICB0W2VdICYmIGlbbl0gJiYgby5wbHVyYWwucHVzaChuKTsKICAgICAgICAgICAgfSkpLCBvOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0TGFiZWxDb25maWcgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICB4OiB0aGlzLmNhdGVnb3J5LAogICAgICAgICAgICAgIHk6IHRoaXMueSwKICAgICAgICAgICAgICBjb2xvcjogdGhpcy5jb2xvciwKICAgICAgICAgICAgICBjb2xvckluZGV4OiB0aGlzLmNvbG9ySW5kZXgsCiAgICAgICAgICAgICAga2V5OiB0aGlzLm5hbWUgfHwgdGhpcy5jYXRlZ29yeSwKICAgICAgICAgICAgICBzZXJpZXM6IHRoaXMuc2VyaWVzLAogICAgICAgICAgICAgIHBvaW50OiB0aGlzLAogICAgICAgICAgICAgIHBlcmNlbnRhZ2U6IHRoaXMucGVyY2VudGFnZSwKICAgICAgICAgICAgICB0b3RhbDogdGhpcy50b3RhbCB8fCB0aGlzLnN0YWNrVG90YWwKICAgICAgICAgICAgfTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldE5lc3RlZFByb3BlcnR5ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBpZiAodCkgcmV0dXJuIDAgPT09IHQuaW5kZXhPZigiY3VzdG9tLiIpID8gdSh0LCB0aGlzLm9wdGlvbnMpIDogdGhpc1t0XTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldFpvbmUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnNlcmllcywgZSA9IHQuem9uZXM7CiAgICAgICAgICAgIHQgPSB0LnpvbmVBeGlzIHx8ICJ5IjsKICAgICAgICAgICAgdmFyIGksIG4gPSAwOwogICAgICAgICAgICBmb3IgKGkgPSBlW25dOyB0aGlzW3RdID49IGkudmFsdWU7KSBpID0gZVsrK25dOwogICAgICAgICAgICByZXR1cm4gdGhpcy5ub25ab25lZENvbG9yIHx8ICh0aGlzLm5vblpvbmVkQ29sb3IgPSB0aGlzLmNvbG9yKSwgdGhpcy5jb2xvciA9IGkgJiYgaS5jb2xvciAmJiAhdGhpcy5vcHRpb25zLmNvbG9yID8gaS5jb2xvciA6IHRoaXMubm9uWm9uZWRDb2xvciwgaTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmhhc05ld1NoYXBlVHlwZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gKHRoaXMuZ3JhcGhpYyAmJiAodGhpcy5ncmFwaGljLnN5bWJvbE5hbWUgfHwgdGhpcy5ncmFwaGljLmVsZW1lbnQubm9kZU5hbWUpKSAhPT0gdGhpcy5zaGFwZVR5cGU7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJpZXMgPSB0LCB0aGlzLmFwcGx5T3B0aW9ucyhlLCBpKSwgdGhpcy5pZCA9IGwodGhpcy5pZCkgPyB0aGlzLmlkIDogaygpLCB0aGlzLnJlc29sdmVDb2xvcigpLCB0LmNoYXJ0LnBvaW50Q291bnQrKywgZCh0aGlzLCAiYWZ0ZXJJbml0IiksIHRoaXM7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5vcHRpb25zVG9PYmplY3QgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5zZXJpZXMsIG4gPSBpLm9wdGlvbnMua2V5cywgbyA9IG4gfHwgaS5wb2ludEFycmF5TWFwIHx8IFsieSJdLCByID0gby5sZW5ndGgsIHMgPSB7fSwgYSA9IDAsIGggPSAwOwogICAgICAgICAgICBpZiAobSh0KSB8fCBudWxsID09PSB0KSBzW29bMF1dID0gdDsgZWxzZSBpZiAoZih0KSkgZm9yICghbiAmJiB0Lmxlbmd0aCA+IHIgJiYgKGkgPSB0eXBlb2YgdFswXSwgInN0cmluZyIgPT09IGkgPyBzLm5hbWUgPSB0WzBdIDogIm51bWJlciIgPT09IGkgJiYgKHMueCA9IHRbMF0pLCBhKyspOyBoIDwgcjspIG4gJiYgInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0W2FdIHx8ICgwIDwgb1toXS5pbmRleE9mKCIuIikgPyBlLnByb3RvdHlwZS5zZXROZXN0ZWRQcm9wZXJ0eShzLCB0W2FdLCBvW2hdKSA6IHNbb1toXV0gPSB0W2FdKSwgYSsrLCBoKys7IGVsc2UgIm9iamVjdCIgPT09IHR5cGVvZiB0ICYmIChzID0gdCwgdC5kYXRhTGFiZWxzICYmIChpLl9oYXNQb2ludExhYmVscyA9ICEwKSwgdC5tYXJrZXIgJiYgKGkuX2hhc1BvaW50TWFya2VycyA9ICEwKSk7CiAgICAgICAgICAgIHJldHVybiBzOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVzb2x2ZUNvbG9yID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5zZXJpZXMsIGUgPSB0LmNoYXJ0LnN0eWxlZE1vZGUsIGkgPSB0LmNoYXJ0Lm9wdGlvbnMuY2hhcnQuY29sb3JDb3VudDsKICAgICAgICAgICAgaWYgKGRlbGV0ZSB0aGlzLm5vblpvbmVkQ29sb3IsIHQub3B0aW9ucy5jb2xvckJ5UG9pbnQpIHsKICAgICAgICAgICAgICBpZiAoIWUpIHsKICAgICAgICAgICAgICAgIGkgPSB0Lm9wdGlvbnMuY29sb3JzIHx8IHQuY2hhcnQub3B0aW9ucy5jb2xvcnM7CiAgICAgICAgICAgICAgICB2YXIgbiA9IGlbdC5jb2xvckNvdW50ZXJdOwogICAgICAgICAgICAgICAgaSA9IGkubGVuZ3RoOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlID0gdC5jb2xvckNvdW50ZXIsIHQuY29sb3JDb3VudGVyKyssIHQuY29sb3JDb3VudGVyID09PSBpICYmICh0LmNvbG9yQ291bnRlciA9IDApOwogICAgICAgICAgICB9IGVsc2UgZSB8fCAobiA9IHQuY29sb3IpLCBlID0gdC5jb2xvckluZGV4OwogICAgICAgICAgICB0aGlzLmNvbG9ySW5kZXggPSBiKHRoaXMub3B0aW9ucy5jb2xvckluZGV4LCBlKSwgdGhpcy5jb2xvciA9IGIodGhpcy5vcHRpb25zLmNvbG9yLCBuKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnNldE5lc3RlZFByb3BlcnR5ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICByZXR1cm4gaS5zcGxpdCgiLiIpLnJlZHVjZSgoZnVuY3Rpb24odCwgaSwgbiwgbykgewogICAgICAgICAgICAgIHJldHVybiB0W2ldID0gby5sZW5ndGggLSAxID09PSBuID8gZSA6IHkodFtpXSwgITApID8gdFtpXSA6IHt9LCB0W2ldOwogICAgICAgICAgICB9KSwgdCksIHQ7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS50b29sdGlwRm9ybWF0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuc2VyaWVzLCBpID0gZS50b29sdGlwT3B0aW9ucywgbiA9IGIoaS52YWx1ZURlY2ltYWxzLCAiIiksIG8gPSBpLnZhbHVlUHJlZml4IHx8ICIiLCByID0gaS52YWx1ZVN1ZmZpeCB8fCAiIjsKICAgICAgICAgICAgcmV0dXJuIGUuY2hhcnQuc3R5bGVkTW9kZSAmJiAodCA9IGUuY2hhcnQudG9vbHRpcC5zdHlsZWRNb2RlRm9ybWF0KHQpKSwgKGUucG9pbnRBcnJheU1hcCB8fCBbInkiXSkuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIGUgPSAie3BvaW50LiIgKyBlLCAobyB8fCByKSAmJiAodCA9IHQucmVwbGFjZShSZWdFeHAoZSArICJ9IiwgImciKSwgbyArIGUgKyAifSIgKyByKSksIHQgPSB0LnJlcGxhY2UoUmVnRXhwKGUgKyAifSIsICJnIiksIGUgKyAiOiwuIiArIG4gKyAiZn0iKTsKICAgICAgICAgICAgfSkpLCBhKHQsIHsgcG9pbnQ6IHRoaXMsIHNlcmllczogdGhpcy5zZXJpZXMgfSwgZS5jaGFydCk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG8oKSB7CiAgICAgICAgICAgICAgcy5hcHBseU9wdGlvbnModCk7CiAgICAgICAgICAgICAgdmFyIG4gPSBoICYmIHMuaGFzRHVtbXlHcmFwaGljOwogICAgICAgICAgICAgIG4gPSBudWxsID09PSBzLnkgPyAhbiA6IG4sIGggJiYgbiAmJiAocy5ncmFwaGljID0gaC5kZXN0cm95KCksIGRlbGV0ZSBzLmhhc0R1bW15R3JhcGhpYyksIHkodCwgITApICYmIChoICYmIGguZWxlbWVudCAmJiB0ICYmIHQubWFya2VyICYmICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdC5tYXJrZXIuc3ltYm9sICYmIChzLmdyYXBoaWMgPSBoLmRlc3Ryb3koKSksIHQgJiYgdC5kYXRhTGFiZWxzICYmIHMuZGF0YUxhYmVsICYmIChzLmRhdGFMYWJlbCA9IHMuZGF0YUxhYmVsLmRlc3Ryb3koKSksIHMuY29ubmVjdG9yICYmIChzLmNvbm5lY3RvciA9IHMuY29ubmVjdG9yLmRlc3Ryb3koKSkpLCByID0gcy5pbmRleCwgYS51cGRhdGVQYXJhbGxlbEFycmF5cyhzLCByKSwgYy5kYXRhW3JdID0geShjLmRhdGFbcl0sICEwKSB8fCB5KHQsICEwKSA/IHMub3B0aW9ucyA6IGIodCwgYy5kYXRhW3JdKSwgYS5pc0RpcnR5ID0gYS5pc0RpcnR5RGF0YSA9ICEwLCAhYS5maXhlZEJveCAmJiBhLmhhc0NhcnRlc2lhblNlcmllcyAmJiAobC5pc0RpcnR5Qm94ID0gITApLCAicG9pbnQiID09PSBjLmxlZ2VuZFR5cGUgJiYgKGwuaXNEaXJ0eUxlZ2VuZCA9ICEwKSwgZSAmJiBsLnJlZHJhdyhpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHIsIHMgPSB0aGlzLCBhID0gcy5zZXJpZXMsIGggPSBzLmdyYXBoaWMsIGwgPSBhLmNoYXJ0LCBjID0gYS5vcHRpb25zOwogICAgICAgICAgICBlID0gYihlLCAhMCksICExID09PSBuID8gbygpIDogcy5maXJlUG9pbnRFdmVudCgidXBkYXRlIiwgeyBvcHRpb25zOiB0IH0sIG8pOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLnNlcmllcy5yZW1vdmVQb2ludCh0aGlzLnNlcmllcy5kYXRhLmluZGV4T2YodGhpcyksIHQsIGUpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuc2VsZWN0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMsIG4gPSBpLnNlcmllcywgbyA9IG4uY2hhcnQ7CiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFnaW5nID0gdCA9IGIodCwgIWkuc2VsZWN0ZWQpLCBpLmZpcmVQb2ludEV2ZW50KHQgPyAic2VsZWN0IiA6ICJ1bnNlbGVjdCIsIHsgYWNjdW11bGF0ZTogZSB9LCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaS5zZWxlY3RlZCA9IGkub3B0aW9ucy5zZWxlY3RlZCA9IHQsIG4ub3B0aW9ucy5kYXRhW24uZGF0YS5pbmRleE9mKGkpXSA9IGkub3B0aW9ucywgaS5zZXRTdGF0ZSh0ICYmICJzZWxlY3QiKSwgZSB8fCBvLmdldFNlbGVjdGVkUG9pbnRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0LnNlcmllczsKICAgICAgICAgICAgICAgIHQuc2VsZWN0ZWQgJiYgdCAhPT0gaSAmJiAodC5zZWxlY3RlZCA9IHQub3B0aW9ucy5zZWxlY3RlZCA9ICExLCBlLm9wdGlvbnMuZGF0YVtlLmRhdGEuaW5kZXhPZih0KV0gPSB0Lm9wdGlvbnMsIHQuc2V0U3RhdGUoby5ob3ZlclBvaW50cyAmJiBlLm9wdGlvbnMuaW5hY3RpdmVPdGhlclBvaW50cyA/ICJpbmFjdGl2ZSIgOiAiIiksIHQuZmlyZVBvaW50RXZlbnQoInVuc2VsZWN0IikpOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSkpLCBkZWxldGUgdGhpcy5zZWxlY3RlZFN0YWdpbmc7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5vbk1vdXNlT3ZlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnNlcmllcy5jaGFydCwgaSA9IGUucG9pbnRlcjsKICAgICAgICAgICAgdCA9IHQgPyBpLm5vcm1hbGl6ZSh0KSA6IGkuZ2V0Q2hhcnRDb29yZGluYXRlc0Zyb21Qb2ludCh0aGlzLCBlLmludmVydGVkKSwgaS5ydW5Qb2ludEFjdGlvbnModCwgdGhpcyk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5vbk1vdXNlT3V0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5zZXJpZXMuY2hhcnQ7CiAgICAgICAgICAgIHRoaXMuZmlyZVBvaW50RXZlbnQoIm1vdXNlT3V0IiksIHRoaXMuc2VyaWVzLm9wdGlvbnMuaW5hY3RpdmVPdGhlclBvaW50cyB8fCAodC5ob3ZlclBvaW50cyB8fCBbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuc2V0U3RhdGUoKTsKICAgICAgICAgICAgfSkpLCB0LmhvdmVyUG9pbnRzID0gdC5ob3ZlclBvaW50ID0gbnVsbDsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmltcG9ydEV2ZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAoIXRoaXMuaGFzSW1wb3J0ZWRFdmVudHMpIHsKICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB2KHQuc2VyaWVzLm9wdGlvbnMucG9pbnQsIHQub3B0aW9ucykuZXZlbnRzOwogICAgICAgICAgICAgIHQuZXZlbnRzID0gZSwgeChlLCAoZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgZyhlKSAmJiBoKHQsIGksIGUpOwogICAgICAgICAgICAgIH0pKSwgdGhpcy5oYXNJbXBvcnRlZEV2ZW50cyA9ICEwOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zZXRTdGF0ZSA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4sIG8gPSB0aGlzLnNlcmllcywgciA9IHRoaXMuc3RhdGUsIGEgPSBvLm9wdGlvbnMuc3RhdGVzW2UgfHwgIm5vcm1hbCJdIHx8IHt9LCBoID0gcy5wbG90T3B0aW9uc1tvLnR5cGVdLm1hcmtlciAmJiBvLm9wdGlvbnMubWFya2VyLAogICAgICAgICAgICAgIGwgPSBoICYmICExID09PSBoLmVuYWJsZWQsIGMgPSBoICYmIGguc3RhdGVzICYmIGguc3RhdGVzW2UgfHwgIm5vcm1hbCJdIHx8IHt9LCB1ID0gITEgPT09IGMuZW5hYmxlZCwgZiA9IHRoaXMubWFya2VyIHx8IHt9LCBnID0gby5jaGFydCwKICAgICAgICAgICAgICB5ID0gaCAmJiBvLm1hcmtlckF0dHJpYnMsIHYgPSBvLmhhbG8sIHggPSBvLnN0YXRlTWFya2VyR3JhcGhpYzsKICAgICAgICAgICAgaWYgKGUgPSBlIHx8ICIiLCAhKGUgPT09IHRoaXMuc3RhdGUgJiYgIWkgfHwgdGhpcy5zZWxlY3RlZCAmJiAic2VsZWN0IiAhPT0gZSB8fCAhMSA9PT0gYS5lbmFibGVkIHx8IGUgJiYgKHUgfHwgbCAmJiAhMSA9PT0gYy5lbmFibGVkKSB8fCBlICYmIGYuc3RhdGVzICYmIGYuc3RhdGVzW2VdICYmICExID09PSBmLnN0YXRlc1tlXS5lbmFibGVkKSkgewogICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlID0gZSwgeSAmJiAobiA9IG8ubWFya2VyQXR0cmlicyh0aGlzLCBlKSksIHRoaXMuZ3JhcGhpYyAmJiAhdGhpcy5oYXNEdW1teUdyYXBoaWMpIHsKICAgICAgICAgICAgICAgIGlmIChyICYmIHRoaXMuZ3JhcGhpYy5yZW1vdmVDbGFzcygiaGlnaGNoYXJ0cy1wb2ludC0iICsgciksIGUgJiYgdGhpcy5ncmFwaGljLmFkZENsYXNzKCJoaWdoY2hhcnRzLXBvaW50LSIgKyBlKSwgIWcuc3R5bGVkTW9kZSkgewogICAgICAgICAgICAgICAgICB2YXIgXyA9IG8ucG9pbnRBdHRyaWJzKHRoaXMsIGUpLCB3ID0gYihnLm9wdGlvbnMuY2hhcnQuYW5pbWF0aW9uLCBhLmFuaW1hdGlvbik7CiAgICAgICAgICAgICAgICAgIG8ub3B0aW9ucy5pbmFjdGl2ZU90aGVyUG9pbnRzICYmIG0oXy5vcGFjaXR5KSAmJiAoKHRoaXMuZGF0YUxhYmVscyB8fCBbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHQgJiYgdC5hbmltYXRlKHsgb3BhY2l0eTogXy5vcGFjaXR5IH0sIHcpOwogICAgICAgICAgICAgICAgICB9KSksIHRoaXMuY29ubmVjdG9yICYmIHRoaXMuY29ubmVjdG9yLmFuaW1hdGUoeyBvcGFjaXR5OiBfLm9wYWNpdHkgfSwgdykpLCB0aGlzLmdyYXBoaWMuYW5pbWF0ZShfLCB3KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG4gJiYgdGhpcy5ncmFwaGljLmFuaW1hdGUobiwgYihnLm9wdGlvbnMuY2hhcnQuYW5pbWF0aW9uLCBjLmFuaW1hdGlvbiwgaC5hbmltYXRpb24pKSwgeCAmJiB4LmhpZGUoKTsKICAgICAgICAgICAgICB9IGVsc2UgZSAmJiBjICYmIChyID0gZi5zeW1ib2wgfHwgby5zeW1ib2wsIHggJiYgeC5jdXJyZW50U3ltYm9sICE9PSByICYmICh4ID0geC5kZXN0cm95KCkpLCBuICYmICh4ID8geFtpID8gImFuaW1hdGUiIDogImF0dHIiXSh7CiAgICAgICAgICAgICAgICB4OiBuLngsCiAgICAgICAgICAgICAgICB5OiBuLnkKICAgICAgICAgICAgICB9KSA6IHIgJiYgKG8uc3RhdGVNYXJrZXJHcmFwaGljID0geCA9IGcucmVuZGVyZXIuc3ltYm9sKHIsIG4ueCwgbi55LCBuLndpZHRoLCBuLmhlaWdodCkuYWRkKG8ubWFya2VyR3JvdXApLCB4LmN1cnJlbnRTeW1ib2wgPSByKSksICFnLnN0eWxlZE1vZGUgJiYgeCAmJiAiaW5hY3RpdmUiICE9PSB0aGlzLnN0YXRlICYmIHguYXR0cihvLnBvaW50QXR0cmlicyh0aGlzLCBlKSkpLCB4ICYmICh4W2UgJiYgdGhpcy5pc0luc2lkZSA/ICJzaG93IiA6ICJoaWRlIl0oKSwgeC5lbGVtZW50LnBvaW50ID0gdGhpcywgeC5hZGRDbGFzcyh0aGlzLmdldENsYXNzTmFtZSgpLCAhMCkpOwogICAgICAgICAgICAgIGEgPSBhLmhhbG8sIG4gPSAoeCA9IHRoaXMuZ3JhcGhpYyB8fCB4KSAmJiB4LnZpc2liaWxpdHkgfHwgImluaGVyaXQiLCBhICYmIGEuc2l6ZSAmJiB4ICYmICJoaWRkZW4iICE9PSBuICYmICF0aGlzLmlzQ2x1c3RlciA/ICh2IHx8IChvLmhhbG8gPSB2ID0gZy5yZW5kZXJlci5wYXRoKCkuYWRkKHgucGFyZW50R3JvdXApKSwgdi5zaG93KClbaSA/ICJhbmltYXRlIiA6ICJhdHRyIl0oeyBkOiB0aGlzLmhhbG9QYXRoKGEuc2l6ZSkgfSksIHYuYXR0cih7CiAgICAgICAgICAgICAgICBjbGFzczogImhpZ2hjaGFydHMtaGFsbyBoaWdoY2hhcnRzLWNvbG9yLSIgKyBiKHRoaXMuY29sb3JJbmRleCwgby5jb2xvckluZGV4KSArICh0aGlzLmNsYXNzTmFtZSA/ICIgIiArIHRoaXMuY2xhc3NOYW1lIDogIiIpLAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogbiwKICAgICAgICAgICAgICAgIHpJbmRleDogLTEKICAgICAgICAgICAgICB9KSwgdi5wb2ludCA9IHRoaXMsIGcuc3R5bGVkTW9kZSB8fCB2LmF0dHIocCh7CiAgICAgICAgICAgICAgICBmaWxsOiB0aGlzLmNvbG9yIHx8IG8uY29sb3IsCiAgICAgICAgICAgICAgICAiZmlsbC1vcGFjaXR5IjogYS5vcGFjaXR5CiAgICAgICAgICAgICAgfSwgdC5maWx0ZXJVc2VyQXR0cmlidXRlcyhhLmF0dHJpYnV0ZXMgfHwge30pKSkpIDogdiAmJiB2LnBvaW50ICYmIHYucG9pbnQuaGFsb1BhdGggJiYgdi5hbmltYXRlKHsgZDogdi5wb2ludC5oYWxvUGF0aCgwKSB9LCBudWxsLCB2LmhpZGUpLCBkKHRoaXMsICJhZnRlclNldFN0YXRlIiwgeyBzdGF0ZTogZSB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaGFsb1BhdGggPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcmllcy5jaGFydC5yZW5kZXJlci5zeW1ib2xzLmNpcmNsZShNYXRoLmZsb29yKHRoaXMucGxvdFgpIC0gdCwgdGhpcy5wbG90WSAtIHQsIDIgKiB0LCAyICogdCk7CiAgICAgICAgICB9LCBlOwogICAgICAgIH0oKSwgZTsKICAgICAgfSkpLCBlKGksICJDb3JlL1BvaW50ZXIuanMiLCBbaVsiQ29yZS9Db2xvci9Db2xvci5qcyJdLCBpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9Ub29sdGlwLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgIHZhciBvID0gdC5wYXJzZSwgciA9IGUuY2hhcnRzLCBzID0gZS5ub29wLCBhID0gbi5hZGRFdmVudCwgaCA9IG4uYXR0ciwgbCA9IG4uY3NzLCBjID0gbi5kZWZpbmVkLCBwID0gbi5leHRlbmQsIGQgPSBuLmZpbmQsIHUgPSBuLmZpcmVFdmVudCwKICAgICAgICAgIGYgPSBuLmlzTnVtYmVyLCBnID0gbi5pc09iamVjdCwgbSA9IG4ub2JqZWN0RWFjaCwgeSA9IG4ub2Zmc2V0LCB2ID0gbi5waWNrLCB4ID0gbi5zcGxhdDsKICAgICAgICByZXR1cm4gdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gdCh0LCBlKSB7CiAgICAgICAgICAgIHRoaXMubGFzdFZhbGlkVG91Y2ggPSB7fSwgdGhpcy5waW5jaERvd24gPSBbXSwgdGhpcy5ydW5DaGFydENsaWNrID0gITEsIHRoaXMuZXZlbnRzVG9VbmJpbmQgPSBbXSwgdGhpcy5jaGFydCA9IHQsIHRoaXMuaGFzRHJhZ2dlZCA9ICExLCB0aGlzLm9wdGlvbnMgPSBlLCB0aGlzLmluaXQodCwgZSk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLmFwcGx5SW5hY3RpdmVTdGF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUsIGkgPSBbXTsKICAgICAgICAgICAgKHQgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBlID0gdC5zZXJpZXMsIGkucHVzaChlKSwgZS5saW5rZWRQYXJlbnQgJiYgaS5wdXNoKGUubGlua2VkUGFyZW50KSwgZS5saW5rZWRTZXJpZXMgJiYgKGkgPSBpLmNvbmNhdChlLmxpbmtlZFNlcmllcykpLCBlLm5hdmlnYXRvclNlcmllcyAmJiBpLnB1c2goZS5uYXZpZ2F0b3JTZXJpZXMpOwogICAgICAgICAgICB9KSksIHRoaXMuY2hhcnQuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAtMSA9PT0gaS5pbmRleE9mKHQpID8gdC5zZXRTdGF0ZSgiaW5hY3RpdmUiLCAhMCkgOiB0Lm9wdGlvbnMuaW5hY3RpdmVPdGhlclBvaW50cyAmJiB0LnNldEFsbFBvaW50c1RvU3RhdGUoImluYWN0aXZlIik7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzOwogICAgICAgICAgICB0aGlzLmV2ZW50c1RvVW5iaW5kLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdCgpOwogICAgICAgICAgICB9KSksIHRoaXMuZXZlbnRzVG9VbmJpbmQgPSBbXSwgZS5jaGFydENvdW50IHx8ICh0LnVuYmluZERvY3VtZW50TW91c2VVcCAmJiAodC51bmJpbmREb2N1bWVudE1vdXNlVXAgPSB0LnVuYmluZERvY3VtZW50TW91c2VVcCgpKSwgdC51bmJpbmREb2N1bWVudFRvdWNoRW5kICYmICh0LnVuYmluZERvY3VtZW50VG91Y2hFbmQgPSB0LnVuYmluZERvY3VtZW50VG91Y2hFbmQoKSkpLCBjbGVhckludGVydmFsKGkudG9vbHRpcFRpbWVvdXQpLCBtKGksIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgaVtlXSA9IHZvaWQgMDsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZHJhZyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNoYXJ0LCBpID0gZS5vcHRpb25zLmNoYXJ0LCBuID0gdGhpcy56b29tSG9yLCByID0gdGhpcy56b29tVmVydCwgcyA9IGUucGxvdExlZnQsIGEgPSBlLnBsb3RUb3AsIGggPSBlLnBsb3RXaWR0aCwgbCA9IGUucGxvdEhlaWdodCwKICAgICAgICAgICAgICBjID0gdGhpcy5tb3VzZURvd25YIHx8IDAsIHAgPSB0aGlzLm1vdXNlRG93blkgfHwgMCwgZCA9IGcoaS5wYW5uaW5nKSA/IGkucGFubmluZyAmJiBpLnBhbm5pbmcuZW5hYmxlZCA6IGkucGFubmluZywKICAgICAgICAgICAgICB1ID0gaS5wYW5LZXkgJiYgdFtpLnBhbktleSArICJLZXkiXSwgZiA9IHQuY2hhcnRYLCBtID0gdC5jaGFydFksIHkgPSB0aGlzLnNlbGVjdGlvbk1hcmtlcjsKICAgICAgICAgICAgaWYgKCgheSB8fCAheS50b3VjaCkgJiYgKGYgPCBzID8gZiA9IHMgOiBmID4gcyArIGggJiYgKGYgPSBzICsgaCksIG0gPCBhID8gbSA9IGEgOiBtID4gYSArIGwgJiYgKG0gPSBhICsgbCksIHRoaXMuaGFzRHJhZ2dlZCA9IE1hdGguc3FydChNYXRoLnBvdyhjIC0gZiwgMikgKyBNYXRoLnBvdyhwIC0gbSwgMikpLCAxMCA8IHRoaXMuaGFzRHJhZ2dlZCkpIHsKICAgICAgICAgICAgICB2YXIgdiA9IGUuaXNJbnNpZGVQbG90KGMgLSBzLCBwIC0gYSwgeyB2aXNpYmxlUGxvdE9ubHk6ICEwIH0pOwogICAgICAgICAgICAgICFlLmhhc0NhcnRlc2lhblNlcmllcyAmJiAhZS5tYXBWaWV3IHx8ICF0aGlzLnpvb21YICYmICF0aGlzLnpvb21ZIHx8ICF2IHx8IHUgfHwgeSB8fCAodGhpcy5zZWxlY3Rpb25NYXJrZXIgPSB5ID0gZS5yZW5kZXJlci5yZWN0KHMsIGEsIG4gPyAxIDogaCwgciA/IDEgOiBsLCAwKS5hdHRyKHsKICAgICAgICAgICAgICAgIGNsYXNzOiAiaGlnaGNoYXJ0cy1zZWxlY3Rpb24tbWFya2VyIiwKICAgICAgICAgICAgICAgIHpJbmRleDogNwogICAgICAgICAgICAgIH0pLmFkZCgpLCBlLnN0eWxlZE1vZGUgfHwgeS5hdHRyKHsgZmlsbDogaS5zZWxlY3Rpb25NYXJrZXJGaWxsIHx8IG8oIiMzMzVjYWQiKS5zZXRPcGFjaXR5KC4yNSkuZ2V0KCkgfSkpLCB5ICYmIG4gJiYgKG4gPSBmIC0gYywgeS5hdHRyKHsKICAgICAgICAgICAgICAgIHdpZHRoOiBNYXRoLmFicyhuKSwKICAgICAgICAgICAgICAgIHg6ICgwIDwgbiA/IDAgOiBuKSArIGMKICAgICAgICAgICAgICB9KSksIHkgJiYgciAmJiAobiA9IG0gLSBwLCB5LmF0dHIoeyBoZWlnaHQ6IE1hdGguYWJzKG4pLCB5OiAoMCA8IG4gPyAwIDogbikgKyBwIH0pKSwgdiAmJiAheSAmJiBkICYmIGUucGFuKHQsIGkucGFubmluZyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIHQucHJvdG90eXBlLmRyYWdTdGFydCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNoYXJ0OwogICAgICAgICAgICBlLm1vdXNlSXNEb3duID0gdC50eXBlLCBlLmNhbmNlbENsaWNrID0gITEsIGUubW91c2VEb3duWCA9IHRoaXMubW91c2VEb3duWCA9IHQuY2hhcnRYLCBlLm1vdXNlRG93blkgPSB0aGlzLm1vdXNlRG93blkgPSB0LmNoYXJ0WTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmRyb3AgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IHRoaXMuY2hhcnQsIG4gPSB0aGlzLmhhc1BpbmNoZWQ7CiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1hcmtlcikgewogICAgICAgICAgICAgIHZhciBvID0gdGhpcy5zZWxlY3Rpb25NYXJrZXIsIHIgPSBvLmF0dHIgPyBvLmF0dHIoIngiKSA6IG8ueCwgcyA9IG8uYXR0ciA/IG8uYXR0cigieSIpIDogby55LCBhID0gby5hdHRyID8gby5hdHRyKCJ3aWR0aCIpIDogby53aWR0aCwKICAgICAgICAgICAgICAgIGggPSBvLmF0dHIgPyBvLmF0dHIoImhlaWdodCIpIDogby5oZWlnaHQsIGQgPSB7IG9yaWdpbmFsRXZlbnQ6IHQsIHhBeGlzOiBbXSwgeUF4aXM6IFtdLCB4OiByLCB5OiBzLCB3aWR0aDogYSwgaGVpZ2h0OiBoIH0sIGcgPSAhIWkubWFwVmlldzsKICAgICAgICAgICAgICAodGhpcy5oYXNEcmFnZ2VkIHx8IG4pICYmIChpLmF4ZXMuZm9yRWFjaCgoZnVuY3Rpb24oaSkgewogICAgICAgICAgICAgICAgaWYgKGkuem9vbUVuYWJsZWQgJiYgYyhpLm1pbikgJiYgKG4gfHwgZVt7IHhBeGlzOiAiem9vbVgiLCB5QXhpczogInpvb21ZIiB9W2kuY29sbF1dKSAmJiBmKHIpICYmIGYocykpIHsKICAgICAgICAgICAgICAgICAgdmFyIG8gPSBpLmhvcml6LCBsID0gInRvdWNoZW5kIiA9PT0gdC50eXBlID8gaS5taW5QaXhlbFBhZGRpbmcgOiAwLCBwID0gaS50b1ZhbHVlKChvID8gciA6IHMpICsgbCk7CiAgICAgICAgICAgICAgICAgIG8gPSBpLnRvVmFsdWUoKG8gPyByICsgYSA6IHMgKyBoKSAtIGwpLCBkW2kuY29sbF0ucHVzaCh7IGF4aXM6IGksIG1pbjogTWF0aC5taW4ocCwgbyksIG1heDogTWF0aC5tYXgocCwgbykgfSksIGcgPSAhMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KSksIGcgJiYgdShpLCAic2VsZWN0aW9uIiwgZCwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGkuem9vbShwKHQsIG4gPyB7IGFuaW1hdGlvbjogITEgfSA6IG51bGwpKTsKICAgICAgICAgICAgICB9KSkpLCBmKGkuaW5kZXgpICYmICh0aGlzLnNlbGVjdGlvbk1hcmtlciA9IHRoaXMuc2VsZWN0aW9uTWFya2VyLmRlc3Ryb3koKSksIG4gJiYgdGhpcy5zY2FsZUdyb3VwcygpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGkgJiYgZihpLmluZGV4KSAmJiAobChpLmNvbnRhaW5lciwgeyBjdXJzb3I6IGkuX2N1cnNvciB9KSwgaS5jYW5jZWxDbGljayA9IDEwIDwgdGhpcy5oYXNEcmFnZ2VkLCBpLm1vdXNlSXNEb3duID0gdGhpcy5oYXNEcmFnZ2VkID0gdGhpcy5oYXNQaW5jaGVkID0gITEsIHRoaXMucGluY2hEb3duID0gW10pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZmluZE5lYXJlc3RLRFBvaW50ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiwgbyA9IHRoaXMuY2hhcnQsIHIgPSBvLmhvdmVyUG9pbnQ7CiAgICAgICAgICAgIHJldHVybiBvID0gby50b29sdGlwLCByICYmIG8gJiYgby5pc1N0aWNreU9uQ29udGFjdCgpID8gciA6ICh0LmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgbyA9ICEodC5ub1NoYXJlZFRvb2x0aXAgJiYgZSkgJiYgMCA+IHQub3B0aW9ucy5maW5kTmVhcmVzdFBvaW50QnkuaW5kZXhPZigieSIpOwogICAgICAgICAgICAgIGlmICh0ID0gdC5zZWFyY2hQb2ludChpLCBvKSwgKG8gPSBnKHQsICEwKSAmJiB0LnNlcmllcykgJiYgIShvID0gIWcobiwgITApKSkgewogICAgICAgICAgICAgICAgbyA9IG4uZGlzdFggLSB0LmRpc3RYOwogICAgICAgICAgICAgICAgdmFyIHIgPSBuLmRpc3QgLSB0LmRpc3QsIHMgPSAodC5zZXJpZXMuZ3JvdXAgJiYgdC5zZXJpZXMuZ3JvdXAuekluZGV4KSAtIChuLnNlcmllcy5ncm91cCAmJiBuLnNlcmllcy5ncm91cC56SW5kZXgpOwogICAgICAgICAgICAgICAgbyA9IDAgPCAoMCAhPT0gbyAmJiBlID8gbyA6IDAgIT09IHIgPyByIDogMCAhPT0gcyA/IHMgOiBuLnNlcmllcy5pbmRleCA+IHQuc2VyaWVzLmluZGV4ID8gLTEgOiAxKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgbyAmJiAobiA9IHQpOwogICAgICAgICAgICB9KSksIG4pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0Q2hhcnRDb29yZGluYXRlc0Zyb21Qb2ludCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0LnNlcmllcywgbiA9IGkueEF4aXM7CiAgICAgICAgICAgIGkgPSBpLnlBeGlzOwogICAgICAgICAgICB2YXIgbyA9IHQuc2hhcGVBcmdzOwogICAgICAgICAgICBpZiAobiAmJiBpKSB7CiAgICAgICAgICAgICAgdmFyIHIgPSB2KHQuY2xpZW50WCwgdC5wbG90WCksIHMgPSB0LnBsb3RZIHx8IDA7CiAgICAgICAgICAgICAgcmV0dXJuIHQuaXNOb2RlICYmIG8gJiYgZihvLngpICYmIGYoby55KSAmJiAociA9IG8ueCwgcyA9IG8ueSksIGUgPyB7CiAgICAgICAgICAgICAgICBjaGFydFg6IGkubGVuICsgaS5wb3MgLSBzLAogICAgICAgICAgICAgICAgY2hhcnRZOiBuLmxlbiArIG4ucG9zIC0gcgogICAgICAgICAgICAgIH0gOiB7IGNoYXJ0WDogciArIG4ucG9zLCBjaGFydFk6IHMgKyBpLnBvcyB9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChvICYmIG8ueCAmJiBvLnkpIHJldHVybiB7IGNoYXJ0WDogby54LCBjaGFydFk6IG8ueSB9OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0Q2hhcnRQb3NpdGlvbiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAodGhpcy5jaGFydFBvc2l0aW9uKSByZXR1cm4gdGhpcy5jaGFydFBvc2l0aW9uOwogICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQuY29udGFpbmVyLCBlID0geSh0KTsKICAgICAgICAgICAgdGhpcy5jaGFydFBvc2l0aW9uID0geyBsZWZ0OiBlLmxlZnQsIHRvcDogZS50b3AsIHNjYWxlWDogMSwgc2NhbGVZOiAxIH07CiAgICAgICAgICAgIHZhciBpID0gdC5vZmZzZXRXaWR0aDsKICAgICAgICAgICAgcmV0dXJuIHQgPSB0Lm9mZnNldEhlaWdodCwgMiA8IGkgJiYgMiA8IHQgJiYgKHRoaXMuY2hhcnRQb3NpdGlvbi5zY2FsZVggPSBlLndpZHRoIC8gaSwgdGhpcy5jaGFydFBvc2l0aW9uLnNjYWxlWSA9IGUuaGVpZ2h0IC8gdCksIHRoaXMuY2hhcnRQb3NpdGlvbjsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldENvb3JkaW5hdGVzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHsgeEF4aXM6IFtdLCB5QXhpczogW10gfTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hhcnQuYXhlcy5mb3JFYWNoKChmdW5jdGlvbihpKSB7CiAgICAgICAgICAgICAgZVtpLmlzWEF4aXMgPyAieEF4aXMiIDogInlBeGlzIl0ucHVzaCh7IGF4aXM6IGksIHZhbHVlOiBpLnRvVmFsdWUodFtpLmhvcml6ID8gImNoYXJ0WCIgOiAiY2hhcnRZIl0pIH0pOwogICAgICAgICAgICB9KSksIGU7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRIb3ZlckRhdGEgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICAgIHZhciBzID0gW107CiAgICAgICAgICAgIG4gPSAhKCFuIHx8ICF0KTsKICAgICAgICAgICAgdmFyIGEgPSB7IGNoYXJ0WDogciA/IHIuY2hhcnRYIDogdm9pZCAwLCBjaGFydFk6IHIgPyByLmNoYXJ0WSA6IHZvaWQgMCwgc2hhcmVkOiBvIH07CiAgICAgICAgICAgIHUodGhpcywgImJlZm9yZUdldEhvdmVyRGF0YSIsIGEpOwogICAgICAgICAgICB2YXIgaCA9IGUgJiYgIWUuc3RpY2t5VHJhY2tpbmcgPyBbZV0gOiBpLmZpbHRlcigoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiBhLmZpbHRlciA/IGEuZmlsdGVyKHQpIDogdC52aXNpYmxlICYmICEoIW8gJiYgdC5kaXJlY3RUb3VjaCkgJiYgdih0Lm9wdGlvbnMuZW5hYmxlTW91c2VUcmFja2luZywgITApICYmIHQuc3RpY2t5VHJhY2tpbmc7CiAgICAgICAgICAgIH0pKSwgbCA9IG4gfHwgIXIgPyB0IDogdGhpcy5maW5kTmVhcmVzdEtEUG9pbnQoaCwgbywgcik7CiAgICAgICAgICAgIHJldHVybiBlID0gbCAmJiBsLnNlcmllcywgbCAmJiAobyAmJiAhZS5ub1NoYXJlZFRvb2x0aXAgPyAoaCA9IGkuZmlsdGVyKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIGEuZmlsdGVyID8gYS5maWx0ZXIodCkgOiB0LnZpc2libGUgJiYgISghbyAmJiB0LmRpcmVjdFRvdWNoKSAmJiB2KHQub3B0aW9ucy5lbmFibGVNb3VzZVRyYWNraW5nLCAhMCkgJiYgIXQubm9TaGFyZWRUb29sdGlwOwogICAgICAgICAgICB9KSksIGguZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBlID0gZCh0LnBvaW50cywgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0LnggPT09IGwueCAmJiAhdC5pc051bGw7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIGcoZSkgJiYgKHQuY2hhcnQuaXNCb29zdGluZyAmJiAoZSA9IHQuZ2V0UG9pbnQoZSkpLCBzLnB1c2goZSkpOwogICAgICAgICAgICB9KSkpIDogcy5wdXNoKGwpKSwgYSA9IHsgaG92ZXJQb2ludDogbCB9LCB1KHRoaXMsICJhZnRlckdldEhvdmVyRGF0YSIsIGEpLCB7IGhvdmVyUG9pbnQ6IGEuaG92ZXJQb2ludCwgaG92ZXJTZXJpZXM6IGUsIGhvdmVyUG9pbnRzOiBzIH07CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRQb2ludEZyb21FdmVudCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdCA9IHQudGFyZ2V0OwogICAgICAgICAgICBmb3IgKHZhciBlOyB0ICYmICFlOykgZSA9IHQucG9pbnQsIHQgPSB0LnBhcmVudE5vZGU7CiAgICAgICAgICAgIHJldHVybiBlOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUub25UcmFja2VyTW91c2VPdXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHQgPSB0LnJlbGF0ZWRUYXJnZXQgfHwgdC50b0VsZW1lbnQ7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydC5ob3ZlclNlcmllczsKICAgICAgICAgICAgdGhpcy5pc0RpcmVjdFRvdWNoID0gITEsICFlIHx8ICF0IHx8IGUuc3RpY2t5VHJhY2tpbmcgfHwgdGhpcy5pbkNsYXNzKHQsICJoaWdoY2hhcnRzLXRvb2x0aXAiKSB8fCB0aGlzLmluQ2xhc3ModCwgImhpZ2hjaGFydHMtc2VyaWVzLSIgKyBlLmluZGV4KSAmJiB0aGlzLmluQ2xhc3ModCwgImhpZ2hjaGFydHMtdHJhY2tlciIpIHx8IGUub25Nb3VzZU91dCgpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaW5DbGFzcyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgZm9yICh2YXIgaTsgdDspIHsKICAgICAgICAgICAgICBpZiAoaSA9IGgodCwgImNsYXNzIikpIHsKICAgICAgICAgICAgICAgIGlmICgtMSAhPT0gaS5pbmRleE9mKGUpKSByZXR1cm4gITA7CiAgICAgICAgICAgICAgICBpZiAoLTEgIT09IGkuaW5kZXhPZigiaGlnaGNoYXJ0cy1jb250YWluZXIiKSkgcmV0dXJuICExOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB0ID0gdC5wYXJlbnROb2RlOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBlLCB0aGlzLmNoYXJ0ID0gdCwgdGhpcy5ydW5DaGFydENsaWNrID0gISghZS5jaGFydC5ldmVudHMgfHwgIWUuY2hhcnQuZXZlbnRzLmNsaWNrKSwgdGhpcy5waW5jaERvd24gPSBbXSwgdGhpcy5sYXN0VmFsaWRUb3VjaCA9IHt9LCBpICYmICh0LnRvb2x0aXAgPSBuZXcgaSh0LCBlLnRvb2x0aXApLCB0aGlzLmZvbGxvd1RvdWNoTW92ZSA9IHYoZS50b29sdGlwLmZvbGxvd1RvdWNoTW92ZSwgITApKSwgdGhpcy5zZXRET01FdmVudHMoKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0LnRvdWNoZXMsIG4gPSBpID8gaS5sZW5ndGggPyBpLml0ZW0oMCkgOiB2KGkuY2hhbmdlZFRvdWNoZXMsIHQuY2hhbmdlZFRvdWNoZXMpWzBdIDogdDsKICAgICAgICAgICAgcmV0dXJuIGUgfHwgKGUgPSB0aGlzLmdldENoYXJ0UG9zaXRpb24oKSksIGkgPSBuLnBhZ2VYIC0gZS5sZWZ0LCBuID0gbi5wYWdlWSAtIGUudG9wLCBpIC89IGUuc2NhbGVYLCBuIC89IGUuc2NhbGVZLCBwKHQsIHsKICAgICAgICAgICAgICBjaGFydFg6IE1hdGgucm91bmQoaSksCiAgICAgICAgICAgICAgY2hhcnRZOiBNYXRoLnJvdW5kKG4pCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUub25Db250YWluZXJDbGljayA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNoYXJ0LCBpID0gZS5ob3ZlclBvaW50OwogICAgICAgICAgICB0ID0gdGhpcy5ub3JtYWxpemUodCk7CiAgICAgICAgICAgIHZhciBuID0gZS5wbG90TGVmdCwgbyA9IGUucGxvdFRvcDsKICAgICAgICAgICAgZS5jYW5jZWxDbGljayB8fCAoaSAmJiB0aGlzLmluQ2xhc3ModC50YXJnZXQsICJoaWdoY2hhcnRzLXRyYWNrZXIiKSA/ICh1KGkuc2VyaWVzLCAiY2xpY2siLCBwKHQsIHsgcG9pbnQ6IGkgfSkpLCBlLmhvdmVyUG9pbnQgJiYgaS5maXJlUG9pbnRFdmVudCgiY2xpY2siLCB0KSkgOiAocCh0LCB0aGlzLmdldENvb3JkaW5hdGVzKHQpKSwgZS5pc0luc2lkZVBsb3QodC5jaGFydFggLSBuLCB0LmNoYXJ0WSAtIG8sIHsgdmlzaWJsZVBsb3RPbmx5OiAhMCB9KSAmJiB1KGUsICJjbGljayIsIHQpKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5vbkNvbnRhaW5lck1vdXNlRG93biA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGkgPSAxID09PSAoMSAmICh0LmJ1dHRvbnMgfHwgdC5idXR0b24pKTsKICAgICAgICAgICAgdCA9IHRoaXMubm9ybWFsaXplKHQpLCBlLmlzRmlyZWZveCAmJiAwICE9PSB0LmJ1dHRvbiAmJiB0aGlzLm9uQ29udGFpbmVyTW91c2VNb3ZlKHQpLCAoInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0LmJ1dHRvbiB8fCBpKSAmJiAodGhpcy56b29tT3B0aW9uKHQpLCBpICYmIHQucHJldmVudERlZmF1bHQgJiYgdC5wcmV2ZW50RGVmYXVsdCgpLCB0aGlzLmRyYWdTdGFydCh0KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5vbkNvbnRhaW5lck1vdXNlTGVhdmUgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBpID0gclt2KHQuaG92ZXJDaGFydEluZGV4LCAtMSldLCBuID0gdGhpcy5jaGFydC50b29sdGlwOwogICAgICAgICAgICBuICYmIG4uc2hvdWxkU3RpY2tPbkNvbnRhY3QoKSAmJiB0aGlzLmluQ2xhc3MoZS5yZWxhdGVkVGFyZ2V0LCAiaGlnaGNoYXJ0cy10b29sdGlwLWNvbnRhaW5lciIpIHx8IChlID0gdGhpcy5ub3JtYWxpemUoZSksIGkgJiYgKGUucmVsYXRlZFRhcmdldCB8fCBlLnRvRWxlbWVudCkgJiYgKGkucG9pbnRlci5yZXNldCgpLCBpLnBvaW50ZXIuY2hhcnRQb3NpdGlvbiA9IHZvaWQgMCksIG4gJiYgIW4uaXNIaWRkZW4gJiYgdGhpcy5yZXNldCgpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9uQ29udGFpbmVyTW91c2VFbnRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgZGVsZXRlIHRoaXMuY2hhcnRQb3NpdGlvbjsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9uQ29udGFpbmVyTW91c2VNb3ZlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQ7CiAgICAgICAgICAgIHQgPSB0aGlzLm5vcm1hbGl6ZSh0KSwgdGhpcy5zZXRIb3ZlckNoYXJ0SW5kZXgoKSwgdC5wcmV2ZW50RGVmYXVsdCB8fCAodC5yZXR1cm5WYWx1ZSA9ICExKSwgKCJtb3VzZWRvd24iID09PSBlLm1vdXNlSXNEb3duIHx8IHRoaXMudG91Y2hTZWxlY3QodCkpICYmIHRoaXMuZHJhZyh0KSwgZS5vcGVuTWVudSB8fCAhdGhpcy5pbkNsYXNzKHQudGFyZ2V0LCAiaGlnaGNoYXJ0cy10cmFja2VyIikgJiYgIWUuaXNJbnNpZGVQbG90KHQuY2hhcnRYIC0gZS5wbG90TGVmdCwgdC5jaGFydFkgLSBlLnBsb3RUb3AsIHsgdmlzaWJsZVBsb3RPbmx5OiAhMCB9KSB8fCAodGhpcy5pbkNsYXNzKHQudGFyZ2V0LCAiaGlnaGNoYXJ0cy1uby10b29sdGlwIikgPyB0aGlzLnJlc2V0KCExLCAwKSA6IHRoaXMucnVuUG9pbnRBY3Rpb25zKHQpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9uRG9jdW1lbnRUb3VjaEVuZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIGkgPSByW3YodC5ob3ZlckNoYXJ0SW5kZXgsIC0xKV07CiAgICAgICAgICAgIGkgJiYgaS5wb2ludGVyLmRyb3AoZSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5vbkNvbnRhaW5lclRvdWNoTW92ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy50b3VjaFNlbGVjdCh0KSA/IHRoaXMub25Db250YWluZXJNb3VzZU1vdmUodCkgOiB0aGlzLnRvdWNoKHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUub25Db250YWluZXJUb3VjaFN0YXJ0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0aGlzLnRvdWNoU2VsZWN0KHQpID8gdGhpcy5vbkNvbnRhaW5lck1vdXNlRG93bih0KSA6ICh0aGlzLnpvb21PcHRpb24odCksIHRoaXMudG91Y2godCwgITApKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9uRG9jdW1lbnRNb3VzZU1vdmUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydCwgaSA9IHRoaXMuY2hhcnRQb3NpdGlvbjsKICAgICAgICAgICAgdCA9IHRoaXMubm9ybWFsaXplKHQsIGkpOwogICAgICAgICAgICB2YXIgbiA9IGUudG9vbHRpcDsKICAgICAgICAgICAgIWkgfHwgbiAmJiBuLmlzU3RpY2t5T25Db250YWN0KCkgfHwgZS5pc0luc2lkZVBsb3QodC5jaGFydFggLSBlLnBsb3RMZWZ0LCB0LmNoYXJ0WSAtIGUucGxvdFRvcCwgeyB2aXNpYmxlUGxvdE9ubHk6ICEwIH0pIHx8IHRoaXMuaW5DbGFzcyh0LnRhcmdldCwgImhpZ2hjaGFydHMtdHJhY2tlciIpIHx8IHRoaXMucmVzZXQoKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9uRG9jdW1lbnRNb3VzZVVwID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgaSA9IHJbdih0LmhvdmVyQ2hhcnRJbmRleCwgLTEpXTsKICAgICAgICAgICAgaSAmJiBpLnBvaW50ZXIuZHJvcChlKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnBpbmNoID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBlLmNoYXJ0LCBuID0gZS5waW5jaERvd24sIG8gPSB0LnRvdWNoZXMgfHwgW10sIHIgPSBvLmxlbmd0aCwgYSA9IGUubGFzdFZhbGlkVG91Y2gsIGggPSBlLmhhc1pvb20sIGwgPSB7fSwKICAgICAgICAgICAgICBjID0gMSA9PT0gciAmJiAoZS5pbkNsYXNzKHQudGFyZ2V0LCAiaGlnaGNoYXJ0cy10cmFja2VyIikgJiYgaS5ydW5UcmFja2VyQ2xpY2sgfHwgZS5ydW5DaGFydENsaWNrKSwgZCA9IHt9LCBmID0gZS5zZWxlY3Rpb25NYXJrZXI7CiAgICAgICAgICAgIDEgPCByID8gZS5pbml0aWF0ZWQgPSAhMCA6IDEgPT09IHIgJiYgdGhpcy5mb2xsb3dUb3VjaE1vdmUgJiYgKGUuaW5pdGlhdGVkID0gITEpLCBoICYmIGUuaW5pdGlhdGVkICYmICFjICYmICExICE9PSB0LmNhbmNlbGFibGUgJiYgdC5wcmV2ZW50RGVmYXVsdCgpLCBbXS5tYXAuY2FsbChvLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiBlLm5vcm1hbGl6ZSh0KTsKICAgICAgICAgICAgfSkpLCAidG91Y2hzdGFydCIgPT09IHQudHlwZSA/IChbXS5mb3JFYWNoLmNhbGwobywgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBuW2VdID0geyBjaGFydFg6IHQuY2hhcnRYLCBjaGFydFk6IHQuY2hhcnRZIH07CiAgICAgICAgICAgIH0pKSwgYS54ID0gW25bMF0uY2hhcnRYLCBuWzFdICYmIG5bMV0uY2hhcnRYXSwgYS55ID0gW25bMF0uY2hhcnRZLCBuWzFdICYmIG5bMV0uY2hhcnRZXSwgaS5heGVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBpZiAodC56b29tRW5hYmxlZCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBpLmJvdW5kc1t0Lmhvcml6ID8gImgiIDogInYiXSwgbiA9IHQubWluUGl4ZWxQYWRkaW5nLCBvID0gdC50b1BpeGVscyhNYXRoLm1pbih2KHQub3B0aW9ucy5taW4sIHQuZGF0YU1pbiksIHQuZGF0YU1pbikpLAogICAgICAgICAgICAgICAgICByID0gdC50b1BpeGVscyhNYXRoLm1heCh2KHQub3B0aW9ucy5tYXgsIHQuZGF0YU1heCksIHQuZGF0YU1heCkpLCBzID0gTWF0aC5tYXgobywgcik7CiAgICAgICAgICAgICAgICBlLm1pbiA9IE1hdGgubWluKHQucG9zLCBNYXRoLm1pbihvLCByKSAtIG4pLCBlLm1heCA9IE1hdGgubWF4KHQucG9zICsgdC5sZW4sIHMgKyBuKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKSwgZS5yZXMgPSAhMCkgOiBlLmZvbGxvd1RvdWNoTW92ZSAmJiAxID09PSByID8gdGhpcy5ydW5Qb2ludEFjdGlvbnMoZS5ub3JtYWxpemUodCkpIDogbi5sZW5ndGggJiYgKHUoaSwgInRvdWNocGFuIiwgeyBvcmlnaW5hbEV2ZW50OiB0IH0sIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBmIHx8IChlLnNlbGVjdGlvbk1hcmtlciA9IGYgPSBwKHsgZGVzdHJveTogcywgdG91Y2g6ICEwIH0sIGkucGxvdEJveCkpLCBlLnBpbmNoVHJhbnNsYXRlKG4sIG8sIGwsIGYsIGQsIGEpLCBlLmhhc1BpbmNoZWQgPSBoLCBlLnNjYWxlR3JvdXBzKGwsIGQpOwogICAgICAgICAgICB9KSksIGUucmVzICYmIChlLnJlcyA9ICExLCB0aGlzLnJlc2V0KCExLCAwKSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucGluY2hUcmFuc2xhdGUgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICAgIHRoaXMuem9vbUhvciAmJiB0aGlzLnBpbmNoVHJhbnNsYXRlRGlyZWN0aW9uKCEwLCB0LCBlLCBpLCBuLCBvLCByKSwgdGhpcy56b29tVmVydCAmJiB0aGlzLnBpbmNoVHJhbnNsYXRlRGlyZWN0aW9uKCExLCB0LCBlLCBpLCBuLCBvLCByKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnBpbmNoVHJhbnNsYXRlRGlyZWN0aW9uID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgciwgcywgYSkgewogICAgICAgICAgICB2YXIgaCA9IHRoaXMuY2hhcnQsIGwgPSB0ID8gIngiIDogInkiLCBjID0gdCA/ICJYIiA6ICJZIiwgcCA9ICJjaGFydCIgKyBjLCBkID0gdCA/ICJ3aWR0aCIgOiAiaGVpZ2h0IiwgdSA9IGhbInBsb3QiICsgKHQgPyAiTGVmdCIgOiAiVG9wIildLAogICAgICAgICAgICAgIGYgPSBoLmludmVydGVkLCBnID0gaC5ib3VuZHNbdCA/ICJoIiA6ICJ2Il0sIG0gPSAxID09PSBlLmxlbmd0aCwgeSA9IGVbMF1bcF0sIHYgPSAhbSAmJiBlWzFdW3BdOwogICAgICAgICAgICBlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIm51bWJlciIgPT09IHR5cGVvZiBrICYmIDIwIDwgTWF0aC5hYnMoeSAtIHYpICYmIChfID0gYSB8fCBNYXRoLmFicyh3IC0gaykgLyBNYXRoLmFicyh5IC0gdikpLCBiID0gKHUgLSB3KSAvIF8gKyB5LCB4ID0gaFsicGxvdCIgKyAodCA/ICJXaWR0aCIgOiAiSGVpZ2h0IildIC8gXzsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdmFyIHgsIGIsIF8gPSBhIHx8IDEsIHcgPSBpWzBdW3BdLCBrID0gIW0gJiYgaVsxXVtwXTsKICAgICAgICAgICAgaWYgKGUoKSwgaSA9IGIsIGkgPCBnLm1pbikgewogICAgICAgICAgICAgIGkgPSBnLm1pbjsKICAgICAgICAgICAgICB2YXIgUyA9ICEwOwogICAgICAgICAgICB9IGVsc2UgaSArIHggPiBnLm1heCAmJiAoaSA9IGcubWF4IC0geCwgUyA9ICEwKTsKICAgICAgICAgICAgUyA/ICh3IC09IC44ICogKHcgLSBzW2xdWzBdKSwgIm51bWJlciIgPT09IHR5cGVvZiBrICYmIChrIC09IC44ICogKGsgLSBzW2xdWzFdKSksIGUoKSkgOiBzW2xdID0gW3csIGtdLCBmIHx8IChyW2xdID0gYiAtIHUsIHJbZF0gPSB4KSwgciA9IGYgPyAxIC8gXyA6IF8sIG9bZF0gPSB4LCBvW2xdID0gaSwgbltmID8gdCA/ICJzY2FsZVkiIDogInNjYWxlWCIgOiAic2NhbGUiICsgY10gPSBfLCBuWyJ0cmFuc2xhdGUiICsgY10gPSByICogdSArICh3IC0gciAqIHkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5jaGFydCwgbiA9IGkuaG92ZXJTZXJpZXMsIG8gPSBpLmhvdmVyUG9pbnQsIHIgPSBpLmhvdmVyUG9pbnRzLCBzID0gaS50b29sdGlwLCBhID0gcyAmJiBzLnNoYXJlZCA/IHIgOiBvOwogICAgICAgICAgICB0ICYmIGEgJiYgeChhKS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgZS5zZXJpZXMuaXNDYXJ0ZXNpYW4gJiYgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBlLnBsb3RYICYmICh0ID0gITEpOwogICAgICAgICAgICB9KSksIHQgPyBzICYmIGEgJiYgeChhKS5sZW5ndGggJiYgKHMucmVmcmVzaChhKSwgcy5zaGFyZWQgJiYgciA/IHIuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuc2V0U3RhdGUodC5zdGF0ZSwgITApLCB0LnNlcmllcy5pc0NhcnRlc2lhbiAmJiAodC5zZXJpZXMueEF4aXMuY3Jvc3NoYWlyICYmIHQuc2VyaWVzLnhBeGlzLmRyYXdDcm9zc2hhaXIobnVsbCwgdCksIHQuc2VyaWVzLnlBeGlzLmNyb3NzaGFpciAmJiB0LnNlcmllcy55QXhpcy5kcmF3Q3Jvc3NoYWlyKG51bGwsIHQpKTsKICAgICAgICAgICAgfSkpIDogbyAmJiAoby5zZXRTdGF0ZShvLnN0YXRlLCAhMCksIGkuYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5jcm9zc2hhaXIgJiYgby5zZXJpZXNbdC5jb2xsXSA9PT0gdCAmJiB0LmRyYXdDcm9zc2hhaXIobnVsbCwgbyk7CiAgICAgICAgICAgIH0pKSkpIDogKG8gJiYgby5vbk1vdXNlT3V0KCksIHIgJiYgci5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5zZXRTdGF0ZSgpOwogICAgICAgICAgICB9KSksIG4gJiYgbi5vbk1vdXNlT3V0KCksIHMgJiYgcy5oaWRlKGUpLCB0aGlzLnVuRG9jTW91c2VNb3ZlICYmICh0aGlzLnVuRG9jTW91c2VNb3ZlID0gdGhpcy51bkRvY01vdXNlTW92ZSgpKSwgaS5heGVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0LmhpZGVDcm9zc2hhaXIoKTsKICAgICAgICAgICAgfSkpLCB0aGlzLmhvdmVyWCA9IGkuaG92ZXJQb2ludHMgPSBpLmhvdmVyUG9pbnQgPSBudWxsKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJ1blBvaW50QWN0aW9ucyA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmNoYXJ0LCBvID0gbi50b29sdGlwICYmIG4udG9vbHRpcC5vcHRpb25zLmVuYWJsZWQgPyBuLnRvb2x0aXAgOiB2b2lkIDAsIHMgPSAhIW8gJiYgby5zaGFyZWQsIGggPSBpIHx8IG4uaG92ZXJQb2ludCwKICAgICAgICAgICAgICBsID0gaCAmJiBoLnNlcmllcyB8fCBuLmhvdmVyU2VyaWVzOwogICAgICAgICAgICBpID0gdGhpcy5nZXRIb3ZlckRhdGEoaCwgbCwgbi5zZXJpZXMsICghZSB8fCAidG91Y2htb3ZlIiAhPT0gZS50eXBlKSAmJiAoISFpIHx8IGwgJiYgbC5kaXJlY3RUb3VjaCAmJiB0aGlzLmlzRGlyZWN0VG91Y2gpLCBzLCBlKSwgaCA9IGkuaG92ZXJQb2ludCwgbCA9IGkuaG92ZXJTZXJpZXM7CiAgICAgICAgICAgIHZhciBjID0gaS5ob3ZlclBvaW50czsKICAgICAgICAgICAgaWYgKGkgPSBsICYmIGwudG9vbHRpcE9wdGlvbnMuZm9sbG93UG9pbnRlciAmJiAhbC50b29sdGlwT3B0aW9ucy5zcGxpdCwgcyA9IHMgJiYgbCAmJiAhbC5ub1NoYXJlZFRvb2x0aXAsIGggJiYgKGggIT09IG4uaG92ZXJQb2ludCB8fCBvICYmIG8uaXNIaWRkZW4pKSB7CiAgICAgICAgICAgICAgaWYgKChuLmhvdmVyUG9pbnRzIHx8IFtdKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAtMSA9PT0gYy5pbmRleE9mKHQpICYmIHQuc2V0U3RhdGUoKTsKICAgICAgICAgICAgICB9KSksIG4uaG92ZXJTZXJpZXMgIT09IGwgJiYgbC5vbk1vdXNlT3ZlcigpLCB0aGlzLmFwcGx5SW5hY3RpdmVTdGF0ZShjKSwgKGMgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQuc2V0U3RhdGUoImhvdmVyIik7CiAgICAgICAgICAgICAgfSkpLCBuLmhvdmVyUG9pbnQgJiYgbi5ob3ZlclBvaW50LmZpcmVQb2ludEV2ZW50KCJtb3VzZU91dCIpLCAhaC5zZXJpZXMpIHJldHVybjsKICAgICAgICAgICAgICBuLmhvdmVyUG9pbnRzID0gYywgbi5ob3ZlclBvaW50ID0gaCwgaC5maXJlUG9pbnRFdmVudCgibW91c2VPdmVyIiksIG8gJiYgby5yZWZyZXNoKHMgPyBjIDogaCwgZSk7CiAgICAgICAgICAgIH0gZWxzZSBpICYmIG8gJiYgIW8uaXNIaWRkZW4gJiYgKGggPSBvLmdldEFuY2hvcihbe31dLCBlKSwgbi5pc0luc2lkZVBsb3QoaFswXSwgaFsxXSwgeyB2aXNpYmxlUGxvdE9ubHk6ICEwIH0pICYmIG8udXBkYXRlUG9zaXRpb24oewogICAgICAgICAgICAgIHBsb3RYOiBoWzBdLAogICAgICAgICAgICAgIHBsb3RZOiBoWzFdCiAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgdGhpcy51bkRvY01vdXNlTW92ZSB8fCAodGhpcy51bkRvY01vdXNlTW92ZSA9IGEobi5jb250YWluZXIub3duZXJEb2N1bWVudCwgIm1vdXNlbW92ZSIsIChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSByW3QuaG92ZXJDaGFydEluZGV4XTsKICAgICAgICAgICAgICBpICYmIGkucG9pbnRlci5vbkRvY3VtZW50TW91c2VNb3ZlKGUpOwogICAgICAgICAgICB9KSksIHRoaXMuZXZlbnRzVG9VbmJpbmQucHVzaCh0aGlzLnVuRG9jTW91c2VNb3ZlKSksIG4uYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGksIG8gPSB2KCh0LmNyb3NzaGFpciB8fCB7fSkuc25hcCwgITApOwogICAgICAgICAgICAgIG8gJiYgKChpID0gbi5ob3ZlclBvaW50KSAmJiBpLnNlcmllc1t0LmNvbGxdID09PSB0IHx8IChpID0gZChjLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGUuc2VyaWVzW3QuY29sbF0gPT09IHQ7CiAgICAgICAgICAgICAgfSkpKSksIGkgfHwgIW8gPyB0LmRyYXdDcm9zc2hhaXIoZSwgaSkgOiB0LmhpZGVDcm9zc2hhaXIoKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2NhbGVHcm91cHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5jaGFydDsKICAgICAgICAgICAgaS5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24obikgewogICAgICAgICAgICAgIHZhciBvID0gdCB8fCBuLmdldFBsb3RCb3goKTsKICAgICAgICAgICAgICBuLmdyb3VwICYmIChuLnhBeGlzICYmIG4ueEF4aXMuem9vbUVuYWJsZWQgfHwgaS5tYXBWaWV3KSAmJiAobi5ncm91cC5hdHRyKG8pLCBuLm1hcmtlckdyb3VwICYmIChuLm1hcmtlckdyb3VwLmF0dHIobyksIG4ubWFya2VyR3JvdXAuY2xpcChlID8gaS5jbGlwUmVjdCA6IG51bGwpKSwgbi5kYXRhTGFiZWxzR3JvdXAgJiYgbi5kYXRhTGFiZWxzR3JvdXAuYXR0cihvKSk7CiAgICAgICAgICAgIH0pKSwgaS5jbGlwUmVjdC5hdHRyKGUgfHwgaS5jbGlwQm94KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldERPTUV2ZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMsIG4gPSB0aGlzLmNoYXJ0LmNvbnRhaW5lciwgbyA9IG4ub3duZXJEb2N1bWVudDsKICAgICAgICAgICAgbi5vbm1vdXNlZG93biA9IHRoaXMub25Db250YWluZXJNb3VzZURvd24uYmluZCh0aGlzKSwgbi5vbm1vdXNlbW92ZSA9IHRoaXMub25Db250YWluZXJNb3VzZU1vdmUuYmluZCh0aGlzKSwgbi5vbmNsaWNrID0gdGhpcy5vbkNvbnRhaW5lckNsaWNrLmJpbmQodGhpcyksIHRoaXMuZXZlbnRzVG9VbmJpbmQucHVzaChhKG4sICJtb3VzZWVudGVyIiwgdGhpcy5vbkNvbnRhaW5lck1vdXNlRW50ZXIuYmluZCh0aGlzKSkpLCB0aGlzLmV2ZW50c1RvVW5iaW5kLnB1c2goYShuLCAibW91c2VsZWF2ZSIsIHRoaXMub25Db250YWluZXJNb3VzZUxlYXZlLmJpbmQodGhpcykpKSwgdC51bmJpbmREb2N1bWVudE1vdXNlVXAgfHwgKHQudW5iaW5kRG9jdW1lbnRNb3VzZVVwID0gYShvLCAibW91c2V1cCIsIHRoaXMub25Eb2N1bWVudE1vdXNlVXAuYmluZCh0aGlzKSkpOwogICAgICAgICAgICBmb3IgKHZhciByID0gdGhpcy5jaGFydC5yZW5kZXJUby5wYXJlbnRFbGVtZW50OyByICYmICJCT0RZIiAhPT0gci50YWdOYW1lOykgdGhpcy5ldmVudHNUb1VuYmluZC5wdXNoKGEociwgInNjcm9sbCIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBkZWxldGUgaS5jaGFydFBvc2l0aW9uOwogICAgICAgICAgICB9KSkpLCByID0gci5wYXJlbnRFbGVtZW50OwogICAgICAgICAgICBlLmhhc1RvdWNoICYmICh0aGlzLmV2ZW50c1RvVW5iaW5kLnB1c2goYShuLCAidG91Y2hzdGFydCIsIHRoaXMub25Db250YWluZXJUb3VjaFN0YXJ0LmJpbmQodGhpcyksIHsgcGFzc2l2ZTogITEgfSkpLCB0aGlzLmV2ZW50c1RvVW5iaW5kLnB1c2goYShuLCAidG91Y2htb3ZlIiwgdGhpcy5vbkNvbnRhaW5lclRvdWNoTW92ZS5iaW5kKHRoaXMpLCB7IHBhc3NpdmU6ICExIH0pKSwgdC51bmJpbmREb2N1bWVudFRvdWNoRW5kIHx8ICh0LnVuYmluZERvY3VtZW50VG91Y2hFbmQgPSBhKG8sICJ0b3VjaGVuZCIsIHRoaXMub25Eb2N1bWVudFRvdWNoRW5kLmJpbmQodGhpcyksIHsgcGFzc2l2ZTogITEgfSkpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldEhvdmVyQ2hhcnRJbmRleCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMuY2hhcnQsIG4gPSBlLmNoYXJ0c1t2KHQuaG92ZXJDaGFydEluZGV4LCAtMSldOwogICAgICAgICAgICBuICYmIG4gIT09IGkgJiYgbi5wb2ludGVyLm9uQ29udGFpbmVyTW91c2VMZWF2ZSh7IHJlbGF0ZWRUYXJnZXQ6ICEwIH0pLCBuICYmIG4ubW91c2VJc0Rvd24gfHwgKHQuaG92ZXJDaGFydEluZGV4ID0gaS5pbmRleCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS50b3VjaCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLmNoYXJ0OwogICAgICAgICAgICBpZiAodGhpcy5zZXRIb3ZlckNoYXJ0SW5kZXgoKSwgMSA9PT0gdC50b3VjaGVzLmxlbmd0aCkgaWYgKHQgPSB0aGlzLm5vcm1hbGl6ZSh0KSwgaS5pc0luc2lkZVBsb3QodC5jaGFydFggLSBpLnBsb3RMZWZ0LCB0LmNoYXJ0WSAtIGkucGxvdFRvcCwgeyB2aXNpYmxlUGxvdE9ubHk6ICEwIH0pICYmICFpLm9wZW5NZW51KSB7CiAgICAgICAgICAgICAgaWYgKGUgJiYgdGhpcy5ydW5Qb2ludEFjdGlvbnModCksICJ0b3VjaG1vdmUiID09PSB0LnR5cGUpIHsKICAgICAgICAgICAgICAgIGUgPSB0aGlzLnBpbmNoRG93bjsKICAgICAgICAgICAgICAgIHZhciBuID0gISFlWzBdICYmIDQgPD0gTWF0aC5zcXJ0KE1hdGgucG93KGVbMF0uY2hhcnRYIC0gdC5jaGFydFgsIDIpICsgTWF0aC5wb3coZVswXS5jaGFydFkgLSB0LmNoYXJ0WSwgMikpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2KG4sICEwKSAmJiB0aGlzLnBpbmNoKHQpOwogICAgICAgICAgICB9IGVsc2UgZSAmJiB0aGlzLnJlc2V0KCk7IGVsc2UgMiA9PT0gdC50b3VjaGVzLmxlbmd0aCAmJiB0aGlzLnBpbmNoKHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudG91Y2hTZWxlY3QgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiAhKCF0aGlzLmNoYXJ0Lm9wdGlvbnMuY2hhcnQuem9vbUJ5U2luZ2xlVG91Y2ggfHwgIXQudG91Y2hlcyB8fCAxICE9PSB0LnRvdWNoZXMubGVuZ3RoKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnpvb21PcHRpb24gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydCwgaSA9IGUub3B0aW9ucy5jaGFydDsKICAgICAgICAgICAgZSA9IGUuaW52ZXJ0ZWQ7CiAgICAgICAgICAgIHZhciBuID0gaS56b29tVHlwZSB8fCAiIjsKICAgICAgICAgICAgL3RvdWNoLy50ZXN0KHQudHlwZSkgJiYgKG4gPSB2KGkucGluY2hUeXBlLCBuKSksIHRoaXMuem9vbVggPSB0ID0gL3gvLnRlc3QobiksIHRoaXMuem9vbVkgPSBpID0gL3kvLnRlc3QobiksIHRoaXMuem9vbUhvciA9IHQgJiYgIWUgfHwgaSAmJiBlLCB0aGlzLnpvb21WZXJ0ID0gaSAmJiAhZSB8fCB0ICYmIGUsIHRoaXMuaGFzWm9vbSA9IHQgfHwgaTsKICAgICAgICAgIH0sIHQ7CiAgICAgICAgfSgpLCB0OwogICAgICB9KSksIGUoaSwgIkNvcmUvTVNQb2ludGVyLmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1BvaW50ZXIuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgIHZhciB0ID0gW107CiAgICAgICAgICByZXR1cm4gdC5pdGVtID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdGhpc1t0XTsKICAgICAgICAgIH0sIGQoZiwgKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdC5wdXNoKHsgcGFnZVg6IGUucGFnZVgsIHBhZ2VZOiBlLnBhZ2VZLCB0YXJnZXQ6IGUudGFyZ2V0IH0pOwogICAgICAgICAgfSkpLCB0OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbyh0LCBpLCBvLCByKSB7CiAgICAgICAgICB2YXIgYSA9IHNbZS5ob3ZlckNoYXJ0SW5kZXggfHwgTmFOXTsKICAgICAgICAgICJ0b3VjaCIgIT09IHQucG9pbnRlclR5cGUgJiYgdC5wb2ludGVyVHlwZSAhPT0gdC5NU1BPSU5URVJfVFlQRV9UT1VDSCB8fCAhYSB8fCAoYSA9IGEucG9pbnRlciwgcih0KSwgYVtpXSh7CiAgICAgICAgICAgIHR5cGU6IG8sCiAgICAgICAgICAgIHRhcmdldDogdC5jdXJyZW50VGFyZ2V0LAogICAgICAgICAgICBwcmV2ZW50RGVmYXVsdDogaCwKICAgICAgICAgICAgdG91Y2hlczogbigpCiAgICAgICAgICB9KSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgciA9IHRoaXMgJiYgdGhpcy5fX2V4dGVuZHMgfHwgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5fX3Byb3RvX18gPSBlOwogICAgICAgICAgICB9IHx8IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUpIGUuaGFzT3duUHJvcGVydHkoaSkgJiYgKHRbaV0gPSBlW2ldKTsKICAgICAgICAgICAgfSwgdChlLCBpKTsKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBmdW5jdGlvbiBuKCkgewogICAgICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0KGUsIGkpLCBlLnByb3RvdHlwZSA9IG51bGwgPT09IGkgPyBPYmplY3QuY3JlYXRlKGkpIDogKG4ucHJvdG90eXBlID0gaS5wcm90b3R5cGUsIG5ldyBuKTsKICAgICAgICAgIH07CiAgICAgICAgfSgpLCBzID0gdC5jaGFydHMsIGEgPSB0LmRvYywgaCA9IHQubm9vcCwgbCA9IHQud2luLCBjID0gaS5hZGRFdmVudCwgcCA9IGkuY3NzLCBkID0gaS5vYmplY3RFYWNoLCB1ID0gaS5yZW1vdmVFdmVudCwgZiA9IHt9LCBnID0gISFsLlBvaW50ZXJFdmVudDsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgewogICAgICAgICAgZnVuY3Rpb24gaSgpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGwgIT09IGUgJiYgZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHIoaSwgZSksIGkuaXNSZXF1aXJlZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gISh0Lmhhc1RvdWNoIHx8ICFsLlBvaW50ZXJFdmVudCAmJiAhbC5NU1BvaW50ZXJFdmVudCk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5iYXRjaE1TRXZlbnRzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0KHRoaXMuY2hhcnQuY29udGFpbmVyLCBnID8gInBvaW50ZXJkb3duIiA6ICJNU1BvaW50ZXJEb3duIiwgdGhpcy5vbkNvbnRhaW5lclBvaW50ZXJEb3duKSwgdCh0aGlzLmNoYXJ0LmNvbnRhaW5lciwgZyA/ICJwb2ludGVybW92ZSIgOiAiTVNQb2ludGVyTW92ZSIsIHRoaXMub25Db250YWluZXJQb2ludGVyTW92ZSksIHQoYSwgZyA/ICJwb2ludGVydXAiIDogIk1TUG9pbnRlclVwIiwgdGhpcy5vbkRvY3VtZW50UG9pbnRlclVwKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5iYXRjaE1TRXZlbnRzKHUpLCBlLnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICBlLnByb3RvdHlwZS5pbml0LmNhbGwodGhpcywgdCwgaSksIHRoaXMuaGFzWm9vbSAmJiBwKHQuY29udGFpbmVyLCB7ICItbXMtdG91Y2gtYWN0aW9uIjogIm5vbmUiLCAidG91Y2gtYWN0aW9uIjogIm5vbmUiIH0pOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUub25Db250YWluZXJQb2ludGVyRG93biA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgbyh0LCAib25Db250YWluZXJUb3VjaFN0YXJ0IiwgInRvdWNoc3RhcnQiLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGZbdC5wb2ludGVySWRdID0geyBwYWdlWDogdC5wYWdlWCwgcGFnZVk6IHQucGFnZVksIHRhcmdldDogdC5jdXJyZW50VGFyZ2V0IH07CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLm9uQ29udGFpbmVyUG9pbnRlck1vdmUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIG8odCwgIm9uQ29udGFpbmVyVG91Y2hNb3ZlIiwgInRvdWNobW92ZSIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgZlt0LnBvaW50ZXJJZF0gPSB7IHBhZ2VYOiB0LnBhZ2VYLCBwYWdlWTogdC5wYWdlWSB9LCBmW3QucG9pbnRlcklkXS50YXJnZXQgfHwgKGZbdC5wb2ludGVySWRdLnRhcmdldCA9IHQuY3VycmVudFRhcmdldCk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLm9uRG9jdW1lbnRQb2ludGVyVXAgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIG8odCwgIm9uRG9jdW1lbnRUb3VjaEVuZCIsICJ0b3VjaGVuZCIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgZGVsZXRlIGZbdC5wb2ludGVySWRdOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5zZXRET01FdmVudHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZS5wcm90b3R5cGUuc2V0RE9NRXZlbnRzLmNhbGwodGhpcyksICh0aGlzLmhhc1pvb20gfHwgdGhpcy5mb2xsb3dUb3VjaE1vdmUpICYmIHRoaXMuYmF0Y2hNU0V2ZW50cyhjKTsKICAgICAgICAgIH0sIGk7CiAgICAgICAgfShlKTsKICAgICAgfSkpLCBlKGksICJDb3JlL0xlZ2VuZC9MZWdlbmQuanMiLCBbaVsiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1Nlcmllcy9Qb2ludC5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyVXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgcikgewogICAgICAgIHZhciBzID0gdC5hbmltT2JqZWN0LCBhID0gdC5zZXRBbmltYXRpb24sIGggPSBlLmZvcm1hdDsKICAgICAgICB0ID0gaS5pc0ZpcmVmb3g7CiAgICAgICAgdmFyIGwgPSBpLm1hcmdpbk5hbWVzOwogICAgICAgIGkgPSBpLndpbjsKICAgICAgICB2YXIgYyA9IG8uZGlzdHJpYnV0ZSwgcCA9IHIuYWRkRXZlbnQsIGQgPSByLmNyZWF0ZUVsZW1lbnQsIHUgPSByLmNzcywgZiA9IHIuZGVmaW5lZCwgZyA9IHIuZGlzY2FyZEVsZW1lbnQsIG0gPSByLmZpbmQsIHkgPSByLmZpcmVFdmVudCwgdiA9IHIuaXNOdW1iZXIsCiAgICAgICAgICB4ID0gci5tZXJnZSwgYiA9IHIucGljaywgXyA9IHIucmVsYXRpdmVMZW5ndGgsIHcgPSByLnN0YWJsZVNvcnQsIGsgPSByLnN5bmNUaW1lb3V0OwogICAgICAgIHJldHVybiBvID0gci53cmFwLCByID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiB0KHQsIGUpIHsKICAgICAgICAgICAgdGhpcy5hbGxJdGVtcyA9IFtdLCB0aGlzLmNvbnRlbnRHcm91cCA9IHRoaXMuYm94ID0gdm9pZCAwLCB0aGlzLmRpc3BsYXkgPSAhMSwgdGhpcy5ncm91cCA9IHZvaWQgMCwgdGhpcy5vZmZzZXRXaWR0aCA9IHRoaXMubWF4TGVnZW5kV2lkdGggPSB0aGlzLm1heEl0ZW1XaWR0aCA9IHRoaXMubGVnZW5kV2lkdGggPSB0aGlzLmxlZ2VuZEhlaWdodCA9IHRoaXMubGFzdExpbmVIZWlnaHQgPSB0aGlzLmxhc3RJdGVtWSA9IHRoaXMuaXRlbVkgPSB0aGlzLml0ZW1YID0gdGhpcy5pdGVtTWFyZ2luVG9wID0gdGhpcy5pdGVtTWFyZ2luQm90dG9tID0gdGhpcy5pdGVtSGVpZ2h0ID0gdGhpcy5pbml0aWFsSXRlbVkgPSAwLCB0aGlzLm9wdGlvbnMgPSB7fSwgdGhpcy5wYWRkaW5nID0gMCwgdGhpcy5wYWdlcyA9IFtdLCB0aGlzLnByb3hpbWF0ZSA9ICExLCB0aGlzLnNjcm9sbEdyb3VwID0gdm9pZCAwLCB0aGlzLndpZHRoT3B0aW9uID0gdGhpcy50b3RhbEl0ZW1XaWR0aCA9IHRoaXMudGl0bGVIZWlnaHQgPSB0aGlzLnN5bWJvbFdpZHRoID0gdGhpcy5zeW1ib2xIZWlnaHQgPSAwLCB0aGlzLmNoYXJ0ID0gdCwgdGhpcy5pbml0KHQsIGUpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLmNoYXJ0ID0gdCwgdGhpcy5zZXRPcHRpb25zKGUpLCBlLmVuYWJsZWQgJiYgKHRoaXMucmVuZGVyKCksIHAodGhpcy5jaGFydCwgImVuZFJlc2l6ZSIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB0aGlzLmxlZ2VuZC5wb3NpdGlvbkNoZWNrYm94ZXMoKTsKICAgICAgICAgICAgfSkpLCB0aGlzLnByb3hpbWF0ZSA/IHRoaXMudW5jaGFydHJlbmRlciA9IHAodGhpcy5jaGFydCwgInJlbmRlciIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB0aGlzLmxlZ2VuZC5wcm94aW1hdGVQb3NpdGlvbnMoKSwgdGhpcy5sZWdlbmQucG9zaXRpb25JdGVtcygpOwogICAgICAgICAgICB9KSkgOiB0aGlzLnVuY2hhcnRyZW5kZXIgJiYgdGhpcy51bmNoYXJ0cmVuZGVyKCkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0T3B0aW9ucyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSBiKHQucGFkZGluZywgOCk7CiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHQsIHRoaXMuY2hhcnQuc3R5bGVkTW9kZSB8fCAodGhpcy5pdGVtU3R5bGUgPSB0Lml0ZW1TdHlsZSwgdGhpcy5pdGVtSGlkZGVuU3R5bGUgPSB4KHRoaXMuaXRlbVN0eWxlLCB0Lml0ZW1IaWRkZW5TdHlsZSkpLCB0aGlzLml0ZW1NYXJnaW5Ub3AgPSB0Lml0ZW1NYXJnaW5Ub3AgfHwgMCwgdGhpcy5pdGVtTWFyZ2luQm90dG9tID0gdC5pdGVtTWFyZ2luQm90dG9tIHx8IDAsIHRoaXMucGFkZGluZyA9IGUsIHRoaXMuaW5pdGlhbEl0ZW1ZID0gZSAtIDUsIHRoaXMuc3ltYm9sV2lkdGggPSBiKHQuc3ltYm9sV2lkdGgsIDE2KSwgdGhpcy5wYWdlcyA9IFtdLCB0aGlzLnByb3hpbWF0ZSA9ICJwcm94aW1hdGUiID09PSB0LmxheW91dCAmJiAhdGhpcy5jaGFydC5pbnZlcnRlZCwgdGhpcy5iYXNlbGluZSA9IHZvaWQgMDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLmNoYXJ0OwogICAgICAgICAgICB0aGlzLnNldE9wdGlvbnMoeCghMCwgdGhpcy5vcHRpb25zLCB0KSksIHRoaXMuZGVzdHJveSgpLCBpLmlzRGlydHlMZWdlbmQgPSBpLmlzRGlydHlCb3ggPSAhMCwgYihlLCAhMCkgJiYgaS5yZWRyYXcoKSwgeSh0aGlzLCAiYWZ0ZXJVcGRhdGUiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmNvbG9yaXplSXRlbSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgaWYgKHQubGVnZW5kR3JvdXBbZSA/ICJyZW1vdmVDbGFzcyIgOiAiYWRkQ2xhc3MiXSgiaGlnaGNoYXJ0cy1sZWdlbmQtaXRlbS1oaWRkZW4iKSwgIXRoaXMuY2hhcnQuc3R5bGVkTW9kZSkgewogICAgICAgICAgICAgIHZhciBpID0gdGhpcy5vcHRpb25zLCBuID0gdC5sZWdlbmRJdGVtLCBvID0gdC5sZWdlbmRMaW5lLCByID0gdC5sZWdlbmRTeW1ib2wsIHMgPSB0aGlzLml0ZW1IaWRkZW5TdHlsZS5jb2xvcjsKICAgICAgICAgICAgICBpID0gZSA/IGkuaXRlbVN0eWxlLmNvbG9yIDogczsKICAgICAgICAgICAgICB2YXIgYSA9IGUgJiYgdC5jb2xvciB8fCBzLCBoID0gdC5vcHRpb25zICYmIHQub3B0aW9ucy5tYXJrZXIsIGwgPSB7IGZpbGw6IGEgfTsKICAgICAgICAgICAgICBuICYmIG4uY3NzKHsKICAgICAgICAgICAgICAgIGZpbGw6IGksCiAgICAgICAgICAgICAgICBjb2xvcjogaQogICAgICAgICAgICAgIH0pLCBvICYmIG8uYXR0cih7IHN0cm9rZTogYSB9KSwgciAmJiAoaCAmJiByLmlzTWFya2VyICYmIChsID0gdC5wb2ludEF0dHJpYnMoKSwgZSB8fCAobC5zdHJva2UgPSBsLmZpbGwgPSBzKSksIHIuYXR0cihsKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgeSh0aGlzLCAiYWZ0ZXJDb2xvcml6ZUl0ZW0iLCB7IGl0ZW06IHQsIHZpc2libGU6IGUgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5wb3NpdGlvbkl0ZW1zID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaCh0aGlzLnBvc2l0aW9uSXRlbSwgdGhpcyksIHRoaXMuY2hhcnQuaXNSZXNpemluZyB8fCB0aGlzLnBvc2l0aW9uQ2hlY2tib3hlcygpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucG9zaXRpb25JdGVtID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSB0aGlzLm9wdGlvbnMsIG4gPSBpLnN5bWJvbFBhZGRpbmcsIG8gPSAhaS5ydGwsIHIgPSB0Ll9sZWdlbmRJdGVtUG9zOwogICAgICAgICAgICBpID0gclswXSwgciA9IHJbMV07CiAgICAgICAgICAgIHZhciBzID0gdC5jaGVja2JveCwgYSA9IHQubGVnZW5kR3JvdXA7CiAgICAgICAgICAgIGEgJiYgYS5lbGVtZW50ICYmIChuID0geyB0cmFuc2xhdGVYOiBvID8gaSA6IHRoaXMubGVnZW5kV2lkdGggLSBpIC0gMiAqIG4gLSA0LCB0cmFuc2xhdGVZOiByIH0sIG8gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB5KGUsICJhZnRlclBvc2l0aW9uSXRlbSIsIHsgaXRlbTogdCB9KTsKICAgICAgICAgICAgfSwgZihhLnRyYW5zbGF0ZVkpID8gYS5hbmltYXRlKG4sIHZvaWQgMCwgbykgOiAoYS5hdHRyKG4pLCBvKCkpKSwgcyAmJiAocy54ID0gaSwgcy55ID0gcik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kZXN0cm95SXRlbSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0LmNoZWNrYm94OwogICAgICAgICAgICBbImxlZ2VuZEl0ZW0iLCAibGVnZW5kTGluZSIsICJsZWdlbmRTeW1ib2wiLCAibGVnZW5kR3JvdXAiXS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgdFtlXSAmJiAodFtlXSA9IHRbZV0uZGVzdHJveSgpKTsKICAgICAgICAgICAgfSkpLCBlICYmIGcodC5jaGVja2JveCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHQodCkgewogICAgICAgICAgICAgIHRoaXNbdF0gJiYgKHRoaXNbdF0gPSB0aGlzW3RdLmRlc3Ryb3koKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuZ2V0QWxsSXRlbXMoKS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgWyJsZWdlbmRJdGVtIiwgImxlZ2VuZEdyb3VwIl0uZm9yRWFjaCh0LCBlKTsKICAgICAgICAgICAgfSkpLCAiY2xpcFJlY3QgdXAgZG93biBwYWdlciBuYXYgYm94IHRpdGxlIGdyb3VwIi5zcGxpdCgiICIpLmZvckVhY2godCwgdGhpcyksIHRoaXMuZGlzcGxheSA9IG51bGw7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5wb3NpdGlvbkNoZWNrYm94ZXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmdyb3VwICYmIHRoaXMuZ3JvdXAuYWxpZ25BdHRyLCBlID0gdGhpcy5jbGlwSGVpZ2h0IHx8IHRoaXMubGVnZW5kSGVpZ2h0LCBpID0gdGhpcy50aXRsZUhlaWdodDsKICAgICAgICAgICAgaWYgKHQpIHsKICAgICAgICAgICAgICB2YXIgbiA9IHQudHJhbnNsYXRlWTsKICAgICAgICAgICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goKGZ1bmN0aW9uKG8pIHsKICAgICAgICAgICAgICAgIHZhciByID0gby5jaGVja2JveDsKICAgICAgICAgICAgICAgIGlmIChyKSB7CiAgICAgICAgICAgICAgICAgIHZhciBzID0gbiArIGkgKyByLnkgKyAodGhpcy5zY3JvbGxPZmZzZXQgfHwgMCkgKyAzOwogICAgICAgICAgICAgICAgICB1KHIsIHsKICAgICAgICAgICAgICAgICAgICBsZWZ0OiB0LnRyYW5zbGF0ZVggKyBvLmNoZWNrYm94T2Zmc2V0ICsgci54IC0gMjAgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIHRvcDogcyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGhpcy5wcm94aW1hdGUgfHwgcyA+IG4gLSA2ICYmIHMgPCBuICsgZSAtIDYgPyAiIiA6ICJub25lIgogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KSwgdGhpcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlclRpdGxlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLCBlID0gdGhpcy5wYWRkaW5nLCBpID0gdC50aXRsZSwgbiA9IDA7CiAgICAgICAgICAgIGkudGV4dCAmJiAodGhpcy50aXRsZSB8fCAodGhpcy50aXRsZSA9IHRoaXMuY2hhcnQucmVuZGVyZXIubGFiZWwoaS50ZXh0LCBlIC0gMywgZSAtIDQsIG51bGwsIG51bGwsIG51bGwsIHQudXNlSFRNTCwgbnVsbCwgImxlZ2VuZC10aXRsZSIpLmF0dHIoeyB6SW5kZXg6IDEgfSksIHRoaXMuY2hhcnQuc3R5bGVkTW9kZSB8fCB0aGlzLnRpdGxlLmNzcyhpLnN0eWxlKSwgdGhpcy50aXRsZS5hZGQodGhpcy5ncm91cCkpLCBpLndpZHRoIHx8IHRoaXMudGl0bGUuY3NzKHsgd2lkdGg6IHRoaXMubWF4TGVnZW5kV2lkdGggKyAicHgiIH0pLCB0ID0gdGhpcy50aXRsZS5nZXRCQm94KCksIG4gPSB0LmhlaWdodCwgdGhpcy5vZmZzZXRXaWR0aCA9IHQud2lkdGgsIHRoaXMuY29udGVudEdyb3VwLmF0dHIoeyB0cmFuc2xhdGVZOiBuIH0pKSwgdGhpcy50aXRsZUhlaWdodCA9IG47CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRUZXh0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgdC5sZWdlbmRJdGVtLmF0dHIoeyB0ZXh0OiBlLmxhYmVsRm9ybWF0ID8gaChlLmxhYmVsRm9ybWF0LCB0LCB0aGlzLmNoYXJ0KSA6IGUubGFiZWxGb3JtYXR0ZXIuY2FsbCh0KSB9KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlckl0ZW0gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydCwgaSA9IGUucmVuZGVyZXIsIG4gPSB0aGlzLm9wdGlvbnMsIG8gPSB0aGlzLnN5bWJvbFdpZHRoLCByID0gbi5zeW1ib2xQYWRkaW5nIHx8IDAsIHMgPSB0aGlzLml0ZW1TdHlsZSwgYSA9IHRoaXMuaXRlbUhpZGRlblN0eWxlLAogICAgICAgICAgICAgIGggPSAiaG9yaXpvbnRhbCIgPT09IG4ubGF5b3V0ID8gYihuLml0ZW1EaXN0YW5jZSwgMjApIDogMCwgbCA9ICFuLnJ0bCwgYyA9ICF0LnNlcmllcywgcCA9ICFjICYmIHQuc2VyaWVzLmRyYXdMZWdlbmRTeW1ib2wgPyB0LnNlcmllcyA6IHQsCiAgICAgICAgICAgICAgZCA9IHAub3B0aW9ucywgdSA9IHRoaXMuY3JlYXRlQ2hlY2tib3hGb3JJdGVtICYmIGQgJiYgZC5zaG93Q2hlY2tib3gsIGYgPSBuLnVzZUhUTUwsIGcgPSB0Lm9wdGlvbnMuY2xhc3NOYW1lLCBtID0gdC5sZWdlbmRJdGVtOwogICAgICAgICAgICBkID0gbyArIHIgKyBoICsgKHUgPyAyMCA6IDApLCBtIHx8ICh0LmxlZ2VuZEdyb3VwID0gaS5nKCJsZWdlbmQtaXRlbSIpLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIgKyBwLnR5cGUgKyAiLXNlcmllcyBoaWdoY2hhcnRzLWNvbG9yLSIgKyB0LmNvbG9ySW5kZXggKyAoZyA/ICIgIiArIGcgOiAiIikgKyAoYyA/ICIgaGlnaGNoYXJ0cy1zZXJpZXMtIiArIHQuaW5kZXggOiAiIikpLmF0dHIoeyB6SW5kZXg6IDEgfSkuYWRkKHRoaXMuc2Nyb2xsR3JvdXApLCB0LmxlZ2VuZEl0ZW0gPSBtID0gaS50ZXh0KCIiLCBsID8gbyArIHIgOiAtciwgdGhpcy5iYXNlbGluZSB8fCAwLCBmKSwgZS5zdHlsZWRNb2RlIHx8IG0uY3NzKHgodC52aXNpYmxlID8gcyA6IGEpKSwgbS5hdHRyKHsKICAgICAgICAgICAgICBhbGlnbjogbCA/ICJsZWZ0IiA6ICJyaWdodCIsCiAgICAgICAgICAgICAgekluZGV4OiAyCiAgICAgICAgICAgIH0pLmFkZCh0LmxlZ2VuZEdyb3VwKSwgdGhpcy5iYXNlbGluZSB8fCAodGhpcy5mb250TWV0cmljcyA9IGkuZm9udE1ldHJpY3MoZS5zdHlsZWRNb2RlID8gMTIgOiBzLmZvbnRTaXplLCBtKSwgdGhpcy5iYXNlbGluZSA9IHRoaXMuZm9udE1ldHJpY3MuZiArIDMgKyB0aGlzLml0ZW1NYXJnaW5Ub3AsIG0uYXR0cigieSIsIHRoaXMuYmFzZWxpbmUpLCB0aGlzLnN5bWJvbEhlaWdodCA9IG4uc3ltYm9sSGVpZ2h0IHx8IHRoaXMuZm9udE1ldHJpY3MuZiwgbi5zcXVhcmVTeW1ib2wgJiYgKHRoaXMuc3ltYm9sV2lkdGggPSBiKG4uc3ltYm9sV2lkdGgsIE1hdGgubWF4KHRoaXMuc3ltYm9sSGVpZ2h0LCAxNikpLCBkID0gdGhpcy5zeW1ib2xXaWR0aCArIHIgKyBoICsgKHUgPyAyMCA6IDApLCBsICYmIG0uYXR0cigieCIsIHRoaXMuc3ltYm9sV2lkdGggKyByKSkpLCBwLmRyYXdMZWdlbmRTeW1ib2wodGhpcywgdCksIHRoaXMuc2V0SXRlbUV2ZW50cyAmJiB0aGlzLnNldEl0ZW1FdmVudHModCwgbSwgZikpLCB1ICYmICF0LmNoZWNrYm94ICYmIHRoaXMuY3JlYXRlQ2hlY2tib3hGb3JJdGVtICYmIHRoaXMuY3JlYXRlQ2hlY2tib3hGb3JJdGVtKHQpLCB0aGlzLmNvbG9yaXplSXRlbSh0LCB0LnZpc2libGUpLCAhZS5zdHlsZWRNb2RlICYmIHMud2lkdGggfHwgbS5jc3MoeyB3aWR0aDogKG4uaXRlbVdpZHRoIHx8IHRoaXMud2lkdGhPcHRpb24gfHwgZS5zcGFjaW5nQm94LndpZHRoKSAtIGQgKyAicHgiIH0pLCB0aGlzLnNldFRleHQodCksIGUgPSBtLmdldEJCb3goKSwgaSA9IHRoaXMuZm9udE1ldHJpY3MgJiYgdGhpcy5mb250TWV0cmljcy5oIHx8IDAsIHQuaXRlbVdpZHRoID0gdC5jaGVja2JveE9mZnNldCA9IG4uaXRlbVdpZHRoIHx8IHQubGVnZW5kSXRlbVdpZHRoIHx8IGUud2lkdGggKyBkLCB0aGlzLm1heEl0ZW1XaWR0aCA9IE1hdGgubWF4KHRoaXMubWF4SXRlbVdpZHRoLCB0Lml0ZW1XaWR0aCksIHRoaXMudG90YWxJdGVtV2lkdGggKz0gdC5pdGVtV2lkdGgsIHRoaXMuaXRlbUhlaWdodCA9IHQuaXRlbUhlaWdodCA9IE1hdGgucm91bmQodC5sZWdlbmRJdGVtSGVpZ2h0IHx8IChlLmhlaWdodCA+IDEuNSAqIGkgPyBlLmhlaWdodCA6IGkpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmxheW91dEl0ZW0gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5vcHRpb25zLCBpID0gdGhpcy5wYWRkaW5nLCBuID0gImhvcml6b250YWwiID09PSBlLmxheW91dCwgbyA9IHQuaXRlbUhlaWdodCwgciA9IHRoaXMuaXRlbU1hcmdpbkJvdHRvbSwgcyA9IHRoaXMuaXRlbU1hcmdpblRvcCwKICAgICAgICAgICAgICBhID0gbiA/IGIoZS5pdGVtRGlzdGFuY2UsIDIwKSA6IDAsIGggPSB0aGlzLm1heExlZ2VuZFdpZHRoOwogICAgICAgICAgICBlID0gZS5hbGlnbkNvbHVtbnMgJiYgdGhpcy50b3RhbEl0ZW1XaWR0aCA+IGggPyB0aGlzLm1heEl0ZW1XaWR0aCA6IHQuaXRlbVdpZHRoLCBuICYmIHRoaXMuaXRlbVggLSBpICsgZSA+IGggJiYgKHRoaXMuaXRlbVggPSBpLCB0aGlzLmxhc3RMaW5lSGVpZ2h0ICYmICh0aGlzLml0ZW1ZICs9IHMgKyB0aGlzLmxhc3RMaW5lSGVpZ2h0ICsgciksIHRoaXMubGFzdExpbmVIZWlnaHQgPSAwKSwgdGhpcy5sYXN0SXRlbVkgPSBzICsgdGhpcy5pdGVtWSArIHIsIHRoaXMubGFzdExpbmVIZWlnaHQgPSBNYXRoLm1heChvLCB0aGlzLmxhc3RMaW5lSGVpZ2h0KSwgdC5fbGVnZW5kSXRlbVBvcyA9IFt0aGlzLml0ZW1YLCB0aGlzLml0ZW1ZXSwgbiA/IHRoaXMuaXRlbVggKz0gZSA6ICh0aGlzLml0ZW1ZICs9IHMgKyBvICsgciwgdGhpcy5sYXN0TGluZUhlaWdodCA9IG8pLCB0aGlzLm9mZnNldFdpZHRoID0gdGhpcy53aWR0aE9wdGlvbiB8fCBNYXRoLm1heCgobiA/IHRoaXMuaXRlbVggLSBpIC0gKHQuY2hlY2tib3ggPyAwIDogYSkgOiBlKSArIGksIHRoaXMub2Zmc2V0V2lkdGgpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0QWxsSXRlbXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSBbXTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hhcnQuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IGUgJiYgZS5vcHRpb25zOwogICAgICAgICAgICAgIGUgJiYgYihpLnNob3dJbkxlZ2VuZCwgIWYoaS5saW5rZWRUbykgJiYgdm9pZCAwLCAhMCkgJiYgKHQgPSB0LmNvbmNhdChlLmxlZ2VuZEl0ZW1zIHx8ICgicG9pbnQiID09PSBpLmxlZ2VuZFR5cGUgPyBlLmRhdGEgOiBlKSkpOwogICAgICAgICAgICB9KSksIHkodGhpcywgImFmdGVyR2V0QWxsSXRlbXMiLCB7IGFsbEl0ZW1zOiB0IH0pLCB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0QWxpZ25tZW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zOwogICAgICAgICAgICByZXR1cm4gdGhpcy5wcm94aW1hdGUgPyB0LmFsaWduLmNoYXJBdCgwKSArICJ0diIgOiB0LmZsb2F0aW5nID8gIiIgOiB0LmFsaWduLmNoYXJBdCgwKSArIHQudmVydGljYWxBbGlnbi5jaGFyQXQoMCkgKyB0LmxheW91dC5jaGFyQXQoMCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGp1c3RNYXJnaW5zID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMuY2hhcnQsIG4gPSB0aGlzLm9wdGlvbnMsIG8gPSB0aGlzLmdldEFsaWdubWVudCgpOwogICAgICAgICAgICBvICYmIFsvKGx0aHxjdHxydGgpLywgLyhydHZ8cm18cmJ2KS8sIC8ocmJofGNifGxiaCkvLCAvKGxidnxsbXxsdHYpL10uZm9yRWFjaCgoZnVuY3Rpb24ociwgcykgewogICAgICAgICAgICAgIHIudGVzdChvKSAmJiAhZih0W3NdKSAmJiAoaVtsW3NdXSA9IE1hdGgubWF4KGlbbFtzXV0sIGkubGVnZW5kWyhzICsgMSkgJSAyID8gImxlZ2VuZEhlaWdodCIgOiAibGVnZW5kV2lkdGgiXSArIFsxLCAtMSwgLTEsIDFdW3NdICogbltzICUgMiA/ICJ4IiA6ICJ5Il0gKyBiKG4ubWFyZ2luLCAxMikgKyBlW3NdICsgKGkudGl0bGVPZmZzZXRbc10gfHwgMCkpKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucHJveGltYXRlUG9zaXRpb25zID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5jaGFydCwgZSA9IFtdLCBpID0gImxlZnQiID09PSB0aGlzLm9wdGlvbnMuYWxpZ247CiAgICAgICAgICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaCgoZnVuY3Rpb24obikgewogICAgICAgICAgICAgIHZhciBvLCByID0gaTsKICAgICAgICAgICAgICBpZiAobi55QXhpcykgewogICAgICAgICAgICAgICAgbi54QXhpcy5vcHRpb25zLnJldmVyc2VkICYmIChyID0gIXIpLCBuLnBvaW50cyAmJiAobyA9IG0ociA/IG4ucG9pbnRzIDogbi5wb2ludHMuc2xpY2UoMCkucmV2ZXJzZSgpLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICByZXR1cm4gdih0LnBsb3RZKTsKICAgICAgICAgICAgICAgIH0pKSksIHIgPSB0aGlzLml0ZW1NYXJnaW5Ub3AgKyBuLmxlZ2VuZEl0ZW0uZ2V0QkJveCgpLmhlaWdodCArIHRoaXMuaXRlbU1hcmdpbkJvdHRvbTsKICAgICAgICAgICAgICAgIHZhciBzID0gbi55QXhpcy50b3AgLSB0LnBsb3RUb3A7CiAgICAgICAgICAgICAgICBuLnZpc2libGUgPyAobyA9IG8gPyBvLnBsb3RZIDogbi55QXhpcy5oZWlnaHQsIG8gKz0gcyAtIC4zICogcikgOiBvID0gcyArIG4ueUF4aXMuaGVpZ2h0LCBlLnB1c2goeyB0YXJnZXQ6IG8sIHNpemU6IHIsIGl0ZW06IG4gfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwgdGhpcyksIGMoZSwgdC5wbG90SGVpZ2h0KS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgZS5pdGVtLl9sZWdlbmRJdGVtUG9zICYmIChlLml0ZW0uX2xlZ2VuZEl0ZW1Qb3NbMV0gPSB0LnBsb3RUb3AgLSB0LnNwYWNpbmdbMF0gKyBlLnBvcyk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQsIGUgPSB0LnJlbmRlcmVyLCBpID0gdGhpcy5vcHRpb25zLCBuID0gdGhpcy5wYWRkaW5nLCBvID0gdGhpcy5nZXRBbGxJdGVtcygpLCByID0gdGhpcy5ncm91cCwgcyA9IHRoaXMuYm94OwogICAgICAgICAgICB0aGlzLml0ZW1YID0gbiwgdGhpcy5pdGVtWSA9IHRoaXMuaW5pdGlhbEl0ZW1ZLCB0aGlzLmxhc3RJdGVtWSA9IHRoaXMub2Zmc2V0V2lkdGggPSAwLCB0aGlzLndpZHRoT3B0aW9uID0gXyhpLndpZHRoLCB0LnNwYWNpbmdCb3gud2lkdGggLSBuKTsKICAgICAgICAgICAgdmFyIGEgPSB0LnNwYWNpbmdCb3gud2lkdGggLSAyICogbiAtIGkueDsKICAgICAgICAgICAgLTEgPCBbInJtIiwgImxtIl0uaW5kZXhPZih0aGlzLmdldEFsaWdubWVudCgpLnN1YnN0cmluZygwLCAyKSkgJiYgKGEgLz0gMiksIHRoaXMubWF4TGVnZW5kV2lkdGggPSB0aGlzLndpZHRoT3B0aW9uIHx8IGEsIHIgfHwgKHRoaXMuZ3JvdXAgPSByID0gZS5nKCJsZWdlbmQiKS5hZGRDbGFzcyhpLmNsYXNzTmFtZSB8fCAiIikuYXR0cih7IHpJbmRleDogNyB9KS5hZGQoKSwgdGhpcy5jb250ZW50R3JvdXAgPSBlLmcoKS5hdHRyKHsgekluZGV4OiAxIH0pLmFkZChyKSwgdGhpcy5zY3JvbGxHcm91cCA9IGUuZygpLmFkZCh0aGlzLmNvbnRlbnRHcm91cCkpLCB0aGlzLnJlbmRlclRpdGxlKCksIHcobywgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gKHQub3B0aW9ucyAmJiB0Lm9wdGlvbnMubGVnZW5kSW5kZXggfHwgMCkgLSAoZS5vcHRpb25zICYmIGUub3B0aW9ucy5sZWdlbmRJbmRleCB8fCAwKTsKICAgICAgICAgICAgfSkpLCBpLnJldmVyc2VkICYmIG8ucmV2ZXJzZSgpLCB0aGlzLmFsbEl0ZW1zID0gbywgdGhpcy5kaXNwbGF5ID0gYSA9ICEhby5sZW5ndGgsIHRoaXMuaXRlbUhlaWdodCA9IHRoaXMudG90YWxJdGVtV2lkdGggPSB0aGlzLm1heEl0ZW1XaWR0aCA9IHRoaXMubGFzdExpbmVIZWlnaHQgPSAwLCBvLmZvckVhY2godGhpcy5yZW5kZXJJdGVtLCB0aGlzKSwgby5mb3JFYWNoKHRoaXMubGF5b3V0SXRlbSwgdGhpcyksIG8gPSAodGhpcy53aWR0aE9wdGlvbiB8fCB0aGlzLm9mZnNldFdpZHRoKSArIG47CiAgICAgICAgICAgIHZhciBoID0gdGhpcy5sYXN0SXRlbVkgKyB0aGlzLmxhc3RMaW5lSGVpZ2h0ICsgdGhpcy50aXRsZUhlaWdodDsKICAgICAgICAgICAgaCA9IHRoaXMuaGFuZGxlT3ZlcmZsb3coaCksIGggKz0gbiwgcyB8fCAodGhpcy5ib3ggPSBzID0gZS5yZWN0KCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtbGVnZW5kLWJveCIpLmF0dHIoeyByOiBpLmJvcmRlclJhZGl1cyB9KS5hZGQociksIHMuaXNOZXcgPSAhMCksIHQuc3R5bGVkTW9kZSB8fCBzLmF0dHIoewogICAgICAgICAgICAgIHN0cm9rZTogaS5ib3JkZXJDb2xvciwKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogaS5ib3JkZXJXaWR0aCB8fCAwLAogICAgICAgICAgICAgIGZpbGw6IGkuYmFja2dyb3VuZENvbG9yIHx8ICJub25lIgogICAgICAgICAgICB9KS5zaGFkb3coaS5zaGFkb3cpLCAwIDwgbyAmJiAwIDwgaCAmJiAoc1tzLmlzTmV3ID8gImF0dHIiIDogImFuaW1hdGUiXShzLmNyaXNwLmNhbGwoe30sIHsKICAgICAgICAgICAgICB4OiAwLAogICAgICAgICAgICAgIHk6IDAsCiAgICAgICAgICAgICAgd2lkdGg6IG8sCiAgICAgICAgICAgICAgaGVpZ2h0OiBoCiAgICAgICAgICAgIH0sIHMuc3Ryb2tlV2lkdGgoKSkpLCBzLmlzTmV3ID0gITEpLCBzW2EgPyAic2hvdyIgOiAiaGlkZSJdKCksIHQuc3R5bGVkTW9kZSAmJiAibm9uZSIgPT09IHIuZ2V0U3R5bGUoImRpc3BsYXkiKSAmJiAobyA9IGggPSAwKSwgdGhpcy5sZWdlbmRXaWR0aCA9IG8sIHRoaXMubGVnZW5kSGVpZ2h0ID0gaCwgYSAmJiB0aGlzLmFsaWduKCksIHRoaXMucHJveGltYXRlIHx8IHRoaXMucG9zaXRpb25JdGVtcygpLCB5KHRoaXMsICJhZnRlclJlbmRlciIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWxpZ24gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZvaWQgMCA9PT0gdCAmJiAodCA9IHRoaXMuY2hhcnQuc3BhY2luZ0JveCk7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydCwgaSA9IHRoaXMub3B0aW9ucywgbiA9IHQueTsKICAgICAgICAgICAgLyhsdGh8Y3R8cnRoKS8udGVzdCh0aGlzLmdldEFsaWdubWVudCgpKSAmJiAwIDwgZS50aXRsZU9mZnNldFswXSA/IG4gKz0gZS50aXRsZU9mZnNldFswXSA6IC8obGJofGNifHJiaCkvLnRlc3QodGhpcy5nZXRBbGlnbm1lbnQoKSkgJiYgMCA8IGUudGl0bGVPZmZzZXRbMl0gJiYgKG4gLT0gZS50aXRsZU9mZnNldFsyXSksIG4gIT09IHQueSAmJiAodCA9IHgodCwgeyB5OiBuIH0pKSwgdGhpcy5ncm91cC5hbGlnbih4KGksIHsKICAgICAgICAgICAgICB3aWR0aDogdGhpcy5sZWdlbmRXaWR0aCwKICAgICAgICAgICAgICBoZWlnaHQ6IHRoaXMubGVnZW5kSGVpZ2h0LAogICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246IHRoaXMucHJveGltYXRlID8gInRvcCIgOiBpLnZlcnRpY2FsQWxpZ24KICAgICAgICAgICAgfSksICEwLCB0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmhhbmRsZU92ZXJmbG93ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSwgaSwgbiA9IHRoaXMsIG8gPSB0aGlzLmNoYXJ0LCByID0gby5yZW5kZXJlciwgcyA9IHRoaXMub3B0aW9ucywgYSA9IHMueSwgaCA9ICJ0b3AiID09PSBzLnZlcnRpY2FsQWxpZ24sIGwgPSB0aGlzLnBhZGRpbmcsIGMgPSBzLm1heEhlaWdodCwKICAgICAgICAgICAgICBwID0gcy5uYXZpZ2F0aW9uLCBkID0gYihwLmFuaW1hdGlvbiwgITApLCB1ID0gcC5hcnJvd1NpemUgfHwgMTIsIGYgPSB0aGlzLnBhZ2VzLCBnID0gdGhpcy5hbGxJdGVtcywgbSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICJudW1iZXIiID09PSB0eXBlb2YgdCA/IHguYXR0cih7IGhlaWdodDogdCB9KSA6IHggJiYgKG4uY2xpcFJlY3QgPSB4LmRlc3Ryb3koKSwgbi5jb250ZW50R3JvdXAuY2xpcCgpKSwgbi5jb250ZW50R3JvdXAuZGl2ICYmIChuLmNvbnRlbnRHcm91cC5kaXYuc3R5bGUuY2xpcCA9IHQgPyAicmVjdCgiICsgbCArICJweCw5OTk5cHgsIiArIChsICsgdCkgKyAicHgsMCkiIDogImF1dG8iKTsKICAgICAgICAgICAgICB9LCB5ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIG5bdF0gPSByLmNpcmNsZSgwLCAwLCAxLjMgKiB1KS50cmFuc2xhdGUodSAvIDIsIHUgLyAyKS5hZGQodiksIG8uc3R5bGVkTW9kZSB8fCBuW3RdLmF0dHIoImZpbGwiLCAicmdiYSgwLDAsMCwwLjAwMDEpIiksIG5bdF07CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgYSA9IG8uc3BhY2luZ0JveC5oZWlnaHQgKyAoaCA/IC1hIDogYSkgLSBsOwogICAgICAgICAgICB2YXIgdiA9IHRoaXMubmF2LCB4ID0gdGhpcy5jbGlwUmVjdDsKICAgICAgICAgICAgcmV0dXJuICJob3Jpem9udGFsIiAhPT0gcy5sYXlvdXQgfHwgIm1pZGRsZSIgPT09IHMudmVydGljYWxBbGlnbiB8fCBzLmZsb2F0aW5nIHx8IChhIC89IDIpLCBjICYmIChhID0gTWF0aC5taW4oYSwgYykpLCBmLmxlbmd0aCA9IDAsIHQgJiYgMCA8IGEgJiYgdCA+IGEgJiYgITEgIT09IHAuZW5hYmxlZCA/ICh0aGlzLmNsaXBIZWlnaHQgPSBlID0gTWF0aC5tYXgoYSAtIDIwIC0gdGhpcy50aXRsZUhlaWdodCAtIGwsIDApLCB0aGlzLmN1cnJlbnRQYWdlID0gYih0aGlzLmN1cnJlbnRQYWdlLCAxKSwgdGhpcy5mdWxsSGVpZ2h0ID0gdCwgZy5mb3JFYWNoKChmdW5jdGlvbih0LCBuKSB7CiAgICAgICAgICAgICAgdmFyIG8gPSB0Ll9sZWdlbmRJdGVtUG9zWzFdLCByID0gTWF0aC5yb3VuZCh0LmxlZ2VuZEl0ZW0uZ2V0QkJveCgpLmhlaWdodCksIHMgPSBmLmxlbmd0aDsKICAgICAgICAgICAgICAoIXMgfHwgbyAtIGZbcyAtIDFdID4gZSAmJiAoaSB8fCBvKSAhPT0gZltzIC0gMV0pICYmIChmLnB1c2goaSB8fCBvKSwgcysrKSwgdC5wYWdlSXggPSBzIC0gMSwgaSAmJiAoZ1tuIC0gMV0ucGFnZUl4ID0gcyAtIDEpLCBuID09PSBnLmxlbmd0aCAtIDEgJiYgbyArIHIgLSBmW3MgLSAxXSA+IGUgJiYgciA8PSBlICYmIChmLnB1c2gobyksIHQucGFnZUl4ID0gcyksIG8gIT09IGkgJiYgKGkgPSBvKTsKICAgICAgICAgICAgfSkpLCB4IHx8ICh4ID0gbi5jbGlwUmVjdCA9IHIuY2xpcFJlY3QoMCwgbCwgOTk5OSwgMCksIG4uY29udGVudEdyb3VwLmNsaXAoeCkpLCBtKGUpLCB2IHx8ICh0aGlzLm5hdiA9IHYgPSByLmcoKS5hdHRyKHsgekluZGV4OiAxIH0pLmFkZCh0aGlzLmdyb3VwKSwgdGhpcy51cCA9IHIuc3ltYm9sKCJ0cmlhbmdsZSIsIDAsIDAsIHUsIHUpLmFkZCh2KSwgeSgidXBUcmFja2VyIikub24oImNsaWNrIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIG4uc2Nyb2xsKC0xLCBkKTsKICAgICAgICAgICAgfSkpLCB0aGlzLnBhZ2VyID0gci50ZXh0KCIiLCAxNSwgMTApLmFkZENsYXNzKCJoaWdoY2hhcnRzLWxlZ2VuZC1uYXZpZ2F0aW9uIiksIG8uc3R5bGVkTW9kZSB8fCB0aGlzLnBhZ2VyLmNzcyhwLnN0eWxlKSwgdGhpcy5wYWdlci5hZGQodiksIHRoaXMuZG93biA9IHIuc3ltYm9sKCJ0cmlhbmdsZS1kb3duIiwgMCwgMCwgdSwgdSkuYWRkKHYpLCB5KCJkb3duVHJhY2tlciIpLm9uKCJjbGljayIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBuLnNjcm9sbCgxLCBkKTsKICAgICAgICAgICAgfSkpKSwgbi5zY3JvbGwoMCksIHQgPSBhKSA6IHYgJiYgKG0oKSwgdGhpcy5uYXYgPSB2LmRlc3Ryb3koKSwgdGhpcy5zY3JvbGxHcm91cC5hdHRyKHsgdHJhbnNsYXRlWTogMSB9KSwgdGhpcy5jbGlwSGVpZ2h0ID0gMCksIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zY3JvbGwgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcywgbiA9IHRoaXMuY2hhcnQsIG8gPSB0aGlzLnBhZ2VzLCByID0gby5sZW5ndGgsIGggPSB0aGlzLmNsaXBIZWlnaHQsIGwgPSB0aGlzLm9wdGlvbnMubmF2aWdhdGlvbiwgYyA9IHRoaXMucGFnZXIsIHAgPSB0aGlzLnBhZGRpbmcsCiAgICAgICAgICAgICAgZCA9IHRoaXMuY3VycmVudFBhZ2UgKyB0OwogICAgICAgICAgICBkID4gciAmJiAoZCA9IHIpLCAwIDwgZCAmJiAoInVuZGVmaW5lZCIgIT09IHR5cGVvZiBlICYmIGEoZSwgbiksIHRoaXMubmF2LmF0dHIoewogICAgICAgICAgICAgIHRyYW5zbGF0ZVg6IHAsCiAgICAgICAgICAgICAgdHJhbnNsYXRlWTogaCArIHRoaXMucGFkZGluZyArIDcgKyB0aGlzLnRpdGxlSGVpZ2h0LAogICAgICAgICAgICAgIHZpc2liaWxpdHk6ICJ2aXNpYmxlIgogICAgICAgICAgICB9KSwgW3RoaXMudXAsIHRoaXMudXBUcmFja2VyXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5hdHRyKHsgY2xhc3M6IDEgPT09IGQgPyAiaGlnaGNoYXJ0cy1sZWdlbmQtbmF2LWluYWN0aXZlIiA6ICJoaWdoY2hhcnRzLWxlZ2VuZC1uYXYtYWN0aXZlIiB9KTsKICAgICAgICAgICAgfSkpLCBjLmF0dHIoeyB0ZXh0OiBkICsgIi8iICsgciB9KSwgW3RoaXMuZG93biwgdGhpcy5kb3duVHJhY2tlcl0uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuYXR0cih7IHg6IDE4ICsgdGhpcy5wYWdlci5nZXRCQm94KCkud2lkdGgsIGNsYXNzOiBkID09PSByID8gImhpZ2hjaGFydHMtbGVnZW5kLW5hdi1pbmFjdGl2ZSIgOiAiaGlnaGNoYXJ0cy1sZWdlbmQtbmF2LWFjdGl2ZSIgfSk7CiAgICAgICAgICAgIH0pLCB0aGlzKSwgbi5zdHlsZWRNb2RlIHx8ICh0aGlzLnVwLmF0dHIoeyBmaWxsOiAxID09PSBkID8gbC5pbmFjdGl2ZUNvbG9yIDogbC5hY3RpdmVDb2xvciB9KSwgdGhpcy51cFRyYWNrZXIuY3NzKHsgY3Vyc29yOiAxID09PSBkID8gImRlZmF1bHQiIDogInBvaW50ZXIiIH0pLCB0aGlzLmRvd24uYXR0cih7IGZpbGw6IGQgPT09IHIgPyBsLmluYWN0aXZlQ29sb3IgOiBsLmFjdGl2ZUNvbG9yIH0pLCB0aGlzLmRvd25UcmFja2VyLmNzcyh7IGN1cnNvcjogZCA9PT0gciA/ICJkZWZhdWx0IiA6ICJwb2ludGVyIiB9KSksIHRoaXMuc2Nyb2xsT2Zmc2V0ID0gLW9bZCAtIDFdICsgdGhpcy5pbml0aWFsSXRlbVksIHRoaXMuc2Nyb2xsR3JvdXAuYW5pbWF0ZSh7IHRyYW5zbGF0ZVk6IHRoaXMuc2Nyb2xsT2Zmc2V0IH0pLCB0aGlzLmN1cnJlbnRQYWdlID0gZCwgdGhpcy5wb3NpdGlvbkNoZWNrYm94ZXMoKSwgdCA9IHMoYihlLCBuLnJlbmRlcmVyLmdsb2JhbEFuaW1hdGlvbiwgITApKSwgaygoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgeShpLCAiYWZ0ZXJTY3JvbGwiLCB7IGN1cnJlbnRQYWdlOiBkIH0pOwogICAgICAgICAgICB9KSwgdC5kdXJhdGlvbikpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0SXRlbUV2ZW50cyA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLCByID0gby5jaGFydC5yZW5kZXJlci5ib3hXcmFwcGVyLCBzID0gdCBpbnN0YW5jZW9mIG4sIGEgPSAiaGlnaGNoYXJ0cy1sZWdlbmQtIiArIChzID8gInBvaW50IiA6ICJzZXJpZXMiKSArICItYWN0aXZlIiwKICAgICAgICAgICAgICBoID0gby5jaGFydC5zdHlsZWRNb2RlLCBsID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgby5hbGxJdGVtcy5mb3JFYWNoKChmdW5jdGlvbihpKSB7CiAgICAgICAgICAgICAgICAgIHQgIT09IGkgJiYgW2ldLmNvbmNhdChpLmxpbmtlZFNlcmllcyB8fCBbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHQuc2V0U3RhdGUoZSwgIXMpOwogICAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgKGkgPyBbZSwgdC5sZWdlbmRTeW1ib2xdIDogW3QubGVnZW5kR3JvdXBdKS5mb3JFYWNoKChmdW5jdGlvbihpKSB7CiAgICAgICAgICAgICAgaSAmJiBpLm9uKCJtb3VzZW92ZXIiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0LnZpc2libGUgJiYgbCgiaW5hY3RpdmUiKSwgdC5zZXRTdGF0ZSgiaG92ZXIiKSwgdC52aXNpYmxlICYmIHIuYWRkQ2xhc3MoYSksIGggfHwgZS5jc3Moby5vcHRpb25zLml0ZW1Ib3ZlclN0eWxlKTsKICAgICAgICAgICAgICB9KSkub24oIm1vdXNlb3V0IiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgby5jaGFydC5zdHlsZWRNb2RlIHx8IGUuY3NzKHgodC52aXNpYmxlID8gby5pdGVtU3R5bGUgOiBvLml0ZW1IaWRkZW5TdHlsZSkpLCBsKCIiKSwgci5yZW1vdmVDbGFzcyhhKSwgdC5zZXRTdGF0ZSgpOwogICAgICAgICAgICAgIH0pKS5vbigiY2xpY2siLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgdC5zZXRWaXNpYmxlICYmIHQuc2V0VmlzaWJsZSgpLCBsKHQudmlzaWJsZSA/ICJpbmFjdGl2ZSIgOiAiIik7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgci5yZW1vdmVDbGFzcyhhKSwgZSA9IHsgYnJvd3NlckV2ZW50OiBlIH0sIHQuZmlyZVBvaW50RXZlbnQgPyB0LmZpcmVQb2ludEV2ZW50KCJsZWdlbmRJdGVtQ2xpY2siLCBlLCBpKSA6IHkodCwgImxlZ2VuZEl0ZW1DbGljayIsIGUsIGkpOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlQ2hlY2tib3hGb3JJdGVtID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0LmNoZWNrYm94ID0gZCgiaW5wdXQiLCB7CiAgICAgICAgICAgICAgdHlwZTogImNoZWNrYm94IiwKICAgICAgICAgICAgICBjbGFzc05hbWU6ICJoaWdoY2hhcnRzLWxlZ2VuZC1jaGVja2JveCIsCiAgICAgICAgICAgICAgY2hlY2tlZDogdC5zZWxlY3RlZCwKICAgICAgICAgICAgICBkZWZhdWx0Q2hlY2tlZDogdC5zZWxlY3RlZAogICAgICAgICAgICB9LCB0aGlzLm9wdGlvbnMuaXRlbUNoZWNrYm94U3R5bGUsIHRoaXMuY2hhcnQuY29udGFpbmVyKSwgcCh0LmNoZWNrYm94LCAiY2xpY2siLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHkodC5zZXJpZXMgfHwgdCwgImNoZWNrYm94Q2xpY2siLCB7IGNoZWNrZWQ6IGUudGFyZ2V0LmNoZWNrZWQsIGl0ZW06IHQgfSwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdC5zZWxlY3QoKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIHQ7CiAgICAgICAgfSgpLCAoL1RyaWRlbnRcLzdcLjAvLnRlc3QoaS5uYXZpZ2F0b3IgJiYgaS5uYXZpZ2F0b3IudXNlckFnZW50KSB8fCB0KSAmJiBvKHIucHJvdG90eXBlLCAicG9zaXRpb25JdGVtIiwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgIHZhciBpID0gdGhpcywgbiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBlLl9sZWdlbmRJdGVtUG9zICYmIHQuY2FsbChpLCBlKTsKICAgICAgICAgIH07CiAgICAgICAgICBuKCksIGkuYnViYmxlTGVnZW5kIHx8IHNldFRpbWVvdXQobik7CiAgICAgICAgfSkpLCByOwogICAgICB9KSksIGUoaSwgIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1BvaW50LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgIHZhciBvLCByID0gZS5kZWZhdWx0T3B0aW9ucywgcyA9IG4uZXJyb3IsIGEgPSBuLmV4dGVuZENsYXNzLCBoID0gbi5tZXJnZTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgewogICAgICAgICAgZnVuY3Rpb24gbih0LCBuKSB7CiAgICAgICAgICAgIHZhciBvID0gci5wbG90T3B0aW9ucyB8fCB7fSwgcyA9IG4uZGVmYXVsdE9wdGlvbnM7CiAgICAgICAgICAgIG4ucHJvdG90eXBlLnBvaW50Q2xhc3MgfHwgKG4ucHJvdG90eXBlLnBvaW50Q2xhc3MgPSBpKSwgbi5wcm90b3R5cGUudHlwZSA9IHQsIHMgJiYgKG9bdF0gPSBzKSwgZS5zZXJpZXNUeXBlc1t0XSA9IG47CiAgICAgICAgICB9CgogICAgICAgICAgZS5zZXJpZXNUeXBlcyA9IHQuc2VyaWVzVHlwZXMsIGUuZ2V0U2VyaWVzID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICB2b2lkIDAgPT09IGkgJiYgKGkgPSB7fSk7CiAgICAgICAgICAgIHZhciBuID0gdC5vcHRpb25zLmNoYXJ0OwogICAgICAgICAgICBuID0gaS50eXBlIHx8IG4udHlwZSB8fCBuLmRlZmF1bHRTZXJpZXNUeXBlIHx8ICIiOwogICAgICAgICAgICB2YXIgbyA9IGUuc2VyaWVzVHlwZXNbbl07CiAgICAgICAgICAgIHJldHVybiBlIHx8IHMoMTcsICEwLCB0LCB7IG1pc3NpbmdNb2R1bGVGb3I6IG4gfSksIG4gPSBuZXcgbywgImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG4uaW5pdCAmJiBuLmluaXQodCwgaSksIG47CiAgICAgICAgICB9LCBlLnJlZ2lzdGVyU2VyaWVzVHlwZSA9IG4sIGUuc2VyaWVzVHlwZSA9IGZ1bmN0aW9uKHQsIG8sIHMsIGwsIGMpIHsKICAgICAgICAgICAgdmFyIHAgPSByLnBsb3RPcHRpb25zIHx8IHt9OwogICAgICAgICAgICByZXR1cm4gbyA9IG8gfHwgIiIsIHBbdF0gPSBoKHBbb10sIHMpLCBuKHQsIGEoZS5zZXJpZXNUeXBlc1tvXSB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgfSwgbCkpLCBlLnNlcmllc1R5cGVzW3RdLnByb3RvdHlwZS50eXBlID0gdCwgYyAmJiAoZS5zZXJpZXNUeXBlc1t0XS5wcm90b3R5cGUucG9pbnRDbGFzcyA9IGEoaSwgYykpLCBlLnNlcmllc1R5cGVzW3RdOwogICAgICAgICAgfTsKICAgICAgICB9KG8gfHwgKG8gPSB7fSkpLCBvOwogICAgICB9KSksIGUoaSwgIkNvcmUvQ2hhcnQvQ2hhcnQuanMiLCBbaVsiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvQXhpcy9BeGlzLmpzIl0sIGlbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvRm91bmRhdGlvbi5qcyJdLCBpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9MZWdlbmQvTGVnZW5kLmpzIl0sIGlbIkNvcmUvTVNQb2ludGVyLmpzIl0sIGlbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSwgaVsiQ29yZS9Qb2ludGVyLmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdSZW5kZXJlci5qcyJdLCBpWyJDb3JlL1RpbWUuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9IVE1ML0FTVC5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIsIHMsIGEsIGgsIGwsIGMsIHAsIGQsIHUsIGYpIHsKICAgICAgICB2YXIgZyA9IHQuYW5pbWF0ZSwgbSA9IHQuYW5pbU9iamVjdCwgeSA9IHQuc2V0QW5pbWF0aW9uLCB2ID0gaS5udW1iZXJGb3JtYXQsIHggPSBuLnJlZ2lzdGVyRXZlbnRPcHRpb25zLCBiID0gby5jaGFydHMsIF8gPSBvLmRvYywgdyA9IG8ubWFyZ2luTmFtZXMsCiAgICAgICAgICBrID0gby5zdmcsIFMgPSBvLndpbiwgQyA9IGEuZGVmYXVsdE9wdGlvbnMsIE0gPSBhLmRlZmF1bHRUaW1lLCBBID0gYy5zZXJpZXNUeXBlcywgUCA9IHUuYWRkRXZlbnQsIE8gPSB1LmF0dHIsIFQgPSB1LmNsZWFuUmVjdXJzaXZlbHksCiAgICAgICAgICBFID0gdS5jcmVhdGVFbGVtZW50LCBMID0gdS5jc3MsIGogPSB1LmRlZmluZWQsIEQgPSB1LmRpc2NhcmRFbGVtZW50LCBJID0gdS5lcmFzZSwgeiA9IHUuZXJyb3IsIEIgPSB1LmV4dGVuZCwgUiA9IHUuZmluZCwgTiA9IHUuZmlyZUV2ZW50LAogICAgICAgICAgRyA9IHUuZ2V0U3R5bGUsIEggPSB1LmlzQXJyYXksIFcgPSB1LmlzTnVtYmVyLCBGID0gdS5pc09iamVjdCwgWCA9IHUuaXNTdHJpbmcsIFUgPSB1Lm1lcmdlLCBZID0gdS5vYmplY3RFYWNoLCBWID0gdS5waWNrLCAkID0gdS5wSW50LAogICAgICAgICAgSyA9IHUucmVsYXRpdmVMZW5ndGgsIHEgPSB1LnJlbW92ZUV2ZW50LCBaID0gdS5zcGxhdCwgSiA9IHUuc3luY1RpbWVvdXQsIFEgPSB1LnVuaXF1ZUtleTsKICAgICAgICByZXR1cm4gdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gdCh0LCBlLCBpKSB7CiAgICAgICAgICAgIHRoaXMuc2VyaWVzID0gdGhpcy5yZW5kZXJUbyA9IHRoaXMucmVuZGVyZXIgPSB0aGlzLnBvaW50ZXIgPSB0aGlzLnBvaW50Q291bnQgPSB0aGlzLnBsb3RXaWR0aCA9IHRoaXMucGxvdFRvcCA9IHRoaXMucGxvdExlZnQgPSB0aGlzLnBsb3RIZWlnaHQgPSB0aGlzLnBsb3RCb3ggPSB0aGlzLm9wdGlvbnMgPSB0aGlzLm51bWJlckZvcm1hdHRlciA9IHRoaXMubWFyZ2luID0gdGhpcy5sZWdlbmQgPSB0aGlzLmxhYmVsQ29sbGVjdG9ycyA9IHRoaXMuaXNSZXNpemluZyA9IHRoaXMuaW5kZXggPSB0aGlzLmV2ZW50T3B0aW9ucyA9IHRoaXMuY29udGFpbmVyID0gdGhpcy5jb2xvckNvdW50ZXIgPSB0aGlzLmNsaXBCb3ggPSB0aGlzLmNoYXJ0V2lkdGggPSB0aGlzLmNoYXJ0SGVpZ2h0ID0gdGhpcy5ib3VuZHMgPSB0aGlzLmF4aXNPZmZzZXQgPSB0aGlzLmF4ZXMgPSB2b2lkIDAsIHRoaXMuc2hhcmVkQ2xpcHMgPSB7fSwgdGhpcy55QXhpcyA9IHRoaXMueEF4aXMgPSB0aGlzLnVzZXJPcHRpb25zID0gdGhpcy50aXRsZU9mZnNldCA9IHRoaXMudGltZSA9IHRoaXMuc3ltYm9sQ291bnRlciA9IHRoaXMuc3BhY2luZ0JveCA9IHRoaXMuc3BhY2luZyA9IHZvaWQgMCwgdGhpcy5nZXRBcmdzKHQsIGUsIGkpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB0LmNoYXJ0ID0gZnVuY3Rpb24oZSwgaSwgbikgewogICAgICAgICAgICByZXR1cm4gbmV3IHQoZSwgaSwgbik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRBcmdzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICBYKHQpIHx8IHQubm9kZU5hbWUgPyAodGhpcy5yZW5kZXJUbyA9IHQsIHRoaXMuaW5pdChlLCBpKSkgOiB0aGlzLmluaXQodCwgZSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHQucGxvdE9wdGlvbnMgfHwge307CiAgICAgICAgICAgIE4odGhpcywgImluaXQiLCB7IGFyZ3M6IGFyZ3VtZW50cyB9LCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdmFyIG4gPSBVKEMsIHQpLCByID0gbi5jaGFydDsKICAgICAgICAgICAgICBZKG4ucGxvdE9wdGlvbnMsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBGKHQpICYmICh0LnRvb2x0aXAgPSBpW2VdICYmIFUoaVtlXS50b29sdGlwKSB8fCB2b2lkIDApOwogICAgICAgICAgICAgIH0pKSwgbi50b29sdGlwLnVzZXJPcHRpb25zID0gdC5jaGFydCAmJiB0LmNoYXJ0LmZvckV4cG9ydCAmJiB0LnRvb2x0aXAudXNlck9wdGlvbnMgfHwgdC50b29sdGlwLCB0aGlzLnVzZXJPcHRpb25zID0gdCwgdGhpcy5tYXJnaW4gPSBbXSwgdGhpcy5zcGFjaW5nID0gW10sIHRoaXMuYm91bmRzID0gewogICAgICAgICAgICAgICAgaDoge30sCiAgICAgICAgICAgICAgICB2OiB7fQogICAgICAgICAgICAgIH0sIHRoaXMubGFiZWxDb2xsZWN0b3JzID0gW10sIHRoaXMuY2FsbGJhY2sgPSBlLCB0aGlzLmlzUmVzaXppbmcgPSAwLCB0aGlzLm9wdGlvbnMgPSBuLCB0aGlzLmF4ZXMgPSBbXSwgdGhpcy5zZXJpZXMgPSBbXSwgdGhpcy50aW1lID0gdC50aW1lICYmIE9iamVjdC5rZXlzKHQudGltZSkubGVuZ3RoID8gbmV3IGQodC50aW1lKSA6IG8udGltZSwgdGhpcy5udW1iZXJGb3JtYXR0ZXIgPSByLm51bWJlckZvcm1hdHRlciB8fCB2LCB0aGlzLnN0eWxlZE1vZGUgPSByLnN0eWxlZE1vZGUsIHRoaXMuaGFzQ2FydGVzaWFuU2VyaWVzID0gci5zaG93QXhlcywgdGhpcy5pbmRleCA9IGIubGVuZ3RoLCBiLnB1c2godGhpcyksIG8uY2hhcnRDb3VudCsrLCB4KHRoaXMsIHIpLCB0aGlzLnhBeGlzID0gW10sIHRoaXMueUF4aXMgPSBbXSwgdGhpcy5wb2ludENvdW50ID0gdGhpcy5jb2xvckNvdW50ZXIgPSB0aGlzLnN5bWJvbENvdW50ZXIgPSAwLCBOKHRoaXMsICJhZnRlckluaXQiKSwgdGhpcy5maXJzdFJlbmRlcigpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pbml0U2VyaWVzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMub3B0aW9ucy5jaGFydDsKICAgICAgICAgICAgZSA9IHQudHlwZSB8fCBlLnR5cGUgfHwgZS5kZWZhdWx0U2VyaWVzVHlwZTsKICAgICAgICAgICAgdmFyIGkgPSBBW2VdOwogICAgICAgICAgICByZXR1cm4gaSB8fCB6KDE3LCAhMCwgdGhpcywgeyBtaXNzaW5nTW9kdWxlRm9yOiBlIH0pLCBlID0gbmV3IGksICJmdW5jdGlvbiIgPT09IHR5cGVvZiBlLmluaXQgJiYgZS5pbml0KHRoaXMsIHQpLCBlOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0U2VyaWVzRGF0YSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmdldFNlcmllc09yZGVyQnlMaW5rcygpLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0LnBvaW50cyB8fCB0LmRhdGEgfHwgIXQuZW5hYmxlZERhdGFTb3J0aW5nIHx8IHQuc2V0RGF0YSh0Lm9wdGlvbnMuZGF0YSwgITEpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRTZXJpZXNPcmRlckJ5TGlua3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWVzLmNvbmNhdCgpLnNvcnQoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gdC5saW5rZWRTZXJpZXMubGVuZ3RoIHx8IGUubGlua2VkU2VyaWVzLmxlbmd0aCA/IGUubGlua2VkU2VyaWVzLmxlbmd0aCAtIHQubGlua2VkU2VyaWVzLmxlbmd0aCA6IDA7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9yZGVyU2VyaWVzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuc2VyaWVzOwogICAgICAgICAgICB0ID0gdCB8fCAwOwogICAgICAgICAgICBmb3IgKHZhciBpID0gZS5sZW5ndGg7IHQgPCBpOyArK3QpIGVbdF0gJiYgKGVbdF0uaW5kZXggPSB0LCBlW3RdLm5hbWUgPSBlW3RdLmdldE5hbWUoKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pc0luc2lkZVBsb3QgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZvaWQgMCA9PT0gaSAmJiAoaSA9IHt9KTsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmludmVydGVkLCBvID0gdGhpcy5wbG90Qm94LCByID0gdGhpcy5wbG90TGVmdCwgcyA9IHRoaXMucGxvdFRvcCwgYSA9IHRoaXMuc2Nyb2xsYWJsZVBsb3RCb3gsIGggPSAwLCBsID0gMDsKICAgICAgICAgICAgaS52aXNpYmxlUGxvdE9ubHkgJiYgdGhpcy5zY3JvbGxpbmdDb250YWluZXIgJiYgKGwgPSB0aGlzLnNjcm9sbGluZ0NvbnRhaW5lciwgaCA9IGwuc2Nyb2xsTGVmdCwgbCA9IGwuc2Nyb2xsVG9wKTsKICAgICAgICAgICAgdmFyIGMgPSBpLnNlcmllczsKICAgICAgICAgICAgaWYgKG8gPSBpLnZpc2libGVQbG90T25seSAmJiBhIHx8IG8sIGEgPSBpLmludmVydGVkID8gZSA6IHQsIGUgPSBpLmludmVydGVkID8gdCA6IGUsIHQgPSB7IHg6IGEsIHk6IGUsIGlzSW5zaWRlUGxvdDogITAgfSwgIWkuaWdub3JlWCkgewogICAgICAgICAgICAgIHZhciBwID0gYyAmJiAobiA/IGMueUF4aXMgOiBjLnhBeGlzKSB8fCB7IHBvczogciwgbGVuOiAxIC8gMCB9OwogICAgICAgICAgICAgIGEgPSBpLnBhbmVDb29yZGluYXRlcyA/IHAucG9zICsgYSA6IHIgKyBhLCBhID49IE1hdGgubWF4KGggKyByLCBwLnBvcykgJiYgYSA8PSBNYXRoLm1pbihoICsgciArIG8ud2lkdGgsIHAucG9zICsgcC5sZW4pIHx8ICh0LmlzSW5zaWRlUGxvdCA9ICExKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gIWkuaWdub3JlWSAmJiB0LmlzSW5zaWRlUGxvdCAmJiAobiA9IGMgJiYgKG4gPyBjLnhBeGlzIDogYy55QXhpcykgfHwgewogICAgICAgICAgICAgIHBvczogcywKICAgICAgICAgICAgICBsZW46IDEgLyAwCiAgICAgICAgICAgIH0sIGkgPSBpLnBhbmVDb29yZGluYXRlcyA/IG4ucG9zICsgZSA6IHMgKyBlLCBpID49IE1hdGgubWF4KGwgKyBzLCBuLnBvcykgJiYgaSA8PSBNYXRoLm1pbihsICsgcyArIG8uaGVpZ2h0LCBuLnBvcyArIG4ubGVuKSB8fCAodC5pc0luc2lkZVBsb3QgPSAhMSkpLCBOKHRoaXMsICJhZnRlcklzSW5zaWRlUGxvdCIsIHQpLCB0LmlzSW5zaWRlUGxvdDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlZHJhdyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgTih0aGlzLCAiYmVmb3JlUmVkcmF3Iik7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5oYXNDYXJ0ZXNpYW5TZXJpZXMgPyB0aGlzLmF4ZXMgOiB0aGlzLmNvbG9yQXhpcyB8fCBbXSwgaSA9IHRoaXMuc2VyaWVzLCBuID0gdGhpcy5wb2ludGVyLCBvID0gdGhpcy5sZWdlbmQsIHIgPSB0aGlzLnVzZXJPcHRpb25zLmxlZ2VuZCwKICAgICAgICAgICAgICBzID0gdGhpcy5yZW5kZXJlciwgYSA9IHMuaXNIaWRkZW4oKSwgaCA9IFtdLCBsID0gdGhpcy5pc0RpcnR5Qm94LCBjID0gdGhpcy5pc0RpcnR5TGVnZW5kOwogICAgICAgICAgICBmb3IgKHRoaXMuc2V0UmVzcG9uc2l2ZSAmJiB0aGlzLnNldFJlc3BvbnNpdmUoITEpLCB5KCEhdGhpcy5oYXNSZW5kZXJlZCAmJiB0LCB0aGlzKSwgYSAmJiB0aGlzLnRlbXBvcmFyeURpc3BsYXkoKSwgdGhpcy5sYXlPdXRUaXRsZXMoKSwgdCA9IGkubGVuZ3RoOyB0LS07KSB7CiAgICAgICAgICAgICAgdmFyIHAgPSBpW3RdOwogICAgICAgICAgICAgIGlmIChwLm9wdGlvbnMuc3RhY2tpbmcgfHwgcC5vcHRpb25zLmNlbnRlckluQ2F0ZWdvcnkpIHsKICAgICAgICAgICAgICAgIHZhciBkID0gITA7CiAgICAgICAgICAgICAgICBpZiAocC5pc0RpcnR5KSB7CiAgICAgICAgICAgICAgICAgIHZhciB1ID0gITA7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodSkgZm9yICh0ID0gaS5sZW5ndGg7IHQtLTspIHAgPSBpW3RdLCBwLm9wdGlvbnMuc3RhY2tpbmcgJiYgKHAuaXNEaXJ0eSA9ICEwKTsKICAgICAgICAgICAgaS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5pc0RpcnR5ICYmICgicG9pbnQiID09PSB0Lm9wdGlvbnMubGVnZW5kVHlwZSA/ICgiZnVuY3Rpb24iID09PSB0eXBlb2YgdC51cGRhdGVUb3RhbHMgJiYgdC51cGRhdGVUb3RhbHMoKSwgYyA9ICEwKSA6IHIgJiYgKHIubGFiZWxGb3JtYXR0ZXIgfHwgci5sYWJlbEZvcm1hdCkgJiYgKGMgPSAhMCkpLCB0LmlzRGlydHlEYXRhICYmIE4odCwgInVwZGF0ZWREYXRhIik7CiAgICAgICAgICAgIH0pKSwgYyAmJiBvICYmIG8ub3B0aW9ucy5lbmFibGVkICYmIChvLnJlbmRlcigpLCB0aGlzLmlzRGlydHlMZWdlbmQgPSAhMSksIGQgJiYgdGhpcy5nZXRTdGFja3MoKSwgZS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC51cGRhdGVOYW1lcygpLCB0LnNldFNjYWxlKCk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5nZXRNYXJnaW5zKCksIGUuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuaXNEaXJ0eSAmJiAobCA9ICEwKTsKICAgICAgICAgICAgfSkpLCBlLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHQubWluICsgIiwiICsgdC5tYXg7CiAgICAgICAgICAgICAgdC5leHRLZXkgIT09IGUgJiYgKHQuZXh0S2V5ID0gZSwgaC5wdXNoKChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIE4odCwgImFmdGVyU2V0RXh0cmVtZXMiLCBCKHQuZXZlbnRBcmdzLCB0LmdldEV4dHJlbWVzKCkpKSwgZGVsZXRlIHQuZXZlbnRBcmdzOwogICAgICAgICAgICAgIH0pKSksIChsIHx8IGQpICYmIHQucmVkcmF3KCk7CiAgICAgICAgICAgIH0pKSwgbCAmJiB0aGlzLmRyYXdDaGFydEJveCgpLCBOKHRoaXMsICJwcmVkcmF3IiksIGkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIChsIHx8IHQuaXNEaXJ0eSkgJiYgdC52aXNpYmxlICYmIHQucmVkcmF3KCksIHQuaXNEaXJ0eURhdGEgPSAhMTsKICAgICAgICAgICAgfSkpLCBuICYmIG4ucmVzZXQoITApLCBzLmRyYXcoKSwgTih0aGlzLCAicmVkcmF3IiksIE4odGhpcywgInJlbmRlciIpLCBhICYmIHRoaXMudGVtcG9yYXJ5RGlzcGxheSghMCksIGguZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuY2FsbCgpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGUoZSkgewogICAgICAgICAgICAgIHJldHVybiBlLmlkID09PSB0IHx8IGUub3B0aW9ucyAmJiBlLm9wdGlvbnMuaWQgPT09IHQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZvciAodmFyIGkgPSB0aGlzLnNlcmllcywgbiA9IFIodGhpcy5heGVzLCBlKSB8fCBSKHRoaXMuc2VyaWVzLCBlKSwgbyA9IDA7ICFuICYmIG8gPCBpLmxlbmd0aDsgbysrKSBuID0gUihpW29dLnBvaW50cyB8fCBbXSwgZSk7CiAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0QXhlcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGkgPSB0aGlzLm9wdGlvbnMsIG4gPSBpLnhBeGlzID0gWihpLnhBeGlzIHx8IHt9KTsKICAgICAgICAgICAgaSA9IGkueUF4aXMgPSBaKGkueUF4aXMgfHwge30pLCBOKHRoaXMsICJnZXRBeGVzIiksIG4uZm9yRWFjaCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuaW5kZXggPSBlLCB0LmlzWCA9ICEwOwogICAgICAgICAgICB9KSksIGkuZm9yRWFjaCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuaW5kZXggPSBlOwogICAgICAgICAgICB9KSksIG4uY29uY2F0KGkpLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICBuZXcgZSh0LCBpKTsKICAgICAgICAgICAgfSkpLCBOKHRoaXMsICJhZnRlckdldEF4ZXMiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFNlbGVjdGVkUG9pbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcmllcy5yZWR1Y2UoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gZS5nZXRQb2ludHNDb2xsZWN0aW9uKCkuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgVihlLnNlbGVjdGVkU3RhZ2luZywgZS5zZWxlY3RlZCkgJiYgdC5wdXNoKGUpOwogICAgICAgICAgICAgIH0pKSwgdDsKICAgICAgICAgICAgfSksIFtdKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFNlbGVjdGVkU2VyaWVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcmllcy5maWx0ZXIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdC5zZWxlY3RlZDsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0VGl0bGUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHRoaXMuYXBwbHlEZXNjcmlwdGlvbigidGl0bGUiLCB0KSwgdGhpcy5hcHBseURlc2NyaXB0aW9uKCJzdWJ0aXRsZSIsIGUpLCB0aGlzLmFwcGx5RGVzY3JpcHRpb24oImNhcHRpb24iLCB2b2lkIDApLCB0aGlzLmxheU91dFRpdGxlcyhpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFwcGx5RGVzY3JpcHRpb24gPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcywgbiA9ICJ0aXRsZSIgPT09IHQgPyB7IGNvbG9yOiAiIzMzMzMzMyIsIGZvbnRTaXplOiB0aGlzLm9wdGlvbnMuaXNTdG9jayA/ICIxNnB4IiA6ICIxOHB4IiB9IDogeyBjb2xvcjogIiM2NjY2NjYiIH07CiAgICAgICAgICAgIG4gPSB0aGlzLm9wdGlvbnNbdF0gPSBVKCF0aGlzLnN0eWxlZE1vZGUgJiYgeyBzdHlsZTogbiB9LCB0aGlzLm9wdGlvbnNbdF0sIGUpOwogICAgICAgICAgICB2YXIgbyA9IHRoaXNbdF07CiAgICAgICAgICAgIG8gJiYgZSAmJiAodGhpc1t0XSA9IG8gPSBvLmRlc3Ryb3koKSksIG4gJiYgIW8gJiYgKG8gPSB0aGlzLnJlbmRlcmVyLnRleHQobi50ZXh0LCAwLCAwLCBuLnVzZUhUTUwpLmF0dHIoewogICAgICAgICAgICAgIGFsaWduOiBuLmFsaWduLAogICAgICAgICAgICAgIGNsYXNzOiAiaGlnaGNoYXJ0cy0iICsgdCwKICAgICAgICAgICAgICB6SW5kZXg6IG4uekluZGV4IHx8IDQKICAgICAgICAgICAgfSkuYWRkKCksIG8udXBkYXRlID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIGlbeyB0aXRsZTogInNldFRpdGxlIiwgc3VidGl0bGU6ICJzZXRTdWJ0aXRsZSIsIGNhcHRpb246ICJzZXRDYXB0aW9uIiB9W3RdXShlKTsKICAgICAgICAgICAgfSwgdGhpcy5zdHlsZWRNb2RlIHx8IG8uY3NzKG4uc3R5bGUpLCB0aGlzW3RdID0gbyk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5sYXlPdXRUaXRsZXMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gWzAsIDAsIDBdLCBpID0gdGhpcy5yZW5kZXJlciwgbiA9IHRoaXMuc3BhY2luZ0JveDsKICAgICAgICAgICAgWyJ0aXRsZSIsICJzdWJ0aXRsZSIsICJjYXB0aW9uIl0uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBvLCByID0gdGhpc1t0XSwgcyA9IHRoaXMub3B0aW9uc1t0XSwgYSA9IHMudmVydGljYWxBbGlnbiB8fCAidG9wIjsKICAgICAgICAgICAgICBpZiAodCA9ICJ0aXRsZSIgPT09IHQgPyAidG9wIiA9PT0gYSA/IC0zIDogMCA6ICJ0b3AiID09PSBhID8gZVswXSArIDIgOiAwLCByKSB7CiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlZE1vZGUgfHwgKG8gPSBzLnN0eWxlICYmIHMuc3R5bGUuZm9udFNpemUpLCBvID0gaS5mb250TWV0cmljcyhvLCByKS5iLCByLmNzcyh7IHdpZHRoOiAocy53aWR0aCB8fCBuLndpZHRoICsgKHMud2lkdGhBZGp1c3QgfHwgMCkpICsgInB4IiB9KTsKICAgICAgICAgICAgICAgIHZhciBoID0gTWF0aC5yb3VuZChyLmdldEJCb3gocy51c2VIVE1MKS5oZWlnaHQpOwogICAgICAgICAgICAgICAgci5hbGlnbihCKHsKICAgICAgICAgICAgICAgICAgeTogImJvdHRvbSIgPT09IGEgPyBvIDogdCArIG8sCiAgICAgICAgICAgICAgICAgIGhlaWdodDogaAogICAgICAgICAgICAgICAgfSwgcyksICExLCAic3BhY2luZ0JveCIpLCBzLmZsb2F0aW5nIHx8ICgidG9wIiA9PT0gYSA/IGVbMF0gPSBNYXRoLmNlaWwoZVswXSArIGgpIDogImJvdHRvbSIgPT09IGEgJiYgKGVbMl0gPSBNYXRoLmNlaWwoZVsyXSArIGgpKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwgdGhpcyksIGVbMF0gJiYgInRvcCIgPT09ICh0aGlzLm9wdGlvbnMudGl0bGUudmVydGljYWxBbGlnbiB8fCAidG9wIikgJiYgKGVbMF0gKz0gdGhpcy5vcHRpb25zLnRpdGxlLm1hcmdpbiksIGVbMl0gJiYgImJvdHRvbSIgPT09IHRoaXMub3B0aW9ucy5jYXB0aW9uLnZlcnRpY2FsQWxpZ24gJiYgKGVbMl0gKz0gdGhpcy5vcHRpb25zLmNhcHRpb24ubWFyZ2luKTsKICAgICAgICAgICAgdmFyIG8gPSAhdGhpcy50aXRsZU9mZnNldCB8fCB0aGlzLnRpdGxlT2Zmc2V0LmpvaW4oIiwiKSAhPT0gZS5qb2luKCIsIik7CiAgICAgICAgICAgIHRoaXMudGl0bGVPZmZzZXQgPSBlLCBOKHRoaXMsICJhZnRlckxheU91dFRpdGxlcyIpLCAhdGhpcy5pc0RpcnR5Qm94ICYmIG8gJiYgKHRoaXMuaXNEaXJ0eUJveCA9IHRoaXMuaXNEaXJ0eUxlZ2VuZCA9IG8sIHRoaXMuaGFzUmVuZGVyZWQgJiYgVih0LCAhMCkgJiYgdGhpcy5pc0RpcnR5Qm94ICYmIHRoaXMucmVkcmF3KCkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0Q2hhcnRTaXplID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLmNoYXJ0LCBlID0gdC53aWR0aDsKICAgICAgICAgICAgdCA9IHQuaGVpZ2h0OwogICAgICAgICAgICB2YXIgaSA9IHRoaXMucmVuZGVyVG87CiAgICAgICAgICAgIGooZSkgfHwgKHRoaXMuY29udGFpbmVyV2lkdGggPSBHKGksICJ3aWR0aCIpKSwgaih0KSB8fCAodGhpcy5jb250YWluZXJIZWlnaHQgPSBHKGksICJoZWlnaHQiKSksIHRoaXMuY2hhcnRXaWR0aCA9IE1hdGgubWF4KDAsIGUgfHwgdGhpcy5jb250YWluZXJXaWR0aCB8fCA2MDApLCB0aGlzLmNoYXJ0SGVpZ2h0ID0gTWF0aC5tYXgoMCwgSyh0LCB0aGlzLmNoYXJ0V2lkdGgpIHx8ICgxIDwgdGhpcy5jb250YWluZXJIZWlnaHQgPyB0aGlzLmNvbnRhaW5lckhlaWdodCA6IDQwMCkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudGVtcG9yYXJ5RGlzcGxheSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnJlbmRlclRvOwogICAgICAgICAgICBpZiAodCkgZm9yICg7IGUgJiYgZS5zdHlsZTspIGUuaGNPcmlnU3R5bGUgJiYgKEwoZSwgZS5oY09yaWdTdHlsZSksIGRlbGV0ZSBlLmhjT3JpZ1N0eWxlKSwgZS5oY09yaWdEZXRhY2hlZCAmJiAoXy5ib2R5LnJlbW92ZUNoaWxkKGUpLCBlLmhjT3JpZ0RldGFjaGVkID0gITEpLCBlID0gZS5wYXJlbnROb2RlOyBlbHNlIGZvciAoOyBlICYmIGUuc3R5bGU7KSBpZiAoXy5ib2R5LmNvbnRhaW5zKGUpIHx8IGUucGFyZW50Tm9kZSB8fCAoZS5oY09yaWdEZXRhY2hlZCA9ICEwLCBfLmJvZHkuYXBwZW5kQ2hpbGQoZSkpLCAoIm5vbmUiID09PSBHKGUsICJkaXNwbGF5IiwgITEpIHx8IGUuaGNPcmljRGV0YWNoZWQpICYmIChlLmhjT3JpZ1N0eWxlID0gewogICAgICAgICAgICAgIGRpc3BsYXk6IGUuc3R5bGUuZGlzcGxheSwKICAgICAgICAgICAgICBoZWlnaHQ6IGUuc3R5bGUuaGVpZ2h0LAogICAgICAgICAgICAgIG92ZXJmbG93OiBlLnN0eWxlLm92ZXJmbG93CiAgICAgICAgICAgIH0sIHQgPSB7CiAgICAgICAgICAgICAgZGlzcGxheTogImJsb2NrIiwKICAgICAgICAgICAgICBvdmVyZmxvdzogImhpZGRlbiIKICAgICAgICAgICAgfSwgZSAhPT0gdGhpcy5yZW5kZXJUbyAmJiAodC5oZWlnaHQgPSAwKSwgTChlLCB0KSwgZS5vZmZzZXRXaWR0aCB8fCBlLnN0eWxlLnNldFByb3BlcnR5KCJkaXNwbGF5IiwgImJsb2NrIiwgImltcG9ydGFudCIpKSwgZSA9IGUucGFyZW50Tm9kZSwgZSA9PT0gXy5ib2R5KSBicmVhazsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldENsYXNzTmFtZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5jb250YWluZXIuY2xhc3NOYW1lID0gImhpZ2hjaGFydHMtY29udGFpbmVyICIgKyAodCB8fCAiIik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRDb250YWluZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUgPSB0aGlzLm9wdGlvbnMsIGkgPSBlLmNoYXJ0LCBuID0gUSgpLCBvID0gdGhpcy5yZW5kZXJUbzsKICAgICAgICAgICAgbyB8fCAodGhpcy5yZW5kZXJUbyA9IG8gPSBpLnJlbmRlclRvKSwgWChvKSAmJiAodGhpcy5yZW5kZXJUbyA9IG8gPSBfLmdldEVsZW1lbnRCeUlkKG8pKSwgbyB8fCB6KDEzLCAhMCwgdGhpcyk7CiAgICAgICAgICAgIHZhciByID0gJChPKG8sICJkYXRhLWhpZ2hjaGFydHMtY2hhcnQiKSk7CiAgICAgICAgICAgIFcocikgJiYgYltyXSAmJiBiW3JdLmhhc1JlbmRlcmVkICYmIGJbcl0uZGVzdHJveSgpLCBPKG8sICJkYXRhLWhpZ2hjaGFydHMtY2hhcnQiLCB0aGlzLmluZGV4KSwgby5pbm5lckhUTUwgPSBmLmVtcHR5SFRNTCwgaS5za2lwQ2xvbmUgfHwgby5vZmZzZXRXaWR0aCB8fCB0aGlzLnRlbXBvcmFyeURpc3BsYXkoKSwgdGhpcy5nZXRDaGFydFNpemUoKSwgciA9IHRoaXMuY2hhcnRXaWR0aDsKICAgICAgICAgICAgdmFyIHMgPSB0aGlzLmNoYXJ0SGVpZ2h0OwogICAgICAgICAgICBpZiAoTChvLCB7IG92ZXJmbG93OiAiaGlkZGVuIiB9KSwgdGhpcy5zdHlsZWRNb2RlIHx8ICh0ID0gQih7CiAgICAgICAgICAgICAgcG9zaXRpb246ICJyZWxhdGl2ZSIsCiAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJoaWRkZW4iLAogICAgICAgICAgICAgIHdpZHRoOiByICsgInB4IiwKICAgICAgICAgICAgICBoZWlnaHQ6IHMgKyAicHgiLAogICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgIHpJbmRleDogMCwKICAgICAgICAgICAgICAiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIjogInJnYmEoMCwwLDAsMCkiLAogICAgICAgICAgICAgIHVzZXJTZWxlY3Q6ICJub25lIiwKICAgICAgICAgICAgICAidG91Y2gtYWN0aW9uIjogIm1hbmlwdWxhdGlvbiIsCiAgICAgICAgICAgICAgb3V0bGluZTogIm5vbmUiCiAgICAgICAgICAgIH0sIGkuc3R5bGUgfHwge30pKSwgdGhpcy5jb250YWluZXIgPSBuID0gRSgiZGl2IiwgeyBpZDogbiB9LCB0LCBvKSwgdGhpcy5fY3Vyc29yID0gbi5zdHlsZS5jdXJzb3IsIHRoaXMucmVuZGVyZXIgPSBuZXcgKGkucmVuZGVyZXIgfHwgIWsgPyBsLmdldFJlbmRlcmVyVHlwZShpLnJlbmRlcmVyKSA6IHApKG4sIHIsIHMsIHZvaWQgMCwgaS5mb3JFeHBvcnQsIGUuZXhwb3J0aW5nICYmIGUuZXhwb3J0aW5nLmFsbG93SFRNTCwgdGhpcy5zdHlsZWRNb2RlKSwgeSh2b2lkIDAsIHRoaXMpLCB0aGlzLnNldENsYXNzTmFtZShpLmNsYXNzTmFtZSksIHRoaXMuc3R5bGVkTW9kZSkgZm9yICh2YXIgYSBpbiBlLmRlZnMpIHRoaXMucmVuZGVyZXIuZGVmaW5pdGlvbihlLmRlZnNbYV0pOyBlbHNlIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoaS5zdHlsZSk7CiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuY2hhcnRJbmRleCA9IHRoaXMuaW5kZXgsIE4odGhpcywgImFmdGVyR2V0Q29udGFpbmVyIik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRNYXJnaW5zID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuc3BhY2luZywgaSA9IHRoaXMubWFyZ2luLCBuID0gdGhpcy50aXRsZU9mZnNldDsKICAgICAgICAgICAgdGhpcy5yZXNldE1hcmdpbnMoKSwgblswXSAmJiAhaihpWzBdKSAmJiAodGhpcy5wbG90VG9wID0gTWF0aC5tYXgodGhpcy5wbG90VG9wLCBuWzBdICsgZVswXSkpLCBuWzJdICYmICFqKGlbMl0pICYmICh0aGlzLm1hcmdpbkJvdHRvbSA9IE1hdGgubWF4KHRoaXMubWFyZ2luQm90dG9tLCBuWzJdICsgZVsyXSkpLCB0aGlzLmxlZ2VuZCAmJiB0aGlzLmxlZ2VuZC5kaXNwbGF5ICYmIHRoaXMubGVnZW5kLmFkanVzdE1hcmdpbnMoaSwgZSksIE4odGhpcywgImdldE1hcmdpbnMiKSwgdCB8fCB0aGlzLmdldEF4aXNNYXJnaW5zKCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRBeGlzTWFyZ2lucyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LmF4aXNPZmZzZXQgPSBbMCwgMCwgMCwgMF0sIGkgPSB0LmNvbG9yQXhpcywgbiA9IHQubWFyZ2luLCBvID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdC52aXNpYmxlICYmIHQuZ2V0T2Zmc2V0KCk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9OwogICAgICAgICAgICB0Lmhhc0NhcnRlc2lhblNlcmllcyA/IG8odC5heGVzKSA6IGkgJiYgaS5sZW5ndGggJiYgbyhpKSwgdy5mb3JFYWNoKChmdW5jdGlvbihpLCBvKSB7CiAgICAgICAgICAgICAgaihuW29dKSB8fCAodFtpXSArPSBlW29dKTsKICAgICAgICAgICAgfSkpLCB0LnNldENoYXJ0U2l6ZSgpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVmbG93ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBlLm9wdGlvbnMuY2hhcnQsIG4gPSBlLnJlbmRlclRvLCBvID0gaihpLndpZHRoKSAmJiBqKGkuaGVpZ2h0KSwgciA9IGkud2lkdGggfHwgRyhuLCAid2lkdGgiKTsKICAgICAgICAgICAgaSA9IGkuaGVpZ2h0IHx8IEcobiwgImhlaWdodCIpLCBuID0gdCA/IHQudGFyZ2V0IDogUywgZGVsZXRlIGUucG9pbnRlci5jaGFydFBvc2l0aW9uLCBvIHx8IGUuaXNQcmludGluZyB8fCAhciB8fCAhaSB8fCBuICE9PSBTICYmIG4gIT09IF8gfHwgKHIgPT09IGUuY29udGFpbmVyV2lkdGggJiYgaSA9PT0gZS5jb250YWluZXJIZWlnaHQgfHwgKHUuY2xlYXJUaW1lb3V0KGUucmVmbG93VGltZW91dCksIGUucmVmbG93VGltZW91dCA9IEooKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGUuY29udGFpbmVyICYmIGUuc2V0U2l6ZSh2b2lkIDAsIHZvaWQgMCwgITEpOwogICAgICAgICAgICB9KSwgdCA/IDEwMCA6IDApKSwgZS5jb250YWluZXJXaWR0aCA9IHIsIGUuY29udGFpbmVySGVpZ2h0ID0gaSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRSZWZsb3cgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgITEgPT09IHQgfHwgdGhpcy51bmJpbmRSZWZsb3cgPyAhMSA9PT0gdCAmJiB0aGlzLnVuYmluZFJlZmxvdyAmJiAodGhpcy51bmJpbmRSZWZsb3cgPSB0aGlzLnVuYmluZFJlZmxvdygpKSA6ICh0aGlzLnVuYmluZFJlZmxvdyA9IFAoUywgInJlc2l6ZSIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgZS5vcHRpb25zICYmIGUucmVmbG93KHQpOwogICAgICAgICAgICB9KSksIFAodGhpcywgImRlc3Ryb3kiLCB0aGlzLnVuYmluZFJlZmxvdykpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0U2l6ZSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLCBvID0gbi5yZW5kZXJlcjsKICAgICAgICAgICAgbi5pc1Jlc2l6aW5nICs9IDEsIHkoaSwgbiksIGkgPSBvLmdsb2JhbEFuaW1hdGlvbiwgbi5vbGRDaGFydEhlaWdodCA9IG4uY2hhcnRIZWlnaHQsIG4ub2xkQ2hhcnRXaWR0aCA9IG4uY2hhcnRXaWR0aCwgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB0ICYmIChuLm9wdGlvbnMuY2hhcnQud2lkdGggPSB0KSwgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBlICYmIChuLm9wdGlvbnMuY2hhcnQuaGVpZ2h0ID0gZSksIG4uZ2V0Q2hhcnRTaXplKCksIG4uc3R5bGVkTW9kZSB8fCAoaSA/IGcgOiBMKShuLmNvbnRhaW5lciwgewogICAgICAgICAgICAgIHdpZHRoOiBuLmNoYXJ0V2lkdGggKyAicHgiLAogICAgICAgICAgICAgIGhlaWdodDogbi5jaGFydEhlaWdodCArICJweCIKICAgICAgICAgICAgfSwgaSksIG4uc2V0Q2hhcnRTaXplKCEwKSwgby5zZXRTaXplKG4uY2hhcnRXaWR0aCwgbi5jaGFydEhlaWdodCwgaSksIG4uYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5pc0RpcnR5ID0gITAsIHQuc2V0U2NhbGUoKTsKICAgICAgICAgICAgfSkpLCBuLmlzRGlydHlMZWdlbmQgPSAhMCwgbi5pc0RpcnR5Qm94ID0gITAsIG4ubGF5T3V0VGl0bGVzKCksIG4uZ2V0TWFyZ2lucygpLCBuLnJlZHJhdyhpKSwgbi5vbGRDaGFydEhlaWdodCA9IG51bGwsIE4obiwgInJlc2l6ZSIpLCBKKChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBuICYmIE4obiwgImVuZFJlc2l6ZSIsIG51bGwsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC0tbi5pc1Jlc2l6aW5nOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSksIG0oaSkuZHVyYXRpb24pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0Q2hhcnRTaXplID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSwgaSwgbiwgbywgciA9IHRoaXMuaW52ZXJ0ZWQsIHMgPSB0aGlzLnJlbmRlcmVyLCBhID0gdGhpcy5jaGFydFdpZHRoLCBoID0gdGhpcy5jaGFydEhlaWdodCwgbCA9IHRoaXMub3B0aW9ucy5jaGFydCwgYyA9IHRoaXMuc3BhY2luZywKICAgICAgICAgICAgICBwID0gdGhpcy5jbGlwT2Zmc2V0OwogICAgICAgICAgICB0aGlzLnBsb3RMZWZ0ID0gZSA9IE1hdGgucm91bmQodGhpcy5wbG90TGVmdCksIHRoaXMucGxvdFRvcCA9IGkgPSBNYXRoLnJvdW5kKHRoaXMucGxvdFRvcCksIHRoaXMucGxvdFdpZHRoID0gbiA9IE1hdGgubWF4KDAsIE1hdGgucm91bmQoYSAtIGUgLSB0aGlzLm1hcmdpblJpZ2h0KSksIHRoaXMucGxvdEhlaWdodCA9IG8gPSBNYXRoLm1heCgwLCBNYXRoLnJvdW5kKGggLSBpIC0gdGhpcy5tYXJnaW5Cb3R0b20pKSwgdGhpcy5wbG90U2l6ZVggPSByID8gbyA6IG4sIHRoaXMucGxvdFNpemVZID0gciA/IG4gOiBvLCB0aGlzLnBsb3RCb3JkZXJXaWR0aCA9IGwucGxvdEJvcmRlcldpZHRoIHx8IDAsIHRoaXMuc3BhY2luZ0JveCA9IHMuc3BhY2luZ0JveCA9IHsKICAgICAgICAgICAgICB4OiBjWzNdLAogICAgICAgICAgICAgIHk6IGNbMF0sCiAgICAgICAgICAgICAgd2lkdGg6IGEgLSBjWzNdIC0gY1sxXSwKICAgICAgICAgICAgICBoZWlnaHQ6IGggLSBjWzBdIC0gY1syXQogICAgICAgICAgICB9LCB0aGlzLnBsb3RCb3ggPSBzLnBsb3RCb3ggPSB7CiAgICAgICAgICAgICAgeDogZSwKICAgICAgICAgICAgICB5OiBpLAogICAgICAgICAgICAgIHdpZHRoOiBuLAogICAgICAgICAgICAgIGhlaWdodDogbwogICAgICAgICAgICB9LCByID0gMiAqIE1hdGguZmxvb3IodGhpcy5wbG90Qm9yZGVyV2lkdGggLyAyKSwgYSA9IE1hdGguY2VpbChNYXRoLm1heChyLCBwWzNdKSAvIDIpLCBoID0gTWF0aC5jZWlsKE1hdGgubWF4KHIsIHBbMF0pIC8gMiksIHRoaXMuY2xpcEJveCA9IHsKICAgICAgICAgICAgICB4OiBhLAogICAgICAgICAgICAgIHk6IGgsCiAgICAgICAgICAgICAgd2lkdGg6IE1hdGguZmxvb3IodGhpcy5wbG90U2l6ZVggLSBNYXRoLm1heChyLCBwWzFdKSAvIDIgLSBhKSwKICAgICAgICAgICAgICBoZWlnaHQ6IE1hdGgubWF4KDAsIE1hdGguZmxvb3IodGhpcy5wbG90U2l6ZVkgLSBNYXRoLm1heChyLCBwWzJdKSAvIDIgLSBoKSkKICAgICAgICAgICAgfSwgdCB8fCAodGhpcy5heGVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0LnNldEF4aXNTaXplKCksIHQuc2V0QXhpc1RyYW5zbGF0aW9uKCk7CiAgICAgICAgICAgIH0pKSwgcy5hbGlnbkVsZW1lbnRzKCkpLCBOKHRoaXMsICJhZnRlclNldENoYXJ0U2l6ZSIsIHsgc2tpcEF4ZXM6IHQgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZXNldE1hcmdpbnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgTih0aGlzLCAicmVzZXRNYXJnaW5zIik7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHQub3B0aW9ucy5jaGFydDsKICAgICAgICAgICAgWyJtYXJnaW4iLCAic3BhY2luZyJdLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICB2YXIgbiA9IGVbaV0sIG8gPSBGKG4pID8gbiA6IFtuLCBuLCBuLCBuXTsKICAgICAgICAgICAgICBbIlRvcCIsICJSaWdodCIsICJCb3R0b20iLCAiTGVmdCJdLmZvckVhY2goKGZ1bmN0aW9uKG4sIHIpIHsKICAgICAgICAgICAgICAgIHRbaV1bcl0gPSBWKGVbaSArIG5dLCBvW3JdKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKSwgdy5mb3JFYWNoKChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgdFtlXSA9IFYodC5tYXJnaW5baV0sIHQuc3BhY2luZ1tpXSk7CiAgICAgICAgICAgIH0pKSwgdC5heGlzT2Zmc2V0ID0gWzAsIDAsIDAsIDBdLCB0LmNsaXBPZmZzZXQgPSBbMCwgMCwgMCwgMF07CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kcmF3Q2hhcnRCb3ggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUgPSB0aGlzLm9wdGlvbnMuY2hhcnQsIGkgPSB0aGlzLnJlbmRlcmVyLCBuID0gdGhpcy5jaGFydFdpZHRoLCBvID0gdGhpcy5jaGFydEhlaWdodCwgciA9IHRoaXMuc3R5bGVkTW9kZSwgcyA9IHRoaXMucGxvdEJHSW1hZ2UsCiAgICAgICAgICAgICAgYSA9IGUuYmFja2dyb3VuZENvbG9yLCBoID0gZS5wbG90QmFja2dyb3VuZENvbG9yLCBsID0gZS5wbG90QmFja2dyb3VuZEltYWdlLCBjID0gdGhpcy5wbG90TGVmdCwgcCA9IHRoaXMucGxvdFRvcCwgZCA9IHRoaXMucGxvdFdpZHRoLAogICAgICAgICAgICAgIHUgPSB0aGlzLnBsb3RIZWlnaHQsIGYgPSB0aGlzLnBsb3RCb3gsIGcgPSB0aGlzLmNsaXBSZWN0LCBtID0gdGhpcy5jbGlwQm94LCB5ID0gdGhpcy5jaGFydEJhY2tncm91bmQsIHYgPSB0aGlzLnBsb3RCYWNrZ3JvdW5kLAogICAgICAgICAgICAgIHggPSB0aGlzLnBsb3RCb3JkZXIsIGIgPSAiYW5pbWF0ZSI7CiAgICAgICAgICAgIGlmICh5IHx8ICh0aGlzLmNoYXJ0QmFja2dyb3VuZCA9IHkgPSBpLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1iYWNrZ3JvdW5kIikuYWRkKCksIGIgPSAiYXR0ciIpLCByKSB2YXIgXyA9IHQgPSB5LnN0cm9rZVdpZHRoKCk7IGVsc2UgXyA9IGUuYm9yZGVyV2lkdGggfHwgMCwgdCA9IF8gKyAoZS5zaGFkb3cgPyA4IDogMCksIGEgPSB7IGZpbGw6IGEgfHwgIm5vbmUiIH0sIChfIHx8IHlbInN0cm9rZS13aWR0aCJdKSAmJiAoYS5zdHJva2UgPSBlLmJvcmRlckNvbG9yLCBhWyJzdHJva2Utd2lkdGgiXSA9IF8pLCB5LmF0dHIoYSkuc2hhZG93KGUuc2hhZG93KTsKICAgICAgICAgICAgeVtiXSh7CiAgICAgICAgICAgICAgeDogdCAvIDIsCiAgICAgICAgICAgICAgeTogdCAvIDIsCiAgICAgICAgICAgICAgd2lkdGg6IG4gLSB0IC0gXyAlIDIsCiAgICAgICAgICAgICAgaGVpZ2h0OiBvIC0gdCAtIF8gJSAyLAogICAgICAgICAgICAgIHI6IGUuYm9yZGVyUmFkaXVzCiAgICAgICAgICAgIH0pLCBiID0gImFuaW1hdGUiLCB2IHx8IChiID0gImF0dHIiLCB0aGlzLnBsb3RCYWNrZ3JvdW5kID0gdiA9IGkucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXBsb3QtYmFja2dyb3VuZCIpLmFkZCgpKSwgdltiXShmKSwgciB8fCAodi5hdHRyKHsgZmlsbDogaCB8fCAibm9uZSIgfSkuc2hhZG93KGUucGxvdFNoYWRvdyksIGwgJiYgKHMgPyAobCAhPT0gcy5hdHRyKCJocmVmIikgJiYgcy5hdHRyKCJocmVmIiwgbCksIHMuYW5pbWF0ZShmKSkgOiB0aGlzLnBsb3RCR0ltYWdlID0gaS5pbWFnZShsLCBjLCBwLCBkLCB1KS5hZGQoKSkpLCBnID8gZy5hbmltYXRlKHsKICAgICAgICAgICAgICB3aWR0aDogbS53aWR0aCwKICAgICAgICAgICAgICBoZWlnaHQ6IG0uaGVpZ2h0CiAgICAgICAgICAgIH0pIDogdGhpcy5jbGlwUmVjdCA9IGkuY2xpcFJlY3QobSksIGIgPSAiYW5pbWF0ZSIsIHggfHwgKGIgPSAiYXR0ciIsIHRoaXMucGxvdEJvcmRlciA9IHggPSBpLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1wbG90LWJvcmRlciIpLmF0dHIoeyB6SW5kZXg6IDEgfSkuYWRkKCkpLCByIHx8IHguYXR0cih7CiAgICAgICAgICAgICAgc3Ryb2tlOiBlLnBsb3RCb3JkZXJDb2xvciwKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogZS5wbG90Qm9yZGVyV2lkdGggfHwgMCwKICAgICAgICAgICAgICBmaWxsOiAibm9uZSIKICAgICAgICAgICAgfSksIHhbYl0oeC5jcmlzcCh7IHg6IGMsIHk6IHAsIHdpZHRoOiBkLCBoZWlnaHQ6IHUgfSwgLXguc3Ryb2tlV2lkdGgoKSkpLCB0aGlzLmlzRGlydHlCb3ggPSAhMSwgTih0aGlzLCAiYWZ0ZXJEcmF3Q2hhcnRCb3giKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnByb3BGcm9tU2VyaWVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBlLCBpLCBuID0gdGhpcywgbyA9IG4ub3B0aW9ucy5jaGFydCwgciA9IG4ub3B0aW9ucy5zZXJpZXM7CiAgICAgICAgICAgIFsiaW52ZXJ0ZWQiLCAiYW5ndWxhciIsICJwb2xhciJdLmZvckVhY2goKGZ1bmN0aW9uKHMpIHsKICAgICAgICAgICAgICBmb3IgKGUgPSBBW28udHlwZSB8fCBvLmRlZmF1bHRTZXJpZXNUeXBlXSwgaSA9IG9bc10gfHwgZSAmJiBlLnByb3RvdHlwZVtzXSwgdCA9IHIgJiYgci5sZW5ndGg7ICFpICYmIHQtLTspIChlID0gQVtyW3RdLnR5cGVdKSAmJiBlLnByb3RvdHlwZVtzXSAmJiAoaSA9ICEwKTsKICAgICAgICAgICAgICBuW3NdID0gaTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUubGlua1NlcmllcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LnNlcmllczsKICAgICAgICAgICAgZS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5saW5rZWRTZXJpZXMubGVuZ3RoID0gMDsKICAgICAgICAgICAgfSkpLCBlLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IGUub3B0aW9ucy5saW5rZWRUbzsKICAgICAgICAgICAgICBYKGkpICYmIChpID0gIjpwcmV2aW91cyIgPT09IGkgPyB0LnNlcmllc1tlLmluZGV4IC0gMV0gOiB0LmdldChpKSkgJiYgaS5saW5rZWRQYXJlbnQgIT09IGUgJiYgKGkubGlua2VkU2VyaWVzLnB1c2goZSksIGUubGlua2VkUGFyZW50ID0gaSwgaS5lbmFibGVkRGF0YVNvcnRpbmcgJiYgZS5zZXREYXRhU29ydGluZ09wdGlvbnMoKSwgZS52aXNpYmxlID0gVihlLm9wdGlvbnMudmlzaWJsZSwgaS5vcHRpb25zLnZpc2libGUsIGUudmlzaWJsZSkpOwogICAgICAgICAgICB9KSksIE4odGhpcywgImFmdGVyTGlua1NlcmllcyIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVuZGVyU2VyaWVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0LnRyYW5zbGF0ZSgpLCB0LnJlbmRlcigpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW5kZXJMYWJlbHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdC5vcHRpb25zLmxhYmVsczsKICAgICAgICAgICAgZS5pdGVtcyAmJiBlLml0ZW1zLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICB2YXIgbiA9IEIoZS5zdHlsZSwgaS5zdHlsZSksIG8gPSAkKG4ubGVmdCkgKyB0LnBsb3RMZWZ0LCByID0gJChuLnRvcCkgKyB0LnBsb3RUb3AgKyAxMjsKICAgICAgICAgICAgICBkZWxldGUgbi5sZWZ0LCBkZWxldGUgbi50b3AsIHQucmVuZGVyZXIudGV4dChpLmh0bWwsIG8sIHIpLmF0dHIoeyB6SW5kZXg6IDIgfSkuY3NzKG4pLmFkZCgpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmF4ZXMsIGUgPSB0aGlzLmNvbG9yQXhpcywgaSA9IHRoaXMucmVuZGVyZXIsIG4gPSB0aGlzLm9wdGlvbnMsIG8gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LnZpc2libGUgJiYgdC5yZW5kZXIoKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0sIHMgPSAwOwogICAgICAgICAgICB0aGlzLnNldFRpdGxlKCksIHRoaXMubGVnZW5kID0gbmV3IHIodGhpcywgbi5sZWdlbmQpLCB0aGlzLmdldFN0YWNrcyAmJiB0aGlzLmdldFN0YWNrcygpLCB0aGlzLmdldE1hcmdpbnMoITApLCB0aGlzLnNldENoYXJ0U2l6ZSgpLCBuID0gdGhpcy5wbG90V2lkdGgsIHQuc29tZSgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGlmICh0Lmhvcml6ICYmIHQudmlzaWJsZSAmJiB0Lm9wdGlvbnMubGFiZWxzLmVuYWJsZWQgJiYgdC5zZXJpZXMubGVuZ3RoKSByZXR1cm4gcyA9IDIxLCAhMDsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB2YXIgYSA9IHRoaXMucGxvdEhlaWdodCA9IE1hdGgubWF4KHRoaXMucGxvdEhlaWdodCAtIHMsIDApOwogICAgICAgICAgICB0LmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0LnNldFNjYWxlKCk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5nZXRBeGlzTWFyZ2lucygpOwogICAgICAgICAgICB2YXIgaCA9IDEuMSA8IG4gLyB0aGlzLnBsb3RXaWR0aCwgbCA9IDEuMDUgPCBhIC8gdGhpcy5wbG90SGVpZ2h0OwogICAgICAgICAgICAoaCB8fCBsKSAmJiAodC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgKHQuaG9yaXogJiYgaCB8fCAhdC5ob3JpeiAmJiBsKSAmJiB0LnNldFRpY2tJbnRlcnZhbCghMCk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5nZXRNYXJnaW5zKCkpLCB0aGlzLmRyYXdDaGFydEJveCgpLCB0aGlzLmhhc0NhcnRlc2lhblNlcmllcyA/IG8odCkgOiBlICYmIGUubGVuZ3RoICYmIG8oZSksIHRoaXMuc2VyaWVzR3JvdXAgfHwgKHRoaXMuc2VyaWVzR3JvdXAgPSBpLmcoInNlcmllcy1ncm91cCIpLmF0dHIoeyB6SW5kZXg6IDMgfSkuYWRkKCkpLCB0aGlzLnJlbmRlclNlcmllcygpLCB0aGlzLnJlbmRlckxhYmVscygpLCB0aGlzLmFkZENyZWRpdHMoKSwgdGhpcy5zZXRSZXNwb25zaXZlICYmIHRoaXMuc2V0UmVzcG9uc2l2ZSgpLCB0aGlzLmhhc1JlbmRlcmVkID0gITA7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGRDcmVkaXRzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBVKCEwLCB0aGlzLm9wdGlvbnMuY3JlZGl0cywgdCk7CiAgICAgICAgICAgIGkuZW5hYmxlZCAmJiAhdGhpcy5jcmVkaXRzICYmICh0aGlzLmNyZWRpdHMgPSB0aGlzLnJlbmRlcmVyLnRleHQoaS50ZXh0ICsgKHRoaXMubWFwQ3JlZGl0cyB8fCAiIiksIDAsIDApLmFkZENsYXNzKCJoaWdoY2hhcnRzLWNyZWRpdHMiKS5vbigiY2xpY2siLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaS5ocmVmICYmIChTLmxvY2F0aW9uLmhyZWYgPSBpLmhyZWYpOwogICAgICAgICAgICB9KSkuYXR0cih7CiAgICAgICAgICAgICAgYWxpZ246IGkucG9zaXRpb24uYWxpZ24sCiAgICAgICAgICAgICAgekluZGV4OiA4CiAgICAgICAgICAgIH0pLCBlLnN0eWxlZE1vZGUgfHwgdGhpcy5jcmVkaXRzLmNzcyhpLnN0eWxlKSwgdGhpcy5jcmVkaXRzLmFkZCgpLmFsaWduKGkucG9zaXRpb24pLCB0aGlzLmNyZWRpdHMudXBkYXRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGUuY3JlZGl0cyA9IGUuY3JlZGl0cy5kZXN0cm95KCksIGUuYWRkQ3JlZGl0cyh0KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBlID0gdGhpcywgaSA9IGUuYXhlcywgbiA9IGUuc2VyaWVzLCByID0gZS5jb250YWluZXIsIHMgPSByICYmIHIucGFyZW50Tm9kZTsKICAgICAgICAgICAgZm9yIChOKGUsICJkZXN0cm95IiksIGUucmVuZGVyZXIuZm9yRXhwb3J0ID8gSShiLCBlKSA6IGJbZS5pbmRleF0gPSB2b2lkIDAsIG8uY2hhcnRDb3VudC0tLCBlLnJlbmRlclRvLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1oaWdoY2hhcnRzLWNoYXJ0IiksIHEoZSksIHQgPSBpLmxlbmd0aDsgdC0tOykgaVt0XSA9IGlbdF0uZGVzdHJveSgpOwogICAgICAgICAgICBmb3IgKHRoaXMuc2Nyb2xsZXIgJiYgdGhpcy5zY3JvbGxlci5kZXN0cm95ICYmIHRoaXMuc2Nyb2xsZXIuZGVzdHJveSgpLCB0ID0gbi5sZW5ndGg7IHQtLTspIG5bdF0gPSBuW3RdLmRlc3Ryb3koKTsKICAgICAgICAgICAgInRpdGxlIHN1YnRpdGxlIGNoYXJ0QmFja2dyb3VuZCBwbG90QmFja2dyb3VuZCBwbG90QkdJbWFnZSBwbG90Qm9yZGVyIHNlcmllc0dyb3VwIGNsaXBSZWN0IGNyZWRpdHMgcG9pbnRlciByYW5nZVNlbGVjdG9yIGxlZ2VuZCByZXNldFpvb21CdXR0b24gdG9vbHRpcCByZW5kZXJlciIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGkgPSBlW3RdOwogICAgICAgICAgICAgIGkgJiYgaS5kZXN0cm95ICYmIChlW3RdID0gaS5kZXN0cm95KCkpOwogICAgICAgICAgICB9KSksIHIgJiYgKHIuaW5uZXJIVE1MID0gZi5lbXB0eUhUTUwsIHEociksIHMgJiYgRChyKSksIFkoZSwgKGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgICBkZWxldGUgZVtpXTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZmlyc3RSZW5kZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdC5vcHRpb25zOwogICAgICAgICAgICB0LmlzUmVhZHlUb1JlbmRlciAmJiAhdC5pc1JlYWR5VG9SZW5kZXIoKSB8fCAodC5nZXRDb250YWluZXIoKSwgdC5yZXNldE1hcmdpbnMoKSwgdC5zZXRDaGFydFNpemUoKSwgdC5wcm9wRnJvbVNlcmllcygpLCB0LmdldEF4ZXMoKSwgKEgoZS5zZXJpZXMpID8gZS5zZXJpZXMgOiBbXSkuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHQuaW5pdFNlcmllcyhlKTsKICAgICAgICAgICAgfSkpLCB0LmxpbmtTZXJpZXMoKSwgdC5zZXRTZXJpZXNEYXRhKCksIE4odCwgImJlZm9yZVJlbmRlciIpLCBoICYmIChzLmlzUmVxdWlyZWQoKSA/IHQucG9pbnRlciA9IG5ldyBzKHQsIGUpIDogdC5wb2ludGVyID0gbmV3IGgodCwgZSkpLCB0LnJlbmRlcigpLCB0LnBvaW50ZXIuZ2V0Q2hhcnRQb3NpdGlvbigpLCB0LnJlbmRlcmVyLmltZ0NvdW50IHx8IHQuaGFzTG9hZGVkIHx8IHQub25sb2FkKCksIHQudGVtcG9yYXJ5RGlzcGxheSghMCkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuY2FsbGJhY2tzLmNvbmNhdChbdGhpcy5jYWxsYmFja10pLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0ICYmICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdGhpcy5pbmRleCAmJiB0LmFwcGx5KHRoaXMsIFt0aGlzXSk7CiAgICAgICAgICAgIH0pLCB0aGlzKSwgTih0aGlzLCAibG9hZCIpLCBOKHRoaXMsICJyZW5kZXIiKSwgaih0aGlzLmluZGV4KSAmJiB0aGlzLnNldFJlZmxvdyh0aGlzLm9wdGlvbnMuY2hhcnQucmVmbG93KSwgdGhpcy5oYXNMb2FkZWQgPSAhMDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFkZFNlcmllcyA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4sIG8gPSB0aGlzOwogICAgICAgICAgICByZXR1cm4gdCAmJiAoZSA9IFYoZSwgITApLCBOKG8sICJhZGRTZXJpZXMiLCB7IG9wdGlvbnM6IHQgfSwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIG4gPSBvLmluaXRTZXJpZXModCksIG8uaXNEaXJ0eUxlZ2VuZCA9ICEwLCBvLmxpbmtTZXJpZXMoKSwgbi5lbmFibGVkRGF0YVNvcnRpbmcgJiYgbi5zZXREYXRhKHQuZGF0YSwgITEpLCBOKG8sICJhZnRlckFkZFNlcmllcyIsIHsgc2VyaWVzOiBuIH0pLCBlICYmIG8ucmVkcmF3KGkpOwogICAgICAgICAgICB9KSkpLCBuOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWRkQXhpcyA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQXhpcyhlID8gInhBeGlzIiA6ICJ5QXhpcyIsIHsgYXhpczogdCwgcmVkcmF3OiBpLCBhbmltYXRpb246IG4gfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGRDb2xvckF4aXMgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUF4aXMoImNvbG9yQXhpcyIsIHsgYXhpczogdCwgcmVkcmF3OiBlLCBhbmltYXRpb246IGkgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVBeGlzID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IG5ldyBlKHRoaXMsIFUoaS5heGlzLCB7IGluZGV4OiB0aGlzW3RdLmxlbmd0aCwgaXNYOiAieEF4aXMiID09PSB0IH0pKSwgVihpLnJlZHJhdywgITApICYmIHRoaXMucmVkcmF3KGkuYW5pbWF0aW9uKSwgdDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNob3dMb2FkaW5nID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBlLm9wdGlvbnMsIG4gPSBpLmxvYWRpbmcsIG8gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICByICYmIEwociwgeyBsZWZ0OiBlLnBsb3RMZWZ0ICsgInB4IiwgdG9wOiBlLnBsb3RUb3AgKyAicHgiLCB3aWR0aDogZS5wbG90V2lkdGggKyAicHgiLCBoZWlnaHQ6IGUucGxvdEhlaWdodCArICJweCIgfSk7CiAgICAgICAgICAgIH0sIHIgPSBlLmxvYWRpbmdEaXYsIHMgPSBlLmxvYWRpbmdTcGFuOwogICAgICAgICAgICByIHx8IChlLmxvYWRpbmdEaXYgPSByID0gRSgiZGl2IiwgeyBjbGFzc05hbWU6ICJoaWdoY2hhcnRzLWxvYWRpbmcgaGlnaGNoYXJ0cy1sb2FkaW5nLWhpZGRlbiIgfSwgbnVsbCwgZS5jb250YWluZXIpKSwgcyB8fCAoZS5sb2FkaW5nU3BhbiA9IHMgPSBFKCJzcGFuIiwgeyBjbGFzc05hbWU6ICJoaWdoY2hhcnRzLWxvYWRpbmctaW5uZXIiIH0sIG51bGwsIHIpLCBQKGUsICJyZWRyYXciLCBvKSksIHIuY2xhc3NOYW1lID0gImhpZ2hjaGFydHMtbG9hZGluZyIsIGYuc2V0RWxlbWVudEhUTUwocywgVih0LCBpLmxhbmcubG9hZGluZywgIiIpKSwgZS5zdHlsZWRNb2RlIHx8IChMKHIsIEIobi5zdHlsZSwgeyB6SW5kZXg6IDEwIH0pKSwgTChzLCBuLmxhYmVsU3R5bGUpLCBlLmxvYWRpbmdTaG93biB8fCAoTChyLCB7CiAgICAgICAgICAgICAgb3BhY2l0eTogMCwKICAgICAgICAgICAgICBkaXNwbGF5OiAiIgogICAgICAgICAgICB9KSwgZyhyLCB7IG9wYWNpdHk6IG4uc3R5bGUub3BhY2l0eSB8fCAuNSB9LCB7IGR1cmF0aW9uOiBuLnNob3dEdXJhdGlvbiB8fCAwIH0pKSksIGUubG9hZGluZ1Nob3duID0gITAsIG8oKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmhpZGVMb2FkaW5nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLCBlID0gdGhpcy5sb2FkaW5nRGl2OwogICAgICAgICAgICBlICYmIChlLmNsYXNzTmFtZSA9ICJoaWdoY2hhcnRzLWxvYWRpbmcgaGlnaGNoYXJ0cy1sb2FkaW5nLWhpZGRlbiIsIHRoaXMuc3R5bGVkTW9kZSB8fCBnKGUsIHsgb3BhY2l0eTogMCB9LCB7CiAgICAgICAgICAgICAgZHVyYXRpb246IHQubG9hZGluZy5oaWRlRHVyYXRpb24gfHwgMTAwLAogICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIEwoZSwgeyBkaXNwbGF5OiAibm9uZSIgfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSksIHRoaXMubG9hZGluZ1Nob3duID0gITE7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIHZhciBvLCByLCBzID0gdGhpcywgYSA9IHsgY3JlZGl0czogImFkZENyZWRpdHMiLCB0aXRsZTogInNldFRpdGxlIiwgc3VidGl0bGU6ICJzZXRTdWJ0aXRsZSIsIGNhcHRpb246ICJzZXRDYXB0aW9uIiB9LCBoID0gdC5pc1Jlc3BvbnNpdmVPcHRpb25zLAogICAgICAgICAgICAgIGwgPSBbXTsKICAgICAgICAgICAgTihzLCAidXBkYXRlIiwgeyBvcHRpb25zOiB0IH0pLCBoIHx8IHMuc2V0UmVzcG9uc2l2ZSghMSwgITApLCB0ID0gVCh0LCBzLm9wdGlvbnMpLCBzLnVzZXJPcHRpb25zID0gVShzLnVzZXJPcHRpb25zLCB0KTsKICAgICAgICAgICAgdmFyIGMgPSB0LmNoYXJ0OwogICAgICAgICAgICBpZiAoYykgewogICAgICAgICAgICAgIGlmIChVKCEwLCBzLm9wdGlvbnMuY2hhcnQsIGMpLCAiY2xhc3NOYW1lIiBpbiBjICYmIHMuc2V0Q2xhc3NOYW1lKGMuY2xhc3NOYW1lKSwgInJlZmxvdyIgaW4gYyAmJiBzLnNldFJlZmxvdyhjLnJlZmxvdyksICJpbnZlcnRlZCIgaW4gYyB8fCAicG9sYXIiIGluIGMgfHwgInR5cGUiIGluIGMpIHsKICAgICAgICAgICAgICAgIHMucHJvcEZyb21TZXJpZXMoKTsKICAgICAgICAgICAgICAgIHZhciBwID0gITA7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICJhbGlnblRpY2tzIiBpbiBjICYmIChwID0gITApLCAiZXZlbnRzIiBpbiBjICYmIHgodGhpcywgYyksIFkoYywgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIC0xICE9PSBzLnByb3BzUmVxdWlyZVVwZGF0ZVNlcmllcy5pbmRleE9mKCJjaGFydC4iICsgZSkgJiYgKG8gPSAhMCksIC0xICE9PSBzLnByb3BzUmVxdWlyZURpcnR5Qm94LmluZGV4T2YoZSkgJiYgKHMuaXNEaXJ0eUJveCA9ICEwKSwgLTEgIT09IHMucHJvcHNSZXF1aXJlUmVmbG93LmluZGV4T2YoZSkgJiYgKGggPyBzLmlzRGlydHlCb3ggPSAhMCA6IHIgPSAhMCk7CiAgICAgICAgICAgICAgfSkpLCAhcy5zdHlsZWRNb2RlICYmIGMuc3R5bGUgJiYgcy5yZW5kZXJlci5zZXRTdHlsZShzLm9wdGlvbnMuY2hhcnQuc3R5bGUgfHwge30pOwogICAgICAgICAgICB9CiAgICAgICAgICAgICFzLnN0eWxlZE1vZGUgJiYgdC5jb2xvcnMgJiYgKHRoaXMub3B0aW9ucy5jb2xvcnMgPSB0LmNvbG9ycyksIHQudGltZSAmJiAodGhpcy50aW1lID09PSBNICYmICh0aGlzLnRpbWUgPSBuZXcgZCh0LnRpbWUpKSwgVSghMCwgcy5vcHRpb25zLnRpbWUsIHQudGltZSkpLCBZKHQsIChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgc1tpXSAmJiAiZnVuY3Rpb24iID09PSB0eXBlb2Ygc1tpXS51cGRhdGUgPyBzW2ldLnVwZGF0ZShlLCAhMSkgOiAiZnVuY3Rpb24iID09PSB0eXBlb2Ygc1thW2ldXSA/IHNbYVtpXV0oZSkgOiAiY29sb3JzIiAhPT0gaSAmJiAtMSA9PT0gcy5jb2xsZWN0aW9uc1dpdGhVcGRhdGUuaW5kZXhPZihpKSAmJiBVKCEwLCBzLm9wdGlvbnNbaV0sIHRbaV0pLCAiY2hhcnQiICE9PSBpICYmIC0xICE9PSBzLnByb3BzUmVxdWlyZVVwZGF0ZVNlcmllcy5pbmRleE9mKGkpICYmIChvID0gITApOwogICAgICAgICAgICB9KSksIHRoaXMuY29sbGVjdGlvbnNXaXRoVXBkYXRlLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBpZiAodFtlXSkgewogICAgICAgICAgICAgICAgdmFyIG4gPSBbXTsKICAgICAgICAgICAgICAgIHNbZV0uZm9yRWFjaCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICB0Lm9wdGlvbnMuaXNJbnRlcm5hbCB8fCBuLnB1c2goVih0Lm9wdGlvbnMuaW5kZXgsIGUpKTsKICAgICAgICAgICAgICAgIH0pKSwgWih0W2VdKS5mb3JFYWNoKChmdW5jdGlvbih0LCBvKSB7CiAgICAgICAgICAgICAgICAgIHZhciByLCBhID0gaih0LmlkKTsKICAgICAgICAgICAgICAgICAgYSAmJiAociA9IHMuZ2V0KHQuaWQpKSwgIXIgJiYgc1tlXSAmJiAociA9IHNbZV1bbiA/IG5bb10gOiBvXSkgJiYgYSAmJiBqKHIub3B0aW9ucy5pZCkgJiYgKHIgPSB2b2lkIDApLCByICYmIHIuY29sbCA9PT0gZSAmJiAoci51cGRhdGUodCwgITEpLCBpICYmIChyLnRvdWNoZWQgPSAhMCkpLCAhciAmJiBpICYmIHMuY29sbGVjdGlvbnNXaXRoSW5pdFtlXSAmJiAocy5jb2xsZWN0aW9uc1dpdGhJbml0W2VdWzBdLmFwcGx5KHMsIFt0XS5jb25jYXQocy5jb2xsZWN0aW9uc1dpdGhJbml0W2VdWzFdIHx8IFtdKS5jb25jYXQoWyExXSkpLnRvdWNoZWQgPSAhMCk7CiAgICAgICAgICAgICAgICB9KSksIGkgJiYgc1tlXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIHQudG91Y2hlZCB8fCB0Lm9wdGlvbnMuaXNJbnRlcm5hbCA/IGRlbGV0ZSB0LnRvdWNoZWQgOiBsLnB1c2godCk7CiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSksIGwuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuY2hhcnQgJiYgdC5yZW1vdmUgJiYgdC5yZW1vdmUoITEpOwogICAgICAgICAgICB9KSksIHAgJiYgcy5heGVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0LnVwZGF0ZSh7fSwgITEpOwogICAgICAgICAgICB9KSksIG8gJiYgcy5nZXRTZXJpZXNPcmRlckJ5TGlua3MoKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5jaGFydCAmJiB0LnVwZGF0ZSh7fSwgITEpOwogICAgICAgICAgICB9KSwgdGhpcyksIHAgPSBjICYmIGMud2lkdGgsIGMgPSBjICYmIChYKGMuaGVpZ2h0KSA/IEsoYy5oZWlnaHQsIHAgfHwgcy5jaGFydFdpZHRoKSA6IGMuaGVpZ2h0KSwgciB8fCBXKHApICYmIHAgIT09IHMuY2hhcnRXaWR0aCB8fCBXKGMpICYmIGMgIT09IHMuY2hhcnRIZWlnaHQgPyBzLnNldFNpemUocCwgYywgbikgOiBWKGUsICEwKSAmJiBzLnJlZHJhdyhuKSwgTihzLCAiYWZ0ZXJVcGRhdGUiLCB7CiAgICAgICAgICAgICAgb3B0aW9uczogdCwKICAgICAgICAgICAgICByZWRyYXc6IGUsCiAgICAgICAgICAgICAgYW5pbWF0aW9uOiBuCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0U3VidGl0bGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHRoaXMuYXBwbHlEZXNjcmlwdGlvbigic3VidGl0bGUiLCB0KSwgdGhpcy5sYXlPdXRUaXRsZXMoZSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRDYXB0aW9uID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLmFwcGx5RGVzY3JpcHRpb24oImNhcHRpb24iLCB0KSwgdGhpcy5sYXlPdXRUaXRsZXMoZSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zaG93UmVzZXRab29tID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHQoKSB7CiAgICAgICAgICAgICAgZS56b29tT3V0KCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IEMubGFuZywgbiA9IGUub3B0aW9ucy5jaGFydC5yZXNldFpvb21CdXR0b24sIG8gPSBuLnRoZW1lLCByID0gby5zdGF0ZXMsCiAgICAgICAgICAgICAgcyA9ICJjaGFydCIgPT09IG4ucmVsYXRpdmVUbyB8fCAic3BhY2luZ0JveCIgPT09IG4ucmVsYXRpdmVUbyA/IG51bGwgOiAic2Nyb2xsYWJsZVBsb3RCb3giOwogICAgICAgICAgICBOKHRoaXMsICJiZWZvcmVTaG93UmVzZXRab29tIiwgbnVsbCwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGUucmVzZXRab29tQnV0dG9uID0gZS5yZW5kZXJlci5idXR0b24oaS5yZXNldFpvb20sIG51bGwsIG51bGwsIHQsIG8sIHIgJiYgci5ob3ZlcikuYXR0cih7CiAgICAgICAgICAgICAgICBhbGlnbjogbi5wb3NpdGlvbi5hbGlnbiwKICAgICAgICAgICAgICAgIHRpdGxlOiBpLnJlc2V0Wm9vbVRpdGxlCiAgICAgICAgICAgICAgfSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtcmVzZXQtem9vbSIpLmFkZCgpLmFsaWduKG4ucG9zaXRpb24sICExLCBzKTsKICAgICAgICAgICAgfSkpLCBOKHRoaXMsICJhZnRlclNob3dSZXNldFpvb20iKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnpvb21PdXQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgTih0aGlzLCAic2VsZWN0aW9uIiwgeyByZXNldFNlbGVjdGlvbjogITAgfSwgdGhpcy56b29tKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnpvb20gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlLCBpID0gdGhpcywgbiA9IGkucG9pbnRlciwgbyA9IGkuaW52ZXJ0ZWQgPyBuLm1vdXNlRG93blggOiBuLm1vdXNlRG93blksIHIgPSAhMTsKICAgICAgICAgICAgIXQgfHwgdC5yZXNldFNlbGVjdGlvbiA/IChpLmF4ZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGUgPSB0Lnpvb20oKTsKICAgICAgICAgICAgfSkpLCBuLmluaXRpYXRlZCA9ICExKSA6IHQueEF4aXMuY29uY2F0KHQueUF4aXMpLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgcyA9IHQuYXhpcywgYSA9IGkuaW52ZXJ0ZWQgPyBzLmxlZnQgOiBzLnRvcCwgaCA9IGkuaW52ZXJ0ZWQgPyBhICsgcy53aWR0aCA6IGEgKyBzLmhlaWdodCwgbCA9IHMuaXNYQXhpcywgYyA9ICExOwogICAgICAgICAgICAgICghbCAmJiBvID49IGEgJiYgbyA8PSBoIHx8IGwgfHwgIWoobykpICYmIChjID0gITApLCBuW2wgPyAiem9vbVgiIDogInpvb21ZIl0gJiYgYyAmJiAoZSA9IHMuem9vbSh0Lm1pbiwgdC5tYXgpLCBzLmRpc3BsYXlCdG4gJiYgKHIgPSAhMCkpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIHZhciBzID0gaS5yZXNldFpvb21CdXR0b247CiAgICAgICAgICAgIHIgJiYgIXMgPyBpLnNob3dSZXNldFpvb20oKSA6ICFyICYmIEYocykgJiYgKGkucmVzZXRab29tQnV0dG9uID0gcy5kZXN0cm95KCkpLCBlICYmIGkucmVkcmF3KFYoaS5vcHRpb25zLmNoYXJ0LmFuaW1hdGlvbiwgdCAmJiB0LmFuaW1hdGlvbiwgMTAwID4gaS5wb2ludENvdW50KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5wYW4gPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcywgbiA9IGkuaG92ZXJQb2ludHM7CiAgICAgICAgICAgIGUgPSAib2JqZWN0IiA9PT0gdHlwZW9mIGUgPyBlIDogeyBlbmFibGVkOiBlLCB0eXBlOiAieCIgfTsKICAgICAgICAgICAgdmFyIG8gPSBpLm9wdGlvbnMuY2hhcnQsIHIgPSBpLm9wdGlvbnMubWFwTmF2aWdhdGlvbiAmJiBpLm9wdGlvbnMubWFwTmF2aWdhdGlvbi5lbmFibGVkOwogICAgICAgICAgICBvICYmIG8ucGFubmluZyAmJiAoby5wYW5uaW5nID0gZSk7CiAgICAgICAgICAgIHZhciBzLCBhID0gZS50eXBlOwogICAgICAgICAgICBOKHRoaXMsICJwYW4iLCB7IG9yaWdpbmFsRXZlbnQ6IHQgfSwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIG4gJiYgbi5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LnNldFN0YXRlKCk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIHZhciBlID0gaS54QXhpczsKICAgICAgICAgICAgICAieHkiID09PSBhID8gZSA9IGUuY29uY2F0KGkueUF4aXMpIDogInkiID09PSBhICYmIChlID0gaS55QXhpcyk7CiAgICAgICAgICAgICAgdmFyIG8gPSB7fTsKICAgICAgICAgICAgICBlLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGlmIChlLm9wdGlvbnMucGFubmluZ0VuYWJsZWQgJiYgIWUub3B0aW9ucy5pc0ludGVybmFsKSB7CiAgICAgICAgICAgICAgICAgIHZhciBuID0gZS5ob3JpeiwgaCA9IHRbbiA/ICJjaGFydFgiIDogImNoYXJ0WSJdOwogICAgICAgICAgICAgICAgICBuID0gbiA/ICJtb3VzZURvd25YIiA6ICJtb3VzZURvd25ZIjsKICAgICAgICAgICAgICAgICAgdmFyIGwgPSBpW25dLCBjID0gZS5taW5Qb2ludE9mZnNldCB8fCAwLCBwID0gZS5yZXZlcnNlZCAmJiAhaS5pbnZlcnRlZCB8fCAhZS5yZXZlcnNlZCAmJiBpLmludmVydGVkID8gLTEgOiAxLCBkID0gZS5nZXRFeHRyZW1lcygpLAogICAgICAgICAgICAgICAgICAgIHUgPSBlLnRvVmFsdWUobCAtIGgsICEwKSArIGMgKiBwLCBmID0gZS50b1ZhbHVlKGwgKyBlLmxlbiAtIGgsICEwKSAtIChjICogcCB8fCBlLmlzWEF4aXMgJiYgZS5wb2ludFJhbmdlUGFkZGluZyB8fCAwKSwgZyA9IGYgPCB1OwogICAgICAgICAgICAgICAgICBwID0gZS5oYXNWZXJ0aWNhbFBhbm5pbmcoKSwgbCA9IGcgPyBmIDogdSwgdSA9IGcgPyB1IDogZjsKICAgICAgICAgICAgICAgICAgdmFyIG0gPSBlLnBhbm5pbmdTdGF0ZTsKICAgICAgICAgICAgICAgICAgIXAgfHwgZS5pc1hBeGlzIHx8IG0gJiYgIW0uaXNEaXJ0eSB8fCBlLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0LmdldFByb2Nlc3NlZERhdGEoITApOwogICAgICAgICAgICAgICAgICAgIGUgPSB0LmdldEV4dHJlbWVzKGUueURhdGEsICEwKSwgbSB8fCAobSA9IHsKICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0TWluOiBOdW1iZXIuTUFYX1ZBTFVFLAogICAgICAgICAgICAgICAgICAgICAgc3RhcnRNYXg6IC1OdW1iZXIuTUFYX1ZBTFVFCiAgICAgICAgICAgICAgICAgICAgfSksIFcoZS5kYXRhTWluKSAmJiBXKGUuZGF0YU1heCkgJiYgKG0uc3RhcnRNaW4gPSBNYXRoLm1pbihWKHQub3B0aW9ucy50aHJlc2hvbGQsIDEgLyAwKSwgZS5kYXRhTWluLCBtLnN0YXJ0TWluKSwgbS5zdGFydE1heCA9IE1hdGgubWF4KFYodC5vcHRpb25zLnRocmVzaG9sZCwgLTEgLyAwKSwgZS5kYXRhTWF4LCBtLnN0YXJ0TWF4KSk7CiAgICAgICAgICAgICAgICAgIH0pKSwgcCA9IE1hdGgubWluKFYobSAmJiBtLnN0YXJ0TWluLCBkLmRhdGFNaW4pLCBjID8gZC5taW4gOiBlLnRvVmFsdWUoZS50b1BpeGVscyhkLm1pbikgLSBlLm1pblBpeGVsUGFkZGluZykpLCBmID0gTWF0aC5tYXgoVihtICYmIG0uc3RhcnRNYXgsIGQuZGF0YU1heCksIGMgPyBkLm1heCA6IGUudG9WYWx1ZShlLnRvUGl4ZWxzKGQubWF4KSArIGUubWluUGl4ZWxQYWRkaW5nKSksIGUucGFubmluZ1N0YXRlID0gbSwgZS5pc09yZGluYWwgfHwgKGMgPSBwIC0gbCwgMCA8IGMgJiYgKHUgKz0gYywgbCA9IHApLCBjID0gdSAtIGYsIDAgPCBjICYmICh1ID0gZiwgbCAtPSBjKSwgZS5zZXJpZXMubGVuZ3RoICYmIGwgIT09IGQubWluICYmIHUgIT09IGQubWF4ICYmIGwgPj0gcCAmJiB1IDw9IGYgJiYgKGUuc2V0RXh0cmVtZXMobCwgdSwgITEsICExLCB7IHRyaWdnZXI6ICJwYW4iIH0pLCBpLnJlc2V0Wm9vbUJ1dHRvbiB8fCByIHx8IGwgPT09IHAgfHwgdSA9PT0gZiB8fCAhYS5tYXRjaCgieSIpIHx8IChpLnNob3dSZXNldFpvb20oKSwgZS5kaXNwbGF5QnRuID0gITEpLCBzID0gITApLCBvW25dID0gaCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkpLCBZKG8sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBpW2VdID0gdDsKICAgICAgICAgICAgICB9KSksIHMgJiYgaS5yZWRyYXcoITEpLCBMKGkuY29udGFpbmVyLCB7IGN1cnNvcjogIm1vdmUiIH0pOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0OwogICAgICAgIH0oKSwgQih0LnByb3RvdHlwZSwgewogICAgICAgICAgY2FsbGJhY2tzOiBbXSwKICAgICAgICAgIGNvbGxlY3Rpb25zV2l0aEluaXQ6IHsgeEF4aXM6IFt0LnByb3RvdHlwZS5hZGRBeGlzLCBbITBdXSwgeUF4aXM6IFt0LnByb3RvdHlwZS5hZGRBeGlzLCBbITFdXSwgc2VyaWVzOiBbdC5wcm90b3R5cGUuYWRkU2VyaWVzXSB9LAogICAgICAgICAgY29sbGVjdGlvbnNXaXRoVXBkYXRlOiBbInhBeGlzIiwgInlBeGlzIiwgInNlcmllcyJdLAogICAgICAgICAgcHJvcHNSZXF1aXJlRGlydHlCb3g6ICJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQ29sb3IgYm9yZGVyV2lkdGggYm9yZGVyUmFkaXVzIHBsb3RCYWNrZ3JvdW5kQ29sb3IgcGxvdEJhY2tncm91bmRJbWFnZSBwbG90Qm9yZGVyQ29sb3IgcGxvdEJvcmRlcldpZHRoIHBsb3RTaGFkb3cgc2hhZG93Ii5zcGxpdCgiICIpLAogICAgICAgICAgcHJvcHNSZXF1aXJlUmVmbG93OiAibWFyZ2luIG1hcmdpblRvcCBtYXJnaW5SaWdodCBtYXJnaW5Cb3R0b20gbWFyZ2luTGVmdCBzcGFjaW5nIHNwYWNpbmdUb3Agc3BhY2luZ1JpZ2h0IHNwYWNpbmdCb3R0b20gc3BhY2luZ0xlZnQiLnNwbGl0KCIgIiksCiAgICAgICAgICBwcm9wc1JlcXVpcmVVcGRhdGVTZXJpZXM6ICJjaGFydC5pbnZlcnRlZCBjaGFydC5wb2xhciBjaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMgY2hhcnQudHlwZSBjb2xvcnMgcGxvdE9wdGlvbnMgdGltZSB0b29sdGlwIi5zcGxpdCgiICIpCiAgICAgICAgfSksIHQ7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9MZWdlbmQvTGVnZW5kU3ltYm9sLmpzIiwgW2lbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCkgewogICAgICAgIHZhciBlLCBpID0gdC5tZXJnZSwgbiA9IHQucGljazsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgdC5kcmF3TGluZU1hcmtlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLm9wdGlvbnMsIG8gPSB0LnN5bWJvbFdpZHRoLCByID0gdC5zeW1ib2xIZWlnaHQsIHMgPSByIC8gMiwgYSA9IHRoaXMuY2hhcnQucmVuZGVyZXIsIGggPSB0aGlzLmxlZ2VuZEdyb3VwOwogICAgICAgICAgICB0ID0gdC5iYXNlbGluZSAtIE1hdGgucm91bmQoLjMgKiB0LmZvbnRNZXRyaWNzLmIpOwogICAgICAgICAgICB2YXIgbCA9IHt9LCBjID0gZS5tYXJrZXI7CiAgICAgICAgICAgIHRoaXMuY2hhcnQuc3R5bGVkTW9kZSB8fCAobCA9IHsgInN0cm9rZS13aWR0aCI6IGUubGluZVdpZHRoIHx8IDAgfSwgZS5kYXNoU3R5bGUgJiYgKGwuZGFzaHN0eWxlID0gZS5kYXNoU3R5bGUpKSwgdGhpcy5sZWdlbmRMaW5lID0gYS5wYXRoKFtbIk0iLCAwLCB0XSwgWyJMIiwgbywgdF1dKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1ncmFwaCIpLmF0dHIobCkuYWRkKGgpLCBjICYmICExICE9PSBjLmVuYWJsZWQgJiYgbyAmJiAoZSA9IE1hdGgubWluKG4oYy5yYWRpdXMsIHMpLCBzKSwgMCA9PT0gdGhpcy5zeW1ib2wuaW5kZXhPZigidXJsIikgJiYgKGMgPSBpKGMsIHsKICAgICAgICAgICAgICB3aWR0aDogciwKICAgICAgICAgICAgICBoZWlnaHQ6IHIKICAgICAgICAgICAgfSksIGUgPSAwKSwgdGhpcy5sZWdlbmRTeW1ib2wgPSBvID0gYS5zeW1ib2wodGhpcy5zeW1ib2wsIG8gLyAyIC0gZSwgdCAtIGUsIDIgKiBlLCAyICogZSwgYykuYWRkQ2xhc3MoImhpZ2hjaGFydHMtcG9pbnQiKS5hZGQoaCksIG8uaXNNYXJrZXIgPSAhMCk7CiAgICAgICAgICB9LCB0LmRyYXdSZWN0YW5nbGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdC5zeW1ib2xIZWlnaHQsIG8gPSB0Lm9wdGlvbnMuc3F1YXJlU3ltYm9sOwogICAgICAgICAgICBlLmxlZ2VuZFN5bWJvbCA9IHRoaXMuY2hhcnQucmVuZGVyZXIucmVjdChvID8gKHQuc3ltYm9sV2lkdGggLSBpKSAvIDIgOiAwLCB0LmJhc2VsaW5lIC0gaSArIDEsIG8gPyBpIDogdC5zeW1ib2xXaWR0aCwgaSwgbih0Lm9wdGlvbnMuc3ltYm9sUmFkaXVzLCBpIC8gMikpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXBvaW50IikuYXR0cih7IHpJbmRleDogMyB9KS5hZGQoZS5sZWdlbmRHcm91cCk7CiAgICAgICAgICB9OwogICAgICAgIH0oZSB8fCAoZSA9IHt9KSksIGU7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9TZXJpZXMvU2VyaWVzRGVmYXVsdHMuanMiLCBbXSwgKGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICBsaW5lV2lkdGg6IDIsCiAgICAgICAgICBhbGxvd1BvaW50U2VsZWN0OiAhMSwKICAgICAgICAgIGNyaXNwOiAhMCwKICAgICAgICAgIHNob3dDaGVja2JveDogITEsCiAgICAgICAgICBhbmltYXRpb246IHsgZHVyYXRpb246IDFlMyB9LAogICAgICAgICAgZXZlbnRzOiB7fSwKICAgICAgICAgIG1hcmtlcjogewogICAgICAgICAgICBlbmFibGVkVGhyZXNob2xkOiAyLAogICAgICAgICAgICBsaW5lQ29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgbGluZVdpZHRoOiAwLAogICAgICAgICAgICByYWRpdXM6IDQsCiAgICAgICAgICAgIHN0YXRlczogewogICAgICAgICAgICAgIG5vcm1hbDogeyBhbmltYXRpb246ICEwIH0sCiAgICAgICAgICAgICAgaG92ZXI6IHsgYW5pbWF0aW9uOiB7IGR1cmF0aW9uOiA1MCB9LCBlbmFibGVkOiAhMCwgcmFkaXVzUGx1czogMiwgbGluZVdpZHRoUGx1czogMSB9LAogICAgICAgICAgICAgIHNlbGVjdDogeyBmaWxsQ29sb3I6ICIjY2NjY2NjIiwgbGluZUNvbG9yOiAiIzAwMDAwMCIsIGxpbmVXaWR0aDogMiB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBwb2ludDogeyBldmVudHM6IHt9IH0sCiAgICAgICAgICBkYXRhTGFiZWxzOiB7CiAgICAgICAgICAgIGFuaW1hdGlvbjoge30sIGFsaWduOiAiY2VudGVyIiwgZGVmZXI6ICEwLCBmb3JtYXR0ZXI6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciB0ID0gdGhpcy5zZXJpZXMuY2hhcnQubnVtYmVyRm9ybWF0dGVyOwogICAgICAgICAgICAgIHJldHVybiAibnVtYmVyIiAhPT0gdHlwZW9mIHRoaXMueSA/ICIiIDogdCh0aGlzLnksIC0xKTsKICAgICAgICAgICAgfSwgcGFkZGluZzogNSwgc3R5bGU6IHsgZm9udFNpemU6ICIxMXB4IiwgZm9udFdlaWdodDogImJvbGQiLCBjb2xvcjogImNvbnRyYXN0IiwgdGV4dE91dGxpbmU6ICIxcHggY29udHJhc3QiIH0sIHZlcnRpY2FsQWxpZ246ICJib3R0b20iLCB4OiAwLCB5OiAwCiAgICAgICAgICB9LAogICAgICAgICAgY3JvcFRocmVzaG9sZDogMzAwLAogICAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICAgIHBvaW50UmFuZ2U6IDAsCiAgICAgICAgICBzb2Z0VGhyZXNob2xkOiAhMCwKICAgICAgICAgIHN0YXRlczogewogICAgICAgICAgICBub3JtYWw6IHsgYW5pbWF0aW9uOiAhMCB9LAogICAgICAgICAgICBob3ZlcjogeyBhbmltYXRpb246IHsgZHVyYXRpb246IDUwIH0sIGxpbmVXaWR0aFBsdXM6IDEsIG1hcmtlcjoge30sIGhhbG86IHsgc2l6ZTogMTAsIG9wYWNpdHk6IC4yNSB9IH0sCiAgICAgICAgICAgIHNlbGVjdDogeyBhbmltYXRpb246IHsgZHVyYXRpb246IDAgfSB9LAogICAgICAgICAgICBpbmFjdGl2ZTogeyBhbmltYXRpb246IHsgZHVyYXRpb246IDUwIH0sIG9wYWNpdHk6IC4yIH0KICAgICAgICAgIH0sCiAgICAgICAgICBzdGlja3lUcmFja2luZzogITAsCiAgICAgICAgICB0dXJib1RocmVzaG9sZDogMWUzLAogICAgICAgICAgZmluZE5lYXJlc3RQb2ludEJ5OiAieCIKICAgICAgICB9OwogICAgICB9KSksIGUoaSwgIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyIsIFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9EZWZhdWx0T3B0aW9ucy5qcyJdLCBpWyJDb3JlL0ZvdW5kYXRpb24uanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvTGVnZW5kL0xlZ2VuZFN5bWJvbC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9Qb2ludC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXNEZWZhdWx0cy5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgciwgcywgYSwgaCwgbCkgewogICAgICAgIHZhciBjID0gdC5hbmltT2JqZWN0LCBwID0gdC5zZXRBbmltYXRpb24sIGQgPSBlLmRlZmF1bHRPcHRpb25zLCB1ID0gaS5yZWdpc3RlckV2ZW50T3B0aW9ucywgZiA9IG4uaGFzVG91Y2gsIGcgPSBuLnN2ZywgbSA9IG4ud2luLCB5ID0gYS5zZXJpZXNUeXBlcywKICAgICAgICAgIHYgPSBsLmFkZEV2ZW50LCB4ID0gbC5hcnJheU1heCwgYiA9IGwuYXJyYXlNaW4sIF8gPSBsLmNsYW1wLCB3ID0gbC5jbGVhblJlY3Vyc2l2ZWx5LCBrID0gbC5jb3JyZWN0RmxvYXQsIFMgPSBsLmRlZmluZWQsIEMgPSBsLmVyYXNlLCBNID0gbC5lcnJvciwKICAgICAgICAgIEEgPSBsLmV4dGVuZCwgUCA9IGwuZmluZCwgTyA9IGwuZmlyZUV2ZW50LCBUID0gbC5nZXROZXN0ZWRQcm9wZXJ0eSwgRSA9IGwuaXNBcnJheSwgTCA9IGwuaXNOdW1iZXIsIGogPSBsLmlzU3RyaW5nLCBEID0gbC5tZXJnZSwgSSA9IGwub2JqZWN0RWFjaCwKICAgICAgICAgIHogPSBsLnBpY2ssIEIgPSBsLnJlbW92ZUV2ZW50LCBSID0gbC5zcGxhdCwgTiA9IGwuc3luY1RpbWVvdXQ7CiAgICAgICAgcmV0dXJuIHQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGZ1bmN0aW9uIHQoKSB7CiAgICAgICAgICAgIHRoaXMuem9uZXMgPSB0aGlzLnlBeGlzID0gdGhpcy54QXhpcyA9IHRoaXMudXNlck9wdGlvbnMgPSB0aGlzLnRvb2x0aXBPcHRpb25zID0gdGhpcy5wcm9jZXNzZWRZRGF0YSA9IHRoaXMucHJvY2Vzc2VkWERhdGEgPSB0aGlzLnBvaW50cyA9IHRoaXMub3B0aW9ucyA9IHRoaXMubGlua2VkU2VyaWVzID0gdGhpcy5pbmRleCA9IHRoaXMuZXZlbnRzVG9VbmJpbmQgPSB0aGlzLmV2ZW50T3B0aW9ucyA9IHRoaXMuZGF0YSA9IHRoaXMuY2hhcnQgPSB0aGlzLl9pID0gdm9pZCAwOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICBPKHRoaXMsICJpbml0IiwgeyBvcHRpb25zOiBlIH0pOwogICAgICAgICAgICB2YXIgaSA9IHRoaXMsIG4gPSB0LnNlcmllczsKICAgICAgICAgICAgdGhpcy5ldmVudHNUb1VuYmluZCA9IFtdLCBpLmNoYXJ0ID0gdCwgaS5vcHRpb25zID0gaS5zZXRPcHRpb25zKGUpLCBlID0gaS5vcHRpb25zLCBpLmxpbmtlZFNlcmllcyA9IFtdLCBpLmJpbmRBeGVzKCksIEEoaSwgewogICAgICAgICAgICAgIG5hbWU6IGUubmFtZSwKICAgICAgICAgICAgICBzdGF0ZTogIiIsCiAgICAgICAgICAgICAgdmlzaWJsZTogITEgIT09IGUudmlzaWJsZSwKICAgICAgICAgICAgICBzZWxlY3RlZDogITAgPT09IGUuc2VsZWN0ZWQKICAgICAgICAgICAgfSksIHUodGhpcywgZSk7CiAgICAgICAgICAgIHZhciBvLCByID0gZS5ldmVudHM7CiAgICAgICAgICAgIChyICYmIHIuY2xpY2sgfHwgZS5wb2ludCAmJiBlLnBvaW50LmV2ZW50cyAmJiBlLnBvaW50LmV2ZW50cy5jbGljayB8fCBlLmFsbG93UG9pbnRTZWxlY3QpICYmICh0LnJ1blRyYWNrZXJDbGljayA9ICEwKSwgaS5nZXRDb2xvcigpLCBpLmdldFN5bWJvbCgpLCBpLnBhcmFsbGVsQXJyYXlzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBpW3QgKyAiRGF0YSJdIHx8IChpW3QgKyAiRGF0YSJdID0gW10pOwogICAgICAgICAgICB9KSksIGkuaXNDYXJ0ZXNpYW4gJiYgKHQuaGFzQ2FydGVzaWFuU2VyaWVzID0gITApLCBuLmxlbmd0aCAmJiAobyA9IG5bbi5sZW5ndGggLSAxXSksIGkuX2kgPSB6KG8gJiYgby5faSwgLTEpICsgMSwgaS5vcGFjaXR5ID0gaS5vcHRpb25zLm9wYWNpdHksIHQub3JkZXJTZXJpZXModGhpcy5pbnNlcnQobikpLCBlLmRhdGFTb3J0aW5nICYmIGUuZGF0YVNvcnRpbmcuZW5hYmxlZCA/IGkuc2V0RGF0YVNvcnRpbmdPcHRpb25zKCkgOiBpLnBvaW50cyB8fCBpLmRhdGEgfHwgaS5zZXREYXRhKGUuZGF0YSwgITEpLCBPKHRoaXMsICJhZnRlckluaXQiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmlzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4geVt0XSAmJiB0aGlzIGluc3RhbmNlb2YgeVt0XTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmluc2VydCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUsIGkgPSB0aGlzLm9wdGlvbnMuaW5kZXg7CiAgICAgICAgICAgIGlmIChMKGkpKSB7CiAgICAgICAgICAgICAgZm9yIChlID0gdC5sZW5ndGg7IGUtLTspIGlmIChpID49IHoodFtlXS5vcHRpb25zLmluZGV4LCB0W2VdLl9pKSkgewogICAgICAgICAgICAgICAgdC5zcGxpY2UoZSArIDEsIDAsIHRoaXMpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC0xID09PSBlICYmIHQudW5zaGlmdCh0aGlzKSwgZSArPSAxOwogICAgICAgICAgICB9IGVsc2UgdC5wdXNoKHRoaXMpOwogICAgICAgICAgICByZXR1cm4geihlLCB0Lmxlbmd0aCAtIDEpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYmluZEF4ZXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUgPSB0aGlzLCBpID0gZS5vcHRpb25zLCBuID0gZS5jaGFydDsKICAgICAgICAgICAgTyh0aGlzLCAiYmluZEF4ZXMiLCBudWxsLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgKGUuYXhpc1R5cGVzIHx8IFtdKS5mb3JFYWNoKChmdW5jdGlvbihvKSB7CiAgICAgICAgICAgICAgICB2YXIgciA9IDA7CiAgICAgICAgICAgICAgICBuW29dLmZvckVhY2goKGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgICAgICAgdCA9IG4ub3B0aW9ucywgKGlbb10gPT09IHIgJiYgIXQuaXNJbnRlcm5hbCB8fCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGlbb10gJiYgaVtvXSA9PT0gdC5pZCB8fCAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIGlbb10gJiYgMCA9PT0gdC5pbmRleCkgJiYgKGUuaW5zZXJ0KG4uc2VyaWVzKSwgZVtvXSA9IG4sIG4uaXNEaXJ0eSA9ICEwKSwgdC5pc0ludGVybmFsIHx8IHIrKzsKICAgICAgICAgICAgICAgIH0pKSwgZVtvXSB8fCBlLm9wdGlvbmFsQXhpcyA9PT0gbyB8fCBNKDE4LCAhMCwgbik7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9KSksIE8odGhpcywgImFmdGVyQmluZEF4ZXMiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZVBhcmFsbGVsQXJyYXlzID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHQuc2VyaWVzLCBuID0gYXJndW1lbnRzLCBvID0gTChlKSA/IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgICB2YXIgbyA9ICJ5IiA9PT0gbiAmJiBpLnRvWURhdGEgPyBpLnRvWURhdGEodCkgOiB0W25dOwogICAgICAgICAgICAgIGlbbiArICJEYXRhIl1bZV0gPSBvOwogICAgICAgICAgICB9IDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVtlXS5hcHBseShpW3QgKyAiRGF0YSJdLCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLCAyKSk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGkucGFyYWxsZWxBcnJheXMuZm9yRWFjaChvKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmhhc0RhdGEgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMudmlzaWJsZSAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHRoaXMuZGF0YU1heCAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHRoaXMuZGF0YU1pbiB8fCB0aGlzLnZpc2libGUgJiYgdGhpcy55RGF0YSAmJiAwIDwgdGhpcy55RGF0YS5sZW5ndGg7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hdXRvSW5jcmVtZW50ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSwgaSA9IHRoaXMub3B0aW9ucywgbiA9IGkucG9pbnRJbnRlcnZhbFVuaXQsIG8gPSBpLnJlbGF0aXZlWFZhbHVlLCByID0gdGhpcy5jaGFydC50aW1lLCBzID0gdGhpcy54SW5jcmVtZW50OwogICAgICAgICAgICByZXR1cm4gcyA9IHoocywgaS5wb2ludFN0YXJ0LCAwKSwgdGhpcy5wb2ludEludGVydmFsID0gZSA9IHoodGhpcy5wb2ludEludGVydmFsLCBpLnBvaW50SW50ZXJ2YWwsIDEpLCBvICYmIEwodCkgJiYgKGUgKj0gdCksIG4gJiYgKGkgPSBuZXcgci5EYXRlKHMpLCAiZGF5IiA9PT0gbiA/IHIuc2V0KCJEYXRlIiwgaSwgci5nZXQoIkRhdGUiLCBpKSArIGUpIDogIm1vbnRoIiA9PT0gbiA/IHIuc2V0KCJNb250aCIsIGksIHIuZ2V0KCJNb250aCIsIGkpICsgZSkgOiAieWVhciIgPT09IG4gJiYgci5zZXQoIkZ1bGxZZWFyIiwgaSwgci5nZXQoIkZ1bGxZZWFyIiwgaSkgKyBlKSwgZSA9IGkuZ2V0VGltZSgpIC0gcyksIG8gJiYgTCh0KSA/IHMgKyBlIDogKHRoaXMueEluY3JlbWVudCA9IHMgKyBlLCBzKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldERhdGFTb3J0aW5nT3B0aW9ucyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgQSh0aGlzLCB7IHJlcXVpcmVTb3J0aW5nOiAhMSwgc29ydGVkOiAhMSwgZW5hYmxlZERhdGFTb3J0aW5nOiAhMCwgYWxsb3dERzogITEgfSksIFModC5wb2ludFJhbmdlKSB8fCAodC5wb2ludFJhbmdlID0gMSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRPcHRpb25zID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQsIGkgPSBlLm9wdGlvbnMsIG4gPSBpLnBsb3RPcHRpb25zLCBvID0gZS51c2VyT3B0aW9ucyB8fCB7fTsKICAgICAgICAgICAgdCA9IEQodCksIGUgPSBlLnN0eWxlZE1vZGU7CiAgICAgICAgICAgIHZhciByID0geyBwbG90T3B0aW9uczogbiwgdXNlck9wdGlvbnM6IHQgfTsKICAgICAgICAgICAgTyh0aGlzLCAic2V0T3B0aW9ucyIsIHIpOwogICAgICAgICAgICB2YXIgcyA9IHIucGxvdE9wdGlvbnNbdGhpcy50eXBlXSwgYSA9IG8ucGxvdE9wdGlvbnMgfHwge307CiAgICAgICAgICAgIHJldHVybiB0aGlzLnVzZXJPcHRpb25zID0gci51c2VyT3B0aW9ucywgbyA9IEQocywgbi5zZXJpZXMsIG8ucGxvdE9wdGlvbnMgJiYgby5wbG90T3B0aW9uc1t0aGlzLnR5cGVdLCB0KSwgdGhpcy50b29sdGlwT3B0aW9ucyA9IEQoZC50b29sdGlwLCBkLnBsb3RPcHRpb25zLnNlcmllcyAmJiBkLnBsb3RPcHRpb25zLnNlcmllcy50b29sdGlwLCBkLnBsb3RPcHRpb25zW3RoaXMudHlwZV0udG9vbHRpcCwgaS50b29sdGlwLnVzZXJPcHRpb25zLCBuLnNlcmllcyAmJiBuLnNlcmllcy50b29sdGlwLCBuW3RoaXMudHlwZV0udG9vbHRpcCwgdC50b29sdGlwKSwgdGhpcy5zdGlja3lUcmFja2luZyA9IHoodC5zdGlja3lUcmFja2luZywgYVt0aGlzLnR5cGVdICYmIGFbdGhpcy50eXBlXS5zdGlja3lUcmFja2luZywgYS5zZXJpZXMgJiYgYS5zZXJpZXMuc3RpY2t5VHJhY2tpbmcsICEoIXRoaXMudG9vbHRpcE9wdGlvbnMuc2hhcmVkIHx8IHRoaXMubm9TaGFyZWRUb29sdGlwKSB8fCBvLnN0aWNreVRyYWNraW5nKSwgbnVsbCA9PT0gcy5tYXJrZXIgJiYgZGVsZXRlIG8ubWFya2VyLCB0aGlzLnpvbmVBeGlzID0gby56b25lQXhpcywgbiA9IHRoaXMuem9uZXMgPSAoby56b25lcyB8fCBbXSkuc2xpY2UoKSwgIW8ubmVnYXRpdmVDb2xvciAmJiAhby5uZWdhdGl2ZUZpbGxDb2xvciB8fCBvLnpvbmVzIHx8IChpID0gewogICAgICAgICAgICAgIHZhbHVlOiBvW3RoaXMuem9uZUF4aXMgKyAiVGhyZXNob2xkIl0gfHwgby50aHJlc2hvbGQgfHwgMCwKICAgICAgICAgICAgICBjbGFzc05hbWU6ICJoaWdoY2hhcnRzLW5lZ2F0aXZlIgogICAgICAgICAgICB9LCBlIHx8IChpLmNvbG9yID0gby5uZWdhdGl2ZUNvbG9yLCBpLmZpbGxDb2xvciA9IG8ubmVnYXRpdmVGaWxsQ29sb3IpLCBuLnB1c2goaSkpLCBuLmxlbmd0aCAmJiBTKG5bbi5sZW5ndGggLSAxXS52YWx1ZSkgJiYgbi5wdXNoKGUgPyB7fSA6IHsKICAgICAgICAgICAgICBjb2xvcjogdGhpcy5jb2xvciwKICAgICAgICAgICAgICBmaWxsQ29sb3I6IHRoaXMuZmlsbENvbG9yCiAgICAgICAgICAgIH0pLCBPKHRoaXMsICJhZnRlclNldE9wdGlvbnMiLCB7IG9wdGlvbnM6IG8gfSksIG87CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXROYW1lID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB6KHRoaXMub3B0aW9ucy5uYW1lLCAiU2VyaWVzICIgKyAodGhpcy5pbmRleCArIDEpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldEN5Y2xpYyA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmNoYXJ0LCBvID0gdGhpcy51c2VyT3B0aW9ucywgciA9IHQgKyAiSW5kZXgiLCBzID0gdCArICJDb3VudGVyIiwgYSA9IGkgPyBpLmxlbmd0aCA6IHoobi5vcHRpb25zLmNoYXJ0W3QgKyAiQ291bnQiXSwgblt0ICsgIkNvdW50Il0pOwogICAgICAgICAgICBpZiAoIWUpIHsKICAgICAgICAgICAgICB2YXIgaCA9IHoob1tyXSwgb1siXyIgKyByXSk7CiAgICAgICAgICAgICAgUyhoKSB8fCAobi5zZXJpZXMubGVuZ3RoIHx8IChuW3NdID0gMCksIG9bIl8iICsgcl0gPSBoID0gbltzXSAlIGEsIG5bc10gKz0gMSksIGkgJiYgKGUgPSBpW2hdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGggJiYgKHRoaXNbcl0gPSBoKSwgdGhpc1t0XSA9IGU7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRDb2xvciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmNoYXJ0LnN0eWxlZE1vZGUgPyB0aGlzLmdldEN5Y2xpYygiY29sb3IiKSA6IHRoaXMub3B0aW9ucy5jb2xvckJ5UG9pbnQgPyB0aGlzLmNvbG9yID0gIiNjY2NjY2MiIDogdGhpcy5nZXRDeWNsaWMoImNvbG9yIiwgdGhpcy5vcHRpb25zLmNvbG9yIHx8IGQucGxvdE9wdGlvbnNbdGhpcy50eXBlXS5jb2xvciwgdGhpcy5jaGFydC5vcHRpb25zLmNvbG9ycyk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRQb2ludHNDb2xsZWN0aW9uID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiAodGhpcy5oYXNHcm91cGVkRGF0YSA/IHRoaXMucG9pbnRzIDogdGhpcy5kYXRhKSB8fCBbXTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFN5bWJvbCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmdldEN5Y2xpYygic3ltYm9sIiwgdGhpcy5vcHRpb25zLm1hcmtlci5zeW1ib2wsIHRoaXMuY2hhcnQub3B0aW9ucy5zeW1ib2xzKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmZpbmRQb2ludEluZGV4ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSwgbiwgbyA9IHQuaWQsIHMgPSB0LngsIGEgPSB0aGlzLnBvaW50cywgaCA9IHRoaXMub3B0aW9ucy5kYXRhU29ydGluZzsKICAgICAgICAgICAgaWYgKG8pIGggPSB0aGlzLmNoYXJ0LmdldChvKSwgaCBpbnN0YW5jZW9mIHIgJiYgKGkgPSBoKTsgZWxzZSBpZiAoKHRoaXMubGlua2VkUGFyZW50IHx8IHRoaXMuZW5hYmxlZERhdGFTb3J0aW5nIHx8IHRoaXMub3B0aW9ucy5yZWxhdGl2ZVhWYWx1ZSkgJiYgKGkgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgcmV0dXJuICFlLnRvdWNoZWQgJiYgZS5pbmRleCA9PT0gdC5pbmRleDsKICAgICAgICAgICAgfSwgaCAmJiBoLm1hdGNoQnlOYW1lID8gaSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICByZXR1cm4gIWUudG91Y2hlZCAmJiBlLm5hbWUgPT09IHQubmFtZTsKICAgICAgICAgICAgfSA6IHRoaXMub3B0aW9ucy5yZWxhdGl2ZVhWYWx1ZSAmJiAoaSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICByZXR1cm4gIWUudG91Y2hlZCAmJiBlLm9wdGlvbnMueCA9PT0gdC54OwogICAgICAgICAgICB9KSwgaSA9IFAoYSwgaSksICFpKSkgcmV0dXJuOwogICAgICAgICAgICBpZiAoaSkgewogICAgICAgICAgICAgIHZhciBsID0gaSAmJiBpLmluZGV4OwogICAgICAgICAgICAgICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgbCAmJiAobiA9ICEwKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gInVuZGVmaW5lZCIgPT09IHR5cGVvZiBsICYmIEwocykgJiYgKGwgPSB0aGlzLnhEYXRhLmluZGV4T2YocywgZSkpLCAtMSAhPT0gbCAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGwgJiYgdGhpcy5jcm9wcGVkICYmIChsID0gbCA+PSB0aGlzLmNyb3BTdGFydCA/IGwgLSB0aGlzLmNyb3BTdGFydCA6IGwpLCAhbiAmJiBMKGwpICYmIGFbbF0gJiYgYVtsXS50b3VjaGVkICYmIChsID0gdm9pZCAwKSwgbDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZURhdGEgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpLCBuLCBvLCByID0gdGhpcy5vcHRpb25zLCBzID0gci5kYXRhU29ydGluZywgYSA9IHRoaXMucG9pbnRzLCBoID0gW10sIGwgPSB0aGlzLnJlcXVpcmVTb3J0aW5nLCBjID0gdC5sZW5ndGggPT09IGEubGVuZ3RoLCBwID0gITA7CiAgICAgICAgICAgIGlmICh0aGlzLnhJbmNyZW1lbnQgPSBudWxsLCB0LmZvckVhY2goKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB2YXIgbiA9IFModCkgJiYgdGhpcy5wb2ludENsYXNzLnByb3RvdHlwZS5vcHRpb25zVG9PYmplY3QuY2FsbCh7IHNlcmllczogdGhpcyB9LCB0KSB8fCB7fSwgcCA9IG4ueDsKICAgICAgICAgICAgICBuLmlkIHx8IEwocCkgPyAobiA9IHRoaXMuZmluZFBvaW50SW5kZXgobiwgbyksIC0xID09PSBuIHx8ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgbiA/IGgucHVzaCh0KSA6IGFbbl0gJiYgdCAhPT0gci5kYXRhW25dID8gKGFbbl0udXBkYXRlKHQsICExLCBudWxsLCAhMSksIGFbbl0udG91Y2hlZCA9ICEwLCBsICYmIChvID0gbiArIDEpKSA6IGFbbl0gJiYgKGFbbl0udG91Y2hlZCA9ICEwKSwgKCFjIHx8IGUgIT09IG4gfHwgcyAmJiBzLmVuYWJsZWQgfHwgdGhpcy5oYXNEZXJpdmVkRGF0YSkgJiYgKGkgPSAhMCkpIDogaC5wdXNoKHQpOwogICAgICAgICAgICB9KSwgdGhpcyksIGkpIGZvciAodCA9IGEubGVuZ3RoOyB0LS07KSAobiA9IGFbdF0pICYmICFuLnRvdWNoZWQgJiYgbi5yZW1vdmUgJiYgbi5yZW1vdmUoITEsIGUpOyBlbHNlICFjIHx8IHMgJiYgcy5lbmFibGVkID8gcCA9ICExIDogKHQuZm9yRWFjaCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQgIT09IGFbZV0ueSAmJiBhW2VdLnVwZGF0ZSAmJiBhW2VdLnVwZGF0ZSh0LCAhMSwgbnVsbCwgITEpOwogICAgICAgICAgICB9KSksIGgubGVuZ3RoID0gMCk7CiAgICAgICAgICAgIHJldHVybiBhLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0ICYmICh0LnRvdWNoZWQgPSAhMSk7CiAgICAgICAgICAgIH0pKSwgISFwICYmIChoLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0aGlzLmFkZFBvaW50KHQsICExLCBudWxsLCBudWxsLCAhMSk7CiAgICAgICAgICAgIH0pLCB0aGlzKSwgbnVsbCA9PT0gdGhpcy54SW5jcmVtZW50ICYmIHRoaXMueERhdGEgJiYgdGhpcy54RGF0YS5sZW5ndGggJiYgKHRoaXMueEluY3JlbWVudCA9IHgodGhpcy54RGF0YSksIHRoaXMuYXV0b0luY3JlbWVudCgpKSwgITApOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0RGF0YSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLCByID0gby5wb2ludHMsIHMgPSByICYmIHIubGVuZ3RoIHx8IDAsIGEgPSBvLm9wdGlvbnMsIGggPSBvLmNoYXJ0LCBsID0gYS5kYXRhU29ydGluZywgYyA9IG8ueEF4aXMsIHAgPSBhLnR1cmJvVGhyZXNob2xkLAogICAgICAgICAgICAgIGQgPSB0aGlzLnhEYXRhLCB1ID0gdGhpcy55RGF0YSwgZiA9IG8ucG9pbnRBcnJheU1hcDsKICAgICAgICAgICAgZiA9IGYgJiYgZi5sZW5ndGg7CiAgICAgICAgICAgIHZhciBnLCBtID0gYS5rZXlzLCB5ID0gMCwgdiA9IDEsIHggPSBudWxsOwogICAgICAgICAgICB0ID0gdCB8fCBbXTsKICAgICAgICAgICAgdmFyIGIgPSB0Lmxlbmd0aDsKICAgICAgICAgICAgaWYgKGUgPSB6KGUsICEwKSwgbCAmJiBsLmVuYWJsZWQgJiYgKHQgPSB0aGlzLnNvcnREYXRhKHQpKSwgITEgIT09IG4gJiYgYiAmJiBzICYmICFvLmNyb3BwZWQgJiYgIW8uaGFzR3JvdXBlZERhdGEgJiYgby52aXNpYmxlICYmICFvLmlzU2VyaWVzQm9vc3RpbmcgJiYgKGcgPSB0aGlzLnVwZGF0ZURhdGEodCwgaSkpLCAhZykgewogICAgICAgICAgICAgIGlmIChvLnhJbmNyZW1lbnQgPSBudWxsLCBvLmNvbG9yQ291bnRlciA9IDAsIHRoaXMucGFyYWxsZWxBcnJheXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgb1t0ICsgIkRhdGEiXS5sZW5ndGggPSAwOwogICAgICAgICAgICAgIH0pKSwgcCAmJiBiID4gcCkgaWYgKHggPSBvLmdldEZpcnN0VmFsaWRQb2ludCh0KSwgTCh4KSkgZm9yIChpID0gMDsgaSA8IGI7IGkrKykgZFtpXSA9IHRoaXMuYXV0b0luY3JlbWVudCgpLCB1W2ldID0gdFtpXTsgZWxzZSBpZiAoRSh4KSkgaWYgKGYpIGlmICh4Lmxlbmd0aCA9PT0gZikgZm9yIChpID0gMDsgaSA8IGI7IGkrKykgZFtpXSA9IHRoaXMuYXV0b0luY3JlbWVudCgpLCB1W2ldID0gdFtpXTsgZWxzZSBmb3IgKGkgPSAwOyBpIDwgYjsgaSsrKSBuID0gdFtpXSwgZFtpXSA9IG5bMF0sIHVbaV0gPSBuLnNsaWNlKDEsIGYgKyAxKTsgZWxzZSBpZiAobSAmJiAoeSA9IG0uaW5kZXhPZigieCIpLCB2ID0gbS5pbmRleE9mKCJ5IiksIHkgPSAwIDw9IHkgPyB5IDogMCwgdiA9IDAgPD0gdiA/IHYgOiAxKSwgMSA9PT0geC5sZW5ndGggJiYgKHYgPSAwKSwgeSA9PT0gdikgZm9yIChpID0gMDsgaSA8IGI7IGkrKykgZFtpXSA9IHRoaXMuYXV0b0luY3JlbWVudCgpLCB1W2ldID0gdFtpXVt2XTsgZWxzZSBmb3IgKGkgPSAwOyBpIDwgYjsgaSsrKSBuID0gdFtpXSwgZFtpXSA9IG5beV0sIHVbaV0gPSBuW3ZdOyBlbHNlIE0oMTIsICExLCBoKTsgZWxzZSBmb3IgKGkgPSAwOyBpIDwgYjsgaSsrKSAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHRbaV0gJiYgKG4gPSB7IHNlcmllczogbyB9LCBvLnBvaW50Q2xhc3MucHJvdG90eXBlLmFwcGx5T3B0aW9ucy5hcHBseShuLCBbdFtpXV0pLCBvLnVwZGF0ZVBhcmFsbGVsQXJyYXlzKG4sIGkpKTsKICAgICAgICAgICAgICBmb3IgKHUgJiYgaih1WzBdKSAmJiBNKDE0LCAhMCwgaCksIG8uZGF0YSA9IFtdLCBvLm9wdGlvbnMuZGF0YSA9IG8udXNlck9wdGlvbnMuZGF0YSA9IHQsIGkgPSBzOyBpLS07KSByW2ldICYmIHJbaV0uZGVzdHJveSAmJiByW2ldLmRlc3Ryb3koKTsKICAgICAgICAgICAgICBjICYmIChjLm1pblJhbmdlID0gYy51c2VyTWluUmFuZ2UpLCBvLmlzRGlydHkgPSBoLmlzRGlydHlCb3ggPSAhMCwgby5pc0RpcnR5RGF0YSA9ICEhciwgaSA9ICExOwogICAgICAgICAgICB9CiAgICAgICAgICAgICJwb2ludCIgPT09IGEubGVnZW5kVHlwZSAmJiAodGhpcy5wcm9jZXNzRGF0YSgpLCB0aGlzLmdlbmVyYXRlUG9pbnRzKCkpLCBlICYmIGgucmVkcmF3KGkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc29ydERhdGEgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IGUub3B0aW9ucy5kYXRhU29ydGluZy5zb3J0S2V5IHx8ICJ5IiwgbiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gUyhlKSAmJiB0LnBvaW50Q2xhc3MucHJvdG90eXBlLm9wdGlvbnNUb09iamVjdC5jYWxsKHsgc2VyaWVzOiB0IH0sIGUpIHx8IHt9OwogICAgICAgICAgICB9OwogICAgICAgICAgICByZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbihpLCBvKSB7CiAgICAgICAgICAgICAgdFtvXSA9IG4oZSwgaSksIHRbb10uaW5kZXggPSBvOwogICAgICAgICAgICB9KSwgdGhpcyksIHQuY29uY2F0KCkuc29ydCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHJldHVybiB0ID0gVChpLCB0KSwgZSA9IFQoaSwgZSksIGUgPCB0ID8gLTEgOiBlID4gdCA/IDEgOiAwOwogICAgICAgICAgICB9KSkuZm9yRWFjaCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQueCA9IGU7CiAgICAgICAgICAgIH0pLCB0aGlzKSwgZS5saW5rZWRTZXJpZXMgJiYgZS5saW5rZWRTZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHZhciBpID0gZS5vcHRpb25zLCBvID0gaS5kYXRhOwogICAgICAgICAgICAgIGkuZGF0YVNvcnRpbmcgJiYgaS5kYXRhU29ydGluZy5lbmFibGVkIHx8ICFvIHx8IChvLmZvckVhY2goKGZ1bmN0aW9uKGksIHIpIHsKICAgICAgICAgICAgICAgIG9bcl0gPSBuKGUsIGkpLCB0W3JdICYmIChvW3JdLnggPSB0W3JdLngsIG9bcl0uaW5kZXggPSByKTsKICAgICAgICAgICAgICB9KSksIGUuc2V0RGF0YShvLCAhMSkpOwogICAgICAgICAgICB9KSksIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRQcm9jZXNzZWREYXRhID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMueEF4aXMsIGkgPSB0aGlzLm9wdGlvbnMsIG4gPSBpLmNyb3BUaHJlc2hvbGQsIG8gPSB0IHx8IHRoaXMuZ2V0RXh0cmVtZXNGcm9tQWxsIHx8IGkuZ2V0RXh0cmVtZXNGcm9tQWxsLCByID0gdGhpcy5pc0NhcnRlc2lhbjsKICAgICAgICAgICAgdCA9IGUgJiYgZS52YWwybGluLCBpID0gISghZSB8fCAhZS5sb2dhcml0aG1pYyk7CiAgICAgICAgICAgIHZhciBzID0gMCwgYSA9IHRoaXMueERhdGEsIGggPSB0aGlzLnlEYXRhLCBsID0gdGhpcy5yZXF1aXJlU29ydGluZywgYyA9ICExLCBwID0gYS5sZW5ndGg7CiAgICAgICAgICAgIGlmIChlKSB7CiAgICAgICAgICAgICAgYyA9IGUuZ2V0RXh0cmVtZXMoKTsKICAgICAgICAgICAgICB2YXIgZCA9IGMubWluLCB1ID0gYy5tYXg7CiAgICAgICAgICAgICAgYyA9IGUuY2F0ZWdvcmllcyAmJiAhZS5uYW1lcy5sZW5ndGg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHIgJiYgdGhpcy5zb3J0ZWQgJiYgIW8gJiYgKCFuIHx8IHAgPiBuIHx8IHRoaXMuZm9yY2VDcm9wKSkgaWYgKGFbcCAtIDFdIDwgZCB8fCBhWzBdID4gdSkgYSA9IFtdLCBoID0gW107IGVsc2UgaWYgKHRoaXMueURhdGEgJiYgKGFbMF0gPCBkIHx8IGFbcCAtIDFdID4gdSkpIHsKICAgICAgICAgICAgICB2YXIgZiA9IHRoaXMuY3JvcERhdGEodGhpcy54RGF0YSwgdGhpcy55RGF0YSwgZCwgdSk7CiAgICAgICAgICAgICAgYSA9IGYueERhdGEsIGggPSBmLnlEYXRhLCBzID0gZi5zdGFydCwgZiA9ICEwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciAobiA9IGEubGVuZ3RoIHx8IDE7IC0tbjspIGlmIChlID0gaSA/IHQoYVtuXSkgLSB0KGFbbiAtIDFdKSA6IGFbbl0gLSBhW24gLSAxXSwgMCA8IGUgJiYgKCJ1bmRlZmluZWQiID09PSB0eXBlb2YgZyB8fCBlIDwgZykpIHZhciBnID0gZTsgZWxzZSAwID4gZSAmJiBsICYmICFjICYmIChNKDE1LCAhMSwgdGhpcy5jaGFydCksIGwgPSAhMSk7CiAgICAgICAgICAgIHJldHVybiB7IHhEYXRhOiBhLCB5RGF0YTogaCwgY3JvcHBlZDogZiwgY3JvcFN0YXJ0OiBzLCBjbG9zZXN0UG9pbnRSYW5nZTogZyB9OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucHJvY2Vzc0RhdGEgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy54QXhpczsKICAgICAgICAgICAgaWYgKHRoaXMuaXNDYXJ0ZXNpYW4gJiYgIXRoaXMuaXNEaXJ0eSAmJiAhZS5pc0RpcnR5ICYmICF0aGlzLnlBeGlzLmlzRGlydHkgJiYgIXQpIHJldHVybiAhMTsKICAgICAgICAgICAgdCA9IHRoaXMuZ2V0UHJvY2Vzc2VkRGF0YSgpLCB0aGlzLmNyb3BwZWQgPSB0LmNyb3BwZWQsIHRoaXMuY3JvcFN0YXJ0ID0gdC5jcm9wU3RhcnQsIHRoaXMucHJvY2Vzc2VkWERhdGEgPSB0LnhEYXRhLCB0aGlzLnByb2Nlc3NlZFlEYXRhID0gdC55RGF0YSwgdGhpcy5jbG9zZXN0UG9pbnRSYW5nZSA9IHRoaXMuYmFzZVBvaW50UmFuZ2UgPSB0LmNsb3Nlc3RQb2ludFJhbmdlLCBPKHRoaXMsICJhZnRlclByb2Nlc3NEYXRhIik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5jcm9wRGF0YSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICAgICAgdmFyIHIsIHMgPSB0Lmxlbmd0aCwgYSA9IDAsIGggPSBzOwogICAgICAgICAgICBmb3IgKG8gPSB6KG8sIHRoaXMuY3JvcFNob3VsZGVyKSwgciA9IDA7IHIgPCBzOyByKyspIGlmICh0W3JdID49IGkpIHsKICAgICAgICAgICAgICBhID0gTWF0aC5tYXgoMCwgciAtIG8pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciAoaSA9IHI7IGkgPCBzOyBpKyspIGlmICh0W2ldID4gbikgewogICAgICAgICAgICAgIGggPSBpICsgbzsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4geyB4RGF0YTogdC5zbGljZShhLCBoKSwgeURhdGE6IGUuc2xpY2UoYSwgaCksIHN0YXJ0OiBhLCBlbmQ6IGggfTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdlbmVyYXRlUG9pbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLCBlID0gdC5kYXRhLCBpID0gdGhpcy5wcm9jZXNzZWRYRGF0YSwgbiA9IHRoaXMucHJvY2Vzc2VkWURhdGEsIG8gPSB0aGlzLnBvaW50Q2xhc3MsIHIgPSBpLmxlbmd0aCwgcyA9IHRoaXMuY3JvcFN0YXJ0IHx8IDAsCiAgICAgICAgICAgICAgYSA9IHRoaXMuaGFzR3JvdXBlZERhdGEsIGggPSB0LmtleXMsIGwgPSBbXTsKICAgICAgICAgICAgdCA9IHQuZGF0YUdyb3VwaW5nICYmIHQuZGF0YUdyb3VwaW5nLmdyb3VwQWxsID8gcyA6IDA7CiAgICAgICAgICAgIHZhciBjLCBwLCBkID0gdGhpcy5kYXRhOwogICAgICAgICAgICBpZiAoIWQgJiYgIWEpIHsKICAgICAgICAgICAgICB2YXIgdSA9IFtdOwogICAgICAgICAgICAgIHUubGVuZ3RoID0gZS5sZW5ndGgsIGQgPSB0aGlzLmRhdGEgPSB1OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciAoaCAmJiBhICYmICh0aGlzLm9wdGlvbnMua2V5cyA9ICExKSwgcCA9IDA7IHAgPCByOyBwKyspIHsKICAgICAgICAgICAgICBpZiAodSA9IHMgKyBwLCBhKSB7CiAgICAgICAgICAgICAgICB2YXIgZiA9IChuZXcgbykuaW5pdCh0aGlzLCBbaVtwXV0uY29uY2F0KFIobltwXSkpKTsKICAgICAgICAgICAgICAgIGYuZGF0YUdyb3VwID0gdGhpcy5ncm91cE1hcFt0ICsgcF0sIGYuZGF0YUdyb3VwLm9wdGlvbnMgJiYgKGYub3B0aW9ucyA9IGYuZGF0YUdyb3VwLm9wdGlvbnMsIEEoZiwgZi5kYXRhR3JvdXAub3B0aW9ucyksIGRlbGV0ZSBmLmRhdGFMYWJlbHMpOwogICAgICAgICAgICAgIH0gZWxzZSAoZiA9IGRbdV0pIHx8ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgZVt1XSB8fCAoZFt1XSA9IGYgPSAobmV3IG8pLmluaXQodGhpcywgZVt1XSwgaVtwXSkpOwogICAgICAgICAgICAgIGYgJiYgKGYuaW5kZXggPSBhID8gdCArIHAgOiB1LCBsW3BdID0gZik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5rZXlzID0gaCwgZCAmJiAociAhPT0gKGMgPSBkLmxlbmd0aCkgfHwgYSkpIGZvciAocCA9IDA7IHAgPCBjOyBwKyspIHAgIT09IHMgfHwgYSB8fCAocCArPSByKSwgZFtwXSAmJiAoZFtwXS5kZXN0cm95RWxlbWVudHMoKSwgZFtwXS5wbG90WCA9IHZvaWQgMCk7CiAgICAgICAgICAgIHRoaXMuZGF0YSA9IGQsIHRoaXMucG9pbnRzID0gbCwgTyh0aGlzLCAiYWZ0ZXJHZW5lcmF0ZVBvaW50cyIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0WEV4dHJlbWVzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4geyBtaW46IGIodCksIG1heDogeCh0KSB9OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0RXh0cmVtZXMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy54QXhpcywgbiA9IHRoaXMueUF4aXMsIG8gPSB0aGlzLnByb2Nlc3NlZFhEYXRhIHx8IHRoaXMueERhdGEsIHIgPSBbXSwgcyA9IHRoaXMucmVxdWlyZVNvcnRpbmcgPyB0aGlzLmNyb3BTaG91bGRlciA6IDA7CiAgICAgICAgICAgIG4gPSAhIW4gJiYgbi5wb3NpdGl2ZVZhbHVlc09ubHk7CiAgICAgICAgICAgIHZhciBhLCBoID0gMCwgbCA9IDAsIGMgPSAwOwogICAgICAgICAgICB0ID0gdCB8fCB0aGlzLnN0YWNrZWRZRGF0YSB8fCB0aGlzLnByb2Nlc3NlZFlEYXRhIHx8IFtdOwogICAgICAgICAgICB2YXIgcCA9IHQubGVuZ3RoOwogICAgICAgICAgICBpZiAoaSkgewogICAgICAgICAgICAgIHZhciBkID0gaS5nZXRFeHRyZW1lcygpOwogICAgICAgICAgICAgIGggPSBkLm1pbiwgbCA9IGQubWF4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciAoYSA9IDA7IGEgPCBwOyBhKyspIHsKICAgICAgICAgICAgICB2YXIgdSA9IG9bYV07CiAgICAgICAgICAgICAgZCA9IHRbYV07CiAgICAgICAgICAgICAgdmFyIGYgPSAoTChkKSB8fCBFKGQpKSAmJiAoZC5sZW5ndGggfHwgMCA8IGQgfHwgIW4pOwogICAgICAgICAgICAgIGlmICh1ID0gZSB8fCB0aGlzLmdldEV4dHJlbWVzRnJvbUFsbCB8fCB0aGlzLm9wdGlvbnMuZ2V0RXh0cmVtZXNGcm9tQWxsIHx8IHRoaXMuY3JvcHBlZCB8fCAhaSB8fCAob1thICsgc10gfHwgdSkgPj0gaCAmJiAob1thIC0gc10gfHwgdSkgPD0gbCwgZiAmJiB1KSBpZiAoZiA9IGQubGVuZ3RoKSBmb3IgKDsgZi0tOykgTChkW2ZdKSAmJiAocltjKytdID0gZFtmXSk7IGVsc2UgcltjKytdID0gZDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdCA9IHsgYWN0aXZlWURhdGE6IHIsIGRhdGFNaW46IGIociksIGRhdGFNYXg6IHgocikgfSwgTyh0aGlzLCAiYWZ0ZXJHZXRFeHRyZW1lcyIsIHsgZGF0YUV4dHJlbWVzOiB0IH0pLCB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYXBwbHlFeHRyZW1lcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZ2V0RXh0cmVtZXMoKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YU1pbiA9IHQuZGF0YU1pbiwgdGhpcy5kYXRhTWF4ID0gdC5kYXRhTWF4LCB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0Rmlyc3RWYWxpZFBvaW50ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBmb3IgKHZhciBlID0gdC5sZW5ndGgsIGkgPSAwLCBuID0gbnVsbDsgbnVsbCA9PT0gbiAmJiBpIDwgZTspIG4gPSB0W2ldLCBpKys7CiAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudHJhbnNsYXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMucHJvY2Vzc2VkWERhdGEgfHwgdGhpcy5wcm9jZXNzRGF0YSgpLCB0aGlzLmdlbmVyYXRlUG9pbnRzKCk7CiAgICAgICAgICAgIHZhciB0LCBlLCBpID0gdGhpcy5vcHRpb25zLCBuID0gaS5zdGFja2luZywgbyA9IHRoaXMueEF4aXMsIHIgPSBvLmNhdGVnb3JpZXMsIHMgPSB0aGlzLmVuYWJsZWREYXRhU29ydGluZywgYSA9IHRoaXMueUF4aXMsIGggPSB0aGlzLnBvaW50cywKICAgICAgICAgICAgICBsID0gaC5sZW5ndGgsIGMgPSB0aGlzLnBvaW50UGxhY2VtZW50VG9YVmFsdWUoKSwgcCA9ICEhYywgZCA9IGkudGhyZXNob2xkLCB1ID0gaS5zdGFydEZyb21UaHJlc2hvbGQgPyBkIDogMCwgZiA9IHRoaXMuem9uZUF4aXMgfHwgInkiLAogICAgICAgICAgICAgIGcgPSBOdW1iZXIuTUFYX1ZBTFVFOwogICAgICAgICAgICBmb3IgKHQgPSAwOyB0IDwgbDsgdCsrKSB7CiAgICAgICAgICAgICAgdmFyIG0gPSBoW3RdLCB5ID0gbS54LCB2ID0gdm9pZCAwLCB4ID0gdm9pZCAwLCBiID0gbS55LCB3ID0gbS5sb3csCiAgICAgICAgICAgICAgICBDID0gbiAmJiBhLnN0YWNraW5nICYmIGEuc3RhY2tpbmcuc3RhY2tzWyh0aGlzLm5lZ1N0YWNrcyAmJiBiIDwgKHUgPyAwIDogZCkgPyAiLSIgOiAiIikgKyB0aGlzLnN0YWNrS2V5XTsKICAgICAgICAgICAgICBpZiAoKGEucG9zaXRpdmVWYWx1ZXNPbmx5ICYmICFhLnZhbGlkYXRlUG9zaXRpdmVWYWx1ZShiKSB8fCBvLnBvc2l0aXZlVmFsdWVzT25seSAmJiAhby52YWxpZGF0ZVBvc2l0aXZlVmFsdWUoeSkpICYmIChtLmlzTnVsbCA9ICEwKSwgbS5wbG90WCA9IGUgPSBrKF8oby50cmFuc2xhdGUoeSwgMCwgMCwgMCwgMSwgYywgImZsYWdzIiA9PT0gdGhpcy50eXBlKSwgLTFlNSwgMWU1KSksIG4gJiYgdGhpcy52aXNpYmxlICYmIEMgJiYgQ1t5XSkgewogICAgICAgICAgICAgICAgdmFyIE0gPSB0aGlzLmdldFN0YWNrSW5kaWNhdG9yKE0sIHksIHRoaXMuaW5kZXgpOwogICAgICAgICAgICAgICAgbS5pc051bGwgfHwgKHYgPSBDW3ldLCB4ID0gdi5wb2ludHNbTS5rZXldKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKEUoeCkgJiYgKHcgPSB4WzBdLCBiID0geFsxXSwgdyA9PT0gdSAmJiBNLmtleSA9PT0gQ1t5XS5iYXNlICYmICh3ID0geihMKGQpICYmIGQsIGEubWluKSksIGEucG9zaXRpdmVWYWx1ZXNPbmx5ICYmIDAgPj0gdyAmJiAodyA9IG51bGwpLCBtLnRvdGFsID0gbS5zdGFja1RvdGFsID0gdi50b3RhbCwgbS5wZXJjZW50YWdlID0gdi50b3RhbCAmJiBtLnkgLyB2LnRvdGFsICogMTAwLCBtLnN0YWNrWSA9IGIsIHRoaXMuaXJyZWd1bGFyV2lkdGhzIHx8IHYuc2V0T2Zmc2V0KHRoaXMucG9pbnRYT2Zmc2V0IHx8IDAsIHRoaXMuYmFyVyB8fCAwKSksIG0ueUJvdHRvbSA9IFModykgPyBfKGEudHJhbnNsYXRlKHcsIDAsIDEsIDAsIDEpLCAtMWU1LCAxZTUpIDogbnVsbCwgdGhpcy5kYXRhTW9kaWZ5ICYmIChiID0gdGhpcy5kYXRhTW9kaWZ5Lm1vZGlmeVZhbHVlKGIsIHQpKSwgbS5wbG90WSA9IHZvaWQgMCwgTChiKSAmJiAodiA9IGEudHJhbnNsYXRlKGIsICExLCAhMCwgITEsICEwKSwgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB2ICYmIChtLnBsb3RZID0gXyh2LCAtMWU1LCAxZTUpKSksIG0uaXNJbnNpZGUgPSB0aGlzLmlzUG9pbnRJbnNpZGUobSksIG0uY2xpZW50WCA9IHAgPyBrKG8udHJhbnNsYXRlKHksIDAsIDAsIDAsIDEsIGMpKSA6IGUsIG0ubmVnYXRpdmUgPSBtW2ZdIDwgKGlbZiArICJUaHJlc2hvbGQiXSB8fCBkIHx8IDApLCBtLmNhdGVnb3J5ID0gciAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHJbbS54XSA/IHJbbS54XSA6IG0ueCwgIW0uaXNOdWxsICYmICExICE9PSBtLnZpc2libGUpIHsKICAgICAgICAgICAgICAgICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgQSAmJiAoZyA9IE1hdGgubWluKGcsIE1hdGguYWJzKGUgLSBBKSkpOwogICAgICAgICAgICAgICAgdmFyIEEgPSBlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBtLnpvbmUgPSB0aGlzLnpvbmVzLmxlbmd0aCA/IG0uZ2V0Wm9uZSgpIDogdm9pZCAwLCAhbS5ncmFwaGljICYmIHRoaXMuZ3JvdXAgJiYgcyAmJiAobS5pc05ldyA9ICEwKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLmNsb3Nlc3RQb2ludFJhbmdlUHggPSBnLCBPKHRoaXMsICJhZnRlclRyYW5zbGF0ZSIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0VmFsaWRQb2ludHMgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5jaGFydDsKICAgICAgICAgICAgcmV0dXJuICh0IHx8IHRoaXMucG9pbnRzIHx8IFtdKS5maWx0ZXIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gIShlICYmICFuLmlzSW5zaWRlUGxvdCh0LnBsb3RYLCB0LnBsb3RZLCB7IGludmVydGVkOiBuLmludmVydGVkIH0pKSAmJiAoITEgIT09IHQudmlzaWJsZSAmJiAoaSB8fCAhdC5pc051bGwpKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0Q2xpcEJveCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQsIGUgPSB0aGlzLnhBeGlzLCBpID0gdGhpcy55QXhpcywgbiA9IEQodC5jbGlwQm94KTsKICAgICAgICAgICAgcmV0dXJuIGUgJiYgZS5sZW4gIT09IHQucGxvdFNpemVYICYmIChuLndpZHRoID0gZS5sZW4pLCBpICYmIGkubGVuICE9PSB0LnBsb3RTaXplWSAmJiAobi5oZWlnaHQgPSBpLmxlbiksIG47CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRTaGFyZWRDbGlwS2V5ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnNoYXJlZENsaXBLZXkgPSAodGhpcy5vcHRpb25zLnhBeGlzIHx8IDApICsgIiwiICsgKHRoaXMub3B0aW9ucy55QXhpcyB8fCAwKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldENsaXAgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmNoYXJ0LCBlID0gdGhpcy5ncm91cCwgaSA9IHRoaXMubWFya2VyR3JvdXAsIG4gPSB0LnNoYXJlZENsaXBzOwogICAgICAgICAgICB0ID0gdC5yZW5kZXJlcjsKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLmdldENsaXBCb3goKSwgciA9IHRoaXMuZ2V0U2hhcmVkQ2xpcEtleSgpLCBzID0gbltyXTsKICAgICAgICAgICAgcyA/IHMuYW5pbWF0ZShvKSA6IG5bcl0gPSBzID0gdC5jbGlwUmVjdChvKSwgZSAmJiBlLmNsaXAoITEgPT09IHRoaXMub3B0aW9ucy5jbGlwID8gdm9pZCAwIDogcyksIGkgJiYgaS5jbGlwKCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hbmltYXRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQsIGkgPSB0aGlzLmdyb3VwLCBuID0gdGhpcy5tYXJrZXJHcm91cCwgbyA9IGUuaW52ZXJ0ZWQsIHIgPSBjKHRoaXMub3B0aW9ucy5hbmltYXRpb24pLAogICAgICAgICAgICAgIHMgPSBbdGhpcy5nZXRTaGFyZWRDbGlwS2V5KCksIHIuZHVyYXRpb24sIHIuZWFzaW5nLCByLmRlZmVyXS5qb2luKCksIGEgPSBlLnNoYXJlZENsaXBzW3NdLCBoID0gZS5zaGFyZWRDbGlwc1tzICsgIm0iXTsKICAgICAgICAgICAgaWYgKHQgJiYgaSkgciA9IHRoaXMuZ2V0Q2xpcEJveCgpLCBhID8gYS5hdHRyKCJoZWlnaHQiLCByLmhlaWdodCkgOiAoci53aWR0aCA9IDAsIG8gJiYgKHIueCA9IGUucGxvdEhlaWdodCksIGEgPSBlLnJlbmRlcmVyLmNsaXBSZWN0KHIpLCBlLnNoYXJlZENsaXBzW3NdID0gYSwgaCA9IGUucmVuZGVyZXIuY2xpcFJlY3QoewogICAgICAgICAgICAgIHg6IG8gPyAoZS5wbG90U2l6ZVggfHwgMCkgKyA5OSA6IC05OSwKICAgICAgICAgICAgICB5OiBvID8gLWUucGxvdExlZnQgOiAtZS5wbG90VG9wLAogICAgICAgICAgICAgIHdpZHRoOiA5OSwKICAgICAgICAgICAgICBoZWlnaHQ6IG8gPyBlLmNoYXJ0V2lkdGggOiBlLmNoYXJ0SGVpZ2h0CiAgICAgICAgICAgIH0pLCBlLnNoYXJlZENsaXBzW3MgKyAibSJdID0gaCksIGkuY2xpcChhKSwgbiAmJiBuLmNsaXAoaCk7IGVsc2UgaWYgKGEgJiYgIWEuaGFzQ2xhc3MoImhpZ2hjaGFydHMtYW5pbWF0aW5nIikpIHsKICAgICAgICAgICAgICBlID0gdGhpcy5nZXRDbGlwQm94KCk7CiAgICAgICAgICAgICAgdmFyIGwgPSByLnN0ZXA7CiAgICAgICAgICAgICAgbiAmJiBuLmVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGggJiYgKHIuc3RlcCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIGwgJiYgbC5hcHBseShlLCBhcmd1bWVudHMpLCBoICYmIGguZWxlbWVudCAmJiBoLmF0dHIoZS5wcm9wLCAid2lkdGgiID09PSBlLnByb3AgPyB0ICsgOTkgOiB0KTsKICAgICAgICAgICAgICB9KSwgYS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1hbmltYXRpbmciKS5hbmltYXRlKGUsIHIpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZnRlckFuaW1hdGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzOwogICAgICAgICAgICB0aGlzLnNldENsaXAoKSwgSSh0aGlzLmNoYXJ0LnNoYXJlZENsaXBzLCAoZnVuY3Rpb24oZSwgaSwgbikgewogICAgICAgICAgICAgIGUgJiYgIXQuY2hhcnQuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIltjbGlwLXBhdGg9XCJ1cmwoIyIgKyBlLmlkICsgIilcIl0iKSAmJiAoZS5kZXN0cm95KCksIGRlbGV0ZSBuW2ldKTsKICAgICAgICAgICAgfSkpLCB0aGlzLmZpbmlzaGVkQW5pbWF0aW5nID0gITAsIE8odGhpcywgImFmdGVyQW5pbWF0ZSIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZHJhd1BvaW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSwgaSA9IHRoaXMucG9pbnRzLCBuID0gdGhpcy5jaGFydCwgbyA9IHRoaXMub3B0aW9ucy5tYXJrZXIsIHIgPSB0aGlzW3RoaXMuc3BlY2lhbEdyb3VwXSB8fCB0aGlzLm1hcmtlckdyb3VwLCBzID0gdGhpcy54QXhpcywKICAgICAgICAgICAgICBhID0geihvLmVuYWJsZWQsICEocyAmJiAhcy5pc1JhZGlhbCkgfHwgbnVsbCwgdGhpcy5jbG9zZXN0UG9pbnRSYW5nZVB4ID49IG8uZW5hYmxlZFRocmVzaG9sZCAqIG8ucmFkaXVzKTsKICAgICAgICAgICAgaWYgKCExICE9PSBvLmVuYWJsZWQgfHwgdGhpcy5faGFzUG9pbnRNYXJrZXJzKSBmb3IgKHQgPSAwOyB0IDwgaS5sZW5ndGg7IHQrKykgewogICAgICAgICAgICAgIHZhciBoID0gaVt0XSwgbCA9IChlID0gaC5ncmFwaGljKSA/ICJhbmltYXRlIiA6ICJhdHRyIiwgYyA9IGgubWFya2VyIHx8IHt9LCBwID0gISFoLm1hcmtlcjsKICAgICAgICAgICAgICBpZiAoKGEgJiYgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBjLmVuYWJsZWQgfHwgYy5lbmFibGVkKSAmJiAhaC5pc051bGwgJiYgITEgIT09IGgudmlzaWJsZSkgewogICAgICAgICAgICAgICAgdmFyIGQgPSB6KGMuc3ltYm9sLCB0aGlzLnN5bWJvbCwgInJlY3QiKSwgdSA9IHRoaXMubWFya2VyQXR0cmlicyhoLCBoLnNlbGVjdGVkICYmICJzZWxlY3QiKTsKICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlZERhdGFTb3J0aW5nICYmIChoLnN0YXJ0WFBvcyA9IHMucmV2ZXJzZWQgPyAtKHUud2lkdGggfHwgMCkgOiBzLndpZHRoKTsKICAgICAgICAgICAgICAgIHZhciBmID0gITEgIT09IGguaXNJbnNpZGU7CiAgICAgICAgICAgICAgICBlID8gZVtmID8gInNob3ciIDogImhpZGUiXShmKS5hbmltYXRlKHUpIDogZiAmJiAoMCA8ICh1LndpZHRoIHx8IDApIHx8IGguaGFzSW1hZ2UpICYmIChoLmdyYXBoaWMgPSBlID0gbi5yZW5kZXJlci5zeW1ib2woZCwgdS54LCB1LnksIHUud2lkdGgsIHUuaGVpZ2h0LCBwID8gYyA6IG8pLmFkZChyKSwgdGhpcy5lbmFibGVkRGF0YVNvcnRpbmcgJiYgbi5oYXNSZW5kZXJlZCAmJiAoZS5hdHRyKHsgeDogaC5zdGFydFhQb3MgfSksIGwgPSAiYW5pbWF0ZSIpKSwgZSAmJiAiYW5pbWF0ZSIgPT09IGwgJiYgZVtmID8gInNob3ciIDogImhpZGUiXShmKS5hbmltYXRlKHUpLCBlICYmICFuLnN0eWxlZE1vZGUgJiYgZVtsXSh0aGlzLnBvaW50QXR0cmlicyhoLCBoLnNlbGVjdGVkICYmICJzZWxlY3QiKSksIGUgJiYgZS5hZGRDbGFzcyhoLmdldENsYXNzTmFtZSgpLCAhMCk7CiAgICAgICAgICAgICAgfSBlbHNlIGUgJiYgKGguZ3JhcGhpYyA9IGUuZGVzdHJveSgpKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgdC5wcm90b3R5cGUubWFya2VyQXR0cmlicyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLm9wdGlvbnMsIG4gPSBpLm1hcmtlciwgbyA9IHQubWFya2VyIHx8IHt9LCByID0gby5zeW1ib2wgfHwgbi5zeW1ib2wsIHMgPSB6KG8ucmFkaXVzLCBuLnJhZGl1cyk7CiAgICAgICAgICAgIHJldHVybiBlICYmIChuID0gbi5zdGF0ZXNbZV0sIGUgPSBvLnN0YXRlcyAmJiBvLnN0YXRlc1tlXSwgcyA9IHooZSAmJiBlLnJhZGl1cywgbiAmJiBuLnJhZGl1cywgcyArIChuICYmIG4ucmFkaXVzUGx1cyB8fCAwKSkpLCB0Lmhhc0ltYWdlID0gciAmJiAwID09PSByLmluZGV4T2YoInVybCIpLCB0Lmhhc0ltYWdlICYmIChzID0gMCksIHQgPSB7CiAgICAgICAgICAgICAgeDogaS5jcmlzcCA/IE1hdGguZmxvb3IodC5wbG90WCAtIHMpIDogdC5wbG90WCAtIHMsCiAgICAgICAgICAgICAgeTogdC5wbG90WSAtIHMKICAgICAgICAgICAgfSwgcyAmJiAodC53aWR0aCA9IHQuaGVpZ2h0ID0gMiAqIHMpLCB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucG9pbnRBdHRyaWJzID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMub3B0aW9ucy5tYXJrZXIsIG4gPSB0ICYmIHQub3B0aW9ucywgbyA9IG4gJiYgbi5tYXJrZXIgfHwge30sIHIgPSBuICYmIG4uY29sb3IsIHMgPSB0ICYmIHQuY29sb3IsIGEgPSB0ICYmIHQuem9uZSAmJiB0LnpvbmUuY29sb3IsCiAgICAgICAgICAgICAgaCA9IHRoaXMuY29sb3I7CiAgICAgICAgICAgIHJldHVybiB0ID0geihvLmxpbmVXaWR0aCwgaS5saW5lV2lkdGgpLCBuID0gMSwgaCA9IHIgfHwgYSB8fCBzIHx8IGgsIHIgPSBvLmZpbGxDb2xvciB8fCBpLmZpbGxDb2xvciB8fCBoLCBzID0gby5saW5lQ29sb3IgfHwgaS5saW5lQ29sb3IgfHwgaCwgZSA9IGUgfHwgIm5vcm1hbCIsIGkgPSBpLnN0YXRlc1tlXSB8fCB7fSwgZSA9IG8uc3RhdGVzICYmIG8uc3RhdGVzW2VdIHx8IHt9LCB0ID0geihlLmxpbmVXaWR0aCwgaS5saW5lV2lkdGgsIHQgKyB6KGUubGluZVdpZHRoUGx1cywgaS5saW5lV2lkdGhQbHVzLCAwKSksIHIgPSBlLmZpbGxDb2xvciB8fCBpLmZpbGxDb2xvciB8fCByLCBzID0gZS5saW5lQ29sb3IgfHwgaS5saW5lQ29sb3IgfHwgcywgbiA9IHooZS5vcGFjaXR5LCBpLm9wYWNpdHksIG4pLCB7CiAgICAgICAgICAgICAgc3Ryb2tlOiBzLAogICAgICAgICAgICAgICJzdHJva2Utd2lkdGgiOiB0LAogICAgICAgICAgICAgIGZpbGw6IHIsCiAgICAgICAgICAgICAgb3BhY2l0eTogbgogICAgICAgICAgICB9OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUsIGksIG4sIG8sIHIgPSB0aGlzLCBzID0gci5jaGFydCwgYSA9IC9BcHBsZVdlYktpdFwvNTMzLy50ZXN0KG0ubmF2aWdhdG9yLnVzZXJBZ2VudCksIGMgPSByLmRhdGEgfHwgW107CiAgICAgICAgICAgIGZvciAoTyhyLCAiZGVzdHJveSIpLCB0aGlzLnJlbW92ZUV2ZW50cyh0KSwgKHIuYXhpc1R5cGVzIHx8IFtdKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgKG8gPSByW3RdKSAmJiBvLnNlcmllcyAmJiAoQyhvLnNlcmllcywgciksIG8uaXNEaXJ0eSA9IG8uZm9yY2VSZWRyYXcgPSAhMCk7CiAgICAgICAgICAgIH0pKSwgci5sZWdlbmRJdGVtICYmIHIuY2hhcnQubGVnZW5kLmRlc3Ryb3lJdGVtKHIpLCBpID0gYy5sZW5ndGg7IGktLTspIChuID0gY1tpXSkgJiYgbi5kZXN0cm95ICYmIG4uZGVzdHJveSgpOwogICAgICAgICAgICByLmNsaXBzICYmIHIuY2xpcHMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiB0LmRlc3Ryb3koKTsKICAgICAgICAgICAgfSkpLCBsLmNsZWFyVGltZW91dChyLmFuaW1hdGlvblRpbWVvdXQpLCBJKHIsIChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgdCBpbnN0YW5jZW9mIGggJiYgIXQuc3Vydml2ZSAmJiAoZSA9IGEgJiYgImdyb3VwIiA9PT0gaSA/ICJoaWRlIiA6ICJkZXN0cm95IiwgdFtlXSgpKTsKICAgICAgICAgICAgfSkpLCBzLmhvdmVyU2VyaWVzID09PSByICYmIChzLmhvdmVyU2VyaWVzID0gdm9pZCAwKSwgQyhzLnNlcmllcywgciksIHMub3JkZXJTZXJpZXMoKSwgSShyLCAoZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgIHQgJiYgImhjRXZlbnRzIiA9PT0gaSB8fCBkZWxldGUgcltpXTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYXBwbHlab25lcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSwgaSwgbiwgbywgciwgcywgYSwgaCA9IHRoaXMsIGwgPSB0aGlzLmNoYXJ0LCBjID0gbC5yZW5kZXJlciwgcCA9IHRoaXMuem9uZXMsIGQgPSB0aGlzLmNsaXBzIHx8IFtdLCB1ID0gdGhpcy5ncmFwaCwgZiA9IHRoaXMuYXJlYSwKICAgICAgICAgICAgICBnID0gTWF0aC5tYXgobC5jaGFydFdpZHRoLCBsLmNoYXJ0SGVpZ2h0KSwgbSA9IHRoaXNbKHRoaXMuem9uZUF4aXMgfHwgInkiKSArICJBeGlzIl0sIHkgPSBsLmludmVydGVkLCB2ID0gITE7CiAgICAgICAgICAgIGlmIChwLmxlbmd0aCAmJiAodSB8fCBmKSAmJiBtICYmICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgbS5taW4pIHsKICAgICAgICAgICAgICB2YXIgeCA9IG0ucmV2ZXJzZWQsIGIgPSBtLmhvcml6OwogICAgICAgICAgICAgIHUgJiYgIXRoaXMuc2hvd0xpbmUgJiYgdS5oaWRlKCksIGYgJiYgZi5oaWRlKCk7CiAgICAgICAgICAgICAgdmFyIHcgPSBtLmdldEV4dHJlbWVzKCk7CiAgICAgICAgICAgICAgcC5mb3JFYWNoKChmdW5jdGlvbihwLCBrKSB7CiAgICAgICAgICAgICAgICB0ID0geCA/IGIgPyBsLnBsb3RXaWR0aCA6IDAgOiBiID8gMCA6IG0udG9QaXhlbHMody5taW4pIHx8IDAsIHQgPSBfKHooZSwgdCksIDAsIGcpLCBlID0gXyhNYXRoLnJvdW5kKG0udG9QaXhlbHMoeihwLnZhbHVlLCB3Lm1heCksICEwKSB8fCAwKSwgMCwgZyksIHYgJiYgKHQgPSBlID0gbS50b1BpeGVscyh3Lm1heCkpLCBuID0gTWF0aC5hYnModCAtIGUpLCBvID0gTWF0aC5taW4odCwgZSksIHIgPSBNYXRoLm1heCh0LCBlKSwgbS5pc1hBeGlzID8gKGkgPSB7CiAgICAgICAgICAgICAgICAgIHg6IHkgPyByIDogbywKICAgICAgICAgICAgICAgICAgeTogMCwKICAgICAgICAgICAgICAgICAgd2lkdGg6IG4sCiAgICAgICAgICAgICAgICAgIGhlaWdodDogZwogICAgICAgICAgICAgICAgfSwgYiB8fCAoaS54ID0gbC5wbG90SGVpZ2h0IC0gaS54KSkgOiAoaSA9IHsKICAgICAgICAgICAgICAgICAgeDogMCwKICAgICAgICAgICAgICAgICAgeTogeSA/IHIgOiBvLAogICAgICAgICAgICAgICAgICB3aWR0aDogZywKICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBuCiAgICAgICAgICAgICAgICB9LCBiICYmIChpLnkgPSBsLnBsb3RXaWR0aCAtIGkueSkpLCB5ICYmIGMuaXNWTUwgJiYgKGkgPSBtLmlzWEF4aXMgPyB7CiAgICAgICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgICAgIHk6IHggPyBvIDogciwKICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpLndpZHRoLAogICAgICAgICAgICAgICAgICB3aWR0aDogbC5jaGFydFdpZHRoCiAgICAgICAgICAgICAgICB9IDogewogICAgICAgICAgICAgICAgICB4OiBpLnkgLSBsLnBsb3RMZWZ0IC0gbC5zcGFjaW5nQm94LngsCiAgICAgICAgICAgICAgICAgIHk6IDAsCiAgICAgICAgICAgICAgICAgIHdpZHRoOiBpLmhlaWdodCwKICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBsLmNoYXJ0SGVpZ2h0CiAgICAgICAgICAgICAgICB9KSwgZFtrXSA/IGRba10uYW5pbWF0ZShpKSA6IGRba10gPSBjLmNsaXBSZWN0KGkpLCBzID0gaFsiem9uZS1hcmVhLSIgKyBrXSwgYSA9IGhbInpvbmUtZ3JhcGgtIiArIGtdLCB1ICYmIGEgJiYgYS5jbGlwKGRba10pLCBmICYmIHMgJiYgcy5jbGlwKGRba10pLCB2ID0gcC52YWx1ZSA+IHcubWF4LCBoLnJlc2V0Wm9uZXMgJiYgMCA9PT0gZSAmJiAoZSA9IHZvaWQgMCk7CiAgICAgICAgICAgICAgfSkpLCB0aGlzLmNsaXBzID0gZDsKICAgICAgICAgICAgfSBlbHNlIGgudmlzaWJsZSAmJiAodSAmJiB1LnNob3coITApLCBmICYmIGYuc2hvdyghMCkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaW52ZXJ0R3JvdXBzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBmdW5jdGlvbiBlKCkgewogICAgICAgICAgICAgIFsiZ3JvdXAiLCAibWFya2VyR3JvdXAiXS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBpW2VdICYmIChuLnJlbmRlcmVyLmlzVk1MICYmIGlbZV0uYXR0cih7CiAgICAgICAgICAgICAgICAgIHdpZHRoOiBpLnlBeGlzLmxlbiwKICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpLnhBeGlzLmxlbgogICAgICAgICAgICAgICAgfSksIGlbZV0ud2lkdGggPSBpLnlBeGlzLmxlbiwgaVtlXS5oZWlnaHQgPSBpLnhBeGlzLmxlbiwgaVtlXS5pbnZlcnQoIWkuaXNSYWRpYWxTZXJpZXMgJiYgdCkpOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLCBuID0gaS5jaGFydDsKICAgICAgICAgICAgaS54QXhpcyAmJiAoaS5ldmVudHNUb1VuYmluZC5wdXNoKHYobiwgInJlc2l6ZSIsIGUpKSwgZSgpLCBpLmludmVydEdyb3VwcyA9IGUpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucGxvdEdyb3VwID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbykgewogICAgICAgICAgICB2YXIgciA9IHRoaXNbdF0sIHMgPSAhcjsKICAgICAgICAgICAgcmV0dXJuIGkgPSB7CiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaSwKICAgICAgICAgICAgICB6SW5kZXg6IG4gfHwgLjEKICAgICAgICAgICAgfSwgInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0aGlzLm9wYWNpdHkgfHwgdGhpcy5jaGFydC5zdHlsZWRNb2RlIHx8ICJpbmFjdGl2ZSIgPT09IHRoaXMuc3RhdGUgfHwgKGkub3BhY2l0eSA9IHRoaXMub3BhY2l0eSksIHMgJiYgKHRoaXNbdF0gPSByID0gdGhpcy5jaGFydC5yZW5kZXJlci5nKCkuYWRkKG8pKSwgci5hZGRDbGFzcygiaGlnaGNoYXJ0cy0iICsgZSArICIgaGlnaGNoYXJ0cy1zZXJpZXMtIiArIHRoaXMuaW5kZXggKyAiIGhpZ2hjaGFydHMtIiArIHRoaXMudHlwZSArICItc2VyaWVzICIgKyAoUyh0aGlzLmNvbG9ySW5kZXgpID8gImhpZ2hjaGFydHMtY29sb3ItIiArIHRoaXMuY29sb3JJbmRleCArICIgIiA6ICIiKSArICh0aGlzLm9wdGlvbnMuY2xhc3NOYW1lIHx8ICIiKSArIChyLmhhc0NsYXNzKCJoaWdoY2hhcnRzLXRyYWNrZXIiKSA/ICIgaGlnaGNoYXJ0cy10cmFja2VyIiA6ICIiKSwgITApLCByLmF0dHIoaSlbcyA/ICJhdHRyIiA6ICJhbmltYXRlIl0odGhpcy5nZXRQbG90Qm94KCkpLCByOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0UGxvdEJveCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQsIGUgPSB0aGlzLnhBeGlzLCBpID0gdGhpcy55QXhpczsKICAgICAgICAgICAgcmV0dXJuIHQuaW52ZXJ0ZWQgJiYgKGUgPSBpLCBpID0gdGhpcy54QXhpcyksIHsgdHJhbnNsYXRlWDogZSA/IGUubGVmdCA6IHQucGxvdExlZnQsIHRyYW5zbGF0ZVk6IGkgPyBpLnRvcCA6IHQucGxvdFRvcCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEgfTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUV2ZW50cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdCB8fCBCKHRoaXMpLCB0aGlzLmV2ZW50c1RvVW5iaW5kLmxlbmd0aCAmJiAodGhpcy5ldmVudHNUb1VuYmluZC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdCgpOwogICAgICAgICAgICB9KSksIHRoaXMuZXZlbnRzVG9VbmJpbmQubGVuZ3RoID0gMCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdC5jaGFydCwgaSA9IHQub3B0aW9ucywgbiA9IGMoaS5hbmltYXRpb24pLCBvID0gdC52aXNpYmxlID8gImluaGVyaXQiIDogImhpZGRlbiIsIHIgPSBpLnpJbmRleCwgcyA9IHQuaGFzUmVuZGVyZWQsCiAgICAgICAgICAgICAgYSA9IGUuc2VyaWVzR3JvdXAsIGggPSBlLmludmVydGVkOwogICAgICAgICAgICBlID0gIXQuZmluaXNoZWRBbmltYXRpbmcgJiYgZS5yZW5kZXJlci5pc1NWRyA/IG4uZHVyYXRpb24gOiAwLCBPKHRoaXMsICJyZW5kZXIiKTsKICAgICAgICAgICAgdmFyIGwgPSB0LnBsb3RHcm91cCgiZ3JvdXAiLCAic2VyaWVzIiwgbywgciwgYSk7CiAgICAgICAgICAgIHQubWFya2VyR3JvdXAgPSB0LnBsb3RHcm91cCgibWFya2VyR3JvdXAiLCAibWFya2VycyIsIG8sIHIsIGEpLCAhMSAhPT0gaS5jbGlwICYmIHQuc2V0Q2xpcCgpLCB0LmFuaW1hdGUgJiYgZSAmJiB0LmFuaW1hdGUoITApLCBsLmludmVydGVkID0gISF6KHQuaW52ZXJ0aWJsZSwgdC5pc0NhcnRlc2lhbikgJiYgaCwgdC5kcmF3R3JhcGggJiYgKHQuZHJhd0dyYXBoKCksIHQuYXBwbHlab25lcygpKSwgdC52aXNpYmxlICYmIHQuZHJhd1BvaW50cygpLCB0LmRyYXdEYXRhTGFiZWxzICYmIHQuZHJhd0RhdGFMYWJlbHMoKSwgdC5yZWRyYXdQb2ludHMgJiYgdC5yZWRyYXdQb2ludHMoKSwgdC5kcmF3VHJhY2tlciAmJiAhMSAhPT0gdC5vcHRpb25zLmVuYWJsZU1vdXNlVHJhY2tpbmcgJiYgdC5kcmF3VHJhY2tlcigpLCB0LmludmVydEdyb3VwcyhoKSwgdC5hbmltYXRlICYmIGUgJiYgdC5hbmltYXRlKCksIHMgfHwgKGUgJiYgbi5kZWZlciAmJiAoZSArPSBuLmRlZmVyKSwgdC5hbmltYXRpb25UaW1lb3V0ID0gTigoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdC5hZnRlckFuaW1hdGUoKTsKICAgICAgICAgICAgfSksIGUgfHwgMCkpLCB0LmlzRGlydHkgPSAhMSwgdC5oYXNSZW5kZXJlZCA9ICEwLCBPKHQsICJhZnRlclJlbmRlciIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVkcmF3ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5jaGFydCwgZSA9IHRoaXMuaXNEaXJ0eSB8fCB0aGlzLmlzRGlydHlEYXRhLCBpID0gdGhpcy5ncm91cCwgbiA9IHRoaXMueEF4aXMsIG8gPSB0aGlzLnlBeGlzOwogICAgICAgICAgICBpICYmICh0LmludmVydGVkICYmIGkuYXR0cih7IHdpZHRoOiB0LnBsb3RXaWR0aCwgaGVpZ2h0OiB0LnBsb3RIZWlnaHQgfSksIGkuYW5pbWF0ZSh7CiAgICAgICAgICAgICAgdHJhbnNsYXRlWDogeihuICYmIG4ubGVmdCwgdC5wbG90TGVmdCksCiAgICAgICAgICAgICAgdHJhbnNsYXRlWTogeihvICYmIG8udG9wLCB0LnBsb3RUb3ApCiAgICAgICAgICAgIH0pKSwgdGhpcy50cmFuc2xhdGUoKSwgdGhpcy5yZW5kZXIoKSwgZSAmJiBkZWxldGUgdGhpcy5rZFRyZWU7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZWFyY2hQb2ludCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLnhBeGlzLCBuID0gdGhpcy55QXhpcywgbyA9IHRoaXMuY2hhcnQuaW52ZXJ0ZWQ7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlYXJjaEtEVHJlZSh7IGNsaWVudFg6IG8gPyBpLmxlbiAtIHQuY2hhcnRZICsgaS5wb3MgOiB0LmNoYXJ0WCAtIGkucG9zLCBwbG90WTogbyA/IG4ubGVuIC0gdC5jaGFydFggKyBuLnBvcyA6IHQuY2hhcnRZIC0gbi5wb3MgfSwgZSwgdCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5idWlsZEtEVHJlZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgZnVuY3Rpb24gZSh0LCBuLCBvKSB7CiAgICAgICAgICAgICAgdmFyIHIgPSB0ICYmIHQubGVuZ3RoOwogICAgICAgICAgICAgIGlmIChyKSB7CiAgICAgICAgICAgICAgICB2YXIgcyA9IGkua2RBeGlzQXJyYXlbbiAlIG9dOwogICAgICAgICAgICAgICAgcmV0dXJuIHQuc29ydCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICByZXR1cm4gdFtzXSAtIGVbc107CiAgICAgICAgICAgICAgICB9KSksIHIgPSBNYXRoLmZsb29yKHIgLyAyKSwgeyBwb2ludDogdFtyXSwgbGVmdDogZSh0LnNsaWNlKDAsIHIpLCBuICsgMSwgbyksIHJpZ2h0OiBlKHQuc2xpY2UociArIDEpLCBuICsgMSwgbykgfTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuYnVpbGRpbmdLZFRyZWUgPSAhMDsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLCBuID0gLTEgPCBpLm9wdGlvbnMuZmluZE5lYXJlc3RQb2ludEJ5LmluZGV4T2YoInkiKSA/IDIgOiAxOwogICAgICAgICAgICBkZWxldGUgaS5rZFRyZWUsIE4oKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGkua2RUcmVlID0gZShpLmdldFZhbGlkUG9pbnRzKG51bGwsICFpLmRpcmVjdFRvdWNoKSwgbiwgbiksIGkuYnVpbGRpbmdLZFRyZWUgPSAhMTsKICAgICAgICAgICAgfSksIGkub3B0aW9ucy5rZE5vdyB8fCB0ICYmICJ0b3VjaHN0YXJ0IiA9PT0gdC50eXBlID8gMCA6IDEpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2VhcmNoS0RUcmVlID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICBmdW5jdGlvbiBuKHQsIGUsIGksIGgpIHsKICAgICAgICAgICAgICB2YXIgbCA9IGUucG9pbnQsIGMgPSBvLmtkQXhpc0FycmF5W2kgJSBoXSwgcCA9IGwsIGQgPSBTKHRbcl0pICYmIFMobFtyXSkgPyBNYXRoLnBvdyh0W3JdIC0gbFtyXSwgMikgOiBudWxsLAogICAgICAgICAgICAgICAgdSA9IFModFtzXSkgJiYgUyhsW3NdKSA/IE1hdGgucG93KHRbc10gLSBsW3NdLCAyKSA6IG51bGw7CiAgICAgICAgICAgICAgcmV0dXJuIHUgPSAoZCB8fCAwKSArICh1IHx8IDApLCBsLmRpc3QgPSBTKHUpID8gTWF0aC5zcXJ0KHUpIDogTnVtYmVyLk1BWF9WQUxVRSwgbC5kaXN0WCA9IFMoZCkgPyBNYXRoLnNxcnQoZCkgOiBOdW1iZXIuTUFYX1ZBTFVFLCBjID0gdFtjXSAtIGxbY10sIHUgPSAwID4gYyA/ICJsZWZ0IiA6ICJyaWdodCIsIGQgPSAwID4gYyA/ICJyaWdodCIgOiAibGVmdCIsIGVbdV0gJiYgKHUgPSBuKHQsIGVbdV0sIGkgKyAxLCBoKSwgcCA9IHVbYV0gPCBwW2FdID8gdSA6IGwpLCBlW2RdICYmIE1hdGguc3FydChjICogYykgPCBwW2FdICYmICh0ID0gbih0LCBlW2RdLCBpICsgMSwgaCksIHAgPSB0W2FdIDwgcFthXSA/IHQgOiBwKSwgcDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLCByID0gdGhpcy5rZEF4aXNBcnJheVswXSwgcyA9IHRoaXMua2RBeGlzQXJyYXlbMV0sIGEgPSBlID8gImRpc3RYIiA6ICJkaXN0IjsKICAgICAgICAgICAgaWYgKGUgPSAtMSA8IG8ub3B0aW9ucy5maW5kTmVhcmVzdFBvaW50QnkuaW5kZXhPZigieSIpID8gMiA6IDEsIHRoaXMua2RUcmVlIHx8IHRoaXMuYnVpbGRpbmdLZFRyZWUgfHwgdGhpcy5idWlsZEtEVHJlZShpKSwgdGhpcy5rZFRyZWUpIHJldHVybiBuKHQsIHRoaXMua2RUcmVlLCBlLCBlKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnBvaW50UGxhY2VtZW50VG9YVmFsdWUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm9wdGlvbnMsIGUgPSB0LnBvaW50UmFuZ2UsIGkgPSB0aGlzLnhBeGlzOwogICAgICAgICAgICByZXR1cm4gdCA9IHQucG9pbnRQbGFjZW1lbnQsICJiZXR3ZWVuIiA9PT0gdCAmJiAodCA9IGkucmV2ZXJzZWQgPyAtLjUgOiAuNSksIEwodCkgPyB0ICogKGUgfHwgaS5wb2ludFJhbmdlKSA6IDA7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pc1BvaW50SW5zaWRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQsIGkgPSB0aGlzLnhBeGlzLCBuID0gdGhpcy55QXhpczsKICAgICAgICAgICAgcmV0dXJuICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdC5wbG90WSAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHQucGxvdFggJiYgMCA8PSB0LnBsb3RZICYmIHQucGxvdFkgPD0gKG4gPyBuLmxlbiA6IGUucGxvdEhlaWdodCkgJiYgMCA8PSB0LnBsb3RYICYmIHQucGxvdFggPD0gKGkgPyBpLmxlbiA6IGUucGxvdFdpZHRoKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmRyYXdUcmFja2VyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHQub3B0aW9ucywgaSA9IGUudHJhY2tCeUFyZWEsIG4gPSBbXS5jb25jYXQoaSA/IHQuYXJlYVBhdGggOiB0LmdyYXBoUGF0aCksIG8gPSB0LmNoYXJ0LCByID0gby5wb2ludGVyLCBzID0gby5yZW5kZXJlciwKICAgICAgICAgICAgICBhID0gby5vcHRpb25zLnRvb2x0aXAuc25hcCwgaCA9IHQudHJhY2tlciwgbCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIG8uaG92ZXJTZXJpZXMgIT09IHQgJiYgdC5vbk1vdXNlT3ZlcigpOwogICAgICAgICAgICAgIH0sIGMgPSAicmdiYSgxOTIsMTkyLDE5MiwiICsgKGcgPyAxZS00IDogLjAwMikgKyAiKSI7CiAgICAgICAgICAgIGggPyBoLmF0dHIoeyBkOiBuIH0pIDogdC5ncmFwaCAmJiAodC50cmFja2VyID0gcy5wYXRoKG4pLmF0dHIoewogICAgICAgICAgICAgIHZpc2liaWxpdHk6IHQudmlzaWJsZSA/ICJ2aXNpYmxlIiA6ICJoaWRkZW4iLAogICAgICAgICAgICAgIHpJbmRleDogMgogICAgICAgICAgICB9KS5hZGRDbGFzcyhpID8gImhpZ2hjaGFydHMtdHJhY2tlci1hcmVhIiA6ICJoaWdoY2hhcnRzLXRyYWNrZXItbGluZSIpLmFkZCh0Lmdyb3VwKSwgby5zdHlsZWRNb2RlIHx8IHQudHJhY2tlci5hdHRyKHsKICAgICAgICAgICAgICAic3Ryb2tlLWxpbmVjYXAiOiAicm91bmQiLAogICAgICAgICAgICAgICJzdHJva2UtbGluZWpvaW4iOiAicm91bmQiLAogICAgICAgICAgICAgIHN0cm9rZTogYywKICAgICAgICAgICAgICBmaWxsOiBpID8gYyA6ICJub25lIiwKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogdC5ncmFwaC5zdHJva2VXaWR0aCgpICsgKGkgPyAwIDogMiAqIGEpCiAgICAgICAgICAgIH0pLCBbdC50cmFja2VyLCB0Lm1hcmtlckdyb3VwLCB0LmRhdGFMYWJlbHNHcm91cF0uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQgJiYgKHQuYWRkQ2xhc3MoImhpZ2hjaGFydHMtdHJhY2tlciIpLm9uKCJtb3VzZW92ZXIiLCBsKS5vbigibW91c2VvdXQiLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgci5vblRyYWNrZXJNb3VzZU91dCh0KTsKICAgICAgICAgICAgICB9KSksIGUuY3Vyc29yICYmICFvLnN0eWxlZE1vZGUgJiYgdC5jc3MoeyBjdXJzb3I6IGUuY3Vyc29yIH0pLCBmKSAmJiB0Lm9uKCJ0b3VjaHN0YXJ0IiwgbCk7CiAgICAgICAgICAgIH0pKSksIE8odGhpcywgImFmdGVyRHJhd1RyYWNrZXIiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFkZFBvaW50ID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbykgewogICAgICAgICAgICB2YXIgciA9IHRoaXMub3B0aW9ucywgcyA9IHRoaXMuZGF0YSwgYSA9IHRoaXMuY2hhcnQsIGggPSB0aGlzLnhBeGlzOwogICAgICAgICAgICBoID0gaCAmJiBoLmhhc05hbWVzICYmIGgubmFtZXM7CiAgICAgICAgICAgIHZhciBsLCBjID0gci5kYXRhLCBwID0gdGhpcy54RGF0YTsKICAgICAgICAgICAgZSA9IHooZSwgITApOwogICAgICAgICAgICB2YXIgZCA9IHsgc2VyaWVzOiB0aGlzIH07CiAgICAgICAgICAgIHRoaXMucG9pbnRDbGFzcy5wcm90b3R5cGUuYXBwbHlPcHRpb25zLmFwcGx5KGQsIFt0XSk7CiAgICAgICAgICAgIHZhciB1ID0gZC54LCBmID0gcC5sZW5ndGg7CiAgICAgICAgICAgIGlmICh0aGlzLnJlcXVpcmVTb3J0aW5nICYmIHUgPCBwW2YgLSAxXSkgZm9yIChsID0gITA7IGYgJiYgcFtmIC0gMV0gPiB1OykgZi0tOwogICAgICAgICAgICB0aGlzLnVwZGF0ZVBhcmFsbGVsQXJyYXlzKGQsICJzcGxpY2UiLCBmLCAwLCAwKSwgdGhpcy51cGRhdGVQYXJhbGxlbEFycmF5cyhkLCBmKSwgaCAmJiBkLm5hbWUgJiYgKGhbdV0gPSBkLm5hbWUpLCBjLnNwbGljZShmLCAwLCB0KSwgbCAmJiAodGhpcy5kYXRhLnNwbGljZShmLCAwLCBudWxsKSwgdGhpcy5wcm9jZXNzRGF0YSgpKSwgInBvaW50IiA9PT0gci5sZWdlbmRUeXBlICYmIHRoaXMuZ2VuZXJhdGVQb2ludHMoKSwgaSAmJiAoc1swXSAmJiBzWzBdLnJlbW92ZSA/IHNbMF0ucmVtb3ZlKCExKSA6IChzLnNoaWZ0KCksIHRoaXMudXBkYXRlUGFyYWxsZWxBcnJheXMoZCwgInNoaWZ0IiksIGMuc2hpZnQoKSkpLCAhMSAhPT0gbyAmJiBPKHRoaXMsICJhZGRQb2ludCIsIHsgcG9pbnQ6IGQgfSksIHRoaXMuaXNEaXJ0eURhdGEgPSB0aGlzLmlzRGlydHkgPSAhMCwgZSAmJiBhLnJlZHJhdyhuKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZVBvaW50ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMsIG8gPSBuLmRhdGEsIHIgPSBvW3RdLCBzID0gbi5wb2ludHMsIGEgPSBuLmNoYXJ0LCBoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgcyAmJiBzLmxlbmd0aCA9PT0gby5sZW5ndGggJiYgcy5zcGxpY2UodCwgMSksIG8uc3BsaWNlKHQsIDEpLCBuLm9wdGlvbnMuZGF0YS5zcGxpY2UodCwgMSksIG4udXBkYXRlUGFyYWxsZWxBcnJheXMociB8fCB7IHNlcmllczogbiB9LCAic3BsaWNlIiwgdCwgMSksIHIgJiYgci5kZXN0cm95KCksIG4uaXNEaXJ0eSA9ICEwLCBuLmlzRGlydHlEYXRhID0gITAsIGUgJiYgYS5yZWRyYXcoKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcChpLCBhKSwgZSA9IHooZSwgITApLCByID8gci5maXJlUG9pbnRFdmVudCgicmVtb3ZlIiwgbnVsbCwgaCkgOiBoKCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmUgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG8oKSB7CiAgICAgICAgICAgICAgci5kZXN0cm95KG4pLCBzLmlzRGlydHlMZWdlbmQgPSBzLmlzRGlydHlCb3ggPSAhMCwgcy5saW5rU2VyaWVzKCksIHoodCwgITApICYmIHMucmVkcmF3KGUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgciA9IHRoaXMsIHMgPSByLmNoYXJ0OwogICAgICAgICAgICAhMSAhPT0gaSA/IE8ociwgInJlbW92ZSIsIG51bGwsIG8pIDogbygpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0ID0gdyh0LCB0aGlzLnVzZXJPcHRpb25zKSwgTyh0aGlzLCAidXBkYXRlIiwgeyBvcHRpb25zOiB0IH0pOwogICAgICAgICAgICB2YXIgaSwgbiA9IHRoaXMsIG8gPSBuLmNoYXJ0LCByID0gbi51c2VyT3B0aW9ucywgcyA9IG4uaW5pdGlhbFR5cGUgfHwgbi50eXBlLCBhID0gby5vcHRpb25zLnBsb3RPcHRpb25zLCBoID0geVtzXS5wcm90b3R5cGUsCiAgICAgICAgICAgICAgbCA9IG4uZmluaXNoZWRBbmltYXRpbmcgJiYgeyBhbmltYXRpb246ICExIH0sIGMgPSB7fSwgcCA9IFsiZXZlbnRPcHRpb25zIiwgIm5hdmlnYXRvclNlcmllcyIsICJiYXNlU2VyaWVzIl0sCiAgICAgICAgICAgICAgZCA9IHQudHlwZSB8fCByLnR5cGUgfHwgby5vcHRpb25zLmNoYXJ0LnR5cGUsCiAgICAgICAgICAgICAgdSA9ICEodGhpcy5oYXNEZXJpdmVkRGF0YSB8fCBkICYmIGQgIT09IHRoaXMudHlwZSB8fCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHQucG9pbnRTdGFydCB8fCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHQucG9pbnRJbnRlcnZhbCB8fCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHQucmVsYXRpdmVYVmFsdWUgfHwgbi5oYXNPcHRpb25DaGFuZ2VkKCJkYXRhR3JvdXBpbmciKSB8fCBuLmhhc09wdGlvbkNoYW5nZWQoInBvaW50U3RhcnQiKSB8fCBuLmhhc09wdGlvbkNoYW5nZWQoInBvaW50SW50ZXJ2YWwiKSB8fCBuLmhhc09wdGlvbkNoYW5nZWQoInBvaW50SW50ZXJ2YWxVbml0IikgfHwgbi5oYXNPcHRpb25DaGFuZ2VkKCJrZXlzIikpOwogICAgICAgICAgICBpZiAoZCA9IGQgfHwgcywgdSAmJiAocC5wdXNoKCJkYXRhIiwgImlzRGlydHlEYXRhIiwgInBvaW50cyIsICJwcm9jZXNzZWRYRGF0YSIsICJwcm9jZXNzZWRZRGF0YSIsICJ4SW5jcmVtZW50IiwgImNyb3BwZWQiLCAiX2hhc1BvaW50TWFya2VycyIsICJfaGFzUG9pbnRMYWJlbHMiLCAiY2xpcHMiLCAibm9kZXMiLCAibGF5b3V0IiwgIm1hcE1hcCIsICJtYXBEYXRhIiwgIm1pblkiLCAibWF4WSIsICJtaW5YIiwgIm1heFgiKSwgITEgIT09IHQudmlzaWJsZSAmJiBwLnB1c2goImFyZWEiLCAiZ3JhcGgiKSwgbi5wYXJhbGxlbEFycmF5cy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcC5wdXNoKHQgKyAiRGF0YSIpOwogICAgICAgICAgICB9KSksIHQuZGF0YSAmJiAodC5kYXRhU29ydGluZyAmJiBBKG4ub3B0aW9ucy5kYXRhU29ydGluZywgdC5kYXRhU29ydGluZyksIHRoaXMuc2V0RGF0YSh0LmRhdGEsICExKSkpLCB0ID0gRChyLCBsLCB7CiAgICAgICAgICAgICAgaW5kZXg6ICJ1bmRlZmluZWQiID09PSB0eXBlb2Ygci5pbmRleCA/IG4uaW5kZXggOiByLmluZGV4LAogICAgICAgICAgICAgIHBvaW50U3RhcnQ6IHooYSAmJiBhLnNlcmllcyAmJiBhLnNlcmllcy5wb2ludFN0YXJ0LCByLnBvaW50U3RhcnQsIG4ueERhdGFbMF0pCiAgICAgICAgICAgIH0sICF1ICYmIHsgZGF0YTogbi5vcHRpb25zLmRhdGEgfSwgdCksIHUgJiYgdC5kYXRhICYmICh0LmRhdGEgPSBuLm9wdGlvbnMuZGF0YSksIHAgPSBbImdyb3VwIiwgIm1hcmtlckdyb3VwIiwgImRhdGFMYWJlbHNHcm91cCIsICJ0cmFuc2Zvcm1Hcm91cCJdLmNvbmNhdChwKSwgcC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcFt0XSA9IG5bdF0sIGRlbGV0ZSBuW3RdOwogICAgICAgICAgICB9KSksIGEgPSAhMSwgeVtkXSkgewogICAgICAgICAgICAgIGlmIChhID0gZCAhPT0gbi50eXBlLCBuLnJlbW92ZSghMSwgITEsICExLCAhMCksIGEpIGlmIChPYmplY3Quc2V0UHJvdG90eXBlT2YpIE9iamVjdC5zZXRQcm90b3R5cGVPZihuLCB5W2RdLnByb3RvdHlwZSk7IGVsc2UgewogICAgICAgICAgICAgICAgZm9yIChpIGluIGwgPSBPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChuLCAiaGNFdmVudHMiKSAmJiBuLmhjRXZlbnRzLCBoKSBuW2ldID0gdm9pZCAwOwogICAgICAgICAgICAgICAgQShuLCB5W2RdLnByb3RvdHlwZSksIGwgPyBuLmhjRXZlbnRzID0gbCA6IGRlbGV0ZSBuLmhjRXZlbnRzOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIE0oMTcsICEwLCBvLCB7IG1pc3NpbmdNb2R1bGVGb3I6IGQgfSk7CiAgICAgICAgICAgIGlmIChwLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBuW3RdID0gcFt0XTsKICAgICAgICAgICAgfSkpLCBuLmluaXQobywgdCksIHUgJiYgdGhpcy5wb2ludHMpIHsKICAgICAgICAgICAgICB2YXIgZiA9IG4ub3B0aW9uczsKICAgICAgICAgICAgICAhMSA9PT0gZi52aXNpYmxlID8gKGMuZ3JhcGhpYyA9IDEsIGMuZGF0YUxhYmVsID0gMSkgOiBuLl9oYXNQb2ludExhYmVscyB8fCAodCA9IGYubWFya2VyLCBoID0gZi5kYXRhTGFiZWxzLCAhdCB8fCAhMSAhPT0gdC5lbmFibGVkICYmIChyLm1hcmtlciAmJiByLm1hcmtlci5zeW1ib2wpID09PSB0LnN5bWJvbCB8fCAoYy5ncmFwaGljID0gMSksIGggJiYgITEgPT09IGguZW5hYmxlZCAmJiAoYy5kYXRhTGFiZWwgPSAxKSksIHRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQgJiYgdC5zZXJpZXMgJiYgKHQucmVzb2x2ZUNvbG9yKCksIE9iamVjdC5rZXlzKGMpLmxlbmd0aCAmJiB0LmRlc3Ryb3lFbGVtZW50cyhjKSwgITEgPT09IGYuc2hvd0luTGVnZW5kICYmIHQubGVnZW5kSXRlbSAmJiBvLmxlZ2VuZC5kZXN0cm95SXRlbSh0KSk7CiAgICAgICAgICAgICAgfSksIHRoaXMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG4uaW5pdGlhbFR5cGUgPSBzLCBvLmxpbmtTZXJpZXMoKSwgYSAmJiBuLmxpbmtlZFNlcmllcy5sZW5ndGggJiYgKG4uaXNEaXJ0eURhdGEgPSAhMCksIE8odGhpcywgImFmdGVyVXBkYXRlIiksIHooZSwgITApICYmIG8ucmVkcmF3KCEhdSAmJiB2b2lkIDApOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0TmFtZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5vcHRpb25zLm5hbWUgPSB0aGlzLnVzZXJPcHRpb25zLm5hbWUgPSB0LCB0aGlzLmNoYXJ0LmlzRGlydHlMZWdlbmQgPSAhMDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmhhc09wdGlvbkNoYW5nZWQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5vcHRpb25zW3RdLCBpID0gdGhpcy5jaGFydC5vcHRpb25zLnBsb3RPcHRpb25zLCBuID0gdGhpcy51c2VyT3B0aW9uc1t0XTsKICAgICAgICAgICAgcmV0dXJuIG4gPyBlICE9PSBuIDogZSAhPT0geihpICYmIGlbdGhpcy50eXBlXSAmJiBpW3RoaXMudHlwZV1bdF0sIGkgJiYgaS5zZXJpZXMgJiYgaS5zZXJpZXNbdF0sIGUpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUub25Nb3VzZU92ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmNoYXJ0LCBlID0gdC5ob3ZlclNlcmllczsKICAgICAgICAgICAgdC5wb2ludGVyLnNldEhvdmVyQ2hhcnRJbmRleCgpLCBlICYmIGUgIT09IHRoaXMgJiYgZS5vbk1vdXNlT3V0KCksIHRoaXMub3B0aW9ucy5ldmVudHMubW91c2VPdmVyICYmIE8odGhpcywgIm1vdXNlT3ZlciIpLCB0aGlzLnNldFN0YXRlKCJob3ZlciIpLCB0LmhvdmVyU2VyaWVzID0gdGhpczsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm9uTW91c2VPdXQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm9wdGlvbnMsIGUgPSB0aGlzLmNoYXJ0LCBpID0gZS50b29sdGlwLCBuID0gZS5ob3ZlclBvaW50OwogICAgICAgICAgICBlLmhvdmVyU2VyaWVzID0gbnVsbCwgbiAmJiBuLm9uTW91c2VPdXQoKSwgdGhpcyAmJiB0LmV2ZW50cy5tb3VzZU91dCAmJiBPKHRoaXMsICJtb3VzZU91dCIpLCAhaSB8fCB0aGlzLnN0aWNreVRyYWNraW5nIHx8IGkuc2hhcmVkICYmICF0aGlzLm5vU2hhcmVkVG9vbHRpcCB8fCBpLmhpZGUoKSwgZS5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuc2V0U3RhdGUoIiIsICEwKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0U3RhdGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcywgbiA9IGkub3B0aW9ucywgbyA9IGkuZ3JhcGgsIHIgPSBuLmluYWN0aXZlT3RoZXJQb2ludHMsIHMgPSBuLnN0YXRlcywKICAgICAgICAgICAgICBhID0geihzW3QgfHwgIm5vcm1hbCJdICYmIHNbdCB8fCAibm9ybWFsIl0uYW5pbWF0aW9uLCBpLmNoYXJ0Lm9wdGlvbnMuY2hhcnQuYW5pbWF0aW9uKSwgaCA9IG4ubGluZVdpZHRoLCBsID0gMCwgYyA9IG4ub3BhY2l0eTsKICAgICAgICAgICAgaWYgKHQgPSB0IHx8ICIiLCBpLnN0YXRlICE9PSB0ICYmIChbaS5ncm91cCwgaS5tYXJrZXJHcm91cCwgaS5kYXRhTGFiZWxzR3JvdXBdLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBlICYmIChpLnN0YXRlICYmIGUucmVtb3ZlQ2xhc3MoImhpZ2hjaGFydHMtc2VyaWVzLSIgKyBpLnN0YXRlKSwgdCAmJiBlLmFkZENsYXNzKCJoaWdoY2hhcnRzLXNlcmllcy0iICsgdCkpOwogICAgICAgICAgICB9KSksIGkuc3RhdGUgPSB0LCAhaS5jaGFydC5zdHlsZWRNb2RlKSkgewogICAgICAgICAgICAgIGlmIChzW3RdICYmICExID09PSBzW3RdLmVuYWJsZWQpIHJldHVybjsKICAgICAgICAgICAgICBpZiAodCAmJiAoaCA9IHNbdF0ubGluZVdpZHRoIHx8IGggKyAoc1t0XS5saW5lV2lkdGhQbHVzIHx8IDApLCBjID0geihzW3RdLm9wYWNpdHksIGMpKSwgbyAmJiAhby5kYXNoc3R5bGUpIGZvciAobiA9IHsgInN0cm9rZS13aWR0aCI6IGggfSwgby5hbmltYXRlKG4sIGEpOyBpWyJ6b25lLWdyYXBoLSIgKyBsXTspIGlbInpvbmUtZ3JhcGgtIiArIGxdLmFuaW1hdGUobiwgYSksIGwgKz0gMTsKICAgICAgICAgICAgICByIHx8IFtpLmdyb3VwLCBpLm1hcmtlckdyb3VwLCBpLmRhdGFMYWJlbHNHcm91cCwgaS5sYWJlbEJ5U2VyaWVzXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0ICYmIHQuYW5pbWF0ZSh7IG9wYWNpdHk6IGMgfSwgYSk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGUgJiYgciAmJiBpLnBvaW50cyAmJiBpLnNldEFsbFBvaW50c1RvU3RhdGUodCB8fCB2b2lkIDApOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0QWxsUG9pbnRzVG9TdGF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIGUuc2V0U3RhdGUgJiYgZS5zZXRTdGF0ZSh0KTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0VmlzaWJsZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLCBuID0gaS5jaGFydCwgbyA9IGkubGVnZW5kSXRlbSwgciA9IG4ub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMsIHMgPSBpLnZpc2libGUsCiAgICAgICAgICAgICAgYSA9IChpLnZpc2libGUgPSB0ID0gaS5vcHRpb25zLnZpc2libGUgPSBpLnVzZXJPcHRpb25zLnZpc2libGUgPSAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHQgPyAhcyA6IHQpID8gInNob3ciIDogImhpZGUiOwogICAgICAgICAgICBbImdyb3VwIiwgImRhdGFMYWJlbHNHcm91cCIsICJtYXJrZXJHcm91cCIsICJ0cmFja2VyIiwgInR0Il0uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGlbdF0gJiYgaVt0XVthXSgpOwogICAgICAgICAgICB9KSksIG4uaG92ZXJTZXJpZXMgIT09IGkgJiYgKG4uaG92ZXJQb2ludCAmJiBuLmhvdmVyUG9pbnQuc2VyaWVzKSAhPT0gaSB8fCBpLm9uTW91c2VPdXQoKSwgbyAmJiBuLmxlZ2VuZC5jb2xvcml6ZUl0ZW0oaSwgdCksIGkuaXNEaXJ0eSA9ICEwLCBpLm9wdGlvbnMuc3RhY2tpbmcgJiYgbi5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQub3B0aW9ucy5zdGFja2luZyAmJiB0LnZpc2libGUgJiYgKHQuaXNEaXJ0eSA9ICEwKTsKICAgICAgICAgICAgfSkpLCBpLmxpbmtlZFNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgZS5zZXRWaXNpYmxlKHQsICExKTsKICAgICAgICAgICAgfSkpLCByICYmIChuLmlzRGlydHlCb3ggPSAhMCksIE8oaSwgYSksICExICE9PSBlICYmIG4ucmVkcmF3KCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zaG93ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuc2V0VmlzaWJsZSghMCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5oaWRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuc2V0VmlzaWJsZSghMSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZWxlY3QgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0ID0gdGhpcy5vcHRpb25zLnNlbGVjdGVkID0gInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0ID8gIXRoaXMuc2VsZWN0ZWQgOiB0LCB0aGlzLmNoZWNrYm94ICYmICh0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSB0KSwgTyh0aGlzLCB0ID8gInNlbGVjdCIgOiAidW5zZWxlY3QiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNob3VsZFNob3dUb29sdGlwID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSBpICYmIChpID0ge30pLCBpLnNlcmllcyA9IHRoaXMsIGkudmlzaWJsZVBsb3RPbmx5ID0gITAsIHRoaXMuY2hhcnQuaXNJbnNpZGVQbG90KHQsIGUsIGkpOwogICAgICAgICAgfSwgdC5kZWZhdWx0T3B0aW9ucyA9IHMsIHQ7CiAgICAgICAgfSgpLCBBKHQucHJvdG90eXBlLCB7CiAgICAgICAgICBheGlzVHlwZXM6IFsieEF4aXMiLCAieUF4aXMiXSwKICAgICAgICAgIGNvbGw6ICJzZXJpZXMiLAogICAgICAgICAgY29sb3JDb3VudGVyOiAwLAogICAgICAgICAgY3JvcFNob3VsZGVyOiAxLAogICAgICAgICAgZGlyZWN0VG91Y2g6ICExLAogICAgICAgICAgZHJhd0xlZ2VuZFN5bWJvbDogby5kcmF3TGluZU1hcmtlciwKICAgICAgICAgIGlzQ2FydGVzaWFuOiAhMCwKICAgICAgICAgIGtkQXhpc0FycmF5OiBbImNsaWVudFgiLCAicGxvdFkiXSwKICAgICAgICAgIHBhcmFsbGVsQXJyYXlzOiBbIngiLCAieSJdLAogICAgICAgICAgcG9pbnRDbGFzczogciwKICAgICAgICAgIHJlcXVpcmVTb3J0aW5nOiAhMCwKICAgICAgICAgIHNvcnRlZDogITAKICAgICAgICB9KSwgYS5zZXJpZXMgPSB0LCB0OwogICAgICB9KSksIGUoaSwgIkV4dGVuc2lvbnMvU2Nyb2xsYWJsZVBsb3RBcmVhLmpzIiwgW2lbIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyJdLCBpWyJDb3JlL0F4aXMvQXhpcy5qcyJdLCBpWyJDb3JlL0NoYXJ0L0NoYXJ0LmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyUmVnaXN0cnkuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgdmFyIHMgPSB0LnN0b3AsIGEgPSByLmFkZEV2ZW50LCBoID0gci5jcmVhdGVFbGVtZW50LCBsID0gci5tZXJnZSwgYyA9IHIucGljazsKICAgICAgICBhKGksICJhZnRlclNldENoYXJ0U2l6ZSIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgaSA9IHRoaXMub3B0aW9ucy5jaGFydC5zY3JvbGxhYmxlUGxvdEFyZWEsIG4gPSBpICYmIGkubWluV2lkdGg7CiAgICAgICAgICBpZiAoaSA9IGkgJiYgaS5taW5IZWlnaHQsICF0aGlzLnJlbmRlcmVyLmZvckV4cG9ydCkgewogICAgICAgICAgICBpZiAobikgewogICAgICAgICAgICAgIGlmICh0aGlzLnNjcm9sbGFibGVQaXhlbHNYID0gbiA9IE1hdGgubWF4KDAsIG4gLSB0aGlzLmNoYXJ0V2lkdGgpKSB7CiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGFibGVQbG90Qm94ID0gdGhpcy5yZW5kZXJlci5zY3JvbGxhYmxlUGxvdEJveCA9IGwodGhpcy5wbG90Qm94KSwgdGhpcy5wbG90Qm94LndpZHRoID0gdGhpcy5wbG90V2lkdGggKz0gbiwgdGhpcy5pbnZlcnRlZCA/IHRoaXMuY2xpcEJveC5oZWlnaHQgKz0gbiA6IHRoaXMuY2xpcEJveC53aWR0aCArPSBuOwogICAgICAgICAgICAgICAgdmFyIG8gPSB7IDE6IHsgbmFtZTogInJpZ2h0IiwgdmFsdWU6IG4gfSB9OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGkgJiYgKHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1kgPSBuID0gTWF0aC5tYXgoMCwgaSAtIHRoaXMuY2hhcnRIZWlnaHQpKSAmJiAodGhpcy5zY3JvbGxhYmxlUGxvdEJveCA9IHRoaXMucmVuZGVyZXIuc2Nyb2xsYWJsZVBsb3RCb3ggPSBsKHRoaXMucGxvdEJveCksIHRoaXMucGxvdEJveC5oZWlnaHQgPSB0aGlzLnBsb3RIZWlnaHQgKz0gbiwgdGhpcy5pbnZlcnRlZCA/IHRoaXMuY2xpcEJveC53aWR0aCArPSBuIDogdGhpcy5jbGlwQm94LmhlaWdodCArPSBuLCBvID0gewogICAgICAgICAgICAgIDI6IHsKICAgICAgICAgICAgICAgIG5hbWU6ICJib3R0b20iLAogICAgICAgICAgICAgICAgdmFsdWU6IG4KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBvICYmICF0LnNraXBBeGVzICYmIHRoaXMuYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgb1t0LnNpZGVdID8gdC5nZXRQbG90TGluZVBhdGggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gb1t0LnNpZGVdLm5hbWUsIG4gPSB0aGlzW2ldOwogICAgICAgICAgICAgICAgdGhpc1tpXSA9IG4gLSBvW3Quc2lkZV0udmFsdWU7CiAgICAgICAgICAgICAgICB2YXIgciA9IGUucHJvdG90eXBlLmdldFBsb3RMaW5lUGF0aC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNbaV0gPSBuLCByOwogICAgICAgICAgICAgIH0gOiAodC5zZXRBeGlzU2l6ZSgpLCB0LnNldEF4aXNUcmFuc2xhdGlvbigpKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfQogICAgICAgIH0pKSwgYShpLCAicmVuZGVyIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgdGhpcy5zY3JvbGxhYmxlUGl4ZWxzWCB8fCB0aGlzLnNjcm9sbGFibGVQaXhlbHNZID8gKHRoaXMuc2V0VXBTY3JvbGxpbmcgJiYgdGhpcy5zZXRVcFNjcm9sbGluZygpLCB0aGlzLmFwcGx5Rml4ZWQoKSkgOiB0aGlzLmZpeGVkRGl2ICYmIHRoaXMuYXBwbHlGaXhlZCgpOwogICAgICAgIH0pKSwgaS5wcm90b3R5cGUuc2V0VXBTY3JvbGxpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHsgV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6ICJ0b3VjaCIsIG92ZXJmbG93WDogImhpZGRlbiIsIG92ZXJmbG93WTogImhpZGRlbiIgfTsKICAgICAgICAgIHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1ggJiYgKGUub3ZlcmZsb3dYID0gImF1dG8iKSwgdGhpcy5zY3JvbGxhYmxlUGl4ZWxzWSAmJiAoZS5vdmVyZmxvd1kgPSAiYXV0byIpLCB0aGlzLnNjcm9sbGluZ1BhcmVudCA9IGgoImRpdiIsIHsgY2xhc3NOYW1lOiAiaGlnaGNoYXJ0cy1zY3JvbGxpbmctcGFyZW50IiB9LCB7IHBvc2l0aW9uOiAicmVsYXRpdmUiIH0sIHRoaXMucmVuZGVyVG8pLCB0aGlzLnNjcm9sbGluZ0NvbnRhaW5lciA9IGgoImRpdiIsIHsgY2xhc3NOYW1lOiAiaGlnaGNoYXJ0cy1zY3JvbGxpbmciIH0sIGUsIHRoaXMuc2Nyb2xsaW5nUGFyZW50KSwgYSh0aGlzLnNjcm9sbGluZ0NvbnRhaW5lciwgInNjcm9sbCIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdC5wb2ludGVyICYmIGRlbGV0ZSB0LnBvaW50ZXIuY2hhcnRQb3NpdGlvbjsKICAgICAgICAgIH0pKSwgdGhpcy5pbm5lckNvbnRhaW5lciA9IGgoImRpdiIsIHsgY2xhc3NOYW1lOiAiaGlnaGNoYXJ0cy1pbm5lci1jb250YWluZXIiIH0sIG51bGwsIHRoaXMuc2Nyb2xsaW5nQ29udGFpbmVyKSwgdGhpcy5pbm5lckNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lciksIHRoaXMuc2V0VXBTY3JvbGxpbmcgPSBudWxsOwogICAgICAgIH0sIGkucHJvdG90eXBlLm1vdmVGaXhlZEVsZW1lbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCwgZSA9IHRoaXMuY29udGFpbmVyLCBpID0gdGhpcy5maXhlZFJlbmRlcmVyLAogICAgICAgICAgICBuID0gIi5oaWdoY2hhcnRzLWNvbnRleHRidXR0b24gLmhpZ2hjaGFydHMtY3JlZGl0cyAuaGlnaGNoYXJ0cy1sZWdlbmQgLmhpZ2hjaGFydHMtbGVnZW5kLWNoZWNrYm94IC5oaWdoY2hhcnRzLW5hdmlnYXRvci1zZXJpZXMgLmhpZ2hjaGFydHMtbmF2aWdhdG9yLXhheGlzIC5oaWdoY2hhcnRzLW5hdmlnYXRvci15YXhpcyAuaGlnaGNoYXJ0cy1uYXZpZ2F0b3IgLmhpZ2hjaGFydHMtcmVzZXQtem9vbSAuaGlnaGNoYXJ0cy1kcmlsbHVwLWJ1dHRvbiAuaGlnaGNoYXJ0cy1zY3JvbGxiYXIgLmhpZ2hjaGFydHMtc3VidGl0bGUgLmhpZ2hjaGFydHMtdGl0bGUiLnNwbGl0KCIgIik7CiAgICAgICAgICB0aGlzLnNjcm9sbGFibGVQaXhlbHNYICYmICF0aGlzLmludmVydGVkID8gdCA9ICIuaGlnaGNoYXJ0cy15YXhpcyIgOiB0aGlzLnNjcm9sbGFibGVQaXhlbHNYICYmIHRoaXMuaW52ZXJ0ZWQgPyB0ID0gIi5oaWdoY2hhcnRzLXhheGlzIiA6IHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1kgJiYgIXRoaXMuaW52ZXJ0ZWQgPyB0ID0gIi5oaWdoY2hhcnRzLXhheGlzIiA6IHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1kgJiYgdGhpcy5pbnZlcnRlZCAmJiAodCA9ICIuaGlnaGNoYXJ0cy15YXhpcyIpLCB0ICYmIG4ucHVzaCh0ICsgIjpub3QoLmhpZ2hjaGFydHMtcmFkaWFsLWF4aXMpIiwgdCArICItbGFiZWxzOm5vdCguaGlnaGNoYXJ0cy1yYWRpYWwtYXhpcy1sYWJlbHMpIiksIG4uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICBbXS5mb3JFYWNoLmNhbGwoZS5xdWVyeVNlbGVjdG9yQWxsKHQpLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICh0Lm5hbWVzcGFjZVVSSSA9PT0gaS5TVkdfTlMgPyBpLmJveCA6IGkuYm94LnBhcmVudE5vZGUpLmFwcGVuZENoaWxkKHQpLCB0LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAiYXV0byI7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0pKTsKICAgICAgICB9LCBpLnByb3RvdHlwZS5hcHBseUZpeGVkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9ICF0aGlzLmZpeGVkRGl2LCBlID0gdGhpcy5vcHRpb25zLmNoYXJ0LCBpID0gZS5zY3JvbGxhYmxlUGxvdEFyZWEsIG4gPSBvLmdldFJlbmRlcmVyVHlwZSgpOwogICAgICAgICAgdCA/ICh0aGlzLmZpeGVkRGl2ID0gaCgiZGl2IiwgeyBjbGFzc05hbWU6ICJoaWdoY2hhcnRzLWZpeGVkIiB9LCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICBvdmVyZmxvdzogImhpZGRlbiIsCiAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICJub25lIiwKICAgICAgICAgICAgekluZGV4OiAoZS5zdHlsZSAmJiBlLnN0eWxlLnpJbmRleCB8fCAwKSArIDIsCiAgICAgICAgICAgIHRvcDogMAogICAgICAgICAgfSwgbnVsbCwgITApLCB0aGlzLnNjcm9sbGluZ0NvbnRhaW5lciAmJiB0aGlzLnNjcm9sbGluZ0NvbnRhaW5lci5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmZpeGVkRGl2LCB0aGlzLnNjcm9sbGluZ0NvbnRhaW5lciksIHRoaXMucmVuZGVyVG8uc3R5bGUub3ZlcmZsb3cgPSAidmlzaWJsZSIsIHRoaXMuZml4ZWRSZW5kZXJlciA9IGUgPSBuZXcgbih0aGlzLmZpeGVkRGl2LCB0aGlzLmNoYXJ0V2lkdGgsIHRoaXMuY2hhcnRIZWlnaHQsIHRoaXMub3B0aW9ucy5jaGFydC5zdHlsZSksIHRoaXMuc2Nyb2xsYWJsZU1hc2sgPSBlLnBhdGgoKS5hdHRyKHsKICAgICAgICAgICAgZmlsbDogdGhpcy5vcHRpb25zLmNoYXJ0LmJhY2tncm91bmRDb2xvciB8fCAiI2ZmZiIsCiAgICAgICAgICAgICJmaWxsLW9wYWNpdHkiOiBjKGkub3BhY2l0eSwgLjg1KSwKICAgICAgICAgICAgekluZGV4OiAtMQogICAgICAgICAgfSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtc2Nyb2xsYWJsZS1tYXNrIikuYWRkKCksIGEodGhpcywgImFmdGVyU2hvd1Jlc2V0Wm9vbSIsIHRoaXMubW92ZUZpeGVkRWxlbWVudHMpLCBhKHRoaXMsICJhZnRlckRyaWxsZG93biIsIHRoaXMubW92ZUZpeGVkRWxlbWVudHMpLCBhKHRoaXMsICJhZnRlckxheU91dFRpdGxlcyIsIHRoaXMubW92ZUZpeGVkRWxlbWVudHMpKSA6IHRoaXMuZml4ZWRSZW5kZXJlci5zZXRTaXplKHRoaXMuY2hhcnRXaWR0aCwgdGhpcy5jaGFydEhlaWdodCksICh0aGlzLnNjcm9sbGFibGVEaXJ0eSB8fCB0KSAmJiAodGhpcy5zY3JvbGxhYmxlRGlydHkgPSAhMSwgdGhpcy5tb3ZlRml4ZWRFbGVtZW50cygpKSwgZSA9IHRoaXMuY2hhcnRXaWR0aCArICh0aGlzLnNjcm9sbGFibGVQaXhlbHNYIHx8IDApLCBuID0gdGhpcy5jaGFydEhlaWdodCArICh0aGlzLnNjcm9sbGFibGVQaXhlbHNZIHx8IDApLCBzKHRoaXMuY29udGFpbmVyKSwgdGhpcy5jb250YWluZXIuc3R5bGUud2lkdGggPSBlICsgInB4IiwgdGhpcy5jb250YWluZXIuc3R5bGUuaGVpZ2h0ID0gbiArICJweCIsIHRoaXMucmVuZGVyZXIuYm94V3JhcHBlci5hdHRyKHsKICAgICAgICAgICAgd2lkdGg6IGUsCiAgICAgICAgICAgIGhlaWdodDogbiwKICAgICAgICAgICAgdmlld0JveDogWzAsIDAsIGUsIG5dLmpvaW4oIiAiKQogICAgICAgICAgfSksIHRoaXMuY2hhcnRCYWNrZ3JvdW5kLmF0dHIoewogICAgICAgICAgICB3aWR0aDogZSwKICAgICAgICAgICAgaGVpZ2h0OiBuCiAgICAgICAgICB9KSwgdGhpcy5zY3JvbGxpbmdDb250YWluZXIuc3R5bGUuaGVpZ2h0ID0gdGhpcy5jaGFydEhlaWdodCArICJweCIsIHQgJiYgKGkuc2Nyb2xsUG9zaXRpb25YICYmICh0aGlzLnNjcm9sbGluZ0NvbnRhaW5lci5zY3JvbGxMZWZ0ID0gdGhpcy5zY3JvbGxhYmxlUGl4ZWxzWCAqIGkuc2Nyb2xsUG9zaXRpb25YKSwgaS5zY3JvbGxQb3NpdGlvblkgJiYgKHRoaXMuc2Nyb2xsaW5nQ29udGFpbmVyLnNjcm9sbFRvcCA9IHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1kgKiBpLnNjcm9sbFBvc2l0aW9uWSkpLCBuID0gdGhpcy5heGlzT2Zmc2V0LCB0ID0gdGhpcy5wbG90VG9wIC0gblswXSAtIDEsIGkgPSB0aGlzLnBsb3RMZWZ0IC0gblszXSAtIDEsIGUgPSB0aGlzLnBsb3RUb3AgKyB0aGlzLnBsb3RIZWlnaHQgKyBuWzJdICsgMSwgbiA9IHRoaXMucGxvdExlZnQgKyB0aGlzLnBsb3RXaWR0aCArIG5bMV0gKyAxOwogICAgICAgICAgdmFyIHIgPSB0aGlzLnBsb3RMZWZ0ICsgdGhpcy5wbG90V2lkdGggLSAodGhpcy5zY3JvbGxhYmxlUGl4ZWxzWCB8fCAwKSwgbCA9IHRoaXMucGxvdFRvcCArIHRoaXMucGxvdEhlaWdodCAtICh0aGlzLnNjcm9sbGFibGVQaXhlbHNZIHx8IDApOwogICAgICAgICAgdCA9IHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1ggPyBbWyJNIiwgMCwgdF0sIFsiTCIsIHRoaXMucGxvdExlZnQgLSAxLCB0XSwgWyJMIiwgdGhpcy5wbG90TGVmdCAtIDEsIGVdLCBbIkwiLCAwLCBlXSwgWyJaIl0sIFsiTSIsIHIsIHRdLCBbIkwiLCB0aGlzLmNoYXJ0V2lkdGgsIHRdLCBbIkwiLCB0aGlzLmNoYXJ0V2lkdGgsIGVdLCBbIkwiLCByLCBlXSwgWyJaIl1dIDogdGhpcy5zY3JvbGxhYmxlUGl4ZWxzWSA/IFtbIk0iLCBpLCAwXSwgWyJMIiwgaSwgdGhpcy5wbG90VG9wIC0gMV0sIFsiTCIsIG4sIHRoaXMucGxvdFRvcCAtIDFdLCBbIkwiLCBuLCAwXSwgWyJaIl0sIFsiTSIsIGksIGxdLCBbIkwiLCBpLCB0aGlzLmNoYXJ0SGVpZ2h0XSwgWyJMIiwgbiwgdGhpcy5jaGFydEhlaWdodF0sIFsiTCIsIG4sIGxdLCBbIloiXV0gOiBbWyJNIiwgMCwgMF1dLCAiYWRqdXN0SGVpZ2h0IiAhPT0gdGhpcy5yZWRyYXdUcmlnZ2VyICYmIHRoaXMuc2Nyb2xsYWJsZU1hc2suYXR0cih7IGQ6IHQgfSk7CiAgICAgICAgfSwgYShlLCAiYWZ0ZXJJbml0IiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgdGhpcy5jaGFydC5zY3JvbGxhYmxlRGlydHkgPSAhMDsKICAgICAgICB9KSksIGEobiwgInNob3ciLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICB0aGlzLmNoYXJ0LnNjcm9sbGFibGVEaXJ0eSA9ICEwOwogICAgICAgIH0pKTsKICAgICAgfSkpLCBlKGksICJDb3JlL0F4aXMvU3RhY2tpbmdBeGlzLmpzIiwgW2lbIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyJdLCBpWyJDb3JlL0F4aXMvQXhpcy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbiwgbyA9IHQuZ2V0RGVmZXJyZWRBbmltYXRpb24sIHIgPSBpLmFkZEV2ZW50LCBzID0gaS5kZXN0cm95T2JqZWN0UHJvcGVydGllcywgYSA9IGkuZmlyZUV2ZW50LCBoID0gaS5pc051bWJlciwgbCA9IGkub2JqZWN0RWFjaDsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnN0YWNraW5nOwogICAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICAgIHZhciBlID0gdC5zdGFja3M7CiAgICAgICAgICAgICAgbChlLCAoZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICAgICAgcyh0KSwgZVtpXSA9IG51bGw7CiAgICAgICAgICAgICAgfSkpLCB0ICYmIHQuc3RhY2tUb3RhbEdyb3VwICYmIHQuc3RhY2tUb3RhbEdyb3VwLmRlc3Ryb3koKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIGkoKSB7CiAgICAgICAgICAgIHRoaXMuc3RhY2tpbmcgfHwgKHRoaXMuc3RhY2tpbmcgPSBuZXcgYyh0aGlzKSk7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIG4gPSBbXTsKICAgICAgICAgIHQuY29tcG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIC0xID09PSBuLmluZGV4T2YodCkgJiYgKG4ucHVzaCh0KSwgcih0LCAiaW5pdCIsIGkpLCByKHQsICJkZXN0cm95IiwgZSkpLCB0OwogICAgICAgICAgfTsKICAgICAgICAgIHZhciBjID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHQodCkgewogICAgICAgICAgICAgIHRoaXMub2xkU3RhY2tzID0ge30sIHRoaXMuc3RhY2tzID0ge30sIHRoaXMuc3RhY2tzVG91Y2hlZCA9IDAsIHRoaXMuYXhpcyA9IHQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5idWlsZFN0YWNrcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciB0LCBlID0gdGhpcy5heGlzLCBpID0gZS5zZXJpZXMsIG4gPSBlLm9wdGlvbnMucmV2ZXJzZWRTdGFja3MsIG8gPSBpLmxlbmd0aDsKICAgICAgICAgICAgICBpZiAoIWUuaXNYQXhpcykgewogICAgICAgICAgICAgICAgZm9yICh0aGlzLnVzZVBlcmNlbnRhZ2UgPSAhMSwgdCA9IG87IHQtLTspIHsKICAgICAgICAgICAgICAgICAgdmFyIHIgPSBpW24gPyB0IDogbyAtIHQgLSAxXTsKICAgICAgICAgICAgICAgICAgci5zZXRTdGFja2VkUG9pbnRzKCksIHIuc2V0R3JvdXBlZFBvaW50cygpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yICh0ID0gMDsgdCA8IG87IHQrKykgaVt0XS5tb2RpZnlTdGFja3MoKTsKICAgICAgICAgICAgICAgIGEoZSwgImFmdGVyQnVpbGRTdGFja3MiKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmNsZWFuU3RhY2tzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaWYgKCF0aGlzLmF4aXMuaXNYQXhpcykgewogICAgICAgICAgICAgICAgaWYgKHRoaXMub2xkU3RhY2tzKSB2YXIgdCA9IHRoaXMuc3RhY2tzID0gdGhpcy5vbGRTdGFja3M7CiAgICAgICAgICAgICAgICBsKHQsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIGwodCwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB0LmN1bXVsYXRpdmUgPSB0LnRvdGFsOwogICAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZXNldFN0YWNrcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHQuc3RhY2tzOwogICAgICAgICAgICAgIHQuYXhpcy5pc1hBeGlzIHx8IGwoZSwgKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGwoZSwgKGZ1bmN0aW9uKGksIG4pIHsKICAgICAgICAgICAgICAgICAgaChpLnRvdWNoZWQpICYmIGkudG91Y2hlZCA8IHQuc3RhY2tzVG91Y2hlZCA/IChpLmRlc3Ryb3koKSwgZGVsZXRlIGVbbl0pIDogKGkudG90YWwgPSBudWxsLCBpLmN1bXVsYXRpdmUgPSBudWxsKTsKICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlclN0YWNrVG90YWxzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmF4aXMsIGUgPSB0LmNoYXJ0LCBpID0gZS5yZW5kZXJlciwgbiA9IHRoaXMuc3RhY2tzOwogICAgICAgICAgICAgIHQgPSBvKGUsIHQub3B0aW9ucy5zdGFja0xhYmVscyAmJiB0Lm9wdGlvbnMuc3RhY2tMYWJlbHMuYW5pbWF0aW9uIHx8ICExKTsKICAgICAgICAgICAgICB2YXIgciA9IHRoaXMuc3RhY2tUb3RhbEdyb3VwID0gdGhpcy5zdGFja1RvdGFsR3JvdXAgfHwgaS5nKCJzdGFjay1sYWJlbHMiKS5hdHRyKHsgdmlzaWJpbGl0eTogInZpc2libGUiLCB6SW5kZXg6IDYsIG9wYWNpdHk6IDAgfSkuYWRkKCk7CiAgICAgICAgICAgICAgci50cmFuc2xhdGUoZS5wbG90TGVmdCwgZS5wbG90VG9wKSwgbChuLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgbCh0LCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICB0LnJlbmRlcihyKTsKICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICB9KSksIHIuYW5pbWF0ZSh7IG9wYWNpdHk6IDEgfSwgdCk7CiAgICAgICAgICAgIH0sIHQ7CiAgICAgICAgICB9KCk7CiAgICAgICAgICB0LkFkZGl0aW9ucyA9IGM7CiAgICAgICAgfShuIHx8IChuID0ge30pKSwgbjsKICAgICAgfSkpLCBlKGksICJFeHRlbnNpb25zL1N0YWNraW5nLmpzIiwgW2lbIkNvcmUvQXhpcy9BeGlzLmpzIl0sIGlbIkNvcmUvQ2hhcnQvQ2hhcnQuanMiXSwgaVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyJdLCBpWyJDb3JlL0F4aXMvU3RhY2tpbmdBeGlzLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgciwgcykgewogICAgICAgIHZhciBhID0gaS5mb3JtYXQsIGggPSBzLmNvcnJlY3RGbG9hdCwgbCA9IHMuZGVmaW5lZCwgYyA9IHMuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsIHAgPSBzLmlzQXJyYXksIGQgPSBzLmlzTnVtYmVyLCB1ID0gcy5vYmplY3RFYWNoLCBmID0gcy5waWNrLAogICAgICAgICAgZyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmdW5jdGlvbiB0KHQsIGUsIGksIG4sIG8pIHsKICAgICAgICAgICAgICB2YXIgciA9IHQuY2hhcnQuaW52ZXJ0ZWQ7CiAgICAgICAgICAgICAgdGhpcy5heGlzID0gdCwgdGhpcy5pc05lZ2F0aXZlID0gaSwgdGhpcy5vcHRpb25zID0gZSA9IGUgfHwge30sIHRoaXMueCA9IG4sIHRoaXMudG90YWwgPSBudWxsLCB0aGlzLnBvaW50cyA9IHt9LCB0aGlzLmhhc1ZhbGlkUG9pbnRzID0gITEsIHRoaXMuc3RhY2sgPSBvLCB0aGlzLnJpZ2h0Q2xpZmYgPSB0aGlzLmxlZnRDbGlmZiA9IDAsIHRoaXMuYWxpZ25PcHRpb25zID0gewogICAgICAgICAgICAgICAgYWxpZ246IGUuYWxpZ24gfHwgKHIgPyBpID8gImxlZnQiIDogInJpZ2h0IiA6ICJjZW50ZXIiKSwKICAgICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246IGUudmVydGljYWxBbGlnbiB8fCAociA/ICJtaWRkbGUiIDogaSA/ICJib3R0b20iIDogInRvcCIpLAogICAgICAgICAgICAgICAgeTogZS55LAogICAgICAgICAgICAgICAgeDogZS54CiAgICAgICAgICAgICAgfSwgdGhpcy50ZXh0QWxpZ24gPSBlLnRleHRBbGlnbiB8fCAociA/IGkgPyAicmlnaHQiIDogImxlZnQiIDogImNlbnRlciIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gdC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGModGhpcywgdGhpcy5heGlzKTsKICAgICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBlID0gdGhpcy5heGlzLmNoYXJ0LCBpID0gdGhpcy5vcHRpb25zLCBuID0gaS5mb3JtYXQ7CiAgICAgICAgICAgICAgbiA9IG4gPyBhKG4sIHRoaXMsIGUpIDogaS5mb3JtYXR0ZXIuY2FsbCh0aGlzKSwgdGhpcy5sYWJlbCA/IHRoaXMubGFiZWwuYXR0cih7CiAgICAgICAgICAgICAgICB0ZXh0OiBuLAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIKICAgICAgICAgICAgICB9KSA6ICh0aGlzLmxhYmVsID0gZS5yZW5kZXJlci5sYWJlbChuLCBudWxsLCBudWxsLCBpLnNoYXBlLCBudWxsLCBudWxsLCBpLnVzZUhUTUwsICExLCAic3RhY2stbGFiZWxzIiksIG4gPSB7CiAgICAgICAgICAgICAgICByOiBpLmJvcmRlclJhZGl1cyB8fCAwLAogICAgICAgICAgICAgICAgdGV4dDogbiwKICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBpLnJvdGF0aW9uLAogICAgICAgICAgICAgICAgcGFkZGluZzogZihpLnBhZGRpbmcsIDUpLAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIKICAgICAgICAgICAgICB9LCBlLnN0eWxlZE1vZGUgfHwgKG4uZmlsbCA9IGkuYmFja2dyb3VuZENvbG9yLCBuLnN0cm9rZSA9IGkuYm9yZGVyQ29sb3IsIG5bInN0cm9rZS13aWR0aCJdID0gaS5ib3JkZXJXaWR0aCwgdGhpcy5sYWJlbC5jc3MoaS5zdHlsZSkpLCB0aGlzLmxhYmVsLmF0dHIobiksIHRoaXMubGFiZWwuYWRkZWQgfHwgdGhpcy5sYWJlbC5hZGQodCkpLCB0aGlzLmxhYmVsLmxhYmVscmFuayA9IGUucGxvdFNpemVZOwogICAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRPZmZzZXQgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICAgICAgdmFyIHMgPSB0aGlzLmF4aXMsIGEgPSBzLmNoYXJ0OwogICAgICAgICAgICAgIG4gPSBzLnRyYW5zbGF0ZShzLnN0YWNraW5nLnVzZVBlcmNlbnRhZ2UgPyAxMDAgOiBuIHx8IHRoaXMudG90YWwsIDAsIDAsIDAsIDEpLCBpID0gcy50cmFuc2xhdGUoaSB8fCAwKSwgaSA9IGwobikgJiYgTWF0aC5hYnMobiAtIGkpLCB0ID0gZihyLCBhLnhBeGlzWzBdLnRyYW5zbGF0ZSh0aGlzLngpKSArIHQsIHMgPSBsKG4pICYmIHRoaXMuZ2V0U3RhY2tCb3goYSwgdGhpcywgdCwgbiwgZSwgaSwgcyksIGUgPSB0aGlzLmxhYmVsLCBpID0gdGhpcy5pc05lZ2F0aXZlLCB0ID0gImp1c3RpZnkiID09PSBmKHRoaXMub3B0aW9ucy5vdmVyZmxvdywgImp1c3RpZnkiKTsKICAgICAgICAgICAgICB2YXIgaCA9IHRoaXMudGV4dEFsaWduOwogICAgICAgICAgICAgIGUgJiYgcyAmJiAociA9IGUuZ2V0QkJveCgpLCBuID0gZS5wYWRkaW5nLCBoID0gImxlZnQiID09PSBoID8gYS5pbnZlcnRlZCA/IC1uIDogbiA6ICJyaWdodCIgPT09IGggPyByLndpZHRoIDogYS5pbnZlcnRlZCAmJiAiY2VudGVyIiA9PT0gaCA/IHIud2lkdGggLyAyIDogYS5pbnZlcnRlZCA/IGkgPyByLndpZHRoICsgbiA6IC1uIDogci53aWR0aCAvIDIsIGkgPSBhLmludmVydGVkID8gci5oZWlnaHQgLyAyIDogaSA/IC1uIDogci5oZWlnaHQsIHRoaXMuYWxpZ25PcHRpb25zLnggPSBmKHRoaXMub3B0aW9ucy54LCAwKSwgdGhpcy5hbGlnbk9wdGlvbnMueSA9IGYodGhpcy5vcHRpb25zLnksIDApLCBzLnggLT0gaCwgcy55IC09IGksIGUuYWxpZ24odGhpcy5hbGlnbk9wdGlvbnMsIG51bGwsIHMpLCBhLmlzSW5zaWRlUGxvdChlLmFsaWduQXR0ci54ICsgaCAtIHRoaXMuYWxpZ25PcHRpb25zLngsIGUuYWxpZ25BdHRyLnkgKyBpIC0gdGhpcy5hbGlnbk9wdGlvbnMueSkgPyBlLnNob3coKSA6IChlLmFsaWduQXR0ci55ID0gLTk5OTksIHQgPSAhMSksIHQgJiYgby5wcm90b3R5cGUuanVzdGlmeURhdGFMYWJlbC5jYWxsKHRoaXMuYXhpcywgZSwgdGhpcy5hbGlnbk9wdGlvbnMsIGUuYWxpZ25BdHRyLCByLCBzKSwgZS5hdHRyKHsKICAgICAgICAgICAgICAgIHg6IGUuYWxpZ25BdHRyLngsCiAgICAgICAgICAgICAgICB5OiBlLmFsaWduQXR0ci55CiAgICAgICAgICAgICAgfSksIGYoIXQgJiYgdGhpcy5vcHRpb25zLmNyb3AsICEwKSAmJiAoKGEgPSBkKGUueCkgJiYgZChlLnkpICYmIGEuaXNJbnNpZGVQbG90KGUueCAtIG4gKyBlLndpZHRoLCBlLnkpICYmIGEuaXNJbnNpZGVQbG90KGUueCArIG4sIGUueSkpIHx8IGUuaGlkZSgpKSk7CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFN0YWNrQm94ID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgciwgcykgewogICAgICAgICAgICAgIHZhciBhID0gZS5heGlzLnJldmVyc2VkLCBoID0gdC5pbnZlcnRlZCwgbCA9IHMuaGVpZ2h0ICsgcy5wb3MgLSAoaCA/IHQucGxvdExlZnQgOiB0LnBsb3RUb3ApOwogICAgICAgICAgICAgIHJldHVybiBlID0gZS5pc05lZ2F0aXZlICYmICFhIHx8ICFlLmlzTmVnYXRpdmUgJiYgYSwgewogICAgICAgICAgICAgICAgeDogaCA/IGUgPyBuIC0gcy5yaWdodCA6IG4gLSByICsgcy5wb3MgLSB0LnBsb3RMZWZ0IDogaSArIHQueEF4aXNbMF0udHJhbnNCIC0gdC5wbG90TGVmdCwKICAgICAgICAgICAgICAgIHk6IGggPyBzLmhlaWdodCAtIGkgLSBvIDogZSA/IGwgLSBuIC0gciA6IGwgLSBuLAogICAgICAgICAgICAgICAgd2lkdGg6IGggPyByIDogbywKICAgICAgICAgICAgICAgIGhlaWdodDogaCA/IG8gOiByCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSwgdDsKICAgICAgICAgIH0oKTsKICAgICAgICByZXR1cm4gZS5wcm90b3R5cGUuZ2V0U3RhY2tzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LmludmVydGVkOwogICAgICAgICAgdC55QXhpcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHQuc3RhY2tpbmcgJiYgdC5zdGFja2luZy5zdGFja3MgJiYgdC5oYXNWaXNpYmxlU2VyaWVzICYmICh0LnN0YWNraW5nLm9sZFN0YWNrcyA9IHQuc3RhY2tpbmcuc3RhY2tzKTsKICAgICAgICAgIH0pKSwgdC5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oaSkgewogICAgICAgICAgICB2YXIgbiA9IGkueEF4aXMgJiYgaS54QXhpcy5vcHRpb25zIHx8IHt9OwogICAgICAgICAgICAhaS5vcHRpb25zLnN0YWNraW5nIHx8ICEwICE9PSBpLnZpc2libGUgJiYgITEgIT09IHQub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMgfHwgKGkuc3RhY2tLZXkgPSBbaS50eXBlLCBmKGkub3B0aW9ucy5zdGFjaywgIiIpLCBlID8gbi50b3AgOiBuLmxlZnQsIGUgPyBuLmhlaWdodCA6IG4ud2lkdGhdLmpvaW4oKSk7CiAgICAgICAgICB9KSk7CiAgICAgICAgfSwgci5jb21wb3NlKHQpLCBvLnByb3RvdHlwZS5zZXRHcm91cGVkUG9pbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IHRoaXMueUF4aXMuc3RhY2tpbmc7CiAgICAgICAgICB0aGlzLm9wdGlvbnMuY2VudGVySW5DYXRlZ29yeSAmJiAodGhpcy5pcygiY29sdW1uIikgfHwgdGhpcy5pcygiY29sdW1ucmFuZ2UiKSkgJiYgIXRoaXMub3B0aW9ucy5zdGFja2luZyAmJiAxIDwgdGhpcy5jaGFydC5zZXJpZXMubGVuZ3RoID8gby5wcm90b3R5cGUuc2V0U3RhY2tlZFBvaW50cy5jYWxsKHRoaXMsICJncm91cCIpIDogdCAmJiB1KHQuc3RhY2tzLCAoZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAiZ3JvdXAiID09PSBpLnNsaWNlKC01KSAmJiAodShlLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiB0LmRlc3Ryb3koKTsKICAgICAgICAgICAgfSkpLCBkZWxldGUgdC5zdGFja3NbaV0pOwogICAgICAgICAgfSkpOwogICAgICAgIH0sIG8ucHJvdG90eXBlLnNldFN0YWNrZWRQb2ludHMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgZSA9IHQgfHwgdGhpcy5vcHRpb25zLnN0YWNraW5nOwogICAgICAgICAgaWYgKGUgJiYgKCEwID09PSB0aGlzLnZpc2libGUgfHwgITEgPT09IHRoaXMuY2hhcnQub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMpKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5wcm9jZXNzZWRYRGF0YSwgbiA9IHRoaXMucHJvY2Vzc2VkWURhdGEsIG8gPSBbXSwgciA9IG4ubGVuZ3RoLCBzID0gdGhpcy5vcHRpb25zLCBhID0gcy50aHJlc2hvbGQsIGMgPSBmKHMuc3RhcnRGcm9tVGhyZXNob2xkICYmIGEsIDApOwogICAgICAgICAgICBzID0gcy5zdGFjaywgdCA9IHQgPyB0aGlzLnR5cGUgKyAiLCIgKyBlIDogdGhpcy5zdGFja0tleTsKICAgICAgICAgICAgdmFyIGQsIHUsIG0gPSAiLSIgKyB0LCB5ID0gdGhpcy5uZWdTdGFja3MsIHYgPSB0aGlzLnlBeGlzLCB4ID0gdi5zdGFja2luZy5zdGFja3MsIGIgPSB2LnN0YWNraW5nLm9sZFN0YWNrczsKICAgICAgICAgICAgZm9yICh2LnN0YWNraW5nLnN0YWNrc1RvdWNoZWQgKz0gMSwgdSA9IDA7IHUgPCByOyB1KyspIHsKICAgICAgICAgICAgICB2YXIgXyA9IGlbdV0sIHcgPSBuW3VdLCBrID0gdGhpcy5nZXRTdGFja0luZGljYXRvcihrLCBfLCB0aGlzLmluZGV4KSwgUyA9IGsua2V5LCBDID0gKGQgPSB5ICYmIHcgPCAoYyA/IDAgOiBhKSkgPyBtIDogdDsKICAgICAgICAgICAgICB4W0NdIHx8ICh4W0NdID0ge30pLCB4W0NdW19dIHx8IChiW0NdICYmIGJbQ11bX10gPyAoeFtDXVtfXSA9IGJbQ11bX10sIHhbQ11bX10udG90YWwgPSBudWxsKSA6IHhbQ11bX10gPSBuZXcgZyh2LCB2Lm9wdGlvbnMuc3RhY2tMYWJlbHMsIGQsIF8sIHMpKSwgQyA9IHhbQ11bX10sIG51bGwgIT09IHcgPyAoQy5wb2ludHNbU10gPSBDLnBvaW50c1t0aGlzLmluZGV4XSA9IFtmKEMuY3VtdWxhdGl2ZSwgYyldLCBsKEMuY3VtdWxhdGl2ZSkgfHwgKEMuYmFzZSA9IFMpLCBDLnRvdWNoZWQgPSB2LnN0YWNraW5nLnN0YWNrc1RvdWNoZWQsIDAgPCBrLmluZGV4ICYmICExID09PSB0aGlzLnNpbmdsZVN0YWNrcyAmJiAoQy5wb2ludHNbU11bMF0gPSBDLnBvaW50c1t0aGlzLmluZGV4ICsgIiwiICsgXyArICIsMCJdWzBdKSkgOiBDLnBvaW50c1tTXSA9IEMucG9pbnRzW3RoaXMuaW5kZXhdID0gbnVsbCwgInBlcmNlbnQiID09PSBlID8gKGQgPSBkID8gdCA6IG0sIHkgJiYgeFtkXSAmJiB4W2RdW19dID8gKGQgPSB4W2RdW19dLCBDLnRvdGFsID0gZC50b3RhbCA9IE1hdGgubWF4KGQudG90YWwsIEMudG90YWwpICsgTWF0aC5hYnModykgfHwgMCkgOiBDLnRvdGFsID0gaChDLnRvdGFsICsgKE1hdGguYWJzKHcpIHx8IDApKSkgOiAiZ3JvdXAiID09PSBlID8gKHAodykgJiYgKHcgPSB3WzBdKSwgbnVsbCAhPT0gdyAmJiAoQy50b3RhbCA9IChDLnRvdGFsIHx8IDApICsgMSkpIDogQy50b3RhbCA9IGgoQy50b3RhbCArICh3IHx8IDApKSwgQy5jdW11bGF0aXZlID0gImdyb3VwIiA9PT0gZSA/IChDLnRvdGFsIHx8IDEpIC0gMSA6IGYoQy5jdW11bGF0aXZlLCBjKSArICh3IHx8IDApLCBudWxsICE9PSB3ICYmIChDLnBvaW50c1tTXS5wdXNoKEMuY3VtdWxhdGl2ZSksIG9bdV0gPSBDLmN1bXVsYXRpdmUsIEMuaGFzVmFsaWRQb2ludHMgPSAhMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgInBlcmNlbnQiID09PSBlICYmICh2LnN0YWNraW5nLnVzZVBlcmNlbnRhZ2UgPSAhMCksICJncm91cCIgIT09IGUgJiYgKHRoaXMuc3RhY2tlZFlEYXRhID0gbyksIHYuc3RhY2tpbmcub2xkU3RhY2tzID0ge307CiAgICAgICAgICB9CiAgICAgICAgfSwgby5wcm90b3R5cGUubW9kaWZ5U3RhY2tzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCwgZSA9IHRoaXMsIGkgPSBlLnN0YWNrS2V5LCBuID0gZS55QXhpcy5zdGFja2luZy5zdGFja3MsIG8gPSBlLnByb2Nlc3NlZFhEYXRhLCByID0gZS5vcHRpb25zLnN0YWNraW5nOwogICAgICAgICAgZVtyICsgIlN0YWNrZXIiXSAmJiBbaSwgIi0iICsgaV0uZm9yRWFjaCgoZnVuY3Rpb24oaSkgewogICAgICAgICAgICBmb3IgKHZhciBzLCBhLCBoID0gby5sZW5ndGg7IGgtLTspIHMgPSBvW2hdLCB0ID0gZS5nZXRTdGFja0luZGljYXRvcih0LCBzLCBlLmluZGV4LCBpKSwgKGEgPSAocyA9IG5baV0gJiYgbltpXVtzXSkgJiYgcy5wb2ludHNbdC5rZXldKSAmJiBlW3IgKyAiU3RhY2tlciJdKGEsIHMsIGgpOwogICAgICAgICAgfSkpOwogICAgICAgIH0sIG8ucHJvdG90eXBlLnBlcmNlbnRTdGFja2VyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgZSA9IGUudG90YWwgPyAxMDAgLyBlLnRvdGFsIDogMCwgdFswXSA9IGgodFswXSAqIGUpLCB0WzFdID0gaCh0WzFdICogZSksIHRoaXMuc3RhY2tlZFlEYXRhW2ldID0gdFsxXTsKICAgICAgICB9LCBvLnByb3RvdHlwZS5nZXRTdGFja0luZGljYXRvciA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgIHJldHVybiAhbCh0KSB8fCB0LnggIT09IGUgfHwgbiAmJiB0LmtleSAhPT0gbiA/IHQgPSB7IHg6IGUsIGluZGV4OiAwLCBrZXk6IG4gfSA6IHQuaW5kZXgrKywgdC5rZXkgPSBbaSwgZSwgdC5pbmRleF0uam9pbigpLCB0OwogICAgICAgIH0sIG4uU3RhY2tJdGVtID0gZywgbi5TdGFja0l0ZW07CiAgICAgIH0pKSwgZShpLCAiU2VyaWVzL0xpbmUvTGluZVNlcmllcy5qcyIsIFtpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSwgaVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4gPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKSwgbyA9IGkuZGVmaW5lZCwgciA9IGkubWVyZ2U7CiAgICAgICAgcmV0dXJuIGkgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICBmdW5jdGlvbiBpKCkgewogICAgICAgICAgICB2YXIgdCA9IG51bGwgIT09IGUgJiYgZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICAgIHJldHVybiB0LmRhdGEgPSB2b2lkIDAsIHQub3B0aW9ucyA9IHZvaWQgMCwgdC5wb2ludHMgPSB2b2lkIDAsIHQ7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIG4oaSwgZSksIGkucHJvdG90eXBlLmRyYXdHcmFwaCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0aGlzLm9wdGlvbnMsIGkgPSAodGhpcy5nYXBwZWRQYXRoIHx8IHRoaXMuZ2V0R3JhcGhQYXRoKS5jYWxsKHRoaXMpLCBuID0gdGhpcy5jaGFydC5zdHlsZWRNb2RlLAogICAgICAgICAgICAgIG8gPSBbWyJncmFwaCIsICJoaWdoY2hhcnRzLWdyYXBoIl1dOwogICAgICAgICAgICBuIHx8IG9bMF0ucHVzaChlLmxpbmVDb2xvciB8fCB0aGlzLmNvbG9yIHx8ICIjY2NjY2NjIiwgZS5kYXNoU3R5bGUpLCBvID0gdC5nZXRab25lc0dyYXBocyhvKSwgby5mb3JFYWNoKChmdW5jdGlvbihvLCByKSB7CiAgICAgICAgICAgICAgdmFyIHMgPSBvWzBdLCBhID0gdFtzXSwgaCA9IGEgPyAiYW5pbWF0ZSIgOiAiYXR0ciI7CiAgICAgICAgICAgICAgYSA/IChhLmVuZFggPSB0LnByZXZlbnRHcmFwaEFuaW1hdGlvbiA/IG51bGwgOiBpLnhNYXAsIGEuYW5pbWF0ZSh7IGQ6IGkgfSkpIDogaS5sZW5ndGggJiYgKHRbc10gPSBhID0gdC5jaGFydC5yZW5kZXJlci5wYXRoKGkpLmFkZENsYXNzKG9bMV0pLmF0dHIoeyB6SW5kZXg6IDEgfSkuYWRkKHQuZ3JvdXApKSwgYSAmJiAhbiAmJiAocyA9IHsKICAgICAgICAgICAgICAgIHN0cm9rZTogb1syXSwKICAgICAgICAgICAgICAgICJzdHJva2Utd2lkdGgiOiBlLmxpbmVXaWR0aCwKICAgICAgICAgICAgICAgIGZpbGw6IHQuZmlsbEdyYXBoICYmIHQuY29sb3IgfHwgIm5vbmUiCiAgICAgICAgICAgICAgfSwgb1szXSA/IHMuZGFzaHN0eWxlID0gb1szXSA6ICJzcXVhcmUiICE9PSBlLmxpbmVjYXAgJiYgKHNbInN0cm9rZS1saW5lY2FwIl0gPSBzWyJzdHJva2UtbGluZWpvaW4iXSA9ICJyb3VuZCIpLCBhW2hdKHMpLnNoYWRvdygyID4gciAmJiBlLnNoYWRvdykpLCBhICYmIChhLnN0YXJ0WCA9IGkueE1hcCwgYS5pc0FyZWEgPSBpLmlzQXJlYSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmdldEdyYXBoUGF0aCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4sIHIgPSB0aGlzLCBzID0gci5vcHRpb25zLCBhID0gW10sIGggPSBbXSwgbCA9IHMuc3RlcDsKICAgICAgICAgICAgdCA9IHQgfHwgci5wb2ludHM7CiAgICAgICAgICAgIHZhciBjID0gdC5yZXZlcnNlZDsKICAgICAgICAgICAgcmV0dXJuIGMgJiYgdC5yZXZlcnNlKCksIChsID0gewogICAgICAgICAgICAgIHJpZ2h0OiAxLAogICAgICAgICAgICAgIGNlbnRlcjogMgogICAgICAgICAgICB9W2xdIHx8IGwgJiYgMykgJiYgYyAmJiAobCA9IDQgLSBsKSwgdCA9IHRoaXMuZ2V0VmFsaWRQb2ludHModCwgITEsICEocy5jb25uZWN0TnVsbHMgJiYgIWUgJiYgIWkpKSwgdC5mb3JFYWNoKChmdW5jdGlvbihjLCBwKSB7CiAgICAgICAgICAgICAgdmFyIGQgPSBjLnBsb3RYLCB1ID0gYy5wbG90WSwgZiA9IHRbcCAtIDFdOwogICAgICAgICAgICAgIChjLmxlZnRDbGlmZiB8fCBmICYmIGYucmlnaHRDbGlmZikgJiYgIWkgJiYgKG4gPSAhMCksIGMuaXNOdWxsICYmICFvKGUpICYmIDAgPCBwID8gbiA9ICFzLmNvbm5lY3ROdWxscyA6IGMuaXNOdWxsICYmICFlID8gbiA9ICEwIDogKDAgPT09IHAgfHwgbiA/IHAgPSBbWyJNIiwgYy5wbG90WCwgYy5wbG90WV1dIDogci5nZXRQb2ludFNwbGluZSA/IHAgPSBbci5nZXRQb2ludFNwbGluZSh0LCBjLCBwKV0gOiBsID8gKHAgPSAxID09PSBsID8gW1siTCIsIGYucGxvdFgsIHVdXSA6IDIgPT09IGwgPyBbWyJMIiwgKGYucGxvdFggKyBkKSAvIDIsIGYucGxvdFldLCBbIkwiLCAoZi5wbG90WCArIGQpIC8gMiwgdV1dIDogW1siTCIsIGQsIGYucGxvdFldXSwgcC5wdXNoKFsiTCIsIGQsIHVdKSkgOiBwID0gW1siTCIsIGQsIHVdXSwgaC5wdXNoKGMueCksIGwgJiYgKGgucHVzaChjLngpLCAyID09PSBsICYmIGgucHVzaChjLngpKSwgYS5wdXNoLmFwcGx5KGEsIHApLCBuID0gITEpOwogICAgICAgICAgICB9KSksIGEueE1hcCA9IGgsIHIuZ3JhcGhQYXRoID0gYTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmdldFpvbmVzR3JhcGhzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy56b25lcy5mb3JFYWNoKChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgaSA9IFsiem9uZS1ncmFwaC0iICsgaSwgImhpZ2hjaGFydHMtZ3JhcGggaGlnaGNoYXJ0cy16b25lLWdyYXBoLSIgKyBpICsgIiAiICsgKGUuY2xhc3NOYW1lIHx8ICIiKV0sIHRoaXMuY2hhcnQuc3R5bGVkTW9kZSB8fCBpLnB1c2goZS5jb2xvciB8fCB0aGlzLmNvbG9yLCBlLmRhc2hTdHlsZSB8fCB0aGlzLm9wdGlvbnMuZGFzaFN0eWxlKSwgdC5wdXNoKGkpOwogICAgICAgICAgICB9KSwgdGhpcyksIHQ7CiAgICAgICAgICB9LCBpLmRlZmF1bHRPcHRpb25zID0gcih0LmRlZmF1bHRPcHRpb25zLCB7fSksIGk7CiAgICAgICAgfSh0KSwgZS5yZWdpc3RlclNlcmllc1R5cGUoImxpbmUiLCBpKSwgaTsKICAgICAgfSkpLCBlKGksICJTZXJpZXMvQXJlYS9BcmVhU2VyaWVzLmpzIiwgW2lbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSwgaVsiQ29yZS9MZWdlbmQvTGVnZW5kU3ltYm9sLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgIHZhciBvID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0Ll9fcHJvdG9fXyA9IGU7CiAgICAgICAgICAgIH0gfHwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgZS5oYXNPd25Qcm9wZXJ0eShpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICB9LCB0KGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHQoZSwgaSksIGUucHJvdG90eXBlID0gbnVsbCA9PT0gaSA/IE9iamVjdC5jcmVhdGUoaSkgOiAobi5wcm90b3R5cGUgPSBpLnByb3RvdHlwZSwgbmV3IG4pOwogICAgICAgICAgfTsKICAgICAgICB9KCksIHIgPSB0LnBhcnNlLCBzID0gaS5zZXJpZXNUeXBlcy5saW5lOwogICAgICAgIHQgPSBuLmV4dGVuZDsKICAgICAgICB2YXIgYSA9IG4ubWVyZ2UsIGggPSBuLm9iamVjdEVhY2gsIGwgPSBuLnBpY2s7CiAgICAgICAgcmV0dXJuIG4gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmdW5jdGlvbiBlKCkgewogICAgICAgICAgICB2YXIgZSA9IG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICAgIHJldHVybiBlLmRhdGEgPSB2b2lkIDAsIGUub3B0aW9ucyA9IHZvaWQgMCwgZS5wb2ludHMgPSB2b2lkIDAsIGU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIG8oZSwgdCksIGUucHJvdG90eXBlLmRyYXdHcmFwaCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmFyZWFQYXRoID0gW10sIHQucHJvdG90eXBlLmRyYXdHcmFwaC5hcHBseSh0aGlzKTsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLCBpID0gdGhpcy5hcmVhUGF0aCwgbiA9IHRoaXMub3B0aW9ucywgbyA9IFtbImFyZWEiLCAiaGlnaGNoYXJ0cy1hcmVhIiwgdGhpcy5jb2xvciwgbi5maWxsQ29sb3JdXTsKICAgICAgICAgICAgdGhpcy56b25lcy5mb3JFYWNoKChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgby5wdXNoKFsiem9uZS1hcmVhLSIgKyBpLCAiaGlnaGNoYXJ0cy1hcmVhIGhpZ2hjaGFydHMtem9uZS1hcmVhLSIgKyBpICsgIiAiICsgdC5jbGFzc05hbWUsIHQuY29sb3IgfHwgZS5jb2xvciwgdC5maWxsQ29sb3IgfHwgbi5maWxsQ29sb3JdKTsKICAgICAgICAgICAgfSkpLCBvLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgbyA9IHRbMF0sIHMgPSBlW29dLCBhID0gcyA/ICJhbmltYXRlIiA6ICJhdHRyIiwgaCA9IHt9OwogICAgICAgICAgICAgIHMgPyAocy5lbmRYID0gZS5wcmV2ZW50R3JhcGhBbmltYXRpb24gPyBudWxsIDogaS54TWFwLCBzLmFuaW1hdGUoeyBkOiBpIH0pKSA6IChoLnpJbmRleCA9IDAsIHMgPSBlW29dID0gZS5jaGFydC5yZW5kZXJlci5wYXRoKGkpLmFkZENsYXNzKHRbMV0pLmFkZChlLmdyb3VwKSwgcy5pc0FyZWEgPSAhMCksIGUuY2hhcnQuc3R5bGVkTW9kZSB8fCAoaC5maWxsID0gbCh0WzNdLCByKHRbMl0pLnNldE9wYWNpdHkobChuLmZpbGxPcGFjaXR5LCAuNzUpKS5nZXQoKSkpLCBzW2FdKGgpLCBzLnN0YXJ0WCA9IGkueE1hcCwgcy5zaGlmdFVuaXQgPSBuLnN0ZXAgPyAyIDogMTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0R3JhcGhQYXRoID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSwgaSA9IHMucHJvdG90eXBlLmdldEdyYXBoUGF0aCwgbiA9IHRoaXMub3B0aW9ucywgbyA9IG4uc3RhY2tpbmcsIHIgPSB0aGlzLnlBeGlzLCBhID0gW10sIGggPSBbXSwgYyA9IHRoaXMuaW5kZXgsCiAgICAgICAgICAgICAgcCA9IHIuc3RhY2tpbmcuc3RhY2tzW3RoaXMuc3RhY2tLZXldLCBkID0gbi50aHJlc2hvbGQsIHUgPSBNYXRoLnJvdW5kKHIuZ2V0VGhyZXNob2xkKG4udGhyZXNob2xkKSk7CiAgICAgICAgICAgIG4gPSBsKG4uY29ubmVjdE51bGxzLCAicGVyY2VudCIgPT09IG8pOwogICAgICAgICAgICB2YXIgZiA9IGZ1bmN0aW9uKGUsIGksIG4pIHsKICAgICAgICAgICAgICB2YXIgcyA9IHRbZV07CiAgICAgICAgICAgICAgZSA9IG8gJiYgcFtzLnhdLnBvaW50c1tjXTsKICAgICAgICAgICAgICB2YXIgbCA9IHNbbiArICJOdWxsIl0gfHwgMDsKICAgICAgICAgICAgICBpZiAobiA9IHNbbiArICJDbGlmZiJdIHx8IDAsIHMgPSAhMCwgbiB8fCBsKSB7CiAgICAgICAgICAgICAgICB2YXIgZiA9IChsID8gZVswXSA6IGVbMV0pICsgbiwgZyA9IGVbMF0gKyBuOwogICAgICAgICAgICAgICAgcyA9ICEhbDsKICAgICAgICAgICAgICB9IGVsc2UgIW8gJiYgdFtpXSAmJiB0W2ldLmlzTnVsbCAmJiAoZiA9IGcgPSBkKTsKICAgICAgICAgICAgICAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGYgJiYgKGgucHVzaCh7IHBsb3RYOiBtLCBwbG90WTogbnVsbCA9PT0gZiA/IHUgOiByLmdldFRocmVzaG9sZChmKSwgaXNOdWxsOiBzLCBpc0NsaWZmOiAhMCB9KSwgYS5wdXNoKHsKICAgICAgICAgICAgICAgIHBsb3RYOiBtLAogICAgICAgICAgICAgICAgcGxvdFk6IG51bGwgPT09IGcgPyB1IDogci5nZXRUaHJlc2hvbGQoZyksCiAgICAgICAgICAgICAgICBkb0N1cnZlOiAhMQogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZm9yICh0ID0gdCB8fCB0aGlzLnBvaW50cywgbyAmJiAodCA9IHRoaXMuZ2V0U3RhY2tQb2ludHModCkpLCBlID0gMDsgZSA8IHQubGVuZ3RoOyBlKyspIHsKICAgICAgICAgICAgICBvIHx8ICh0W2VdLmxlZnRDbGlmZiA9IHRbZV0ucmlnaHRDbGlmZiA9IHRbZV0ubGVmdE51bGwgPSB0W2VdLnJpZ2h0TnVsbCA9IHZvaWQgMCk7CiAgICAgICAgICAgICAgdmFyIGcgPSB0W2VdLmlzTnVsbCwgbSA9IGwodFtlXS5yZWN0UGxvdFgsIHRbZV0ucGxvdFgpLCB5ID0gbyA/IGwodFtlXS55Qm90dG9tLCB1KSA6IHU7CiAgICAgICAgICAgICAgZyAmJiAhbiB8fCAobiB8fCBmKGUsIGUgLSAxLCAibGVmdCIpLCBnICYmICFvICYmIG4gfHwgKGgucHVzaCh0W2VdKSwgYS5wdXNoKHsgeDogZSwgcGxvdFg6IG0sIHBsb3RZOiB5IH0pKSwgbiB8fCBmKGUsIGUgKyAxLCAicmlnaHQiKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGUgPSBpLmNhbGwodGhpcywgaCwgITAsICEwKSwgYS5yZXZlcnNlZCA9ICEwLCBnID0gaS5jYWxsKHRoaXMsIGEsICEwLCAhMCksICh5ID0gZ1swXSkgJiYgIk0iID09PSB5WzBdICYmIChnWzBdID0gWyJMIiwgeVsxXSwgeVsyXV0pLCBnID0gZS5jb25jYXQoZyksIGcubGVuZ3RoICYmIGcucHVzaChbIloiXSksIGkgPSBpLmNhbGwodGhpcywgaCwgITEsIG4pLCBnLnhNYXAgPSBlLnhNYXAsIHRoaXMuYXJlYVBhdGggPSBnLCBpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0U3RhY2tQb2ludHMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IFtdLCBuID0gW10sIG8gPSB0aGlzLnhBeGlzLCByID0gdGhpcy55QXhpcywgcyA9IHIuc3RhY2tpbmcuc3RhY2tzW3RoaXMuc3RhY2tLZXldLCBhID0ge30sIGMgPSByLnNlcmllcywgcCA9IGMubGVuZ3RoLAogICAgICAgICAgICAgIGQgPSByLm9wdGlvbnMucmV2ZXJzZWRTdGFja3MgPyAxIDogLTEsIHUgPSBjLmluZGV4T2YoZSk7CiAgICAgICAgICAgIGlmICh0ID0gdCB8fCB0aGlzLnBvaW50cywgdGhpcy5vcHRpb25zLnN0YWNraW5nKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgZiA9IDA7IGYgPCB0Lmxlbmd0aDsgZisrKSB0W2ZdLmxlZnROdWxsID0gdFtmXS5yaWdodE51bGwgPSB2b2lkIDAsIGFbdFtmXS54XSA9IHRbZl07CiAgICAgICAgICAgICAgaChzLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgbnVsbCAhPT0gdC50b3RhbCAmJiBuLnB1c2goZSk7CiAgICAgICAgICAgICAgfSkpLCBuLnNvcnQoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0IC0gZTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgdmFyIGcgPSBjLm1hcCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHQudmlzaWJsZTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgbi5mb3JFYWNoKChmdW5jdGlvbih0LCBoKSB7CiAgICAgICAgICAgICAgICB2YXIgZiwgbSwgeSA9IDA7CiAgICAgICAgICAgICAgICBpZiAoYVt0XSAmJiAhYVt0XS5pc051bGwpIGkucHVzaChhW3RdKSwgWy0xLCAxXS5mb3JFYWNoKChmdW5jdGlvbihpKSB7CiAgICAgICAgICAgICAgICAgIHZhciBvID0gMSA9PT0gaSA/ICJyaWdodE51bGwiIDogImxlZnROdWxsIiwgciA9IDAsIGwgPSBzW25baCArIGldXTsKICAgICAgICAgICAgICAgICAgaWYgKGwpIGZvciAodmFyIHkgPSB1OyAwIDw9IHkgJiYgeSA8IHA7KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHYgPSBjW3ldLmluZGV4OwogICAgICAgICAgICAgICAgICAgIGYgPSBsLnBvaW50c1t2XSwgZiB8fCAodiA9PT0gZS5pbmRleCA/IGFbdF1bb10gPSAhMCA6IGdbeV0gJiYgKG0gPSBzW3RdLnBvaW50c1t2XSkgJiYgKHIgLT0gbVsxXSAtIG1bMF0pKSwgeSArPSBkOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGFbdF1bMSA9PT0gaSA/ICJyaWdodENsaWZmIiA6ICJsZWZ0Q2xpZmYiXSA9IHI7CiAgICAgICAgICAgICAgICB9KSk7IGVsc2UgewogICAgICAgICAgICAgICAgICBmb3IgKHZhciB2ID0gdTsgMCA8PSB2ICYmIHYgPCBwOykgewogICAgICAgICAgICAgICAgICAgIGlmIChmID0gc1t0XS5wb2ludHNbY1t2XS5pbmRleF0pIHsKICAgICAgICAgICAgICAgICAgICAgIHkgPSBmWzFdOwogICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHYgKz0gZDsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB5ID0gbCh5LCAwKSwgeSA9IHIudHJhbnNsYXRlKHksIDAsIDEsIDAsIDEpLCBpLnB1c2goeyBpc051bGw6ICEwLCBwbG90WDogby50cmFuc2xhdGUodCwgMCwgMCwgMCwgMSksIHg6IHQsIHBsb3RZOiB5LCB5Qm90dG9tOiB5IH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgIH0sIGUuZGVmYXVsdE9wdGlvbnMgPSBhKHMuZGVmYXVsdE9wdGlvbnMsIHsgdGhyZXNob2xkOiAwIH0pLCBlOwogICAgICAgIH0ocyksIHQobi5wcm90b3R5cGUsIHsgc2luZ2xlU3RhY2tzOiAhMSwgZHJhd0xlZ2VuZFN5bWJvbDogZS5kcmF3UmVjdGFuZ2xlIH0pLCBpLnJlZ2lzdGVyU2VyaWVzVHlwZSgiYXJlYSIsIG4pLCBuOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9TcGxpbmUvU3BsaW5lU2VyaWVzLmpzIiwgW2lbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgIHZhciBpID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0Ll9fcHJvdG9fXyA9IGU7CiAgICAgICAgICAgIH0gfHwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgZS5oYXNPd25Qcm9wZXJ0eShpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICB9LCB0KGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHQoZSwgaSksIGUucHJvdG90eXBlID0gbnVsbCA9PT0gaSA/IE9iamVjdC5jcmVhdGUoaSkgOiAobi5wcm90b3R5cGUgPSBpLnByb3RvdHlwZSwgbmV3IG4pOwogICAgICAgICAgfTsKICAgICAgICB9KCksIG4gPSB0LnNlcmllc1R5cGVzLmxpbmUsIG8gPSBlLm1lcmdlLCByID0gZS5waWNrOwogICAgICAgIHJldHVybiBlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgICAgdmFyIGUgPSBudWxsICE9PSB0ICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgICAgICAgICByZXR1cm4gZS5kYXRhID0gdm9pZCAwLCBlLm9wdGlvbnMgPSB2b2lkIDAsIGUucG9pbnRzID0gdm9pZCAwLCBlOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBpKGUsIHQpLCBlLnByb3RvdHlwZS5nZXRQb2ludFNwbGluZSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSBlLnBsb3RYIHx8IDAsIG8gPSBlLnBsb3RZIHx8IDAsIHMgPSB0W2kgLSAxXTsKICAgICAgICAgICAgaWYgKGkgPSB0W2kgKyAxXSwgcyAmJiAhcy5pc051bGwgJiYgITEgIT09IHMuZG9DdXJ2ZSAmJiAhZS5pc0NsaWZmICYmIGkgJiYgIWkuaXNOdWxsICYmICExICE9PSBpLmRvQ3VydmUgJiYgIWUuaXNDbGlmZikgewogICAgICAgICAgICAgIHQgPSBzLnBsb3RZIHx8IDA7CiAgICAgICAgICAgICAgdmFyIGEgPSBpLnBsb3RYIHx8IDA7CiAgICAgICAgICAgICAgaSA9IGkucGxvdFkgfHwgMDsKICAgICAgICAgICAgICB2YXIgaCA9IDAsIGwgPSAoMS41ICogbiArIChzLnBsb3RYIHx8IDApKSAvIDIuNSwgYyA9ICgxLjUgKiBvICsgdCkgLyAyLjU7CiAgICAgICAgICAgICAgYSA9ICgxLjUgKiBuICsgYSkgLyAyLjU7CiAgICAgICAgICAgICAgdmFyIHAgPSAoMS41ICogbyArIGkpIC8gMi41OwogICAgICAgICAgICAgIGEgIT09IGwgJiYgKGggPSAocCAtIGMpICogKGEgLSBuKSAvIChhIC0gbCkgKyBvIC0gcCksIGMgKz0gaCwgcCArPSBoLCBjID4gdCAmJiBjID4gbyA/IChjID0gTWF0aC5tYXgodCwgbyksIHAgPSAyICogbyAtIGMpIDogYyA8IHQgJiYgYyA8IG8gJiYgKGMgPSBNYXRoLm1pbih0LCBvKSwgcCA9IDIgKiBvIC0gYyksIHAgPiBpICYmIHAgPiBvID8gKHAgPSBNYXRoLm1heChpLCBvKSwgYyA9IDIgKiBvIC0gcCkgOiBwIDwgaSAmJiBwIDwgbyAmJiAocCA9IE1hdGgubWluKGksIG8pLCBjID0gMiAqIG8gLSBwKSwgZS5yaWdodENvbnRYID0gYSwgZS5yaWdodENvbnRZID0gcDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZSA9IFsiQyIsIHIocy5yaWdodENvbnRYLCBzLnBsb3RYLCAwKSwgcihzLnJpZ2h0Q29udFksIHMucGxvdFksIDApLCByKGwsIG4sIDApLCByKGMsIG8sIDApLCBuLCBvXSwgcy5yaWdodENvbnRYID0gcy5yaWdodENvbnRZID0gdm9pZCAwLCBlOwogICAgICAgICAgfSwgZS5kZWZhdWx0T3B0aW9ucyA9IG8obi5kZWZhdWx0T3B0aW9ucyksIGU7CiAgICAgICAgfShuKSwgdC5yZWdpc3RlclNlcmllc1R5cGUoInNwbGluZSIsIGUpLCBlOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9BcmVhU3BsaW5lL0FyZWFTcGxpbmVTZXJpZXMuanMiLCBbaVsiU2VyaWVzL0FyZWEvQXJlYVNlcmllcy5qcyJdLCBpWyJTZXJpZXMvU3BsaW5lL1NwbGluZVNlcmllcy5qcyJdLCBpWyJDb3JlL0xlZ2VuZC9MZWdlbmRTeW1ib2wuanMiXSwgaVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvKSB7CiAgICAgICAgdmFyIHIgPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKSwgcyA9IHQucHJvdG90eXBlLCBhID0gby5leHRlbmQsIGggPSBvLm1lcmdlOwogICAgICAgIHJldHVybiBvID0gZnVuY3Rpb24oaSkgewogICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgdmFyIHQgPSBudWxsICE9PSBpICYmIGkuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgICAgICAgICByZXR1cm4gdC5kYXRhID0gdm9pZCAwLCB0LnBvaW50cyA9IHZvaWQgMCwgdC5vcHRpb25zID0gdm9pZCAwLCB0OwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiByKG4sIGkpLCBuLmRlZmF1bHRPcHRpb25zID0gaChlLmRlZmF1bHRPcHRpb25zLCB0LmRlZmF1bHRPcHRpb25zKSwgbjsKICAgICAgICB9KGUpLCBhKG8ucHJvdG90eXBlLCB7CiAgICAgICAgICBnZXRHcmFwaFBhdGg6IHMuZ2V0R3JhcGhQYXRoLAogICAgICAgICAgZ2V0U3RhY2tQb2ludHM6IHMuZ2V0U3RhY2tQb2ludHMsCiAgICAgICAgICBkcmF3R3JhcGg6IHMuZHJhd0dyYXBoLAogICAgICAgICAgZHJhd0xlZ2VuZFN5bWJvbDogaS5kcmF3UmVjdGFuZ2xlCiAgICAgICAgfSksIG4ucmVnaXN0ZXJTZXJpZXNUeXBlKCJhcmVhc3BsaW5lIiwgbyksIG87CiAgICAgIH0pKSwgZShpLCAiU2VyaWVzL0NvbHVtbi9Db2x1bW5TZXJpZXMuanMiLCBbaVsiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvTGVnZW5kL0xlZ2VuZFN5bWJvbC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSwgaVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzKSB7CiAgICAgICAgdmFyIGEgPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKSwgaCA9IHQuYW5pbU9iamVjdCwgbCA9IGUucGFyc2UsIGMgPSBpLmhhc1RvdWNoOwogICAgICAgIHQgPSBpLm5vb3A7CiAgICAgICAgdmFyIHAgPSBzLmNsYW1wLCBkID0gcy5jc3MsIHUgPSBzLmRlZmluZWQsIGYgPSBzLmV4dGVuZCwgZyA9IHMuZmlyZUV2ZW50LCBtID0gcy5pc0FycmF5LCB5ID0gcy5pc051bWJlciwgdiA9IHMubWVyZ2UsIHggPSBzLnBpY2ssIGIgPSBzLm9iamVjdEVhY2g7CiAgICAgICAgcmV0dXJuIHMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmdW5jdGlvbiBlKCkgewogICAgICAgICAgICB2YXIgZSA9IG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICAgIHJldHVybiBlLmJvcmRlcldpZHRoID0gdm9pZCAwLCBlLmRhdGEgPSB2b2lkIDAsIGUuZ3JvdXAgPSB2b2lkIDAsIGUub3B0aW9ucyA9IHZvaWQgMCwgZS5wb2ludHMgPSB2b2lkIDAsIGU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGEoZSwgdCksIGUucHJvdG90eXBlLmFuaW1hdGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IHRoaXMueUF4aXMsIG4gPSBlLm9wdGlvbnMsIG8gPSB0aGlzLmNoYXJ0LmludmVydGVkLCByID0ge30sIHMgPSBvID8gInRyYW5zbGF0ZVgiIDogInRyYW5zbGF0ZVkiOwogICAgICAgICAgICBpZiAodCkgci5zY2FsZVkgPSAuMDAxLCB0ID0gcChpLnRvUGl4ZWxzKG4udGhyZXNob2xkKSwgaS5wb3MsIGkucG9zICsgaS5sZW4pLCBvID8gci50cmFuc2xhdGVYID0gdCAtIGkubGVuIDogci50cmFuc2xhdGVZID0gdCwgZS5jbGlwQm94ICYmIGUuc2V0Q2xpcCgpLCBlLmdyb3VwLmF0dHIocik7IGVsc2UgewogICAgICAgICAgICAgIHZhciBhID0gTnVtYmVyKGUuZ3JvdXAuYXR0cihzKSk7CiAgICAgICAgICAgICAgZS5ncm91cC5hbmltYXRlKHsgc2NhbGVZOiAxIH0sIGYoaChlLm9wdGlvbnMuYW5pbWF0aW9uKSwgewogICAgICAgICAgICAgICAgc3RlcDogZnVuY3Rpb24odCwgbikgewogICAgICAgICAgICAgICAgICBlLmdyb3VwICYmIChyW3NdID0gYSArIG4ucG9zICogKGkucG9zIC0gYSksIGUuZ3JvdXAuYXR0cihyKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICB0LnByb3RvdHlwZS5pbml0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgIHZhciBuID0gdGhpczsKICAgICAgICAgICAgZSA9IG4uY2hhcnQsIGUuaGFzUmVuZGVyZWQgJiYgZS5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQudHlwZSA9PT0gbi50eXBlICYmICh0LmlzRGlydHkgPSAhMCk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldENvbHVtbk1ldHJpY3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdC5vcHRpb25zLCBpID0gdC54QXhpcywgbiA9IHQueUF4aXMsIG8gPSBpLm9wdGlvbnMucmV2ZXJzZWRTdGFja3M7CiAgICAgICAgICAgIG8gPSBpLnJldmVyc2VkICYmICFvIHx8ICFpLnJldmVyc2VkICYmIG87CiAgICAgICAgICAgIHZhciByLCBzID0ge30sIGEgPSAwOwogICAgICAgICAgICAhMSA9PT0gZS5ncm91cGluZyA/IGEgPSAxIDogdC5jaGFydC5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHZhciBpID0gZS55QXhpcywgbyA9IGUub3B0aW9uczsKICAgICAgICAgICAgICBpZiAoZS50eXBlID09PSB0LnR5cGUgJiYgKGUudmlzaWJsZSB8fCAhdC5jaGFydC5vcHRpb25zLmNoYXJ0Lmlnbm9yZUhpZGRlblNlcmllcykgJiYgbi5sZW4gPT09IGkubGVuICYmIG4ucG9zID09PSBpLnBvcykgewogICAgICAgICAgICAgICAgaWYgKG8uc3RhY2tpbmcgJiYgImdyb3VwIiAhPT0gby5zdGFja2luZykgewogICAgICAgICAgICAgICAgICByID0gZS5zdGFja0tleSwgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBzW3JdICYmIChzW3JdID0gYSsrKTsKICAgICAgICAgICAgICAgICAgdmFyIGggPSBzW3JdOwogICAgICAgICAgICAgICAgfSBlbHNlICExICE9PSBvLmdyb3VwaW5nICYmIChoID0gYSsrKTsKICAgICAgICAgICAgICAgIGUuY29sdW1uSW5kZXggPSBoOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB2YXIgaCA9IE1hdGgubWluKE1hdGguYWJzKGkudHJhbnNBKSAqIChpLm9yZGluYWwgJiYgaS5vcmRpbmFsLnNsb3BlIHx8IGUucG9pbnRSYW5nZSB8fCBpLmNsb3Nlc3RQb2ludFJhbmdlIHx8IGkudGlja0ludGVydmFsIHx8IDEpLCBpLmxlbiksCiAgICAgICAgICAgICAgbCA9IGggKiBlLmdyb3VwUGFkZGluZywgYyA9IChoIC0gMiAqIGwpIC8gKGEgfHwgMSk7CiAgICAgICAgICAgIHJldHVybiBlID0gTWF0aC5taW4oZS5tYXhQb2ludFdpZHRoIHx8IGkubGVuLCB4KGUucG9pbnRXaWR0aCwgYyAqICgxIC0gMiAqIGUucG9pbnRQYWRkaW5nKSkpLCB0LmNvbHVtbk1ldHJpY3MgPSB7CiAgICAgICAgICAgICAgd2lkdGg6IGUsCiAgICAgICAgICAgICAgb2Zmc2V0OiAoYyAtIGUpIC8gMiArIChsICsgKCh0LmNvbHVtbkluZGV4IHx8IDApICsgKG8gPyAxIDogMCkpICogYyAtIGggLyAyKSAqIChvID8gLTEgOiAxKSwKICAgICAgICAgICAgICBwYWRkZWRXaWR0aDogYywKICAgICAgICAgICAgICBjb2x1bW5Db3VudDogYQogICAgICAgICAgICB9LCB0LmNvbHVtbk1ldHJpY3M7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5jcmlzcENvbCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLmNoYXJ0LCByID0gdGhpcy5ib3JkZXJXaWR0aCwgcyA9IC0ociAlIDIgPyAuNSA6IDApOwogICAgICAgICAgICByZXR1cm4gciA9IHIgJSAyID8gLjUgOiAxLCBvLmludmVydGVkICYmIG8ucmVuZGVyZXIuaXNWTUwgJiYgKHIgKz0gMSksIHRoaXMub3B0aW9ucy5jcmlzcCAmJiAoaSA9IE1hdGgucm91bmQodCArIGkpICsgcywgdCA9IE1hdGgucm91bmQodCkgKyBzLCBpIC09IHQpLCBuID0gTWF0aC5yb3VuZChlICsgbikgKyByLCBzID0gLjUgPj0gTWF0aC5hYnMoZSkgJiYgLjUgPCBuLCBlID0gTWF0aC5yb3VuZChlKSArIHIsIG4gLT0gZSwgcyAmJiBuICYmICgtLWUsIG4gKz0gMSksIHsKICAgICAgICAgICAgICB4OiB0LAogICAgICAgICAgICAgIHk6IGUsCiAgICAgICAgICAgICAgd2lkdGg6IGksCiAgICAgICAgICAgICAgaGVpZ2h0OiBuCiAgICAgICAgICAgIH07CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5hZGp1c3RGb3JNaXNzaW5nQ29sdW1ucyA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLCByID0gdGhpcy5vcHRpb25zLnN0YWNraW5nOwogICAgICAgICAgICBpZiAoIWkuaXNOdWxsICYmIDEgPCBuLmNvbHVtbkNvdW50KSB7CiAgICAgICAgICAgICAgdmFyIHMgPSAwLCBhID0gMDsKICAgICAgICAgICAgICBiKHRoaXMueUF4aXMuc3RhY2tpbmcgJiYgdGhpcy55QXhpcy5zdGFja2luZy5zdGFja3MsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpZiAoIm51bWJlciIgPT09IHR5cGVvZiBpLnggJiYgKHQgPSB0W2kueC50b1N0cmluZygpXSkpIHsKICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0LnBvaW50c1tvLmluZGV4XSwgbiA9IHQudG90YWw7CiAgICAgICAgICAgICAgICAgIHIgPyAoZSAmJiAocyA9IGEpLCB0Lmhhc1ZhbGlkUG9pbnRzICYmIGErKykgOiBtKGUpICYmIChzID0gZVsxXSwgYSA9IG4gfHwgMCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkpLCB0ID0gKGkucGxvdFggfHwgMCkgKyAoKGEgLSAxKSAqIG4ucGFkZGVkV2lkdGggKyBlKSAvIDIgLSBlIC0gcyAqIG4ucGFkZGVkV2lkdGg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS50cmFuc2xhdGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdC5jaGFydCwgaSA9IHQub3B0aW9ucywgbiA9IHQuZGVuc2UgPSAyID4gdC5jbG9zZXN0UG9pbnRSYW5nZSAqIHQueEF4aXMudHJhbnNBOwogICAgICAgICAgICBuID0gdC5ib3JkZXJXaWR0aCA9IHgoaS5ib3JkZXJXaWR0aCwgbiA/IDAgOiAxKTsKICAgICAgICAgICAgdmFyIHIgPSB0LnhBeGlzLCBzID0gdC55QXhpcywgYSA9IGkudGhyZXNob2xkLCBoID0gdC50cmFuc2xhdGVkVGhyZXNob2xkID0gcy5nZXRUaHJlc2hvbGQoYSksIGwgPSB4KGkubWluUG9pbnRMZW5ndGgsIDUpLCBjID0gdC5nZXRDb2x1bW5NZXRyaWNzKCksCiAgICAgICAgICAgICAgZCA9IGMud2lkdGgsIGYgPSB0LnBvaW50WE9mZnNldCA9IGMub2Zmc2V0LCBnID0gdC5kYXRhTWluLCBtID0gdC5kYXRhTWF4LCB2ID0gdC5iYXJXID0gTWF0aC5tYXgoZCwgMSArIDIgKiBuKTsKICAgICAgICAgICAgZS5pbnZlcnRlZCAmJiAoaCAtPSAuNSksIGkucG9pbnRQYWRkaW5nICYmICh2ID0gTWF0aC5jZWlsKHYpKSwgby5wcm90b3R5cGUudHJhbnNsYXRlLmFwcGx5KHQpLCB0LnBvaW50cy5mb3JFYWNoKChmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgdmFyIG8gPSB4KG4ueUJvdHRvbSwgaCksIGIgPSA5OTkgKyBNYXRoLmFicyhvKSwgXyA9IG4ucGxvdFggfHwgMDsKICAgICAgICAgICAgICBiID0gcChuLnBsb3RZLCAtYiwgcy5sZW4gKyBiKTsKICAgICAgICAgICAgICB2YXIgdyA9IE1hdGgubWluKGIsIG8pLCBrID0gTWF0aC5tYXgoYiwgbykgLSB3LCBTID0gZCwgQyA9IF8gKyBmLCBNID0gdjsKICAgICAgICAgICAgICBsICYmIE1hdGguYWJzKGspIDwgbCAmJiAoayA9IGwsIF8gPSAhcy5yZXZlcnNlZCAmJiAhbi5uZWdhdGl2ZSB8fCBzLnJldmVyc2VkICYmIG4ubmVnYXRpdmUsIHkoYSkgJiYgeShtKSAmJiBuLnkgPT09IGEgJiYgbSA8PSBhICYmIChzLm1pbiB8fCAwKSA8IGEgJiYgKGcgIT09IG0gfHwgKHMubWF4IHx8IDApIDw9IGEpICYmIChfID0gIV8pLCB3ID0gTWF0aC5hYnModyAtIGgpID4gbCA/IG8gLSBsIDogaCAtIChfID8gbCA6IDApKSwgdShuLm9wdGlvbnMucG9pbnRXaWR0aCkgJiYgKFMgPSBNID0gTWF0aC5jZWlsKG4ub3B0aW9ucy5wb2ludFdpZHRoKSwgQyAtPSBNYXRoLnJvdW5kKChTIC0gZCkgLyAyKSksIGkuY2VudGVySW5DYXRlZ29yeSAmJiAoQyA9IHQuYWRqdXN0Rm9yTWlzc2luZ0NvbHVtbnMoQywgUywgbiwgYykpLCBuLmJhclggPSBDLCBuLnBvaW50V2lkdGggPSBTLCBuLnRvb2x0aXBQb3MgPSBlLmludmVydGVkID8gW3Aocy5sZW4gKyBzLnBvcyAtIGUucGxvdExlZnQgLSBiLCBzLnBvcyAtIGUucGxvdExlZnQsIHMubGVuICsgcy5wb3MgLSBlLnBsb3RMZWZ0KSwgci5sZW4gKyByLnBvcyAtIGUucGxvdFRvcCAtIEMgLSBNIC8gMiwga10gOiBbci5sZWZ0IC0gZS5wbG90TGVmdCArIEMgKyBNIC8gMiwgcChiICsgcy5wb3MgLSBlLnBsb3RUb3AsIHMucG9zIC0gZS5wbG90VG9wLCBzLmxlbiArIHMucG9zIC0gZS5wbG90VG9wKSwga10sIG4uc2hhcGVUeXBlID0gdC5wb2ludENsYXNzLnByb3RvdHlwZS5zaGFwZVR5cGUgfHwgInJlY3QiLCBuLnNoYXBlQXJncyA9IHQuY3Jpc3BDb2wuYXBwbHkodCwgbi5pc051bGwgPyBbQywgaCwgTSwgMF0gOiBbQywgdywgTSwga10pOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kcmF3R3JhcGggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5ncm91cFt0aGlzLmRlbnNlID8gImFkZENsYXNzIiA6ICJyZW1vdmVDbGFzcyJdKCJoaWdoY2hhcnRzLWRlbnNlLWRhdGEiKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnBvaW50QXR0cmlicyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLm9wdGlvbnMsIG4gPSB0aGlzLnBvaW50QXR0clRvT3B0aW9ucyB8fCB7fSwgbyA9IG4uc3Ryb2tlIHx8ICJib3JkZXJDb2xvciIsIHIgPSBuWyJzdHJva2Utd2lkdGgiXSB8fCAiYm9yZGVyV2lkdGgiLAogICAgICAgICAgICAgIHMgPSB0ICYmIHQuY29sb3IgfHwgdGhpcy5jb2xvciwgYSA9IHQgJiYgdFtvXSB8fCBpW29dIHx8IHM7CiAgICAgICAgICAgIG4gPSB0ICYmIHQub3B0aW9ucy5kYXNoU3R5bGUgfHwgaS5kYXNoU3R5bGU7CiAgICAgICAgICAgIHZhciBoID0gdCAmJiB0W3JdIHx8IGlbcl0gfHwgdGhpc1tyXSB8fCAwLCBjID0geCh0ICYmIHQub3BhY2l0eSwgaS5vcGFjaXR5LCAxKTsKICAgICAgICAgICAgaWYgKHQgJiYgdGhpcy56b25lcy5sZW5ndGgpIHsKICAgICAgICAgICAgICB2YXIgcCA9IHQuZ2V0Wm9uZSgpOwogICAgICAgICAgICAgIHMgPSB0Lm9wdGlvbnMuY29sb3IgfHwgcCAmJiAocC5jb2xvciB8fCB0Lm5vblpvbmVkQ29sb3IpIHx8IHRoaXMuY29sb3IsIHAgJiYgKGEgPSBwLmJvcmRlckNvbG9yIHx8IGEsIG4gPSBwLmRhc2hTdHlsZSB8fCBuLCBoID0gcC5ib3JkZXJXaWR0aCB8fCBoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZSAmJiB0ICYmICh0ID0gdihpLnN0YXRlc1tlXSwgdC5vcHRpb25zLnN0YXRlcyAmJiB0Lm9wdGlvbnMuc3RhdGVzW2VdIHx8IHt9KSwgZSA9IHQuYnJpZ2h0bmVzcywgcyA9IHQuY29sb3IgfHwgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBlICYmIGwocykuYnJpZ2h0ZW4odC5icmlnaHRuZXNzKS5nZXQoKSB8fCBzLCBhID0gdFtvXSB8fCBhLCBoID0gdFtyXSB8fCBoLCBuID0gdC5kYXNoU3R5bGUgfHwgbiwgYyA9IHgodC5vcGFjaXR5LCBjKSksIG8gPSB7CiAgICAgICAgICAgICAgZmlsbDogcywKICAgICAgICAgICAgICBzdHJva2U6IGEsCiAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IGgsCiAgICAgICAgICAgICAgb3BhY2l0eTogYwogICAgICAgICAgICB9LCBuICYmIChvLmRhc2hzdHlsZSA9IG4pLCBvOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZHJhd1BvaW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSA9IHRoaXMsIGkgPSB0aGlzLmNoYXJ0LCBuID0gZS5vcHRpb25zLCBvID0gaS5yZW5kZXJlciwgciA9IG4uYW5pbWF0aW9uTGltaXQgfHwgMjUwOwogICAgICAgICAgICBlLnBvaW50cy5mb3JFYWNoKChmdW5jdGlvbihzKSB7CiAgICAgICAgICAgICAgdmFyIGEgPSBzLmdyYXBoaWMsIGggPSAhIWEsIGwgPSBhICYmIGkucG9pbnRDb3VudCA8IHIgPyAiYW5pbWF0ZSIgOiAiYXR0ciI7CiAgICAgICAgICAgICAgeShzLnBsb3RZKSAmJiBudWxsICE9PSBzLnkgPyAodCA9IHMuc2hhcGVBcmdzLCBhICYmIHMuaGFzTmV3U2hhcGVUeXBlKCkgJiYgKGEgPSBhLmRlc3Ryb3koKSksIGUuZW5hYmxlZERhdGFTb3J0aW5nICYmIChzLnN0YXJ0WFBvcyA9IGUueEF4aXMucmV2ZXJzZWQgPyAtKHQgJiYgdC53aWR0aCB8fCAwKSA6IGUueEF4aXMud2lkdGgpLCBhIHx8IChzLmdyYXBoaWMgPSBhID0gb1tzLnNoYXBlVHlwZV0odCkuYWRkKHMuZ3JvdXAgfHwgZS5ncm91cCkpICYmIGUuZW5hYmxlZERhdGFTb3J0aW5nICYmIGkuaGFzUmVuZGVyZWQgJiYgaS5wb2ludENvdW50IDwgciAmJiAoYS5hdHRyKHsgeDogcy5zdGFydFhQb3MgfSksIGggPSAhMCwgbCA9ICJhbmltYXRlIiksIGEgJiYgaCAmJiBhW2xdKHYodCkpLCBuLmJvcmRlclJhZGl1cyAmJiBhW2xdKHsgcjogbi5ib3JkZXJSYWRpdXMgfSksIGkuc3R5bGVkTW9kZSB8fCBhW2xdKGUucG9pbnRBdHRyaWJzKHMsIHMuc2VsZWN0ZWQgJiYgInNlbGVjdCIpKS5zaGFkb3coITEgIT09IHMuYWxsb3dTaGFkb3cgJiYgbi5zaGFkb3csIG51bGwsIG4uc3RhY2tpbmcgJiYgIW4uYm9yZGVyUmFkaXVzKSwgYSAmJiAoYS5hZGRDbGFzcyhzLmdldENsYXNzTmFtZSgpLCAhMCksIGEuYXR0cih7IHZpc2liaWxpdHk6IHMudmlzaWJsZSA/ICJpbmhlcml0IiA6ICJoaWRkZW4iIH0pKSkgOiBhICYmIChzLmdyYXBoaWMgPSBhLmRlc3Ryb3koKSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmRyYXdUcmFja2VyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBlID0gdGhpcywgaSA9IGUuY2hhcnQsIG4gPSBpLnBvaW50ZXIsIG8gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSBuLmdldFBvaW50RnJvbUV2ZW50KHQpOwogICAgICAgICAgICAgICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgZSAmJiAobi5pc0RpcmVjdFRvdWNoID0gITAsIGUub25Nb3VzZU92ZXIodCkpOwogICAgICAgICAgICB9OwogICAgICAgICAgICBlLnBvaW50cy5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgdCA9IG0oZS5kYXRhTGFiZWxzKSA/IGUuZGF0YUxhYmVscyA6IGUuZGF0YUxhYmVsID8gW2UuZGF0YUxhYmVsXSA6IFtdLCBlLmdyYXBoaWMgJiYgKGUuZ3JhcGhpYy5lbGVtZW50LnBvaW50ID0gZSksIHQuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdC5kaXYgPyB0LmRpdi5wb2ludCA9IGUgOiB0LmVsZW1lbnQucG9pbnQgPSBlOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSkpLCBlLl9oYXNUcmFja2luZyB8fCAoZS50cmFja2VyR3JvdXBzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBlW3RdICYmIChlW3RdLmFkZENsYXNzKCJoaWdoY2hhcnRzLXRyYWNrZXIiKS5vbigibW91c2VvdmVyIiwgbykub24oIm1vdXNlb3V0IiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIG4ub25UcmFja2VyTW91c2VPdXQodCk7CiAgICAgICAgICAgICAgfSkpLCBjICYmIGVbdF0ub24oInRvdWNoc3RhcnQiLCBvKSwgIWkuc3R5bGVkTW9kZSAmJiBlLm9wdGlvbnMuY3Vyc29yICYmIGVbdF0uY3NzKGQpLmNzcyh7IGN1cnNvcjogZS5vcHRpb25zLmN1cnNvciB9KSk7CiAgICAgICAgICAgIH0pKSwgZS5faGFzVHJhY2tpbmcgPSAhMCksIGcodGhpcywgImFmdGVyRHJhd1RyYWNrZXIiKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnJlbW92ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LmNoYXJ0OwogICAgICAgICAgICBlLmhhc1JlbmRlcmVkICYmIGUuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBlLnR5cGUgPT09IHQudHlwZSAmJiAoZS5pc0RpcnR5ID0gITApOwogICAgICAgICAgICB9KSksIG8ucHJvdG90eXBlLnJlbW92ZS5hcHBseSh0LCBhcmd1bWVudHMpOwogICAgICAgICAgfSwgZS5kZWZhdWx0T3B0aW9ucyA9IHYoby5kZWZhdWx0T3B0aW9ucywgewogICAgICAgICAgICBib3JkZXJSYWRpdXM6IDAsCiAgICAgICAgICAgIGNlbnRlckluQ2F0ZWdvcnk6ICExLAogICAgICAgICAgICBncm91cFBhZGRpbmc6IC4yLAogICAgICAgICAgICBtYXJrZXI6IG51bGwsCiAgICAgICAgICAgIHBvaW50UGFkZGluZzogLjEsCiAgICAgICAgICAgIG1pblBvaW50TGVuZ3RoOiAwLAogICAgICAgICAgICBjcm9wVGhyZXNob2xkOiA1MCwKICAgICAgICAgICAgcG9pbnRSYW5nZTogbnVsbCwKICAgICAgICAgICAgc3RhdGVzOiB7IGhvdmVyOiB7IGhhbG86ICExLCBicmlnaHRuZXNzOiAuMSB9LCBzZWxlY3Q6IHsgY29sb3I6ICIjY2NjY2NjIiwgYm9yZGVyQ29sb3I6ICIjMDAwMDAwIiB9IH0sCiAgICAgICAgICAgIGRhdGFMYWJlbHM6IHsgYWxpZ246IHZvaWQgMCwgdmVydGljYWxBbGlnbjogdm9pZCAwLCB5OiB2b2lkIDAgfSwKICAgICAgICAgICAgc3RhcnRGcm9tVGhyZXNob2xkOiAhMCwKICAgICAgICAgICAgc3RpY2t5VHJhY2tpbmc6ICExLAogICAgICAgICAgICB0b29sdGlwOiB7IGRpc3RhbmNlOiA2IH0sCiAgICAgICAgICAgIHRocmVzaG9sZDogMCwKICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICIjZmZmZmZmIgogICAgICAgICAgfSksIGU7CiAgICAgICAgfShvKSwgZihzLnByb3RvdHlwZSwgewogICAgICAgICAgY3JvcFNob3VsZGVyOiAwLAogICAgICAgICAgZGlyZWN0VG91Y2g6ICEwLAogICAgICAgICAgZHJhd0xlZ2VuZFN5bWJvbDogbi5kcmF3UmVjdGFuZ2xlLAogICAgICAgICAgZ2V0U3ltYm9sOiB0LAogICAgICAgICAgbmVnU3RhY2tzOiAhMCwKICAgICAgICAgIHRyYWNrZXJHcm91cHM6IFsiZ3JvdXAiLCAiZGF0YUxhYmVsc0dyb3VwIl0KICAgICAgICB9KSwgci5yZWdpc3RlclNlcmllc1R5cGUoImNvbHVtbiIsIHMpLCBzOwogICAgICB9KSksIGUoaSwgIkNvcmUvU2VyaWVzL0RhdGFMYWJlbC5qcyIsIFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4sIG8gPSB0LmdldERlZmVycmVkQW5pbWF0aW9uLCByID0gZS5mb3JtYXQsIHMgPSBpLmRlZmluZWQsIGEgPSBpLmV4dGVuZCwgaCA9IGkuZmlyZUV2ZW50LCBsID0gaS5pc0FycmF5LCBjID0gaS5tZXJnZSwgcCA9IGkub2JqZWN0RWFjaCwgZCA9IGkucGljaywKICAgICAgICAgIHUgPSBpLnNwbGF0OwogICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmdW5jdGlvbiBlKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICAgICAgdmFyIHIgPSB0aGlzLCBzID0gdGhpcy5jaGFydCwgaCA9IHRoaXMuaXNDYXJ0ZXNpYW4gJiYgcy5pbnZlcnRlZCwgbCA9IHRoaXMuZW5hYmxlZERhdGFTb3J0aW5nLCBjID0gZCh0LmRsQm94ICYmIHQuZGxCb3guY2VudGVyWCwgdC5wbG90WCwgLTk5OTkpLAogICAgICAgICAgICAgIHAgPSBkKHQucGxvdFksIC05OTk5KSwgdSA9IGUuZ2V0QkJveCgpLCBmID0gaS5yb3RhdGlvbiwgZyA9IGkuYWxpZ24sCiAgICAgICAgICAgICAgbSA9IHMuaXNJbnNpZGVQbG90KGMsIE1hdGgucm91bmQocCksIHsgaW52ZXJ0ZWQ6IGgsIHBhbmVDb29yZGluYXRlczogITAsIHNlcmllczogciB9KSwgeSA9IGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAgIGwgJiYgci54QXhpcyAmJiAhdiAmJiByLnNldERhdGFMYWJlbFN0YXJ0UG9zKHQsIGUsIG8sIG0sIGkpOwogICAgICAgICAgICAgIH0sIHYgPSAianVzdGlmeSIgPT09IGQoaS5vdmVyZmxvdywgbCA/ICJub25lIiA6ICJqdXN0aWZ5IiksCiAgICAgICAgICAgICAgeCA9IHRoaXMudmlzaWJsZSAmJiAhMSAhPT0gdC52aXNpYmxlICYmICh0LnNlcmllcy5mb3JjZURMIHx8IGwgJiYgIXYgfHwgbSB8fCBkKGkuaW5zaWRlLCAhIXRoaXMub3B0aW9ucy5zdGFja2luZykgJiYgbiAmJiBzLmlzSW5zaWRlUGxvdChjLCBoID8gbi54ICsgMSA6IG4ueSArIG4uaGVpZ2h0IC0gMSwgewogICAgICAgICAgICAgICAgaW52ZXJ0ZWQ6IGgsCiAgICAgICAgICAgICAgICBwYW5lQ29vcmRpbmF0ZXM6ICEwLAogICAgICAgICAgICAgICAgc2VyaWVzOiByCiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICBpZiAoeCkgewogICAgICAgICAgICAgIHZhciBiID0gcy5yZW5kZXJlci5mb250TWV0cmljcyhzLnN0eWxlZE1vZGUgPyB2b2lkIDAgOiBpLnN0eWxlLmZvbnRTaXplLCBlKS5iOwogICAgICAgICAgICAgIG4gPSBhKHsgeDogaCA/IHRoaXMueUF4aXMubGVuIC0gcCA6IGMsIHk6IE1hdGgucm91bmQoaCA/IHRoaXMueEF4aXMubGVuIC0gYyA6IHApLCB3aWR0aDogMCwgaGVpZ2h0OiAwIH0sIG4pLCBhKGksIHsKICAgICAgICAgICAgICAgIHdpZHRoOiB1LndpZHRoLAogICAgICAgICAgICAgICAgaGVpZ2h0OiB1LmhlaWdodAogICAgICAgICAgICAgIH0pLCBmID8gKHYgPSAhMSwgYyA9IHMucmVuZGVyZXIucm90Q29ycihiLCBmKSwgYyA9IHsKICAgICAgICAgICAgICAgIHg6IG4ueCArIChpLnggfHwgMCkgKyBuLndpZHRoIC8gMiArIGMueCwKICAgICAgICAgICAgICAgIHk6IG4ueSArIChpLnkgfHwgMCkgKyB7IHRvcDogMCwgbWlkZGxlOiAuNSwgYm90dG9tOiAxIH1baS52ZXJ0aWNhbEFsaWduXSAqIG4uaGVpZ2h0CiAgICAgICAgICAgICAgfSwgeShjKSwgZVtvID8gImF0dHIiIDogImFuaW1hdGUiXShjKS5hdHRyKHsgYWxpZ246IGcgfSksIHkgPSAoZiArIDcyMCkgJSAzNjAsIHkgPSAxODAgPCB5ICYmIDM2MCA+IHksICJsZWZ0IiA9PT0gZyA/IGMueSAtPSB5ID8gdS5oZWlnaHQgOiAwIDogImNlbnRlciIgPT09IGcgPyAoYy54IC09IHUud2lkdGggLyAyLCBjLnkgLT0gdS5oZWlnaHQgLyAyKSA6ICJyaWdodCIgPT09IGcgJiYgKGMueCAtPSB1LndpZHRoLCBjLnkgLT0geSA/IDAgOiB1LmhlaWdodCksIGUucGxhY2VkID0gITAsIGUuYWxpZ25BdHRyID0gYykgOiAoeShuKSwgZS5hbGlnbihpLCB2b2lkIDAsIG4pLCBjID0gZS5hbGlnbkF0dHIpLCB2ICYmIDAgPD0gbi5oZWlnaHQgPyB0aGlzLmp1c3RpZnlEYXRhTGFiZWwoZSwgaSwgYywgdSwgbiwgbykgOiBkKGkuY3JvcCwgITApICYmICh4ID0gcy5pc0luc2lkZVBsb3QoYy54LCBjLnksIHsKICAgICAgICAgICAgICAgIHBhbmVDb29yZGluYXRlczogITAsCiAgICAgICAgICAgICAgICBzZXJpZXM6IHIKICAgICAgICAgICAgICB9KSAmJiBzLmlzSW5zaWRlUGxvdChjLnggKyB1LndpZHRoLCBjLnkgKyB1LmhlaWdodCwgewogICAgICAgICAgICAgICAgcGFuZUNvb3JkaW5hdGVzOiAhMCwKICAgICAgICAgICAgICAgIHNlcmllczogcgogICAgICAgICAgICAgIH0pKSwgaS5zaGFwZSAmJiAhZiAmJiBlW28gPyAiYXR0ciIgOiAiYW5pbWF0ZSJdKHsgYW5jaG9yWDogaCA/IHMucGxvdFdpZHRoIC0gdC5wbG90WSA6IHQucGxvdFgsIGFuY2hvclk6IGggPyBzLnBsb3RIZWlnaHQgLSB0LnBsb3RYIDogdC5wbG90WSB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBvICYmIGwgJiYgKGUucGxhY2VkID0gITEpLCB4IHx8IGwgJiYgIXYgfHwgKGUuaGlkZSghMCksIGUucGxhY2VkID0gITEpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIGkodCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IGUuZmlsdGVyOwogICAgICAgICAgICByZXR1cm4gIWkgfHwgKGUgPSBpLm9wZXJhdG9yLCB0ID0gdFtpLnByb3BlcnR5XSwgaSA9IGkudmFsdWUsICI+IiA9PT0gZSAmJiB0ID4gaSB8fCAiPCIgPT09IGUgJiYgdCA8IGkgfHwgIj49IiA9PT0gZSAmJiB0ID49IGkgfHwgIjw9IiA9PT0gZSAmJiB0IDw9IGkgfHwgIj09IiA9PT0gZSAmJiB0ID09IGkgfHwgIj09PSIgPT09IGUgJiYgdCA9PT0gaSk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUgPSB0aGlzLCBuID0gZS5jaGFydCwgYSA9IGUub3B0aW9ucywgYyA9IGUucG9pbnRzLCBmID0gZS5oYXNSZW5kZXJlZCB8fCAwLCBtID0gbi5yZW5kZXJlciwgeSA9IGEuZGF0YUxhYmVscywgdiA9IHkuYW5pbWF0aW9uOwogICAgICAgICAgICBpZiAodiA9IHkuZGVmZXIgPyBvKG4sIHYsIGUpIDogewogICAgICAgICAgICAgIGRlZmVyOiAwLAogICAgICAgICAgICAgIGR1cmF0aW9uOiAwCiAgICAgICAgICAgIH0sIHkgPSBnKGcobi5vcHRpb25zLnBsb3RPcHRpb25zICYmIG4ub3B0aW9ucy5wbG90T3B0aW9ucy5zZXJpZXMgJiYgbi5vcHRpb25zLnBsb3RPcHRpb25zLnNlcmllcy5kYXRhTGFiZWxzLCBuLm9wdGlvbnMucGxvdE9wdGlvbnMgJiYgbi5vcHRpb25zLnBsb3RPcHRpb25zW2UudHlwZV0gJiYgbi5vcHRpb25zLnBsb3RPcHRpb25zW2UudHlwZV0uZGF0YUxhYmVscyksIHkpLCBoKHRoaXMsICJkcmF3RGF0YUxhYmVscyIpLCBsKHkpIHx8IHkuZW5hYmxlZCB8fCBlLl9oYXNQb2ludExhYmVscykgewogICAgICAgICAgICAgIHZhciB4ID0gZS5wbG90R3JvdXAoImRhdGFMYWJlbHNHcm91cCIsICJkYXRhLWxhYmVscyIsIGYgPyAiaW5oZXJpdCIgOiAiaGlkZGVuIiwgeS56SW5kZXggfHwgNik7CiAgICAgICAgICAgICAgeC5hdHRyKHsgb3BhY2l0eTogK2YgfSksICFmICYmIChmID0gZS5kYXRhTGFiZWxzR3JvdXApICYmIChlLnZpc2libGUgJiYgeC5zaG93KCEwKSwgZlthLmFuaW1hdGlvbiA/ICJhbmltYXRlIiA6ICJhdHRyIl0oeyBvcGFjaXR5OiAxIH0sIHYpKSwgYy5mb3JFYWNoKChmdW5jdGlvbihvKSB7CiAgICAgICAgICAgICAgICB0ID0gdShnKHksIG8uZGxPcHRpb25zIHx8IG8ub3B0aW9ucyAmJiBvLm9wdGlvbnMuZGF0YUxhYmVscykpLCB0LmZvckVhY2goKGZ1bmN0aW9uKHQsIGgpIHsKICAgICAgICAgICAgICAgICAgdmFyIGwgPSB0LmVuYWJsZWQgJiYgKCFvLmlzTnVsbCB8fCBvLmRhdGFMYWJlbE9uTnVsbCkgJiYgaShvLCB0KSwgYyA9IG8uY29ubmVjdG9ycyA/IG8uY29ubmVjdG9yc1toXSA6IG8uY29ubmVjdG9yLAogICAgICAgICAgICAgICAgICAgIHUgPSBvLmRhdGFMYWJlbHMgPyBvLmRhdGFMYWJlbHNbaF0gOiBvLmRhdGFMYWJlbCwgZiA9IGQodC5kaXN0YW5jZSwgby5sYWJlbERpc3RhbmNlKSwgZyA9ICF1OwogICAgICAgICAgICAgICAgICBpZiAobCkgewogICAgICAgICAgICAgICAgICAgIHZhciB5ID0gby5nZXRMYWJlbENvbmZpZygpLCB2ID0gZCh0W28uZm9ybWF0UHJlZml4ICsgIkZvcm1hdCJdLCB0LmZvcm1hdCk7CiAgICAgICAgICAgICAgICAgICAgeSA9IHModikgPyByKHYsIHksIG4pIDogKHRbby5mb3JtYXRQcmVmaXggKyAiRm9ybWF0dGVyIl0gfHwgdC5mb3JtYXR0ZXIpLmNhbGwoeSwgdCksIHYgPSB0LnN0eWxlOwogICAgICAgICAgICAgICAgICAgIHZhciBiID0gdC5yb3RhdGlvbjsKICAgICAgICAgICAgICAgICAgICBuLnN0eWxlZE1vZGUgfHwgKHYuY29sb3IgPSBkKHQuY29sb3IsIHYuY29sb3IsIGUuY29sb3IsICIjMDAwMDAwIiksICJjb250cmFzdCIgPT09IHYuY29sb3IgPyAoby5jb250cmFzdENvbG9yID0gbS5nZXRDb250cmFzdChvLmNvbG9yIHx8IGUuY29sb3IpLCB2LmNvbG9yID0gIXMoZikgJiYgdC5pbnNpZGUgfHwgMCA+IGYgfHwgYS5zdGFja2luZyA/IG8uY29udHJhc3RDb2xvciA6ICIjMDAwMDAwIikgOiBkZWxldGUgby5jb250cmFzdENvbG9yLCBhLmN1cnNvciAmJiAodi5jdXJzb3IgPSBhLmN1cnNvcikpOwogICAgICAgICAgICAgICAgICAgIHZhciBfID0geyByOiB0LmJvcmRlclJhZGl1cyB8fCAwLCByb3RhdGlvbjogYiwgcGFkZGluZzogdC5wYWRkaW5nLCB6SW5kZXg6IDEgfTsKICAgICAgICAgICAgICAgICAgICBuLnN0eWxlZE1vZGUgfHwgKF8uZmlsbCA9IHQuYmFja2dyb3VuZENvbG9yLCBfLnN0cm9rZSA9IHQuYm9yZGVyQ29sb3IsIF9bInN0cm9rZS13aWR0aCJdID0gdC5ib3JkZXJXaWR0aCksIHAoXywgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICJ1bmRlZmluZWQiID09PSB0eXBlb2YgdCAmJiBkZWxldGUgX1tlXTsKICAgICAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIXUgfHwgbCAmJiBzKHkpICYmICEhdS5kaXYgPT09ICEhdC51c2VIVE1MIHx8IChvLmRhdGFMYWJlbCA9IHUgPSBvLmRhdGFMYWJlbCAmJiBvLmRhdGFMYWJlbC5kZXN0cm95KCksIG8uZGF0YUxhYmVscyAmJiAoMSA9PT0gby5kYXRhTGFiZWxzLmxlbmd0aCA/IGRlbGV0ZSBvLmRhdGFMYWJlbHMgOiBkZWxldGUgby5kYXRhTGFiZWxzW2hdKSwgaCB8fCBkZWxldGUgby5kYXRhTGFiZWwsIGMgJiYgKG8uY29ubmVjdG9yID0gby5jb25uZWN0b3IuZGVzdHJveSgpLCBvLmNvbm5lY3RvcnMgJiYgKDEgPT09IG8uY29ubmVjdG9ycy5sZW5ndGggPyBkZWxldGUgby5jb25uZWN0b3JzIDogZGVsZXRlIG8uY29ubmVjdG9yc1toXSkpKSwgbCAmJiBzKHkpICYmICh1ID8gXy50ZXh0ID0geSA6IChvLmRhdGFMYWJlbHMgPSBvLmRhdGFMYWJlbHMgfHwgW10sIHUgPSBvLmRhdGFMYWJlbHNbaF0gPSBiID8gbS50ZXh0KHksIDAsIC05OTk5LCB0LnVzZUhUTUwpLmFkZENsYXNzKCJoaWdoY2hhcnRzLWRhdGEtbGFiZWwiKSA6IG0ubGFiZWwoeSwgMCwgLTk5OTksIHQuc2hhcGUsIG51bGwsIG51bGwsIHQudXNlSFRNTCwgbnVsbCwgImRhdGEtbGFiZWwiKSwgaCB8fCAoby5kYXRhTGFiZWwgPSB1KSwgdS5hZGRDbGFzcygiIGhpZ2hjaGFydHMtZGF0YS1sYWJlbC1jb2xvci0iICsgby5jb2xvckluZGV4ICsgIiAiICsgKHQuY2xhc3NOYW1lIHx8ICIiKSArICh0LnVzZUhUTUwgPyAiIGhpZ2hjaGFydHMtdHJhY2tlciIgOiAiIikpKSwgdS5vcHRpb25zID0gdCwgdS5hdHRyKF8pLCBuLnN0eWxlZE1vZGUgfHwgdS5jc3Modikuc2hhZG93KHQuc2hhZG93KSwgdS5hZGRlZCB8fCB1LmFkZCh4KSwgdC50ZXh0UGF0aCAmJiAhdC51c2VIVE1MICYmICh1LnNldFRleHRQYXRoKG8uZ2V0RGF0YUxhYmVsUGF0aCAmJiBvLmdldERhdGFMYWJlbFBhdGgodSkgfHwgby5ncmFwaGljLCB0LnRleHRQYXRoKSwgby5kYXRhTGFiZWxQYXRoICYmICF0LnRleHRQYXRoLmVuYWJsZWQgJiYgKG8uZGF0YUxhYmVsUGF0aCA9IG8uZGF0YUxhYmVsUGF0aC5kZXN0cm95KCkpKSwgZS5hbGlnbkRhdGFMYWJlbChvLCB1LCB0LCBudWxsLCBnKSk7CiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGgodGhpcywgImFmdGVyRHJhd0RhdGFMYWJlbHMiKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBmKHQsIGUsIGksIG4sIG8sIHIpIHsKICAgICAgICAgICAgdmFyIHMgPSB0aGlzLmNoYXJ0LCBhID0gZS5hbGlnbiwgaCA9IGUudmVydGljYWxBbGlnbiwgbCA9IHQuYm94ID8gMCA6IHQucGFkZGluZyB8fCAwLCBjID0gZS54OwogICAgICAgICAgICBjID0gdm9pZCAwID09PSBjID8gMCA6IGM7CiAgICAgICAgICAgIHZhciBwID0gZS55OwogICAgICAgICAgICBwID0gdm9pZCAwID09PSBwID8gMCA6IHA7CiAgICAgICAgICAgIHZhciBkID0gKGkueCB8fCAwKSArIGw7CiAgICAgICAgICAgIGlmICgwID4gZCkgewogICAgICAgICAgICAgICJyaWdodCIgPT09IGEgJiYgMCA8PSBjID8gKGUuYWxpZ24gPSAibGVmdCIsIGUuaW5zaWRlID0gITApIDogYyAtPSBkOwogICAgICAgICAgICAgIHZhciB1ID0gITA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGQgPSAoaS54IHx8IDApICsgbi53aWR0aCAtIGwsIGQgPiBzLnBsb3RXaWR0aCAmJiAoImxlZnQiID09PSBhICYmIDAgPj0gYyA/IChlLmFsaWduID0gInJpZ2h0IiwgZS5pbnNpZGUgPSAhMCkgOiBjICs9IHMucGxvdFdpZHRoIC0gZCwgdSA9ICEwKSwgZCA9IGkueSArIGwsIDAgPiBkICYmICgiYm90dG9tIiA9PT0gaCAmJiAwIDw9IHAgPyAoZS52ZXJ0aWNhbEFsaWduID0gInRvcCIsIGUuaW5zaWRlID0gITApIDogcCAtPSBkLCB1ID0gITApLCBkID0gKGkueSB8fCAwKSArIG4uaGVpZ2h0IC0gbCwgZCA+IHMucGxvdEhlaWdodCAmJiAoInRvcCIgPT09IGggJiYgMCA+PSBwID8gKGUudmVydGljYWxBbGlnbiA9ICJib3R0b20iLCBlLmluc2lkZSA9ICEwKSA6IHAgKz0gcy5wbG90SGVpZ2h0IC0gZCwgdSA9ICEwKSwgdSAmJiAoZS54ID0gYywgZS55ID0gcCwgdC5wbGFjZWQgPSAhciwgdC5hbGlnbihlLCB2b2lkIDAsIG8pKSwgdTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBnKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGksIG4gPSBbXTsKICAgICAgICAgICAgaWYgKGwodCkgJiYgIWwoZSkpIG4gPSB0Lm1hcCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiBjKHQsIGUpOwogICAgICAgICAgICB9KSk7IGVsc2UgaWYgKGwoZSkgJiYgIWwodCkpIG4gPSBlLm1hcCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHJldHVybiBjKHQsIGUpOwogICAgICAgICAgICB9KSk7IGVsc2UgaWYgKGwodCkgfHwgbChlKSkgZm9yIChpID0gTWF0aC5tYXgodC5sZW5ndGgsIGUubGVuZ3RoKTsgaS0tOykgbltpXSA9IGModFtpXSwgZVtpXSk7IGVsc2UgbiA9IGModCwgZSk7CiAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIG0odCwgZSwgaSwgbiwgbykgewogICAgICAgICAgICB2YXIgciA9IHRoaXMuY2hhcnQsIHMgPSByLmludmVydGVkLCBhID0gdGhpcy54QXhpcywgaCA9IGEucmV2ZXJzZWQsIGwgPSBzID8gZS5oZWlnaHQgLyAyIDogZS53aWR0aCAvIDI7CiAgICAgICAgICAgIHQgPSAodCA9IHQucG9pbnRXaWR0aCkgPyB0IC8gMiA6IDAsIGUuc3RhcnRYUG9zID0gcyA/IG8ueCA6IGggPyAtbCAtIHQgOiBhLndpZHRoIC0gbCArIHQsIGUuc3RhcnRZUG9zID0gcyA/IGggPyB0aGlzLnlBeGlzLmhlaWdodCAtIGwgKyB0IDogLWwgLSB0IDogby55LCBuID8gImhpZGRlbiIgPT09IGUudmlzaWJpbGl0eSAmJiAoZS5zaG93KCksIGUuYXR0cih7IG9wYWNpdHk6IDAgfSkuYW5pbWF0ZSh7IG9wYWNpdHk6IDEgfSkpIDogZS5hdHRyKHsgb3BhY2l0eTogMSB9KS5hbmltYXRlKHsgb3BhY2l0eTogMCB9LCB2b2lkIDAsIGUuaGlkZSksIHIuaGFzUmVuZGVyZWQgJiYgKGkgJiYgZS5hdHRyKHsKICAgICAgICAgICAgICB4OiBlLnN0YXJ0WFBvcywKICAgICAgICAgICAgICB5OiBlLnN0YXJ0WVBvcwogICAgICAgICAgICB9KSwgZS5wbGFjZWQgPSAhMCk7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIHkgPSBbXTsKICAgICAgICAgIHQuY29tcG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgaWYgKC0xID09PSB5LmluZGV4T2YodCkpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHQucHJvdG90eXBlOwogICAgICAgICAgICAgIHkucHVzaCh0KSwgaS5hbGlnbkRhdGFMYWJlbCA9IGUsIGkuZHJhd0RhdGFMYWJlbHMgPSBuLCBpLmp1c3RpZnlEYXRhTGFiZWwgPSBmLCBpLnNldERhdGFMYWJlbFN0YXJ0UG9zID0gbTsKICAgICAgICAgICAgfQogICAgICAgICAgfTsKICAgICAgICB9KG4gfHwgKG4gPSB7fSkpLCBuOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9Db2x1bW4vQ29sdW1uRGF0YUxhYmVsLmpzIiwgW2lbIkNvcmUvU2VyaWVzL0RhdGFMYWJlbC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbiwgbyA9IGUuc2VyaWVzLCByID0gaS5tZXJnZSwgcyA9IGkucGljazsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgewogICAgICAgICAgZnVuY3Rpb24gaSh0LCBlLCBpLCBuLCBhKSB7CiAgICAgICAgICAgIHZhciBoID0gdGhpcy5jaGFydC5pbnZlcnRlZCwgbCA9IHQuc2VyaWVzLCBjID0gKGwueEF4aXMgPyBsLnhBeGlzLmxlbiA6IHRoaXMuY2hhcnQucGxvdFNpemVYKSB8fCAwOwogICAgICAgICAgICBsID0gKGwueUF4aXMgPyBsLnlBeGlzLmxlbiA6IHRoaXMuY2hhcnQucGxvdFNpemVZKSB8fCAwOwogICAgICAgICAgICB2YXIgcCA9IHQuZGxCb3ggfHwgdC5zaGFwZUFyZ3MsIGQgPSBzKHQuYmVsb3csIHQucGxvdFkgPiBzKHRoaXMudHJhbnNsYXRlZFRocmVzaG9sZCwgbCkpLCB1ID0gcyhpLmluc2lkZSwgISF0aGlzLm9wdGlvbnMuc3RhY2tpbmcpOwogICAgICAgICAgICBwICYmIChuID0gcihwKSwgMCA+IG4ueSAmJiAobi5oZWlnaHQgKz0gbi55LCBuLnkgPSAwKSwgcCA9IG4ueSArIG4uaGVpZ2h0IC0gbCwgMCA8IHAgJiYgcCA8IG4uaGVpZ2h0ICYmIChuLmhlaWdodCAtPSBwKSwgaCAmJiAobiA9IHsKICAgICAgICAgICAgICB4OiBsIC0gbi55IC0gbi5oZWlnaHQsCiAgICAgICAgICAgICAgeTogYyAtIG4ueCAtIG4ud2lkdGgsCiAgICAgICAgICAgICAgd2lkdGg6IG4uaGVpZ2h0LAogICAgICAgICAgICAgIGhlaWdodDogbi53aWR0aAogICAgICAgICAgICB9KSwgdSB8fCAoaCA/IChuLnggKz0gZCA/IDAgOiBuLndpZHRoLCBuLndpZHRoID0gMCkgOiAobi55ICs9IGQgPyBuLmhlaWdodCA6IDAsIG4uaGVpZ2h0ID0gMCkpKSwgaS5hbGlnbiA9IHMoaS5hbGlnbiwgIWggfHwgdSA/ICJjZW50ZXIiIDogZCA/ICJyaWdodCIgOiAibGVmdCIpLCBpLnZlcnRpY2FsQWxpZ24gPSBzKGkudmVydGljYWxBbGlnbiwgaCB8fCB1ID8gIm1pZGRsZSIgOiBkID8gInRvcCIgOiAiYm90dG9tIiksIG8ucHJvdG90eXBlLmFsaWduRGF0YUxhYmVsLmNhbGwodGhpcywgdCwgZSwgaSwgbiwgYSksIGkuaW5zaWRlICYmIHQuY29udHJhc3RDb2xvciAmJiBlLmNzcyh7IGNvbG9yOiB0LmNvbnRyYXN0Q29sb3IgfSk7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIG4gPSBbXTsKICAgICAgICAgIGUuY29tcG9zZSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdC5jb21wb3NlKG8pLCAtMSA9PT0gbi5pbmRleE9mKGUpICYmIChuLnB1c2goZSksIGUucHJvdG90eXBlLmFsaWduRGF0YUxhYmVsID0gaSk7CiAgICAgICAgICB9OwogICAgICAgIH0obiB8fCAobiA9IHt9KSksIG47CiAgICAgIH0pKSwgZShpLCAiU2VyaWVzL0Jhci9CYXJTZXJpZXMuanMiLCBbaVsiU2VyaWVzL0NvbHVtbi9Db2x1bW5TZXJpZXMuanMiXSwgaVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4gPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKSwgbyA9IGkuZXh0ZW5kLCByID0gaS5tZXJnZTsKICAgICAgICByZXR1cm4gaSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIGZ1bmN0aW9uIGkoKSB7CiAgICAgICAgICAgIHZhciB0ID0gbnVsbCAhPT0gZSAmJiBlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpczsKICAgICAgICAgICAgcmV0dXJuIHQuZGF0YSA9IHZvaWQgMCwgdC5vcHRpb25zID0gdm9pZCAwLCB0LnBvaW50cyA9IHZvaWQgMCwgdDsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gbihpLCBlKSwgaS5kZWZhdWx0T3B0aW9ucyA9IHIodC5kZWZhdWx0T3B0aW9ucywge30pLCBpOwogICAgICAgIH0odCksIG8oaS5wcm90b3R5cGUsIHsgaW52ZXJ0ZWQ6ICEwIH0pLCBlLnJlZ2lzdGVyU2VyaWVzVHlwZSgiYmFyIiwgaSksIGk7CiAgICAgIH0pKSwgZShpLCAiU2VyaWVzL1NjYXR0ZXIvU2NhdHRlclNlcmllcy5qcyIsIFtpWyJTZXJpZXMvQ29sdW1uL0NvbHVtblNlcmllcy5qcyJdLCBpWyJTZXJpZXMvTGluZS9MaW5lU2VyaWVzLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgIHZhciBvID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0Ll9fcHJvdG9fXyA9IGU7CiAgICAgICAgICAgIH0gfHwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgZS5oYXNPd25Qcm9wZXJ0eShpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICB9LCB0KGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHQoZSwgaSksIGUucHJvdG90eXBlID0gbnVsbCA9PT0gaSA/IE9iamVjdC5jcmVhdGUoaSkgOiAobi5wcm90b3R5cGUgPSBpLnByb3RvdHlwZSwgbmV3IG4pOwogICAgICAgICAgfTsKICAgICAgICB9KCksIHIgPSBuLmFkZEV2ZW50LCBzID0gbi5leHRlbmQsIGEgPSBuLm1lcmdlOwogICAgICAgIHJldHVybiBuID0gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gaSgpIHsKICAgICAgICAgICAgdmFyIGUgPSBudWxsICE9PSB0ICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgICAgICAgICByZXR1cm4gZS5kYXRhID0gdm9pZCAwLCBlLm9wdGlvbnMgPSB2b2lkIDAsIGUucG9pbnRzID0gdm9pZCAwLCBlOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBvKGksIHQpLCBpLnByb3RvdHlwZS5hcHBseUppdHRlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0aGlzLm9wdGlvbnMuaml0dGVyLCBpID0gdGhpcy5wb2ludHMubGVuZ3RoOwogICAgICAgICAgICBlICYmIHRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKG4sIG8pIHsKICAgICAgICAgICAgICBbIngiLCAieSJdLmZvckVhY2goKGZ1bmN0aW9uKHIsIHMpIHsKICAgICAgICAgICAgICAgIHZhciBhID0gInBsb3QiICsgci50b1VwcGVyQ2FzZSgpOwogICAgICAgICAgICAgICAgaWYgKGVbcl0gJiYgIW4uaXNOdWxsKSB7CiAgICAgICAgICAgICAgICAgIHZhciBoID0gdFtyICsgIkF4aXMiXSwgbCA9IGVbcl0gKiBoLnRyYW5zQTsKICAgICAgICAgICAgICAgICAgaWYgKGggJiYgIWguaXNMb2cpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IE1hdGgubWF4KDAsIG5bYV0gLSBsKTsKICAgICAgICAgICAgICAgICAgICBoID0gTWF0aC5taW4oaC5sZW4sIG5bYV0gKyBsKSwgcyA9IDFlNCAqIE1hdGguc2luKG8gKyBzICogaSksIG5bYV0gPSBjICsgKGggLSBjKSAqIChzIC0gTWF0aC5mbG9vcihzKSksICJ4IiA9PT0gciAmJiAobi5jbGllbnRYID0gbi5wbG90WCk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmRyYXdHcmFwaCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLm9wdGlvbnMubGluZVdpZHRoID8gdC5wcm90b3R5cGUuZHJhd0dyYXBoLmNhbGwodGhpcykgOiB0aGlzLmdyYXBoICYmICh0aGlzLmdyYXBoID0gdGhpcy5ncmFwaC5kZXN0cm95KCkpOwogICAgICAgICAgfSwgaS5kZWZhdWx0T3B0aW9ucyA9IGEoZS5kZWZhdWx0T3B0aW9ucywgewogICAgICAgICAgICBsaW5lV2lkdGg6IDAsCiAgICAgICAgICAgIGZpbmROZWFyZXN0UG9pbnRCeTogInh5IiwKICAgICAgICAgICAgaml0dGVyOiB7IHg6IDAsIHk6IDAgfSwKICAgICAgICAgICAgbWFya2VyOiB7IGVuYWJsZWQ6ICEwIH0sCiAgICAgICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgICAgICBoZWFkZXJGb3JtYXQ6ICI8c3BhbiBzdHlsZT1cImNvbG9yOntwb2ludC5jb2xvcn1cIj7il488L3NwYW4+IDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMHB4XCI+IHtzZXJpZXMubmFtZX08L3NwYW4+PGJyLz4iLAogICAgICAgICAgICAgIHBvaW50Rm9ybWF0OiAieDogPGI+e3BvaW50Lnh9PC9iPjxici8+eTogPGI+e3BvaW50Lnl9PC9iPjxici8+IgogICAgICAgICAgICB9CiAgICAgICAgICB9KSwgaTsKICAgICAgICB9KGUpLCBzKG4ucHJvdG90eXBlLCB7CiAgICAgICAgICBkcmF3VHJhY2tlcjogdC5wcm90b3R5cGUuZHJhd1RyYWNrZXIsCiAgICAgICAgICBzb3J0ZWQ6ICExLAogICAgICAgICAgcmVxdWlyZVNvcnRpbmc6ICExLAogICAgICAgICAgbm9TaGFyZWRUb29sdGlwOiAhMCwKICAgICAgICAgIHRyYWNrZXJHcm91cHM6IFsiZ3JvdXAiLCAibWFya2VyR3JvdXAiLCAiZGF0YUxhYmVsc0dyb3VwIl0sCiAgICAgICAgICB0YWtlT3JkaW5hbFBvc2l0aW9uOiAhMQogICAgICAgIH0pLCByKG4sICJhZnRlclRyYW5zbGF0ZSIsIChmdW5jdGlvbigpIHsKICAgICAgICAgIHRoaXMuYXBwbHlKaXR0ZXIoKTsKICAgICAgICB9KSksIGkucmVnaXN0ZXJTZXJpZXNUeXBlKCJzY2F0dGVyIiwgbiksIG47CiAgICAgIH0pKSwgZShpLCAiU2VyaWVzL0NlbnRlcmVkVXRpbGl0aWVzLmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4sIG8gPSB0LmRlZzJyYWQsIHIgPSBpLmlzTnVtYmVyLCBzID0gaS5waWNrLCBhID0gaS5yZWxhdGl2ZUxlbmd0aDsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgdC5nZXRDZW50ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm9wdGlvbnMsIGkgPSB0aGlzLmNoYXJ0LCBuID0gMiAqICh0LnNsaWNlZE9mZnNldCB8fCAwKSwgbyA9IGkucGxvdFdpZHRoIC0gMiAqIG4sIHIgPSBpLnBsb3RIZWlnaHQgLSAyICogbiwgaCA9IHQuY2VudGVyLAogICAgICAgICAgICAgIGwgPSBNYXRoLm1pbihvLCByKSwgYyA9IHQuc2l6ZSwgcCA9IHQuaW5uZXJTaXplIHx8IDA7CiAgICAgICAgICAgIGZvciAoInN0cmluZyIgPT09IHR5cGVvZiBjICYmIChjID0gcGFyc2VGbG9hdChjKSksICJzdHJpbmciID09PSB0eXBlb2YgcCAmJiAocCA9IHBhcnNlRmxvYXQocCkpLCB0ID0gW3MoaFswXSwgIjUwJSIpLCBzKGhbMV0sICI1MCUiKSwgcyhjICYmIDAgPiBjID8gdm9pZCAwIDogdC5zaXplLCAiMTAwJSIpLCBzKHAgJiYgMCA+IHAgPyB2b2lkIDAgOiB0LmlubmVyU2l6ZSB8fCAwLCAiMCUiKV0sICFpLmFuZ3VsYXIgfHwgdGhpcyBpbnN0YW5jZW9mIGUgfHwgKHRbM10gPSAwKSwgaCA9IDA7IDQgPiBoOyArK2gpIGMgPSB0W2hdLCBpID0gMiA+IGggfHwgMiA9PT0gaCAmJiAvJSQvLnRlc3QoYyksIHRbaF0gPSBhKGMsIFtvLCByLCBsLCB0WzJdXVtoXSkgKyAoaSA/IG4gOiAwKTsKICAgICAgICAgICAgcmV0dXJuIHRbM10gPiB0WzJdICYmICh0WzNdID0gdFsyXSksIHQ7CiAgICAgICAgICB9LCB0LmdldFN0YXJ0QW5kRW5kUmFkaWFucyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSByKHQpID8gdCA6IDAsIGUgPSByKGUpICYmIGUgPiB0ICYmIDM2MCA+IGUgLSB0ID8gZSA6IHQgKyAzNjAsIHsgc3RhcnQ6IG8gKiAodCArIC05MCksIGVuZDogbyAqIChlICsgLTkwKSB9OwogICAgICAgICAgfTsKICAgICAgICB9KG4gfHwgKG4gPSB7fSkpLCBuOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9QaWUvUGllUG9pbnQuanMiLCBbaVsiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1BvaW50LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgIHZhciBuID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0Ll9fcHJvdG9fXyA9IGU7CiAgICAgICAgICAgIH0gfHwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgZS5oYXNPd25Qcm9wZXJ0eShpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICB9LCB0KGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHQoZSwgaSksIGUucHJvdG90eXBlID0gbnVsbCA9PT0gaSA/IE9iamVjdC5jcmVhdGUoaSkgOiAobi5wcm90b3R5cGUgPSBpLnByb3RvdHlwZSwgbmV3IG4pOwogICAgICAgICAgfTsKICAgICAgICB9KCksIG8gPSB0LnNldEFuaW1hdGlvbiwgciA9IGkuYWRkRXZlbnQsIHMgPSBpLmRlZmluZWQ7CiAgICAgICAgdCA9IGkuZXh0ZW5kOwogICAgICAgIHZhciBhID0gaS5pc051bWJlciwgaCA9IGkucGljaywgbCA9IGkucmVsYXRpdmVMZW5ndGg7CiAgICAgICAgcmV0dXJuIGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmdW5jdGlvbiBlKCkgewogICAgICAgICAgICB2YXIgZSA9IG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICAgIHJldHVybiBlLmxhYmVsRGlzdGFuY2UgPSB2b2lkIDAsIGUub3B0aW9ucyA9IHZvaWQgMCwgZS5zZXJpZXMgPSB2b2lkIDAsIGU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIG4oZSwgdCksIGUucHJvdG90eXBlLmdldENvbm5lY3RvclBhdGggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmxhYmVsUG9zaXRpb24sIGUgPSB0aGlzLnNlcmllcy5vcHRpb25zLmRhdGFMYWJlbHMsIGkgPSB0aGlzLmNvbm5lY3RvclNoYXBlcywgbiA9IGUuY29ubmVjdG9yU2hhcGU7CiAgICAgICAgICAgIHJldHVybiBpW25dICYmIChuID0gaVtuXSksIG4uY2FsbCh0aGlzLCB7IHg6IHQuZmluYWwueCwgeTogdC5maW5hbC55LCBhbGlnbm1lbnQ6IHQuYWxpZ25tZW50IH0sIHQuY29ubmVjdG9yUG9zaXRpb24sIGUpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0VHJhbnNsYXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWNlZCA/IHRoaXMuc2xpY2VkVHJhbnNsYXRpb24gOiB7IHRyYW5zbGF0ZVg6IDAsIHRyYW5zbGF0ZVk6IDAgfTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmhhbG9QYXRoID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuc2hhcGVBcmdzOwogICAgICAgICAgICByZXR1cm4gdGhpcy5zbGljZWQgfHwgIXRoaXMudmlzaWJsZSA/IFtdIDogdGhpcy5zZXJpZXMuY2hhcnQucmVuZGVyZXIuc3ltYm9scy5hcmMoZS54LCBlLnksIGUuciArIHQsIGUuciArIHQsIHsKICAgICAgICAgICAgICBpbm5lclI6IGUuciAtIDEsCiAgICAgICAgICAgICAgc3RhcnQ6IGUuc3RhcnQsCiAgICAgICAgICAgICAgZW5kOiBlLmVuZAogICAgICAgICAgICB9KTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICB0LnByb3RvdHlwZS5pbml0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksIHRoaXMubmFtZSA9IGgodGhpcy5uYW1lLCAiU2xpY2UiKTsKICAgICAgICAgICAgdmFyIGkgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgZS5zbGljZSgic2VsZWN0IiA9PT0gdC50eXBlKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuIHIodGhpcywgInNlbGVjdCIsIGkpLCByKHRoaXMsICJ1bnNlbGVjdCIsIGkpLCB0aGlzOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaXNWYWxpZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gYSh0aGlzLnkpICYmIDAgPD0gdGhpcy55OwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuc2V0VmlzaWJsZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLCBuID0gdGhpcy5zZXJpZXMsIG8gPSBuLmNoYXJ0LCByID0gbi5vcHRpb25zLmlnbm9yZUhpZGRlblBvaW50OwogICAgICAgICAgICBlID0gaChlLCByKSwgdCAhPT0gdGhpcy52aXNpYmxlICYmICh0aGlzLnZpc2libGUgPSB0aGlzLm9wdGlvbnMudmlzaWJsZSA9IHQgPSAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHQgPyAhdGhpcy52aXNpYmxlIDogdCwgbi5vcHRpb25zLmRhdGFbbi5kYXRhLmluZGV4T2YodGhpcyldID0gdGhpcy5vcHRpb25zLCBbImdyYXBoaWMiLCAiZGF0YUxhYmVsIiwgImNvbm5lY3RvciIsICJzaGFkb3dHcm91cCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBpW2VdICYmIGlbZV1bdCA/ICJzaG93IiA6ICJoaWRlIl0odCk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5sZWdlbmRJdGVtICYmIG8ubGVnZW5kLmNvbG9yaXplSXRlbSh0aGlzLCB0KSwgdCB8fCAiaG92ZXIiICE9PSB0aGlzLnN0YXRlIHx8IHRoaXMuc2V0U3RhdGUoIiIpLCByICYmIChuLmlzRGlydHkgPSAhMCksIGUgJiYgby5yZWRyYXcoKSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLnNlcmllczsKICAgICAgICAgICAgbyhpLCBuLmNoYXJ0KSwgaChlLCAhMCksIHRoaXMuc2xpY2VkID0gdGhpcy5vcHRpb25zLnNsaWNlZCA9IHModCkgPyB0IDogIXRoaXMuc2xpY2VkLCBuLm9wdGlvbnMuZGF0YVtuLmRhdGEuaW5kZXhPZih0aGlzKV0gPSB0aGlzLm9wdGlvbnMsIHRoaXMuZ3JhcGhpYyAmJiB0aGlzLmdyYXBoaWMuYW5pbWF0ZSh0aGlzLmdldFRyYW5zbGF0ZSgpKSwgdGhpcy5zaGFkb3dHcm91cCAmJiB0aGlzLnNoYWRvd0dyb3VwLmFuaW1hdGUodGhpcy5nZXRUcmFuc2xhdGUoKSk7CiAgICAgICAgICB9LCBlOwogICAgICAgIH0oZSksIHQoZS5wcm90b3R5cGUsIHsKICAgICAgICAgIGNvbm5lY3RvclNoYXBlczogewogICAgICAgICAgICBmaXhlZE9mZnNldDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgIHZhciBuID0gZS5icmVha0F0OwogICAgICAgICAgICAgIHJldHVybiBlID0gZS50b3VjaGluZ1NsaWNlQXQsIFtbIk0iLCB0LngsIHQueV0sIGkuc29mdENvbm5lY3RvciA/IFsiQyIsIHQueCArICgibGVmdCIgPT09IHQuYWxpZ25tZW50ID8gLTUgOiA1KSwgdC55LCAyICogbi54IC0gZS54LCAyICogbi55IC0gZS55LCBuLngsIG4ueV0gOiBbIkwiLCBuLngsIG4ueV0sIFsiTCIsIGUueCwgZS55XV07CiAgICAgICAgICAgIH0sIHN0cmFpZ2h0OiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGUgPSBlLnRvdWNoaW5nU2xpY2VBdCwgW1siTSIsIHQueCwgdC55XSwgWyJMIiwgZS54LCBlLnldXTsKICAgICAgICAgICAgfSwgY3Jvb2tlZExpbmU6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICBlID0gZS50b3VjaGluZ1NsaWNlQXQ7CiAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLnNlcmllcywgbyA9IG4uY2VudGVyWzBdLCByID0gbi5jaGFydC5wbG90V2lkdGgsIHMgPSBuLmNoYXJ0LnBsb3RMZWZ0OwogICAgICAgICAgICAgIG4gPSB0LmFsaWdubWVudDsKICAgICAgICAgICAgICB2YXIgYSA9IHRoaXMuc2hhcGVBcmdzLnI7CiAgICAgICAgICAgICAgcmV0dXJuIGkgPSBsKGkuY3Jvb2tEaXN0YW5jZSwgMSksIHIgPSAibGVmdCIgPT09IG4gPyBvICsgYSArIChyICsgcyAtIG8gLSBhKSAqICgxIC0gaSkgOiBzICsgKG8gLSBhKSAqIGksIGkgPSBbIkwiLCByLCB0LnldLCBvID0gITAsICgibGVmdCIgPT09IG4gPyByID4gdC54IHx8IHIgPCBlLnggOiByIDwgdC54IHx8IHIgPiBlLngpICYmIChvID0gITEpLCB0ID0gW1siTSIsIHQueCwgdC55XV0sIG8gJiYgdC5wdXNoKGkpLCB0LnB1c2goWyJMIiwgZS54LCBlLnldKSwgdDsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pLCBlOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9QaWUvUGllU2VyaWVzLmpzIiwgW2lbIlNlcmllcy9DZW50ZXJlZFV0aWxpdGllcy5qcyJdLCBpWyJTZXJpZXMvQ29sdW1uL0NvbHVtblNlcmllcy5qcyJdLCBpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9MZWdlbmQvTGVnZW5kU3ltYm9sLmpzIl0sIGlbIlNlcmllcy9QaWUvUGllUG9pbnQuanMiXSwgaVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1N5bWJvbHMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzLCBhLCBoKSB7CiAgICAgICAgdmFyIGwgPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKSwgYyA9IHQuZ2V0U3RhcnRBbmRFbmRSYWRpYW5zOwogICAgICAgIGkgPSBpLm5vb3A7CiAgICAgICAgdmFyIHAgPSBoLmNsYW1wLCBkID0gaC5leHRlbmQsIHUgPSBoLmZpcmVFdmVudCwgZiA9IGgubWVyZ2UsIGcgPSBoLnBpY2ssIG0gPSBoLnJlbGF0aXZlTGVuZ3RoOwogICAgICAgIHJldHVybiBoID0gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgICAgdmFyIGUgPSBudWxsICE9PSB0ICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgICAgICAgICByZXR1cm4gZS5jZW50ZXIgPSB2b2lkIDAsIGUuZGF0YSA9IHZvaWQgMCwgZS5tYXhMYWJlbERpc3RhbmNlID0gdm9pZCAwLCBlLm9wdGlvbnMgPSB2b2lkIDAsIGUucG9pbnRzID0gdm9pZCAwLCBlOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBsKGUsIHQpLCBlLnByb3RvdHlwZS5hbmltYXRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBlLnBvaW50cywgbiA9IGUuc3RhcnRBbmdsZVJhZDsKICAgICAgICAgICAgdCB8fCBpLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHQuZ3JhcGhpYywgbyA9IHQuc2hhcGVBcmdzOwogICAgICAgICAgICAgIGkgJiYgbyAmJiAoaS5hdHRyKHsgcjogZyh0LnN0YXJ0UiwgZS5jZW50ZXIgJiYgZS5jZW50ZXJbM10gLyAyKSwgc3RhcnQ6IG4sIGVuZDogbiB9KSwgaS5hbmltYXRlKHsKICAgICAgICAgICAgICAgIHI6IG8uciwKICAgICAgICAgICAgICAgIHN0YXJ0OiBvLnN0YXJ0LAogICAgICAgICAgICAgICAgZW5kOiBvLmVuZAogICAgICAgICAgICAgIH0sIGUub3B0aW9ucy5hbmltYXRpb24pKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZHJhd0VtcHR5ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5zdGFydEFuZ2xlUmFkLCBlID0gdGhpcy5lbmRBbmdsZVJhZCwgaSA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgaWYgKDAgPT09IHRoaXMudG90YWwgJiYgdGhpcy5jZW50ZXIpIHsKICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMuY2VudGVyWzBdLCBvID0gdGhpcy5jZW50ZXJbMV07CiAgICAgICAgICAgICAgdGhpcy5ncmFwaCB8fCAodGhpcy5ncmFwaCA9IHRoaXMuY2hhcnQucmVuZGVyZXIuYXJjKG4sIG8sIHRoaXMuY2VudGVyWzFdIC8gMiwgMCwgdCwgZSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtZW1wdHktc2VyaWVzIikuYWRkKHRoaXMuZ3JvdXApKSwgdGhpcy5ncmFwaC5hdHRyKHsKICAgICAgICAgICAgICAgIGQ6IGEuYXJjKG4sIG8sIHRoaXMuY2VudGVyWzJdIC8gMiwgMCwgewogICAgICAgICAgICAgICAgICBzdGFydDogdCwKICAgICAgICAgICAgICAgICAgZW5kOiBlLAogICAgICAgICAgICAgICAgICBpbm5lclI6IHRoaXMuY2VudGVyWzNdIC8gMgogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICB9KSwgdGhpcy5jaGFydC5zdHlsZWRNb2RlIHx8IHRoaXMuZ3JhcGguYXR0cih7ICJzdHJva2Utd2lkdGgiOiBpLmJvcmRlcldpZHRoLCBmaWxsOiBpLmZpbGxDb2xvciB8fCAibm9uZSIsIHN0cm9rZTogaS5jb2xvciB8fCAiI2NjY2NjYyIgfSk7CiAgICAgICAgICAgIH0gZWxzZSB0aGlzLmdyYXBoICYmICh0aGlzLmdyYXBoID0gdGhpcy5ncmFwaC5kZXN0cm95KCkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZHJhd1BvaW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQucmVuZGVyZXI7CiAgICAgICAgICAgIHRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBlLmdyYXBoaWMgJiYgZS5oYXNOZXdTaGFwZVR5cGUoKSAmJiAoZS5ncmFwaGljID0gZS5ncmFwaGljLmRlc3Ryb3koKSksIGUuZ3JhcGhpYyB8fCAoZS5ncmFwaGljID0gdFtlLnNoYXBlVHlwZV0oZS5zaGFwZUFyZ3MpLmFkZChlLnNlcmllcy5ncm91cCksIGUuZGVsYXllZFJlbmRlcmluZyA9ICEwKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2VuZXJhdGVQb2ludHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdC5wcm90b3R5cGUuZ2VuZXJhdGVQb2ludHMuY2FsbCh0aGlzKSwgdGhpcy51cGRhdGVUb3RhbHMoKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5jZW50ZXIsIG8gPSB0aGlzLnJhZGlpID8gdGhpcy5yYWRpaVtpLmluZGV4XSB8fCAwIDogblsyXSAvIDI7CiAgICAgICAgICAgIHJldHVybiB0ID0gTWF0aC5hc2luKHAoKHQgLSBuWzFdKSAvIChvICsgaS5sYWJlbERpc3RhbmNlKSwgLTEsIDEpKSwgblswXSArIChlID8gLTEgOiAxKSAqIE1hdGguY29zKHQpICogKG8gKyBpLmxhYmVsRGlzdGFuY2UpICsgKDAgPCBpLmxhYmVsRGlzdGFuY2UgPyAoZSA/IC0xIDogMSkgKiB0aGlzLm9wdGlvbnMuZGF0YUxhYmVscy5wYWRkaW5nIDogMCk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5oYXNEYXRhID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiAhIXRoaXMucHJvY2Vzc2VkWERhdGEubGVuZ3RoOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVkcmF3UG9pbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBlLCBpLCBuLCBvID0gdGhpcywgciA9IG8uY2hhcnQsIHMgPSByLnJlbmRlcmVyLCBhID0gby5vcHRpb25zLnNoYWRvdzsKICAgICAgICAgICAgdGhpcy5kcmF3RW1wdHkoKSwgIWEgfHwgby5zaGFkb3dHcm91cCB8fCByLnN0eWxlZE1vZGUgfHwgKG8uc2hhZG93R3JvdXAgPSBzLmcoInNoYWRvdyIpLmF0dHIoeyB6SW5kZXg6IC0xIH0pLmFkZChvLmdyb3VwKSksIG8ucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKGgpIHsKICAgICAgICAgICAgICB2YXIgbCA9IHt9OwogICAgICAgICAgICAgIGlmIChlID0gaC5ncmFwaGljLCAhaC5pc051bGwgJiYgZSkgewogICAgICAgICAgICAgICAgdmFyIGMgPSB2b2lkIDA7CiAgICAgICAgICAgICAgICBuID0gaC5zaGFwZUFyZ3MsIHQgPSBoLmdldFRyYW5zbGF0ZSgpLCByLnN0eWxlZE1vZGUgfHwgKGMgPSBoLnNoYWRvd0dyb3VwLCBhICYmICFjICYmIChjID0gaC5zaGFkb3dHcm91cCA9IHMuZygic2hhZG93IikuYWRkKG8uc2hhZG93R3JvdXApKSwgYyAmJiBjLmF0dHIodCksIGkgPSBvLnBvaW50QXR0cmlicyhoLCBoLnNlbGVjdGVkICYmICJzZWxlY3QiKSksIGguZGVsYXllZFJlbmRlcmluZyA/IChlLnNldFJhZGlhbFJlZmVyZW5jZShvLmNlbnRlcikuYXR0cihuKS5hdHRyKHQpLCByLnN0eWxlZE1vZGUgfHwgZS5hdHRyKGkpLmF0dHIoeyAic3Ryb2tlLWxpbmVqb2luIjogInJvdW5kIiB9KS5zaGFkb3coYSwgYyksIGguZGVsYXllZFJlbmRlcmluZyA9ICExKSA6IChlLnNldFJhZGlhbFJlZmVyZW5jZShvLmNlbnRlciksIHIuc3R5bGVkTW9kZSB8fCBmKCEwLCBsLCBpKSwgZighMCwgbCwgbiwgdCksIGUuYW5pbWF0ZShsKSksIGUuYXR0cih7IHZpc2liaWxpdHk6IGgudmlzaWJsZSA/ICJpbmhlcml0IiA6ICJoaWRkZW4iIH0pLCBlLmFkZENsYXNzKGguZ2V0Q2xhc3NOYW1lKCksICEwKTsKICAgICAgICAgICAgICB9IGVsc2UgZSAmJiAoaC5ncmFwaGljID0gZS5kZXN0cm95KCkpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zb3J0QnlBbmdsZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdC5zb3J0KChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgcmV0dXJuICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdC5hbmdsZSAmJiAoaS5hbmdsZSAtIHQuYW5nbGUpICogZTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudHJhbnNsYXRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0aGlzLmdlbmVyYXRlUG9pbnRzKCk7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5vcHRpb25zLCBpID0gZS5zbGljZWRPZmZzZXQsIG4gPSBpICsgKGUuYm9yZGVyV2lkdGggfHwgMCksIG8gPSBjKGUuc3RhcnRBbmdsZSwgZS5lbmRBbmdsZSksIHIgPSB0aGlzLnN0YXJ0QW5nbGVSYWQgPSBvLnN0YXJ0OwogICAgICAgICAgICBvID0gKHRoaXMuZW5kQW5nbGVSYWQgPSBvLmVuZCkgLSByOwogICAgICAgICAgICB2YXIgcyA9IHRoaXMucG9pbnRzLCBhID0gZS5kYXRhTGFiZWxzLmRpc3RhbmNlOwogICAgICAgICAgICBlID0gZS5pZ25vcmVIaWRkZW5Qb2ludDsKICAgICAgICAgICAgdmFyIGgsIGwgPSBzLmxlbmd0aCwgcCA9IDA7CiAgICAgICAgICAgIGZvciAodCB8fCAodGhpcy5jZW50ZXIgPSB0ID0gdGhpcy5nZXRDZW50ZXIoKSksIGggPSAwOyBoIDwgbDsgaCsrKSB7CiAgICAgICAgICAgICAgdmFyIGQgPSBzW2hdLCBmID0gciArIHAgKiBvOwogICAgICAgICAgICAgICFkLmlzVmFsaWQoKSB8fCBlICYmICFkLnZpc2libGUgfHwgKHAgKz0gZC5wZXJjZW50YWdlIC8gMTAwKTsKICAgICAgICAgICAgICB2YXIgeSA9IHIgKyBwICogbywgdiA9IHsgeDogdFswXSwgeTogdFsxXSwgcjogdFsyXSAvIDIsIGlubmVyUjogdFszXSAvIDIsIHN0YXJ0OiBNYXRoLnJvdW5kKDFlMyAqIGYpIC8gMWUzLCBlbmQ6IE1hdGgucm91bmQoMWUzICogeSkgLyAxZTMgfTsKICAgICAgICAgICAgICBkLnNoYXBlVHlwZSA9ICJhcmMiLCBkLnNoYXBlQXJncyA9IHYsIGQubGFiZWxEaXN0YW5jZSA9IGcoZC5vcHRpb25zLmRhdGFMYWJlbHMgJiYgZC5vcHRpb25zLmRhdGFMYWJlbHMuZGlzdGFuY2UsIGEpLCBkLmxhYmVsRGlzdGFuY2UgPSBtKGQubGFiZWxEaXN0YW5jZSwgdi5yKSwgdGhpcy5tYXhMYWJlbERpc3RhbmNlID0gTWF0aC5tYXgodGhpcy5tYXhMYWJlbERpc3RhbmNlIHx8IDAsIGQubGFiZWxEaXN0YW5jZSksIHkgPSAoeSArIGYpIC8gMiwgeSA+IDEuNSAqIE1hdGguUEkgPyB5IC09IDIgKiBNYXRoLlBJIDogeSA8IC1NYXRoLlBJIC8gMiAmJiAoeSArPSAyICogTWF0aC5QSSksIGQuc2xpY2VkVHJhbnNsYXRpb24gPSB7CiAgICAgICAgICAgICAgICB0cmFuc2xhdGVYOiBNYXRoLnJvdW5kKE1hdGguY29zKHkpICogaSksCiAgICAgICAgICAgICAgICB0cmFuc2xhdGVZOiBNYXRoLnJvdW5kKE1hdGguc2luKHkpICogaSkKICAgICAgICAgICAgICB9LCB2ID0gTWF0aC5jb3MoeSkgKiB0WzJdIC8gMjsKICAgICAgICAgICAgICB2YXIgeCA9IE1hdGguc2luKHkpICogdFsyXSAvIDI7CiAgICAgICAgICAgICAgZC50b29sdGlwUG9zID0gW3RbMF0gKyAuNyAqIHYsIHRbMV0gKyAuNyAqIHhdLCBkLmhhbGYgPSB5IDwgLU1hdGguUEkgLyAyIHx8IHkgPiBNYXRoLlBJIC8gMiA/IDEgOiAwLCBkLmFuZ2xlID0geSwgZiA9IE1hdGgubWluKG4sIGQubGFiZWxEaXN0YW5jZSAvIDUpLCBkLmxhYmVsUG9zaXRpb24gPSB7CiAgICAgICAgICAgICAgICBuYXR1cmFsOiB7CiAgICAgICAgICAgICAgICAgIHg6IHRbMF0gKyB2ICsgTWF0aC5jb3MoeSkgKiBkLmxhYmVsRGlzdGFuY2UsCiAgICAgICAgICAgICAgICAgIHk6IHRbMV0gKyB4ICsgTWF0aC5zaW4oeSkgKiBkLmxhYmVsRGlzdGFuY2UKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBmaW5hbDoge30sCiAgICAgICAgICAgICAgICBhbGlnbm1lbnQ6IDAgPiBkLmxhYmVsRGlzdGFuY2UgPyAiY2VudGVyIiA6IGQuaGFsZiA/ICJyaWdodCIgOiAibGVmdCIsCiAgICAgICAgICAgICAgICBjb25uZWN0b3JQb3NpdGlvbjogeyBicmVha0F0OiB7IHg6IHRbMF0gKyB2ICsgTWF0aC5jb3MoeSkgKiBmLCB5OiB0WzFdICsgeCArIE1hdGguc2luKHkpICogZiB9LCB0b3VjaGluZ1NsaWNlQXQ6IHsgeDogdFswXSArIHYsIHk6IHRbMV0gKyB4IH0gfQogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdSh0aGlzLCAiYWZ0ZXJUcmFuc2xhdGUiKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnVwZGF0ZVRvdGFscyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSA9IHRoaXMucG9pbnRzLCBpID0gZS5sZW5ndGgsIG4gPSB0aGlzLm9wdGlvbnMuaWdub3JlSGlkZGVuUG9pbnQsIG8gPSAwOwogICAgICAgICAgICBmb3IgKHQgPSAwOyB0IDwgaTsgdCsrKSB7CiAgICAgICAgICAgICAgdmFyIHIgPSBlW3RdOwogICAgICAgICAgICAgICFyLmlzVmFsaWQoKSB8fCBuICYmICFyLnZpc2libGUgfHwgKG8gKz0gci55KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKHRoaXMudG90YWwgPSBvLCB0ID0gMDsgdCA8IGk7IHQrKykgciA9IGVbdF0sIHIucGVyY2VudGFnZSA9IDAgPCBvICYmIChyLnZpc2libGUgfHwgIW4pID8gci55IC8gbyAqIDEwMCA6IDAsIHIudG90YWwgPSBvOwogICAgICAgICAgfSwgZS5kZWZhdWx0T3B0aW9ucyA9IGYoci5kZWZhdWx0T3B0aW9ucywgewogICAgICAgICAgICBjZW50ZXI6IFtudWxsLCBudWxsXSwKICAgICAgICAgICAgY2xpcDogITEsCiAgICAgICAgICAgIGNvbG9yQnlQb2ludDogITAsCiAgICAgICAgICAgIGRhdGFMYWJlbHM6IHsKICAgICAgICAgICAgICBhbGxvd092ZXJsYXA6ICEwLAogICAgICAgICAgICAgIGNvbm5lY3RvclBhZGRpbmc6IDUsCiAgICAgICAgICAgICAgY29ubmVjdG9yU2hhcGU6ICJmaXhlZE9mZnNldCIsCiAgICAgICAgICAgICAgY3Jvb2tEaXN0YW5jZTogIjcwJSIsCiAgICAgICAgICAgICAgZGlzdGFuY2U6IDMwLAogICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb2ludC5pc051bGwgPyB2b2lkIDAgOiB0aGlzLnBvaW50Lm5hbWU7CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBzb2Z0Q29ubmVjdG9yOiAhMCwKICAgICAgICAgICAgICB4OiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGZpbGxDb2xvcjogdm9pZCAwLAogICAgICAgICAgICBpZ25vcmVIaWRkZW5Qb2ludDogITAsCiAgICAgICAgICAgIGluYWN0aXZlT3RoZXJQb2ludHM6ICEwLAogICAgICAgICAgICBsZWdlbmRUeXBlOiAicG9pbnQiLAogICAgICAgICAgICBtYXJrZXI6IG51bGwsCiAgICAgICAgICAgIHNpemU6IG51bGwsCiAgICAgICAgICAgIHNob3dJbkxlZ2VuZDogITEsCiAgICAgICAgICAgIHNsaWNlZE9mZnNldDogMTAsCiAgICAgICAgICAgIHN0aWNreVRyYWNraW5nOiAhMSwKICAgICAgICAgICAgdG9vbHRpcDogeyBmb2xsb3dQb2ludGVyOiAhMCB9LAogICAgICAgICAgICBib3JkZXJDb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgbGluZVdpZHRoOiB2b2lkIDAsCiAgICAgICAgICAgIHN0YXRlczogeyBob3ZlcjogeyBicmlnaHRuZXNzOiAuMSB9IH0KICAgICAgICAgIH0pLCBlOwogICAgICAgIH0ociksIGQoaC5wcm90b3R5cGUsIHsKICAgICAgICAgIGF4aXNUeXBlczogW10sCiAgICAgICAgICBkaXJlY3RUb3VjaDogITAsCiAgICAgICAgICBkcmF3R3JhcGg6IHZvaWQgMCwKICAgICAgICAgIGRyYXdMZWdlbmRTeW1ib2w6IG4uZHJhd1JlY3RhbmdsZSwKICAgICAgICAgIGRyYXdUcmFja2VyOiBlLnByb3RvdHlwZS5kcmF3VHJhY2tlciwKICAgICAgICAgIGdldENlbnRlcjogdC5nZXRDZW50ZXIsCiAgICAgICAgICBnZXRTeW1ib2w6IGksCiAgICAgICAgICBpc0NhcnRlc2lhbjogITEsCiAgICAgICAgICBub1NoYXJlZFRvb2x0aXA6ICEwLAogICAgICAgICAgcG9pbnRBdHRyaWJzOiBlLnByb3RvdHlwZS5wb2ludEF0dHJpYnMsCiAgICAgICAgICBwb2ludENsYXNzOiBvLAogICAgICAgICAgcmVxdWlyZVNvcnRpbmc6ICExLAogICAgICAgICAgc2VhcmNoUG9pbnQ6IGksCiAgICAgICAgICB0cmFja2VyR3JvdXBzOiBbImdyb3VwIiwgImRhdGFMYWJlbHNHcm91cCJdCiAgICAgICAgfSksIHMucmVnaXN0ZXJTZXJpZXNUeXBlKCJwaWUiLCBoKSwgaDsKICAgICAgfSkpLCBlKGksICJTZXJpZXMvUGllL1BpZURhdGFMYWJlbC5qcyIsIFtpWyJDb3JlL1Nlcmllcy9EYXRhTGFiZWwuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJVdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvKSB7CiAgICAgICAgdmFyIHIsIHMgPSBlLm5vb3AsIGEgPSBpLmRpc3RyaWJ1dGUsIGggPSBuLnNlcmllcywgbCA9IG8uYXJyYXlNYXgsIGMgPSBvLmNsYW1wLCBwID0gby5kZWZpbmVkLCBkID0gby5tZXJnZSwgdSA9IG8ucGljaywgZiA9IG8ucmVsYXRpdmVMZW5ndGg7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIGZ1bmN0aW9uIGkoKSB7CiAgICAgICAgICAgIHZhciB0LCBlLCBpLCBuLCBvLCByLCBzLCBjLCBmLCBnLCBtLCB5LCB2ID0gdGhpcywgeCA9IHYuZGF0YSwgYiA9IHYuY2hhcnQsIF8gPSB2Lm9wdGlvbnMuZGF0YUxhYmVscyB8fCB7fSwgdyA9IF8uY29ubmVjdG9yUGFkZGluZywgayA9IGIucGxvdFdpZHRoLAogICAgICAgICAgICAgIFMgPSBiLnBsb3RIZWlnaHQsIEMgPSBiLnBsb3RMZWZ0LCBNID0gTWF0aC5yb3VuZChiLmNoYXJ0V2lkdGggLyAzKSwgQSA9IHYuY2VudGVyLCBQID0gQVsyXSAvIDIsIE8gPSBBWzFdLCBUID0gW1tdLCBbXV0sIEUgPSBbMCwgMCwgMCwgMF0sCiAgICAgICAgICAgICAgTCA9IHYuZGF0YUxhYmVsUG9zaXRpb25lcnM7CiAgICAgICAgICAgIHYudmlzaWJsZSAmJiAoXy5lbmFibGVkIHx8IHYuX2hhc1BvaW50TGFiZWxzKSAmJiAoeC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC5kYXRhTGFiZWwgJiYgdC52aXNpYmxlICYmIHQuZGF0YUxhYmVsLnNob3J0ZW5lZCAmJiAodC5kYXRhTGFiZWwuYXR0cih7IHdpZHRoOiAiYXV0byIgfSkuY3NzKHsKICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICB0ZXh0T3ZlcmZsb3c6ICJjbGlwIgogICAgICAgICAgICAgIH0pLCB0LmRhdGFMYWJlbC5zaG9ydGVuZWQgPSAhMSk7CiAgICAgICAgICAgIH0pKSwgaC5wcm90b3R5cGUuZHJhd0RhdGFMYWJlbHMuYXBwbHkodiksIHguZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuZGF0YUxhYmVsICYmICh0LnZpc2libGUgPyAoVFt0LmhhbGZdLnB1c2godCksIHQuZGF0YUxhYmVsLl9wb3MgPSBudWxsLCAhcChfLnN0eWxlLndpZHRoKSAmJiAhcCh0Lm9wdGlvbnMuZGF0YUxhYmVscyAmJiB0Lm9wdGlvbnMuZGF0YUxhYmVscy5zdHlsZSAmJiB0Lm9wdGlvbnMuZGF0YUxhYmVscy5zdHlsZS53aWR0aCkgJiYgdC5kYXRhTGFiZWwuZ2V0QkJveCgpLndpZHRoID4gTSAmJiAodC5kYXRhTGFiZWwuY3NzKHsgd2lkdGg6IE1hdGgucm91bmQoLjcgKiBNKSArICJweCIgfSksIHQuZGF0YUxhYmVsLnNob3J0ZW5lZCA9ICEwKSkgOiAodC5kYXRhTGFiZWwgPSB0LmRhdGFMYWJlbC5kZXN0cm95KCksIHQuZGF0YUxhYmVscyAmJiAxID09PSB0LmRhdGFMYWJlbHMubGVuZ3RoICYmIGRlbGV0ZSB0LmRhdGFMYWJlbHMpKTsKICAgICAgICAgICAgfSkpLCBULmZvckVhY2goKGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICB2YXIgaCwgbCA9IGUubGVuZ3RoLCBkID0gW107CiAgICAgICAgICAgICAgaWYgKGwpIHsKICAgICAgICAgICAgICAgIGlmICh2LnNvcnRCeUFuZ2xlKGUsIGkgLSAuNSksIDAgPCB2Lm1heExhYmVsRGlzdGFuY2UpIHsKICAgICAgICAgICAgICAgICAgdmFyIHggPSBNYXRoLm1heCgwLCBPIC0gUCAtIHYubWF4TGFiZWxEaXN0YW5jZSksIE0gPSBNYXRoLm1pbihPICsgUCArIHYubWF4TGFiZWxEaXN0YW5jZSwgYi5wbG90SGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgZS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgMCA8IHQubGFiZWxEaXN0YW5jZSAmJiB0LmRhdGFMYWJlbCAmJiAodC50b3AgPSBNYXRoLm1heCgwLCBPIC0gUCAtIHQubGFiZWxEaXN0YW5jZSksIHQuYm90dG9tID0gTWF0aC5taW4oTyArIFAgKyB0LmxhYmVsRGlzdGFuY2UsIGIucGxvdEhlaWdodCksIGggPSB0LmRhdGFMYWJlbC5nZXRCQm94KCkuaGVpZ2h0IHx8IDIxLCB0LmRpc3RyaWJ1dGVCb3ggPSB7CiAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IHQubGFiZWxQb3NpdGlvbi5uYXR1cmFsLnkgLSB0LnRvcCArIGggLyAyLAogICAgICAgICAgICAgICAgICAgICAgc2l6ZTogaCwKICAgICAgICAgICAgICAgICAgICAgIHJhbms6IHQueQogICAgICAgICAgICAgICAgICAgIH0sIGQucHVzaCh0LmRpc3RyaWJ1dGVCb3gpKTsKICAgICAgICAgICAgICAgICAgfSkpLCB4ID0gTSArIGggLSB4LCBhKGQsIHgsIHggLyA1KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvciAobSA9IDA7IG0gPCBsOyBtKyspIHsKICAgICAgICAgICAgICAgICAgaWYgKHQgPSBlW21dLCByID0gdC5sYWJlbFBvc2l0aW9uLCBuID0gdC5kYXRhTGFiZWwsIGcgPSAhMSA9PT0gdC52aXNpYmxlID8gImhpZGRlbiIgOiAiaW5oZXJpdCIsIGYgPSB4ID0gci5uYXR1cmFsLnksIGQgJiYgcCh0LmRpc3RyaWJ1dGVCb3gpICYmICgidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHQuZGlzdHJpYnV0ZUJveC5wb3MgPyBnID0gImhpZGRlbiIgOiAocyA9IHQuZGlzdHJpYnV0ZUJveC5zaXplLCBmID0gTC5yYWRpYWxEaXN0cmlidXRpb25ZKHQpKSksIGRlbGV0ZSB0LnBvc2l0aW9uSW5kZXgsIF8uanVzdGlmeSkgYyA9IEwuanVzdGlmeSh0LCBQLCBBKTsgZWxzZSBzd2l0Y2ggKF8uYWxpZ25UbykgewogICAgICAgICAgICAgICAgICAgIGNhc2UiY29ubmVjdG9ycyI6CiAgICAgICAgICAgICAgICAgICAgICBjID0gTC5hbGlnblRvQ29ubmVjdG9ycyhlLCBpLCBrLCBDKTsKICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UicGxvdEVkZ2VzIjoKICAgICAgICAgICAgICAgICAgICAgIGMgPSBMLmFsaWduVG9QbG90RWRnZXMobiwgaSwgaywgQyk7CiAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICAgYyA9IEwucmFkaWFsRGlzdHJpYnV0aW9uWCh2LCB0LCBmLCB4KTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBuLl9hdHRyID0geyB2aXNpYmlsaXR5OiBnLCBhbGlnbjogci5hbGlnbm1lbnQgfSwgeSA9IHQub3B0aW9ucy5kYXRhTGFiZWxzIHx8IHt9LCBuLl9wb3MgPSB7CiAgICAgICAgICAgICAgICAgICAgeDogYyArIHUoeS54LCBfLngpICsgKHsKICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHcsCiAgICAgICAgICAgICAgICAgICAgICByaWdodDogLXcKICAgICAgICAgICAgICAgICAgICB9W3IuYWxpZ25tZW50XSB8fCAwKSwgeTogZiArIHUoeS55LCBfLnkpIC0gMTAKICAgICAgICAgICAgICAgICAgfSwgci5maW5hbC54ID0gYywgci5maW5hbC55ID0gZiwgdShfLmNyb3AsICEwKSAmJiAobyA9IG4uZ2V0QkJveCgpLndpZHRoLCB4ID0gbnVsbCwgYyAtIG8gPCB3ICYmIDEgPT09IGkgPyAoeCA9IE1hdGgucm91bmQobyAtIGMgKyB3KSwgRVszXSA9IE1hdGgubWF4KHgsIEVbM10pKSA6IGMgKyBvID4gayAtIHcgJiYgMCA9PT0gaSAmJiAoeCA9IE1hdGgucm91bmQoYyArIG8gLSBrICsgdyksIEVbMV0gPSBNYXRoLm1heCh4LCBFWzFdKSksIDAgPiBmIC0gcyAvIDIgPyBFWzBdID0gTWF0aC5tYXgoTWF0aC5yb3VuZChzIC8gMiAtIGYpLCBFWzBdKSA6IGYgKyBzIC8gMiA+IFMgJiYgKEVbMl0gPSBNYXRoLm1heChNYXRoLnJvdW5kKGYgKyBzIC8gMiAtIFMpLCBFWzJdKSksIG4uc2lkZU92ZXJmbG93ID0geCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSksIDAgPT09IGwoRSkgfHwgdGhpcy52ZXJpZnlEYXRhTGFiZWxPdmVyZmxvdyhFKSkgJiYgKHRoaXMucGxhY2VEYXRhTGFiZWxzKCksIHRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgbzsKICAgICAgICAgICAgICAoeSA9IGQoXywgdC5vcHRpb25zLmRhdGFMYWJlbHMpLCBlID0gdSh5LmNvbm5lY3RvcldpZHRoLCAxKSkgJiYgKGkgPSB0LmNvbm5lY3RvciwgKG4gPSB0LmRhdGFMYWJlbCkgJiYgbi5fcG9zICYmIHQudmlzaWJsZSAmJiAwIDwgdC5sYWJlbERpc3RhbmNlID8gKGcgPSBuLl9hdHRyLnZpc2liaWxpdHksIChvID0gIWkpICYmICh0LmNvbm5lY3RvciA9IGkgPSBiLnJlbmRlcmVyLnBhdGgoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1kYXRhLWxhYmVsLWNvbm5lY3RvciAgaGlnaGNoYXJ0cy1jb2xvci0iICsgdC5jb2xvckluZGV4ICsgKHQuY2xhc3NOYW1lID8gIiAiICsgdC5jbGFzc05hbWUgOiAiIikpLmFkZCh2LmRhdGFMYWJlbHNHcm91cCksIGIuc3R5bGVkTW9kZSB8fCBpLmF0dHIoewogICAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IGUsCiAgICAgICAgICAgICAgICBzdHJva2U6IHkuY29ubmVjdG9yQ29sb3IgfHwgdC5jb2xvciB8fCAiIzY2NjY2NiIKICAgICAgICAgICAgICB9KSksIGlbbyA/ICJhdHRyIiA6ICJhbmltYXRlIl0oeyBkOiB0LmdldENvbm5lY3RvclBhdGgoKSB9KSwgaS5hdHRyKCJ2aXNpYmlsaXR5IiwgZykpIDogaSAmJiAodC5jb25uZWN0b3IgPSBpLmRlc3Ryb3koKSkpOwogICAgICAgICAgICB9KSkpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgIHRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSwgaSA9IHQuZGF0YUxhYmVsOwogICAgICAgICAgICAgIGkgJiYgdC52aXNpYmxlICYmICgoZSA9IGkuX3BvcykgPyAoaS5zaWRlT3ZlcmZsb3cgJiYgKGkuX2F0dHIud2lkdGggPSBNYXRoLm1heChpLmdldEJCb3goKS53aWR0aCAtIGkuc2lkZU92ZXJmbG93LCAwKSwgaS5jc3MoewogICAgICAgICAgICAgICAgd2lkdGg6IGkuX2F0dHIud2lkdGggKyAicHgiLAogICAgICAgICAgICAgICAgdGV4dE92ZXJmbG93OiAodGhpcy5vcHRpb25zLmRhdGFMYWJlbHMuc3R5bGUgfHwge30pLnRleHRPdmVyZmxvdyB8fCAiZWxsaXBzaXMiCiAgICAgICAgICAgICAgfSksIGkuc2hvcnRlbmVkID0gITApLCBpLmF0dHIoaS5fYXR0ciksIGlbaS5tb3ZlZCA/ICJhbmltYXRlIiA6ICJhdHRyIl0oZSksIGkubW92ZWQgPSAhMCkgOiBpICYmIGkuYXR0cih7IHk6IC05OTk5IH0pKSwgZGVsZXRlIHQuZGlzdHJpYnV0ZUJveDsKICAgICAgICAgICAgfSksIHRoaXMpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIG8odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2VudGVyLCBpID0gdGhpcy5vcHRpb25zLCBuID0gaS5jZW50ZXIsIG8gPSBpLm1pblNpemUgfHwgODAsIHIgPSBudWxsICE9PSBpLnNpemU7CiAgICAgICAgICAgIGlmICghcikgewogICAgICAgICAgICAgIGlmIChudWxsICE9PSBuWzBdKSB2YXIgcyA9IE1hdGgubWF4KGVbMl0gLSBNYXRoLm1heCh0WzFdLCB0WzNdKSwgbyk7IGVsc2UgcyA9IE1hdGgubWF4KGVbMl0gLSB0WzFdIC0gdFszXSwgbyksIGVbMF0gKz0gKHRbM10gLSB0WzFdKSAvIDI7CiAgICAgICAgICAgICAgbnVsbCAhPT0gblsxXSA/IHMgPSBjKHMsIG8sIGVbMl0gLSBNYXRoLm1heCh0WzBdLCB0WzJdKSkgOiAocyA9IGMocywgbywgZVsyXSAtIHRbMF0gLSB0WzJdKSwgZVsxXSArPSAodFswXSAtIHRbMl0pIC8gMiksIHMgPCBlWzJdID8gKGVbMl0gPSBzLCBlWzNdID0gTWF0aC5taW4oZihpLmlubmVyU2l6ZSB8fCAwLCBzKSwgcyksIHRoaXMudHJhbnNsYXRlKGUpLCB0aGlzLmRyYXdEYXRhTGFiZWxzICYmIHRoaXMuZHJhd0RhdGFMYWJlbHMoKSkgOiByID0gITA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHI7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIHIgPSBbXSwgZyA9IHsKICAgICAgICAgICAgcmFkaWFsRGlzdHJpYnV0aW9uWTogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiB0LnRvcCArIHQuZGlzdHJpYnV0ZUJveC5wb3M7CiAgICAgICAgICAgIH0sIHJhZGlhbERpc3RyaWJ1dGlvblg6IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICByZXR1cm4gdC5nZXRYKGkgPCBlLnRvcCArIDIgfHwgaSA+IGUuYm90dG9tIC0gMiA/IG4gOiBpLCBlLmhhbGYsIGUpOwogICAgICAgICAgICB9LCBqdXN0aWZ5OiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGlbMF0gKyAodC5oYWxmID8gLTEgOiAxKSAqIChlICsgdC5sYWJlbERpc3RhbmNlKTsKICAgICAgICAgICAgfSwgYWxpZ25Ub1Bsb3RFZGdlczogZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgIHJldHVybiB0ID0gdC5nZXRCQm94KCkud2lkdGgsIGUgPyB0ICsgbiA6IGkgLSB0IC0gbjsKICAgICAgICAgICAgfSwgYWxpZ25Ub0Nvbm5lY3RvcnM6IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICB2YXIgbywgciA9IDA7CiAgICAgICAgICAgICAgcmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgbyA9IHQuZGF0YUxhYmVsLmdldEJCb3goKS53aWR0aCwgbyA+IHIgJiYgKHIgPSBvKTsKICAgICAgICAgICAgICB9KSksIGUgPyByICsgbiA6IGkgLSByIC0gbjsKICAgICAgICAgICAgfQogICAgICAgICAgfTsKICAgICAgICAgIGUuY29tcG9zZSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdC5jb21wb3NlKGgpLCAtMSA9PT0gci5pbmRleE9mKGUpICYmIChyLnB1c2goZSksIGUgPSBlLnByb3RvdHlwZSwgZS5kYXRhTGFiZWxQb3NpdGlvbmVycyA9IGcsIGUuYWxpZ25EYXRhTGFiZWwgPSBzLCBlLmRyYXdEYXRhTGFiZWxzID0gaSwgZS5wbGFjZURhdGFMYWJlbHMgPSBuLCBlLnZlcmlmeURhdGFMYWJlbE92ZXJmbG93ID0gbyk7CiAgICAgICAgICB9OwogICAgICAgIH0ociB8fCAociA9IHt9KSksIHI7CiAgICAgIH0pKSwgZShpLCAiRXh0ZW5zaW9ucy9PdmVybGFwcGluZ0RhdGFMYWJlbHMuanMiLCBbaVsiQ29yZS9DaGFydC9DaGFydC5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICBmdW5jdGlvbiBpKHQsIGUpIHsKICAgICAgICAgIHZhciBpID0gITE7CiAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICB2YXIgbiA9IHQubmV3T3BhY2l0eTsKICAgICAgICAgICAgdC5vbGRPcGFjaXR5ICE9PSBuICYmICh0LmFsaWduQXR0ciAmJiB0LnBsYWNlZCA/ICh0W24gPyAicmVtb3ZlQ2xhc3MiIDogImFkZENsYXNzIl0oImhpZ2hjaGFydHMtZGF0YS1sYWJlbC1oaWRkZW4iKSwgaSA9ICEwLCB0LmFsaWduQXR0ci5vcGFjaXR5ID0gbiwgdFt0LmlzT2xkID8gImFuaW1hdGUiIDogImF0dHIiXSh0LmFsaWduQXR0ciwgbnVsbCwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGUuc3R5bGVkTW9kZSB8fCB0LmNzcyh7IHBvaW50ZXJFdmVudHM6IG4gPyAiYXV0byIgOiAibm9uZSIgfSk7CiAgICAgICAgICAgIH0pKSwgbyhlLCAiYWZ0ZXJIaWRlT3ZlcmxhcHBpbmdMYWJlbCIpKSA6IHQuYXR0cih7IG9wYWNpdHk6IG4gfSkpLCB0LmlzT2xkID0gITA7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9CgogICAgICAgIHZhciBuID0gZS5hZGRFdmVudCwgbyA9IGUuZmlyZUV2ZW50LCByID0gZS5pc0FycmF5LCBzID0gZS5pc051bWJlciwgYSA9IGUub2JqZWN0RWFjaCwgaCA9IGUucGljazsKICAgICAgICBuKHQsICJyZW5kZXIiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSBbXTsKICAgICAgICAgICh0aGlzLmxhYmVsQ29sbGVjdG9ycyB8fCBbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICBlID0gZS5jb25jYXQodCgpKTsKICAgICAgICAgIH0pKSwgKHRoaXMueUF4aXMgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdC5zdGFja2luZyAmJiB0Lm9wdGlvbnMuc3RhY2tMYWJlbHMgJiYgIXQub3B0aW9ucy5zdGFja0xhYmVscy5hbGxvd092ZXJsYXAgJiYgYSh0LnN0YWNraW5nLnN0YWNrcywgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBhKHQsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LmxhYmVsICYmICJoaWRkZW4iICE9PSB0LmxhYmVsLnZpc2liaWxpdHkgJiYgZS5wdXNoKHQubGFiZWwpOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSkpLCAodGhpcy5zZXJpZXMgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgdmFyIG8gPSBuLm9wdGlvbnMuZGF0YUxhYmVsczsKICAgICAgICAgICAgbi52aXNpYmxlICYmICghMSAhPT0gby5lbmFibGVkIHx8IG4uX2hhc1BvaW50TGFiZWxzKSAmJiAobyA9IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgICByZXR1cm4gbi5mb3JFYWNoKChmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgICBuLnZpc2libGUgJiYgKHIobi5kYXRhTGFiZWxzKSA/IG4uZGF0YUxhYmVscyA6IG4uZGF0YUxhYmVsID8gW24uZGF0YUxhYmVsXSA6IFtdKS5mb3JFYWNoKChmdW5jdGlvbihvKSB7CiAgICAgICAgICAgICAgICAgIHZhciByID0gby5vcHRpb25zOwogICAgICAgICAgICAgICAgICBvLmxhYmVscmFuayA9IGgoci5sYWJlbHJhbmssIG4ubGFiZWxyYW5rLCBuLnNoYXBlQXJncyAmJiBuLnNoYXBlQXJncy5oZWlnaHQpLCByLmFsbG93T3ZlcmxhcCA/IChvLm9sZE9wYWNpdHkgPSBvLm9wYWNpdHksIG8ubmV3T3BhY2l0eSA9IDEsIGkobywgdCkpIDogZS5wdXNoKG8pOwogICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSwgbyhuLm5vZGVzIHx8IFtdKSwgbyhuLnBvaW50cykpOwogICAgICAgICAgfSkpLCB0aGlzLmhpZGVPdmVybGFwcGluZ0xhYmVscyhlKTsKICAgICAgICB9KSksIHQucHJvdG90eXBlLmhpZGVPdmVybGFwcGluZ0xhYmVscyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHZhciBlLCBuLCByLCBhID0gdGhpcywgaCA9IHQubGVuZ3RoLCBsID0gYS5yZW5kZXJlciwgYyA9ICExLCBwID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSwgaSwgbiA9IHQuYm94ID8gMCA6IHQucGFkZGluZyB8fCAwLCBvID0gZSA9IDA7CiAgICAgICAgICAgIGlmICh0ICYmICghdC5hbGlnbkF0dHIgfHwgdC5wbGFjZWQpKSB7CiAgICAgICAgICAgICAgdmFyIHIgPSB0LmFsaWduQXR0ciB8fCB7IHg6IHQuYXR0cigieCIpLCB5OiB0LmF0dHIoInkiKSB9LCBhID0gdC5wYXJlbnRHcm91cDsKICAgICAgICAgICAgICB0LndpZHRoIHx8IChlID0gdC5nZXRCQm94KCksIHQud2lkdGggPSBlLndpZHRoLCB0LmhlaWdodCA9IGUuaGVpZ2h0LCBlID0gbC5mb250TWV0cmljcyhudWxsLCB0LmVsZW1lbnQpLmgpOwogICAgICAgICAgICAgIHZhciBoID0gdC53aWR0aCAtIDIgKiBuOwogICAgICAgICAgICAgIHJldHVybiAoaSA9IHsKICAgICAgICAgICAgICAgIGxlZnQ6ICIwIiwKICAgICAgICAgICAgICAgIGNlbnRlcjogIjAuNSIsCiAgICAgICAgICAgICAgICByaWdodDogIjEiCiAgICAgICAgICAgICAgfVt0LmFsaWduVmFsdWVdKSA/IG8gPSAraSAqIGggOiBzKHQueCkgJiYgTWF0aC5yb3VuZCh0LngpICE9PSB0LnRyYW5zbGF0ZVggJiYgKG8gPSB0LnggLSB0LnRyYW5zbGF0ZVgpLCB7CiAgICAgICAgICAgICAgICB4OiByLnggKyAoYS50cmFuc2xhdGVYIHx8IDApICsgbiAtIChvIHx8IDApLAogICAgICAgICAgICAgICAgeTogci55ICsgKGEudHJhbnNsYXRlWSB8fCAwKSArIG4gLSBlLAogICAgICAgICAgICAgICAgd2lkdGg6IHQud2lkdGggLSAyICogbiwKICAgICAgICAgICAgICAgIGhlaWdodDogdC5oZWlnaHQgLSAyICogbgogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgICBmb3IgKG4gPSAwOyBuIDwgaDsgbisrKSAoZSA9IHRbbl0pICYmIChlLm9sZE9wYWNpdHkgPSBlLm9wYWNpdHksIGUubmV3T3BhY2l0eSA9IDEsIGUuYWJzb2x1dGVCb3ggPSBwKGUpKTsKICAgICAgICAgIGZvciAodC5zb3J0KChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHJldHVybiAoZS5sYWJlbHJhbmsgfHwgMCkgLSAodC5sYWJlbHJhbmsgfHwgMCk7CiAgICAgICAgICB9KSksIG4gPSAwOyBuIDwgaDsgbisrKSB7CiAgICAgICAgICAgIHZhciBkID0gKHAgPSB0W25dKSAmJiBwLmFic29sdXRlQm94OwogICAgICAgICAgICBmb3IgKGUgPSBuICsgMTsgZSA8IGg7ICsrZSkgewogICAgICAgICAgICAgIHZhciB1ID0gKHIgPSB0W2VdKSAmJiByLmFic29sdXRlQm94OwogICAgICAgICAgICAgICFkIHx8ICF1IHx8IHAgPT09IHIgfHwgMCA9PT0gcC5uZXdPcGFjaXR5IHx8IDAgPT09IHIubmV3T3BhY2l0eSB8fCB1LnggPj0gZC54ICsgZC53aWR0aCB8fCB1LnggKyB1LndpZHRoIDw9IGQueCB8fCB1LnkgPj0gZC55ICsgZC5oZWlnaHQgfHwgdS55ICsgdS5oZWlnaHQgPD0gZC55IHx8ICgocC5sYWJlbHJhbmsgPCByLmxhYmVscmFuayA/IHAgOiByKS5uZXdPcGFjaXR5ID0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIHQuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICBpKHQsIGEpICYmIChjID0gITApOwogICAgICAgICAgfSkpLCBjICYmIG8oYSwgImFmdGVySGlkZUFsbE92ZXJsYXBwaW5nTGFiZWxzIik7CiAgICAgICAgfTsKICAgICAgfSkpLCBlKGksICJDb3JlL1Jlc3BvbnNpdmUuanMiLCBbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUsIGkgPSB0LmV4dGVuZCwgbiA9IHQuZmluZCwgbyA9IHQuaXNBcnJheSwgciA9IHQuaXNPYmplY3QsIHMgPSB0Lm1lcmdlLCBhID0gdC5vYmplY3RFYWNoLCBoID0gdC5waWNrLCBsID0gdC5zcGxhdCwgYyA9IHQudW5pcXVlS2V5OwogICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgZSA9IFtdOwogICAgICAgICAgdC5jb21wb3NlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gLTEgPT09IGUuaW5kZXhPZih0KSAmJiAoZS5wdXNoKHQpLCBpKHQucHJvdG90eXBlLCBwLnByb3RvdHlwZSkpLCB0OwogICAgICAgICAgfTsKICAgICAgICAgIHZhciBwID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHQoKSB7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5jdXJyZW50T3B0aW9ucyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBmdW5jdGlvbiBlKHQsIG4sIHMsIGgpIHsKICAgICAgICAgICAgICAgIHZhciBjOwogICAgICAgICAgICAgICAgYSh0LCAoZnVuY3Rpb24odCwgYSkgewogICAgICAgICAgICAgICAgICBpZiAoIWggJiYgLTEgPCBpLmNvbGxlY3Rpb25zV2l0aFVwZGF0ZS5pbmRleE9mKGEpICYmIG5bYV0pIGZvciAodCA9IGwodCksIHNbYV0gPSBbXSwgYyA9IDA7IGMgPCBNYXRoLm1heCh0Lmxlbmd0aCwgblthXS5sZW5ndGgpOyBjKyspIG5bYV1bY10gJiYgKHZvaWQgMCA9PT0gdFtjXSA/IHNbYV1bY10gPSBuW2FdW2NdIDogKHNbYV1bY10gPSB7fSwgZSh0W2NdLCBuW2FdW2NdLCBzW2FdW2NdLCBoICsgMSkpKTsgZWxzZSByKHQpID8gKHNbYV0gPSBvKHQpID8gW10gOiB7fSwgZSh0LCBuW2FdIHx8IHt9LCBzW2FdLCBoICsgMSkpIDogc1thXSA9ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgblthXSA/IG51bGwgOiBuW2FdOwogICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzLCBuID0ge307CiAgICAgICAgICAgICAgcmV0dXJuIGUodCwgdGhpcy5vcHRpb25zLCBuLCAwKSwgbjsKICAgICAgICAgICAgfSwgdC5wcm90b3R5cGUubWF0Y2hSZXNwb25zaXZlUnVsZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHQuY29uZGl0aW9uOwogICAgICAgICAgICAgIChpLmNhbGxiYWNrIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hhcnRXaWR0aCA8PSBoKGkubWF4V2lkdGgsIE51bWJlci5NQVhfVkFMVUUpICYmIHRoaXMuY2hhcnRIZWlnaHQgPD0gaChpLm1heEhlaWdodCwgTnVtYmVyLk1BWF9WQUxVRSkgJiYgdGhpcy5jaGFydFdpZHRoID49IGgoaS5taW5XaWR0aCwgMCkgJiYgdGhpcy5jaGFydEhlaWdodCA+PSBoKGkubWluSGVpZ2h0LCAwKTsKICAgICAgICAgICAgICB9KS5jYWxsKHRoaXMpICYmIGUucHVzaCh0Ll9pZCk7CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldFJlc3BvbnNpdmUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzLCBvID0gdGhpcy5vcHRpb25zLnJlc3BvbnNpdmUsIHIgPSB0aGlzLmN1cnJlbnRSZXNwb25zaXZlLCBhID0gW107CiAgICAgICAgICAgICAgIWUgJiYgbyAmJiBvLnJ1bGVzICYmIG8ucnVsZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0Ll9pZCAmJiAodC5faWQgPSBjKCkpLCBpLm1hdGNoUmVzcG9uc2l2ZVJ1bGUodCwgYSk7CiAgICAgICAgICAgICAgfSksIHRoaXMpLCBlID0gcy5hcHBseSh2b2lkIDAsIGEubWFwKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbigobyB8fCB7fSkucnVsZXMgfHwgW10sIChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBlLl9pZCA9PT0gdDsKICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICB9KSkubWFwKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdCAmJiB0LmNoYXJ0T3B0aW9uczsKICAgICAgICAgICAgICB9KSkpLCBlLmlzUmVzcG9uc2l2ZU9wdGlvbnMgPSAhMCwgYSA9IGEudG9TdHJpbmcoKSB8fCB2b2lkIDAsIGEgIT09IChyICYmIHIucnVsZUlkcykgJiYgKHIgJiYgdGhpcy51cGRhdGUoci51bmRvT3B0aW9ucywgdCwgITApLCBhID8gKHIgPSB0aGlzLmN1cnJlbnRPcHRpb25zKGUpLCByLmlzUmVzcG9uc2l2ZU9wdGlvbnMgPSAhMCwgdGhpcy5jdXJyZW50UmVzcG9uc2l2ZSA9IHsKICAgICAgICAgICAgICAgIHJ1bGVJZHM6IGEsCiAgICAgICAgICAgICAgICBtZXJnZWRPcHRpb25zOiBlLAogICAgICAgICAgICAgICAgdW5kb09wdGlvbnM6IHIKICAgICAgICAgICAgICB9LCB0aGlzLnVwZGF0ZShlLCB0LCAhMCkpIDogdGhpcy5jdXJyZW50UmVzcG9uc2l2ZSA9IHZvaWQgMCk7CiAgICAgICAgICAgIH0sIHQ7CiAgICAgICAgICB9KCk7CiAgICAgICAgfShlIHx8IChlID0ge30pKSwgZTsKICAgICAgfSkpLCBlKGksICJtYXN0ZXJzL2hpZ2hjaGFydHMuc3JjLmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdLCBpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0sIGlbIkNvcmUvQW5pbWF0aW9uL0Z4LmpzIl0sIGlbIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0sIGlbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJVdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHRWxlbWVudC5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdSZW5kZXJlci5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL0hUTUwvSFRNTEVsZW1lbnQuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9IVE1ML0hUTUxSZW5kZXJlci5qcyJdLCBpWyJDb3JlL0F4aXMvQXhpcy5qcyJdLCBpWyJDb3JlL0F4aXMvRGF0ZVRpbWVBeGlzLmpzIl0sIGlbIkNvcmUvQXhpcy9Mb2dhcml0aG1pY0F4aXMuanMiXSwgaVsiQ29yZS9BeGlzL1Bsb3RMaW5lT3JCYW5kL1Bsb3RMaW5lT3JCYW5kLmpzIl0sIGlbIkNvcmUvQXhpcy9UaWNrLmpzIl0sIGlbIkNvcmUvVG9vbHRpcC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9Qb2ludC5qcyJdLCBpWyJDb3JlL1BvaW50ZXIuanMiXSwgaVsiQ29yZS9NU1BvaW50ZXIuanMiXSwgaVsiQ29yZS9MZWdlbmQvTGVnZW5kLmpzIl0sIGlbIkNvcmUvQ2hhcnQvQ2hhcnQuanMiXSwgaVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0sIGlbIlNlcmllcy9Db2x1bW4vQ29sdW1uU2VyaWVzLmpzIl0sIGlbIlNlcmllcy9Db2x1bW4vQ29sdW1uRGF0YUxhYmVsLmpzIl0sIGlbIlNlcmllcy9QaWUvUGllU2VyaWVzLmpzIl0sIGlbIlNlcmllcy9QaWUvUGllRGF0YUxhYmVsLmpzIl0sIGlbIkNvcmUvU2VyaWVzL0RhdGFMYWJlbC5qcyJdLCBpWyJDb3JlL1Jlc3BvbnNpdmUuanMiXSwgaVsiQ29yZS9Db2xvci9Db2xvci5qcyJdLCBpWyJDb3JlL1RpbWUuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzLCBhLCBoLCBsLCBjLCBwLCBkLCB1LCBmLCBnLCBtLCB5LCB2LCB4LCBiLCBfLCB3LCBrLCBTLCBDLCBNLCBBLCBQLCBPLCBULCBFLCBMKSB7CiAgICAgICAgcmV0dXJuIHQuYW5pbWF0ZSA9IG8uYW5pbWF0ZSwgdC5hbmltT2JqZWN0ID0gby5hbmltT2JqZWN0LCB0LmdldERlZmVycmVkQW5pbWF0aW9uID0gby5nZXREZWZlcnJlZEFuaW1hdGlvbiwgdC5zZXRBbmltYXRpb24gPSBvLnNldEFuaW1hdGlvbiwgdC5zdG9wID0gby5zdG9wLCB0LnRpbWVycyA9IG4udGltZXJzLCB0LkFTVCA9IHIsIHQuQXhpcyA9IGQsIHQuQ2hhcnQgPSB3LCB0LmNoYXJ0ID0gdy5jaGFydCwgdC5GeCA9IG4sIHQuTGVnZW5kID0gXywgdC5QbG90TGluZU9yQmFuZCA9IGcsIHQuUG9pbnQgPSB2LCB0LlBvaW50ZXIgPSBiLmlzUmVxdWlyZWQoKSA/IGIgOiB4LCB0LlNlcmllcyA9IGssIHQuU1ZHRWxlbWVudCA9IGgsIHQuU1ZHUmVuZGVyZXIgPSBsLCB0LlRpY2sgPSBtLCB0LlRpbWUgPSBMLCB0LlRvb2x0aXAgPSB5LCB0LkNvbG9yID0gRSwgdC5jb2xvciA9IEUucGFyc2UsIHAuY29tcG9zZShsKSwgYy5jb21wb3NlKGgpLCB0LmRlZmF1bHRPcHRpb25zID0gaS5kZWZhdWx0T3B0aW9ucywgdC5nZXRPcHRpb25zID0gaS5nZXRPcHRpb25zLCB0LnRpbWUgPSBpLmRlZmF1bHRUaW1lLCB0LnNldE9wdGlvbnMgPSBpLnNldE9wdGlvbnMsIHQuZGF0ZUZvcm1hdCA9IHMuZGF0ZUZvcm1hdCwgdC5mb3JtYXQgPSBzLmZvcm1hdCwgdC5udW1iZXJGb3JtYXQgPSBzLm51bWJlckZvcm1hdCwgdC5hZGRFdmVudCA9IGUuYWRkRXZlbnQsIHQuYXJyYXlNYXggPSBlLmFycmF5TWF4LCB0LmFycmF5TWluID0gZS5hcnJheU1pbiwgdC5hdHRyID0gZS5hdHRyLCB0LmNsZWFyVGltZW91dCA9IGUuY2xlYXJUaW1lb3V0LCB0LmNvcnJlY3RGbG9hdCA9IGUuY29ycmVjdEZsb2F0LCB0LmNyZWF0ZUVsZW1lbnQgPSBlLmNyZWF0ZUVsZW1lbnQsIHQuY3NzID0gZS5jc3MsIHQuZGVmaW5lZCA9IGUuZGVmaW5lZCwgdC5kZXN0cm95T2JqZWN0UHJvcGVydGllcyA9IGUuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsIHQuZGlzY2FyZEVsZW1lbnQgPSBlLmRpc2NhcmRFbGVtZW50LCB0LmRpc3RyaWJ1dGUgPSBhLmRpc3RyaWJ1dGUsIHQuZXJhc2UgPSBlLmVyYXNlLCB0LmVycm9yID0gZS5lcnJvciwgdC5leHRlbmQgPSBlLmV4dGVuZCwgdC5leHRlbmRDbGFzcyA9IGUuZXh0ZW5kQ2xhc3MsIHQuZmluZCA9IGUuZmluZCwgdC5maXJlRXZlbnQgPSBlLmZpcmVFdmVudCwgdC5nZXRNYWduaXR1ZGUgPSBlLmdldE1hZ25pdHVkZSwgdC5nZXRTdHlsZSA9IGUuZ2V0U3R5bGUsIHQuaW5BcnJheSA9IGUuaW5BcnJheSwgdC5pc0FycmF5ID0gZS5pc0FycmF5LCB0LmlzQ2xhc3MgPSBlLmlzQ2xhc3MsIHQuaXNET01FbGVtZW50ID0gZS5pc0RPTUVsZW1lbnQsIHQuaXNGdW5jdGlvbiA9IGUuaXNGdW5jdGlvbiwgdC5pc051bWJlciA9IGUuaXNOdW1iZXIsIHQuaXNPYmplY3QgPSBlLmlzT2JqZWN0LCB0LmlzU3RyaW5nID0gZS5pc1N0cmluZywgdC5rZXlzID0gZS5rZXlzLCB0Lm1lcmdlID0gZS5tZXJnZSwgdC5ub3JtYWxpemVUaWNrSW50ZXJ2YWwgPSBlLm5vcm1hbGl6ZVRpY2tJbnRlcnZhbCwgdC5vYmplY3RFYWNoID0gZS5vYmplY3RFYWNoLCB0Lm9mZnNldCA9IGUub2Zmc2V0LCB0LnBhZCA9IGUucGFkLCB0LnBpY2sgPSBlLnBpY2ssIHQucEludCA9IGUucEludCwgdC5yZWxhdGl2ZUxlbmd0aCA9IGUucmVsYXRpdmVMZW5ndGgsIHQucmVtb3ZlRXZlbnQgPSBlLnJlbW92ZUV2ZW50LCB0LnNlcmllc1R5cGUgPSBTLnNlcmllc1R5cGUsIHQuc3BsYXQgPSBlLnNwbGF0LCB0LnN0YWJsZVNvcnQgPSBlLnN0YWJsZVNvcnQsIHQuc3luY1RpbWVvdXQgPSBlLnN5bmNUaW1lb3V0LCB0LnRpbWVVbml0cyA9IGUudGltZVVuaXRzLCB0LnVuaXF1ZUtleSA9IGUudW5pcXVlS2V5LCB0LnVzZVNlcmlhbElkcyA9IGUudXNlU2VyaWFsSWRzLCB0LndyYXAgPSBlLndyYXAsIE0uY29tcG9zZShDKSwgTy5jb21wb3NlKGspLCB1LmNvbXBvc2UoZCksIGYuY29tcG9zZShkKSwgUC5jb21wb3NlKEEpLCBnLmNvbXBvc2UoZCksIFQuY29tcG9zZSh3KSwgdDsKICAgICAgfSkpLCBlKGksICJDb3JlL0F4aXMvT3JkaW5hbEF4aXMuanMiLCBbaVsiQ29yZS9BeGlzL0F4aXMuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICB2YXIgbywgciA9IG4uYWRkRXZlbnQsIHMgPSBuLmNvcnJlY3RGbG9hdCwgYSA9IG4uY3NzLCBoID0gbi5kZWZpbmVkLCBsID0gbi5lcnJvciwgYyA9IG4ucGljaywgcCA9IG4udGltZVVuaXRzLCBkID0gW107CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIG4odCwgZSwgaSwgbiwgbywgciwgcykgewogICAgICAgICAgICB2b2lkIDAgPT09IG8gJiYgKG8gPSBbXSksIHZvaWQgMCA9PT0gciAmJiAociA9IDApOwogICAgICAgICAgICB2YXIgYSwgYywgZCA9IHt9LCB1ID0gdGhpcy5vcHRpb25zLnRpY2tQaXhlbEludGVydmFsLCBmID0gdGhpcy5jaGFydC50aW1lLCBnID0gW10sIG0gPSAwLCB5ID0gW10sIHYgPSAtTnVtYmVyLk1BWF9WQUxVRTsKICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMub3JkaW5hbCAmJiAhdGhpcy5vcHRpb25zLmJyZWFrcyB8fCAhbyB8fCAzID4gby5sZW5ndGggfHwgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBlKSByZXR1cm4gZi5nZXRUaW1lVGlja3MuYXBwbHkoZiwgYXJndW1lbnRzKTsKICAgICAgICAgICAgdmFyIHggPSBvLmxlbmd0aDsKICAgICAgICAgICAgZm9yIChhID0gMDsgYSA8IHg7IGErKykgewogICAgICAgICAgICAgIHZhciBiID0gYSAmJiBvW2EgLSAxXSA+IGk7CiAgICAgICAgICAgICAgaWYgKG9bYV0gPCBlICYmIChtID0gYSksIGEgPT09IHggLSAxIHx8IG9bYSArIDFdIC0gb1thXSA+IDUgKiByIHx8IGIpIHsKICAgICAgICAgICAgICAgIGlmIChvW2FdID4gdikgewogICAgICAgICAgICAgICAgICBmb3IgKGMgPSBmLmdldFRpbWVUaWNrcyh0LCBvW21dLCBvW2FdLCBuKTsgYy5sZW5ndGggJiYgY1swXSA8PSB2OykgYy5zaGlmdCgpOwogICAgICAgICAgICAgICAgICBjLmxlbmd0aCAmJiAodiA9IGNbYy5sZW5ndGggLSAxXSksIGcucHVzaCh5Lmxlbmd0aCksIHkgPSB5LmNvbmNhdChjKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG0gPSBhICsgMTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGIpIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChjKSB7CiAgICAgICAgICAgICAgaWYgKGMgPSBjLmluZm8sIHMgJiYgYy51bml0UmFuZ2UgPD0gcC5ob3VyKSB7CiAgICAgICAgICAgICAgICBmb3IgKGEgPSB5Lmxlbmd0aCAtIDEsIG0gPSAxOyBtIDwgYTsgbSsrKSBpZiAoZi5kYXRlRm9ybWF0KCIlZCIsIHlbbV0pICE9PSBmLmRhdGVGb3JtYXQoIiVkIiwgeVttIC0gMV0pKSB7CiAgICAgICAgICAgICAgICAgIGRbeVttXV0gPSAiZGF5IjsKICAgICAgICAgICAgICAgICAgdmFyIF8gPSAhMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF8gJiYgKGRbeVswXV0gPSAiZGF5IiksIGMuaGlnaGVyUmFua3MgPSBkOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBjLnNlZ21lbnRTdGFydHMgPSBnLCB5LmluZm8gPSBjOwogICAgICAgICAgICB9IGVsc2UgbCgxMiwgITEsIHRoaXMuY2hhcnQpOwogICAgICAgICAgICBpZiAocyAmJiBoKHUpKSB7CiAgICAgICAgICAgICAgZm9yIChjID0geS5sZW5ndGgsIGYgPSBbXSwgbSA9IFtdLCBhID0gdm9pZCAwLCBfID0gYzsgXy0tOykgZyA9IHRoaXMudHJhbnNsYXRlKHlbX10pLCBhICYmIChtW19dID0gYSAtIGcpLCBmW19dID0gYSA9IGc7CiAgICAgICAgICAgICAgZm9yIChtLnNvcnQoKSwgbSA9IG1bTWF0aC5mbG9vcihtLmxlbmd0aCAvIDIpXSwgbSA8IC42ICogdSAmJiAobSA9IG51bGwpLCBfID0geVtjIC0gMV0gPiBpID8gYyAtIDEgOiBjLCBhID0gdm9pZCAwOyBfLS07KSBnID0gZltfXSwgYyA9IE1hdGguYWJzKGEgLSBnKSwgYSAmJiBjIDwgLjggKiB1ICYmIChudWxsID09PSBtIHx8IGMgPCAuOCAqIG0pID8gKGRbeVtfXV0gJiYgIWRbeVtfICsgMV1dID8gKGMgPSBfICsgMSwgYSA9IGcpIDogYyA9IF8sIHkuc3BsaWNlKGMsIDEpKSA6IGEgPSBnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB5OwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIG8odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMub3JkaW5hbC5wb3NpdGlvbnM7CiAgICAgICAgICAgIGlmICghZSkgcmV0dXJuIHQ7CiAgICAgICAgICAgIHZhciBpID0gZS5sZW5ndGggLSAxOwogICAgICAgICAgICBpZiAoMCA+IHQpIHQgPSBlWzBdOyBlbHNlIGlmICh0ID4gaSkgdCA9IGVbaV07IGVsc2UgewogICAgICAgICAgICAgIGkgPSBNYXRoLmZsb29yKHQpOwogICAgICAgICAgICAgIHZhciBuID0gdCAtIGk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgbiAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGVbaV0gPyBlW2ldICsgKG4gPyBuICogKGVbaSArIDFdIC0gZVtpXSkgOiAwKSA6IHQ7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gdSh0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5vcmRpbmFsLCBpID0gZS5wb3NpdGlvbnM7CiAgICAgICAgICAgIGlmICghaSkgcmV0dXJuIHQ7CiAgICAgICAgICAgIHZhciBuID0gKHQgLSAodGhpcy5vbGQgPyB0aGlzLm9sZC5taW4gOiB0aGlzLm1pbikpICogKHRoaXMub2xkID8gdGhpcy5vbGQudHJhbnNBIDogdGhpcy50cmFuc0EpICsgdGhpcy5taW5QaXhlbFBhZGRpbmc7CiAgICAgICAgICAgIGlmICgwIDwgbiAmJiBuIDwgdGhpcy5sZWZ0ICsgdGhpcy5sZW4gfHwgKGUuZXh0ZW5kZWRPcmRpbmFsUG9zaXRpb25zIHx8IChlLmV4dGVuZGVkT3JkaW5hbFBvc2l0aW9ucyA9IGUuZ2V0RXh0ZW5kZWRQb3NpdGlvbnMoKSksIGkgPSBlLmV4dGVuZGVkT3JkaW5hbFBvc2l0aW9ucyksIGkgJiYgaS5sZW5ndGgpIHsKICAgICAgICAgICAgICBpZiAodCA9IGUuZ2V0SW5kZXhPZlBvaW50KG4sIGkpLCBlID0gcyh0ICUgMSksIDAgPD0gdCAmJiB0IDwgaS5sZW5ndGggLSAxKSByZXR1cm4gaVtNYXRoLmZsb29yKHQpXSArIGUgKiAoaVtNYXRoLmNlaWwodCldIC0gaVtNYXRoLmZsb29yKHQpXSk7CiAgICAgICAgICAgICAgZSA9IGkubGVuZ3RoLCBuID0gaVswXSwgaSA9IGlbZSAtIDFdOwogICAgICAgICAgICAgIHZhciBvID0gKGkgLSBuKSAvIChlIC0gMSk7CiAgICAgICAgICAgICAgcmV0dXJuIDAgPiB0ID8gbiArIG8gKiB0IDogaSArIG8gKiAodCAtIGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0OwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIGYoZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHQuQWRkaXRpb25zLmZpbmRJbmRleE9mKGUsIGksICEwKTsKICAgICAgICAgICAgcmV0dXJuIGVbbl0gPT09IGkgPyBuIDogbiArIChpIC0gZVtuXSkgLyAoZVtuICsgMV0gLSBlW25dKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBnKCkgewogICAgICAgICAgICB0aGlzLm9yZGluYWwgfHwgKHRoaXMub3JkaW5hbCA9IG5ldyB0LkFkZGl0aW9ucyh0aGlzKSk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gbSgpIHsKICAgICAgICAgICAgdGhpcy5pc1hBeGlzICYmIGgodGhpcy5vcHRpb25zLm92ZXJzY3JvbGwpICYmIHRoaXMubWF4ID09PSB0aGlzLmRhdGFNYXggJiYgKCF0aGlzLmNoYXJ0Lm1vdXNlSXNEb3duIHx8IHRoaXMuaXNJbnRlcm5hbCkgJiYgKCF0aGlzLmV2ZW50QXJncyB8fCB0aGlzLmV2ZW50QXJncyAmJiAibmF2aWdhdG9yIiAhPT0gdGhpcy5ldmVudEFyZ3MudHJpZ2dlcikgJiYgKHRoaXMubWF4ICs9IHRoaXMub3B0aW9ucy5vdmVyc2Nyb2xsLCAhdGhpcy5pc0ludGVybmFsICYmIGgodGhpcy51c2VyTWluKSAmJiAodGhpcy5taW4gKz0gdGhpcy5vcHRpb25zLm92ZXJzY3JvbGwpKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiB5KCkgewogICAgICAgICAgICB0aGlzLmhvcml6ICYmICF0aGlzLmlzRGlydHkgJiYgKHRoaXMuaXNEaXJ0eSA9IHRoaXMuaXNPcmRpbmFsICYmIHRoaXMuY2hhcnQubmF2aWdhdG9yICYmICF0aGlzLmNoYXJ0Lm5hdmlnYXRvci5hZGFwdFRvVXBkYXRlZERhdGEpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIHYoKSB7CiAgICAgICAgICAgIHRoaXMub3JkaW5hbCAmJiAodGhpcy5vcmRpbmFsLmJlZm9yZVNldFRpY2tQb3NpdGlvbnMoKSwgdGhpcy50aWNrSW50ZXJ2YWwgPSB0aGlzLm9yZGluYWwucG9zdFByb2Nlc3NUaWNrSW50ZXJ2YWwodGhpcy50aWNrSW50ZXJ2YWwpKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiB4KHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnhBeGlzWzBdLCBpID0gZS5vcHRpb25zLm92ZXJzY3JvbGwsIG4gPSB0Lm9yaWdpbmFsRXZlbnQuY2hhcnRYLCBvID0gdGhpcy5vcHRpb25zLmNoYXJ0LnBhbm5pbmcsIHIgPSAhMTsKICAgICAgICAgICAgaWYgKG8gJiYgInkiICE9PSBvLnR5cGUgJiYgZS5vcHRpb25zLm9yZGluYWwgJiYgZS5zZXJpZXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgdmFyIHMgPSB0aGlzLm1vdXNlRG93blgsIGggPSBlLmdldEV4dHJlbWVzKCksIGwgPSBoLmRhdGFNYXgsIGMgPSBoLm1pbiwgcCA9IGgubWF4LCBkID0gdGhpcy5ob3ZlclBvaW50cywKICAgICAgICAgICAgICAgIHUgPSBlLmNsb3Nlc3RQb2ludFJhbmdlIHx8IGUub3JkaW5hbCAmJiBlLm9yZGluYWwub3ZlcnNjcm9sbFBvaW50c1JhbmdlOwogICAgICAgICAgICAgIHMgPSAocyAtIG4pIC8gKGUudHJhbnNsYXRpb25TbG9wZSAqIChlLm9yZGluYWwuc2xvcGUgfHwgdSkpLCB1ID0geyBvcmRpbmFsOiB7IHBvc2l0aW9uczogZS5vcmRpbmFsLmdldEV4dGVuZGVkUG9zaXRpb25zKCkgfSB9OwogICAgICAgICAgICAgIHZhciBmID0gZS5pbmRleDJ2YWwsIGcgPSBlLnZhbDJsaW4sIG0gPSB2b2lkIDAsIHkgPSBtID0gdm9pZCAwLCB2ID0gdm9pZCAwOwogICAgICAgICAgICAgIHUub3JkaW5hbC5wb3NpdGlvbnMgPyAxIDwgTWF0aC5hYnMocykgJiYgKGQgJiYgZC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LnNldFN0YXRlKCk7CiAgICAgICAgICAgICAgfSkpLCAwID4gcyA/ICh5ID0gdSwgdiA9IGUub3JkaW5hbC5wb3NpdGlvbnMgPyBlIDogdSkgOiAoeSA9IGUub3JkaW5hbC5wb3NpdGlvbnMgPyBlIDogdSwgdiA9IHUpLCBtID0gdi5vcmRpbmFsLnBvc2l0aW9ucywgbCA+IG1bbS5sZW5ndGggLSAxXSAmJiBtLnB1c2gobCksIHRoaXMuZml4ZWRSYW5nZSA9IHAgLSBjLCBtID0gZS5uYXZpZ2F0b3JBeGlzLnRvRml4ZWRSYW5nZSh2b2lkIDAsIHZvaWQgMCwgZi5hcHBseSh5LCBbZy5hcHBseSh5LCBbYywgITBdKSArIHNdKSwgZi5hcHBseSh2LCBbZy5hcHBseSh2LCBbcCwgITBdKSArIHNdKSksIG0ubWluID49IE1hdGgubWluKGguZGF0YU1pbiwgYykgJiYgbS5tYXggPD0gTWF0aC5tYXgobCwgcCkgKyBpICYmIGUuc2V0RXh0cmVtZXMobS5taW4sIG0ubWF4LCAhMCwgITEsIHsgdHJpZ2dlcjogInBhbiIgfSksIHRoaXMubW91c2VEb3duWCA9IG4sIGEodGhpcy5jb250YWluZXIsIHsgY3Vyc29yOiAibW92ZSIgfSkpIDogciA9ICEwOwogICAgICAgICAgICB9IGVsc2UgciA9ICEwOwogICAgICAgICAgICByIHx8IG8gJiYgL3kvLnRlc3Qoby50eXBlKSA/IGkgJiYgKGUubWF4ID0gZS5kYXRhTWF4ICsgaSkgOiB0LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gYigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnhBeGlzOwogICAgICAgICAgICB0ICYmIHQub3B0aW9ucy5vcmRpbmFsICYmIChkZWxldGUgdC5vcmRpbmFsLmluZGV4LCBkZWxldGUgdC5vcmRpbmFsLmV4dGVuZGVkT3JkaW5hbFBvc2l0aW9ucyk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gXyh0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5vcmRpbmFsLCBuID0gaS5wb3NpdGlvbnMsIG8gPSBpLnNsb3BlLCByID0gaS5leHRlbmRlZE9yZGluYWxQb3NpdGlvbnM7CiAgICAgICAgICAgIGlmICghbikgcmV0dXJuIHQ7CiAgICAgICAgICAgIHZhciBzID0gbi5sZW5ndGg7CiAgICAgICAgICAgIGlmIChuWzBdIDw9IHQgJiYgbltzIC0gMV0gPj0gdCkgdCA9IGYobiwgdCk7IGVsc2UgewogICAgICAgICAgICAgIGlmIChyIHx8IChyID0gaS5nZXRFeHRlbmRlZFBvc2l0aW9ucyAmJiBpLmdldEV4dGVuZGVkUG9zaXRpb25zKCksIGkuZXh0ZW5kZWRPcmRpbmFsUG9zaXRpb25zID0gciksICFyIHx8ICFyLmxlbmd0aCkgcmV0dXJuIHQ7CiAgICAgICAgICAgICAgcyA9IHIubGVuZ3RoLCBvIHx8IChvID0gKHJbcyAtIDFdIC0gclswXSkgLyBzKSwgbiA9IGYociwgblswXSksIHQgPj0gclswXSAmJiB0IDw9IHJbcyAtIDFdID8gdCA9IGYociwgdCkgLSBuIDogdCA8IHJbMF0gPyAodCA9IHJbMF0gLSB0LCB0ID0gLW4gLSB0IC8gbykgOiAodCAtPSByW3MgLSAxXSwgdCA9IHQgLyBvICsgcyAtIG4pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBlID8gdCA6IG8gKiAodCB8fCAwKSArIGkub2Zmc2V0OwogICAgICAgICAgfQoKICAgICAgICAgIHQuY29tcG9zZSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgaWYgKC0xID09PSBkLmluZGV4T2YodCkpIHsKICAgICAgICAgICAgICBkLnB1c2godCk7CiAgICAgICAgICAgICAgdmFyIHMgPSB0LnByb3RvdHlwZTsKICAgICAgICAgICAgICBzLmdldFRpbWVUaWNrcyA9IG4sIHMuaW5kZXgydmFsID0gbywgcy5saW4ydmFsID0gdSwgcy52YWwybGluID0gXywgcy5vcmRpbmFsMmxpbiA9IHMudmFsMmxpbiwgcih0LCAiYWZ0ZXJJbml0IiwgZyksIHIodCwgImZvdW5kRXh0cmVtZXMiLCBtKSwgcih0LCAiYWZ0ZXJTZXRTY2FsZSIsIHkpLCByKHQsICJpbml0aWFsQXhpc1RyYW5zbGF0aW9uIiwgdik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIC0xID09PSBkLmluZGV4T2YoaSkgJiYgKGQucHVzaChpKSwgcihpLCAicGFuIiwgeCkpLCAtMSA9PT0gZC5pbmRleE9mKGUpICYmIChkLnB1c2goZSksIHIoZSwgInVwZGF0ZWREYXRhIiwgYikpLCB0OwogICAgICAgICAgfTsKICAgICAgICAgIHZhciB3ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHQodCkgewogICAgICAgICAgICAgIHRoaXMuaW5kZXggPSB7fSwgdGhpcy5heGlzID0gdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLmJlZm9yZVNldFRpY2tQb3NpdGlvbnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuYXhpcywgZSA9IHQub3JkaW5hbCwgaSA9IHQuZ2V0RXh0cmVtZXMoKSwgbiA9IGkubWluLCBvID0gaS5tYXgsIHIgPSB0LmlzWEF4aXMgJiYgISF0Lm9wdGlvbnMuYnJlYWtzOwogICAgICAgICAgICAgIGkgPSB0Lm9wdGlvbnMub3JkaW5hbDsKICAgICAgICAgICAgICB2YXIgcywgYSwgaCA9IHQuY2hhcnQub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMsIGwgPSBbXSwgcCA9IE51bWJlci5NQVhfVkFMVUUsIGQgPSAhMTsKICAgICAgICAgICAgICBpZiAoaSB8fCByKSB7CiAgICAgICAgICAgICAgICB0LnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgIGlmIChzID0gW10sICEoaCAmJiAhMSA9PT0gdC52aXNpYmxlIHx8ICExID09PSB0LnRha2VPcmRpbmFsUG9zaXRpb24gJiYgIXIpICYmIChsID0gbC5jb25jYXQodC5wcm9jZXNzZWRYRGF0YSksIHUgPSBsLmxlbmd0aCwgbC5zb3J0KChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgLSBlOwogICAgICAgICAgICAgICAgICB9KSksIHAgPSBNYXRoLm1pbihwLCBjKHQuY2xvc2VzdFBvaW50UmFuZ2UsIHApKSwgdSkpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKGUgPSAwOyBlIDwgdSAtIDE7KSBsW2VdICE9PSBsW2UgKyAxXSAmJiBzLnB1c2gobFtlICsgMV0pLCBlKys7CiAgICAgICAgICAgICAgICAgICAgc1swXSAhPT0gbFswXSAmJiBzLnVuc2hpZnQobFswXSksIGwgPSBzOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgICB2YXIgdSA9IGwubGVuZ3RoOwogICAgICAgICAgICAgICAgaWYgKDIgPCB1KSB7CiAgICAgICAgICAgICAgICAgIHZhciBmID0gbFsxXSAtIGxbMF07CiAgICAgICAgICAgICAgICAgIGZvciAoYSA9IHUgLSAxOyBhLS0gJiYgIWQ7KSBsW2EgKyAxXSAtIGxbYV0gIT09IGYgJiYgKGQgPSAhMCk7CiAgICAgICAgICAgICAgICAgICF0Lm9wdGlvbnMua2VlcE9yZGluYWxQYWRkaW5nICYmIChsWzBdIC0gbiA+IGYgfHwgbyAtIGxbbC5sZW5ndGggLSAxXSA+IGYpICYmIChkID0gITApOwogICAgICAgICAgICAgICAgfSBlbHNlIHQub3B0aW9ucy5vdmVyc2Nyb2xsICYmICgyID09PSB1ID8gcCA9IGxbMV0gLSBsWzBdIDogMSA9PT0gdSA/IChwID0gdC5vcHRpb25zLm92ZXJzY3JvbGwsIGwgPSBbbFswXSwgbFswXSArIHBdKSA6IHAgPSBlLm92ZXJzY3JvbGxQb2ludHNSYW5nZSk7CiAgICAgICAgICAgICAgICBkIHx8IHQuZm9yY2VPcmRpbmFsID8gKHQub3B0aW9ucy5vdmVyc2Nyb2xsICYmIChlLm92ZXJzY3JvbGxQb2ludHNSYW5nZSA9IHAsIGwgPSBsLmNvbmNhdChlLmdldE92ZXJzY3JvbGxQb3NpdGlvbnMoKSkpLCBlLnBvc2l0aW9ucyA9IGwsIGYgPSB0Lm9yZGluYWwybGluKE1hdGgubWF4KG4sIGxbMF0pLCAhMCksIGEgPSBNYXRoLm1heCh0Lm9yZGluYWwybGluKE1hdGgubWluKG8sIGxbbC5sZW5ndGggLSAxXSksICEwKSwgMSksIGUuc2xvcGUgPSBvID0gKG8gLSBuKSAvIChhIC0gZiksIGUub2Zmc2V0ID0gbiAtIGYgKiBvKSA6IChlLm92ZXJzY3JvbGxQb2ludHNSYW5nZSA9IGModC5jbG9zZXN0UG9pbnRSYW5nZSwgZS5vdmVyc2Nyb2xsUG9pbnRzUmFuZ2UpLCBlLnBvc2l0aW9ucyA9IHQub3JkaW5hbC5zbG9wZSA9IGUub2Zmc2V0ID0gdm9pZCAwKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgdC5pc09yZGluYWwgPSBpICYmIGQsIGUuZ3JvdXBJbnRlcnZhbEZhY3RvciA9IG51bGw7CiAgICAgICAgICAgIH0sIHQuZmluZEluZGV4T2YgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgbiwgbyA9IDAsIHIgPSB0Lmxlbmd0aCAtIDE7IG8gPCByOykgbiA9IE1hdGguY2VpbCgobyArIHIpIC8gMiksIHRbbl0gPD0gZSA/IG8gPSBuIDogciA9IG4gLSAxOwogICAgICAgICAgICAgIHJldHVybiB0W29dID09PSBlID8gbyA6IGkgPyBvIDogLTE7CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldEV4dGVuZGVkUG9zaXRpb25zID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBuID0gdC5heGlzLCBvID0gbi5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHIgPSBuLmNoYXJ0LCBzID0gbi5zZXJpZXNbMF0uY3VycmVudERhdGFHcm91cGluZywgYSA9IHMgPyBzLmNvdW50ICsgcy51bml0TmFtZSA6ICJyYXciLAogICAgICAgICAgICAgICAgaCA9IG4ub3B0aW9ucy5vdmVyc2Nyb2xsLCBsID0gbi5nZXRFeHRyZW1lcygpLCBjID0gdm9pZCAwLCBwID0gdC5pbmRleDsKICAgICAgICAgICAgICBpZiAocCB8fCAocCA9IHQuaW5kZXggPSB7fSksICFwW2FdKSB7CiAgICAgICAgICAgICAgICB2YXIgZCA9IHsKICAgICAgICAgICAgICAgICAgc2VyaWVzOiBbXSwKICAgICAgICAgICAgICAgICAgY2hhcnQ6IHIsCiAgICAgICAgICAgICAgICAgIGZvcmNlT3JkaW5hbDogITEsCiAgICAgICAgICAgICAgICAgIGdldEV4dHJlbWVzOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBtaW46IGwuZGF0YU1pbiwgbWF4OiBsLmRhdGFNYXggKyBoIH07CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIGdldEdyb3VwUGl4ZWxXaWR0aDogby5nZXRHcm91cFBpeGVsV2lkdGgsCiAgICAgICAgICAgICAgICAgIGdldFRpbWVUaWNrczogby5nZXRUaW1lVGlja3MsCiAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsgb3JkaW5hbDogITAgfSwKICAgICAgICAgICAgICAgICAgb3JkaW5hbDogeyBnZXRHcm91cEludGVydmFsRmFjdG9yOiB0aGlzLmdldEdyb3VwSW50ZXJ2YWxGYWN0b3IgfSwKICAgICAgICAgICAgICAgICAgb3JkaW5hbDJsaW46IG8ub3JkaW5hbDJsaW4sCiAgICAgICAgICAgICAgICAgIGdldEluZGV4T2ZQb2ludDogby5nZXRJbmRleE9mUG9pbnQsCiAgICAgICAgICAgICAgICAgIHZhbDJsaW46IG8udmFsMmxpbgogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGQub3JkaW5hbC5heGlzID0gZCwgbi5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24obikgewogICAgICAgICAgICAgICAgICBjID0gewogICAgICAgICAgICAgICAgICAgIHhBeGlzOiBkLAogICAgICAgICAgICAgICAgICAgIHhEYXRhOiBuLnhEYXRhLnNsaWNlKCksCiAgICAgICAgICAgICAgICAgICAgY2hhcnQ6IHIsCiAgICAgICAgICAgICAgICAgICAgZGVzdHJveUdyb3VwZWREYXRhOiBlLm5vb3AsCiAgICAgICAgICAgICAgICAgICAgZ2V0UHJvY2Vzc2VkRGF0YTogaS5wcm90b3R5cGUuZ2V0UHJvY2Vzc2VkRGF0YSwKICAgICAgICAgICAgICAgICAgICBhcHBseUdyb3VwaW5nOiBpLnByb3RvdHlwZS5hcHBseUdyb3VwaW5nCiAgICAgICAgICAgICAgICAgIH0sIGMueERhdGEgPSBjLnhEYXRhLmNvbmNhdCh0LmdldE92ZXJzY3JvbGxQb3NpdGlvbnMoKSksIGMub3B0aW9ucyA9IHsKICAgICAgICAgICAgICAgICAgICBkYXRhR3JvdXBpbmc6IHMgPyB7CiAgICAgICAgICAgICAgICAgICAgICBmaXJzdEFuY2hvcjogImZpcnN0UG9pbnQiLAogICAgICAgICAgICAgICAgICAgICAgYW5jaG9yOiAibWlkZGxlIiwKICAgICAgICAgICAgICAgICAgICAgIGxhc3RBbmNob3I6ICJsYXN0UG9pbnQiLAogICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogITAsCiAgICAgICAgICAgICAgICAgICAgICBmb3JjZWQ6ICEwLAogICAgICAgICAgICAgICAgICAgICAgYXBwcm94aW1hdGlvbjogIm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgdW5pdHM6IFtbcy51bml0TmFtZSwgW3MuY291bnRdXV0KICAgICAgICAgICAgICAgICAgICB9IDogeyBlbmFibGVkOiAhMSB9CiAgICAgICAgICAgICAgICAgIH0sIGQuc2VyaWVzLnB1c2goYyksIG4ucHJvY2Vzc0RhdGEuYXBwbHkoYyk7CiAgICAgICAgICAgICAgICB9KSksIGMuY2xvc2VzdFBvaW50UmFuZ2UgIT09IGMuYmFzZVBvaW50UmFuZ2UgJiYgYy5jdXJyZW50RGF0YUdyb3VwaW5nICYmIChkLmZvcmNlT3JkaW5hbCA9ICEwKSwgbi5vcmRpbmFsLmJlZm9yZVNldFRpY2tQb3NpdGlvbnMuYXBwbHkoeyBheGlzOiBkIH0pLCBwW2FdID0gZC5vcmRpbmFsLnBvc2l0aW9uczsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIHBbYV07CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldEdyb3VwSW50ZXJ2YWxGYWN0b3IgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgaSA9IGkucHJvY2Vzc2VkWERhdGE7CiAgICAgICAgICAgICAgdmFyIG4gPSBpLmxlbmd0aCwgbyA9IFtdLCByID0gdGhpcy5ncm91cEludGVydmFsRmFjdG9yOwogICAgICAgICAgICAgIGlmICghcikgewogICAgICAgICAgICAgICAgZm9yIChyID0gMDsgciA8IG4gLSAxOyByKyspIG9bcl0gPSBpW3IgKyAxXSAtIGlbcl07CiAgICAgICAgICAgICAgICBvLnNvcnQoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgLSBlOwogICAgICAgICAgICAgICAgfSkpLCBvID0gb1tNYXRoLmZsb29yKG4gLyAyKV0sIHQgPSBNYXRoLm1heCh0LCBpWzBdKSwgZSA9IE1hdGgubWluKGUsIGlbbiAtIDFdKSwgdGhpcy5ncm91cEludGVydmFsRmFjdG9yID0gciA9IG4gKiBvIC8gKGUgLSB0KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIHI7CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldEluZGV4T2ZQb2ludCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMuYXhpcywgbyA9IHRoaXMucG9zaXRpb25zID8gdGhpcy5wb3NpdGlvbnNbMF0gOiAwLAogICAgICAgICAgICAgICAgciA9IG4uc2VyaWVzWzBdLnBvaW50cyAmJiBuLnNlcmllc1swXS5wb2ludHNbMF0gJiYgbi5zZXJpZXNbMF0ucG9pbnRzWzBdLnBsb3RYIHx8IG4ubWluUGl4ZWxQYWRkaW5nOwogICAgICAgICAgICAgIHJldHVybiAxIDwgbi5zZXJpZXMubGVuZ3RoICYmIG4uc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQucG9pbnRzICYmIGgodC5wb2ludHNbMF0pICYmIGgodC5wb2ludHNbMF0ucGxvdFgpICYmIHQucG9pbnRzWzBdLnBsb3RYIDwgciAmJiAociA9IHQucG9pbnRzWzBdLnBsb3RYKTsKICAgICAgICAgICAgICB9KSksIGUgPSAoZSAtIHIpIC8gKG4udHJhbnNsYXRpb25TbG9wZSAqICh0aGlzLnNsb3BlIHx8IG4uY2xvc2VzdFBvaW50UmFuZ2UgfHwgdGhpcy5vdmVyc2Nyb2xsUG9pbnRzUmFuZ2UpKSwgdC5maW5kSW5kZXhPZihpLCBvKSArIGU7CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldE92ZXJzY3JvbGxQb3NpdGlvbnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuYXhpcywgZSA9IHQub3B0aW9ucy5vdmVyc2Nyb2xsLCBpID0gdGhpcy5vdmVyc2Nyb2xsUG9pbnRzUmFuZ2UsIG4gPSBbXSwgbyA9IHQuZGF0YU1heDsKICAgICAgICAgICAgICBpZiAoaChpKSkgZm9yICg7IG8gPD0gdC5kYXRhTWF4ICsgZTspIG8gKz0gaSwgbi5wdXNoKG8pOwogICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICAgICB9LCB0LnByb3RvdHlwZS5wb3N0UHJvY2Vzc1RpY2tJbnRlcnZhbCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMuYXhpcywgaSA9IHRoaXMuc2xvcGU7CiAgICAgICAgICAgICAgcmV0dXJuIGkgPyBlLm9wdGlvbnMuYnJlYWtzID8gZS5jbG9zZXN0UG9pbnRSYW5nZSB8fCB0IDogdCAvIChpIC8gZS5jbG9zZXN0UG9pbnRSYW5nZSkgOiB0OwogICAgICAgICAgICB9LCB0OwogICAgICAgICAgfSgpOwogICAgICAgICAgdC5BZGRpdGlvbnMgPSB3OwogICAgICAgIH0obyB8fCAobyA9IHt9KSksIG87CiAgICAgIH0pKSwgZShpLCAiU2VyaWVzL0RhdGFNb2RpZnlDb21wb3NpdGlvbi5qcyIsIFtpWyJDb3JlL0F4aXMvQXhpcy5qcyJdLCBpWyJDb3JlL1Nlcmllcy9Qb2ludC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgdmFyIG8sIHIgPSBlLnByb3RvdHlwZS50b29sdGlwRm9ybWF0dGVyLCBzID0gbi5hZGRFdmVudCwgYSA9IG4uYXJyYXlNYXgsIGggPSBuLmFycmF5TWluLCBsID0gbi5jb3JyZWN0RmxvYXQsIGMgPSBuLmRlZmluZWQsIHAgPSBuLmlzQXJyYXksCiAgICAgICAgICBkID0gbi5pc051bWJlciwgdSA9IG4uaXNTdHJpbmcsIGYgPSBuLnBpY2s7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUodCwgZSwgaSkgewogICAgICAgICAgICB0aGlzLmlzWEF4aXMgfHwgKHRoaXMuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAiY29tcGFyZSIgPT09IHQgJiYgImJvb2xlYW4iICE9PSB0eXBlb2YgZSA/IGkuc2V0Q29tcGFyZShlLCAhMSkgOiAiY3VtdWxhdGl2ZSIgIT09IHQgfHwgdShlKSB8fCBpLnNldEN1bXVsYXRpdmUoZSwgITEpOwogICAgICAgICAgICB9KSksIGYoaSwgITApICYmIHRoaXMuY2hhcnQucmVkcmF3KCkpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIGkodCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBlLnNlcmllcy5jaGFydC5udW1iZXJGb3JtYXR0ZXIsIG4gPSBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgdCA9IHQucmVwbGFjZSgie3BvaW50LiIgKyBuICsgIn0iLCAoMCA8IGVbbl0gJiYgImNoYW5nZSIgPT09IG4gPyAiKyIgOiAiIikgKyBpKGVbbl0sIGYoZS5zZXJpZXMudG9vbHRpcE9wdGlvbnMuY2hhbmdlRGVjaW1hbHMsIDIpKSk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHJldHVybiBjKGUuY2hhbmdlKSAmJiBuKCJjaGFuZ2UiKSwgYyhlLmN1bXVsYXRpdmVTdW0pICYmIG4oImN1bXVsYXRpdmVTdW0iKSwgci5hcHBseSh0aGlzLCBbdF0pOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLmNvbXBhcmU7CiAgICAgICAgICAgIGlmICgicGVyY2VudCIgPT09IHQgfHwgInZhbHVlIiA9PT0gdCB8fCB0aGlzLm9wdGlvbnMuY3VtdWxhdGl2ZSkgewogICAgICAgICAgICAgIHZhciBlID0gbmV3IF8odGhpcyk7CiAgICAgICAgICAgICAgInBlcmNlbnQiID09PSB0IHx8ICJ2YWx1ZSIgPT09IHQgPyBlLmluaXRDb21wYXJlKHQpIDogZS5pbml0Q3VtdWxhdGl2ZSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuZGF0YU1vZGlmeSA9IGU7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gbyh0KSB7CiAgICAgICAgICAgIHQgPSB0LmRhdGFFeHRyZW1lczsKICAgICAgICAgICAgdmFyIGUgPSB0LmFjdGl2ZVlEYXRhOwogICAgICAgICAgICBpZiAodGhpcy5kYXRhTW9kaWZ5ICYmIHQpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHZvaWQgMDsKICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuY29tcGFyZSA/IGkgPSBbdGhpcy5kYXRhTW9kaWZ5Lm1vZGlmeVZhbHVlKHQuZGF0YU1pbiksIHRoaXMuZGF0YU1vZGlmeS5tb2RpZnlWYWx1ZSh0LmRhdGFNYXgpXSA6IHRoaXMub3B0aW9ucy5jdW11bGF0aXZlICYmIHAoZSkgJiYgMiA8PSBlLmxlbmd0aCAmJiAoaSA9IF8uZ2V0Q3VtdWxhdGl2ZUV4dHJlbWVzKGUpKSwgaSAmJiAodC5kYXRhTWluID0gaChpKSwgdC5kYXRhTWF4ID0gYShpKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBnKHQsIGUpIHsKICAgICAgICAgICAgdGhpcy5vcHRpb25zLmNvbXBhcmUgPSB0aGlzLnVzZXJPcHRpb25zLmNvbXBhcmUgPSB0LCB0aGlzLnVwZGF0ZSh7fSwgZihlLCAhMCkpLCAhdGhpcy5kYXRhTW9kaWZ5IHx8ICJ2YWx1ZSIgIT09IHQgJiYgInBlcmNlbnQiICE9PSB0ID8gdGhpcy5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGRlbGV0ZSB0LmNoYW5nZTsKICAgICAgICAgICAgfSkpIDogdGhpcy5kYXRhTW9kaWZ5LmluaXRDb21wYXJlKHQpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIG0oKSB7CiAgICAgICAgICAgIGlmICh0aGlzLnhBeGlzICYmIHRoaXMucHJvY2Vzc2VkWURhdGEgJiYgdGhpcy5kYXRhTW9kaWZ5KSB7CiAgICAgICAgICAgICAgdmFyIHQsIGUgPSB0aGlzLnByb2Nlc3NlZFhEYXRhLCBpID0gdGhpcy5wcm9jZXNzZWRZRGF0YSwgbiA9IGkubGVuZ3RoLCBvID0gITAgPT09IHRoaXMub3B0aW9ucy5jb21wYXJlU3RhcnQgPyAwIDogMSwgciA9IC0xOwogICAgICAgICAgICAgIGZvciAodGhpcy5wb2ludEFycmF5TWFwICYmIChyID0gdGhpcy5wb2ludEFycmF5TWFwLmluZGV4T2YodGhpcy5vcHRpb25zLnBvaW50VmFsS2V5IHx8IHRoaXMucG9pbnRWYWxLZXkgfHwgInkiKSksIHQgPSAwOyB0IDwgbiAtIG87IHQrKykgewogICAgICAgICAgICAgICAgdmFyIHMgPSBpW3RdICYmIC0xIDwgciA/IGlbdF1bcl0gOiBpW3RdOwogICAgICAgICAgICAgICAgaWYgKGQocykgJiYgMCAhPT0gcyAmJiBlW3QgKyBvXSA+PSAodGhpcy54QXhpcy5taW4gfHwgMCkpIHsKICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhTW9kaWZ5LmNvbXBhcmVWYWx1ZSA9IHM7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIHkodCwgZSkgewogICAgICAgICAgICB0aGlzLnNldE1vZGlmaWVyKCJjb21wYXJlIiwgdCwgZSk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gdih0LCBlKSB7CiAgICAgICAgICAgIHQgPSBmKHQsICExKSwgdGhpcy5vcHRpb25zLmN1bXVsYXRpdmUgPSB0aGlzLnVzZXJPcHRpb25zLmN1bXVsYXRpdmUgPSB0LCB0aGlzLnVwZGF0ZSh7fSwgZihlLCAhMCkpLCB0aGlzLmRhdGFNb2RpZnkgPyB0aGlzLmRhdGFNb2RpZnkuaW5pdEN1bXVsYXRpdmUoKSA6IHRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBkZWxldGUgdC5jdW11bGF0aXZlU3VtOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24geCh0LCBlKSB7CiAgICAgICAgICAgIHRoaXMuc2V0TW9kaWZpZXIoImN1bXVsYXRpdmUiLCB0LCBlKTsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgYiA9IFtdOwogICAgICAgICAgdC5jb21wb3NlID0gZnVuY3Rpb24odCwgciwgYSkgewogICAgICAgICAgICBpZiAoLTEgPT09IGIuaW5kZXhPZih0KSkgewogICAgICAgICAgICAgIGIucHVzaCh0KTsKICAgICAgICAgICAgICB2YXIgaCA9IHQucHJvdG90eXBlOwogICAgICAgICAgICAgIGguc2V0Q29tcGFyZSA9IGcsIGguc2V0Q3VtdWxhdGl2ZSA9IHYsIHModCwgImFmdGVySW5pdCIsIG4pLCBzKHQsICJhZnRlckdldEV4dHJlbWVzIiwgbyksIHModCwgImFmdGVyUHJvY2Vzc0RhdGEiLCBtKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gLTEgPT09IGIuaW5kZXhPZihyKSAmJiAoYi5wdXNoKHIpLCByID0gci5wcm90b3R5cGUsIHIuc2V0Q29tcGFyZSA9IHksIHIuc2V0TW9kaWZpZXIgPSBlLCByLnNldEN1bXVsYXRpdmUgPSB4KSwgLTEgPT09IGIuaW5kZXhPZihhKSAmJiAoYi5wdXNoKGEpLCBhLnByb3RvdHlwZS50b29sdGlwRm9ybWF0dGVyID0gaSksIHQ7CiAgICAgICAgICB9OwogICAgICAgICAgdmFyIF8gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZnVuY3Rpb24gdCh0KSB7CiAgICAgICAgICAgICAgdGhpcy5zZXJpZXMgPSB0OwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gdC5wcm90b3R5cGUubW9kaWZ5VmFsdWUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwgdC5nZXRDdW11bGF0aXZlRXh0cmVtZXMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSAxIC8gMCwgaSA9IC0xIC8gMDsKICAgICAgICAgICAgICByZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsIG4pIHsKICAgICAgICAgICAgICAgIHJldHVybiBuID0gdCArIG4sIGUgPSBNYXRoLm1pbihlLCBuLCB0KSwgaSA9IE1hdGgubWF4KGksIG4sIHQpLCBuOwogICAgICAgICAgICAgIH0pKSwgW2UsIGldOwogICAgICAgICAgICB9LCB0LnByb3RvdHlwZS5pbml0Q29tcGFyZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0aGlzLm1vZGlmeVZhbHVlID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgbnVsbCA9PT0gZSAmJiAoZSA9IDApOwogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmNvbXBhcmVWYWx1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGUgJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBuID8gKGUgPSAidmFsdWUiID09PSB0ID8gZSAtIG4gOiBlIC8gbiAqIDEwMCAtICgxMDAgPT09IHRoaXMuc2VyaWVzLm9wdGlvbnMuY29tcGFyZUJhc2UgPyAwIDogMTAwKSwgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBpICYmIChpID0gdGhpcy5zZXJpZXMucG9pbnRzW2ldKSAmJiAoaS5jaGFuZ2UgPSBlKSwgZSkgOiAwOwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sIHQucHJvdG90eXBlLmluaXRDdW11bGF0aXZlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdGhpcy5tb2RpZnlWYWx1ZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIGlmIChudWxsID09PSB0ICYmICh0ID0gMCksIHZvaWQgMCAhPT0gdCAmJiB2b2lkIDAgIT09IGUpIHsKICAgICAgICAgICAgICAgICAgdmFyIGkgPSAwIDwgZSA/IHRoaXMuc2VyaWVzLnBvaW50c1tlIC0gMV0gOiBudWxsOwogICAgICAgICAgICAgICAgICByZXR1cm4gaSAmJiBpLmN1bXVsYXRpdmVTdW0gJiYgKHQgPSBsKGkuY3VtdWxhdGl2ZVN1bSArIHQpKSwgKGUgPSB0aGlzLnNlcmllcy5wb2ludHNbZV0pICYmIChlLmN1bXVsYXRpdmVTdW0gPSB0KSwgdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sIHQ7CiAgICAgICAgICB9KCk7CiAgICAgICAgICB0LkFkZGl0aW9ucyA9IF87CiAgICAgICAgfShvIHx8IChvID0ge30pKSwgbzsKICAgICAgfSkpLCBlKGksICJDb3JlL0F4aXMvQnJva2VuQXhpcy5qcyIsIFtpWyJFeHRlbnNpb25zL1N0YWNraW5nLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgIHZhciBpLCBuID0gZS5hZGRFdmVudCwgbyA9IGUuZmluZCwgciA9IGUuZmlyZUV2ZW50LCBzID0gZS5pc0FycmF5LCBhID0gZS5pc051bWJlciwgaCA9IGUucGljazsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgewogICAgICAgICAgZnVuY3Rpb24gaSgpIHsKICAgICAgICAgICAgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB0aGlzLmJyb2tlbkF4aXMgJiYgdGhpcy5icm9rZW5BeGlzLnNldEJyZWFrcyh0aGlzLm9wdGlvbnMuYnJlYWtzLCAhMSk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gbCgpIHsKICAgICAgICAgICAgdGhpcy5icm9rZW5BeGlzICYmIHRoaXMuYnJva2VuQXhpcy5oYXNCcmVha3MgJiYgKHRoaXMub3B0aW9ucy5vcmRpbmFsID0gITEpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIGMoKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5icm9rZW5BeGlzOwogICAgICAgICAgICBpZiAodCAmJiB0Lmhhc0JyZWFrcykgewogICAgICAgICAgICAgIGZvciAodmFyIGUgPSB0aGlzLnRpY2tQb3NpdGlvbnMsIGkgPSB0aGlzLnRpY2tQb3NpdGlvbnMuaW5mbywgbiA9IFtdLCBvID0gMDsgbyA8IGUubGVuZ3RoOyBvKyspIHQuaXNJbkFueUJyZWFrKGVbb10pIHx8IG4ucHVzaChlW29dKTsKICAgICAgICAgICAgICB0aGlzLnRpY2tQb3NpdGlvbnMgPSBuLCB0aGlzLnRpY2tQb3NpdGlvbnMuaW5mbyA9IGk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBwKCkgewogICAgICAgICAgICB0aGlzLmJyb2tlbkF4aXMgfHwgKHRoaXMuYnJva2VuQXhpcyA9IG5ldyB5KHRoaXMpKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBkKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMub3B0aW9ucy5jb25uZWN0TnVsbHMsIGUgPSB0aGlzLnBvaW50cywgaSA9IHRoaXMueEF4aXMsIG4gPSB0aGlzLnlBeGlzOwogICAgICAgICAgICBpZiAodGhpcy5pc0RpcnR5KSBmb3IgKHZhciBvID0gZS5sZW5ndGg7IG8tLTspIHsKICAgICAgICAgICAgICB2YXIgciA9IGVbb10sCiAgICAgICAgICAgICAgICBzID0gIShudWxsID09PSByLnkgJiYgITEgPT09IHQpICYmIChpICYmIGkuYnJva2VuQXhpcyAmJiBpLmJyb2tlbkF4aXMuaXNJbkFueUJyZWFrKHIueCwgITApIHx8IG4gJiYgbi5icm9rZW5BeGlzICYmIG4uYnJva2VuQXhpcy5pc0luQW55QnJlYWsoci55LCAhMCkpOwogICAgICAgICAgICAgIHIudmlzaWJsZSA9ICFzICYmICExICE9PSByLm9wdGlvbnMudmlzaWJsZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIHUoKSB7CiAgICAgICAgICAgIHRoaXMuZHJhd0JyZWFrcyh0aGlzLnhBeGlzLCBbIngiXSksIHRoaXMuZHJhd0JyZWFrcyh0aGlzLnlBeGlzLCBoKHRoaXMucG9pbnRBcnJheU1hcCwgWyJ5Il0pKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBmKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGksIG4sIG8sIHMsIGwgPSB0aGlzLCBjID0gbC5wb2ludHM7CiAgICAgICAgICAgIGlmICh0ICYmIHQuYnJva2VuQXhpcyAmJiB0LmJyb2tlbkF4aXMuaGFzQnJlYWtzKSB7CiAgICAgICAgICAgICAgdmFyIHAgPSB0LmJyb2tlbkF4aXM7CiAgICAgICAgICAgICAgZS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBpID0gcCAmJiBwLmJyZWFrQXJyYXkgfHwgW10sIG4gPSB0LmlzWEF4aXMgPyB0Lm1pbiA6IGgobC5vcHRpb25zLnRocmVzaG9sZCwgdC5taW4pLCBjLmZvckVhY2goKGZ1bmN0aW9uKGwpIHsKICAgICAgICAgICAgICAgICAgcyA9IGgobFsic3RhY2siICsgZS50b1VwcGVyQ2FzZSgpXSwgbFtlXSksIGkuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGEobikgJiYgYShzKSAmJiAobyA9ICExLCBuIDwgZS5mcm9tICYmIHMgPiBlLnRvIHx8IG4gPiBlLmZyb20gJiYgcyA8IGUuZnJvbSA/IG8gPSAicG9pbnRCcmVhayIgOiAobiA8IGUuZnJvbSAmJiBzID4gZS5mcm9tICYmIHMgPCBlLnRvIHx8IG4gPiBlLmZyb20gJiYgcyA+IGUudG8gJiYgcyA8IGUuZnJvbSkgJiYgKG8gPSAicG9pbnRJbkJyZWFrIiksIG8gJiYgcih0LCBvLCB7CiAgICAgICAgICAgICAgICAgICAgICBwb2ludDogbCwKICAgICAgICAgICAgICAgICAgICAgIGJyazogZQogICAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIGcoKSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jdXJyZW50RGF0YUdyb3VwaW5nLCBpID0gZSAmJiBlLmdhcFNpemU7CiAgICAgICAgICAgIGUgPSB0aGlzLnBvaW50cy5zbGljZSgpOwogICAgICAgICAgICB2YXIgbiwgbyA9IHRoaXMueUF4aXMsIHIgPSB0aGlzLm9wdGlvbnMuZ2FwU2l6ZSwgcyA9IGUubGVuZ3RoIC0gMTsKICAgICAgICAgICAgaWYgKHIgJiYgMCA8IHMpIGZvciAoInZhbHVlIiAhPT0gdGhpcy5vcHRpb25zLmdhcFVuaXQgJiYgKHIgKj0gdGhpcy5iYXNlUG9pbnRSYW5nZSksIGkgJiYgaSA+IHIgJiYgaSA+PSB0aGlzLmJhc2VQb2ludFJhbmdlICYmIChyID0gaSksIG4gPSB2b2lkIDA7IHMtLTspIG4gJiYgITEgIT09IG4udmlzaWJsZSB8fCAobiA9IGVbcyArIDFdKSwgaSA9IGVbc10sICExICE9PSBuLnZpc2libGUgJiYgITEgIT09IGkudmlzaWJsZSAmJiAobi54IC0gaS54ID4gciAmJiAobiA9IChpLnggKyBuLngpIC8gMiwgZS5zcGxpY2UocyArIDEsIDAsIHsKICAgICAgICAgICAgICBpc051bGw6ICEwLAogICAgICAgICAgICAgIHg6IG4KICAgICAgICAgICAgfSksIG8uc3RhY2tpbmcgJiYgdGhpcy5vcHRpb25zLnN0YWNraW5nICYmIChuID0gby5zdGFja2luZy5zdGFja3NbdGhpcy5zdGFja0tleV1bbl0gPSBuZXcgdChvLCBvLm9wdGlvbnMuc3RhY2tMYWJlbHMsICExLCBuLCB0aGlzLnN0YWNrKSwgbi50b3RhbCA9IDApKSwgbiA9IGkpOwogICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRHcmFwaFBhdGgoZSk7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIG0gPSBbXTsKICAgICAgICAgIGUuY29tcG9zZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgaWYgKC0xID09PSBtLmluZGV4T2YodCkgJiYgKG0ucHVzaCh0KSwgdC5rZWVwUHJvcHMucHVzaCgiYnJva2VuQXhpcyIpLCBuKHQsICJpbml0IiwgcCksIG4odCwgImFmdGVySW5pdCIsIGkpLCBuKHQsICJhZnRlclNldFRpY2tQb3NpdGlvbnMiLCBjKSwgbih0LCAiYWZ0ZXJTZXRPcHRpb25zIiwgbCkpLCAtMSA9PT0gbS5pbmRleE9mKGUpKSB7CiAgICAgICAgICAgICAgbS5wdXNoKGUpOwogICAgICAgICAgICAgIHZhciBvID0gZS5wcm90b3R5cGU7CiAgICAgICAgICAgICAgby5kcmF3QnJlYWtzID0gZiwgby5nYXBwZWRQYXRoID0gZywgbihlLCAiYWZ0ZXJHZW5lcmF0ZVBvaW50cyIsIGQpLCBuKGUsICJhZnRlclJlbmRlciIsIHUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0OwogICAgICAgICAgfTsKICAgICAgICAgIHZhciB5ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHQodCkgewogICAgICAgICAgICAgIHRoaXMuaGFzQnJlYWtzID0gITEsIHRoaXMuYXhpcyA9IHQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0LmlzSW5CcmVhayA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHQucmVwZWF0IHx8IDEgLyAwLCBuID0gdC5mcm9tLCBvID0gdC50byAtIHQuZnJvbTsKICAgICAgICAgICAgICByZXR1cm4gZSA9IGUgPj0gbiA/IChlIC0gbikgJSBpIDogaSAtIChuIC0gZSkgJSBpLCB0LmluY2x1c2l2ZSA/IGUgPD0gbyA6IGUgPCBvICYmIDAgIT09IGU7CiAgICAgICAgICAgIH0sIHQubGluMlZhbCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICB2YXIgaSwgbiA9IHRoaXMuYnJva2VuQXhpczsKICAgICAgICAgICAgICBpZiAobiA9IG4gJiYgbi5icmVha0FycmF5LCAhbiB8fCAhYShlKSkgcmV0dXJuIGU7CiAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG4ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHZhciBvID0gbltpXTsKICAgICAgICAgICAgICAgIGlmIChvLmZyb20gPj0gZSkgYnJlYWs7CiAgICAgICAgICAgICAgICBvLnRvIDwgZSA/IGUgKz0gby5sZW4gOiB0LmlzSW5CcmVhayhvLCBlKSAmJiAoZSArPSBvLmxlbik7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHJldHVybiBlOwogICAgICAgICAgICB9LCB0LnZhbDJMaW4gPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzLmJyb2tlbkF4aXM7CiAgICAgICAgICAgICAgaWYgKGkgPSBpICYmIGkuYnJlYWtBcnJheSwgIWkgfHwgIWEoZSkpIHJldHVybiBlOwogICAgICAgICAgICAgIHZhciBuLCBvID0gZTsKICAgICAgICAgICAgICBmb3IgKG4gPSAwOyBuIDwgaS5sZW5ndGg7IG4rKykgewogICAgICAgICAgICAgICAgdmFyIHIgPSBpW25dOwogICAgICAgICAgICAgICAgaWYgKHIudG8gPD0gZSkgbyAtPSByLmxlbjsgZWxzZSB7CiAgICAgICAgICAgICAgICAgIGlmIChyLmZyb20gPj0gZSkgYnJlYWs7CiAgICAgICAgICAgICAgICAgIGlmICh0LmlzSW5CcmVhayhyLCBlKSkgewogICAgICAgICAgICAgICAgICAgIG8gLT0gZSAtIHIuZnJvbTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gbzsKICAgICAgICAgICAgfSwgdC5wcm90b3R5cGUuZmluZEJyZWFrQXQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG8oZSwgKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBlLmZyb20gPCB0ICYmIHQgPCBlLnRvOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSwgdC5wcm90b3R5cGUuaXNJbkFueUJyZWFrID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgIHZhciBuLCBvID0gdGhpcy5heGlzLCByID0gby5vcHRpb25zLmJyZWFrcyB8fCBbXSwgcyA9IHIubGVuZ3RoOwogICAgICAgICAgICAgIGlmIChzICYmIGEoZSkpIHsKICAgICAgICAgICAgICAgIGZvciAoOyBzLS07KSBpZiAodC5pc0luQnJlYWsocltzXSwgZSkpIHsKICAgICAgICAgICAgICAgICAgdmFyIGwgPSAhMDsKICAgICAgICAgICAgICAgICAgbiB8fCAobiA9IGgocltzXS5zaG93UG9pbnRzLCAhby5pc1hBeGlzKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgYyA9IGwgJiYgaSA/IGwgJiYgIW4gOiBsOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gYzsKICAgICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0QnJlYWtzID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgIHZhciBuID0gdGhpcywgbyA9IG4uYXhpcywgbCA9IHMoZSkgJiYgISFlLmxlbmd0aDsKICAgICAgICAgICAgICBvLmlzRGlydHkgPSBuLmhhc0JyZWFrcyAhPT0gbCwgbi5oYXNCcmVha3MgPSBsLCBvLm9wdGlvbnMuYnJlYWtzID0gby51c2VyT3B0aW9ucy5icmVha3MgPSBlLCBvLmZvcmNlUmVkcmF3ID0gITAsIG8uc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQuaXNEaXJ0eSA9ICEwOwogICAgICAgICAgICAgIH0pKSwgbCB8fCBvLnZhbDJsaW4gIT09IHQudmFsMkxpbiB8fCAoZGVsZXRlIG8udmFsMmxpbiwgZGVsZXRlIG8ubGluMnZhbCksIGwgJiYgKG8udXNlck9wdGlvbnMub3JkaW5hbCA9ICExLCBvLmxpbjJ2YWwgPSB0LmxpbjJWYWwsIG8udmFsMmxpbiA9IHQudmFsMkxpbiwgby5zZXRFeHRyZW1lcyA9IGZ1bmN0aW9uKHQsIGUsIGksIHIsIHMpIHsKICAgICAgICAgICAgICAgIGlmIChuLmhhc0JyZWFrcykgewogICAgICAgICAgICAgICAgICBmb3IgKHZhciBhLCBoID0gdGhpcy5vcHRpb25zLmJyZWFrcyB8fCBbXTsgYSA9IG4uZmluZEJyZWFrQXQodCwgaCk7KSB0ID0gYS50bzsKICAgICAgICAgICAgICAgICAgZm9yICg7IGEgPSBuLmZpbmRCcmVha0F0KGUsIGgpOykgZSA9IGEuZnJvbTsKICAgICAgICAgICAgICAgICAgZSA8IHQgJiYgKGUgPSB0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG8uY29uc3RydWN0b3IucHJvdG90eXBlLnNldEV4dHJlbWVzLmNhbGwodGhpcywgdCwgZSwgaSwgciwgcyk7CiAgICAgICAgICAgICAgfSwgby5zZXRBeGlzVHJhbnNsYXRpb24gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGlmIChvLmNvbnN0cnVjdG9yLnByb3RvdHlwZS5zZXRBeGlzVHJhbnNsYXRpb24uY2FsbCh0aGlzKSwgbi51bml0TGVuZ3RoID0gdm9pZCAwLCBuLmhhc0JyZWFrcykgewogICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgcyA9IG8ub3B0aW9ucy5icmVha3MgfHwgW10sIGwgPSBbXSwgYyA9IFtdLCBwID0gaChvLnBvaW50UmFuZ2VQYWRkaW5nLCAwKSwgZCA9IDAsIHUgPSBvLnVzZXJNaW4gfHwgby5taW4sIGYgPSBvLnVzZXJNYXggfHwgby5tYXg7CiAgICAgICAgICAgICAgICAgIHMuZm9yRWFjaCgoZnVuY3Rpb24oaSkgewogICAgICAgICAgICAgICAgICAgIGUgPSBpLnJlcGVhdCB8fCAxIC8gMCwgYSh1KSAmJiBhKGYpICYmICh0LmlzSW5CcmVhayhpLCB1KSAmJiAodSArPSBpLnRvICUgZSAtIHUgJSBlKSwgdC5pc0luQnJlYWsoaSwgZikgJiYgKGYgLT0gZiAlIGUgLSBpLmZyb20gJSBlKSk7CiAgICAgICAgICAgICAgICAgIH0pKSwgcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKG0gPSB0LmZyb20sIGUgPSB0LnJlcGVhdCB8fCAxIC8gMCwgYSh1KSAmJiBhKGYpKSB7CiAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgbSAtIGUgPiB1OykgbSAtPSBlOwogICAgICAgICAgICAgICAgICAgICAgZm9yICg7IG0gPCB1OykgbSArPSBlOwogICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gbTsgaSA8IGY7IGkgKz0gZSkgbC5wdXNoKHsgdmFsdWU6IGksIG1vdmU6ICJpbiIgfSksIGwucHVzaCh7IHZhbHVlOiBpICsgdC50byAtIHQuZnJvbSwgbW92ZTogIm91dCIsIHNpemU6IHQuYnJlYWtTaXplIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSkpLCBsLnNvcnQoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC52YWx1ZSA9PT0gZS52YWx1ZSA/ICgiaW4iID09PSB0Lm1vdmUgPyAwIDogMSkgLSAoImluIiA9PT0gZS5tb3ZlID8gMCA6IDEpIDogdC52YWx1ZSAtIGUudmFsdWU7CiAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgICAgdmFyIGcgPSAwLCBtID0gdTsKICAgICAgICAgICAgICAgICAgbC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgZyArPSAiaW4iID09PSB0Lm1vdmUgPyAxIDogLTEsIDEgPT09IGcgJiYgImluIiA9PT0gdC5tb3ZlICYmIChtID0gdC52YWx1ZSksIDAgPT09IGcgJiYgYShtKSAmJiAoYy5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgIGZyb206IG0sCiAgICAgICAgICAgICAgICAgICAgICB0bzogdC52YWx1ZSwKICAgICAgICAgICAgICAgICAgICAgIGxlbjogdC52YWx1ZSAtIG0gLSAodC5zaXplIHx8IDApCiAgICAgICAgICAgICAgICAgICAgfSksIGQgKz0gdC52YWx1ZSAtIG0gLSAodC5zaXplIHx8IDApKTsKICAgICAgICAgICAgICAgICAgfSkpLCBuLmJyZWFrQXJyYXkgPSBjLCBhKHUpICYmIGEoZikgJiYgYShvLm1pbikgJiYgKG4udW5pdExlbmd0aCA9IGYgLSB1IC0gZCArIHAsIHIobywgImFmdGVyQnJlYWtzIiksIG8uc3RhdGljU2NhbGUgPyBvLnRyYW5zQSA9IG8uc3RhdGljU2NhbGUgOiBuLnVuaXRMZW5ndGggJiYgKG8udHJhbnNBICo9IChmIC0gby5taW4gKyBwKSAvIG4udW5pdExlbmd0aCksIHAgJiYgKG8ubWluUGl4ZWxQYWRkaW5nID0gby50cmFuc0EgKiAoby5taW5Qb2ludE9mZnNldCB8fCAwKSksIG8ubWluID0gdSwgby5tYXggPSBmKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KSwgaChpLCAhMCkgJiYgby5jaGFydC5yZWRyYXcoKTsKICAgICAgICAgICAgfSwgdDsKICAgICAgICAgIH0oKTsKICAgICAgICAgIGUuQWRkaXRpb25zID0geTsKICAgICAgICB9KGkgfHwgKGkgPSB7fSkpLCBpOwogICAgICB9KSksIGUoaSwgIm1hc3RlcnMvbW9kdWxlcy9icm9rZW4tYXhpcy5zcmMuanMiLCBbaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvQXhpcy9Ccm9rZW5BeGlzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgIGUuY29tcG9zZSh0LkF4aXMsIHQuU2VyaWVzKTsKICAgICAgfSkpLCBlKGksICJFeHRlbnNpb25zL0RhdGFHcm91cGluZy5qcyIsIFtpWyJDb3JlL0F4aXMvQXhpcy5qcyJdLCBpWyJDb3JlL0F4aXMvRGF0ZVRpbWVBeGlzLmpzIl0sIGlbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1Nlcmllcy9Qb2ludC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSwgaVsiQ29yZS9Ub29sdGlwLmpzIl0sIGlbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzLCBhLCBoKSB7CiAgICAgICAgdmFyIGwgPSBpLmZvcm1hdCwgYyA9IHIucHJvdG90eXBlOwogICAgICAgIGkgPSBoLmFkZEV2ZW50OwogICAgICAgIHZhciBwID0gaC5hcnJheU1heCwgZCA9IGguYXJyYXlNaW4sIHUgPSBoLmNvcnJlY3RGbG9hdCwgZiA9IGguZGVmaW5lZCwgZyA9IGguZXJyb3IsIG0gPSBoLmV4dGVuZCwgeSA9IGguaXNOdW1iZXIsIHYgPSBoLm1lcmdlLCB4ID0gaC5waWNrLAogICAgICAgICAgYiA9IG4uYXBwcm94aW1hdGlvbnMgPSB7CiAgICAgICAgICAgIHN1bTogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBlID0gdC5sZW5ndGg7CiAgICAgICAgICAgICAgaWYgKCFlICYmIHQuaGFzTnVsbHMpIHZhciBpID0gbnVsbDsgZWxzZSBpZiAoZSkgZm9yIChpID0gMDsgZS0tOykgaSArPSB0W2VdOwogICAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgICAgICB9LCBhdmVyYWdlOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSB0Lmxlbmd0aDsKICAgICAgICAgICAgICByZXR1cm4gdCA9IGIuc3VtKHQpLCB5KHQpICYmIGUgJiYgKHQgPSB1KHQgLyBlKSksIHQ7CiAgICAgICAgICAgIH0sIGF2ZXJhZ2VzOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgdCA9IFtdOwogICAgICAgICAgICAgIHJldHVybiBbXS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdC5wdXNoKGIuYXZlcmFnZShlKSk7CiAgICAgICAgICAgICAgfSkpLCAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHRbMF0gPyB2b2lkIDAgOiB0OwogICAgICAgICAgICB9LCBvcGVuOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQubGVuZ3RoID8gdFswXSA6IHQuaGFzTnVsbHMgPyBudWxsIDogdm9pZCAwOwogICAgICAgICAgICB9LCBoaWdoOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQubGVuZ3RoID8gcCh0KSA6IHQuaGFzTnVsbHMgPyBudWxsIDogdm9pZCAwOwogICAgICAgICAgICB9LCBsb3c6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdC5sZW5ndGggPyBkKHQpIDogdC5oYXNOdWxscyA/IG51bGwgOiB2b2lkIDA7CiAgICAgICAgICAgIH0sIGNsb3NlOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQubGVuZ3RoID8gdFt0Lmxlbmd0aCAtIDFdIDogdC5oYXNOdWxscyA/IG51bGwgOiB2b2lkIDA7CiAgICAgICAgICAgIH0sIGhsYzogZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgIGlmICh0ID0gYi5oaWdoKHQpLCBlID0gYi5sb3coZSksIGkgPSBiLmNsb3NlKGkpLCB5KHQpIHx8IHkoZSkgfHwgeShpKSkgcmV0dXJuIFt0LCBlLCBpXTsKICAgICAgICAgICAgfSwgb2hsYzogZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgIGlmICh0ID0gYi5vcGVuKHQpLCBlID0gYi5oaWdoKGUpLCBpID0gYi5sb3coaSksIG4gPSBiLmNsb3NlKG4pLCB5KHQpIHx8IHkoZSkgfHwgeShpKSB8fCB5KG4pKSByZXR1cm4gW3QsIGUsIGksIG5dOwogICAgICAgICAgICB9LCByYW5nZTogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHJldHVybiB0ID0gYi5sb3codCksIGUgPSBiLmhpZ2goZSksIHkodCkgfHwgeShlKSA/IFt0LCBlXSA6IG51bGwgPT09IHQgJiYgbnVsbCA9PT0gZSA/IG51bGwgOiB2b2lkIDA7CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgaCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgIHZhciBvLCByID0gdGhpcywgcyA9IHIuZGF0YSwgYSA9IHIub3B0aW9ucyAmJiByLm9wdGlvbnMuZGF0YSwgaCA9IFtdLCBsID0gW10sIGMgPSBbXSwgcCA9IHQubGVuZ3RoLCBkID0gISFlLCB1ID0gW10sIGcgPSByLnBvaW50QXJyYXlNYXAsCiAgICAgICAgICAgIG0gPSBnICYmIGcubGVuZ3RoLCB4ID0gWyJ4Il0uY29uY2F0KGcgfHwgWyJ5Il0pLCBfID0gdGhpcy5vcHRpb25zLmRhdGFHcm91cGluZyAmJiB0aGlzLm9wdGlvbnMuZGF0YUdyb3VwaW5nLmdyb3VwQWxsLCB3ID0gMCwgayA9IDA7CiAgICAgICAgICBuID0gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIG4gPyBuIDogYltuXSA/IGJbbl0gOiBiW3IuZ2V0REdBcHByb3hpbWF0aW9uICYmIHIuZ2V0REdBcHByb3hpbWF0aW9uKCkgfHwgImF2ZXJhZ2UiXSwgbSA/IGcuZm9yRWFjaCgoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHUucHVzaChbXSk7CiAgICAgICAgICB9KSkgOiB1LnB1c2goW10pOwogICAgICAgICAgdmFyIFMgPSBtIHx8IDE7CiAgICAgICAgICBmb3IgKG8gPSAwOyBvIDw9IHAgJiYgISh0W29dID49IGlbMF0pOyBvKyspIDsKICAgICAgICAgIGZvciAobzsgbyA8PSBwOyBvKyspIHsKICAgICAgICAgICAgZm9yICg7ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgaVt3ICsgMV0gJiYgdFtvXSA+PSBpW3cgKyAxXSB8fCBvID09PSBwOykgewogICAgICAgICAgICAgIHZhciBDID0gaVt3XTsKICAgICAgICAgICAgICByLmRhdGFHcm91cEluZm8gPSB7IHN0YXJ0OiBfID8gayA6IHIuY3JvcFN0YXJ0ICsgaywgbGVuZ3RoOiB1WzBdLmxlbmd0aCB9OwogICAgICAgICAgICAgIHZhciBNID0gbi5hcHBseShyLCB1KTsKICAgICAgICAgICAgICBmb3IgKHIucG9pbnRDbGFzcyAmJiAhZihyLmRhdGFHcm91cEluZm8ub3B0aW9ucykgJiYgKHIuZGF0YUdyb3VwSW5mby5vcHRpb25zID0gdihyLnBvaW50Q2xhc3MucHJvdG90eXBlLm9wdGlvbnNUb09iamVjdC5jYWxsKHsgc2VyaWVzOiByIH0sIHIub3B0aW9ucy5kYXRhW3IuY3JvcFN0YXJ0ICsga10pKSwgeC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBkZWxldGUgci5kYXRhR3JvdXBJbmZvLm9wdGlvbnNbdF07CiAgICAgICAgICAgICAgfSkpKSwgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBNICYmIChoLnB1c2goQyksIGwucHVzaChNKSwgYy5wdXNoKHIuZGF0YUdyb3VwSW5mbykpLCBrID0gbywgQyA9IDA7IEMgPCBTOyBDKyspIHVbQ10ubGVuZ3RoID0gMCwgdVtDXS5oYXNOdWxscyA9ICExOwogICAgICAgICAgICAgIGlmICh3ICs9IDEsIG8gPT09IHApIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChvID09PSBwKSBicmVhazsKICAgICAgICAgICAgaWYgKGcpIHsKICAgICAgICAgICAgICBDID0gci5vcHRpb25zLmRhdGFHcm91cGluZyAmJiByLm9wdGlvbnMuZGF0YUdyb3VwaW5nLmdyb3VwQWxsID8gbyA6IHIuY3JvcFN0YXJ0ICsgbywgTSA9IHMgJiYgc1tDXSB8fCByLnBvaW50Q2xhc3MucHJvdG90eXBlLmFwcGx5T3B0aW9ucy5hcHBseSh7IHNlcmllczogciB9LCBbYVtDXV0pOwogICAgICAgICAgICAgIHZhciBBID0gdm9pZCAwOwogICAgICAgICAgICAgIGZvciAoQyA9IDA7IEMgPCBtOyBDKyspIEEgPSBNW2dbQ11dLCB5KEEpID8gdVtDXS5wdXNoKEEpIDogbnVsbCA9PT0gQSAmJiAodVtDXS5oYXNOdWxscyA9ICEwKTsKICAgICAgICAgICAgfSBlbHNlIEMgPSBkID8gZVtvXSA6IG51bGwsIHkoQykgPyB1WzBdLnB1c2goQykgOiBudWxsID09PSBDICYmICh1WzBdLmhhc051bGxzID0gITApOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHsgZ3JvdXBlZFhEYXRhOiBoLCBncm91cGVkWURhdGE6IGwsIGdyb3VwTWFwOiBjIH07CiAgICAgICAgfTsKICAgICAgICB2YXIgXyA9IHsgYXBwcm94aW1hdGlvbnM6IGIsIGdyb3VwRGF0YTogaCB9LCB3ID0gYy5nZW5lcmF0ZVBvaW50cywgayA9IHsKICAgICAgICAgICAgZ3JvdXBQaXhlbFdpZHRoOiAyLAogICAgICAgICAgICBkYXRlVGltZUxhYmVsRm9ybWF0czogewogICAgICAgICAgICAgIG1pbGxpc2Vjb25kOiBbIiVBLCAlYiAlZSwgJUg6JU06JVMuJUwiLCAiJUEsICViICVlLCAlSDolTTolUy4lTCIsICItJUg6JU06JVMuJUwiXSwKICAgICAgICAgICAgICBzZWNvbmQ6IFsiJUEsICViICVlLCAlSDolTTolUyIsICIlQSwgJWIgJWUsICVIOiVNOiVTIiwgIi0lSDolTTolUyJdLAogICAgICAgICAgICAgIG1pbnV0ZTogWyIlQSwgJWIgJWUsICVIOiVNIiwgIiVBLCAlYiAlZSwgJUg6JU0iLCAiLSVIOiVNIl0sCiAgICAgICAgICAgICAgaG91cjogWyIlQSwgJWIgJWUsICVIOiVNIiwgIiVBLCAlYiAlZSwgJUg6JU0iLCAiLSVIOiVNIl0sCiAgICAgICAgICAgICAgZGF5OiBbIiVBLCAlYiAlZSwgJVkiLCAiJUEsICViICVlIiwgIi0lQSwgJWIgJWUsICVZIl0sCiAgICAgICAgICAgICAgd2VlazogWyJXZWVrIGZyb20gJUEsICViICVlLCAlWSIsICIlQSwgJWIgJWUiLCAiLSVBLCAlYiAlZSwgJVkiXSwKICAgICAgICAgICAgICBtb250aDogWyIlQiAlWSIsICIlQiIsICItJUIgJVkiXSwKICAgICAgICAgICAgICB5ZWFyOiBbIiVZIiwgIiVZIiwgIi0lWSJdCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIFMgPSB7CiAgICAgICAgICAgIGxpbmU6IHt9LAogICAgICAgICAgICBzcGxpbmU6IHt9LAogICAgICAgICAgICBhcmVhOiB7fSwKICAgICAgICAgICAgYXJlYXNwbGluZToge30sCiAgICAgICAgICAgIGFyZWFyYW5nZToge30sCiAgICAgICAgICAgIGNvbHVtbjogeyBncm91cFBpeGVsV2lkdGg6IDEwIH0sCiAgICAgICAgICAgIGNvbHVtbnJhbmdlOiB7IGdyb3VwUGl4ZWxXaWR0aDogMTAgfSwKICAgICAgICAgICAgY2FuZGxlc3RpY2s6IHsgZ3JvdXBQaXhlbFdpZHRoOiAxMCB9LAogICAgICAgICAgICBvaGxjOiB7IGdyb3VwUGl4ZWxXaWR0aDogNSB9LAogICAgICAgICAgICBobGM6IHsgZ3JvdXBQaXhlbFdpZHRoOiA1IH0sCiAgICAgICAgICAgIGhlaWtpbmFzaGk6IHsgZ3JvdXBQaXhlbFdpZHRoOiAxMCB9CiAgICAgICAgICB9LAogICAgICAgICAgQyA9IG4uZGVmYXVsdERhdGFHcm91cGluZ1VuaXRzID0gW1sibWlsbGlzZWNvbmQiLCBbMSwgMiwgNSwgMTAsIDIwLCAyNSwgNTAsIDEwMCwgMjAwLCA1MDBdXSwgWyJzZWNvbmQiLCBbMSwgMiwgNSwgMTAsIDE1LCAzMF1dLCBbIm1pbnV0ZSIsIFsxLCAyLCA1LCAxMCwgMTUsIDMwXV0sIFsiaG91ciIsIFsxLCAyLCAzLCA0LCA2LCA4LCAxMl1dLCBbImRheSIsIFsxXV0sIFsid2VlayIsIFsxXV0sIFsibW9udGgiLCBbMSwgMywgNl1dLCBbInllYXIiLCBudWxsXV07CiAgICAgICAgcmV0dXJuIGMuZ2V0REdBcHByb3hpbWF0aW9uID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5pcygiYXJlYXJhbmdlIikgPyAicmFuZ2UiIDogdGhpcy5pcygib2hsYyIpID8gIm9obGMiIDogdGhpcy5pcygiaGxjIikgPyAiaGxjIiA6IHRoaXMuaXMoImNvbHVtbiIpID8gInN1bSIgOiAiYXZlcmFnZSI7CiAgICAgICAgfSwgYy5ncm91cERhdGEgPSBoLCBjLmFwcGx5R3JvdXBpbmcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgaSwgbiA9IHRoaXMuY2hhcnQsIG8gPSB0aGlzLm9wdGlvbnMuZGF0YUdyb3VwaW5nLCByID0gITEgIT09IHRoaXMuYWxsb3dERyAmJiBvICYmIHgoby5lbmFibGVkLCBuLm9wdGlvbnMuaXNTdG9jayksCiAgICAgICAgICAgIHMgPSB0aGlzLnZpc2libGUgfHwgIW4ub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMsIGEgPSB0aGlzLmN1cnJlbnREYXRhR3JvdXBpbmcsIGggPSAhMTsKICAgICAgICAgIGlmIChyICYmICF0aGlzLnJlcXVpcmVTb3J0aW5nICYmICh0aGlzLnJlcXVpcmVTb3J0aW5nID0gaCA9ICEwKSwgdCA9ICExID09PSAhKHRoaXMuaXNDYXJ0ZXNpYW4gJiYgIXRoaXMuaXNEaXJ0eSAmJiAhdGhpcy54QXhpcy5pc0RpcnR5ICYmICF0aGlzLnlBeGlzLmlzRGlydHkgJiYgIXQpIHx8ICFyLCBoICYmICh0aGlzLnJlcXVpcmVTb3J0aW5nID0gITEpLCAhdCkgewogICAgICAgICAgICB0aGlzLmRlc3Ryb3lHcm91cGVkRGF0YSgpLCByID0gby5ncm91cEFsbCA/IHRoaXMueERhdGEgOiB0aGlzLnByb2Nlc3NlZFhEYXRhOwogICAgICAgICAgICB2YXIgbCA9IG8uZ3JvdXBBbGwgPyB0aGlzLnlEYXRhIDogdGhpcy5wcm9jZXNzZWRZRGF0YTsKICAgICAgICAgICAgdCA9IG4ucGxvdFNpemVYLCBoID0gdGhpcy54QXhpczsKICAgICAgICAgICAgdmFyIHAgPSBoLm9wdGlvbnMub3JkaW5hbCwgZCA9IHRoaXMuZ3JvdXBQaXhlbFdpZHRoOwogICAgICAgICAgICBpZiAoZCAmJiByICYmIHIubGVuZ3RoKSB7CiAgICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gaSA9ICEwLCB0aGlzLnBvaW50cyA9IG51bGw7CiAgICAgICAgICAgICAgdmFyIHUgPSBoLmdldEV4dHJlbWVzKCksIG0gPSB1Lm1pbjsKICAgICAgICAgICAgICB1ID0gdS5tYXgsIHAgPSBwICYmIGgub3JkaW5hbCAmJiBoLm9yZGluYWwuZ2V0R3JvdXBJbnRlcnZhbEZhY3RvcihtLCB1LCB0aGlzKSB8fCAxLCB0ID0gaC5nZXRUaW1lVGlja3MoZS5BZGRpdGlvbnMucHJvdG90eXBlLm5vcm1hbGl6ZVRpbWVUaWNrSW50ZXJ2YWwoZCAqICh1IC0gbSkgLyB0ICogcCwgby51bml0cyB8fCBDKSwgTWF0aC5taW4obSwgclswXSksIE1hdGgubWF4KHUsIHJbci5sZW5ndGggLSAxXSksIGgub3B0aW9ucy5zdGFydE9mV2VlaywgciwgdGhpcy5jbG9zZXN0UG9pbnRSYW5nZSksIGQgPSBjLmdyb3VwRGF0YS5hcHBseSh0aGlzLCBbciwgbCwgdCwgby5hcHByb3hpbWF0aW9uXSksIHIgPSBkLmdyb3VwZWRYRGF0YSwgbCA9IGQuZ3JvdXBlZFlEYXRhLCBwID0gMCwgbyAmJiBvLnNtb290aGVkICYmIHIubGVuZ3RoICYmIChvLmZpcnN0QW5jaG9yID0gImZpcnN0UG9pbnQiLCBvLmFuY2hvciA9ICJtaWRkbGUiLCBvLmxhc3RBbmNob3IgPSAibGFzdFBvaW50IiwgZygzMiwgITEsIG4sIHsgImRhdGFHcm91cGluZy5zbW9vdGhlZCI6ICJ1c2UgZGF0YUdyb3VwaW5nLmFuY2hvciIgfSkpLCBuID0gcjsKICAgICAgICAgICAgICB2YXIgdiA9IHRoaXMub3B0aW9ucy5kYXRhR3JvdXBpbmc7CiAgICAgICAgICAgICAgaWYgKG0gPSB0aGlzLmN1cnJlbnREYXRhR3JvdXBpbmcgJiYgdGhpcy5jdXJyZW50RGF0YUdyb3VwaW5nLmdhcFNpemUsIHYgJiYgdGhpcy54RGF0YSAmJiBtICYmIHRoaXMuZ3JvdXBNYXApIHsKICAgICAgICAgICAgICAgIHZhciBiID0gbi5sZW5ndGggLSAxLCBfID0gdi5hbmNob3IsIHcgPSB4KHYuZmlyc3RBbmNob3IsIF8pOwogICAgICAgICAgICAgICAgaWYgKHYgPSB4KHYubGFzdEFuY2hvciwgXyksIF8gJiYgInN0YXJ0IiAhPT0gXykgewogICAgICAgICAgICAgICAgICB2YXIgayA9IG0gKiB7IG1pZGRsZTogLjUsIGVuZDogMSB9W19dOwogICAgICAgICAgICAgICAgICBmb3IgKF8gPSBuLmxlbmd0aCAtIDE7IF8tLSAmJiAwIDwgXzspIG5bX10gKz0gazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICh3ICYmICJzdGFydCIgIT09IHcgJiYgdGhpcy54RGF0YVswXSA+PSBuWzBdKSB7CiAgICAgICAgICAgICAgICAgIF8gPSB0aGlzLmdyb3VwTWFwWzBdLnN0YXJ0LCBrID0gdGhpcy5ncm91cE1hcFswXS5sZW5ndGg7CiAgICAgICAgICAgICAgICAgIHZhciBTID0gdm9pZCAwOwogICAgICAgICAgICAgICAgICB5KF8pICYmIHkoaykgJiYgKFMgPSBfICsgKGsgLSAxKSksIG5bMF0gPSB7CiAgICAgICAgICAgICAgICAgICAgbWlkZGxlOiBuWzBdICsgLjUgKiBtLAogICAgICAgICAgICAgICAgICAgIGVuZDogblswXSArIG0sCiAgICAgICAgICAgICAgICAgICAgZmlyc3RQb2ludDogdGhpcy54RGF0YVswXSwKICAgICAgICAgICAgICAgICAgICBsYXN0UG9pbnQ6IFMgJiYgdGhpcy54RGF0YVtTXQogICAgICAgICAgICAgICAgICB9W3ddOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdiAmJiAic3RhcnQiICE9PSB2ICYmIG0gJiYgbltiXSA+PSB1IC0gbSAmJiAodSA9IHRoaXMuZ3JvdXBNYXBbdGhpcy5ncm91cE1hcC5sZW5ndGggLSAxXS5zdGFydCwgbltiXSA9IHsKICAgICAgICAgICAgICAgICAgbWlkZGxlOiBuW2JdICsgLjUgKiBtLAogICAgICAgICAgICAgICAgICBlbmQ6IG5bYl0gKyBtLAogICAgICAgICAgICAgICAgICBmaXJzdFBvaW50OiB1ICYmIHRoaXMueERhdGFbdV0sCiAgICAgICAgICAgICAgICAgIGxhc3RQb2ludDogdGhpcy54RGF0YVt0aGlzLnhEYXRhLmxlbmd0aCAtIDFdCiAgICAgICAgICAgICAgICB9W3ZdKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZm9yICh1ID0gMTsgdSA8IHQubGVuZ3RoOyB1KyspIHQuaW5mby5zZWdtZW50U3RhcnRzICYmIC0xICE9PSB0LmluZm8uc2VnbWVudFN0YXJ0cy5pbmRleE9mKHUpIHx8IChwID0gTWF0aC5tYXgodFt1XSAtIHRbdSAtIDFdLCBwKSk7CiAgICAgICAgICAgICAgdSA9IHQuaW5mbywgdS5nYXBTaXplID0gcCwgdGhpcy5jbG9zZXN0UG9pbnRSYW5nZSA9IHQuaW5mby50b3RhbFJhbmdlLCB0aGlzLmdyb3VwTWFwID0gZC5ncm91cE1hcCwgcyAmJiAocyA9IHIsIGYoc1swXSkgJiYgeShoLm1pbikgJiYgeShoLmRhdGFNaW4pICYmIHNbMF0gPCBoLm1pbiAmJiAoKCFmKGgub3B0aW9ucy5taW4pICYmIGgubWluIDw9IGguZGF0YU1pbiB8fCBoLm1pbiA9PT0gaC5kYXRhTWluKSAmJiAoaC5taW4gPSBNYXRoLm1pbihzWzBdLCBoLm1pbikpLCBoLmRhdGFNaW4gPSBNYXRoLm1pbihzWzBdLCBoLmRhdGFNaW4pKSwgZihzW3MubGVuZ3RoIC0gMV0pICYmIHkoaC5tYXgpICYmIHkoaC5kYXRhTWF4KSAmJiBzW3MubGVuZ3RoIC0gMV0gPiBoLm1heCAmJiAoKCFmKGgub3B0aW9ucy5tYXgpICYmIHkoaC5kYXRhTWF4KSAmJiBoLm1heCA+PSBoLmRhdGFNYXggfHwgaC5tYXggPT09IGguZGF0YU1heCkgJiYgKGgubWF4ID0gTWF0aC5tYXgoc1tzLmxlbmd0aCAtIDFdLCBoLm1heCkpLCBoLmRhdGFNYXggPSBNYXRoLm1heChzW3MubGVuZ3RoIC0gMV0sIGguZGF0YU1heCkpKSwgby5ncm91cEFsbCAmJiAodGhpcy5hbGxHcm91cGVkRGF0YSA9IGwsIG8gPSB0aGlzLmNyb3BEYXRhKHIsIGwsIGgubWluLCBoLm1heCwgMSksIHIgPSBvLnhEYXRhLCBsID0gby55RGF0YSwgdGhpcy5jcm9wU3RhcnQgPSBvLnN0YXJ0KSwgdGhpcy5wcm9jZXNzZWRYRGF0YSA9IHIsIHRoaXMucHJvY2Vzc2VkWURhdGEgPSBsOwogICAgICAgICAgICB9IGVsc2UgdGhpcy5ncm91cE1hcCA9IG51bGw7CiAgICAgICAgICAgIHRoaXMuaGFzR3JvdXBlZERhdGEgPSBpLCB0aGlzLmN1cnJlbnREYXRhR3JvdXBpbmcgPSB1LCB0aGlzLnByZXZlbnRHcmFwaEFuaW1hdGlvbiA9IChhICYmIGEudG90YWxSYW5nZSkgIT09ICh1ICYmIHUudG90YWxSYW5nZSk7CiAgICAgICAgICB9CiAgICAgICAgfSwgYy5kZXN0cm95R3JvdXBlZERhdGEgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHRoaXMuZ3JvdXBlZERhdGEgJiYgKHRoaXMuZ3JvdXBlZERhdGEuZm9yRWFjaCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0ICYmICh0aGlzLmdyb3VwZWREYXRhW2VdID0gdC5kZXN0cm95ID8gdC5kZXN0cm95KCkgOiBudWxsKTsKICAgICAgICAgIH0pLCB0aGlzKSwgdGhpcy5ncm91cGVkRGF0YS5sZW5ndGggPSAwKTsKICAgICAgICB9LCBjLmdlbmVyYXRlUG9pbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB3LmFwcGx5KHRoaXMpLCB0aGlzLmRlc3Ryb3lHcm91cGVkRGF0YSgpLCB0aGlzLmdyb3VwZWREYXRhID0gdGhpcy5oYXNHcm91cGVkRGF0YSA/IHRoaXMucG9pbnRzIDogbnVsbDsKICAgICAgICB9LCB0LnByb3RvdHlwZS5hcHBseUdyb3VwaW5nID0gZnVuY3Rpb24odCkgewogICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgZS5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oaSkgewogICAgICAgICAgICBpLmdyb3VwUGl4ZWxXaWR0aCA9IHZvaWQgMCwgaS5ncm91cFBpeGVsV2lkdGggPSBlLmdldEdyb3VwUGl4ZWxXaWR0aCAmJiBlLmdldEdyb3VwUGl4ZWxXaWR0aCgpLCBpLmdyb3VwUGl4ZWxXaWR0aCAmJiAoaS5oYXNQcm9jZXNzZWQgPSAhMCksIGkuYXBwbHlHcm91cGluZyghIXQuaGFzRXh0ZW1lc0NoYW5nZWQpOwogICAgICAgICAgfSkpOwogICAgICAgIH0sIHQucHJvdG90eXBlLmdldEdyb3VwUGl4ZWxXaWR0aCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQsIGUsIGkgPSB0aGlzLnNlcmllcywgbiA9IGkubGVuZ3RoLCBvID0gMCwgciA9ICExOwogICAgICAgICAgZm9yICh0ID0gbjsgdC0tOykgKGUgPSBpW3RdLm9wdGlvbnMuZGF0YUdyb3VwaW5nKSAmJiAobyA9IE1hdGgubWF4KG8sIHgoZS5ncm91cFBpeGVsV2lkdGgsIGsuZ3JvdXBQaXhlbFdpZHRoKSkpOwogICAgICAgICAgZm9yICh0ID0gbjsgdC0tOykgKGUgPSBpW3RdLm9wdGlvbnMuZGF0YUdyb3VwaW5nKSAmJiAobiA9IChpW3RdLnByb2Nlc3NlZFhEYXRhIHx8IGlbdF0uZGF0YSkubGVuZ3RoLCAoaVt0XS5ncm91cFBpeGVsV2lkdGggfHwgbiA+IHRoaXMuY2hhcnQucGxvdFNpemVYIC8gbyB8fCBuICYmIGUuZm9yY2VkKSAmJiAociA9ICEwKSk7CiAgICAgICAgICByZXR1cm4gciA/IG8gOiAwOwogICAgICAgIH0sIHQucHJvdG90eXBlLnNldERhdGFHcm91cGluZyA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgIHZhciBuOwogICAgICAgICAgaWYgKGkgPSB4KGksICEwKSwgZSB8fCAoZSA9IHsKICAgICAgICAgICAgZm9yY2VkOiAhMSwKICAgICAgICAgICAgdW5pdHM6IG51bGwKICAgICAgICAgIH0pLCB0aGlzIGluc3RhbmNlb2YgdCkgZm9yIChuID0gdGhpcy5zZXJpZXMubGVuZ3RoOyBuLS07KSB0aGlzLnNlcmllc1tuXS51cGRhdGUoeyBkYXRhR3JvdXBpbmc6IGUgfSwgITEpOyBlbHNlIHRoaXMuY2hhcnQub3B0aW9ucy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICB0LmRhdGFHcm91cGluZyA9IGU7CiAgICAgICAgICB9KSwgITEpOwogICAgICAgICAgdGhpcy5vcmRpbmFsICYmICh0aGlzLm9yZGluYWwuc2xvcGUgPSB2b2lkIDApLCBpICYmIHRoaXMuY2hhcnQucmVkcmF3KCk7CiAgICAgICAgfSwgaSh0LCAicG9zdFByb2Nlc3NEYXRhIiwgdC5wcm90b3R5cGUuYXBwbHlHcm91cGluZyksIGkobywgInVwZGF0ZSIsIChmdW5jdGlvbigpIHsKICAgICAgICAgIGlmICh0aGlzLmRhdGFHcm91cCkgcmV0dXJuIGcoMjQsICExLCB0aGlzLnNlcmllcy5jaGFydCksICExOwogICAgICAgIH0pKSwgaShzLCAiaGVhZGVyRm9ybWF0dGVyIiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydCwgaSA9IGUudGltZSwgbiA9IHQubGFiZWxDb25maWcsIG8gPSBuLnNlcmllcywgciA9IG8udG9vbHRpcE9wdGlvbnMsIHMgPSBvLm9wdGlvbnMuZGF0YUdyb3VwaW5nLCBhID0gci54RGF0ZUZvcm1hdCwgaCA9IG8ueEF4aXMsCiAgICAgICAgICAgIGMgPSByW3QuaXNGb290ZXIgPyAiZm9vdGVyRm9ybWF0IiA6ICJoZWFkZXJGb3JtYXQiXTsKICAgICAgICAgIGlmIChoICYmICJkYXRldGltZSIgPT09IGgub3B0aW9ucy50eXBlICYmIHMgJiYgeShuLmtleSkpIHsKICAgICAgICAgICAgdmFyIHAgPSBvLmN1cnJlbnREYXRhR3JvdXBpbmc7CiAgICAgICAgICAgIGlmIChzID0gcy5kYXRlVGltZUxhYmVsRm9ybWF0cyB8fCBrLmRhdGVUaW1lTGFiZWxGb3JtYXRzLCBwKSBpZiAociA9IHNbcC51bml0TmFtZV0sIDEgPT09IHAuY291bnQpIGEgPSByWzBdOyBlbHNlIHsKICAgICAgICAgICAgICBhID0gclsxXTsKICAgICAgICAgICAgICB2YXIgZCA9IHJbMl07CiAgICAgICAgICAgIH0gZWxzZSAhYSAmJiBzICYmIGguZGF0ZVRpbWUgJiYgKGEgPSBoLmRhdGVUaW1lLmdldFhEYXRlRm9ybWF0KG4ueCwgci5kYXRlVGltZUxhYmVsRm9ybWF0cykpOwogICAgICAgICAgICBhID0gaS5kYXRlRm9ybWF0KGEsIG4ua2V5KSwgZCAmJiAoYSArPSBpLmRhdGVGb3JtYXQoZCwgbi5rZXkgKyBwLnRvdGFsUmFuZ2UgLSAxKSksIG8uY2hhcnQuc3R5bGVkTW9kZSAmJiAoYyA9IHRoaXMuc3R5bGVkTW9kZUZvcm1hdChjKSksIHQudGV4dCA9IGwoYywgewogICAgICAgICAgICAgIHBvaW50OiBtKG4ucG9pbnQsIHsga2V5OiBhIH0pLAogICAgICAgICAgICAgIHNlcmllczogbwogICAgICAgICAgICB9LCBlKSwgdC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgfQogICAgICAgIH0pKSwgaShyLCAiZGVzdHJveSIsIGMuZGVzdHJveUdyb3VwZWREYXRhKSwgaShyLCAiYWZ0ZXJTZXRPcHRpb25zIiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHQgPSB0Lm9wdGlvbnM7CiAgICAgICAgICB2YXIgZSA9IHRoaXMudHlwZSwgaSA9IHRoaXMuY2hhcnQub3B0aW9ucy5wbG90T3B0aW9ucywgbiA9IGEuZGVmYXVsdE9wdGlvbnMucGxvdE9wdGlvbnNbZV0uZGF0YUdyb3VwaW5nLCBvID0gdGhpcy51c2VDb21tb25EYXRhR3JvdXBpbmcgJiYgazsKICAgICAgICAgIGlmIChpICYmIChTW2VdIHx8IG8pKSB7CiAgICAgICAgICAgIG4gfHwgKG4gPSB2KGssIFNbZV0pKTsKICAgICAgICAgICAgdmFyIHIgPSB0aGlzLmNoYXJ0LnJhbmdlU2VsZWN0b3I7CiAgICAgICAgICAgIHQuZGF0YUdyb3VwaW5nID0gdihvLCBuLCBpLnNlcmllcyAmJiBpLnNlcmllcy5kYXRhR3JvdXBpbmcsIGlbZV0uZGF0YUdyb3VwaW5nLCB0aGlzLnVzZXJPcHRpb25zLmRhdGFHcm91cGluZywgIXQuaXNJbnRlcm5hbCAmJiByICYmIHkoci5zZWxlY3RlZCkgJiYgci5idXR0b25PcHRpb25zW3Iuc2VsZWN0ZWRdLmRhdGFHcm91cGluZyk7CiAgICAgICAgICB9CiAgICAgICAgfSkpLCBpKHQsICJhZnRlclNldFNjYWxlIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgdGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICB0Lmhhc1Byb2Nlc3NlZCA9ICExOwogICAgICAgICAgfSkpOwogICAgICAgIH0pKSwgbi5kYXRhR3JvdXBpbmcgPSBfLCBfOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9ITEMvSExDUG9pbnQuanMiLCBbaVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXV0sIChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUgPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gaSgpIHsKICAgICAgICAgICAgdmFyIGUgPSBudWxsICE9PSB0ICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgICAgICAgICByZXR1cm4gZS5jbG9zZSA9IHZvaWQgMCwgZS5oaWdoID0gdm9pZCAwLCBlLmxvdyA9IHZvaWQgMCwgZS5vcHRpb25zID0gdm9pZCAwLCBlLnBsb3RDbG9zZSA9IHZvaWQgMCwgZS5zZXJpZXMgPSB2b2lkIDAsIGU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGUoaSwgdCksIGk7CiAgICAgICAgfSh0LnNlcmllc1R5cGVzLmNvbHVtbi5wcm90b3R5cGUucG9pbnRDbGFzcyk7CiAgICAgIH0pKSwgZShpLCAiU2VyaWVzL0hMQy9ITENTZXJpZXMuanMiLCBbaVsiU2VyaWVzL0hMQy9ITENQb2ludC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbiA9IHRoaXMgJiYgdGhpcy5fX2V4dGVuZHMgfHwgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5fX3Byb3RvX18gPSBlOwogICAgICAgICAgICB9IHx8IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUpIGUuaGFzT3duUHJvcGVydHkoaSkgJiYgKHRbaV0gPSBlW2ldKTsKICAgICAgICAgICAgfSwgdChlLCBpKTsKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBmdW5jdGlvbiBuKCkgewogICAgICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0KGUsIGkpLCBlLnByb3RvdHlwZSA9IG51bGwgPT09IGkgPyBPYmplY3QuY3JlYXRlKGkpIDogKG4ucHJvdG90eXBlID0gaS5wcm90b3R5cGUsIG5ldyBuKTsKICAgICAgICAgIH07CiAgICAgICAgfSgpLCBvID0gZS5zZXJpZXNUeXBlcy5jb2x1bW4sIHIgPSBpLmV4dGVuZCwgcyA9IGkubWVyZ2U7CiAgICAgICAgcmV0dXJuIGkgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmdW5jdGlvbiBlKCkgewogICAgICAgICAgICB2YXIgZSA9IG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICAgIHJldHVybiBlLmRhdGEgPSB2b2lkIDAsIGUub3B0aW9ucyA9IHZvaWQgMCwgZS5wb2ludHMgPSB2b2lkIDAsIGUueURhdGEgPSB2b2lkIDAsIGU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIG4oZSwgdCksIGUucHJvdG90eXBlLmV4dGVuZFN0ZW0gPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdFswXTsKICAgICAgICAgICAgdCA9IHRbMV0sICJudW1iZXIiID09PSB0eXBlb2YgblsyXSAmJiAoblsyXSA9IE1hdGgubWF4KGkgKyBlLCBuWzJdKSksICJudW1iZXIiID09PSB0eXBlb2YgdFsyXSAmJiAodFsyXSA9IE1hdGgubWluKGkgLSBlLCB0WzJdKSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5nZXRQb2ludFBhdGggPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIGUgPSBlLnN0cm9rZVdpZHRoKCk7CiAgICAgICAgICAgIHZhciBpID0gdC5zZXJpZXMsIG4gPSBlICUgMiAvIDIsIG8gPSBNYXRoLnJvdW5kKHQucGxvdFgpIC0gbiwgciA9IE1hdGgucm91bmQodC5zaGFwZUFyZ3Mud2lkdGggLyAyKSwKICAgICAgICAgICAgICBzID0gW1siTSIsIG8sIE1hdGgucm91bmQodC55Qm90dG9tKV0sIFsiTCIsIG8sIE1hdGgucm91bmQodC5wbG90SGlnaCldXTsKICAgICAgICAgICAgcmV0dXJuIG51bGwgIT09IHQuY2xvc2UgJiYgKHQgPSBNYXRoLnJvdW5kKHQucGxvdENsb3NlKSArIG4sIHMucHVzaChbIk0iLCBvLCB0XSwgWyJMIiwgbyArIHIsIHRdKSwgaS5leHRlbmRTdGVtKHMsIGUgLyAyLCB0KSksIHM7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kcmF3U2luZ2xlUG9pbnQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdC5zZXJpZXMsIGkgPSBlLmNoYXJ0LCBuID0gdC5ncmFwaGljLCBvID0gIW47CiAgICAgICAgICAgICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdC5wbG90WSAmJiAobiB8fCAodC5ncmFwaGljID0gbiA9IGkucmVuZGVyZXIucGF0aCgpLmFkZChlLmdyb3VwKSksIGkuc3R5bGVkTW9kZSB8fCBuLmF0dHIoZS5wb2ludEF0dHJpYnModCwgdC5zZWxlY3RlZCAmJiAic2VsZWN0IikpLCBlID0gZS5nZXRQb2ludFBhdGgodCwgbiksIG5bbyA/ICJhdHRyIiA6ICJhbmltYXRlIl0oeyBkOiBlIH0pLmFkZENsYXNzKHQuZ2V0Q2xhc3NOYW1lKCksICEwKSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kcmF3UG9pbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMucG9pbnRzLmZvckVhY2godGhpcy5kcmF3U2luZ2xlUG9pbnQpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0LnByb3RvdHlwZS5pbml0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksIHRoaXMub3B0aW9ucy5zdGFja2luZyA9IHZvaWQgMDsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnBvaW50QXR0cmlicyA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIGUgPSB0LnByb3RvdHlwZS5wb2ludEF0dHJpYnMuY2FsbCh0aGlzLCBlLCBpKSwgZGVsZXRlIGUuZmlsbCwgZTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnRvWURhdGEgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiBbdC5oaWdoLCB0LmxvdywgdC5jbG9zZV07CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS50cmFuc2xhdGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLCBpID0gZS55QXhpcywgbiA9IHRoaXMucG9pbnRBcnJheU1hcCAmJiB0aGlzLnBvaW50QXJyYXlNYXAuc2xpY2UoKSB8fCBbXSwgbyA9IG4ubWFwKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuICJwbG90IiArICh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdC5zbGljZSgxKSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgby5wdXNoKCJ5Qm90dG9tIiksIG4ucHVzaCgibG93IiksIHQucHJvdG90eXBlLnRyYW5zbGF0ZS5hcHBseShlKSwgZS5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIG4uZm9yRWFjaCgoZnVuY3Rpb24obiwgcikgewogICAgICAgICAgICAgICAgbiA9IHRbbl0sIG51bGwgIT09IG4gJiYgKGUuZGF0YU1vZGlmeSAmJiAobiA9IGUuZGF0YU1vZGlmeS5tb2RpZnlWYWx1ZShuKSksIHRbb1tyXV0gPSBpLnRvUGl4ZWxzKG4sICEwKSk7CiAgICAgICAgICAgICAgfSkpLCB0LnRvb2x0aXBQb3NbMV0gPSB0LnBsb3RIaWdoICsgaS5wb3MgLSBlLmNoYXJ0LnBsb3RUb3A7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGUuZGVmYXVsdE9wdGlvbnMgPSBzKG8uZGVmYXVsdE9wdGlvbnMsIHsKICAgICAgICAgICAgbGluZVdpZHRoOiAxLAogICAgICAgICAgICB0b29sdGlwOiB7IHBvaW50Rm9ybWF0OiAiPHNwYW4gc3R5bGU9XCJjb2xvcjp7cG9pbnQuY29sb3J9XCI+4pePPC9zcGFuPiA8Yj4ge3Nlcmllcy5uYW1lfTwvYj48YnIvPkhpZ2g6IHtwb2ludC5oaWdofTxici8+TG93OiB7cG9pbnQubG93fTxici8+Q2xvc2U6IHtwb2ludC5jbG9zZX08YnIvPiIgfSwKICAgICAgICAgICAgdGhyZXNob2xkOiBudWxsLAogICAgICAgICAgICBzdGF0ZXM6IHsgaG92ZXI6IHsgbGluZVdpZHRoOiAzIH0gfSwKICAgICAgICAgICAgc3RpY2t5VHJhY2tpbmc6ICEwCiAgICAgICAgICB9KSwgZTsKICAgICAgICB9KG8pLCByKGkucHJvdG90eXBlLCB7CiAgICAgICAgICBhbmltYXRlOiBudWxsLAogICAgICAgICAgZGlyZWN0VG91Y2g6ICExLAogICAgICAgICAgcG9pbnRBcnJheU1hcDogWyJoaWdoIiwgImxvdyIsICJjbG9zZSJdLAogICAgICAgICAgcG9pbnRBdHRyVG9PcHRpb25zOiB7IHN0cm9rZTogImNvbG9yIiwgInN0cm9rZS13aWR0aCI6ICJsaW5lV2lkdGgiIH0sCiAgICAgICAgICBwb2ludFZhbEtleTogImNsb3NlIgogICAgICAgIH0pLCBpLnByb3RvdHlwZS5wb2ludENsYXNzID0gdCwgZS5yZWdpc3RlclNlcmllc1R5cGUoImhsYyIsIGkpLCBpOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9PSExDL09ITENQb2ludC5qcyIsIFtpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdXSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9IHRoaXMgJiYgdGhpcy5fX2V4dGVuZHMgfHwgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5fX3Byb3RvX18gPSBlOwogICAgICAgICAgICB9IHx8IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUpIGUuaGFzT3duUHJvcGVydHkoaSkgJiYgKHRbaV0gPSBlW2ldKTsKICAgICAgICAgICAgfSwgdChlLCBpKTsKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBmdW5jdGlvbiBuKCkgewogICAgICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0KGUsIGkpLCBlLnByb3RvdHlwZSA9IG51bGwgPT09IGkgPyBPYmplY3QuY3JlYXRlKGkpIDogKG4ucHJvdG90eXBlID0gaS5wcm90b3R5cGUsIG5ldyBuKTsKICAgICAgICAgIH07CiAgICAgICAgfSgpOwogICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmdW5jdGlvbiBpKCkgewogICAgICAgICAgICB2YXIgZSA9IG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICAgIHJldHVybiBlLm9wZW4gPSB2b2lkIDAsIGUub3B0aW9ucyA9IHZvaWQgMCwgZS5wbG90T3BlbiA9IHZvaWQgMCwgZS5zZXJpZXMgPSB2b2lkIDAsIGU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGUoaSwgdCksIGkucHJvdG90eXBlLmdldENsYXNzTmFtZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdC5wcm90b3R5cGUuZ2V0Q2xhc3NOYW1lLmNhbGwodGhpcykgKyAodGhpcy5vcGVuIDwgdGhpcy5jbG9zZSA/ICIgaGlnaGNoYXJ0cy1wb2ludC11cCIgOiAiIGhpZ2hjaGFydHMtcG9pbnQtZG93biIpOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUucmVzb2x2ZVVwQ29sb3IgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5vcGVuIDwgdGhpcy5jbG9zZSAmJiAhdGhpcy5vcHRpb25zLmNvbG9yICYmIHRoaXMuc2VyaWVzLm9wdGlvbnMudXBDb2xvciAmJiAodGhpcy5jb2xvciA9IHRoaXMuc2VyaWVzLm9wdGlvbnMudXBDb2xvcik7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5yZXNvbHZlQ29sb3IgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdC5wcm90b3R5cGUucmVzb2x2ZUNvbG9yLmNhbGwodGhpcyksIHRoaXMucmVzb2x2ZVVwQ29sb3IoKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmdldFpvbmUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0LnByb3RvdHlwZS5nZXRab25lLmNhbGwodGhpcyk7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVVcENvbG9yKCksIGU7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5hcHBseU9wdGlvbnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHQucHJvdG90eXBlLmFwcGx5T3B0aW9ucy5hcHBseSh0aGlzLCBhcmd1bWVudHMpLCB0aGlzLnJlc29sdmVDb2xvciAmJiB0aGlzLnJlc29sdmVDb2xvcigpLCB0aGlzOwogICAgICAgICAgfSwgaTsKICAgICAgICB9KHQuc2VyaWVzVHlwZXMuaGxjLnByb3RvdHlwZS5wb2ludENsYXNzKTsKICAgICAgfSkpLCBlKGksICJTZXJpZXMvT0hMQy9PSExDU2VyaWVzLmpzIiwgW2lbIlNlcmllcy9PSExDL09ITENQb2ludC5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbiA9IHRoaXMgJiYgdGhpcy5fX2V4dGVuZHMgfHwgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5fX3Byb3RvX18gPSBlOwogICAgICAgICAgICB9IHx8IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUpIGUuaGFzT3duUHJvcGVydHkoaSkgJiYgKHRbaV0gPSBlW2ldKTsKICAgICAgICAgICAgfSwgdChlLCBpKTsKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBmdW5jdGlvbiBuKCkgewogICAgICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0KGUsIGkpLCBlLnByb3RvdHlwZSA9IG51bGwgPT09IGkgPyBPYmplY3QuY3JlYXRlKGkpIDogKG4ucHJvdG90eXBlID0gaS5wcm90b3R5cGUsIG5ldyBuKTsKICAgICAgICAgIH07CiAgICAgICAgfSgpLCBvID0gZS5zZXJpZXMsIHIgPSBlLnNlcmllc1R5cGVzLmhsYywgcyA9IGkuYWRkRXZlbnQsIGEgPSBpLmV4dGVuZCwgaCA9IGkubWVyZ2UsIGwgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmdW5jdGlvbiBlKCkgewogICAgICAgICAgICB2YXIgZSA9IG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICAgIHJldHVybiBlLmRhdGEgPSB2b2lkIDAsIGUub3B0aW9ucyA9IHZvaWQgMCwgZS5wb2ludHMgPSB2b2lkIDAsIGU7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIG4oZSwgdCksIGUucHJvdG90eXBlLmdldFBvaW50UGF0aCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0LnByb3RvdHlwZS5nZXRQb2ludFBhdGguY2FsbCh0aGlzLCBlLCBpKTsKICAgICAgICAgICAgaSA9IGkuc3Ryb2tlV2lkdGgoKTsKICAgICAgICAgICAgdmFyIG8gPSBpICUgMiAvIDIsIHIgPSBNYXRoLnJvdW5kKGUucGxvdFgpIC0gbywgcyA9IE1hdGgucm91bmQoZS5zaGFwZUFyZ3Mud2lkdGggLyAyKTsKICAgICAgICAgICAgcmV0dXJuIG51bGwgIT09IGUub3BlbiAmJiAoZSA9IE1hdGgucm91bmQoZS5wbG90T3BlbikgKyBvLCBuLnB1c2goWyJNIiwgciwgZV0sIFsiTCIsIHIgLSBzLCBlXSksIHQucHJvdG90eXBlLmV4dGVuZFN0ZW0uY2FsbCh0aGlzLCBuLCBpIC8gMiwgZSkpLCBuOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucG9pbnRBdHRyaWJzID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBpID0gdC5wcm90b3R5cGUucG9pbnRBdHRyaWJzLmNhbGwodGhpcywgZSwgaSk7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5vcHRpb25zOwogICAgICAgICAgICByZXR1cm4gZGVsZXRlIGkuZmlsbCwgIWUub3B0aW9ucy5jb2xvciAmJiBuLnVwQ29sb3IgJiYgZS5vcGVuIDwgZS5jbG9zZSAmJiAoaS5zdHJva2UgPSBuLnVwQ29sb3IpLCBpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudG9ZRGF0YSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIFt0Lm9wZW4sIHQuaGlnaCwgdC5sb3csIHQuY2xvc2VdOwogICAgICAgICAgfSwgZS5kZWZhdWx0T3B0aW9ucyA9IGgoci5kZWZhdWx0T3B0aW9ucywgeyB0b29sdGlwOiB7IHBvaW50Rm9ybWF0OiAiPHNwYW4gc3R5bGU9XCJjb2xvcjp7cG9pbnQuY29sb3J9XCI+4pePPC9zcGFuPiA8Yj4ge3Nlcmllcy5uYW1lfTwvYj48YnIvPk9wZW46IHtwb2ludC5vcGVufTxici8+SGlnaDoge3BvaW50LmhpZ2h9PGJyLz5Mb3c6IHtwb2ludC5sb3d9PGJyLz5DbG9zZToge3BvaW50LmNsb3NlfTxici8+IiB9IH0pLCBlOwogICAgICAgIH0ocik7CiAgICAgICAgcmV0dXJuIGEobC5wcm90b3R5cGUsIHsgcG9pbnRBcnJheU1hcDogWyJvcGVuIiwgImhpZ2giLCAibG93IiwgImNsb3NlIl0gfSksIGwucHJvdG90eXBlLnBvaW50Q2xhc3MgPSB0LCBlLnJlZ2lzdGVyU2VyaWVzVHlwZSgib2hsYyIsIGwpLCBzKG8sICJpbml0IiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHQgPSB0Lm9wdGlvbnMsIHQudXNlT2hsY0RhdGEgJiYgImhpZ2hjaGFydHMtbmF2aWdhdG9yLXNlcmllcyIgIT09IHQuaWQgJiYgYSh0aGlzLCB7CiAgICAgICAgICAgIHBvaW50VmFsS2V5OiBsLnByb3RvdHlwZS5wb2ludFZhbEtleSwKICAgICAgICAgICAgcG9pbnRBcnJheU1hcDogbC5wcm90b3R5cGUucG9pbnRBcnJheU1hcCwKICAgICAgICAgICAgdG9ZRGF0YTogbC5wcm90b3R5cGUudG9ZRGF0YQogICAgICAgICAgfSk7CiAgICAgICAgfSkpLCBzKG8sICJhZnRlclNldE9wdGlvbnMiLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgdCA9IHQub3B0aW9uczsKICAgICAgICAgIHZhciBlID0gdC5kYXRhR3JvdXBpbmc7CiAgICAgICAgICBlICYmIHQudXNlT2hsY0RhdGEgJiYgImhpZ2hjaGFydHMtbmF2aWdhdG9yLXNlcmllcyIgIT09IHQuaWQgJiYgKGUuYXBwcm94aW1hdGlvbiA9ICJvaGxjIik7CiAgICAgICAgfSkpLCBsOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9DYW5kbGVzdGljay9DYW5kbGVzdGlja1Nlcmllcy5qcyIsIFtpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgIHZhciBuID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0Ll9fcHJvdG9fXyA9IGU7CiAgICAgICAgICAgIH0gfHwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgZS5oYXNPd25Qcm9wZXJ0eShpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICB9LCB0KGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHQoZSwgaSksIGUucHJvdG90eXBlID0gbnVsbCA9PT0gaSA/IE9iamVjdC5jcmVhdGUoaSkgOiAobi5wcm90b3R5cGUgPSBpLnByb3RvdHlwZSwgbmV3IG4pOwogICAgICAgICAgfTsKICAgICAgICB9KCksIG8gPSB0LmRlZmF1bHRPcHRpb25zOwogICAgICAgIHQgPSBlLnNlcmllc1R5cGVzOwogICAgICAgIHZhciByID0gdC5jb2x1bW4sIHMgPSB0Lm9obGMsIGEgPSBpLm1lcmdlOwogICAgICAgIHJldHVybiBpID0gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgICAgdmFyIGUgPSBudWxsICE9PSB0ICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgICAgICAgICByZXR1cm4gZS5kYXRhID0gdm9pZCAwLCBlLm9wdGlvbnMgPSB2b2lkIDAsIGUucG9pbnRzID0gdm9pZCAwLCBlOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBuKGUsIHQpLCBlLnByb3RvdHlwZS5wb2ludEF0dHJpYnMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gci5wcm90b3R5cGUucG9pbnRBdHRyaWJzLmNhbGwodGhpcywgdCwgZSksIG4gPSB0aGlzLm9wdGlvbnMsIG8gPSB0Lm9wZW4gPCB0LmNsb3NlLCBzID0gbi5saW5lQ29sb3IgfHwgdGhpcy5jb2xvciwgYSA9IHQuY29sb3IgfHwgdGhpcy5jb2xvcjsKICAgICAgICAgICAgcmV0dXJuIGlbInN0cm9rZS13aWR0aCJdID0gbi5saW5lV2lkdGgsIGkuZmlsbCA9IHQub3B0aW9ucy5jb2xvciB8fCBvICYmIG4udXBDb2xvciB8fCBhLCBpLnN0cm9rZSA9IHQub3B0aW9ucy5saW5lQ29sb3IgfHwgbyAmJiBuLnVwTGluZUNvbG9yIHx8IHMsIGUgJiYgKHQgPSBuLnN0YXRlc1tlXSwgaS5maWxsID0gdC5jb2xvciB8fCBpLmZpbGwsIGkuc3Ryb2tlID0gdC5saW5lQ29sb3IgfHwgaS5zdHJva2UsIGlbInN0cm9rZS13aWR0aCJdID0gdC5saW5lV2lkdGggfHwgaVsic3Ryb2tlLXdpZHRoIl0pLCBpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZHJhd1BvaW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LmNoYXJ0LCBpID0gdC55QXhpcy5yZXZlcnNlZDsKICAgICAgICAgICAgdC5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24obikgewogICAgICAgICAgICAgIHZhciBvID0gbi5ncmFwaGljLCByID0gIW87CiAgICAgICAgICAgICAgaWYgKCJ1bmRlZmluZWQiICE9PSB0eXBlb2Ygbi5wbG90WSkgewogICAgICAgICAgICAgICAgbyB8fCAobi5ncmFwaGljID0gbyA9IGUucmVuZGVyZXIucGF0aCgpLmFkZCh0Lmdyb3VwKSksIHQuY2hhcnQuc3R5bGVkTW9kZSB8fCBvLmF0dHIodC5wb2ludEF0dHJpYnMobiwgbi5zZWxlY3RlZCAmJiAic2VsZWN0IikpLnNoYWRvdyh0Lm9wdGlvbnMuc2hhZG93KTsKICAgICAgICAgICAgICAgIHZhciBzID0gby5zdHJva2VXaWR0aCgpICUgMiAvIDIsIGEgPSBNYXRoLnJvdW5kKG4ucGxvdFgpIC0gcywgaCA9IG4ucGxvdE9wZW4sIGwgPSBuLnBsb3RDbG9zZSwgYyA9IE1hdGgubWluKGgsIGwpOwogICAgICAgICAgICAgICAgaCA9IE1hdGgubWF4KGgsIGwpOwogICAgICAgICAgICAgICAgdmFyIHAgPSBNYXRoLnJvdW5kKG4uc2hhcGVBcmdzLndpZHRoIC8gMik7CiAgICAgICAgICAgICAgICBsID0gaSA/IGggIT09IG4ueUJvdHRvbSA6IE1hdGgucm91bmQoYykgIT09IE1hdGgucm91bmQobi5wbG90SGlnaCk7CiAgICAgICAgICAgICAgICB2YXIgZCA9IGkgPyBNYXRoLnJvdW5kKGMpICE9PSBNYXRoLnJvdW5kKG4ucGxvdEhpZ2gpIDogaCAhPT0gbi55Qm90dG9tOwogICAgICAgICAgICAgICAgYyA9IE1hdGgucm91bmQoYykgKyBzLCBoID0gTWF0aC5yb3VuZChoKSArIHMsIHMgPSBbXSwgcy5wdXNoKFsiTSIsIGEgLSBwLCBoXSwgWyJMIiwgYSAtIHAsIGNdLCBbIkwiLCBhICsgcCwgY10sIFsiTCIsIGEgKyBwLCBoXSwgWyJaIl0sIFsiTSIsIGEsIGNdLCBbIkwiLCBhLCBsID8gTWF0aC5yb3VuZChpID8gbi55Qm90dG9tIDogbi5wbG90SGlnaCkgOiBjXSwgWyJNIiwgYSwgaF0sIFsiTCIsIGEsIGQgPyBNYXRoLnJvdW5kKGkgPyBuLnBsb3RIaWdoIDogbi55Qm90dG9tKSA6IGhdKSwgb1tyID8gImF0dHIiIDogImFuaW1hdGUiXSh7IGQ6IHMgfSkuYWRkQ2xhc3Mobi5nZXRDbGFzc05hbWUoKSwgITApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgZS5kZWZhdWx0T3B0aW9ucyA9IGEocy5kZWZhdWx0T3B0aW9ucywgby5wbG90T3B0aW9ucywgewogICAgICAgICAgICBzdGF0ZXM6IHsgaG92ZXI6IHsgbGluZVdpZHRoOiAyIH0gfSwKICAgICAgICAgICAgdG9vbHRpcDogby5wbG90T3B0aW9ucy5vaGxjLnRvb2x0aXAsCiAgICAgICAgICAgIHRocmVzaG9sZDogbnVsbCwKICAgICAgICAgICAgbGluZUNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgIGxpbmVXaWR0aDogMSwKICAgICAgICAgICAgdXBDb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICBzdGlja3lUcmFja2luZzogITAKICAgICAgICAgIH0pLCBlOwogICAgICAgIH0ocyksIGUucmVnaXN0ZXJTZXJpZXNUeXBlKCJjYW5kbGVzdGljayIsIGkpLCBpOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9GbGFncy9GbGFnc1BvaW50LmpzIiwgW2lbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgIHZhciBpID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0Ll9fcHJvdG9fXyA9IGU7CiAgICAgICAgICAgIH0gfHwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgZS5oYXNPd25Qcm9wZXJ0eShpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICB9LCB0KGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHQoZSwgaSksIGUucHJvdG90eXBlID0gbnVsbCA9PT0gaSA/IE9iamVjdC5jcmVhdGUoaSkgOiAobi5wcm90b3R5cGUgPSBpLnByb3RvdHlwZSwgbmV3IG4pOwogICAgICAgICAgfTsKICAgICAgICB9KCksIG4gPSBlLmlzTnVtYmVyOwogICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICBmdW5jdGlvbiBlKCkgewogICAgICAgICAgICB2YXIgZSA9IG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICAgIHJldHVybiBlLm9wdGlvbnMgPSB2b2lkIDAsIGUuc2VyaWVzID0gdm9pZCAwLCBlOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBpKGUsIHQpLCBlLnByb3RvdHlwZS5pc1ZhbGlkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBuKHRoaXMueSkgfHwgInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0aGlzLnk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5oYXNOZXdTaGFwZVR5cGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm9wdGlvbnMuc2hhcGUgfHwgdGhpcy5zZXJpZXMub3B0aW9ucy5zaGFwZTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JhcGhpYyAmJiB0ICYmIHQgIT09IHRoaXMuZ3JhcGhpYy5zeW1ib2xLZXk7CiAgICAgICAgICB9LCBlOwogICAgICAgIH0odC5zZXJpZXNUeXBlcy5jb2x1bW4ucHJvdG90eXBlLnBvaW50Q2xhc3MpOwogICAgICB9KSksIGUoaSwgIlNlcmllcy9PblNlcmllc0NvbXBvc2l0aW9uLmpzIiwgW2lbIlNlcmllcy9Db2x1bW4vQ29sdW1uU2VyaWVzLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbiwgbyA9IHQucHJvdG90eXBlLCByID0gZS5wcm90b3R5cGUsIHMgPSBpLmRlZmluZWQsIGEgPSBpLnN0YWJsZVNvcnQ7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUoKSB7CiAgICAgICAgICAgIHJldHVybiByLmdldFBsb3RCb3guY2FsbCh0aGlzLm9wdGlvbnMub25TZXJpZXMgJiYgdGhpcy5jaGFydC5nZXQodGhpcy5vcHRpb25zLm9uU2VyaWVzKSB8fCB0aGlzKTsKICAgICAgICAgIH0KCiAgICAgICAgICBmdW5jdGlvbiBpKCkgewogICAgICAgICAgICBvLnRyYW5zbGF0ZS5hcHBseSh0aGlzKTsKICAgICAgICAgICAgdmFyIHQsIGUgPSB0aGlzLCBpID0gZS5vcHRpb25zLCBuID0gZS5jaGFydCwgciA9IGUucG9pbnRzLCBoID0gaS5vblNlcmllcywgbCA9IChoID0gaCAmJiBuLmdldChoKSkgJiYgaC5vcHRpb25zLnN0ZXAsIGMgPSBoICYmIGgucG9pbnRzLAogICAgICAgICAgICAgIHAgPSBuLmludmVydGVkLCBkID0gZS54QXhpcywgdSA9IGUueUF4aXM7CiAgICAgICAgICAgIG4gPSByLmxlbmd0aCAtIDEsIGkgPSBpLm9uS2V5IHx8ICJ5IjsKICAgICAgICAgICAgdmFyIGYsIGcgPSBjICYmIGMubGVuZ3RoLCBtID0gMDsKICAgICAgICAgICAgaWYgKGggJiYgaC52aXNpYmxlICYmIGcpIHsKICAgICAgICAgICAgICBtID0gKGgucG9pbnRYT2Zmc2V0IHx8IDApICsgKGguYmFyVyB8fCAwKSAvIDI7CiAgICAgICAgICAgICAgdmFyIHkgPSBoLmN1cnJlbnREYXRhR3JvdXBpbmcsIHYgPSBjW2cgLSAxXS54ICsgKHkgPyB5LnRvdGFsUmFuZ2UgOiAwKTsKICAgICAgICAgICAgICBmb3IgKGEociwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0LnggLSBlLng7CiAgICAgICAgICAgICAgfSkpLCBpID0gInBsb3QiICsgaVswXS50b1VwcGVyQ2FzZSgpICsgaS5zdWJzdHIoMSk7IGctLSAmJiByW25dOykgewogICAgICAgICAgICAgICAgdmFyIHggPSBjW2ddOwogICAgICAgICAgICAgICAgaWYgKHkgPSByW25dLCB5LnkgPSB4LnksIHgueCA8PSB5LnggJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB4W2ldKSB7CiAgICAgICAgICAgICAgICAgIGlmICh5LnggPD0gdiAmJiAoeS5wbG90WSA9IHhbaV0sIHgueCA8IHkueCAmJiAhbCAmJiAoZiA9IGNbZyArIDFdKSAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGZbaV0pKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGIgPSAoeS54IC0geC54KSAvIChmLnggLSB4LngpOwogICAgICAgICAgICAgICAgICAgIHkucGxvdFkgKz0gYiAqIChmW2ldIC0geFtpXSksIHkueSArPSBiICogKGYueSAtIHgueSk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgaWYgKG4tLSwgZysrLCAwID4gbikgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHIuZm9yRWFjaCgoZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgICAgIGlmIChpLnBsb3RYICs9IG0sICgidW5kZWZpbmVkIiA9PT0gdHlwZW9mIGkucGxvdFkgfHwgcCkgJiYgKDAgPD0gaS5wbG90WCAmJiBpLnBsb3RYIDw9IGQubGVuID8gcCA/IChpLnBsb3RZID0gZC50cmFuc2xhdGUoaS54LCAwLCAxLCAwLCAxKSwgaS5wbG90WCA9IHMoaS55KSA/IHUudHJhbnNsYXRlKGkueSwgMCwgMCwgMCwgMSkgOiAwKSA6IGkucGxvdFkgPSAoZC5vcHBvc2l0ZSA/IDAgOiBlLnlBeGlzLmxlbikgKyBkLm9mZnNldCA6IGkuc2hhcGVBcmdzID0ge30pLCAodCA9IHJbbiAtIDFdKSAmJiB0LnBsb3RYID09PSBpLnBsb3RYKSB7CiAgICAgICAgICAgICAgICAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHQuc3RhY2tJbmRleCAmJiAodC5zdGFja0luZGV4ID0gMCk7CiAgICAgICAgICAgICAgICB2YXIgbyA9IHQuc3RhY2tJbmRleCArIDE7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGkuc3RhY2tJbmRleCA9IG87CiAgICAgICAgICAgIH0pKSwgdGhpcy5vblNlcmllcyA9IGg7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIG4gPSBbXTsKICAgICAgICAgIHQuY29tcG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgaWYgKC0xID09PSBuLmluZGV4T2YodCkpIHsKICAgICAgICAgICAgICBuLnB1c2godCk7CiAgICAgICAgICAgICAgdmFyIG8gPSB0LnByb3RvdHlwZTsKICAgICAgICAgICAgICBvLmdldFBsb3RCb3ggPSBlLCBvLnRyYW5zbGF0ZSA9IGk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgICB9LCB0LmdldFBsb3RCb3ggPSBlLCB0LnRyYW5zbGF0ZSA9IGk7CiAgICAgICAgfShuIHx8IChuID0ge30pKSwgbjsKICAgICAgfSkpLCBlKGksICJTZXJpZXMvRmxhZ3MvRmxhZ3NTeW1ib2xzLmpzIiwgW2lbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdSZW5kZXJlci5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICBmdW5jdGlvbiBpKHQpIHsKICAgICAgICAgIG5bdCArICJwaW4iXSA9IGZ1bmN0aW9uKGUsIGksIG8sIHIsIHMpIHsKICAgICAgICAgICAgdmFyIGEgPSBzICYmIHMuYW5jaG9yWDsKICAgICAgICAgICAgcyA9IHMgJiYgcy5hbmNob3JZLCAiY2lyY2xlIiA9PT0gdCAmJiByID4gbyAmJiAoZSAtPSBNYXRoLnJvdW5kKChyIC0gbykgLyAyKSwgbyA9IHIpOwogICAgICAgICAgICB2YXIgaCA9IG5bdF0oZSwgaSwgbywgcik7CiAgICAgICAgICAgIGlmIChhICYmIHMpIHsKICAgICAgICAgICAgICB2YXIgbCA9IGE7CiAgICAgICAgICAgICAgImNpcmNsZSIgPT09IHQgPyBsID0gZSArIG8gLyAyIDogKGUgPSBoWzBdLCBvID0gaFsxXSwgIk0iID09PSBlWzBdICYmICJMIiA9PT0gb1swXSAmJiAobCA9IChlWzFdICsgb1sxXSkgLyAyKSksIGgucHVzaChbIk0iLCBsLCBpID4gcyA/IGkgOiBpICsgcl0sIFsiTCIsIGEsIHNdKSwgaCA9IGguY29uY2F0KG4uY2lyY2xlKGEgLSAxLCBzIC0gMSwgMiwgMikpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBoOwogICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgIHZhciBuID0gZS5wcm90b3R5cGUuc3ltYm9sczsKICAgICAgICByZXR1cm4gbi5mbGFnID0gZnVuY3Rpb24odCwgZSwgaSwgbywgcikgewogICAgICAgICAgdmFyIHMgPSByICYmIHIuYW5jaG9yWCB8fCB0OwogICAgICAgICAgciA9IHIgJiYgci5hbmNob3JZIHx8IGU7CiAgICAgICAgICB2YXIgYSA9IG4uY2lyY2xlKHMgLSAxLCByIC0gMSwgMiwgMik7CiAgICAgICAgICByZXR1cm4gYS5wdXNoKFsiTSIsIHMsIHJdLCBbIkwiLCB0LCBlICsgb10sIFsiTCIsIHQsIGVdLCBbIkwiLCB0ICsgaSwgZV0sIFsiTCIsIHQgKyBpLCBlICsgb10sIFsiTCIsIHQsIGUgKyBvXSwgWyJaIl0pLCBhOwogICAgICAgIH0sIGkoImNpcmNsZSIpLCBpKCJzcXVhcmUiKSwgdCA9IHQuZ2V0UmVuZGVyZXJUeXBlKCksIHQgIT09IGUgJiYgKHQucHJvdG90eXBlLnN5bWJvbHMuY2lyY2xlcGluID0gbi5jaXJjbGVwaW4sIHQucHJvdG90eXBlLnN5bWJvbHMuZmxhZyA9IG4uZmxhZywgdC5wcm90b3R5cGUuc3ltYm9scy5zcXVhcmVwaW4gPSBuLnNxdWFyZXBpbiksIG47CiAgICAgIH0pKSwgZShpLCAiU2VyaWVzL0ZsYWdzL0ZsYWdzU2VyaWVzLmpzIiwgW2lbIlNlcmllcy9GbGFncy9GbGFnc1BvaW50LmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJTZXJpZXMvT25TZXJpZXNDb21wb3NpdGlvbi5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyVXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0VsZW1lbnQuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzKSB7CiAgICAgICAgdmFyIGEgPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKTsKICAgICAgICBlID0gZS5ub29wOwogICAgICAgIHZhciBoID0gbi5kaXN0cmlidXRlLCBsID0gby5zZXJpZXMsIGMgPSBvLnNlcmllc1R5cGVzLmNvbHVtbiwgcCA9IHMuYWRkRXZlbnQsIGQgPSBzLmRlZmluZWQ7CiAgICAgICAgbiA9IHMuZXh0ZW5kOwogICAgICAgIHZhciB1ID0gcy5tZXJnZSwgZiA9IHMub2JqZWN0RWFjaCwgZyA9IHMud3JhcDsKICAgICAgICByZXR1cm4gcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUoKSB7CiAgICAgICAgICAgIHZhciBlID0gbnVsbCAhPT0gdCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpczsKICAgICAgICAgICAgcmV0dXJuIGUuZGF0YSA9IHZvaWQgMCwgZS5vcHRpb25zID0gdm9pZCAwLCBlLnBvaW50cyA9IHZvaWQgMCwgZTsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gYShlLCB0KSwgZS5wcm90b3R5cGUuYW5pbWF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdCAmJiB0aGlzLnNldENsaXAoKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmRyYXdQb2ludHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUgPSB0aGlzLnBvaW50cywgaSA9IHRoaXMuY2hhcnQsIG4gPSBpLnJlbmRlcmVyLCBvID0gaS5pbnZlcnRlZCwgcyA9IHRoaXMub3B0aW9ucywgYSA9IHMueSwgbCA9IHRoaXMueUF4aXMsIGMgPSB7fSwgcCA9IFtdOwogICAgICAgICAgICBmb3IgKHQgPSBlLmxlbmd0aDsgdC0tOykgewogICAgICAgICAgICAgIHZhciBtID0gZVt0XSwgeSA9IChvID8gbS5wbG90WSA6IG0ucGxvdFgpID4gdGhpcy54QXhpcy5sZW4sIHYgPSBtLnBsb3RYLCB4ID0gbS5zdGFja0luZGV4LCBiID0gbS5vcHRpb25zLnNoYXBlIHx8IHMuc2hhcGUsIF8gPSBtLnBsb3RZOwogICAgICAgICAgICAgICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgXyAmJiAoXyA9IG0ucGxvdFkgKyBhIC0gKCJ1bmRlZmluZWQiICE9PSB0eXBlb2YgeCAmJiB4ICogcy5zdGFja0Rpc3RhbmNlKSksIG0uYW5jaG9yWCA9IHggPyB2b2lkIDAgOiBtLnBsb3RYOwogICAgICAgICAgICAgIHZhciB3ID0geCA/IHZvaWQgMCA6IG0ucGxvdFksIGsgPSAiZmxhZyIgIT09IGI7CiAgICAgICAgICAgICAgeCA9IG0uZ3JhcGhpYywgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBfICYmIDAgPD0gdiAmJiAheSA/ICh4ICYmIG0uaGFzTmV3U2hhcGVUeXBlKCkgJiYgKHggPSB4LmRlc3Ryb3koKSksIHggfHwgKHggPSBtLmdyYXBoaWMgPSBuLmxhYmVsKCIiLCBudWxsLCBudWxsLCBiLCBudWxsLCBudWxsLCBzLnVzZUhUTUwpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXBvaW50IikuYWRkKHRoaXMubWFya2VyR3JvdXApLCBtLmdyYXBoaWMuZGl2ICYmIChtLmdyYXBoaWMuZGl2LnBvaW50ID0gbSksIHguaXNOZXcgPSAhMCksIHguYXR0cih7CiAgICAgICAgICAgICAgICBhbGlnbjogayA/ICJjZW50ZXIiIDogImxlZnQiLAogICAgICAgICAgICAgICAgd2lkdGg6IHMud2lkdGgsCiAgICAgICAgICAgICAgICBoZWlnaHQ6IHMuaGVpZ2h0LAogICAgICAgICAgICAgICAgInRleHQtYWxpZ24iOiBzLnRleHRBbGlnbgogICAgICAgICAgICAgIH0pLCBpLnN0eWxlZE1vZGUgfHwgeC5hdHRyKHRoaXMucG9pbnRBdHRyaWJzKG0pKS5jc3ModShzLnN0eWxlLCBtLnN0eWxlKSkuc2hhZG93KHMuc2hhZG93KSwgMCA8IHYgJiYgKHYgLT0geC5zdHJva2VXaWR0aCgpICUgMiksIGIgPSB7CiAgICAgICAgICAgICAgICB5OiBfLAogICAgICAgICAgICAgICAgYW5jaG9yWTogdwogICAgICAgICAgICAgIH0sIHMuYWxsb3dPdmVybGFwWCAmJiAoYi54ID0gdiwgYi5hbmNob3JYID0gbS5hbmNob3JYKSwgeC5hdHRyKHsgdGV4dDogbS5vcHRpb25zLnRpdGxlIHx8IHMudGl0bGUgfHwgIkEiIH0pW3guaXNOZXcgPyAiYXR0ciIgOiAiYW5pbWF0ZSJdKGIpLCBzLmFsbG93T3ZlcmxhcFggfHwgKGNbbS5wbG90WF0gPyBjW20ucGxvdFhdLnNpemUgPSBNYXRoLm1heChjW20ucGxvdFhdLnNpemUsIHgud2lkdGgpIDogY1ttLnBsb3RYXSA9IHsKICAgICAgICAgICAgICAgIGFsaWduOiBrID8gLjUgOiAwLAogICAgICAgICAgICAgICAgc2l6ZTogeC53aWR0aCwKICAgICAgICAgICAgICAgIHRhcmdldDogdiwKICAgICAgICAgICAgICAgIGFuY2hvclg6IHYKICAgICAgICAgICAgICB9KSwgbS50b29sdGlwUG9zID0gW3YsIF8gKyBsLnBvcyAtIGkucGxvdFRvcF0pIDogeCAmJiAobS5ncmFwaGljID0geC5kZXN0cm95KCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghcy5hbGxvd092ZXJsYXBYKSB7CiAgICAgICAgICAgICAgdmFyIFMgPSAxMDA7CiAgICAgICAgICAgICAgZihjLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdC5wbG90WCA9IHQuYW5jaG9yWCwgcC5wdXNoKHQpLCBTID0gTWF0aC5tYXgodC5zaXplLCBTKTsKICAgICAgICAgICAgICB9KSksIGgocCwgbyA/IGwubGVuIDogdGhpcy54QXhpcy5sZW4sIFMpLCBlLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdC5ncmFwaGljICYmIGNbdC5wbG90WF07CiAgICAgICAgICAgICAgICBlICYmICh0LmdyYXBoaWNbdC5ncmFwaGljLmlzTmV3ID8gImF0dHIiIDogImFuaW1hdGUiXSh7CiAgICAgICAgICAgICAgICAgIHg6IGUucG9zICsgZS5hbGlnbiAqIGUuc2l6ZSwKICAgICAgICAgICAgICAgICAgYW5jaG9yWDogdC5hbmNob3JYCiAgICAgICAgICAgICAgICB9KSwgZChlLnBvcykgPyB0LmdyYXBoaWMuaXNOZXcgPSAhMSA6ICh0LmdyYXBoaWMuYXR0cih7IHg6IC05OTk5LCBhbmNob3JYOiAtOTk5OSB9KSwgdC5ncmFwaGljLmlzTmV3ID0gITApKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcy51c2VIVE1MICYmIGcodGhpcy5tYXJrZXJHcm91cCwgIm9uIiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gci5wcm90b3R5cGUub24uYXBwbHkodC5hcHBseSh0aGlzLCBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpLCBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kcmF3VHJhY2tlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMucG9pbnRzOwogICAgICAgICAgICB0LnByb3RvdHlwZS5kcmF3VHJhY2tlci5jYWxsKHRoaXMpLCBlLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHQuZ3JhcGhpYzsKICAgICAgICAgICAgICBpICYmICh0LnVuYmluZE1vdXNlT3ZlciAmJiB0LnVuYmluZE1vdXNlT3ZlcigpLCB0LnVuYmluZE1vdXNlT3ZlciA9IHAoaS5lbGVtZW50LCAibW91c2VvdmVyIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgMCA8IHQuc3RhY2tJbmRleCAmJiAhdC5yYWlzZWQgJiYgKHQuX3kgPSBpLnksIGkuYXR0cih7IHk6IHQuX3kgLSA4IH0pLCB0LnJhaXNlZCA9ICEwKSwgZS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgIGUgIT09IHQgJiYgZS5yYWlzZWQgJiYgZS5ncmFwaGljICYmIChlLmdyYXBoaWMuYXR0cih7IHk6IGUuX3kgfSksIGUucmFpc2VkID0gITEpOwogICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIH0pKSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnBvaW50QXR0cmlicyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLm9wdGlvbnMsIG4gPSB0ICYmIHQuY29sb3IgfHwgdGhpcy5jb2xvciwgbyA9IGkubGluZUNvbG9yLCByID0gdCAmJiB0LmxpbmVXaWR0aDsKICAgICAgICAgICAgcmV0dXJuIHQgPSB0ICYmIHQuZmlsbENvbG9yIHx8IGkuZmlsbENvbG9yLCBlICYmICh0ID0gaS5zdGF0ZXNbZV0uZmlsbENvbG9yLCBvID0gaS5zdGF0ZXNbZV0ubGluZUNvbG9yLCByID0gaS5zdGF0ZXNbZV0ubGluZVdpZHRoKSwgewogICAgICAgICAgICAgIGZpbGw6IHQgfHwgbiwKICAgICAgICAgICAgICBzdHJva2U6IG8gfHwgbiwKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogciB8fCBpLmxpbmVXaWR0aCB8fCAwCiAgICAgICAgICAgIH07CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zZXRDbGlwID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGwucHJvdG90eXBlLnNldENsaXAuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgITEgIT09IHRoaXMub3B0aW9ucy5jbGlwICYmIHRoaXMuc2hhcmVkQ2xpcEtleSAmJiB0aGlzLm1hcmtlckdyb3VwICYmIHRoaXMubWFya2VyR3JvdXAuY2xpcCh0aGlzLmNoYXJ0LnNoYXJlZENsaXBzW3RoaXMuc2hhcmVkQ2xpcEtleV0pOwogICAgICAgICAgfSwgZS5kZWZhdWx0T3B0aW9ucyA9IHUoYy5kZWZhdWx0T3B0aW9ucywgewogICAgICAgICAgICBwb2ludFJhbmdlOiAwLAogICAgICAgICAgICBhbGxvd092ZXJsYXBYOiAhMSwKICAgICAgICAgICAgc2hhcGU6ICJmbGFnIiwKICAgICAgICAgICAgc3RhY2tEaXN0YW5jZTogMTIsCiAgICAgICAgICAgIHRleHRBbGlnbjogImNlbnRlciIsCiAgICAgICAgICAgIHRvb2x0aXA6IHsgcG9pbnRGb3JtYXQ6ICJ7cG9pbnQudGV4dH0iIH0sCiAgICAgICAgICAgIHRocmVzaG9sZDogbnVsbCwKICAgICAgICAgICAgeTogLTMwLAogICAgICAgICAgICBmaWxsQ29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgbGluZVdpZHRoOiAxLAogICAgICAgICAgICBzdGF0ZXM6IHsgaG92ZXI6IHsgbGluZUNvbG9yOiAiIzAwMDAwMCIsIGZpbGxDb2xvcjogIiNjY2Q2ZWIiIH0gfSwKICAgICAgICAgICAgc3R5bGU6IHsgZm9udFNpemU6ICIxMXB4IiwgZm9udFdlaWdodDogImJvbGQiIH0KICAgICAgICAgIH0pLCBlOwogICAgICAgIH0oYyksIGkuY29tcG9zZShzKSwgbihzLnByb3RvdHlwZSwgewogICAgICAgICAgYWxsb3dERzogITEsCiAgICAgICAgICBmb3JjZUNyb3A6ICEwLAogICAgICAgICAgaW52ZXJ0aWJsZTogITEsCiAgICAgICAgICBub1NoYXJlZFRvb2x0aXA6ICEwLAogICAgICAgICAgcG9pbnRDbGFzczogdCwKICAgICAgICAgIHNvcnRlZDogITEsCiAgICAgICAgICB0YWtlT3JkaW5hbFBvc2l0aW9uOiAhMSwKICAgICAgICAgIHRyYWNrZXJHcm91cHM6IFsibWFya2VyR3JvdXAiXSwKICAgICAgICAgIGJ1aWxkS0RUcmVlOiBlLAogICAgICAgICAgaW5pdDogbC5wcm90b3R5cGUuaW5pdCwKICAgICAgICAgIGludmVydEdyb3VwczogZQogICAgICAgIH0pLCBvLnJlZ2lzdGVyU2VyaWVzVHlwZSgiZmxhZ3MiLCBzKSwgczsKICAgICAgfSkpLCBlKGksICJDb3JlL0F4aXMvU2Nyb2xsYmFyQXhpcy5qcyIsIFtpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9IHQuYWRkRXZlbnQsIGkgPSB0LmRlZmluZWQsIG4gPSB0LnBpY2s7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gdCgpIHsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gdC5jb21wb3NlID0gZnVuY3Rpb24obywgcikgewogICAgICAgICAgICBpZiAoLTEgIT09IHQuY29tcG9zZWQuaW5kZXhPZihvKSkgcmV0dXJuIG87CiAgICAgICAgICAgIHQuY29tcG9zZWQucHVzaChvKTsKICAgICAgICAgICAgdmFyIHMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSBuKHQub3B0aW9ucyAmJiB0Lm9wdGlvbnMubWluLCB0Lm1pbiksIG8gPSBuKHQub3B0aW9ucyAmJiB0Lm9wdGlvbnMubWF4LCB0Lm1heCk7CiAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIGF4aXNNaW46IGUsCiAgICAgICAgICAgICAgICBheGlzTWF4OiBvLAogICAgICAgICAgICAgICAgc2Nyb2xsTWluOiBpKHQuZGF0YU1pbikgPyBNYXRoLm1pbihlLCB0Lm1pbiwgdC5kYXRhTWluLCBuKHQudGhyZXNob2xkLCAxIC8gMCkpIDogZSwKICAgICAgICAgICAgICAgIHNjcm9sbE1heDogaSh0LmRhdGFNYXgpID8gTWF0aC5tYXgobywgdC5tYXgsIHQuZGF0YU1heCwgbih0LnRocmVzaG9sZCwgLTEgLyAwKSkgOiBvCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuIGUobywgImFmdGVySW5pdCIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgdCA9IHRoaXM7CiAgICAgICAgICAgICAgdC5vcHRpb25zICYmIHQub3B0aW9ucy5zY3JvbGxiYXIgJiYgdC5vcHRpb25zLnNjcm9sbGJhci5lbmFibGVkICYmICh0Lm9wdGlvbnMuc2Nyb2xsYmFyLnZlcnRpY2FsID0gIXQuaG9yaXosIHQub3B0aW9ucy5zdGFydE9uVGljayA9IHQub3B0aW9ucy5lbmRPblRpY2sgPSAhMSwgdC5zY3JvbGxiYXIgPSBuZXcgcih0LmNoYXJ0LnJlbmRlcmVyLCB0Lm9wdGlvbnMuc2Nyb2xsYmFyLCB0LmNoYXJ0KSwgZSh0LnNjcm9sbGJhciwgImNoYW5nZWQiLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIG4gPSBzKHQpLCBvID0gbi5heGlzTWF4LCByID0gbi5zY3JvbGxNaW4sIGEgPSBuLnNjcm9sbE1heCAtIHI7CiAgICAgICAgICAgICAgICBpKG4uYXhpc01pbikgJiYgaShvKSAmJiAodC5ob3JpeiAmJiAhdC5yZXZlcnNlZCB8fCAhdC5ob3JpeiAmJiB0LnJldmVyc2VkID8gKG4gPSByICsgYSAqIHRoaXMudG8sIHIgKz0gYSAqIHRoaXMuZnJvbSkgOiAobiA9IHIgKyBhICogKDEgLSB0aGlzLmZyb20pLCByICs9IGEgKiAoMSAtIHRoaXMudG8pKSwgdGhpcy5zaG91bGRVcGRhdGVFeHRyZW1lcyhlLkRPTVR5cGUpID8gdC5zZXRFeHRyZW1lcyhyLCBuLCAhMCwgIm1vdXNlbW92ZSIgIT09IGUuRE9NVHlwZSAmJiAidG91Y2htb3ZlIiAhPT0gZS5ET01UeXBlLCBlKSA6IHRoaXMuc2V0UmFuZ2UodGhpcy5mcm9tLCB0aGlzLnRvKSk7CiAgICAgICAgICAgICAgfSkpKTsKICAgICAgICAgICAgfSkpLCBlKG8sICJhZnRlclJlbmRlciIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgdCA9IHModGhpcyksIGUgPSB0LnNjcm9sbE1pbiwgbiA9IHQuc2Nyb2xsTWF4OwogICAgICAgICAgICAgIHQgPSB0aGlzLnNjcm9sbGJhcjsKICAgICAgICAgICAgICB2YXIgbyA9IHRoaXMuYXhpc1RpdGxlTWFyZ2luICsgKHRoaXMudGl0bGVPZmZzZXQgfHwgMCksIHIgPSB0aGlzLmNoYXJ0LnNjcm9sbGJhcnNPZmZzZXRzLCBhID0gdGhpcy5vcHRpb25zLm1hcmdpbiB8fCAwOwogICAgICAgICAgICAgIHQgJiYgKHRoaXMuaG9yaXogPyAodGhpcy5vcHBvc2l0ZSB8fCAoclsxXSArPSBvKSwgdC5wb3NpdGlvbih0aGlzLmxlZnQsIHRoaXMudG9wICsgdGhpcy5oZWlnaHQgKyAyICsgclsxXSAtICh0aGlzLm9wcG9zaXRlID8gYSA6IDApLCB0aGlzLndpZHRoLCB0aGlzLmhlaWdodCksIHRoaXMub3Bwb3NpdGUgfHwgKHJbMV0gKz0gYSksIG8gPSAxKSA6ICh0aGlzLm9wcG9zaXRlICYmIChyWzBdICs9IG8pLCB0LnBvc2l0aW9uKHQub3B0aW9ucy5vcHBvc2l0ZSA/IHRoaXMubGVmdCArIHRoaXMud2lkdGggKyAyICsgclswXSAtICh0aGlzLm9wcG9zaXRlID8gMCA6IGEpIDogdGhpcy5vcHBvc2l0ZSA/IDAgOiBhLCB0aGlzLnRvcCwgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpLCB0aGlzLm9wcG9zaXRlICYmIChyWzBdICs9IGEpLCBvID0gMCksIHJbb10gKz0gdC5zaXplICsgdC5vcHRpb25zLm1hcmdpbiwgaXNOYU4oZSkgfHwgaXNOYU4obikgfHwgIWkodGhpcy5taW4pIHx8ICFpKHRoaXMubWF4KSB8fCB0aGlzLm1pbiA9PT0gdGhpcy5tYXggPyB0LnNldFJhbmdlKDAsIDEpIDogKHIgPSAodGhpcy5taW4gLSBlKSAvIChuIC0gZSksIGUgPSAodGhpcy5tYXggLSBlKSAvIChuIC0gZSksIHRoaXMuaG9yaXogJiYgIXRoaXMucmV2ZXJzZWQgfHwgIXRoaXMuaG9yaXogJiYgdGhpcy5yZXZlcnNlZCA/IHQuc2V0UmFuZ2UociwgZSkgOiB0LnNldFJhbmdlKDEgLSBlLCAxIC0gcikpKTsKICAgICAgICAgICAgfSkpLCBlKG8sICJhZnRlckdldE9mZnNldCIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuc2Nyb2xsYmFyICYmICF0aGlzLnNjcm9sbGJhci5vcHRpb25zLm9wcG9zaXRlOwogICAgICAgICAgICAgIHQgPSB0aGlzLmhvcml6ID8gMiA6IHQgPyAzIDogMTsKICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMuc2Nyb2xsYmFyOwogICAgICAgICAgICAgIGUgJiYgKHRoaXMuY2hhcnQuc2Nyb2xsYmFyc09mZnNldHMgPSBbMCwgMF0sIHRoaXMuY2hhcnQuYXhpc09mZnNldFt0XSArPSBlLnNpemUgKyBlLm9wdGlvbnMubWFyZ2luKTsKICAgICAgICAgICAgfSkpLCBvOwogICAgICAgICAgfSwgdC5jb21wb3NlZCA9IFtdLCB0OwogICAgICAgIH0oKTsKICAgICAgfSkpLCBlKGksICJDb3JlL1Njcm9sbGJhckRlZmF1bHRzLmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdXSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgaGVpZ2h0OiB0LmlzVG91Y2hEZXZpY2UgPyAyMCA6IDE0LAogICAgICAgICAgYmFyQm9yZGVyUmFkaXVzOiAwLAogICAgICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiAwLAogICAgICAgICAgbGl2ZVJlZHJhdzogdm9pZCAwLAogICAgICAgICAgbWFyZ2luOiAxMCwKICAgICAgICAgIG1pbldpZHRoOiA2LAogICAgICAgICAgb3Bwb3NpdGU6ICEwLAogICAgICAgICAgc3RlcDogLjIsCiAgICAgICAgICB6SW5kZXg6IDMsCiAgICAgICAgICBiYXJCYWNrZ3JvdW5kQ29sb3I6ICIjY2NjY2NjIiwKICAgICAgICAgIGJhckJvcmRlcldpZHRoOiAxLAogICAgICAgICAgYmFyQm9yZGVyQ29sb3I6ICIjY2NjY2NjIiwKICAgICAgICAgIGJ1dHRvbkFycm93Q29sb3I6ICIjMzMzMzMzIiwKICAgICAgICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogIiNlNmU2ZTYiLAogICAgICAgICAgYnV0dG9uQm9yZGVyQ29sb3I6ICIjY2NjY2NjIiwKICAgICAgICAgIGJ1dHRvbkJvcmRlcldpZHRoOiAxLAogICAgICAgICAgcmlmbGVDb2xvcjogIiMzMzMzMzMiLAogICAgICAgICAgdHJhY2tCYWNrZ3JvdW5kQ29sb3I6ICIjZjJmMmYyIiwKICAgICAgICAgIHRyYWNrQm9yZGVyQ29sb3I6ICIjZjJmMmYyIiwKICAgICAgICAgIHRyYWNrQm9yZGVyV2lkdGg6IDEKICAgICAgICB9OwogICAgICB9KSksIGUoaSwgIkNvcmUvU2Nyb2xsYmFyLmpzIiwgW2lbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvQXhpcy9TY3JvbGxiYXJBeGlzLmpzIl0sIGlbIkNvcmUvU2Nyb2xsYmFyRGVmYXVsdHMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvKSB7CiAgICAgICAgdmFyIHIgPSB0LmRlZmF1bHRPcHRpb25zLCBzID0gby5hZGRFdmVudCwgYSA9IG8uY29ycmVjdEZsb2F0LCBoID0gby5kZWZpbmVkLCBsID0gby5kZXN0cm95T2JqZWN0UHJvcGVydGllcywgYyA9IG8uZmlyZUV2ZW50LCBwID0gby5tZXJnZSwgZCA9IG8ucGljaywKICAgICAgICAgIHUgPSBvLnJlbW92ZUV2ZW50OwogICAgICAgIHJldHVybiB0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiB0KHQsIGUsIGkpIHsKICAgICAgICAgICAgdGhpcy5fZXZlbnRzID0gW10sIHRoaXMuY2hhcnQgPSB2b2lkIDAsIHRoaXMuZnJvbSA9IHRoaXMuY2hhcnRZID0gdGhpcy5jaGFydFggPSAwLCB0aGlzLnNjcm9sbGJhciA9IHRoaXMucmVuZGVyZXIgPSB0aGlzLm9wdGlvbnMgPSB0aGlzLmdyb3VwID0gdm9pZCAwLCB0aGlzLnNjcm9sbGJhckJ1dHRvbnMgPSBbXSwgdGhpcy5zY3JvbGxiYXJHcm91cCA9IHZvaWQgMCwgdGhpcy5zY3JvbGxiYXJMZWZ0ID0gMCwgdGhpcy5zY3JvbGxiYXJSaWZsZXMgPSB2b2lkIDAsIHRoaXMuc2Nyb2xsYmFyU3Ryb2tlV2lkdGggPSAxLCB0aGlzLnRvID0gdGhpcy5zaXplID0gdGhpcy5zY3JvbGxiYXJUb3AgPSAwLCB0aGlzLnRyYWNrID0gdm9pZCAwLCB0aGlzLnRyYWNrQm9yZGVyV2lkdGggPSAxLCB0aGlzLnVzZXJPcHRpb25zID0gdm9pZCAwLCB0aGlzLnkgPSB0aGlzLnggPSAwLCB0aGlzLmluaXQodCwgZSwgaSk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHQuY29tcG9zZSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaS5jb21wb3NlKGUsIHQpOwogICAgICAgICAgfSwgdC5zd2FwWFkgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHJldHVybiBlICYmIHQuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGZvciAodmFyIGUsIGkgPSB0Lmxlbmd0aCwgbiA9IDA7IG4gPCBpOyBuICs9IDIpIGUgPSB0W24gKyAxXSwgIm51bWJlciIgPT09IHR5cGVvZiBlICYmICh0W24gKyAxXSA9IHRbbiArIDJdLCB0W24gKyAyXSA9IGUpOwogICAgICAgICAgICB9KSksIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGRFdmVudHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm9wdGlvbnMuaW52ZXJ0ZWQgPyBbMSwgMF0gOiBbMCwgMV0sIGkgPSB0aGlzLnNjcm9sbGJhckJ1dHRvbnMsIG4gPSB0aGlzLnNjcm9sbGJhckdyb3VwLmVsZW1lbnQsIG8gPSB0aGlzLnRyYWNrLmVsZW1lbnQsCiAgICAgICAgICAgICAgciA9IHRoaXMubW91c2VEb3duSGFuZGxlci5iaW5kKHRoaXMpLCBhID0gdGhpcy5tb3VzZU1vdmVIYW5kbGVyLmJpbmQodGhpcyksIGggPSB0aGlzLm1vdXNlVXBIYW5kbGVyLmJpbmQodGhpcyk7CiAgICAgICAgICAgIHQgPSBbW2lbdFswXV0uZWxlbWVudCwgImNsaWNrIiwgdGhpcy5idXR0b25Ub01pbkNsaWNrLmJpbmQodGhpcyldLCBbaVt0WzFdXS5lbGVtZW50LCAiY2xpY2siLCB0aGlzLmJ1dHRvblRvTWF4Q2xpY2suYmluZCh0aGlzKV0sIFtvLCAiY2xpY2siLCB0aGlzLnRyYWNrQ2xpY2suYmluZCh0aGlzKV0sIFtuLCAibW91c2Vkb3duIiwgcl0sIFtuLm93bmVyRG9jdW1lbnQsICJtb3VzZW1vdmUiLCBhXSwgW24ub3duZXJEb2N1bWVudCwgIm1vdXNldXAiLCBoXV0sIGUuaGFzVG91Y2ggJiYgdC5wdXNoKFtuLCAidG91Y2hzdGFydCIsIHJdLCBbbi5vd25lckRvY3VtZW50LCAidG91Y2htb3ZlIiwgYV0sIFtuLm93bmVyRG9jdW1lbnQsICJ0b3VjaGVuZCIsIGhdKSwgdC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcy5hcHBseShudWxsLCB0KTsKICAgICAgICAgICAgfSkpLCB0aGlzLl9ldmVudHMgPSB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYnV0dG9uVG9NYXhDbGljayA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSAodGhpcy50byAtIHRoaXMuZnJvbSkgKiBkKHRoaXMub3B0aW9ucy5zdGVwLCAuMik7CiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24odGhpcy5mcm9tICsgZSwgdGhpcy50byArIGUpLCBjKHRoaXMsICJjaGFuZ2VkIiwgeyBmcm9tOiB0aGlzLmZyb20sIHRvOiB0aGlzLnRvLCB0cmlnZ2VyOiAic2Nyb2xsYmFyIiwgRE9NRXZlbnQ6IHQgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5idXR0b25Ub01pbkNsaWNrID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IGEodGhpcy50byAtIHRoaXMuZnJvbSkgKiBkKHRoaXMub3B0aW9ucy5zdGVwLCAuMik7CiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oYSh0aGlzLmZyb20gLSBlKSwgYSh0aGlzLnRvIC0gZSkpLCBjKHRoaXMsICJjaGFuZ2VkIiwgeyBmcm9tOiB0aGlzLmZyb20sIHRvOiB0aGlzLnRvLCB0cmlnZ2VyOiAic2Nyb2xsYmFyIiwgRE9NRXZlbnQ6IHQgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5jdXJzb3JUb1Njcm9sbGJhclBvc2l0aW9uID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgcmV0dXJuIGUgPSBlLm1pbldpZHRoID4gdGhpcy5jYWxjdWxhdGVkV2lkdGggPyBlLm1pbldpZHRoIDogMCwgewogICAgICAgICAgICAgIGNoYXJ0WDogKHQuY2hhcnRYIC0gdGhpcy54IC0gdGhpcy54T2Zmc2V0KSAvICh0aGlzLmJhcldpZHRoIC0gZSksCiAgICAgICAgICAgICAgY2hhcnRZOiAodC5jaGFydFkgLSB0aGlzLnkgLSB0aGlzLnlPZmZzZXQpIC8gKHRoaXMuYmFyV2lkdGggLSBlKQogICAgICAgICAgICB9OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LmNoYXJ0LnNjcm9sbGVyOwogICAgICAgICAgICB0LnJlbW92ZUV2ZW50cygpLCBbInRyYWNrIiwgInNjcm9sbGJhclJpZmxlcyIsICJzY3JvbGxiYXIiLCAic2Nyb2xsYmFyR3JvdXAiLCAiZ3JvdXAiXS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgdFtlXSAmJiB0W2VdLmRlc3Ryb3kgJiYgKHRbZV0gPSB0W2VdLmRlc3Ryb3koKSk7CiAgICAgICAgICAgIH0pKSwgZSAmJiB0ID09PSBlLnNjcm9sbGJhciAmJiAoZS5zY3JvbGxiYXIgPSBudWxsLCBsKGUuc2Nyb2xsYmFyQnV0dG9ucykpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZHJhd1Njcm9sbGJhckJ1dHRvbiA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLnJlbmRlcmVyLCBuID0gdGhpcy5zY3JvbGxiYXJCdXR0b25zLCBvID0gdGhpcy5vcHRpb25zLCByID0gdGhpcy5zaXplLCBzID0gaS5nKCkuYWRkKHRoaXMuZ3JvdXApOwogICAgICAgICAgICBuLnB1c2gocyksIHMgPSBpLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1zY3JvbGxiYXItYnV0dG9uIikuYWRkKHMpLCB0aGlzLmNoYXJ0LnN0eWxlZE1vZGUgfHwgcy5hdHRyKHsKICAgICAgICAgICAgICBzdHJva2U6IG8uYnV0dG9uQm9yZGVyQ29sb3IsCiAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IG8uYnV0dG9uQm9yZGVyV2lkdGgsCiAgICAgICAgICAgICAgZmlsbDogby5idXR0b25CYWNrZ3JvdW5kQ29sb3IKICAgICAgICAgICAgfSksIHMuYXR0cihzLmNyaXNwKHsKICAgICAgICAgICAgICB4OiAtLjUsCiAgICAgICAgICAgICAgeTogLS41LAogICAgICAgICAgICAgIHdpZHRoOiByICsgMSwKICAgICAgICAgICAgICBoZWlnaHQ6IHIgKyAxLAogICAgICAgICAgICAgIHI6IG8uYnV0dG9uQm9yZGVyUmFkaXVzCiAgICAgICAgICAgIH0sIHMuc3Ryb2tlV2lkdGgoKSkpLCBzID0gaS5wYXRoKHQuc3dhcFhZKFtbIk0iLCByIC8gMiArIChlID8gLTEgOiAxKSwgciAvIDIgLSAzXSwgWyJMIiwgciAvIDIgKyAoZSA/IC0xIDogMSksIHIgLyAyICsgM10sIFsiTCIsIHIgLyAyICsgKGUgPyAyIDogLTIpLCByIC8gMl1dLCBvLnZlcnRpY2FsKSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtc2Nyb2xsYmFyLWFycm93IikuYWRkKG5bZV0pLCB0aGlzLmNoYXJ0LnN0eWxlZE1vZGUgfHwgcy5hdHRyKHsgZmlsbDogby5idXR0b25BcnJvd0NvbG9yIH0pOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdGhpcy5zY3JvbGxiYXJCdXR0b25zID0gW10sIHRoaXMucmVuZGVyZXIgPSB0LCB0aGlzLnVzZXJPcHRpb25zID0gZSwgdGhpcy5vcHRpb25zID0gcChuLCByLnNjcm9sbGJhciwgZSksIHRoaXMuY2hhcnQgPSBpLCB0aGlzLnNpemUgPSBkKHRoaXMub3B0aW9ucy5zaXplLCB0aGlzLm9wdGlvbnMuaGVpZ2h0KSwgZS5lbmFibGVkICYmICh0aGlzLnJlbmRlcigpLCB0aGlzLmFkZEV2ZW50cygpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLm1vdXNlRG93bkhhbmRsZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHQgPSB0aGlzLmNoYXJ0LnBvaW50ZXIubm9ybWFsaXplKHQpLCB0ID0gdGhpcy5jdXJzb3JUb1Njcm9sbGJhclBvc2l0aW9uKHQpLCB0aGlzLmNoYXJ0WCA9IHQuY2hhcnRYLCB0aGlzLmNoYXJ0WSA9IHQuY2hhcnRZLCB0aGlzLmluaXRQb3NpdGlvbnMgPSBbdGhpcy5mcm9tLCB0aGlzLnRvXSwgdGhpcy5ncmFiYmVkQ2VudGVyID0gITA7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5tb3VzZU1vdmVIYW5kbGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQucG9pbnRlci5ub3JtYWxpemUodCksIGkgPSB0aGlzLm9wdGlvbnMudmVydGljYWwgPyAiY2hhcnRZIiA6ICJjaGFydFgiLCBuID0gdGhpcy5pbml0UG9zaXRpb25zIHx8IFtdOwogICAgICAgICAgICAhdGhpcy5ncmFiYmVkQ2VudGVyIHx8IHQudG91Y2hlcyAmJiAwID09PSB0LnRvdWNoZXNbMF1baV0gfHwgKGUgPSB0aGlzLmN1cnNvclRvU2Nyb2xsYmFyUG9zaXRpb24oZSlbaV0sIGkgPSB0aGlzW2ldLCBpID0gZSAtIGksIHRoaXMuaGFzRHJhZ2dlZCA9ICEwLCB0aGlzLnVwZGF0ZVBvc2l0aW9uKG5bMF0gKyBpLCBuWzFdICsgaSksIHRoaXMuaGFzRHJhZ2dlZCAmJiBjKHRoaXMsICJjaGFuZ2VkIiwgewogICAgICAgICAgICAgIGZyb206IHRoaXMuZnJvbSwKICAgICAgICAgICAgICB0bzogdGhpcy50bywKICAgICAgICAgICAgICB0cmlnZ2VyOiAic2Nyb2xsYmFyIiwKICAgICAgICAgICAgICBET01UeXBlOiB0LnR5cGUsCiAgICAgICAgICAgICAgRE9NRXZlbnQ6IHQKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUubW91c2VVcEhhbmRsZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMuaGFzRHJhZ2dlZCAmJiBjKHRoaXMsICJjaGFuZ2VkIiwgewogICAgICAgICAgICAgIGZyb206IHRoaXMuZnJvbSwKICAgICAgICAgICAgICB0bzogdGhpcy50bywKICAgICAgICAgICAgICB0cmlnZ2VyOiAic2Nyb2xsYmFyIiwKICAgICAgICAgICAgICBET01UeXBlOiB0LnR5cGUsCiAgICAgICAgICAgICAgRE9NRXZlbnQ6IHQKICAgICAgICAgICAgfSksIHRoaXMuZ3JhYmJlZENlbnRlciA9IHRoaXMuaGFzRHJhZ2dlZCA9IHRoaXMuY2hhcnRYID0gdGhpcy5jaGFydFkgPSBudWxsOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucG9zaXRpb24gPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIHZhciBvID0gdGhpcy5vcHRpb25zLnZlcnRpY2FsLCByID0gdGhpcy5yZW5kZXJlZCA/ICJhbmltYXRlIiA6ICJhdHRyIiwgcyA9IDA7CiAgICAgICAgICAgIHRoaXMueCA9IHQsIHRoaXMueSA9IGUgKyB0aGlzLnRyYWNrQm9yZGVyV2lkdGgsIHRoaXMud2lkdGggPSBpLCB0aGlzLnhPZmZzZXQgPSB0aGlzLmhlaWdodCA9IG4sIHRoaXMueU9mZnNldCA9IHMsIG8gPyAodGhpcy53aWR0aCA9IHRoaXMueU9mZnNldCA9IGkgPSBzID0gdGhpcy5zaXplLCB0aGlzLnhPZmZzZXQgPSBlID0gMCwgdGhpcy5iYXJXaWR0aCA9IG4gLSAyICogaSwgdGhpcy54ID0gdCArPSB0aGlzLm9wdGlvbnMubWFyZ2luKSA6ICh0aGlzLmhlaWdodCA9IHRoaXMueE9mZnNldCA9IG4gPSBlID0gdGhpcy5zaXplLCB0aGlzLmJhcldpZHRoID0gaSAtIDIgKiBuLCB0aGlzLnkgKz0gdGhpcy5vcHRpb25zLm1hcmdpbiksIHRoaXMuZ3JvdXBbcl0oewogICAgICAgICAgICAgIHRyYW5zbGF0ZVg6IHQsCiAgICAgICAgICAgICAgdHJhbnNsYXRlWTogdGhpcy55CiAgICAgICAgICAgIH0pLCB0aGlzLnRyYWNrW3JdKHsgd2lkdGg6IGksIGhlaWdodDogbiB9KSwgdGhpcy5zY3JvbGxiYXJCdXR0b25zWzFdW3JdKHsgdHJhbnNsYXRlWDogbyA/IDAgOiBpIC0gZSwgdHJhbnNsYXRlWTogbyA/IG4gLSBzIDogMCB9KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUV2ZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLl9ldmVudHMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHUuYXBwbHkobnVsbCwgdCk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5fZXZlbnRzLmxlbmd0aCA9IDA7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnJlbmRlcmVyLCBpID0gdGhpcy5vcHRpb25zLCBuID0gdGhpcy5zaXplLCBvID0gdGhpcy5jaGFydC5zdHlsZWRNb2RlLAogICAgICAgICAgICAgIHIgPSBlLmcoInNjcm9sbGJhciIpLmF0dHIoeyB6SW5kZXg6IGkuekluZGV4LCB0cmFuc2xhdGVZOiAtOTk5OTkgfSkuYWRkKCk7CiAgICAgICAgICAgIHRoaXMuZ3JvdXAgPSByLCB0aGlzLnRyYWNrID0gZS5yZWN0KCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtc2Nyb2xsYmFyLXRyYWNrIikuYXR0cih7CiAgICAgICAgICAgICAgeDogMCwKICAgICAgICAgICAgICByOiBpLnRyYWNrQm9yZGVyUmFkaXVzIHx8IDAsCiAgICAgICAgICAgICAgaGVpZ2h0OiBuLAogICAgICAgICAgICAgIHdpZHRoOiBuCiAgICAgICAgICAgIH0pLmFkZChyKSwgbyB8fCB0aGlzLnRyYWNrLmF0dHIoewogICAgICAgICAgICAgIGZpbGw6IGkudHJhY2tCYWNrZ3JvdW5kQ29sb3IsCiAgICAgICAgICAgICAgc3Ryb2tlOiBpLnRyYWNrQm9yZGVyQ29sb3IsCiAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IGkudHJhY2tCb3JkZXJXaWR0aAogICAgICAgICAgICB9KSwgdGhpcy50cmFja0JvcmRlcldpZHRoID0gdGhpcy50cmFjay5zdHJva2VXaWR0aCgpLCB0aGlzLnRyYWNrLmF0dHIoeyB5OiAtdGhpcy50cmFja0JvcmRlcldpZHRoICUgMiAvIDIgfSksIHRoaXMuc2Nyb2xsYmFyR3JvdXAgPSBlLmcoKS5hZGQociksIHRoaXMuc2Nyb2xsYmFyID0gZS5yZWN0KCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtc2Nyb2xsYmFyLXRodW1iIikuYXR0cih7CiAgICAgICAgICAgICAgaGVpZ2h0OiBuLAogICAgICAgICAgICAgIHdpZHRoOiBuLAogICAgICAgICAgICAgIHI6IGkuYmFyQm9yZGVyUmFkaXVzIHx8IDAKICAgICAgICAgICAgfSkuYWRkKHRoaXMuc2Nyb2xsYmFyR3JvdXApLCB0aGlzLnNjcm9sbGJhclJpZmxlcyA9IGUucGF0aCh0LnN3YXBYWShbWyJNIiwgLTMsIG4gLyA0XSwgWyJMIiwgLTMsIDIgKiBuIC8gM10sIFsiTSIsIDAsIG4gLyA0XSwgWyJMIiwgMCwgMiAqIG4gLyAzXSwgWyJNIiwgMywgbiAvIDRdLCBbIkwiLCAzLCAyICogbiAvIDNdXSwgaS52ZXJ0aWNhbCkpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXNjcm9sbGJhci1yaWZsZXMiKS5hZGQodGhpcy5zY3JvbGxiYXJHcm91cCksIG8gfHwgKHRoaXMuc2Nyb2xsYmFyLmF0dHIoewogICAgICAgICAgICAgIGZpbGw6IGkuYmFyQmFja2dyb3VuZENvbG9yLAogICAgICAgICAgICAgIHN0cm9rZTogaS5iYXJCb3JkZXJDb2xvciwKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogaS5iYXJCb3JkZXJXaWR0aAogICAgICAgICAgICB9KSwgdGhpcy5zY3JvbGxiYXJSaWZsZXMuYXR0cih7CiAgICAgICAgICAgICAgc3Ryb2tlOiBpLnJpZmxlQ29sb3IsCiAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IDEKICAgICAgICAgICAgfSkpLCB0aGlzLnNjcm9sbGJhclN0cm9rZVdpZHRoID0gdGhpcy5zY3JvbGxiYXIuc3Ryb2tlV2lkdGgoKSwgdGhpcy5zY3JvbGxiYXJHcm91cC50cmFuc2xhdGUoLXRoaXMuc2Nyb2xsYmFyU3Ryb2tlV2lkdGggJSAyIC8gMiwgLXRoaXMuc2Nyb2xsYmFyU3Ryb2tlV2lkdGggJSAyIC8gMiksIHRoaXMuZHJhd1Njcm9sbGJhckJ1dHRvbigwKSwgdGhpcy5kcmF3U2Nyb2xsYmFyQnV0dG9uKDEpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0UmFuZ2UgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5vcHRpb25zLCBuID0gaS52ZXJ0aWNhbCwgbyA9IGkubWluV2lkdGgsIHIgPSB0aGlzLmJhcldpZHRoLAogICAgICAgICAgICAgIHMgPSAhdGhpcy5yZW5kZXJlZCB8fCB0aGlzLmhhc0RyYWdnZWQgfHwgdGhpcy5jaGFydC5uYXZpZ2F0b3IgJiYgdGhpcy5jaGFydC5uYXZpZ2F0b3IuaGFzRHJhZ2dlZCA/ICJhdHRyIiA6ICJhbmltYXRlIjsKICAgICAgICAgICAgaWYgKGgocikpIHsKICAgICAgICAgICAgICB2YXIgbCA9IHIgKiBNYXRoLm1pbihlLCAxKTsKICAgICAgICAgICAgICB0ID0gTWF0aC5tYXgodCwgMCk7CiAgICAgICAgICAgICAgdmFyIGMgPSBNYXRoLmNlaWwociAqIHQpOwogICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlZFdpZHRoID0gbCA9IGEobCAtIGMpLCBsIDwgbyAmJiAoYyA9IChyIC0gbyArIGwpICogdCwgbCA9IG8pLCBvID0gTWF0aC5mbG9vcihjICsgdGhpcy54T2Zmc2V0ICsgdGhpcy55T2Zmc2V0KSwgciA9IGwgLyAyIC0gLjUsIHRoaXMuZnJvbSA9IHQsIHRoaXMudG8gPSBlLCBuID8gKHRoaXMuc2Nyb2xsYmFyR3JvdXBbc10oeyB0cmFuc2xhdGVZOiBvIH0pLCB0aGlzLnNjcm9sbGJhcltzXSh7IGhlaWdodDogbCB9KSwgdGhpcy5zY3JvbGxiYXJSaWZsZXNbc10oeyB0cmFuc2xhdGVZOiByIH0pLCB0aGlzLnNjcm9sbGJhclRvcCA9IG8sIHRoaXMuc2Nyb2xsYmFyTGVmdCA9IDApIDogKHRoaXMuc2Nyb2xsYmFyR3JvdXBbc10oeyB0cmFuc2xhdGVYOiBvIH0pLCB0aGlzLnNjcm9sbGJhcltzXSh7IHdpZHRoOiBsIH0pLCB0aGlzLnNjcm9sbGJhclJpZmxlc1tzXSh7IHRyYW5zbGF0ZVg6IHIgfSksIHRoaXMuc2Nyb2xsYmFyTGVmdCA9IG8sIHRoaXMuc2Nyb2xsYmFyVG9wID0gMCksIDEyID49IGwgPyB0aGlzLnNjcm9sbGJhclJpZmxlcy5oaWRlKCkgOiB0aGlzLnNjcm9sbGJhclJpZmxlcy5zaG93KCEwKSwgITEgPT09IGkuc2hvd0Z1bGwgJiYgKDAgPj0gdCAmJiAxIDw9IGUgPyB0aGlzLmdyb3VwLmhpZGUoKSA6IHRoaXMuZ3JvdXAuc2hvdygpKSwgdGhpcy5yZW5kZXJlZCA9ICEwOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zaG91bGRVcGRhdGVFeHRyZW1lcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIGQodGhpcy5vcHRpb25zLmxpdmVSZWRyYXcsIGUuc3ZnICYmICFlLmlzVG91Y2hEZXZpY2UgJiYgIXRoaXMuY2hhcnQuaXNCb29zdGluZykgfHwgIm1vdXNldXAiID09PSB0IHx8ICJ0b3VjaGVuZCIgPT09IHQgfHwgIWgodCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS50cmFja0NsaWNrID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQucG9pbnRlci5ub3JtYWxpemUodCksIGkgPSB0aGlzLnRvIC0gdGhpcy5mcm9tLCBuID0gdGhpcy55ICsgdGhpcy5zY3JvbGxiYXJUb3AsIG8gPSB0aGlzLnggKyB0aGlzLnNjcm9sbGJhckxlZnQ7CiAgICAgICAgICAgIHRoaXMub3B0aW9ucy52ZXJ0aWNhbCAmJiBlLmNoYXJ0WSA+IG4gfHwgIXRoaXMub3B0aW9ucy52ZXJ0aWNhbCAmJiBlLmNoYXJ0WCA+IG8gPyB0aGlzLnVwZGF0ZVBvc2l0aW9uKHRoaXMuZnJvbSArIGksIHRoaXMudG8gKyBpKSA6IHRoaXMudXBkYXRlUG9zaXRpb24odGhpcy5mcm9tIC0gaSwgdGhpcy50byAtIGkpLCBjKHRoaXMsICJjaGFuZ2VkIiwgewogICAgICAgICAgICAgIGZyb206IHRoaXMuZnJvbSwKICAgICAgICAgICAgICB0bzogdGhpcy50bywKICAgICAgICAgICAgICB0cmlnZ2VyOiAic2Nyb2xsYmFyIiwKICAgICAgICAgICAgICBET01FdmVudDogdAogICAgICAgICAgICB9KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5kZXN0cm95KCksIHRoaXMuaW5pdCh0aGlzLmNoYXJ0LnJlbmRlcmVyLCBwKCEwLCB0aGlzLm9wdGlvbnMsIHQpLCB0aGlzLmNoYXJ0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZVBvc2l0aW9uID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAxIDwgZSAmJiAodCA9IGEoMSAtIGEoZSAtIHQpKSwgZSA9IDEpLCAwID4gdCAmJiAoZSA9IGEoZSAtIHQpLCB0ID0gMCksIHRoaXMuZnJvbSA9IHQsIHRoaXMudG8gPSBlOwogICAgICAgICAgfSwgdC5kZWZhdWx0T3B0aW9ucyA9IG4sIHQ7CiAgICAgICAgfSgpLCByLnNjcm9sbGJhciA9IHAoITAsIHQuZGVmYXVsdE9wdGlvbnMsIHIuc2Nyb2xsYmFyKSwgdDsKICAgICAgfSkpLCBlKGksICJDb3JlL0F4aXMvTmF2aWdhdG9yQXhpcy5qcyIsIFtpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSB0LmlzVG91Y2hEZXZpY2UsIG4gPSBlLmFkZEV2ZW50LCBvID0gZS5jb3JyZWN0RmxvYXQsIHIgPSBlLmRlZmluZWQsIHMgPSBlLmlzTnVtYmVyLCBhID0gZS5waWNrLCBoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiB0KHQpIHsKICAgICAgICAgICAgdGhpcy5heGlzID0gdDsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gdC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmF4aXMgPSB2b2lkIDA7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS50b0ZpeGVkUmFuZ2UgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIHZhciBoID0gdGhpcy5heGlzLCBsID0gaC5jaGFydDsKICAgICAgICAgICAgbCA9IGwgJiYgbC5maXhlZFJhbmdlOwogICAgICAgICAgICB2YXIgYyA9IChoLnBvaW50UmFuZ2UgfHwgMCkgLyAyOwogICAgICAgICAgICByZXR1cm4gdCA9IGEoaSwgaC50cmFuc2xhdGUodCwgITAsICFoLmhvcml6KSksIGUgPSBhKG4sIGgudHJhbnNsYXRlKGUsICEwLCAhaC5ob3JpeikpLCBoID0gbCAmJiAoZSAtIHQpIC8gbCwgcihpKSB8fCAodCA9IG8odCArIGMpKSwgcihuKSB8fCAoZSA9IG8oZSAtIGMpKSwgLjcgPCBoICYmIDEuMyA+IGggJiYgKG4gPyB0ID0gZSAtIGwgOiBlID0gdCArIGwpLCBzKHQpICYmIHMoZSkgfHwgKHQgPSBlID0gdm9pZCAwKSwgewogICAgICAgICAgICAgIG1pbjogdCwKICAgICAgICAgICAgICBtYXg6IGUKICAgICAgICAgICAgfTsKICAgICAgICAgIH0sIHQ7CiAgICAgICAgfSgpOwogICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgIGZ1bmN0aW9uIHQoKSB7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHQuY29tcG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdC5rZWVwUHJvcHMucHVzaCgibmF2aWdhdG9yQXhpcyIpLCBuKHQsICJpbml0IiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yQXhpcyB8fCAodGhpcy5uYXZpZ2F0b3JBeGlzID0gbmV3IGgodGhpcykpOwogICAgICAgICAgICB9KSksIG4odCwgInpvb20iLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydC5vcHRpb25zLCBuID0gZS5uYXZpZ2F0b3IsIG8gPSB0aGlzLm5hdmlnYXRvckF4aXMsIHMgPSBlLmNoYXJ0LnBpbmNoVHlwZSwgYSA9IGUucmFuZ2VTZWxlY3RvcjsKICAgICAgICAgICAgICBlID0gZS5jaGFydC56b29tVHlwZSwgdGhpcy5pc1hBeGlzICYmIChuICYmIG4uZW5hYmxlZCB8fCBhICYmIGEuZW5hYmxlZCkgJiYgKCJ5IiA9PT0gZSA/IHQuem9vbWVkID0gITEgOiAoIWkgJiYgInh5IiA9PT0gZSB8fCBpICYmICJ4eSIgPT09IHMpICYmIHRoaXMub3B0aW9ucy5yYW5nZSAmJiAobiA9IG8ucHJldmlvdXNab29tLCByKHQubmV3TWluKSA/IG8ucHJldmlvdXNab29tID0gW3RoaXMubWluLCB0aGlzLm1heF0gOiBuICYmICh0Lm5ld01pbiA9IG5bMF0sIHQubmV3TWF4ID0gblsxXSwgby5wcmV2aW91c1pvb20gPSB2b2lkIDApKSksICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdC56b29tZWQgJiYgdC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LkFkZGl0aW9uc0NsYXNzID0gaCwgdDsKICAgICAgICB9KCk7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9OYXZpZ2F0b3IuanMiLCBbaVsiQ29yZS9BeGlzL0F4aXMuanMiXSwgaVsiQ29yZS9DaGFydC9DaGFydC5qcyJdLCBpWyJDb3JlL0NvbG9yL0NvbG9yLmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL0F4aXMvTmF2aWdhdG9yQXhpcy5qcyJdLCBpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1Njcm9sbGJhci5qcyJdLCBpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSwgaVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzLCBhLCBoLCBsLCBjKSB7CiAgICAgICAgaSA9IGkucGFyc2U7CiAgICAgICAgdmFyIHAgPSBuLmhhc1RvdWNoLCBkID0gbi5pc1RvdWNoRGV2aWNlLCB1ID0gci5kZWZhdWx0T3B0aW9ucywgZiA9IGMuYWRkRXZlbnQsIGcgPSBjLmNsYW1wLCBtID0gYy5jb3JyZWN0RmxvYXQsIHkgPSBjLmRlZmluZWQsCiAgICAgICAgICB2ID0gYy5kZXN0cm95T2JqZWN0UHJvcGVydGllcywgeCA9IGMuZXJhc2UsIGIgPSBjLmV4dGVuZCwgXyA9IGMuZmluZCwgdyA9IGMuaXNBcnJheSwgayA9IGMuaXNOdW1iZXIsIFMgPSBjLm1lcmdlLCBDID0gYy5waWNrLCBNID0gYy5yZW1vdmVFdmVudCwKICAgICAgICAgIEEgPSBjLnNwbGF0LCBQID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBmb3IgKHZhciBlID0gW10sIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSBlW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTsKICAgICAgICAgICAgaWYgKGUgPSBbXS5maWx0ZXIuY2FsbChlLCBrKSwgZS5sZW5ndGgpIHJldHVybiBNYXRoW3RdLmFwcGx5KDAsIGUpOwogICAgICAgICAgfTsKICAgICAgICByID0gInVuZGVmaW5lZCIgPT09IHR5cGVvZiBsLnNlcmllc1R5cGVzLmFyZWFzcGxpbmUgPyAibGluZSIgOiAiYXJlYXNwbGluZSIsIGIodSwgewogICAgICAgICAgbmF2aWdhdG9yOiB7CiAgICAgICAgICAgIGhlaWdodDogNDAsCiAgICAgICAgICAgIG1hcmdpbjogMjUsCiAgICAgICAgICAgIG1hc2tJbnNpZGU6ICEwLAogICAgICAgICAgICBoYW5kbGVzOiB7CiAgICAgICAgICAgICAgd2lkdGg6IDcsCiAgICAgICAgICAgICAgaGVpZ2h0OiAxNSwKICAgICAgICAgICAgICBzeW1ib2xzOiBbIm5hdmlnYXRvci1oYW5kbGUiLCAibmF2aWdhdG9yLWhhbmRsZSJdLAogICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICAgIGxpbmVXaWR0aDogMSwKICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICIjZjJmMmYyIiwKICAgICAgICAgICAgICBib3JkZXJDb2xvcjogIiM5OTk5OTkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG1hc2tGaWxsOiBpKCIjNjY4NWMyIikuc2V0T3BhY2l0eSguMykuZ2V0KCksCiAgICAgICAgICAgIG91dGxpbmVDb2xvcjogIiNjY2NjY2MiLAogICAgICAgICAgICBvdXRsaW5lV2lkdGg6IDEsCiAgICAgICAgICAgIHNlcmllczogewogICAgICAgICAgICAgIHR5cGU6IHIsCiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IC4wNSwKICAgICAgICAgICAgICBsaW5lV2lkdGg6IDEsCiAgICAgICAgICAgICAgY29tcGFyZTogbnVsbCwKICAgICAgICAgICAgICBkYXRhR3JvdXBpbmc6IHsKICAgICAgICAgICAgICAgIGFwcHJveGltYXRpb246ICJhdmVyYWdlIiwKICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICAgICAgZ3JvdXBQaXhlbFdpZHRoOiAyLAogICAgICAgICAgICAgICAgZmlyc3RBbmNob3I6ICJmaXJzdFBvaW50IiwKICAgICAgICAgICAgICAgIGFuY2hvcjogIm1pZGRsZSIsCiAgICAgICAgICAgICAgICBsYXN0QW5jaG9yOiAibGFzdFBvaW50IiwKICAgICAgICAgICAgICAgIHVuaXRzOiBbWyJtaWxsaXNlY29uZCIsIFsxLCAyLCA1LCAxMCwgMjAsIDI1LCA1MCwgMTAwLCAyMDAsIDUwMF1dLCBbInNlY29uZCIsIFsxLCAyLCA1LCAxMCwgMTUsIDMwXV0sIFsibWludXRlIiwgWzEsIDIsIDUsIDEwLCAxNSwgMzBdXSwgWyJob3VyIiwgWzEsIDIsIDMsIDQsIDYsIDgsIDEyXV0sIFsiZGF5IiwgWzEsIDIsIDMsIDRdXSwgWyJ3ZWVrIiwgWzEsIDIsIDNdXSwgWyJtb250aCIsIFsxLCAzLCA2XV0sIFsieWVhciIsIG51bGxdXQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgZGF0YUxhYmVsczogeyBlbmFibGVkOiAhMSwgekluZGV4OiAyIH0sCiAgICAgICAgICAgICAgaWQ6ICJoaWdoY2hhcnRzLW5hdmlnYXRvci1zZXJpZXMiLAogICAgICAgICAgICAgIGNsYXNzTmFtZTogImhpZ2hjaGFydHMtbmF2aWdhdG9yLXNlcmllcyIsCiAgICAgICAgICAgICAgbGluZUNvbG9yOiBudWxsLAogICAgICAgICAgICAgIG1hcmtlcjogeyBlbmFibGVkOiAhMSB9LAogICAgICAgICAgICAgIHRocmVzaG9sZDogbnVsbAogICAgICAgICAgICB9LAogICAgICAgICAgICB4QXhpczogewogICAgICAgICAgICAgIG92ZXJzY3JvbGw6IDAsCiAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiaGlnaGNoYXJ0cy1uYXZpZ2F0b3IteGF4aXMiLAogICAgICAgICAgICAgIHRpY2tMZW5ndGg6IDAsCiAgICAgICAgICAgICAgbGluZVdpZHRoOiAwLAogICAgICAgICAgICAgIGdyaWRMaW5lQ29sb3I6ICIjZTZlNmU2IiwKICAgICAgICAgICAgICBncmlkTGluZVdpZHRoOiAxLAogICAgICAgICAgICAgIHRpY2tQaXhlbEludGVydmFsOiAyMDAsCiAgICAgICAgICAgICAgbGFiZWxzOiB7IGFsaWduOiAibGVmdCIsIHN0eWxlOiB7IGNvbG9yOiAiIzk5OTk5OSIgfSwgeDogMywgeTogLTQgfSwKICAgICAgICAgICAgICBjcm9zc2hhaXI6ICExCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHlBeGlzOiB7CiAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiaGlnaGNoYXJ0cy1uYXZpZ2F0b3IteWF4aXMiLAogICAgICAgICAgICAgIGdyaWRMaW5lV2lkdGg6IDAsCiAgICAgICAgICAgICAgc3RhcnRPblRpY2s6ICExLAogICAgICAgICAgICAgIGVuZE9uVGljazogITEsCiAgICAgICAgICAgICAgbWluUGFkZGluZzogLjEsCiAgICAgICAgICAgICAgbWF4UGFkZGluZzogLjEsCiAgICAgICAgICAgICAgbGFiZWxzOiB7IGVuYWJsZWQ6ICExIH0sCiAgICAgICAgICAgICAgY3Jvc3NoYWlyOiAhMSwKICAgICAgICAgICAgICB0aXRsZTogeyB0ZXh0OiBudWxsIH0sCiAgICAgICAgICAgICAgdGlja0xlbmd0aDogMCwKICAgICAgICAgICAgICB0aWNrV2lkdGg6IDAKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pLCBzLmdldFJlbmRlcmVyVHlwZSgpLnByb3RvdHlwZS5zeW1ib2xzWyJuYXZpZ2F0b3ItaGFuZGxlIl0gPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvKSB7CiAgICAgICAgICByZXR1cm4gdCA9IChvICYmIG8ud2lkdGggfHwgMCkgLyAyLCBlID0gTWF0aC5yb3VuZCh0IC8gMykgKyAuNSwgbyA9IG8gJiYgby5oZWlnaHQgfHwgMCwgW1siTSIsIC10IC0gMSwgLjVdLCBbIkwiLCB0LCAuNV0sIFsiTCIsIHQsIG8gKyAuNV0sIFsiTCIsIC10IC0gMSwgbyArIC41XSwgWyJMIiwgLXQgLSAxLCAuNV0sIFsiTSIsIC1lLCA0XSwgWyJMIiwgLWUsIG8gLSAzXSwgWyJNIiwgZSAtIDEsIDRdLCBbIkwiLCBlIC0gMSwgbyAtIDNdXTsKICAgICAgICB9OwogICAgICAgIHZhciBPID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiBlKHQpIHsKICAgICAgICAgICAgdGhpcy56b29tZWRNaW4gPSB0aGlzLnpvb21lZE1heCA9IHRoaXMueUF4aXMgPSB0aGlzLnhBeGlzID0gdGhpcy50b3AgPSB0aGlzLnNpemUgPSB0aGlzLnNoYWRlcyA9IHRoaXMucmVuZGVyZWQgPSB0aGlzLnJhbmdlID0gdGhpcy5vdXRsaW5lSGVpZ2h0ID0gdGhpcy5vdXRsaW5lID0gdGhpcy5vcHBvc2l0ZSA9IHRoaXMubmF2aWdhdG9yU2l6ZSA9IHRoaXMubmF2aWdhdG9yU2VyaWVzID0gdGhpcy5uYXZpZ2F0b3JPcHRpb25zID0gdGhpcy5uYXZpZ2F0b3JHcm91cCA9IHRoaXMubmF2aWdhdG9yRW5hYmxlZCA9IHRoaXMubGVmdCA9IHRoaXMuaGVpZ2h0ID0gdGhpcy5oYW5kbGVzID0gdGhpcy5jaGFydCA9IHRoaXMuYmFzZVNlcmllcyA9IHZvaWQgMCwgdGhpcy5pbml0KHQpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBlLnByb3RvdHlwZS5kcmF3SGFuZGxlID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICB2YXIgbyA9IHRoaXMubmF2aWdhdG9yT3B0aW9ucy5oYW5kbGVzLmhlaWdodDsKICAgICAgICAgICAgdGhpcy5oYW5kbGVzW2VdW25dKGkgPyB7CiAgICAgICAgICAgICAgdHJhbnNsYXRlWDogTWF0aC5yb3VuZCh0aGlzLmxlZnQgKyB0aGlzLmhlaWdodCAvIDIpLAogICAgICAgICAgICAgIHRyYW5zbGF0ZVk6IE1hdGgucm91bmQodGhpcy50b3AgKyBwYXJzZUludCh0LCAxMCkgKyAuNSAtIG8pCiAgICAgICAgICAgIH0gOiB7IHRyYW5zbGF0ZVg6IE1hdGgucm91bmQodGhpcy5sZWZ0ICsgcGFyc2VJbnQodCwgMTApKSwgdHJhbnNsYXRlWTogTWF0aC5yb3VuZCh0aGlzLnRvcCArIHRoaXMuaGVpZ2h0IC8gMiAtIG8gLyAyIC0gMSkgfSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kcmF3T3V0bGluZSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLm5hdmlnYXRvck9wdGlvbnMubWFza0luc2lkZSwgciA9IHRoaXMub3V0bGluZS5zdHJva2VXaWR0aCgpLCBzID0gciAvIDIsIGEgPSByICUgMiAvIDI7CiAgICAgICAgICAgIHIgPSB0aGlzLm91dGxpbmVIZWlnaHQ7CiAgICAgICAgICAgIHZhciBoID0gdGhpcy5zY3JvbGxiYXJIZWlnaHQgfHwgMCwgbCA9IHRoaXMuc2l6ZSwgYyA9IHRoaXMubGVmdCAtIGgsIHAgPSB0aGlzLnRvcDsKICAgICAgICAgICAgaSA/IChjIC09IHMsIGkgPSBwICsgZSArIGEsIGUgPSBwICsgdCArIGEsIGEgPSBbWyJNIiwgYyArIHIsIHAgLSBoIC0gYV0sIFsiTCIsIGMgKyByLCBpXSwgWyJMIiwgYywgaV0sIFsiTCIsIGMsIGVdLCBbIkwiLCBjICsgciwgZV0sIFsiTCIsIGMgKyByLCBwICsgbCArIGhdXSwgbyAmJiBhLnB1c2goWyJNIiwgYyArIHIsIGkgLSBzXSwgWyJMIiwgYyArIHIsIGUgKyBzXSkpIDogKHQgKz0gYyArIGggLSBhLCBlICs9IGMgKyBoIC0gYSwgcCArPSBzLCBhID0gW1siTSIsIGMsIHBdLCBbIkwiLCB0LCBwXSwgWyJMIiwgdCwgcCArIHJdLCBbIkwiLCBlLCBwICsgcl0sIFsiTCIsIGUsIHBdLCBbIkwiLCBjICsgbCArIDIgKiBoLCBwXV0sIG8gJiYgYS5wdXNoKFsiTSIsIHQgLSBzLCBwXSwgWyJMIiwgZSArIHMsIHBdKSksIHRoaXMub3V0bGluZVtuXSh7IGQ6IGEgfSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kcmF3TWFza3MgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIHZhciBvID0gdGhpcy5sZWZ0LCByID0gdGhpcy50b3AsIHMgPSB0aGlzLmhlaWdodDsKICAgICAgICAgICAgaWYgKGkpIHZhciBhID0gW28sIG8sIG9dLCBoID0gW3IsIHIgKyB0LCByICsgZV0sIGwgPSBbcywgcywgc10sCiAgICAgICAgICAgICAgYyA9IFt0LCBlIC0gdCwgdGhpcy5zaXplIC0gZV07IGVsc2UgYSA9IFtvLCBvICsgdCwgbyArIGVdLCBoID0gW3IsIHIsIHJdLCBsID0gW3QsIGUgLSB0LCB0aGlzLnNpemUgLSBlXSwgYyA9IFtzLCBzLCBzXTsKICAgICAgICAgICAgdGhpcy5zaGFkZXMuZm9yRWFjaCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHRbbl0oeyB4OiBhW2VdLCB5OiBoW2VdLCB3aWR0aDogbFtlXSwgaGVpZ2h0OiBjW2VdIH0pOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5yZW5kZXJFbGVtZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSA9IHRoaXMsIGkgPSBlLm5hdmlnYXRvck9wdGlvbnMsIG4gPSBpLm1hc2tJbnNpZGUsIG8gPSBlLmNoYXJ0LCByID0gby5yZW5kZXJlciwgcyA9IHsgY3Vyc29yOiBvLmludmVydGVkID8gIm5zLXJlc2l6ZSIgOiAiZXctcmVzaXplIiB9OwogICAgICAgICAgICBlLm5hdmlnYXRvckdyb3VwID0gdCA9IHIuZygibmF2aWdhdG9yIikuYXR0cih7IHpJbmRleDogOCwgdmlzaWJpbGl0eTogImhpZGRlbiIgfSkuYWRkKCksIFshbiwgbiwgIW5dLmZvckVhY2goKGZ1bmN0aW9uKG4sIGEpIHsKICAgICAgICAgICAgICBlLnNoYWRlc1thXSA9IHIucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLW5hdmlnYXRvci1tYXNrIiArICgxID09PSBhID8gIi1pbnNpZGUiIDogIi1vdXRzaWRlIikpLmFkZCh0KSwgby5zdHlsZWRNb2RlIHx8IGUuc2hhZGVzW2FdLmF0dHIoeyBmaWxsOiBuID8gaS5tYXNrRmlsbCA6ICJyZ2JhKDAsMCwwLDApIiB9KS5jc3MoMSA9PT0gYSAmJiBzKTsKICAgICAgICAgICAgfSkpLCBlLm91dGxpbmUgPSByLnBhdGgoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1uYXZpZ2F0b3Itb3V0bGluZSIpLmFkZCh0KSwgby5zdHlsZWRNb2RlIHx8IGUub3V0bGluZS5hdHRyKHsKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogaS5vdXRsaW5lV2lkdGgsCiAgICAgICAgICAgICAgc3Ryb2tlOiBpLm91dGxpbmVDb2xvcgogICAgICAgICAgICB9KSwgaS5oYW5kbGVzLmVuYWJsZWQgJiYgWzAsIDFdLmZvckVhY2goKGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgICBpZiAoaS5oYW5kbGVzLmludmVydGVkID0gby5pbnZlcnRlZCwgZS5oYW5kbGVzW25dID0gci5zeW1ib2woaS5oYW5kbGVzLnN5bWJvbHNbbl0sIC1pLmhhbmRsZXMud2lkdGggLyAyIC0gMSwgMCwgaS5oYW5kbGVzLndpZHRoLCBpLmhhbmRsZXMuaGVpZ2h0LCBpLmhhbmRsZXMpLCBlLmhhbmRsZXNbbl0uYXR0cih7IHpJbmRleDogNyAtIG4gfSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtbmF2aWdhdG9yLWhhbmRsZSBoaWdoY2hhcnRzLW5hdmlnYXRvci1oYW5kbGUtIiArIFsibGVmdCIsICJyaWdodCJdW25dKS5hZGQodCksICFvLnN0eWxlZE1vZGUpIHsKICAgICAgICAgICAgICAgIHZhciBhID0gaS5oYW5kbGVzOwogICAgICAgICAgICAgICAgZS5oYW5kbGVzW25dLmF0dHIoeyBmaWxsOiBhLmJhY2tncm91bmRDb2xvciwgc3Ryb2tlOiBhLmJvcmRlckNvbG9yLCAic3Ryb2tlLXdpZHRoIjogYS5saW5lV2lkdGggfSkuY3NzKHMpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAodGhpcy5zZXJpZXMgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0LmJhc2VTZXJpZXMgJiYgZGVsZXRlIHQuYmFzZVNlcmllcy5uYXZpZ2F0b3JTZXJpZXM7CiAgICAgICAgICAgIH0pKSwgdGhpcy5kZXN0cm95KCksIFMoITAsIHRoaXMuY2hhcnQub3B0aW9ucy5uYXZpZ2F0b3IsIHRoaXMub3B0aW9ucywgdCksIHRoaXMuaW5pdCh0aGlzLmNoYXJ0KTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIG8sIHIsIHMgPSB0aGlzLmNoYXJ0LCBhID0gdGhpcy5zY3JvbGxiYXJIZWlnaHQsIGggPSB0aGlzLnhBeGlzLCBsID0gaC5wb2ludFJhbmdlIHx8IDAsIGMgPSBoLm5hdmlnYXRvckF4aXMuZmFrZSA/IHMueEF4aXNbMF0gOiBoLAogICAgICAgICAgICAgIHAgPSB0aGlzLm5hdmlnYXRvckVuYWJsZWQsIGQgPSB0aGlzLnJlbmRlcmVkLCB1ID0gcy5pbnZlcnRlZCwgZiA9IHMueEF4aXNbMF0ubWluUmFuZ2UsIHYgPSBzLnhBeGlzWzBdLm9wdGlvbnMubWF4UmFuZ2U7CiAgICAgICAgICAgIGlmICghdGhpcy5oYXNEcmFnZ2VkIHx8IHkoaSkpIHsKICAgICAgICAgICAgICBpZiAodCA9IG0odCAtIGwgLyAyKSwgZSA9IG0oZSArIGwgLyAyKSwgIWsodCkgfHwgIWsoZSkpIHsKICAgICAgICAgICAgICAgIGlmICghZCkgcmV0dXJuOwogICAgICAgICAgICAgICAgaSA9IDAsIG4gPSBDKGgud2lkdGgsIGMud2lkdGgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB0aGlzLmxlZnQgPSBDKGgubGVmdCwgcy5wbG90TGVmdCArIGEgKyAodSA/IHMucGxvdFdpZHRoIDogMCkpLCB0aGlzLnNpemUgPSByID0gbyA9IEMoaC5sZW4sICh1ID8gcy5wbG90SGVpZ2h0IDogcy5wbG90V2lkdGgpIC0gMiAqIGEpLCBzID0gdSA/IGEgOiBvICsgMiAqIGEsIGkgPSBDKGksIGgudG9QaXhlbHModCwgITApKSwgbiA9IEMobiwgaC50b1BpeGVscyhlLCAhMCkpLCBrKGkpICYmIDEgLyAwICE9PSBNYXRoLmFicyhpKSB8fCAoaSA9IDAsIG4gPSBzKSwgdCA9IGgudG9WYWx1ZShpLCAhMCksIGUgPSBoLnRvVmFsdWUobiwgITApOwogICAgICAgICAgICAgIHZhciB4ID0gTWF0aC5hYnMobShlIC0gdCkpOwogICAgICAgICAgICAgIHggPCBmID8gdGhpcy5ncmFiYmVkTGVmdCA/IGkgPSBoLnRvUGl4ZWxzKGUgLSBmIC0gbCwgITApIDogdGhpcy5ncmFiYmVkUmlnaHQgJiYgKG4gPSBoLnRvUGl4ZWxzKHQgKyBmICsgbCwgITApKSA6IHkodikgJiYgbSh4IC0gbCkgPiB2ICYmICh0aGlzLmdyYWJiZWRMZWZ0ID8gaSA9IGgudG9QaXhlbHMoZSAtIHYgLSBsLCAhMCkgOiB0aGlzLmdyYWJiZWRSaWdodCAmJiAobiA9IGgudG9QaXhlbHModCArIHYgKyBsLCAhMCkpKSwgdGhpcy56b29tZWRNYXggPSBnKE1hdGgubWF4KGksIG4pLCAwLCByKSwgdGhpcy56b29tZWRNaW4gPSBnKHRoaXMuZml4ZWRXaWR0aCA/IHRoaXMuem9vbWVkTWF4IC0gdGhpcy5maXhlZFdpZHRoIDogTWF0aC5taW4oaSwgbiksIDAsIHIpLCB0aGlzLnJhbmdlID0gdGhpcy56b29tZWRNYXggLSB0aGlzLnpvb21lZE1pbiwgciA9IE1hdGgucm91bmQodGhpcy56b29tZWRNYXgpLCBpID0gTWF0aC5yb3VuZCh0aGlzLnpvb21lZE1pbiksIHAgJiYgKHRoaXMubmF2aWdhdG9yR3JvdXAuYXR0cih7IHZpc2liaWxpdHk6ICJ2aXNpYmxlIiB9KSwgZCA9IGQgJiYgIXRoaXMuaGFzRHJhZ2dlZCA/ICJhbmltYXRlIiA6ICJhdHRyIiwgdGhpcy5kcmF3TWFza3MoaSwgciwgdSwgZCksIHRoaXMuZHJhd091dGxpbmUoaSwgciwgdSwgZCksIHRoaXMubmF2aWdhdG9yT3B0aW9ucy5oYW5kbGVzLmVuYWJsZWQgJiYgKHRoaXMuZHJhd0hhbmRsZShpLCAwLCB1LCBkKSwgdGhpcy5kcmF3SGFuZGxlKHIsIDEsIHUsIGQpKSksIHRoaXMuc2Nyb2xsYmFyICYmICh1ID8gKHUgPSB0aGlzLnRvcCAtIGEsIGMgPSB0aGlzLmxlZnQgLSBhICsgKHAgfHwgIWMub3Bwb3NpdGUgPyAwIDogKGMudGl0bGVPZmZzZXQgfHwgMCkgKyBjLmF4aXNUaXRsZU1hcmdpbiksIGEgPSBvICsgMiAqIGEpIDogKHUgPSB0aGlzLnRvcCArIChwID8gdGhpcy5oZWlnaHQgOiAtYSksIGMgPSB0aGlzLmxlZnQgLSBhKSwgdGhpcy5zY3JvbGxiYXIucG9zaXRpb24oYywgdSwgcywgYSksIHRoaXMuc2Nyb2xsYmFyLnNldFJhbmdlKHRoaXMuem9vbWVkTWluIC8gKG8gfHwgMSksIHRoaXMuem9vbWVkTWF4IC8gKG8gfHwgMSkpKSwgdGhpcy5yZW5kZXJlZCA9ICEwOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5hZGRNb3VzZUV2ZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSwgaSA9IHRoaXMsIG4gPSBpLmNoYXJ0LCBvID0gbi5jb250YWluZXIsIHIgPSBbXTsKICAgICAgICAgICAgaS5tb3VzZU1vdmVIYW5kbGVyID0gdCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBpLm9uTW91c2VNb3ZlKHQpOwogICAgICAgICAgICB9LCBpLm1vdXNlVXBIYW5kbGVyID0gZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBpLm9uTW91c2VVcCh0KTsKICAgICAgICAgICAgfSwgciA9IGkuZ2V0UGFydHNFdmVudHMoIm1vdXNlZG93biIpLCByLnB1c2goZihuLnJlbmRlclRvLCAibW91c2Vtb3ZlIiwgdCksIGYoby5vd25lckRvY3VtZW50LCAibW91c2V1cCIsIGUpKSwgcCAmJiAoci5wdXNoKGYobi5yZW5kZXJUbywgInRvdWNobW92ZSIsIHQpLCBmKG8ub3duZXJEb2N1bWVudCwgInRvdWNoZW5kIiwgZSkpLCByLmNvbmNhdChpLmdldFBhcnRzRXZlbnRzKCJ0b3VjaHN0YXJ0IikpKSwgaS5ldmVudHNUb1VuYmluZCA9IHIsIGkuc2VyaWVzICYmIGkuc2VyaWVzWzBdICYmIHIucHVzaChmKGkuc2VyaWVzWzBdLnhBeGlzLCAiZm91bmRFeHRyZW1lcyIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBuLm5hdmlnYXRvci5tb2RpZnlOYXZpZ2F0b3JBeGlzRXh0cmVtZXMoKTsKICAgICAgICAgICAgfSkpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldFBhcnRzRXZlbnRzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBbXTsKICAgICAgICAgICAgcmV0dXJuIFsic2hhZGVzIiwgImhhbmRsZXMiXS5mb3JFYWNoKChmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgZVtuXS5mb3JFYWNoKChmdW5jdGlvbihvLCByKSB7CiAgICAgICAgICAgICAgICBpLnB1c2goZihvLmVsZW1lbnQsIHQsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIGVbbiArICJNb3VzZWRvd24iXSh0LCByKTsKICAgICAgICAgICAgICAgIH0pKSk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9KSksIGk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zaGFkZXNNb3VzZWRvd24gPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHQgPSB0aGlzLmNoYXJ0LnBvaW50ZXIubm9ybWFsaXplKHQpOwogICAgICAgICAgICB2YXIgaSA9IHRoaXMuY2hhcnQsIG4gPSB0aGlzLnhBeGlzLCBvID0gdGhpcy56b29tZWRNaW4sIHIgPSB0aGlzLmxlZnQsIHMgPSB0aGlzLnNpemUsIGEgPSB0aGlzLnJhbmdlLCBoID0gdC5jaGFydFg7CiAgICAgICAgICAgIGlmIChpLmludmVydGVkICYmIChoID0gdC5jaGFydFksIHIgPSB0aGlzLnRvcCksIDEgPT09IGUpIHRoaXMuZ3JhYmJlZENlbnRlciA9IGgsIHRoaXMuZml4ZWRXaWR0aCA9IGEsIHRoaXMuZHJhZ09mZnNldCA9IGggLSBvOyBlbHNlIHsKICAgICAgICAgICAgICBpZiAodCA9IGggLSByIC0gYSAvIDIsIDAgPT09IGUpIHQgPSBNYXRoLm1heCgwLCB0KTsgZWxzZSBpZiAoMiA9PT0gZSAmJiB0ICsgYSA+PSBzKSBpZiAodCA9IHMgLSBhLCB0aGlzLnJldmVyc2VkRXh0cmVtZXMpIHsKICAgICAgICAgICAgICAgIHQgLT0gYTsKICAgICAgICAgICAgICAgIHZhciBsID0gdGhpcy5nZXRVbmlvbkV4dHJlbWVzKCkuZGF0YU1pbjsKICAgICAgICAgICAgICB9IGVsc2UgdmFyIGMgPSB0aGlzLmdldFVuaW9uRXh0cmVtZXMoKS5kYXRhTWF4OwogICAgICAgICAgICAgIHQgIT09IG8gJiYgKHRoaXMuZml4ZWRXaWR0aCA9IGEsIGUgPSBuLm5hdmlnYXRvckF4aXMudG9GaXhlZFJhbmdlKHQsIHQgKyBhLCBsLCBjKSwgeShlLm1pbikgJiYgaS54QXhpc1swXS5zZXRFeHRyZW1lcyhNYXRoLm1pbihlLm1pbiwgZS5tYXgpLCBNYXRoLm1heChlLm1pbiwgZS5tYXgpLCAhMCwgbnVsbCwgeyB0cmlnZ2VyOiAibmF2aWdhdG9yIiB9KSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIGUucHJvdG90eXBlLmhhbmRsZXNNb3VzZWRvd24gPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHRoaXMuY2hhcnQucG9pbnRlci5ub3JtYWxpemUodCksIHQgPSB0aGlzLmNoYXJ0OwogICAgICAgICAgICB2YXIgaSA9IHQueEF4aXNbMF0sIG4gPSB0aGlzLnJldmVyc2VkRXh0cmVtZXM7CiAgICAgICAgICAgIDAgPT09IGUgPyAodGhpcy5ncmFiYmVkTGVmdCA9ICEwLCB0aGlzLm90aGVySGFuZGxlUG9zID0gdGhpcy56b29tZWRNYXgsIHRoaXMuZml4ZWRFeHRyZW1lID0gbiA/IGkubWluIDogaS5tYXgpIDogKHRoaXMuZ3JhYmJlZFJpZ2h0ID0gITAsIHRoaXMub3RoZXJIYW5kbGVQb3MgPSB0aGlzLnpvb21lZE1pbiwgdGhpcy5maXhlZEV4dHJlbWUgPSBuID8gaS5tYXggOiBpLm1pbiksIHQuZml4ZWRSYW5nZSA9IG51bGw7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5vbk1vdXNlTW92ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLCBpID0gZS5jaGFydCwgbyA9IGUubGVmdCwgciA9IGUubmF2aWdhdG9yU2l6ZSwgcyA9IGUucmFuZ2UsIGEgPSBlLmRyYWdPZmZzZXQsIGggPSBpLmludmVydGVkOwogICAgICAgICAgICB0LnRvdWNoZXMgJiYgMCA9PT0gdC50b3VjaGVzWzBdLnBhZ2VYIHx8ICh0ID0gaS5wb2ludGVyLm5vcm1hbGl6ZSh0KSwgaSA9IHQuY2hhcnRYLCBoICYmIChvID0gZS50b3AsIGkgPSB0LmNoYXJ0WSksIGUuZ3JhYmJlZExlZnQgPyAoZS5oYXNEcmFnZ2VkID0gITAsIGUucmVuZGVyKDAsIDAsIGkgLSBvLCBlLm90aGVySGFuZGxlUG9zKSkgOiBlLmdyYWJiZWRSaWdodCA/IChlLmhhc0RyYWdnZWQgPSAhMCwgZS5yZW5kZXIoMCwgMCwgZS5vdGhlckhhbmRsZVBvcywgaSAtIG8pKSA6IGUuZ3JhYmJlZENlbnRlciAmJiAoZS5oYXNEcmFnZ2VkID0gITAsIGkgPCBhID8gaSA9IGEgOiBpID4gciArIGEgLSBzICYmIChpID0gciArIGEgLSBzKSwgZS5yZW5kZXIoMCwgMCwgaSAtIGEsIGkgLSBhICsgcykpLCBlLmhhc0RyYWdnZWQgJiYgZS5zY3JvbGxiYXIgJiYgQyhlLnNjcm9sbGJhci5vcHRpb25zLmxpdmVSZWRyYXcsIG4uc3ZnICYmICFkICYmICF0aGlzLmNoYXJ0LmlzQm9vc3RpbmcpICYmICh0LkRPTVR5cGUgPSB0LnR5cGUsIHNldFRpbWVvdXQoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGUub25Nb3VzZVVwKHQpOwogICAgICAgICAgICB9KSwgMCkpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLm9uTW91c2VVcCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNoYXJ0LCBpID0gdGhpcy54QXhpcywgbiA9IHRoaXMuc2Nyb2xsYmFyLCBvID0gdC5ET01FdmVudCB8fCB0LCByID0gZS5pbnZlcnRlZCwKICAgICAgICAgICAgICBzID0gdGhpcy5yZW5kZXJlZCAmJiAhdGhpcy5oYXNEcmFnZ2VkID8gImFuaW1hdGUiIDogImF0dHIiOwogICAgICAgICAgICBpZiAodGhpcy5oYXNEcmFnZ2VkICYmICghbiB8fCAhbi5oYXNEcmFnZ2VkKSB8fCAic2Nyb2xsYmFyIiA9PT0gdC50cmlnZ2VyKSB7CiAgICAgICAgICAgICAgaWYgKG4gPSB0aGlzLmdldFVuaW9uRXh0cmVtZXMoKSwgdGhpcy56b29tZWRNaW4gPT09IHRoaXMub3RoZXJIYW5kbGVQb3MpIHZhciBhID0gdGhpcy5maXhlZEV4dHJlbWU7IGVsc2UgaWYgKHRoaXMuem9vbWVkTWF4ID09PSB0aGlzLm90aGVySGFuZGxlUG9zKSB2YXIgaCA9IHRoaXMuZml4ZWRFeHRyZW1lOwogICAgICAgICAgICAgIHRoaXMuem9vbWVkTWF4ID09PSB0aGlzLnNpemUgJiYgKGggPSB0aGlzLnJldmVyc2VkRXh0cmVtZXMgPyBuLmRhdGFNaW4gOiBuLmRhdGFNYXgpLCAwID09PSB0aGlzLnpvb21lZE1pbiAmJiAoYSA9IHRoaXMucmV2ZXJzZWRFeHRyZW1lcyA/IG4uZGF0YU1heCA6IG4uZGF0YU1pbiksIGkgPSBpLm5hdmlnYXRvckF4aXMudG9GaXhlZFJhbmdlKHRoaXMuem9vbWVkTWluLCB0aGlzLnpvb21lZE1heCwgYSwgaCksIHkoaS5taW4pICYmIGUueEF4aXNbMF0uc2V0RXh0cmVtZXMoTWF0aC5taW4oaS5taW4sIGkubWF4KSwgTWF0aC5tYXgoaS5taW4sIGkubWF4KSwgITAsICF0aGlzLmhhc0RyYWdnZWQgJiYgbnVsbCwgewogICAgICAgICAgICAgICAgdHJpZ2dlcjogIm5hdmlnYXRvciIsCiAgICAgICAgICAgICAgICB0cmlnZ2VyT3A6ICJuYXZpZ2F0b3ItZHJhZyIsCiAgICAgICAgICAgICAgICBET01FdmVudDogbwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgICJtb3VzZW1vdmUiICE9PSB0LkRPTVR5cGUgJiYgInRvdWNobW92ZSIgIT09IHQuRE9NVHlwZSAmJiAodGhpcy5ncmFiYmVkTGVmdCA9IHRoaXMuZ3JhYmJlZFJpZ2h0ID0gdGhpcy5ncmFiYmVkQ2VudGVyID0gdGhpcy5maXhlZFdpZHRoID0gdGhpcy5maXhlZEV4dHJlbWUgPSB0aGlzLm90aGVySGFuZGxlUG9zID0gdGhpcy5oYXNEcmFnZ2VkID0gdGhpcy5kcmFnT2Zmc2V0ID0gbnVsbCksIHRoaXMubmF2aWdhdG9yRW5hYmxlZCAmJiBrKHRoaXMuem9vbWVkTWluKSAmJiBrKHRoaXMuem9vbWVkTWF4KSAmJiAoZSA9IE1hdGgucm91bmQodGhpcy56b29tZWRNaW4pLCB0ID0gTWF0aC5yb3VuZCh0aGlzLnpvb21lZE1heCksIHRoaXMuc2hhZGVzICYmIHRoaXMuZHJhd01hc2tzKGUsIHQsIHIsIHMpLCB0aGlzLm91dGxpbmUgJiYgdGhpcy5kcmF3T3V0bGluZShlLCB0LCByLCBzKSwgdGhpcy5uYXZpZ2F0b3JPcHRpb25zLmhhbmRsZXMuZW5hYmxlZCAmJiBPYmplY3Qua2V5cyh0aGlzLmhhbmRsZXMpLmxlbmd0aCA9PT0gdGhpcy5oYW5kbGVzLmxlbmd0aCAmJiAodGhpcy5kcmF3SGFuZGxlKGUsIDAsIHIsIHMpLCB0aGlzLmRyYXdIYW5kbGUodCwgMSwgciwgcykpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnJlbW92ZUV2ZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLmV2ZW50c1RvVW5iaW5kICYmICh0aGlzLmV2ZW50c1RvVW5iaW5kLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0KCk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5ldmVudHNUb1VuYmluZCA9IHZvaWQgMCksIHRoaXMucmVtb3ZlQmFzZVNlcmllc0V2ZW50cygpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVtb3ZlQmFzZVNlcmllc0V2ZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuYmFzZVNlcmllcyB8fCBbXTsKICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JFbmFibGVkICYmIHRbMF0gJiYgKCExICE9PSB0aGlzLm5hdmlnYXRvck9wdGlvbnMuYWRhcHRUb1VwZGF0ZWREYXRhICYmIHQuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIE0odCwgInVwZGF0ZWREYXRhIiwgdGhpcy51cGRhdGVkRGF0YUhhbmRsZXIpOwogICAgICAgICAgICB9KSwgdGhpcyksIHRbMF0ueEF4aXMgJiYgTSh0WzBdLnhBeGlzLCAiZm91bmRFeHRyZW1lcyIsIHRoaXMubW9kaWZ5QmFzZUF4aXNFeHRyZW1lcykpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIGkgPSBlLm9wdGlvbnMsIG4gPSBpLm5hdmlnYXRvciwgciA9IG4uZW5hYmxlZCwgcyA9IGkuc2Nyb2xsYmFyLCBoID0gcy5lbmFibGVkOwogICAgICAgICAgICBpID0gciA/IG4uaGVpZ2h0IDogMDsKICAgICAgICAgICAgdmFyIGwgPSBoID8gcy5oZWlnaHQgOiAwOwogICAgICAgICAgICB0aGlzLmhhbmRsZXMgPSBbXSwgdGhpcy5zaGFkZXMgPSBbXSwgdGhpcy5jaGFydCA9IGUsIHRoaXMuc2V0QmFzZVNlcmllcygpLCB0aGlzLmhlaWdodCA9IGksIHRoaXMuc2Nyb2xsYmFySGVpZ2h0ID0gbCwgdGhpcy5zY3JvbGxiYXJFbmFibGVkID0gaCwgdGhpcy5uYXZpZ2F0b3JFbmFibGVkID0gciwgdGhpcy5uYXZpZ2F0b3JPcHRpb25zID0gbiwgdGhpcy5zY3JvbGxiYXJPcHRpb25zID0gcywgdGhpcy5vdXRsaW5lSGVpZ2h0ID0gaSArIGwsIHRoaXMub3Bwb3NpdGUgPSBDKG4ub3Bwb3NpdGUsICEociB8fCAhZS5pbnZlcnRlZCkpOwogICAgICAgICAgICB2YXIgYyA9IHRoaXM7CiAgICAgICAgICAgIHIgPSBjLmJhc2VTZXJpZXMsIHMgPSBlLnhBeGlzLmxlbmd0aCwgaCA9IGUueUF4aXMubGVuZ3RoOwogICAgICAgICAgICB2YXIgcCA9IHIgJiYgclswXSAmJiByWzBdLnhBeGlzIHx8IGUueEF4aXNbMF0gfHwgeyBvcHRpb25zOiB7fSB9OwogICAgICAgICAgICBlLmlzRGlydHlCb3ggPSAhMCwgYy5uYXZpZ2F0b3JFbmFibGVkID8gKGMueEF4aXMgPSBuZXcgdChlLCBTKHsKICAgICAgICAgICAgICBicmVha3M6IHAub3B0aW9ucy5icmVha3MsCiAgICAgICAgICAgICAgb3JkaW5hbDogcC5vcHRpb25zLm9yZGluYWwKICAgICAgICAgICAgfSwgbi54QXhpcywgewogICAgICAgICAgICAgIGlkOiAibmF2aWdhdG9yLXgtYXhpcyIsCiAgICAgICAgICAgICAgeUF4aXM6ICJuYXZpZ2F0b3IteS1heGlzIiwKICAgICAgICAgICAgICBpc1g6ICEwLAogICAgICAgICAgICAgIHR5cGU6ICJkYXRldGltZSIsCiAgICAgICAgICAgICAgaW5kZXg6IHMsCiAgICAgICAgICAgICAgaXNJbnRlcm5hbDogITAsCiAgICAgICAgICAgICAgb2Zmc2V0OiAwLAogICAgICAgICAgICAgIGtlZXBPcmRpbmFsUGFkZGluZzogITAsCiAgICAgICAgICAgICAgc3RhcnRPblRpY2s6ICExLAogICAgICAgICAgICAgIGVuZE9uVGljazogITEsCiAgICAgICAgICAgICAgbWluUGFkZGluZzogMCwKICAgICAgICAgICAgICBtYXhQYWRkaW5nOiAwLAogICAgICAgICAgICAgIHpvb21FbmFibGVkOiAhMQogICAgICAgICAgICB9LCBlLmludmVydGVkID8geyBvZmZzZXRzOiBbbCwgMCwgLWwsIDBdLCB3aWR0aDogaSB9IDogewogICAgICAgICAgICAgIG9mZnNldHM6IFswLCAtbCwgMCwgbF0sCiAgICAgICAgICAgICAgaGVpZ2h0OiBpCiAgICAgICAgICAgIH0pKSwgYy55QXhpcyA9IG5ldyB0KGUsIFMobi55QXhpcywgewogICAgICAgICAgICAgIGlkOiAibmF2aWdhdG9yLXktYXhpcyIsCiAgICAgICAgICAgICAgYWxpZ25UaWNrczogITEsCiAgICAgICAgICAgICAgb2Zmc2V0OiAwLAogICAgICAgICAgICAgIGluZGV4OiBoLAogICAgICAgICAgICAgIGlzSW50ZXJuYWw6ICEwLAogICAgICAgICAgICAgIHJldmVyc2VkOiBDKG4ueUF4aXMgJiYgbi55QXhpcy5yZXZlcnNlZCwgZS55QXhpc1swXSAmJiBlLnlBeGlzWzBdLnJldmVyc2VkLCAhMSksCiAgICAgICAgICAgICAgem9vbUVuYWJsZWQ6ICExCiAgICAgICAgICAgIH0sIGUuaW52ZXJ0ZWQgPyB7IHdpZHRoOiBpIH0gOiB7IGhlaWdodDogaSB9KSksIHIgfHwgbi5zZXJpZXMuZGF0YSA/IGMudXBkYXRlTmF2aWdhdG9yU2VyaWVzKCExKSA6IDAgPT09IGUuc2VyaWVzLmxlbmd0aCAmJiAoYy51bmJpbmRSZWRyYXcgPSBmKGUsICJiZWZvcmVSZWRyYXciLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgMCA8IGUuc2VyaWVzLmxlbmd0aCAmJiAhYy5zZXJpZXMgJiYgKGMuc2V0QmFzZVNlcmllcygpLCBjLnVuYmluZFJlZHJhdygpKTsKICAgICAgICAgICAgfSkpKSwgYy5yZXZlcnNlZEV4dHJlbWVzID0gZS5pbnZlcnRlZCAmJiAhYy54QXhpcy5yZXZlcnNlZCB8fCAhZS5pbnZlcnRlZCAmJiBjLnhBeGlzLnJldmVyc2VkLCBjLnJlbmRlckVsZW1lbnRzKCksIGMuYWRkTW91c2VFdmVudHMoKSkgOiAoYy54QXhpcyA9IHsKICAgICAgICAgICAgICBjaGFydDogZSwKICAgICAgICAgICAgICBuYXZpZ2F0b3JBeGlzOiB7IGZha2U6ICEwIH0sCiAgICAgICAgICAgICAgdHJhbnNsYXRlOiBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgICB2YXIgbiA9IGUueEF4aXNbMF0sIG8gPSBuLmdldEV4dHJlbWVzKCksIHIgPSBuLmxlbiAtIDIgKiBsLCBzID0gUCgibWluIiwgbi5vcHRpb25zLm1pbiwgby5kYXRhTWluKTsKICAgICAgICAgICAgICAgIHJldHVybiBuID0gUCgibWF4Iiwgbi5vcHRpb25zLm1heCwgby5kYXRhTWF4KSAtIHMsIGkgPyB0ICogbiAvIHIgKyBzIDogciAqICh0IC0gcykgLyBuOwogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgdG9QaXhlbHM6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZSh0KTsKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHRvVmFsdWU6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZSh0LCAhMCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCBjLnhBeGlzLm5hdmlnYXRvckF4aXMuYXhpcyA9IGMueEF4aXMsIGMueEF4aXMubmF2aWdhdG9yQXhpcy50b0ZpeGVkUmFuZ2UgPSBvLkFkZGl0aW9uc0NsYXNzLnByb3RvdHlwZS50b0ZpeGVkUmFuZ2UuYmluZChjLnhBeGlzLm5hdmlnYXRvckF4aXMpKSwgZS5vcHRpb25zLnNjcm9sbGJhci5lbmFibGVkICYmIChlLnNjcm9sbGJhciA9IGMuc2Nyb2xsYmFyID0gbmV3IGEoZS5yZW5kZXJlciwgUyhlLm9wdGlvbnMuc2Nyb2xsYmFyLCB7CiAgICAgICAgICAgICAgbWFyZ2luOiBjLm5hdmlnYXRvckVuYWJsZWQgPyAwIDogMTAsCiAgICAgICAgICAgICAgdmVydGljYWw6IGUuaW52ZXJ0ZWQKICAgICAgICAgICAgfSksIGUpLCBmKGMuc2Nyb2xsYmFyLCAiY2hhbmdlZCIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSBjLnNpemUsIGkgPSBlICogdGhpcy50bzsKICAgICAgICAgICAgICBlICo9IHRoaXMuZnJvbSwgYy5oYXNEcmFnZ2VkID0gYy5zY3JvbGxiYXIuaGFzRHJhZ2dlZCwgYy5yZW5kZXIoMCwgMCwgZSwgaSksIHRoaXMuc2hvdWxkVXBkYXRlRXh0cmVtZXModC5ET01UeXBlKSAmJiBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGMub25Nb3VzZVVwKHQpOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSkpKSwgYy5hZGRCYXNlU2VyaWVzRXZlbnRzKCksIGMuYWRkQ2hhcnRFdmVudHMoKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldFVuaW9uRXh0cmVtZXMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlLCBpID0gdGhpcy5jaGFydC54QXhpc1swXSwgbiA9IHRoaXMueEF4aXMsIG8gPSBuLm9wdGlvbnMsIHIgPSBpLm9wdGlvbnM7CiAgICAgICAgICAgIHJldHVybiB0ICYmIG51bGwgPT09IGkuZGF0YU1pbiB8fCAoZSA9IHsKICAgICAgICAgICAgICBkYXRhTWluOiBDKG8gJiYgby5taW4sIFAoIm1pbiIsIHIubWluLCBpLmRhdGFNaW4sIG4uZGF0YU1pbiwgbi5taW4pKSwKICAgICAgICAgICAgICBkYXRhTWF4OiBDKG8gJiYgby5tYXgsIFAoIm1heCIsIHIubWF4LCBpLmRhdGFNYXgsIG4uZGF0YU1heCwgbi5tYXgpKQogICAgICAgICAgICB9KSwgZTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnNldEJhc2VTZXJpZXMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5jaGFydCwgbiA9IHRoaXMuYmFzZVNlcmllcyA9IFtdOwogICAgICAgICAgICB0ID0gdCB8fCBpLm9wdGlvbnMgJiYgaS5vcHRpb25zLm5hdmlnYXRvci5iYXNlU2VyaWVzIHx8IChpLnNlcmllcy5sZW5ndGggPyBfKGkuc2VyaWVzLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiAhdC5vcHRpb25zLmlzSW50ZXJuYWw7CiAgICAgICAgICAgIH0pKS5pbmRleCA6IDApLCAoaS5zZXJpZXMgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICBlLm9wdGlvbnMuaXNJbnRlcm5hbCB8fCAhZS5vcHRpb25zLnNob3dJbk5hdmlnYXRvciAmJiAoaSAhPT0gdCAmJiBlLm9wdGlvbnMuaWQgIT09IHQgfHwgITEgPT09IGUub3B0aW9ucy5zaG93SW5OYXZpZ2F0b3IpIHx8IG4ucHVzaChlKTsKICAgICAgICAgICAgfSkpLCB0aGlzLnhBeGlzICYmICF0aGlzLnhBeGlzLm5hdmlnYXRvckF4aXMuZmFrZSAmJiB0aGlzLnVwZGF0ZU5hdmlnYXRvclNlcmllcyghMCwgZSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS51cGRhdGVOYXZpZ2F0b3JTZXJpZXMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpLCBuLCBvLCByID0gdGhpcywgcyA9IHIuY2hhcnQsIGEgPSByLmJhc2VTZXJpZXMsIGggPSByLm5hdmlnYXRvck9wdGlvbnMuc2VyaWVzLCBsID0gewogICAgICAgICAgICAgIGVuYWJsZU1vdXNlVHJhY2tpbmc6ICExLAogICAgICAgICAgICAgIGluZGV4OiBudWxsLAogICAgICAgICAgICAgIGxpbmtlZFRvOiBudWxsLAogICAgICAgICAgICAgIGdyb3VwOiAibmF2IiwKICAgICAgICAgICAgICBwYWRYQXhpczogITEsCiAgICAgICAgICAgICAgeEF4aXM6ICJuYXZpZ2F0b3IteC1heGlzIiwKICAgICAgICAgICAgICB5QXhpczogIm5hdmlnYXRvci15LWF4aXMiLAogICAgICAgICAgICAgIHNob3dJbkxlZ2VuZDogITEsCiAgICAgICAgICAgICAgc3RhY2tpbmc6IHZvaWQgMCwKICAgICAgICAgICAgICBpc0ludGVybmFsOiAhMCwKICAgICAgICAgICAgICBzdGF0ZXM6IHsgaW5hY3RpdmU6IHsgb3BhY2l0eTogMSB9IH0KICAgICAgICAgICAgfSwgYyA9IHIuc2VyaWVzID0gKHIuc2VyaWVzIHx8IFtdKS5maWx0ZXIoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHQuYmFzZVNlcmllczsKICAgICAgICAgICAgICByZXR1cm4gISgwID4gYS5pbmRleE9mKGUpKSB8fCAoZSAmJiAoTShlLCAidXBkYXRlZERhdGEiLCByLnVwZGF0ZWREYXRhSGFuZGxlciksIGRlbGV0ZSBlLm5hdmlnYXRvclNlcmllcyksIHQuY2hhcnQgJiYgdC5kZXN0cm95KCksICExKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgICBhICYmIGEubGVuZ3RoICYmIGEuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBwID0gdC5uYXZpZ2F0b3JTZXJpZXMsIGQgPSBiKHsgY29sb3I6IHQuY29sb3IsIHZpc2libGU6IHQudmlzaWJsZSB9LCB3KGgpID8gdS5uYXZpZ2F0b3Iuc2VyaWVzIDogaCk7CiAgICAgICAgICAgICAgcCAmJiAhMSA9PT0gci5uYXZpZ2F0b3JPcHRpb25zLmFkYXB0VG9VcGRhdGVkRGF0YSB8fCAobC5uYW1lID0gIk5hdmlnYXRvciAiICsgYS5sZW5ndGgsIGkgPSB0Lm9wdGlvbnMgfHwge30sIG8gPSBpLm5hdmlnYXRvck9wdGlvbnMgfHwge30sIGQuZGF0YUxhYmVscyA9IEEoZC5kYXRhTGFiZWxzKSwgbiA9IFMoaSwgbCwgZCwgbyksIG4ucG9pbnRSYW5nZSA9IEMoZC5wb2ludFJhbmdlLCBvLnBvaW50UmFuZ2UsIHUucGxvdE9wdGlvbnNbbi50eXBlIHx8ICJsaW5lIl0ucG9pbnRSYW5nZSksIGQgPSBvLmRhdGEgfHwgZC5kYXRhLCByLmhhc05hdmlnYXRvckRhdGEgPSByLmhhc05hdmlnYXRvckRhdGEgfHwgISFkLCBuLmRhdGEgPSBkIHx8IGkuZGF0YSAmJiBpLmRhdGEuc2xpY2UoMCksIHAgJiYgcC5vcHRpb25zID8gcC51cGRhdGUobiwgZSkgOiAodC5uYXZpZ2F0b3JTZXJpZXMgPSBzLmluaXRTZXJpZXMobiksIHQubmF2aWdhdG9yU2VyaWVzLmJhc2VTZXJpZXMgPSB0LCBjLnB1c2godC5uYXZpZ2F0b3JTZXJpZXMpKSk7CiAgICAgICAgICAgIH0pKSwgKCFoLmRhdGEgfHwgYSAmJiBhLmxlbmd0aCkgJiYgIXcoaCkgfHwgKHIuaGFzTmF2aWdhdG9yRGF0YSA9ICExLCBoID0gQShoKSwgaC5mb3JFYWNoKChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgbC5uYW1lID0gIk5hdmlnYXRvciAiICsgKGMubGVuZ3RoICsgMSksIG4gPSBTKHUubmF2aWdhdG9yLnNlcmllcywgeyBjb2xvcjogcy5zZXJpZXNbZV0gJiYgIXMuc2VyaWVzW2VdLm9wdGlvbnMuaXNJbnRlcm5hbCAmJiBzLnNlcmllc1tlXS5jb2xvciB8fCBzLm9wdGlvbnMuY29sb3JzW2VdIHx8IHMub3B0aW9ucy5jb2xvcnNbMF0gfSwgbCwgdCksIG4uZGF0YSA9IHQuZGF0YSwgbi5kYXRhICYmIChyLmhhc05hdmlnYXRvckRhdGEgPSAhMCwgYy5wdXNoKHMuaW5pdFNlcmllcyhuKSkpOwogICAgICAgICAgICB9KSkpLCB0ICYmIHRoaXMuYWRkQmFzZVNlcmllc0V2ZW50cygpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuYWRkQmFzZVNlcmllc0V2ZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LmJhc2VTZXJpZXMgfHwgW107CiAgICAgICAgICAgIGVbMF0gJiYgZVswXS54QXhpcyAmJiBlWzBdLmV2ZW50c1RvVW5iaW5kLnB1c2goZihlWzBdLnhBeGlzLCAiZm91bmRFeHRyZW1lcyIsIHRoaXMubW9kaWZ5QmFzZUF4aXNFeHRyZW1lcykpLCBlLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBlLmV2ZW50c1RvVW5iaW5kLnB1c2goZihlLCAic2hvdyIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VyaWVzICYmIHRoaXMubmF2aWdhdG9yU2VyaWVzLnNldFZpc2libGUoITAsICExKTsKICAgICAgICAgICAgICB9KSkpLCBlLmV2ZW50c1RvVW5iaW5kLnB1c2goZihlLCAiaGlkZSIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VyaWVzICYmIHRoaXMubmF2aWdhdG9yU2VyaWVzLnNldFZpc2libGUoITEsICExKTsKICAgICAgICAgICAgICB9KSkpLCAhMSAhPT0gdGhpcy5uYXZpZ2F0b3JPcHRpb25zLmFkYXB0VG9VcGRhdGVkRGF0YSAmJiBlLnhBeGlzICYmIGUuZXZlbnRzVG9VbmJpbmQucHVzaChmKGUsICJ1cGRhdGVkRGF0YSIsIHRoaXMudXBkYXRlZERhdGFIYW5kbGVyKSksIGUuZXZlbnRzVG9VbmJpbmQucHVzaChmKGUsICJyZW1vdmUiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcmllcyAmJiAoeCh0LnNlcmllcywgdGhpcy5uYXZpZ2F0b3JTZXJpZXMpLCB5KHRoaXMubmF2aWdhdG9yU2VyaWVzLm9wdGlvbnMpICYmIHRoaXMubmF2aWdhdG9yU2VyaWVzLnJlbW92ZSghMSksIGRlbGV0ZSB0aGlzLm5hdmlnYXRvclNlcmllcyk7CiAgICAgICAgICAgICAgfSkpKTsKICAgICAgICAgICAgfSksIHRoaXMpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0QmFzZVNlcmllc01pbiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVNlcmllcy5yZWR1Y2UoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gTWF0aC5taW4odCwgZS54RGF0YSA/IGUueERhdGFbMF0gOiB0KTsKICAgICAgICAgICAgfSksIHQpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUubW9kaWZ5TmF2aWdhdG9yQXhpc0V4dHJlbWVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBlID0gdGhpcy54QXhpczsKICAgICAgICAgICAgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBlLmdldEV4dHJlbWVzICYmICghKHQgPSB0aGlzLmdldFVuaW9uRXh0cmVtZXMoITApKSB8fCB0LmRhdGFNaW4gPT09IGUubWluICYmIHQuZGF0YU1heCA9PT0gZS5tYXggfHwgKGUubWluID0gdC5kYXRhTWluLCBlLm1heCA9IHQuZGF0YU1heCkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUubW9kaWZ5QmFzZUF4aXNFeHRyZW1lcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuY2hhcnQubmF2aWdhdG9yLCBlID0gdGhpcy5nZXRFeHRyZW1lcygpLCBpID0gZS5kYXRhTWluLCBuID0gZS5kYXRhTWF4OwogICAgICAgICAgICBlID0gZS5tYXggLSBlLm1pbjsKICAgICAgICAgICAgdmFyIG8gPSB0LnN0aWNrVG9NaW4sIHIgPSB0LnN0aWNrVG9NYXgsIHMgPSBDKHRoaXMub3B0aW9ucy5vdmVyc2Nyb2xsLCAwKSwgYSA9IHQuc2VyaWVzICYmIHQuc2VyaWVzWzBdLCBoID0gISF0aGlzLnNldEV4dHJlbWVzOwogICAgICAgICAgICBpZiAoIXRoaXMuZXZlbnRBcmdzIHx8ICJyYW5nZVNlbGVjdG9yQnV0dG9uIiAhPT0gdGhpcy5ldmVudEFyZ3MudHJpZ2dlcikgewogICAgICAgICAgICAgIGlmIChvKSB2YXIgbCA9IGksIGMgPSBsICsgZTsKICAgICAgICAgICAgICByICYmIChjID0gbiArIHMsIG8gfHwgKGwgPSBNYXRoLm1heChpLCBjIC0gZSwgdC5nZXRCYXNlU2VyaWVzTWluKGEgJiYgYS54RGF0YSA/IGEueERhdGFbMF0gOiAtTnVtYmVyLk1BWF9WQUxVRSkpKSksIGggJiYgKG8gfHwgcikgJiYgayhsKSAmJiAodGhpcy5taW4gPSB0aGlzLnVzZXJNaW4gPSBsLCB0aGlzLm1heCA9IHRoaXMudXNlck1heCA9IGMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHQuc3RpY2tUb01pbiA9IHQuc3RpY2tUb01heCA9IG51bGw7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS51cGRhdGVkRGF0YUhhbmRsZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmNoYXJ0Lm5hdmlnYXRvciwgZSA9IHRoaXMubmF2aWdhdG9yU2VyaWVzOwogICAgICAgICAgICB0LnN0aWNrVG9NYXggPSB0LnJldmVyc2VkRXh0cmVtZXMgPyAwID09PSBNYXRoLnJvdW5kKHQuem9vbWVkTWluKSA6IE1hdGgucm91bmQodC56b29tZWRNYXgpID49IE1hdGgucm91bmQodC5zaXplKSwgdC5zdGlja1RvTWluID0gdC5zaG91bGRTdGlja1RvTWluKHRoaXMsIHQpLCBlICYmICF0Lmhhc05hdmlnYXRvckRhdGEgJiYgKGUub3B0aW9ucy5wb2ludFN0YXJ0ID0gdGhpcy54RGF0YVswXSwgZS5zZXREYXRhKHRoaXMub3B0aW9ucy5kYXRhLCAhMSwgbnVsbCwgITEpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnNob3VsZFN0aWNrVG9NaW4gPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIGUgPSBlLmdldEJhc2VTZXJpZXNNaW4odC54RGF0YVswXSk7CiAgICAgICAgICAgIHZhciBpID0gdC54QXhpczsKICAgICAgICAgICAgdCA9IGkubWF4OwogICAgICAgICAgICB2YXIgbiA9IGkubWluOwogICAgICAgICAgICByZXR1cm4gaSA9IGkub3B0aW9ucy5yYW5nZSwgISghayh0KSB8fCAhayhuKSkgJiYgKGkgJiYgMCA8IHQgLSBlID8gdCAtIGUgPCBpIDogbiA8PSBlKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmFkZENoYXJ0RXZlbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuZXZlbnRzVG9VbmJpbmQgfHwgKHRoaXMuZXZlbnRzVG9VbmJpbmQgPSBbXSksIHRoaXMuZXZlbnRzVG9VbmJpbmQucHVzaChmKHRoaXMuY2hhcnQsICJyZWRyYXciLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm5hdmlnYXRvciwgZSA9IHQgJiYgKHQuYmFzZVNlcmllcyAmJiB0LmJhc2VTZXJpZXNbMF0gJiYgdC5iYXNlU2VyaWVzWzBdLnhBeGlzIHx8IHRoaXMueEF4aXNbMF0pOwogICAgICAgICAgICAgIGUgJiYgdC5yZW5kZXIoZS5taW4sIGUubWF4KTsKICAgICAgICAgICAgfSkpLCBmKHRoaXMuY2hhcnQsICJnZXRNYXJnaW5zIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciB0ID0gdGhpcy5uYXZpZ2F0b3IsIGUgPSB0Lm9wcG9zaXRlID8gInBsb3RUb3AiIDogIm1hcmdpbkJvdHRvbSI7CiAgICAgICAgICAgICAgdGhpcy5pbnZlcnRlZCAmJiAoZSA9IHQub3Bwb3NpdGUgPyAibWFyZ2luUmlnaHQiIDogInBsb3RMZWZ0IiksIHRoaXNbZV0gPSAodGhpc1tlXSB8fCAwKSArICh0Lm5hdmlnYXRvckVuYWJsZWQgfHwgIXRoaXMuaW52ZXJ0ZWQgPyB0Lm91dGxpbmVIZWlnaHQgOiAwKSArIHQubmF2aWdhdG9yT3B0aW9ucy5tYXJnaW47CiAgICAgICAgICAgIH0pKSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMucmVtb3ZlRXZlbnRzKCksIHRoaXMueEF4aXMgJiYgKHgodGhpcy5jaGFydC54QXhpcywgdGhpcy54QXhpcyksIHgodGhpcy5jaGFydC5heGVzLCB0aGlzLnhBeGlzKSksIHRoaXMueUF4aXMgJiYgKHgodGhpcy5jaGFydC55QXhpcywgdGhpcy55QXhpcyksIHgodGhpcy5jaGFydC5heGVzLCB0aGlzLnlBeGlzKSksICh0aGlzLnNlcmllcyB8fCBbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQuZGVzdHJveSAmJiB0LmRlc3Ryb3koKTsKICAgICAgICAgICAgfSkpLCAic2VyaWVzIHhBeGlzIHlBeGlzIHNoYWRlcyBvdXRsaW5lIHNjcm9sbGJhclRyYWNrIHNjcm9sbGJhclJpZmxlcyBzY3JvbGxiYXJHcm91cCBzY3JvbGxiYXIgbmF2aWdhdG9yR3JvdXAgcmVuZGVyZWQiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHRoaXNbdF0gJiYgdGhpc1t0XS5kZXN0cm95ICYmIHRoaXNbdF0uZGVzdHJveSgpLCB0aGlzW3RdID0gbnVsbDsKICAgICAgICAgICAgfSksIHRoaXMpLCBbdGhpcy5oYW5kbGVzXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdih0KTsKICAgICAgICAgICAgfSksIHRoaXMpOwogICAgICAgICAgfSwgZTsKICAgICAgICB9KCk7CiAgICAgICAgcmV0dXJuIG4uTmF2aWdhdG9yIHx8IChuLk5hdmlnYXRvciA9IE8sIG8uY29tcG9zZSh0KSwgZihlLCAiYmVmb3JlU2hvd1Jlc2V0Wm9vbSIsIChmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLCBlID0gdC5uYXZpZ2F0b3IsIGkgPSB0LnJhbmdlU2VsZWN0b3I7CiAgICAgICAgICBpZiAoKGUgJiYgZS5lbmFibGVkIHx8IGkgJiYgaS5lbmFibGVkKSAmJiAoIWQgJiYgIngiID09PSB0LmNoYXJ0Lnpvb21UeXBlIHx8IGQgJiYgIngiID09PSB0LmNoYXJ0LnBpbmNoVHlwZSkpIHJldHVybiAhMTsKICAgICAgICB9KSksIGYoZSwgImJlZm9yZVJlbmRlciIsIChmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zOwogICAgICAgICAgKHQubmF2aWdhdG9yLmVuYWJsZWQgfHwgdC5zY3JvbGxiYXIuZW5hYmxlZCkgJiYgKHRoaXMuc2Nyb2xsZXIgPSB0aGlzLm5hdmlnYXRvciA9IG5ldyBPKHRoaXMpKTsKICAgICAgICB9KSksIGYoZSwgImFmdGVyU2V0Q2hhcnRTaXplIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSB0aGlzLmxlZ2VuZCwgZSA9IHRoaXMubmF2aWdhdG9yOwogICAgICAgICAgaWYgKGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0ICYmIHQub3B0aW9ucywgbiA9IGUueEF4aXMsIG8gPSBlLnlBeGlzLCByID0gZS5zY3JvbGxiYXJIZWlnaHQ7CiAgICAgICAgICAgIHRoaXMuaW52ZXJ0ZWQgPyAoZS5sZWZ0ID0gZS5vcHBvc2l0ZSA/IHRoaXMuY2hhcnRXaWR0aCAtIHIgLSBlLmhlaWdodCA6IHRoaXMuc3BhY2luZ1szXSArIHIsIGUudG9wID0gdGhpcy5wbG90VG9wICsgcikgOiAoZS5sZWZ0ID0gQyhuLmxlZnQsIHRoaXMucGxvdExlZnQgKyByKSwgZS50b3AgPSBlLm5hdmlnYXRvck9wdGlvbnMudG9wIHx8IHRoaXMuY2hhcnRIZWlnaHQgLSBlLmhlaWdodCAtIHIgLSB0aGlzLnNwYWNpbmdbMl0gLSAodGhpcy5yYW5nZVNlbGVjdG9yICYmIHRoaXMuZXh0cmFCb3R0b21NYXJnaW4gPyB0aGlzLnJhbmdlU2VsZWN0b3IuZ2V0SGVpZ2h0KCkgOiAwKSAtIChpICYmICJib3R0b20iID09PSBpLnZlcnRpY2FsQWxpZ24gJiYgInByb3hpbWF0ZSIgIT09IGkubGF5b3V0ICYmIGkuZW5hYmxlZCAmJiAhaS5mbG9hdGluZyA/IHQubGVnZW5kSGVpZ2h0ICsgQyhpLm1hcmdpbiwgMTApIDogMCkgLSAodGhpcy50aXRsZU9mZnNldCA/IHRoaXMudGl0bGVPZmZzZXRbMl0gOiAwKSksIG4gJiYgbyAmJiAodGhpcy5pbnZlcnRlZCA/IG4ub3B0aW9ucy5sZWZ0ID0gby5vcHRpb25zLmxlZnQgPSBlLmxlZnQgOiBuLm9wdGlvbnMudG9wID0gby5vcHRpb25zLnRvcCA9IGUudG9wLCBuLnNldEF4aXNTaXplKCksIG8uc2V0QXhpc1NpemUoKSk7CiAgICAgICAgICB9CiAgICAgICAgfSkpLCBmKGUsICJ1cGRhdGUiLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgdmFyIGUgPSB0Lm9wdGlvbnMubmF2aWdhdG9yIHx8IHt9LCBpID0gdC5vcHRpb25zLnNjcm9sbGJhciB8fCB7fTsKICAgICAgICAgIHRoaXMubmF2aWdhdG9yIHx8IHRoaXMuc2Nyb2xsZXIgfHwgIWUuZW5hYmxlZCAmJiAhaS5lbmFibGVkIHx8IChTKCEwLCB0aGlzLm9wdGlvbnMubmF2aWdhdG9yLCBlKSwgUyghMCwgdGhpcy5vcHRpb25zLnNjcm9sbGJhciwgaSksIGRlbGV0ZSB0Lm9wdGlvbnMubmF2aWdhdG9yLCBkZWxldGUgdC5vcHRpb25zLnNjcm9sbGJhcik7CiAgICAgICAgfSkpLCBmKGUsICJhZnRlclVwZGF0ZSIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICB0aGlzLm5hdmlnYXRvciB8fCB0aGlzLnNjcm9sbGVyIHx8ICF0aGlzLm9wdGlvbnMubmF2aWdhdG9yLmVuYWJsZWQgJiYgIXRoaXMub3B0aW9ucy5zY3JvbGxiYXIuZW5hYmxlZCB8fCAodGhpcy5zY3JvbGxlciA9IHRoaXMubmF2aWdhdG9yID0gbmV3IE8odGhpcyksIEModC5yZWRyYXcsICEwKSAmJiB0aGlzLnJlZHJhdyh0LmFuaW1hdGlvbikpOwogICAgICAgIH0pKSwgZihlLCAiYWZ0ZXJBZGRTZXJpZXMiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICB0aGlzLm5hdmlnYXRvciAmJiB0aGlzLm5hdmlnYXRvci5zZXRCYXNlU2VyaWVzKG51bGwsICExKTsKICAgICAgICB9KSksIGYoaCwgImFmdGVyVXBkYXRlIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgdGhpcy5jaGFydC5uYXZpZ2F0b3IgJiYgIXRoaXMub3B0aW9ucy5pc0ludGVybmFsICYmIHRoaXMuY2hhcnQubmF2aWdhdG9yLnNldEJhc2VTZXJpZXMobnVsbCwgITEpOwogICAgICAgIH0pKSwgZS5wcm90b3R5cGUuY2FsbGJhY2tzLnB1c2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHZhciBlID0gdC5uYXZpZ2F0b3I7CiAgICAgICAgICBlICYmIHQueEF4aXNbMF0gJiYgKHQgPSB0LnhBeGlzWzBdLmdldEV4dHJlbWVzKCksIGUucmVuZGVyKHQubWluLCB0Lm1heCkpOwogICAgICAgIH0pKSksIG4uTmF2aWdhdG9yID0gTywgbi5OYXZpZ2F0b3I7CiAgICAgIH0pKSwgZShpLCAiRXh0ZW5zaW9ucy9SYW5nZVNlbGVjdG9yLmpzIiwgW2lbIkNvcmUvQXhpcy9BeGlzLmpzIl0sIGlbIkNvcmUvQ2hhcnQvQ2hhcnQuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHRWxlbWVudC5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIpIHsKICAgICAgICBmdW5jdGlvbiBzKHQpIHsKICAgICAgICAgIGlmICgtMSAhPT0gdC5pbmRleE9mKCIlTCIpKSByZXR1cm4gInRleHQiOwogICAgICAgICAgdmFyIGUgPSAiYUFkZXdiQm1veVkiLnNwbGl0KCIiKS5zb21lKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiAtMSAhPT0gdC5pbmRleE9mKCIlIiArIGUpOwogICAgICAgICAgfSkpLCBpID0gIkhrSWxNUyIuc3BsaXQoIiIpLnNvbWUoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIC0xICE9PSB0LmluZGV4T2YoIiUiICsgZSk7CiAgICAgICAgICB9KSk7CiAgICAgICAgICByZXR1cm4gZSAmJiBpID8gImRhdGV0aW1lLWxvY2FsIiA6IGUgPyAiZGF0ZSIgOiBpID8gInRpbWUiIDogInRleHQiOwogICAgICAgIH0KCiAgICAgICAgdmFyIGEgPSBuLmRlZmF1bHRPcHRpb25zLCBoID0gci5hZGRFdmVudCwgbCA9IHIuY3JlYXRlRWxlbWVudCwgYyA9IHIuY3NzLCBwID0gci5kZWZpbmVkLCBkID0gci5kZXN0cm95T2JqZWN0UHJvcGVydGllcywgdSA9IHIuZGlzY2FyZEVsZW1lbnQsCiAgICAgICAgICBmID0gci5leHRlbmQsIGcgPSByLmZpbmQsIG0gPSByLmZpcmVFdmVudCwgeSA9IHIuaXNOdW1iZXIsIHYgPSByLm1lcmdlLCB4ID0gci5vYmplY3RFYWNoLCBiID0gci5wYWQsIF8gPSByLnBpY2ssIHcgPSByLnBJbnQsIGsgPSByLnNwbGF0OwogICAgICAgIGYoYSwgewogICAgICAgICAgcmFuZ2VTZWxlY3RvcjogewogICAgICAgICAgICBhbGxCdXR0b25zRW5hYmxlZDogITEsCiAgICAgICAgICAgIGJ1dHRvbnM6IHZvaWQgMCwKICAgICAgICAgICAgYnV0dG9uU3BhY2luZzogNSwKICAgICAgICAgICAgZHJvcGRvd246ICJyZXNwb25zaXZlIiwKICAgICAgICAgICAgZW5hYmxlZDogdm9pZCAwLAogICAgICAgICAgICB2ZXJ0aWNhbEFsaWduOiAidG9wIiwKICAgICAgICAgICAgYnV0dG9uVGhlbWU6IHsgd2lkdGg6IDI4LCBoZWlnaHQ6IDE4LCBwYWRkaW5nOiAyLCB6SW5kZXg6IDcgfSwKICAgICAgICAgICAgZmxvYXRpbmc6ICExLAogICAgICAgICAgICB4OiAwLAogICAgICAgICAgICB5OiAwLAogICAgICAgICAgICBoZWlnaHQ6IHZvaWQgMCwKICAgICAgICAgICAgaW5wdXRCb3hCb3JkZXJDb2xvcjogIm5vbmUiLAogICAgICAgICAgICBpbnB1dEJveEhlaWdodDogMTcsCiAgICAgICAgICAgIGlucHV0Qm94V2lkdGg6IHZvaWQgMCwKICAgICAgICAgICAgaW5wdXREYXRlRm9ybWF0OiAiJWIgJWUsICVZIiwKICAgICAgICAgICAgaW5wdXREYXRlUGFyc2VyOiB2b2lkIDAsCiAgICAgICAgICAgIGlucHV0RWRpdERhdGVGb3JtYXQ6ICIlWS0lbS0lZCIsCiAgICAgICAgICAgIGlucHV0RW5hYmxlZDogITAsCiAgICAgICAgICAgIGlucHV0UG9zaXRpb246IHsgYWxpZ246ICJyaWdodCIsIHg6IDAsIHk6IDAgfSwKICAgICAgICAgICAgaW5wdXRTcGFjaW5nOiA1LAogICAgICAgICAgICBzZWxlY3RlZDogdm9pZCAwLAogICAgICAgICAgICBidXR0b25Qb3NpdGlvbjogeyBhbGlnbjogImxlZnQiLCB4OiAwLCB5OiAwIH0sCiAgICAgICAgICAgIGlucHV0U3R5bGU6IHsgY29sb3I6ICIjMzM1Y2FkIiwgY3Vyc29yOiAicG9pbnRlciIgfSwKICAgICAgICAgICAgbGFiZWxTdHlsZTogeyBjb2xvcjogIiM2NjY2NjYiIH0KICAgICAgICAgIH0KICAgICAgICB9KSwgZihhLmxhbmcsIHsgcmFuZ2VTZWxlY3Rvclpvb206ICJab29tIiwgcmFuZ2VTZWxlY3RvckZyb206ICIiLCByYW5nZVNlbGVjdG9yVG86ICLihpIiIH0pOwogICAgICAgIHZhciBTID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiBlKHQpIHsKICAgICAgICAgICAgdGhpcy5idXR0b25zID0gdm9pZCAwLCB0aGlzLmJ1dHRvbk9wdGlvbnMgPSBlLnByb3RvdHlwZS5kZWZhdWx0QnV0dG9ucywgdGhpcy5pbml0aWFsQnV0dG9uR3JvdXBXaWR0aCA9IDAsIHRoaXMub3B0aW9ucyA9IHZvaWQgMCwgdGhpcy5jaGFydCA9IHQsIHRoaXMuaW5pdCh0KTsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gZS5wcm90b3R5cGUuY2xpY2tCdXR0b24gPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5jaGFydCwgbyA9IHRoaXMuYnV0dG9uT3B0aW9uc1tlXSwgciA9IG4ueEF4aXNbMF0sIHMgPSBuLnNjcm9sbGVyICYmIG4uc2Nyb2xsZXIuZ2V0VW5pb25FeHRyZW1lcygpIHx8IHIgfHwge30sIGEgPSBzLmRhdGFNaW4sCiAgICAgICAgICAgICAgbCA9IHMuZGF0YU1heCwgYyA9IHIgJiYgTWF0aC5yb3VuZChNYXRoLm1pbihyLm1heCwgXyhsLCByLm1heCkpKSwgZCA9IG8udHlwZTsKICAgICAgICAgICAgcyA9IG8uX3JhbmdlOwogICAgICAgICAgICB2YXIgdSwgZiA9IG8uZGF0YUdyb3VwaW5nOwogICAgICAgICAgICBpZiAobnVsbCAhPT0gYSAmJiBudWxsICE9PSBsKSB7CiAgICAgICAgICAgICAgaWYgKG4uZml4ZWRSYW5nZSA9IHMsIHRoaXMuc2V0U2VsZWN0ZWQoZSksIGYgJiYgKHRoaXMuZm9yY2VkRGF0YUdyb3VwaW5nID0gITAsIHQucHJvdG90eXBlLnNldERhdGFHcm91cGluZy5jYWxsKHIgfHwgeyBjaGFydDogdGhpcy5jaGFydCB9LCBmLCAhMSksIHRoaXMuZnJvemVuU3RhdGVzID0gby5wcmVzZXJ2ZURhdGFHcm91cGluZyksICJtb250aCIgPT09IGQgfHwgInllYXIiID09PSBkKSBpZiAocikgewogICAgICAgICAgICAgICAgZCA9IHsgcmFuZ2U6IG8sIG1heDogYywgY2hhcnQ6IG4sIGRhdGFNaW46IGEsIGRhdGFNYXg6IGwgfTsKICAgICAgICAgICAgICAgIHZhciBnID0gci5taW5Gcm9tUmFuZ2UuY2FsbChkKTsKICAgICAgICAgICAgICAgIHkoZC5uZXdNYXgpICYmIChjID0gZC5uZXdNYXgpOwogICAgICAgICAgICAgIH0gZWxzZSBzID0gbzsgZWxzZSBpZiAocykgZyA9IE1hdGgubWF4KGMgLSBzLCBhKSwgYyA9IE1hdGgubWluKGcgKyBzLCBsKTsgZWxzZSBpZiAoInl0ZCIgPT09IGQpIHsKICAgICAgICAgICAgICAgIGlmICghcikgcmV0dXJuIHZvaWQgKHRoaXMuZGVmZXJyZWRZVERDbGljayA9IGUpOwogICAgICAgICAgICAgICAgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBsICYmIChhID0gTnVtYmVyLk1BWF9WQUxVRSwgbCA9IE51bWJlci5NSU5fVkFMVUUsIG4uc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgdCA9IHQueERhdGEsIGEgPSBNYXRoLm1pbih0WzBdLCBhKSwgbCA9IE1hdGgubWF4KHRbdC5sZW5ndGggLSAxXSwgbCk7CiAgICAgICAgICAgICAgICB9KSksIGkgPSAhMSksIGMgPSB0aGlzLmdldFlUREV4dHJlbWVzKGwsIGEsIG4udGltZS51c2VVVEMpLCBnID0gdSA9IGMubWluLCBjID0gYy5tYXg7CiAgICAgICAgICAgICAgfSBlbHNlICJhbGwiID09PSBkICYmIHIgJiYgKG4ubmF2aWdhdG9yICYmIG4ubmF2aWdhdG9yLmJhc2VTZXJpZXNbMF0gJiYgKG4ubmF2aWdhdG9yLmJhc2VTZXJpZXNbMF0ueEF4aXMub3B0aW9ucy5yYW5nZSA9IHZvaWQgMCksIGcgPSBhLCBjID0gbCk7CiAgICAgICAgICAgICAgaWYgKHAoZykgJiYgKGcgKz0gby5fb2Zmc2V0TWluKSwgcChjKSAmJiAoYyArPSBvLl9vZmZzZXRNYXgpLCB0aGlzLmRyb3Bkb3duICYmICh0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSW5kZXggPSBlICsgMSksIHIpIHIuc2V0RXh0cmVtZXMoZywgYywgXyhpLCAhMCksIHZvaWQgMCwgewogICAgICAgICAgICAgICAgdHJpZ2dlcjogInJhbmdlU2VsZWN0b3JCdXR0b24iLAogICAgICAgICAgICAgICAgcmFuZ2VTZWxlY3RvckJ1dHRvbjogbwogICAgICAgICAgICAgIH0pOyBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gayhuLm9wdGlvbnMueEF4aXMpWzBdLCB4ID0gdi5yYW5nZTsKICAgICAgICAgICAgICAgIHYucmFuZ2UgPSBzOwogICAgICAgICAgICAgICAgdmFyIGIgPSB2Lm1pbjsKICAgICAgICAgICAgICAgIHYubWluID0gdSwgaChuLCAibG9hZCIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgdi5yYW5nZSA9IHgsIHYubWluID0gYjsKICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgbSh0aGlzLCAiYWZ0ZXJCdG5DbGljayIpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zZXRTZWxlY3RlZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMub3B0aW9ucy5zZWxlY3RlZCA9IHQ7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSB0Lm9wdGlvbnMucmFuZ2VTZWxlY3RvciwgbiA9IGkuYnV0dG9ucyB8fCBlLmRlZmF1bHRCdXR0b25zLnNsaWNlKCksIG8gPSBpLnNlbGVjdGVkLCByID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdmFyIHQgPSBlLm1pbklucHV0LCBpID0gZS5tYXhJbnB1dDsKICAgICAgICAgICAgICB0ICYmIHQuYmx1ciAmJiBtKHQsICJibHVyIiksIGkgJiYgaS5ibHVyICYmIG0oaSwgImJsdXIiKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZS5jaGFydCA9IHQsIGUub3B0aW9ucyA9IGksIGUuYnV0dG9ucyA9IFtdLCBlLmJ1dHRvbk9wdGlvbnMgPSBuLCB0aGlzLmV2ZW50c1RvVW5iaW5kID0gW10sIHRoaXMuZXZlbnRzVG9VbmJpbmQucHVzaChoKHQuY29udGFpbmVyLCAibW91c2Vkb3duIiwgcikpLCB0aGlzLmV2ZW50c1RvVW5iaW5kLnB1c2goaCh0LCAicmVzaXplIiwgcikpLCBuLmZvckVhY2goZS5jb21wdXRlQnV0dG9uUmFuZ2UpLCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIG8gJiYgbltvXSAmJiB0aGlzLmNsaWNrQnV0dG9uKG8sICExKSwgdGhpcy5ldmVudHNUb1VuYmluZC5wdXNoKGgodCwgImxvYWQiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgdC54QXhpcyAmJiB0LnhBeGlzWzBdICYmIGgodC54QXhpc1swXSwgInNldEV4dHJlbWVzIiwgKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAgIHRoaXMubWF4IC0gdGhpcy5taW4gIT09IHQuZml4ZWRSYW5nZSAmJiAicmFuZ2VTZWxlY3RvckJ1dHRvbiIgIT09IGkudHJpZ2dlciAmJiAidXBkYXRlZERhdGEiICE9PSBpLnRyaWdnZXIgJiYgZS5mb3JjZWREYXRhR3JvdXBpbmcgJiYgIWUuZnJvemVuU3RhdGVzICYmIHRoaXMuc2V0RGF0YUdyb3VwaW5nKCExLCAhMSk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9KSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudXBkYXRlQnV0dG9uU3RhdGVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHRoaXMuY2hhcnQsIGkgPSB0aGlzLmRyb3Bkb3duLCBuID0gZS54QXhpc1swXSwgbyA9IE1hdGgucm91bmQobi5tYXggLSBuLm1pbiksIHIgPSAhbi5oYXNWaXNpYmxlU2VyaWVzLAogICAgICAgICAgICAgIHMgPSBlLnNjcm9sbGVyICYmIGUuc2Nyb2xsZXIuZ2V0VW5pb25FeHRyZW1lcygpIHx8IG4sIGEgPSBzLmRhdGFNaW4sIGggPSBzLmRhdGFNYXg7CiAgICAgICAgICAgIGUgPSB0LmdldFlUREV4dHJlbWVzKGgsIGEsIGUudGltZS51c2VVVEMpOwogICAgICAgICAgICB2YXIgbCA9IGUubWluLCBjID0gZS5tYXgsIHAgPSB0LnNlbGVjdGVkLCBkID0geShwKSwgdSA9IHQub3B0aW9ucy5hbGxCdXR0b25zRW5hYmxlZCwgZiA9IHQuYnV0dG9uczsKICAgICAgICAgICAgdC5idXR0b25PcHRpb25zLmZvckVhY2goKGZ1bmN0aW9uKGUsIHMpIHsKICAgICAgICAgICAgICB2YXIgZyA9IGUuX3JhbmdlLCBtID0gZS50eXBlLCB5ID0gZS5jb3VudCB8fCAxLCB2ID0gZltzXSwgeCA9IDAsIGIgPSBlLl9vZmZzZXRNYXggLSBlLl9vZmZzZXRNaW47CiAgICAgICAgICAgICAgZSA9IHMgPT09IHA7CiAgICAgICAgICAgICAgdmFyIF8gPSBnID4gaCAtIGEsIHcgPSBnIDwgbi5taW5SYW5nZSwgayA9ICExLCBTID0gITE7CiAgICAgICAgICAgICAgZyA9IGcgPT09IG8sICgibW9udGgiID09PSBtIHx8ICJ5ZWFyIiA9PT0gbSkgJiYgbyArIDM2ZTUgPj0gODY0ZTUgKiB7IG1vbnRoOiAyOCwgeWVhcjogMzY1IH1bbV0gKiB5IC0gYiAmJiBvIC0gMzZlNSA8PSA4NjRlNSAqIHsKICAgICAgICAgICAgICAgIG1vbnRoOiAzMSwKICAgICAgICAgICAgICAgIHllYXI6IDM2NgogICAgICAgICAgICAgIH1bbV0gKiB5ICsgYiA/IGcgPSAhMCA6ICJ5dGQiID09PSBtID8gKGcgPSBjIC0gbCArIGIgPT09IG8sIGsgPSAhZSkgOiAiYWxsIiA9PT0gbSAmJiAoZyA9IG4ubWF4IC0gbi5taW4gPj0gaCAtIGEsIFMgPSAhZSAmJiBkICYmIGcpLCBtID0gIXUgJiYgKF8gfHwgdyB8fCBTIHx8IHIpLCB5ID0gZSAmJiBnIHx8IGcgJiYgIWQgJiYgIWsgfHwgZSAmJiB0LmZyb3plblN0YXRlcywgbSA/IHggPSAzIDogeSAmJiAoZCA9ICEwLCB4ID0gMiksIHYuc3RhdGUgIT09IHggJiYgKHYuc2V0U3RhdGUoeCksIGkgJiYgKGkub3B0aW9uc1tzICsgMV0uZGlzYWJsZWQgPSBtLCAyID09PSB4ICYmIChpLnNlbGVjdGVkSW5kZXggPSBzICsgMSkpLCAwID09PSB4ICYmIHAgPT09IHMgJiYgdC5zZXRTZWxlY3RlZCgpKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuY29tcHV0ZUJ1dHRvblJhbmdlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHQudHlwZSwgaSA9IHQuY291bnQgfHwgMSwgbiA9IHsgbWlsbGlzZWNvbmQ6IDEsIHNlY29uZDogMWUzLCBtaW51dGU6IDZlNCwgaG91cjogMzZlNSwgZGF5OiA4NjRlNSwgd2VlazogNjA0OGU1IH07CiAgICAgICAgICAgIG5bZV0gPyB0Ll9yYW5nZSA9IG5bZV0gKiBpIDogIm1vbnRoIiAhPT0gZSAmJiAieWVhciIgIT09IGUgfHwgKHQuX3JhbmdlID0gODY0ZTUgKiB7CiAgICAgICAgICAgICAgbW9udGg6IDMwLAogICAgICAgICAgICAgIHllYXI6IDM2NQogICAgICAgICAgICB9W2VdICogaSksIHQuX29mZnNldE1pbiA9IF8odC5vZmZzZXRNaW4sIDApLCB0Ll9vZmZzZXRNYXggPSBfKHQub2Zmc2V0TWF4LCAwKSwgdC5fcmFuZ2UgKz0gdC5fb2Zmc2V0TWF4IC0gdC5fb2Zmc2V0TWluOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0SW5wdXRWYWx1ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdCA9ICJtaW4iID09PSB0ID8gdGhpcy5taW5JbnB1dCA6IHRoaXMubWF4SW5wdXQ7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydC5vcHRpb25zLnJhbmdlU2VsZWN0b3IsIGkgPSB0aGlzLmNoYXJ0LnRpbWU7CiAgICAgICAgICAgIHJldHVybiB0ID8gKCJ0ZXh0IiA9PT0gdC50eXBlICYmIGUuaW5wdXREYXRlUGFyc2VyIHx8IHRoaXMuZGVmYXVsdElucHV0RGF0ZVBhcnNlcikodC52YWx1ZSwgaS51c2VVVEMsIGkpIDogMDsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnNldElucHV0VmFsdWUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5vcHRpb25zLCBuID0gdGhpcy5jaGFydC50aW1lLCBvID0gIm1pbiIgPT09IHQgPyB0aGlzLm1pbklucHV0IDogdGhpcy5tYXhJbnB1dDsKICAgICAgICAgICAgaWYgKHQgPSAibWluIiA9PT0gdCA/IHRoaXMubWluRGF0ZUJveCA6IHRoaXMubWF4RGF0ZUJveCwgbykgewogICAgICAgICAgICAgIHZhciByID0gby5nZXRBdHRyaWJ1dGUoImRhdGEtaGMtdGltZSIpOwogICAgICAgICAgICAgIHIgPSBwKHIpID8gTnVtYmVyKHIpIDogdm9pZCAwLCBwKGUpICYmIChwKHIpICYmIG8uc2V0QXR0cmlidXRlKCJkYXRhLWhjLXRpbWUtcHJldmlvdXMiLCByKSwgby5zZXRBdHRyaWJ1dGUoImRhdGEtaGMtdGltZSIsIGUpLCByID0gZSksIG8udmFsdWUgPSBuLmRhdGVGb3JtYXQodGhpcy5pbnB1dFR5cGVGb3JtYXRzW28udHlwZV0gfHwgaS5pbnB1dEVkaXREYXRlRm9ybWF0LCByKSwgdCAmJiB0LmF0dHIoeyB0ZXh0OiBuLmRhdGVGb3JtYXQoaS5pbnB1dERhdGVGb3JtYXQsIHIpIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zZXRJbnB1dEV4dHJlbWVzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICBpZiAodCA9ICJtaW4iID09PSB0ID8gdGhpcy5taW5JbnB1dCA6IHRoaXMubWF4SW5wdXQpIHsKICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMuaW5wdXRUeXBlRm9ybWF0c1t0LnR5cGVdLCBvID0gdGhpcy5jaGFydC50aW1lOwogICAgICAgICAgICAgIG4gJiYgKGUgPSBvLmRhdGVGb3JtYXQobiwgZSksIHQubWluICE9PSBlICYmICh0Lm1pbiA9IGUpLCBpID0gby5kYXRlRm9ybWF0KG4sIGkpLCB0Lm1heCAhPT0gaSAmJiAodC5tYXggPSBpKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIGUucHJvdG90eXBlLnNob3dJbnB1dCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSAibWluIiA9PT0gdCA/IHRoaXMubWluRGF0ZUJveCA6IHRoaXMubWF4RGF0ZUJveDsKICAgICAgICAgICAgaWYgKCh0ID0gIm1pbiIgPT09IHQgPyB0aGlzLm1pbklucHV0IDogdGhpcy5tYXhJbnB1dCkgJiYgZSAmJiB0aGlzLmlucHV0R3JvdXApIHsKICAgICAgICAgICAgICB2YXIgaSA9ICJ0ZXh0IiA9PT0gdC50eXBlLCBuID0gdGhpcy5pbnB1dEdyb3VwLCBvID0gbi50cmFuc2xhdGVYOwogICAgICAgICAgICAgIG4gPSBuLnRyYW5zbGF0ZVk7CiAgICAgICAgICAgICAgdmFyIHIgPSB0aGlzLm9wdGlvbnMuaW5wdXRCb3hXaWR0aDsKICAgICAgICAgICAgICBjKHQsIHsKICAgICAgICAgICAgICAgIHdpZHRoOiBpID8gZS53aWR0aCArIChyID8gLTIgOiAyMCkgKyAicHgiIDogImF1dG8iLAogICAgICAgICAgICAgICAgaGVpZ2h0OiBpID8gZS5oZWlnaHQgLSAyICsgInB4IiA6ICJhdXRvIiwKICAgICAgICAgICAgICAgIGJvcmRlcjogIjJweCBzb2xpZCBzaWx2ZXIiCiAgICAgICAgICAgICAgfSksIGModCwgaSAmJiByID8gewogICAgICAgICAgICAgICAgbGVmdDogbyArIGUueCArICJweCIsCiAgICAgICAgICAgICAgICB0b3A6IG4gKyAicHgiCiAgICAgICAgICAgICAgfSA6IHsKICAgICAgICAgICAgICAgIGxlZnQ6IE1hdGgubWluKE1hdGgucm91bmQoZS54ICsgbyAtICh0Lm9mZnNldFdpZHRoIC0gZS53aWR0aCkgLyAyKSwgdGhpcy5jaGFydC5jaGFydFdpZHRoIC0gdC5vZmZzZXRXaWR0aCkgKyAicHgiLAogICAgICAgICAgICAgICAgdG9wOiBuIC0gKHQub2Zmc2V0SGVpZ2h0IC0gZS5oZWlnaHQpIC8gMiArICJweCIKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaGlkZUlucHV0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAodCA9ICJtaW4iID09PSB0ID8gdGhpcy5taW5JbnB1dCA6IHRoaXMubWF4SW5wdXQpICYmIGModCwgeyB0b3A6ICItOTk5OWVtIiwgYm9yZGVyOiAwLCB3aWR0aDogIjFweCIsIGhlaWdodDogIjFweCIgfSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kZWZhdWx0SW5wdXREYXRlUGFyc2VyID0gZnVuY3Rpb24odCwgZSwgbikgewogICAgICAgICAgICB2YXIgbywgciA9IHQuc3BsaXQoIi8iKS5qb2luKCItIikuc3BsaXQoIiAiKS5qb2luKCJUIik7CiAgICAgICAgICAgICgtMSA9PT0gci5pbmRleE9mKCJUIikgJiYgKHIgKz0gIlQwMDowMCIpLCBlKSA/IHIgKz0gIloiIDogKChvID0gaS5pc1NhZmFyaSkgJiYgKG8gPSByLCBvID0gISg2IDwgby5sZW5ndGggJiYgKG8ubGFzdEluZGV4T2YoIi0iKSA9PT0gby5sZW5ndGggLSA2IHx8IG8ubGFzdEluZGV4T2YoIisiKSA9PT0gby5sZW5ndGggLSA2KSkpLCBvICYmIChvID0gbmV3IERhdGUocikuZ2V0VGltZXpvbmVPZmZzZXQoKSAvIDYwLCByICs9IDAgPj0gbyA/ICIrIiArIGIoLW8pICsgIjowMCIgOiAiLSIgKyBiKG8pICsgIjowMCIpKTsKICAgICAgICAgICAgcmV0dXJuIHIgPSBEYXRlLnBhcnNlKHIpLCB5KHIpIHx8ICh0ID0gdC5zcGxpdCgiLSIpLCByID0gRGF0ZS5VVEModyh0WzBdKSwgdyh0WzFdKSAtIDEsIHcodFsyXSkpKSwgbiAmJiBlICYmIHkocikgJiYgKHIgKz0gbi5nZXRUaW1lem9uZU9mZnNldChyKSksIHI7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kcmF3SW5wdXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGUoKSB7CiAgICAgICAgICAgICAgdmFyIGUgPSBoLmdldElucHV0VmFsdWUodCksIGkgPSBuLnhBeGlzWzBdLCBvID0gbi5zY3JvbGxlciAmJiBuLnNjcm9sbGVyLnhBeGlzID8gbi5zY3JvbGxlci54QXhpcyA6IGksIHIgPSBvLmRhdGFNaW47CiAgICAgICAgICAgICAgbyA9IG8uZGF0YU1heDsKICAgICAgICAgICAgICB2YXIgcyA9IGgubWF4SW5wdXQsIGEgPSBoLm1pbklucHV0OwogICAgICAgICAgICAgIGUgIT09IE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1oYy10aW1lLXByZXZpb3VzIikpICYmIHkoZSkgJiYgKHguc2V0QXR0cmlidXRlKCJkYXRhLWhjLXRpbWUtcHJldmlvdXMiLCBlKSwgZyAmJiBzICYmIHkocikgPyBlID4gTnVtYmVyKHMuZ2V0QXR0cmlidXRlKCJkYXRhLWhjLXRpbWUiKSkgPyBlID0gdm9pZCAwIDogZSA8IHIgJiYgKGUgPSByKSA6IGEgJiYgeShvKSAmJiAoZSA8IE51bWJlcihhLmdldEF0dHJpYnV0ZSgiZGF0YS1oYy10aW1lIikpID8gZSA9IHZvaWQgMCA6IGUgPiBvICYmIChlID0gbykpLCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGUgJiYgaS5zZXRFeHRyZW1lcyhnID8gZSA6IGkubWluLCBnID8gaS5tYXggOiBlLCB2b2lkIDAsIHZvaWQgMCwgeyB0cmlnZ2VyOiAicmFuZ2VTZWxlY3RvcklucHV0IiB9KSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBuID0gdGhpcy5jaGFydCwgbyA9IHRoaXMuZGl2LCByID0gdGhpcy5pbnB1dEdyb3VwLCBoID0gdGhpcywgcCA9IG4ucmVuZGVyZXIuc3R5bGUgfHwge30sIGQgPSBuLnJlbmRlcmVyLCB1ID0gbi5vcHRpb25zLnJhbmdlU2VsZWN0b3IsCiAgICAgICAgICAgICAgZyA9ICJtaW4iID09PSB0LCBtID0gYS5sYW5nW2cgPyAicmFuZ2VTZWxlY3RvckZyb20iIDogInJhbmdlU2VsZWN0b3JUbyJdIHx8ICIiOwogICAgICAgICAgICBtID0gZC5sYWJlbChtLCAwKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1yYW5nZS1sYWJlbCIpLmF0dHIoewogICAgICAgICAgICAgIHBhZGRpbmc6IG0gPyAyIDogMCwKICAgICAgICAgICAgICBoZWlnaHQ6IG0gPyB1LmlucHV0Qm94SGVpZ2h0IDogMAogICAgICAgICAgICB9KS5hZGQociksIGQgPSBkLmxhYmVsKCIiLCAwKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1yYW5nZS1pbnB1dCIpLmF0dHIoewogICAgICAgICAgICAgIHBhZGRpbmc6IDIsCiAgICAgICAgICAgICAgd2lkdGg6IHUuaW5wdXRCb3hXaWR0aCwKICAgICAgICAgICAgICBoZWlnaHQ6IHUuaW5wdXRCb3hIZWlnaHQsCiAgICAgICAgICAgICAgInRleHQtYWxpZ24iOiAiY2VudGVyIgogICAgICAgICAgICB9KS5vbigiY2xpY2siLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaC5zaG93SW5wdXQodCksIGhbdCArICJJbnB1dCJdLmZvY3VzKCk7CiAgICAgICAgICAgIH0pKSwgbi5zdHlsZWRNb2RlIHx8IGQuYXR0cih7IHN0cm9rZTogdS5pbnB1dEJveEJvcmRlckNvbG9yLCAic3Ryb2tlLXdpZHRoIjogMSB9KSwgZC5hZGQocik7CiAgICAgICAgICAgIHZhciB4ID0gbCgiaW5wdXQiLCB7IG5hbWU6IHQsIGNsYXNzTmFtZTogImhpZ2hjaGFydHMtcmFuZ2Utc2VsZWN0b3IiIH0sIHZvaWQgMCwgbyk7CiAgICAgICAgICAgIHguc2V0QXR0cmlidXRlKCJ0eXBlIiwgcyh1LmlucHV0RGF0ZUZvcm1hdCB8fCAiJWIgJWUsICVZIikpLCBuLnN0eWxlZE1vZGUgfHwgKG0uY3NzKHYocCwgdS5sYWJlbFN0eWxlKSksIGQuY3NzKHYoeyBjb2xvcjogIiMzMzMzMzMiIH0sIHAsIHUuaW5wdXRTdHlsZSkpLCBjKHgsIGYoewogICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICAgIGJvcmRlcjogMCwKICAgICAgICAgICAgICBib3hTaGFkb3c6ICIwIDAgMTVweCByZ2JhKDAsMCwwLDAuMykiLAogICAgICAgICAgICAgIHdpZHRoOiAiMXB4IiwKICAgICAgICAgICAgICBoZWlnaHQ6ICIxcHgiLAogICAgICAgICAgICAgIHBhZGRpbmc6IDAsCiAgICAgICAgICAgICAgdGV4dEFsaWduOiAiY2VudGVyIiwKICAgICAgICAgICAgICBmb250U2l6ZTogcC5mb250U2l6ZSwKICAgICAgICAgICAgICBmb250RmFtaWx5OiBwLmZvbnRGYW1pbHksCiAgICAgICAgICAgICAgdG9wOiAiLTk5OTllbSIKICAgICAgICAgICAgfSwgdS5pbnB1dFN0eWxlKSkpLCB4Lm9uZm9jdXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBoLnNob3dJbnB1dCh0KTsKICAgICAgICAgICAgfSwgeC5vbmJsdXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB4ID09PSBpLmRvYy5hY3RpdmVFbGVtZW50ICYmIGUoKSwgaC5oaWRlSW5wdXQodCksIGguc2V0SW5wdXRWYWx1ZSh0KSwgeC5ibHVyKCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBiID0gITE7CiAgICAgICAgICAgIHJldHVybiB4Lm9uY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgYiB8fCAoZSgpLCBoLmhpZGVJbnB1dCh0KSwgeC5ibHVyKCkpOwogICAgICAgICAgICB9LCB4Lm9ua2V5cHJlc3MgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgMTMgPT09IHQua2V5Q29kZSAmJiBlKCk7CiAgICAgICAgICAgIH0sIHgub25rZXlkb3duID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGIgPSAhMCwgMzggIT09IHQua2V5Q29kZSAmJiA0MCAhPT0gdC5rZXlDb2RlIHx8IGUoKTsKICAgICAgICAgICAgfSwgeC5vbmtleXVwID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgYiA9ICExOwogICAgICAgICAgICB9LCB7IGRhdGVCb3g6IGQsIGlucHV0OiB4LCBsYWJlbDogbSB9OwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0UG9zaXRpb24gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmNoYXJ0LCBlID0gdC5vcHRpb25zLnJhbmdlU2VsZWN0b3I7CiAgICAgICAgICAgIHJldHVybiB0ID0gInRvcCIgPT09IGUudmVydGljYWxBbGlnbiA/IHQucGxvdFRvcCAtIHQuYXhpc09mZnNldFswXSA6IDAsIHsgYnV0dG9uVG9wOiB0ICsgZS5idXR0b25Qb3NpdGlvbi55LCBpbnB1dFRvcDogdCArIGUuaW5wdXRQb3NpdGlvbi55IC0gMTAgfTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldFlUREV4dHJlbWVzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMuY2hhcnQudGltZSwgbyA9IG5ldyBuLkRhdGUodCksIHIgPSBuLmdldCgiRnVsbFllYXIiLCBvKTsKICAgICAgICAgICAgcmV0dXJuIGkgPSBpID8gbi5EYXRlLlVUQyhyLCAwLCAxKSA6ICtuZXcgbi5EYXRlKHIsIDAsIDEpLCBlID0gTWF0aC5tYXgoZSwgaSksIG8gPSBvLmdldFRpbWUoKSwgeyBtYXg6IE1hdGgubWluKHQgfHwgbywgbyksIG1pbjogZSB9OwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXMuY2hhcnQsIG4gPSBpLnJlbmRlcmVyLCBvID0gaS5jb250YWluZXIsIHIgPSBpLm9wdGlvbnMsIHMgPSByLnJhbmdlU2VsZWN0b3IsIGEgPSBfKHIuY2hhcnQuc3R5bGUgJiYgci5jaGFydC5zdHlsZS56SW5kZXgsIDApICsgMTsKICAgICAgICAgICAgaWYgKHIgPSBzLmlucHV0RW5hYmxlZCwgITEgIT09IHMuZW5hYmxlZCkgewogICAgICAgICAgICAgIGlmICh0aGlzLnJlbmRlcmVkIHx8ICh0aGlzLmdyb3VwID0gbi5nKCJyYW5nZS1zZWxlY3Rvci1ncm91cCIpLmF0dHIoeyB6SW5kZXg6IDcgfSkuYWRkKCksIHRoaXMuZGl2ID0gbCgiZGl2Iiwgdm9pZCAwLCB7CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogInJlbGF0aXZlIiwKICAgICAgICAgICAgICAgIGhlaWdodDogMCwKICAgICAgICAgICAgICAgIHpJbmRleDogYQogICAgICAgICAgICAgIH0pLCB0aGlzLmJ1dHRvbk9wdGlvbnMubGVuZ3RoICYmIHRoaXMucmVuZGVyQnV0dG9ucygpLCBvLnBhcmVudE5vZGUgJiYgby5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmRpdiwgbyksIHIgJiYgKHRoaXMuaW5wdXRHcm91cCA9IG4uZygiaW5wdXQtZ3JvdXAiKS5hZGQodGhpcy5ncm91cCksIG4gPSB0aGlzLmRyYXdJbnB1dCgibWluIiksIHRoaXMubWluRGF0ZUJveCA9IG4uZGF0ZUJveCwgdGhpcy5taW5MYWJlbCA9IG4ubGFiZWwsIHRoaXMubWluSW5wdXQgPSBuLmlucHV0LCBuID0gdGhpcy5kcmF3SW5wdXQoIm1heCIpLCB0aGlzLm1heERhdGVCb3ggPSBuLmRhdGVCb3gsIHRoaXMubWF4TGFiZWwgPSBuLmxhYmVsLCB0aGlzLm1heElucHV0ID0gbi5pbnB1dCkpLCByICYmICh0aGlzLnNldElucHV0VmFsdWUoIm1pbiIsIHQpLCB0aGlzLnNldElucHV0VmFsdWUoIm1heCIsIGUpLCB0ID0gaS5zY3JvbGxlciAmJiBpLnNjcm9sbGVyLmdldFVuaW9uRXh0cmVtZXMoKSB8fCBpLnhBeGlzWzBdIHx8IHt9LCBwKHQuZGF0YU1pbikgJiYgcCh0LmRhdGFNYXgpICYmIChpID0gaS54QXhpc1swXS5taW5SYW5nZSB8fCAwLCB0aGlzLnNldElucHV0RXh0cmVtZXMoIm1pbiIsIHQuZGF0YU1pbiwgTWF0aC5taW4odC5kYXRhTWF4LCB0aGlzLmdldElucHV0VmFsdWUoIm1heCIpKSAtIGkpLCB0aGlzLnNldElucHV0RXh0cmVtZXMoIm1heCIsIE1hdGgubWF4KHQuZGF0YU1pbiwgdGhpcy5nZXRJbnB1dFZhbHVlKCJtaW4iKSkgKyBpLCB0LmRhdGFNYXgpKSwgdGhpcy5pbnB1dEdyb3VwKSkgewogICAgICAgICAgICAgICAgdmFyIGggPSAwOwogICAgICAgICAgICAgICAgW3RoaXMubWluTGFiZWwsIHRoaXMubWluRGF0ZUJveCwgdGhpcy5tYXhMYWJlbCwgdGhpcy5tYXhEYXRlQm94XS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIGlmICh0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0LmdldEJCb3goKS53aWR0aDsKICAgICAgICAgICAgICAgICAgICBlICYmICh0LmF0dHIoeyB4OiBoIH0pLCBoICs9IGUgKyBzLmlucHV0U3BhY2luZyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgdGhpcy5hbGlnbkVsZW1lbnRzKCksIHRoaXMucmVuZGVyZWQgPSAhMDsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVuZGVyQnV0dG9ucyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0aGlzLmJ1dHRvbnMsIG4gPSB0aGlzLm9wdGlvbnMsIG8gPSBhLmxhbmcsIHIgPSB0aGlzLmNoYXJ0LnJlbmRlcmVyLCBzID0gdihuLmJ1dHRvblRoZW1lKSwgYyA9IHMgJiYgcy5zdGF0ZXMsIHAgPSBzLndpZHRoIHx8IDI4OwogICAgICAgICAgICBkZWxldGUgcy53aWR0aCwgZGVsZXRlIHMuc3RhdGVzLCB0aGlzLmJ1dHRvbkdyb3VwID0gci5nKCJyYW5nZS1zZWxlY3Rvci1idXR0b25zIikuYWRkKHRoaXMuZ3JvdXApOwogICAgICAgICAgICB2YXIgZCA9IHRoaXMuZHJvcGRvd24gPSBsKCJzZWxlY3QiLCB2b2lkIDAsIHsKICAgICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgICAgICB3aWR0aDogIjFweCIsCiAgICAgICAgICAgICAgaGVpZ2h0OiAiMXB4IiwKICAgICAgICAgICAgICBwYWRkaW5nOiAwLAogICAgICAgICAgICAgIGJvcmRlcjogMCwKICAgICAgICAgICAgICB0b3A6ICItOTk5OWVtIiwKICAgICAgICAgICAgICBjdXJzb3I6ICJwb2ludGVyIiwKICAgICAgICAgICAgICBvcGFjaXR5OiAxZS00CiAgICAgICAgICAgIH0sIHRoaXMuZGl2KTsKICAgICAgICAgICAgaChkLCAidG91Y2hzdGFydCIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBkLnN0eWxlLmZvbnRTaXplID0gIjE2cHgiOwogICAgICAgICAgICB9KSksIFtbaS5pc01TID8gIm1vdXNlb3ZlciIgOiAibW91c2VlbnRlciJdLCBbaS5pc01TID8gIm1vdXNlb3V0IiA6ICJtb3VzZWxlYXZlIl0sIFsiY2hhbmdlIiwgImNsaWNrIl1dLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICB2YXIgbiA9IGlbMF0sIG8gPSBpWzFdOwogICAgICAgICAgICAgIGgoZCwgbiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBlW3QuY3VycmVudEJ1dHRvbkluZGV4KCldOwogICAgICAgICAgICAgICAgaSAmJiBtKGkuZWxlbWVudCwgbyB8fCBuKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKSwgdGhpcy56b29tVGV4dCA9IHIubGFiZWwobyAmJiBvLnJhbmdlU2VsZWN0b3Jab29tIHx8ICIiLCAwKS5hdHRyKHsKICAgICAgICAgICAgICBwYWRkaW5nOiBuLmJ1dHRvblRoZW1lLnBhZGRpbmcsCiAgICAgICAgICAgICAgaGVpZ2h0OiBuLmJ1dHRvblRoZW1lLmhlaWdodCwKICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogMCwKICAgICAgICAgICAgICBwYWRkaW5nUmlnaHQ6IDAKICAgICAgICAgICAgfSkuYWRkKHRoaXMuYnV0dG9uR3JvdXApLCB0aGlzLmNoYXJ0LnN0eWxlZE1vZGUgfHwgKHRoaXMuem9vbVRleHQuY3NzKG4ubGFiZWxTdHlsZSksIHNbInN0cm9rZS13aWR0aCJdID0gXyhzWyJzdHJva2Utd2lkdGgiXSwgMCkpLCBsKCJvcHRpb24iLCB7CiAgICAgICAgICAgICAgdGV4dENvbnRlbnQ6IHRoaXMuem9vbVRleHQudGV4dFN0ciwKICAgICAgICAgICAgICBkaXNhYmxlZDogITAKICAgICAgICAgICAgfSwgdm9pZCAwLCBkKSwgdGhpcy5idXR0b25PcHRpb25zLmZvckVhY2goKGZ1bmN0aW9uKGksIG4pIHsKICAgICAgICAgICAgICBsKCJvcHRpb24iLCB7IHRleHRDb250ZW50OiBpLnRpdGxlIHx8IGkudGV4dCB9LCB2b2lkIDAsIGQpLCBlW25dID0gci5idXR0b24oaS50ZXh0LCAwLCAwLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIG8sIHIgPSBpLmV2ZW50cyAmJiBpLmV2ZW50cy5jbGljazsKICAgICAgICAgICAgICAgIHIgJiYgKG8gPSByLmNhbGwoaSwgZSkpLCAhMSAhPT0gbyAmJiB0LmNsaWNrQnV0dG9uKG4pLCB0LmlzQWN0aXZlID0gITA7CiAgICAgICAgICAgICAgfSksIHMsIGMgJiYgYy5ob3ZlciwgYyAmJiBjLnNlbGVjdCwgYyAmJiBjLmRpc2FibGVkKS5hdHRyKHsKICAgICAgICAgICAgICAgICJ0ZXh0LWFsaWduIjogImNlbnRlciIsCiAgICAgICAgICAgICAgICB3aWR0aDogcAogICAgICAgICAgICAgIH0pLmFkZCh0LmJ1dHRvbkdyb3VwKSwgaS50aXRsZSAmJiBlW25dLmF0dHIoInRpdGxlIiwgaS50aXRsZSk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmFsaWduRWxlbWVudHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdGhpcy5idXR0b25Hcm91cCwgaSA9IHRoaXMuYnV0dG9ucywgbiA9IHRoaXMuY2hhcnQsIG8gPSB0aGlzLmdyb3VwLCByID0gdGhpcy5pbnB1dEdyb3VwLCBzID0gdGhpcy5vcHRpb25zLCBhID0gdGhpcy56b29tVGV4dCwKICAgICAgICAgICAgICBoID0gbi5vcHRpb25zLCBsID0gaC5leHBvcnRpbmcgJiYgITEgIT09IGguZXhwb3J0aW5nLmVuYWJsZWQgJiYgaC5uYXZpZ2F0aW9uICYmIGgubmF2aWdhdGlvbi5idXR0b25PcHRpb25zOwogICAgICAgICAgICBoID0gcy5idXR0b25Qb3NpdGlvbjsKICAgICAgICAgICAgdmFyIGMgPSBzLmlucHV0UG9zaXRpb24sIHAgPSBzLnZlcnRpY2FsQWxpZ24sIGQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGwgJiYgdC50aXRsZUNvbGxpc2lvbihuKSAmJiAidG9wIiA9PT0gcCAmJiAicmlnaHQiID09PSBpLmFsaWduICYmIGkueSAtIGUuZ2V0QkJveCgpLmhlaWdodCAtIDEyIDwgKGwueSB8fCAwKSArIChsLmhlaWdodCB8fCAwKSArIG4uc3BhY2luZ1swXSA/IC00MCA6IDA7CiAgICAgICAgICAgIH0sIHUgPSBuLnBsb3RMZWZ0OwogICAgICAgICAgICBpZiAobyAmJiBoICYmIGMpIHsKICAgICAgICAgICAgICB2YXIgZiA9IGgueCAtIG4uc3BhY2luZ1szXTsKICAgICAgICAgICAgICBpZiAoZSkgewogICAgICAgICAgICAgICAgaWYgKHRoaXMucG9zaXRpb25CdXR0b25zKCksICF0aGlzLmluaXRpYWxCdXR0b25Hcm91cFdpZHRoKSB7CiAgICAgICAgICAgICAgICAgIHZhciBnID0gMDsKICAgICAgICAgICAgICAgICAgYSAmJiAoZyArPSBhLmdldEJCb3goKS53aWR0aCArIDUpLCBpLmZvckVhY2goKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICBnICs9IHQud2lkdGgsIGUgIT09IGkubGVuZ3RoIC0gMSAmJiAoZyArPSBzLmJ1dHRvblNwYWNpbmcpOwogICAgICAgICAgICAgICAgICB9KSksIHRoaXMuaW5pdGlhbEJ1dHRvbkdyb3VwV2lkdGggPSBnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdSAtPSBuLnNwYWNpbmdbM10sIHRoaXMudXBkYXRlQnV0dG9uU3RhdGVzKCksIGEgPSBkKGUsIGgpLCB0aGlzLmFsaWduQnV0dG9uR3JvdXAoYSksIG8ucGxhY2VkID0gZS5wbGFjZWQgPSBuLmhhc0xvYWRlZDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZSA9IDAsIHIgJiYgKGUgPSBkKHIsIGMpLCAibGVmdCIgPT09IGMuYWxpZ24gPyBmID0gdSA6ICJyaWdodCIgPT09IGMuYWxpZ24gJiYgKGYgPSAtTWF0aC5tYXgobi5heGlzT2Zmc2V0WzFdLCAtZSkpLCByLmFsaWduKHsKICAgICAgICAgICAgICAgIHk6IGMueSwKICAgICAgICAgICAgICAgIHdpZHRoOiByLmdldEJCb3goKS53aWR0aCwKICAgICAgICAgICAgICAgIGFsaWduOiBjLmFsaWduLAogICAgICAgICAgICAgICAgeDogYy54ICsgZiAtIDIKICAgICAgICAgICAgICB9LCAhMCwgbi5zcGFjaW5nQm94KSwgci5wbGFjZWQgPSBuLmhhc0xvYWRlZCksIHRoaXMuaGFuZGxlQ29sbGlzaW9uKGUpLCBvLmFsaWduKHsgdmVydGljYWxBbGlnbjogcCB9LCAhMCwgbi5zcGFjaW5nQm94KSwgciA9IG8uYWxpZ25BdHRyLnRyYW5zbGF0ZVksIGUgPSBvLmdldEJCb3goKS5oZWlnaHQgKyAyMCwgZCA9IDAsICJib3R0b20iID09PSBwICYmIChkID0gKGQgPSBuLmxlZ2VuZCAmJiBuLmxlZ2VuZC5vcHRpb25zKSAmJiAiYm90dG9tIiA9PT0gZC52ZXJ0aWNhbEFsaWduICYmIGQuZW5hYmxlZCAmJiAhZC5mbG9hdGluZyA/IG4ubGVnZW5kLmxlZ2VuZEhlaWdodCArIF8oZC5tYXJnaW4sIDEwKSA6IDAsIGUgPSBlICsgZCAtIDIwLCBkID0gciAtIGUgLSAocy5mbG9hdGluZyA/IDAgOiBzLnkpIC0gKG4udGl0bGVPZmZzZXQgPyBuLnRpdGxlT2Zmc2V0WzJdIDogMCkgLSAxMCksICJ0b3AiID09PSBwID8gKHMuZmxvYXRpbmcgJiYgKGQgPSAwKSwgbi50aXRsZU9mZnNldCAmJiBuLnRpdGxlT2Zmc2V0WzBdICYmIChkID0gbi50aXRsZU9mZnNldFswXSksIGQgKz0gbi5tYXJnaW5bMF0gLSBuLnNwYWNpbmdbMF0gfHwgMCkgOiAibWlkZGxlIiA9PT0gcCAmJiAoYy55ID09PSBoLnkgPyBkID0gciA6IChjLnkgfHwgaC55KSAmJiAoZCA9IDAgPiBjLnkgfHwgMCA+IGgueSA/IGQgLSBNYXRoLm1pbihjLnksIGgueSkgOiByIC0gZSkpLCBvLnRyYW5zbGF0ZShzLngsIHMueSArIE1hdGguZmxvb3IoZCkpLCBoID0gdGhpcy5taW5JbnB1dCwgYyA9IHRoaXMubWF4SW5wdXQsIHIgPSB0aGlzLmRyb3Bkb3duLCBzLmlucHV0RW5hYmxlZCAmJiBoICYmIGMgJiYgKGguc3R5bGUubWFyZ2luVG9wID0gby50cmFuc2xhdGVZICsgInB4IiwgYy5zdHlsZS5tYXJnaW5Ub3AgPSBvLnRyYW5zbGF0ZVkgKyAicHgiKSwgciAmJiAoci5zdHlsZS5tYXJnaW5Ub3AgPSBvLnRyYW5zbGF0ZVkgKyAicHgiKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgZS5wcm90b3R5cGUuYWxpZ25CdXR0b25Hcm91cCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLmNoYXJ0LCBuID0gdGhpcy5idXR0b25Hcm91cCwgbyA9IHRoaXMub3B0aW9ucy5idXR0b25Qb3NpdGlvbiwgciA9IGkucGxvdExlZnQgLSBpLnNwYWNpbmdbM10sIHMgPSBvLnggLSBpLnNwYWNpbmdbM107CiAgICAgICAgICAgICJyaWdodCIgPT09IG8uYWxpZ24gPyBzICs9IHQgLSByIDogImNlbnRlciIgPT09IG8uYWxpZ24gJiYgKHMgLT0gciAvIDIpLCBuICYmIG4uYWxpZ24oewogICAgICAgICAgICAgIHk6IG8ueSwKICAgICAgICAgICAgICB3aWR0aDogXyhlLCB0aGlzLmluaXRpYWxCdXR0b25Hcm91cFdpZHRoKSwKICAgICAgICAgICAgICBhbGlnbjogby5hbGlnbiwKICAgICAgICAgICAgICB4OiBzCiAgICAgICAgICAgIH0sICEwLCBpLnNwYWNpbmdCb3gpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucG9zaXRpb25CdXR0b25zID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5idXR0b25zLCBlID0gdGhpcy5jaGFydCwgaSA9IHRoaXMub3B0aW9ucywgbiA9IHRoaXMuem9vbVRleHQsIG8gPSBlLmhhc0xvYWRlZCA/ICJhbmltYXRlIiA6ICJhdHRyIiwgciA9IGkuYnV0dG9uUG9zaXRpb24sCiAgICAgICAgICAgICAgcyA9IGUucGxvdExlZnQsIGEgPSBzOwogICAgICAgICAgICBuICYmICJoaWRkZW4iICE9PSBuLnZpc2liaWxpdHkgJiYgKG5bb10oeyB4OiBfKHMgKyByLngsIHMpIH0pLCBhICs9IHIueCArIG4uZ2V0QkJveCgpLndpZHRoICsgNSksIHRoaXMuYnV0dG9uT3B0aW9ucy5mb3JFYWNoKChmdW5jdGlvbihlLCBuKSB7CiAgICAgICAgICAgICAgImhpZGRlbiIgIT09IHRbbl0udmlzaWJpbGl0eSA/ICh0W25dW29dKHsgeDogYSB9KSwgYSArPSB0W25dLndpZHRoICsgaS5idXR0b25TcGFjaW5nKSA6IHRbbl1bb10oeyB4OiBzIH0pOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5oYW5kbGVDb2xsaXNpb24gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IHRoaXMuY2hhcnQsIG4gPSB0aGlzLmJ1dHRvbkdyb3VwLCBvID0gdGhpcy5pbnB1dEdyb3VwLCByID0gdGhpcy5vcHRpb25zLCBzID0gci5idXR0b25Qb3NpdGlvbiwgYSA9IHIuZHJvcGRvd24sCiAgICAgICAgICAgICAgaCA9IHIuaW5wdXRQb3NpdGlvbjsKICAgICAgICAgICAgciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciB0ID0gMDsKICAgICAgICAgICAgICByZXR1cm4gZS5idXR0b25zLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUgPSBlLmdldEJCb3goKSwgZS53aWR0aCA+IHQgJiYgKHQgPSBlLndpZHRoKTsKICAgICAgICAgICAgICB9KSksIHQ7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBsID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIGlmIChvICYmIG4pIHsKICAgICAgICAgICAgICAgIHZhciBpID0gby5hbGlnbkF0dHIudHJhbnNsYXRlWCArIG8uYWxpZ25PcHRpb25zLnggLSB0ICsgby5nZXRCQm94KCkueCArIDIsIHIgPSBvLmFsaWduT3B0aW9ucy53aWR0aCwgYSA9IG4uYWxpZ25BdHRyLnRyYW5zbGF0ZVggKyBuLmdldEJCb3goKS54OwogICAgICAgICAgICAgICAgcmV0dXJuIGEgKyBlID4gaSAmJiBpICsgciA+IGEgJiYgcy55IDwgaC55ICsgby5nZXRCQm94KCkuaGVpZ2h0OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gITE7CiAgICAgICAgICAgIH0sIGMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBvICYmIG4gJiYgby5hdHRyKHsKICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVg6IG8uYWxpZ25BdHRyLnRyYW5zbGF0ZVggKyAoaS5heGlzT2Zmc2V0WzFdID49IC10ID8gMCA6IC10KSwKICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVk6IG8uYWxpZ25BdHRyLnRyYW5zbGF0ZVkgKyBuLmdldEJCb3goKS5oZWlnaHQgKyAxMAogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9OwogICAgICAgICAgICBpZiAobikgewogICAgICAgICAgICAgIGlmICgiYWx3YXlzIiA9PT0gYSkgcmV0dXJuIHRoaXMuY29sbGFwc2VCdXR0b25zKHQpLCB2b2lkIChsKHIoKSkgJiYgYygpKTsKICAgICAgICAgICAgICAibmV2ZXIiID09PSBhICYmIHRoaXMuZXhwYW5kQnV0dG9ucygpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG8gJiYgbiA/IGguYWxpZ24gPT09IHMuYWxpZ24gfHwgbCh0aGlzLmluaXRpYWxCdXR0b25Hcm91cFdpZHRoICsgMjApID8gInJlc3BvbnNpdmUiID09PSBhID8gKHRoaXMuY29sbGFwc2VCdXR0b25zKHQpLCBsKHIoKSkgJiYgYygpKSA6IGMoKSA6ICJyZXNwb25zaXZlIiA9PT0gYSAmJiB0aGlzLmV4cGFuZEJ1dHRvbnMoKSA6IG4gJiYgInJlc3BvbnNpdmUiID09PSBhICYmICh0aGlzLmluaXRpYWxCdXR0b25Hcm91cFdpZHRoID4gaS5wbG90V2lkdGggPyB0aGlzLmNvbGxhcHNlQnV0dG9ucyh0KSA6IHRoaXMuZXhwYW5kQnV0dG9ucygpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmNvbGxhcHNlQnV0dG9ucyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmJ1dHRvbnMsIGkgPSB0aGlzLmJ1dHRvbk9wdGlvbnMsIG4gPSB0aGlzLmNoYXJ0LCBvID0gdGhpcy5kcm9wZG93biwgciA9IHRoaXMub3B0aW9ucywgcyA9IHRoaXMuem9vbVRleHQsCiAgICAgICAgICAgICAgYSA9IG4udXNlck9wdGlvbnMucmFuZ2VTZWxlY3RvciAmJiBuLnVzZXJPcHRpb25zLnJhbmdlU2VsZWN0b3IuYnV0dG9uVGhlbWUgfHwge30sIGggPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICB0ZXh0OiB0ID8gdCArICIg4pa+IiA6ICLilr4iLAogICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogXyhyLmJ1dHRvblRoZW1lLnBhZGRpbmdMZWZ0LCBhLnBhZGRpbmcsIDgpLAogICAgICAgICAgICAgICAgICBwYWRkaW5nUmlnaHQ6IF8oci5idXR0b25UaGVtZS5wYWRkaW5nUmlnaHQsIGEucGFkZGluZywgOCkKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgcyAmJiBzLmhpZGUoKTsKICAgICAgICAgICAgdmFyIGwgPSAhMTsKICAgICAgICAgICAgaS5mb3JFYWNoKChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgaSA9IGVbaV0sIDIgIT09IGkuc3RhdGUgPyBpLmhpZGUoKSA6IChpLnNob3coKSwgaS5hdHRyKGgodC50ZXh0KSksIGwgPSAhMCk7CiAgICAgICAgICAgIH0pKSwgbCB8fCAobyAmJiAoby5zZWxlY3RlZEluZGV4ID0gMCksIGVbMF0uc2hvdygpLCBlWzBdLmF0dHIoaCh0aGlzLnpvb21UZXh0ICYmIHRoaXMuem9vbVRleHQudGV4dFN0cikpKSwgaSA9IHIuYnV0dG9uUG9zaXRpb24uYWxpZ24sIHRoaXMucG9zaXRpb25CdXR0b25zKCksICJyaWdodCIgIT09IGkgJiYgImNlbnRlciIgIT09IGkgfHwgdGhpcy5hbGlnbkJ1dHRvbkdyb3VwKHQsIGVbdGhpcy5jdXJyZW50QnV0dG9uSW5kZXgoKV0uZ2V0QkJveCgpLndpZHRoKSwgdGhpcy5zaG93RHJvcGRvd24oKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmV4cGFuZEJ1dHRvbnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmJ1dHRvbnMsIGUgPSB0aGlzLmJ1dHRvbk9wdGlvbnMsIGkgPSB0aGlzLm9wdGlvbnMsIG4gPSB0aGlzLnpvb21UZXh0OwogICAgICAgICAgICB0aGlzLmhpZGVEcm9wZG93bigpLCBuICYmIG4uc2hvdygpLCBlLmZvckVhY2goKGZ1bmN0aW9uKGUsIG4pIHsKICAgICAgICAgICAgICBuID0gdFtuXSwgbi5zaG93KCksIG4uYXR0cih7CiAgICAgICAgICAgICAgICB0ZXh0OiBlLnRleHQsCiAgICAgICAgICAgICAgICB3aWR0aDogaS5idXR0b25UaGVtZS53aWR0aCB8fCAyOCwKICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiBfKGkuYnV0dG9uVGhlbWUucGFkZGluZ0xlZnQsICJ1bnNldCIpLAogICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiBfKGkuYnV0dG9uVGhlbWUucGFkZGluZ1JpZ2h0LCAidW5zZXQiKQogICAgICAgICAgICAgIH0pLCAyID4gbi5zdGF0ZSAmJiBuLnNldFN0YXRlKDApOwogICAgICAgICAgICB9KSksIHRoaXMucG9zaXRpb25CdXR0b25zKCk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5jdXJyZW50QnV0dG9uSW5kZXggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmRyb3Bkb3duOwogICAgICAgICAgICByZXR1cm4gdCAmJiAwIDwgdC5zZWxlY3RlZEluZGV4ID8gdC5zZWxlY3RlZEluZGV4IC0gMSA6IDA7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zaG93RHJvcGRvd24gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmJ1dHRvbkdyb3VwLCBlID0gdGhpcy5idXR0b25zLCBpID0gdGhpcy5jaGFydCwgbiA9IHRoaXMuZHJvcGRvd247CiAgICAgICAgICAgIGlmICh0ICYmIG4pIHsKICAgICAgICAgICAgICB2YXIgbyA9IHQudHJhbnNsYXRlWDsKICAgICAgICAgICAgICB0ID0gdC50cmFuc2xhdGVZLCBlID0gZVt0aGlzLmN1cnJlbnRCdXR0b25JbmRleCgpXS5nZXRCQm94KCksIGMobiwgewogICAgICAgICAgICAgICAgbGVmdDogaS5wbG90TGVmdCArIG8gKyAicHgiLAogICAgICAgICAgICAgICAgdG9wOiB0ICsgLjUgKyAicHgiLAogICAgICAgICAgICAgICAgd2lkdGg6IGUud2lkdGggKyAicHgiLAogICAgICAgICAgICAgICAgaGVpZ2h0OiBlLmhlaWdodCArICJweCIKICAgICAgICAgICAgICB9KSwgdGhpcy5oYXNWaXNpYmxlRHJvcGRvd24gPSAhMDsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaGlkZURyb3Bkb3duID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5kcm9wZG93bjsKICAgICAgICAgICAgdCAmJiAoYyh0LCB7IHRvcDogIi05OTk5ZW0iLCB3aWR0aDogIjFweCIsIGhlaWdodDogIjFweCIgfSksIHRoaXMuaGFzVmlzaWJsZURyb3Bkb3duID0gITEpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0SGVpZ2h0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLCBlID0gdGhpcy5ncm91cCwgaSA9IHQueSwgbiA9IHQuYnV0dG9uUG9zaXRpb24ueSwgbyA9IHQuaW5wdXRQb3NpdGlvbi55OwogICAgICAgICAgICByZXR1cm4gdC5oZWlnaHQgPyB0LmhlaWdodCA6ICh0aGlzLmFsaWduRWxlbWVudHMoKSwgdCA9IGUgPyBlLmdldEJCb3goITApLmhlaWdodCArIDEzICsgaSA6IDAsIGUgPSBNYXRoLm1pbihvLCBuKSwgKDAgPiBvICYmIDAgPiBuIHx8IDAgPCBvICYmIDAgPCBuKSAmJiAodCArPSBNYXRoLmFicyhlKSksIHQpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudGl0bGVDb2xsaXNpb24gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiAhKHQub3B0aW9ucy50aXRsZS50ZXh0IHx8IHQub3B0aW9ucy5zdWJ0aXRsZS50ZXh0KTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNoYXJ0OwogICAgICAgICAgICB2KCEwLCBlLm9wdGlvbnMucmFuZ2VTZWxlY3RvciwgdCksIHRoaXMuZGVzdHJveSgpLCB0aGlzLmluaXQoZSksIHRoaXMucmVuZGVyKCk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcywgaSA9IHQubWluSW5wdXQsIG4gPSB0Lm1heElucHV0OwogICAgICAgICAgICB0LmV2ZW50c1RvVW5iaW5kICYmICh0LmV2ZW50c1RvVW5iaW5kLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdCgpOwogICAgICAgICAgICB9KSksIHQuZXZlbnRzVG9VbmJpbmQgPSB2b2lkIDApLCBkKHQuYnV0dG9ucyksIGkgJiYgKGkub25mb2N1cyA9IGkub25ibHVyID0gaS5vbmNoYW5nZSA9IG51bGwpLCBuICYmIChuLm9uZm9jdXMgPSBuLm9uYmx1ciA9IG4ub25jaGFuZ2UgPSBudWxsKSwgeCh0LCAoZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgICAgIGkgJiYgImNoYXJ0IiAhPT0gbiAmJiAoaSBpbnN0YW5jZW9mIG8gPyBpLmRlc3Ryb3koKSA6IGkgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQgJiYgdShpKSksIGkgIT09IGUucHJvdG90eXBlW25dICYmICh0W25dID0gbnVsbCk7CiAgICAgICAgICAgIH0pLCB0aGlzKTsKICAgICAgICAgIH0sIGU7CiAgICAgICAgfSgpOwogICAgICAgIGlmIChTLnByb3RvdHlwZS5kZWZhdWx0QnV0dG9ucyA9IFt7IHR5cGU6ICJtb250aCIsIGNvdW50OiAxLCB0ZXh0OiAiMW0iLCB0aXRsZTogIlZpZXcgMSBtb250aCIgfSwgewogICAgICAgICAgdHlwZTogIm1vbnRoIiwKICAgICAgICAgIGNvdW50OiAzLAogICAgICAgICAgdGV4dDogIjNtIiwKICAgICAgICAgIHRpdGxlOiAiVmlldyAzIG1vbnRocyIKICAgICAgICB9LCB7IHR5cGU6ICJtb250aCIsIGNvdW50OiA2LCB0ZXh0OiAiNm0iLCB0aXRsZTogIlZpZXcgNiBtb250aHMiIH0sIHsgdHlwZTogInl0ZCIsIHRleHQ6ICJZVEQiLCB0aXRsZTogIlZpZXcgeWVhciB0byBkYXRlIiB9LCB7CiAgICAgICAgICB0eXBlOiAieWVhciIsCiAgICAgICAgICBjb3VudDogMSwKICAgICAgICAgIHRleHQ6ICIxeSIsCiAgICAgICAgICB0aXRsZTogIlZpZXcgMSB5ZWFyIgogICAgICAgIH0sIHsgdHlwZTogImFsbCIsIHRleHQ6ICJBbGwiLCB0aXRsZTogIlZpZXcgYWxsIiB9XSwgUy5wcm90b3R5cGUuaW5wdXRUeXBlRm9ybWF0cyA9IHsKICAgICAgICAgICJkYXRldGltZS1sb2NhbCI6ICIlWS0lbS0lZFQlSDolTTolUyIsCiAgICAgICAgICBkYXRlOiAiJVktJW0tJWQiLAogICAgICAgICAgdGltZTogIiVIOiVNOiVTIgogICAgICAgIH0sIHQucHJvdG90eXBlLm1pbkZyb21SYW5nZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSB0aGlzLnJhbmdlLCBlID0gdC50eXBlLCBpID0gdGhpcy5tYXgsIG4gPSB0aGlzLmNoYXJ0LnRpbWUsIG8gPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgIHZhciBvID0gInllYXIiID09PSBlID8gIkZ1bGxZZWFyIiA6ICJNb250aCIsIHIgPSBuZXcgbi5EYXRlKHQpLCBzID0gbi5nZXQobywgcik7CiAgICAgICAgICAgIHJldHVybiBuLnNldChvLCByLCBzICsgaSksIHMgPT09IG4uZ2V0KG8sIHIpICYmIG4uc2V0KCJEYXRlIiwgciwgMCksIHIuZ2V0VGltZSgpIC0gdDsKICAgICAgICAgIH07CiAgICAgICAgICBpZiAoeSh0KSkgdmFyIHIgPSBpIC0gdCwgcyA9IHQ7IGVsc2UgciA9IGkgKyBvKGksIC10LmNvdW50KSwgdGhpcy5jaGFydCAmJiAodGhpcy5jaGFydC5maXhlZFJhbmdlID0gaSAtIHIpOwogICAgICAgICAgdmFyIGEgPSBfKHRoaXMuZGF0YU1pbiwgTnVtYmVyLk1JTl9WQUxVRSk7CiAgICAgICAgICByZXR1cm4geShyKSB8fCAociA9IGEpLCByIDw9IGEgJiYgKHIgPSBhLCAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHMgJiYgKHMgPSBvKHIsIHQuY291bnQpKSwgdGhpcy5uZXdNYXggPSBNYXRoLm1pbihyICsgcywgdGhpcy5kYXRhTWF4KSksIHkoaSkgfHwgKHIgPSB2b2lkIDApLCByOwogICAgICAgIH0sICFpLlJhbmdlU2VsZWN0b3IpIHsKICAgICAgICAgIHZhciBDID0gW10sIE0gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGUoKSB7CiAgICAgICAgICAgICAgcyAmJiAoaSA9IHQueEF4aXNbMF0uZ2V0RXh0cmVtZXMoKSwgbiA9IHQubGVnZW5kLCByID0gcyAmJiBzLm9wdGlvbnMudmVydGljYWxBbGlnbiwgeShpLm1pbikgJiYgcy5yZW5kZXIoaS5taW4sIGkubWF4KSwgbi5kaXNwbGF5ICYmICJ0b3AiID09PSByICYmIHIgPT09IG4ub3B0aW9ucy52ZXJ0aWNhbEFsaWduICYmIChvID0gdih0LnNwYWNpbmdCb3gpLCBvLnkgPSAidmVydGljYWwiID09PSBuLm9wdGlvbnMubGF5b3V0ID8gdC5wbG90VG9wIDogby55ICsgcy5nZXRIZWlnaHQoKSwgbi5ncm91cC5wbGFjZWQgPSAhMSwgbi5hbGlnbihvKSkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgaSwgbiwgbywgciwgcyA9IHQucmFuZ2VTZWxlY3RvcjsKICAgICAgICAgICAgcyAmJiAoZyhDLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHJldHVybiBlWzBdID09PSB0OwogICAgICAgICAgICB9KSkgfHwgQy5wdXNoKFt0LCBbaCh0LnhBeGlzWzBdLCAiYWZ0ZXJTZXRFeHRyZW1lcyIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcyAmJiBzLnJlbmRlcih0Lm1pbiwgdC5tYXgpOwogICAgICAgICAgICB9KSksIGgodCwgInJlZHJhdyIsIGUpXV0pLCBlKCkpOwogICAgICAgICAgfTsKICAgICAgICAgIGgoZSwgImFmdGVyR2V0Q29udGFpbmVyIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLm9wdGlvbnMucmFuZ2VTZWxlY3RvciAmJiB0aGlzLm9wdGlvbnMucmFuZ2VTZWxlY3Rvci5lbmFibGVkICYmICh0aGlzLnJhbmdlU2VsZWN0b3IgPSBuZXcgUyh0aGlzKSk7CiAgICAgICAgICB9KSksIGgoZSwgImJlZm9yZVJlbmRlciIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmF4ZXMsIGUgPSB0aGlzLnJhbmdlU2VsZWN0b3I7CiAgICAgICAgICAgIGUgJiYgKHkoZS5kZWZlcnJlZFlURENsaWNrKSAmJiAoZS5jbGlja0J1dHRvbihlLmRlZmVycmVkWVREQ2xpY2spLCBkZWxldGUgZS5kZWZlcnJlZFlURENsaWNrKSwgdC5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdC51cGRhdGVOYW1lcygpLCB0LnNldFNjYWxlKCk7CiAgICAgICAgICAgIH0pKSwgdGhpcy5nZXRBeGlzTWFyZ2lucygpLCBlLnJlbmRlcigpLCB0ID0gZS5vcHRpb25zLnZlcnRpY2FsQWxpZ24sIGUub3B0aW9ucy5mbG9hdGluZyB8fCAoImJvdHRvbSIgPT09IHQgPyB0aGlzLmV4dHJhQm90dG9tTWFyZ2luID0gITAgOiAibWlkZGxlIiAhPT0gdCAmJiAodGhpcy5leHRyYVRvcE1hcmdpbiA9ICEwKSkpOwogICAgICAgICAgfSkpLCBoKGUsICJ1cGRhdGUiLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHQub3B0aW9ucy5yYW5nZVNlbGVjdG9yOwogICAgICAgICAgICB0ID0gdGhpcy5yYW5nZVNlbGVjdG9yOwogICAgICAgICAgICB2YXIgaSA9IHRoaXMuZXh0cmFCb3R0b21NYXJnaW4sIG4gPSB0aGlzLmV4dHJhVG9wTWFyZ2luOwogICAgICAgICAgICBlICYmIGUuZW5hYmxlZCAmJiAhcCh0KSAmJiB0aGlzLm9wdGlvbnMucmFuZ2VTZWxlY3RvciAmJiAodGhpcy5vcHRpb25zLnJhbmdlU2VsZWN0b3IuZW5hYmxlZCA9ICEwLCB0aGlzLnJhbmdlU2VsZWN0b3IgPSB0ID0gbmV3IFModGhpcykpLCB0aGlzLmV4dHJhVG9wTWFyZ2luID0gdGhpcy5leHRyYUJvdHRvbU1hcmdpbiA9ICExLCB0ICYmIChNKHRoaXMpLCBlID0gZSAmJiBlLnZlcnRpY2FsQWxpZ24gfHwgdC5vcHRpb25zICYmIHQub3B0aW9ucy52ZXJ0aWNhbEFsaWduLCB0Lm9wdGlvbnMuZmxvYXRpbmcgfHwgKCJib3R0b20iID09PSBlID8gdGhpcy5leHRyYUJvdHRvbU1hcmdpbiA9ICEwIDogIm1pZGRsZSIgIT09IGUgJiYgKHRoaXMuZXh0cmFUb3BNYXJnaW4gPSAhMCkpLCB0aGlzLmV4dHJhQm90dG9tTWFyZ2luICE9PSBpIHx8IHRoaXMuZXh0cmFUb3BNYXJnaW4gIT09IG4pICYmICh0aGlzLmlzRGlydHlCb3ggPSAhMCk7CiAgICAgICAgICB9KSksIGgoZSwgInJlbmRlciIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnJhbmdlU2VsZWN0b3I7CiAgICAgICAgICAgIHQgJiYgIXQub3B0aW9ucy5mbG9hdGluZyAmJiAodC5yZW5kZXIoKSwgdCA9IHQub3B0aW9ucy52ZXJ0aWNhbEFsaWduLCAiYm90dG9tIiA9PT0gdCA/IHRoaXMuZXh0cmFCb3R0b21NYXJnaW4gPSAhMCA6ICJtaWRkbGUiICE9PSB0ICYmICh0aGlzLmV4dHJhVG9wTWFyZ2luID0gITApKTsKICAgICAgICAgIH0pKSwgaChlLCAiZ2V0TWFyZ2lucyIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnJhbmdlU2VsZWN0b3I7CiAgICAgICAgICAgIHQgJiYgKHQgPSB0LmdldEhlaWdodCgpLCB0aGlzLmV4dHJhVG9wTWFyZ2luICYmICh0aGlzLnBsb3RUb3AgKz0gdCksIHRoaXMuZXh0cmFCb3R0b21NYXJnaW4gJiYgKHRoaXMubWFyZ2luQm90dG9tICs9IHQpKTsKICAgICAgICAgIH0pKSwgZS5wcm90b3R5cGUuY2FsbGJhY2tzLnB1c2goTSksIGgoZSwgImRlc3Ryb3kiLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZvciAodmFyIHQgPSAwOyB0IDwgQy5sZW5ndGg7IHQrKykgewogICAgICAgICAgICAgIHZhciBlID0gQ1t0XTsKICAgICAgICAgICAgICBpZiAoZVswXSA9PT0gdGhpcykgewogICAgICAgICAgICAgICAgZVsxXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiB0KCk7CiAgICAgICAgICAgICAgICB9KSksIEMuc3BsaWNlKHQsIDEpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KSksIGkuUmFuZ2VTZWxlY3RvciA9IFM7CiAgICAgICAgfQogICAgICAgIHJldHVybiBTOwogICAgICB9KSksIGUoaSwgIkNvcmUvQ2hhcnQvU3RvY2tDaGFydC5qcyIsIFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9BeGlzL0F4aXMuanMiXSwgaVsiQ29yZS9DaGFydC9DaGFydC5qcyJdLCBpWyJDb3JlL0Zvcm1hdFV0aWxpdGllcy5qcyJdLCBpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0sIGlbIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdSZW5kZXJlci5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIsIHMsIGEpIHsKICAgICAgICBmdW5jdGlvbiBoKHQsIGUpIHsKICAgICAgICAgIHJldHVybiAieEF4aXMiID09PSB0ID8gewogICAgICAgICAgICBtaW5QYWRkaW5nOiAwLAogICAgICAgICAgICBtYXhQYWRkaW5nOiAwLAogICAgICAgICAgICBvdmVyc2Nyb2xsOiAwLAogICAgICAgICAgICBvcmRpbmFsOiAhMCwKICAgICAgICAgICAgdGl0bGU6IHsgdGV4dDogbnVsbCB9LAogICAgICAgICAgICBsYWJlbHM6IHsgb3ZlcmZsb3c6ICJqdXN0aWZ5IiB9LAogICAgICAgICAgICBzaG93TGFzdExhYmVsOiAhMAogICAgICAgICAgfSA6ICJ5QXhpcyIgPT09IHQgPyB7CiAgICAgICAgICAgIGxhYmVsczogeyB5OiAtMiB9LAogICAgICAgICAgICBvcHBvc2l0ZTogYihlLm9wcG9zaXRlLCAhMCksCiAgICAgICAgICAgIHNob3dMYXN0TGFiZWw6ICEoIWUuY2F0ZWdvcmllcyAmJiAiY2F0ZWdvcnkiICE9PSBlLnR5cGUpLAogICAgICAgICAgICB0aXRsZTogeyB0ZXh0OiBudWxsIH0KICAgICAgICAgIH0gOiB7fTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGwodCwgZSkgewogICAgICAgICAgaWYgKCJ4QXhpcyIgPT09IHQpIHsKICAgICAgICAgICAgdCA9IGQoKTsKICAgICAgICAgICAgdmFyIGkgPSB7IHR5cGU6ICJkYXRldGltZSIsIGNhdGVnb3JpZXM6IHZvaWQgMCB9OwogICAgICAgICAgICByZXR1cm4gYihlLm5hdmlnYXRvciAmJiBlLm5hdmlnYXRvci5lbmFibGVkLCB0Lm5hdmlnYXRvci5lbmFibGVkLCAhMCkgJiYgKGkuc3RhcnRPblRpY2sgPSAhMSwgaS5lbmRPblRpY2sgPSAhMSksIGk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgfQoKICAgICAgICB2YXIgYyA9IHRoaXMgJiYgdGhpcy5fX2V4dGVuZHMgfHwgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgdCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5fX3Byb3RvX18gPSBlOwogICAgICAgICAgICB9IHx8IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUpIGUuaGFzT3duUHJvcGVydHkoaSkgJiYgKHRbaV0gPSBlW2ldKTsKICAgICAgICAgICAgfSwgdChlLCBpKTsKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBmdW5jdGlvbiBuKCkgewogICAgICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0KGUsIGkpLCBlLnByb3RvdHlwZSA9IG51bGwgPT09IGkgPyBPYmplY3QuY3JlYXRlKGkpIDogKG4ucHJvdG90eXBlID0gaS5wcm90b3R5cGUsIG5ldyBuKTsKICAgICAgICAgIH07CiAgICAgICAgfSgpLCBwID0gbi5mb3JtYXQsIGQgPSBvLmdldE9wdGlvbnM7CiAgICAgICAgdCA9IGEuYWRkRXZlbnQ7CiAgICAgICAgdmFyIHUgPSBhLmNsYW1wLCBmID0gYS5kZWZpbmVkLCBnID0gYS5leHRlbmQsIG0gPSBhLmZpbmQsIHkgPSBhLmlzTnVtYmVyLCB2ID0gYS5pc1N0cmluZywgeCA9IGEubWVyZ2UsIGIgPSBhLnBpY2ssIF8gPSBhLnNwbGF0OwogICAgICAgIHJldHVybiBhID0gZnVuY3Rpb24odCkgewogICAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGwgIT09IHQgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGMoZSwgdCksIGUucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gZCgpLCBvID0gZS54QXhpcywgciA9IGUueUF4aXMsIHMgPSBiKGUubmF2aWdhdG9yICYmIGUubmF2aWdhdG9yLmVuYWJsZWQsIG4ubmF2aWdhdG9yLmVuYWJsZWQsICEwKTsKICAgICAgICAgICAgZS54QXhpcyA9IGUueUF4aXMgPSB2b2lkIDAsIHMgPSB4KHsKICAgICAgICAgICAgICBjaGFydDogeyBwYW5uaW5nOiB7IGVuYWJsZWQ6ICEwLCB0eXBlOiAieCIgfSwgcGluY2hUeXBlOiAieCIgfSwKICAgICAgICAgICAgICBuYXZpZ2F0b3I6IHsgZW5hYmxlZDogcyB9LAogICAgICAgICAgICAgIHNjcm9sbGJhcjogeyBlbmFibGVkOiBiKG4uc2Nyb2xsYmFyICYmIG4uc2Nyb2xsYmFyLmVuYWJsZWQsICEwKSB9LAogICAgICAgICAgICAgIHJhbmdlU2VsZWN0b3I6IHsgZW5hYmxlZDogYihuLnJhbmdlU2VsZWN0b3IuZW5hYmxlZCwgITApIH0sCiAgICAgICAgICAgICAgdGl0bGU6IHsgdGV4dDogbnVsbCB9LAogICAgICAgICAgICAgIHRvb2x0aXA6IHsgc3BsaXQ6IGIobi50b29sdGlwLnNwbGl0LCAhMCksIGNyb3NzaGFpcnM6ICEwIH0sCiAgICAgICAgICAgICAgbGVnZW5kOiB7IGVuYWJsZWQ6ICExIH0KICAgICAgICAgICAgfSwgZSwgeyBpc1N0b2NrOiAhMCB9KSwgZS54QXhpcyA9IG8sIGUueUF4aXMgPSByLCBzLnhBeGlzID0gXyhlLnhBeGlzIHx8IHt9KS5tYXAoKGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgICByZXR1cm4geChoKCJ4QXhpcyIsIHQpLCBuLnhBeGlzLCBuLnhBeGlzICYmIG4ueEF4aXNbaV0sIHQsIGwoInhBeGlzIiwgZSkpOwogICAgICAgICAgICB9KSksIHMueUF4aXMgPSBfKGUueUF4aXMgfHwge30pLm1hcCgoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHJldHVybiB4KGgoInlBeGlzIiwgdCksIG4ueUF4aXMsIG4ueUF4aXMgJiYgbi55QXhpc1tlXSwgdCk7CiAgICAgICAgICAgIH0pKSwgdC5wcm90b3R5cGUuaW5pdC5jYWxsKHRoaXMsIHMsIGkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuY3JlYXRlQXhpcyA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIGkuYXhpcyA9IHgoaChlLCBpLmF4aXMpLCBpLmF4aXMsIGwoZSwgdGhpcy51c2VyT3B0aW9ucykpLCB0LnByb3RvdHlwZS5jcmVhdGVBeGlzLmNhbGwodGhpcywgZSwgaSk7CiAgICAgICAgICB9LCBlOwogICAgICAgIH0oaSksIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHQuc3RvY2tDaGFydCA9IGZ1bmN0aW9uKGUsIGksIG4pIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyB0KGUsIGksIG4pOwogICAgICAgICAgfTsKICAgICAgICB9KGEgfHwgKGEgPSB7fSkpLCB0KHIsICJzZXRPcHRpb25zIiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHZhciBlOwogICAgICAgICAgdGhpcy5jaGFydC5vcHRpb25zLmlzU3RvY2sgJiYgKHRoaXMuaXMoImNvbHVtbiIpIHx8IHRoaXMuaXMoImNvbHVtbnJhbmdlIikgPyBlID0gewogICAgICAgICAgICBib3JkZXJXaWR0aDogMCwKICAgICAgICAgICAgc2hhZG93OiAhMQogICAgICAgICAgfSA6IHRoaXMuaXMoInNjYXR0ZXIiKSB8fCB0aGlzLmlzKCJzbWEiKSB8fCAoZSA9IHsKICAgICAgICAgICAgbWFya2VyOiB7CiAgICAgICAgICAgICAgZW5hYmxlZDogITEsCiAgICAgICAgICAgICAgcmFkaXVzOiAyCiAgICAgICAgICAgIH0KICAgICAgICAgIH0pLCBlICYmICh0LnBsb3RPcHRpb25zW3RoaXMudHlwZV0gPSB4KHQucGxvdE9wdGlvbnNbdGhpcy50eXBlXSwgZSkpKTsKICAgICAgICB9KSksIHQoZSwgImF1dG9MYWJlbEFsaWduIiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHZhciBlID0gdGhpcy5jaGFydCwgaSA9IHRoaXMub3B0aW9uczsKICAgICAgICAgIGUgPSBlLl9sYWJlbFBhbmVzID0gZS5fbGFiZWxQYW5lcyB8fCB7fTsKICAgICAgICAgIHZhciBuID0gdGhpcy5vcHRpb25zLmxhYmVsczsKICAgICAgICAgIHRoaXMuY2hhcnQub3B0aW9ucy5pc1N0b2NrICYmICJ5QXhpcyIgPT09IHRoaXMuY29sbCAmJiAoaSA9IGkudG9wICsgIiwiICsgaS5oZWlnaHQsICFlW2ldICYmIG4uZW5hYmxlZCAmJiAoMTUgPT09IG4ueCAmJiAobi54ID0gMCksICJ1bmRlZmluZWQiID09PSB0eXBlb2Ygbi5hbGlnbiAmJiAobi5hbGlnbiA9ICJyaWdodCIpLCBlW2ldID0gdGhpcywgdC5hbGlnbiA9ICJyaWdodCIsIHQucHJldmVudERlZmF1bHQoKSkpOwogICAgICAgIH0pKSwgdChlLCAiZGVzdHJveSIsIChmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gdGhpcy5jaGFydCwgZSA9IHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMudG9wICsgIiwiICsgdGhpcy5vcHRpb25zLmhlaWdodDsKICAgICAgICAgIGUgJiYgdC5fbGFiZWxQYW5lcyAmJiB0Ll9sYWJlbFBhbmVzW2VdID09PSB0aGlzICYmIGRlbGV0ZSB0Ll9sYWJlbFBhbmVzW2VdOwogICAgICAgIH0pKSwgdChlLCAiZ2V0UGxvdExpbmVQYXRoIiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUodCkgewogICAgICAgICAgICB2YXIgZSA9ICJ4QXhpcyIgPT09IHQgPyAieUF4aXMiIDogInhBeGlzIjsKICAgICAgICAgICAgcmV0dXJuIHQgPSBzLm9wdGlvbnNbZV0sIHkodCkgPyBbaFtlXVt0XV0gOiB2KHQpID8gW2guZ2V0KHQpXSA6IGEubWFwKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHRbZV07CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgaSwgbiwgbywgciwgcyA9IHRoaXMsIGEgPSB0aGlzLmlzTGlua2VkICYmICF0aGlzLnNlcmllcyA/IHRoaXMubGlua2VkUGFyZW50LnNlcmllcyA6IHRoaXMuc2VyaWVzLCBoID0gcy5jaGFydCwgbCA9IGgucmVuZGVyZXIsIGMgPSBzLmxlZnQsCiAgICAgICAgICAgIHAgPSBzLnRvcCwgZCA9IFtdLCBnID0gW10sIHggPSB0LnRyYW5zbGF0ZWRWYWx1ZSwgXyA9IHQudmFsdWUsIHcgPSB0LmZvcmNlOwogICAgICAgICAgaWYgKGgub3B0aW9ucy5pc1N0b2NrICYmICExICE9PSB0LmFjcm9zc1BhbmVzICYmICJ4QXhpcyIgPT09IHMuY29sbCB8fCAieUF4aXMiID09PSBzLmNvbGwpIHsKICAgICAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpLCBnID0gZShzLmNvbGwpOwogICAgICAgICAgICB2YXIgayA9IHMuaXNYQXhpcyA/IGgueUF4aXMgOiBoLnhBeGlzOwogICAgICAgICAgICBrLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBpZiAoIWYodC5vcHRpb25zLmlkKSB8fCAtMSA9PT0gdC5vcHRpb25zLmlkLmluZGV4T2YoIm5hdmlnYXRvciIpKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHQuaXNYQXhpcyA/ICJ5QXhpcyIgOiAieEF4aXMiOwogICAgICAgICAgICAgICAgZSA9IGYodC5vcHRpb25zW2VdKSA/IGhbZV1bdC5vcHRpb25zW2VdXSA6IGhbZV1bMF0sIHMgPT09IGUgJiYgZy5wdXNoKHQpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB2YXIgUyA9IGcubGVuZ3RoID8gW10gOiBbcy5pc1hBeGlzID8gaC55QXhpc1swXSA6IGgueEF4aXNbMF1dOwogICAgICAgICAgICBnLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAtMSAhPT0gUy5pbmRleE9mKHQpIHx8IG0oUywgKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBlLnBvcyA9PT0gdC5wb3MgJiYgZS5sZW4gPT09IHQubGVuOwogICAgICAgICAgICAgIH0pKSB8fCBTLnB1c2godCk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgdmFyIEMgPSBiKHgsIHMudHJhbnNsYXRlKF8sIG51bGwsIG51bGwsIHQub2xkKSk7CiAgICAgICAgICAgIHkoQykgJiYgKHMuaG9yaXogPyBTLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2YXIgZTsKICAgICAgICAgICAgICBuID0gdC5wb3MsIHIgPSBuICsgdC5sZW4sIGkgPSBvID0gTWF0aC5yb3VuZChDICsgcy50cmFuc0IpLCAicGFzcyIgIT09IHcgJiYgKGkgPCBjIHx8IGkgPiBjICsgcy53aWR0aCkgJiYgKHcgPyBpID0gbyA9IHUoaSwgYywgYyArIHMud2lkdGgpIDogZSA9ICEwKSwgZSB8fCBkLnB1c2goWyJNIiwgaSwgbl0sIFsiTCIsIG8sIHJdKTsKICAgICAgICAgICAgfSkpIDogUy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGU7CiAgICAgICAgICAgICAgaSA9IHQucG9zLCBvID0gaSArIHQubGVuLCBuID0gciA9IE1hdGgucm91bmQocCArIHMuaGVpZ2h0IC0gQyksICJwYXNzIiAhPT0gdyAmJiAobiA8IHAgfHwgbiA+IHAgKyBzLmhlaWdodCkgJiYgKHcgPyBuID0gciA9IHUobiwgcCwgcCArIHMuaGVpZ2h0KSA6IGUgPSAhMCksIGUgfHwgZC5wdXNoKFsiTSIsIGksIG5dLCBbIkwiLCBvLCByXSk7CiAgICAgICAgICAgIH0pKSksIHQucGF0aCA9IDAgPCBkLmxlbmd0aCA/IGwuY3Jpc3BQb2x5TGluZShkLCB0LmxpbmVXaWR0aCB8fCAxKSA6IG51bGw7CiAgICAgICAgICB9CiAgICAgICAgfSkpLCBzLnByb3RvdHlwZS5jcmlzcFBvbHlMaW5lID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSArPSAyKSB7CiAgICAgICAgICAgIHZhciBuID0gdFtpXSwgbyA9IHRbaSArIDFdOwogICAgICAgICAgICBuWzFdID09PSBvWzFdICYmIChuWzFdID0gb1sxXSA9IE1hdGgucm91bmQoblsxXSkgLSBlICUgMiAvIDIpLCBuWzJdID09PSBvWzJdICYmIChuWzJdID0gb1syXSA9IE1hdGgucm91bmQoblsyXSkgKyBlICUgMiAvIDIpOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgfSwgdChlLCAiYWZ0ZXJIaWRlQ3Jvc3NoYWlyIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgdGhpcy5jcm9zc0xhYmVsICYmICh0aGlzLmNyb3NzTGFiZWwgPSB0aGlzLmNyb3NzTGFiZWwuaGlkZSgpKTsKICAgICAgICB9KSksIHQoZSwgImFmdGVyRHJhd0Nyb3NzaGFpciIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICB2YXIgZSwgaTsKICAgICAgICAgIGlmICh0aGlzLmNyb3NzaGFpciAmJiB0aGlzLmNyb3NzaGFpci5sYWJlbCAmJiB0aGlzLmNyb3NzaGFpci5sYWJlbC5lbmFibGVkICYmIHRoaXMuY3Jvc3MgJiYgeSh0aGlzLm1pbikgJiYgeSh0aGlzLm1heCkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmNoYXJ0LCBvID0gdGhpcy5sb2dhcml0aG1pYywgciA9IHRoaXMuY3Jvc3NoYWlyLmxhYmVsLCBzID0gdGhpcy5ob3JpeiwgYSA9IHRoaXMub3Bwb3NpdGUsIGggPSB0aGlzLmxlZnQsIGwgPSB0aGlzLnRvcCwKICAgICAgICAgICAgICBjID0gdGhpcy5jcm9zc0xhYmVsLCBkID0gci5mb3JtYXQsIHUgPSAiIiwgZiA9ICJpbnNpZGUiID09PSB0aGlzLm9wdGlvbnMudGlja1Bvc2l0aW9uLCBtID0gITEgIT09IHRoaXMuY3Jvc3NoYWlyLnNuYXAsIHYgPSAwLAogICAgICAgICAgICAgIHggPSB0LmUgfHwgdGhpcy5jcm9zcyAmJiB0aGlzLmNyb3NzLmU7CiAgICAgICAgICAgIHQgPSB0LnBvaW50OwogICAgICAgICAgICB2YXIgXyA9IHRoaXMubWluLCB3ID0gdGhpcy5tYXg7CiAgICAgICAgICAgIG8gJiYgKF8gPSBvLmxpbjJsb2coXyksIHcgPSBvLmxpbjJsb2codykpLCBvID0gcyA/ICJjZW50ZXIiIDogYSA/ICJyaWdodCIgPT09IHRoaXMubGFiZWxBbGlnbiA/ICJyaWdodCIgOiAibGVmdCIgOiAibGVmdCIgPT09IHRoaXMubGFiZWxBbGlnbiA/ICJsZWZ0IiA6ICJjZW50ZXIiLCBjIHx8IChjID0gdGhpcy5jcm9zc0xhYmVsID0gbi5yZW5kZXJlci5sYWJlbCgiIiwgMCwgdm9pZCAwLCByLnNoYXBlIHx8ICJjYWxsb3V0IikuYWRkQ2xhc3MoImhpZ2hjaGFydHMtY3Jvc3NoYWlyLWxhYmVsIGhpZ2hjaGFydHMtY29sb3ItIiArICh0ID8gdC5zZXJpZXMuY29sb3JJbmRleCA6IHRoaXMuc2VyaWVzWzBdICYmIHRoaXMuc2VyaWVzWzBdLmNvbG9ySW5kZXgpKS5hdHRyKHsKICAgICAgICAgICAgICBhbGlnbjogci5hbGlnbiB8fCBvLAogICAgICAgICAgICAgIHBhZGRpbmc6IGIoci5wYWRkaW5nLCA4KSwKICAgICAgICAgICAgICByOiBiKHIuYm9yZGVyUmFkaXVzLCAzKSwKICAgICAgICAgICAgICB6SW5kZXg6IDIKICAgICAgICAgICAgfSkuYWRkKHRoaXMubGFiZWxHcm91cCksIG4uc3R5bGVkTW9kZSB8fCBjLmF0dHIoewogICAgICAgICAgICAgIGZpbGw6IHIuYmFja2dyb3VuZENvbG9yIHx8IHQgJiYgdC5zZXJpZXMgJiYgdC5zZXJpZXMuY29sb3IgfHwgIiM2NjY2NjYiLAogICAgICAgICAgICAgIHN0cm9rZTogci5ib3JkZXJDb2xvciB8fCAiIiwKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogci5ib3JkZXJXaWR0aCB8fCAwCiAgICAgICAgICAgIH0pLmNzcyhnKHsKICAgICAgICAgICAgICBjb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgIGZvbnRTaXplOiAiMTFweCIsCiAgICAgICAgICAgICAgdGV4dEFsaWduOiAiY2VudGVyIgogICAgICAgICAgICB9LCByLnN0eWxlIHx8IHt9KSkpLCBzID8gKG8gPSBtID8gKHQucGxvdFggfHwgMCkgKyBoIDogeC5jaGFydFgsIGwgKz0gYSA/IDAgOiB0aGlzLmhlaWdodCkgOiAobyA9IGEgPyB0aGlzLndpZHRoICsgaCA6IDAsIGwgPSBtID8gKHQucGxvdFkgfHwgMCkgKyBsIDogeC5jaGFydFkpLCBkIHx8IHIuZm9ybWF0dGVyIHx8ICh0aGlzLmRhdGVUaW1lICYmICh1ID0gIiViICVkLCAlWSIpLCBkID0gInt2YWx1ZSIgKyAodSA/ICI6IiArIHUgOiAiIikgKyAifSIpLCB1ID0gbSA/IHRoaXMuaXNYQXhpcyA/IHQueCA6IHQueSA6IHRoaXMudG9WYWx1ZShzID8geC5jaGFydFggOiB4LmNoYXJ0WSksIG0gPSB0ID8gdC5zZXJpZXMuaXNQb2ludEluc2lkZSh0KSA6IHkodSkgJiYgdSA+IF8gJiYgdSA8IHcsIHggPSAiIiwgZCA/IHggPSBwKGQsIHsgdmFsdWU6IHUgfSwgbikgOiByLmZvcm1hdHRlciAmJiB5KHUpICYmICh4ID0gci5mb3JtYXR0ZXIuY2FsbCh0aGlzLCB1KSksIGMuYXR0cih7CiAgICAgICAgICAgICAgdGV4dDogeCwKICAgICAgICAgICAgICB4OiBvLAogICAgICAgICAgICAgIHk6IGwsCiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogbSA/ICJ2aXNpYmxlIiA6ICJoaWRkZW4iCiAgICAgICAgICAgIH0pLCByID0gYy5nZXRCQm94KCksIHkoYy55KSAmJiAocyA/IChmICYmICFhIHx8ICFmICYmIGEpICYmIChsID0gYy55IC0gci5oZWlnaHQpIDogbCA9IGMueSAtIHIuaGVpZ2h0IC8gMiksIHMgPyAoZSA9IGggLSByLngsIGkgPSBoICsgdGhpcy53aWR0aCAtIHIueCkgOiAoZSA9ICJsZWZ0IiA9PT0gdGhpcy5sYWJlbEFsaWduID8gaCA6IDAsIGkgPSAicmlnaHQiID09PSB0aGlzLmxhYmVsQWxpZ24gPyBoICsgdGhpcy53aWR0aCA6IG4uY2hhcnRXaWR0aCksIGMudHJhbnNsYXRlWCA8IGUgJiYgKHYgPSBlIC0gYy50cmFuc2xhdGVYKSwgYy50cmFuc2xhdGVYICsgci53aWR0aCA+PSBpICYmICh2ID0gLShjLnRyYW5zbGF0ZVggKyByLndpZHRoIC0gaSkpLCBjLmF0dHIoewogICAgICAgICAgICAgIHg6IG8gKyB2LAogICAgICAgICAgICAgIHk6IGwsCiAgICAgICAgICAgICAgYW5jaG9yWDogcyA/IG8gOiB0aGlzLm9wcG9zaXRlID8gMCA6IG4uY2hhcnRXaWR0aCwKICAgICAgICAgICAgICBhbmNob3JZOiBzID8gdGhpcy5vcHBvc2l0ZSA/IG4uY2hhcnRIZWlnaHQgOiAwIDogbCArIHIuaGVpZ2h0IC8gMgogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9KSksIHIucHJvdG90eXBlLmZvcmNlQ3JvcHBpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gdGhpcy5jaGFydCwgZSA9IHRoaXMub3B0aW9ucy5kYXRhR3JvdXBpbmc7CiAgICAgICAgICByZXR1cm4gITEgIT09IHRoaXMuYWxsb3dERyAmJiBlICYmIGIoZS5lbmFibGVkLCB0Lm9wdGlvbnMuaXNTdG9jayk7CiAgICAgICAgfSwgdChpLCAidXBkYXRlIiwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIHQgPSB0Lm9wdGlvbnMsICJzY3JvbGxiYXIiIGluIHQgJiYgdGhpcy5uYXZpZ2F0b3IgJiYgKHgoITAsIHRoaXMub3B0aW9ucy5zY3JvbGxiYXIsIHQuc2Nyb2xsYmFyKSwgdGhpcy5uYXZpZ2F0b3IudXBkYXRlKHt9LCAhMSksIGRlbGV0ZSB0LnNjcm9sbGJhcik7CiAgICAgICAgfSkpLCBhOwogICAgICB9KSksIGUoaSwgIm1hc3RlcnMvbW9kdWxlcy9zdG9jay5zcmMuanMiLCBbaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvQXhpcy9PcmRpbmFsQXhpcy5qcyJdLCBpWyJTZXJpZXMvRGF0YU1vZGlmeUNvbXBvc2l0aW9uLmpzIl0sIGlbIkNvcmUvU2Nyb2xsYmFyLmpzIl0sIGlbIkNvcmUvQ2hhcnQvU3RvY2tDaGFydC5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICB0LlNjcm9sbGJhciA9IG4sIHQuU3RvY2tDaGFydCA9IHQuc3RvY2tDaGFydCA9IG8uc3RvY2tDaGFydCwgbi5jb21wb3NlKHQuQXhpcyksIGUuY29tcG9zZSh0LkF4aXMsIHQuU2VyaWVzLCB0LkNoYXJ0KSwgaS5jb21wb3NlKHQuU2VyaWVzLCB0LkF4aXMsIHQuUG9pbnQpOwogICAgICB9KSksIGUoaSwgIm1hc3RlcnMvaGlnaHN0b2NrLnNyYy5qcyIsIFtpWyJtYXN0ZXJzL2hpZ2hjaGFydHMuc3JjLmpzIl1dLCAoZnVuY3Rpb24odCkgewogICAgICAgIHJldHVybiB0LnByb2R1Y3QgPSAiSGlnaHN0b2NrIiwgdDsKICAgICAgfSkpLCBpWyJtYXN0ZXJzL2hpZ2hzdG9jay5zcmMuanMiXS5fbW9kdWxlcyA9IGksIGlbIm1hc3RlcnMvaGlnaHN0b2NrLnNyYy5qcyJdOwogICAgfSkpOwogIH0sIGU2ZjM6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgIHZhciBuID0gaSgiMDdlMyIpLCBvID0gaSgiMzZjMyIpLCByID0gaSgiNWI0ZSIpKCExKSwgcyA9IGkoIjU1NTkiKSgiSUVfUFJPVE8iKTsKICAgIHQuZXhwb3J0cyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgdmFyIGksIGEgPSBvKHQpLCBoID0gMCwgbCA9IFtdOwogICAgICBmb3IgKGkgaW4gYSkgaSAhPSBzICYmIG4oYSwgaSkgJiYgbC5wdXNoKGkpOwogICAgICB3aGlsZSAoZS5sZW5ndGggPiBoKSBuKGEsIGkgPSBlW2grK10pICYmICh+cihsLCBpKSB8fCBsLnB1c2goaSkpOwogICAgICByZXR1cm4gbDsKICAgIH07CiAgfSwgZThiYTogZnVuY3Rpb24odCwgZSwgaSkgewogICAgKGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgaShlKTsKICAgIH0pKDAsIChmdW5jdGlvbih0KSB7CiAgICAgICJ1c2Ugc3RyaWN0IjsKICAgICAgY29uc3QgZSA9IHsKICAgICAgICBCVEM6ICLigr8iLAogICAgICAgIEVUSDogIs6eIiwKICAgICAgICBVU0Q6ICIkIiwKICAgICAgICBDQUQ6ICJDJCIsCiAgICAgICAgR0JQOiAiwqMiLAogICAgICAgIEVVUjogIuKCrCIsCiAgICAgICAgQ0hGOiAiRnIuIiwKICAgICAgICBTRUs6ICJrciIsCiAgICAgICAgSlBZOiAiwqUiLAogICAgICAgIENOWTogIsKlIiwKICAgICAgICBJTlI6ICLigrkiLAogICAgICAgIFJVQjogIuKCvSIsCiAgICAgICAgQVVEOiAiQSQiLAogICAgICAgIEhLRDogIkhLJCIsCiAgICAgICAgU0dEOiAiUyQiLAogICAgICAgIFRXRDogIk5UJCIsCiAgICAgICAgQlJMOiAiUiQiLAogICAgICAgIEtSVzogIuKCqSIsCiAgICAgICAgWkFSOiAiUiIsCiAgICAgICAgTVlSOiAiUk0iLAogICAgICAgIElEUjogIlJwIiwKICAgICAgICBOWkQ6ICJOWiQiLAogICAgICAgIE1YTjogIk1YJCIsCiAgICAgICAgUEhQOiAi4oKxIiwKICAgICAgICBES0s6ICJrci4iLAogICAgICAgIFBMTjogInrFgiIsCiAgICAgICAgQUVEOiAiREgiLAogICAgICAgIEFSUzogIiQiLAogICAgICAgIENMUDogIkNMUCIsCiAgICAgICAgQ1pLOiAiS8SNIiwKICAgICAgICBIVUY6ICJGdCIsCiAgICAgICAgSUxTOiAi4oKqIiwKICAgICAgICBLV0Q6ICJLRCIsCiAgICAgICAgTEtSOiAiUnMiLAogICAgICAgIE5PSzogImtyIiwKICAgICAgICBQS1I6ICLigqgiLAogICAgICAgIFNBUjogIlNSIiwKICAgICAgICBUSEI6ICLguL8iLAogICAgICAgIFRSWTogIuKCuiIsCiAgICAgICAgWEFVOiAiWEFVIiwKICAgICAgICBYQUc6ICJYQUciLAogICAgICAgIFhEUjogIlhEUiIKICAgICAgfSwgaSA9IHsKICAgICAgICBNWVI6IHsgbG9jYXRpb246IHsgc3RhcnQ6ICEwIH0sIGZvckxvY2FsZXM6IHsgZW46ICEwIH0gfSwKICAgICAgICBTR0Q6IHsgbG9jYXRpb246IHsgc3RhcnQ6ICEwIH0sIGZvckxvY2FsZXM6IHsgZW46ICEwIH0gfSwKICAgICAgICBQSFA6IHsgbG9jYXRpb246IHsgc3RhcnQ6ICEwIH0sIGZvckxvY2FsZXM6IHsgZW46ICEwIH0gfSwKICAgICAgICBCVEM6IHsgbG9jYXRpb246IHsgc3RhcnQ6ICEwIH0sIGZvckxvY2FsZXM6IHsgZW46ICEwIH0gfSwKICAgICAgICBFVEg6IHsgbG9jYXRpb246IHsgc3RhcnQ6ICEwIH0sIGZvckxvY2FsZXM6IHsgZW46ICEwIH0gfQogICAgICB9OwoKICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICByZXR1cm4gISgib2JqZWN0IiAhPSB0eXBlb2YgSW50bCB8fCAhSW50bCB8fCAiZnVuY3Rpb24iICE9IHR5cGVvZiBJbnRsLk51bWJlckZvcm1hdCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIG8odCkgewogICAgICAgIHJldHVybiAiQlRDIiA9PT0gdCB8fCAiRVRIIiA9PT0gdDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcih0KSB7CiAgICAgICAgcmV0dXJuIG8odCkgfHwgbnVsbCA9PSBlW3RdOwogICAgICB9CgogICAgICBmdW5jdGlvbiBzKHQsIGUpIHsKICAgICAgICBjb25zdCBpID0gbmV3IFJlZ0V4cChgKFxcLnwsKSgweyR7ZSArIDF9LH0pKD89WzEtOV0/KWApOwogICAgICAgIHJldHVybiB0LnJlcGxhY2UoaSwgKGUsIGksIG4pID0+IGAke2l9MDxzdWIgdGl0bGU9IiR7dH0iPiR7bi5sZW5ndGh9PC9zdWI+YCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGEodCwgbiA9ICJlbiIsIG8pIHsKICAgICAgICAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIG8gJiYgKHQgPSBzKHQsIG8pKTsKICAgICAgICBjb25zdCByID0gdC5tYXRjaCgvXltBLVpdezN9XHM/Lyk7CiAgICAgICAgaWYgKG51bGwgIT0gcikgewogICAgICAgICAgY29uc3QgbyA9IHJbMF0udHJpbSgpLCBzID0gaVtvXTsKICAgICAgICAgIHJldHVybiBzICYmIHMubG9jYXRpb24uc3RhcnQgJiYgcy5mb3JMb2NhbGVzW25dID8gdC5yZXBsYWNlKHJbMF0sIGVbb10pIDogdDsKICAgICAgICB9CiAgICAgICAgY29uc3QgYSA9IHQubWF0Y2goL1tBLVpdezN9JC8pOwogICAgICAgIGlmIChudWxsICE9IGEpIHsKICAgICAgICAgIGNvbnN0IG8gPSBhWzBdLCByID0gaVtvXTsKICAgICAgICAgIHJldHVybiByICYmIHIubG9jYXRpb24uZW5kICYmIHIuZm9yTG9jYWxlc1tuXSA/IHQucmVwbGFjZShvLCBlW29dKSA6IHQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0OwogICAgICB9CgogICAgICBmdW5jdGlvbiBoKHQsIGUsIGksIG4pIHsKICAgICAgICB0cnkgewogICAgICAgICAgY29uc3QgbyA9IHsgc3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiB0LCBjdXJyZW5jeURpc3BsYXk6ICJzeW1ib2wiIH07CiAgICAgICAgICByZXR1cm4gdm9pZCAwICE9PSBpID8gKG8ubWluaW11bUZyYWN0aW9uRGlnaXRzID0gaSwgby5tYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSBpKSA6IHZvaWQgMCAhPT0gbiAmJiAoby5tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBuKSwgbmV3IEludGwuTnVtYmVyRm9ybWF0KGUsIG8pOwogICAgICAgIH0gY2F0Y2ggKG8pIHsKICAgICAgICAgIHJldHVybiBsKHQsIGUsIGkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gbCh0LCBlLCBpID0gMikgewogICAgICAgIHJldHVybiB0ID0gdC50b1VwcGVyQ2FzZSgpLCBpID4gMiA/IHsgZm9ybWF0OiBlID0+IHIodCkgPyBgJHtlLnRvRml4ZWQoaSl9ICR7dH1gIDogYCR7dH0gJHtlLnRvRml4ZWQoaSl9YCB9IDogeyBmb3JtYXQ6IGkgPT4gcih0KSA/IGAke2kudG9Mb2NhbGVTdHJpbmcoZSl9ICR7dH1gIDogYCR7dH0gJHtpLnRvTG9jYWxlU3RyaW5nKGUpfWAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gYyh0LCBlKSB7CiAgICAgICAgaWYgKCFuKCkpIHJldHVybiBsKHQsIGUsIDApOwogICAgICAgIGxldCBpID0geyBzdHlsZTogImRlY2ltYWwiLCBub3RhdGlvbjogImNvbXBhY3QiLCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMyB9OwogICAgICAgIHJldHVybiByKHQpICYmICFvKHQpIHx8IChpLnN0eWxlID0gImN1cnJlbmN5IiwgaS5jdXJyZW5jeSA9IHQpLCBuZXcgSW50bC5OdW1iZXJGb3JtYXQoZSwgaSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHAodCwgZSwgaSwgcykgewogICAgICAgIGNvbnN0IGEgPSBuKCksIGMgPSBhICYmICghcih0KSB8fCBvKHQpKTsKICAgICAgICByZXR1cm4gYyA/IGgodCwgZSwgaSwgcykgOiBsKHQsIGUsIGkpOwogICAgICB9CgogICAgICBsZXQgZCwgdSwgZiwgZywgbSwgeSwgdiwgeCwgYiwgXywgdywgaywgUyA9IHt9OwoKICAgICAgZnVuY3Rpb24gQygpIHsKICAgICAgICBTID0ge307CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIE0odCwgZSkgewogICAgICAgIGNvbnN0IGkgPSBgJHt0fS0ke2V9YCwgbiA9IFNbaV07CiAgICAgICAgZiA9IG4gPyBuLmN1cnJlbmN5Rm9ybWF0dGVyTm9ybWFsIDogcCh0LCBlKSwgZyA9IG4gPyBuLmN1cnJlbmN5Rm9ybWF0dGVyTm9EZWNpbWFsIDogcCh0LCBlLCAwKSwgbSA9IG4gPyBuLmN1cnJlbmN5Rm9ybWF0dGVyTWVkaXVtIDogcCh0LCBlLCAzKSwgeSA9IG4gPyBuLmN1cnJlbmN5Rm9ybWF0dGVyVHdvRGVjaW1hbCA6IHAodCwgZSwgMiksIHYgPSBuID8gbi5jdXJyZW5jeUZvcm1hdHRlclNtYWxsIDogcCh0LCBlLCA2KSwgeCA9IG4gPyBuLmN1cnJlbmN5Rm9ybWF0dGVyVmVyeVNtYWxsIDogcCh0LCBlLCA4KSwgYiA9IG4gPyBuLmN1cnJlbmN5Rm9ybWF0dGVyVmVyeVZlcnlTbWFsbCA6IHAodCwgZSwgMTIpLCBfID0gbiA/IG4uY3VycmVuY3lGb3JtYXR0ZXIxNURQIDogcCh0LCBlLCAxNSksIHcgPSBuID8gbi5jdXJyZW5jeUZvcm1hdHRlcjE4RFAgOiBwKHQsIGUsIDE4KSwgayA9IG4gPyBuLmN1cnJlbmN5Rm9ybWF0dGVyQWJicmV2aWF0ZWQgOiBjKHQsIGUpLCBudWxsID09IG4gJiYgKFNbaV0gPSB7fSwgU1tpXS5jdXJyZW5jeUZvcm1hdHRlck5vcm1hbCA9IGYsIFNbaV0uY3VycmVuY3lGb3JtYXR0ZXJOb0RlY2ltYWwgPSBnLCBTW2ldLmN1cnJlbmN5Rm9ybWF0dGVyTWVkaXVtID0gbSwgU1tpXS5jdXJyZW5jeUZvcm1hdHRlclR3b0RlY2ltYWwgPSB5LCBTW2ldLmN1cnJlbmN5Rm9ybWF0dGVyU21hbGwgPSB2LCBTW2ldLmN1cnJlbmN5Rm9ybWF0dGVyVmVyeVNtYWxsID0geCwgU1tpXS5jdXJyZW5jeUZvcm1hdHRlclZlcnlWZXJ5U21hbGwgPSBiLCBTW2ldLmN1cnJlbmN5Rm9ybWF0dGVyMTVEUCA9IF8sIFNbaV0uY3VycmVuY3lGb3JtYXR0ZXIxOERQID0gdywgU1tpXS5jdXJyZW5jeUZvcm1hdHRlckFiYnJldmlhdGVkID0gayk7CiAgICAgIH0KCiAgICAgIGNvbnN0IEEgPSA1MCwgUCA9IDFlMywgTyA9IDFlNTsKCiAgICAgIGZ1bmN0aW9uIFQodCwgZSwgaSA9ICJlbiIsIG4gPSAhMSwgcyA9ICExLCBoID0gITEpIHsKICAgICAgICBlID0gZS50b1VwcGVyQ2FzZSgpOwogICAgICAgIGxldCBsID0gdm9pZCAwOwogICAgICAgIGlmIChkID09PSBlICYmIHUgPT0gaSB8fCAoZCA9IGUsIHUgPSBpLCBNKGUsIGkpKSwgaCkgewogICAgICAgICAgbGV0IG4gPSBrLmZvcm1hdCh0KTsKICAgICAgICAgIHJldHVybiByKGUpICYmICFvKGUpICYmIChuID0gYCR7bn0gJHtlfWApLCBhKG4sIGkpOwogICAgICAgIH0KICAgICAgICBpZiAoITAgPT09IHMgJiYgdCA+IDEwMCkgcmV0dXJuIGEoZy5mb3JtYXQodCksIGkpOwogICAgICAgIGlmICgib2JqZWN0IiA9PT0gdHlwZW9mIHMgJiYgbnVsbCAhPT0gcykgewogICAgICAgICAgaWYgKG4pIHsKICAgICAgICAgICAgbGV0IGUgPSBzLmhhc093blByb3BlcnR5KCJkZWNpbWFsUGxhY2VzIikgPyB0LnRvRml4ZWQocy5kZWNpbWFsUGxhY2VzKSA6IHQ7CiAgICAgICAgICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KGUpLnRvUHJlY2lzaW9uKHMuc2lnbmlmaWNhbnRGaWd1cmVzKSAvIDF9YDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChzLmhhc093blByb3BlcnR5KCJtYXhpbXVtRGVjaW1hbFRyYWlsaW5nWmVyb2VzIikgJiYgKGwgPSBzLm1heGltdW1EZWNpbWFsVHJhaWxpbmdaZXJvZXMpLCBzLmhhc093blByb3BlcnR5KCJkZWNpbWFsUGxhY2VzIikgJiYgcy5oYXNPd25Qcm9wZXJ0eSgic2lnbmlmaWNhbnRGaWd1cmVzIikpIHsKICAgICAgICAgICAgY29uc3QgbiA9IHAoZSwgaSwgdm9pZCAwLCBzLnNpZ25pZmljYW50RmlndXJlcyk7CiAgICAgICAgICAgIHJldHVybiBhKG4uZm9ybWF0KE51bWJlci5wYXJzZUZsb2F0KHQudG9GaXhlZChzLmRlY2ltYWxQbGFjZXMpKSksIGksIGwpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHMuaGFzT3duUHJvcGVydHkoImRlY2ltYWxQbGFjZXMiKSB8fCBzLmhhc093blByb3BlcnR5KCJzaWduaWZpY2FudEZpZ3VyZXMiKSkgewogICAgICAgICAgICBjb25zdCBuID0gcChlLCBpLCBzLmRlY2ltYWxQbGFjZXMsIHMuc2lnbmlmaWNhbnRGaWd1cmVzKTsKICAgICAgICAgICAgcmV0dXJuIGEobi5mb3JtYXQodCksIGksIGwpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIXIoZSkpIHsKICAgICAgICAgIGNvbnN0IG8gPSBNYXRoLmFicyh0KTsKICAgICAgICAgIHJldHVybiBuID8gbyA8IDFlLTEyID8gdC50b0ZpeGVkKDE4KSA6IG8gPCAxZS05ID8gdC50b0ZpeGVkKDE1KSA6IG8gPCAxZS02ID8gdC50b0ZpeGVkKDEyKSA6IG8gPCAuMDAxID8gdC50b0ZpeGVkKDgpIDogbyA8IDEgPyB0LnRvRml4ZWQoNikgOiB0LnRvRml4ZWQoMikgOiAwID09PSBvID8gYShmLmZvcm1hdCh0KSwgaSwgbCkgOiBvIDwgMWUtMTIgPyBhKHcuZm9ybWF0KHQpLCBpLCBsKSA6IG8gPCAxZS05ID8gYShfLmZvcm1hdCh0KSwgaSwgbCkgOiBvIDwgMWUtNiA/IGEoYi5mb3JtYXQodCksIGksIGwpIDogbyA8IC4wNSA/IGEoeC5mb3JtYXQodCksIGksIGwpIDogbyA8IDEgPyBhKHYuZm9ybWF0KHQpLCBpLCBsKSA6ICJKUFkiID09PSBlICYmIG8gPCAxMDAgPyBhKHkuZm9ybWF0KHQpLCBpLCBsKSA6IGEobyA+IE8gPyBnLmZvcm1hdCh0KSA6IGYuZm9ybWF0KHQpLCBpKTsKICAgICAgICB9CiAgICAgICAgewogICAgICAgICAgbGV0IGUgPSBwYXJzZUZsb2F0KHQpOwogICAgICAgICAgaWYgKG4pIHJldHVybiAwID09PSB0ID8gZS50b0ZpeGVkKDIpIDogZS50b1ByZWNpc2lvbig4KTsKICAgICAgICAgIGlmICgwID09PSB0KSByZXR1cm4gYShmLmZvcm1hdCh0KSwgaSwgbCk7CiAgICAgICAgICBpZiAoZSA+PSBQKSByZXR1cm4gYShnLmZvcm1hdCh0KSwgaSk7CiAgICAgICAgICBpZiAoZSA+PSBBICYmIGUgPCBQKSByZXR1cm4gYShtLmZvcm1hdCh0KSwgaSwgbCk7CiAgICAgICAgICBpZiAoZSA+PSAxICYmIGUgPCBBKSByZXR1cm4gYSh2LmZvcm1hdCh0KSwgaSwgbCk7CiAgICAgICAgICBpZiAoZSA+PSAxZS02ICYmIGUgPCAxKSByZXR1cm4gYSh4LmZvcm1hdCh0KSwgaSwgbCk7CiAgICAgICAgICBpZiAoZSA+PSAxZS05ICYmIGUgPCAxZS02KSByZXR1cm4gYShiLmZvcm1hdCh0KSwgaSwgbCk7CiAgICAgICAgICBpZiAoZSA+PSAxZS0xMiAmJiBlIDwgMWUtOSkgcmV0dXJuIGEoXy5mb3JtYXQodCksIGksIGwpOwogICAgICAgICAgaWYgKGUgPCAxZS0xMikgcmV0dXJuIGEody5mb3JtYXQodCksIGksIGwpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdC5jbGVhckNhY2hlID0gQywgdC5mb3JtYXRDdXJyZW5jeSA9IFQsIHQuaXNDcnlwdG8gPSByLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgIl9fZXNNb2R1bGUiLCB7IHZhbHVlOiAhMCB9KTsKICAgIH0pKTsKICB9LCBlYTdmOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgbjsKICAgIChmdW5jdGlvbihvLCByKSB7CiAgICAgIHQuZXhwb3J0cyA/IChyWyJkZWZhdWx0Il0gPSByLCB0LmV4cG9ydHMgPSBvLmRvY3VtZW50ID8gcihvKSA6IHIpIDogKG4gPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gcihvKTsKICAgICAgfS5jYWxsKGUsIGksIGUsIHQpLCB2b2lkIDAgPT09IG4gfHwgKHQuZXhwb3J0cyA9IG4pKTsKICAgIH0pKCJ1bmRlZmluZWQiICE9PSB0eXBlb2Ygd2luZG93ID8gd2luZG93IDogdGhpcywgKGZ1bmN0aW9uKHQpIHsKICAgICAgZnVuY3Rpb24gZSh0LCBlLCBpLCBuKSB7CiAgICAgICAgdC5oYXNPd25Qcm9wZXJ0eShlKSB8fCAodFtlXSA9IG4uYXBwbHkobnVsbCwgaSkpOwogICAgICB9CgogICAgICB2YXIgaSA9IHt9OwogICAgICByZXR1cm4gZShpLCAiQ29yZS9HbG9iYWxzLmpzIiwgW10sIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZSwgaSA9ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgdCA/IHQgOiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHdpbmRvdyA/IHdpbmRvdyA6IHt9OwogICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICB0LlNWR19OUyA9ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsIHQucHJvZHVjdCA9ICJIaWdoY2hhcnRzIiwgdC52ZXJzaW9uID0gIjkuMy4zIiwgdC53aW4gPSBpLCB0LmRvYyA9IHQud2luLmRvY3VtZW50LCB0LnN2ZyA9IHQuZG9jICYmIHQuZG9jLmNyZWF0ZUVsZW1lbnROUyAmJiAhIXQuZG9jLmNyZWF0ZUVsZW1lbnROUyh0LlNWR19OUywgInN2ZyIpLmNyZWF0ZVNWR1JlY3QsIHQudXNlckFnZW50ID0gdC53aW4ubmF2aWdhdG9yICYmIHQud2luLm5hdmlnYXRvci51c2VyQWdlbnQgfHwgIiIsIHQuaXNDaHJvbWUgPSAtMSAhPT0gdC51c2VyQWdlbnQuaW5kZXhPZigiQ2hyb21lIiksIHQuaXNGaXJlZm94ID0gLTEgIT09IHQudXNlckFnZW50LmluZGV4T2YoIkZpcmVmb3giKSwgdC5pc01TID0gLyhlZGdlfG1zaWV8dHJpZGVudCkvaS50ZXN0KHQudXNlckFnZW50KSAmJiAhdC53aW4ub3BlcmEsIHQuaXNTYWZhcmkgPSAhdC5pc0Nocm9tZSAmJiAtMSAhPT0gdC51c2VyQWdlbnQuaW5kZXhPZigiU2FmYXJpIiksIHQuaXNUb3VjaERldmljZSA9IC8oTW9iaWxlfEFuZHJvaWR8V2luZG93cyBQaG9uZSkvLnRlc3QodC51c2VyQWdlbnQpLCB0LmlzV2ViS2l0ID0gLTEgIT09IHQudXNlckFnZW50LmluZGV4T2YoIkFwcGxlV2ViS2l0IiksIHQuZGVnMnJhZCA9IDIgKiBNYXRoLlBJIC8gMzYwLCB0Lmhhc0JpZGlCdWcgPSB0LmlzRmlyZWZveCAmJiA0ID4gcGFyc2VJbnQodC51c2VyQWdlbnQuc3BsaXQoIkZpcmVmb3gvIilbMV0sIDEwKSwgdC5oYXNUb3VjaCA9ICEhdC53aW4uVG91Y2hFdmVudCwgdC5tYXJnaW5OYW1lcyA9IFsicGxvdFRvcCIsICJtYXJnaW5SaWdodCIsICJtYXJnaW5Cb3R0b20iLCAicGxvdExlZnQiXSwgdC5ub29wID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICB9LCB0LnN1cHBvcnRzUGFzc2l2ZUV2ZW50cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9ICExOwogICAgICAgICAgICBpZiAoIXQuaXNNUykgewogICAgICAgICAgICAgIHZhciBpID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicGFzc2l2ZSIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgIGUgPSAhMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB0Lndpbi5hZGRFdmVudExpc3RlbmVyICYmIHQud2luLnJlbW92ZUV2ZW50TGlzdGVuZXIgJiYgKHQud2luLmFkZEV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIiwgdC5ub29wLCBpKSwgdC53aW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLCB0Lm5vb3AsIGkpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZTsKICAgICAgICAgIH0oKSwgdC5jaGFydHMgPSBbXSwgdC5kYXRlRm9ybWF0cyA9IHt9LCB0LnNlcmllc1R5cGVzID0ge30sIHQuc3ltYm9sU2l6ZXMgPSB7fSwgdC5jaGFydENvdW50ID0gMDsKICAgICAgICB9KGUgfHwgKGUgPSB7fSkpLCBlOwogICAgICB9KSksIGUoaSwgIkNvcmUvVXRpbGl0aWVzLmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdXSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICBmdW5jdGlvbiBlKGksIG4sIG8sIHIpIHsKICAgICAgICAgIHZhciBzID0gbiA/ICJIaWdoY2hhcnRzIGVycm9yIiA6ICJIaWdoY2hhcnRzIHdhcm5pbmciOwogICAgICAgICAgMzIgPT09IGkgJiYgKGkgPSBzICsgIjogRGVwcmVjYXRlZCBtZW1iZXIiKTsKICAgICAgICAgIHZhciBhID0gbChpKSwgaCA9IGEgPyBzICsgIiAjIiArIGkgKyAiOiB3d3cuaGlnaGNoYXJ0cy5jb20vZXJyb3JzLyIgKyBpICsgIi8iIDogaS50b1N0cmluZygpOwogICAgICAgICAgaWYgKCJ1bmRlZmluZWQiICE9PSB0eXBlb2YgcikgewogICAgICAgICAgICB2YXIgYyA9ICIiOwogICAgICAgICAgICBhICYmIChoICs9ICI/IiksIHkociwgKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICBjICs9ICJcbiAtICIgKyBlICsgIjogIiArIHQsIGEgJiYgKGggKz0gZW5jb2RlVVJJKGUpICsgIj0iICsgZW5jb2RlVVJJKHQpKTsKICAgICAgICAgICAgfSkpLCBoICs9IGM7CiAgICAgICAgICB9CiAgICAgICAgICB4KHQsICJkaXNwbGF5RXJyb3IiLCB7IGNoYXJ0OiBvLCBjb2RlOiBpLCBtZXNzYWdlOiBoLCBwYXJhbXM6IHIgfSwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAobikgdGhyb3cgRXJyb3IoaCk7CiAgICAgICAgICAgIHcuY29uc29sZSAmJiAtMSA9PT0gZS5tZXNzYWdlcy5pbmRleE9mKGgpICYmIGNvbnNvbGUud2FybihoKTsKICAgICAgICAgIH0pKSwgZS5tZXNzYWdlcy5wdXNoKGgpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gaSh0LCBlKSB7CiAgICAgICAgICB2YXIgbiA9IHt9OwogICAgICAgICAgcmV0dXJuIHkodCwgKGZ1bmN0aW9uKG8sIHIpIHsKICAgICAgICAgICAgcyh0W3JdLCAhMCkgJiYgIXQubm9kZVR5cGUgJiYgZVtyXSA/IChvID0gaSh0W3JdLCBlW3JdKSwgT2JqZWN0LmtleXMobykubGVuZ3RoICYmIChuW3JdID0gbykpIDogKHModFtyXSkgfHwgdFtyXSAhPT0gZVtyXSkgJiYgKG5bcl0gPSB0W3JdKTsKICAgICAgICAgIH0pKSwgbjsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG4odCwgZSkgewogICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHQsIGUgfHwgMTApOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbyh0KSB7CiAgICAgICAgICByZXR1cm4gInN0cmluZyIgPT09IHR5cGVvZiB0OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gcih0KSB7CiAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSwgIltvYmplY3QgQXJyYXldIiA9PT0gdCB8fCAiW29iamVjdCBBcnJheSBJdGVyYXRvcl0iID09PSB0OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gcyh0LCBlKSB7CiAgICAgICAgICByZXR1cm4gISF0ICYmICJvYmplY3QiID09PSB0eXBlb2YgdCAmJiAoIWUgfHwgIXIodCkpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gYSh0KSB7CiAgICAgICAgICByZXR1cm4gcyh0KSAmJiAibnVtYmVyIiA9PT0gdHlwZW9mIHQubm9kZVR5cGU7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoKHQpIHsKICAgICAgICAgIHZhciBlID0gdCAmJiB0LmNvbnN0cnVjdG9yOwogICAgICAgICAgcmV0dXJuICEoIXModCwgITApIHx8IGEodCkgfHwgIWUgfHwgIWUubmFtZSB8fCAiT2JqZWN0IiA9PT0gZS5uYW1lKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGwodCkgewogICAgICAgICAgcmV0dXJuICJudW1iZXIiID09PSB0eXBlb2YgdCAmJiAhaXNOYU4odCkgJiYgMSAvIDAgPiB0ICYmIC0xIC8gMCA8IHQ7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjKHQpIHsKICAgICAgICAgIHJldHVybiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHQgJiYgbnVsbCAhPT0gdDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHAodCwgZSwgaSkgewogICAgICAgICAgdmFyIG47CiAgICAgICAgICByZXR1cm4gbyhlKSA/IGMoaSkgPyB0LnNldEF0dHJpYnV0ZShlLCBpKSA6IHQgJiYgdC5nZXRBdHRyaWJ1dGUgJiYgKChuID0gdC5nZXRBdHRyaWJ1dGUoZSkpIHx8ICJjbGFzcyIgIT09IGUgfHwgKG4gPSB0LmdldEF0dHJpYnV0ZShlICsgIk5hbWUiKSkpIDogeShlLCAoZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBjKGUpID8gdC5zZXRBdHRyaWJ1dGUoaSwgZSkgOiB0LnJlbW92ZUF0dHJpYnV0ZShpKTsKICAgICAgICAgIH0pKSwgbjsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGQodCwgZSkgewogICAgICAgICAgdmFyIGk7CiAgICAgICAgICBmb3IgKGkgaW4gdCB8fCAodCA9IHt9KSwgZSkgdFtpXSA9IGVbaV07CiAgICAgICAgICByZXR1cm4gdDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHUoKSB7CiAgICAgICAgICBmb3IgKHZhciB0ID0gYXJndW1lbnRzLCBlID0gdC5sZW5ndGgsIGkgPSAwOyBpIDwgZTsgaSsrKSB7CiAgICAgICAgICAgIHZhciBuID0gdFtpXTsKICAgICAgICAgICAgaWYgKCJ1bmRlZmluZWQiICE9PSB0eXBlb2YgbiAmJiBudWxsICE9PSBuKSByZXR1cm4gbjsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGYoZSwgaSkgewogICAgICAgICAgdC5pc01TICYmICF0LnN2ZyAmJiBpICYmICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgaS5vcGFjaXR5ICYmIChpLmZpbHRlciA9ICJhbHBoYShvcGFjaXR5PSIgKyAxMDAgKiBpLm9wYWNpdHkgKyAiKSIpLCBkKGUuc3R5bGUsIGkpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZyh0LCBlKSB7CiAgICAgICAgICByZXR1cm4gMWUxNCA8IHQgPyB0IDogcGFyc2VGbG9hdCh0LnRvUHJlY2lzaW9uKGUgfHwgMTQpKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG0oaSwgbywgcikgewogICAgICAgICAgdmFyIHMgPSB0LmdldFN0eWxlIHx8IG07CiAgICAgICAgICBpZiAoIndpZHRoIiA9PT0gbykgcmV0dXJuIG8gPSBNYXRoLm1pbihpLm9mZnNldFdpZHRoLCBpLnNjcm9sbFdpZHRoKSwgciA9IGkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICYmIGkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsIHIgPCBvICYmIHIgPj0gbyAtIDEgJiYgKG8gPSBNYXRoLmZsb29yKHIpKSwgTWF0aC5tYXgoMCwgbyAtIChzKGksICJwYWRkaW5nLWxlZnQiLCAhMCkgfHwgMCkgLSAocyhpLCAicGFkZGluZy1yaWdodCIsICEwKSB8fCAwKSk7CiAgICAgICAgICBpZiAoImhlaWdodCIgPT09IG8pIHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1pbihpLm9mZnNldEhlaWdodCwgaS5zY3JvbGxIZWlnaHQpIC0gKHMoaSwgInBhZGRpbmctdG9wIiwgITApIHx8IDApIC0gKHMoaSwgInBhZGRpbmctYm90dG9tIiwgITApIHx8IDApKTsKICAgICAgICAgIGlmICh3LmdldENvbXB1dGVkU3R5bGUgfHwgZSgyNywgITApLCBpID0gdy5nZXRDb21wdXRlZFN0eWxlKGksIHZvaWQgMCkpIHsKICAgICAgICAgICAgdmFyIGEgPSBpLmdldFByb3BlcnR5VmFsdWUobyk7CiAgICAgICAgICAgIHUociwgIm9wYWNpdHkiICE9PSBvKSAmJiAoYSA9IG4oYSkpOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGE7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB5KHQsIGUsIGkpIHsKICAgICAgICAgIGZvciAodmFyIG4gaW4gdCkgT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgZS5jYWxsKGkgfHwgdFtuXSwgdFtuXSwgbiwgdCk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB2KGUsIGksIG4pIHsKICAgICAgICAgIGZ1bmN0aW9uIG8oaSwgbikgewogICAgICAgICAgICB2YXIgbyA9IGUucmVtb3ZlRXZlbnRMaXN0ZW5lciB8fCB0LnJlbW92ZUV2ZW50TGlzdGVuZXJQb2x5ZmlsbDsKICAgICAgICAgICAgbyAmJiBvLmNhbGwoZSwgaSwgbiwgITEpOwogICAgICAgICAgfQoKICAgICAgICAgIGZ1bmN0aW9uIHIodCkgewogICAgICAgICAgICB2YXIgbjsKICAgICAgICAgICAgaWYgKGUubm9kZU5hbWUpIHsKICAgICAgICAgICAgICBpZiAoaSkgewogICAgICAgICAgICAgICAgdmFyIHIgPSB7fTsKICAgICAgICAgICAgICAgIHJbaV0gPSAhMDsKICAgICAgICAgICAgICB9IGVsc2UgciA9IHQ7CiAgICAgICAgICAgICAgeShyLCAoZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgaWYgKHRbaV0pIGZvciAobiA9IHRbaV0ubGVuZ3RoOyBuLS07KSBvKGksIHRbaV1bbl0uZm4pOwogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIHZhciBzID0gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIGUgJiYgZS5wcm90b3R5cGUgfHwgZTsKICAgICAgICAgIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChzLCAiaGNFdmVudHMiKSkgewogICAgICAgICAgICB2YXIgYSA9IHMuaGNFdmVudHM7CiAgICAgICAgICAgIGkgPyAocyA9IGFbaV0gfHwgW10sIG4gPyAoYVtpXSA9IHMuZmlsdGVyKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIG4gIT09IHQuZm47CiAgICAgICAgICAgIH0pKSwgbyhpLCBuKSkgOiAocihhKSwgYVtpXSA9IFtdKSkgOiAocihhKSwgZGVsZXRlIHMuaGNFdmVudHMpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24geChlLCBpLCBuLCBvKSB7CiAgICAgICAgICBpZiAobiA9IG4gfHwge30sIF8uY3JlYXRlRXZlbnQgJiYgKGUuZGlzcGF0Y2hFdmVudCB8fCBlLmZpcmVFdmVudCAmJiBlICE9PSB0KSkgewogICAgICAgICAgICB2YXIgciA9IF8uY3JlYXRlRXZlbnQoIkV2ZW50cyIpOwogICAgICAgICAgICByLmluaXRFdmVudChpLCAhMCwgITApLCBuID0gZChyLCBuKSwgZS5kaXNwYXRjaEV2ZW50ID8gZS5kaXNwYXRjaEV2ZW50KG4pIDogZS5maXJlRXZlbnQoaSwgbik7CiAgICAgICAgICB9IGVsc2UgaWYgKGUuaGNFdmVudHMpIHsKICAgICAgICAgICAgbi50YXJnZXQgfHwgZChuLCB7CiAgICAgICAgICAgICAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbi5kZWZhdWx0UHJldmVudGVkID0gITA7CiAgICAgICAgICAgICAgfSwgdGFyZ2V0OiBlLCB0eXBlOiBpCiAgICAgICAgICAgIH0pLCByID0gW107CiAgICAgICAgICAgIGZvciAodmFyIHMgPSBlLCBhID0gITE7IHMuaGNFdmVudHM7KSBPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChzLCAiaGNFdmVudHMiKSAmJiBzLmhjRXZlbnRzW2ldICYmIChyLmxlbmd0aCAmJiAoYSA9ICEwKSwgci51bnNoaWZ0LmFwcGx5KHIsIHMuaGNFdmVudHNbaV0pKSwgcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihzKTsKICAgICAgICAgICAgYSAmJiByLnNvcnQoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gdC5vcmRlciAtIGUub3JkZXI7CiAgICAgICAgICAgIH0pKSwgci5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgITEgPT09IHQuZm4uY2FsbChlLCBuKSAmJiBuLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0KICAgICAgICAgIG8gJiYgIW4uZGVmYXVsdFByZXZlbnRlZCAmJiBvLmNhbGwoZSwgbik7CiAgICAgICAgfQoKICAgICAgICB2YXIgYiA9IHQuY2hhcnRzLCBfID0gdC5kb2MsIHcgPSB0LndpbjsKICAgICAgICAoZSB8fCAoZSA9IHt9KSkubWVzc2FnZXMgPSBbXSwgTWF0aC5lYXNlSW5PdXRTaW5lID0gZnVuY3Rpb24odCkgewogICAgICAgICAgcmV0dXJuIC0uNSAqIChNYXRoLmNvcyhNYXRoLlBJICogdCkgLSAxKTsKICAgICAgICB9OwogICAgICAgIHZhciBrID0gQXJyYXkucHJvdG90eXBlLmZpbmQgPyBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICByZXR1cm4gdC5maW5kKGUpOwogICAgICAgIH0gOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICB2YXIgaSwgbiA9IHQubGVuZ3RoOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgaWYgKGUodFtpXSwgaSkpIHJldHVybiB0W2ldOwogICAgICAgIH07CiAgICAgICAgeSh7IG1hcDogIm1hcCIsIGVhY2g6ICJmb3JFYWNoIiwgZ3JlcDogImZpbHRlciIsIHJlZHVjZTogInJlZHVjZSIsIHNvbWU6ICJzb21lIiB9LCAoZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgdFtuXSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIG87CiAgICAgICAgICAgIHJldHVybiBlKDMyLCAhMSwgdm9pZCAwLCAobyA9IHt9LCBvWyJIaWdoY2hhcnRzLiIgKyBuXSA9ICJ1c2UgQXJyYXkuIiArIGksIG8pKSwgQXJyYXkucHJvdG90eXBlW2ldLmFwcGx5KHQsIFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSk7CiAgICAgICAgICB9OwogICAgICAgIH0pKTsKICAgICAgICB2YXIgUywgQyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgOSkgKyAiLSIsIGUgPSAwOwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gImhpZ2hjaGFydHMtIiArIChTID8gIiIgOiB0KSArIGUrKzsKICAgICAgICAgIH07CiAgICAgICAgfSgpOwogICAgICAgIHJldHVybiB3LmpRdWVyeSAmJiAody5qUXVlcnkuZm4uaGlnaGNoYXJ0cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIGUgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7CiAgICAgICAgICBpZiAodGhpc1swXSkgcmV0dXJuIGVbMF0gPyAobmV3ICh0W28oZVswXSkgPyBlLnNoaWZ0KCkgOiAiQ2hhcnQiXSkodGhpc1swXSwgZVswXSwgZVsxXSksIHRoaXMpIDogYltwKHRoaXNbMF0sICJkYXRhLWhpZ2hjaGFydHMtY2hhcnQiKV07CiAgICAgICAgfSksIGsgPSB7CiAgICAgICAgICBhZGRFdmVudDogZnVuY3Rpb24oZSwgaSwgbiwgbykgewogICAgICAgICAgICB2b2lkIDAgPT09IG8gJiYgKG8gPSB7fSk7CiAgICAgICAgICAgIHZhciByID0gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIGUgJiYgZS5wcm90b3R5cGUgfHwgZTsKICAgICAgICAgICAgT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwociwgImhjRXZlbnRzIikgfHwgKHIuaGNFdmVudHMgPSB7fSksIHIgPSByLmhjRXZlbnRzLCB0LlBvaW50ICYmIGUgaW5zdGFuY2VvZiB0LlBvaW50ICYmIGUuc2VyaWVzICYmIGUuc2VyaWVzLmNoYXJ0ICYmIChlLnNlcmllcy5jaGFydC5ydW5UcmFja2VyQ2xpY2sgPSAhMCk7CiAgICAgICAgICAgIHZhciBzID0gZS5hZGRFdmVudExpc3RlbmVyIHx8IHQuYWRkRXZlbnRMaXN0ZW5lclBvbHlmaWxsOwogICAgICAgICAgICByZXR1cm4gcyAmJiBzLmNhbGwoZSwgaSwgbiwgISF0LnN1cHBvcnRzUGFzc2l2ZUV2ZW50cyAmJiB7CiAgICAgICAgICAgICAgcGFzc2l2ZTogdm9pZCAwID09PSBvLnBhc3NpdmUgPyAtMSAhPT0gaS5pbmRleE9mKCJ0b3VjaCIpIDogby5wYXNzaXZlLAogICAgICAgICAgICAgIGNhcHR1cmU6ICExCiAgICAgICAgICAgIH0pLCByW2ldIHx8IChyW2ldID0gW10pLCByW2ldLnB1c2goeyBmbjogbiwgb3JkZXI6ICJudW1iZXIiID09PSB0eXBlb2Ygby5vcmRlciA/IG8ub3JkZXIgOiAxIC8gMCB9KSwgcltpXS5zb3J0KChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQub3JkZXIgLSBlLm9yZGVyOwogICAgICAgICAgICB9KSksIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHYoZSwgaSwgbik7CiAgICAgICAgICAgIH07CiAgICAgICAgICB9LAogICAgICAgICAgYXJyYXlNYXg6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgZm9yICh2YXIgZSA9IHQubGVuZ3RoLCBpID0gdFswXTsgZS0tOykgdFtlXSA+IGkgJiYgKGkgPSB0W2VdKTsKICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICB9LAogICAgICAgICAgYXJyYXlNaW46IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgZm9yICh2YXIgZSA9IHQubGVuZ3RoLCBpID0gdFswXTsgZS0tOykgdFtlXSA8IGkgJiYgKGkgPSB0W2VdKTsKICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICB9LAogICAgICAgICAgYXR0cjogcCwKICAgICAgICAgIGNsYW1wOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID4gZSA/IHQgPCBpID8gdCA6IGkgOiBlOwogICAgICAgICAgfSwKICAgICAgICAgIGNsZWFuUmVjdXJzaXZlbHk6IGksCiAgICAgICAgICBjbGVhclRpbWVvdXQ6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgYyh0KSAmJiBjbGVhclRpbWVvdXQodCk7CiAgICAgICAgICB9LAogICAgICAgICAgY29ycmVjdEZsb2F0OiBnLAogICAgICAgICAgY3JlYXRlRWxlbWVudDogZnVuY3Rpb24odCwgZSwgaSwgbiwgbykgewogICAgICAgICAgICByZXR1cm4gdCA9IF8uY3JlYXRlRWxlbWVudCh0KSwgZSAmJiBkKHQsIGUpLCBvICYmIGYodCwgeyBwYWRkaW5nOiAiMCIsIGJvcmRlcjogIm5vbmUiLCBtYXJnaW46ICIwIiB9KSwgaSAmJiBmKHQsIGkpLCBuICYmIG4uYXBwZW5kQ2hpbGQodCksIHQ7CiAgICAgICAgICB9LAogICAgICAgICAgY3NzOiBmLAogICAgICAgICAgZGVmaW5lZDogYywKICAgICAgICAgIGRlc3Ryb3lPYmplY3RQcm9wZXJ0aWVzOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHkodCwgKGZ1bmN0aW9uKGksIG4pIHsKICAgICAgICAgICAgICBpICYmIGkgIT09IGUgJiYgaS5kZXN0cm95ICYmIGkuZGVzdHJveSgpLCBkZWxldGUgdFtuXTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwKICAgICAgICAgIGRpc2NhcmRFbGVtZW50OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHQgJiYgdC5wYXJlbnRFbGVtZW50ICYmIHQucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0KTsKICAgICAgICAgIH0sCiAgICAgICAgICBlcmFzZTogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICBmb3IgKHZhciBpID0gdC5sZW5ndGg7IGktLTspIGlmICh0W2ldID09PSBlKSB7CiAgICAgICAgICAgICAgdC5zcGxpY2UoaSwgMSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBlcnJvcjogZSwKICAgICAgICAgIGV4dGVuZDogZCwKICAgICAgICAgIGV4dGVuZENsYXNzOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHJldHVybiBpLnByb3RvdHlwZSA9IG5ldyB0LCBkKGkucHJvdG90eXBlLCBlKSwgaTsKICAgICAgICAgIH0sCiAgICAgICAgICBmaW5kOiBrLAogICAgICAgICAgZmlyZUV2ZW50OiB4LAogICAgICAgICAgZ2V0TWFnbml0dWRlOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiBNYXRoLnBvdygxMCwgTWF0aC5mbG9vcihNYXRoLmxvZyh0KSAvIE1hdGguTE4xMCkpOwogICAgICAgICAgfSwKICAgICAgICAgIGdldE5lc3RlZFByb3BlcnR5OiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIGZvciAodCA9IHQuc3BsaXQoIi4iKTsgdC5sZW5ndGggJiYgYyhlKTspIHsKICAgICAgICAgICAgICB2YXIgaSA9IHQuc2hpZnQoKTsKICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgPT09IHR5cGVvZiBpIHx8ICJfX3Byb3RvX18iID09PSBpKSByZXR1cm47CiAgICAgICAgICAgICAgaWYgKGUgPSBlW2ldLCAhYyhlKSB8fCAiZnVuY3Rpb24iID09PSB0eXBlb2YgZSB8fCAibnVtYmVyIiA9PT0gdHlwZW9mIGUubm9kZVR5cGUgfHwgZSA9PT0gdykgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBlOwogICAgICAgICAgfSwKICAgICAgICAgIGdldFN0eWxlOiBtLAogICAgICAgICAgaW5BcnJheTogZnVuY3Rpb24odCwgaSwgbikgewogICAgICAgICAgICByZXR1cm4gZSgzMiwgITEsIHZvaWQgMCwgeyAiSGlnaGNoYXJ0cy5pbkFycmF5IjogInVzZSBBcnJheS5pbmRleE9mIiB9KSwgaS5pbmRleE9mKHQsIG4pOwogICAgICAgICAgfSwKICAgICAgICAgIGlzQXJyYXk6IHIsCiAgICAgICAgICBpc0NsYXNzOiBoLAogICAgICAgICAgaXNET01FbGVtZW50OiBhLAogICAgICAgICAgaXNGdW5jdGlvbjogZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gImZ1bmN0aW9uIiA9PT0gdHlwZW9mIHQ7CiAgICAgICAgICB9LAogICAgICAgICAgaXNOdW1iZXI6IGwsCiAgICAgICAgICBpc09iamVjdDogcywKICAgICAgICAgIGlzU3RyaW5nOiBvLAogICAgICAgICAga2V5czogZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gZSgzMiwgITEsIHZvaWQgMCwgeyAiSGlnaGNoYXJ0cy5rZXlzIjogInVzZSBPYmplY3Qua2V5cyIgfSksIE9iamVjdC5rZXlzKHQpOwogICAgICAgICAgfSwKICAgICAgICAgIG1lcmdlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUgPSBhcmd1bWVudHMsIGkgPSB7fSwgbiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gIm9iamVjdCIgIT09IHR5cGVvZiB0ICYmICh0ID0ge30pLCB5KGUsIChmdW5jdGlvbihpLCBvKSB7CiAgICAgICAgICAgICAgICAiX19wcm90b19fIiAhPT0gbyAmJiAiY29uc3RydWN0b3IiICE9PSBvICYmICghcyhpLCAhMCkgfHwgaChpKSB8fCBhKGkpID8gdFtvXSA9IGVbb10gOiB0W29dID0gbih0W29dIHx8IHt9LCBpKSk7CiAgICAgICAgICAgICAgfSkpLCB0OwogICAgICAgICAgICB9OwogICAgICAgICAgICAhMCA9PT0gZVswXSAmJiAoaSA9IGVbMV0sIGUgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLCAyKSk7CiAgICAgICAgICAgIHZhciBvID0gZS5sZW5ndGg7CiAgICAgICAgICAgIGZvciAodCA9IDA7IHQgPCBvOyB0KyspIGkgPSBuKGksIGVbdF0pOwogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgIH0sCiAgICAgICAgICBub3JtYWxpemVUaWNrSW50ZXJ2YWw6IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICAgICAgdmFyIHIgPSB0OwogICAgICAgICAgICBpID0gdShpLCAxKTsKICAgICAgICAgICAgdmFyIHMgPSB0IC8gaTsKICAgICAgICAgICAgZm9yIChlIHx8IChlID0gbyA/IFsxLCAxLjIsIDEuNSwgMiwgMi41LCAzLCA0LCA1LCA2LCA4LCAxMF0gOiBbMSwgMiwgMi41LCA1LCAxMF0sICExID09PSBuICYmICgxID09PSBpID8gZSA9IGUuZmlsdGVyKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIDAgPT09IHQgJSAxOwogICAgICAgICAgICB9KSkgOiAuMSA+PSBpICYmIChlID0gWzEgLyBpXSkpKSwgbiA9IDA7IG4gPCBlLmxlbmd0aCAmJiAociA9IGVbbl0sICEobyAmJiByICogaSA+PSB0IHx8ICFvICYmIHMgPD0gKGVbbl0gKyAoZVtuICsgMV0gfHwgZVtuXSkpIC8gMikpOyBuKyspIDsKICAgICAgICAgICAgcmV0dXJuIGcociAqIGksIC1NYXRoLnJvdW5kKE1hdGgubG9nKC4wMDEpIC8gTWF0aC5MTjEwKSk7CiAgICAgICAgICB9LAogICAgICAgICAgb2JqZWN0RWFjaDogeSwKICAgICAgICAgIG9mZnNldDogZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IF8uZG9jdW1lbnRFbGVtZW50OwogICAgICAgICAgICByZXR1cm4gdCA9IHQucGFyZW50RWxlbWVudCB8fCB0LnBhcmVudE5vZGUgPyB0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIDogewogICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgIHdpZHRoOiAwLAogICAgICAgICAgICAgIGhlaWdodDogMAogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgdG9wOiB0LnRvcCArICh3LnBhZ2VZT2Zmc2V0IHx8IGUuc2Nyb2xsVG9wKSAtIChlLmNsaWVudFRvcCB8fCAwKSwKICAgICAgICAgICAgICBsZWZ0OiB0LmxlZnQgKyAody5wYWdlWE9mZnNldCB8fCBlLnNjcm9sbExlZnQpIC0gKGUuY2xpZW50TGVmdCB8fCAwKSwKICAgICAgICAgICAgICB3aWR0aDogdC53aWR0aCwKICAgICAgICAgICAgICBoZWlnaHQ6IHQuaGVpZ2h0CiAgICAgICAgICAgIH07CiAgICAgICAgICB9LAogICAgICAgICAgcGFkOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiBBcnJheSgoZSB8fCAyKSArIDEgLSBTdHJpbmcodCkucmVwbGFjZSgiLSIsICIiKS5sZW5ndGgpLmpvaW4oaSB8fCAiMCIpICsgdDsKICAgICAgICAgIH0sCiAgICAgICAgICBwaWNrOiB1LAogICAgICAgICAgcEludDogbiwKICAgICAgICAgIHJlbGF0aXZlTGVuZ3RoOiBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiAvJSQvLnRlc3QodCkgPyBlICogcGFyc2VGbG9hdCh0KSAvIDEwMCArIChpIHx8IDApIDogcGFyc2VGbG9hdCh0KTsKICAgICAgICAgIH0sCiAgICAgICAgICByZW1vdmVFdmVudDogdiwKICAgICAgICAgIHNwbGF0OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiByKHQpID8gdCA6IFt0XTsKICAgICAgICAgIH0sCiAgICAgICAgICBzdGFibGVTb3J0OiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpLCBuLCBvID0gdC5sZW5ndGg7CiAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCBvOyBuKyspIHRbbl0uc2FmZUkgPSBuOwogICAgICAgICAgICBmb3IgKHQuc29ydCgoZnVuY3Rpb24odCwgbikgewogICAgICAgICAgICAgIHJldHVybiBpID0gZSh0LCBuKSwgMCA9PT0gaSA/IHQuc2FmZUkgLSBuLnNhZmVJIDogaTsKICAgICAgICAgICAgfSkpLCBuID0gMDsgbiA8IG87IG4rKykgZGVsZXRlIHRbbl0uc2FmZUk7CiAgICAgICAgICB9LAogICAgICAgICAgc3luY1RpbWVvdXQ6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIDAgPCBlID8gc2V0VGltZW91dCh0LCBlLCBpKSA6ICh0LmNhbGwoMCwgaSksIC0xKTsKICAgICAgICAgIH0sCiAgICAgICAgICB0aW1lVW5pdHM6IHsgbWlsbGlzZWNvbmQ6IDEsIHNlY29uZDogMWUzLCBtaW51dGU6IDZlNCwgaG91cjogMzZlNSwgZGF5OiA4NjRlNSwgd2VlazogNjA0OGU1LCBtb250aDogMjQxOTJlNSwgeWVhcjogMzE0NDk2ZTUgfSwKICAgICAgICAgIHVuaXF1ZUtleTogQywKICAgICAgICAgIHVzZVNlcmlhbElkczogZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gUyA9IHUodCwgUyk7CiAgICAgICAgICB9LAogICAgICAgICAgd3JhcDogZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRbZV07CiAgICAgICAgICAgIHRbZV0gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YXIgdCA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyksIGUgPSBhcmd1bWVudHMsIG8gPSB0aGlzOwogICAgICAgICAgICAgIHJldHVybiBvLnByb2NlZWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG4uYXBwbHkobywgYXJndW1lbnRzLmxlbmd0aCA/IGFyZ3VtZW50cyA6IGUpOwogICAgICAgICAgICAgIH0sIHQudW5zaGlmdChuKSwgdCA9IGkuYXBwbHkodGhpcywgdCksIG8ucHJvY2VlZCA9IG51bGwsIHQ7CiAgICAgICAgICAgIH07CiAgICAgICAgICB9CiAgICAgICAgfSwgazsKICAgICAgfSkpLCBlKGksICJDb3JlL0NoYXJ0L0NoYXJ0RGVmYXVsdHMuanMiLCBbXSwgKGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICBwYW5uaW5nOiB7IGVuYWJsZWQ6ICExLCB0eXBlOiAieCIgfSwKICAgICAgICAgIHN0eWxlZE1vZGU6ICExLAogICAgICAgICAgYm9yZGVyUmFkaXVzOiAwLAogICAgICAgICAgY29sb3JDb3VudDogMTAsCiAgICAgICAgICBkZWZhdWx0U2VyaWVzVHlwZTogImxpbmUiLAogICAgICAgICAgaWdub3JlSGlkZGVuU2VyaWVzOiAhMCwKICAgICAgICAgIHNwYWNpbmc6IFsxMCwgMTAsIDE1LCAxMF0sCiAgICAgICAgICByZXNldFpvb21CdXR0b246IHsgdGhlbWU6IHsgekluZGV4OiA2IH0sIHBvc2l0aW9uOiB7IGFsaWduOiAicmlnaHQiLCB4OiAtMTAsIHk6IDEwIH0gfSwKICAgICAgICAgIHpvb21CeVNpbmdsZVRvdWNoOiAhMSwKICAgICAgICAgIHdpZHRoOiBudWxsLAogICAgICAgICAgaGVpZ2h0OiBudWxsLAogICAgICAgICAgYm9yZGVyQ29sb3I6ICIjMzM1Y2FkIiwKICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgcGxvdEJvcmRlckNvbG9yOiAiI2NjY2NjYyIKICAgICAgICB9OwogICAgICB9KSksIGUoaSwgIkNvcmUvQ29sb3IvQ29sb3IuanMiLCBbaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgIHZhciBpID0gZS5pc051bWJlciwgbiA9IGUubWVyZ2UsIG8gPSBlLnBJbnQ7CiAgICAgICAgcmV0dXJuIGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUoaSkgewogICAgICAgICAgICB0aGlzLnJnYmEgPSBbTmFOLCBOYU4sIE5hTiwgTmFOXSwgdGhpcy5pbnB1dCA9IGk7CiAgICAgICAgICAgIHZhciBuID0gdC5Db2xvcjsKICAgICAgICAgICAgcmV0dXJuIG4gJiYgbiAhPT0gZSA/IG5ldyBuKGkpIDogdGhpcyBpbnN0YW5jZW9mIGUgPyB2b2lkIHRoaXMuaW5pdChpKSA6IG5ldyBlKGkpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBlLnBhcnNlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdCA/IG5ldyBlKHQpIDogZS5Ob25lOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGk7CiAgICAgICAgICAgIGlmICgib2JqZWN0IiA9PT0gdHlwZW9mIHQgJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB0LnN0b3BzKSB0aGlzLnN0b3BzID0gdC5zdG9wcy5tYXAoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gbmV3IGUodFsxXSk7CiAgICAgICAgICAgIH0pKTsgZWxzZSBpZiAoInN0cmluZyIgPT09IHR5cGVvZiB0KSB7CiAgICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXQgPSB0ID0gZS5uYW1lc1t0LnRvTG93ZXJDYXNlKCldIHx8IHQsICIjIiA9PT0gdC5jaGFyQXQoMCkpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gdC5sZW5ndGgsIG8gPSBwYXJzZUludCh0LnN1YnN0cigxKSwgMTYpOwogICAgICAgICAgICAgICAgNyA9PT0gbiA/IGkgPSBbKDE2NzExNjgwICYgbykgPj4gMTYsICg2NTI4MCAmIG8pID4+IDgsIDI1NSAmIG8sIDFdIDogNCA9PT0gbiAmJiAoaSA9IFsoMzg0MCAmIG8pID4+IDQgfCAoMzg0MCAmIG8pID4+IDgsICgyNDAgJiBvKSA+PiA0IHwgMjQwICYgbywgKDE1ICYgbykgPDwgNCB8IDE1ICYgbywgMV0pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoIWkpIGZvciAobyA9IGUucGFyc2Vycy5sZW5ndGg7IG8tLSAmJiAhaTspIHsKICAgICAgICAgICAgICAgIHZhciByID0gZS5wYXJzZXJzW29dOwogICAgICAgICAgICAgICAgKG4gPSByLnJlZ2V4LmV4ZWModCkpICYmIChpID0gci5wYXJzZShuKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGkgJiYgKHRoaXMucmdiYSA9IGkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuaW5wdXQsIG8gPSB0aGlzLnJnYmE7CiAgICAgICAgICAgIGlmICgib2JqZWN0IiA9PT0gdHlwZW9mIGUgJiYgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB0aGlzLnN0b3BzKSB7CiAgICAgICAgICAgICAgdmFyIHIgPSBuKGUpOwogICAgICAgICAgICAgIHJldHVybiByLnN0b3BzID0gW10uc2xpY2UuY2FsbChyLnN0b3BzKSwgdGhpcy5zdG9wcy5mb3JFYWNoKChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICByLnN0b3BzW2ldID0gW3Iuc3RvcHNbaV1bMF0sIGUuZ2V0KHQpXTsKICAgICAgICAgICAgICB9KSksIHI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIG8gJiYgaShvWzBdKSA/ICJyZ2IiID09PSB0IHx8ICF0ICYmIDEgPT09IG9bM10gPyAicmdiKCIgKyBvWzBdICsgIiwiICsgb1sxXSArICIsIiArIG9bMl0gKyAiKSIgOiAiYSIgPT09IHQgPyAiIiArIG9bM10gOiAicmdiYSgiICsgby5qb2luKCIsIikgKyAiKSIgOiBlOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuYnJpZ2h0ZW4gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5yZ2JhOwogICAgICAgICAgICBpZiAodGhpcy5zdG9wcykgdGhpcy5zdG9wcy5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgZS5icmlnaHRlbih0KTsKICAgICAgICAgICAgfSkpOyBlbHNlIGlmIChpKHQpICYmIDAgIT09IHQpIGZvciAodmFyIG4gPSAwOyAzID4gbjsgbisrKSBlW25dICs9IG8oMjU1ICogdCksIDAgPiBlW25dICYmIChlW25dID0gMCksIDI1NSA8IGVbbl0gJiYgKGVbbl0gPSAyNTUpOwogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnNldE9wYWNpdHkgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnJnYmFbM10gPSB0LCB0aGlzOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudHdlZW5UbyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLnJnYmEsIG8gPSB0LnJnYmE7CiAgICAgICAgICAgIHJldHVybiBpKG5bMF0pICYmIGkob1swXSkgPyAodCA9IDEgIT09IG9bM10gfHwgMSAhPT0gblszXSwgKHQgPyAicmdiYSgiIDogInJnYigiKSArIE1hdGgucm91bmQob1swXSArIChuWzBdIC0gb1swXSkgKiAoMSAtIGUpKSArICIsIiArIE1hdGgucm91bmQob1sxXSArIChuWzFdIC0gb1sxXSkgKiAoMSAtIGUpKSArICIsIiArIE1hdGgucm91bmQob1syXSArIChuWzJdIC0gb1syXSkgKiAoMSAtIGUpKSArICh0ID8gIiwiICsgKG9bM10gKyAoblszXSAtIG9bM10pICogKDEgLSBlKSkgOiAiIikgKyAiKSIpIDogdC5pbnB1dCB8fCAibm9uZSI7CiAgICAgICAgICB9LCBlLm5hbWVzID0gewogICAgICAgICAgICB3aGl0ZTogIiNmZmZmZmYiLAogICAgICAgICAgICBibGFjazogIiMwMDAwMDAiCiAgICAgICAgICB9LCBlLnBhcnNlcnMgPSBbewogICAgICAgICAgICByZWdleDogL3JnYmFcKFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XT8oPzpcLlswLTldKyk/KVxzKlwpLywgcGFyc2U6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gW28odFsxXSksIG8odFsyXSksIG8odFszXSksIHBhcnNlRmxvYXQodFs0XSwgMTApXTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgewogICAgICAgICAgICByZWdleDogL3JnYlwoXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccypcKS8sIHBhcnNlOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIFtvKHRbMV0pLCBvKHRbMl0pLCBvKHRbM10pLCAxXTsKICAgICAgICAgICAgfQogICAgICAgICAgfV0sIGUuTm9uZSA9IG5ldyBlKCIiKSwgZTsKICAgICAgICB9KCksIGU7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9Db2xvci9QYWxldHRlcy5qcyIsIFtdLCAoZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHsgY29sb3JzOiAiIzdjYjVlYyAjNDM0MzQ4ICM5MGVkN2QgI2Y3YTM1YyAjODA4NWU5ICNmMTVjODAgI2U0ZDM1NCAjMmI5MDhmICNmNDViNWIgIzkxZThlMSIuc3BsaXQoIiAiKSB9OwogICAgICB9KSksIGUoaSwgIkNvcmUvVGltZS5qcyIsIFtpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSB0LndpbiwgbiA9IGUuZGVmaW5lZCwgbyA9IGUuZXJyb3IsIHIgPSBlLmV4dGVuZCwgcyA9IGUuaXNPYmplY3QsIGEgPSBlLm1lcmdlLCBoID0gZS5vYmplY3RFYWNoLCBsID0gZS5wYWQsIGMgPSBlLnBpY2ssIHAgPSBlLnNwbGF0LAogICAgICAgICAgZCA9IGUudGltZVVuaXRzLCB1ID0gdC5pc1NhZmFyaSAmJiBpLkludGwgJiYgaS5JbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXRSYW5nZSwKICAgICAgICAgIGYgPSB0LmlzU2FmYXJpICYmIGkuSW50bCAmJiAhaS5JbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXRSYW5nZTsKICAgICAgICByZXR1cm4gZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gZSh0KSB7CiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHt9LCB0aGlzLnZhcmlhYmxlVGltZXpvbmUgPSB0aGlzLnVzZVVUQyA9ICExLCB0aGlzLkRhdGUgPSBpLkRhdGUsIHRoaXMuZ2V0VGltZXpvbmVPZmZzZXQgPSB0aGlzLnRpbWV6b25lT2Zmc2V0RnVuY3Rpb24oKSwgdGhpcy51cGRhdGUodCk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGUucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgaWYgKHRoaXMudmFyaWFibGVUaW1lem9uZSB8fCB0aGlzLnRpbWV6b25lT2Zmc2V0KSB7CiAgICAgICAgICAgICAgdmFyIGkgPSBlLmdldFRpbWUoKSwgbiA9IGkgLSB0aGlzLmdldFRpbWV6b25lT2Zmc2V0KGUpOwogICAgICAgICAgICAgIHJldHVybiBlLnNldFRpbWUobiksIHQgPSBlWyJnZXRVVEMiICsgdF0oKSwgZS5zZXRUaW1lKGkpLCB0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0aGlzLnVzZVVUQyA/IGVbImdldFVUQyIgKyB0XSgpIDogZVsiZ2V0IiArIHRdKCk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIGlmICh0aGlzLnZhcmlhYmxlVGltZXpvbmUgfHwgdGhpcy50aW1lem9uZU9mZnNldCkgewogICAgICAgICAgICAgIGlmICgiTWlsbGlzZWNvbmRzIiA9PT0gdCB8fCAiU2Vjb25kcyIgPT09IHQgfHwgIk1pbnV0ZXMiID09PSB0ICYmIDAgPT09IHRoaXMuZ2V0VGltZXpvbmVPZmZzZXQoZSkgJSAzNmU1KSByZXR1cm4gZVsic2V0VVRDIiArIHRdKGkpOwogICAgICAgICAgICAgIHZhciBuID0gdGhpcy5nZXRUaW1lem9uZU9mZnNldChlKTsKICAgICAgICAgICAgICByZXR1cm4gbiA9IGUuZ2V0VGltZSgpIC0gbiwgZS5zZXRUaW1lKG4pLCBlWyJzZXRVVEMiICsgdF0oaSksIHQgPSB0aGlzLmdldFRpbWV6b25lT2Zmc2V0KGUpLCBuID0gZS5nZXRUaW1lKCkgKyB0LCBlLnNldFRpbWUobik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlVVRDIHx8IHUgJiYgIkZ1bGxZZWFyIiA9PT0gdCA/IGVbInNldFVUQyIgKyB0XShpKSA6IGVbInNldCIgKyB0XShpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSBjKHQgJiYgdC51c2VVVEMsICEwKTsKICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gdCA9IGEoITAsIHRoaXMub3B0aW9ucyB8fCB7fSwgdCksIHRoaXMuRGF0ZSA9IHQuRGF0ZSB8fCBpLkRhdGUgfHwgRGF0ZSwgdGhpcy50aW1lem9uZU9mZnNldCA9ICh0aGlzLnVzZVVUQyA9IGUpICYmIHQudGltZXpvbmVPZmZzZXQsIHRoaXMuZ2V0VGltZXpvbmVPZmZzZXQgPSB0aGlzLnRpbWV6b25lT2Zmc2V0RnVuY3Rpb24oKSwgdGhpcy52YXJpYWJsZVRpbWV6b25lID0gZSAmJiAhKCF0LmdldFRpbWV6b25lT2Zmc2V0ICYmICF0LnRpbWV6b25lKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLm1ha2VUaW1lID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgcikgewogICAgICAgICAgICBpZiAodGhpcy51c2VVVEMpIHsKICAgICAgICAgICAgICB2YXIgcyA9IHRoaXMuRGF0ZS5VVEMuYXBwbHkoMCwgYXJndW1lbnRzKSwgYSA9IHRoaXMuZ2V0VGltZXpvbmVPZmZzZXQocyk7CiAgICAgICAgICAgICAgcyArPSBhOwogICAgICAgICAgICAgIHZhciBoID0gdGhpcy5nZXRUaW1lem9uZU9mZnNldChzKTsKICAgICAgICAgICAgICBhICE9PSBoID8gcyArPSBoIC0gYSA6IGEgLSAzNmU1ICE9PSB0aGlzLmdldFRpbWV6b25lT2Zmc2V0KHMgLSAzNmU1KSB8fCBmIHx8IChzIC09IDM2ZTUpOwogICAgICAgICAgICB9IGVsc2UgcyA9IG5ldyB0aGlzLkRhdGUodCwgZSwgYyhpLCAxKSwgYyhuLCAwKSwgYyhvLCAwKSwgYyhyLCAwKSkuZ2V0VGltZSgpOwogICAgICAgICAgICByZXR1cm4gczsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnRpbWV6b25lT2Zmc2V0RnVuY3Rpb24gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdGhpcy5vcHRpb25zLCBuID0gZS5nZXRUaW1lem9uZU9mZnNldCwgciA9IGUubW9tZW50IHx8IGkubW9tZW50OwogICAgICAgICAgICBpZiAoIXRoaXMudXNlVVRDKSByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiA2ZTQgKiBuZXcgRGF0ZSh0LnRvU3RyaW5nKCkpLmdldFRpbWV6b25lT2Zmc2V0KCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGlmIChlLnRpbWV6b25lKSB7CiAgICAgICAgICAgICAgaWYgKHIpIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gNmU0ICogLXIudHoodCwgZS50aW1lem9uZSkudXRjT2Zmc2V0KCk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBvKDI1KTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdGhpcy51c2VVVEMgJiYgbiA/IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gNmU0ICogbih0LnZhbHVlT2YoKSk7CiAgICAgICAgICAgIH0gOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICByZXR1cm4gNmU0ICogKHQudGltZXpvbmVPZmZzZXQgfHwgMCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5kYXRlRm9ybWF0ID0gZnVuY3Rpb24oZSwgaSwgbykgewogICAgICAgICAgICBpZiAoIW4oaSkgfHwgaXNOYU4oaSkpIHJldHVybiB0LmRlZmF1bHRPcHRpb25zLmxhbmcgJiYgdC5kZWZhdWx0T3B0aW9ucy5sYW5nLmludmFsaWREYXRlIHx8ICIiOwogICAgICAgICAgICBlID0gYyhlLCAiJVktJW0tJWQgJUg6JU06JVMiKTsKICAgICAgICAgICAgdmFyIHMgPSB0aGlzLCBhID0gbmV3IHRoaXMuRGF0ZShpKSwgcCA9IHRoaXMuZ2V0KCJIb3VycyIsIGEpLCBkID0gdGhpcy5nZXQoIkRheSIsIGEpLCB1ID0gdGhpcy5nZXQoIkRhdGUiLCBhKSwgZiA9IHRoaXMuZ2V0KCJNb250aCIsIGEpLAogICAgICAgICAgICAgIGcgPSB0aGlzLmdldCgiRnVsbFllYXIiLCBhKSwgbSA9IHQuZGVmYXVsdE9wdGlvbnMubGFuZywgeSA9IG0gJiYgbS53ZWVrZGF5cywgdiA9IG0gJiYgbS5zaG9ydFdlZWtkYXlzOwogICAgICAgICAgICByZXR1cm4gYSA9IHIoewogICAgICAgICAgICAgIGE6IHYgPyB2W2RdIDogeVtkXS5zdWJzdHIoMCwgMyksCiAgICAgICAgICAgICAgQTogeVtkXSwKICAgICAgICAgICAgICBkOiBsKHUpLAogICAgICAgICAgICAgIGU6IGwodSwgMiwgIiAiKSwKICAgICAgICAgICAgICB3OiBkLAogICAgICAgICAgICAgIGI6IG0uc2hvcnRNb250aHNbZl0sCiAgICAgICAgICAgICAgQjogbS5tb250aHNbZl0sCiAgICAgICAgICAgICAgbTogbChmICsgMSksCiAgICAgICAgICAgICAgbzogZiArIDEsCiAgICAgICAgICAgICAgeTogZy50b1N0cmluZygpLnN1YnN0cigyLCAyKSwKICAgICAgICAgICAgICBZOiBnLAogICAgICAgICAgICAgIEg6IGwocCksCiAgICAgICAgICAgICAgazogcCwKICAgICAgICAgICAgICBJOiBsKHAgJSAxMiB8fCAxMiksCiAgICAgICAgICAgICAgbDogcCAlIDEyIHx8IDEyLAogICAgICAgICAgICAgIE06IGwodGhpcy5nZXQoIk1pbnV0ZXMiLCBhKSksCiAgICAgICAgICAgICAgcDogMTIgPiBwID8gIkFNIiA6ICJQTSIsCiAgICAgICAgICAgICAgUDogMTIgPiBwID8gImFtIiA6ICJwbSIsCiAgICAgICAgICAgICAgUzogbChhLmdldFNlY29uZHMoKSksCiAgICAgICAgICAgICAgTDogbChNYXRoLmZsb29yKGkgJSAxZTMpLCAzKQogICAgICAgICAgICB9LCB0LmRhdGVGb3JtYXRzKSwgaChhLCAoZnVuY3Rpb24odCwgbikgewogICAgICAgICAgICAgIGZvciAoOyAtMSAhPT0gZS5pbmRleE9mKCIlIiArIG4pOykgZSA9IGUucmVwbGFjZSgiJSIgKyBuLCAiZnVuY3Rpb24iID09PSB0eXBlb2YgdCA/IHQuY2FsbChzLCBpKSA6IHQpOwogICAgICAgICAgICB9KSksIG8gPyBlLnN1YnN0cigwLCAxKS50b1VwcGVyQ2FzZSgpICsgZS5zdWJzdHIoMSkgOiBlOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVzb2x2ZURUTEZvcm1hdCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHModCwgITApID8gdCA6ICh0ID0gcCh0KSwgeyBtYWluOiB0WzBdLCBmcm9tOiB0WzFdLCB0bzogdFsyXSB9KTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldFRpbWVUaWNrcyA9IGZ1bmN0aW9uKHQsIGUsIGksIG8pIHsKICAgICAgICAgICAgdmFyIHMsIGEgPSB0aGlzLCBoID0gW10sIGwgPSB7fSwgcCA9IG5ldyBhLkRhdGUoZSksIHUgPSB0LnVuaXRSYW5nZSwgZiA9IHQuY291bnQgfHwgMTsKICAgICAgICAgICAgaWYgKG8gPSBjKG8sIDEpLCBuKGUpKSB7CiAgICAgICAgICAgICAgaWYgKGEuc2V0KCJNaWxsaXNlY29uZHMiLCBwLCB1ID49IGQuc2Vjb25kID8gMCA6IGYgKiBNYXRoLmZsb29yKGEuZ2V0KCJNaWxsaXNlY29uZHMiLCBwKSAvIGYpKSwgdSA+PSBkLnNlY29uZCAmJiBhLnNldCgiU2Vjb25kcyIsIHAsIHUgPj0gZC5taW51dGUgPyAwIDogZiAqIE1hdGguZmxvb3IoYS5nZXQoIlNlY29uZHMiLCBwKSAvIGYpKSwgdSA+PSBkLm1pbnV0ZSAmJiBhLnNldCgiTWludXRlcyIsIHAsIHUgPj0gZC5ob3VyID8gMCA6IGYgKiBNYXRoLmZsb29yKGEuZ2V0KCJNaW51dGVzIiwgcCkgLyBmKSksIHUgPj0gZC5ob3VyICYmIGEuc2V0KCJIb3VycyIsIHAsIHUgPj0gZC5kYXkgPyAwIDogZiAqIE1hdGguZmxvb3IoYS5nZXQoIkhvdXJzIiwgcCkgLyBmKSksIHUgPj0gZC5kYXkgJiYgYS5zZXQoIkRhdGUiLCBwLCB1ID49IGQubW9udGggPyAxIDogTWF0aC5tYXgoMSwgZiAqIE1hdGguZmxvb3IoYS5nZXQoIkRhdGUiLCBwKSAvIGYpKSksIHUgPj0gZC5tb250aCkgewogICAgICAgICAgICAgICAgYS5zZXQoIk1vbnRoIiwgcCwgdSA+PSBkLnllYXIgPyAwIDogZiAqIE1hdGguZmxvb3IoYS5nZXQoIk1vbnRoIiwgcCkgLyBmKSk7CiAgICAgICAgICAgICAgICB2YXIgZyA9IGEuZ2V0KCJGdWxsWWVhciIsIHApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB1ID49IGQueWVhciAmJiBhLnNldCgiRnVsbFllYXIiLCBwLCBnIC0gZyAlIGYpLCB1ID09PSBkLndlZWsgJiYgKGcgPSBhLmdldCgiRGF5IiwgcCksIGEuc2V0KCJEYXRlIiwgcCwgYS5nZXQoIkRhdGUiLCBwKSAtIGcgKyBvICsgKGcgPCBvID8gLTcgOiAwKSkpLCBnID0gYS5nZXQoIkZ1bGxZZWFyIiwgcCksIG8gPSBhLmdldCgiTW9udGgiLCBwKTsKICAgICAgICAgICAgICB2YXIgbSA9IGEuZ2V0KCJEYXRlIiwgcCksIHkgPSBhLmdldCgiSG91cnMiLCBwKTsKICAgICAgICAgICAgICBmb3IgKGUgPSBwLmdldFRpbWUoKSwgIWEudmFyaWFibGVUaW1lem9uZSAmJiBhLnVzZVVUQyB8fCAhbihpKSB8fCAocyA9IGkgLSBlID4gNCAqIGQubW9udGggfHwgYS5nZXRUaW1lem9uZU9mZnNldChlKSAhPT0gYS5nZXRUaW1lem9uZU9mZnNldChpKSksIGUgPSBwLmdldFRpbWUoKSwgcCA9IDE7IGUgPCBpOykgaC5wdXNoKGUpLCBlID0gdSA9PT0gZC55ZWFyID8gYS5tYWtlVGltZShnICsgcCAqIGYsIDApIDogdSA9PT0gZC5tb250aCA/IGEubWFrZVRpbWUoZywgbyArIHAgKiBmKSA6ICFzIHx8IHUgIT09IGQuZGF5ICYmIHUgIT09IGQud2VlayA/IHMgJiYgdSA9PT0gZC5ob3VyICYmIDEgPCBmID8gYS5tYWtlVGltZShnLCBvLCBtLCB5ICsgcCAqIGYpIDogZSArIHUgKiBmIDogYS5tYWtlVGltZShnLCBvLCBtICsgcCAqIGYgKiAodSA9PT0gZC5kYXkgPyAxIDogNykpLCBwKys7CiAgICAgICAgICAgICAgaC5wdXNoKGUpLCB1IDw9IGQuaG91ciAmJiAxZTQgPiBoLmxlbmd0aCAmJiBoLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIDAgPT09IHQgJSAxOGU1ICYmICIwMDAwMDAwMDAiID09PSBhLmRhdGVGb3JtYXQoIiVIJU0lUyVMIiwgdCkgJiYgKGxbdF0gPSAiZGF5Iik7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBoLmluZm8gPSByKHQsIHsgaGlnaGVyUmFua3M6IGwsIHRvdGFsUmFuZ2U6IHUgKiBmIH0pLCBoOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0RGF0ZUZvcm1hdCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLmRhdGVGb3JtYXQoIiVtLSVkICVIOiVNOiVTLiVMIiwgZSksIHIgPSB7IG1pbGxpc2Vjb25kOiAxNSwgc2Vjb25kOiAxMiwgbWludXRlOiA5LCBob3VyOiA2LCBkYXk6IDMgfSwgcyA9ICJtaWxsaXNlY29uZCI7CiAgICAgICAgICAgIGZvciAoYSBpbiBkKSB7CiAgICAgICAgICAgICAgaWYgKHQgPT09IGQud2VlayAmJiArdGhpcy5kYXRlRm9ybWF0KCIldyIsIGUpID09PSBpICYmICIwMDowMDowMC4wMDAiID09PSBvLnN1YnN0cig2KSkgewogICAgICAgICAgICAgICAgdmFyIGEgPSAid2VlayI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGRbYV0gPiB0KSB7CiAgICAgICAgICAgICAgICBhID0gczsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoclthXSAmJiBvLnN1YnN0cihyW2FdKSAhPT0gIjAxLTAxIDAwOjAwOjAwLjAwMCIuc3Vic3RyKHJbYV0pKSBicmVhazsKICAgICAgICAgICAgICAid2VlayIgIT09IGEgJiYgKHMgPSBhKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYSkgdmFyIGggPSB0aGlzLnJlc29sdmVEVExGb3JtYXQoblthXSkubWFpbjsKICAgICAgICAgICAgcmV0dXJuIGg7CiAgICAgICAgICB9LCBlOwogICAgICAgIH0oKSwgZTsKICAgICAgfSkpLCBlKGksICJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIiwgW2lbIkNvcmUvQ2hhcnQvQ2hhcnREZWZhdWx0cy5qcyJdLCBpWyJDb3JlL0NvbG9yL0NvbG9yLmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL0NvbG9yL1BhbGV0dGVzLmpzIl0sIGlbIkNvcmUvVGltZS5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIpIHsKICAgICAgICBlID0gZS5wYXJzZTsKICAgICAgICB2YXIgcyA9IHIubWVyZ2UsIGEgPSB7CiAgICAgICAgICBjb2xvcnM6IG4uY29sb3JzLAogICAgICAgICAgc3ltYm9sczogWyJjaXJjbGUiLCAiZGlhbW9uZCIsICJzcXVhcmUiLCAidHJpYW5nbGUiLCAidHJpYW5nbGUtZG93biJdLAogICAgICAgICAgbGFuZzogewogICAgICAgICAgICBsb2FkaW5nOiAiTG9hZGluZy4uLiIsCiAgICAgICAgICAgIG1vbnRoczogIkphbnVhcnkgRmVicnVhcnkgTWFyY2ggQXByaWwgTWF5IEp1bmUgSnVseSBBdWd1c3QgU2VwdGVtYmVyIE9jdG9iZXIgTm92ZW1iZXIgRGVjZW1iZXIiLnNwbGl0KCIgIiksCiAgICAgICAgICAgIHNob3J0TW9udGhzOiAiSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksCiAgICAgICAgICAgIHdlZWtkYXlzOiAiU3VuZGF5IE1vbmRheSBUdWVzZGF5IFdlZG5lc2RheSBUaHVyc2RheSBGcmlkYXkgU2F0dXJkYXkiLnNwbGl0KCIgIiksCiAgICAgICAgICAgIGRlY2ltYWxQb2ludDogIi4iLAogICAgICAgICAgICBudW1lcmljU3ltYm9sczogImtNR1RQRSIuc3BsaXQoIiIpLAogICAgICAgICAgICByZXNldFpvb206ICJSZXNldCB6b29tIiwKICAgICAgICAgICAgcmVzZXRab29tVGl0bGU6ICJSZXNldCB6b29tIGxldmVsIDE6MSIsCiAgICAgICAgICAgIHRob3VzYW5kc1NlcDogIiAiCiAgICAgICAgICB9LAogICAgICAgICAgZ2xvYmFsOiB7fSwKICAgICAgICAgIHRpbWU6IHsgRGF0ZTogdm9pZCAwLCBnZXRUaW1lem9uZU9mZnNldDogdm9pZCAwLCB0aW1lem9uZTogdm9pZCAwLCB0aW1lem9uZU9mZnNldDogMCwgdXNlVVRDOiAhMCB9LAogICAgICAgICAgY2hhcnQ6IHQsCiAgICAgICAgICB0aXRsZTogeyB0ZXh0OiAiQ2hhcnQgdGl0bGUiLCBhbGlnbjogImNlbnRlciIsIG1hcmdpbjogMTUsIHdpZHRoQWRqdXN0OiAtNDQgfSwKICAgICAgICAgIHN1YnRpdGxlOiB7IHRleHQ6ICIiLCBhbGlnbjogImNlbnRlciIsIHdpZHRoQWRqdXN0OiAtNDQgfSwKICAgICAgICAgIGNhcHRpb246IHsgbWFyZ2luOiAxNSwgdGV4dDogIiIsIGFsaWduOiAibGVmdCIsIHZlcnRpY2FsQWxpZ246ICJib3R0b20iIH0sCiAgICAgICAgICBwbG90T3B0aW9uczoge30sCiAgICAgICAgICBsYWJlbHM6IHsgc3R5bGU6IHsgcG9zaXRpb246ICJhYnNvbHV0ZSIsIGNvbG9yOiAiIzMzMzMzMyIgfSB9LAogICAgICAgICAgbGVnZW5kOiB7CiAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICBhbGlnbjogImNlbnRlciIsCiAgICAgICAgICAgIGFsaWduQ29sdW1uczogITAsCiAgICAgICAgICAgIGNsYXNzTmFtZTogImhpZ2hjaGFydHMtbm8tdG9vbHRpcCIsCiAgICAgICAgICAgIGxheW91dDogImhvcml6b250YWwiLAogICAgICAgICAgICBsYWJlbEZvcm1hdHRlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICIjOTk5OTk5IiwKICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAwLAogICAgICAgICAgICBuYXZpZ2F0aW9uOiB7IGFjdGl2ZUNvbG9yOiAiIzAwMzM5OSIsIGluYWN0aXZlQ29sb3I6ICIjY2NjY2NjIiB9LAogICAgICAgICAgICBpdGVtU3R5bGU6IHsgY29sb3I6ICIjMzMzMzMzIiwgY3Vyc29yOiAicG9pbnRlciIsIGZvbnRTaXplOiAiMTJweCIsIGZvbnRXZWlnaHQ6ICJib2xkIiwgdGV4dE92ZXJmbG93OiAiZWxsaXBzaXMiIH0sCiAgICAgICAgICAgIGl0ZW1Ib3ZlclN0eWxlOiB7IGNvbG9yOiAiIzAwMDAwMCIgfSwKICAgICAgICAgICAgaXRlbUhpZGRlblN0eWxlOiB7IGNvbG9yOiAiI2NjY2NjYyIgfSwKICAgICAgICAgICAgc2hhZG93OiAhMSwKICAgICAgICAgICAgaXRlbUNoZWNrYm94U3R5bGU6IHsgcG9zaXRpb246ICJhYnNvbHV0ZSIsIHdpZHRoOiAiMTNweCIsIGhlaWdodDogIjEzcHgiIH0sCiAgICAgICAgICAgIHNxdWFyZVN5bWJvbDogITAsCiAgICAgICAgICAgIHN5bWJvbFBhZGRpbmc6IDUsCiAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICJib3R0b20iLAogICAgICAgICAgICB4OiAwLAogICAgICAgICAgICB5OiAwLAogICAgICAgICAgICB0aXRsZTogeyBzdHlsZTogeyBmb250V2VpZ2h0OiAiYm9sZCIgfSB9CiAgICAgICAgICB9LAogICAgICAgICAgbG9hZGluZzogewogICAgICAgICAgICBsYWJlbFN0eWxlOiB7IGZvbnRXZWlnaHQ6ICJib2xkIiwgcG9zaXRpb246ICJyZWxhdGl2ZSIsIHRvcDogIjQ1JSIgfSwKICAgICAgICAgICAgc3R5bGU6IHsgcG9zaXRpb246ICJhYnNvbHV0ZSIsIGJhY2tncm91bmRDb2xvcjogIiNmZmZmZmYiLCBvcGFjaXR5OiAuNSwgdGV4dEFsaWduOiAiY2VudGVyIiB9CiAgICAgICAgICB9LAogICAgICAgICAgdG9vbHRpcDogewogICAgICAgICAgICBlbmFibGVkOiAhMCwKICAgICAgICAgICAgYW5pbWF0aW9uOiBpLnN2ZywKICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAzLAogICAgICAgICAgICBkYXRlVGltZUxhYmVsRm9ybWF0czogewogICAgICAgICAgICAgIG1pbGxpc2Vjb25kOiAiJUEsICViICVlLCAlSDolTTolUy4lTCIsCiAgICAgICAgICAgICAgc2Vjb25kOiAiJUEsICViICVlLCAlSDolTTolUyIsCiAgICAgICAgICAgICAgbWludXRlOiAiJUEsICViICVlLCAlSDolTSIsCiAgICAgICAgICAgICAgaG91cjogIiVBLCAlYiAlZSwgJUg6JU0iLAogICAgICAgICAgICAgIGRheTogIiVBLCAlYiAlZSwgJVkiLAogICAgICAgICAgICAgIHdlZWs6ICJXZWVrIGZyb20gJUEsICViICVlLCAlWSIsCiAgICAgICAgICAgICAgbW9udGg6ICIlQiAlWSIsCiAgICAgICAgICAgICAgeWVhcjogIiVZIgogICAgICAgICAgICB9LAogICAgICAgICAgICBmb290ZXJGb3JtYXQ6ICIiLAogICAgICAgICAgICBoZWFkZXJTaGFwZTogImNhbGxvdXQiLAogICAgICAgICAgICBoaWRlRGVsYXk6IDUwMCwKICAgICAgICAgICAgcGFkZGluZzogOCwKICAgICAgICAgICAgc2hhcGU6ICJjYWxsb3V0IiwKICAgICAgICAgICAgc2hhcmVkOiAhMSwKICAgICAgICAgICAgc25hcDogaS5pc1RvdWNoRGV2aWNlID8gMjUgOiAxMCwKICAgICAgICAgICAgaGVhZGVyRm9ybWF0OiAiPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEwcHhcIj57cG9pbnQua2V5fTwvc3Bhbj48YnIvPiIsCiAgICAgICAgICAgIHBvaW50Rm9ybWF0OiAiPHNwYW4gc3R5bGU9XCJjb2xvcjp7cG9pbnQuY29sb3J9XCI+4pePPC9zcGFuPiB7c2VyaWVzLm5hbWV9OiA8Yj57cG9pbnQueX08L2I+PGJyLz4iLAogICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGUoIiNmN2Y3ZjciKS5zZXRPcGFjaXR5KC44NSkuZ2V0KCksCiAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLAogICAgICAgICAgICBzaGFkb3c6ICEwLAogICAgICAgICAgICBzdGlja09uQ29udGFjdDogITEsCiAgICAgICAgICAgIHN0eWxlOiB7IGNvbG9yOiAiIzMzMzMzMyIsIGN1cnNvcjogImRlZmF1bHQiLCBmb250U2l6ZTogIjEycHgiLCB3aGl0ZVNwYWNlOiAibm93cmFwIiB9LAogICAgICAgICAgICB1c2VIVE1MOiAhMQogICAgICAgICAgfSwKICAgICAgICAgIGNyZWRpdHM6IHsKICAgICAgICAgICAgZW5hYmxlZDogITAsCiAgICAgICAgICAgIGhyZWY6ICJodHRwczovL3d3dy5oaWdoY2hhcnRzLmNvbT9jcmVkaXRzIiwKICAgICAgICAgICAgcG9zaXRpb246IHsgYWxpZ246ICJyaWdodCIsIHg6IC0xMCwgdmVydGljYWxBbGlnbjogImJvdHRvbSIsIHk6IC01IH0sCiAgICAgICAgICAgIHN0eWxlOiB7IGN1cnNvcjogInBvaW50ZXIiLCBjb2xvcjogIiM5OTk5OTkiLCBmb250U2l6ZTogIjlweCIgfSwKICAgICAgICAgICAgdGV4dDogIkhpZ2hjaGFydHMuY29tIgogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgYS5jaGFydC5zdHlsZWRNb2RlID0gITE7CiAgICAgICAgdmFyIGggPSBuZXcgbyhzKGEuZ2xvYmFsLCBhLnRpbWUpKTsKICAgICAgICByZXR1cm4gdCA9IHsKICAgICAgICAgIGRlZmF1bHRPcHRpb25zOiBhLCBkZWZhdWx0VGltZTogaCwgZ2V0T3B0aW9uczogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgICAgfSwgc2V0T3B0aW9uczogZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gcyghMCwgYSwgdCksICh0LnRpbWUgfHwgdC5nbG9iYWwpICYmIChpLnRpbWUgPyBpLnRpbWUudXBkYXRlKHMoYS5nbG9iYWwsIGEudGltZSwgdC5nbG9iYWwsIHQudGltZSkpIDogaS50aW1lID0gaCksIGE7CiAgICAgICAgICB9CiAgICAgICAgfSwgdDsKICAgICAgfSkpLCBlKGksICJDb3JlL0FuaW1hdGlvbi9GeC5qcyIsIFtpWyJDb3JlL0NvbG9yL0NvbG9yLmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbiA9IHQucGFyc2UsIG8gPSBlLndpbiwgciA9IGkuaXNOdW1iZXIsIHMgPSBpLm9iamVjdEVhY2g7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gdCh0LCBlLCBpKSB7CiAgICAgICAgICAgIHRoaXMucG9zID0gTmFOLCB0aGlzLm9wdGlvbnMgPSBlLCB0aGlzLmVsZW0gPSB0LCB0aGlzLnByb3AgPSBpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5kU2V0dGVyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5wYXRocywgZSA9IHQgJiYgdFswXTsKICAgICAgICAgICAgdCA9IHQgJiYgdFsxXTsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLm5vdyB8fCAwLCBuID0gW107CiAgICAgICAgICAgIGlmICgxICE9PSBpICYmIGUgJiYgdCkgaWYgKGUubGVuZ3RoID09PSB0Lmxlbmd0aCAmJiAxID4gaSkgZm9yICh2YXIgbyA9IDA7IG8gPCB0Lmxlbmd0aDsgbysrKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgcyA9IGVbb10sIGEgPSB0W29dLCBoID0gW10sIGwgPSAwOyBsIDwgYS5sZW5ndGg7IGwrKykgewogICAgICAgICAgICAgICAgdmFyIGMgPSBzW2xdLCBwID0gYVtsXTsKICAgICAgICAgICAgICAgIHIoYykgJiYgcihwKSAmJiAoIkEiICE9PSBhWzBdIHx8IDQgIT09IGwgJiYgNSAhPT0gbCkgPyBoW2xdID0gYyArIGkgKiAocCAtIGMpIDogaFtsXSA9IHA7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG4ucHVzaChoKTsKICAgICAgICAgICAgfSBlbHNlIG4gPSB0OyBlbHNlIG4gPSB0aGlzLnRvRCB8fCBbXTsKICAgICAgICAgICAgdGhpcy5lbGVtLmF0dHIoImQiLCBuLCB2b2lkIDAsICEwKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZWxlbSwgZSA9IHRoaXMucHJvcCwgaSA9IHRoaXMubm93LCBuID0gdGhpcy5vcHRpb25zLnN0ZXA7CiAgICAgICAgICAgIHRoaXNbZSArICJTZXR0ZXIiXSA/IHRoaXNbZSArICJTZXR0ZXIiXSgpIDogdC5hdHRyID8gdC5lbGVtZW50ICYmIHQuYXR0cihlLCBpLCBudWxsLCAhMCkgOiB0LnN0eWxlW2VdID0gaSArIHRoaXMudW5pdCwgbiAmJiBuLmNhbGwodCwgaSwgdGhpcyk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbihlLCBpLCBuKSB7CiAgICAgICAgICAgIHZhciByID0gdGhpcywgcyA9IHIub3B0aW9ucywgYSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gIWEuc3RvcHBlZCAmJiByLnN0ZXAodCk7CiAgICAgICAgICAgIH0sIGggPSBvLnJlcXVlc3RBbmltYXRpb25GcmFtZSB8fCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgc2V0VGltZW91dCh0LCAxMyk7CiAgICAgICAgICAgIH0sIGwgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBlID0gMDsgZSA8IHQudGltZXJzLmxlbmd0aDsgZSsrKSB0LnRpbWVyc1tlXSgpIHx8IHQudGltZXJzLnNwbGljZShlLS0sIDEpOwogICAgICAgICAgICAgIHQudGltZXJzLmxlbmd0aCAmJiBoKGwpOwogICAgICAgICAgICB9OwogICAgICAgICAgICBlICE9PSBpIHx8IHRoaXMuZWxlbVsiZm9yY2VBbmltYXRlOiIgKyB0aGlzLnByb3BdID8gKHRoaXMuc3RhcnRUaW1lID0gK25ldyBEYXRlLCB0aGlzLnN0YXJ0ID0gZSwgdGhpcy5lbmQgPSBpLCB0aGlzLnVuaXQgPSBuLCB0aGlzLm5vdyA9IHRoaXMuc3RhcnQsIHRoaXMucG9zID0gMCwgYS5lbGVtID0gdGhpcy5lbGVtLCBhLnByb3AgPSB0aGlzLnByb3AsIGEoKSAmJiAxID09PSB0LnRpbWVycy5wdXNoKGEpICYmIGgobCkpIDogKGRlbGV0ZSBzLmN1ckFuaW1bdGhpcy5wcm9wXSwgcy5jb21wbGV0ZSAmJiAwID09PSBPYmplY3Qua2V5cyhzLmN1ckFuaW0pLmxlbmd0aCAmJiBzLmNvbXBsZXRlLmNhbGwodGhpcy5lbGVtKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zdGVwID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9ICtuZXcgRGF0ZSwgaSA9IHRoaXMub3B0aW9ucywgbiA9IHRoaXMuZWxlbSwgbyA9IGkuY29tcGxldGUsIHIgPSBpLmR1cmF0aW9uLCBhID0gaS5jdXJBbmltOwogICAgICAgICAgICBpZiAobi5hdHRyICYmICFuLmVsZW1lbnQpIHQgPSAhMTsgZWxzZSBpZiAodCB8fCBlID49IHIgKyB0aGlzLnN0YXJ0VGltZSkgewogICAgICAgICAgICAgIHRoaXMubm93ID0gdGhpcy5lbmQsIHRoaXMucG9zID0gMSwgdGhpcy51cGRhdGUoKTsKICAgICAgICAgICAgICB2YXIgaCA9IGFbdGhpcy5wcm9wXSA9ICEwOwogICAgICAgICAgICAgIHMoYSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICEwICE9PSB0ICYmIChoID0gITEpOwogICAgICAgICAgICAgIH0pKSwgaCAmJiBvICYmIG8uY2FsbChuKSwgdCA9ICExOwogICAgICAgICAgICB9IGVsc2UgdGhpcy5wb3MgPSBpLmVhc2luZygoZSAtIHRoaXMuc3RhcnRUaW1lKSAvIHIpLCB0aGlzLm5vdyA9IHRoaXMuc3RhcnQgKyAodGhpcy5lbmQgLSB0aGlzLnN0YXJ0KSAqIHRoaXMucG9zLCB0aGlzLnVwZGF0ZSgpLCB0ID0gITA7CiAgICAgICAgICAgIHJldHVybiB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaW5pdFBhdGggPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4odCwgZSkgewogICAgICAgICAgICAgIGZvciAoOyB0Lmxlbmd0aCA8IGQ7KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHRbMF0sIG4gPSBlW2QgLSB0Lmxlbmd0aF07CiAgICAgICAgICAgICAgICBuICYmICJNIiA9PT0gaVswXSAmJiAodFswXSA9ICJDIiA9PT0gblswXSA/IFsiQyIsIGlbMV0sIGlbMl0sIGlbMV0sIGlbMl0sIGlbMV0sIGlbMl1dIDogWyJMIiwgaVsxXSwgaVsyXV0pLCB0LnVuc2hpZnQoaSksIGggJiYgKGkgPSB0LnBvcCgpLCB0LnB1c2godFt0Lmxlbmd0aCAtIDFdLCBpKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBvKHQsIGUpIHsKICAgICAgICAgICAgICBmb3IgKDsgdC5sZW5ndGggPCBkOykgaWYgKGUgPSB0W01hdGguZmxvb3IodC5sZW5ndGggLyBsKSAtIDFdLnNsaWNlKCksICJDIiA9PT0gZVswXSAmJiAoZVsxXSA9IGVbNV0sIGVbMl0gPSBlWzZdKSwgaCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSB0W01hdGguZmxvb3IodC5sZW5ndGggLyBsKV0uc2xpY2UoKTsKICAgICAgICAgICAgICAgIHQuc3BsaWNlKHQubGVuZ3RoIC8gMiwgMCwgZSwgaSk7CiAgICAgICAgICAgICAgfSBlbHNlIHQucHVzaChlKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHMgPSB0LnN0YXJ0WCwgYSA9IHQuZW5kWDsKICAgICAgICAgICAgaSA9IGkuc2xpY2UoKTsKICAgICAgICAgICAgdmFyIGggPSB0LmlzQXJlYSwgbCA9IGggPyAyIDogMTsKICAgICAgICAgICAgaWYgKGUgPSBlICYmIGUuc2xpY2UoKSwgIWUpIHJldHVybiBbaSwgaV07CiAgICAgICAgICAgIGlmIChzICYmIGEgJiYgYS5sZW5ndGgpIHsKICAgICAgICAgICAgICBmb3IgKHQgPSAwOyB0IDwgcy5sZW5ndGg7IHQrKykgewogICAgICAgICAgICAgICAgaWYgKHNbdF0gPT09IGFbMF0pIHsKICAgICAgICAgICAgICAgICAgdmFyIGMgPSB0OwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChzWzBdID09PSBhW2EubGVuZ3RoIC0gcy5sZW5ndGggKyB0XSkgewogICAgICAgICAgICAgICAgICBjID0gdDsKICAgICAgICAgICAgICAgICAgdmFyIHAgPSAhMDsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoc1tzLmxlbmd0aCAtIDFdID09PSBhW2EubGVuZ3RoIC0gcy5sZW5ndGggKyB0XSkgewogICAgICAgICAgICAgICAgICBjID0gcy5sZW5ndGggLSB0OwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBjICYmIChlID0gW10pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChlLmxlbmd0aCAmJiByKGMpKSB7CiAgICAgICAgICAgICAgdmFyIGQgPSBpLmxlbmd0aCArIGMgKiBsOwogICAgICAgICAgICAgIHAgPyAobihlLCBpKSwgbyhpLCBlKSkgOiAobihpLCBlKSwgbyhlLCBpKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFtlLCBpXTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmZpbGxTZXR0ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdC5wcm90b3R5cGUuc3Ryb2tlU2V0dGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zdHJva2VTZXR0ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5lbGVtLmF0dHIodGhpcy5wcm9wLCBuKHRoaXMuc3RhcnQpLnR3ZWVuVG8obih0aGlzLmVuZCksIHRoaXMucG9zKSwgdm9pZCAwLCAhMCk7CiAgICAgICAgICB9LCB0LnRpbWVycyA9IFtdLCB0OwogICAgICAgIH0oKTsKICAgICAgfSkpLCBlKGksICJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiLCBbaVsiQ29yZS9BbmltYXRpb24vRnguanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgZnVuY3Rpb24gaSh0KSB7CiAgICAgICAgICByZXR1cm4gaCh0KSA/IGwoeyBkdXJhdGlvbjogNTAwLCBkZWZlcjogMCB9LCB0KSA6IHsgZHVyYXRpb246IHQgPyA1MDAgOiAwLCBkZWZlcjogMCB9OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbihlLCBpKSB7CiAgICAgICAgICBmb3IgKHZhciBuID0gdC50aW1lcnMubGVuZ3RoOyBuLS07KSB0LnRpbWVyc1tuXS5lbGVtICE9PSBlIHx8IGkgJiYgaSAhPT0gdC50aW1lcnNbbl0ucHJvcCB8fCAodC50aW1lcnNbbl0uc3RvcHBlZCA9ICEwKTsKICAgICAgICB9CgogICAgICAgIHZhciBvID0gZS5kZWZpbmVkLCByID0gZS5nZXRTdHlsZSwgcyA9IGUuaXNBcnJheSwgYSA9IGUuaXNOdW1iZXIsIGggPSBlLmlzT2JqZWN0LCBsID0gZS5tZXJnZSwgYyA9IGUub2JqZWN0RWFjaCwgcCA9IGUucGljazsKICAgICAgICByZXR1cm4gewogICAgICAgICAgYW5pbWF0ZTogZnVuY3Rpb24oZSwgaSwgbykgewogICAgICAgICAgICB2YXIgcCwgZCwgdSwgZiA9ICIiOwogICAgICAgICAgICBpZiAoIWgobykpIHsKICAgICAgICAgICAgICB2YXIgZyA9IGFyZ3VtZW50czsKICAgICAgICAgICAgICBvID0geyBkdXJhdGlvbjogZ1syXSwgZWFzaW5nOiBnWzNdLCBjb21wbGV0ZTogZ1s0XSB9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGEoby5kdXJhdGlvbikgfHwgKG8uZHVyYXRpb24gPSA0MDApLCBvLmVhc2luZyA9ICJmdW5jdGlvbiIgPT09IHR5cGVvZiBvLmVhc2luZyA/IG8uZWFzaW5nIDogTWF0aFtvLmVhc2luZ10gfHwgTWF0aC5lYXNlSW5PdXRTaW5lLCBvLmN1ckFuaW0gPSBsKGkpLCBjKGksIChmdW5jdGlvbihhLCBoKSB7CiAgICAgICAgICAgICAgbihlLCBoKSwgdSA9IG5ldyB0KGUsIG8sIGgpLCBkID0gdm9pZCAwLCAiZCIgPT09IGggJiYgcyhpLmQpID8gKHUucGF0aHMgPSB1LmluaXRQYXRoKGUsIGUucGF0aEFycmF5LCBpLmQpLCB1LnRvRCA9IGkuZCwgcCA9IDAsIGQgPSAxKSA6IGUuYXR0ciA/IHAgPSBlLmF0dHIoaCkgOiAocCA9IHBhcnNlRmxvYXQocihlLCBoKSkgfHwgMCwgIm9wYWNpdHkiICE9PSBoICYmIChmID0gInB4IikpLCBkIHx8IChkID0gYSksICJzdHJpbmciID09PSB0eXBlb2YgZCAmJiBkLm1hdGNoKCJweCIpICYmIChkID0gZC5yZXBsYWNlKC9weC9nLCAiIikpLCB1LnJ1bihwLCBkLCBmKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgYW5pbU9iamVjdDogaSwgZ2V0RGVmZXJyZWRBbmltYXRpb246IGZ1bmN0aW9uKHQsIGUsIG4pIHsKICAgICAgICAgICAgdmFyIHIgPSBpKGUpLCBzID0gMCwgYSA9IDA7CiAgICAgICAgICAgIHJldHVybiAobiA/IFtuXSA6IHQuc2VyaWVzKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdCA9IGkodC5vcHRpb25zLmFuaW1hdGlvbiksIHMgPSBlICYmIG8oZS5kZWZlcikgPyByLmRlZmVyIDogTWF0aC5tYXgocywgdC5kdXJhdGlvbiArIHQuZGVmZXIpLCBhID0gTWF0aC5taW4oci5kdXJhdGlvbiwgdC5kdXJhdGlvbik7CiAgICAgICAgICAgIH0pKSwgdC5yZW5kZXJlci5mb3JFeHBvcnQgJiYgKHMgPSAwKSwgeyBkZWZlcjogTWF0aC5tYXgoMCwgcyAtIGEpLCBkdXJhdGlvbjogTWF0aC5taW4ocywgYSkgfTsKICAgICAgICAgIH0sIHNldEFuaW1hdGlvbjogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICBlLnJlbmRlcmVyLmdsb2JhbEFuaW1hdGlvbiA9IHAodCwgZS5vcHRpb25zLmNoYXJ0LmFuaW1hdGlvbiwgITApOwogICAgICAgICAgfSwgc3RvcDogbgogICAgICAgIH07CiAgICAgIH0pKSwgZShpLCAiQ29yZS9SZW5kZXJlci9IVE1ML0FTVC5qcyIsIFtpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSB0LlNWR19OUywgbiA9IGUuYXR0ciwgbyA9IGUuY3JlYXRlRWxlbWVudCwgciA9IGUuZXJyb3IsIHMgPSBlLmlzRnVuY3Rpb24sIGEgPSBlLmlzU3RyaW5nLCBoID0gZS5vYmplY3RFYWNoLCBsID0gZS5zcGxhdCwKICAgICAgICAgIGMgPSAoZSA9IHQud2luLnRydXN0ZWRUeXBlcykgJiYgcyhlLmNyZWF0ZVBvbGljeSkgJiYgZS5jcmVhdGVQb2xpY3koImhpZ2hjaGFydHMiLCB7CiAgICAgICAgICAgIGNyZWF0ZUhUTUw6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICByZXR1cm4gdDsKICAgICAgICAgICAgfQogICAgICAgICAgfSksIHAgPSBjID8gYy5jcmVhdGVIVE1MKCIiKSA6ICIiOwogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgZCA9ICEhKG5ldyBET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyhwLCAidGV4dC9odG1sIik7CiAgICAgICAgfSBjYXRjaCAodSkgewogICAgICAgICAgZCA9ICExOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gZSh0KSB7CiAgICAgICAgICAgIHRoaXMubm9kZXMgPSAic3RyaW5nIiA9PT0gdHlwZW9mIHQgPyB0aGlzLnBhcnNlTWFya3VwKHQpIDogdDsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gZS5maWx0ZXJVc2VyQXR0cmlidXRlcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIGgodCwgKGZ1bmN0aW9uKGksIG4pIHsKICAgICAgICAgICAgICB2YXIgbyA9ICEwOwogICAgICAgICAgICAgIC0xID09PSBlLmFsbG93ZWRBdHRyaWJ1dGVzLmluZGV4T2YobikgJiYgKG8gPSAhMSksIC0xICE9PSBbImJhY2tncm91bmQiLCAiZHluc3JjIiwgImhyZWYiLCAibG93c3JjIiwgInNyYyJdLmluZGV4T2YobikgJiYgKG8gPSBhKGkpICYmIGUuYWxsb3dlZFJlZmVyZW5jZXMuc29tZSgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDAgPT09IGkuaW5kZXhPZih0KTsKICAgICAgICAgICAgICB9KSkpLCBvIHx8IChyKCJIaWdoY2hhcnRzIHdhcm5pbmc6IEludmFsaWQgYXR0cmlidXRlICciICsgbiArICInIGluIGNvbmZpZyIpLCBkZWxldGUgdFtuXSk7CiAgICAgICAgICAgIH0pKSwgdDsKICAgICAgICAgIH0sIGUuc2V0RWxlbWVudEhUTUwgPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgIHQuaW5uZXJIVE1MID0gZS5lbXB0eUhUTUwsIGkgJiYgbmV3IGUoaSkuYWRkVG9ET00odCk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5hZGRUb0RPTSA9IGZ1bmN0aW9uKG8pIHsKICAgICAgICAgICAgZnVuY3Rpb24gcyhvLCBhKSB7CiAgICAgICAgICAgICAgdmFyIGM7CiAgICAgICAgICAgICAgcmV0dXJuIGwobykuZm9yRWFjaCgoZnVuY3Rpb24obykgewogICAgICAgICAgICAgICAgdmFyIGwgPSBvLnRhZ05hbWUsIHAgPSBvLnRleHRDb250ZW50ID8gdC5kb2MuY3JlYXRlVGV4dE5vZGUoby50ZXh0Q29udGVudCkgOiB2b2lkIDA7CiAgICAgICAgICAgICAgICBpZiAobCkgaWYgKCIjdGV4dCIgPT09IGwpIHZhciBkID0gcDsgZWxzZSBpZiAoLTEgIT09IGUuYWxsb3dlZFRhZ3MuaW5kZXhPZihsKSkgewogICAgICAgICAgICAgICAgICBsID0gdC5kb2MuY3JlYXRlRWxlbWVudE5TKCJzdmciID09PSBsID8gaSA6IGEubmFtZXNwYWNlVVJJIHx8IGksIGwpOwogICAgICAgICAgICAgICAgICB2YXIgdSA9IG8uYXR0cmlidXRlcyB8fCB7fTsKICAgICAgICAgICAgICAgICAgaChvLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgICJ0YWdOYW1lIiAhPT0gZSAmJiAiYXR0cmlidXRlcyIgIT09IGUgJiYgImNoaWxkcmVuIiAhPT0gZSAmJiAidGV4dENvbnRlbnQiICE9PSBlICYmICh1W2VdID0gdCk7CiAgICAgICAgICAgICAgICAgIH0pKSwgbihsLCBlLmZpbHRlclVzZXJBdHRyaWJ1dGVzKHUpKSwgcCAmJiBsLmFwcGVuZENoaWxkKHApLCBzKG8uY2hpbGRyZW4gfHwgW10sIGwpLCBkID0gbDsKICAgICAgICAgICAgICAgIH0gZWxzZSByKCJIaWdoY2hhcnRzIHdhcm5pbmc6IEludmFsaWQgdGFnTmFtZSAiICsgbCArICIgaW4gY29uZmlnIik7CiAgICAgICAgICAgICAgICBkICYmIGEuYXBwZW5kQ2hpbGQoZCksIGMgPSBkOwogICAgICAgICAgICAgIH0pKSwgYzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHModGhpcy5ub2Rlcywgbyk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5wYXJzZU1hcmt1cCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSBbXTsKICAgICAgICAgICAgaWYgKHQgPSB0LnRyaW0oKSwgZCkgdCA9IChuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoYyA/IGMuY3JlYXRlSFRNTCh0KSA6IHQsICJ0ZXh0L2h0bWwiKTsgZWxzZSB7CiAgICAgICAgICAgICAgdmFyIGkgPSBvKCJkaXYiKTsKICAgICAgICAgICAgICBpLmlubmVySFRNTCA9IHQsIHQgPSB7IGJvZHk6IGkgfTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgbiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IHQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwgbyA9IHsgdGFnTmFtZTogaSB9OwogICAgICAgICAgICAgIGlmICgiI3RleHQiID09PSBpICYmIChvLnRleHRDb250ZW50ID0gdC50ZXh0Q29udGVudCB8fCAiIiksIGkgPSB0LmF0dHJpYnV0ZXMpIHsKICAgICAgICAgICAgICAgIHZhciByID0ge307CiAgICAgICAgICAgICAgICBbXS5mb3JFYWNoLmNhbGwoaSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgclt0Lm5hbWVdID0gdC52YWx1ZTsKICAgICAgICAgICAgICAgIH0pKSwgby5hdHRyaWJ1dGVzID0gcjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKHQuY2hpbGROb2Rlcy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIHZhciBzID0gW107CiAgICAgICAgICAgICAgICBbXS5mb3JFYWNoLmNhbGwodC5jaGlsZE5vZGVzLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICBuKHQsIHMpOwogICAgICAgICAgICAgICAgfSkpLCBzLmxlbmd0aCAmJiAoby5jaGlsZHJlbiA9IHMpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlLnB1c2gobyk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHJldHVybiBbXS5mb3JFYWNoLmNhbGwodC5ib2R5LmNoaWxkTm9kZXMsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIG4odCwgZSk7CiAgICAgICAgICAgIH0pKSwgZTsKICAgICAgICAgIH0sIGUuYWxsb3dlZEF0dHJpYnV0ZXMgPSAiYXJpYS1jb250cm9scyBhcmlhLWRlc2NyaWJlZGJ5IGFyaWEtZXhwYW5kZWQgYXJpYS1oYXNwb3B1cCBhcmlhLWhpZGRlbiBhcmlhLWxhYmVsIGFyaWEtbGFiZWxsZWRieSBhcmlhLWxpdmUgYXJpYS1wcmVzc2VkIGFyaWEtcmVhZG9ubHkgYXJpYS1yb2xlZGVzY3JpcHRpb24gYXJpYS1zZWxlY3RlZCBjbGFzcyBjbGlwLXBhdGggY29sb3IgY29sc3BhbiBjeCBjeSBkIGR4IGR5IGRpc2FibGVkIGZpbGwgaGVpZ2h0IGhyZWYgaWQgaW4gbWFya2VySGVpZ2h0IG1hcmtlcldpZHRoIG9mZnNldCBvcGFjaXR5IG9yaWVudCBwYWRkaW5nIHBhZGRpbmdMZWZ0IHBhZGRpbmdSaWdodCBwYXR0ZXJuVW5pdHMgciByZWZYIHJlZlkgcm9sZSBzY29wZSBzbG9wZSBzcmMgc3RhcnRPZmZzZXQgc3RkRGV2aWF0aW9uIHN0cm9rZSBzdHJva2UtbGluZWNhcCBzdHJva2Utd2lkdGggc3R5bGUgdGFibGVWYWx1ZXMgcmVzdWx0IHJvd3NwYW4gc3VtbWFyeSB0YXJnZXQgdGFiaW5kZXggdGV4dC1hbGlnbiB0ZXh0QW5jaG9yIHRleHRMZW5ndGggdGl0bGUgdHlwZSB2YWxpZ24gd2lkdGggeCB4MSB4MiB5IHkxIHkyIHpJbmRleCIuc3BsaXQoIiAiKSwgZS5hbGxvd2VkUmVmZXJlbmNlcyA9ICJodHRwczovLyBodHRwOi8vIG1haWx0bzogLyAuLi8gLi8gIyIuc3BsaXQoIiAiKSwgZS5hbGxvd2VkVGFncyA9ICJhIGFiYnIgYiBiciBidXR0b24gY2FwdGlvbiBjaXJjbGUgY2xpcFBhdGggY29kZSBkZCBkZWZzIGRpdiBkbCBkdCBlbSBmZUNvbXBvbmVudFRyYW5zZmVyIGZlRnVuY0EgZmVGdW5jQiBmZUZ1bmNHIGZlRnVuY1IgZmVHYXVzc2lhbkJsdXIgZmVPZmZzZXQgZmVNZXJnZSBmZU1lcmdlTm9kZSBmaWx0ZXIgaDEgaDIgaDMgaDQgaDUgaDYgaHIgaSBpbWcgbGkgbGluZWFyR3JhZGllbnQgbWFya2VyIG9sIHAgcGF0aCBwYXR0ZXJuIHByZSByZWN0IHNtYWxsIHNwYW4gc3RvcCBzdHJvbmcgc3R5bGUgc3ViIHN1cCBzdmcgdGFibGUgdGV4dCB0aGVhZCB0Ym9keSB0c3BhbiB0ZCB0aCB0ciB1IHVsICN0ZXh0Ii5zcGxpdCgiICIpLCBlLmVtcHR5SFRNTCA9IHAsIGU7CiAgICAgICAgfSgpLCBzOwogICAgICB9KSksIGUoaSwgIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIiwgW2lbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgZnVuY3Rpb24gaSh0LCBlLCBpLCBvKSB7CiAgICAgICAgICB0ID0gK3QgfHwgMCwgZSA9ICtlOwogICAgICAgICAgdmFyIHIgPSBuLmxhbmcsIGwgPSAodC50b1N0cmluZygpLnNwbGl0KCIuIilbMV0gfHwgIiIpLnNwbGl0KCJlIilbMF0ubGVuZ3RoLCBjID0gdC50b1N0cmluZygpLnNwbGl0KCJlIiksIHAgPSBlOwogICAgICAgICAgaWYgKC0xID09PSBlKSBlID0gTWF0aC5taW4obCwgMjApOyBlbHNlIGlmIChzKGUpKSB7CiAgICAgICAgICAgIGlmIChlICYmIGNbMV0gJiYgMCA+IGNbMV0pIHsKICAgICAgICAgICAgICB2YXIgZCA9IGUgKyArY1sxXTsKICAgICAgICAgICAgICAwIDw9IGQgPyAoY1swXSA9ICgrY1swXSkudG9FeHBvbmVudGlhbChkKS5zcGxpdCgiZSIpWzBdLCBlID0gZCkgOiAoY1swXSA9IGNbMF0uc3BsaXQoIi4iKVswXSB8fCAwLCB0ID0gMjAgPiBlID8gKGNbMF0gKiBNYXRoLnBvdygxMCwgY1sxXSkpLnRvRml4ZWQoZSkgOiAwLCBjWzFdID0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBlID0gMjsKICAgICAgICAgIGQgPSAoTWF0aC5hYnMoY1sxXSA/IGNbMF0gOiB0KSArIE1hdGgucG93KDEwLCAtTWF0aC5tYXgoZSwgbCkgLSAxKSkudG9GaXhlZChlKSwgbCA9IFN0cmluZyhoKGQpKTsKICAgICAgICAgIHZhciB1ID0gMyA8IGwubGVuZ3RoID8gbC5sZW5ndGggJSAzIDogMDsKICAgICAgICAgIHJldHVybiBpID0gYShpLCByLmRlY2ltYWxQb2ludCksIG8gPSBhKG8sIHIudGhvdXNhbmRzU2VwKSwgdCA9ICgwID4gdCA/ICItIiA6ICIiKSArICh1ID8gbC5zdWJzdHIoMCwgdSkgKyBvIDogIiIpLCB0ID0gMCA+ICtjWzFdICYmICFwID8gIjAiIDogdCArIGwuc3Vic3RyKHUpLnJlcGxhY2UoLyhcZHszfSkoPz1cZCkvZywgIiQxIiArIG8pLCBlICYmICh0ICs9IGkgKyBkLnNsaWNlKC1lKSksIGNbMV0gJiYgMCAhPT0gK3QgJiYgKHQgKz0gImUiICsgY1sxXSksIHQ7CiAgICAgICAgfQoKICAgICAgICB2YXIgbiA9IHQuZGVmYXVsdE9wdGlvbnMsIG8gPSB0LmRlZmF1bHRUaW1lLCByID0gZS5nZXROZXN0ZWRQcm9wZXJ0eSwgcyA9IGUuaXNOdW1iZXIsIGEgPSBlLnBpY2ssIGggPSBlLnBJbnQ7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGRhdGVGb3JtYXQ6IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIG8uZGF0ZUZvcm1hdCh0LCBlLCBpKTsKICAgICAgICAgIH0sIGZvcm1hdDogZnVuY3Rpb24odCwgZSwgcykgewogICAgICAgICAgICB2YXIgYSA9ICJ7IiwgaCA9ICExLCBsID0gL2YkLywgYyA9IC9cLihbMC05XSkvLCBwID0gbi5sYW5nLCBkID0gcyAmJiBzLnRpbWUgfHwgbzsKICAgICAgICAgICAgcyA9IHMgJiYgcy5udW1iZXJGb3JtYXR0ZXIgfHwgaTsKICAgICAgICAgICAgZm9yICh2YXIgdSA9IFtdOyB0OykgewogICAgICAgICAgICAgIHZhciBmID0gdC5pbmRleE9mKGEpOwogICAgICAgICAgICAgIGlmICgtMSA9PT0gZikgYnJlYWs7CiAgICAgICAgICAgICAgdmFyIGcgPSB0LnNsaWNlKDAsIGYpOwogICAgICAgICAgICAgIGlmIChoKSB7CiAgICAgICAgICAgICAgICBpZiAoZyA9IGcuc3BsaXQoIjoiKSwgYSA9IHIoZy5zaGlmdCgpIHx8ICIiLCBlKSwgZy5sZW5ndGggJiYgIm51bWJlciIgPT09IHR5cGVvZiBhKSBpZiAoZyA9IGcuam9pbigiOiIpLCBsLnRlc3QoZykpIHsKICAgICAgICAgICAgICAgICAgdmFyIG0gPSBwYXJzZUludCgoZy5tYXRjaChjKSB8fCBbIiIsICItMSJdKVsxXSwgMTApOwogICAgICAgICAgICAgICAgICBudWxsICE9PSBhICYmIChhID0gcyhhLCBtLCBwLmRlY2ltYWxQb2ludCwgLTEgPCBnLmluZGV4T2YoIiwiKSA/IHAudGhvdXNhbmRzU2VwIDogIiIpKTsKICAgICAgICAgICAgICAgIH0gZWxzZSBhID0gZC5kYXRlRm9ybWF0KGcsIGEpOwogICAgICAgICAgICAgICAgdS5wdXNoKGEpOwogICAgICAgICAgICAgIH0gZWxzZSB1LnB1c2goZyk7CiAgICAgICAgICAgICAgdCA9IHQuc2xpY2UoZiArIDEpLCBhID0gKGggPSAhaCkgPyAifSIgOiAieyI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHUucHVzaCh0KSwgdS5qb2luKCIiKTsKICAgICAgICAgIH0sIG51bWJlckZvcm1hdDogaQogICAgICAgIH07CiAgICAgIH0pKSwgZShpLCAiQ29yZS9SZW5kZXJlci9SZW5kZXJlclV0aWxpdGllcy5qcyIsIFtpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSwgaSA9IHQuY2xhbXAsIG4gPSB0LnBpY2ssIG8gPSB0LnN0YWJsZVNvcnQ7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUodCwgciwgcykgewogICAgICAgICAgICB2YXIgYSwgaCA9IHQsIGwgPSBoLnJlZHVjZWRMZW4gfHwgciwgYyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gKGUucmFuayB8fCAwKSAtICh0LnJhbmsgfHwgMCk7CiAgICAgICAgICAgIH0sIHAgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQudGFyZ2V0IC0gZS50YXJnZXQ7CiAgICAgICAgICAgIH0sIGQgPSAhMCwgdSA9IFtdLCBmID0gMDsKICAgICAgICAgICAgZm9yIChhID0gdC5sZW5ndGg7IGEtLTspIGYgKz0gdFthXS5zaXplOwogICAgICAgICAgICBpZiAoZiA+IGwpIHsKICAgICAgICAgICAgICBmb3IgKG8odCwgYyksIGYgPSBhID0gMDsgZiA8PSBsOykgZiArPSB0W2FdLnNpemUsIGErKzsKICAgICAgICAgICAgICB1ID0gdC5zcGxpY2UoYSAtIDEsIHQubGVuZ3RoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKG8odCwgcCksIHQgPSB0Lm1hcCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiB7IHNpemU6IHQuc2l6ZSwgdGFyZ2V0czogW3QudGFyZ2V0XSwgYWxpZ246IG4odC5hbGlnbiwgLjUpIH07CiAgICAgICAgICAgIH0pKTsgZDspIHsKICAgICAgICAgICAgICBmb3IgKGEgPSB0Lmxlbmd0aDsgYS0tOykgbCA9IHRbYV0sIGMgPSAoTWF0aC5taW4uYXBwbHkoMCwgbC50YXJnZXRzKSArIE1hdGgubWF4LmFwcGx5KDAsIGwudGFyZ2V0cykpIC8gMiwgbC5wb3MgPSBpKGMgLSBsLnNpemUgKiBsLmFsaWduLCAwLCByIC0gbC5zaXplKTsKICAgICAgICAgICAgICBmb3IgKGEgPSB0Lmxlbmd0aCwgZCA9ICExOyBhLS07KSAwIDwgYSAmJiB0W2EgLSAxXS5wb3MgKyB0W2EgLSAxXS5zaXplID4gdFthXS5wb3MgJiYgKHRbYSAtIDFdLnNpemUgKz0gdFthXS5zaXplLCB0W2EgLSAxXS50YXJnZXRzID0gdFthIC0gMV0udGFyZ2V0cy5jb25jYXQodFthXS50YXJnZXRzKSwgdFthIC0gMV0uYWxpZ24gPSAuNSwgdFthIC0gMV0ucG9zICsgdFthIC0gMV0uc2l6ZSA+IHIgJiYgKHRbYSAtIDFdLnBvcyA9IHIgLSB0W2EgLSAxXS5zaXplKSwgdC5zcGxpY2UoYSwgMSksIGQgPSAhMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGgucHVzaC5hcHBseShoLCB1KSwgYSA9IDAsIHQuc29tZSgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBpID0gMDsKICAgICAgICAgICAgICByZXR1cm4gKHQudGFyZ2V0cyB8fCBbXSkuc29tZSgoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaFthXS5wb3MgPSB0LnBvcyArIGksICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgcyAmJiBNYXRoLmFicyhoW2FdLnBvcyAtIGhbYV0udGFyZ2V0KSA+IHMgPyAoaC5zbGljZSgwLCBhICsgMSkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICByZXR1cm4gZGVsZXRlIHQucG9zOwogICAgICAgICAgICAgICAgfSkpLCBoLnJlZHVjZWRMZW4gPSAoaC5yZWR1Y2VkTGVuIHx8IHIpIC0gLjEgKiByLCBoLnJlZHVjZWRMZW4gPiAuMSAqIHIgJiYgZShoLCByLCBzKSwgITApIDogKGkgKz0gaFthXS5zaXplLCBhKyssICExKTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKSwgbyhoLCBwKSwgaDsKICAgICAgICAgIH0KCiAgICAgICAgICB0LmRpc3RyaWJ1dGUgPSBlOwogICAgICAgIH0oZSB8fCAoZSA9IHt9KSksIGU7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9SZW5kZXJlci9TVkcvU1ZHRWxlbWVudC5qcyIsIFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9IVE1ML0FTVC5qcyJdLCBpWyJDb3JlL0NvbG9yL0NvbG9yLmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICB2YXIgciA9IHQuYW5pbWF0ZSwgcyA9IHQuYW5pbU9iamVjdCwgYSA9IHQuc3RvcCwgaCA9IG4uZGVnMnJhZCwgbCA9IG4uZG9jLCBjID0gbi5ub29wLCBwID0gbi5zdmcsIGQgPSBuLlNWR19OUywgdSA9IG4ud2luLCBmID0gby5hZGRFdmVudCwgZyA9IG8uYXR0ciwKICAgICAgICAgIG0gPSBvLmNyZWF0ZUVsZW1lbnQsIHkgPSBvLmNzcywgdiA9IG8uZGVmaW5lZCwgeCA9IG8uZXJhc2UsIGIgPSBvLmV4dGVuZCwgXyA9IG8uZmlyZUV2ZW50LCB3ID0gby5pc0FycmF5LCBrID0gby5pc0Z1bmN0aW9uLCBTID0gby5pc051bWJlciwKICAgICAgICAgIEMgPSBvLmlzU3RyaW5nLCBNID0gby5tZXJnZSwgQSA9IG8ub2JqZWN0RWFjaCwgUCA9IG8ucGljaywgTyA9IG8ucEludCwgVCA9IG8uc3luY1RpbWVvdXQsIEUgPSBvLnVuaXF1ZUtleTsKICAgICAgICByZXR1cm4gdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gdCgpIHsKICAgICAgICAgICAgdGhpcy5lbGVtZW50ID0gdm9pZCAwLCB0aGlzLm9uRXZlbnRzID0ge30sIHRoaXMub3BhY2l0eSA9IDEsIHRoaXMucmVuZGVyZXIgPSB2b2lkIDAsIHRoaXMuU1ZHX05TID0gZCwgdGhpcy5zeW1ib2xDdXN0b21BdHRyaWJzID0gInggeSB3aWR0aCBoZWlnaHQgciBzdGFydCBlbmQgaW5uZXJSIGFuY2hvclggYW5jaG9yWSByb3VuZGVkIi5zcGxpdCgiICIpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5fZGVmYXVsdEdldHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPSBQKHRoaXNbdCArICJWYWx1ZSJdLCB0aGlzW3RdLCB0aGlzLmVsZW1lbnQgPyB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKHQpIDogbnVsbCwgMCksIC9eW1wtMC05XC5dKyQvLnRlc3QodCkgJiYgKHQgPSBwYXJzZUZsb2F0KHQpKSwgdDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLl9kZWZhdWx0U2V0dGVyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICBpLnNldEF0dHJpYnV0ZShlLCB0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnJlbmRlcmVyLCBpID0gdGhpcy5lbGVtZW50OwogICAgICAgICAgICBpZiAodCAmJiAodGhpcy5wYXJlbnRHcm91cCA9IHQpLCB0aGlzLnBhcmVudEludmVydGVkID0gdCAmJiB0LmludmVydGVkLCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHRoaXMudGV4dFN0ciAmJiAidGV4dCIgPT09IHRoaXMuZWxlbWVudC5ub2RlTmFtZSAmJiBlLmJ1aWxkVGV4dCh0aGlzKSwgdGhpcy5hZGRlZCA9ICEwLCAhdCB8fCB0LmhhbmRsZVogfHwgdGhpcy56SW5kZXgpIHZhciBuID0gdGhpcy56SW5kZXhTZXR0ZXIoKTsKICAgICAgICAgICAgcmV0dXJuIG4gfHwgKHQgPyB0LmVsZW1lbnQgOiBlLmJveCkuYXBwZW5kQ2hpbGQoaSksIHRoaXMub25BZGQgJiYgdGhpcy5vbkFkZCgpLCB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWRkQ2xhc3MgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gZSA/ICIiIDogdGhpcy5hdHRyKCJjbGFzcyIpIHx8ICIiOwogICAgICAgICAgICByZXR1cm4gdCA9ICh0IHx8ICIiKS5zcGxpdCgvIC9nKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICByZXR1cm4gLTEgPT09IGkuaW5kZXhPZihlKSAmJiB0LnB1c2goZSksIHQ7CiAgICAgICAgICAgIH0pLCBpID8gW2ldIDogW10pLmpvaW4oIiAiKSwgdCAhPT0gaSAmJiB0aGlzLmF0dHIoImNsYXNzIiwgdCksIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZnRlclNldHRlcnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5kb1RyYW5zZm9ybSAmJiAodGhpcy51cGRhdGVUcmFuc2Zvcm0oKSwgdGhpcy5kb1RyYW5zZm9ybSA9ICExKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFsaWduID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiwgbywgciwgcyA9IHt9LCBhID0gdGhpcy5yZW5kZXJlciwgaCA9IGEuYWxpZ25lZE9iamVjdHM7CiAgICAgICAgICAgIHQgPyAodGhpcy5hbGlnbk9wdGlvbnMgPSB0LCB0aGlzLmFsaWduQnlUcmFuc2xhdGUgPSBlLCAoIWkgfHwgQyhpKSkgJiYgKHRoaXMuYWxpZ25UbyA9IG4gPSBpIHx8ICJyZW5kZXJlciIsIHgoaCwgdGhpcyksIGgucHVzaCh0aGlzKSwgaSA9IHZvaWQgMCkpIDogKHQgPSB0aGlzLmFsaWduT3B0aW9ucywgZSA9IHRoaXMuYWxpZ25CeVRyYW5zbGF0ZSwgbiA9IHRoaXMuYWxpZ25UbyksIGkgPSBQKGksIGFbbl0sICJzY3JvbGxhYmxlUGxvdEJveCIgPT09IG4gPyBhLnBsb3RCb3ggOiB2b2lkIDAsIGEpLCBuID0gdC5hbGlnbjsKICAgICAgICAgICAgdmFyIGwgPSB0LnZlcnRpY2FsQWxpZ247CiAgICAgICAgICAgIHJldHVybiBhID0gKGkueCB8fCAwKSArICh0LnggfHwgMCksIGggPSAoaS55IHx8IDApICsgKHQueSB8fCAwKSwgInJpZ2h0IiA9PT0gbiA/IG8gPSAxIDogImNlbnRlciIgPT09IG4gJiYgKG8gPSAyKSwgbyAmJiAoYSArPSAoaS53aWR0aCAtICh0LndpZHRoIHx8IDApKSAvIG8pLCBzW2UgPyAidHJhbnNsYXRlWCIgOiAieCJdID0gTWF0aC5yb3VuZChhKSwgImJvdHRvbSIgPT09IGwgPyByID0gMSA6ICJtaWRkbGUiID09PSBsICYmIChyID0gMiksIHIgJiYgKGggKz0gKGkuaGVpZ2h0IC0gKHQuaGVpZ2h0IHx8IDApKSAvIHIpLCBzW2UgPyAidHJhbnNsYXRlWSIgOiAieSJdID0gTWF0aC5yb3VuZChoKSwgdGhpc1t0aGlzLnBsYWNlZCA/ICJhbmltYXRlIiA6ICJhdHRyIl0ocyksIHRoaXMucGxhY2VkID0gITAsIHRoaXMuYWxpZ25BdHRyID0gcywgdGhpczsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFsaWduU2V0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHsgbGVmdDogInN0YXJ0IiwgY2VudGVyOiAibWlkZGxlIiwgcmlnaHQ6ICJlbmQiIH07CiAgICAgICAgICAgIGVbdF0gJiYgKHRoaXMuYWxpZ25WYWx1ZSA9IHQsIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoInRleHQtYW5jaG9yIiwgZVt0XSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYW5pbWF0ZSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLCBvID0gcyhQKGUsIHRoaXMucmVuZGVyZXIuZ2xvYmFsQW5pbWF0aW9uLCAhMCkpOwogICAgICAgICAgICByZXR1cm4gZSA9IG8uZGVmZXIsIFAobC5oaWRkZW4sIGwubXNIaWRkZW4sIGwud2Via2l0SGlkZGVuLCAhMSkgJiYgKG8uZHVyYXRpb24gPSAwKSwgMCAhPT0gby5kdXJhdGlvbiA/IChpICYmIChvLmNvbXBsZXRlID0gaSksIFQoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIG4uZWxlbWVudCAmJiByKG4sIHQsIG8pOwogICAgICAgICAgICB9KSwgZSkpIDogKHRoaXMuYXR0cih0LCB2b2lkIDAsIGkpLCBBKHQsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgby5zdGVwICYmIG8uc3RlcC5jYWxsKHRoaXMsIHQsIHsgcHJvcDogZSwgcG9zOiAxLCBlbGVtOiB0aGlzIH0pOwogICAgICAgICAgICB9KSwgdGhpcykpLCB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYXBwbHlUZXh0T3V0bGluZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmVsZW1lbnQ7CiAgICAgICAgICAgIC0xICE9PSB0LmluZGV4T2YoImNvbnRyYXN0IikgJiYgKHQgPSB0LnJlcGxhY2UoL2NvbnRyYXN0L2csIHRoaXMucmVuZGVyZXIuZ2V0Q29udHJhc3QoZS5zdHlsZS5maWxsKSkpOwogICAgICAgICAgICB2YXIgaSA9IHQuc3BsaXQoIiAiKTsKICAgICAgICAgICAgaWYgKHQgPSBpW2kubGVuZ3RoIC0gMV0sIChpID0gaVswXSkgJiYgIm5vbmUiICE9PSBpICYmIG4uc3ZnKSB7CiAgICAgICAgICAgICAgdGhpcy5mYWtlVFMgPSAhMCwgdGhpcy55U2V0dGVyID0gdGhpcy54U2V0dGVyLCBpID0gaS5yZXBsYWNlKC8oXltcZFwuXSspKC4qPykkL2csIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMiAqIE51bWJlcihlKSArIGk7CiAgICAgICAgICAgICAgfSkpLCB0aGlzLnJlbW92ZVRleHRPdXRsaW5lKCk7CiAgICAgICAgICAgICAgdmFyIG8gPSBsLmNyZWF0ZUVsZW1lbnROUyhkLCAidHNwYW4iKTsKICAgICAgICAgICAgICBnKG8sIHsKICAgICAgICAgICAgICAgIGNsYXNzOiAiaGlnaGNoYXJ0cy10ZXh0LW91dGxpbmUiLAogICAgICAgICAgICAgICAgZmlsbDogdCwKICAgICAgICAgICAgICAgIHN0cm9rZTogdCwKICAgICAgICAgICAgICAgICJzdHJva2Utd2lkdGgiOiBpLAogICAgICAgICAgICAgICAgInN0cm9rZS1saW5lam9pbiI6ICJyb3VuZCIKICAgICAgICAgICAgICB9KSwgW10uZm9yRWFjaC5jYWxsKGUuY2hpbGROb2RlcywgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdC5jbG9uZU5vZGUoITApOwogICAgICAgICAgICAgICAgZS5yZW1vdmVBdHRyaWJ1dGUgJiYgWyJmaWxsIiwgInN0cm9rZSIsICJzdHJva2Utd2lkdGgiLCAic3Ryb2tlIl0uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICByZXR1cm4gZS5yZW1vdmVBdHRyaWJ1dGUodCk7CiAgICAgICAgICAgICAgICB9KSksIG8uYXBwZW5kQ2hpbGQoZSk7CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIHZhciByID0gbC5jcmVhdGVFbGVtZW50TlMoZCwgInRzcGFuIik7CiAgICAgICAgICAgICAgci50ZXh0Q29udGVudCA9ICLigIsiLCBbIngiLCAieSJdLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gZS5nZXRBdHRyaWJ1dGUodCk7CiAgICAgICAgICAgICAgICBpICYmIHIuc2V0QXR0cmlidXRlKHQsIGkpOwogICAgICAgICAgICAgIH0pKSwgby5hcHBlbmRDaGlsZChyKSwgZS5pbnNlcnRCZWZvcmUobywgZS5maXJzdENoaWxkKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYXR0ciA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIG8sIHIsIHMsIGggPSB0aGlzLmVsZW1lbnQsIGwgPSB0aGlzLnN5bWJvbEN1c3RvbUF0dHJpYnMsIGMgPSB0aGlzOwogICAgICAgICAgICBpZiAoInN0cmluZyIgPT09IHR5cGVvZiB0ICYmICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgZSkgewogICAgICAgICAgICAgIHZhciBwID0gdDsKICAgICAgICAgICAgICB0ID0ge30sIHRbcF0gPSBlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAic3RyaW5nIiA9PT0gdHlwZW9mIHQgPyBjID0gKHRoaXNbdCArICJHZXR0ZXIiXSB8fCB0aGlzLl9kZWZhdWx0R2V0dGVyKS5jYWxsKHRoaXMsIHQsIGgpIDogKEEodCwgKGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICByID0gITEsIG4gfHwgYSh0aGlzLCBpKSwgdGhpcy5zeW1ib2xOYW1lICYmIC0xICE9PSBsLmluZGV4T2YoaSkgJiYgKG8gfHwgKHRoaXMuc3ltYm9sQXR0cih0KSwgbyA9ICEwKSwgciA9ICEwKSwgIXRoaXMucm90YXRpb24gfHwgIngiICE9PSBpICYmICJ5IiAhPT0gaSB8fCAodGhpcy5kb1RyYW5zZm9ybSA9ICEwKSwgciB8fCAocyA9IHRoaXNbaSArICJTZXR0ZXIiXSB8fCB0aGlzLl9kZWZhdWx0U2V0dGVyLCBzLmNhbGwodGhpcywgZSwgaSwgaCksICF0aGlzLnN0eWxlZE1vZGUgJiYgdGhpcy5zaGFkb3dzICYmIC9eKHdpZHRofGhlaWdodHx2aXNpYmlsaXR5fHh8eXxkfHRyYW5zZm9ybXxjeHxjeXxyKSQvLnRlc3QoaSkgJiYgdGhpcy51cGRhdGVTaGFkb3dzKGksIGUsIHMpKTsKICAgICAgICAgICAgfSksIHRoaXMpLCB0aGlzLmFmdGVyU2V0dGVycygpKSwgaSAmJiBpLmNhbGwodGhpcyksIGM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5jbGlwID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5hdHRyKCJjbGlwLXBhdGgiLCB0ID8gInVybCgiICsgdGhpcy5yZW5kZXJlci51cmwgKyAiIyIgKyB0LmlkICsgIikiIDogIm5vbmUiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmNyaXNwID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICBlID0gZSB8fCB0LnN0cm9rZVdpZHRoIHx8IDA7CiAgICAgICAgICAgIHZhciBpID0gTWF0aC5yb3VuZChlKSAlIDIgLyAyOwogICAgICAgICAgICByZXR1cm4gdC54ID0gTWF0aC5mbG9vcih0LnggfHwgdGhpcy54IHx8IDApICsgaSwgdC55ID0gTWF0aC5mbG9vcih0LnkgfHwgdGhpcy55IHx8IDApICsgaSwgdC53aWR0aCA9IE1hdGguZmxvb3IoKHQud2lkdGggfHwgdGhpcy53aWR0aCB8fCAwKSAtIDIgKiBpKSwgdC5oZWlnaHQgPSBNYXRoLmZsb29yKCh0LmhlaWdodCB8fCB0aGlzLmhlaWdodCB8fCAwKSAtIDIgKiBpKSwgdih0LnN0cm9rZVdpZHRoKSAmJiAodC5zdHJva2VXaWR0aCA9IGUpLCB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuY29tcGxleENvbG9yID0gZnVuY3Rpb24odCwgZSwgbikgewogICAgICAgICAgICB2YXIgbywgciwgcywgYSwgaCwgbCwgYywgcCwgZCwgdSwgZiwgZyA9IHRoaXMucmVuZGVyZXIsIG0gPSBbXTsKICAgICAgICAgICAgXyh0aGlzLnJlbmRlcmVyLCAiY29tcGxleENvbG9yIiwgeyBhcmdzOiBhcmd1bWVudHMgfSwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGlmICh0LnJhZGlhbEdyYWRpZW50ID8gciA9ICJyYWRpYWxHcmFkaWVudCIgOiB0LmxpbmVhckdyYWRpZW50ICYmIChyID0gImxpbmVhckdyYWRpZW50IiksIHIpIHsKICAgICAgICAgICAgICAgIGlmIChzID0gdFtyXSwgaCA9IGcuZ3JhZGllbnRzLCBsID0gdC5zdG9wcywgZCA9IG4ucmFkaWFsUmVmZXJlbmNlLCB3KHMpICYmICh0W3JdID0gcyA9IHsKICAgICAgICAgICAgICAgICAgeDE6IHNbMF0sCiAgICAgICAgICAgICAgICAgIHkxOiBzWzFdLAogICAgICAgICAgICAgICAgICB4Mjogc1syXSwKICAgICAgICAgICAgICAgICAgeTI6IHNbM10sCiAgICAgICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM6ICJ1c2VyU3BhY2VPblVzZSIKICAgICAgICAgICAgICAgIH0pLCAicmFkaWFsR3JhZGllbnQiID09PSByICYmIGQgJiYgIXYocy5ncmFkaWVudFVuaXRzKSAmJiAoYSA9IHMsIHMgPSBNKHMsIGcuZ2V0UmFkaWFsQXR0cihkLCBhKSwgeyBncmFkaWVudFVuaXRzOiAidXNlclNwYWNlT25Vc2UiIH0pKSwgQShzLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAiaWQiICE9PSBlICYmIG0ucHVzaChlLCB0KTsKICAgICAgICAgICAgICAgIH0pKSwgQShsLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICBtLnB1c2godCk7CiAgICAgICAgICAgICAgICB9KSksIG0gPSBtLmpvaW4oIiwiKSwgaFttXSkgdSA9IGhbbV0uYXR0cigiaWQiKTsgZWxzZSB7CiAgICAgICAgICAgICAgICAgIHMuaWQgPSB1ID0gRSgpOwogICAgICAgICAgICAgICAgICB2YXIgeSA9IGhbbV0gPSBnLmNyZWF0ZUVsZW1lbnQocikuYXR0cihzKS5hZGQoZy5kZWZzKTsKICAgICAgICAgICAgICAgICAgeS5yYWRBdHRyID0gYSwgeS5zdG9wcyA9IFtdLCBsLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAwID09PSB0WzFdLmluZGV4T2YoInJnYmEiKSA/IChvID0gaS5wYXJzZSh0WzFdKSwgYyA9IG8uZ2V0KCJyZ2IiKSwgcCA9IG8uZ2V0KCJhIikpIDogKGMgPSB0WzFdLCBwID0gMSksIHQgPSBnLmNyZWF0ZUVsZW1lbnQoInN0b3AiKS5hdHRyKHsKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogdFswXSwKICAgICAgICAgICAgICAgICAgICAgICJzdG9wLWNvbG9yIjogYywKICAgICAgICAgICAgICAgICAgICAgICJzdG9wLW9wYWNpdHkiOiBwCiAgICAgICAgICAgICAgICAgICAgfSkuYWRkKHkpLCB5LnN0b3BzLnB1c2godCk7CiAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGYgPSAidXJsKCIgKyBnLnVybCArICIjIiArIHUgKyAiKSIsIG4uc2V0QXR0cmlidXRlKGUsIGYpLCBuLmdyYWRpZW50ID0gbSwgdC50b1N0cmluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICByZXR1cm4gZjsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5jc3MgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5zdHlsZXMsIGkgPSB7fSwgbiA9IHRoaXMuZWxlbWVudCwgbyA9IFsidGV4dE91dGxpbmUiLCAidGV4dE92ZXJmbG93IiwgIndpZHRoIl0sIHIgPSAiIiwgcyA9ICFlOwogICAgICAgICAgICBpZiAodCAmJiB0LmNvbG9yICYmICh0LmZpbGwgPSB0LmNvbG9yKSwgZSAmJiBBKHQsIChmdW5jdGlvbih0LCBuKSB7CiAgICAgICAgICAgICAgZSAmJiBlW25dICE9PSB0ICYmIChpW25dID0gdCwgcyA9ICEwKTsKICAgICAgICAgICAgfSkpLCBzKSB7CiAgICAgICAgICAgICAgaWYgKGUgJiYgKHQgPSBiKGUsIGkpKSwgdCkgaWYgKG51bGwgPT09IHQud2lkdGggfHwgImF1dG8iID09PSB0LndpZHRoKSBkZWxldGUgdGhpcy50ZXh0V2lkdGg7IGVsc2UgaWYgKCJ0ZXh0IiA9PT0gbi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICYmIHQud2lkdGgpIHZhciBhID0gdGhpcy50ZXh0V2lkdGggPSBPKHQud2lkdGgpOwogICAgICAgICAgICAgIGlmICh0aGlzLnN0eWxlcyA9IHQsIGEgJiYgIXAgJiYgdGhpcy5yZW5kZXJlci5mb3JFeHBvcnQgJiYgZGVsZXRlIHQud2lkdGgsIG4ubmFtZXNwYWNlVVJJID09PSB0aGlzLlNWR19OUykgewogICAgICAgICAgICAgICAgdmFyIGggPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiAiLSIgKyBlLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgQSh0LCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAtMSA9PT0gby5pbmRleE9mKGUpICYmIChyICs9IGUucmVwbGFjZSgvKFtBLVpdKS9nLCBoKSArICI6IiArIHQgKyAiOyIpOwogICAgICAgICAgICAgICAgfSkpLCByICYmIGcobiwgInN0eWxlIiwgcik7CiAgICAgICAgICAgICAgfSBlbHNlIHkobiwgdCk7CiAgICAgICAgICAgICAgdGhpcy5hZGRlZCAmJiAoInRleHQiID09PSB0aGlzLmVsZW1lbnQubm9kZU5hbWUgJiYgdGhpcy5yZW5kZXJlci5idWlsZFRleHQodGhpcyksIHQgJiYgdC50ZXh0T3V0bGluZSAmJiB0aGlzLmFwcGx5VGV4dE91dGxpbmUodC50ZXh0T3V0bGluZSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZGFzaHN0eWxlU2V0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXNbInN0cm9rZS13aWR0aCJdOwogICAgICAgICAgICBpZiAoImluaGVyaXQiID09PSBlICYmIChlID0gMSksIHQgPSB0ICYmIHQudG9Mb3dlckNhc2UoKSkgewogICAgICAgICAgICAgIHZhciBpID0gdC5yZXBsYWNlKCJzaG9ydGRhc2hkb3Rkb3QiLCAiMywxLDEsMSwxLDEsIikucmVwbGFjZSgic2hvcnRkYXNoZG90IiwgIjMsMSwxLDEiKS5yZXBsYWNlKCJzaG9ydGRvdCIsICIxLDEsIikucmVwbGFjZSgic2hvcnRkYXNoIiwgIjMsMSwiKS5yZXBsYWNlKCJsb25nZGFzaCIsICI4LDMsIikucmVwbGFjZSgvZG90L2csICIxLDMsIikucmVwbGFjZSgiZGFzaCIsICI0LDMsIikucmVwbGFjZSgvLCQvLCAiIikuc3BsaXQoIiwiKTsKICAgICAgICAgICAgICBmb3IgKHQgPSBpLmxlbmd0aDsgdC0tOykgaVt0XSA9ICIiICsgTyhpW3RdKSAqIFAoZSwgTmFOKTsKICAgICAgICAgICAgICB0ID0gaS5qb2luKCIsIikucmVwbGFjZSgvTmFOL2csICJub25lIiksIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoInN0cm9rZS1kYXNoYXJyYXkiLCB0KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0LmVsZW1lbnQgfHwge30sIGkgPSB0LnJlbmRlcmVyLCBuID0gZS5vd25lclNWR0VsZW1lbnQsIG8gPSBpLmlzU1ZHICYmICJTUEFOIiA9PT0gZS5ub2RlTmFtZSAmJiB0LnBhcmVudEdyb3VwIHx8IHZvaWQgMDsKICAgICAgICAgICAgaWYgKGUub25jbGljayA9IGUub25tb3VzZW91dCA9IGUub25tb3VzZW92ZXIgPSBlLm9ubW91c2Vtb3ZlID0gZS5wb2ludCA9IG51bGwsIGEodCksIHQuY2xpcFBhdGggJiYgbikgewogICAgICAgICAgICAgIHZhciByID0gdC5jbGlwUGF0aDsKICAgICAgICAgICAgICBbXS5mb3JFYWNoLmNhbGwobi5xdWVyeVNlbGVjdG9yQWxsKCJbY2xpcC1wYXRoXSxbQ0xJUC1QQVRIXSIpLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgLTEgPCB0LmdldEF0dHJpYnV0ZSgiY2xpcC1wYXRoIikuaW5kZXhPZihyLmVsZW1lbnQuaWQpICYmIHQucmVtb3ZlQXR0cmlidXRlKCJjbGlwLXBhdGgiKTsKICAgICAgICAgICAgICB9KSksIHQuY2xpcFBhdGggPSByLmRlc3Ryb3koKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodC5zdG9wcykgewogICAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCB0LnN0b3BzLmxlbmd0aDsgbisrKSB0LnN0b3BzW25dLmRlc3Ryb3koKTsKICAgICAgICAgICAgICB0LnN0b3BzLmxlbmd0aCA9IDAsIHQuc3RvcHMgPSB2b2lkIDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yICh0LnNhZmVSZW1vdmVDaGlsZChlKSwgaS5zdHlsZWRNb2RlIHx8IHQuZGVzdHJveVNoYWRvd3MoKTsgbyAmJiBvLmRpdiAmJiAwID09PSBvLmRpdi5jaGlsZE5vZGVzLmxlbmd0aDspIGUgPSBvLnBhcmVudEdyb3VwLCB0LnNhZmVSZW1vdmVDaGlsZChvLmRpdiksIGRlbGV0ZSBvLmRpdiwgbyA9IGU7CiAgICAgICAgICAgIHQuYWxpZ25UbyAmJiB4KGkuYWxpZ25lZE9iamVjdHMsIHQpLCBBKHQsIChmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgdFtpXSAmJiB0W2ldLnBhcmVudEdyb3VwID09PSB0ICYmIHRbaV0uZGVzdHJveSAmJiB0W2ldLmRlc3Ryb3koKSwgZGVsZXRlIHRbaV07CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmRlc3Ryb3lTaGFkb3dzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICh0aGlzLnNoYWRvd3MgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB0aGlzLnNhZmVSZW1vdmVDaGlsZCh0KTsKICAgICAgICAgICAgfSksIHRoaXMpLCB0aGlzLnNoYWRvd3MgPSB2b2lkIDA7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kZXN0cm95VGV4dFBhdGggPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dCIpWzBdOwogICAgICAgICAgICBpZiAoaSkgewogICAgICAgICAgICAgIGlmIChpLnJlbW92ZUF0dHJpYnV0ZSgiZHgiKSwgaS5yZW1vdmVBdHRyaWJ1dGUoImR5IiksIGUuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImlkIiwgIiIpLCB0aGlzLnRleHRQYXRoV3JhcHBlciAmJiBpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZXh0UGF0aCIpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgZm9yICh0ID0gdGhpcy50ZXh0UGF0aFdyYXBwZXIuZWxlbWVudC5jaGlsZE5vZGVzOyB0Lmxlbmd0aDspIGkuYXBwZW5kQ2hpbGQodFswXSk7CiAgICAgICAgICAgICAgICBpLnJlbW92ZUNoaWxkKHRoaXMudGV4dFBhdGhXcmFwcGVyLmVsZW1lbnQpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlICh0LmdldEF0dHJpYnV0ZSgiZHgiKSB8fCB0LmdldEF0dHJpYnV0ZSgiZHkiKSkgJiYgKHQucmVtb3ZlQXR0cmlidXRlKCJkeCIpLCB0LnJlbW92ZUF0dHJpYnV0ZSgiZHkiKSk7CiAgICAgICAgICAgIHRoaXMudGV4dFBhdGhXcmFwcGVyICYmICh0aGlzLnRleHRQYXRoV3JhcHBlciA9IHRoaXMudGV4dFBhdGhXcmFwcGVyLmRlc3Ryb3koKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5kU2V0dGVyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB3KHQpICYmICgic3RyaW5nIiA9PT0gdHlwZW9mIHRbMF0gJiYgKHQgPSB0aGlzLnJlbmRlcmVyLnBhdGhUb1NlZ21lbnRzKHQpKSwgdGhpcy5wYXRoQXJyYXkgPSB0LCB0ID0gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICByZXR1cm4gZSAmJiBlLmpvaW4gPyAoaSA/IHQgKyAiICIgOiAiIikgKyBlLmpvaW4oIiAiKSA6IChlIHx8ICIiKS50b1N0cmluZygpOwogICAgICAgICAgICB9KSwgIiIpKSwgLyhOYU58IHsyfXxeJCkvLnRlc3QodCkgJiYgKHQgPSAiTSAwIDAiKSwgdGhpc1tlXSAhPT0gdCAmJiAoaS5zZXRBdHRyaWJ1dGUoZSwgdCksIHRoaXNbZV0gPSB0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmZhZGVPdXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgZS5hbmltYXRlKHsgb3BhY2l0eTogMCB9LCB7CiAgICAgICAgICAgICAgZHVyYXRpb246IFAodCwgMTUwKSwgY29tcGxldGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZS5hdHRyKHsgeTogLTk5OTkgfSkuaGlkZSgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5maWxsU2V0dGVyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAic3RyaW5nIiA9PT0gdHlwZW9mIHQgPyBpLnNldEF0dHJpYnV0ZShlLCB0KSA6IHQgJiYgdGhpcy5jb21wbGV4Q29sb3IodCwgZSwgaSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRCQm94ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMucmVuZGVyZXIsIG8gPSB0aGlzLmVsZW1lbnQsIHIgPSB0aGlzLnN0eWxlcywgcyA9IHRoaXMudGV4dFN0ciwgYSA9IG4uY2FjaGUsIGwgPSBuLmNhY2hlS2V5cywgYyA9IG8ubmFtZXNwYWNlVVJJID09PSB0aGlzLlNWR19OUzsKICAgICAgICAgICAgaSA9IFAoaSwgdGhpcy5yb3RhdGlvbiwgMCk7CiAgICAgICAgICAgIHZhciBwLCBkID0gbi5zdHlsZWRNb2RlID8gbyAmJiB0LnByb3RvdHlwZS5nZXRTdHlsZS5jYWxsKG8sICJmb250LXNpemUiKSA6IHIgJiYgci5mb250U2l6ZTsKICAgICAgICAgICAgaWYgKHYocykpIHsKICAgICAgICAgICAgICB2YXIgdSA9IHMudG9TdHJpbmcoKTsKICAgICAgICAgICAgICAtMSA9PT0gdS5pbmRleE9mKCI8IikgJiYgKHUgPSB1LnJlcGxhY2UoL1swLTldL2csICIwIikpLCB1ICs9IFsiIiwgaSwgZCwgdGhpcy50ZXh0V2lkdGgsIHIgJiYgci50ZXh0T3ZlcmZsb3csIHIgJiYgci5mb250V2VpZ2h0XS5qb2luKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHUgJiYgIWUgJiYgKHAgPSBhW3VdKSwgIXApIHsKICAgICAgICAgICAgICBpZiAoYyB8fCBuLmZvckV4cG9ydCkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgdmFyIGYgPSB0aGlzLmZha2VUUyAmJiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBvLnF1ZXJ5U2VsZWN0b3IoIi5oaWdoY2hhcnRzLXRleHQtb3V0bGluZSIpOwogICAgICAgICAgICAgICAgICAgIGUgJiYgeShlLCB7IGRpc3BsYXk6IHQgfSk7CiAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgIGsoZikgJiYgZigibm9uZSIpLCBwID0gby5nZXRCQm94ID8gYih7fSwgby5nZXRCQm94KCkpIDogeyB3aWR0aDogby5vZmZzZXRXaWR0aCwgaGVpZ2h0OiBvLm9mZnNldEhlaWdodCB9LCBrKGYpICYmIGYoIiIpOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZykgewogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKCFwIHx8IDAgPiBwLndpZHRoKSAmJiAocCA9IHsgd2lkdGg6IDAsIGhlaWdodDogMCB9KTsKICAgICAgICAgICAgICB9IGVsc2UgcCA9IHRoaXMuaHRtbEdldEJCb3goKTsKICAgICAgICAgICAgICBpZiAobi5pc1NWRyAmJiAoZSA9IHAud2lkdGgsIG4gPSBwLmhlaWdodCwgYyAmJiAocC5oZWlnaHQgPSBuID0gewogICAgICAgICAgICAgICAgIjExcHgsMTciOiAxNCwKICAgICAgICAgICAgICAgICIxM3B4LDIwIjogMTYKICAgICAgICAgICAgICB9WyhkIHx8ICIiKSArICIsIiArIE1hdGgucm91bmQobildIHx8IG4pLCBpICYmIChjID0gaSAqIGgsIHAud2lkdGggPSBNYXRoLmFicyhuICogTWF0aC5zaW4oYykpICsgTWF0aC5hYnMoZSAqIE1hdGguY29zKGMpKSwgcC5oZWlnaHQgPSBNYXRoLmFicyhuICogTWF0aC5jb3MoYykpICsgTWF0aC5hYnMoZSAqIE1hdGguc2luKGMpKSkpLCB1ICYmICgiIiA9PT0gcyB8fCAwIDwgcC5oZWlnaHQpKSB7CiAgICAgICAgICAgICAgICBmb3IgKDsgMjUwIDwgbC5sZW5ndGg7KSBkZWxldGUgYVtsLnNoaWZ0KCldOwogICAgICAgICAgICAgICAgYVt1XSB8fCBsLnB1c2godSksIGFbdV0gPSBwOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFN0eWxlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdS5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudCB8fCB0aGlzLCAiIikuZ2V0UHJvcGVydHlWYWx1ZSh0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmhhc0NsYXNzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gLTEgIT09ICgiIiArIHRoaXMuYXR0cigiY2xhc3MiKSkuc3BsaXQoIiAiKS5pbmRleE9mKHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaGlkZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPyB0aGlzLmF0dHIoeyB5OiAtOTk5OSB9KSA6IHRoaXMuYXR0cih7IHZpc2liaWxpdHk6ICJoaWRkZW4iIH0pLCB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaHRtbEdldEJCb3ggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHsgaGVpZ2h0OiAwLCB3aWR0aDogMCwgeDogMCwgeTogMCB9OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdGhpcy5lbGVtZW50ID0gInNwYW4iID09PSBlID8gbShlKSA6IGwuY3JlYXRlRWxlbWVudE5TKHRoaXMuU1ZHX05TLCBlKSwgdGhpcy5yZW5kZXJlciA9IHQsIF8odGhpcywgImFmdGVySW5pdCIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaW52ZXJ0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5pbnZlcnRlZCA9IHQsIHRoaXMudXBkYXRlVHJhbnNmb3JtKCksIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLm9uRXZlbnRzOwogICAgICAgICAgICByZXR1cm4gaVt0XSAmJiBpW3RdKCksIGlbdF0gPSBmKHRoaXMuZWxlbWVudCwgdCwgZSksIHRoaXM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5vcGFjaXR5U2V0dGVyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB0aGlzLm9wYWNpdHkgPSB0ID0gTnVtYmVyKE51bWJlcih0KS50b0ZpeGVkKDMpKSwgaS5zZXRBdHRyaWJ1dGUoZSwgdCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmVDbGFzcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCAoIiIgKyB0aGlzLmF0dHIoImNsYXNzIikpLnJlcGxhY2UoQyh0KSA/IG5ldyBSZWdFeHAoIihefCApIiArIHQgKyAiKCB8JCkiKSA6IHQsICIgIikucmVwbGFjZSgvICsvZywgIiAiKS50cmltKCkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUucmVtb3ZlVGV4dE91dGxpbmUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvcigidHNwYW4uaGlnaGNoYXJ0cy10ZXh0LW91dGxpbmUiKTsKICAgICAgICAgICAgdCAmJiB0aGlzLnNhZmVSZW1vdmVDaGlsZCh0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNhZmVSZW1vdmVDaGlsZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0LnBhcmVudE5vZGU7CiAgICAgICAgICAgIGUgJiYgZS5yZW1vdmVDaGlsZCh0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldFJhZGlhbFJlZmVyZW5jZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmVsZW1lbnQuZ3JhZGllbnQgJiYgdGhpcy5yZW5kZXJlci5ncmFkaWVudHNbdGhpcy5lbGVtZW50LmdyYWRpZW50XTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5yYWRpYWxSZWZlcmVuY2UgPSB0LCBlICYmIGUucmFkQXR0ciAmJiBlLmFuaW1hdGUodGhpcy5yZW5kZXJlci5nZXRSYWRpYWxBdHRyKHQsIGUucmFkQXR0cikpLCB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0VGV4dFBhdGggPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5lbGVtZW50LCBvID0gdGhpcy50ZXh0ID8gdGhpcy50ZXh0LmVsZW1lbnQgOiBuLCByID0geyB0ZXh0QW5jaG9yOiAidGV4dC1hbmNob3IiIH0sIHMgPSAhMSwgYSA9IHRoaXMudGV4dFBhdGhXcmFwcGVyLCBoID0gIWE7CiAgICAgICAgICAgIGkgPSBNKCEwLCB7IGVuYWJsZWQ6ICEwLCBhdHRyaWJ1dGVzOiB7IGR5OiAtNSwgc3RhcnRPZmZzZXQ6ICI1MCUiLCB0ZXh0QW5jaG9yOiAibWlkZGxlIiB9IH0sIGkpOwogICAgICAgICAgICB2YXIgbCA9IGUuZmlsdGVyVXNlckF0dHJpYnV0ZXMoaS5hdHRyaWJ1dGVzKTsKICAgICAgICAgICAgaWYgKHQgJiYgaSAmJiBpLmVuYWJsZWQpIHsKICAgICAgICAgICAgICBhICYmIG51bGwgPT09IGEuZWxlbWVudC5wYXJlbnROb2RlID8gKGggPSAhMCwgYSA9IGEuZGVzdHJveSgpKSA6IGEgJiYgdGhpcy5yZW1vdmVUZXh0T3V0bGluZS5jYWxsKGEucGFyZW50R3JvdXApLCB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLnBhZGRpbmcgJiYgKGwuZHggPSAtdGhpcy5vcHRpb25zLnBhZGRpbmcpLCBhIHx8ICh0aGlzLnRleHRQYXRoV3JhcHBlciA9IGEgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoInRleHRQYXRoIiksIHMgPSAhMCk7CiAgICAgICAgICAgICAgdmFyIHAgPSBhLmVsZW1lbnQ7CiAgICAgICAgICAgICAgaWYgKChpID0gdC5lbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSkgfHwgdC5lbGVtZW50LnNldEF0dHJpYnV0ZSgiaWQiLCBpID0gRSgpKSwgaCkgZm9yIChvLnNldEF0dHJpYnV0ZSgieSIsIDApLCBTKGwuZHgpICYmIG8uc2V0QXR0cmlidXRlKCJ4IiwgLWwuZHgpLCB0ID0gW10uc2xpY2UuY2FsbChvLmNoaWxkTm9kZXMpLCBoID0gMDsgaCA8IHQubGVuZ3RoOyBoKyspIHsKICAgICAgICAgICAgICAgIHZhciBkID0gdFtoXTsKICAgICAgICAgICAgICAgIGQubm9kZVR5cGUgIT09IHUuTm9kZS5URVhUX05PREUgJiYgInRzcGFuIiAhPT0gZC5ub2RlTmFtZSB8fCBwLmFwcGVuZENoaWxkKGQpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzICYmIGEgJiYgYS5hZGQoeyBlbGVtZW50OiBvIH0pLCBwLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwgImhyZWYiLCB0aGlzLnJlbmRlcmVyLnVybCArICIjIiArIGkpLCB2KGwuZHkpICYmIChwLnBhcmVudE5vZGUuc2V0QXR0cmlidXRlKCJkeSIsIGwuZHkpLCBkZWxldGUgbC5keSksIHYobC5keCkgJiYgKHAucGFyZW50Tm9kZS5zZXRBdHRyaWJ1dGUoImR4IiwgbC5keCksIGRlbGV0ZSBsLmR4KSwgQShsLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcC5zZXRBdHRyaWJ1dGUocltlXSB8fCBlLCB0KTsKICAgICAgICAgICAgICB9KSksIG4ucmVtb3ZlQXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSwgdGhpcy5yZW1vdmVUZXh0T3V0bGluZS5jYWxsKGEpLCB0aGlzLnRleHQgJiYgIXRoaXMucmVuZGVyZXIuc3R5bGVkTW9kZSAmJiB0aGlzLmF0dHIoewogICAgICAgICAgICAgICAgZmlsbDogIm5vbmUiLAogICAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IDAKICAgICAgICAgICAgICB9KSwgdGhpcy5hcHBseVRleHRPdXRsaW5lID0gdGhpcy51cGRhdGVUcmFuc2Zvcm0gPSBjOwogICAgICAgICAgICB9IGVsc2UgYSAmJiAoZGVsZXRlIHRoaXMudXBkYXRlVHJhbnNmb3JtLCBkZWxldGUgdGhpcy5hcHBseVRleHRPdXRsaW5lLCB0aGlzLmRlc3Ryb3lUZXh0UGF0aChuLCB0KSwgdGhpcy51cGRhdGVUcmFuc2Zvcm0oKSwgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5yb3RhdGlvbiAmJiB0aGlzLmFwcGx5VGV4dE91dGxpbmUodGhpcy5vcHRpb25zLnN0eWxlLnRleHRPdXRsaW5lKSk7CiAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2hhZG93ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiwgbyA9IFtdLCByID0gdGhpcy5lbGVtZW50LCBzID0gdGhpcy5vbGRTaGFkb3dPcHRpb25zLAogICAgICAgICAgICAgIGEgPSB7IGNvbG9yOiAiIzAwMDAwMCIsIG9mZnNldFg6IHRoaXMucGFyZW50SW52ZXJ0ZWQgPyAtMSA6IDEsIG9mZnNldFk6IHRoaXMucGFyZW50SW52ZXJ0ZWQgPyAtMSA6IDEsIG9wYWNpdHk6IC4xNSwgd2lkdGg6IDMgfSwgaCA9ICExOwogICAgICAgICAgICBpZiAoITAgPT09IHQgPyBuID0gYSA6ICJvYmplY3QiID09PSB0eXBlb2YgdCAmJiAobiA9IGIoYSwgdCkpLCBuICYmIChuICYmIHMgJiYgQShuLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQgIT09IHNbZV0gJiYgKGggPSAhMCk7CiAgICAgICAgICAgIH0pKSwgaCAmJiB0aGlzLmRlc3Ryb3lTaGFkb3dzKCksIHRoaXMub2xkU2hhZG93T3B0aW9ucyA9IG4pLCBuKSB7CiAgICAgICAgICAgICAgaWYgKCF0aGlzLnNoYWRvd3MpIHsKICAgICAgICAgICAgICAgIHZhciBsID0gbi5vcGFjaXR5IC8gbi53aWR0aCwKICAgICAgICAgICAgICAgICAgYyA9IHRoaXMucGFyZW50SW52ZXJ0ZWQgPyAidHJhbnNsYXRlKCIgKyBuLm9mZnNldFkgKyAiLCAiICsgbi5vZmZzZXRYICsgIikiIDogInRyYW5zbGF0ZSgiICsgbi5vZmZzZXRYICsgIiwgIiArIG4ub2Zmc2V0WSArICIpIjsKICAgICAgICAgICAgICAgIGZvciAoYSA9IDE7IGEgPD0gbi53aWR0aDsgYSsrKSB7CiAgICAgICAgICAgICAgICAgIHZhciBwID0gci5jbG9uZU5vZGUoITEpLCBkID0gMiAqIG4ud2lkdGggKyAxIC0gMiAqIGE7CiAgICAgICAgICAgICAgICAgIGcocCwgewogICAgICAgICAgICAgICAgICAgIHN0cm9rZTogdC5jb2xvciB8fCAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgInN0cm9rZS1vcGFjaXR5IjogbCAqIGEsCiAgICAgICAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IGQsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBjLAogICAgICAgICAgICAgICAgICAgIGZpbGw6ICJub25lIgogICAgICAgICAgICAgICAgICB9KSwgcC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgKHAuZ2V0QXR0cmlidXRlKCJjbGFzcyIpIHx8ICIiKSArICIgaGlnaGNoYXJ0cy1zaGFkb3ciKSwgaSAmJiAoZyhwLCAiaGVpZ2h0IiwgTWF0aC5tYXgoZyhwLCAiaGVpZ2h0IikgLSBkLCAwKSksIHAuY3V0SGVpZ2h0ID0gZCksIGUgPyBlLmVsZW1lbnQuYXBwZW5kQ2hpbGQocCkgOiByLnBhcmVudE5vZGUgJiYgci5wYXJlbnROb2RlLmluc2VydEJlZm9yZShwLCByKSwgby5wdXNoKHApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhpcy5zaGFkb3dzID0gbzsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB0aGlzLmRlc3Ryb3lTaGFkb3dzKCk7CiAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2hvdyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXR0cih7IHZpc2liaWxpdHk6IHQgPyAiaW5oZXJpdCIgOiAidmlzaWJsZSIgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zdHJva2VTZXR0ZXIgPSBmdW5jdGlvbihlLCBpLCBuKSB7CiAgICAgICAgICAgIHRoaXNbaV0gPSBlLCB0aGlzLnN0cm9rZSAmJiB0aGlzWyJzdHJva2Utd2lkdGgiXSA/ICh0LnByb3RvdHlwZS5maWxsU2V0dGVyLmNhbGwodGhpcywgdGhpcy5zdHJva2UsICJzdHJva2UiLCBuKSwgbi5zZXRBdHRyaWJ1dGUoInN0cm9rZS13aWR0aCIsIHRoaXNbInN0cm9rZS13aWR0aCJdKSwgdGhpcy5oYXNTdHJva2UgPSAhMCkgOiAic3Ryb2tlLXdpZHRoIiA9PT0gaSAmJiAwID09PSBlICYmIHRoaXMuaGFzU3Ryb2tlID8gKG4ucmVtb3ZlQXR0cmlidXRlKCJzdHJva2UiKSwgdGhpcy5oYXNTdHJva2UgPSAhMSkgOiB0aGlzLnJlbmRlcmVyLnN0eWxlZE1vZGUgJiYgdGhpc1sic3Ryb2tlLXdpZHRoIl0gJiYgKG4uc2V0QXR0cmlidXRlKCJzdHJva2Utd2lkdGgiLCB0aGlzWyJzdHJva2Utd2lkdGgiXSksIHRoaXMuaGFzU3Ryb2tlID0gITApOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc3Ryb2tlV2lkdGggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlcmVyLnN0eWxlZE1vZGUpIHJldHVybiB0aGlzWyJzdHJva2Utd2lkdGgiXSB8fCAwOwogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZ2V0U3R5bGUoInN0cm9rZS13aWR0aCIpLCBlID0gMDsKICAgICAgICAgICAgaWYgKHQuaW5kZXhPZigicHgiKSA9PT0gdC5sZW5ndGggLSAyKSBlID0gTyh0KTsgZWxzZSBpZiAoIiIgIT09IHQpIHsKICAgICAgICAgICAgICB2YXIgaSA9IGwuY3JlYXRlRWxlbWVudE5TKGQsICJyZWN0Iik7CiAgICAgICAgICAgICAgZyhpLCB7IHdpZHRoOiB0LCAic3Ryb2tlLXdpZHRoIjogMCB9KSwgdGhpcy5lbGVtZW50LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoaSksIGUgPSBpLmdldEJCb3goKS53aWR0aCwgaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBlOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc3ltYm9sQXR0ciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICAieCB5IHIgc3RhcnQgZW5kIHdpZHRoIGhlaWdodCBpbm5lclIgYW5jaG9yWCBhbmNob3JZIGNsb2Nrd2lzZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihpKSB7CiAgICAgICAgICAgICAgZVtpXSA9IFAodFtpXSwgZVtpXSk7CiAgICAgICAgICAgIH0pKSwgZS5hdHRyKHsgZDogZS5yZW5kZXJlci5zeW1ib2xzW2Uuc3ltYm9sTmFtZV0oZS54LCBlLnksIGUud2lkdGgsIGUuaGVpZ2h0LCBlKSB9KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnRleHRTZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHQgIT09IHRoaXMudGV4dFN0ciAmJiAoZGVsZXRlIHRoaXMudGV4dFB4TGVuZ3RoLCB0aGlzLnRleHRTdHIgPSB0LCB0aGlzLmFkZGVkICYmIHRoaXMucmVuZGVyZXIuYnVpbGRUZXh0KHRoaXMpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnRpdGxlU2V0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuZWxlbWVudCwgaSA9IGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRpdGxlIilbMF0gfHwgbC5jcmVhdGVFbGVtZW50TlModGhpcy5TVkdfTlMsICJ0aXRsZSIpOwogICAgICAgICAgICBlLmluc2VydEJlZm9yZSA/IGUuaW5zZXJ0QmVmb3JlKGksIGUuZmlyc3RDaGlsZCkgOiBlLmFwcGVuZENoaWxkKGkpLCBpLnRleHRDb250ZW50ID0gU3RyaW5nKFAodCwgIiIpKS5yZXBsYWNlKC88W14+XSo+L2csICIiKS5yZXBsYWNlKC8mbHQ7L2csICI8IikucmVwbGFjZSgvJmd0Oy9nLCAiPiIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudG9Gcm9udCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZWxlbWVudDsKICAgICAgICAgICAgcmV0dXJuIHQucGFyZW50Tm9kZS5hcHBlbmRDaGlsZCh0KSwgdGhpczsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXR0cih7IHRyYW5zbGF0ZVg6IHQsIHRyYW5zbGF0ZVk6IGUgfSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS51cGRhdGVTaGFkb3dzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMuc2hhZG93czsKICAgICAgICAgICAgaWYgKG4pIGZvciAodmFyIG8gPSBuLmxlbmd0aDsgby0tOykgaS5jYWxsKG5bb10sICJoZWlnaHQiID09PSB0ID8gTWF0aC5tYXgoZSAtIChuW29dLmN1dEhlaWdodCB8fCAwKSwgMCkgOiAiZCIgPT09IHQgPyB0aGlzLmQgOiBlLCB0LCBuW29dKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZVRyYW5zZm9ybSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuc2NhbGVYLCBlID0gdGhpcy5zY2FsZVksIGkgPSB0aGlzLmludmVydGVkLCBuID0gdGhpcy5yb3RhdGlvbiwgbyA9IHRoaXMubWF0cml4LCByID0gdGhpcy5lbGVtZW50LCBzID0gdGhpcy50cmFuc2xhdGVYIHx8IDAsCiAgICAgICAgICAgICAgYSA9IHRoaXMudHJhbnNsYXRlWSB8fCAwOwogICAgICAgICAgICBpICYmIChzICs9IHRoaXMud2lkdGgsIGEgKz0gdGhpcy5oZWlnaHQpLCBzID0gWyJ0cmFuc2xhdGUoIiArIHMgKyAiLCIgKyBhICsgIikiXSwgdihvKSAmJiBzLnB1c2goIm1hdHJpeCgiICsgby5qb2luKCIsIikgKyAiKSIpLCBpID8gcy5wdXNoKCJyb3RhdGUoOTApIHNjYWxlKC0xLDEpIikgOiBuICYmIHMucHVzaCgicm90YXRlKCIgKyBuICsgIiAiICsgUCh0aGlzLnJvdGF0aW9uT3JpZ2luWCwgci5nZXRBdHRyaWJ1dGUoIngiKSwgMCkgKyAiICIgKyBQKHRoaXMucm90YXRpb25PcmlnaW5ZLCByLmdldEF0dHJpYnV0ZSgieSIpIHx8IDApICsgIikiKSwgKHYodCkgfHwgdihlKSkgJiYgcy5wdXNoKCJzY2FsZSgiICsgUCh0LCAxKSArICIgIiArIFAoZSwgMSkgKyAiKSIpLCBzLmxlbmd0aCAmJiByLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwgcy5qb2luKCIgIikpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudmlzaWJpbGl0eVNldHRlciA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgImluaGVyaXQiID09PSB0ID8gaS5yZW1vdmVBdHRyaWJ1dGUoZSkgOiB0aGlzW2VdICE9PSB0ICYmIGkuc2V0QXR0cmlidXRlKGUsIHQpLCB0aGlzW2VdID0gdDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnhHZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiAiY2lyY2xlIiA9PT0gdGhpcy5lbGVtZW50Lm5vZGVOYW1lICYmICgieCIgPT09IHQgPyB0ID0gImN4IiA6ICJ5IiA9PT0gdCAmJiAodCA9ICJjeSIpKSwgdGhpcy5fZGVmYXVsdEdldHRlcih0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnpJbmRleFNldHRlciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLnJlbmRlcmVyLCBuID0gdGhpcy5wYXJlbnRHcm91cCwgbyA9IChuIHx8IGkpLmVsZW1lbnQgfHwgaS5ib3gsIHIgPSB0aGlzLmVsZW1lbnQ7CiAgICAgICAgICAgIGkgPSBvID09PSBpLmJveDsKICAgICAgICAgICAgdmFyIHMsIGEgPSAhMSwgaCA9IHRoaXMuYWRkZWQ7CiAgICAgICAgICAgIGlmICh2KHQpID8gKHIuc2V0QXR0cmlidXRlKCJkYXRhLXotaW5kZXgiLCB0KSwgdCA9ICt0LCB0aGlzW2VdID09PSB0ICYmIChoID0gITEpKSA6IHYodGhpc1tlXSkgJiYgci5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtei1pbmRleCIpLCB0aGlzW2VdID0gdCwgaCkgewogICAgICAgICAgICAgIGZvciAoKHQgPSB0aGlzLnpJbmRleCkgJiYgbiAmJiAobi5oYW5kbGVaID0gITApLCBlID0gby5jaGlsZE5vZGVzLCBzID0gZS5sZW5ndGggLSAxOyAwIDw9IHMgJiYgIWE7IHMtLSkgewogICAgICAgICAgICAgICAgbiA9IGVbc10sIGggPSBuLmdldEF0dHJpYnV0ZSgiZGF0YS16LWluZGV4Iik7CiAgICAgICAgICAgICAgICB2YXIgbCA9ICF2KGgpOwogICAgICAgICAgICAgICAgbiAhPT0gciAmJiAoMCA+IHQgJiYgbCAmJiAhaSAmJiAhcyA/IChvLmluc2VydEJlZm9yZShyLCBlW3NdKSwgYSA9ICEwKSA6IChPKGgpIDw9IHQgfHwgbCAmJiAoIXYodCkgfHwgMCA8PSB0KSkgJiYgKG8uaW5zZXJ0QmVmb3JlKHIsIGVbcyArIDFdIHx8IG51bGwpLCBhID0gITApKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYSB8fCAoby5pbnNlcnRCZWZvcmUociwgZVtpID8gMyA6IDBdIHx8IG51bGwpLCBhID0gITApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgICAgfSwgdDsKICAgICAgICB9KCksIHQucHJvdG90eXBlWyJzdHJva2Utd2lkdGhTZXR0ZXIiXSA9IHQucHJvdG90eXBlLnN0cm9rZVNldHRlciwgdC5wcm90b3R5cGUueUdldHRlciA9IHQucHJvdG90eXBlLnhHZXR0ZXIsIHQucHJvdG90eXBlLm1hdHJpeFNldHRlciA9IHQucHJvdG90eXBlLnJvdGF0aW9uT3JpZ2luWFNldHRlciA9IHQucHJvdG90eXBlLnJvdGF0aW9uT3JpZ2luWVNldHRlciA9IHQucHJvdG90eXBlLnJvdGF0aW9uU2V0dGVyID0gdC5wcm90b3R5cGUuc2NhbGVYU2V0dGVyID0gdC5wcm90b3R5cGUuc2NhbGVZU2V0dGVyID0gdC5wcm90b3R5cGUudHJhbnNsYXRlWFNldHRlciA9IHQucHJvdG90eXBlLnRyYW5zbGF0ZVlTZXR0ZXIgPSB0LnByb3RvdHlwZS52ZXJ0aWNhbEFsaWduU2V0dGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgdGhpc1tlXSA9IHQsIHRoaXMuZG9UcmFuc2Zvcm0gPSAhMDsKICAgICAgICB9LCB0OwogICAgICB9KSksIGUoaSwgIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyIsIFtpWyJDb3JlL0dsb2JhbHMuanMiXV0sIChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGU7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIHZhciBpOwogICAgICAgICAgZS5yZW5kZXJlclR5cGVzID0ge30sIGUuZ2V0UmVuZGVyZXJUeXBlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSB0ICYmICh0ID0gaSksIGUucmVuZGVyZXJUeXBlc1t0XSB8fCBlLnJlbmRlcmVyVHlwZXNbaV07CiAgICAgICAgICB9LCBlLnJlZ2lzdGVyUmVuZGVyZXJUeXBlID0gZnVuY3Rpb24obiwgbywgcikgewogICAgICAgICAgICBlLnJlbmRlcmVyVHlwZXNbbl0gPSBvLCBpICYmICFyIHx8IChpID0gbiwgdC5SZW5kZXJlciA9IG8pOwogICAgICAgICAgfTsKICAgICAgICB9KGUgfHwgKGUgPSB7fSkpLCBlOwogICAgICB9KSksIGUoaSwgIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0xhYmVsLmpzIiwgW2lbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0VsZW1lbnQuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgdmFyIGkgPSB0aGlzICYmIHRoaXMuX19leHRlbmRzIHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIHQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIHQuX19wcm90b19fID0gZTsKICAgICAgICAgICAgfSB8fCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlLmhhc093blByb3BlcnR5KGkpICYmICh0W2ldID0gZVtpXSk7CiAgICAgICAgICAgIH0sIHQoZSwgaSk7CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdChlLCBpKSwgZS5wcm90b3R5cGUgPSBudWxsID09PSBpID8gT2JqZWN0LmNyZWF0ZShpKSA6IChuLnByb3RvdHlwZSA9IGkucHJvdG90eXBlLCBuZXcgbik7CiAgICAgICAgICB9OwogICAgICAgIH0oKSwgbiA9IGUuZGVmaW5lZCwgbyA9IGUuZXh0ZW5kLCByID0gZS5pc051bWJlciwgcyA9IGUubWVyZ2UsIGEgPSBlLnBpY2ssIGggPSBlLnJlbW92ZUV2ZW50OwogICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7CiAgICAgICAgICBmdW5jdGlvbiBsKHQsIGksIG4sIG8sIHIsIHMsIGEsIGgsIGMsIHApIHsKICAgICAgICAgICAgdmFyIGQsIHUgPSBlLmNhbGwodGhpcykgfHwgdGhpczsKICAgICAgICAgICAgcmV0dXJuIHUucGFkZGluZ0xlZnRTZXR0ZXIgPSB1LnBhZGRpbmdTZXR0ZXIsIHUucGFkZGluZ1JpZ2h0U2V0dGVyID0gdS5wYWRkaW5nU2V0dGVyLCB1LmluaXQodCwgImciKSwgdS50ZXh0U3RyID0gaSwgdS54ID0gbiwgdS55ID0gbywgdS5hbmNob3JYID0gcywgdS5hbmNob3JZID0gYSwgdS5iYXNlbGluZSA9IGMsIHUuY2xhc3NOYW1lID0gcCwgdS5hZGRDbGFzcygiYnV0dG9uIiA9PT0gcCA/ICJoaWdoY2hhcnRzLW5vLXRvb2x0aXAiIDogImhpZ2hjaGFydHMtbGFiZWwiKSwgcCAmJiB1LmFkZENsYXNzKCJoaWdoY2hhcnRzLSIgKyBwKSwgdS50ZXh0ID0gdC50ZXh0KHZvaWQgMCwgMCwgMCwgaCkuYXR0cih7IHpJbmRleDogMSB9KSwgInN0cmluZyIgPT09IHR5cGVvZiByICYmICgoZCA9IC9edXJsXCgoLio/KVwpJC8udGVzdChyKSkgfHwgdS5yZW5kZXJlci5zeW1ib2xzW3JdKSAmJiAodS5zeW1ib2xLZXkgPSByKSwgdS5iQm94ID0gbC5lbXB0eUJCb3gsIHUucGFkZGluZyA9IDMsIHUuYmFzZWxpbmVPZmZzZXQgPSAwLCB1Lm5lZWRzQm94ID0gdC5zdHlsZWRNb2RlIHx8IGQsIHUuZGVmZXJyZWRBdHRyID0ge30sIHUuYWxpZ25GYWN0b3IgPSAwLCB1OwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBpKGwsIGUpLCBsLnByb3RvdHlwZS5hbGlnblNldHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdCA9IHsKICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgIGNlbnRlcjogLjUsCiAgICAgICAgICAgICAgcmlnaHQ6IDEKICAgICAgICAgICAgfVt0XSwgdCAhPT0gdGhpcy5hbGlnbkZhY3RvciAmJiAodGhpcy5hbGlnbkZhY3RvciA9IHQsIHRoaXMuYkJveCAmJiByKHRoaXMueFNldHRpbmcpICYmIHRoaXMuYXR0cih7IHg6IHRoaXMueFNldHRpbmcgfSkpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuYW5jaG9yWFNldHRlciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdGhpcy5hbmNob3JYID0gdCwgdGhpcy5ib3hBdHRyKGUsIE1hdGgucm91bmQodCkgLSB0aGlzLmdldENyaXNwQWRqdXN0KCkgLSB0aGlzLnhTZXR0aW5nKTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLmFuY2hvcllTZXR0ZXIgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHRoaXMuYW5jaG9yWSA9IHQsIHRoaXMuYm94QXR0cihlLCB0IC0gdGhpcy55U2V0dGluZyk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5ib3hBdHRyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB0aGlzLmJveCA/IHRoaXMuYm94LmF0dHIodCwgZSkgOiB0aGlzLmRlZmVycmVkQXR0clt0XSA9IGU7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5jc3MgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGlmIChlKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSB7fTsKICAgICAgICAgICAgICBlID0gcyhlKSwgbC50ZXh0UHJvcHMuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBlW3RdICYmIChpW3RdID0gZVt0XSwgZGVsZXRlIGVbdF0pOwogICAgICAgICAgICAgIH0pKSwgdGhpcy50ZXh0LmNzcyhpKTsKICAgICAgICAgICAgICB2YXIgbiA9ICJ3aWR0aCIgaW4gaTsKICAgICAgICAgICAgICAiZm9udFNpemUiIGluIGkgfHwgImZvbnRXZWlnaHQiIGluIGkgPyB0aGlzLnVwZGF0ZVRleHRQYWRkaW5nKCkgOiBuICYmIHRoaXMudXBkYXRlQm94U2l6ZSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5jc3MuY2FsbCh0aGlzLCBlKTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaCh0aGlzLmVsZW1lbnQsICJtb3VzZWVudGVyIiksIGgodGhpcy5lbGVtZW50LCAibW91c2VsZWF2ZSIpLCB0aGlzLnRleHQgJiYgdGhpcy50ZXh0LmRlc3Ryb3koKSwgdGhpcy5ib3ggJiYgKHRoaXMuYm94ID0gdGhpcy5ib3guZGVzdHJveSgpKSwgdC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuZmlsbFNldHRlciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdCAmJiAodGhpcy5uZWVkc0JveCA9ICEwKSwgdGhpcy5maWxsID0gdCwgdGhpcy5ib3hBdHRyKGUsIHQpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuZ2V0QkJveCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLnRleHRTdHIgJiYgMCA9PT0gdGhpcy5iQm94LndpZHRoICYmIDAgPT09IHRoaXMuYkJveC5oZWlnaHQgJiYgdGhpcy51cGRhdGVCb3hTaXplKCk7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5wYWRkaW5nLCBlID0gYSh0aGlzLnBhZGRpbmdMZWZ0LCB0KTsKICAgICAgICAgICAgcmV0dXJuIHsgd2lkdGg6IHRoaXMud2lkdGgsIGhlaWdodDogdGhpcy5oZWlnaHQsIHg6IHRoaXMuYkJveC54IC0gZSwgeTogdGhpcy5iQm94LnkgLSB0IH07CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5nZXRDcmlzcEFkanVzdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJlci5zdHlsZWRNb2RlICYmIHRoaXMuYm94ID8gdGhpcy5ib3guc3Ryb2tlV2lkdGgoKSAlIDIgLyAyIDogKHRoaXNbInN0cm9rZS13aWR0aCJdID8gcGFyc2VJbnQodGhpc1sic3Ryb2tlLXdpZHRoIl0sIDEwKSA6IDApICUgMiAvIDI7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5oZWlnaHRTZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMuaGVpZ2h0U2V0dGluZyA9IHQ7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5vbkFkZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMudGV4dFN0cjsKICAgICAgICAgICAgdGhpcy50ZXh0LmFkZCh0aGlzKSwgdGhpcy5hdHRyKHsgdGV4dDogbih0KSA/IHQgOiAiIiwgeDogdGhpcy54LCB5OiB0aGlzLnkgfSksIHRoaXMuYm94ICYmIG4odGhpcy5hbmNob3JYKSAmJiB0aGlzLmF0dHIoewogICAgICAgICAgICAgIGFuY2hvclg6IHRoaXMuYW5jaG9yWCwKICAgICAgICAgICAgICBhbmNob3JZOiB0aGlzLmFuY2hvclkKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS5wYWRkaW5nU2V0dGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICByKHQpID8gdCAhPT0gdGhpc1tlXSAmJiAodGhpc1tlXSA9IHQsIHRoaXMudXBkYXRlVGV4dFBhZGRpbmcoKSkgOiB0aGlzW2VdID0gdm9pZCAwOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuclNldHRlciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdGhpcy5ib3hBdHRyKGUsIHQpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuc2hhZG93ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdCAmJiAhdGhpcy5yZW5kZXJlci5zdHlsZWRNb2RlICYmICh0aGlzLnVwZGF0ZUJveFNpemUoKSwgdGhpcy5ib3ggJiYgdGhpcy5ib3guc2hhZG93KHQpKSwgdGhpczsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLnN0cm9rZVNldHRlciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdGhpcy5zdHJva2UgPSB0LCB0aGlzLmJveEF0dHIoZSwgdCk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZVsic3Ryb2tlLXdpZHRoU2V0dGVyIl0gPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHQgJiYgKHRoaXMubmVlZHNCb3ggPSAhMCksIHRoaXNbInN0cm9rZS13aWR0aCJdID0gdCwgdGhpcy5ib3hBdHRyKGUsIHQpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGVbInRleHQtYWxpZ25TZXR0ZXIiXSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy50ZXh0QWxpZ24gPSB0OwogICAgICAgICAgfSwgbC5wcm90b3R5cGUudGV4dFNldHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgInVuZGVmaW5lZCIgIT09IHR5cGVvZiB0ICYmIHRoaXMudGV4dC5hdHRyKHsgdGV4dDogdCB9KSwgdGhpcy51cGRhdGVUZXh0UGFkZGluZygpOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUudXBkYXRlQm94U2l6ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMudGV4dC5lbGVtZW50LnN0eWxlLCBlID0ge30sIGkgPSB0aGlzLnBhZGRpbmcsCiAgICAgICAgICAgICAgcyA9IHRoaXMuYkJveCA9IHIodGhpcy53aWR0aFNldHRpbmcpICYmIHIodGhpcy5oZWlnaHRTZXR0aW5nKSAmJiAhdGhpcy50ZXh0QWxpZ24gfHwgIW4odGhpcy50ZXh0LnRleHRTdHIpID8gbC5lbXB0eUJCb3ggOiB0aGlzLnRleHQuZ2V0QkJveCgpOwogICAgICAgICAgICB0aGlzLndpZHRoID0gdGhpcy5nZXRQYWRkZWRXaWR0aCgpLCB0aGlzLmhlaWdodCA9ICh0aGlzLmhlaWdodFNldHRpbmcgfHwgcy5oZWlnaHQgfHwgMCkgKyAyICogaSwgdCA9IHRoaXMucmVuZGVyZXIuZm9udE1ldHJpY3ModCAmJiB0LmZvbnRTaXplLCB0aGlzLnRleHQpLCB0aGlzLmJhc2VsaW5lT2Zmc2V0ID0gaSArIE1hdGgubWluKCh0aGlzLnRleHQuZmlyc3RMaW5lTWV0cmljcyB8fCB0KS5iLCBzLmhlaWdodCB8fCAxIC8gMCksIHRoaXMuaGVpZ2h0U2V0dGluZyAmJiAodGhpcy5iYXNlbGluZU9mZnNldCArPSAodGhpcy5oZWlnaHRTZXR0aW5nIC0gdC5oKSAvIDIpLCB0aGlzLm5lZWRzQm94ICYmICh0aGlzLmJveCB8fCAoaSA9IHRoaXMuYm94ID0gdGhpcy5zeW1ib2xLZXkgPyB0aGlzLnJlbmRlcmVyLnN5bWJvbCh0aGlzLnN5bWJvbEtleSkgOiB0aGlzLnJlbmRlcmVyLnJlY3QoKSwgaS5hZGRDbGFzcygoImJ1dHRvbiIgPT09IHRoaXMuY2xhc3NOYW1lID8gIiIgOiAiaGlnaGNoYXJ0cy1sYWJlbC1ib3giKSArICh0aGlzLmNsYXNzTmFtZSA/ICIgaGlnaGNoYXJ0cy0iICsgdGhpcy5jbGFzc05hbWUgKyAiLWJveCIgOiAiIikpLCBpLmFkZCh0aGlzKSksIGkgPSB0aGlzLmdldENyaXNwQWRqdXN0KCksIGUueCA9IGksIGUueSA9ICh0aGlzLmJhc2VsaW5lID8gLXRoaXMuYmFzZWxpbmVPZmZzZXQgOiAwKSArIGksIGUud2lkdGggPSBNYXRoLnJvdW5kKHRoaXMud2lkdGgpLCBlLmhlaWdodCA9IE1hdGgucm91bmQodGhpcy5oZWlnaHQpLCB0aGlzLmJveC5hdHRyKG8oZSwgdGhpcy5kZWZlcnJlZEF0dHIpKSwgdGhpcy5kZWZlcnJlZEF0dHIgPSB7fSk7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS51cGRhdGVUZXh0UGFkZGluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMudGV4dDsKICAgICAgICAgICAgdGhpcy51cGRhdGVCb3hTaXplKCk7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5iYXNlbGluZSA/IDAgOiB0aGlzLmJhc2VsaW5lT2Zmc2V0LCBpID0gYSh0aGlzLnBhZGRpbmdMZWZ0LCB0aGlzLnBhZGRpbmcpOwogICAgICAgICAgICBuKHRoaXMud2lkdGhTZXR0aW5nKSAmJiB0aGlzLmJCb3ggJiYgKCJjZW50ZXIiID09PSB0aGlzLnRleHRBbGlnbiB8fCAicmlnaHQiID09PSB0aGlzLnRleHRBbGlnbikgJiYgKGkgKz0gewogICAgICAgICAgICAgIGNlbnRlcjogLjUsCiAgICAgICAgICAgICAgcmlnaHQ6IDEKICAgICAgICAgICAgfVt0aGlzLnRleHRBbGlnbl0gKiAodGhpcy53aWR0aFNldHRpbmcgLSB0aGlzLmJCb3gud2lkdGgpKSwgaSA9PT0gdC54ICYmIGUgPT09IHQueSB8fCAodC5hdHRyKCJ4IiwgaSksIHQuaGFzQm94V2lkdGhDaGFuZ2VkICYmICh0aGlzLmJCb3ggPSB0LmdldEJCb3goITApKSwgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBlICYmIHQuYXR0cigieSIsIGUpKSwgdC54ID0gaSwgdC55ID0gZTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLndpZHRoU2V0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0aGlzLndpZHRoU2V0dGluZyA9IHIodCkgPyB0IDogdm9pZCAwOwogICAgICAgICAgfSwgbC5wcm90b3R5cGUuZ2V0UGFkZGVkV2lkdGggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnBhZGRpbmcsIGUgPSBhKHRoaXMucGFkZGluZ0xlZnQsIHQpOwogICAgICAgICAgICByZXR1cm4gdCA9IGEodGhpcy5wYWRkaW5nUmlnaHQsIHQpLCAodGhpcy53aWR0aFNldHRpbmcgfHwgdGhpcy5iQm94LndpZHRoIHx8IDApICsgZSArIHQ7CiAgICAgICAgICB9LCBsLnByb3RvdHlwZS54U2V0dGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB0aGlzLnggPSB0LCB0aGlzLmFsaWduRmFjdG9yICYmICh0IC09IHRoaXMuYWxpZ25GYWN0b3IgKiB0aGlzLmdldFBhZGRlZFdpZHRoKCksIHRoaXNbImZvcmNlQW5pbWF0ZTp4Il0gPSAhMCksIHRoaXMueFNldHRpbmcgPSBNYXRoLnJvdW5kKHQpLCB0aGlzLmF0dHIoInRyYW5zbGF0ZVgiLCB0aGlzLnhTZXR0aW5nKTsKICAgICAgICAgIH0sIGwucHJvdG90eXBlLnlTZXR0ZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMueVNldHRpbmcgPSB0aGlzLnkgPSBNYXRoLnJvdW5kKHQpLCB0aGlzLmF0dHIoInRyYW5zbGF0ZVkiLCB0aGlzLnlTZXR0aW5nKTsKICAgICAgICAgIH0sIGwuZW1wdHlCQm94ID0gewogICAgICAgICAgICB3aWR0aDogMCwKICAgICAgICAgICAgaGVpZ2h0OiAwLAogICAgICAgICAgICB4OiAwLAogICAgICAgICAgICB5OiAwCiAgICAgICAgICB9LCBsLnRleHRQcm9wcyA9ICJjb2xvciBkaXJlY3Rpb24gZm9udEZhbWlseSBmb250U2l6ZSBmb250U3R5bGUgZm9udFdlaWdodCBsaW5lSGVpZ2h0IHRleHRBbGlnbiB0ZXh0RGVjb3JhdGlvbiB0ZXh0T3V0bGluZSB0ZXh0T3ZlcmZsb3cgd2lkdGgiLnNwbGl0KCIgIiksIGw7CiAgICAgICAgfSh0KTsKICAgICAgfSkpLCBlKGksICJDb3JlL1JlbmRlcmVyL1NWRy9TeW1ib2xzLmpzIiwgW2lbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCkgewogICAgICAgIGZ1bmN0aW9uIGUodCwgZSwgaSwgbiwgcikgewogICAgICAgICAgdmFyIGEgPSBbXTsKICAgICAgICAgIGlmIChyKSB7CiAgICAgICAgICAgIHZhciBoID0gci5zdGFydCB8fCAwLCBsID0gcyhyLnIsIGkpOwogICAgICAgICAgICBpID0gcyhyLnIsIG4gfHwgaSk7CiAgICAgICAgICAgIHZhciBjID0gKHIuZW5kIHx8IDApIC0gLjAwMTsKICAgICAgICAgICAgbiA9IHIuaW5uZXJSOwogICAgICAgICAgICB2YXIgcCA9IHMoci5vcGVuLCAuMDAxID4gTWF0aC5hYnMoKHIuZW5kIHx8IDApIC0gaCAtIDIgKiBNYXRoLlBJKSksIGQgPSBNYXRoLmNvcyhoKSwgdSA9IE1hdGguc2luKGgpLCBmID0gTWF0aC5jb3MoYyksIGcgPSBNYXRoLnNpbihjKTsKICAgICAgICAgICAgaCA9IHMoci5sb25nQXJjLCAuMDAxID4gYyAtIGggLSBNYXRoLlBJID8gMCA6IDEpLCBhLnB1c2goWyJNIiwgdCArIGwgKiBkLCBlICsgaSAqIHVdLCBbIkEiLCBsLCBpLCAwLCBoLCBzKHIuY2xvY2t3aXNlLCAxKSwgdCArIGwgKiBmLCBlICsgaSAqIGddKSwgbyhuKSAmJiBhLnB1c2gocCA/IFsiTSIsIHQgKyBuICogZiwgZSArIG4gKiBnXSA6IFsiTCIsIHQgKyBuICogZiwgZSArIG4gKiBnXSwgWyJBIiwgbiwgbiwgMCwgaCwgbyhyLmNsb2Nrd2lzZSkgPyAxIC0gci5jbG9ja3dpc2UgOiAwLCB0ICsgbiAqIGQsIGUgKyBuICogdV0pLCBwIHx8IGEucHVzaChbIloiXSk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gYTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGkodCwgZSwgaSwgbywgcikgewogICAgICAgICAgcmV0dXJuIHIgJiYgci5yID8gbih0LCBlLCBpLCBvLCByKSA6IFtbIk0iLCB0LCBlXSwgWyJMIiwgdCArIGksIGVdLCBbIkwiLCB0ICsgaSwgZSArIG9dLCBbIkwiLCB0LCBlICsgb10sIFsiWiJdXTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG4odCwgZSwgaSwgbiwgbykgewogICAgICAgICAgcmV0dXJuIG8gPSBvICYmIG8uciB8fCAwLCBbWyJNIiwgdCArIG8sIGVdLCBbIkwiLCB0ICsgaSAtIG8sIGVdLCBbIkMiLCB0ICsgaSwgZSwgdCArIGksIGUsIHQgKyBpLCBlICsgb10sIFsiTCIsIHQgKyBpLCBlICsgbiAtIG9dLCBbIkMiLCB0ICsgaSwgZSArIG4sIHQgKyBpLCBlICsgbiwgdCArIGkgLSBvLCBlICsgbl0sIFsiTCIsIHQgKyBvLCBlICsgbl0sIFsiQyIsIHQsIGUgKyBuLCB0LCBlICsgbiwgdCwgZSArIG4gLSBvXSwgWyJMIiwgdCwgZSArIG9dLCBbIkMiLCB0LCBlLCB0LCBlLCB0ICsgbywgZV1dOwogICAgICAgIH0KCiAgICAgICAgdmFyIG8gPSB0LmRlZmluZWQsIHIgPSB0LmlzTnVtYmVyLCBzID0gdC5waWNrOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICBhcmM6IGUsIGNhbGxvdXQ6IGZ1bmN0aW9uKHQsIGUsIGksIG8sIHMpIHsKICAgICAgICAgICAgdmFyIGEgPSBNYXRoLm1pbihzICYmIHMuciB8fCAwLCBpLCBvKSwgaCA9IGEgKyA2LCBsID0gcyAmJiBzLmFuY2hvclg7CiAgICAgICAgICAgIHMgPSBzICYmIHMuYW5jaG9yWSB8fCAwOwogICAgICAgICAgICB2YXIgYyA9IG4odCwgZSwgaSwgbywgeyByOiBhIH0pOwogICAgICAgICAgICByZXR1cm4gcihsKSA/ICh0ICsgbCA+PSBpID8gcyA+IGUgKyBoICYmIHMgPCBlICsgbyAtIGggPyBjLnNwbGljZSgzLCAxLCBbIkwiLCB0ICsgaSwgcyAtIDZdLCBbIkwiLCB0ICsgaSArIDYsIHNdLCBbIkwiLCB0ICsgaSwgcyArIDZdLCBbIkwiLCB0ICsgaSwgZSArIG8gLSBhXSkgOiBjLnNwbGljZSgzLCAxLCBbIkwiLCB0ICsgaSwgbyAvIDJdLCBbIkwiLCBsLCBzXSwgWyJMIiwgdCArIGksIG8gLyAyXSwgWyJMIiwgdCArIGksIGUgKyBvIC0gYV0pIDogMCA+PSB0ICsgbCA/IHMgPiBlICsgaCAmJiBzIDwgZSArIG8gLSBoID8gYy5zcGxpY2UoNywgMSwgWyJMIiwgdCwgcyArIDZdLCBbIkwiLCB0IC0gNiwgc10sIFsiTCIsIHQsIHMgLSA2XSwgWyJMIiwgdCwgZSArIGFdKSA6IGMuc3BsaWNlKDcsIDEsIFsiTCIsIHQsIG8gLyAyXSwgWyJMIiwgbCwgc10sIFsiTCIsIHQsIG8gLyAyXSwgWyJMIiwgdCwgZSArIGFdKSA6IHMgJiYgcyA+IG8gJiYgbCA+IHQgKyBoICYmIGwgPCB0ICsgaSAtIGggPyBjLnNwbGljZSg1LCAxLCBbIkwiLCBsICsgNiwgZSArIG9dLCBbIkwiLCBsLCBlICsgbyArIDZdLCBbIkwiLCBsIC0gNiwgZSArIG9dLCBbIkwiLCB0ICsgYSwgZSArIG9dKSA6IHMgJiYgMCA+IHMgJiYgbCA+IHQgKyBoICYmIGwgPCB0ICsgaSAtIGggJiYgYy5zcGxpY2UoMSwgMSwgWyJMIiwgbCAtIDYsIGVdLCBbIkwiLCBsLCBlIC0gNl0sIFsiTCIsIGwgKyA2LCBlXSwgWyJMIiwgaSAtIGEsIGVdKSwgYykgOiBjOwogICAgICAgICAgfSwgY2lyY2xlOiBmdW5jdGlvbih0LCBpLCBuLCBvKSB7CiAgICAgICAgICAgIHJldHVybiBlKHQgKyBuIC8gMiwgaSArIG8gLyAyLCBuIC8gMiwgbyAvIDIsIHsgc3RhcnQ6IC41ICogTWF0aC5QSSwgZW5kOiAyLjUgKiBNYXRoLlBJLCBvcGVuOiAhMSB9KTsKICAgICAgICAgIH0sIGRpYW1vbmQ6IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgcmV0dXJuIFtbIk0iLCB0ICsgaSAvIDIsIGVdLCBbIkwiLCB0ICsgaSwgZSArIG4gLyAyXSwgWyJMIiwgdCArIGkgLyAyLCBlICsgbl0sIFsiTCIsIHQsIGUgKyBuIC8gMl0sIFsiWiJdXTsKICAgICAgICAgIH0sIHJlY3Q6IGksIHJvdW5kZWRSZWN0OiBuLCBzcXVhcmU6IGksIHRyaWFuZ2xlOiBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgIHJldHVybiBbWyJNIiwgdCArIGkgLyAyLCBlXSwgWyJMIiwgdCArIGksIGUgKyBuXSwgWyJMIiwgdCwgZSArIG5dLCBbIloiXV07CiAgICAgICAgICB9LCAidHJpYW5nbGUtZG93biI6IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgcmV0dXJuIFtbIk0iLCB0LCBlXSwgWyJMIiwgdCArIGksIGVdLCBbIkwiLCB0ICsgaSAvIDIsIGUgKyBuXSwgWyJaIl1dOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH0pKSwgZShpLCAiQ29yZS9SZW5kZXJlci9TVkcvVGV4dEJ1aWxkZXIuanMiLCBbaVsiQ29yZS9SZW5kZXJlci9IVE1ML0FTVC5qcyJdLCBpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgdmFyIG4gPSBlLmRvYywgbyA9IGUuU1ZHX05TLCByID0gZS53aW4sIHMgPSBpLmF0dHIsIGEgPSBpLmlzU3RyaW5nLCBoID0gaS5vYmplY3RFYWNoLCBsID0gaS5waWNrOwogICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUodCkgewogICAgICAgICAgICB2YXIgZSA9IHQuc3R5bGVzOwogICAgICAgICAgICB0aGlzLnJlbmRlcmVyID0gdC5yZW5kZXJlciwgdGhpcy5zdmdFbGVtZW50ID0gdCwgdGhpcy53aWR0aCA9IHQudGV4dFdpZHRoLCB0aGlzLnRleHRMaW5lSGVpZ2h0ID0gZSAmJiBlLmxpbmVIZWlnaHQsIHRoaXMudGV4dE91dGxpbmUgPSBlICYmIGUudGV4dE91dGxpbmUsIHRoaXMuZWxsaXBzaXMgPSAhKCFlIHx8ICJlbGxpcHNpcyIgIT09IGUudGV4dE92ZXJmbG93KSwgdGhpcy5ub1dyYXAgPSAhKCFlIHx8ICJub3dyYXAiICE9PSBlLndoaXRlU3BhY2UpLCB0aGlzLmZvbnRTaXplID0gZSAmJiBlLmZvbnRTaXplOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBlLnByb3RvdHlwZS5idWlsZFNWRyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuc3ZnRWxlbWVudCwgaSA9IGUuZWxlbWVudCwgbyA9IGUucmVuZGVyZXIsIHIgPSBsKGUudGV4dFN0ciwgIiIpLnRvU3RyaW5nKCksIHMgPSAtMSAhPT0gci5pbmRleE9mKCI8IiksIGggPSBpLmNoaWxkTm9kZXM7CiAgICAgICAgICAgIG8gPSB0aGlzLndpZHRoICYmICFlLmFkZGVkICYmIG8uYm94OwogICAgICAgICAgICB2YXIgYyA9IC88YnIuKj8+L2csIHAgPSBbciwgdGhpcy5lbGxpcHNpcywgdGhpcy5ub1dyYXAsIHRoaXMudGV4dExpbmVIZWlnaHQsIHRoaXMudGV4dE91dGxpbmUsIHRoaXMuZm9udFNpemUsIHRoaXMud2lkdGhdLmpvaW4oKTsKICAgICAgICAgICAgaWYgKHAgIT09IGUudGV4dENhY2hlKSB7CiAgICAgICAgICAgICAgZm9yIChlLnRleHRDYWNoZSA9IHAsIGRlbGV0ZSBlLmFjdHVhbFdpZHRoLCBwID0gaC5sZW5ndGg7IHAtLTspIGkucmVtb3ZlQ2hpbGQoaFtwXSk7CiAgICAgICAgICAgICAgcyB8fCB0aGlzLmVsbGlwc2lzIHx8IHRoaXMud2lkdGggfHwgLTEgIT09IHIuaW5kZXhPZigiICIpICYmICghdGhpcy5ub1dyYXAgfHwgYy50ZXN0KHIpKSA/ICIiICE9PSByICYmIChvICYmIG8uYXBwZW5kQ2hpbGQoaSksIHIgPSBuZXcgdChyKSwgdGhpcy5tb2RpZnlUcmVlKHIubm9kZXMpLCByLmFkZFRvRE9NKGUuZWxlbWVudCksIHRoaXMubW9kaWZ5RE9NKCksIHRoaXMuZWxsaXBzaXMgJiYgLTEgIT09IChpLnRleHRDb250ZW50IHx8ICIiKS5pbmRleE9mKCLigKYiKSAmJiBlLmF0dHIoInRpdGxlIiwgdGhpcy51bmVzY2FwZUVudGl0aWVzKGUudGV4dFN0ciB8fCAiIiwgWyImbHQ7IiwgIiZndDsiXSkpLCBvICYmIG8ucmVtb3ZlQ2hpbGQoaSkpIDogaS5hcHBlbmRDaGlsZChuLmNyZWF0ZVRleHROb2RlKHRoaXMudW5lc2NhcGVFbnRpdGllcyhyKSkpLCBhKHRoaXMudGV4dE91dGxpbmUpICYmIGUuYXBwbHlUZXh0T3V0bGluZSAmJiBlLmFwcGx5VGV4dE91dGxpbmUodGhpcy50ZXh0T3V0bGluZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIGUucHJvdG90eXBlLm1vZGlmeURPTSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSA9IHRoaXMsIGkgPSB0aGlzLnN2Z0VsZW1lbnQsIGEgPSBzKGkuZWxlbWVudCwgIngiKTsKICAgICAgICAgICAgZm9yIChpLmZpcnN0TGluZU1ldHJpY3MgPSB2b2lkIDA7IHQgPSBpLmVsZW1lbnQuZmlyc3RDaGlsZDspIHsKICAgICAgICAgICAgICBpZiAoIS9eW1xzXHUyMDBCXSokLy50ZXN0KHQudGV4dENvbnRlbnQgfHwgIiAiKSkgYnJlYWs7CiAgICAgICAgICAgICAgaS5lbGVtZW50LnJlbW92ZUNoaWxkKHQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFtdLmZvckVhY2guY2FsbChpLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgidHNwYW4uaGlnaGNoYXJ0cy1iciIpLCAoZnVuY3Rpb24odCwgbikgewogICAgICAgICAgICAgIHQubmV4dFNpYmxpbmcgJiYgdC5wcmV2aW91c1NpYmxpbmcgJiYgKDAgPT09IG4gJiYgMSA9PT0gdC5wcmV2aW91c1NpYmxpbmcubm9kZVR5cGUgJiYgKGkuZmlyc3RMaW5lTWV0cmljcyA9IGkucmVuZGVyZXIuZm9udE1ldHJpY3Modm9pZCAwLCB0LnByZXZpb3VzU2libGluZykpLCBzKHQsIHsKICAgICAgICAgICAgICAgIGR5OiBlLmdldExpbmVIZWlnaHQodC5uZXh0U2libGluZyksCiAgICAgICAgICAgICAgICB4OiBhCiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIHZhciBoID0gdGhpcy53aWR0aCB8fCAwOwogICAgICAgICAgICBpZiAoaCkgewogICAgICAgICAgICAgIHZhciBsID0gZnVuY3Rpb24odCwgcikgewogICAgICAgICAgICAgICAgdmFyIGwgPSB0LnRleHRDb250ZW50IHx8ICIiLCBjID0gbC5yZXBsYWNlKC8oW15cXl0pLS9nLCAiJDEtICIpLnNwbGl0KCIgIiksIHAgPSAhZS5ub1dyYXAgJiYgKDEgPCBjLmxlbmd0aCB8fCAxIDwgaS5lbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoKSwKICAgICAgICAgICAgICAgICAgZCA9IGUuZ2V0TGluZUhlaWdodChyKSwgdSA9IDAsIGYgPSBpLmFjdHVhbFdpZHRoOwogICAgICAgICAgICAgICAgaWYgKGUuZWxsaXBzaXMpIGwgJiYgZS50cnVuY2F0ZSh0LCBsLCB2b2lkIDAsIDAsIE1hdGgubWF4KDAsIGggLSBwYXJzZUludChlLmZvbnRTaXplIHx8IDEyLCAxMCkpLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICByZXR1cm4gdC5zdWJzdHJpbmcoMCwgZSkgKyAi4oCmIjsKICAgICAgICAgICAgICAgIH0pKTsgZWxzZSBpZiAocCkgewogICAgICAgICAgICAgICAgICBmb3IgKGwgPSBbXSwgcCA9IFtdOyByLmZpcnN0Q2hpbGQgJiYgci5maXJzdENoaWxkICE9PSB0OykgcC5wdXNoKHIuZmlyc3RDaGlsZCksIHIucmVtb3ZlQ2hpbGQoci5maXJzdENoaWxkKTsKICAgICAgICAgICAgICAgICAgZm9yICg7IGMubGVuZ3RoOykgYy5sZW5ndGggJiYgIWUubm9XcmFwICYmIDAgPCB1ICYmIChsLnB1c2godC50ZXh0Q29udGVudCB8fCAiIiksIHQudGV4dENvbnRlbnQgPSBjLmpvaW4oIiAiKS5yZXBsYWNlKC8tIC9nLCAiLSIpKSwgZS50cnVuY2F0ZSh0LCB2b2lkIDAsIGMsIDAgPT09IHUgJiYgZiB8fCAwLCBoLCAoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBjLnNsaWNlKDAsIGUpLmpvaW4oIiAiKS5yZXBsYWNlKC8tIC9nLCAiLSIpOwogICAgICAgICAgICAgICAgICB9KSksIGYgPSBpLmFjdHVhbFdpZHRoLCB1Kys7CiAgICAgICAgICAgICAgICAgIHAuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHIuaW5zZXJ0QmVmb3JlKGUsIHQpOwogICAgICAgICAgICAgICAgICB9KSksIGwuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHIuaW5zZXJ0QmVmb3JlKG4uY3JlYXRlVGV4dE5vZGUoZSksIHQpLCBlID0gbi5jcmVhdGVFbGVtZW50TlMobywgInRzcGFuIiksIGUudGV4dENvbnRlbnQgPSAi4oCLIiwgcyhlLCB7IGR5OiBkLCB4OiBhIH0pLCByLmluc2VydEJlZm9yZShlLCB0KTsKICAgICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sIGMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBbXS5zbGljZS5jYWxsKHQuY2hpbGROb2RlcykuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICBlLm5vZGVUeXBlID09PSByLk5vZGUuVEVYVF9OT0RFID8gbChlLCB0KSA6ICgtMSAhPT0gZS5jbGFzc05hbWUuYmFzZVZhbC5pbmRleE9mKCJoaWdoY2hhcnRzLWJyIikgJiYgKGkuYWN0dWFsV2lkdGggPSAwKSwgYyhlKSk7CiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBjKGkuZWxlbWVudCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldExpbmVIZWlnaHQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlOwogICAgICAgICAgICByZXR1cm4gdCA9IHQubm9kZVR5cGUgPT09IHIuTm9kZS5URVhUX05PREUgPyB0LnBhcmVudEVsZW1lbnQgOiB0LCB0aGlzLnJlbmRlcmVyLnN0eWxlZE1vZGUgfHwgKGUgPSB0ICYmIC8ocHh8ZW0pJC8udGVzdCh0LnN0eWxlLmZvbnRTaXplKSA/IHQuc3R5bGUuZm9udFNpemUgOiB0aGlzLmZvbnRTaXplIHx8IHRoaXMucmVuZGVyZXIuc3R5bGUuZm9udFNpemUgfHwgMTIpLCB0aGlzLnRleHRMaW5lSGVpZ2h0ID8gcGFyc2VJbnQodGhpcy50ZXh0TGluZUhlaWdodC50b1N0cmluZygpLCAxMCkgOiB0aGlzLnJlbmRlcmVyLmZvbnRNZXRyaWNzKGUsIHQgfHwgdGhpcy5zdmdFbGVtZW50LmVsZW1lbnQpLmg7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5tb2RpZnlUcmVlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsIGkgPSBmdW5jdGlvbihuLCBvKSB7CiAgICAgICAgICAgICAgdmFyIHIgPSBuLmF0dHJpYnV0ZXM7CiAgICAgICAgICAgICAgciA9IHZvaWQgMCA9PT0gciA/IHt9IDogcjsKICAgICAgICAgICAgICB2YXIgcyA9IG4uY2hpbGRyZW4sIGggPSBuLnRhZ05hbWUsIGwgPSBlLnJlbmRlcmVyLnN0eWxlZE1vZGU7CiAgICAgICAgICAgICAgImIiID09PSBoIHx8ICJzdHJvbmciID09PSBoID8gbCA/IHJbImNsYXNzIl0gPSAiaGlnaGNoYXJ0cy1zdHJvbmciIDogci5zdHlsZSA9ICJmb250LXdlaWdodDpib2xkOyIgKyAoci5zdHlsZSB8fCAiIikgOiAiaSIgIT09IGggJiYgImVtIiAhPT0gaCB8fCAobCA/IHJbImNsYXNzIl0gPSAiaGlnaGNoYXJ0cy1lbXBoYXNpemVkIiA6IHIuc3R5bGUgPSAiZm9udC1zdHlsZTppdGFsaWM7IiArIChyLnN0eWxlIHx8ICIiKSksIGEoci5zdHlsZSkgJiYgKHIuc3R5bGUgPSByLnN0eWxlLnJlcGxhY2UoLyg7fCB8Xiljb2xvcihbIDpdKS8sICIkMWZpbGwkMiIpKSwgImJyIiA9PT0gaCA/IChyWyJjbGFzcyJdID0gImhpZ2hjaGFydHMtYnIiLCBuLnRleHRDb250ZW50ID0gIuKAiyIsIChvID0gdFtvICsgMV0pICYmIG8udGV4dENvbnRlbnQgJiYgKG8udGV4dENvbnRlbnQgPSBvLnRleHRDb250ZW50LnJlcGxhY2UoL14gKy9nbSwgIiIpKSkgOiAiYSIgPT09IGggJiYgcyAmJiBzLnNvbWUoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAiI3RleHQiID09PSB0LnRhZ05hbWU7CiAgICAgICAgICAgICAgfSkpICYmIChuLmNoaWxkcmVuID0gW3sKICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBzLAogICAgICAgICAgICAgICAgdGFnTmFtZTogInRzcGFuIgogICAgICAgICAgICAgIH1dKSwgIiN0ZXh0IiAhPT0gaCAmJiAiYSIgIT09IGggJiYgKG4udGFnTmFtZSA9ICJ0c3BhbiIpLCBuLmF0dHJpYnV0ZXMgPSByLCBzICYmIHMuZmlsdGVyKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gIiN0ZXh0IiAhPT0gdC50YWdOYW1lOwogICAgICAgICAgICAgIH0pKS5mb3JFYWNoKGkpOwogICAgICAgICAgICB9OwogICAgICAgICAgICB0LmZvckVhY2goaSk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS50cnVuY2F0ZSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIpIHsKICAgICAgICAgICAgdmFyIHMsIGEgPSB0aGlzLnN2Z0VsZW1lbnQsIGggPSBhLnJlbmRlcmVyLCBsID0gYS5yb3RhdGlvbiwgYyA9IFtdLCBwID0gaSA/IDEgOiAwLCBkID0gKGUgfHwgaSB8fCAiIikubGVuZ3RoLCB1ID0gZCwgZiA9IGZ1bmN0aW9uKG8sIHMpIHsKICAgICAgICAgICAgICBzID0gcyB8fCBvOwogICAgICAgICAgICAgIHZhciBsID0gdC5wYXJlbnROb2RlOwogICAgICAgICAgICAgIGlmIChsICYmICJ1bmRlZmluZWQiID09PSB0eXBlb2YgY1tzXSkgaWYgKGwuZ2V0U3ViU3RyaW5nTGVuZ3RoKSB0cnkgewogICAgICAgICAgICAgICAgY1tzXSA9IG4gKyBsLmdldFN1YlN0cmluZ0xlbmd0aCgwLCBpID8gcyArIDEgOiBzKTsKICAgICAgICAgICAgICB9IGNhdGNoIChwKSB7CiAgICAgICAgICAgICAgfSBlbHNlIGguZ2V0U3BhbldpZHRoICYmICh0LnRleHRDb250ZW50ID0gcihlIHx8IGksIG8pLCBjW3NdID0gbiArIGguZ2V0U3BhbldpZHRoKGEsIHQpKTsKICAgICAgICAgICAgICByZXR1cm4gY1tzXTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgYS5yb3RhdGlvbiA9IDA7CiAgICAgICAgICAgIHZhciBnID0gZih0LnRleHRDb250ZW50Lmxlbmd0aCk7CiAgICAgICAgICAgIGlmIChuICsgZyA+IG8pIHsKICAgICAgICAgICAgICBmb3IgKDsgcCA8PSBkOykgdSA9IE1hdGguY2VpbCgocCArIGQpIC8gMiksIGkgJiYgKHMgPSByKGksIHUpKSwgZyA9IGYodSwgcyAmJiBzLmxlbmd0aCAtIDEpLCBwID09PSBkID8gcCA9IGQgKyAxIDogZyA+IG8gPyBkID0gdSAtIDEgOiBwID0gdTsKICAgICAgICAgICAgICAwID09PSBkID8gdC50ZXh0Q29udGVudCA9ICIiIDogZSAmJiBkID09PSBlLmxlbmd0aCAtIDEgfHwgKHQudGV4dENvbnRlbnQgPSBzIHx8IHIoZSB8fCBpLCB1KSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaSAmJiBpLnNwbGljZSgwLCB1KSwgYS5hY3R1YWxXaWR0aCA9IGcsIGEucm90YXRpb24gPSBsOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUudW5lc2NhcGVFbnRpdGllcyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgcmV0dXJuIGgodGhpcy5yZW5kZXJlci5lc2NhcGVzLCAoZnVuY3Rpb24oaSwgbikgewogICAgICAgICAgICAgIGUgJiYgLTEgIT09IGUuaW5kZXhPZihpKSB8fCAodCA9IHQudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoaSwgImciKSwgbikpOwogICAgICAgICAgICB9KSksIHQ7CiAgICAgICAgICB9LCBlOwogICAgICAgIH0oKTsKICAgICAgfSkpLCBlKGksICJDb3JlL1JlbmRlcmVyL1NWRy9TVkdSZW5kZXJlci5qcyIsIFtpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0sIGlbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSwgaVsiQ29yZS9HbG9iYWxzLmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0xhYmVsLmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1N5bWJvbHMuanMiXSwgaVsiQ29yZS9SZW5kZXJlci9TVkcvVGV4dEJ1aWxkZXIuanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzLCBhLCBoKSB7CiAgICAgICAgdmFyIGwsIGMgPSBpLmNoYXJ0cywgcCA9IGkuZGVnMnJhZCwgZCA9IGkuZG9jLCB1ID0gaS5pc0ZpcmVmb3gsIGYgPSBpLmlzTVMsIGcgPSBpLmlzV2ViS2l0LCBtID0gaS5ub29wLCB5ID0gaS5TVkdfTlMsIHYgPSBpLnN5bWJvbFNpemVzLCB4ID0gaS53aW4sCiAgICAgICAgICBiID0gaC5hZGRFdmVudCwgXyA9IGguYXR0ciwgdyA9IGguY3JlYXRlRWxlbWVudCwgayA9IGguY3NzLCBTID0gaC5kZWZpbmVkLCBDID0gaC5kZXN0cm95T2JqZWN0UHJvcGVydGllcywgTSA9IGguZXh0ZW5kLCBBID0gaC5pc0FycmF5LCBQID0gaC5pc051bWJlciwKICAgICAgICAgIE8gPSBoLmlzT2JqZWN0LCBUID0gaC5pc1N0cmluZywgRSA9IGgubWVyZ2UsIEwgPSBoLnBpY2ssIGogPSBoLnBJbnQsIEQgPSBoLnVuaXF1ZUtleTsKICAgICAgICByZXR1cm4gaSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gaSh0LCBlLCBpLCBuLCBvLCByLCBzKSB7CiAgICAgICAgICAgIHRoaXMud2lkdGggPSB0aGlzLnVybCA9IHRoaXMuc3R5bGUgPSB0aGlzLmlzU1ZHID0gdGhpcy5pbWdDb3VudCA9IHRoaXMuaGVpZ2h0ID0gdGhpcy5ncmFkaWVudHMgPSB0aGlzLmdsb2JhbEFuaW1hdGlvbiA9IHRoaXMuZGVmcyA9IHRoaXMuY2hhcnRJbmRleCA9IHRoaXMuY2FjaGVLZXlzID0gdGhpcy5jYWNoZSA9IHRoaXMuYm94V3JhcHBlciA9IHRoaXMuYm94ID0gdGhpcy5hbGlnbmVkT2JqZWN0cyA9IHZvaWQgMCwgdGhpcy5pbml0KHQsIGUsIGksIG4sIG8sIHIsIHMpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBpLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgciwgcykgewogICAgICAgICAgICB2YXIgYSwgaCA9IHRoaXMuY3JlYXRlRWxlbWVudCgic3ZnIikuYXR0cih7IHZlcnNpb246ICIxLjEiLCBjbGFzczogImhpZ2hjaGFydHMtcm9vdCIgfSksIGwgPSBoLmVsZW1lbnQ7CiAgICAgICAgICAgIHMgfHwgaC5jc3ModGhpcy5nZXRTdHlsZShuKSksIHQuYXBwZW5kQ2hpbGQobCksIF8odCwgImRpciIsICJsdHIiKSwgLTEgPT09IHQuaW5uZXJIVE1MLmluZGV4T2YoInhtbG5zIikgJiYgXyhsLCAieG1sbnMiLCB0aGlzLlNWR19OUyksIHRoaXMuaXNTVkcgPSAhMCwgdGhpcy5ib3ggPSBsLCB0aGlzLmJveFdyYXBwZXIgPSBoLCB0aGlzLmFsaWduZWRPYmplY3RzID0gW10sIHRoaXMudXJsID0gdGhpcy5nZXRSZWZlcmVuY2VVUkwoKSwgdGhpcy5jcmVhdGVFbGVtZW50KCJkZXNjIikuYWRkKCkuZWxlbWVudC5hcHBlbmRDaGlsZChkLmNyZWF0ZVRleHROb2RlKCJDcmVhdGVkIHdpdGggSGlnaGNoYXJ0cyA5LjMuMyIpKSwgdGhpcy5kZWZzID0gdGhpcy5jcmVhdGVFbGVtZW50KCJkZWZzIikuYWRkKCksIHRoaXMuYWxsb3dIVE1MID0gciwgdGhpcy5mb3JFeHBvcnQgPSBvLCB0aGlzLnN0eWxlZE1vZGUgPSBzLCB0aGlzLmdyYWRpZW50cyA9IHt9LCB0aGlzLmNhY2hlID0ge30sIHRoaXMuY2FjaGVLZXlzID0gW10sIHRoaXMuaW1nQ291bnQgPSAwLCB0aGlzLnNldFNpemUoZSwgaSwgITEpLCB1ICYmIHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICYmIChlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgayh0LCB7IGxlZnQ6IDAsIHRvcDogMCB9KSwgYSA9IHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIGsodCwgeyBsZWZ0OiBNYXRoLmNlaWwoYS5sZWZ0KSAtIGEubGVmdCArICJweCIsIHRvcDogTWF0aC5jZWlsKGEudG9wKSAtIGEudG9wICsgInB4IiB9KTsKICAgICAgICAgICAgfSwgZSgpLCB0aGlzLnVuU3ViUGl4ZWxGaXggPSBiKHgsICJyZXNpemUiLCBlKSk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5kZWZpbml0aW9uID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IHQoW2VdKS5hZGRUb0RPTSh0aGlzLmRlZnMuZWxlbWVudCk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5nZXRSZWZlcmVuY2VVUkwgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKCh1IHx8IGcpICYmIGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJhc2UiKS5sZW5ndGgpIHsKICAgICAgICAgICAgICBpZiAoIVMobCkpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gRCgpOwogICAgICAgICAgICAgICAgZSA9IG5ldyB0KFt7CiAgICAgICAgICAgICAgICAgIHRhZ05hbWU6ICJzdmciLAogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IHdpZHRoOiA4LCBoZWlnaHQ6IDggfSwKICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7CiAgICAgICAgICAgICAgICAgICAgdGFnTmFtZTogImRlZnMiLAogICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbeyB0YWdOYW1lOiAiY2xpcFBhdGgiLCBhdHRyaWJ1dGVzOiB7IGlkOiBlIH0sIGNoaWxkcmVuOiBbeyB0YWdOYW1lOiAicmVjdCIsIGF0dHJpYnV0ZXM6IHsgd2lkdGg6IDQsIGhlaWdodDogNCB9IH1dIH1dCiAgICAgICAgICAgICAgICAgIH0sIHsgdGFnTmFtZTogInJlY3QiLCBhdHRyaWJ1dGVzOiB7IGlkOiAiaGl0bWUiLCB3aWR0aDogOCwgaGVpZ2h0OiA4LCAiY2xpcC1wYXRoIjogInVybCgjIiArIGUgKyAiKSIsIGZpbGw6ICJyZ2JhKDAsMCwwLDAuMDAxKSIgfSB9XQogICAgICAgICAgICAgICAgfV0pLmFkZFRvRE9NKGQuYm9keSksIGsoZSwgeyBwb3NpdGlvbjogImZpeGVkIiwgdG9wOiAwLCBsZWZ0OiAwLCB6SW5kZXg6IDllNSB9KTsKICAgICAgICAgICAgICAgIHZhciBpID0gZC5lbGVtZW50RnJvbVBvaW50KDYsIDYpOwogICAgICAgICAgICAgICAgbCA9ICJoaXRtZSIgPT09IChpICYmIGkuaWQpLCBkLmJvZHkucmVtb3ZlQ2hpbGQoZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChsKSByZXR1cm4geC5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF0ucmVwbGFjZSgvPFtePl0qPi9nLCAiIikucmVwbGFjZSgvKFtcKCdcKV0pL2csICJcXCQxIikucmVwbGFjZSgvIC9nLCAiJTIwIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICIiOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuZ2V0U3R5bGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0eWxlID0gTSh7IGZvbnRGYW1pbHk6ICJcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiLCBmb250U2l6ZTogIjEycHgiIH0sIHQpOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuc2V0U3R5bGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMuYm94V3JhcHBlci5jc3ModGhpcy5nZXRTdHlsZSh0KSk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5pc0hpZGRlbiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gIXRoaXMuYm94V3JhcHBlci5nZXRCQm94KCkud2lkdGg7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5kZWZzOwogICAgICAgICAgICByZXR1cm4gdGhpcy5ib3ggPSBudWxsLCB0aGlzLmJveFdyYXBwZXIgPSB0aGlzLmJveFdyYXBwZXIuZGVzdHJveSgpLCBDKHRoaXMuZ3JhZGllbnRzIHx8IHt9KSwgdGhpcy5ncmFkaWVudHMgPSBudWxsLCB0ICYmICh0aGlzLmRlZnMgPSB0LmRlc3Ryb3koKSksIHRoaXMudW5TdWJQaXhlbEZpeCAmJiB0aGlzLnVuU3ViUGl4ZWxGaXgoKSwgdGhpcy5hbGlnbmVkT2JqZWN0cyA9IG51bGw7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5jcmVhdGVFbGVtZW50ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IG5ldyB0aGlzLkVsZW1lbnQ7CiAgICAgICAgICAgIHJldHVybiBlLmluaXQodGhpcywgdCksIGU7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5nZXRSYWRpYWxBdHRyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICByZXR1cm4geyBjeDogdFswXSAtIHRbMl0gLyAyICsgKGUuY3ggfHwgMCkgKiB0WzJdLCBjeTogdFsxXSAtIHRbMl0gLyAyICsgKGUuY3kgfHwgMCkgKiB0WzJdLCByOiAoZS5yIHx8IDApICogdFsyXSB9OwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuYnVpbGRUZXh0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBuZXcgYSh0KS5idWlsZFNWRygpOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuZ2V0Q29udHJhc3QgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gZS5wYXJzZSh0KS5yZ2JhLCB0WzBdICo9IDEsIHRbMV0gKj0gMS4yLCB0WzJdICo9IC41LCA0NTkgPCB0WzBdICsgdFsxXSArIHRbMl0gPyAiIzAwMDAwMCIgOiAiI0ZGRkZGRiI7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5idXR0b24gPSBmdW5jdGlvbihlLCBpLCBuLCBvLCByLCBzLCBhLCBoLCBsLCBjKSB7CiAgICAgICAgICAgIHZhciBwID0gdGhpcy5sYWJlbChlLCBpLCBuLCBsLCB2b2lkIDAsIHZvaWQgMCwgYywgdm9pZCAwLCAiYnV0dG9uIiksIGQgPSB0aGlzLnN0eWxlZE1vZGUsIHUgPSAwLCBnID0gciA/IEUocikgOiB7fTsKICAgICAgICAgICAgaWYgKGUgPSBnICYmIGcuc3R5bGUgfHwge30sIGcgPSB0LmZpbHRlclVzZXJBdHRyaWJ1dGVzKGcpLCBwLmF0dHIoRSh7IHBhZGRpbmc6IDgsIHI6IDIgfSwgZykpLCAhZCkgewogICAgICAgICAgICAgIGcgPSBFKHsKICAgICAgICAgICAgICAgIGZpbGw6ICIjZjdmN2Y3IiwKICAgICAgICAgICAgICAgIHN0cm9rZTogIiNjY2NjY2MiLAogICAgICAgICAgICAgICAgInN0cm9rZS13aWR0aCI6IDEsCiAgICAgICAgICAgICAgICBzdHlsZTogeyBjb2xvcjogIiMzMzMzMzMiLCBjdXJzb3I6ICJwb2ludGVyIiwgZm9udFdlaWdodDogIm5vcm1hbCIgfQogICAgICAgICAgICAgIH0sIHsgc3R5bGU6IGUgfSwgZyk7CiAgICAgICAgICAgICAgdmFyIG0gPSBnLnN0eWxlOwogICAgICAgICAgICAgIGRlbGV0ZSBnLnN0eWxlLCBzID0gRShnLCB7IGZpbGw6ICIjZTZlNmU2IiB9LCB0LmZpbHRlclVzZXJBdHRyaWJ1dGVzKHMgfHwge30pKTsKICAgICAgICAgICAgICB2YXIgeSA9IHMuc3R5bGU7CiAgICAgICAgICAgICAgZGVsZXRlIHMuc3R5bGUsIGEgPSBFKGcsIHsgZmlsbDogIiNlNmViZjUiLCBzdHlsZTogeyBjb2xvcjogIiMwMDAwMDAiLCBmb250V2VpZ2h0OiAiYm9sZCIgfSB9LCB0LmZpbHRlclVzZXJBdHRyaWJ1dGVzKGEgfHwge30pKTsKICAgICAgICAgICAgICB2YXIgdiA9IGEuc3R5bGU7CiAgICAgICAgICAgICAgZGVsZXRlIGEuc3R5bGUsIGggPSBFKGcsIHsgc3R5bGU6IHsgY29sb3I6ICIjY2NjY2NjIiB9IH0sIHQuZmlsdGVyVXNlckF0dHJpYnV0ZXMoaCB8fCB7fSkpOwogICAgICAgICAgICAgIHZhciB4ID0gaC5zdHlsZTsKICAgICAgICAgICAgICBkZWxldGUgaC5zdHlsZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gYihwLmVsZW1lbnQsIGYgPyAibW91c2VvdmVyIiA6ICJtb3VzZWVudGVyIiwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIDMgIT09IHUgJiYgcC5zZXRTdGF0ZSgxKTsKICAgICAgICAgICAgfSkpLCBiKHAuZWxlbWVudCwgZiA/ICJtb3VzZW91dCIgOiAibW91c2VsZWF2ZSIsIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAzICE9PSB1ICYmIHAuc2V0U3RhdGUodSk7CiAgICAgICAgICAgIH0pKSwgcC5zZXRTdGF0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAxICE9PSB0ICYmIChwLnN0YXRlID0gdSA9IHQpLCBwLnJlbW92ZUNsYXNzKC9oaWdoY2hhcnRzLWJ1dHRvbi0obm9ybWFsfGhvdmVyfHByZXNzZWR8ZGlzYWJsZWQpLykuYWRkQ2xhc3MoImhpZ2hjaGFydHMtYnV0dG9uLSIgKyBbIm5vcm1hbCIsICJob3ZlciIsICJwcmVzc2VkIiwgImRpc2FibGVkIl1bdCB8fCAwXSksIGQgfHwgcC5hdHRyKFtnLCBzLCBhLCBoXVt0IHx8IDBdKS5jc3MoW20sIHksIHYsIHhdW3QgfHwgMF0pOwogICAgICAgICAgICB9LCBkIHx8IHAuYXR0cihnKS5jc3MoTSh7IGN1cnNvcjogImRlZmF1bHQiIH0sIG0pKSwgcC5vbigidG91Y2hzdGFydCIsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIH0pKS5vbigiY2xpY2siLCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIDMgIT09IHUgJiYgby5jYWxsKHAsIHQpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5jcmlzcExpbmUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZvaWQgMCA9PT0gaSAmJiAoaSA9ICJyb3VuZCIpOwogICAgICAgICAgICB2YXIgbiA9IHRbMF0sIG8gPSB0WzFdOwogICAgICAgICAgICByZXR1cm4gUyhuWzFdKSAmJiBuWzFdID09PSBvWzFdICYmIChuWzFdID0gb1sxXSA9IE1hdGhbaV0oblsxXSkgLSBlICUgMiAvIDIpLCBTKG5bMl0pICYmIG5bMl0gPT09IG9bMl0gJiYgKG5bMl0gPSBvWzJdID0gTWF0aFtpXShuWzJdKSArIGUgJSAyIC8gMiksIHQ7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5wYXRoID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuc3R5bGVkTW9kZSA/IHt9IDogeyBmaWxsOiAibm9uZSIgfTsKICAgICAgICAgICAgcmV0dXJuIEEodCkgPyBlLmQgPSB0IDogTyh0KSAmJiBNKGUsIHQpLCB0aGlzLmNyZWF0ZUVsZW1lbnQoInBhdGgiKS5hdHRyKGUpOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuY2lyY2xlID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE8odCkgPyB0IDogInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0ID8ge30gOiB7CiAgICAgICAgICAgICAgeDogdCwKICAgICAgICAgICAgICB5OiBlLAogICAgICAgICAgICAgIHI6IGkKICAgICAgICAgICAgfSwgZSA9IHRoaXMuY3JlYXRlRWxlbWVudCgiY2lyY2xlIiksIGUueFNldHRlciA9IGUueVNldHRlciA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICBpLnNldEF0dHJpYnV0ZSgiYyIgKyBlLCB0KTsKICAgICAgICAgICAgfSwgZS5hdHRyKHQpOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuYXJjID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgcikgewogICAgICAgICAgICByZXR1cm4gTyh0KSA/IChuID0gdCwgZSA9IG4ueSwgaSA9IG4uciwgdCA9IG4ueCkgOiBuID0geyBpbm5lclI6IG4sIHN0YXJ0OiBvLCBlbmQ6IHIgfSwgdCA9IHRoaXMuc3ltYm9sKCJhcmMiLCB0LCBlLCBpLCBpLCBuKSwgdC5yID0gaSwgdDsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLnJlY3QgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICAgIG8gPSBPKHQpID8gdC5yIDogbzsKICAgICAgICAgICAgdmFyIHMgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoInJlY3QiKTsKICAgICAgICAgICAgcmV0dXJuIHQgPSBPKHQpID8gdCA6ICJ1bmRlZmluZWQiID09PSB0eXBlb2YgdCA/IHt9IDogewogICAgICAgICAgICAgIHg6IHQsCiAgICAgICAgICAgICAgeTogZSwKICAgICAgICAgICAgICB3aWR0aDogTWF0aC5tYXgoaSwgMCksCiAgICAgICAgICAgICAgaGVpZ2h0OiBNYXRoLm1heChuLCAwKQogICAgICAgICAgICB9LCB0aGlzLnN0eWxlZE1vZGUgfHwgKCJ1bmRlZmluZWQiICE9PSB0eXBlb2YgciAmJiAodFsic3Ryb2tlLXdpZHRoIl0gPSByLCB0ID0gcy5jcmlzcCh0KSksIHQuZmlsbCA9ICJub25lIiksIG8gJiYgKHQuciA9IG8pLCBzLnJTZXR0ZXIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgcy5yID0gdCwgXyhpLCB7IHJ4OiB0LCByeTogdCB9KTsKICAgICAgICAgICAgfSwgcy5yR2V0dGVyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHMuciB8fCAwOwogICAgICAgICAgICB9LCBzLmF0dHIodCk7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5zZXRTaXplID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB0aGlzLndpZHRoID0gdCwgdGhpcy5oZWlnaHQgPSBlLCB0aGlzLmJveFdyYXBwZXIuYW5pbWF0ZSh7IHdpZHRoOiB0LCBoZWlnaHQ6IGUgfSwgewogICAgICAgICAgICAgIHN0ZXA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGhpcy5hdHRyKHsgdmlld0JveDogIjAgMCAiICsgdGhpcy5hdHRyKCJ3aWR0aCIpICsgIiAiICsgdGhpcy5hdHRyKCJoZWlnaHQiKSB9KTsKICAgICAgICAgICAgICB9LCBkdXJhdGlvbjogTChpLCAhMCkgPyB2b2lkIDAgOiAwCiAgICAgICAgICAgIH0pLCB0aGlzLmFsaWduRWxlbWVudHMoKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcy5jcmVhdGVFbGVtZW50KCJnIik7CiAgICAgICAgICAgIHJldHVybiB0ID8gZS5hdHRyKHsgY2xhc3M6ICJoaWdoY2hhcnRzLSIgKyB0IH0pIDogZTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmltYWdlID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgcikgewogICAgICAgICAgICB2YXIgcyA9IHsgcHJlc2VydmVBc3BlY3RSYXRpbzogIm5vbmUiIH0sIGEgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5zZXRBdHRyaWJ1dGVOUyA/IHQuc2V0QXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCAiaHJlZiIsIGUpIDogdC5zZXRBdHRyaWJ1dGUoImhjLXN2Zy1ocmVmIiwgZSk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIFAoZSkgJiYgKHMueCA9IGUpLCBQKGkpICYmIChzLnkgPSBpKSwgUChuKSAmJiAocy53aWR0aCA9IG4pLCBQKG8pICYmIChzLmhlaWdodCA9IG8pOwogICAgICAgICAgICB2YXIgaCA9IHRoaXMuY3JlYXRlRWxlbWVudCgiaW1hZ2UiKS5hdHRyKHMpOwogICAgICAgICAgICByZXR1cm4gZSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICBhKGguZWxlbWVudCwgdCksIHIuY2FsbChoLCBlKTsKICAgICAgICAgICAgfSwgciA/IChhKGguZWxlbWVudCwgImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiksIGkgPSBuZXcgeC5JbWFnZSwgYihpLCAibG9hZCIsIGUpLCBpLnNyYyA9IHQsIGkuY29tcGxldGUgJiYgZSh7fSkpIDogYShoLmVsZW1lbnQsIHQpLCBoOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuc3ltYm9sID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgbywgcikgewogICAgICAgICAgICB2YXIgcywgYSA9IHRoaXMsIGggPSAvXnVybFwoKC4qPylcKSQvLCBsID0gaC50ZXN0KHQpLCBwID0gIWwgJiYgKHRoaXMuc3ltYm9sc1t0XSA/IHQgOiAiY2lyY2xlIiksIHUgPSBwICYmIHRoaXMuc3ltYm9sc1twXTsKICAgICAgICAgICAgaWYgKHUpIHsKICAgICAgICAgICAgICAibnVtYmVyIiA9PT0gdHlwZW9mIGUgJiYgKHMgPSB1LmNhbGwodGhpcy5zeW1ib2xzLCBNYXRoLnJvdW5kKGUgfHwgMCksIE1hdGgucm91bmQoaSB8fCAwKSwgbiB8fCAwLCBvIHx8IDAsIHIpKTsKICAgICAgICAgICAgICB2YXIgZiA9IHRoaXMucGF0aChzKTsKICAgICAgICAgICAgICBhLnN0eWxlZE1vZGUgfHwgZi5hdHRyKCJmaWxsIiwgIm5vbmUiKSwgTShmLCB7IHN5bWJvbE5hbWU6IHAgfHwgdm9pZCAwLCB4OiBlLCB5OiBpLCB3aWR0aDogbiwgaGVpZ2h0OiBvIH0pLCByICYmIE0oZiwgcik7CiAgICAgICAgICAgIH0gZWxzZSBpZiAobCkgewogICAgICAgICAgICAgIHZhciBnID0gdC5tYXRjaChoKVsxXSwgbSA9IGYgPSB0aGlzLmltYWdlKGcpOwogICAgICAgICAgICAgIG0uaW1nd2lkdGggPSBMKHZbZ10gJiYgdltnXS53aWR0aCwgciAmJiByLndpZHRoKSwgbS5pbWdoZWlnaHQgPSBMKHZbZ10gJiYgdltnXS5oZWlnaHQsIHIgJiYgci5oZWlnaHQpOwogICAgICAgICAgICAgIHZhciB5ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHQuYXR0cih7IHdpZHRoOiB0LndpZHRoLCBoZWlnaHQ6IHQuaGVpZ2h0IH0pOwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgWyJ3aWR0aCIsICJoZWlnaHQiXS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBtW3QgKyAiU2V0dGVyIl0gPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgIHZhciBpID0gdGhpc1siaW1nIiArIGVdOwogICAgICAgICAgICAgICAgICB0aGlzW2VdID0gdCwgUyhpKSAmJiAociAmJiAid2l0aGluIiA9PT0gci5iYWNrZ3JvdW5kU2l6ZSAmJiB0aGlzLndpZHRoICYmIHRoaXMuaGVpZ2h0ICYmIChpID0gTWF0aC5yb3VuZChpICogTWF0aC5taW4odGhpcy53aWR0aCAvIHRoaXMuaW1nd2lkdGgsIHRoaXMuaGVpZ2h0IC8gdGhpcy5pbWdoZWlnaHQpKSksIHRoaXMuZWxlbWVudCAmJiB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKGUsIGkpLCB0aGlzLmFsaWduQnlUcmFuc2xhdGUgfHwgKHQgPSAoKHRoaXNbZV0gfHwgMCkgLSBpKSAvIDIsIHRoaXMuYXR0cigid2lkdGgiID09PSBlID8geyB0cmFuc2xhdGVYOiB0IH0gOiB7IHRyYW5zbGF0ZVk6IHQgfSkpKTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgfSkpLCBTKGUpICYmIG0uYXR0cih7IHg6IGUsIHk6IGkgfSksIG0uaXNJbWcgPSAhMCwgUyhtLmltZ3dpZHRoKSAmJiBTKG0uaW1naGVpZ2h0KSA/IHkobSkgOiAobS5hdHRyKHsKICAgICAgICAgICAgICAgIHdpZHRoOiAwLAogICAgICAgICAgICAgICAgaGVpZ2h0OiAwCiAgICAgICAgICAgICAgfSksIHcoImltZyIsIHsKICAgICAgICAgICAgICAgIG9ubG9hZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgIHZhciB0ID0gY1thLmNoYXJ0SW5kZXhdOwogICAgICAgICAgICAgICAgICAwID09PSB0aGlzLndpZHRoICYmIChrKHRoaXMsIHsgcG9zaXRpb246ICJhYnNvbHV0ZSIsIHRvcDogIi05OTllbSIgfSksIGQuYm9keS5hcHBlbmRDaGlsZCh0aGlzKSksIHZbZ10gPSB7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodAogICAgICAgICAgICAgICAgICB9LCBtLmltZ3dpZHRoID0gdGhpcy53aWR0aCwgbS5pbWdoZWlnaHQgPSB0aGlzLmhlaWdodCwgbS5lbGVtZW50ICYmIHkobSksIHRoaXMucGFyZW50Tm9kZSAmJiB0aGlzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcyksIGEuaW1nQ291bnQtLSwgYS5pbWdDb3VudCB8fCAhdCB8fCB0Lmhhc0xvYWRlZCB8fCB0Lm9ubG9hZCgpOwogICAgICAgICAgICAgICAgfSwgc3JjOiBnCiAgICAgICAgICAgICAgfSksIHRoaXMuaW1nQ291bnQrKyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGY7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS5jbGlwUmVjdCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIG8gPSBEKCkgKyAiLSIsIHIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoImNsaXBQYXRoIikuYXR0cih7IGlkOiBvIH0pLmFkZCh0aGlzLmRlZnMpOwogICAgICAgICAgICByZXR1cm4gdCA9IHRoaXMucmVjdCh0LCBlLCBpLCBuLCAwKS5hZGQociksIHQuaWQgPSBvLCB0LmNsaXBQYXRoID0gciwgdC5jb3VudCA9IDAsIHQ7CiAgICAgICAgICB9LCBpLnByb3RvdHlwZS50ZXh0ID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICB2YXIgbyA9IHt9OwogICAgICAgICAgICByZXR1cm4gIW4gfHwgIXRoaXMuYWxsb3dIVE1MICYmIHRoaXMuZm9yRXhwb3J0ID8gKG8ueCA9IE1hdGgucm91bmQoZSB8fCAwKSwgaSAmJiAoby55ID0gTWF0aC5yb3VuZChpKSksIFModCkgJiYgKG8udGV4dCA9IHQpLCB0ID0gdGhpcy5jcmVhdGVFbGVtZW50KCJ0ZXh0IikuYXR0cihvKSwgKCFuIHx8IHRoaXMuZm9yRXhwb3J0ICYmICF0aGlzLmFsbG93SFRNTCkgJiYgKHQueFNldHRlciA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBuLCBvID0gaS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHNwYW4iKSwgciA9IGkuZ2V0QXR0cmlidXRlKGUpLCBzID0gMDsgcyA8IG8ubGVuZ3RoOyBzKyspIG4gPSBvW3NdLCBuLmdldEF0dHJpYnV0ZShlKSA9PT0gciAmJiBuLnNldEF0dHJpYnV0ZShlLCB0KTsKICAgICAgICAgICAgICBpLnNldEF0dHJpYnV0ZShlLCB0KTsKICAgICAgICAgICAgfSksIHQpIDogdGhpcy5odG1sKHQsIGUsIGkpOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUuZm9udE1ldHJpY3MgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHJldHVybiB0ID0gIXRoaXMuc3R5bGVkTW9kZSAmJiAvcHgvLnRlc3QodCkgfHwgIXguZ2V0Q29tcHV0ZWRTdHlsZSA/IHQgfHwgZSAmJiBlLnN0eWxlICYmIGUuc3R5bGUuZm9udFNpemUgfHwgdGhpcy5zdHlsZSAmJiB0aGlzLnN0eWxlLmZvbnRTaXplIDogZSAmJiBvLnByb3RvdHlwZS5nZXRTdHlsZS5jYWxsKGUsICJmb250LXNpemUiKSwgdCA9IC9weC8udGVzdCh0KSA/IGoodCkgOiAxMiwgZSA9IDI0ID4gdCA/IHQgKyAzIDogTWF0aC5yb3VuZCgxLjIgKiB0KSwgewogICAgICAgICAgICAgIGg6IGUsCiAgICAgICAgICAgICAgYjogTWF0aC5yb3VuZCguOCAqIGUpLAogICAgICAgICAgICAgIGY6IHQKICAgICAgICAgICAgfTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLnJvdENvcnIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdDsKICAgICAgICAgICAgcmV0dXJuIGUgJiYgaSAmJiAobiA9IE1hdGgubWF4KG4gKiBNYXRoLmNvcyhlICogcCksIDQpKSwgeyB4OiAtdCAvIDMgKiBNYXRoLnNpbihlICogcCksIHk6IG4gfTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLnBhdGhUb1NlZ21lbnRzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBmb3IgKHZhciBlID0gW10sIGkgPSBbXSwgbiA9IHsKICAgICAgICAgICAgICBBOiA4LAogICAgICAgICAgICAgIEM6IDcsCiAgICAgICAgICAgICAgSDogMiwKICAgICAgICAgICAgICBMOiAzLAogICAgICAgICAgICAgIE06IDMsCiAgICAgICAgICAgICAgUTogNSwKICAgICAgICAgICAgICBTOiA1LAogICAgICAgICAgICAgIFQ6IDMsCiAgICAgICAgICAgICAgVjogMgogICAgICAgICAgICB9LCBvID0gMDsgbyA8IHQubGVuZ3RoOyBvKyspIFQoaVswXSkgJiYgUCh0W29dKSAmJiBpLmxlbmd0aCA9PT0gbltpWzBdLnRvVXBwZXJDYXNlKCldICYmIHQuc3BsaWNlKG8sIDAsIGlbMF0ucmVwbGFjZSgiTSIsICJMIikucmVwbGFjZSgibSIsICJsIikpLCAic3RyaW5nIiA9PT0gdHlwZW9mIHRbb10gJiYgKGkubGVuZ3RoICYmIGUucHVzaChpLnNsaWNlKDApKSwgaS5sZW5ndGggPSAwKSwgaS5wdXNoKHRbb10pOwogICAgICAgICAgICByZXR1cm4gZS5wdXNoKGkuc2xpY2UoMCkpLCBlOwogICAgICAgICAgfSwgaS5wcm90b3R5cGUubGFiZWwgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCBzLCBhLCBoLCBsKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgcih0aGlzLCB0LCBlLCBpLCBuLCBvLCBzLCBhLCBoLCBsKTsKICAgICAgICAgIH0sIGkucHJvdG90eXBlLmFsaWduRWxlbWVudHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5hbGlnbmVkT2JqZWN0cy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQuYWxpZ24oKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgaTsKICAgICAgICB9KCksIE0oaS5wcm90b3R5cGUsIHsKICAgICAgICAgIEVsZW1lbnQ6IG8sCiAgICAgICAgICBTVkdfTlM6IHksCiAgICAgICAgICBlc2NhcGVzOiB7ICImIjogIiZhbXA7IiwgIjwiOiAiJmx0OyIsICI+IjogIiZndDsiLCAiJyI6ICImIzM5OyIsICJcIiI6ICImcXVvdDsiIH0sCiAgICAgICAgICBzeW1ib2xzOiBzLAogICAgICAgICAgZHJhdzogbQogICAgICAgIH0pLCBuLnJlZ2lzdGVyUmVuZGVyZXJUeXBlKCJzdmciLCBpLCAhMCksIGk7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9SZW5kZXJlci9IVE1ML0hUTUxFbGVtZW50LmpzIiwgW2lbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgIHZhciBuID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0Ll9fcHJvdG9fXyA9IGU7CiAgICAgICAgICAgIH0gfHwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgZS5oYXNPd25Qcm9wZXJ0eShpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICB9LCB0KGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHQoZSwgaSksIGUucHJvdG90eXBlID0gbnVsbCA9PT0gaSA/IE9iamVjdC5jcmVhdGUoaSkgOiAobi5wcm90b3R5cGUgPSBpLnByb3RvdHlwZSwgbmV3IG4pOwogICAgICAgICAgfTsKICAgICAgICB9KCksIG8gPSB0LmlzRmlyZWZveCwgciA9IHQuaXNNUywgcyA9IHQuaXNXZWJLaXQsIGEgPSB0LndpbiwgaCA9IGkuY3NzLCBsID0gaS5kZWZpbmVkLCBjID0gaS5leHRlbmQsIHAgPSBpLnBpY2ssIGQgPSBpLnBJbnQ7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgIGZ1bmN0aW9uIGUoKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsICE9PSB0ICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiBuKGUsIHQpLCBlLmNvbXBvc2UgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGlmICgtMSA9PT0gZS5jb21wb3NlZENsYXNzZXMuaW5kZXhPZih0KSkgewogICAgICAgICAgICAgIGUuY29tcG9zZWRDbGFzc2VzLnB1c2godCk7CiAgICAgICAgICAgICAgdmFyIGkgPSBlLnByb3RvdHlwZSwgbiA9IHQucHJvdG90eXBlOwogICAgICAgICAgICAgIG4uZ2V0U3BhbkNvcnJlY3Rpb24gPSBpLmdldFNwYW5Db3JyZWN0aW9uLCBuLmh0bWxDc3MgPSBpLmh0bWxDc3MsIG4uaHRtbEdldEJCb3ggPSBpLmh0bWxHZXRCQm94LCBuLmh0bWxVcGRhdGVUcmFuc2Zvcm0gPSBpLmh0bWxVcGRhdGVUcmFuc2Zvcm0sIG4uc2V0U3BhblJvdGF0aW9uID0gaS5zZXRTcGFuUm90YXRpb247CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5nZXRTcGFuQ29ycmVjdGlvbiA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdGhpcy54Q29yciA9IC10ICogaSwgdGhpcy55Q29yciA9IC1lOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaHRtbENzcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSAiU1BBTiIgPT09IHRoaXMuZWxlbWVudC50YWdOYW1lICYmIHQgJiYgIndpZHRoIiBpbiB0LCBpID0gcChlICYmIHQud2lkdGgsIHZvaWQgMCk7CiAgICAgICAgICAgIGlmIChlKSB7CiAgICAgICAgICAgICAgZGVsZXRlIHQud2lkdGgsIHRoaXMudGV4dFdpZHRoID0gaTsKICAgICAgICAgICAgICB2YXIgbiA9ICEwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0ICYmICJlbGxpcHNpcyIgPT09IHQudGV4dE92ZXJmbG93ICYmICh0LndoaXRlU3BhY2UgPSAibm93cmFwIiwgdC5vdmVyZmxvdyA9ICJoaWRkZW4iKSwgdGhpcy5zdHlsZXMgPSBjKHRoaXMuc3R5bGVzLCB0KSwgaCh0aGlzLmVsZW1lbnQsIHQpLCBuICYmIHRoaXMuaHRtbFVwZGF0ZVRyYW5zZm9ybSgpLCB0aGlzOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuaHRtbEdldEJCb3ggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmVsZW1lbnQ7CiAgICAgICAgICAgIHJldHVybiB7IHg6IHQub2Zmc2V0TGVmdCwgeTogdC5vZmZzZXRUb3AsIHdpZHRoOiB0Lm9mZnNldFdpZHRoLCBoZWlnaHQ6IHQub2Zmc2V0SGVpZ2h0IH07CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5odG1sVXBkYXRlVHJhbnNmb3JtID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmFkZGVkKSB7CiAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnJlbmRlcmVyLCBlID0gdGhpcy5lbGVtZW50LCBpID0gdGhpcy50cmFuc2xhdGVYIHx8IDAsIG4gPSB0aGlzLnRyYW5zbGF0ZVkgfHwgMCwgbyA9IHRoaXMueCB8fCAwLCByID0gdGhpcy55IHx8IDAsCiAgICAgICAgICAgICAgICBzID0gdGhpcy50ZXh0QWxpZ24gfHwgImxlZnQiLCBhID0geyBsZWZ0OiAwLCBjZW50ZXI6IC41LCByaWdodDogMSB9W3NdLCBjID0gdGhpcy5zdHlsZXM7CiAgICAgICAgICAgICAgaWYgKGMgPSBjICYmIGMud2hpdGVTcGFjZSwgaChlLCB7IG1hcmdpbkxlZnQ6IGksIG1hcmdpblRvcDogbiB9KSwgIXQuc3R5bGVkTW9kZSAmJiB0aGlzLnNoYWRvd3MgJiYgdGhpcy5zaGFkb3dzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGgodCwgeyBtYXJnaW5MZWZ0OiBpICsgMSwgbWFyZ2luVG9wOiBuICsgMSB9KTsKICAgICAgICAgICAgICB9KSksIHRoaXMuaW52ZXJ0ZWQgJiYgW10uZm9yRWFjaC5jYWxsKGUuY2hpbGROb2RlcywgKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAgIHQuaW52ZXJ0Q2hpbGQoaSwgZSk7CiAgICAgICAgICAgICAgfSkpLCAiU1BBTiIgPT09IGUudGFnTmFtZSkgewogICAgICAgICAgICAgICAgdmFyIHAgPSB0aGlzLnJvdGF0aW9uLCB1ID0gdGhpcy50ZXh0V2lkdGggJiYgZCh0aGlzLnRleHRXaWR0aCksIGYgPSBbcCwgcywgZS5pbm5lckhUTUwsIHRoaXMudGV4dFdpZHRoLCB0aGlzLnRleHRBbGlnbl0uam9pbigpLCBnID0gdm9pZCAwOwogICAgICAgICAgICAgICAgaWYgKGcgPSAhMSwgdSAhPT0gdGhpcy5vbGRUZXh0V2lkdGgpIHsKICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGV4dFB4TGVuZ3RoKSB2YXIgbSA9IHRoaXMudGV4dFB4TGVuZ3RoOyBlbHNlIGgoZSwgeyB3aWR0aDogIiIsIHdoaXRlU3BhY2U6IGMgfHwgIm5vd3JhcCIgfSksIG0gPSBlLm9mZnNldFdpZHRoOwogICAgICAgICAgICAgICAgICAodSA+IHRoaXMub2xkVGV4dFdpZHRoIHx8IG0gPiB1KSAmJiAoL1sgXC1dLy50ZXN0KGUudGV4dENvbnRlbnQgfHwgZS5pbm5lclRleHQpIHx8ICJlbGxpcHNpcyIgPT09IGUuc3R5bGUudGV4dE92ZXJmbG93KSAmJiAoaChlLCB7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG0gPiB1IHx8IHAgPyB1ICsgInB4IiA6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAiYmxvY2siLAogICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2U6IGMgfHwgIm5vcm1hbCIKICAgICAgICAgICAgICAgICAgfSksIHRoaXMub2xkVGV4dFdpZHRoID0gdSwgZyA9ICEwKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHRoaXMuaGFzQm94V2lkdGhDaGFuZ2VkID0gZywgZiAhPT0gdGhpcy5jVFQgJiYgKGcgPSB0LmZvbnRNZXRyaWNzKGUuc3R5bGUuZm9udFNpemUsIGUpLmIsICFsKHApIHx8IHAgPT09ICh0aGlzLm9sZFJvdGF0aW9uIHx8IDApICYmIHMgPT09IHRoaXMub2xkQWxpZ24gfHwgdGhpcy5zZXRTcGFuUm90YXRpb24ocCwgYSwgZyksIHRoaXMuZ2V0U3BhbkNvcnJlY3Rpb24oIWwocCkgJiYgdGhpcy50ZXh0UHhMZW5ndGggfHwgZS5vZmZzZXRXaWR0aCwgZywgYSwgcCwgcykpLCBoKGUsIHsKICAgICAgICAgICAgICAgICAgbGVmdDogbyArICh0aGlzLnhDb3JyIHx8IDApICsgInB4IiwKICAgICAgICAgICAgICAgICAgdG9wOiByICsgKHRoaXMueUNvcnIgfHwgMCkgKyAicHgiCiAgICAgICAgICAgICAgICB9KSwgdGhpcy5jVFQgPSBmLCB0aGlzLm9sZFJvdGF0aW9uID0gcCwgdGhpcy5vbGRBbGlnbiA9IHM7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgdGhpcy5hbGlnbk9uQWRkID0gITA7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5zZXRTcGFuUm90YXRpb24gPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0ge30sCiAgICAgICAgICAgICAgbCA9IHIgJiYgIS9FZGdlLy50ZXN0KGEubmF2aWdhdG9yLnVzZXJBZ2VudCkgPyAiLW1zLXRyYW5zZm9ybSIgOiBzID8gIi13ZWJraXQtdHJhbnNmb3JtIiA6IG8gPyAiTW96VHJhbnNmb3JtIiA6IGEub3BlcmEgPyAiLW8tdHJhbnNmb3JtIiA6IHZvaWQgMDsKICAgICAgICAgICAgbCAmJiAobltsXSA9IG4udHJhbnNmb3JtID0gInJvdGF0ZSgiICsgdCArICJkZWcpIiwgbltsICsgKG8gPyAiT3JpZ2luIiA6ICItb3JpZ2luIildID0gbi50cmFuc2Zvcm1PcmlnaW4gPSAxMDAgKiBlICsgIiUgIiArIGkgKyAicHgiLCBoKHRoaXMuZWxlbWVudCwgbikpOwogICAgICAgICAgfSwgZS5jb21wb3NlZENsYXNzZXMgPSBbXSwgZTsKICAgICAgICB9KGUpOwogICAgICB9KSksIGUoaSwgIkNvcmUvUmVuZGVyZXIvSFRNTC9IVE1MUmVuZGVyZXIuanMiLCBbaVsiQ29yZS9SZW5kZXJlci9IVE1ML0FTVC5qcyJdLCBpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIl0sIGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR1JlbmRlcmVyLmpzIl0sIGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLCAoZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgIHZhciBvID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICB0Ll9fcHJvdG9fXyA9IGU7CiAgICAgICAgICAgIH0gfHwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgZS5oYXNPd25Qcm9wZXJ0eShpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICB9LCB0KGUsIGkpOwogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIG4oKSB7CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHQoZSwgaSksIGUucHJvdG90eXBlID0gbnVsbCA9PT0gaSA/IE9iamVjdC5jcmVhdGUoaSkgOiAobi5wcm90b3R5cGUgPSBpLnByb3RvdHlwZSwgbmV3IG4pOwogICAgICAgICAgfTsKICAgICAgICB9KCksIHIgPSBuLmF0dHIsIHMgPSBuLmNyZWF0ZUVsZW1lbnQsIGEgPSBuLmV4dGVuZCwgaCA9IG4ucGljazsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oaSkgewogICAgICAgICAgZnVuY3Rpb24gbigpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGwgIT09IGkgJiYgaS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIG8obiwgaSksIG4uY29tcG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIC0xID09PSBuLmNvbXBvc2VkQ2xhc3Nlcy5pbmRleE9mKHQpICYmIChuLmNvbXBvc2VkQ2xhc3Nlcy5wdXNoKHQpLCB0LnByb3RvdHlwZS5odG1sID0gbi5wcm90b3R5cGUuaHRtbCksIHQ7CiAgICAgICAgICB9LCBuLnByb3RvdHlwZS5odG1sID0gZnVuY3Rpb24oaSwgbiwgbykgewogICAgICAgICAgICB2YXIgbCA9IHRoaXMuY3JlYXRlRWxlbWVudCgic3BhbiIpLCBjID0gbC5lbGVtZW50LCBwID0gbC5yZW5kZXJlciwgZCA9IHAuaXNTVkcsIHUgPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgWyJvcGFjaXR5IiwgInZpc2liaWxpdHkiXS5mb3JFYWNoKChmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgICB0W24gKyAiU2V0dGVyIl0gPSBmdW5jdGlvbihvLCByLCBzKSB7CiAgICAgICAgICAgICAgICAgIHZhciBhID0gdC5kaXYgPyB0LmRpdi5zdHlsZSA6IGk7CiAgICAgICAgICAgICAgICAgIGUucHJvdG90eXBlW24gKyAiU2V0dGVyIl0uY2FsbCh0aGlzLCBvLCByLCBzKSwgYSAmJiAoYVtyXSA9IG8pOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9KSksIHQuYWRkZWRTZXR0ZXJzID0gITA7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHJldHVybiBsLnRleHRTZXR0ZXIgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgZSAhPT0gdGhpcy50ZXh0U3RyICYmIChkZWxldGUgdGhpcy5iQm94LCBkZWxldGUgdGhpcy5vbGRUZXh0V2lkdGgsIHQuc2V0RWxlbWVudEhUTUwodGhpcy5lbGVtZW50LCBoKGUsICIiKSksIHRoaXMudGV4dFN0ciA9IGUsIGwuZG9UcmFuc2Zvcm0gPSAhMCk7CiAgICAgICAgICAgIH0sIGQgJiYgdShsLCBsLmVsZW1lbnQuc3R5bGUpLCBsLnhTZXR0ZXIgPSBsLnlTZXR0ZXIgPSBsLmFsaWduU2V0dGVyID0gbC5yb3RhdGlvblNldHRlciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAiYWxpZ24iID09PSBlID8gbC5hbGlnblZhbHVlID0gbC50ZXh0QWxpZ24gPSB0IDogbFtlXSA9IHQsIGwuZG9UcmFuc2Zvcm0gPSAhMDsKICAgICAgICAgICAgfSwgbC5hZnRlclNldHRlcnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB0aGlzLmRvVHJhbnNmb3JtICYmICh0aGlzLmh0bWxVcGRhdGVUcmFuc2Zvcm0oKSwgdGhpcy5kb1RyYW5zZm9ybSA9ICExKTsKICAgICAgICAgICAgfSwgbC5hdHRyKHsgdGV4dDogaSwgeDogTWF0aC5yb3VuZChuKSwgeTogTWF0aC5yb3VuZChvKSB9KS5jc3MoeyBwb3NpdGlvbjogImFic29sdXRlIiB9KSwgcC5zdHlsZWRNb2RlIHx8IGwuY3NzKHsKICAgICAgICAgICAgICBmb250RmFtaWx5OiB0aGlzLnN0eWxlLmZvbnRGYW1pbHksCiAgICAgICAgICAgICAgZm9udFNpemU6IHRoaXMuc3R5bGUuZm9udFNpemUKICAgICAgICAgICAgfSksIGMuc3R5bGUud2hpdGVTcGFjZSA9ICJub3dyYXAiLCBsLmNzcyA9IGwuaHRtbENzcywgZCAmJiAobC5hZGQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSBwLmJveC5wYXJlbnROb2RlLCBpID0gW107CiAgICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50R3JvdXAgPSB0KSB7CiAgICAgICAgICAgICAgICB2YXIgbiA9IHQuZGl2OwogICAgICAgICAgICAgICAgaWYgKCFuKSB7CiAgICAgICAgICAgICAgICAgIGZvciAoOyB0OykgaS5wdXNoKHQpLCB0ID0gdC5wYXJlbnRHcm91cDsKICAgICAgICAgICAgICAgICAgaS5yZXZlcnNlKCkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG8oZSwgaSkgewogICAgICAgICAgICAgICAgICAgICAgdFtpXSA9IGUsICJ0cmFuc2xhdGVYIiA9PT0gaSA/IHAubGVmdCA9IGUgKyAicHgiIDogcC50b3AgPSBlICsgInB4IiwgdC5kb1RyYW5zZm9ybSA9ICEwOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgdmFyIGggPSByKHQuZWxlbWVudCwgImNsYXNzIiksIGMgPSB0LnN0eWxlcyB8fCB7fTsKICAgICAgICAgICAgICAgICAgICBuID0gdC5kaXYgPSB0LmRpdiB8fCBzKCJkaXYiLCBoID8geyBjbGFzc05hbWU6IGggfSA6IHZvaWQgMCwgewogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJhYnNvbHV0ZSIsCiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAodC50cmFuc2xhdGVYIHx8IDApICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgIHRvcDogKHQudHJhbnNsYXRlWSB8fCAwKSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0LmRpc3BsYXksCiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiB0Lm9wYWNpdHksCiAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGMuY3Vyc29yLAogICAgICAgICAgICAgICAgICAgICAgcG9pbnRlckV2ZW50czogYy5wb2ludGVyRXZlbnRzLAogICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdC52aXNpYmlsaXR5CiAgICAgICAgICAgICAgICAgICAgfSwgbiB8fCBlKTsKICAgICAgICAgICAgICAgICAgICB2YXIgcCA9IG4uc3R5bGU7CiAgICAgICAgICAgICAgICAgICAgYSh0LCB7CiAgICAgICAgICAgICAgICAgICAgICBjbGFzc1NldHRlcjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgZSksIHQuY2xhc3NOYW1lID0gZTsKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgIH0obiksIG9uOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlbMF0uZGl2ICYmIGwub24uYXBwbHkoeyBlbGVtZW50OiBpWzBdLmRpdiwgb25FdmVudHM6IHQub25FdmVudHMgfSwgYXJndW1lbnRzKSwgdDsKICAgICAgICAgICAgICAgICAgICAgIH0sIHRyYW5zbGF0ZVhTZXR0ZXI6IG8sIHRyYW5zbGF0ZVlTZXR0ZXI6IG8KICAgICAgICAgICAgICAgICAgICB9KSwgdC5hZGRlZFNldHRlcnMgfHwgdSh0KTsKICAgICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gZWxzZSBuID0gZTsKICAgICAgICAgICAgICByZXR1cm4gbi5hcHBlbmRDaGlsZChjKSwgbC5hZGRlZCA9ICEwLCBsLmFsaWduT25BZGQgJiYgbC5odG1sVXBkYXRlVHJhbnNmb3JtKCksIGw7CiAgICAgICAgICAgIH0pLCBsOwogICAgICAgICAgfSwgbi5jb21wb3NlZENsYXNzZXMgPSBbXSwgbjsKICAgICAgICB9KGkpOwogICAgICB9KSksIGUoaSwgIkNvcmUvQXhpcy9BeGlzRGVmYXVsdHMuanMiLCBbXSwgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciB0OwogICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICB0LmRlZmF1bHRYQXhpc09wdGlvbnMgPSB7CiAgICAgICAgICAgIGFsaWduVGlja3M6ICEwLAogICAgICAgICAgICBhbGxvd0RlY2ltYWxzOiB2b2lkIDAsCiAgICAgICAgICAgIHBhbm5pbmdFbmFibGVkOiAhMCwKICAgICAgICAgICAgekluZGV4OiAyLAogICAgICAgICAgICB6b29tRW5hYmxlZDogITAsCiAgICAgICAgICAgIGRhdGVUaW1lTGFiZWxGb3JtYXRzOiB7CiAgICAgICAgICAgICAgbWlsbGlzZWNvbmQ6IHsgbWFpbjogIiVIOiVNOiVTLiVMIiwgcmFuZ2U6ICExIH0sCiAgICAgICAgICAgICAgc2Vjb25kOiB7IG1haW46ICIlSDolTTolUyIsIHJhbmdlOiAhMSB9LAogICAgICAgICAgICAgIG1pbnV0ZTogeyBtYWluOiAiJUg6JU0iLCByYW5nZTogITEgfSwKICAgICAgICAgICAgICBob3VyOiB7IG1haW46ICIlSDolTSIsIHJhbmdlOiAhMSB9LAogICAgICAgICAgICAgIGRheTogeyBtYWluOiAiJWUuICViIiB9LAogICAgICAgICAgICAgIHdlZWs6IHsgbWFpbjogIiVlLiAlYiIgfSwKICAgICAgICAgICAgICBtb250aDogeyBtYWluOiAiJWIgJyV5IiB9LAogICAgICAgICAgICAgIHllYXI6IHsgbWFpbjogIiVZIiB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVuZE9uVGljazogITEsCiAgICAgICAgICAgIGdyaWRMaW5lRGFzaFN0eWxlOiAiU29saWQiLAogICAgICAgICAgICBncmlkWkluZGV4OiAxLAogICAgICAgICAgICBsYWJlbHM6IHsKICAgICAgICAgICAgICBhdXRvUm90YXRpb246IHZvaWQgMCwKICAgICAgICAgICAgICBhdXRvUm90YXRpb25MaW1pdDogODAsCiAgICAgICAgICAgICAgZGlzdGFuY2U6IHZvaWQgMCwKICAgICAgICAgICAgICBlbmFibGVkOiAhMCwKICAgICAgICAgICAgICBpbmRlbnRhdGlvbjogMTAsCiAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJqdXN0aWZ5IiwKICAgICAgICAgICAgICBwYWRkaW5nOiA1LAogICAgICAgICAgICAgIHJlc2VydmVTcGFjZTogdm9pZCAwLAogICAgICAgICAgICAgIHJvdGF0aW9uOiB2b2lkIDAsCiAgICAgICAgICAgICAgc3RhZ2dlckxpbmVzOiAwLAogICAgICAgICAgICAgIHN0ZXA6IDAsCiAgICAgICAgICAgICAgdXNlSFRNTDogITEsCiAgICAgICAgICAgICAgeDogMCwKICAgICAgICAgICAgICB6SW5kZXg6IDcsCiAgICAgICAgICAgICAgc3R5bGU6IHsgY29sb3I6ICIjNjY2NjY2IiwgY3Vyc29yOiAiZGVmYXVsdCIsIGZvbnRTaXplOiAiMTFweCIgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBtYXhQYWRkaW5nOiAuMDEsCiAgICAgICAgICAgIG1pbm9yR3JpZExpbmVEYXNoU3R5bGU6ICJTb2xpZCIsCiAgICAgICAgICAgIG1pbm9yVGlja0xlbmd0aDogMiwKICAgICAgICAgICAgbWlub3JUaWNrUG9zaXRpb246ICJvdXRzaWRlIiwKICAgICAgICAgICAgbWluUGFkZGluZzogLjAxLAogICAgICAgICAgICBvZmZzZXQ6IHZvaWQgMCwKICAgICAgICAgICAgb3Bwb3NpdGU6ICExLAogICAgICAgICAgICByZXZlcnNlZDogdm9pZCAwLAogICAgICAgICAgICByZXZlcnNlZFN0YWNrczogITEsCiAgICAgICAgICAgIHNob3dFbXB0eTogITAsCiAgICAgICAgICAgIHNob3dGaXJzdExhYmVsOiAhMCwKICAgICAgICAgICAgc2hvd0xhc3RMYWJlbDogITAsCiAgICAgICAgICAgIHN0YXJ0T2ZXZWVrOiAxLAogICAgICAgICAgICBzdGFydE9uVGljazogITEsCiAgICAgICAgICAgIHRpY2tMZW5ndGg6IDEwLAogICAgICAgICAgICB0aWNrUGl4ZWxJbnRlcnZhbDogMTAwLAogICAgICAgICAgICB0aWNrbWFya1BsYWNlbWVudDogImJldHdlZW4iLAogICAgICAgICAgICB0aWNrUG9zaXRpb246ICJvdXRzaWRlIiwKICAgICAgICAgICAgdGl0bGU6IHsgYWxpZ246ICJtaWRkbGUiLCByb3RhdGlvbjogMCwgdXNlSFRNTDogITEsIHg6IDAsIHk6IDAsIHN0eWxlOiB7IGNvbG9yOiAiIzY2NjY2NiIgfSB9LAogICAgICAgICAgICB0eXBlOiAibGluZWFyIiwKICAgICAgICAgICAgdW5pcXVlTmFtZXM6ICEwLAogICAgICAgICAgICB2aXNpYmxlOiAhMCwKICAgICAgICAgICAgbWlub3JHcmlkTGluZUNvbG9yOiAiI2YyZjJmMiIsCiAgICAgICAgICAgIG1pbm9yR3JpZExpbmVXaWR0aDogMSwKICAgICAgICAgICAgbWlub3JUaWNrQ29sb3I6ICIjOTk5OTk5IiwKICAgICAgICAgICAgbGluZUNvbG9yOiAiI2NjZDZlYiIsCiAgICAgICAgICAgIGxpbmVXaWR0aDogMSwKICAgICAgICAgICAgZ3JpZExpbmVDb2xvcjogIiNlNmU2ZTYiLAogICAgICAgICAgICBncmlkTGluZVdpZHRoOiB2b2lkIDAsCiAgICAgICAgICAgIHRpY2tDb2xvcjogIiNjY2Q2ZWIiCiAgICAgICAgICB9LCB0LmRlZmF1bHRZQXhpc09wdGlvbnMgPSB7CiAgICAgICAgICAgIHJldmVyc2VkU3RhY2tzOiAhMCwKICAgICAgICAgICAgZW5kT25UaWNrOiAhMCwKICAgICAgICAgICAgbWF4UGFkZGluZzogLjA1LAogICAgICAgICAgICBtaW5QYWRkaW5nOiAuMDUsCiAgICAgICAgICAgIHRpY2tQaXhlbEludGVydmFsOiA3MiwKICAgICAgICAgICAgc2hvd0xhc3RMYWJlbDogITAsCiAgICAgICAgICAgIGxhYmVsczogeyB4OiAtOCB9LAogICAgICAgICAgICBzdGFydE9uVGljazogITAsCiAgICAgICAgICAgIHRpdGxlOiB7IHJvdGF0aW9uOiAyNzAsIHRleHQ6ICJWYWx1ZXMiIH0sCiAgICAgICAgICAgIHN0YWNrTGFiZWxzOiB7CiAgICAgICAgICAgICAgYW5pbWF0aW9uOiB7fSwgYWxsb3dPdmVybGFwOiAhMSwgZW5hYmxlZDogITEsIGNyb3A6ICEwLCBvdmVyZmxvdzogImp1c3RpZnkiLCBmb3JtYXR0ZXI6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmF4aXMuY2hhcnQubnVtYmVyRm9ybWF0dGVyOwogICAgICAgICAgICAgICAgcmV0dXJuIHQodGhpcy50b3RhbCwgLTEpOwogICAgICAgICAgICAgIH0sIHN0eWxlOiB7IGNvbG9yOiAiIzAwMDAwMCIsIGZvbnRTaXplOiAiMTFweCIsIGZvbnRXZWlnaHQ6ICJib2xkIiwgdGV4dE91dGxpbmU6ICIxcHggY29udHJhc3QiIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgZ3JpZExpbmVXaWR0aDogMSwKICAgICAgICAgICAgbGluZVdpZHRoOiAwCiAgICAgICAgICB9LCB0LmRlZmF1bHRMZWZ0QXhpc09wdGlvbnMgPSB7IGxhYmVsczogeyB4OiAtMTUgfSwgdGl0bGU6IHsgcm90YXRpb246IDI3MCB9IH0sIHQuZGVmYXVsdFJpZ2h0QXhpc09wdGlvbnMgPSB7CiAgICAgICAgICAgIGxhYmVsczogeyB4OiAxNSB9LAogICAgICAgICAgICB0aXRsZTogeyByb3RhdGlvbjogOTAgfQogICAgICAgICAgfSwgdC5kZWZhdWx0Qm90dG9tQXhpc09wdGlvbnMgPSB7CiAgICAgICAgICAgIGxhYmVsczogeyBhdXRvUm90YXRpb246IFstNDVdLCB4OiAwIH0sCiAgICAgICAgICAgIG1hcmdpbjogMTUsCiAgICAgICAgICAgIHRpdGxlOiB7IHJvdGF0aW9uOiAwIH0KICAgICAgICAgIH0sIHQuZGVmYXVsdFRvcEF4aXNPcHRpb25zID0geyBsYWJlbHM6IHsgYXV0b1JvdGF0aW9uOiBbLTQ1XSwgeDogMCB9LCBtYXJnaW46IDE1LCB0aXRsZTogeyByb3RhdGlvbjogMCB9IH07CiAgICAgICAgfSh0IHx8ICh0ID0ge30pKSwgdDsKICAgICAgfSkpLCBlKGksICJDb3JlL0ZvdW5kYXRpb24uanMiLCBbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUsIGkgPSB0LmFkZEV2ZW50LCBuID0gdC5pc0Z1bmN0aW9uLCBvID0gdC5vYmplY3RFYWNoLCByID0gdC5yZW1vdmVFdmVudDsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgdC5yZWdpc3RlckV2ZW50T3B0aW9ucyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdC5ldmVudE9wdGlvbnMgPSB0LmV2ZW50T3B0aW9ucyB8fCB7fSwgbyhlLmV2ZW50cywgKGZ1bmN0aW9uKGUsIG8pIHsKICAgICAgICAgICAgICB0LmV2ZW50T3B0aW9uc1tvXSAhPT0gZSAmJiAodC5ldmVudE9wdGlvbnNbb10gJiYgKHIodCwgbywgdC5ldmVudE9wdGlvbnNbb10pLCBkZWxldGUgdC5ldmVudE9wdGlvbnNbb10pLCBuKGUpICYmICh0LmV2ZW50T3B0aW9uc1tvXSA9IGUsIGkodCwgbywgZSkpKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfTsKICAgICAgICB9KGUgfHwgKGUgPSB7fSkpLCBlOwogICAgICB9KSksIGUoaSwgIkNvcmUvQXhpcy9UaWNrLmpzIiwgW2lbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvR2xvYmFscy5qcyJdLCBpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwgKGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICB2YXIgbiA9IGUuZGVnMnJhZCwgbyA9IGkuY2xhbXAsIHIgPSBpLmNvcnJlY3RGbG9hdCwgcyA9IGkuZGVmaW5lZCwgYSA9IGkuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsIGggPSBpLmV4dGVuZCwgbCA9IGkuZmlyZUV2ZW50LCBjID0gaS5pc051bWJlciwKICAgICAgICAgIHAgPSBpLm1lcmdlLCBkID0gaS5vYmplY3RFYWNoLCB1ID0gaS5waWNrOwogICAgICAgIHJldHVybiBlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiBlKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICAgICAgdGhpcy5pc05ld0xhYmVsID0gdGhpcy5pc05ldyA9ICEwLCB0aGlzLmF4aXMgPSB0LCB0aGlzLnBvcyA9IGUsIHRoaXMudHlwZSA9IGkgfHwgIiIsIHRoaXMucGFyYW1ldGVycyA9IG8gfHwge30sIHRoaXMudGlja21hcmtPZmZzZXQgPSB0aGlzLnBhcmFtZXRlcnMudGlja21hcmtPZmZzZXQsIHRoaXMub3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5vcHRpb25zLCBsKHRoaXMsICJpbml0IiksIGkgfHwgbiB8fCB0aGlzLmFkZExhYmVsKCk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGUucHJvdG90eXBlLmFkZExhYmVsID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpcywgaSA9IGUuYXhpcywgbiA9IGkub3B0aW9ucywgbyA9IGkuY2hhcnQsIGEgPSBpLmNhdGVnb3JpZXMsIHAgPSBpLmxvZ2FyaXRobWljLCBkID0gaS5uYW1lcywgZiA9IGUucG9zLAogICAgICAgICAgICAgIGcgPSB1KGUub3B0aW9ucyAmJiBlLm9wdGlvbnMubGFiZWxzLCBuLmxhYmVscyksIG0gPSBpLnRpY2tQb3NpdGlvbnMsIHkgPSBmID09PSBtWzBdLCB2ID0gZiA9PT0gbVttLmxlbmd0aCAtIDFdLAogICAgICAgICAgICAgIHggPSAoIWcuc3RlcCB8fCAxID09PSBnLnN0ZXApICYmIDEgPT09IGkudGlja0ludGVydmFsOwogICAgICAgICAgICBtID0gbS5pbmZvOwogICAgICAgICAgICB2YXIgYiwgXyA9IGUubGFiZWw7CiAgICAgICAgICAgIGlmIChhID0gdGhpcy5wYXJhbWV0ZXJzLmNhdGVnb3J5IHx8IChhID8gdShhW2ZdLCBkW2ZdLCBmKSA6IGYpLCBwICYmIGMoYSkgJiYgKGEgPSByKHAubGluMmxvZyhhKSkpLCBpLmRhdGVUaW1lKSBpZiAobSkgdmFyIHcgPSBvLnRpbWUucmVzb2x2ZURUTEZvcm1hdChuLmRhdGVUaW1lTGFiZWxGb3JtYXRzWyFuLmdyaWQgJiYgbS5oaWdoZXJSYW5rc1tmXSB8fCBtLnVuaXROYW1lXSksCiAgICAgICAgICAgICAgayA9IHcubWFpbjsgZWxzZSBjKGEpICYmIChrID0gaS5kYXRlVGltZS5nZXRYRGF0ZUZvcm1hdChhLCBuLmRhdGVUaW1lTGFiZWxGb3JtYXRzIHx8IHt9KSk7CiAgICAgICAgICAgIGUuaXNGaXJzdCA9IHksIGUuaXNMYXN0ID0gdjsKICAgICAgICAgICAgdmFyIFMgPSB7IGF4aXM6IGksIGNoYXJ0OiBvLCBkYXRlVGltZUxhYmVsRm9ybWF0OiBrLCBpc0ZpcnN0OiB5LCBpc0xhc3Q6IHYsIHBvczogZiwgdGljazogZSwgdGlja1Bvc2l0aW9uSW5mbzogbSwgdmFsdWU6IGEgfTsKICAgICAgICAgICAgbCh0aGlzLCAibGFiZWxGb3JtYXQiLCBTKTsKICAgICAgICAgICAgdmFyIEMgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGcuZm9ybWF0dGVyID8gZy5mb3JtYXR0ZXIuY2FsbChlLCBlKSA6IGcuZm9ybWF0ID8gKGUudGV4dCA9IGkuZGVmYXVsdExhYmVsRm9ybWF0dGVyLmNhbGwoZSksIHQuZm9ybWF0KGcuZm9ybWF0LCBlLCBvKSkgOiBpLmRlZmF1bHRMYWJlbEZvcm1hdHRlci5jYWxsKGUsIGUpOwogICAgICAgICAgICB9OwogICAgICAgICAgICBuID0gQy5jYWxsKFMsIFMpOwogICAgICAgICAgICB2YXIgTSA9IHcgJiYgdy5saXN0OwogICAgICAgICAgICBlLnNob3J0ZW5MYWJlbCA9IE0gPyBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBmb3IgKGIgPSAwOyBiIDwgTS5sZW5ndGg7IGIrKykgaWYgKGgoUywgeyBkYXRlVGltZUxhYmVsRm9ybWF0OiBNW2JdIH0pLCBfLmF0dHIoeyB0ZXh0OiBDLmNhbGwoUywgUykgfSksIF8uZ2V0QkJveCgpLndpZHRoIDwgaS5nZXRTbG90V2lkdGgoZSkgLSAyICogZy5wYWRkaW5nKSByZXR1cm47CiAgICAgICAgICAgICAgXy5hdHRyKHsgdGV4dDogIiIgfSk7CiAgICAgICAgICAgIH0gOiB2b2lkIDAsIHggJiYgaS5fYWRkZWRQbG90TEIgJiYgZS5tb3ZlTGFiZWwobiwgZyksIHMoXykgfHwgZS5tb3ZlZExhYmVsID8gXyAmJiBfLnRleHRTdHIgIT09IG4gJiYgIXggJiYgKCFfLnRleHRXaWR0aCB8fCBnLnN0eWxlLndpZHRoIHx8IF8uc3R5bGVzLndpZHRoIHx8IF8uY3NzKHsgd2lkdGg6IG51bGwgfSksIF8uYXR0cih7IHRleHQ6IG4gfSksIF8udGV4dFB4TGVuZ3RoID0gXy5nZXRCQm94KCkud2lkdGgpIDogKGUubGFiZWwgPSBfID0gZS5jcmVhdGVMYWJlbCh7CiAgICAgICAgICAgICAgeDogMCwKICAgICAgICAgICAgICB5OiAwCiAgICAgICAgICAgIH0sIG4sIGcpLCBlLnJvdGF0aW9uID0gMCk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5jcmVhdGVMYWJlbCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmF4aXMsIG8gPSBuLmNoYXJ0OwogICAgICAgICAgICByZXR1cm4gKHQgPSBzKGUpICYmIGkuZW5hYmxlZCA/IG8ucmVuZGVyZXIudGV4dChlLCB0LngsIHQueSwgaS51c2VIVE1MKS5hZGQobi5sYWJlbEdyb3VwKSA6IG51bGwpICYmIChvLnN0eWxlZE1vZGUgfHwgdC5jc3MocChpLnN0eWxlKSksIHQudGV4dFB4TGVuZ3RoID0gdC5nZXRCQm94KCkud2lkdGgpLCB0OwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBhKHRoaXMsIHRoaXMuYXhpcyk7CiAgICAgICAgICB9LCBlLnByb3RvdHlwZS5nZXRQb3NpdGlvbiA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgdmFyIHMgPSB0aGlzLmF4aXMsIGEgPSBzLmNoYXJ0LCBoID0gbiAmJiBhLm9sZENoYXJ0SGVpZ2h0IHx8IGEuY2hhcnRIZWlnaHQ7CiAgICAgICAgICAgIHJldHVybiB0ID0gewogICAgICAgICAgICAgIHg6IHQgPyByKHMudHJhbnNsYXRlKGUgKyBpLCBudWxsLCBudWxsLCBuKSArIHMudHJhbnNCKSA6IHMubGVmdCArIHMub2Zmc2V0ICsgKHMub3Bwb3NpdGUgPyAobiAmJiBhLm9sZENoYXJ0V2lkdGggfHwgYS5jaGFydFdpZHRoKSAtIHMucmlnaHQgLSBzLmxlZnQgOiAwKSwKICAgICAgICAgICAgICB5OiB0ID8gaCAtIHMuYm90dG9tICsgcy5vZmZzZXQgLSAocy5vcHBvc2l0ZSA/IHMuaGVpZ2h0IDogMCkgOiByKGggLSBzLnRyYW5zbGF0ZShlICsgaSwgbnVsbCwgbnVsbCwgbikgLSBzLnRyYW5zQikKICAgICAgICAgICAgfSwgdC55ID0gbyh0LnksIC0xZTUsIDFlNSksIGwodGhpcywgImFmdGVyR2V0UG9zaXRpb24iLCB7IHBvczogdCB9KSwgdDsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldExhYmVsUG9zaXRpb24gPSBmdW5jdGlvbih0LCBlLCBpLCBvLCByLCBhLCBoLCBjKSB7CiAgICAgICAgICAgIHZhciBwID0gdGhpcy5heGlzLCBkID0gcC50cmFuc0EsIHUgPSBwLmlzTGlua2VkICYmIHAubGlua2VkUGFyZW50ID8gcC5saW5rZWRQYXJlbnQucmV2ZXJzZWQgOiBwLnJldmVyc2VkLCBmID0gcC5zdGFnZ2VyTGluZXMsCiAgICAgICAgICAgICAgZyA9IHAudGlja1JvdENvcnIgfHwgeyB4OiAwLCB5OiAwIH0sIG0gPSBvIHx8IHAucmVzZXJ2ZVNwYWNlRGVmYXVsdCA/IDAgOiAtcC5sYWJlbE9mZnNldCAqICgiY2VudGVyIiA9PT0gcC5sYWJlbEFsaWduID8gLjUgOiAxKSwgeSA9IHt9LCB2ID0gci55OwogICAgICAgICAgICByZXR1cm4gcyh2KSB8fCAodiA9IDAgPT09IHAuc2lkZSA/IGkucm90YXRpb24gPyAtOCA6IC1pLmdldEJCb3goKS5oZWlnaHQgOiAyID09PSBwLnNpZGUgPyBnLnkgKyA4IDogTWF0aC5jb3MoaS5yb3RhdGlvbiAqIG4pICogKGcueSAtIGkuZ2V0QkJveCghMSwgMCkuaGVpZ2h0IC8gMikpLCB0ID0gdCArIHIueCArIG0gKyBnLnggLSAoYSAmJiBvID8gYSAqIGQgKiAodSA/IC0xIDogMSkgOiAwKSwgZSA9IGUgKyB2IC0gKGEgJiYgIW8gPyBhICogZCAqICh1ID8gMSA6IC0xKSA6IDApLCBmICYmIChpID0gaCAvIChjIHx8IDEpICUgZiwgcC5vcHBvc2l0ZSAmJiAoaSA9IGYgLSBpIC0gMSksIGUgKz0gcC5sYWJlbE9mZnNldCAvIGYgKiBpKSwgeS54ID0gdCwgeS55ID0gTWF0aC5yb3VuZChlKSwgbCh0aGlzLCAiYWZ0ZXJHZXRMYWJlbFBvc2l0aW9uIiwgewogICAgICAgICAgICAgIHBvczogeSwKICAgICAgICAgICAgICB0aWNrbWFya09mZnNldDogYSwKICAgICAgICAgICAgICBpbmRleDogaAogICAgICAgICAgICB9KSwgeTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmdldExhYmVsU2l6ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5sYWJlbCA/IHRoaXMubGFiZWwuZ2V0QkJveCgpW3RoaXMuYXhpcy5ob3JpeiA/ICJoZWlnaHQiIDogIndpZHRoIl0gOiAwOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUuZ2V0TWFya1BhdGggPSBmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByKSB7CiAgICAgICAgICAgIHJldHVybiByLmNyaXNwTGluZShbWyJNIiwgdCwgZV0sIFsiTCIsIHQgKyAobyA/IDAgOiAtaSksIGUgKyAobyA/IGkgOiAwKV1dLCBuKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLmhhbmRsZU92ZXJmbG93ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuYXhpcywgaSA9IGUub3B0aW9ucy5sYWJlbHMsIG8gPSB0LngsIHIgPSBlLmNoYXJ0LmNoYXJ0V2lkdGgsIHMgPSBlLmNoYXJ0LnNwYWNpbmcsIGEgPSB1KGUubGFiZWxMZWZ0LCBNYXRoLm1pbihlLnBvcywgc1szXSkpOwogICAgICAgICAgICBzID0gdShlLmxhYmVsUmlnaHQsIE1hdGgubWF4KGUuaXNSYWRpYWwgPyAwIDogZS5wb3MgKyBlLmxlbiwgciAtIHNbMV0pKTsKICAgICAgICAgICAgdmFyIGgsIGwgPSB0aGlzLmxhYmVsLCBjID0gdGhpcy5yb3RhdGlvbiwgcCA9IHsgbGVmdDogMCwgY2VudGVyOiAuNSwgcmlnaHQ6IDEgfVtlLmxhYmVsQWxpZ24gfHwgbC5hdHRyKCJhbGlnbiIpXSwgZCA9IGwuZ2V0QkJveCgpLndpZHRoLAogICAgICAgICAgICAgIGYgPSBlLmdldFNsb3RXaWR0aCh0aGlzKSwgZyA9IHt9LCBtID0gZiwgeSA9IDE7CiAgICAgICAgICAgIGMgfHwgImp1c3RpZnkiICE9PSBpLm92ZXJmbG93ID8gMCA+IGMgJiYgbyAtIHAgKiBkIDwgYSA/IGggPSBNYXRoLnJvdW5kKG8gLyBNYXRoLmNvcyhjICogbikgLSBhKSA6IDAgPCBjICYmIG8gKyBwICogZCA+IHMgJiYgKGggPSBNYXRoLnJvdW5kKChyIC0gbykgLyBNYXRoLmNvcyhjICogbikpKSA6IChyID0gbyArICgxIC0gcCkgKiBkLCBvIC0gcCAqIGQgPCBhID8gbSA9IHQueCArIG0gKiAoMSAtIHApIC0gYSA6IHIgPiBzICYmIChtID0gcyAtIHQueCArIG0gKiBwLCB5ID0gLTEpLCBtID0gTWF0aC5taW4oZiwgbSksIG0gPCBmICYmICJjZW50ZXIiID09PSBlLmxhYmVsQWxpZ24gJiYgKHQueCArPSB5ICogKGYgLSBtIC0gcCAqIChmIC0gTWF0aC5taW4oZCwgbSkpKSksIChkID4gbSB8fCBlLmF1dG9Sb3RhdGlvbiAmJiAobC5zdHlsZXMgfHwge30pLndpZHRoKSAmJiAoaCA9IG0pKSwgaCAmJiAodGhpcy5zaG9ydGVuTGFiZWwgPyB0aGlzLnNob3J0ZW5MYWJlbCgpIDogKGcud2lkdGggPSBNYXRoLmZsb29yKGgpICsgInB4IiwgKGkuc3R5bGUgfHwge30pLnRleHRPdmVyZmxvdyB8fCAoZy50ZXh0T3ZlcmZsb3cgPSAiZWxsaXBzaXMiKSwgbC5jc3MoZykpKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLm1vdmVMYWJlbCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLCBuID0gaS5sYWJlbCwgbyA9IGkuYXhpcywgciA9IG8ucmV2ZXJzZWQsIHMgPSAhMTsKICAgICAgICAgICAgaWYgKG4gJiYgbi50ZXh0U3RyID09PSB0ID8gKGkubW92ZWRMYWJlbCA9IG4sIHMgPSAhMCwgZGVsZXRlIGkubGFiZWwpIDogZChvLnRpY2tzLCAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgIHMgfHwgZS5pc05ldyB8fCBlID09PSBpIHx8ICFlLmxhYmVsIHx8IGUubGFiZWwudGV4dFN0ciAhPT0gdCB8fCAoaS5tb3ZlZExhYmVsID0gZS5sYWJlbCwgcyA9ICEwLCBlLmxhYmVsUG9zID0gaS5tb3ZlZExhYmVsLnh5LCBkZWxldGUgZS5sYWJlbCk7CiAgICAgICAgICAgIH0pKSwgIXMgJiYgKGkubGFiZWxQb3MgfHwgbikpIHsKICAgICAgICAgICAgICB2YXIgYSA9IGkubGFiZWxQb3MgfHwgbi54eTsKICAgICAgICAgICAgICBuID0gby5ob3JpeiA/IHIgPyAwIDogby53aWR0aCArIG8ubGVmdCA6IGEueCwgbyA9IG8uaG9yaXogPyBhLnkgOiByID8gby53aWR0aCArIG8ubGVmdCA6IDAsIGkubW92ZWRMYWJlbCA9IGkuY3JlYXRlTGFiZWwoewogICAgICAgICAgICAgICAgeDogbiwKICAgICAgICAgICAgICAgIHk6IG8KICAgICAgICAgICAgICB9LCB0LCBlKSwgaS5tb3ZlZExhYmVsICYmIGkubW92ZWRMYWJlbC5hdHRyKHsgb3BhY2l0eTogMCB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMuYXhpcywgbyA9IG4uaG9yaXosIHIgPSB0aGlzLnBvcywgcyA9IHUodGhpcy50aWNrbWFya09mZnNldCwgbi50aWNrbWFya09mZnNldCk7CiAgICAgICAgICAgIHIgPSB0aGlzLmdldFBvc2l0aW9uKG8sIHIsIHMsIGUpLCBzID0gci54OwogICAgICAgICAgICB2YXIgYSA9IHIueTsKICAgICAgICAgICAgbiA9IG8gJiYgcyA9PT0gbi5wb3MgKyBuLmxlbiB8fCAhbyAmJiBhID09PSBuLnBvcyA/IC0xIDogMSwgbyA9IHUoaSwgdGhpcy5sYWJlbCAmJiB0aGlzLmxhYmVsLm5ld09wYWNpdHksIDEpLCBpID0gdShpLCAxKSwgdGhpcy5pc0FjdGl2ZSA9ICEwLCB0aGlzLnJlbmRlckdyaWRMaW5lKGUsIGksIG4pLCB0aGlzLnJlbmRlck1hcmsociwgaSwgbiksIHRoaXMucmVuZGVyTGFiZWwociwgZSwgbywgdCksIHRoaXMuaXNOZXcgPSAhMSwgbCh0aGlzLCAiYWZ0ZXJSZW5kZXIiKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnJlbmRlckdyaWRMaW5lID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMuYXhpcywgbyA9IG4ub3B0aW9ucywgciA9IHt9LCBzID0gdGhpcy5wb3MsIGEgPSB0aGlzLnR5cGUsIGggPSB1KHRoaXMudGlja21hcmtPZmZzZXQsIG4udGlja21hcmtPZmZzZXQpLCBsID0gbi5jaGFydC5yZW5kZXJlciwKICAgICAgICAgICAgICBjID0gdGhpcy5ncmlkTGluZSwgcCA9IG8uZ3JpZExpbmVXaWR0aCwgZCA9IG8uZ3JpZExpbmVDb2xvciwgZiA9IG8uZ3JpZExpbmVEYXNoU3R5bGU7CiAgICAgICAgICAgICJtaW5vciIgPT09IHRoaXMudHlwZSAmJiAocCA9IG8ubWlub3JHcmlkTGluZVdpZHRoLCBkID0gby5taW5vckdyaWRMaW5lQ29sb3IsIGYgPSBvLm1pbm9yR3JpZExpbmVEYXNoU3R5bGUpLCBjIHx8IChuLmNoYXJ0LnN0eWxlZE1vZGUgfHwgKHIuc3Ryb2tlID0gZCwgclsic3Ryb2tlLXdpZHRoIl0gPSBwIHx8IDAsIHIuZGFzaHN0eWxlID0gZiksIGEgfHwgKHIuekluZGV4ID0gMSksIHQgJiYgKGUgPSAwKSwgdGhpcy5ncmlkTGluZSA9IGMgPSBsLnBhdGgoKS5hdHRyKHIpLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIgKyAoYSA/IGEgKyAiLSIgOiAiIikgKyAiZ3JpZC1saW5lIikuYWRkKG4uZ3JpZEdyb3VwKSksIGMgJiYgKGkgPSBuLmdldFBsb3RMaW5lUGF0aCh7CiAgICAgICAgICAgICAgdmFsdWU6IHMgKyBoLAogICAgICAgICAgICAgIGxpbmVXaWR0aDogYy5zdHJva2VXaWR0aCgpICogaSwKICAgICAgICAgICAgICBmb3JjZTogInBhc3MiLAogICAgICAgICAgICAgIG9sZDogdAogICAgICAgICAgICB9KSkgJiYgY1t0IHx8IHRoaXMuaXNOZXcgPyAiYXR0ciIgOiAiYW5pbWF0ZSJdKHsgZDogaSwgb3BhY2l0eTogZSB9KTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnJlbmRlck1hcmsgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5heGlzLCBvID0gbi5vcHRpb25zLCByID0gbi5jaGFydC5yZW5kZXJlciwgcyA9IHRoaXMudHlwZSwgYSA9IG4udGlja1NpemUocyA/IHMgKyAiVGljayIgOiAidGljayIpLCBoID0gdC54OwogICAgICAgICAgICB0ID0gdC55OwogICAgICAgICAgICB2YXIgbCA9IHUob1sibWlub3IiICE9PSBzID8gInRpY2tXaWR0aCIgOiAibWlub3JUaWNrV2lkdGgiXSwgIXMgJiYgbi5pc1hBeGlzID8gMSA6IDApOwogICAgICAgICAgICBvID0gb1sibWlub3IiICE9PSBzID8gInRpY2tDb2xvciIgOiAibWlub3JUaWNrQ29sb3IiXTsKICAgICAgICAgICAgdmFyIGMgPSB0aGlzLm1hcmssIHAgPSAhYzsKICAgICAgICAgICAgYSAmJiAobi5vcHBvc2l0ZSAmJiAoYVswXSA9IC1hWzBdKSwgYyB8fCAodGhpcy5tYXJrID0gYyA9IHIucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIgKyAocyA/IHMgKyAiLSIgOiAiIikgKyAidGljayIpLmFkZChuLmF4aXNHcm91cCksIG4uY2hhcnQuc3R5bGVkTW9kZSB8fCBjLmF0dHIoewogICAgICAgICAgICAgIHN0cm9rZTogbywKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogbAogICAgICAgICAgICB9KSksIGNbcCA/ICJhdHRyIiA6ICJhbmltYXRlIl0oeyBkOiB0aGlzLmdldE1hcmtQYXRoKGgsIHQsIGFbMF0sIGMuc3Ryb2tlV2lkdGgoKSAqIGksIG4uaG9yaXosIHIpLCBvcGFjaXR5OiBlIH0pKTsKICAgICAgICAgIH0sIGUucHJvdG90eXBlLnJlbmRlckxhYmVsID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICB2YXIgbyA9IHRoaXMuYXhpcywgciA9IG8uaG9yaXosIHMgPSBvLm9wdGlvbnMsIGEgPSB0aGlzLmxhYmVsLCBoID0gcy5sYWJlbHMsIGwgPSBoLnN0ZXA7CiAgICAgICAgICAgIG8gPSB1KHRoaXMudGlja21hcmtPZmZzZXQsIG8udGlja21hcmtPZmZzZXQpOwogICAgICAgICAgICB2YXIgcCA9IHQueDsKICAgICAgICAgICAgdCA9IHQueTsKICAgICAgICAgICAgdmFyIGQgPSAhMDsKICAgICAgICAgICAgYSAmJiBjKHApICYmIChhLnh5ID0gdCA9IHRoaXMuZ2V0TGFiZWxQb3NpdGlvbihwLCB0LCBhLCByLCBoLCBvLCBuLCBsKSwgdGhpcy5pc0ZpcnN0ICYmICF0aGlzLmlzTGFzdCAmJiAhcy5zaG93Rmlyc3RMYWJlbCB8fCB0aGlzLmlzTGFzdCAmJiAhdGhpcy5pc0ZpcnN0ICYmICFzLnNob3dMYXN0TGFiZWwgPyBkID0gITEgOiAhciB8fCBoLnN0ZXAgfHwgaC5yb3RhdGlvbiB8fCBlIHx8IDAgPT09IGkgfHwgdGhpcy5oYW5kbGVPdmVyZmxvdyh0KSwgbCAmJiBuICUgbCAmJiAoZCA9ICExKSwgZCAmJiBjKHQueSkgPyAodC5vcGFjaXR5ID0gaSwgYVt0aGlzLmlzTmV3TGFiZWwgPyAiYXR0ciIgOiAiYW5pbWF0ZSJdKHQpLCB0aGlzLmlzTmV3TGFiZWwgPSAhMSkgOiAoYS5hdHRyKCJ5IiwgLTk5OTkpLCB0aGlzLmlzTmV3TGFiZWwgPSAhMCkpOwogICAgICAgICAgfSwgZS5wcm90b3R5cGUucmVwbGFjZU1vdmVkTGFiZWwgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmxhYmVsLCBlID0gdGhpcy5heGlzLCBpID0gZS5yZXZlcnNlZDsKICAgICAgICAgICAgaWYgKHQgJiYgIXRoaXMuaXNOZXcpIHsKICAgICAgICAgICAgICB2YXIgbiA9IGUuaG9yaXogPyBpID8gZS5sZWZ0IDogZS53aWR0aCArIGUubGVmdCA6IHQueHkueDsKICAgICAgICAgICAgICBpID0gZS5ob3JpeiA/IHQueHkueSA6IGkgPyBlLndpZHRoICsgZS50b3AgOiBlLnRvcCwgdC5hbmltYXRlKHsgeDogbiwgeTogaSwgb3BhY2l0eTogMCB9LCB2b2lkIDAsIHQuZGVzdHJveSksIGRlbGV0ZSB0aGlzLmxhYmVsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGUuaXNEaXJ0eSA9ICEwLCB0aGlzLmxhYmVsID0gdGhpcy5tb3ZlZExhYmVsLCBkZWxldGUgdGhpcy5tb3ZlZExhYmVsOwogICAgICAgICAgfSwgZTsKICAgICAgICB9KCksIGU7CiAgICAgIH0pKSwgZShpLCAiQ29yZS9BeGlzL0F4aXMuanMiLCBbaVsiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIl0sIGlbIkNvcmUvQXhpcy9BeGlzRGVmYXVsdHMuanMiXSwgaVsiQ29yZS9Db2xvci9Db2xvci5qcyJdLCBpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0sIGlbIkNvcmUvRm91bmRhdGlvbi5qcyJdLCBpWyJDb3JlL0dsb2JhbHMuanMiXSwgaVsiQ29yZS9BeGlzL1RpY2suanMiXSwgaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sIChmdW5jdGlvbih0LCBlLCBpLCBuLCBvLCByLCBzLCBhKSB7CiAgICAgICAgdmFyIGggPSB0LmFuaW1PYmplY3QsIGwgPSBuLmRlZmF1bHRPcHRpb25zLCBjID0gby5yZWdpc3RlckV2ZW50T3B0aW9ucywgcCA9IHIuZGVnMnJhZCwgZCA9IGEuYXJyYXlNYXgsIHUgPSBhLmFycmF5TWluLCBmID0gYS5jbGFtcCwgZyA9IGEuY29ycmVjdEZsb2F0LAogICAgICAgICAgbSA9IGEuZGVmaW5lZCwgeSA9IGEuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsIHYgPSBhLmVyYXNlLCB4ID0gYS5lcnJvciwgYiA9IGEuZXh0ZW5kLCBfID0gYS5maXJlRXZlbnQsIHcgPSBhLmdldE1hZ25pdHVkZSwgayA9IGEuaXNBcnJheSwKICAgICAgICAgIFMgPSBhLmlzTnVtYmVyLCBDID0gYS5pc1N0cmluZywgTSA9IGEubWVyZ2UsIEEgPSBhLm5vcm1hbGl6ZVRpY2tJbnRlcnZhbCwgUCA9IGEub2JqZWN0RWFjaCwgTyA9IGEucGljaywgVCA9IGEucmVsYXRpdmVMZW5ndGgsIEUgPSBhLnJlbW92ZUV2ZW50LAogICAgICAgICAgTCA9IGEuc3BsYXQsIGogPSBhLnN5bmNUaW1lb3V0OwogICAgICAgIHJldHVybiB0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBmdW5jdGlvbiB0KHQsIGUpIHsKICAgICAgICAgICAgdGhpcy56b29tRW5hYmxlZCA9IHRoaXMud2lkdGggPSB0aGlzLnZpc2libGUgPSB0aGlzLnVzZXJPcHRpb25zID0gdGhpcy50cmFuc2xhdGlvblNsb3BlID0gdGhpcy50cmFuc0IgPSB0aGlzLnRyYW5zQSA9IHRoaXMudG9wID0gdGhpcy50aWNrcyA9IHRoaXMudGlja1JvdENvcnIgPSB0aGlzLnRpY2tQb3NpdGlvbnMgPSB0aGlzLnRpY2ttYXJrT2Zmc2V0ID0gdGhpcy50aWNrSW50ZXJ2YWwgPSB0aGlzLnRpY2tBbW91bnQgPSB0aGlzLnNpZGUgPSB0aGlzLnNlcmllcyA9IHRoaXMucmlnaHQgPSB0aGlzLnBvc2l0aXZlVmFsdWVzT25seSA9IHRoaXMucG9zID0gdGhpcy5wb2ludFJhbmdlUGFkZGluZyA9IHRoaXMucG9pbnRSYW5nZSA9IHRoaXMucGxvdExpbmVzQW5kQmFuZHNHcm91cHMgPSB0aGlzLnBsb3RMaW5lc0FuZEJhbmRzID0gdGhpcy5wYWRkZWRUaWNrcyA9IHRoaXMub3ZlcmxhcCA9IHRoaXMub3B0aW9ucyA9IHRoaXMub2Zmc2V0ID0gdGhpcy5uYW1lcyA9IHRoaXMubWluUGl4ZWxQYWRkaW5nID0gdGhpcy5taW5vclRpY2tzID0gdGhpcy5taW5vclRpY2tJbnRlcnZhbCA9IHRoaXMubWluID0gdGhpcy5tYXhMYWJlbExlbmd0aCA9IHRoaXMubWF4ID0gdGhpcy5sZW4gPSB0aGlzLmxlZnQgPSB0aGlzLmxhYmVsRm9ybWF0dGVyID0gdGhpcy5sYWJlbEVkZ2UgPSB0aGlzLmlzTGlua2VkID0gdGhpcy5oZWlnaHQgPSB0aGlzLmhhc1Zpc2libGVTZXJpZXMgPSB0aGlzLmhhc05hbWVzID0gdGhpcy5ldmVudE9wdGlvbnMgPSB0aGlzLmNvbGwgPSB0aGlzLmNsb3Nlc3RQb2ludFJhbmdlID0gdGhpcy5jaGFydCA9IHRoaXMuY2F0ZWdvcmllcyA9IHRoaXMuYm90dG9tID0gdGhpcy5hbHRlcm5hdGVCYW5kcyA9IHZvaWQgMCwgdGhpcy5pbml0KHQsIGUpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IGUuaXNYOwogICAgICAgICAgICB0aGlzLmNoYXJ0ID0gdCwgdGhpcy5ob3JpeiA9IHQuaW52ZXJ0ZWQgJiYgIXRoaXMuaXNaQXhpcyA/ICFpIDogaSwgdGhpcy5pc1hBeGlzID0gaSwgdGhpcy5jb2xsID0gdGhpcy5jb2xsIHx8IChpID8gInhBeGlzIiA6ICJ5QXhpcyIpLCBfKHRoaXMsICJpbml0IiwgeyB1c2VyT3B0aW9uczogZSB9KSwgdGhpcy5vcHBvc2l0ZSA9IE8oZS5vcHBvc2l0ZSwgdGhpcy5vcHBvc2l0ZSksIHRoaXMuc2lkZSA9IE8oZS5zaWRlLCB0aGlzLnNpZGUsIHRoaXMuaG9yaXogPyB0aGlzLm9wcG9zaXRlID8gMCA6IDIgOiB0aGlzLm9wcG9zaXRlID8gMSA6IDMpLCB0aGlzLnNldE9wdGlvbnMoZSk7CiAgICAgICAgICAgIHZhciBuID0gdGhpcy5vcHRpb25zLCBvID0gbi5sYWJlbHMsIHIgPSBuLnR5cGU7CiAgICAgICAgICAgIHRoaXMudXNlck9wdGlvbnMgPSBlLCB0aGlzLm1pblBpeGVsUGFkZGluZyA9IDAsIHRoaXMucmV2ZXJzZWQgPSBPKG4ucmV2ZXJzZWQsIHRoaXMucmV2ZXJzZWQpLCB0aGlzLnZpc2libGUgPSBuLnZpc2libGUsIHRoaXMuem9vbUVuYWJsZWQgPSBuLnpvb21FbmFibGVkLCB0aGlzLmhhc05hbWVzID0gImNhdGVnb3J5IiA9PT0gciB8fCAhMCA9PT0gbi5jYXRlZ29yaWVzLCB0aGlzLmNhdGVnb3JpZXMgPSBuLmNhdGVnb3JpZXMgfHwgdGhpcy5oYXNOYW1lcywgdGhpcy5uYW1lcyB8fCAodGhpcy5uYW1lcyA9IFtdLCB0aGlzLm5hbWVzLmtleXMgPSB7fSksIHRoaXMucGxvdExpbmVzQW5kQmFuZHNHcm91cHMgPSB7fSwgdGhpcy5wb3NpdGl2ZVZhbHVlc09ubHkgPSAhIXRoaXMubG9nYXJpdGhtaWMsIHRoaXMuaXNMaW5rZWQgPSBtKG4ubGlua2VkVG8pLCB0aGlzLnRpY2tzID0ge30sIHRoaXMubGFiZWxFZGdlID0gW10sIHRoaXMubWlub3JUaWNrcyA9IHt9LCB0aGlzLnBsb3RMaW5lc0FuZEJhbmRzID0gW10sIHRoaXMuYWx0ZXJuYXRlQmFuZHMgPSB7fSwgdGhpcy5sZW4gPSAwLCB0aGlzLm1pblJhbmdlID0gdGhpcy51c2VyTWluUmFuZ2UgPSBuLm1pblJhbmdlIHx8IG4ubWF4Wm9vbSwgdGhpcy5yYW5nZSA9IG4ucmFuZ2UsIHRoaXMub2Zmc2V0ID0gbi5vZmZzZXQgfHwgMCwgdGhpcy5taW4gPSB0aGlzLm1heCA9IG51bGwsIGUgPSBPKG4uY3Jvc3NoYWlyLCBMKHQub3B0aW9ucy50b29sdGlwLmNyb3NzaGFpcnMpW2kgPyAwIDogMV0pLCB0aGlzLmNyb3NzaGFpciA9ICEwID09PSBlID8ge30gOiBlLCAtMSA9PT0gdC5heGVzLmluZGV4T2YodGhpcykgJiYgKGkgPyB0LmF4ZXMuc3BsaWNlKHQueEF4aXMubGVuZ3RoLCAwLCB0aGlzKSA6IHQuYXhlcy5wdXNoKHRoaXMpLCB0W3RoaXMuY29sbF0ucHVzaCh0aGlzKSksIHRoaXMuc2VyaWVzID0gdGhpcy5zZXJpZXMgfHwgW10sIHQuaW52ZXJ0ZWQgJiYgIXRoaXMuaXNaQXhpcyAmJiBpICYmICJ1bmRlZmluZWQiID09PSB0eXBlb2YgdGhpcy5yZXZlcnNlZCAmJiAodGhpcy5yZXZlcnNlZCA9ICEwKSwgdGhpcy5sYWJlbFJvdGF0aW9uID0gUyhvLnJvdGF0aW9uKSA/IG8ucm90YXRpb24gOiB2b2lkIDAsIGModGhpcywgbiksIF8odGhpcywgImFmdGVySW5pdCIpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0T3B0aW9ucyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gTShlLmRlZmF1bHRYQXhpc09wdGlvbnMsICJ5QXhpcyIgPT09IHRoaXMuY29sbCAmJiBlLmRlZmF1bHRZQXhpc09wdGlvbnMsIFtlLmRlZmF1bHRUb3BBeGlzT3B0aW9ucywgZS5kZWZhdWx0UmlnaHRBeGlzT3B0aW9ucywgZS5kZWZhdWx0Qm90dG9tQXhpc09wdGlvbnMsIGUuZGVmYXVsdExlZnRBeGlzT3B0aW9uc11bdGhpcy5zaWRlXSwgTShsW3RoaXMuY29sbF0sIHQpKSwgXyh0aGlzLCAiYWZ0ZXJTZXRPcHRpb25zIiwgeyB1c2VyT3B0aW9uczogdCB9KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmRlZmF1bHRMYWJlbEZvcm1hdHRlciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmF4aXM7CiAgICAgICAgICAgIHQgPSB0aGlzLmNoYXJ0Lm51bWJlckZvcm1hdHRlcjsKICAgICAgICAgICAgdmFyIGkgPSBTKHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZSA6IE5hTiwgbiA9IGUuY2hhcnQudGltZSwgbyA9IHRoaXMuZGF0ZVRpbWVMYWJlbEZvcm1hdCwgciA9IGwubGFuZywgcyA9IHIubnVtZXJpY1N5bWJvbHM7CiAgICAgICAgICAgIHIgPSByLm51bWVyaWNTeW1ib2xNYWduaXR1ZGUgfHwgMWUzOwogICAgICAgICAgICB2YXIgYSA9IGUubG9nYXJpdGhtaWMgPyBNYXRoLmFicyhpKSA6IGUudGlja0ludGVydmFsLCBoID0gcyAmJiBzLmxlbmd0aDsKICAgICAgICAgICAgaWYgKGUuY2F0ZWdvcmllcykgdmFyIGMgPSAiIiArIHRoaXMudmFsdWU7IGVsc2UgaWYgKG8pIGMgPSBuLmRhdGVGb3JtYXQobywgaSk7IGVsc2UgaWYgKGggJiYgMWUzIDw9IGEpIGZvciAoOyBoLS0gJiYgInVuZGVmaW5lZCIgPT09IHR5cGVvZiBjOykgZSA9IE1hdGgucG93KHIsIGggKyAxKSwgYSA+PSBlICYmIDAgPT09IDEwICogaSAlIGUgJiYgbnVsbCAhPT0gc1toXSAmJiAwICE9PSBpICYmIChjID0gdChpIC8gZSwgLTEpICsgc1toXSk7CiAgICAgICAgICAgIHJldHVybiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIGMgJiYgKGMgPSAxZTQgPD0gTWF0aC5hYnMoaSkgPyB0KGksIC0xKSA6IHQoaSwgLTEsIHZvaWQgMCwgIiIpKSwgYzsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFNlcmllc0V4dHJlbWVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBlID0gdGhpcywgaSA9IGUuY2hhcnQ7CiAgICAgICAgICAgIF8odGhpcywgImdldFNlcmllc0V4dHJlbWVzIiwgbnVsbCwgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGUuaGFzVmlzaWJsZVNlcmllcyA9ICExLCBlLmRhdGFNaW4gPSBlLmRhdGFNYXggPSBlLnRocmVzaG9sZCA9IG51bGwsIGUuc29mdFRocmVzaG9sZCA9ICFlLmlzWEF4aXMsIGUuc3RhY2tpbmcgJiYgZS5zdGFja2luZy5idWlsZFN0YWNrcygpLCBlLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgICBpZiAobi52aXNpYmxlIHx8ICFpLm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzKSB7CiAgICAgICAgICAgICAgICAgIHZhciBvID0gbi5vcHRpb25zLCByID0gby50aHJlc2hvbGQ7CiAgICAgICAgICAgICAgICAgIGlmIChlLmhhc1Zpc2libGVTZXJpZXMgPSAhMCwgZS5wb3NpdGl2ZVZhbHVlc09ubHkgJiYgMCA+PSByICYmIChyID0gbnVsbCksIGUuaXNYQXhpcykgewogICAgICAgICAgICAgICAgICAgIGlmIChvID0gbi54RGF0YSwgby5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgIG8gPSBlLmxvZ2FyaXRobWljID8gby5maWx0ZXIoZS52YWxpZGF0ZVBvc2l0aXZlVmFsdWUpIDogbywgdCA9IG4uZ2V0WEV4dHJlbWVzKG8pOwogICAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSB0Lm1pbiwgYSA9IHQubWF4OwogICAgICAgICAgICAgICAgICAgICAgUyhzKSB8fCBzIGluc3RhbmNlb2YgRGF0ZSB8fCAobyA9IG8uZmlsdGVyKFMpLCB0ID0gbi5nZXRYRXh0cmVtZXMobyksIHMgPSB0Lm1pbiwgYSA9IHQubWF4KSwgby5sZW5ndGggJiYgKGUuZGF0YU1pbiA9IE1hdGgubWluKE8oZS5kYXRhTWluLCBzKSwgcyksIGUuZGF0YU1heCA9IE1hdGgubWF4KE8oZS5kYXRhTWF4LCBhKSwgYSkpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBlbHNlIG4gPSBuLmFwcGx5RXh0cmVtZXMoKSwgUyhuLmRhdGFNaW4pICYmIChzID0gbi5kYXRhTWluLCBlLmRhdGFNaW4gPSBNYXRoLm1pbihPKGUuZGF0YU1pbiwgcyksIHMpKSwgUyhuLmRhdGFNYXgpICYmIChhID0gbi5kYXRhTWF4LCBlLmRhdGFNYXggPSBNYXRoLm1heChPKGUuZGF0YU1heCwgYSksIGEpKSwgbShyKSAmJiAoZS50aHJlc2hvbGQgPSByKSwgKCFvLnNvZnRUaHJlc2hvbGQgfHwgZS5wb3NpdGl2ZVZhbHVlc09ubHkpICYmIChlLnNvZnRUaHJlc2hvbGQgPSAhMSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9KSksIF8odGhpcywgImFmdGVyR2V0U2VyaWVzRXh0cmVtZXMiKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8sIHIpIHsKICAgICAgICAgICAgdmFyIHMgPSB0aGlzLmxpbmtlZFBhcmVudCB8fCB0aGlzLCBhID0gbiAmJiBzLm9sZCA/IHMub2xkLm1pbiA6IHMubWluLCBoID0gcy5taW5QaXhlbFBhZGRpbmc7CiAgICAgICAgICAgIG8gPSAocy5pc09yZGluYWwgfHwgcy5icm9rZW5BeGlzICYmIHMuYnJva2VuQXhpcy5oYXNCcmVha3MgfHwgcy5sb2dhcml0aG1pYyAmJiBvKSAmJiBzLmxpbjJ2YWw7CiAgICAgICAgICAgIHZhciBsID0gMSwgYyA9IDA7CiAgICAgICAgICAgIHJldHVybiBuID0gbiAmJiBzLm9sZCA/IHMub2xkLnRyYW5zQSA6IHMudHJhbnNBLCBuIHx8IChuID0gcy50cmFuc0EpLCBpICYmIChsICo9IC0xLCBjID0gcy5sZW4pLCBzLnJldmVyc2VkICYmIChsICo9IC0xLCBjIC09IGwgKiAocy5zZWN0b3IgfHwgcy5sZW4pKSwgZSA/ICh0ID0gKHQgKiBsICsgYyAtIGgpIC8gbiArIGEsIG8gJiYgKHQgPSBzLmxpbjJ2YWwodCkpKSA6IChvICYmICh0ID0gcy52YWwybGluKHQpKSwgdCA9IFMoYSkgPyBsICogKHQgLSBhKSAqIG4gKyBjICsgbCAqIGggKyAoUyhyKSA/IG4gKiByIDogMCkgOiB2b2lkIDApLCB0OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudG9QaXhlbHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZSh0LCAhMSwgIXRoaXMuaG9yaXosIG51bGwsICEwKSArIChlID8gMCA6IHRoaXMucG9zKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnRvVmFsdWUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZSh0IC0gKGUgPyAwIDogdGhpcy5wb3MpLCAhMCwgIXRoaXMuaG9yaXosIG51bGwsICEwKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldFBsb3RMaW5lUGF0aCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgZnVuY3Rpb24gZSh0LCBlLCBpKSB7CiAgICAgICAgICAgICAgcmV0dXJuICgicGFzcyIgIT09IHggJiYgdCA8IGUgfHwgdCA+IGkpICYmICh4ID8gdCA9IGYodCwgZSwgaSkgOiBzID0gITApLCB0OwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgaSwgbiwgbywgciwgcywgYSA9IHRoaXMsIGggPSBhLmNoYXJ0LCBsID0gYS5sZWZ0LCBjID0gYS50b3AsIHAgPSB0Lm9sZCwgZCA9IHQudmFsdWUsIHUgPSB0LmxpbmVXaWR0aCwKICAgICAgICAgICAgICBnID0gcCAmJiBoLm9sZENoYXJ0SGVpZ2h0IHx8IGguY2hhcnRIZWlnaHQsIG0gPSBwICYmIGgub2xkQ2hhcnRXaWR0aCB8fCBoLmNoYXJ0V2lkdGgsIHkgPSBhLnRyYW5zQiwgdiA9IHQudHJhbnNsYXRlZFZhbHVlLCB4ID0gdC5mb3JjZTsKICAgICAgICAgICAgcmV0dXJuIHQgPSB7CiAgICAgICAgICAgICAgdmFsdWU6IGQsCiAgICAgICAgICAgICAgbGluZVdpZHRoOiB1LAogICAgICAgICAgICAgIG9sZDogcCwKICAgICAgICAgICAgICBmb3JjZTogeCwKICAgICAgICAgICAgICBhY3Jvc3NQYW5lczogdC5hY3Jvc3NQYW5lcywKICAgICAgICAgICAgICB0cmFuc2xhdGVkVmFsdWU6IHYKICAgICAgICAgICAgfSwgXyh0aGlzLCAiZ2V0UGxvdExpbmVQYXRoIiwgdCwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICB2ID0gTyh2LCBhLnRyYW5zbGF0ZShkLCBudWxsLCBudWxsLCBwKSksIHYgPSBmKHYsIC0xZTUsIDFlNSksIGkgPSBvID0gTWF0aC5yb3VuZCh2ICsgeSksIG4gPSByID0gTWF0aC5yb3VuZChnIC0gdiAtIHkpLCBTKHYpID8gYS5ob3JpeiA/IChuID0gYywgciA9IGcgLSBhLmJvdHRvbSwgaSA9IG8gPSBlKGksIGwsIGwgKyBhLndpZHRoKSkgOiAoaSA9IGwsIG8gPSBtIC0gYS5yaWdodCwgbiA9IHIgPSBlKG4sIGMsIGMgKyBhLmhlaWdodCkpIDogKHMgPSAhMCwgeCA9ICExKSwgdC5wYXRoID0gcyAmJiAheCA/IG51bGwgOiBoLnJlbmRlcmVyLmNyaXNwTGluZShbWyJNIiwgaSwgbl0sIFsiTCIsIG8sIHJdXSwgdSB8fCAxKTsKICAgICAgICAgICAgfSkpLCB0LnBhdGg7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRMaW5lYXJUaWNrUG9zaXRpb25zID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IGcoTWF0aC5mbG9vcihlIC8gdCkgKiB0KTsKICAgICAgICAgICAgaSA9IGcoTWF0aC5jZWlsKGkgLyB0KSAqIHQpOwogICAgICAgICAgICB2YXIgbywgciA9IFtdOwogICAgICAgICAgICBpZiAoZyhuICsgdCkgPT09IG4gJiYgKG8gPSAyMCksIHRoaXMuc2luZ2xlKSByZXR1cm4gW2VdOwogICAgICAgICAgICBmb3IgKGUgPSBuOyBlIDw9IGk7KSB7CiAgICAgICAgICAgICAgaWYgKHIucHVzaChlKSwgZSA9IGcoZSArIHQsIG8pLCBlID09PSBzKSBicmVhazsKICAgICAgICAgICAgICB2YXIgcyA9IGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHI7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRNaW5vclRpY2tJbnRlcnZhbCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgcmV0dXJuICEwID09PSB0Lm1pbm9yVGlja3MgPyBPKHQubWlub3JUaWNrSW50ZXJ2YWwsICJhdXRvIikgOiAhMSA9PT0gdC5taW5vclRpY2tzID8gbnVsbCA6IHQubWlub3JUaWNrSW50ZXJ2YWw7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRNaW5vclRpY2tQb3NpdGlvbnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLm9wdGlvbnMsIGUgPSB0aGlzLnRpY2tQb3NpdGlvbnMsIGkgPSB0aGlzLm1pbm9yVGlja0ludGVydmFsLCBuID0gdGhpcy5wb2ludFJhbmdlUGFkZGluZyB8fCAwLCBvID0gdGhpcy5taW4gLSBuOwogICAgICAgICAgICBuID0gdGhpcy5tYXggKyBuOwogICAgICAgICAgICB2YXIgciA9IG4gLSBvLCBzID0gW107CiAgICAgICAgICAgIGlmIChyICYmIHIgLyBpIDwgdGhpcy5sZW4gLyAzKSB7CiAgICAgICAgICAgICAgdmFyIGEgPSB0aGlzLmxvZ2FyaXRobWljOwogICAgICAgICAgICAgIGlmIChhKSB0aGlzLnBhZGRlZFRpY2tzLmZvckVhY2goKGZ1bmN0aW9uKHQsIGUsIG4pIHsKICAgICAgICAgICAgICAgIGUgJiYgcy5wdXNoLmFwcGx5KHMsIGEuZ2V0TG9nVGlja1Bvc2l0aW9ucyhpLCBuW2UgLSAxXSwgbltlXSwgITApKTsKICAgICAgICAgICAgICB9KSk7IGVsc2UgaWYgKHRoaXMuZGF0ZVRpbWUgJiYgImF1dG8iID09PSB0aGlzLmdldE1pbm9yVGlja0ludGVydmFsKCkpIHMgPSBzLmNvbmNhdCh0aGlzLmdldFRpbWVUaWNrcyh0aGlzLmRhdGVUaW1lLm5vcm1hbGl6ZVRpbWVUaWNrSW50ZXJ2YWwoaSksIG8sIG4sIHQuc3RhcnRPZldlZWspKTsgZWxzZSBmb3IgKHQgPSBvICsgKGVbMF0gLSBvKSAlIGk7IHQgPD0gbiAmJiB0ICE9PSBzWzBdOyB0ICs9IGkpIHMucHVzaCh0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gMCAhPT0gcy5sZW5ndGggJiYgdGhpcy50cmltVGlja3MocyksIHM7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGp1c3RGb3JNaW5SYW5nZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgZSwgaSwgbiwgbyA9IHRoaXMub3B0aW9ucywgciA9IHRoaXMubG9nYXJpdGhtaWMsIHMgPSB0aGlzLm1pbiwgYSA9IHRoaXMubWF4LCBoID0gMDsKICAgICAgICAgICAgaWYgKHRoaXMuaXNYQXhpcyAmJiAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHRoaXMubWluUmFuZ2UgJiYgIXIgJiYgKG0oby5taW4pIHx8IG0oby5tYXgpIHx8IG0oby5mbG9vcikgfHwgbShvLmNlaWxpbmcpID8gdGhpcy5taW5SYW5nZSA9IG51bGwgOiAodGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24obykgewogICAgICAgICAgICAgIGlmIChpID0gby54RGF0YSwgbiA9IG8ueEluY3JlbWVudCA/IDEgOiBpLmxlbmd0aCAtIDEsIDEgPCBpLmxlbmd0aCkgZm9yICh0ID0gbjsgMCA8IHQ7IHQtLSkgZSA9IGlbdF0gLSBpW3QgLSAxXSwgKCFoIHx8IGUgPCBoKSAmJiAoaCA9IGUpOwogICAgICAgICAgICB9KSksIHRoaXMubWluUmFuZ2UgPSBNYXRoLm1pbig1ICogaCwgdGhpcy5kYXRhTWF4IC0gdGhpcy5kYXRhTWluKSkpLCBhIC0gcyA8IHRoaXMubWluUmFuZ2UpIHsKICAgICAgICAgICAgICB2YXIgbCA9IHRoaXMuZGF0YU1heCAtIHRoaXMuZGF0YU1pbiA+PSB0aGlzLm1pblJhbmdlLCBjID0gdGhpcy5taW5SYW5nZSwgcCA9IChjIC0gYSArIHMpIC8gMjsKICAgICAgICAgICAgICBwID0gW3MgLSBwLCBPKG8ubWluLCBzIC0gcCldLCBsICYmIChwWzJdID0gdGhpcy5sb2dhcml0aG1pYyA/IHRoaXMubG9nYXJpdGhtaWMubG9nMmxpbih0aGlzLmRhdGFNaW4pIDogdGhpcy5kYXRhTWluKSwgcyA9IGQocCksIGEgPSBbcyArIGMsIE8oby5tYXgsIHMgKyBjKV0sIGwgJiYgKGFbMl0gPSByID8gci5sb2cybGluKHRoaXMuZGF0YU1heCkgOiB0aGlzLmRhdGFNYXgpLCBhID0gdShhKSwgYSAtIHMgPCBjICYmIChwWzBdID0gYSAtIGMsIHBbMV0gPSBPKG8ubWluLCBhIC0gYyksIHMgPSBkKHApKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLm1pbiA9IHMsIHRoaXMubWF4ID0gYTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldENsb3Nlc3QgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQ7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmNhdGVnb3JpZXMgPyB0ID0gMSA6IHRoaXMuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICB2YXIgaSA9IGUuY2xvc2VzdFBvaW50UmFuZ2UsIG4gPSBlLnZpc2libGUgfHwgIWUuY2hhcnQub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXM7CiAgICAgICAgICAgICAgIWUubm9TaGFyZWRUb29sdGlwICYmIG0oaSkgJiYgbiAmJiAodCA9IG0odCkgPyBNYXRoLm1pbih0LCBpKSA6IGkpOwogICAgICAgICAgICB9KSksIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5uYW1lVG9YID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IGsodGhpcy5jYXRlZ29yaWVzKSwgaSA9IGUgPyB0aGlzLmNhdGVnb3JpZXMgOiB0aGlzLm5hbWVzLCBuID0gdC5vcHRpb25zLng7CiAgICAgICAgICAgIGlmICh0LnNlcmllcy5yZXF1aXJlU29ydGluZyA9ICExLCBtKG4pIHx8IChuID0gdGhpcy5vcHRpb25zLnVuaXF1ZU5hbWVzID8gZSA/IGkuaW5kZXhPZih0Lm5hbWUpIDogTyhpLmtleXNbdC5uYW1lXSwgLTEpIDogdC5zZXJpZXMuYXV0b0luY3JlbWVudCgpKSwgLTEgPT09IG4pIHsKICAgICAgICAgICAgICBpZiAoIWUpIHZhciBvID0gaS5sZW5ndGg7CiAgICAgICAgICAgIH0gZWxzZSBvID0gbjsKICAgICAgICAgICAgcmV0dXJuICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgbyAmJiAodGhpcy5uYW1lc1tvXSA9IHQubmFtZSwgdGhpcy5uYW1lcy5rZXlzW3QubmFtZV0gPSBvKSwgbzsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnVwZGF0ZU5hbWVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcywgZSA9IHRoaXMubmFtZXM7CiAgICAgICAgICAgIDAgPCBlLmxlbmd0aCAmJiAoT2JqZWN0LmtleXMoZS5rZXlzKS5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgZGVsZXRlIGUua2V5c1t0XTsKICAgICAgICAgICAgfSkpLCBlLmxlbmd0aCA9IDAsIHRoaXMubWluUmFuZ2UgPSB0aGlzLnVzZXJNaW5SYW5nZSwgKHRoaXMuc2VyaWVzIHx8IFtdKS5mb3JFYWNoKChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgZS54SW5jcmVtZW50ID0gbnVsbCwgZS5wb2ludHMgJiYgIWUuaXNEaXJ0eURhdGEgfHwgKHQubWF4ID0gTWF0aC5tYXgodC5tYXgsIGUueERhdGEubGVuZ3RoIC0gMSksIGUucHJvY2Vzc0RhdGEoKSwgZS5nZW5lcmF0ZVBvaW50cygpKSwgZS5kYXRhLmZvckVhY2goKGZ1bmN0aW9uKGksIG4pIHsKICAgICAgICAgICAgICAgIGlmIChpICYmIGkub3B0aW9ucyAmJiAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIGkubmFtZSkgewogICAgICAgICAgICAgICAgICB2YXIgbyA9IHQubmFtZVRvWChpKTsKICAgICAgICAgICAgICAgICAgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBvICYmIG8gIT09IGkueCAmJiAoaS54ID0gbywgZS54RGF0YVtuXSA9IG8pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSkpKTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldEF4aXNUcmFuc2xhdGlvbiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMsIGUgPSB0Lm1heCAtIHQubWluLCBpID0gdC5saW5rZWRQYXJlbnQsIG4gPSAhIXQuY2F0ZWdvcmllcywgbyA9IHQuaXNYQXhpcywgciA9IHQuYXhpc1BvaW50UmFuZ2UgfHwgMCwgcyA9IDAsIGEgPSAwLCBoID0gdC50cmFuc0E7CiAgICAgICAgICAgIGlmIChvIHx8IG4gfHwgcikgewogICAgICAgICAgICAgIHZhciBsID0gdC5nZXRDbG9zZXN0KCk7CiAgICAgICAgICAgICAgaSA/IChzID0gaS5taW5Qb2ludE9mZnNldCwgYSA9IGkucG9pbnRSYW5nZVBhZGRpbmcpIDogdC5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBuID8gMSA6IG8gPyBPKGUub3B0aW9ucy5wb2ludFJhbmdlLCBsLCAwKSA6IHQuYXhpc1BvaW50UmFuZ2UgfHwgMCwgaCA9IGUub3B0aW9ucy5wb2ludFBsYWNlbWVudDsKICAgICAgICAgICAgICAgIHIgPSBNYXRoLm1heChyLCBpKSwgdC5zaW5nbGUgJiYgIW4gfHwgKGUgPSBlLmlzKCJ4cmFuZ2UiKSA/ICFvIDogbywgcyA9IE1hdGgubWF4KHMsIGUgJiYgQyhoKSA/IDAgOiBpIC8gMiksIGEgPSBNYXRoLm1heChhLCBlICYmICJvbiIgPT09IGggPyAwIDogaSkpOwogICAgICAgICAgICAgIH0pKSwgaSA9IHQub3JkaW5hbCAmJiB0Lm9yZGluYWwuc2xvcGUgJiYgbCA/IHQub3JkaW5hbC5zbG9wZSAvIGwgOiAxLCB0Lm1pblBvaW50T2Zmc2V0ID0gcyAqPSBpLCB0LnBvaW50UmFuZ2VQYWRkaW5nID0gYSAqPSBpLCB0LnBvaW50UmFuZ2UgPSBNYXRoLm1pbihyLCB0LnNpbmdsZSAmJiBuID8gMSA6IGUpLCBvICYmICh0LmNsb3Nlc3RQb2ludFJhbmdlID0gbCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdC50cmFuc2xhdGlvblNsb3BlID0gdC50cmFuc0EgPSBoID0gdC5zdGF0aWNTY2FsZSB8fCB0LmxlbiAvIChlICsgYSB8fCAxKSwgdC50cmFuc0IgPSB0Lmhvcml6ID8gdC5sZWZ0IDogdC5ib3R0b20sIHQubWluUGl4ZWxQYWRkaW5nID0gaCAqIHMsIF8odGhpcywgImFmdGVyU2V0QXhpc1RyYW5zbGF0aW9uIik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5taW5Gcm9tUmFuZ2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubWF4IC0gdGhpcy5yYW5nZTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnNldFRpY2tJbnRlcnZhbCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNoYXJ0LCBpID0gdGhpcy5sb2dhcml0aG1pYywgbiA9IHRoaXMub3B0aW9ucywgbyA9IHRoaXMuaXNYQXhpcywgciA9IHRoaXMuaXNMaW5rZWQsIHMgPSBuLnRpY2tQaXhlbEludGVydmFsLCBhID0gdGhpcy5jYXRlZ29yaWVzLAogICAgICAgICAgICAgIGggPSB0aGlzLnNvZnRUaHJlc2hvbGQsIGwgPSBuLm1heFBhZGRpbmcsIGMgPSBuLm1pblBhZGRpbmcsIHAgPSBTKG4udGlja0ludGVydmFsKSAmJiAwIDw9IG4udGlja0ludGVydmFsID8gbi50aWNrSW50ZXJ2YWwgOiB2b2lkIDAsCiAgICAgICAgICAgICAgZCA9IFModGhpcy50aHJlc2hvbGQpID8gdGhpcy50aHJlc2hvbGQgOiBudWxsOwogICAgICAgICAgICB0aGlzLmRhdGVUaW1lIHx8IGEgfHwgciB8fCB0aGlzLmdldFRpY2tBbW91bnQoKTsKICAgICAgICAgICAgdmFyIHUgPSBPKHRoaXMudXNlck1pbiwgbi5taW4pLCBmID0gTyh0aGlzLnVzZXJNYXgsIG4ubWF4KTsKICAgICAgICAgICAgaWYgKHIpIHsKICAgICAgICAgICAgICB0aGlzLmxpbmtlZFBhcmVudCA9IGVbdGhpcy5jb2xsXVtuLmxpbmtlZFRvXTsKICAgICAgICAgICAgICB2YXIgeSA9IHRoaXMubGlua2VkUGFyZW50LmdldEV4dHJlbWVzKCk7CiAgICAgICAgICAgICAgdGhpcy5taW4gPSBPKHkubWluLCB5LmRhdGFNaW4pLCB0aGlzLm1heCA9IE8oeS5tYXgsIHkuZGF0YU1heCksIG4udHlwZSAhPT0gdGhpcy5saW5rZWRQYXJlbnQub3B0aW9ucy50eXBlICYmIHgoMTEsIDEsIGUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGlmIChoICYmIG0oZCkpIGlmICh0aGlzLmRhdGFNaW4gPj0gZCkgeSA9IGQsIGMgPSAwOyBlbHNlIGlmICh0aGlzLmRhdGFNYXggPD0gZCkgewogICAgICAgICAgICAgICAgdmFyIHYgPSBkOwogICAgICAgICAgICAgICAgbCA9IDA7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRoaXMubWluID0gTyh1LCB5LCB0aGlzLmRhdGFNaW4pLCB0aGlzLm1heCA9IE8oZiwgdiwgdGhpcy5kYXRhTWF4KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoaSAmJiAodGhpcy5wb3NpdGl2ZVZhbHVlc09ubHkgJiYgIXQgJiYgMCA+PSBNYXRoLm1pbih0aGlzLm1pbiwgTyh0aGlzLmRhdGFNaW4sIHRoaXMubWluKSkgJiYgeCgxMCwgMSwgZSksIHRoaXMubWluID0gZyhpLmxvZzJsaW4odGhpcy5taW4pLCAxNiksIHRoaXMubWF4ID0gZyhpLmxvZzJsaW4odGhpcy5tYXgpLCAxNikpLCB0aGlzLnJhbmdlICYmIG0odGhpcy5tYXgpICYmICh0aGlzLnVzZXJNaW4gPSB0aGlzLm1pbiA9IHUgPSBNYXRoLm1heCh0aGlzLmRhdGFNaW4sIHRoaXMubWluRnJvbVJhbmdlKCkpLCB0aGlzLnVzZXJNYXggPSBmID0gdGhpcy5tYXgsIHRoaXMucmFuZ2UgPSBudWxsKSwgXyh0aGlzLCAiZm91bmRFeHRyZW1lcyIpLCB0aGlzLmJlZm9yZVBhZGRpbmcgJiYgdGhpcy5iZWZvcmVQYWRkaW5nKCksIHRoaXMuYWRqdXN0Rm9yTWluUmFuZ2UoKSwgIShhIHx8IHRoaXMuYXhpc1BvaW50UmFuZ2UgfHwgdGhpcy5zdGFja2luZyAmJiB0aGlzLnN0YWNraW5nLnVzZVBlcmNlbnRhZ2UgfHwgcikgJiYgbSh0aGlzLm1pbikgJiYgbSh0aGlzLm1heCkgJiYgKGUgPSB0aGlzLm1heCAtIHRoaXMubWluKSAmJiAoIW0odSkgJiYgYyAmJiAodGhpcy5taW4gLT0gZSAqIGMpLCAhbShmKSAmJiBsICYmICh0aGlzLm1heCArPSBlICogbCkpLCBTKHRoaXMudXNlck1pbikgfHwgKFMobi5zb2Z0TWluKSAmJiBuLnNvZnRNaW4gPCB0aGlzLm1pbiAmJiAodGhpcy5taW4gPSB1ID0gbi5zb2Z0TWluKSwgUyhuLmZsb29yKSAmJiAodGhpcy5taW4gPSBNYXRoLm1heCh0aGlzLm1pbiwgbi5mbG9vcikpKSwgUyh0aGlzLnVzZXJNYXgpIHx8IChTKG4uc29mdE1heCkgJiYgbi5zb2Z0TWF4ID4gdGhpcy5tYXggJiYgKHRoaXMubWF4ID0gZiA9IG4uc29mdE1heCksIFMobi5jZWlsaW5nKSAmJiAodGhpcy5tYXggPSBNYXRoLm1pbih0aGlzLm1heCwgbi5jZWlsaW5nKSkpLCBoICYmIG0odGhpcy5kYXRhTWluKSAmJiAoZCA9IGQgfHwgMCwgIW0odSkgJiYgdGhpcy5taW4gPCBkICYmIHRoaXMuZGF0YU1pbiA+PSBkID8gdGhpcy5taW4gPSB0aGlzLm9wdGlvbnMubWluUmFuZ2UgPyBNYXRoLm1pbihkLCB0aGlzLm1heCAtIHRoaXMubWluUmFuZ2UpIDogZCA6ICFtKGYpICYmIHRoaXMubWF4ID4gZCAmJiB0aGlzLmRhdGFNYXggPD0gZCAmJiAodGhpcy5tYXggPSB0aGlzLm9wdGlvbnMubWluUmFuZ2UgPyBNYXRoLm1heChkLCB0aGlzLm1pbiArIHRoaXMubWluUmFuZ2UpIDogZCkpLCBTKHRoaXMubWluKSAmJiBTKHRoaXMubWF4KSAmJiAhdGhpcy5jaGFydC5wb2xhciAmJiB0aGlzLm1pbiA+IHRoaXMubWF4ICYmIChtKHRoaXMub3B0aW9ucy5taW4pID8gdGhpcy5tYXggPSB0aGlzLm1pbiA6IG0odGhpcy5vcHRpb25zLm1heCkgJiYgKHRoaXMubWluID0gdGhpcy5tYXgpKSwgdGhpcy50aWNrSW50ZXJ2YWwgPSB0aGlzLm1pbiA9PT0gdGhpcy5tYXggfHwgInVuZGVmaW5lZCIgPT09IHR5cGVvZiB0aGlzLm1pbiB8fCAidW5kZWZpbmVkIiA9PT0gdHlwZW9mIHRoaXMubWF4ID8gMSA6IHIgJiYgdGhpcy5saW5rZWRQYXJlbnQgJiYgIXAgJiYgcyA9PT0gdGhpcy5saW5rZWRQYXJlbnQub3B0aW9ucy50aWNrUGl4ZWxJbnRlcnZhbCA/IHAgPSB0aGlzLmxpbmtlZFBhcmVudC50aWNrSW50ZXJ2YWwgOiBPKHAsIHRoaXMudGlja0Ftb3VudCA/ICh0aGlzLm1heCAtIHRoaXMubWluKSAvIE1hdGgubWF4KHRoaXMudGlja0Ftb3VudCAtIDEsIDEpIDogdm9pZCAwLCBhID8gMSA6ICh0aGlzLm1heCAtIHRoaXMubWluKSAqIHMgLyBNYXRoLm1heCh0aGlzLmxlbiwgcykpLCBvICYmICF0KSB7CiAgICAgICAgICAgICAgdmFyIGIgPSB0aGlzLm1pbiAhPT0gKHRoaXMub2xkICYmIHRoaXMub2xkLm1pbikgfHwgdGhpcy5tYXggIT09ICh0aGlzLm9sZCAmJiB0aGlzLm9sZC5tYXgpOwogICAgICAgICAgICAgIHRoaXMuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQuZm9yY2VDcm9wID0gdC5mb3JjZUNyb3BwaW5nICYmIHQuZm9yY2VDcm9wcGluZygpLCB0LnByb2Nlc3NEYXRhKGIpOwogICAgICAgICAgICAgIH0pKSwgXyh0aGlzLCAicG9zdFByb2Nlc3NEYXRhIiwgeyBoYXNFeHRlbWVzQ2hhbmdlZDogYiB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLnNldEF4aXNUcmFuc2xhdGlvbigpLCBfKHRoaXMsICJpbml0aWFsQXhpc1RyYW5zbGF0aW9uIiksIHRoaXMucG9pbnRSYW5nZSAmJiAhcCAmJiAodGhpcy50aWNrSW50ZXJ2YWwgPSBNYXRoLm1heCh0aGlzLnBvaW50UmFuZ2UsIHRoaXMudGlja0ludGVydmFsKSksIHQgPSBPKG4ubWluVGlja0ludGVydmFsLCB0aGlzLmRhdGVUaW1lICYmICF0aGlzLnNlcmllcy5zb21lKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHQubm9TaGFyZWRUb29sdGlwOwogICAgICAgICAgICB9KSkgPyB0aGlzLmNsb3Nlc3RQb2ludFJhbmdlIDogMCksICFwICYmIHRoaXMudGlja0ludGVydmFsIDwgdCAmJiAodGhpcy50aWNrSW50ZXJ2YWwgPSB0KSwgdGhpcy5kYXRlVGltZSB8fCB0aGlzLmxvZ2FyaXRobWljIHx8IHAgfHwgKHRoaXMudGlja0ludGVydmFsID0gQSh0aGlzLnRpY2tJbnRlcnZhbCwgdm9pZCAwLCB3KHRoaXMudGlja0ludGVydmFsKSwgTyhuLmFsbG93RGVjaW1hbHMsIC41ID4gdGhpcy50aWNrSW50ZXJ2YWwgfHwgdm9pZCAwICE9PSB0aGlzLnRpY2tBbW91bnQpLCAhIXRoaXMudGlja0Ftb3VudCkpLCB0aGlzLnRpY2tBbW91bnQgfHwgKHRoaXMudGlja0ludGVydmFsID0gdGhpcy51bnNxdWlzaCgpKSwgdGhpcy5zZXRUaWNrUG9zaXRpb25zKCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRUaWNrUG9zaXRpb25zID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLCBlID0gdC50aWNrUG9zaXRpb25zLCBpID0gdGhpcy5nZXRNaW5vclRpY2tJbnRlcnZhbCgpLCBuID0gdGhpcy5oYXNWZXJ0aWNhbFBhbm5pbmcoKSwgbyA9ICJjb2xvckF4aXMiID09PSB0aGlzLmNvbGwsCiAgICAgICAgICAgICAgciA9IChvIHx8ICFuKSAmJiB0LnN0YXJ0T25UaWNrOwogICAgICAgICAgICBuID0gKG8gfHwgIW4pICYmIHQuZW5kT25UaWNrLCBvID0gdC50aWNrUG9zaXRpb25lciwgdGhpcy50aWNrbWFya09mZnNldCA9IHRoaXMuY2F0ZWdvcmllcyAmJiAiYmV0d2VlbiIgPT09IHQudGlja21hcmtQbGFjZW1lbnQgJiYgMSA9PT0gdGhpcy50aWNrSW50ZXJ2YWwgPyAuNSA6IDAsIHRoaXMubWlub3JUaWNrSW50ZXJ2YWwgPSAiYXV0byIgPT09IGkgJiYgdGhpcy50aWNrSW50ZXJ2YWwgPyB0aGlzLnRpY2tJbnRlcnZhbCAvIDUgOiBpLCB0aGlzLnNpbmdsZSA9IHRoaXMubWluID09PSB0aGlzLm1heCAmJiBtKHRoaXMubWluKSAmJiAhdGhpcy50aWNrQW1vdW50ICYmIChwYXJzZUludCh0aGlzLm1pbiwgMTApID09PSB0aGlzLm1pbiB8fCAhMSAhPT0gdC5hbGxvd0RlY2ltYWxzKSwgdGhpcy50aWNrUG9zaXRpb25zID0gaSA9IGUgJiYgZS5zbGljZSgpLCAhaSAmJiAodGhpcy5vcmRpbmFsICYmIHRoaXMub3JkaW5hbC5wb3NpdGlvbnMgfHwgISgodGhpcy5tYXggLSB0aGlzLm1pbikgLyB0aGlzLnRpY2tJbnRlcnZhbCA+IE1hdGgubWF4KDIgKiB0aGlzLmxlbiwgMjAwKSkgPyBpID0gdGhpcy5kYXRlVGltZSA/IHRoaXMuZ2V0VGltZVRpY2tzKHRoaXMuZGF0ZVRpbWUubm9ybWFsaXplVGltZVRpY2tJbnRlcnZhbCh0aGlzLnRpY2tJbnRlcnZhbCwgdC51bml0cyksIHRoaXMubWluLCB0aGlzLm1heCwgdC5zdGFydE9mV2VlaywgdGhpcy5vcmRpbmFsICYmIHRoaXMub3JkaW5hbC5wb3NpdGlvbnMsIHRoaXMuY2xvc2VzdFBvaW50UmFuZ2UsICEwKSA6IHRoaXMubG9nYXJpdGhtaWMgPyB0aGlzLmxvZ2FyaXRobWljLmdldExvZ1RpY2tQb3NpdGlvbnModGhpcy50aWNrSW50ZXJ2YWwsIHRoaXMubWluLCB0aGlzLm1heCkgOiB0aGlzLmdldExpbmVhclRpY2tQb3NpdGlvbnModGhpcy50aWNrSW50ZXJ2YWwsIHRoaXMubWluLCB0aGlzLm1heCkgOiAoaSA9IFt0aGlzLm1pbiwgdGhpcy5tYXhdLCB4KDE5LCAhMSwgdGhpcy5jaGFydCkpLCBpLmxlbmd0aCA+IHRoaXMubGVuICYmIChpID0gW2lbMF0sIGkucG9wKCldLCBpWzBdID09PSBpWzFdICYmIChpLmxlbmd0aCA9IDEpKSwgdGhpcy50aWNrUG9zaXRpb25zID0gaSwgbyAmJiAobyA9IG8uYXBwbHkodGhpcywgW3RoaXMubWluLCB0aGlzLm1heF0pKSkgJiYgKHRoaXMudGlja1Bvc2l0aW9ucyA9IGkgPSBvKSwgdGhpcy5wYWRkZWRUaWNrcyA9IGkuc2xpY2UoMCksIHRoaXMudHJpbVRpY2tzKGksIHIsIG4pLCB0aGlzLmlzTGlua2VkIHx8ICh0aGlzLnNpbmdsZSAmJiAyID4gaS5sZW5ndGggJiYgIXRoaXMuY2F0ZWdvcmllcyAmJiAhdGhpcy5zZXJpZXMuc29tZSgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiB0LmlzKCJoZWF0bWFwIikgJiYgImJldHdlZW4iID09PSB0Lm9wdGlvbnMucG9pbnRQbGFjZW1lbnQ7CiAgICAgICAgICAgIH0pKSAmJiAodGhpcy5taW4gLT0gLjUsIHRoaXMubWF4ICs9IC41KSwgZSB8fCBvIHx8IHRoaXMuYWRqdXN0VGlja0Ftb3VudCgpKSwgXyh0aGlzLCAiYWZ0ZXJTZXRUaWNrUG9zaXRpb25zIik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS50cmltVGlja3MgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBuID0gdFswXSwgbyA9IHRbdC5sZW5ndGggLSAxXSwgciA9ICF0aGlzLmlzT3JkaW5hbCAmJiB0aGlzLm1pblBvaW50T2Zmc2V0IHx8IDA7CiAgICAgICAgICAgIGlmIChfKHRoaXMsICJ0cmltVGlja3MiKSwgIXRoaXMuaXNMaW5rZWQpIHsKICAgICAgICAgICAgICBpZiAoZSAmJiAtMSAvIDAgIT09IG4pIHRoaXMubWluID0gbjsgZWxzZSBmb3IgKDsgdGhpcy5taW4gLSByID4gdFswXTspIHQuc2hpZnQoKTsKICAgICAgICAgICAgICBpZiAoaSkgdGhpcy5tYXggPSBvOyBlbHNlIGZvciAoOyB0aGlzLm1heCArIHIgPCB0W3QubGVuZ3RoIC0gMV07KSB0LnBvcCgpOwogICAgICAgICAgICAgIDAgPT09IHQubGVuZ3RoICYmIG0obikgJiYgIXRoaXMub3B0aW9ucy50aWNrUG9zaXRpb25zICYmIHQucHVzaCgobyArIG4pIC8gMik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIHQucHJvdG90eXBlLmFsaWduVG9PdGhlcnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUgPSB7fSwgaSA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgcmV0dXJuICExICE9PSB0aGlzLmNoYXJ0Lm9wdGlvbnMuY2hhcnQuYWxpZ25UaWNrcyAmJiBpLmFsaWduVGlja3MgJiYgITEgIT09IGkuc3RhcnRPblRpY2sgJiYgITEgIT09IGkuZW5kT25UaWNrICYmICF0aGlzLmxvZ2FyaXRobWljICYmIHRoaXMuY2hhcnRbdGhpcy5jb2xsXS5mb3JFYWNoKChmdW5jdGlvbihpKSB7CiAgICAgICAgICAgICAgdmFyIG4gPSBpLm9wdGlvbnM7CiAgICAgICAgICAgICAgbiA9IFtpLmhvcml6ID8gbi5sZWZ0IDogbi50b3AsIG4ud2lkdGgsIG4uaGVpZ2h0LCBuLnBhbmVdLmpvaW4oKSwgaS5zZXJpZXMubGVuZ3RoICYmIChlW25dID8gdCA9ICEwIDogZVtuXSA9IDEpOwogICAgICAgICAgICB9KSksIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRUaWNrQW1vdW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb25zLCBlID0gdC50aWNrUGl4ZWxJbnRlcnZhbCwgaSA9IHQudGlja0Ftb3VudDsKICAgICAgICAgICAgIW0odC50aWNrSW50ZXJ2YWwpICYmICFpICYmIHRoaXMubGVuIDwgZSAmJiAhdGhpcy5pc1JhZGlhbCAmJiAhdGhpcy5sb2dhcml0aG1pYyAmJiB0LnN0YXJ0T25UaWNrICYmIHQuZW5kT25UaWNrICYmIChpID0gMiksICFpICYmIHRoaXMuYWxpZ25Ub090aGVycygpICYmIChpID0gTWF0aC5jZWlsKHRoaXMubGVuIC8gZSkgKyAxKSwgNCA+IGkgJiYgKHRoaXMuZmluYWxUaWNrQW10ID0gaSwgaSA9IDUpLCB0aGlzLnRpY2tBbW91bnQgPSBpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYWRqdXN0VGlja0Ftb3VudCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMub3B0aW9ucywgZSA9IHRoaXMudGlja0ludGVydmFsLCBpID0gdGhpcy50aWNrUG9zaXRpb25zLCBuID0gdGhpcy50aWNrQW1vdW50LCBvID0gdGhpcy5maW5hbFRpY2tBbXQsIHIgPSBpICYmIGkubGVuZ3RoLAogICAgICAgICAgICAgIHMgPSBPKHRoaXMudGhyZXNob2xkLCB0aGlzLnNvZnRUaHJlc2hvbGQgPyAwIDogbnVsbCk7CiAgICAgICAgICAgIGlmICh0aGlzLmhhc0RhdGEoKSAmJiBTKHRoaXMubWluKSAmJiBTKHRoaXMubWF4KSkgewogICAgICAgICAgICAgIGlmIChyIDwgbikgewogICAgICAgICAgICAgICAgZm9yICg7IGkubGVuZ3RoIDwgbjspIGkubGVuZ3RoICUgMiB8fCB0aGlzLm1pbiA9PT0gcyA/IGkucHVzaChnKGlbaS5sZW5ndGggLSAxXSArIGUpKSA6IGkudW5zaGlmdChnKGlbMF0gLSBlKSk7CiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zQSAqPSAociAtIDEpIC8gKG4gLSAxKSwgdGhpcy5taW4gPSB0LnN0YXJ0T25UaWNrID8gaVswXSA6IE1hdGgubWluKHRoaXMubWluLCBpWzBdKSwgdGhpcy5tYXggPSB0LmVuZE9uVGljayA/IGlbaS5sZW5ndGggLSAxXSA6IE1hdGgubWF4KHRoaXMubWF4LCBpW2kubGVuZ3RoIC0gMV0pOwogICAgICAgICAgICAgIH0gZWxzZSByID4gbiAmJiAodGhpcy50aWNrSW50ZXJ2YWwgKj0gMiwgdGhpcy5zZXRUaWNrUG9zaXRpb25zKCkpOwogICAgICAgICAgICAgIGlmIChtKG8pKSB7CiAgICAgICAgICAgICAgICBmb3IgKGUgPSB0ID0gaS5sZW5ndGg7IGUtLTspICgzID09PSBvICYmIDEgPT09IGUgJSAyIHx8IDIgPj0gbyAmJiAwIDwgZSAmJiBlIDwgdCAtIDEpICYmIGkuc3BsaWNlKGUsIDEpOwogICAgICAgICAgICAgICAgdGhpcy5maW5hbFRpY2tBbXQgPSB2b2lkIDA7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRTY2FsZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9ICExLCBlID0gITE7CiAgICAgICAgICAgIHRoaXMuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICB0ID0gdCB8fCBpLmlzRGlydHlEYXRhIHx8IGkuaXNEaXJ0eSwgZSA9IGUgfHwgaS54QXhpcyAmJiBpLnhBeGlzLmlzRGlydHkgfHwgITE7CiAgICAgICAgICAgIH0pKSwgdGhpcy5zZXRBeGlzU2l6ZSgpOwogICAgICAgICAgICB2YXIgaSA9IHRoaXMubGVuICE9PSAodGhpcy5vbGQgJiYgdGhpcy5vbGQubGVuKTsKICAgICAgICAgICAgaSB8fCB0IHx8IGUgfHwgdGhpcy5pc0xpbmtlZCB8fCB0aGlzLmZvcmNlUmVkcmF3IHx8IHRoaXMudXNlck1pbiAhPT0gKHRoaXMub2xkICYmIHRoaXMub2xkLnVzZXJNaW4pIHx8IHRoaXMudXNlck1heCAhPT0gKHRoaXMub2xkICYmIHRoaXMub2xkLnVzZXJNYXgpIHx8IHRoaXMuYWxpZ25Ub090aGVycygpID8gKHRoaXMuc3RhY2tpbmcgJiYgdGhpcy5zdGFja2luZy5yZXNldFN0YWNrcygpLCB0aGlzLmZvcmNlUmVkcmF3ID0gITEsIHRoaXMuZ2V0U2VyaWVzRXh0cmVtZXMoKSwgdGhpcy5zZXRUaWNrSW50ZXJ2YWwoKSwgdGhpcy5pc0RpcnR5IHx8ICh0aGlzLmlzRGlydHkgPSBpIHx8IHRoaXMubWluICE9PSAodGhpcy5vbGQgJiYgdGhpcy5vbGQubWluKSB8fCB0aGlzLm1heCAhPT0gKHRoaXMub2xkICYmIHRoaXMub2xkLm1heCkpKSA6IHRoaXMuc3RhY2tpbmcgJiYgdGhpcy5zdGFja2luZy5jbGVhblN0YWNrcygpLCB0ICYmIHRoaXMucGFubmluZ1N0YXRlICYmICh0aGlzLnBhbm5pbmdTdGF0ZS5pc0RpcnR5ID0gITApLCBfKHRoaXMsICJhZnRlclNldFNjYWxlIik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5zZXRFeHRyZW1lcyA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIG8pIHsKICAgICAgICAgICAgdmFyIHIgPSB0aGlzLCBzID0gci5jaGFydDsKICAgICAgICAgICAgaSA9IE8oaSwgITApLCByLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgZGVsZXRlIHQua2RUcmVlOwogICAgICAgICAgICB9KSksIG8gPSBiKG8sIHsgbWluOiB0LCBtYXg6IGUgfSksIF8ociwgInNldEV4dHJlbWVzIiwgbywgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHIudXNlck1pbiA9IHQsIHIudXNlck1heCA9IGUsIHIuZXZlbnRBcmdzID0gbywgaSAmJiBzLnJlZHJhdyhuKTsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuem9vbSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLCBuID0gdGhpcy5kYXRhTWluLCBvID0gdGhpcy5kYXRhTWF4LCByID0gdGhpcy5vcHRpb25zLCBzID0gTWF0aC5taW4obiwgTyhyLm1pbiwgbikpLCBhID0gTWF0aC5tYXgobywgTyhyLm1heCwgbykpOwogICAgICAgICAgICByZXR1cm4gdCA9IHsgbmV3TWluOiB0LCBuZXdNYXg6IGUgfSwgXyh0aGlzLCAiem9vbSIsIHQsIChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSB0Lm5ld01pbiwgciA9IHQubmV3TWF4OwogICAgICAgICAgICAgIGUgPT09IGkubWluICYmIHIgPT09IGkubWF4IHx8IChpLmFsbG93Wm9vbU91dHNpZGUgfHwgKG0obikgJiYgKGUgPCBzICYmIChlID0gcyksIGUgPiBhICYmIChlID0gYSkpLCBtKG8pICYmIChyIDwgcyAmJiAociA9IHMpLCByID4gYSAmJiAociA9IGEpKSksIGkuZGlzcGxheUJ0biA9ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgZSB8fCAidW5kZWZpbmVkIiAhPT0gdHlwZW9mIHIsIGkuc2V0RXh0cmVtZXMoZSwgciwgITEsIHZvaWQgMCwgeyB0cmlnZ2VyOiAiem9vbSIgfSkpLCB0Lnpvb21lZCA9ICEwOwogICAgICAgICAgICB9KSksIHQuem9vbWVkOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuc2V0QXhpc1NpemUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmNoYXJ0LCBlID0gdGhpcy5vcHRpb25zLCBpID0gZS5vZmZzZXRzIHx8IFswLCAwLCAwLCAwXSwgbiA9IHRoaXMuaG9yaXosCiAgICAgICAgICAgICAgbyA9IHRoaXMud2lkdGggPSBNYXRoLnJvdW5kKFQoTyhlLndpZHRoLCB0LnBsb3RXaWR0aCAtIGlbM10gKyBpWzFdKSwgdC5wbG90V2lkdGgpKSwKICAgICAgICAgICAgICByID0gdGhpcy5oZWlnaHQgPSBNYXRoLnJvdW5kKFQoTyhlLmhlaWdodCwgdC5wbG90SGVpZ2h0IC0gaVswXSArIGlbMl0pLCB0LnBsb3RIZWlnaHQpKSwKICAgICAgICAgICAgICBzID0gdGhpcy50b3AgPSBNYXRoLnJvdW5kKFQoTyhlLnRvcCwgdC5wbG90VG9wICsgaVswXSksIHQucGxvdEhlaWdodCwgdC5wbG90VG9wKSk7CiAgICAgICAgICAgIGUgPSB0aGlzLmxlZnQgPSBNYXRoLnJvdW5kKFQoTyhlLmxlZnQsIHQucGxvdExlZnQgKyBpWzNdKSwgdC5wbG90V2lkdGgsIHQucGxvdExlZnQpKSwgdGhpcy5ib3R0b20gPSB0LmNoYXJ0SGVpZ2h0IC0gciAtIHMsIHRoaXMucmlnaHQgPSB0LmNoYXJ0V2lkdGggLSBvIC0gZSwgdGhpcy5sZW4gPSBNYXRoLm1heChuID8gbyA6IHIsIDApLCB0aGlzLnBvcyA9IG4gPyBlIDogczsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLmdldEV4dHJlbWVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5sb2dhcml0aG1pYzsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICBtaW46IHQgPyBnKHQubGluMmxvZyh0aGlzLm1pbikpIDogdGhpcy5taW4sCiAgICAgICAgICAgICAgbWF4OiB0ID8gZyh0LmxpbjJsb2codGhpcy5tYXgpKSA6IHRoaXMubWF4LAogICAgICAgICAgICAgIGRhdGFNaW46IHRoaXMuZGF0YU1pbiwKICAgICAgICAgICAgICBkYXRhTWF4OiB0aGlzLmRhdGFNYXgsCiAgICAgICAgICAgICAgdXNlck1pbjogdGhpcy51c2VyTWluLAogICAgICAgICAgICAgIHVzZXJNYXg6IHRoaXMudXNlck1heAogICAgICAgICAgICB9OwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0VGhyZXNob2xkID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMubG9nYXJpdGhtaWMsIGkgPSBlID8gZS5saW4ybG9nKHRoaXMubWluKSA6IHRoaXMubWluOwogICAgICAgICAgICByZXR1cm4gZSA9IGUgPyBlLmxpbjJsb2codGhpcy5tYXgpIDogdGhpcy5tYXgsIG51bGwgPT09IHQgfHwgLTEgLyAwID09PSB0ID8gdCA9IGkgOiAxIC8gMCA9PT0gdCA/IHQgPSBlIDogaSA+IHQgPyB0ID0gaSA6IGUgPCB0ICYmICh0ID0gZSksIHRoaXMudHJhbnNsYXRlKHQsIDAsIDEsIDAsIDEpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuYXV0b0xhYmVsQWxpZ24gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gKE8odCwgMCkgLSA5MCAqIHRoaXMuc2lkZSArIDcyMCkgJSAzNjA7CiAgICAgICAgICAgIHJldHVybiB0ID0geyBhbGlnbjogImNlbnRlciIgfSwgXyh0aGlzLCAiYXV0b0xhYmVsQWxpZ24iLCB0LCAoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIDE1IDwgZSAmJiAxNjUgPiBlID8gdC5hbGlnbiA9ICJyaWdodCIgOiAxOTUgPCBlICYmIDM0NSA+IGUgJiYgKHQuYWxpZ24gPSAibGVmdCIpOwogICAgICAgICAgICB9KSksIHQuYWxpZ247CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS50aWNrU2l6ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLm9wdGlvbnMsIGkgPSBPKGVbInRpY2siID09PSB0ID8gInRpY2tXaWR0aCIgOiAibWlub3JUaWNrV2lkdGgiXSwgInRpY2siID09PSB0ICYmIHRoaXMuaXNYQXhpcyAmJiAhdGhpcy5jYXRlZ29yaWVzID8gMSA6IDApLAogICAgICAgICAgICAgIG4gPSBlWyJ0aWNrIiA9PT0gdCA/ICJ0aWNrTGVuZ3RoIiA6ICJtaW5vclRpY2tMZW5ndGgiXTsKICAgICAgICAgICAgaWYgKGkgJiYgbikgewogICAgICAgICAgICAgICJpbnNpZGUiID09PSBlW3QgKyAiUG9zaXRpb24iXSAmJiAobiA9IC1uKTsKICAgICAgICAgICAgICB2YXIgbyA9IFtuLCBpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdCA9IHsgdGlja1NpemU6IG8gfSwgXyh0aGlzLCAiYWZ0ZXJUaWNrU2l6ZSIsIHQpLCB0LnRpY2tTaXplOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUubGFiZWxNZXRyaWNzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy50aWNrUG9zaXRpb25zICYmIHRoaXMudGlja1Bvc2l0aW9uc1swXSB8fCAwOwogICAgICAgICAgICByZXR1cm4gdGhpcy5jaGFydC5yZW5kZXJlci5mb250TWV0cmljcyh0aGlzLm9wdGlvbnMubGFiZWxzLnN0eWxlLmZvbnRTaXplLCB0aGlzLnRpY2tzW3RdICYmIHRoaXMudGlja3NbdF0ubGFiZWwpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUudW5zcXVpc2ggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUsIGkgPSB0aGlzLm9wdGlvbnMubGFiZWxzLCBuID0gdGhpcy5ob3JpeiwgbyA9IHRoaXMudGlja0ludGVydmFsLCByID0gdGhpcy5sZW4gLyAoKCh0aGlzLmNhdGVnb3JpZXMgPyAxIDogMCkgKyB0aGlzLm1heCAtIHRoaXMubWluKSAvIG8pLAogICAgICAgICAgICAgIHMgPSBpLnJvdGF0aW9uLCBhID0gdGhpcy5sYWJlbE1ldHJpY3MoKSwgaCA9IE1hdGgubWF4KHRoaXMubWF4IC0gdGhpcy5taW4sIDApLCBsID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0IC8gKHIgfHwgMSk7CiAgICAgICAgICAgICAgICByZXR1cm4gZSA9IDEgPCBlID8gTWF0aC5jZWlsKGUpIDogMSwgZSAqIG8gPiBoICYmIDEgLyAwICE9PSB0ICYmIDEgLyAwICE9PSByICYmIGggJiYgKGUgPSBNYXRoLmNlaWwoaCAvIG8pKSwgZyhlICogbyk7CiAgICAgICAgICAgICAgfSwgYyA9IG8sIGQgPSBOdW1iZXIuTUFYX1ZBTFVFOwogICAgICAgICAgICBpZiAobikgewogICAgICAgICAgICAgIGlmICghaS5zdGFnZ2VyTGluZXMgJiYgIWkuc3RlcCkgaWYgKFMocykpIHZhciB1ID0gW3NdOyBlbHNlIHIgPCBpLmF1dG9Sb3RhdGlvbkxpbWl0ICYmICh1ID0gaS5hdXRvUm90YXRpb24pOwogICAgICAgICAgICAgIHUgJiYgdS5mb3JFYWNoKChmdW5jdGlvbihpKSB7CiAgICAgICAgICAgICAgICBpZiAoaSA9PT0gcyB8fCBpICYmIC05MCA8PSBpICYmIDkwID49IGkpIHsKICAgICAgICAgICAgICAgICAgZSA9IGwoTWF0aC5hYnMoYS5oIC8gTWF0aC5zaW4ocCAqIGkpKSk7CiAgICAgICAgICAgICAgICAgIHZhciBuID0gZSArIE1hdGguYWJzKGkgLyAzNjApOwogICAgICAgICAgICAgICAgICBuIDwgZCAmJiAoZCA9IG4sIHQgPSBpLCBjID0gZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9IGVsc2UgaS5zdGVwIHx8IChjID0gbChhLmgpKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXV0b1JvdGF0aW9uID0gdSwgdGhpcy5sYWJlbFJvdGF0aW9uID0gTyh0LCBTKHMpID8gcyA6IDApLCBjOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0U2xvdFdpZHRoID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMuY2hhcnQsIGkgPSB0aGlzLmhvcml6LCBuID0gdGhpcy5vcHRpb25zLmxhYmVscywgbyA9IE1hdGgubWF4KHRoaXMudGlja1Bvc2l0aW9ucy5sZW5ndGggLSAodGhpcy5jYXRlZ29yaWVzID8gMCA6IDEpLCAxKSwKICAgICAgICAgICAgICByID0gZS5tYXJnaW5bM107CiAgICAgICAgICAgIGlmICh0ICYmIFModC5zbG90V2lkdGgpKSByZXR1cm4gdC5zbG90V2lkdGg7CiAgICAgICAgICAgIGlmIChpICYmIDIgPiBuLnN0ZXApIHJldHVybiBuLnJvdGF0aW9uID8gMCA6ICh0aGlzLnN0YWdnZXJMaW5lcyB8fCAxKSAqIHRoaXMubGVuIC8gbzsKICAgICAgICAgICAgaWYgKCFpKSB7CiAgICAgICAgICAgICAgaWYgKHQgPSBuLnN0eWxlLndpZHRoLCB2b2lkIDAgIT09IHQpIHJldHVybiBwYXJzZUludChTdHJpbmcodCksIDEwKTsKICAgICAgICAgICAgICBpZiAocikgcmV0dXJuIHIgLSBlLnNwYWNpbmdbM107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIC4zMyAqIGUuY2hhcnRXaWR0aDsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlclVuc3F1aXNoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5jaGFydCwgZSA9IHQucmVuZGVyZXIsIGkgPSB0aGlzLnRpY2tQb3NpdGlvbnMsIG4gPSB0aGlzLnRpY2tzLCBvID0gdGhpcy5vcHRpb25zLmxhYmVscywgciA9IG8uc3R5bGUsIHMgPSB0aGlzLmhvcml6LAogICAgICAgICAgICAgIGEgPSB0aGlzLmdldFNsb3RXaWR0aCgpLCBoID0gTWF0aC5tYXgoMSwgTWF0aC5yb3VuZChhIC0gMiAqIG8ucGFkZGluZykpLCBsID0ge30sIGMgPSB0aGlzLmxhYmVsTWV0cmljcygpLCBwID0gci50ZXh0T3ZlcmZsb3csIGQgPSAwOwogICAgICAgICAgICBpZiAoQyhvLnJvdGF0aW9uKSB8fCAobC5yb3RhdGlvbiA9IG8ucm90YXRpb24gfHwgMCksIGkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHQgPSBuW3RdLCB0Lm1vdmVkTGFiZWwgJiYgdC5yZXBsYWNlTW92ZWRMYWJlbCgpLCB0ICYmIHQubGFiZWwgJiYgdC5sYWJlbC50ZXh0UHhMZW5ndGggPiBkICYmIChkID0gdC5sYWJlbC50ZXh0UHhMZW5ndGgpOwogICAgICAgICAgICB9KSksIHRoaXMubWF4TGFiZWxMZW5ndGggPSBkLCB0aGlzLmF1dG9Sb3RhdGlvbikgZCA+IGggJiYgZCA+IGMuaCA/IGwucm90YXRpb24gPSB0aGlzLmxhYmVsUm90YXRpb24gOiB0aGlzLmxhYmVsUm90YXRpb24gPSAwOyBlbHNlIGlmIChhKSB7CiAgICAgICAgICAgICAgdmFyIHUgPSBoOwogICAgICAgICAgICAgIGlmICghcCkgewogICAgICAgICAgICAgICAgdmFyIGYgPSAiY2xpcCI7CiAgICAgICAgICAgICAgICBmb3IgKGggPSBpLmxlbmd0aDsgIXMgJiYgaC0tOykgewogICAgICAgICAgICAgICAgICB2YXIgZyA9IGlbaF07CiAgICAgICAgICAgICAgICAgIChnID0gbltnXS5sYWJlbCkgJiYgKGcuc3R5bGVzICYmICJlbGxpcHNpcyIgPT09IGcuc3R5bGVzLnRleHRPdmVyZmxvdyA/IGcuY3NzKHsgdGV4dE92ZXJmbG93OiAiY2xpcCIgfSkgOiBnLnRleHRQeExlbmd0aCA+IGEgJiYgZy5jc3MoeyB3aWR0aDogYSArICJweCIgfSksIGcuZ2V0QkJveCgpLmhlaWdodCA+IHRoaXMubGVuIC8gaS5sZW5ndGggLSAoYy5oIC0gYy5mKSAmJiAoZy5zcGVjaWZpY1RleHRPdmVyZmxvdyA9ICJlbGxpcHNpcyIpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbC5yb3RhdGlvbiAmJiAodSA9IGQgPiAuNSAqIHQuY2hhcnRIZWlnaHQgPyAuMzMgKiB0LmNoYXJ0SGVpZ2h0IDogZCwgcCB8fCAoZiA9ICJlbGxpcHNpcyIpKSwgKHRoaXMubGFiZWxBbGlnbiA9IG8uYWxpZ24gfHwgdGhpcy5hdXRvTGFiZWxBbGlnbih0aGlzLmxhYmVsUm90YXRpb24pKSAmJiAobC5hbGlnbiA9IHRoaXMubGFiZWxBbGlnbiksIGkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBlID0gKHQgPSBuW3RdKSAmJiB0LmxhYmVsLCBpID0gci53aWR0aCwgbyA9IHt9OwogICAgICAgICAgICAgIGUgJiYgKGUuYXR0cihsKSwgdC5zaG9ydGVuTGFiZWwgPyB0LnNob3J0ZW5MYWJlbCgpIDogdSAmJiAhaSAmJiAibm93cmFwIiAhPT0gci53aGl0ZVNwYWNlICYmICh1IDwgZS50ZXh0UHhMZW5ndGggfHwgIlNQQU4iID09PSBlLmVsZW1lbnQudGFnTmFtZSkgPyAoby53aWR0aCA9IHUgKyAicHgiLCBwIHx8IChvLnRleHRPdmVyZmxvdyA9IGUuc3BlY2lmaWNUZXh0T3ZlcmZsb3cgfHwgZiksIGUuY3NzKG8pKSA6IGUuc3R5bGVzICYmIGUuc3R5bGVzLndpZHRoICYmICFvLndpZHRoICYmICFpICYmIGUuY3NzKHsgd2lkdGg6IG51bGwgfSksIGRlbGV0ZSBlLnNwZWNpZmljVGV4dE92ZXJmbG93LCB0LnJvdGF0aW9uID0gbC5yb3RhdGlvbik7CiAgICAgICAgICAgIH0pLCB0aGlzKSwgdGhpcy50aWNrUm90Q29yciA9IGUucm90Q29ycihjLmIsIHRoaXMubGFiZWxSb3RhdGlvbiB8fCAwLCAwICE9PSB0aGlzLnNpZGUpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuaGFzRGF0YSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJpZXMuc29tZSgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHJldHVybiB0Lmhhc0RhdGEoKTsKICAgICAgICAgICAgfSkpIHx8IHRoaXMub3B0aW9ucy5zaG93RW1wdHkgJiYgbSh0aGlzLm1pbikgJiYgbSh0aGlzLm1heCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5hZGRUaXRsZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUsIGkgPSB0aGlzLmNoYXJ0LnJlbmRlcmVyLCBuID0gdGhpcy5ob3JpeiwgbyA9IHRoaXMub3Bwb3NpdGUsIHIgPSB0aGlzLm9wdGlvbnMudGl0bGUsIHMgPSB0aGlzLmNoYXJ0LnN0eWxlZE1vZGU7CiAgICAgICAgICAgIHRoaXMuYXhpc1RpdGxlIHx8ICgoZSA9IHIudGV4dEFsaWduKSB8fCAoZSA9IChuID8geyBsb3c6ICJsZWZ0IiwgbWlkZGxlOiAiY2VudGVyIiwgaGlnaDogInJpZ2h0IiB9IDogewogICAgICAgICAgICAgIGxvdzogbyA/ICJyaWdodCIgOiAibGVmdCIsCiAgICAgICAgICAgICAgbWlkZGxlOiAiY2VudGVyIiwKICAgICAgICAgICAgICBoaWdoOiBvID8gImxlZnQiIDogInJpZ2h0IgogICAgICAgICAgICB9KVtyLmFsaWduXSksIHRoaXMuYXhpc1RpdGxlID0gaS50ZXh0KHIudGV4dCB8fCAiIiwgMCwgMCwgci51c2VIVE1MKS5hdHRyKHsKICAgICAgICAgICAgICB6SW5kZXg6IDcsCiAgICAgICAgICAgICAgcm90YXRpb246IHIucm90YXRpb24sCiAgICAgICAgICAgICAgYWxpZ246IGUKICAgICAgICAgICAgfSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtYXhpcy10aXRsZSIpLCBzIHx8IHRoaXMuYXhpc1RpdGxlLmNzcyhNKHIuc3R5bGUpKSwgdGhpcy5heGlzVGl0bGUuYWRkKHRoaXMuYXhpc0dyb3VwKSwgdGhpcy5heGlzVGl0bGUuaXNOZXcgPSAhMCksIHMgfHwgci5zdHlsZS53aWR0aCB8fCB0aGlzLmlzUmFkaWFsIHx8IHRoaXMuYXhpc1RpdGxlLmNzcyh7IHdpZHRoOiB0aGlzLmxlbiArICJweCIgfSksIHRoaXMuYXhpc1RpdGxlW3QgPyAic2hvdyIgOiAiaGlkZSJdKHQpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2VuZXJhdGVUaWNrID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMudGlja3M7CiAgICAgICAgICAgIGVbdF0gPyBlW3RdLmFkZExhYmVsKCkgOiBlW3RdID0gbmV3IHModGhpcywgdCk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRPZmZzZXQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLCBlID0gdGhpcywgaSA9IGUuY2hhcnQsIG4gPSBlLmhvcml6LCBvID0gZS5vcHRpb25zLCByID0gZS5zaWRlLCBzID0gZS50aWNrcywgYSA9IGUudGlja1Bvc2l0aW9ucywgaCA9IGUuY29sbCwgbCA9IGUuYXhpc1BhcmVudCwKICAgICAgICAgICAgICBjID0gaS5yZW5kZXJlciwgcCA9IGkuaW52ZXJ0ZWQgJiYgIWUuaXNaQXhpcyA/IFsxLCAwLCAzLCAyXVtyXSA6IHIsIGQgPSBlLmhhc0RhdGEoKSwgdSA9IG8udGl0bGUsIGYgPSBvLmxhYmVscywgZyA9IGkuYXhpc09mZnNldDsKICAgICAgICAgICAgaSA9IGkuY2xpcE9mZnNldDsKICAgICAgICAgICAgdmFyIHksIHYgPSBbLTEsIDEsIDEsIC0xXVtyXSwgeCA9IG8uY2xhc3NOYW1lLCBiID0gMCwgdyA9IDAsIGsgPSAwOwogICAgICAgICAgICBpZiAoZS5zaG93QXhpcyA9IHkgPSBkIHx8IG8uc2hvd0VtcHR5LCBlLnN0YWdnZXJMaW5lcyA9IGUuaG9yaXogJiYgZi5zdGFnZ2VyTGluZXMgfHwgdm9pZCAwLCAhZS5heGlzR3JvdXApIHsKICAgICAgICAgICAgICB2YXIgUyA9IGZ1bmN0aW9uKGUsIGksIG4pIHsKICAgICAgICAgICAgICAgIHJldHVybiBjLmcoZSkuYXR0cih7IHpJbmRleDogbiB9KS5hZGRDbGFzcygiaGlnaGNoYXJ0cy0iICsgaC50b0xvd2VyQ2FzZSgpICsgaSArICIgIiArICh0LmlzUmFkaWFsID8gImhpZ2hjaGFydHMtcmFkaWFsLWF4aXMiICsgaSArICIgIiA6ICIiKSArICh4IHx8ICIiKSkuYWRkKGwpOwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgZS5ncmlkR3JvdXAgPSBTKCJncmlkIiwgIi1ncmlkIiwgby5ncmlkWkluZGV4KSwgZS5heGlzR3JvdXAgPSBTKCJheGlzIiwgIiIsIG8uekluZGV4KSwgZS5sYWJlbEdyb3VwID0gUygiYXhpcy1sYWJlbHMiLCAiLWxhYmVscyIsIGYuekluZGV4KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoZCB8fCBlLmlzTGlua2VkID8gKGEuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIGUuZ2VuZXJhdGVUaWNrKHQpOwogICAgICAgICAgICB9KSksIGUucmVuZGVyVW5zcXVpc2goKSwgZS5yZXNlcnZlU3BhY2VEZWZhdWx0ID0gMCA9PT0gciB8fCAyID09PSByIHx8IHsKICAgICAgICAgICAgICAxOiAibGVmdCIsCiAgICAgICAgICAgICAgMzogInJpZ2h0IgogICAgICAgICAgICB9W3JdID09PSBlLmxhYmVsQWxpZ24sIE8oZi5yZXNlcnZlU3BhY2UsICJjZW50ZXIiID09PSBlLmxhYmVsQWxpZ24gfHwgbnVsbCwgZS5yZXNlcnZlU3BhY2VEZWZhdWx0KSAmJiBhLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICBrID0gTWF0aC5tYXgoc1t0XS5nZXRMYWJlbFNpemUoKSwgayk7CiAgICAgICAgICAgIH0pKSwgZS5zdGFnZ2VyTGluZXMgJiYgKGsgKj0gZS5zdGFnZ2VyTGluZXMpLCBlLmxhYmVsT2Zmc2V0ID0gayAqIChlLm9wcG9zaXRlID8gLTEgOiAxKSkgOiBQKHMsIChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgdC5kZXN0cm95KCksIGRlbGV0ZSBzW2VdOwogICAgICAgICAgICB9KSksIHUgJiYgdS50ZXh0ICYmICExICE9PSB1LmVuYWJsZWQgJiYgKGUuYWRkVGl0bGUoeSksIHkgJiYgITEgIT09IHUucmVzZXJ2ZVNwYWNlKSkgewogICAgICAgICAgICAgIGUudGl0bGVPZmZzZXQgPSBiID0gZS5heGlzVGl0bGUuZ2V0QkJveCgpW24gPyAiaGVpZ2h0IiA6ICJ3aWR0aCJdOwogICAgICAgICAgICAgIHZhciBDID0gdS5vZmZzZXQ7CiAgICAgICAgICAgICAgdyA9IG0oQykgPyAwIDogTyh1Lm1hcmdpbiwgbiA/IDUgOiAxMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZS5yZW5kZXJMaW5lKCksIGUub2Zmc2V0ID0gdiAqIE8oby5vZmZzZXQsIGdbcl0gPyBnW3JdICsgKG8ubWFyZ2luIHx8IDApIDogMCksIGUudGlja1JvdENvcnIgPSBlLnRpY2tSb3RDb3JyIHx8IHsKICAgICAgICAgICAgICB4OiAwLAogICAgICAgICAgICAgIHk6IDAKICAgICAgICAgICAgfSwgdSA9IDAgPT09IHIgPyAtZS5sYWJlbE1ldHJpY3MoKS5oIDogMiA9PT0gciA/IGUudGlja1JvdENvcnIueSA6IDAsIGQgPSBNYXRoLmFicyhrKSArIHcsIGsgJiYgKGQgPSBkIC0gdSArIHYgKiAobiA/IE8oZi55LCBlLnRpY2tSb3RDb3JyLnkgKyA4ICogdikgOiBmLngpKSwgZS5heGlzVGl0bGVNYXJnaW4gPSBPKEMsIGQpLCBlLmdldE1heExhYmVsRGltZW5zaW9ucyAmJiAoZS5tYXhMYWJlbERpbWVuc2lvbnMgPSBlLmdldE1heExhYmVsRGltZW5zaW9ucyhzLCBhKSksICJjb2xvckF4aXMiICE9PSBoICYmIChuID0gdGhpcy50aWNrU2l6ZSgidGljayIpLCBnW3JdID0gTWF0aC5tYXgoZ1tyXSwgKGUuYXhpc1RpdGxlTWFyZ2luIHx8IDApICsgYiArIHYgKiBlLm9mZnNldCwgZCwgYSAmJiBhLmxlbmd0aCAmJiBuID8gblswXSArIHYgKiBlLm9mZnNldCA6IDApLCBvID0gIWUuYXhpc0xpbmUgfHwgby5vZmZzZXQgPyAwIDogMiAqIE1hdGguZmxvb3IoZS5heGlzTGluZS5zdHJva2VXaWR0aCgpIC8gMiksIGlbcF0gPSBNYXRoLm1heChpW3BdLCBvKSksIF8odGhpcywgImFmdGVyR2V0T2Zmc2V0Iik7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5nZXRMaW5lUGF0aCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNoYXJ0LCBpID0gdGhpcy5vcHBvc2l0ZSwgbiA9IHRoaXMub2Zmc2V0LCBvID0gdGhpcy5ob3JpeiwgciA9IHRoaXMubGVmdCArIChpID8gdGhpcy53aWR0aCA6IDApICsgbjsKICAgICAgICAgICAgcmV0dXJuIG4gPSBlLmNoYXJ0SGVpZ2h0IC0gdGhpcy5ib3R0b20gLSAoaSA/IHRoaXMuaGVpZ2h0IDogMCkgKyBuLCBpICYmICh0ICo9IC0xKSwgZS5yZW5kZXJlci5jcmlzcExpbmUoW1siTSIsIG8gPyB0aGlzLmxlZnQgOiByLCBvID8gbiA6IHRoaXMudG9wXSwgWyJMIiwgbyA/IGUuY2hhcnRXaWR0aCAtIHRoaXMucmlnaHQgOiByLCBvID8gbiA6IGUuY2hhcnRIZWlnaHQgLSB0aGlzLmJvdHRvbV1dLCB0KTsKICAgICAgICAgIH0sIHQucHJvdG90eXBlLnJlbmRlckxpbmUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5heGlzTGluZSB8fCAodGhpcy5heGlzTGluZSA9IHRoaXMuY2hhcnQucmVuZGVyZXIucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLWF4aXMtbGluZSIpLmFkZCh0aGlzLmF4aXNHcm91cCksIHRoaXMuY2hhcnQuc3R5bGVkTW9kZSB8fCB0aGlzLmF4aXNMaW5lLmF0dHIoewogICAgICAgICAgICAgIHN0cm9rZTogdGhpcy5vcHRpb25zLmxpbmVDb2xvciwKICAgICAgICAgICAgICAic3Ryb2tlLXdpZHRoIjogdGhpcy5vcHRpb25zLmxpbmVXaWR0aCwKICAgICAgICAgICAgICB6SW5kZXg6IDcKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfSwgdC5wcm90b3R5cGUuZ2V0VGl0bGVQb3NpdGlvbiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuaG9yaXosIGUgPSB0aGlzLmxlZnQsIGkgPSB0aGlzLnRvcCwgbiA9IHRoaXMubGVuLCBvID0gdGhpcy5vcHRpb25zLnRpdGxlLCByID0gdCA/IGUgOiBpLCBzID0gdGhpcy5vcHBvc2l0ZSwgYSA9IHRoaXMub2Zmc2V0LCBoID0gby54LAogICAgICAgICAgICAgIGwgPSBvLnksIGMgPSB0aGlzLmF4aXNUaXRsZSwgcCA9IHRoaXMuY2hhcnQucmVuZGVyZXIuZm9udE1ldHJpY3Moby5zdHlsZS5mb250U2l6ZSwgYyk7CiAgICAgICAgICAgIHJldHVybiBjID0gTWF0aC5tYXgoYy5nZXRCQm94KG51bGwsIDApLmhlaWdodCAtIHAuaCAtIDEsIDApLCBuID0gewogICAgICAgICAgICAgIGxvdzogciArICh0ID8gMCA6IG4pLAogICAgICAgICAgICAgIG1pZGRsZTogciArIG4gLyAyLAogICAgICAgICAgICAgIGhpZ2g6IHIgKyAodCA/IG4gOiAwKQogICAgICAgICAgICB9W28uYWxpZ25dLCBlID0gKHQgPyBpICsgdGhpcy5oZWlnaHQgOiBlKSArICh0ID8gMSA6IC0xKSAqIChzID8gLTEgOiAxKSAqIHRoaXMuYXhpc1RpdGxlTWFyZ2luICsgWy1jLCBjLCBwLmYsIC1jXVt0aGlzLnNpZGVdLCB0ID0gewogICAgICAgICAgICAgIHg6IHQgPyBuICsgaCA6IGUgKyAocyA/IHRoaXMud2lkdGggOiAwKSArIGEgKyBoLAogICAgICAgICAgICAgIHk6IHQgPyBlICsgbCAtIChzID8gdGhpcy5oZWlnaHQgOiAwKSArIGEgOiBuICsgbAogICAgICAgICAgICB9LCBfKHRoaXMsICJhZnRlckdldFRpdGxlUG9zaXRpb24iLCB7IHRpdGxlUG9zaXRpb246IHQgfSksIHQ7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW5kZXJNaW5vclRpY2sgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5taW5vclRpY2tzOwogICAgICAgICAgICBpW3RdIHx8IChpW3RdID0gbmV3IHModGhpcywgdCwgIm1pbm9yIikpLCBlICYmIGlbdF0uaXNOZXcgJiYgaVt0XS5yZW5kZXIobnVsbCwgITApLCBpW3RdLnJlbmRlcihudWxsLCAhMSwgMSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW5kZXJUaWNrID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgbiA9IHRoaXMudGlja3M7CiAgICAgICAgICAgICghdGhpcy5pc0xpbmtlZCB8fCB0ID49IHRoaXMubWluICYmIHQgPD0gdGhpcy5tYXggfHwgdGhpcy5ncmlkICYmIHRoaXMuZ3JpZC5pc0NvbHVtbikgJiYgKG5bdF0gfHwgKG5bdF0gPSBuZXcgcyh0aGlzLCB0KSksIGkgJiYgblt0XS5pc05ldyAmJiBuW3RdLnJlbmRlcihlLCAhMCwgLTEpLCBuW3RdLnJlbmRlcihlKSk7CiAgICAgICAgICB9LCB0LnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGUsIGkgPSB0aGlzLCBuID0gaS5jaGFydCwgbyA9IGkubG9nYXJpdGhtaWMsIGEgPSBpLm9wdGlvbnMsIGwgPSBpLmlzTGlua2VkLCBjID0gaS50aWNrUG9zaXRpb25zLCBwID0gaS5heGlzVGl0bGUsIGQgPSBpLnRpY2tzLAogICAgICAgICAgICAgIHUgPSBpLm1pbm9yVGlja3MsIGYgPSBpLmFsdGVybmF0ZUJhbmRzLCBnID0gYS5zdGFja0xhYmVscywgbSA9IGEuYWx0ZXJuYXRlR3JpZENvbG9yLCB5ID0gaS50aWNrbWFya09mZnNldCwgdiA9IGkuYXhpc0xpbmUsIHggPSBpLnNob3dBeGlzLAogICAgICAgICAgICAgIGIgPSBoKG4ucmVuZGVyZXIuZ2xvYmFsQW5pbWF0aW9uKTsKICAgICAgICAgICAgaWYgKGkubGFiZWxFZGdlLmxlbmd0aCA9IDAsIGkub3ZlcmxhcCA9ICExLCBbZCwgdSwgZl0uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIFAodCwgKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQuaXNBY3RpdmUgPSAhMTsKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIH0pKSwgaS5oYXNEYXRhKCkgfHwgbCkgewogICAgICAgICAgICAgIHZhciB3ID0gaS5jaGFydC5oYXNSZW5kZXJlZCAmJiBpLm9sZCAmJiBTKGkub2xkLm1pbik7CiAgICAgICAgICAgICAgaS5taW5vclRpY2tJbnRlcnZhbCAmJiAhaS5jYXRlZ29yaWVzICYmIGkuZ2V0TWlub3JUaWNrUG9zaXRpb25zKCkuZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgaS5yZW5kZXJNaW5vclRpY2sodCwgdyk7CiAgICAgICAgICAgICAgfSkpLCBjLmxlbmd0aCAmJiAoYy5mb3JFYWNoKChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBpLnJlbmRlclRpY2sodCwgZSwgdyk7CiAgICAgICAgICAgICAgfSkpLCB5ICYmICgwID09PSBpLm1pbiB8fCBpLnNpbmdsZSkgJiYgKGRbLTFdIHx8IChkWy0xXSA9IG5ldyBzKGksIC0xLCBudWxsLCAhMCkpLCBkWy0xXS5yZW5kZXIoLTEpKSksIG0gJiYgYy5mb3JFYWNoKChmdW5jdGlvbihzLCBhKSB7CiAgICAgICAgICAgICAgICBlID0gInVuZGVmaW5lZCIgIT09IHR5cGVvZiBjW2EgKyAxXSA/IGNbYSArIDFdICsgeSA6IGkubWF4IC0geSwgMCA9PT0gYSAlIDIgJiYgcyA8IGkubWF4ICYmIGUgPD0gaS5tYXggKyAobi5wb2xhciA/IC15IDogeSkgJiYgKGZbc10gfHwgKGZbc10gPSBuZXcgci5QbG90TGluZU9yQmFuZChpKSksIHQgPSBzICsgeSwgZltzXS5vcHRpb25zID0gewogICAgICAgICAgICAgICAgICBmcm9tOiBvID8gby5saW4ybG9nKHQpIDogdCwKICAgICAgICAgICAgICAgICAgdG86IG8gPyBvLmxpbjJsb2coZSkgOiBlLAogICAgICAgICAgICAgICAgICBjb2xvcjogbSwKICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiaGlnaGNoYXJ0cy1hbHRlcm5hdGUtZ3JpZCIKICAgICAgICAgICAgICAgIH0sIGZbc10ucmVuZGVyKCksIGZbc10uaXNBY3RpdmUgPSAhMCk7CiAgICAgICAgICAgICAgfSkpLCBpLl9hZGRlZFBsb3RMQiB8fCAoaS5fYWRkZWRQbG90TEIgPSAhMCwgKGEucGxvdExpbmVzIHx8IFtdKS5jb25jYXQoYS5wbG90QmFuZHMgfHwgW10pLmZvckVhY2goKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGkuYWRkUGxvdEJhbmRPckxpbmUodCk7CiAgICAgICAgICAgICAgfSkpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBbZCwgdSwgZl0uZm9yRWFjaCgoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgIHZhciBlID0gW10sIGkgPSBiLmR1cmF0aW9uOwogICAgICAgICAgICAgIFAodCwgKGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgICAgIHQuaXNBY3RpdmUgfHwgKHQucmVuZGVyKGksICExLCAwKSwgdC5pc0FjdGl2ZSA9ICExLCBlLnB1c2goaSkpOwogICAgICAgICAgICAgIH0pKSwgaigoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gZS5sZW5ndGg7IGktLTspIHRbZVtpXV0gJiYgIXRbZVtpXV0uaXNBY3RpdmUgJiYgKHRbZVtpXV0uZGVzdHJveSgpLCBkZWxldGUgdFtlW2ldXSk7CiAgICAgICAgICAgICAgfSksIHQgIT09IGYgJiYgbi5oYXNSZW5kZXJlZCAmJiBpID8gaSA6IDApOwogICAgICAgICAgICB9KSksIHYgJiYgKHZbdi5pc1BsYWNlZCA/ICJhbmltYXRlIiA6ICJhdHRyIl0oeyBkOiB0aGlzLmdldExpbmVQYXRoKHYuc3Ryb2tlV2lkdGgoKSkgfSksIHYuaXNQbGFjZWQgPSAhMCwgdlt4ID8gInNob3ciIDogImhpZGUiXSh4KSksIHAgJiYgeCAmJiAoYSA9IGkuZ2V0VGl0bGVQb3NpdGlvbigpLCBTKGEueSkgPyAocFtwLmlzTmV3ID8gImF0dHIiIDogImFuaW1hdGUiXShhKSwgcC5pc05ldyA9ICExKSA6IChwLmF0dHIoInkiLCAtOTk5OSksIHAuaXNOZXcgPSAhMCkpLCBnICYmIGcuZW5hYmxlZCAmJiBpLnN0YWNraW5nICYmIGkuc3RhY2tpbmcucmVuZGVyU3RhY2tUb3RhbHMoKSwgaS5vbGQgPSB7CiAgICAgICAgICAgICAgbGVuOiBpLmxlbiwKICAgICAgICAgICAgICBtYXg6IGkubWF4LAogICAgICAgICAgICAgIG1pbjogaS5taW4sCiAgICAgICAgICAgICAgdHJhbnNBOiBpLnRyYW5zQSwKICAgICAgICAgICAgICB1c2VyTWF4OiBpLnVzZQ=="}},"time_used":67,"timings":{"blocked":-1,"dns":1,"connect":23,"send":0,"wait":38,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/jquery.colorbox.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.625Z","timestamp":1785124599625,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/jquery.colorbox.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"71ea-5aa839fc-76790d021a06f447;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 8446\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29162,"size_decoded":8823,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"49a2977c850d817835011c902eed214c","sha1":"4ea8be53a31253437e439c65afbc7beeaca11223","sha256":"1386b3ea8141a8adb913c82faf7dbe3752913e6bb3dd6ddfd87ef7fff0d7fa1d","sha512":"68ea57ff5fd37becde55c2a33da2aa87ffb423240f1f4d31ec8c4affad840a8ecfd6a07a3178e509d1a48b3a7545fbd84397d2f248e36bf15402eb8fb1a2c48c","ssdeep":"384:t3gsDG1DrzIZNBHCDfwzk84RM4mNjzRT89995L59qwc:tbDG1/eizONT89f9+","tlshash":"9bd2b6b4e77e261e803a107dd84d43cd123f81721526b9bbfca4466c98e05ae4369fed","first_seen":"2023-03-07T22:07:31Z","last_seen":"2026-07-29T06:17:13.172532Z","times_seen":627,"resource_available":true,"data":"LyohCglDb2xvcmJveCAxLjYuMwoJbGljZW5zZTogTUlUCglodHRwOi8vd3d3LmphY2tsbW9vcmUuY29tL2NvbG9yYm94CiovCihmdW5jdGlvbiAoJCwgZG9jdW1lbnQsIHdpbmRvdykgewoJdmFyCgkvLyBEZWZhdWx0IHNldHRpbmdzIG9iamVjdC4KCS8vIFNlZSBodHRwOi8vamFja2xtb29yZS5jb20vY29sb3Jib3ggZm9yIGRldGFpbHMuCglkZWZhdWx0cyA9IHsKCQkvLyBkYXRhIHNvdXJjZXMKCQlodG1sOiBmYWxzZSwKCQlwaG90bzogZmFsc2UsCgkJaWZyYW1lOiBmYWxzZSwKCQlpbmxpbmU6IGZhbHNlLAoKCQkvLyBiZWhhdmlvciBhbmQgYXBwZWFyYW5jZQoJCXRyYW5zaXRpb246ICJlbGFzdGljIiwKCQlzcGVlZDogMzAwLAoJCWZhZGVPdXQ6IDMwMCwKCQl3aWR0aDogZmFsc2UsCgkJaW5pdGlhbFdpZHRoOiAiNjAwIiwKCQlpbm5lcldpZHRoOiBmYWxzZSwKCQltYXhXaWR0aDogZmFsc2UsCgkJaGVpZ2h0OiBmYWxzZSwKCQlpbml0aWFsSGVpZ2h0OiAiNDUwIiwKCQlpbm5lckhlaWdodDogZmFsc2UsCgkJbWF4SGVpZ2h0OiBmYWxzZSwKCQlzY2FsZVBob3RvczogdHJ1ZSwKCQlzY3JvbGxpbmc6IHRydWUsCgkJb3BhY2l0eTogMC45LAoJCXByZWxvYWRpbmc6IHRydWUsCgkJY2xhc3NOYW1lOiBmYWxzZSwKCQlvdmVybGF5Q2xvc2U6IHRydWUsCgkJZXNjS2V5OiB0cnVlLAoJCWFycm93S2V5OiB0cnVlLAoJCXRvcDogZmFsc2UsCgkJYm90dG9tOiBmYWxzZSwKCQlsZWZ0OiBmYWxzZSwKCQlyaWdodDogZmFsc2UsCgkJZml4ZWQ6IGZhbHNlLAoJCWRhdGE6IHVuZGVmaW5lZCwKCQljbG9zZUJ1dHRvbjogdHJ1ZSwKCQlmYXN0SWZyYW1lOiB0cnVlLAoJCW9wZW46IGZhbHNlLAoJCXJlcG9zaXRpb246IHRydWUsCgkJbG9vcDogdHJ1ZSwKCQlzbGlkZXNob3c6IGZhbHNlLAoJCXNsaWRlc2hvd0F1dG86IHRydWUsCgkJc2xpZGVzaG93U3BlZWQ6IDI1MDAsCgkJc2xpZGVzaG93U3RhcnQ6ICJzdGFydCBzbGlkZXNob3ciLAoJCXNsaWRlc2hvd1N0b3A6ICJzdG9wIHNsaWRlc2hvdyIsCgkJcGhvdG9SZWdleDogL1wuKGdpZnxwbmd8anAoZXxnfGVnKXxibXB8aWNvfHdlYnB8anhyfHN2ZykoKCN8XD8pLiopPyQvaSwKCgkJLy8gYWx0ZXJuYXRlIGltYWdlIHBhdGhzIGZvciBoaWdoLXJlcyBkaXNwbGF5cwoJCXJldGluYUltYWdlOiBmYWxzZSwKCQlyZXRpbmFVcmw6IGZhbHNlLAoJCXJldGluYVN1ZmZpeDogJ0AyeC4kMScsCgoJCS8vIGludGVybmF0aW9uYWxpemF0aW9uCgkJY3VycmVudDogImltYWdlIHtjdXJyZW50fSBvZiB7dG90YWx9IiwKCQlwcmV2aW91czogInByZXZpb3VzIiwKCQluZXh0OiAibmV4dCIsCgkJY2xvc2U6ICJjbG9zZSIsCgkJeGhyRXJyb3I6ICJUaGlzIGNvbnRlbnQgZmFpbGVkIHRvIGxvYWQuIiwKCQlpbWdFcnJvcjogIlRoaXMgaW1hZ2UgZmFpbGVkIHRvIGxvYWQuIiwKCgkJLy8gYWNjZXNzYmlsaXR5CgkJcmV0dXJuRm9jdXM6IHRydWUsCgkJdHJhcEZvY3VzOiB0cnVlLAoKCQkvLyBjYWxsYmFja3MKCQlvbk9wZW46IGZhbHNlLAoJCW9uTG9hZDogZmFsc2UsCgkJb25Db21wbGV0ZTogZmFsc2UsCgkJb25DbGVhbnVwOiBmYWxzZSwKCQlvbkNsb3NlZDogZmFsc2UsCgoJCXJlbDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLnJlbDsKCQl9LAoJCWhyZWY6IGZ1bmN0aW9uKCkgewoJCQkvLyB1c2luZyB0aGlzLmhyZWYgd291bGQgZ2l2ZSB0aGUgYWJzb2x1dGUgdXJsLCB3aGVuIHRoZSBocmVmIG1heSBoYXZlIGJlZW4gaW50ZWRlZCBhcyBhIHNlbGVjdG9yIChlLmcuICcjY29udGFpbmVyJykKCQkJcmV0dXJuICQodGhpcykuYXR0cignaHJlZicpOwoJCX0sCgkJdGl0bGU6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy50aXRsZTsKCQl9LAoJCWNyZWF0ZUltZzogZnVuY3Rpb24oKSB7CgkJCXZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKCQkJdmFyIGF0dHJzID0gJCh0aGlzKS5kYXRhKCdjYm94LWltZy1hdHRycycpOwoKCQkJaWYgKHR5cGVvZiBhdHRycyA9PT0gJ29iamVjdCcpIHsKCQkJCSQuZWFjaChhdHRycywgZnVuY3Rpb24oa2V5LCB2YWwpewoJCQkJCWltZ1trZXldID0gdmFsOwoJCQkJfSk7CgkJCX0KCgkJCXJldHVybiBpbWc7CgkJfSwKCQljcmVhdGVJZnJhbWU6IGZ1bmN0aW9uKCkgewoJCQl2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CgkJCXZhciBhdHRycyA9ICQodGhpcykuZGF0YSgnY2JveC1pZnJhbWUtYXR0cnMnKTsKCgkJCWlmICh0eXBlb2YgYXR0cnMgPT09ICdvYmplY3QnKSB7CgkJCQkkLmVhY2goYXR0cnMsIGZ1bmN0aW9uKGtleSwgdmFsKXsKCQkJCQlpZnJhbWVba2V5XSA9IHZhbDsKCQkJCX0pOwoJCQl9CgoJCQlpZiAoJ2ZyYW1lQm9yZGVyJyBpbiBpZnJhbWUpIHsKCQkJCWlmcmFtZS5mcmFtZUJvcmRlciA9IDA7CgkJCX0KCQkJaWYgKCdhbGxvd1RyYW5zcGFyZW5jeScgaW4gaWZyYW1lKSB7CgkJCQlpZnJhbWUuYWxsb3dUcmFuc3BhcmVuY3kgPSAidHJ1ZSI7CgkJCX0KCQkJaWZyYW1lLm5hbWUgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpOyAvLyBnaXZlIHRoZSBpZnJhbWUgYSB1bmlxdWUgbmFtZSB0byBwcmV2ZW50IGNhY2hpbmcKCQkJaWZyYW1lLmFsbG93RnVsbHNjcmVlbiA9IHRydWU7CgoJCQlyZXR1cm4gaWZyYW1lOwoJCX0KCX0sCgoJLy8gQWJzdHJhY3RpbmcgdGhlIEhUTUwgYW5kIGV2ZW50IGlkZW50aWZpZXJzIGZvciBlYXN5IHJlYnJhbmRpbmcKCWNvbG9yYm94ID0gJ2NvbG9yYm94JywKCXByZWZpeCA9ICdjYm94JywKCWJveEVsZW1lbnQgPSBwcmVmaXggKyAnRWxlbWVudCcsCgoJLy8gRXZlbnRzCglldmVudF9vcGVuID0gcHJlZml4ICsgJ19vcGVuJywKCWV2ZW50X2xvYWQgPSBwcmVmaXggKyAnX2xvYWQnLAoJZXZlbnRfY29tcGxldGUgPSBwcmVmaXggKyAnX2NvbXBsZXRlJywKCWV2ZW50X2NsZWFudXAgPSBwcmVmaXggKyAnX2NsZWFudXAnLAoJZXZlbnRfY2xvc2VkID0gcHJlZml4ICsgJ19jbG9zZWQnLAoJZXZlbnRfcHVyZ2UgPSBwcmVmaXggKyAnX3B1cmdlJywKCgkvLyBDYWNoZWQgalF1ZXJ5IE9iamVjdCBWYXJpYWJsZXMKCSRvdmVybGF5LAoJJGJveCwKCSR3cmFwLAoJJGNvbnRlbnQsCgkkdG9wQm9yZGVyLAoJJGxlZnRCb3JkZXIsCgkkcmlnaHRCb3JkZXIsCgkkYm90dG9tQm9yZGVyLAoJJHJlbGF0ZWQsCgkkd2luZG93LAoJJGxvYWRlZCwKCSRsb2FkaW5nQmF5LAoJJGxvYWRpbmdPdmVybGF5LAoJJHRpdGxlLAoJJGN1cnJlbnQsCgkkc2xpZGVzaG93LAoJJG5leHQsCgkkcHJldiwKCSRjbG9zZSwKCSRncm91cENvbnRyb2xzLAoJJGV2ZW50cyA9ICQoJzxhLz4nKSwgLy8gJCh7fSkgd291bGQgYmUgcHJlZmVyZWQsIGJ1dCB0aGVyZSBpcyBhbiBpc3N1ZSB3aXRoIGpRdWVyeSAxLjQuMgoKCS8vIFZhcmlhYmxlcyBmb3IgY2FjaGVkIHZhbHVlcyBvciB1c2UgYWNyb3NzIG11bHRpcGxlIGZ1bmN0aW9ucwoJc2V0dGluZ3MsCglpbnRlcmZhY2VIZWlnaHQsCglpbnRlcmZhY2VXaWR0aCwKCWxvYWRlZEhlaWdodCwKCWxvYWRlZFdpZHRoLAoJaW5kZXgsCglwaG90bywKCW9wZW4sCglhY3RpdmUsCgljbG9zaW5nLAoJbG9hZGluZ1RpbWVyLAoJcHVibGljTWV0aG9kLAoJZGl2ID0gImRpdiIsCglyZXF1ZXN0cyA9IDAsCglwcmV2aW91c0NTUyA9IHt9LAoJaW5pdDsKCgkvLyAqKioqKioqKioqKioqKioqCgkvLyBIRUxQRVIgRlVOQ1RJT05TCgkvLyAqKioqKioqKioqKioqKioqCgoJLy8gQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIGNyZWF0aW5nIG5ldyBqUXVlcnkgb2JqZWN0cwoJZnVuY3Rpb24gJHRhZyh0YWcsIGlkLCBjc3MpIHsKCQl2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTsKCgkJaWYgKGlkKSB7CgkJCWVsZW1lbnQuaWQgPSBwcmVmaXggKyBpZDsKCQl9CgoJCWlmIChjc3MpIHsKCQkJZWxlbWVudC5zdHlsZS5jc3NUZXh0ID0gY3NzOwoJCX0KCgkJcmV0dXJuICQoZWxlbWVudCk7Cgl9CgoJLy8gR2V0IHRoZSB3aW5kb3cgaGVpZ2h0IHVzaW5nIGlubmVySGVpZ2h0IHdoZW4gYXZhaWxhYmxlIHRvIGF2b2lkIGFuIGlzc3VlIHdpdGggaU9TCgkvLyBodHRwOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC82NzI0CglmdW5jdGlvbiB3aW5oZWlnaHQoKSB7CgkJcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCA/IHdpbmRvdy5pbm5lckhlaWdodCA6ICQod2luZG93KS5oZWlnaHQoKTsKCX0KCglmdW5jdGlvbiBTZXR0aW5ncyhlbGVtZW50LCBvcHRpb25zKSB7CgkJaWYgKG9wdGlvbnMgIT09IE9iamVjdChvcHRpb25zKSkgewoJCQlvcHRpb25zID0ge307CgkJfQoKCQl0aGlzLmNhY2hlID0ge307CgkJdGhpcy5lbCA9IGVsZW1lbnQ7CgoJCXRoaXMudmFsdWUgPSBmdW5jdGlvbihrZXkpIHsKCQkJdmFyIGRhdGFBdHRyOwoKCQkJaWYgKHRoaXMuY2FjaGVba2V5XSA9PT0gdW5kZWZpbmVkKSB7CgkJCQlkYXRhQXR0ciA9ICQodGhpcy5lbCkuYXR0cignZGF0YS1jYm94LScra2V5KTsKCgkJCQlpZiAoZGF0YUF0dHIgIT09IHVuZGVmaW5lZCkgewoJCQkJCXRoaXMuY2FjaGVba2V5XSA9IGRhdGFBdHRyOwoJCQkJfSBlbHNlIGlmIChvcHRpb25zW2tleV0gIT09IHVuZGVmaW5lZCkgewoJCQkJCXRoaXMuY2FjaGVba2V5XSA9IG9wdGlvbnNba2V5XTsKCQkJCX0gZWxzZSBpZiAoZGVmYXVsdHNba2V5XSAhPT0gdW5kZWZpbmVkKSB7CgkJCQkJdGhpcy5jYWNoZVtrZXldID0gZGVmYXVsdHNba2V5XTsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIHRoaXMuY2FjaGVba2V5XTsKCQl9OwoKCQl0aGlzLmdldCA9IGZ1bmN0aW9uKGtleSkgewoJCQl2YXIgdmFsdWUgPSB0aGlzLnZhbHVlKGtleSk7CgkJCXJldHVybiAkLmlzRnVuY3Rpb24odmFsdWUpID8gdmFsdWUuY2FsbCh0aGlzLmVsLCB0aGlzKSA6IHZhbHVlOwoJCX07Cgl9CgoJLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBtZW1iZXJzIGluIGEgZ3JvdXAuCglmdW5jdGlvbiBnZXRJbmRleChpbmNyZW1lbnQpIHsKCQl2YXIKCQltYXggPSAkcmVsYXRlZC5sZW5ndGgsCgkJbmV3SW5kZXggPSAoaW5kZXggKyBpbmNyZW1lbnQpICUgbWF4OwoKCQlyZXR1cm4gKG5ld0luZGV4IDwgMCkgPyBtYXggKyBuZXdJbmRleCA6IG5ld0luZGV4OwoJfQoKCS8vIENvbnZlcnQgJyUnIGFuZCAncHgnIHZhbHVlcyB0byBpbnRlZ2VycwoJZnVuY3Rpb24gc2V0U2l6ZShzaXplLCBkaW1lbnNpb24pIHsKCQlyZXR1cm4gTWF0aC5yb3VuZCgoLyUvLnRlc3Qoc2l6ZSkgPyAoKGRpbWVuc2lvbiA9PT0gJ3gnID8gJHdpbmRvdy53aWR0aCgpIDogd2luaGVpZ2h0KCkpIC8gMTAwKSA6IDEpICogcGFyc2VJbnQoc2l6ZSwgMTApKTsKCX0KCgkvLyBDaGVja3MgYW4gaHJlZiB0byBzZWUgaWYgaXQgaXMgYSBwaG90by4KCS8vIFRoZXJlIGlzIGEgZm9yY2UgcGhvdG8gb3B0aW9uIChwaG90bzogdHJ1ZSkgZm9yIGhyZWZzIHRoYXQgY2Fubm90IGJlIG1hdGNoZWQgYnkgdGhlIHJlZ2V4LgoJZnVuY3Rpb24gaXNJbWFnZShzZXR0aW5ncywgdXJsKSB7CgkJcmV0dXJuIHNldHRpbmdzLmdldCgncGhvdG8nKSB8fCBzZXR0aW5ncy5nZXQoJ3Bob3RvUmVnZXgnKS50ZXN0KHVybCk7Cgl9CgoJZnVuY3Rpb24gcmV0aW5hVXJsKHNldHRpbmdzLCB1cmwpIHsKCQlyZXR1cm4gc2V0dGluZ3MuZ2V0KCdyZXRpbmFVcmwnKSAmJiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyA+IDEgPyB1cmwucmVwbGFjZShzZXR0aW5ncy5nZXQoJ3Bob3RvUmVnZXgnKSwgc2V0dGluZ3MuZ2V0KCdyZXRpbmFTdWZmaXgnKSkgOiB1cmw7Cgl9CgoJZnVuY3Rpb24gdHJhcEZvY3VzKGUpIHsKCQlpZiAoJ2NvbnRhaW5zJyBpbiAkYm94WzBdICYmICEkYm94WzBdLmNvbnRhaW5zKGUudGFyZ2V0KSAmJiBlLnRhcmdldCAhPT0gJG92ZXJsYXlbMF0pIHsKCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJJGJveC5mb2N1cygpOwoJCX0KCX0KCglmdW5jdGlvbiBzZXRDbGFzcyhzdHIpIHsKCQlpZiAoc2V0Q2xhc3Muc3RyICE9PSBzdHIpIHsKCQkJJGJveC5hZGQoJG92ZXJsYXkpLnJlbW92ZUNsYXNzKHNldENsYXNzLnN0cikuYWRkQ2xhc3Moc3RyKTsKCQkJc2V0Q2xhc3Muc3RyID0gc3RyOwoJCX0KCX0KCglmdW5jdGlvbiBnZXRSZWxhdGVkKHJlbCkgewoJCWluZGV4ID0gMDsKCgkJaWYgKHJlbCAmJiByZWwgIT09IGZhbHNlICYmIHJlbCAhPT0gJ25vZm9sbG93JykgewoJCQkkcmVsYXRlZCA9ICQoJy4nICsgYm94RWxlbWVudCkuZmlsdGVyKGZ1bmN0aW9uICgpIHsKCQkJCXZhciBvcHRpb25zID0gJC5kYXRhKHRoaXMsIGNvbG9yYm94KTsKCQkJCXZhciBzZXR0aW5ncyA9IG5ldyBTZXR0aW5ncyh0aGlzLCBvcHRpb25zKTsKCQkJCXJldHVybiAoc2V0dGluZ3MuZ2V0KCdyZWwnKSA9PT0gcmVsKTsKCQkJfSk7CgkJCWluZGV4ID0gJHJlbGF0ZWQuaW5kZXgoc2V0dGluZ3MuZWwpOwoKCQkJLy8gQ2hlY2sgZGlyZWN0IGNhbGxzIHRvIENvbG9yYm94LgoJCQlpZiAoaW5kZXggPT09IC0xKSB7CgkJCQkkcmVsYXRlZCA9ICRyZWxhdGVkLmFkZChzZXR0aW5ncy5lbCk7CgkJCQlpbmRleCA9ICRyZWxhdGVkLmxlbmd0aCAtIDE7CgkJCX0KCQl9IGVsc2UgewoJCQkkcmVsYXRlZCA9ICQoc2V0dGluZ3MuZWwpOwoJCX0KCX0KCglmdW5jdGlvbiB0cmlnZ2VyKGV2ZW50KSB7CgkJLy8gZm9yIGV4dGVybmFsIHVzZQoJCSQoZG9jdW1lbnQpLnRyaWdnZXIoZXZlbnQpOwoJCS8vIGZvciBpbnRlcm5hbCB1c2UKCQkkZXZlbnRzLnRyaWdnZXJIYW5kbGVyKGV2ZW50KTsKCX0KCgl2YXIgc2xpZGVzaG93ID0gKGZ1bmN0aW9uKCl7CgkJdmFyIGFjdGl2ZSwKCQkJY2xhc3NOYW1lID0gcHJlZml4ICsgIlNsaWRlc2hvd18iLAoJCQljbGljayA9ICJjbGljay4iICsgcHJlZml4LAoJCQl0aW1lT3V0OwoKCQlmdW5jdGlvbiBjbGVhciAoKSB7CgkJCWNsZWFyVGltZW91dCh0aW1lT3V0KTsKCQl9CgoJCWZ1bmN0aW9uIHNldCgpIHsKCQkJaWYgKHNldHRpbmdzLmdldCgnbG9vcCcpIHx8ICRyZWxhdGVkW2luZGV4ICsgMV0pIHsKCQkJCWNsZWFyKCk7CgkJCQl0aW1lT3V0ID0gc2V0VGltZW91dChwdWJsaWNNZXRob2QubmV4dCwgc2V0dGluZ3MuZ2V0KCdzbGlkZXNob3dTcGVlZCcpKTsKCQkJfQoJCX0KCgkJZnVuY3Rpb24gc3RhcnQoKSB7CgkJCSRzbGlkZXNob3cKCQkJCS5odG1sKHNldHRpbmdzLmdldCgnc2xpZGVzaG93U3RvcCcpKQoJCQkJLnVuYmluZChjbGljaykKCQkJCS5vbmUoY2xpY2ssIHN0b3ApOwoKCQkJJGV2ZW50cwoJCQkJLmJpbmQoZXZlbnRfY29tcGxldGUsIHNldCkKCQkJCS5iaW5kKGV2ZW50X2xvYWQsIGNsZWFyKTsKCgkJCSRib3gucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lICsgIm9mZiIpLmFkZENsYXNzKGNsYXNzTmFtZSArICJvbiIpOwoJCX0KCgkJZnVuY3Rpb24gc3RvcCgpIHsKCQkJY2xlYXIoKTsKCgkJCSRldmVudHMKCQkJCS51bmJpbmQoZXZlbnRfY29tcGxldGUsIHNldCkKCQkJCS51bmJpbmQoZXZlbnRfbG9hZCwgY2xlYXIpOwoKCQkJJHNsaWRlc2hvdwoJCQkJLmh0bWwoc2V0dGluZ3MuZ2V0KCdzbGlkZXNob3dTdGFydCcpKQoJCQkJLnVuYmluZChjbGljaykKCQkJCS5vbmUoY2xpY2ssIGZ1bmN0aW9uICgpIHsKCQkJCQlwdWJsaWNNZXRob2QubmV4dCgpOwoJCQkJCXN0YXJ0KCk7CgkJCQl9KTsKCgkJCSRib3gucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lICsgIm9uIikuYWRkQ2xhc3MoY2xhc3NOYW1lICsgIm9mZiIpOwoJCX0KCgkJZnVuY3Rpb24gcmVzZXQoKSB7CgkJCWFjdGl2ZSA9IGZhbHNlOwoJCQkkc2xpZGVzaG93LmhpZGUoKTsKCQkJY2xlYXIoKTsKCQkJJGV2ZW50cwoJCQkJLnVuYmluZChldmVudF9jb21wbGV0ZSwgc2V0KQoJCQkJLnVuYmluZChldmVudF9sb2FkLCBjbGVhcik7CgkJCSRib3gucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lICsgIm9mZiAiICsgY2xhc3NOYW1lICsgIm9uIik7CgkJfQoKCQlyZXR1cm4gZnVuY3Rpb24oKXsKCQkJaWYgKGFjdGl2ZSkgewoJCQkJaWYgKCFzZXR0aW5ncy5nZXQoJ3NsaWRlc2hvdycpKSB7CgkJCQkJJGV2ZW50cy51bmJpbmQoZXZlbnRfY2xlYW51cCwgcmVzZXQpOwoJCQkJCXJlc2V0KCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZiAoc2V0dGluZ3MuZ2V0KCdzbGlkZXNob3cnKSAmJiAkcmVsYXRlZFsxXSkgewoJCQkJCWFjdGl2ZSA9IHRydWU7CgkJCQkJJGV2ZW50cy5vbmUoZXZlbnRfY2xlYW51cCwgcmVzZXQpOwoJCQkJCWlmIChzZXR0aW5ncy5nZXQoJ3NsaWRlc2hvd0F1dG8nKSkgewoJCQkJCQlzdGFydCgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXN0b3AoKTsKCQkJCQl9CgkJCQkJJHNsaWRlc2hvdy5zaG93KCk7CgkJCQl9CgkJCX0KCQl9OwoKCX0oKSk7CgoKCWZ1bmN0aW9uIGxhdW5jaChlbGVtZW50KSB7CgkJdmFyIG9wdGlvbnM7CgoJCWlmICghY2xvc2luZykgewoKCQkJb3B0aW9ucyA9ICQoZWxlbWVudCkuZGF0YShjb2xvcmJveCk7CgoJCQlzZXR0aW5ncyA9IG5ldyBTZXR0aW5ncyhlbGVtZW50LCBvcHRpb25zKTsKCgkJCWdldFJlbGF0ZWQoc2V0dGluZ3MuZ2V0KCdyZWwnKSk7CgoJCQlpZiAoIW9wZW4pIHsKCQkJCW9wZW4gPSBhY3RpdmUgPSB0cnVlOyAvLyBQcmV2ZW50cyB0aGUgcGFnZS1jaGFuZ2UgYWN0aW9uIGZyb20gcXVldWluZyB1cCBpZiB0aGUgdmlzaXRvciBob2xkcyBkb3duIHRoZSBsZWZ0IG9yIHJpZ2h0IGtleXMuCgoJCQkJc2V0Q2xhc3Moc2V0dGluZ3MuZ2V0KCdjbGFzc05hbWUnKSk7CgoJCQkJLy8gU2hvdyBjb2xvcmJveCBzbyB0aGUgc2l6ZXMgY2FuIGJlIGNhbGN1bGF0ZWQgaW4gb2xkZXIgdmVyc2lvbnMgb2YgalF1ZXJ5CgkJCQkkYm94LmNzcyh7dmlzaWJpbGl0eTonaGlkZGVuJywgZGlzcGxheTonYmxvY2snLCBvcGFjaXR5OicnfSk7CgoJCQkJJGxvYWRlZCA9ICR0YWcoZGl2LCAnTG9hZGVkQ29udGVudCcsICd3aWR0aDowOyBoZWlnaHQ6MDsgb3ZlcmZsb3c6aGlkZGVuOyB2aXNpYmlsaXR5OmhpZGRlbicpOwoJCQkJJGNvbnRlbnQuY3NzKHt3aWR0aDonJywgaGVpZ2h0OicnfSkuYXBwZW5kKCRsb2FkZWQpOwoKCQkJCS8vIENhY2hlIHZhbHVlcyBuZWVkZWQgZm9yIHNpemUgY2FsY3VsYXRpb25zCgkJCQlpbnRlcmZhY2VIZWlnaHQgPSAkdG9wQm9yZGVyLmhlaWdodCgpICsgJGJvdHRvbUJvcmRlci5oZWlnaHQoKSArICRjb250ZW50Lm91dGVySGVpZ2h0KHRydWUpIC0gJGNvbnRlbnQuaGVpZ2h0KCk7CgkJCQlpbnRlcmZhY2VXaWR0aCA9ICRsZWZ0Qm9yZGVyLndpZHRoKCkgKyAkcmlnaHRCb3JkZXIud2lkdGgoKSArICRjb250ZW50Lm91dGVyV2lkdGgodHJ1ZSkgLSAkY29udGVudC53aWR0aCgpOwoJCQkJbG9hZGVkSGVpZ2h0ID0gJGxvYWRlZC5vdXRlckhlaWdodCh0cnVlKTsKCQkJCWxvYWRlZFdpZHRoID0gJGxvYWRlZC5vdXRlcldpZHRoKHRydWUpOwoKCQkJCS8vIE9wZW5zIGluaXRhbCBlbXB0eSBDb2xvcmJveCBwcmlvciB0byBjb250ZW50IGJlaW5nIGxvYWRlZC4KCQkJCXZhciBpbml0aWFsV2lkdGggPSBzZXRTaXplKHNldHRpbmdzLmdldCgnaW5pdGlhbFdpZHRoJyksICd4Jyk7CgkJCQl2YXIgaW5pdGlhbEhlaWdodCA9IHNldFNpemUoc2V0dGluZ3MuZ2V0KCdpbml0aWFsSGVpZ2h0JyksICd5Jyk7CgkJCQl2YXIgbWF4V2lkdGggPSBzZXR0aW5ncy5nZXQoJ21heFdpZHRoJyk7CgkJCQl2YXIgbWF4SGVpZ2h0ID0gc2V0dGluZ3MuZ2V0KCdtYXhIZWlnaHQnKTsKCgkJCQlzZXR0aW5ncy53ID0gTWF0aC5tYXgoKG1heFdpZHRoICE9PSBmYWxzZSA/IE1hdGgubWluKGluaXRpYWxXaWR0aCwgc2V0U2l6ZShtYXhXaWR0aCwgJ3gnKSkgOiBpbml0aWFsV2lkdGgpIC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aCwgMCk7CgkJCQlzZXR0aW5ncy5oID0gTWF0aC5tYXgoKG1heEhlaWdodCAhPT0gZmFsc2UgPyBNYXRoLm1pbihpbml0aWFsSGVpZ2h0LCBzZXRTaXplKG1heEhlaWdodCwgJ3knKSkgOiBpbml0aWFsSGVpZ2h0KSAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodCwgMCk7CgoJCQkJJGxvYWRlZC5jc3Moe3dpZHRoOicnLCBoZWlnaHQ6c2V0dGluZ3MuaH0pOwoJCQkJcHVibGljTWV0aG9kLnBvc2l0aW9uKCk7CgoJCQkJdHJpZ2dlcihldmVudF9vcGVuKTsKCQkJCXNldHRpbmdzLmdldCgnb25PcGVuJyk7CgoJCQkJJGdyb3VwQ29udHJvbHMuYWRkKCR0aXRsZSkuaGlkZSgpOwoKCQkJCSRib3guZm9jdXMoKTsKCgkJCQlpZiAoc2V0dGluZ3MuZ2V0KCd0cmFwRm9jdXMnKSkgewoJCQkJCS8vIENvbmZpbmUgZm9jdXMgdG8gdGhlIG1vZGFsCgkJCQkJLy8gVXNlcyBldmVudCBjYXB0dXJpbmcgdGhhdCBpcyBub3Qgc3VwcG9ydGVkIGluIElFOC0KCQkJCQlpZiAoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikgewoKCQkJCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0cmFwRm9jdXMsIHRydWUpOwoKCQkJCQkJJGV2ZW50cy5vbmUoZXZlbnRfY2xvc2VkLCBmdW5jdGlvbiAoKSB7CgkJCQkJCQlkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIHRyYXBGb2N1cywgdHJ1ZSk7CgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0KCgkJCQkvLyBSZXR1cm4gZm9jdXMgb24gY2xvc2luZwoJCQkJaWYgKHNldHRpbmdzLmdldCgncmV0dXJuRm9jdXMnKSkgewoJCQkJCSRldmVudHMub25lKGV2ZW50X2Nsb3NlZCwgZnVuY3Rpb24gKCkgewoJCQkJCQkkKHNldHRpbmdzLmVsKS5mb2N1cygpOwoJCQkJCX0pOwoJCQkJfQoJCQl9CgoJCQl2YXIgb3BhY2l0eSA9IHBhcnNlRmxvYXQoc2V0dGluZ3MuZ2V0KCdvcGFjaXR5JykpOwoJCQkkb3ZlcmxheS5jc3MoewoJCQkJb3BhY2l0eTogb3BhY2l0eSA9PT0gb3BhY2l0eSA/IG9wYWNpdHkgOiAnJywKCQkJCWN1cnNvcjogc2V0dGluZ3MuZ2V0KCdvdmVybGF5Q2xvc2UnKSA/ICdwb2ludGVyJyA6ICcnLAoJCQkJdmlzaWJpbGl0eTogJ3Zpc2libGUnCgkJCX0pLnNob3coKTsKCgkJCWlmIChzZXR0aW5ncy5nZXQoJ2Nsb3NlQnV0dG9uJykpIHsKCQkJCSRjbG9zZS5odG1sKHNldHRpbmdzLmdldCgnY2xvc2UnKSkuYXBwZW5kVG8oJGNvbnRlbnQpOwoJCQl9IGVsc2UgewoJCQkJJGNsb3NlLmFwcGVuZFRvKCc8ZGl2Lz4nKTsgLy8gcmVwbGFjZSB3aXRoIC5kZXRhY2goKSB3aGVuIGRyb3BwaW5nIGpRdWVyeSA8IDEuNAoJCQl9CgoJCQlsb2FkKCk7CgkJfQoJfQoKCS8vIENvbG9yYm94J3MgbWFya3VwIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00gcHJpb3IgdG8gYmVpbmcgY2FsbGVkCgkvLyBzbyB0aGF0IHRoZSBicm93c2VyIHdpbGwgZ28gYWhlYWQgYW5kIGxvYWQgdGhlIENTUyBiYWNrZ3JvdW5kIGltYWdlcy4KCWZ1bmN0aW9uIGFwcGVuZEhUTUwoKSB7CgkJaWYgKCEkYm94KSB7CgkJCWluaXQgPSBmYWxzZTsKCQkJJHdpbmRvdyA9ICQod2luZG93KTsKCQkJJGJveCA9ICR0YWcoZGl2KS5hdHRyKHsKCQkJCWlkOiBjb2xvcmJveCwKCQkJCSdjbGFzcyc6ICQuc3VwcG9ydC5vcGFjaXR5ID09PSBmYWxzZSA/IHByZWZpeCArICdJRScgOiAnJywgLy8gY2xhc3MgZm9yIG9wdGlvbmFsIElFOCAmIGxvd2VyIHRhcmdldGVkIENTUy4KCQkJCXJvbGU6ICdkaWFsb2cnLAoJCQkJdGFiaW5kZXg6ICctMScKCQkJfSkuaGlkZSgpOwoJCQkkb3ZlcmxheSA9ICR0YWcoZGl2LCAiT3ZlcmxheSIpLmhpZGUoKTsKCQkJJGxvYWRpbmdPdmVybGF5ID0gJChbJHRhZyhkaXYsICJMb2FkaW5nT3ZlcmxheSIpWzBdLCR0YWcoZGl2LCAiTG9hZGluZ0dyYXBoaWMiKVswXV0pOwoJCQkkd3JhcCA9ICR0YWcoZGl2LCAiV3JhcHBlciIpOwoJCQkkY29udGVudCA9ICR0YWcoZGl2LCAiQ29udGVudCIpLmFwcGVuZCgKCQkJCSR0aXRsZSA9ICR0YWcoZGl2LCAiVGl0bGUiKSwKCQkJCSRjdXJyZW50ID0gJHRhZyhkaXYsICJDdXJyZW50IiksCgkJCQkkcHJldiA9ICQoJzxidXR0b24gdHlwZT0iYnV0dG9uIi8+JykuYXR0cih7aWQ6cHJlZml4KydQcmV2aW91cyd9KSwKCQkJCSRuZXh0ID0gJCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iLz4nKS5hdHRyKHtpZDpwcmVmaXgrJ05leHQnfSksCgkJCQkkc2xpZGVzaG93ID0gJCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iLz4nKS5hdHRyKHtpZDpwcmVmaXgrJ1NsaWRlc2hvdyd9KSwKCQkJCSRsb2FkaW5nT3ZlcmxheQoJCQkpOwoKCQkJJGNsb3NlID0gJCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iLz4nKS5hdHRyKHtpZDpwcmVmaXgrJ0Nsb3NlJ30pOwoKCQkJJHdyYXAuYXBwZW5kKCAvLyBUaGUgM3gzIEdyaWQgdGhhdCBtYWtlcyB1cCBDb2xvcmJveAoJCQkJJHRhZyhkaXYpLmFwcGVuZCgKCQkJCQkkdGFnKGRpdiwgIlRvcExlZnQiKSwKCQkJCQkkdG9wQm9yZGVyID0gJHRhZyhkaXYsICJUb3BDZW50ZXIiKSwKCQkJCQkkdGFnKGRpdiwgIlRvcFJpZ2h0IikKCQkJCSksCgkJCQkkdGFnKGRpdiwgZmFsc2UsICdjbGVhcjpsZWZ0JykuYXBwZW5kKAoJCQkJCSRsZWZ0Qm9yZGVyID0gJHRhZyhkaXYsICJNaWRkbGVMZWZ0IiksCgkJCQkJJGNvbnRlbnQsCgkJCQkJJHJpZ2h0Qm9yZGVyID0gJHRhZyhkaXYsICJNaWRkbGVSaWdodCIpCgkJCQkpLAoJCQkJJHRhZyhkaXYsIGZhbHNlLCAnY2xlYXI6bGVmdCcpLmFwcGVuZCgKCQkJCQkkdGFnKGRpdiwgIkJvdHRvbUxlZnQiKSwKCQkJCQkkYm90dG9tQm9yZGVyID0gJHRhZyhkaXYsICJCb3R0b21DZW50ZXIiKSwKCQkJCQkkdGFnKGRpdiwgIkJvdHRvbVJpZ2h0IikKCQkJCSkKCQkJKS5maW5kKCdkaXYgZGl2JykuY3NzKHsnZmxvYXQnOiAnbGVmdCd9KTsKCgkJCSRsb2FkaW5nQmF5ID0gJHRhZyhkaXYsIGZhbHNlLCAncG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjk5OTlweDsgdmlzaWJpbGl0eTpoaWRkZW47IGRpc3BsYXk6bm9uZTsgbWF4LXdpZHRoOm5vbmU7Jyk7CgoJCQkkZ3JvdXBDb250cm9scyA9ICRuZXh0LmFkZCgkcHJldikuYWRkKCRjdXJyZW50KS5hZGQoJHNsaWRlc2hvdyk7CgkJfQoJCWlmIChkb2N1bWVudC5ib2R5ICYmICEkYm94LnBhcmVudCgpLmxlbmd0aCkgewoJCQkkKGRvY3VtZW50LmJvZHkpLmFwcGVuZCgkb3ZlcmxheSwgJGJveC5hcHBlbmQoJHdyYXAsICRsb2FkaW5nQmF5KSk7CgkJfQoJfQoKCS8vIEFkZCBDb2xvcmJveCdzIGV2ZW50IGJpbmRpbmdzCglmdW5jdGlvbiBhZGRCaW5kaW5ncygpIHsKCQlmdW5jdGlvbiBjbGlja0hhbmRsZXIoZSkgewoJCQkvLyBpZ25vcmUgbm9uLWxlZnQtbW91c2UtY2xpY2tzIGFuZCBjbGlja3MgbW9kaWZpZWQgd2l0aCBjdHJsIC8gY29tbWFuZCwgc2hpZnQsIG9yIGFsdC4KCQkJLy8gU2VlOiBodHRwOi8vamFja2xtb29yZS5jb20vbm90ZXMvY2xpY2stZXZlbnRzLwoJCQlpZiAoIShlLndoaWNoID4gMSB8fCBlLnNoaWZ0S2V5IHx8IGUuYWx0S2V5IHx8IGUubWV0YUtleSB8fCBlLmN0cmxLZXkpKSB7CgkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQlsYXVuY2godGhpcyk7CgkJCX0KCQl9CgoJCWlmICgkYm94KSB7CgkJCWlmICghaW5pdCkgewoJCQkJaW5pdCA9IHRydWU7CgoJCQkJLy8gQW5vbnltb3VzIGZ1bmN0aW9ucyBoZXJlIGtlZXAgdGhlIHB1YmxpYyBtZXRob2QgZnJvbSBiZWluZyBjYWNoZWQsIHRoZXJlYnkgYWxsb3dpbmcgdGhlbSB0byBiZSByZWRlZmluZWQgb24gdGhlIGZseS4KCQkJCSRuZXh0LmNsaWNrKGZ1bmN0aW9uICgpIHsKCQkJCQlwdWJsaWNNZXRob2QubmV4dCgpOwoJCQkJfSk7CgkJCQkkcHJldi5jbGljayhmdW5jdGlvbiAoKSB7CgkJCQkJcHVibGljTWV0aG9kLnByZXYoKTsKCQkJCX0pOwoJCQkJJGNsb3NlLmNsaWNrKGZ1bmN0aW9uICgpIHsKCQkJCQlwdWJsaWNNZXRob2QuY2xvc2UoKTsKCQkJCX0pOwoJCQkJJG92ZXJsYXkuY2xpY2soZnVuY3Rpb24gKCkgewoJCQkJCWlmIChzZXR0aW5ncy5nZXQoJ292ZXJsYXlDbG9zZScpKSB7CgkJCQkJCXB1YmxpY01ldGhvZC5jbG9zZSgpOwoJCQkJCX0KCQkJCX0pOwoKCQkJCS8vIEtleSBCaW5kaW5ncwoJCQkJJChkb2N1bWVudCkuYmluZCgna2V5ZG93bi4nICsgcHJlZml4LCBmdW5jdGlvbiAoZSkgewoJCQkJCXZhciBrZXkgPSBlLmtleUNvZGU7CgkJCQkJaWYgKG9wZW4gJiYgc2V0dGluZ3MuZ2V0KCdlc2NLZXknKSAmJiBrZXkgPT09IDI3KSB7CgkJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQkJcHVibGljTWV0aG9kLmNsb3NlKCk7CgkJCQkJfQoJCQkJCWlmIChvcGVuICYmIHNldHRpbmdzLmdldCgnYXJyb3dLZXknKSAmJiAkcmVsYXRlZFsxXSAmJiAhZS5hbHRLZXkpIHsKCQkJCQkJaWYgKGtleSA9PT0gMzcpIHsKCQkJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQkJCSRwcmV2LmNsaWNrKCk7CgkJCQkJCX0gZWxzZSBpZiAoa2V5ID09PSAzOSkgewoJCQkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCQkJJG5leHQuY2xpY2soKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmICgkLmlzRnVuY3Rpb24oJC5mbi5vbikpIHsKCQkJCQkvLyBGb3IgalF1ZXJ5IDEuNysKCQkJCQkkKGRvY3VtZW50KS5vbignY2xpY2suJytwcmVmaXgsICcuJytib3hFbGVtZW50LCBjbGlja0hhbmRsZXIpOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBGb3IgalF1ZXJ5IDEuMy54IC0+IDEuNi54CgkJCQkJLy8gVGhpcyBjb2RlIGlzIG5ldmVyIHJlYWNoZWQgaW4galF1ZXJ5IDEuOSwgc28gZG8gbm90IGNvbnRhY3QgbWUgYWJvdXQgJ2xpdmUnIGJlaW5nIHJlbW92ZWQuCgkJCQkJLy8gVGhpcyBpcyBub3QgaGVyZSBmb3IgalF1ZXJ5IDEuOSwgaXQncyBoZXJlIGZvciBsZWdhY3kgdXNlcnMuCgkJCQkJJCgnLicrYm94RWxlbWVudCkubGl2ZSgnY2xpY2suJytwcmVmaXgsIGNsaWNrSGFuZGxlcik7CgkJCQl9CgkJCX0KCQkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCgkvLyBEb24ndCBkbyBhbnl0aGluZyBpZiBDb2xvcmJveCBhbHJlYWR5IGV4aXN0cy4KCWlmICgkW2NvbG9yYm94XSkgewoJCXJldHVybjsKCX0KCgkvLyBBcHBlbmQgdGhlIEhUTUwgd2hlbiB0aGUgRE9NIGxvYWRzCgkkKGFwcGVuZEhUTUwpOwoKCgkvLyAqKioqKioqKioqKioqKioqCgkvLyBQVUJMSUMgRlVOQ1RJT05TCgkvLyBVc2FnZSBmb3JtYXQ6ICQuY29sb3Jib3guY2xvc2UoKTsKCS8vIFVzYWdlIGZyb20gd2l0aGluIGFuIGlmcmFtZTogcGFyZW50LmpRdWVyeS5jb2xvcmJveC5jbG9zZSgpOwoJLy8gKioqKioqKioqKioqKioqKgoKCXB1YmxpY01ldGhvZCA9ICQuZm5bY29sb3Jib3hdID0gJFtjb2xvcmJveF0gPSBmdW5jdGlvbiAob3B0aW9ucywgY2FsbGJhY2spIHsKCQl2YXIgc2V0dGluZ3M7CgkJdmFyICRvYmogPSB0aGlzOwoKCQlvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKCgkJaWYgKCQuaXNGdW5jdGlvbigkb2JqKSkgeyAvLyBhc3N1bWUgYSBjYWxsIHRvICQuY29sb3Jib3gKCQkJJG9iaiA9ICQoJzxhLz4nKTsKCQkJb3B0aW9ucy5vcGVuID0gdHJ1ZTsKCQl9CgoJCWlmICghJG9ialswXSkgeyAvLyBjb2xvcmJveCBiZWluZyBhcHBsaWVkIHRvIGVtcHR5IGNvbGxlY3Rpb24KCQkJcmV0dXJuICRvYmo7CgkJfQoKCQlhcHBlbmRIVE1MKCk7CgoJCWlmIChhZGRCaW5kaW5ncygpKSB7CgoJCQlpZiAoY2FsbGJhY2spIHsKCQkJCW9wdGlvbnMub25Db21wbGV0ZSA9IGNhbGxiYWNrOwoJCQl9CgoJCQkkb2JqLmVhY2goZnVuY3Rpb24gKCkgewoJCQkJdmFyIG9sZCA9ICQuZGF0YSh0aGlzLCBjb2xvcmJveCkgfHwge307CgkJCQkkLmRhdGEodGhpcywgY29sb3Jib3gsICQuZXh0ZW5kKG9sZCwgb3B0aW9ucykpOwoJCQl9KS5hZGRDbGFzcyhib3hFbGVtZW50KTsKCgkJCXNldHRpbmdzID0gbmV3IFNldHRpbmdzKCRvYmpbMF0sIG9wdGlvbnMpOwoKCQkJaWYgKHNldHRpbmdzLmdldCgnb3BlbicpKSB7CgkJCQlsYXVuY2goJG9ialswXSk7CgkJCX0KCQl9CgoJCXJldHVybiAkb2JqOwoJfTsKCglwdWJsaWNNZXRob2QucG9zaXRpb24gPSBmdW5jdGlvbiAoc3BlZWQsIGxvYWRlZENhbGxiYWNrKSB7CgkJdmFyCgkJY3NzLAoJCXRvcCA9IDAsCgkJbGVmdCA9IDAsCgkJb2Zmc2V0ID0gJGJveC5vZmZzZXQoKSwKCQlzY3JvbGxUb3AsCgkJc2Nyb2xsTGVmdDsKCgkJJHdpbmRvdy51bmJpbmQoJ3Jlc2l6ZS4nICsgcHJlZml4KTsKCgkJLy8gcmVtb3ZlIHRoZSBtb2RhbCBzbyB0aGF0IGl0IGRvZXNuJ3QgaW5mbHVlbmNlIHRoZSBkb2N1bWVudCB3aWR0aC9oZWlnaHQKCQkkYm94LmNzcyh7dG9wOiAtOWU0LCBsZWZ0OiAtOWU0fSk7CgoJCXNjcm9sbFRvcCA9ICR3aW5kb3cuc2Nyb2xsVG9wKCk7CgkJc2Nyb2xsTGVmdCA9ICR3aW5kb3cuc2Nyb2xsTGVmdCgpOwoKCQlpZiAoc2V0dGluZ3MuZ2V0KCdmaXhlZCcpKSB7CgkJCW9mZnNldC50b3AgLT0gc2Nyb2xsVG9wOwoJCQlvZmZzZXQubGVmdCAtPSBzY3JvbGxMZWZ0OwoJCQkkYm94LmNzcyh7cG9zaXRpb246ICdmaXhlZCd9KTsKCQl9IGVsc2UgewoJCQl0b3AgPSBzY3JvbGxUb3A7CgkJCWxlZnQgPSBzY3JvbGxMZWZ0OwoJCQkkYm94LmNzcyh7cG9zaXRpb246ICdhYnNvbHV0ZSd9KTsKCQl9CgoJCS8vIGtlZXBzIHRoZSB0b3AgYW5kIGxlZnQgcG9zaXRpb25zIHdpdGhpbiB0aGUgYnJvd3NlcidzIHZpZXdwb3J0LgoJCWlmIChzZXR0aW5ncy5nZXQoJ3JpZ2h0JykgIT09IGZhbHNlKSB7CgkJCWxlZnQgKz0gTWF0aC5tYXgoJHdpbmRvdy53aWR0aCgpIC0gc2V0dGluZ3MudyAtIGxvYWRlZFdpZHRoIC0gaW50ZXJmYWNlV2lkdGggLSBzZXRTaXplKHNldHRpbmdzLmdldCgncmlnaHQnKSwgJ3gnKSwgMCk7CgkJfSBlbHNlIGlmIChzZXR0aW5ncy5nZXQoJ2xlZnQnKSAhPT0gZmFsc2UpIHsKCQkJbGVmdCArPSBzZXRTaXplKHNldHRpbmdzLmdldCgnbGVmdCcpLCAneCcpOwoJCX0gZWxzZSB7CgkJCWxlZnQgKz0gTWF0aC5yb3VuZChNYXRoLm1heCgkd2luZG93LndpZHRoKCkgLSBzZXR0aW5ncy53IC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aCwgMCkgLyAyKTsKCQl9CgoJCWlmIChzZXR0aW5ncy5nZXQoJ2JvdHRvbScpICE9PSBmYWxzZSkgewoJCQl0b3AgKz0gTWF0aC5tYXgod2luaGVpZ2h0KCkgLSBzZXR0aW5ncy5oIC0gbG9hZGVkSGVpZ2h0IC0gaW50ZXJmYWNlSGVpZ2h0IC0gc2V0U2l6ZShzZXR0aW5ncy5nZXQoJ2JvdHRvbScpLCAneScpLCAwKTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLmdldCgndG9wJykgIT09IGZhbHNlKSB7CgkJCXRvcCArPSBzZXRTaXplKHNldHRpbmdzLmdldCgndG9wJyksICd5Jyk7CgkJfSBlbHNlIHsKCQkJdG9wICs9IE1hdGgucm91bmQoTWF0aC5tYXgod2luaGVpZ2h0KCkgLSBzZXR0aW5ncy5oIC0gbG9hZGVkSGVpZ2h0IC0gaW50ZXJmYWNlSGVpZ2h0LCAwKSAvIDIpOwoJCX0KCgkJJGJveC5jc3Moe3RvcDogb2Zmc2V0LnRvcCwgbGVmdDogb2Zmc2V0LmxlZnQsIHZpc2liaWxpdHk6J3Zpc2libGUnfSk7CgoJCS8vIHRoaXMgZ2l2ZXMgdGhlIHdyYXBwZXIgcGxlbnR5IG9mIGJyZWF0aGluZyByb29tIHNvIGl0J3MgZmxvYXRlZCBjb250ZW50cyBjYW4gbW92ZSBhcm91bmQgc21vb3RobHksCgkJLy8gYnV0IGl0IGhhcyB0byBiZSBzaHJhbmsgZG93biBhcm91bmQgdGhlIHNpemUgb2YgZGl2I2NvbG9yYm94IHdoZW4gaXQncyBkb25lLiAgSWYgbm90LAoJCS8vIGl0IGNhbiBpbnZva2UgYW4gb2JzY3VyZSBJRSBidWcgd2hlbiB1c2luZyBpZnJhbWVzLgoJCSR3cmFwWzBdLnN0eWxlLndpZHRoID0gJHdyYXBbMF0uc3R5bGUuaGVpZ2h0ID0gIjk5OTlweCI7CgoJCWZ1bmN0aW9uIG1vZGFsRGltZW5zaW9ucygpIHsKCQkJJHRvcEJvcmRlclswXS5zdHlsZS53aWR0aCA9ICRib3R0b21Cb3JkZXJbMF0uc3R5bGUud2lkdGggPSAkY29udGVudFswXS5zdHlsZS53aWR0aCA9IChwYXJzZUludCgkYm94WzBdLnN0eWxlLndpZHRoLDEwKSAtIGludGVyZmFjZVdpZHRoKSsncHgnOwoJCQkkY29udGVudFswXS5zdHlsZS5oZWlnaHQgPSAkbGVmdEJvcmRlclswXS5zdHlsZS5oZWlnaHQgPSAkcmlnaHRCb3JkZXJbMF0uc3R5bGUuaGVpZ2h0ID0gKHBhcnNlSW50KCRib3hbMF0uc3R5bGUuaGVpZ2h0LDEwKSAtIGludGVyZmFjZUhlaWdodCkrJ3B4JzsKCQl9CgoJCWNzcyA9IHt3aWR0aDogc2V0dGluZ3MudyArIGxvYWRlZFdpZHRoICsgaW50ZXJmYWNlV2lkdGgsIGhlaWdodDogc2V0dGluZ3MuaCArIGxvYWRlZEhlaWdodCArIGludGVyZmFjZUhlaWdodCwgdG9wOiB0b3AsIGxlZnQ6IGxlZnR9OwoKCQkvLyBzZXR0aW5nIHRoZSBzcGVlZCB0byAwIGlmIHRoZSBjb250ZW50IGhhc24ndCBjaGFuZ2VkIHNpemUgb3IgcG9zaXRpb24KCQlpZiAoc3BlZWQpIHsKCQkJdmFyIHRlbXBTcGVlZCA9IDA7CgkJCSQuZWFjaChjc3MsIGZ1bmN0aW9uKGkpewoJCQkJaWYgKGNzc1tpXSAhPT0gcHJldmlvdXNDU1NbaV0pIHsKCQkJCQl0ZW1wU3BlZWQgPSBzcGVlZDsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCX0pOwoJCQlzcGVlZCA9IHRlbXBTcGVlZDsKCQl9CgoJCXByZXZpb3VzQ1NTID0gY3NzOwoKCQlpZiAoIXNwZWVkKSB7CgkJCSRib3guY3NzKGNzcyk7CgkJfQoKCQkkYm94LmRlcXVldWUoKS5hbmltYXRlKGNzcywgewoJCQlkdXJhdGlvbjogc3BlZWQgfHwgMCwKCQkJY29tcGxldGU6IGZ1bmN0aW9uICgpIHsKCQkJCW1vZGFsRGltZW5zaW9ucygpOwoKCQkJCWFjdGl2ZSA9IGZhbHNlOwoKCQkJCS8vIHNocmluayB0aGUgd3JhcHBlciBkb3duIHRvIGV4YWN0bHkgdGhlIHNpemUgb2YgY29sb3Jib3ggdG8gYXZvaWQgYSBidWcgaW4gSUUncyBpZnJhbWUgaW1wbGVtZW50YXRpb24uCgkJCQkkd3JhcFswXS5zdHlsZS53aWR0aCA9IChzZXR0aW5ncy53ICsgbG9hZGVkV2lkdGggKyBpbnRlcmZhY2VXaWR0aCkgKyAicHgiOwoJCQkJJHdyYXBbMF0uc3R5bGUuaGVpZ2h0ID0gKHNldHRpbmdzLmggKyBsb2FkZWRIZWlnaHQgKyBpbnRlcmZhY2VIZWlnaHQpICsgInB4IjsKCgkJCQlpZiAoc2V0dGluZ3MuZ2V0KCdyZXBvc2l0aW9uJykpIHsKCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgIC8vIHNtYWxsIGRlbGF5IGJlZm9yZSBiaW5kaW5nIG9ucmVzaXplIGR1ZSB0byBhbiBJRTggYnVnLgoJCQkJCQkkd2luZG93LmJpbmQoJ3Jlc2l6ZS4nICsgcHJlZml4LCBwdWJsaWNNZXRob2QucG9zaXRpb24pOwoJCQkJCX0sIDEpOwoJCQkJfQoKCQkJCWlmICgkLmlzRnVuY3Rpb24obG9hZGVkQ2FsbGJhY2spKSB7CgkJCQkJbG9hZGVkQ2FsbGJhY2soKTsKCQkJCX0KCQkJfSwKCQkJc3RlcDogbW9kYWxEaW1lbnNpb25zCgkJfSk7Cgl9OwoKCXB1YmxpY01ldGhvZC5yZXNpemUgPSBmdW5jdGlvbiAob3B0aW9ucykgewoJCXZhciBzY3JvbGx0b3A7CgoJCWlmIChvcGVuKSB7CgkJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoKCQkJaWYgKG9wdGlvbnMud2lkdGgpIHsKCQkJCXNldHRpbmdzLncgPSBzZXRTaXplKG9wdGlvbnMud2lkdGgsICd4JykgLSBsb2FkZWRXaWR0aCAtIGludGVyZmFjZVdpZHRoOwoJCQl9CgoJCQlpZiAob3B0aW9ucy5pbm5lcldpZHRoKSB7CgkJCQlzZXR0aW5ncy53ID0gc2V0U2l6ZShvcHRpb25zLmlubmVyV2lkdGgsICd4Jyk7CgkJCX0KCgkJCSRsb2FkZWQuY3NzKHt3aWR0aDogc2V0dGluZ3Mud30pOwoKCQkJaWYgKG9wdGlvbnMuaGVpZ2h0KSB7CgkJCQlzZXR0aW5ncy5oID0gc2V0U2l6ZShvcHRpb25zLmhlaWdodCwgJ3knKSAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodDsKCQkJfQoKCQkJaWYgKG9wdGlvbnMuaW5uZXJIZWlnaHQpIHsKCQkJCXNldHRpbmdzLmggPSBzZXRTaXplKG9wdGlvbnMuaW5uZXJIZWlnaHQsICd5Jyk7CgkJCX0KCgkJCWlmICghb3B0aW9ucy5pbm5lckhlaWdodCAmJiAhb3B0aW9ucy5oZWlnaHQpIHsKCQkJCXNjcm9sbHRvcCA9ICRsb2FkZWQuc2Nyb2xsVG9wKCk7CgkJCQkkbG9hZGVkLmNzcyh7aGVpZ2h0OiAiYXV0byJ9KTsKCQkJCXNldHRpbmdzLmggPSAkbG9hZGVkLmhlaWdodCgpOwoJCQl9CgoJCQkkbG9hZGVkLmNzcyh7aGVpZ2h0OiBzZXR0aW5ncy5ofSk7CgoJCQlpZihzY3JvbGx0b3ApIHsKCQkJCSRsb2FkZWQuc2Nyb2xsVG9wKHNjcm9sbHRvcCk7CgkJCX0KCgkJCXB1YmxpY01ldGhvZC5wb3NpdGlvbihzZXR0aW5ncy5nZXQoJ3RyYW5zaXRpb24nKSA9PT0gIm5vbmUiID8gMCA6IHNldHRpbmdzLmdldCgnc3BlZWQnKSk7CgkJfQoJfTsKCglwdWJsaWNNZXRob2QucHJlcCA9IGZ1bmN0aW9uIChvYmplY3QpIHsKCQlpZiAoIW9wZW4pIHsKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIGNhbGxiYWNrLCBzcGVlZCA9IHNldHRpbmdzLmdldCgndHJhbnNpdGlvbicpID09PSAibm9uZSIgPyAwIDogc2V0dGluZ3MuZ2V0KCdzcGVlZCcpOwoKCQkkbG9hZGVkLnJlbW92ZSgpOwoKCQkkbG9hZGVkID0gJHRhZyhkaXYsICdMb2FkZWRDb250ZW50JykuYXBwZW5kKG9iamVjdCk7CgoJCWZ1bmN0aW9uIGdldFdpZHRoKCkgewoJCQlzZXR0aW5ncy53ID0gc2V0dGluZ3MudyB8fCAkbG9hZGVkLndpZHRoKCk7CgkJCXNldHRpbmdzLncgPSBzZXR0aW5ncy5tdyAmJiBzZXR0aW5ncy5tdyA8IHNldHRpbmdzLncgPyBzZXR0aW5ncy5tdyA6IHNldHRpbmdzLnc7CgkJCXJldHVybiBzZXR0aW5ncy53OwoJCX0KCQlmdW5jdGlvbiBnZXRIZWlnaHQoKSB7CgkJCXNldHRpbmdzLmggPSBzZXR0aW5ncy5oIHx8ICRsb2FkZWQuaGVpZ2h0KCk7CgkJCXNldHRpbmdzLmggPSBzZXR0aW5ncy5taCAmJiBzZXR0aW5ncy5taCA8IHNldHRpbmdzLmggPyBzZXR0aW5ncy5taCA6IHNldHRpbmdzLmg7CgkJCXJldHVybiBzZXR0aW5ncy5oOwoJCX0KCgkJJGxvYWRlZC5oaWRlKCkKCQkuYXBwZW5kVG8oJGxvYWRpbmdCYXkuc2hvdygpKS8vIGNvbnRlbnQgaGFzIHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBET00gZm9yIGFjY3VyYXRlIHNpemUgY2FsY3VsYXRpb25zLgoJCS5jc3Moe3dpZHRoOiBnZXRXaWR0aCgpLCBvdmVyZmxvdzogc2V0dGluZ3MuZ2V0KCdzY3JvbGxpbmcnKSA/ICdhdXRvJyA6ICdoaWRkZW4nfSkKCQkuY3NzKHtoZWlnaHQ6IGdldEhlaWdodCgpfSkvLyBzZXRzIHRoZSBoZWlnaHQgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSB3aWR0aCBpbiBjYXNlIHRoZSBuZXcgd2lkdGggaW5mbHVlbmNlcyB0aGUgdmFsdWUgb2YgaGVpZ2h0LgoJCS5wcmVwZW5kVG8oJGNvbnRlbnQpOwoKCQkkbG9hZGluZ0JheS5oaWRlKCk7CgoJCS8vIGZsb2F0aW5nIHRoZSBJTUcgcmVtb3ZlcyB0aGUgYm90dG9tIGxpbmUtaGVpZ2h0IGFuZCBmaXhlZCBhIHByb2JsZW0gd2hlcmUgSUUgbWlzY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBlbGVtZW50IGFzIDEwMCUgb2YgdGhlIGRvY3VtZW50IHdpZHRoLgoKCQkkKHBob3RvKS5jc3MoeydmbG9hdCc6ICdub25lJ30pOwoKCQlzZXRDbGFzcyhzZXR0aW5ncy5nZXQoJ2NsYXNzTmFtZScpKTsKCgkJY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7CgkJCXZhciB0b3RhbCA9ICRyZWxhdGVkLmxlbmd0aCwKCQkJCWlmcmFtZSwKCQkJCWNvbXBsZXRlOwoKCQkJaWYgKCFvcGVuKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCWZ1bmN0aW9uIHJlbW92ZUZpbHRlcigpIHsgLy8gTmVlZGVkIGZvciBJRTggaW4gdmVyc2lvbnMgb2YgalF1ZXJ5IHByaW9yIHRvIDEuNy4yCgkJCQlpZiAoJC5zdXBwb3J0Lm9wYWNpdHkgPT09IGZhbHNlKSB7CgkJCQkJJGJveFswXS5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoJ2ZpbHRlcicpOwoJCQkJfQoJCQl9CgoJCQljb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHsKCQkJCWNsZWFyVGltZW91dChsb2FkaW5nVGltZXIpOwoJCQkJJGxvYWRpbmdPdmVybGF5LmhpZGUoKTsKCQkJCXRyaWdnZXIoZXZlbnRfY29tcGxldGUpOwoJCQkJc2V0dGluZ3MuZ2V0KCdvbkNvbXBsZXRlJyk7CgkJCX07CgoKCQkJJHRpdGxlLmh0bWwoc2V0dGluZ3MuZ2V0KCd0aXRsZScpKS5zaG93KCk7CgkJCSRsb2FkZWQuc2hvdygpOwoKCQkJaWYgKHRvdGFsID4gMSkgeyAvLyBoYW5kbGUgZ3JvdXBpbmcKCQkJCWlmICh0eXBlb2Ygc2V0dGluZ3MuZ2V0KCdjdXJyZW50JykgPT09ICJzdHJpbmciKSB7CgkJCQkJJGN1cnJlbnQuaHRtbChzZXR0aW5ncy5nZXQoJ2N1cnJlbnQnKS5yZXBsYWNlKCd7Y3VycmVudH0nLCBpbmRleCArIDEpLnJlcGxhY2UoJ3t0b3RhbH0nLCB0b3RhbCkpLnNob3coKTsKCQkJCX0KCgkJCQkkbmV4dFsoc2V0dGluZ3MuZ2V0KCdsb29wJykgfHwgaW5kZXggPCB0b3RhbCAtIDEpID8gInNob3ciIDogImhpZGUiXSgpLmh0bWwoc2V0dGluZ3MuZ2V0KCduZXh0JykpOwoJCQkJJHByZXZbKHNldHRpbmdzLmdldCgnbG9vcCcpIHx8IGluZGV4KSA/ICJzaG93IiA6ICJoaWRlIl0oKS5odG1sKHNldHRpbmdzLmdldCgncHJldmlvdXMnKSk7CgoJCQkJc2xpZGVzaG93KCk7CgoJCQkJLy8gUHJlbG9hZHMgaW1hZ2VzIHdpdGhpbiBhIHJlbCBncm91cAoJCQkJaWYgKHNldHRpbmdzLmdldCgncHJlbG9hZGluZycpKSB7CgkJCQkJJC5lYWNoKFtnZXRJbmRleCgtMSksIGdldEluZGV4KDEpXSwgZnVuY3Rpb24oKXsKCQkJCQkJdmFyIGltZywKCQkJCQkJCWkgPSAkcmVsYXRlZFt0aGlzXSwKCQkJCQkJCXNldHRpbmdzID0gbmV3IFNldHRpbmdzKGksICQuZGF0YShpLCBjb2xvcmJveCkpLAoJCQkJCQkJc3JjID0gc2V0dGluZ3MuZ2V0KCdocmVmJyk7CgoJCQkJCQlpZiAoc3JjICYmIGlzSW1hZ2Uoc2V0dGluZ3MsIHNyYykpIHsKCQkJCQkJCXNyYyA9IHJldGluYVVybChzZXR0aW5ncywgc3JjKTsKCQkJCQkJCWltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwoJCQkJCQkJaW1nLnNyYyA9IHNyYzsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJJGdyb3VwQ29udHJvbHMuaGlkZSgpOwoJCQl9CgoJCQlpZiAoc2V0dGluZ3MuZ2V0KCdpZnJhbWUnKSkgewoKCQkJCWlmcmFtZSA9IHNldHRpbmdzLmdldCgnY3JlYXRlSWZyYW1lJyk7CgoJCQkJaWYgKCFzZXR0aW5ncy5nZXQoJ3Njcm9sbGluZycpKSB7CgkJCQkJaWZyYW1lLnNjcm9sbGluZyA9ICJubyI7CgkJCQl9CgoJCQkJJChpZnJhbWUpCgkJCQkJLmF0dHIoewoJCQkJCQlzcmM6IHNldHRpbmdzLmdldCgnaHJlZicpLAoJCQkJCQknY2xhc3MnOiBwcmVmaXggKyAnSWZyYW1lJwoJCQkJCX0pCgkJCQkJLm9uZSgnbG9hZCcsIGNvbXBsZXRlKQoJCQkJCS5hcHBlbmRUbygkbG9hZGVkKTsKCgkJCQkkZXZlbnRzLm9uZShldmVudF9wdXJnZSwgZnVuY3Rpb24gKCkgewoJCQkJCWlmcmFtZS5zcmMgPSAiLy9hYm91dDpibGFuayI7CgkJCQl9KTsKCgkJCQlpZiAoc2V0dGluZ3MuZ2V0KCdmYXN0SWZyYW1lJykpIHsKCQkJCQkkKGlmcmFtZSkudHJpZ2dlcignbG9hZCcpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJY29tcGxldGUoKTsKCQkJfQoKCQkJaWYgKHNldHRpbmdzLmdldCgndHJhbnNpdGlvbicpID09PSAnZmFkZScpIHsKCQkJCSRib3guZmFkZVRvKHNwZWVkLCAxLCByZW1vdmVGaWx0ZXIpOwoJCQl9IGVsc2UgewoJCQkJcmVtb3ZlRmlsdGVyKCk7CgkJCX0KCQl9OwoKCQlpZiAoc2V0dGluZ3MuZ2V0KCd0cmFuc2l0aW9uJykgPT09ICdmYWRlJykgewoJCQkkYm94LmZhZGVUbyhzcGVlZCwgMCwgZnVuY3Rpb24gKCkgewoJCQkJcHVibGljTWV0aG9kLnBvc2l0aW9uKDAsIGNhbGxiYWNrKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJcHVibGljTWV0aG9kLnBvc2l0aW9uKHNwZWVkLCBjYWxsYmFjayk7CgkJfQoJfTsKCglmdW5jdGlvbiBsb2FkICgpIHsKCQl2YXIgaHJlZiwgc2V0UmVzaXplLCBwcmVwID0gcHVibGljTWV0aG9kLnByZXAsICRpbmxpbmUsIHJlcXVlc3QgPSArK3JlcXVlc3RzOwoKCQlhY3RpdmUgPSB0cnVlOwoKCQlwaG90byA9IGZhbHNlOwoKCQl0cmlnZ2VyKGV2ZW50X3B1cmdlKTsKCQl0cmlnZ2VyKGV2ZW50X2xvYWQpOwoJCXNldHRpbmdzLmdldCgnb25Mb2FkJyk7CgoJCXNldHRpbmdzLmggPSBzZXR0aW5ncy5nZXQoJ2hlaWdodCcpID8KCQkJCXNldFNpemUoc2V0dGluZ3MuZ2V0KCdoZWlnaHQnKSwgJ3knKSAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodCA6CgkJCQlzZXR0aW5ncy5nZXQoJ2lubmVySGVpZ2h0JykgJiYgc2V0U2l6ZShzZXR0aW5ncy5nZXQoJ2lubmVySGVpZ2h0JyksICd5Jyk7CgoJCXNldHRpbmdzLncgPSBzZXR0aW5ncy5nZXQoJ3dpZHRoJykgPwoJCQkJc2V0U2l6ZShzZXR0aW5ncy5nZXQoJ3dpZHRoJyksICd4JykgLSBsb2FkZWRXaWR0aCAtIGludGVyZmFjZVdpZHRoIDoKCQkJCXNldHRpbmdzLmdldCgnaW5uZXJXaWR0aCcpICYmIHNldFNpemUoc2V0dGluZ3MuZ2V0KCdpbm5lcldpZHRoJyksICd4Jyk7CgoJCS8vIFNldHMgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBmb3IgdXNlIGluIGltYWdlIHNjYWxpbmcKCQlzZXR0aW5ncy5tdyA9IHNldHRpbmdzLnc7CgkJc2V0dGluZ3MubWggPSBzZXR0aW5ncy5oOwoKCQkvLyBSZS1ldmFsdWF0ZSB0aGUgbWluaW11bSB3aWR0aCBhbmQgaGVpZ2h0IGJhc2VkIG9uIG1heFdpZHRoIGFuZCBtYXhIZWlnaHQgdmFsdWVzLgoJCS8vIElmIHRoZSB3aWR0aCBvciBoZWlnaHQgZXhjZWVkIHRoZSBtYXhXaWR0aCBvciBtYXhIZWlnaHQsIHVzZSB0aGUgbWF4aW11bSB2YWx1ZXMgaW5zdGVhZC4KCQlpZiAoc2V0dGluZ3MuZ2V0KCdtYXhXaWR0aCcpKSB7CgkJCXNldHRpbmdzLm13ID0gc2V0U2l6ZShzZXR0aW5ncy5nZXQoJ21heFdpZHRoJyksICd4JykgLSBsb2FkZWRXaWR0aCAtIGludGVyZmFjZVdpZHRoOwoJCQlzZXR0aW5ncy5tdyA9IHNldHRpbmdzLncgJiYgc2V0dGluZ3MudyA8IHNldHRpbmdzLm13ID8gc2V0dGluZ3MudyA6IHNldHRpbmdzLm13OwoJCX0KCQlpZiAoc2V0dGluZ3MuZ2V0KCdtYXhIZWlnaHQnKSkgewoJCQlzZXR0aW5ncy5taCA9IHNldFNpemUoc2V0dGluZ3MuZ2V0KCdtYXhIZWlnaHQnKSwgJ3knKSAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodDsKCQkJc2V0dGluZ3MubWggPSBzZXR0aW5ncy5oICYmIHNldHRpbmdzLmggPCBzZXR0aW5ncy5taCA/IHNldHRpbmdzLmggOiBzZXR0aW5ncy5taDsKCQl9CgoJCWhyZWYgPSBzZXR0aW5ncy5nZXQoJ2hyZWYnKTsKCgkJbG9hZGluZ1RpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CgkJCSRsb2FkaW5nT3ZlcmxheS5zaG93KCk7CgkJfSwgMTAwKTsKCgkJaWYgKHNldHRpbmdzLmdldCgnaW5saW5lJykpIHsKCQkJdmFyICR0YXJnZXQgPSAkKGhyZWYpOwoJCQkvLyBJbnNlcnRzIGFuIGVtcHR5IHBsYWNlaG9sZGVyIHdoZXJlIGlubGluZSBjb250ZW50IGlzIGJlaW5nIHB1bGxlZCBmcm9tLgoJCQkvLyBBbiBldmVudCBpcyBib3VuZCB0byBwdXQgaW5saW5lIGNvbnRlbnQgYmFjayB3aGVuIENvbG9yYm94IGNsb3NlcyBvciBsb2FkcyBuZXcgY29udGVudC4KCQkJJGlubGluZSA9ICQoJzxkaXY+JykuaGlkZSgpLmluc2VydEJlZm9yZSgkdGFyZ2V0KTsKCgkJCSRldmVudHMub25lKGV2ZW50X3B1cmdlLCBmdW5jdGlvbiAoKSB7CgkJCQkkaW5saW5lLnJlcGxhY2VXaXRoKCR0YXJnZXQpOwoJCQl9KTsKCgkJCXByZXAoJHRhcmdldCk7CgkJfSBlbHNlIGlmIChzZXR0aW5ncy5nZXQoJ2lmcmFtZScpKSB7CgkJCS8vIElGcmFtZSBlbGVtZW50IHdvbid0IGJlIGFkZGVkIHRvIHRoZSBET00gdW50aWwgaXQgaXMgcmVhZHkgdG8gYmUgZGlzcGxheWVkLAoJCQkvLyB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIERPTS1yZWFkeSBKUyB0aGF0IG1pZ2h0IGJlIHRyeWluZyB0byBydW4gaW4gdGhhdCBpZnJhbWUuCgkJCXByZXAoIiAiKTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLmdldCgnaHRtbCcpKSB7CgkJCXByZXAoc2V0dGluZ3MuZ2V0KCdodG1sJykpOwoJCX0gZWxzZSBpZiAoaXNJbWFnZShzZXR0aW5ncywgaHJlZikpIHsKCgkJCWhyZWYgPSByZXRpbmFVcmwoc2V0dGluZ3MsIGhyZWYpOwoKCQkJcGhvdG8gPSBzZXR0aW5ncy5nZXQoJ2NyZWF0ZUltZycpOwoKCQkJJChwaG90bykKCQkJLmFkZENsYXNzKHByZWZpeCArICdQaG90bycpCgkJCS5iaW5kKCdlcnJvci4nK3ByZWZpeCxmdW5jdGlvbiAoKSB7CgkJCQlwcmVwKCR0YWcoZGl2LCAnRXJyb3InKS5odG1sKHNldHRpbmdzLmdldCgnaW1nRXJyb3InKSkpOwoJCQl9KQoJCQkub25lKCdsb2FkJywgZnVuY3Rpb24gKCkgewoJCQkJaWYgKHJlcXVlc3QgIT09IHJlcXVlc3RzKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCS8vIEEgc21hbGwgcGF1c2UgYmVjYXVzZSBzb21lIGJyb3dzZXJzIHdpbGwgb2NjYXNzaW9uYWx5IHJlcG9ydCBhCgkJCQkvLyBpbWcud2lkdGggYW5kIGltZy5oZWlnaHQgb2YgemVybyBpbW1lZGlhdGVseSBhZnRlciB0aGUgaW1nLm9ubG9hZCBmaXJlcwoJCQkJc2V0VGltZW91dChmdW5jdGlvbigpewoJCQkJCXZhciBwZXJjZW50OwoKCQkJCQlpZiAoc2V0dGluZ3MuZ2V0KCdyZXRpbmFJbWFnZScpICYmIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvID4gMSkgewoJCQkJCQlwaG90by5oZWlnaHQgPSBwaG90by5oZWlnaHQgLyB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKCQkJCQkJcGhvdG8ud2lkdGggPSBwaG90by53aWR0aCAvIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOwoJCQkJCX0KCgkJCQkJaWYgKHNldHRpbmdzLmdldCgnc2NhbGVQaG90b3MnKSkgewoJCQkJCQlzZXRSZXNpemUgPSBmdW5jdGlvbiAoKSB7CgkJCQkJCQlwaG90by5oZWlnaHQgLT0gcGhvdG8uaGVpZ2h0ICogcGVyY2VudDsKCQkJCQkJCXBob3RvLndpZHRoIC09IHBob3RvLndpZHRoICogcGVyY2VudDsKCQkJCQkJfTsKCQkJCQkJaWYgKHNldHRpbmdzLm13ICYmIHBob3RvLndpZHRoID4gc2V0dGluZ3MubXcpIHsKCQkJCQkJCXBlcmNlbnQgPSAocGhvdG8ud2lkdGggLSBzZXR0aW5ncy5tdykgLyBwaG90by53aWR0aDsKCQkJCQkJCXNldFJlc2l6ZSgpOwoJCQkJCQl9CgkJCQkJCWlmIChzZXR0aW5ncy5taCAmJiBwaG90by5oZWlnaHQgPiBzZXR0aW5ncy5taCkgewoJCQkJCQkJcGVyY2VudCA9IChwaG90by5oZWlnaHQgLSBzZXR0aW5ncy5taCkgLyBwaG90by5oZWlnaHQ7CgkJCQkJCQlzZXRSZXNpemUoKTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJaWYgKHNldHRpbmdzLmgpIHsKCQkJCQkJcGhvdG8uc3R5bGUubWFyZ2luVG9wID0gTWF0aC5tYXgoc2V0dGluZ3MubWggLSBwaG90by5oZWlnaHQsIDApIC8gMiArICdweCc7CgkJCQkJfQoKCQkJCQlpZiAoJHJlbGF0ZWRbMV0gJiYgKHNldHRpbmdzLmdldCgnbG9vcCcpIHx8ICRyZWxhdGVkW2luZGV4ICsgMV0pKSB7CgkJCQkJCXBob3RvLnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJzsKCgkJCQkJCSQocGhvdG8pLmJpbmQoJ2NsaWNrLicrcHJlZml4LCBmdW5jdGlvbiAoKSB7CgkJCQkJCQlwdWJsaWNNZXRob2QubmV4dCgpOwoJCQkJCQl9KTsKCQkJCQl9CgoJCQkJCXBob3RvLnN0eWxlLndpZHRoID0gcGhvdG8ud2lkdGggKyAncHgnOwoJCQkJCXBob3RvLnN0eWxlLmhlaWdodCA9IHBob3RvLmhlaWdodCArICdweCc7CgkJCQkJcHJlcChwaG90byk7CgkJCQl9LCAxKTsKCQkJfSk7CgoJCQlwaG90by5zcmMgPSBocmVmOwoKCQl9IGVsc2UgaWYgKGhyZWYpIHsKCQkJJGxvYWRpbmdCYXkubG9hZChocmVmLCBzZXR0aW5ncy5nZXQoJ2RhdGEnKSwgZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykgewoJCQkJaWYgKHJlcXVlc3QgPT09IHJlcXVlc3RzKSB7CgkJCQkJcHJlcChzdGF0dXMgPT09ICdlcnJvcicgPyAkdGFnKGRpdiwgJ0Vycm9yJykuaHRtbChzZXR0aW5ncy5nZXQoJ3hockVycm9yJykpIDogJCh0aGlzKS5jb250ZW50cygpKTsKCQkJCX0KCQkJfSk7CgkJfQoJfQoKCS8vIE5hdmlnYXRlcyB0byB0aGUgbmV4dCBwYWdlL2ltYWdlIGluIGEgc2V0LgoJcHVibGljTWV0aG9kLm5leHQgPSBmdW5jdGlvbiAoKSB7CgkJaWYgKCFhY3RpdmUgJiYgJHJlbGF0ZWRbMV0gJiYgKHNldHRpbmdzLmdldCgnbG9vcCcpIHx8ICRyZWxhdGVkW2luZGV4ICsgMV0pKSB7CgkJCWluZGV4ID0gZ2V0SW5kZXgoMSk7CgkJCWxhdW5jaCgkcmVsYXRlZFtpbmRleF0pOwoJCX0KCX07CgoJcHVibGljTWV0aG9kLnByZXYgPSBmdW5jdGlvbiAoKSB7CgkJaWYgKCFhY3RpdmUgJiYgJHJlbGF0ZWRbMV0gJiYgKHNldHRpbmdzLmdldCgnbG9vcCcpIHx8IGluZGV4KSkgewoJCQlpbmRleCA9IGdldEluZGV4KC0xKTsKCQkJbGF1bmNoKCRyZWxhdGVkW2luZGV4XSk7CgkJfQoJfTsKCgkvLyBOb3RlOiB0byB1c2UgdGhpcyB3aXRoaW4gYW4gaWZyYW1lIHVzZSB0aGUgZm9sbG93aW5nIGZvcm1hdDogcGFyZW50LmpRdWVyeS5jb2xvcmJveC5jbG9zZSgpOwoJcHVibGljTWV0aG9kLmNsb3NlID0gZnVuY3Rpb24gKCkgewoJCWlmIChvcGVuICYmICFjbG9zaW5nKSB7CgoJCQljbG9zaW5nID0gdHJ1ZTsKCQkJb3BlbiA9IGZhbHNlOwoJCQl0cmlnZ2VyKGV2ZW50X2NsZWFudXApOwoJCQlzZXR0aW5ncy5nZXQoJ29uQ2xlYW51cCcpOwoJCQkkd2luZG93LnVuYmluZCgnLicgKyBwcmVmaXgpOwoJCQkkb3ZlcmxheS5mYWRlVG8oc2V0dGluZ3MuZ2V0KCdmYWRlT3V0JykgfHwgMCwgMCk7CgoJCQkkYm94LnN0b3AoKS5mYWRlVG8oc2V0dGluZ3MuZ2V0KCdmYWRlT3V0JykgfHwgMCwgMCwgZnVuY3Rpb24gKCkgewoJCQkJJGJveC5oaWRlKCk7CgkJCQkkb3ZlcmxheS5oaWRlKCk7CgkJCQl0cmlnZ2VyKGV2ZW50X3B1cmdlKTsKCQkJCSRsb2FkZWQucmVtb3ZlKCk7CgoJCQkJc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CgkJCQkJY2xvc2luZyA9IGZhbHNlOwoJCQkJCXRyaWdnZXIoZXZlbnRfY2xvc2VkKTsKCQkJCQlzZXR0aW5ncy5nZXQoJ29uQ2xvc2VkJyk7CgkJCQl9LCAxKTsKCQkJfSk7CgkJfQoJfTsKCgkvLyBSZW1vdmVzIGNoYW5nZXMgQ29sb3Jib3ggbWFkZSB0byB0aGUgZG9jdW1lbnQsIGJ1dCBkb2VzIG5vdCByZW1vdmUgdGhlIHBsdWdpbi4KCXB1YmxpY01ldGhvZC5yZW1vdmUgPSBmdW5jdGlvbiAoKSB7CgkJaWYgKCEkYm94KSB7IHJldHVybjsgfQoKCQkkYm94LnN0b3AoKTsKCQkkW2NvbG9yYm94XS5jbG9zZSgpOwoJCSRib3guc3RvcChmYWxzZSwgdHJ1ZSkucmVtb3ZlKCk7CgkJJG92ZXJsYXkucmVtb3ZlKCk7CgkJY2xvc2luZyA9IGZhbHNlOwoJCSRib3ggPSBudWxsOwoJCSQoJy4nICsgYm94RWxlbWVudCkKCQkJLnJlbW92ZURhdGEoY29sb3Jib3gpCgkJCS5yZW1vdmVDbGFzcyhib3hFbGVtZW50KTsKCgkJJChkb2N1bWVudCkudW5iaW5kKCdjbGljay4nK3ByZWZpeCkudW5iaW5kKCdrZXlkb3duLicrcHJlZml4KTsKCX07CgoJLy8gQSBtZXRob2QgZm9yIGZldGNoaW5nIHRoZSBjdXJyZW50IGVsZW1lbnQgQ29sb3Jib3ggaXMgcmVmZXJlbmNpbmcuCgkvLyByZXR1cm5zIGEgalF1ZXJ5IG9iamVjdC4KCXB1YmxpY01ldGhvZC5lbGVtZW50ID0gZnVuY3Rpb24gKCkgewoJCXJldHVybiAkKHNldHRpbmdzLmVsKTsKCX07CgoJcHVibGljTWV0aG9kLnNldHRpbmdzID0gZGVmYXVsdHM7Cgp9KGpRdWVyeSwgZG9jdW1lbnQsIHdpbmRvdykpOwo="}},"time_used":163,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":157,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43325.256fa5a5213b9cb70f5c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.237Z","timestamp":1785124600237,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 4ba4b82f9a4042697d8cc5c849ee1aca\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-04T06:18:03.382845Z","times_seen":5367,"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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.251Z","timestamp":1785124600251,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 569ca12c284ea94a5930d1bc7f93ae20\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-04T06:18:34.333983Z","times_seen":2870,"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/country/GB.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.475Z","timestamp":1785124600475,"http_version":"HTTP/2","security_state":"secure","security_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 /country/GB.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 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: \"09bfac5408302ee8c52fa2ed008c4f13\"\r\nlast-modified: Wed, 08 Sep 2021 09:01:59 GMT\r\ncdn-cachedat: 08/14/2025 09:10:20\r\nx-amz-id-2: 68gGMaqWV52aq4R4wVs0x4FWrkZip1o16smB3CWyrNHqHEHqlbY86adMdFCTU1o2p0cOST1IVfU=\r\nx-amz-request-id: RGQRYSSB0AWQ1G5G\r\nx-amz-meta-hash: 09bfac5408302ee8c52fa2ed008c4f13\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: 74c67036a8db0e77e83afba53cd697f0\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":468,"size_decoded":1207,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (468), with no line terminators","md5":"09bfac5408302ee8c52fa2ed008c4f13","sha1":"ec2b53eba8ec1a31fc6745cd9c4fc09518db1c2f","sha256":"b3e463d925abc879f5b76428144c0da44bc02fae2188f71bc9e7aa7ab6f46037","sha512":"91a4dac83bf63f0aca8abe1038f8228640fcdda0cb3dee9d5c886cec74267b834c8f4cf6d59c7e8185c035190f46cbd931bd3661590b81d16240ff2d4f9dcd6c","ssdeep":"","tlshash":"7ff05cd9932d88008842c228fb190030205e70faa1dc05eeb8aae6203a416f7a887ecc","first_seen":"2023-05-01T20:32:00Z","last_seen":"2026-08-02T19:31:07.767Z","times_seen":3160,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wIDBoMTh2MThIMFYweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03IDBIMWw2IDUuNVYwem00IDB2Nmw2LjUtNkgxMXptNyA0LjVMMTUgN2gzVjQuNXptMCA2LjVoLTRsNCAzLjVWMTF6bS0xIDdsLTYtNS41VjE4aDZ6TTcgMTh2LTZMLjUgMThIN3ptLTctNC41TDMgMTFIMHYyLjV6TTAgN2g0TDAgMy41Vjd6IiBmaWxsPSIjMEQ0N0ExIi8+PHBhdGggZD0iTTcgN0wtNi41LTV2Mi4zTDUgN2gyem0xIDFWMGgydjhoOHYyaC04djhIOHYtOEgwVjhoOHpNLTkgMjNMNSAxMWgyTC02LjUgMjNILTl6TTExIDdMMjMtNGgyLjJMMTMgN2gtMnptMiA0aC0ybDExLjUgMTB2LTJMMTMgMTF6IiBmaWxsPSIjRUY1MzUwIi8+PC9zdmc+"}},"time_used":149,"timings":{"blocked":-1,"dns":62,"connect":49,"send":0,"wait":4,"receive":-1,"ssl":22},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/css/owl.carousel.min.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.413Z","timestamp":1785124599413,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/owl.carousel.min.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"b79-5aa839fc-2a0183edf934e802;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 789\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2937,"size_decoded":1150,"mime_type":"text/css","magic":"ASCII text, with very long lines (2847)","md5":"af7d4c3b501e3aacfc3218a0d888a09e","sha1":"415671bc6294e03ecb1b19fb7163cd4eff5ed2ea","sha256":"0002603afcb0c43a1e3e03fe7ab01365df485770bc0988b2433ec5ebadd23372","sha512":"e713a6ec1cf75ce57b3fcdd8c66d253bf6bb311a794564c26e4576eb0e3bd02fe910e099b7047e952847991a3cc4a383e7143bbba8f765576615f32a1af64741","ssdeep":"","tlshash":"a851ace4314b215f480f832219d85e87293ecd52d8260a9a92bbd718479ae2d113ffcf","first_seen":"2023-04-07T17:06:37Z","last_seen":"2026-08-04T04:45:23.924755Z","times_seen":2520,"resource_available":false,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4yLjEKICogQ29weXJpZ2h0IDIwMTMtMjAxNyBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyICAoKQogKi8KLm93bC1jYXJvdXNlbCwub3dsLWNhcm91c2VsIC5vd2wtaXRlbXstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmV9Lm93bC1jYXJvdXNlbHtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjF9Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdle3Bvc2l0aW9uOnJlbGF0aXZlOy1tcy10b3VjaC1hY3Rpb246cGFuLVk7LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXJ7Y29udGVudDoiLiI7ZGlzcGxheTpibG9jaztjbGVhcjpib3RoO3Zpc2liaWxpdHk6aGlkZGVuO2xpbmUtaGVpZ2h0OjA7aGVpZ2h0OjB9Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVye3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0sLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXJ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVte21pbi1oZWlnaHQ6MXB4O2Zsb2F0OmxlZnQ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkLC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWR7ZGlzcGxheTpub25lfS5uby1qcyAub3dsLWNhcm91c2VsLC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZHtkaXNwbGF5OmJsb2NrfS5vd2wtY2Fyb3VzZWwgLm93bC1kb3QsLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXZ7Y3Vyc29yOnBvaW50ZXI7Y3Vyc29yOmhhbmQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmd7b3BhY2l0eTowO2Rpc3BsYXk6YmxvY2t9Lm93bC1jYXJvdXNlbC5vd2wtaGlkZGVue29wYWNpdHk6MH0ub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbXt2aXNpYmlsaXR5OmhpZGRlbn0ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm93bC1jYXJvdXNlbC5vd2wtZ3JhYntjdXJzb3I6bW92ZTtjdXJzb3I6Z3JhYn0ub3dsLWNhcm91c2VsLm93bC1ydGx7ZGlyZWN0aW9uOnJ0bH0ub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVte2Zsb2F0OnJpZ2h0fS5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVke2FuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZmlsbC1tb2RlOmJvdGh9Lm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWlue3otaW5kZXg6MH0ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0e3otaW5kZXg6MX0ub3dsLWNhcm91c2VsIC5mYWRlT3V0e2FuaW1hdGlvbi1uYW1lOmZhZGVPdXR9QGtleWZyYW1lcyBmYWRlT3V0ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19Lm93bC1oZWlnaHR7dHJhbnNpdGlvbjpoZWlnaHQgLjVzIGVhc2UtaW4tb3V0fS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eXt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjgwcHg7d2lkdGg6ODBweDtsZWZ0OjUwJTt0b3A6NTAlO21hcmdpbi1sZWZ0Oi00MHB4O21hcmdpbi10b3A6LTQwcHg7YmFja2dyb3VuZDp1cmwob3dsLnZpZGVvLnBsYXkuaHRtbCkgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXJ7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjMsMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zLDEuMyl9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24sLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bntkaXNwbGF5Om5vbmV9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRue29wYWNpdHk6MDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWV7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9"}},"time_used":194,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":194,"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":"astroxcinvest.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://astroxcinvest.com/","date":"2026-07-27T03:56:39.607Z","timestamp":1785124599607,"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://astroxcinvest.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 03:56: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=7hxO6EFGoDd3rznj3CigceEA%2F%2F1kll6LnDCxj91sm8zODO5kfBugID%2BEInKgsm3iyaFQYETHFERCCDJpDhJIet8VksX2p555vspFNF0EoDuV8T%2BbYX0BRumVpe9u4VgW2ouy4KdM\"}]}\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: a218b72bbdff0731-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":1736,"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-03T07:21:36.770276Z","times_seen":2326,"resource_available":false,"data":"YnV0dG9uLGhyLGlucHV0e292ZXJmbG93OnZpc2libGV9YXVkaW8sY2FudmFzLHByb2dyZXNzLHZpZGVve2Rpc3BsYXk6aW5saW5lLWJsb2NrfXByb2dyZXNzLHN1YixzdXB7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9aHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuMTU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e21hcmdpbjowfSBtZW51LGFydGljbGUsYXNpZGUsZGV0YWlscyxmb290ZXIsaGVhZGVyLG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9aDF7Zm9udC1zaXplOjJlbTttYXJnaW46LjY3ZW0gMH1maWdjYXB0aW9uLGZpZ3VyZSxtYWlue2Rpc3BsYXk6YmxvY2t9ZmlndXJle21hcmdpbjoxZW0gNDBweH1ocntib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1he2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDpvYmplY3RzfWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZS13aWR0aDowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206bm9uZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1kZm57Zm9udC1zdHlsZTppdGFsaWN9bWFya3tiYWNrZ3JvdW5kLWNvbG9yOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1pbWd7Ym9yZGVyLXN0eWxlOm5vbmV9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6MTAwJTtsaW5lLWhlaWdodDoxLjE1O21hcmdpbjowfWJ1dHRvbixpbnB1dHt9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfVt0eXBlPXN1Ym1pdF0sIFt0eXBlPXJlc2V0XSxidXR0b24saHRtbCBbdHlwZT1idXR0b25dey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259W3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lcixidXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowfVt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3JpbmcsYnV0dG9uOi1tb3otZm9jdXNyaW5ne291dGxpbmU6QnV0dG9uVGV4dCBkb3R0ZWQgMXB4fWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgc2lsdmVyO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1sZWdlbmR7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTp0YWJsZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm9ybWFsfXByb2dyZXNze310ZXh0YXJlYXtvdmVyZmxvdzphdXRvfVt0eXBlPWNoZWNrYm94XSxbdHlwZT1yYWRpb117Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH1bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9LyojIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLm1pbi5jc3MubWFwICov"}},"time_used":45,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":45,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/480cde08b8bfd5ce.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.033Z","timestamp":1785124600033,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/480cde08b8bfd5ce.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 7090973\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"480cde08b8bfd5ce.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"2197ad79def7e68e0db5210279b81a88\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/480cde08b8bfd5ce.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::m49ll-1777388594165-c9ac0a174814\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=pgTCaf%2FkHknnMpYE5V5SXLtp4iKfD1KhI6WalWW0h7yvVCXg0VCDqbfunaiDT37TsyX6sMeUYSaHx8roOV1mPFeOvEW3FNB4bfdGnEgxe%2Fua04qPXNgMWRg%2FVYqy\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e398f56b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":84456,"size_decoded":25526,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"2197ad79def7e68e0db5210279b81a88","sha1":"4a9572c96dc4b65a933f8494889a2d78f6bc8b3b","sha256":"0c61a398dcdf9a5d5a6a744855e7d95635c22711ee32b5af4a658fc6035de812","sha512":"1ed4b2613596da63a7fbbb97a8839e5ae8cf7a62d48b3f2818a3d7b510dde3fef57905aa4ce17843dcee71e3b9205f42c8e3b412427bddd975643af58c1b5979","ssdeep":"768:9Nf3ebiEpt8v84l+ayd9ar543m7dGwVBmOJ8SLBlbGJz5RBC8zogjPwNp9WxBbV3:yGY8AJ8pIOCSOvB9GW7H5sZzIxB","tlshash":"8883f8f931d1f88207ab44aac43f0002f32c5d77189e7864a3e5ddea716455da1f2faa","first_seen":"2026-04-28T18:06:46.282063Z","last_seen":"2026-08-04T06:18:34.228429Z","times_seen":2028,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDg1NTk0LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9ITApe3JldHVybiBlLnBhdGhuYW1lK2Uuc2VhcmNoKyh0P2UuaGFzaDoiIil9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVIcmVmRnJvbVVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTQzMjAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkhUTUxfTElNSVRFRF9CT1RfVUFfUkUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPS9bXHctXSstR29vZ2xlfEdvb2dsZS1bXHctXSt8Q2hyb21lLUxpZ2h0aG91c2V8U2x1cnB8RHVja0R1Y2tCb3R8YmFpZHVzcGlkZXJ8eWFuZGV4fHNvZ291fGJpdGx5Ym90fHR1bWJscnx2a1NoYXJlfHF1b3JhIGxpbmsgcHJldmlld3xyZWRkaXRib3R8aWFfYXJjaGl2ZXJ8QmluZ2JvdHxCaW5nUHJldmlld3xhcHBsZWJvdHxmYWNlYm9va2V4dGVybmFsaGl0fGZhY2Vib29rY2F0YWxvZ3xUd2l0dGVyYm90fExpbmtlZEluQm90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fFlldGl8Z29vZ2xld2VibGlnaHQvaX0sMzQ2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17SFRNTF9MSU1JVEVEX0JPVF9VQV9SRTpmdW5jdGlvbigpe3JldHVybiBsLkhUTUxfTElNSVRFRF9CT1RfVUFfUkV9LEhUTUxfTElNSVRFRF9CT1RfVUFfUkVfU1RSSU5HOmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldEJvdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gc30saXNCb3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTQzMjApLHU9L0dvb2dsZWJvdCg/IS0pfEdvb2dsZWJvdCQvaSxvPWwuSFRNTF9MSU1JVEVEX0JPVF9VQV9SRS5zb3VyY2U7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbC5IVE1MX0xJTUlURURfQk9UX1VBX1JFLnRlc3QoZSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gdS50ZXN0KGUpfHxpKGUpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIHUudGVzdChlKT8iZG9tIjppKGUpPyJodG1sIjp2b2lkIDB9fSw4NTYxOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiLyIpP2U6YC8ke2V9YH1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVuc3VyZUxlYWRpbmdTbGFzaCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkyMjI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtub3JtYWxpemVBcHBQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIG99LG5vcm1hbGl6ZVJzY1VSTDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig4NTYxOSksdT1lLnIoMjc0NTQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsbC5lbnN1cmVMZWFkaW5nU2xhc2gpKGUuc3BsaXQoIi8iKS5yZWR1Y2UoKGUsdCxyLG4pPT4hdHx8KDAsdS5pc0dyb3VwU2VnbWVudCkodCl8fCJAIj09PXRbMF18fCgicGFnZSI9PT10fHwicm91dGUiPT09dCkmJnI9PT1uLmxlbmd0aC0xP2U6YCR7ZX0vJHt0fWAsIiIpKX1mdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1wucnNjKCR8XD8pLywiJDEiKX19LDU0NjgyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzpmdW5jdGlvbigpe3JldHVybiB1fSxleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjpmdW5jdGlvbigpe3JldHVybiBpfSxpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDpmdW5jdGlvbigpe3JldHVybiBvfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig5MjIyNyksdT1bIiguLikoLi4pIiwiKC4pIiwiKC4uKSIsIiguLi4pIl07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdm9pZCAwIT09ZS5zcGxpdCgiLyIpLmZpbmQoZT0+dS5maW5kKHQ9PmUuc3RhcnRzV2l0aCh0KSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQscixuO2ZvcihsZXQgYSBvZiBlLnNwbGl0KCIvIikpaWYocj11LmZpbmQoZT0+YS5zdGFydHNXaXRoKGUpKSl7W3Qsbl09ZS5zcGxpdChyLDIpO2JyZWFrfWlmKCF0fHwhcnx8IW4pdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtlfS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3N3aXRjaCh0PSgwLGwubm9ybWFsaXplQXBwUGF0aCkodCkscil7Y2FzZSIoLikiOm49Ii8iPT09dD9gLyR7bn1gOnQrIi8iK247YnJlYWs7Y2FzZSIoLi4pIjppZigiLyI9PT10KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIwNyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPXQuc3BsaXQoIi8iKS5zbGljZSgwLC0xKS5jb25jYXQobikuam9pbigiLyIpO2JyZWFrO2Nhc2UiKC4uLikiOm49Ii8iK247YnJlYWs7Y2FzZSIoLi4pKC4uKSI6bGV0IGE9dC5zcGxpdCgiLyIpO2lmKGEubGVuZ3RoPD0yKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsIG9yIG9uZSBsZXZlbCB1cC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQ4NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPWEuc2xpY2UoMCwtMikuY29uY2F0KG4pLmpvaW4oIi8iKTticmVhaztkZWZhdWx0OnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfXJldHVybntpbnRlcmNlcHRpbmdSb3V0ZTp0LGludGVyY2VwdGVkUm91dGU6bn19fSw4OTYxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibWF0Y2hTZWdtZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oZSx0KT0+InN0cmluZyI9PXR5cGVvZiBlPyJzdHJpbmciPT10eXBlb2YgdCYmZT09PXQ6InN0cmluZyIhPXR5cGVvZiB0JiZlWzBdPT09dFswXSYmZVsxXT09PXRbMV07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTgxNjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NvbXB1dGVDaGFuZ2VkUGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBzfSxnZXRTZWxlY3RlZFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQscj17fSl7Zm9yKGxldCBuIG9mIE9iamVjdC52YWx1ZXModFsxXSkpe2xldCB0PW5bMF0sYT1BcnJheS5pc0FycmF5KHQpLGw9YT90WzFdOnQ7IWx8fGwuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpfHwoYSYmKCJjIj09PXRbMl18fCJvYyI9PT10WzJdKT9yW3RbMF1dPXRbMV0uc3BsaXQoIi8iKTphJiYoclt0WzBdXT10WzFdKSxyPWUobixyKSl9cmV0dXJuIHJ9fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1NDY4MiksdT1lLnIoMjc0NTQpLG89ZS5yKDg5NjE2KSxpPWU9PiJzdHJpbmciPT10eXBlb2YgZT8iY2hpbGRyZW4iPT09ZT8iIjplOmVbMV07ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5yZWR1Y2UoKGUsdCk9PntsZXQgcjtyZXR1cm4iIj09PSh0PSIvIj09PShyPXQpWzBdP3Iuc2xpY2UoMSk6cil8fCgwLHUuaXNHcm91cFNlZ21lbnQpKHQpP2U6YCR7ZX0vJHt0fWB9LCIiKXx8Ii8ifWZ1bmN0aW9uIHMoZSl7bGV0IHQ9QXJyYXkuaXNBcnJheShlWzBdKT9lWzBdWzFdOmVbMF07aWYodD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWXx8bC5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5zb21lKGU9PnQuc3RhcnRzV2l0aChlKSkpcmV0dXJuO2lmKHQuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpKXJldHVybiIiO2xldCByPVtpKHQpXSxuPWVbMV0/P3t9LGE9bi5jaGlsZHJlbj9zKG4uY2hpbGRyZW4pOnZvaWQgMDtpZih2b2lkIDAhPT1hKXIucHVzaChhKTtlbHNlIGZvcihsZXRbZSx0XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtpZigiY2hpbGRyZW4iPT09ZSljb250aW51ZTtsZXQgbj1zKHQpO3ZvaWQgMCE9PW4mJnIucHVzaChuKX1yZXR1cm4gYyhyKX1mdW5jdGlvbiBmKGUsdCl7bGV0IHI9ZnVuY3Rpb24gZSh0LHIpe2xldFtuLGFdPXQsW3UsY109cixmPWkobiksZD1pKHUpO2lmKGwuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZShlPT5mLnN0YXJ0c1dpdGgoZSl8fGQuc3RhcnRzV2l0aChlKSkpcmV0dXJuIiI7aWYoISgwLG8ubWF0Y2hTZWdtZW50KShuLHUpKXJldHVybiBzKHIpPz8iIjtmb3IobGV0IHQgaW4gYSlpZihjW3RdKXtsZXQgcj1lKGFbdF0sY1t0XSk7aWYobnVsbCE9PXIpcmV0dXJuYCR7aSh1KX0vJHtyfWB9cmV0dXJuIG51bGx9KGUsdCk7cmV0dXJuIG51bGw9PXJ8fCIvIj09PXI/cjpjKHIuc3BsaXQoIi8iKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjMyNzgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhhbmRsZU11dGFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigxODE2Nyk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gdm9pZCAwIT09ZX1mdW5jdGlvbiBsKGUsdCl7bGV0IHI9dC5zaG91bGRTY3JvbGw/PyEwLGw9ZS5wcmV2aW91c05leHRVcmwsdT1lLm5leHRVcmw7aWYoYSh0LnBhdGNoZWRUcmVlKSl7bGV0IHI9KDAsbi5jb21wdXRlQ2hhbmdlZFBhdGgpKGUudHJlZSx0LnBhdGNoZWRUcmVlKTtyPyhsPXUsdT1yKTp1fHwodT1lLmNhbm9uaWNhbFVybCl9cmV0dXJue2Nhbm9uaWNhbFVybDp0LmNhbm9uaWNhbFVybD8/ZS5jYW5vbmljYWxVcmwscmVuZGVyZWRTZWFyY2g6dC5yZW5kZXJlZFNlYXJjaD8/ZS5yZW5kZXJlZFNlYXJjaCxwdXNoUmVmOntwZW5kaW5nUHVzaDphKHQucGVuZGluZ1B1c2gpP3QucGVuZGluZ1B1c2g6ZS5wdXNoUmVmLnBlbmRpbmdQdXNoLG1wYU5hdmlnYXRpb246YSh0Lm1wYU5hdmlnYXRpb24pP3QubXBhTmF2aWdhdGlvbjplLnB1c2hSZWYubXBhTmF2aWdhdGlvbixwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTphKHQucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUpP3QucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU6ZS5wdXNoUmVmLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlfSxmb2N1c0FuZFNjcm9sbFJlZjp7YXBwbHk6ISFyJiYoISFhKHQ/LnNjcm9sbGFibGVTZWdtZW50cyl8fGUuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpLG9ubHlIYXNoQ2hhbmdlOnQub25seUhhc2hDaGFuZ2V8fCExLGhhc2hGcmFnbWVudDpyP3QuaGFzaEZyYWdtZW50JiYiIiE9PXQuaGFzaEZyYWdtZW50P2RlY29kZVVSSUNvbXBvbmVudCh0Lmhhc2hGcmFnbWVudC5zbGljZSgxKSk6ZS5mb2N1c0FuZFNjcm9sbFJlZi5oYXNoRnJhZ21lbnQ6bnVsbCxzZWdtZW50UGF0aHM6cj90Py5zY3JvbGxhYmxlU2VnbWVudHM/P2UuZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzOltdfSxjYWNoZTp0LmNhY2hlP3QuY2FjaGU6ZS5jYWNoZSx0cmVlOmEodC5wYXRjaGVkVHJlZSk/dC5wYXRjaGVkVHJlZTplLnRyZWUsbmV4dFVybDp1LHByZXZpb3VzTmV4dFVybDpsLGRlYnVnSW5mbzp0LmNvbGxlY3RlZERlYnVnSW5mbz8/bnVsbH19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDYyMTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hFQURfUkVRVUVTVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gb30sUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGFwcGVuZFNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBjfSxjb252ZXJ0U2VnbWVudFBhdGhUb1N0YXRpY0V4cG9ydEZpbGVuYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGNyZWF0ZVNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT0iIixvPSIvX2hlYWQiO2Z1bmN0aW9uIGkoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKT9sLlBBR0VfU0VHTUVOVF9LRVk6Ii9fbm90LWZvdW5kIj09PWU/Il9ub3QtZm91bmQiOmYoZSk7bGV0IHQ9ZVswXTtyZXR1cm4iJCIrZVsyXSsiJCIrZih0KX1mdW5jdGlvbiBjKGUsdCxyKXtyZXR1cm4gZSsiLyIrKCJjaGlsZHJlbiI9PT10P3I6YEAke2YodCl9LyR7cn1gKX1sZXQgcz0vXlthLXpBLVowLTlcLV9AXSskLztmdW5jdGlvbiBmKGUpe3JldHVybiBzLnRlc3QoZSk/ZToiISIrYnRvYShlKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuYF9fbmV4dCR7ZS5yZXBsYWNlKC9cLy9nLCIuIil9LnR4dGB9fSw4ODA2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZG9lc1N0YXRpY1NlZ21lbnRBcHBlYXJJblVSTDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRDYWNoZUtleUZvckR5bmFtaWNQYXJhbTpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRQYXJhbVZhbHVlRnJvbUNhY2hlS2V5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LGdldFJlbmRlcmVkUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sZ2V0UmVuZGVyZWRTZWFyY2g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0scGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydDpmdW5jdGlvbigpe3JldHVybiBzfSx1cmxTZWFyY2hQYXJhbXNUb1BhcnNlZFVybFF1ZXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjpmdW5jdGlvbigpe3JldHVybiBofX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT1lLnIoNDYyMTkpLG89ZS5yKDM0NjQxKTtmdW5jdGlvbiBpKGUpe2xldCB0PWUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9RVUVSWV9IRUFERVIpO3JldHVybiBudWxsIT09dD8iIj09PXQ/IiI6Ij8iK3Q6aChuZXcgVVJMKGUudXJsKSkuc2VhcmNofWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9QQVRIX0hFQURFUik/P2gobmV3IFVSTChlLnVybCkpLnBhdGhuYW1lfWZ1bmN0aW9uIHMoZSx0LHIpe3N3aXRjaChlKXtjYXNlImMiOnJldHVybiByPHQubGVuZ3RoP3Quc2xpY2UocikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSk6W107Y2FzZSJjaSguLikoLi4pIjpjYXNlImNpKC4pIjpjYXNlImNpKC4uKSI6Y2FzZSJjaSguLi4pIjp7bGV0IG49ZS5sZW5ndGgtMjtyZXR1cm4gcjx0Lmxlbmd0aD90LnNsaWNlKHIpLm1hcCgoZSx0KT0+MD09PXQ/ZW5jb2RlVVJJQ29tcG9uZW50KGUuc2xpY2UobikpOmVuY29kZVVSSUNvbXBvbmVudChlKSk6W119Y2FzZSJvYyI6cmV0dXJuIHI8dC5sZW5ndGg/dC5zbGljZShyKS5tYXAoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKTpudWxsO2Nhc2UiZCI6aWYocj49dC5sZW5ndGgpcmV0dXJuIiI7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0W3JdKTtjYXNlImRpKC4uKSguLikiOmNhc2UiZGkoLikiOmNhc2UiZGkoLi4pIjpjYXNlImRpKC4uLikiOntsZXQgbj1lLmxlbmd0aC0yO2lmKHI+PXQubGVuZ3RoKXJldHVybiIiO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodFtyXS5zbGljZShuKSl9ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gZihlKXtyZXR1cm4hKGU9PT11LlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWXx8ZS5zdGFydHNXaXRoKGwuUEFHRV9TRUdNRU5UX0tFWSl8fCIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKSkmJmUhPT1sLkRFRkFVTFRfU0VHTUVOVF9LRVkmJiIvX25vdC1mb3VuZCIhPT1lfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/KDAsbC5hZGRTZWFyY2hQYXJhbXNJZlBhZ2VTZWdtZW50KShlLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKHQpKSk6bnVsbD09PWU/IiI6ZS5qb2luKCIvIil9ZnVuY3Rpb24gaChlKXtsZXQgdD1uZXcgVVJMKGUpO3JldHVybiB0LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSksdH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuImMiPT09dHx8Im9jIj09PXQ/ZS5zcGxpdCgiLyIpOmV9ZnVuY3Rpb24geShlKXtsZXQgdD17fTtmb3IobGV0W3Isbl1vZiBlLmVudHJpZXMoKSl2b2lkIDA9PT10W3JdP3Rbcl09bjpBcnJheS5pc0FycmF5KHRbcl0pP3Rbcl0ucHVzaChuKTp0W3JdPVt0W3JdLG5dO3JldHVybiB0fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY3NjI4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVJbml0aWFsUlNDUGF5bG9hZEZyb21GYWxsYmFja1ByZXJlbmRlcjpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRGbGlnaHREYXRhUGFydHNGcm9tUGF0aDpmdW5jdGlvbigpe3JldHVybiBpfSxnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gc30sbm9ybWFsaXplRmxpZ2h0RGF0YTpmdW5jdGlvbigpe3JldHVybiBmfSxwcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDI3NDU0KSx1PWUucig4ODA2Miksbz1lLnIoODU1OTQpO2Z1bmN0aW9uIGkoZSl7bGV0W3QscixuLGFdPWUuc2xpY2UoLTQpLGw9ZS5zbGljZSgwLC00KTtyZXR1cm57cGF0aFRvU2VnbWVudDpsLnNsaWNlKDAsLTEpLHNlZ21lbnRQYXRoOmwsc2VnbWVudDpsW2wubGVuZ3RoLTFdPz8iIix0cmVlOnQsc2VlZERhdGE6cixoZWFkOm4saXNIZWFkUGFydGlhbDphLGlzUm9vdFJlbmRlcjo0PT09ZS5sZW5ndGh9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgcj0oMCx1LmdldFJlbmRlcmVkUGF0aG5hbWUpKGUpLG49KDAsdS5nZXRSZW5kZXJlZFNlYXJjaCkoZSksYT0oMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShuZXcgVVJMKGxvY2F0aW9uLmhyZWYpKSxsPXQuZlswXSxpPWxbMF07cmV0dXJue2I6dC5iLGM6YS5zcGxpdCgiLyIpLHE6bixpOnQuaSxmOltbZnVuY3Rpb24gZSh0LHIsbixhKXtsZXQgbCxvLGk9dFswXTtpZigic3RyaW5nIj09dHlwZW9mIGkpbD1pLG89KDAsdS5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShpKTtlbHNle2xldCBlPWlbMF0sdD1pWzJdLGM9KDAsdS5wYXJzZUR5bmFtaWNQYXJhbUZyb21VUkxQYXJ0KSh0LG4sYSk7bD1bZSwoMCx1LmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShjLHIpLHRdLG89ITB9bGV0IGM9bz9hKzE6YSxzPXRbMV0sZj17fTtmb3IobGV0IHQgaW4gcyl7bGV0IGE9c1t0XTtmW3RdPWUoYSxyLG4sYyl9cmV0dXJuW2wsZixudWxsLHRbM10sdFs0XV19KGksbixyLnNwbGl0KCIvIikuZmlsdGVyKGU9PiIiIT09ZSksMCksbFsxXSxsWzJdLGxbMl1dXSxtOnQubSxHOnQuRyxTOnQuU319ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5zbGljZSgyKX1mdW5jdGlvbiBmKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lOmUubWFwKGU9PmkoZSkpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gdD9lbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZSkpOmVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShmdW5jdGlvbiBlKHQpe3ZhciByLG47bGV0W2EsdSxvLGksYyxzXT10LGY9InN0cmluZyI9PXR5cGVvZihyPWEpJiZyLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKyI/Iik/bC5QQUdFX1NFR01FTlRfS0VZOnIsZD17fTtmb3IobGV0W3Qscl1vZiBPYmplY3QuZW50cmllcyh1KSlkW3RdPWUocik7bGV0IGg9W2YsZCxudWxsLChuPWkpJiYicmVmcmVzaCIhPT1uP2k6bnVsbF07cmV0dXJuIHZvaWQgMCE9PWMmJihoWzRdPWMpLHZvaWQgMCE9PXMmJihoWzVdPXMpLGh9KGUpKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjE3MDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldEFwcEJ1aWxkSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0QXBwQnVpbGRJZDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPSIiO2Z1bmN0aW9uIHUoZSl7bD1lfWZ1bmN0aW9uIG8oKXtyZXR1cm4gbH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyNzQxOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGpiMkhhc2g6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saGV4SGFzaDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9NTM4MTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0PSh0PDw1KSt0K2UuY2hhckNvZGVBdChyKXwwO3JldHVybiB0Pj4+MH1mdW5jdGlvbiB1KGUpe3JldHVybiBsKGUpLnRvU3RyaW5nKDM2KS5zbGljZSgwLDUpfX0sNjg4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNvbXB1dGVDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDI3NDE4KTtmdW5jdGlvbiBhKGUsdCxyLGEpe3JldHVybih2b2lkIDA9PT1lfHwiMCI9PT1lKSYmdm9pZCAwPT09dCYmdm9pZCAwPT09ciYmdm9pZCAwPT09YT8iIjooMCxuLmhleEhhc2gpKFtlfHwiMCIsdHx8IjAiLHJ8fCIwIixhfHwiMCJdLmpvaW4oIiwiKSl9fSw0MTMwMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17c2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW06ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW1XaXRoSGFzaDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig2ODg0NyksdT1lLnIoMzQ2NDEpLG89KGUsdCk9PntpKGUsKDAsbC5jb21wdXRlQ2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKHRbdS5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdLHRbdS5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl0sdFt1Lk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXSx0W3UuTkVYVF9VUkxdKSl9LGk9KGUsdCk9PntsZXQgcj1lLnNlYXJjaCxuPShyLnN0YXJ0c1dpdGgoIj8iKT9yLnNsaWNlKDEpOnIpLnNwbGl0KCImIikuZmlsdGVyKGU9PmUmJiFlLnN0YXJ0c1dpdGgoYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX09YCkpO3QubGVuZ3RoPjA/bi5wdXNoKGAke3UuTkVYVF9SU0NfVU5JT05fUVVFUll9PSR7dH1gKTpuLnB1c2goYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX1gKSxlLnNlYXJjaD1uLmxlbmd0aD9gPyR7bi5qb2luKCImIil9YDoiIn07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTEwNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2xldCBuO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17Y3JlYXRlRmV0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbTpmdW5jdGlvbigpe3JldHVybiBFfSxmZXRjaFNlcnZlclJlc3BvbnNlOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDc1MDQ1KSxvPWUucigzNDY0MSksaT1lLnIoMzA5MzEpLGM9ZS5yKDg5NTk0KSxzPWUucig2NzYyOCksZj1lLnIoNjE3MDYpLGQ9ZS5yKDQxMzAyKSxoPWUucig4ODA2MikscD1lLnIoODg3NzQpLHk9dS5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sZz11LmNyZWF0ZUZyb21GZXRjaDtmdW5jdGlvbiBSKGUpe3JldHVybigwLGgudXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKShuZXcgVVJMKGUsbG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX1sZXQgXz0hMTthc3luYyBmdW5jdGlvbiBQKGUsdCl7bGV0e2ZsaWdodFJvdXRlclN0YXRlOnIsbmV4dFVybDpufT10LGE9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAscy5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShyLHQuaXNIbXJSZWZyZXNoKX07biYmKGFbby5ORVhUX1VSTF09bik7dHJ5e2xldCB0PWF3YWl0IHYoZSxhLCJhdXRvIiwhMCkscj0oMCxoLnVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcikobmV3IFVSTCh0LnVybCkpLG49dC5yZWRpcmVjdGVkP3I6ZSxsPXQuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwiIix1PSEhdC5oZWFkZXJzLmdldCgidmFyeSIpPy5pbmNsdWRlcyhvLk5FWFRfVVJMKSxpPSEhdC5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksYz10LmhlYWRlcnMuZ2V0KG8uTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIpLGQ9bnVsbCE9PWM/MWUzKnBhcnNlSW50KGMsMTApOi0xO2lmKCFsLnN0YXJ0c1dpdGgoby5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUil8fCF0Lm9rfHwhdC5ib2R5KXJldHVybiBlLmhhc2gmJihyLmhhc2g9ZS5oYXNoKSxSKHIudG9TdHJpbmcoKSk7bGV0IHA9dC5mbGlnaHRSZXNwb25zZTtpZihudWxsPT09cCl7bGV0IGUscj1pPyhlPXQuYm9keS5nZXRSZWFkZXIoKSxuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwodCl7Zm9yKDs7KXtsZXR7ZG9uZTpyLHZhbHVlOm59PWF3YWl0IGUucmVhZCgpO2lmKCFyKXt0LmVucXVldWUobik7Y29udGludWV9cmV0dXJufX19KSk6dC5ib2R5O3A9RShyLGEpfWxldCB5PWF3YWl0IHA7aWYoKDAsZi5nZXRBcHBCdWlsZElkKSgpIT09eS5iKXJldHVybiBSKHQudXJsKTtsZXQgZz0oMCxzLm5vcm1hbGl6ZUZsaWdodERhdGEpKHkuZik7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybiBSKGcpO3JldHVybntmbGlnaHREYXRhOmcsY2Fub25pY2FsVXJsOm4scmVuZGVyZWRTZWFyY2g6KDAsaC5nZXRSZW5kZXJlZFNlYXJjaCkodCksY291bGRCZUludGVyY2VwdGVkOnUscHJlcmVuZGVyZWQ6eS5TLHBvc3Rwb25lZDppLHN0YWxlVGltZTpkLGRlYnVnSW5mbzpwLl9kZWJ1Z0luZm8/P251bGx9fWNhdGNoKHQpe3JldHVybiBffHxjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggUlNDIHBheWxvYWQgZm9yICR7ZX0uIEZhbGxpbmcgYmFjayB0byBicm93c2VyIG5hdmlnYXRpb24uYCx0KSxlLnRvU3RyaW5nKCl9fWFzeW5jIGZ1bmN0aW9uIHYoZSx0LHIsYSxsKXt2YXIgdSxzO2xldCBmPSgwLHAuZ2V0RGVwbG95bWVudElkKSgpO2YmJih0WyJ4LWRlcGxveW1lbnQtaWQiXT1mKTtsZXQgaD1uZXcgVVJMKGUpOygwLGQuc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKGgsdCk7bGV0IHk9ZmV0Y2goaCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnQscHJpb3JpdHk6cnx8dm9pZCAwLHNpZ25hbDpsfSksUj1hPyh1PXkscz10LGcodSx7Y2FsbFNlcnZlcjppLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpjLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOm4mJm4ocyl9KSk6bnVsbCxfPWF3YWl0IHksUD1fLnJlZGlyZWN0ZWQsdj1uZXcgVVJMKF8udXJsLGgpO3JldHVybiB2LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSkse3VybDp2LmhyZWYscmVkaXJlY3RlZDpQLG9rOl8ub2ssaGVhZGVyczpfLmhlYWRlcnMsYm9keTpfLmJvZHksc3RhdHVzOl8uc3RhdHVzLGZsaWdodFJlc3BvbnNlOlJ9fWZ1bmN0aW9uIEUoZSx0KXtyZXR1cm4geShlLHtjYWxsU2VydmVyOmkuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmMuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6biYmbih0KX0pfSJ1Ij50eXBlb2Ygd2luZG93JiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKT0+e189ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCgpPT57Xz0hMX0pKSwoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1Nzc3OCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucigyNzQ1NCk7ZnVuY3Rpb24gYShlLHQ9ITEpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Ake2VbMF19fCR7ZVsxXX18JHtlWzJdfWA6dCYmZS5zdGFydHNXaXRoKG4uUEFHRV9TRUdNRU5UX0tFWSk/bi5QQUdFX1NFR01FTlRfS0VZOmV9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzczNjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxyKXtsZXQgbj10WzBdLGE9clswXTtpZihBcnJheS5pc0FycmF5KG4pJiZBcnJheS5pc0FycmF5KGEpKXtpZihuWzBdIT09YVswXXx8blsyXSE9PWFbMl0pcmV0dXJuITB9ZWxzZSBpZihuIT09YSlyZXR1cm4hMDtpZih0WzRdKXJldHVybiFyWzRdO2lmKHJbNF0pcmV0dXJuITA7bGV0IGw9T2JqZWN0LnZhbHVlcyh0WzFdKVswXSx1PU9iamVjdC52YWx1ZXMoclsxXSlbMF07cmV0dXJuIWx8fCF1fHxlKGwsdSl9fX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDE4OTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGE9e0ZyZXNobmVzc1BvbGljeTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVJbml0aWFsQ2FjaGVOb2RlRm9ySHlkcmF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGlzRGVmZXJyZWRSc2M6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sc3Bhd25EeW5hbWljUmVxdWVzdHM6ZnVuY3Rpb24oKXtyZXR1cm4gan0sc3RhcnRQUFJOYXZpZ2F0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDI3NDU0KSxvPWUucig4OTYxNiksaT1lLnIoODU1OTQpLGM9ZS5yKDU3Nzc4KSxzPWUucigxMTA2KSxmPWUucig5NDg3OSksZD1lLnIoNTk0MzApLGg9ZS5yKDM3MzY4KSxwPWUucig1NDAxMSkseT1lLnIoNjU0NjMpO3ZhciBnPSgobj17fSlbbi5EZWZhdWx0PTBdPSJEZWZhdWx0IixuW24uSHlkcmF0aW9uPTFdPSJIeWRyYXRpb24iLG5bbi5IaXN0b3J5VHJhdmVyc2FsPTJdPSJIaXN0b3J5VHJhdmVyc2FsIixuW24uUmVmcmVzaEFsbD0zXT0iUmVmcmVzaEFsbCIsbltuLkhNUlJlZnJlc2g9NF09IkhNUlJlZnJlc2giLG4pO2xldCBSPSgpPT57fTtmdW5jdGlvbiBfKGUsdCxyLG4pe3JldHVybiB2KGUsdCx2b2lkIDAsMSxyLG4sbnVsbCxudWxsLCExLG51bGwsbnVsbCwhMSx7c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSkubm9kZX1mdW5jdGlvbiBQKGUsdCxyLG4sYSxsLHMsZixkLHAseSxnLFIpe3JldHVybiBmdW5jdGlvbiBlKHQscixuLGEsbCxzLGYsZCxwLHksZyxSLF8sUCxPLGosTSxBKXt2YXIgVSxDO2xldCBOLHcsRixJPWFbMF0sTD1sWzBdO2lmKCEoMCxvLm1hdGNoU2VnbWVudCkoTCxJKSlyZXR1cm4hZiYmKDAsaC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGEsbCl8fEw9PT11Lk5PVF9GT1VORF9TRUdNRU5UX0tFWXx8bnVsbD09PVB8fG51bGw9PT1PP251bGw6dih0LGwsbixzLGQscCx5LGcsUixQLE8saixBKTtsZXQgRD1udWxsIT09TyYmbnVsbCE9PVA/UC5jb25jYXQoW08sTF0pOltdLHg9bFsxXSxrPWFbMV0sSD1udWxsIT09ZD9kWzFdOm51bGwsQj1udWxsIT09eT95WzFdOm51bGwsSz0hMD09PWxbNF0sVj1mfHxLLHE9dm9pZCAwIT09bj9uLnBhcmFsbGVsUm91dGVzOnZvaWQgMCxHPSExLHo9ITE7c3dpdGNoKHMpe2Nhc2UgMDpjYXNlIDI6Y2FzZSAxOkc9ITEsej0hMTticmVhaztjYXNlIDM6Y2FzZSA0Okc9ITAsej0hMH1sZXQgWD1uZXcgTWFwKEc/dm9pZCAwOnEpLFc9MD09PU9iamVjdC5rZXlzKHgpLmxlbmd0aDtpZih2b2lkIDA9PT1ufHx6fHxXJiZfKWlmKG51bGwhPT1kJiZudWxsIT09ZFswXSl7bGV0IGU9ZFswXSxyPWRbMl0sbj1udWxsPT09cDt3PVMoZSxyLCExLHAsbixXLFgsdCksRj1XJiZufWVsc2UgaWYobnVsbCE9PXkpe2xldCBlPXlbMF0scj15WzJdLG49eVszXTt3PVMoZSxyLG4sZyxSLFcsWCx0KSxGPW58fFcmJlJ9ZWxzZSB3PVQoWCxXLHQscyksRj0hMDtlbHNlIHc9YighMSxuLFgpLEY9ITE7bGV0IFk9bFsyXSwkPSJzdHJpbmciPT10eXBlb2YgWSYmInJlZnJlc2giPT09bFszXT9ZOk07RiYmbnVsbCE9PSQmJihVPUEsQz0kLG51bGw9PT0oTj1VLnNlcGFyYXRlUmVmcmVzaFVybHMpP1Uuc2VwYXJhdGVSZWZyZXNoVXJscz1uZXcgU2V0KFtDXSk6Ti5hZGQoQykpO2xldCBRPXt9LEo9bnVsbCxaPSExLGVlPXt9O2ZvcihsZXQgbiBpbiB4KXtsZXQgYT14W25dLGw9a1tuXTtpZih2b2lkIDA9PT1sKXJldHVybiBudWxsO2xldCBvPXZvaWQgMCE9PXE/cS5nZXQobik6dm9pZCAwLGY9bnVsbCE9PUg/SFtuXTpudWxsLGQ9bnVsbCE9PUI/QltuXTpudWxsLGg9YVswXSx5PXAsUD1nLHY9UjsyIT09cyYmaD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWSYmKGg9KGE9ZnVuY3Rpb24oZSx0KXtsZXQgcjtyZXR1cm4icmVmcmVzaCI9PT10WzNdP3I9dDooKHI9RSh0LHRbMV0pKVsyXT0oMCxpLmNyZWF0ZUhyZWZGcm9tVXJsKShlKSxyWzNdPSJyZWZyZXNoIikscn0ocixsKSlbMF0sZj1udWxsLHk9bnVsbCxkPW51bGwsUD1udWxsLHY9ITEpO2xldCBtPSgwLGMuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGgpLGI9ZSh0LHIsdm9pZCAwIT09bz9vLmdldChtKTp2b2lkIDAsbCxhLHMsVixmPz9udWxsLHksZD8/bnVsbCxQLHYsXyxELG4sanx8RiwkLEEpO2lmKG51bGw9PT1iKXJldHVybiBudWxsO251bGw9PT1KJiYoSj1uZXcgTWFwKSxKLnNldChuLGIpO2xldCBTPWIubm9kZTtpZihudWxsIT09Uyl7bGV0IGU9bmV3IE1hcChHP3ZvaWQgMDpvKTtlLnNldChtLFMpLFguc2V0KG4sZSl9bGV0IFQ9Yi5yb3V0ZTtRW25dPVQ7bGV0IE89Yi5keW5hbWljUmVxdWVzdFRyZWU7bnVsbCE9PU8/KFo9ITAsZWVbbl09Tyk6ZWVbbl09VH1yZXR1cm57c3RhdHVzOishRixyb3V0ZTpFKGwsUSksbm9kZTp3LGR5bmFtaWNSZXF1ZXN0VHJlZTptKGwsZWUsRixaLGopLHJlZnJlc2hVcmw6JCxjaGlsZHJlbjpKfX0oZSx0LG51bGwhPT1yP3I6dm9pZCAwLG4sYSxsLCExLHMsZixkLHAseSxnLG51bGwsbnVsbCwhMSxudWxsLFIpfWZ1bmN0aW9uIHYoZSx0LHIsbixhLGwsdSxvLGkscyxmLGQsaCl7bGV0IHksZyxSPXRbMF0sXz1udWxsIT09ZiYmbnVsbCE9PXM/cy5jb25jYXQoW2YsUl0pOltdLFA9dFsxXSxPPW51bGwhPT11P3VbMV06bnVsbCxqPW51bGwhPT1hP2FbMV06bnVsbCxNPXZvaWQgMCE9PXI/ci5wYXJhbGxlbFJvdXRlczp2b2lkIDAsQT0hMSxVPSExLEM9ITE7c3dpdGNoKG4pe2Nhc2UgMDpBPSExLFU9dm9pZCAwPT09cnx8ZS1yLm5hdmlnYXRlZEF0Pj1wLkRZTkFNSUNfU1RBTEVUSU1FX01TLEM9ITE7YnJlYWs7Y2FzZSAxOlU9ITEsQT0hMSxDPSExO2JyZWFrO2Nhc2UgMjppZihVPSExLFU9ITEsdm9pZCAwIT09cil7bGV0IGU9ci5yc2M7Qz0hTihlKXx8InBlbmRpbmciIT09ZS5zdGF0dXN9ZWxzZSBDPSExO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6VT0hMCxBPSEwLEM9ITF9bGV0IHc9bmV3IE1hcChBP3ZvaWQgMDpNKSxGPTA9PT1PYmplY3Qua2V5cyhQKS5sZW5ndGg7aWYoRiYmKG51bGw9PT1oLnNjcm9sbGFibGVTZWdtZW50cyYmKGguc2Nyb2xsYWJsZVNlZ21lbnRzPVtdKSxoLnNjcm9sbGFibGVTZWdtZW50cy5wdXNoKF8pKSxVfHx2b2lkIDA9PT1yKWlmKG51bGwhPT1hJiZudWxsIT09YVswXSl7bGV0IHQ9YVswXSxyPWFbMl0sdT1udWxsPT09bCYmMSE9PW47eT1TKHQsciwhMSxsLHUsRix3LGUpLGc9RiYmdX1lbHNlIGlmKDE9PT1uJiZGJiZudWxsIT09bCl5PVMobnVsbCxudWxsLCExLGwsITEsRix3LGUpLGc9ITE7ZWxzZSBpZigxIT09biYmbnVsbCE9PXUpe2xldCB0PXVbMF0scj11WzJdLG49dVszXTt5PVModCxyLG4sbyxpLEYsdyxlKSxnPW58fEYmJml9ZWxzZSB5PVQodyxGLGUsbiksZz0hMDtlbHNlIHk9YihDLHIsdyksZz0hMTtsZXQgST17fSxMPW51bGwsRD0hMSx4PXt9O2ZvcihsZXQgdCBpbiBQKXtsZXQgcj1QW3RdLGE9dm9pZCAwIT09TT9NLmdldCh0KTp2b2lkIDAsdT1udWxsIT09aj9qW3RdOm51bGwscz1udWxsIT09Tz9PW3RdOm51bGwsZj1yWzBdLHA9KDAsYy5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoZikseT12KGUscix2b2lkIDAhPT1hP2EuZ2V0KHApOnZvaWQgMCxuLHU/P251bGwsbCxzPz9udWxsLG8saSxfLHQsZHx8ZyxoKTtudWxsPT09TCYmKEw9bmV3IE1hcCksTC5zZXQodCx5KTtsZXQgUj15Lm5vZGU7aWYobnVsbCE9PVIpe2xldCBlPW5ldyBNYXAoQT92b2lkIDA6YSk7ZS5zZXQocCxSKSx3LnNldCh0LGUpfWxldCBFPXkucm91dGU7SVt0XT1FO2xldCBtPXkuZHluYW1pY1JlcXVlc3RUcmVlO251bGwhPT1tPyhEPSEwLHhbdF09bSk6eFt0XT1FfXJldHVybntzdGF0dXM6KyFnLHJvdXRlOkUodCxJKSxub2RlOnksZHluYW1pY1JlcXVlc3RUcmVlOm0odCx4LGcsRCxkKSxyZWZyZXNoVXJsOm51bGwsY2hpbGRyZW46TH19ZnVuY3Rpb24gRShlLHQpe2xldCByPVtlWzBdLHRdO3JldHVybiAyIGluIGUmJihyWzJdPWVbMl0pLDMgaW4gZSYmKHJbM109ZVszXSksNCBpbiBlJiYocls0XT1lWzRdKSxyfWZ1bmN0aW9uIG0oZSx0LHIsbixhKXtsZXQgbD1udWxsO3JldHVybiByPyhsPUUoZSx0KSxhfHwobFszXT0icmVmZXRjaCIpKTpsPW4/RShlLHQpOm51bGwsbH1mdW5jdGlvbiBiKGUsdCxyKXtyZXR1cm57cnNjOnQucnNjLHByZWZldGNoUnNjOmU/bnVsbDp0LnByZWZldGNoUnNjLGhlYWQ6dC5oZWFkLHByZWZldGNoSGVhZDplP251bGw6dC5wcmVmZXRjaEhlYWQsbG9hZGluZzp0LmxvYWRpbmcscGFyYWxsZWxSb3V0ZXM6cixuYXZpZ2F0ZWRBdDp0Lm5hdmlnYXRlZEF0fX1mdW5jdGlvbiBTKGUsdCxyLG4sYSxsLHUsbyl7bGV0IGksYyxzLGY7cmV0dXJuIHI/KGM9ZSxpPXcoKSk6KGM9bnVsbCxpPWUpLGw/YT8ocz1uLGY9dygpKToocz1udWxsLGY9bik6KHM9bnVsbCxmPW51bGwpLHtyc2M6aSxwcmVmZXRjaFJzYzpjLGhlYWQ6ZixwcmVmZXRjaEhlYWQ6cyxsb2FkaW5nOnQscGFyYWxsZWxSb3V0ZXM6dSxuYXZpZ2F0ZWRBdDpvfX1mdW5jdGlvbiBUKGUsdCxyLG4pe2xldCBhPTE9PT1uO3JldHVybntyc2M6YT9udWxsOncoKSxwcmVmZXRjaFJzYzpudWxsLGhlYWQ6IWEmJnQ/dygpOm51bGwscHJlZmV0Y2hIZWFkOm51bGwsbG9hZGluZzphP251bGw6dygpLHBhcmFsbGVsUm91dGVzOmUsbmF2aWdhdGVkQXQ6cn19bGV0IE89ITE7ZnVuY3Rpb24gaihlLHQscixuLGEpe2xldCBsPWUuZHluYW1pY1JlcXVlc3RUcmVlO2lmKG51bGw9PT1sKXtPPSExO3JldHVybn1sZXQgdT1VKGUsbCx0LHIsbiksbz1hLnNlcGFyYXRlUmVmcmVzaFVybHMsYz1udWxsO2lmKG51bGwhPT1vKXtjPVtdO2xldCBhPSgwLGkuY3JlYXRlSHJlZkZyb21VcmwpKHQpO2ZvcihsZXQgdCBvZiBvKXQhPT1hJiZudWxsIT09bCYmYy5wdXNoKFUoZSxsLG5ldyBVUkwodCxsb2NhdGlvbi5vcmlnaW4pLHIsbikpfU0oZSxyLHUsYykudGhlbihSLFIpfWFzeW5jIGZ1bmN0aW9uIE0oZSx0LHIsbil7dmFyIGEsbDtsZXQgdT1hd2FpdCAoYT1yLGw9bixuZXcgUHJvbWlzZShlPT57bGV0IHQ9dD0+ezA9PT10LmV4aXRTdGF0dXM/MD09LS1uJiZlKDApOmUodC5leGl0U3RhdHVzKX0scj0oKT0+ZSgyKSxuPTE7YS50aGVuKHQsciksbnVsbCE9PWwmJihuKz1sLmxlbmd0aCxsLmZvckVhY2goZT0+ZS50aGVuKHQscikpKX0pKTtzd2l0Y2goMD09PXUmJih1PWZ1bmN0aW9uIGUodCxyLG4pe3ZhciBhLGwsdTtsZXQgbyxpLGMsczswPT09dC5zdGF0dXM/KHQuc3RhdHVzPTIsYT10Lm5vZGUsbD1yLHU9bixOKGk9YS5yc2MpJiYobnVsbD09PWw/aS5yZXNvbHZlKG51bGwsdSk6aS5yZWplY3QobCx1KSksTihjPWEubG9hZGluZykmJmMucmVzb2x2ZShudWxsLHUpLE4ocz1hLmhlYWQpJiZzLnJlc29sdmUobnVsbCx1KSxvPW51bGw9PT10LnJlZnJlc2hVcmw/MToyKTpvPTA7bGV0IGY9dC5jaGlsZHJlbjtpZihudWxsIT09Zilmb3IobGV0Wyx0XW9mIGYpe2xldCBhPWUodCxyLG4pO2E+byYmKG89YSl9cmV0dXJuIG99KGUsbnVsbCxudWxsKSksdSl7Y2FzZSAwOk89ITE7cmV0dXJuO2Nhc2UgMTp7bGV0IG49YXdhaXQgcjtBKCExLG4udXJsLHQsbi5zZWVkLGUucm91dGUpO3JldHVybn1jYXNlIDI6e2xldCBuPWF3YWl0IHI7QSghMCxuLnVybCx0LG4uc2VlZCxlLnJvdXRlKTtyZXR1cm59ZGVmYXVsdDpyZXR1cm4gdX19ZnVuY3Rpb24gQShlLHQscixuLGEpe2U9ZXx8TyxPPSEwO2xldCBsPXt0eXBlOmQuQUNUSU9OX1NFUlZFUl9QQVRDSCxwcmV2aW91c1RyZWU6YSx1cmw6dCxuZXh0VXJsOnIsc2VlZDpuLG1wYTplfTsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKShsKX1hc3luYyBmdW5jdGlvbiBVKGUsdCxyLG4sYSl7dHJ5e2xldCBsPWF3YWl0ICgwLHMuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkocix7ZmxpZ2h0Um91dGVyU3RhdGU6dCxuZXh0VXJsOm4saXNIbXJSZWZyZXNoOjQ9PT1hfSk7aWYoInN0cmluZyI9PXR5cGVvZiBsKXJldHVybntleGl0U3RhdHVzOjIsdXJsOm5ldyBVUkwobCxsb2NhdGlvbi5vcmlnaW4pLHNlZWQ6bnVsbH07bGV0IHU9KDAseS5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShlLnJvdXRlLGwuZmxpZ2h0RGF0YSxsLnJlbmRlcmVkU2VhcmNoKTtyZXR1cm57ZXhpdFN0YXR1czorISFmdW5jdGlvbiBlKHQscixuLGEsbCl7MD09PXQuc3RhdHVzJiZudWxsIT09biYmKHQuc3RhdHVzPTEsZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9ZS5yc2MsbD10WzBdO2lmKG51bGw9PT1sKXJldHVybjtudWxsPT09YT9lLnJzYz1sOk4oYSkmJmEucmVzb2x2ZShsLG4pO2xldCB1PWUubG9hZGluZztpZihOKHUpKXtsZXQgZT10WzJdO3UucmVzb2x2ZShlLG4pfWxldCBvPWUuaGVhZDtOKG8pJiZvLnJlc29sdmUocixuKX0odC5ub2RlLG4sYSxsKSk7bGV0IHU9dC5jaGlsZHJlbixpPXJbMV0sYz1udWxsIT09bj9uWzFdOm51bGwscz0hMTtpZihudWxsIT09dSlmb3IobGV0IHQgaW4gaSl7bGV0IHI9aVt0XSxuPW51bGwhPT1jP2NbdF06bnVsbCxmPXUuZ2V0KHQpO2lmKHZvaWQgMD09PWYpcz0hMDtlbHNle2xldCB0PWYucm91dGVbMF07KDAsby5tYXRjaFNlZ21lbnQpKHJbMF0sdCkmJm51bGwhPW4mJmUoZixyLG4sYSxsKSYmKHM9ITApfX1yZXR1cm4gc30oZSx1LnRyZWUsdS5kYXRhLHUuaGVhZCxsLmRlYnVnSW5mbyksdXJsOm5ldyBVUkwobC5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzZWVkOnV9fWNhdGNoe3JldHVybntleGl0U3RhdHVzOjIsdXJsOnIsc2VlZDpudWxsfX19bGV0IEM9U3ltYm9sKCk7ZnVuY3Rpb24gTihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLnRhZz09PUN9ZnVuY3Rpb24gdygpe2xldCBlLHQscj1bXSxuPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybiBuLnN0YXR1cz0icGVuZGluZyIsbi5yZXNvbHZlPSh0LGEpPT57InBlbmRpbmciPT09bi5zdGF0dXMmJihuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPXQsbnVsbCE9PWEmJnIucHVzaC5hcHBseShyLGEpLGUodCkpfSxuLnJlamVjdD0oZSxhKT0+eyJwZW5kaW5nIj09PW4uc3RhdHVzJiYobi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lLG51bGwhPT1hJiZyLnB1c2guYXBwbHkocixhKSx0KGUpKX0sbi50YWc9QyxuLl9kZWJ1Z0luZm89cixufSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0NDU3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYXNMb2FkaW5nQm91bmRhcnkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO3ZhciBuLGE9KChuPXt9KVtuLlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnk9MV09IlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkiLG5bbi5TdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5PTJdPSJTdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5IixuW24uU3VidHJlZUhhc05vTG9hZGluZ0JvdW5kYXJ5PTNdPSJTdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnkiLG4pfSw1MjQxMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbixhLGwsdT17RmV0Y2hTdHJhdGVneTpmdW5jdGlvbigpe3JldHVybiBzfSxOYXZpZ2F0aW9uUmVzdWx0VGFnOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LFByZWZldGNoUHJpb3JpdHk6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiB1KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0OnVbb119KTt2YXIgaT0oKG49e30pW24uTVBBPTBdPSJNUEEiLG5bbi5TdWNjZXNzPTFdPSJTdWNjZXNzIixuW24uTm9PcD0yXT0iTm9PcCIsbltuLkFzeW5jPTNdPSJBc3luYyIsbiksYz0oKGE9e30pW2EuSW50ZW50PTJdPSJJbnRlbnQiLGFbYS5EZWZhdWx0PTFdPSJEZWZhdWx0IixhW2EuQmFja2dyb3VuZD0wXT0iQmFja2dyb3VuZCIsYSkscz0oKGw9e30pW2wuTG9hZGluZ0JvdW5kYXJ5PTBdPSJMb2FkaW5nQm91bmRhcnkiLGxbbC5QUFI9MV09IlBQUiIsbFtsLlBQUlJ1bnRpbWU9Ml09IlBQUlJ1bnRpbWUiLGxbbC5GdWxsPTNdPSJGdWxsIixsKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0MTg1MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGVsZXRlRnJvbUxydTpmdW5jdGlvbigpe3JldHVybiBmfSxscnVQdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdXBkYXRlTHJ1U2l6ZTpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig3NTc0NSksdT1udWxsLG89ITEsaT0wO2Z1bmN0aW9uIGMoZSl7aWYodT09PWUpcmV0dXJuO2xldCB0PWUucHJldixyPWUubmV4dDtpZihudWxsPT09cnx8bnVsbD09PXQ/KGkrPWUuc2l6ZSxkKCkpOih0Lm5leHQ9cixyLnByZXY9dCksbnVsbD09PXUpZS5wcmV2PWUsZS5uZXh0PWU7ZWxzZXtsZXQgdD11LnByZXY7ZS5wcmV2PXQsbnVsbCE9PXQmJih0Lm5leHQ9ZSksZS5uZXh0PXUsdS5wcmV2PWV9dT1lfWZ1bmN0aW9uIHMoZSx0KXtsZXQgcj1lLnNpemU7ZS5zaXplPXQsbnVsbCE9PWUubmV4dCYmKGk9aS1yK3QsZCgpKX1mdW5jdGlvbiBmKGUpe2xldCB0PWUubmV4dCxyPWUucHJldjtudWxsIT09dCYmbnVsbCE9PXImJihpLT1lLnNpemUsZS5uZXh0PW51bGwsZS5wcmV2PW51bGwsdT09PWU/dD09PXU/dT1udWxsOih1PXQsci5uZXh0PXQsdC5wcmV2PXIpOihyLm5leHQ9dCx0LnByZXY9cikpfWZ1bmN0aW9uIGQoKXtvfHxpPD0weDMyMDAwMDB8fChvPSEwLHAoaCkpfWZ1bmN0aW9uIGgoKXtvPSExO2Zvcig7aT4weDJkMDAwMDAmJm51bGwhPT11Oyl7bGV0IGU9dS5wcmV2O251bGwhPT1lJiYoMCxsLmRlbGV0ZU1hcEVudHJ5KShlKX19bGV0IHA9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVlc3RJZGxlQ2FsbGJhY2s/cmVxdWVzdElkbGVDYWxsYmFjazplPT5zZXRUaW1lb3V0KGUsMCk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzU3NDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0ZhbGxiYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZUNhY2hlTWFwOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGRlbGV0ZUZyb21DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBofSxkZWxldGVNYXBFbnRyeTpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRGcm9tQ2FjaGVNYXA6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNWYWx1ZUV4cGlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2V0SW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBmfSxzZXRTaXplSW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiB5fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig0MTg1MiksdT17fSxvPXt9O2Z1bmN0aW9uIGkoKXtyZXR1cm57cGFyZW50Om51bGwsa2V5Om51bGwsdmFsdWU6bnVsbCxtYXA6bnVsbCxwcmV2Om51bGwsbmV4dDpudWxsLHNpemU6MH19ZnVuY3Rpb24gYyhlLHQscixuLGEpe2xldCBpPWZ1bmN0aW9uIGUodCxyLG4sYSxsLGkpe2xldCBjLGY7aWYobnVsbCE9PWEpYz1hLnZhbHVlLGY9YS5wYXJlbnQ7ZWxzZSBpZihsJiZpIT09byljPW8sZj1udWxsO2Vsc2UgcmV0dXJuIG51bGw9PT1uLnZhbHVlP246cyh0LHIsbi52YWx1ZSk/KHAobiksbnVsbCk6bjtsZXQgZD1uLm1hcDtpZihudWxsIT09ZCl7bGV0IG49ZC5nZXQoYyk7aWYodm9pZCAwIT09bil7bGV0IGE9ZSh0LHIsbixmLGwsYyk7aWYobnVsbCE9PWEpcmV0dXJuIGF9bGV0IGE9ZC5nZXQodSk7aWYodm9pZCAwIT09YSlyZXR1cm4gZSh0LHIsYSxmLGwsYyl9cmV0dXJuIG51bGx9KGUsdCxyLG4sYSwwKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1pLnZhbHVlP251bGw6KCgwLGwubHJ1UHV0KShpKSxpLnZhbHVlKX1mdW5jdGlvbiBzKGUsdCxyKXtyZXR1cm4gci5zdGFsZUF0PD1lfHxyLnZlcnNpb248dH1mdW5jdGlvbiBmKGUsdCxyLG4pe2xldCBhPWZ1bmN0aW9uKGUsdCxyKXtsZXQgbj1lLGE9dCxsPW51bGw7Zm9yKDs7KXtsZXQgZT1sO2lmKG51bGwhPT1hKWw9YS52YWx1ZSxhPWEucGFyZW50O2Vsc2UgaWYociYmZSE9PW8pe2lmKG51bGw9PT1uLnZhbHVlKXJldHVybiBuO2w9b31lbHNlIGJyZWFrO2xldCB0PW4ubWFwO2lmKG51bGwhPT10KXtsZXQgZT10LmdldChsKTtpZih2b2lkIDAhPT1lKXtuPWU7Y29udGludWV9fWVsc2UgdD1uZXcgTWFwLG4ubWFwPXQ7bGV0IHU9e3BhcmVudDpuLGtleTpsLHZhbHVlOm51bGwsbWFwOm51bGwscHJldjpudWxsLG5leHQ6bnVsbCxzaXplOjB9O3Quc2V0KGwsdSksbj11fXJldHVybiBufShlLHQsbik7ZChhLHIpLCgwLGwubHJ1UHV0KShhKSwoMCxsLnVwZGF0ZUxydVNpemUpKGEsci5zaXplKX1mdW5jdGlvbiBkKGUsdCl7bnVsbCE9PWUudmFsdWUmJihlLnZhbHVlLnJlZj1udWxsLGUudmFsdWU9bnVsbCk7bGV0IHI9dC5yZWY7ZS52YWx1ZT10LHQucmVmPWUsKDAsbC51cGRhdGVMcnVTaXplKShlLHQuc2l6ZSksbnVsbCE9PXImJnIhPT1lJiZyLnZhbHVlPT09dCYmcChyKX1mdW5jdGlvbiBoKGUpe2xldCB0PWUucmVmO251bGwhPT10JiYoZS5yZWY9bnVsbCxwKHQpKX1mdW5jdGlvbiBwKGUpe2UudmFsdWU9bnVsbCwoMCxsLmRlbGV0ZUZyb21McnUpKGUpO2xldCB0PWUubWFwO2lmKG51bGw9PT10KXtsZXQgdD1lLnBhcmVudCxyPWUua2V5O2Zvcig7bnVsbCE9PXQ7KXtsZXQgZT10Lm1hcDtpZihudWxsIT09ZSYmKGUuZGVsZXRlKHIpLDA9PT1lLnNpemUpJiYodC5tYXA9bnVsbCxudWxsPT09dC52YWx1ZSkpe3I9dC5rZXksdD10LnBhcmVudDtjb250aW51ZX1icmVha319ZWxzZXtsZXQgcj10LmdldChvKTt2b2lkIDAhPT1yJiZudWxsIT09ci52YWx1ZSYmZChlLHIudmFsdWUpfX1mdW5jdGlvbiB5KGUsdCl7bGV0IHI9ZS5yZWY7bnVsbCE9PXImJihlLnNpemU9dCwoMCxsLnVwZGF0ZUxydVNpemUpKHIsdCkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY1ODkzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXthcHBlbmRMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBzfSxjbG9uZVBhZ2VWYXJ5UGF0aFdpdGhOZXdTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4geX0sZmluYWxpemVMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxmaW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sZmluYWxpemVQYWdlVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0RnVsZmlsbGVkUm91dGVWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRSb3V0ZVZhcnlQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDc1NzQ1KSxvPWUucig0NjIxOSk7ZnVuY3Rpb24gaShlLHQscil7cmV0dXJue3ZhbHVlOmUscGFyZW50Ont2YWx1ZTp0LHBhcmVudDp7dmFsdWU6cixwYXJlbnQ6bnVsbH19fX1mdW5jdGlvbiBjKGUsdCxyLG4pe3JldHVybnt2YWx1ZTplLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6e3ZhbHVlOm4/cjp1LkZhbGxiYWNrLHBhcmVudDpudWxsfX19fWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm57dmFsdWU6dCxwYXJlbnQ6ZX19ZnVuY3Rpb24gZihlLHQpe3JldHVybnt2YWx1ZTplLHBhcmVudDp0fX1mdW5jdGlvbiBkKGUsdCxyKXtyZXR1cm57dmFsdWU6ZSxwYXJlbnQ6e3ZhbHVlOnQscGFyZW50OnJ9fX1mdW5jdGlvbiBoKGUsdCxyKXtyZXR1cm57dmFsdWU6ZStvLkhFQURfUkVRVUVTVF9LRVkscGFyZW50Ont2YWx1ZTp0LHBhcmVudDpyfX19ZnVuY3Rpb24gcChlLHQpe2xldCByPXQudmFyeVBhdGg7aWYodC5pc1BhZ2UmJmUhPT1sLkZldGNoU3RyYXRlZ3kuRnVsbCYmZSE9PWwuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKXtsZXQgZT1yLnBhcmVudC5wYXJlbnQ7cmV0dXJue3ZhbHVlOnIudmFsdWUscGFyZW50Ont2YWx1ZTp1LkZhbGxiYWNrLHBhcmVudDplfX19cmV0dXJuIHJ9ZnVuY3Rpb24geShlLHQpe2xldCByPWUucGFyZW50O3JldHVybnt2YWx1ZTplLnZhbHVlLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6ci5wYXJlbnR9fX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjMxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXtsZXQgcj1uZXcgVVJMKGUpO3JldHVybntwYXRobmFtZTpyLnBhdGhuYW1lLHNlYXJjaDpyLnNlYXJjaCxuZXh0VXJsOnR9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc1NzgwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjYW5jZWxQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gRX0saXNQcmVmZXRjaFRhc2tEaXJ0eTpmdW5jdGlvbigpe3JldHVybiBifSxwaW5nUHJlZmV0Y2hUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIEF9LHJlc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bjpmdW5jdGlvbigpe3JldHVybiBQfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNDQ1NyksdT1lLnIoODk2MTYpLG89ZS5yKDQ0NjY3KSxpPWUucig2NTg5MyksYz1lLnIoMTYzMTYpLHM9ZS5yKDUyNDEzKSxmPWUucigyNzQ1NCksZD0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6ZT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbihlKS5jYXRjaChlPT5zZXRUaW1lb3V0KCgpPT57dGhyb3cgZX0pKSxoPVtdLHA9MCx5PTAsZz0hMSxSPW51bGwsXz1udWxsO2Z1bmN0aW9uIFAoKXtudWxsIT09XyYmY2xlYXJUaW1lb3V0KF8pLF89c2V0VGltZW91dCgoKT0+e189bnVsbCxUKCl9LDMwMCl9ZnVuY3Rpb24gdihlLHQscixuLGEpe2xldCBsPXtrZXk6ZSx0cmVlQXRUaW1lT2ZQcmVmZXRjaDp0LGNhY2hlVmVyc2lvbjooMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCkscHJpb3JpdHk6bixwaGFzZToxLGhhc0JhY2tncm91bmRXb3JrOiExLHNwYXduZWRSdW50aW1lUHJlZmV0Y2hlczpudWxsLGZldGNoU3RyYXRlZ3k6cixzb3J0SWQ6eSsrLGlzQ2FuY2VsZWQ6ITEsb25JbnZhbGlkYXRlOmEsX2hlYXBJbmRleDotMX07cmV0dXJuIFMobCksQihoLGwpLFQoKSxsfWZ1bmN0aW9uIEUoZSl7ZS5pc0NhbmNlbGVkPSEwLGZ1bmN0aW9uKGUsdCl7bGV0IHI9dC5faGVhcEluZGV4O2lmKC0xIT09ciYmKHQuX2hlYXBJbmRleD0tMSwwIT09ZS5sZW5ndGgpKXtsZXQgbj1lLnBvcCgpO24hPT10JiYoZVtyXT1uLG4uX2hlYXBJbmRleD1yLHooZSxuLHIpKX19KGgsZSl9ZnVuY3Rpb24gbShlLHQscixuKXtlLmlzQ2FuY2VsZWQ9ITEsZS5waGFzZT0xLGUuc29ydElkPXkrKyxlLnByaW9yaXR5PWU9PT1SP3MuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQ6bixlLnRyZWVBdFRpbWVPZlByZWZldGNoPXQsZS5mZXRjaFN0cmF0ZWd5PXIsUyhlKSwtMSE9PWUuX2hlYXBJbmRleD9xKGgsZSk6QihoLGUpLFQoKX1mdW5jdGlvbiBiKGUsdCxyKXtsZXQgbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7cmV0dXJuIGUuY2FjaGVWZXJzaW9uIT09bnx8ZS50cmVlQXRUaW1lT2ZQcmVmZXRjaCE9PXJ8fGUua2V5Lm5leHRVcmwhPT10fWZ1bmN0aW9uIFMoZSl7ZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQmJmUhPT1SJiYobnVsbCE9PVImJlIucHJpb3JpdHkhPT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCYmKFIucHJpb3JpdHk9cy5QcmVmZXRjaFByaW9yaXR5LkRlZmF1bHQscShoLFIpKSxSPWUpfWZ1bmN0aW9uIFQoKXtnfHwoZz0hMCxkKFUpKX1mdW5jdGlvbiBPKGUpe3JldHVybiBudWxsPT09XyYmKGUucHJpb3JpdHk9PT1zLlByZWZldGNoUHJpb3JpdHkuSW50ZW50P3A8MTI6cDw0KX1mdW5jdGlvbiBqKGUpe3JldHVybiBwKyssZS50aGVuKGU9Pm51bGw9PT1lPyhNKCksbnVsbCk6KGUuY2xvc2VkLnRoZW4oTSksZS52YWx1ZSkpfWZ1bmN0aW9uIE0oKXtwLS0sVCgpfWZ1bmN0aW9uIEEoZSl7ZS5pc0NhbmNlbGVkfHwtMSE9PWUuX2hlYXBJbmRleHx8KEIoaCxlKSxUKCkpfWZ1bmN0aW9uIFUoKXtnPSExO2xldCBlPURhdGUubm93KCksdD1LKGgpO2Zvcig7bnVsbCE9PXQmJk8odCk7KXt0LmNhY2hlVmVyc2lvbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7bGV0IHI9ZnVuY3Rpb24oZSx0KXtsZXQgcj10LmtleSxuPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsciksYT1mdW5jdGlvbihlLHQscil7c3dpdGNoKHIuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoUm91dGVPbkNhY2hlTWlzcykocix0LHQua2V5KSksci5zdGFsZUF0PWUrNmU0LHIuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZztjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzp7bGV0IGU9ci5ibG9ja2VkVGFza3M7cmV0dXJuIG51bGw9PT1lP3IuYmxvY2tlZFRhc2tzPW5ldyBTZXQoW3RdKTplLmFkZCh0KSwxfWNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDpicmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOntpZigwIT09dC5waGFzZSlyZXR1cm4gMjtpZighTyh0KSlyZXR1cm4gMDtsZXQgaT1yLnRyZWUsYz10LmZldGNoU3RyYXRlZ3k9PT1zLkZldGNoU3RyYXRlZ3kuUFBSP3IuaXNQUFJFbmFibGVkP3MuRmV0Y2hTdHJhdGVneS5QUFI6cy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp0LmZldGNoU3RyYXRlZ3k7c3dpdGNoKGMpe2Nhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUjp7dmFyIG4sYSx1O2lmKEYobj1lLGE9dCx1PXIsKDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkobixzLkZldGNoU3RyYXRlZ3kuUFBSLHUsdS5tZXRhZGF0YSksYS5rZXksdS5tZXRhZGF0YSksMD09PWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgdT0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGwpO0YodCxyLG4sdSxyLmtleSxsKTtsZXQgaT1hWzFdLGM9bC5zbG90cztpZihudWxsIT09Yylmb3IobGV0IGEgaW4gYyl7aWYoIU8ocikpcmV0dXJuIDA7bGV0IGw9Y1thXSx1PWwuc2VnbWVudCxzPWlbYV0sZj1zPy5bMF07aWYoMD09PSh2b2lkIDAhPT1mJiZrKG4sdSxmKT9lKHQscixuLHMsbCk6ZnVuY3Rpb24gZSh0LHIsbixhKXtpZihhLmhhc1J1bnRpbWVQcmVmZXRjaClyZXR1cm4gbnVsbD09PXIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzP3Iuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzPW5ldyBTZXQoW2EucmVxdWVzdEtleV0pOnIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzLmFkZChhLnJlcXVlc3RLZXkpLDI7bGV0IGw9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkodCxyLmZldGNoU3RyYXRlZ3ksbixhKTtpZihGKHQscixuLGwsci5rZXksYSksbnVsbCE9PWEuc2xvdHMpe2lmKCFPKHIpKXJldHVybiAwO2ZvcihsZXQgbCBpbiBhLnNsb3RzKWlmKDA9PT1lKHQscixuLGEuc2xvdHNbbF0pKXJldHVybiAwfXJldHVybiAyfSh0LHIsbixsKSkpcmV0dXJuIDB9cmV0dXJuIDJ9KGUsdCxyLHQudHJlZUF0VGltZU9mUHJlZmV0Y2gsaSkpcmV0dXJuIDA7bGV0IGw9dC5zcGF3bmVkUnVudGltZVByZWZldGNoZXM7aWYobnVsbCE9PWwpe2xldCBuPW5ldyBNYXA7TihlLHQscixuLHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKTtsZXQgYT1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtpZihsLmhhcyhhLnJlcXVlc3RLZXkpKXJldHVybiB3KHQscixuLGEsITEsdSxzLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSk7bGV0IG89e30saT1hLnNsb3RzO2lmKG51bGwhPT1pKWZvcihsZXQgYSBpbiBpKXtsZXQgYz1pW2FdO29bYV09ZSh0LHIsbixjLGwsdSl9cmV0dXJuW2Euc2VnbWVudCxvLG51bGwsbnVsbF19KGUsdCxyLGksbCxuKTtuLnNpemU+MCYmaigoMCxvLmZldGNoU2VnbWVudFByZWZldGNoZXNVc2luZ0R5bmFtaWNSZXF1ZXN0KSh0LHIscy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWUsYSxuKSl9cmV0dXJuIDJ9Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpjYXNlIHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp7bGV0IG49bmV3IE1hcDtOKGUsdCxyLG4sYyk7bGV0IGE9ZnVuY3Rpb24gZSh0LHIsbixhLHUsaSxjKXtsZXQgZj1hWzFdLGQ9dS5zbG90cyxoPXt9O2lmKG51bGwhPT1kKWZvcihsZXQgYSBpbiBkKXtsZXQgdT1kW2FdLHA9dS5zZWdtZW50LHk9ZlthXSxnPXk/LlswXTtpZih2b2lkIDAhPT1nJiZrKG4scCxnKSl7bGV0IGw9ZSh0LHIsbix5LHUsaSxjKTtoW2FdPWx9ZWxzZSBzd2l0Y2goYyl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OntsZXQgZT11Lmhhc0xvYWRpbmdCb3VuZGFyeSE9PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeT9mdW5jdGlvbiBlKHQscixuLGEsdSxpKXtsZXQgYz1udWxsPT09dT8iaW5zaWRlLXNoYXJlZC1sYXlvdXQiOm51bGwsZj0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGEpO3N3aXRjaChmLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5Omkuc2V0KGEucmVxdWVzdEtleSwoMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShmLHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkpKSwicmVmZXRjaCIhPT11JiYoYz11PSJyZWZldGNoIik7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDppZihhLmhhc0xvYWRpbmdCb3VuZGFyeT09PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkpcmV0dXJuKDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkoYSk7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1sZXQgZD17fTtpZihudWxsIT09YS5zbG90cylmb3IobGV0IGwgaW4gYS5zbG90cyl7bGV0IG89YS5zbG90c1tsXTtkW2xdPWUodCxyLG4sbyx1LGkpfXJldHVyblthLnNlZ21lbnQsZCxudWxsLGMsYS5pc1Jvb3RMYXlvdXRdfSh0LHIsbix1LG51bGwsaSk6KDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkodSk7aFthXT1lO2JyZWFrfWNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6e2xldCBlPXcodCxyLG4sdSwhMSxpLGMpO2hbYV09ZTticmVha31jYXNlIHMuRmV0Y2hTdHJhdGVneS5GdWxsOntsZXQgZT13KHQscixuLHUsITEsaSxjKTtoW2FdPWV9fX1yZXR1cm5bdS5zZWdtZW50LGgsbnVsbCxudWxsLHUuaXNSb290TGF5b3V0XX0oZSx0LHIsdC50cmVlQXRUaW1lT2ZQcmVmZXRjaCxpLG4sYyk7cmV0dXJuIG4uc2l6ZT4wJiZqKCgwLG8uZmV0Y2hTZWdtZW50UHJlZmV0Y2hlc1VzaW5nRHluYW1pY1JlcXVlc3QpKHQscixjLGEsbikpLDJ9fX19cmV0dXJuIDJ9KGUsdCxuKTtpZigwIT09YSYmIiIhPT1yLnNlYXJjaCl7bGV0IG49bmV3IFVSTChyLnBhdGhuYW1lLGxvY2F0aW9uLm9yaWdpbiksYT0oMCxjLmNyZWF0ZUNhY2hlS2V5KShuLmhyZWYsci5uZXh0VXJsKSxsPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsYSk7c3dpdGNoKGwuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6Qyh0KSYmKGwuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZyxqKCgwLG8uZmV0Y2hSb3V0ZU9uQ2FjaGVNaXNzKShsLHQsYSkpKTtjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzpjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDp9fXJldHVybiBhfShlLHQpLG49dC5oYXNCYWNrZ3JvdW5kV29yaztzd2l0Y2godC5oYXNCYWNrZ3JvdW5kV29yaz0hMSx0LnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcz1udWxsLHIpe2Nhc2UgMDpyZXR1cm47Y2FzZSAxOlYoaCksdD1LKGgpO2NvbnRpbnVlO2Nhc2UgMjoxPT09dC5waGFzZT8odC5waGFzZT0wLHEoaCx0KSk6bj8odC5wcmlvcml0eT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCxxKGgsdCkpOlYoaCksdD1LKGgpO2NvbnRpbnVlfX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5CYWNrZ3JvdW5kfHwoZS5oYXNCYWNrZ3JvdW5kV29yaz0hMCwhMSl9ZnVuY3Rpb24gTihlLHQscixuLGEpe3coZSx0LHIsci5tZXRhZGF0YSwhMSxuLGE9PT1zLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5P3MuRmV0Y2hTdHJhdGVneS5GdWxsOmEpfWZ1bmN0aW9uIHcoZSx0LHIsbixhLGwsdSl7bGV0IGk9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkoZSx1LHIsbiksYz1udWxsO3N3aXRjaChpLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5OmM9KDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoaSx1KTticmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmkuaXNQYXJ0aWFsJiYoMCxvLmNhbk5ld0ZldGNoU3RyYXRlZ3lQcm92aWRlTW9yZUNvbnRlbnQpKGkuZmV0Y2hTdHJhdGVneSx1KSYmKGM9TChlLHIsbix1KSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOigwLG8uY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudCkoaS5mZXRjaFN0cmF0ZWd5LHUpJiYoYz1MKGUscixuLHUpKX1sZXQgcz17fTtpZihudWxsIT09bi5zbG90cylmb3IobGV0IG8gaW4gbi5zbG90cyl7bGV0IGk9bi5zbG90c1tvXTtzW29dPXcoZSx0LHIsaSxhfHxudWxsIT09YyxsLHUpfW51bGwhPT1jJiZsLnNldChuLnJlcXVlc3RLZXksYyk7bGV0IGY9YXx8bnVsbD09PWM/bnVsbDoicmVmZXRjaCI7cmV0dXJuW24uc2VnbWVudCxzLG51bGwsZixuLmlzUm9vdExheW91dF19ZnVuY3Rpb24gRihlLHQscixuLGEsbCl7c3dpdGNoKG4uc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoU2VnbWVudE9uQ2FjaGVNaXNzKShyLCgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKG4scy5GZXRjaFN0cmF0ZWd5LlBQUiksYSxsKSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6Qyh0KSYmSShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1icmVhaztjYXNlIG8uRW50cnlTdGF0dXMuUmVqZWN0ZWQ6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6SShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1jYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOn19ZnVuY3Rpb24gSShlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxzLkZldGNoU3RyYXRlZ3kuUFBSLHQsbik7c3dpdGNoKGEuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6eChqKCgwLG8uZmV0Y2hTZWdtZW50T25DYWNoZU1pc3MpKHQsKDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoYSxzLkZldGNoU3RyYXRlZ3kuUFBSKSxyLG4pKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKHMuRmV0Y2hTdHJhdGVneS5QUFIsbikpO2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn19ZnVuY3Rpb24gTChlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxuLHQscik7aWYoYS5zdGF0dXM9PT1vLkVudHJ5U3RhdHVzLkVtcHR5KXtsZXQgZT0oMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShhLG4pO3JldHVybiB4KCgwLG8ud2FpdEZvclNlZ21lbnRDYWNoZUVudHJ5KShlKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKG4scikpLGV9aWYoKDAsby5jYW5OZXdGZXRjaFN0cmF0ZWd5UHJvdmlkZU1vcmVDb250ZW50KShhLmZldGNoU3RyYXRlZ3ksbikpe2xldCBlPSgwLG8ub3ZlcndyaXRlUmV2YWxpZGF0aW5nU2VnbWVudENhY2hlRW50cnkpKG4sdCxyKSxhPSgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKGUsbik7cmV0dXJuIHgoKDAsby53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLCgwLGkuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkobixyKSksYX1zd2l0Y2goYS5zdGF0dXMpe2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOmRlZmF1bHQ6cmV0dXJuIG51bGx9fWxldCBEPSgpPT57fTtmdW5jdGlvbiB4KGUsdCl7ZS50aGVuKGU9PntudWxsIT09ZSYmKDAsby51cHNlcnRTZWdtZW50RW50cnkpKERhdGUubm93KCksdCxlKX0sRCl9ZnVuY3Rpb24gayhlLHQscil7cmV0dXJuIHI9PT1mLlBBR0VfU0VHTUVOVF9LRVk/dD09PSgwLGYuYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudCkoZi5QQUdFX1NFR01FTlRfS0VZLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKGUucmVuZGVyZWRTZWFyY2gpKSk6KDAsdS5tYXRjaFNlZ21lbnQpKHIsdCl9ZnVuY3Rpb24gSChlLHQpe2xldCByPXQucHJpb3JpdHktZS5wcmlvcml0eTtpZigwIT09cilyZXR1cm4gcjtsZXQgbj10LnBoYXNlLWUucGhhc2U7cmV0dXJuIDAhPT1uP246dC5zb3J0SWQtZS5zb3J0SWR9ZnVuY3Rpb24gQihlLHQpe2xldCByPWUubGVuZ3RoO2UucHVzaCh0KSx0Ll9oZWFwSW5kZXg9cixHKGUsdCxyKX1mdW5jdGlvbiBLKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFYoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO2xldCB0PWVbMF07dC5faGVhcEluZGV4PS0xO2xldCByPWUucG9wKCk7cmV0dXJuIHIhPT10JiYoZVswXT1yLHIuX2hlYXBJbmRleD0wLHooZSxyLDApKSx0fWZ1bmN0aW9uIHEoZSx0KXtsZXQgcj10Ll9oZWFwSW5kZXg7LTEhPT1yJiYoMD09PXI/eihlLHQsMCk6SChlW3ItMT4+PjFdLHQpPjA/RyhlLHQscik6eihlLHQscikpfWZ1bmN0aW9uIEcoZSx0LHIpe2xldCBuPXI7Zm9yKDtuPjA7KXtsZXQgcj1uLTE+Pj4xLGE9ZVtyXTtpZighKEgoYSx0KT4wKSlyZXR1cm47ZVtyXT10LHQuX2hlYXBJbmRleD1yLGVbbl09YSxhLl9oZWFwSW5kZXg9bixuPXJ9fWZ1bmN0aW9uIHooZSx0LHIpe2xldCBuPXIsYT1lLmxlbmd0aCxsPWE+Pj4xO2Zvcig7bjxsOyl7bGV0IHI9KG4rMSkqMi0xLGw9ZVtyXSx1PXIrMSxvPWVbdV07aWYoMD5IKGwsdCkpdTxhJiYwPkgobyxsKT8oZVtuXT1vLG8uX2hlYXBJbmRleD1uLGVbdV09dCx0Ll9oZWFwSW5kZXg9dSxuPXUpOihlW25dPWwsbC5faGVhcEluZGV4PW4sZVtyXT10LHQuX2hlYXBJbmRleD1yLG49cik7ZWxzZXtpZighKHU8YSYmMD5IKG8sdCkpKXJldHVybjtlW25dPW8sby5faGVhcEluZGV4PW4sZVt1XT10LHQuX2hlYXBJbmRleD11LG49dX19fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk4MDYzLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtsZXQgdD1lLmluZGV4T2YoIiMiKSxyPWUuaW5kZXhPZigiPyIpLG49cj4tMSYmKHQ8MHx8cjx0KTtyZXR1cm4gbnx8dD4tMT97cGF0aG5hbWU6ZS5zdWJzdHJpbmcoMCxuP3I6dCkscXVlcnk6bj9lLnN1YnN0cmluZyhyLHQ+LTE/dDp2b2lkIDApOiIiLGhhc2g6dD4tMT9lLnNsaWNlKHQpOiIifTp7cGF0aG5hbWU6ZSxxdWVyeToiIixoYXNoOiIifX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInBhcnNlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkwNTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFkZFBhdGhQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODA2Myk7ZnVuY3Rpb24gYShlLHQpe2lmKCFlLnN0YXJ0c1dpdGgoIi8iKXx8IXQpcmV0dXJuIGU7bGV0e3BhdGhuYW1lOnIscXVlcnk6YSxoYXNoOmx9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm5gJHt0fSR7cn0ke2F9JHtsfWB9fSw5ODk0NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvXC8kLywiIil8fCIvIn1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZVRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pfSw2MTgwNywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5ODk0NyksYT1lLnIoOTgwNjMpLGw9ZT0+e2lmKCFlLnN0YXJ0c1dpdGgoIi8iKSlyZXR1cm4gZTtsZXR7cGF0aG5hbWU6dCxxdWVyeTpyLGhhc2g6bH09KDAsYS5wYXJzZVBhdGgpKGUpO3JldHVybmAkeygwLG4ucmVtb3ZlVHJhaWxpbmdTbGFzaCkodCl9JHtyfSR7bH1gfTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNDg1NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWRkQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5MDU4KSxhPWUucig2MTgwNyk7ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLGEubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKCgwLG4uYWRkUGF0aFByZWZpeCkoZSwiIikpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI5MzYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVQcmVmZXRjaFVSTDpmdW5jdGlvbigpe3JldHVybiBpfSxpc0V4dGVybmFsVVJMOmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDM0NjUpLHU9ZS5yKDE0ODU3KTtmdW5jdGlvbiBvKGUpe3JldHVybiBlLm9yaWdpbiE9PXdpbmRvdy5sb2NhdGlvbi5vcmlnaW59ZnVuY3Rpb24gaShlKXtsZXQgdDtpZigoMCxsLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkpcmV0dXJuIG51bGw7dHJ5e3Q9bmV3IFVSTCgoMCx1LmFkZEJhc2VQYXRoKShlKSx3aW5kb3cubG9jYXRpb24uaHJlZil9Y2F0Y2godCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBDYW5ub3QgcHJlZmV0Y2ggJyR7ZX0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1yZXR1cm4gbyh0KT9udWxsOnR9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTgyODMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0lETEVfTElOS19TVEFUVVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sUEVORElOR19MSU5LX1NUQVRVUzpmdW5jdGlvbigpe3JldHVybiBzfSxtb3VudEZvcm1JbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB2fSxtb3VudExpbmtJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBQfSxvbkxpbmtWaXNpYmlsaXR5Q2hhbmdlZDpmdW5jdGlvbigpe3JldHVybiBtfSxvbk5hdmlnYXRpb25JbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYn0scGluZ1Zpc2libGVMaW5rczpmdW5jdGlvbigpe3JldHVybiBUfSxzZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZH0sdW5tb3VudExpbmtGb3JDdXJyZW50TmF2aWdhdGlvbjpmdW5jdGlvbigpe3JldHVybiBofSx1bm1vdW50UHJlZmV0Y2hhYmxlSW5zdGFuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gRX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDE2MzE2KSxvPWUucig3NTc4MCksaT1lLnIoNzUyMDEpLGM9bnVsbCxzPXtwZW5kaW5nOiEwfSxmPXtwZW5kaW5nOiExfTtmdW5jdGlvbiBkKGUpeygwLGkuc3RhcnRUcmFuc2l0aW9uKSgoKT0+e2M/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKGYpLGU/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKHMpLGM9ZX0pfWZ1bmN0aW9uIGgoZSl7Yz09PWUmJihjPW51bGwpfWxldCBwPSJmdW5jdGlvbiI9PXR5cGVvZiBXZWFrTWFwP25ldyBXZWFrTWFwOm5ldyBNYXAseT1uZXcgU2V0LGc9ImZ1bmN0aW9uIj09dHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlKXtmb3IobGV0IHQgb2YgZSl7bGV0IGU9dC5pbnRlcnNlY3Rpb25SYXRpbz4wO20odC50YXJnZXQsZSl9fSx7cm9vdE1hcmdpbjoiMjAwcHgifSk6bnVsbDtmdW5jdGlvbiBSKGUsdCl7dm9pZCAwIT09cC5nZXQoZSkmJkUoZSkscC5zZXQoZSx0KSxudWxsIT09ZyYmZy5vYnNlcnZlKGUpfWZ1bmN0aW9uIF8odCl7aWYoISgidSI+dHlwZW9mIHdpbmRvdykpcmV0dXJuIG51bGw7e2xldHtjcmVhdGVQcmVmZXRjaFVSTDpyfT1lLnIoMjkzNjIpO3RyeXtyZXR1cm4gcih0KX1jYXRjaHtyZXR1cm4oImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmNvbnNvbGUuZXJyb3IpKGBDYW5ub3QgcHJlZmV0Y2ggJyR7dH0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSxudWxsfX19ZnVuY3Rpb24gUChlLHQscixuLGEsbCl7aWYoYSl7bGV0IGE9Xyh0KTtpZihudWxsIT09YSl7bGV0IHQ9e3JvdXRlcjpyLGZldGNoU3RyYXRlZ3k6bixpc1Zpc2libGU6ITEscHJlZmV0Y2hUYXNrOm51bGwscHJlZmV0Y2hIcmVmOmEuaHJlZixzZXRPcHRpbWlzdGljTGlua1N0YXR1czpsfTtyZXR1cm4gUihlLHQpLHR9fXJldHVybntyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjpudWxsLHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOmx9fWZ1bmN0aW9uIHYoZSx0LHIsbil7bGV0IGE9Xyh0KTtudWxsPT09YXx8UihlLHtyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjphLmhyZWYsc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXM6bnVsbH0pfWZ1bmN0aW9uIEUoZSl7bGV0IHQ9cC5nZXQoZSk7aWYodm9pZCAwIT09dCl7cC5kZWxldGUoZSkseS5kZWxldGUodCk7bGV0IHI9dC5wcmVmZXRjaFRhc2s7bnVsbCE9PXImJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShyKX1udWxsIT09ZyYmZy51bm9ic2VydmUoZSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJihyLmlzVmlzaWJsZT10LHQ/eS5hZGQocik6eS5kZWxldGUociksUyhyLGwuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0KSl9ZnVuY3Rpb24gYihlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJnZvaWQgMCE9PXImJlMocixsLlByZWZldGNoUHJpb3JpdHkuSW50ZW50KX1mdW5jdGlvbiBTKHQscil7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCBuPXQucHJlZmV0Y2hUYXNrO2lmKCF0LmlzVmlzaWJsZSl7bnVsbCE9PW4mJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShuKTtyZXR1cm59bGV0e2dldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTphfT1lLnIoODQzOTUpLGw9YSgpO2lmKG51bGwhPT1sKXtsZXQgZT1sLnRyZWU7aWYobnVsbD09PW4pe2xldCBuPWwubmV4dFVybCxhPSgwLHUuY3JlYXRlQ2FjaGVLZXkpKHQucHJlZmV0Y2hIcmVmLG4pO3QucHJlZmV0Y2hUYXNrPSgwLG8uc2NoZWR1bGVQcmVmZXRjaFRhc2spKGEsZSx0LmZldGNoU3RyYXRlZ3kscixudWxsKX1lbHNlKDAsby5yZXNjaGVkdWxlUHJlZmV0Y2hUYXNrKShuLGUsdC5mZXRjaFN0cmF0ZWd5LHIpfX19ZnVuY3Rpb24gVChlLHQpe2ZvcihsZXQgciBvZiB5KXtsZXQgbj1yLnByZWZldGNoVGFzaztpZihudWxsIT09biYmISgwLG8uaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpKWNvbnRpbnVlO251bGwhPT1uJiYoMCxvLmNhbmNlbFByZWZldGNoVGFzaykobik7bGV0IGE9KDAsdS5jcmVhdGVDYWNoZUtleSkoci5wcmVmZXRjaEhyZWYsZSk7ci5wcmVmZXRjaFRhc2s9KDAsby5zY2hlZHVsZVByZWZldGNoVGFzaykoYSx0LHIuZmV0Y2hTdHJhdGVneSxsLlByZWZldGNoUHJpb3JpdHkuRGVmYXVsdCxudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDA0NjEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKCl7bGV0IGUsdCxyPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybntyZXNvbHZlOmUscmVqZWN0OnQscHJvbWlzZTpyfX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KX0sNDQ2NjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17RW50cnlTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gU30sY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBlYX0sY29udmVydFJvdXRlVHJlZVRvRmxpZ2h0Um91dGVyU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtsZXQgcj17fTtpZihudWxsIT09dC5zbG90cylmb3IobGV0IG4gaW4gdC5zbG90cylyW25dPWUodC5zbG90c1tuXSk7cmV0dXJuW3Quc2VnbWVudCxyLG51bGwsbnVsbCx0LmlzUm9vdExheW91dF19fSxjcmVhdGVEZXRhY2hlZFNlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LGZldGNoUm91dGVPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiAkfSxmZXRjaFNlZ21lbnRPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiBRfSxmZXRjaFNlZ21lbnRQcmVmZXRjaGVzVXNpbmdEeW5hbWljUmVxdWVzdDpmdW5jdGlvbigpe3JldHVybiBKfSxnZXRDdXJyZW50Q2FjaGVWZXJzaW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFV9LGdldFN0YWxlVGltZU1zOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LG92ZXJ3cml0ZVJldmFsaWRhdGluZ1NlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEJ9LHBpbmdJbnZhbGlkYXRpb25MaXN0ZW5lcnM6ZnVuY3Rpb24oKXtyZXR1cm4gTn0scmVhZE9yQ3JlYXRlUmV2YWxpZGF0aW5nU2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEh9LHJlYWRPckNyZWF0ZVJvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBMfSxyZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBrfSxyZWFkUm91dGVDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHd9LHJlYWRTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBGfSxyZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBEfSxyZXZhbGlkYXRlRW50aXJlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sdXBncmFkZVRvUGVuZGluZ1NlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gcX0sdXBzZXJ0U2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHdhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBJfX07Zm9yKHZhciBsIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbCx7ZW51bWVyYWJsZTohMCxnZXQ6YVtsXX0pO2xldCB1PWUucigyNDQ1Nyksbz1lLnIoMzQ2NDEpLGk9ZS5yKDExMDYpLGM9ZS5yKDc1NzgwKSxzPWUucig2NTg5MyksZj1lLnIoNjE3MDYpLGQ9ZS5yKDg1NTk0KSxoPWUucigxNjMxNikscD1lLnIoODgwNjIpLHk9ZS5yKDc1NzQ1KSxnPWUucig0NjIxOSksUj1lLnIoNjc2MjgpLF89ZS5yKDU0MDExKSxQPWUucig5ODI4Myksdj1lLnIoMjc0NTQpLEU9ZS5yKDUyNDEzKSxtPWUucig0MDQ2MSk7ZnVuY3Rpb24gYihlKXtyZXR1cm4gMWUzKk1hdGgubWF4KGUsMzApfXZhciBTPSgobj17fSlbbi5FbXB0eT0wXT0iRW1wdHkiLG5bbi5QZW5kaW5nPTFdPSJQZW5kaW5nIixuW24uRnVsZmlsbGVkPTJdPSJGdWxmaWxsZWQiLG5bbi5SZWplY3RlZD0zXT0iUmVqZWN0ZWQiLG4pO2xldCBUPVsiIix7fSxudWxsLCJtZXRhZGF0YS1vbmx5Il0sTz0oMCx5LmNyZWF0ZUNhY2hlTWFwKSgpLGo9KDAseS5jcmVhdGVDYWNoZU1hcCkoKSxNPW51bGwsQT0wO2Z1bmN0aW9uIFUoKXtyZXR1cm4gQX1mdW5jdGlvbiBDKGUsdCl7QSsrLCgwLGMuc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bikoKSwoMCxQLnBpbmdWaXNpYmxlTGlua3MpKGUsdCksTihlLHQpfWZ1bmN0aW9uIE4oZSx0KXtpZihudWxsIT09TSl7bGV0IHI9TTtmb3IobGV0IG4gb2YoTT1udWxsLHIpKSgwLGMuaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpJiZmdW5jdGlvbihlKXtsZXQgdD1lLm9uSW52YWxpZGF0ZTtpZihudWxsIT09dCl7ZS5vbkludmFsaWRhdGU9bnVsbDt0cnl7dCgpfWNhdGNoKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcihlKTpjb25zb2xlLmVycm9yKGUpfX19KG4pfX1mdW5jdGlvbiB3KGUsdCl7bGV0IHI9KDAscy5nZXRSb3V0ZVZhcnlQYXRoKSh0LnBhdGhuYW1lLHQuc2VhcmNoLHQubmV4dFVybCk7cmV0dXJuKDAseS5nZXRGcm9tQ2FjaGVNYXApKGUsQSxPLHIsITEpfWZ1bmN0aW9uIEYoZSx0KXtyZXR1cm4oMCx5LmdldEZyb21DYWNoZU1hcCkoZSxBLGosdCwhMSl9ZnVuY3Rpb24gSShlKXtsZXQgdD1lLnByb21pc2U7cmV0dXJuIG51bGw9PT10JiYodD1lLnByb21pc2U9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSksdC5wcm9taXNlfWZ1bmN0aW9uIEwoZSx0LHIpe251bGwhPT10Lm9uSW52YWxpZGF0ZSYmKG51bGw9PT1NP009bmV3IFNldChbdF0pOk0uYWRkKHQpKTtsZXQgbj13KGUscik7aWYobnVsbCE9PW4pcmV0dXJuIG47bGV0IGE9e2Nhbm9uaWNhbFVybDpudWxsLHN0YXR1czowLGJsb2NrZWRUYXNrczpudWxsLHRyZWU6bnVsbCxtZXRhZGF0YTpudWxsLGNvdWxkQmVJbnRlcmNlcHRlZDohMCxpc1BQUkVuYWJsZWQ6ITEscmVuZGVyZWRTZWFyY2g6bnVsbCxyZWY6bnVsbCxzaXplOjAsc3RhbGVBdDoxLzAsdmVyc2lvbjpBfSxsPSgwLHMuZ2V0Um91dGVWYXJ5UGF0aCkoci5wYXRobmFtZSxyLnNlYXJjaCxyLm5leHRVcmwpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoTyxsLGEsITEpLGF9ZnVuY3Rpb24gRChlLHQscil7bGV0IG49dC5zZWFyY2g7aWYoIiI9PT1uKXJldHVybiBudWxsO2xldCBhPW5ldyBVUkwodCk7YS5zZWFyY2g9IiI7bGV0IGw9dyhlLCgwLGguY3JlYXRlQ2FjaGVLZXkpKGEuaHJlZixyKSk7aWYobnVsbD09PWx8fDIhPT1sLnN0YXR1cylyZXR1cm4gbnVsbDtsZXQgdT1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLHQub3JpZ2luKSxvPSIiIT09dS5zZWFyY2g/dS5zZWFyY2g6bixpPSIiIT09bC5yZW5kZXJlZFNlYXJjaD9sLnJlbmRlcmVkU2VhcmNoOm4sYz1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbik7cmV0dXJuIGMuc2VhcmNoPW8se2Nhbm9uaWNhbFVybDooMCxkLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxzdGF0dXM6MixibG9ja2VkVGFza3M6bnVsbCx0cmVlOngobC50cmVlLGkpLG1ldGFkYXRhOngobC5tZXRhZGF0YSxpKSxjb3VsZEJlSW50ZXJjZXB0ZWQ6bC5jb3VsZEJlSW50ZXJjZXB0ZWQsaXNQUFJFbmFibGVkOmwuaXNQUFJFbmFibGVkLHJlbmRlcmVkU2VhcmNoOmkscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6bC5zdGFsZUF0LHZlcnNpb246bC52ZXJzaW9ufX1mdW5jdGlvbiB4KGUsdCl7bGV0IHI9bnVsbCxuPWUuc2xvdHM7aWYobnVsbCE9PW4pZm9yKGxldCBlIGluIHI9e30sbil7bGV0IGE9bltlXTtyW2VdPXgoYSx0KX1yZXR1cm4gZS5pc1BhZ2U/e3JlcXVlc3RLZXk6ZS5yZXF1ZXN0S2V5LHNlZ21lbnQ6ZS5zZWdtZW50LHZhcnlQYXRoOigwLHMuY2xvbmVQYWdlVmFyeVBhdGhXaXRoTmV3U2VhcmNoUGFyYW1zKShlLnZhcnlQYXRoLHQpLGlzUGFnZTohMCxzbG90czpyLGlzUm9vdExheW91dDplLmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6ZS5oYXNMb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOmUuaGFzUnVudGltZVByZWZldGNofTp7cmVxdWVzdEtleTplLnJlcXVlc3RLZXksc2VnbWVudDplLnNlZ21lbnQsdmFyeVBhdGg6ZS52YXJ5UGF0aCxpc1BhZ2U6ITEsc2xvdHM6cixpc1Jvb3RMYXlvdXQ6ZS5pc1Jvb3RMYXlvdXQsaGFzTG9hZGluZ0JvdW5kYXJ5OmUuaGFzTG9hZGluZ0JvdW5kYXJ5LGhhc1J1bnRpbWVQcmVmZXRjaDplLmhhc1J1bnRpbWVQcmVmZXRjaH19ZnVuY3Rpb24gayhlLHQscixuKXtsZXQgYT1GKGUsbi52YXJ5UGF0aCk7aWYobnVsbCE9PWEpcmV0dXJuIGE7bGV0IGw9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLHU9VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixsLHUsITEpLHV9ZnVuY3Rpb24gSChlLHQscixuKXt2YXIgYTtsZXQgbD0oYT1uLnZhcnlQYXRoLCgwLHkuZ2V0RnJvbUNhY2hlTWFwKShlLEEsaixhLCEwKSk7aWYobnVsbCE9PWwpcmV0dXJuIGw7bGV0IHU9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLG89VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaix1LG8sITApLG99ZnVuY3Rpb24gQihlLHQscil7bGV0IG49KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KShlLHIpLGE9Vih0LnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixuLGEsITApLGF9ZnVuY3Rpb24gSyhlLHQscil7aWYoKDAseS5pc1ZhbHVlRXhwaXJlZCkoZSxBLHIpKXJldHVybiBudWxsO2xldCBuPUYoZSx0KTtpZihudWxsIT09bil7dmFyIGE7aWYoci5mZXRjaFN0cmF0ZWd5IT09bi5mZXRjaFN0cmF0ZWd5JiYoYT1uLmZldGNoU3RyYXRlZ3ksIShhPHIuZmV0Y2hTdHJhdGVneSkpfHwhbi5pc1BhcnRpYWwmJnIuaXNQYXJ0aWFsKXJldHVybiByLnN0YXR1cz0zLHIubG9hZGluZz1udWxsLHIucnNjPW51bGwsbnVsbDsoMCx5LmRlbGV0ZUZyb21DYWNoZU1hcCkobil9cmV0dXJuKDAseS5zZXRJbkNhY2hlTWFwKShqLHQsciwhMSkscn1mdW5jdGlvbiBWKGUpe3JldHVybntzdGF0dXM6MCxmZXRjaFN0cmF0ZWd5OkUuRmV0Y2hTdHJhdGVneS5QUFIscnNjOm51bGwsbG9hZGluZzpudWxsLGlzUGFydGlhbDohMCxwcm9taXNlOm51bGwscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6ZSx2ZXJzaW9uOjB9fWZ1bmN0aW9uIHEoZSx0KXtyZXR1cm4gZS5zdGF0dXM9MSxlLmZldGNoU3RyYXRlZ3k9dCx0PT09RS5GZXRjaFN0cmF0ZWd5LkZ1bGwmJihlLmlzUGFydGlhbD0hMSksZS52ZXJzaW9uPUEsZX1mdW5jdGlvbiBHKGUpe2xldCB0PWUuYmxvY2tlZFRhc2tzO2lmKG51bGwhPT10KXtmb3IobGV0IGUgb2YgdCkoMCxjLnBpbmdQcmVmZXRjaFRhc2spKGUpO2UuYmxvY2tlZFRhc2tzPW51bGx9fWZ1bmN0aW9uIHooZSx0LHIsbixhLGwsbyxpKXtsZXQgYz17cmVxdWVzdEtleTpnLkhFQURfUkVRVUVTVF9LRVksc2VnbWVudDpnLkhFQURfUkVRVUVTVF9LRVksdmFyeVBhdGg6cixpc1BhZ2U6ITAsc2xvdHM6bnVsbCxpc1Jvb3RMYXlvdXQ6ITEsaGFzTG9hZGluZ0JvdW5kYXJ5OnUuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6ITF9O3JldHVybiBlLnN0YXR1cz0yLGUudHJlZT10LGUubWV0YWRhdGE9YyxlLnN0YWxlQXQ9bixlLmNvdWxkQmVJbnRlcmNlcHRlZD1hLGUuY2Fub25pY2FsVXJsPWwsZS5yZW5kZXJlZFNlYXJjaD1vLGUuaXNQUFJFbmFibGVkPWksRyhlKSxlfWZ1bmN0aW9uIFgoZSx0LHIsbixhKXtyZXR1cm4gZS5zdGF0dXM9MixlLnJzYz10LGUubG9hZGluZz1yLGUuc3RhbGVBdD1uLGUuaXNQYXJ0aWFsPWEsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKGUpLGUucHJvbWlzZT1udWxsKSxlfWZ1bmN0aW9uIFcoZSx0KXtlLnN0YXR1cz0zLGUuc3RhbGVBdD10LEcoZSl9ZnVuY3Rpb24gWShlLHQpe2Uuc3RhdHVzPTMsZS5zdGFsZUF0PXQsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKG51bGwpLGUucHJvbWlzZT1udWxsKX1hc3luYyBmdW5jdGlvbiAkKGUsdCxyKXtsZXQgbj1yLnBhdGhuYW1lLGE9ci5zZWFyY2gsbD1yLm5leHRVcmwsYz17W28uUlNDX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXToiL190cmVlIn07bnVsbCE9PWwmJihjW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcixoLFA9bmV3IFVSTChuK2EsbG9jYXRpb24ub3JpZ2luKTtpZihyPWF3YWl0IGVyKFAsYyksaD1udWxsIT09ciYmci5yZWRpcmVjdGVkP25ldyBVUkwoci51cmwpOlAsIXJ8fCFyLm9rfHwyMDQ9PT1yLnN0YXR1c3x8IXIuYm9keSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBTPSgwLGQuY3JlYXRlSHJlZkZyb21VcmwpKGgpLFQ9ci5oZWFkZXJzLmdldCgidmFyeSIpLGo9bnVsbCE9PVQmJlQuaW5jbHVkZXMoby5ORVhUX1VSTCksTT0oMCxtLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLEE9IjIiPT09ci5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUik7aWYoQSl7bGV0IHQsbixhPWVuKHIuYm9keSxNLnJlc29sdmUsZnVuY3Rpb24odCl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkoZSx0KX0pLGw9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShhLGMpO2lmKGwuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBvPSgwLHAuZ2V0UmVuZGVyZWRQYXRobmFtZSkociksZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShyKSxoPXttZXRhZGF0YVZhcnlQYXRoOm51bGx9LFI9KHQ9by5zcGxpdCgiLyIpLmZpbHRlcihlPT4iIiE9PWUpLG49Zy5ST09UX1NFR01FTlRfUkVRVUVTVF9LRVksZnVuY3Rpb24gZSh0LHIsbixhLGwsbyxpLGMpe2xldCBmLGQsaD1udWxsLHk9dC5zbG90cztpZihudWxsIT09eSlmb3IobGV0IHQgaW4gZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSxoPXt9LHkpe2xldCByLHUsZixkPXlbdF0sUj1kLm5hbWUsXz1kLnBhcmFtVHlwZSxQPWQucGFyYW1LZXk7aWYobnVsbCE9PV8pe2xldCBlPSgwLHAucGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydCkoXyxsLG8pLHQ9bnVsbCE9PVA/UDooMCxwLmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShlLCIiKTtmPSgwLHMuYXBwZW5kTGF5b3V0VmFyeVBhdGgpKG4sdCksdT1bUix0LF9dLHI9ITB9ZWxzZSBmPW4sdT1SLHI9KDAscC5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShSKTtsZXQgdj1yP28rMTpvLEU9KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLG09KDAsZy5hcHBlbmRTZWdtZW50UmVxdWVzdEtleVBhcnQpKGEsdCxFKTtoW3RdPWUoZCx1LGYsbSxsLHYsaSxjKX1lbHNlIGEuZW5kc1dpdGgodi5QQUdFX1NFR01FTlRfS0VZKT8oZj0hMCxkPSgwLHMuZmluYWxpemVQYWdlVmFyeVBhdGgpKGEsaSxuKSxudWxsPT09Yy5tZXRhZGF0YVZhcnlQYXRoJiYoYy5tZXRhZGF0YVZhcnlQYXRoPSgwLHMuZmluYWxpemVNZXRhZGF0YVZhcnlQYXRoKShhLGksbikpKTooZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSk7cmV0dXJue3JlcXVlc3RLZXk6YSxzZWdtZW50OnIsdmFyeVBhdGg6ZCxpc1BhZ2U6ZixzbG90czpoLGlzUm9vdExheW91dDp0LmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6dS5IYXNMb2FkaW5nQm91bmRhcnkuU2VnbWVudEhhc0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6dC5oYXNSdW50aW1lUHJlZmV0Y2h9fShsLnRyZWUsbixudWxsLGcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZLHQsMCxkLGgpKSxfPWgubWV0YWRhdGFWYXJ5UGF0aDtpZihudWxsPT09XylyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBQPWIobC5zdGFsZVRpbWUpO3ooZSxSLF8sRGF0ZS5ub3coKStQLGosUyxkLEEpfWVsc2V7bGV0IG49ZW4oci5ib2R5LE0ucmVzb2x2ZSxmdW5jdGlvbih0KXsoMCx5LnNldFNpemVJbkNhY2hlTWFwKShlLHQpfSksYT1hd2FpdCAoMCxpLmNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW0pKG4sYyk7aWYoYS5iIT09KDAsZi5nZXRBcHBCdWlsZElkKSgpKXJldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGw7IWZ1bmN0aW9uKGUsdCxyLG4sYSxsLGksYyxmKXtsZXQgZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShuKSxoPSgwLFIubm9ybWFsaXplRmxpZ2h0RGF0YSkoYS5mKTtpZigic3RyaW5nIj09dHlwZW9mIGh8fDEhPT1oLmxlbmd0aClyZXR1cm4gVyhsLGUrMWU0KTtsZXQgeT1oWzBdO2lmKCF5LmlzUm9vdFJlbmRlcilyZXR1cm4gVyhsLGUrMWU0KTtsZXQgUD15LnRyZWUsRT0ibnVtYmVyIj09dHlwZW9mIGEucnA/LlsxXT9hLnJwWzFdOnBhcnNlSW50KG4uaGVhZGVycy5nZXQoby5ORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUik/PyIiLDEwKSxtPWlzTmFOKEUpP18uU1RBVElDX1NUQUxFVElNRV9NUzpiKEUpLFM9IjEiPT09bi5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksVD17bWV0YWRhdGFWYXJ5UGF0aDpudWxsfSxPPWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgbyxpLGMsZixkPXRbMF07aWYoQXJyYXkuaXNBcnJheShkKSl7Yz0hMTtsZXQgZT1kWzFdO2k9KDAscy5hcHBlbmRMYXlvdXRWYXJ5UGF0aCkobixlKSxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSxvPWR9ZWxzZSBpPW4sci5lbmRzV2l0aCh2LlBBR0VfU0VHTUVOVF9LRVkpPyhjPSEwLG89di5QQUdFX1NFR01FTlRfS0VZLGY9KDAscy5maW5hbGl6ZVBhZ2VWYXJ5UGF0aCkocixhLGkpLG51bGw9PT1sLm1ldGFkYXRhVmFyeVBhdGgmJihsLm1ldGFkYXRhVmFyeVBhdGg9KDAscy5maW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGgpKHIsYSxpKSkpOihjPSExLG89ZCxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSk7bGV0IGg9bnVsbCxwPXRbMV07Zm9yKGxldCB0IGluIHApe2xldCBuPXBbdF0sdT1uWzBdLG89KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLGM9ZShuLCgwLGcuYXBwZW5kU2VnbWVudFJlcXVlc3RLZXlQYXJ0KShyLHQsbyksaSxhLGwpO251bGw9PT1oP2g9e1t0XTpjfTpoW3RdPWN9cmV0dXJue3JlcXVlc3RLZXk6cixzZWdtZW50Om8sdmFyeVBhdGg6Zixpc1BhZ2U6YyxzbG90czpoLGlzUm9vdExheW91dDohMD09PXRbNF0saGFzTG9hZGluZ0JvdW5kYXJ5OnZvaWQgMCE9PXRbNV0/dFs1XTp1Lkhhc0xvYWRpbmdCb3VuZGFyeS5TdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOiExfX0oUCxnLlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWSxudWxsLGQsVCksaj1ULm1ldGFkYXRhVmFyeVBhdGg7aWYobnVsbD09PWopcmV0dXJuIFcobCxlKzFlNCk7bGV0IE09eihsLE8saixlK20saSxjLGQsZik7ZWUoZSx0LHIsbixhLFMsTSxudWxsKX0oRGF0ZS5ub3coKSx0LEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkscixhLGUsaixTLEEpfWlmKCFqKXtsZXQgdD0oMCxzLmdldEZ1bGZpbGxlZFJvdXRlVmFyeVBhdGgpKG4sYSxsLGopOygwLHkuc2V0SW5DYWNoZU1hcCkoTyx0LGUsITEpfXJldHVybnt2YWx1ZTpudWxsLGNsb3NlZDpNLnByb21pc2V9fWNhdGNoKHQpe3JldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFEoZSx0LHIsbil7bGV0IGE9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGw9ci5uZXh0VXJsLHU9bi5yZXF1ZXN0S2V5LGM9dT09PWcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZPyIvX2luZGV4Ijp1LHM9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl06Y307bnVsbCE9PWwmJihzW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcj1hd2FpdCBlcihhLHMpO2lmKCFyfHwhci5va3x8MjA0PT09ci5zdGF0dXN8fCIyIiE9PXIuaGVhZGVycy5nZXQoby5ORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIpfHwhci5ib2R5KXJldHVybiBZKHQsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IG49KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxsPWVuKHIuYm9keSxuLnJlc29sdmUsZnVuY3Rpb24oZSl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkodCxlKX0pLHU9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShsLHMpO2lmKHUuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gWSh0LERhdGUubm93KCkrMWU0KSxudWxsO3JldHVybnt2YWx1ZTpYKHQsdS5yc2MsdS5sb2FkaW5nLGUuc3RhbGVBdCx1LmlzUGFydGlhbCksY2xvc2VkOm4ucHJvbWlzZX19Y2F0Y2goZSl7cmV0dXJuIFkodCxEYXRlLm5vdygpKzFlNCksbnVsbH19YXN5bmMgZnVuY3Rpb24gSihlLHQscixuLGEpe2xldCBsPWUua2V5LHU9bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGM9bC5uZXh0VXJsOzE9PT1hLnNpemUmJmEuaGFzKHQubWV0YWRhdGEucmVxdWVzdEtleSkmJihuPVQpO2xldCBzPXtbby5SU0NfSEVBREVSXToiMSIsW28uTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVJdOigwLFIucHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCkobil9O3N3aXRjaChudWxsIT09YyYmKHNbby5ORVhUX1VSTF09Yykscil7Y2FzZSBFLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOnNbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdPSIyIjticmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6c1tvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl09IjEifXRyeXtsZXQgbj1hd2FpdCBlcih1LHMpO2lmKCFufHwhbi5va3x8IW4uYm9keXx8KDAscC5nZXRSZW5kZXJlZFNlYXJjaCkobikhPT10LnJlbmRlcmVkU2VhcmNoKXJldHVybiBaKGEsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IGw9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxvPW51bGwsYz1lbihuLmJvZHksbC5yZXNvbHZlLGZ1bmN0aW9uKGUpe2lmKG51bGw9PT1vKXJldHVybjtsZXQgdD1lL28ubGVuZ3RoO2ZvcihsZXQgZSBvZiBvKSgwLHkuc2V0U2l6ZUluQ2FjaGVNYXApKGUsdCl9KSxmPWF3YWl0ICgwLGkuY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSkoYyxzKSxkPXI9PT1FLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSYmZi5ycD8uWzBdPT09ITA7cmV0dXJuIG89ZWUoRGF0ZS5ub3coKSxlLHIsbixmLGQsdCxhKSx7dmFsdWU6bnVsbCxjbG9zZWQ6bC5wcm9taXNlfX1jYXRjaChlKXtyZXR1cm4gWihhLERhdGUubm93KCkrMWU0KSxudWxsfX1mdW5jdGlvbiBaKGUsdCl7bGV0IHI9W107Zm9yKGxldCBuIG9mIGUudmFsdWVzKCkpMT09PW4uc3RhdHVzP1kobix0KToyPT09bi5zdGF0dXMmJnIucHVzaChuKTtyZXR1cm4gcn1mdW5jdGlvbiBlZShlLHQscixuLGEsbCx1LGkpe2lmKGEuYiE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gbnVsbCE9PWkmJlooaSxlKzFlNCksbnVsbDtsZXQgYz0oMCxSLm5vcm1hbGl6ZUZsaWdodERhdGEpKGEuZik7aWYoInN0cmluZyI9PXR5cGVvZiBjKXJldHVybiBudWxsO2xldCBzPSJudW1iZXIiPT10eXBlb2YgYS5ycD8uWzFdP2EucnBbMV06cGFyc2VJbnQobi5oZWFkZXJzLmdldChvLk5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSKT8/IiIsMTApLGQ9ZSsoaXNOYU4ocyk/Xy5TVEFUSUNfU1RBTEVUSU1FX01TOmIocykpO2ZvcihsZXQgbiBvZiBjKXtsZXQgYT1uLnNlZWREYXRhO2lmKG51bGwhPT1hKXtsZXQgbz1uLnNlZ21lbnRQYXRoLGM9dS50cmVlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCs9Mil7bGV0IHI9b1t0XTtpZihjPy5zbG90cz8uW3JdPT09dm9pZCAwKXJldHVybiBudWxsIT09aSYmWihpLGUrMWU0KSxudWxsO2M9Yy5zbG90c1tyXX0hZnVuY3Rpb24gZSh0LHIsbixhLGwsdSxvLGksYyl7bGV0IHM9b1swXTtldCh0LG4sYSxzLG9bMl0sbnVsbD09PXN8fGksdSxsLGMpO2xldCBmPWwuc2xvdHM7aWYobnVsbCE9PWYpe2xldCBsPW9bMV07Zm9yKGxldCBvIGluIGYpe2xldCBzPWZbb10sZD1sW29dO251bGwhPWQmJmUodCxyLG4sYSxzLHUsZCxpLGMpfX19KGUsdCxyLHUsYyxkLGEsbCxpKX1sZXQgbz1uLmhlYWQ7bnVsbCE9PW8mJmV0KGUscix1LG8sbnVsbCxuLmlzSGVhZFBhcnRpYWwsZCx1Lm1ldGFkYXRhLGkpfXJldHVybiBudWxsIT09aT9aKGksZSsxZTQpOm51bGx9ZnVuY3Rpb24gZXQoZSx0LHIsbixhLGwsdSxvLGkpe2xldCBjPW51bGwhPT1pP2kuZ2V0KG8ucmVxdWVzdEtleSk6dm9pZCAwO2lmKHZvaWQgMCE9PWMpWChjLG4sYSx1LGwpO2Vsc2V7bGV0IGk9ayhlLHQscixvKTtpZigwPT09aS5zdGF0dXMpWChxKGksdCksbixhLHUsbCk7ZWxzZXtsZXQgcj1YKHEoVih1KSx0KSxuLGEsdSxsKTtLKGUsKDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG8pLHIpfX19YXN5bmMgZnVuY3Rpb24gZXIoZSx0KXtsZXQgcj1hd2FpdCAoMCxpLmNyZWF0ZUZldGNoKShlLHQsImxvdyIsITEpO2lmKCFyLm9rKXJldHVybiBudWxsO3tsZXQgZT1yLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKTtpZighKGUmJmUuc3RhcnRzV2l0aChvLlJTQ19DT05URU5UX1RZUEVfSEVBREVSKSkpcmV0dXJuIG51bGx9cmV0dXJuIHJ9ZnVuY3Rpb24gZW4oZSx0LHIpe2xldCBuPTAsYT1lLmdldFJlYWRlcigpO3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwoZSl7Zm9yKDs7KXtsZXR7ZG9uZTpsLHZhbHVlOnV9PWF3YWl0IGEucmVhZCgpO2lmKCFsKXtlLmVucXVldWUodSkscihuKz11LmJ5dGVMZW5ndGgpO2NvbnRpbnVlfXQoKTtyZXR1cm59fX0pfWZ1bmN0aW9uIGVhKGUsdCl7cmV0dXJuIGU8dH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw2NTQ2MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y29udmVydFNlcnZlclBhdGNoVG9GdWxsVHJlZTpmdW5jdGlvbigpe3JldHVybiB2fSxuYXZpZ2F0ZTpmdW5jdGlvbigpe3JldHVybiBkfSxuYXZpZ2F0ZVRvU2VlZGVkUm91dGU6ZnVuY3Rpb24oKXtyZXR1cm4gaH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoMTEwNiksdT1lLnIoMTg5MzkpLG89ZS5yKDg1NTk0KSxpPWUucig0NDY2NyksYz1lLnIoMTYzMTYpLHM9ZS5yKDI3NDU0KSxmPWUucig1MjQxMyk7ZnVuY3Rpb24gZChlLHQscixuLGEsbCx1LG8pe2xldCBzPURhdGUubm93KCksZD1lLmhyZWYsaD1kPT09dC5ocmVmLHk9KDAsYy5jcmVhdGVDYWNoZUtleSkoZCxhKSxfPSgwLGkucmVhZFJvdXRlQ2FjaGVFbnRyeSkocyx5KTtpZihudWxsIT09XyYmXy5zdGF0dXM9PT1pLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZCl7bGV0IG89ZyhzLF8sXy50cmVlKSxpPW8uZmxpZ2h0Um91dGVyU3RhdGUsYz1vLnNlZWREYXRhLGY9UihzLF8pLGQ9Zi5yc2MseT1mLmlzUGFydGlhbCxQPV8uY2Fub25pY2FsVXJsK2UuaGFzaDtyZXR1cm4gcChzLGUsdCxhLGgscixuLGksYyxkLHksUCxfLnJlbmRlcmVkU2VhcmNoLGwsdSl9aWYobnVsbD09PV98fF8uc3RhdHVzIT09aS5FbnRyeVN0YXR1cy5SZWplY3RlZCl7bGV0IG89KDAsaS5yZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeSkocyxlLGEpO2lmKG51bGwhPT1vKXtsZXQgaT1nKHMsbyxvLnRyZWUpLGM9aS5mbGlnaHRSb3V0ZXJTdGF0ZSxmPWkuc2VlZERhdGEsZD1SKHMsbykseT1kLnJzYyxfPWQuaXNQYXJ0aWFsLFA9by5jYW5vbmljYWxVcmwrZS5oYXNoO3JldHVybiBwKHMsZSx0LGEsaCxyLG4sYyxmLHksXyxQLG8ucmVuZGVyZWRTZWFyY2gsbCx1KX19bGV0IHY9by5jb2xsZWN0ZWREZWJ1Z0luZm8/P1tdO3JldHVybiB2b2lkIDA9PT1vLmNvbGxlY3RlZERlYnVnSW5mbyYmKHY9by5jb2xsZWN0ZWREZWJ1Z0luZm89W10pLHt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLkFzeW5jLGRhdGE6UChzLGUsdCxhLHIsbixsLHUsdil9fWZ1bmN0aW9uIGgoZSx0LHIsbixhLGwsbyxpLGMscyl7bGV0IGQ9e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0saD10LmhyZWY9PT1hLmhyZWYscD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxhLGwsbyxuLnRyZWUsaSxuLmRhdGEsbi5oZWFkLG51bGwsbnVsbCwhMSxoLGQpO3JldHVybiBudWxsIT09cD8oKDAsdS5zcGF3bkR5bmFtaWNSZXF1ZXN0cykocCx0LGMsaSxkKSx5KHAscixuLnJlbmRlcmVkU2VhcmNoLGQuc2Nyb2xsYWJsZVNlZ21lbnRzLHMsdC5oYXNoKSk6e3RhZzpmLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBLGRhdGE6cn19ZnVuY3Rpb24gcChlLHQscixuLGEsbCxvLGksYyxzLGQsaCxwLGcsUil7bGV0IF89e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0sUD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxyLGwsbyxpLGcsbnVsbCxudWxsLGMscyxkLGEsXyk7cmV0dXJuIG51bGwhPT1QPygoMCx1LnNwYXduRHluYW1pY1JlcXVlc3RzKShQLHQsbixnLF8pLHkoUCxoLHAsXy5zY3JvbGxhYmxlU2VnbWVudHMsUix0Lmhhc2gpKTp7dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5NUEEsZGF0YTpofX1mdW5jdGlvbiB5KGUsdCxyLG4sYSxsKXtyZXR1cm57dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5TdWNjZXNzLGRhdGE6e2ZsaWdodFJvdXRlclN0YXRlOmUucm91dGUsY2FjaGVOb2RlOmUubm9kZSxjYW5vbmljYWxVcmw6dCxyZW5kZXJlZFNlYXJjaDpyLHNjcm9sbGFibGVTZWdtZW50czpuLHNob3VsZFNjcm9sbDphLGhhc2g6bH19fWZ1bmN0aW9uIGcoZSx0LHIpe2xldCBuPXt9LGE9e30sbD1yLnNsb3RzO2lmKG51bGwhPT1sKWZvcihsZXQgciBpbiBsKXtsZXQgdT1nKGUsdCxsW3JdKTtuW3JdPXUuZmxpZ2h0Um91dGVyU3RhdGUsYVtyXT11LnNlZWREYXRhfWxldCB1PW51bGwsbz1udWxsLGM9ITAsZj0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSxyLnZhcnlQYXRoKTtpZihudWxsIT09Zilzd2l0Y2goZi5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6dT1mLnJzYyxvPWYubG9hZGluZyxjPWYuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOntsZXQgZT0oMCxpLndhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeSkoZik7dT1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbz1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5sb2FkaW5nOm51bGwpLGM9Zi5pc1BhcnRpYWx9Y2FzZSBpLkVudHJ5U3RhdHVzLkVtcHR5OmNhc2UgaS5FbnRyeVN0YXR1cy5SZWplY3RlZDp9cmV0dXJue2ZsaWdodFJvdXRlclN0YXRlOlsoMCxzLmFkZFNlYXJjaFBhcmFtc0lmUGFnZVNlZ21lbnQpKHIuc2VnbWVudCxPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyh0LnJlbmRlcmVkU2VhcmNoKSkpLG4sbnVsbCxudWxsLHIuaXNSb290TGF5b3V0XSxzZWVkRGF0YTpbdSxhLG8sYywhMV19fWZ1bmN0aW9uIFIoZSx0KXtsZXQgcj1udWxsLG49ITAsYT0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSx0Lm1ldGFkYXRhLnZhcnlQYXRoKTtpZihudWxsIT09YSlzd2l0Y2goYS5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6cj1hLnJzYyxuPWEuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOnI9KDAsaS53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbj1hLmlzUGFydGlhbDtjYXNlIGkuRW50cnlTdGF0dXMuRW1wdHk6Y2FzZSBpLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1yZXR1cm57cnNjOnIsaXNQYXJ0aWFsOm59fWxldCBfPVsiIix7fSxudWxsLCJyZWZldGNoIl07YXN5bmMgZnVuY3Rpb24gUChlLHQscixuLGEsaSxjLHMsZCl7bGV0IHA7c3dpdGNoKGMpe2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuRGVmYXVsdDpjYXNlIHUuRnJlc2huZXNzUG9saWN5Lkhpc3RvcnlUcmF2ZXJzYWw6cD1pO2JyZWFrO2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuSHlkcmF0aW9uOmNhc2UgdS5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDpjYXNlIHUuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2g6cD1fO2JyZWFrO2RlZmF1bHQ6cD1pfWxldCB5PSgwLGwuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodCx7ZmxpZ2h0Um91dGVyU3RhdGU6cCxuZXh0VXJsOm59KSxnPWF3YWl0IHk7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybnt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLk1QQSxkYXRhOmd9O2xldHtmbGlnaHREYXRhOlIsY2Fub25pY2FsVXJsOlAscmVuZGVyZWRTZWFyY2g6RSxkZWJ1Z0luZm86bX09ZztudWxsIT09bSYmZC5wdXNoKC4uLm0pO2xldCBiPXYoaSxSLEUpO3JldHVybiBoKGUsdCwoMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShQKSxiLHIsYSxpLGMsbixzKX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1lLGE9bnVsbCxsPW51bGw7Zm9yKGxldHtzZWdtZW50UGF0aDplLHRyZWU6cixzZWVkRGF0YTp1LGhlYWQ6b31vZiB0KXtsZXQgdD1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtsZXQgbztpZih1PT09bC5sZW5ndGgpcmV0dXJue3RyZWU6bixkYXRhOmF9O2xldCBpPWxbdV0sYz10WzFdLHM9bnVsbCE9PXI/clsxXTpudWxsLGY9e30sZD17fTtmb3IobGV0IHQgaW4gYyl7bGV0IHI9Y1t0XSxvPW51bGwhPT1zP3NbdF0/P251bGw6bnVsbDtpZih0PT09aSl7bGV0IGk9ZShyLG8sbixhLGwsdSsyKTtmW3RdPWkudHJlZSxkW3RdPWkuZGF0YX1lbHNlIGZbdF09cixkW3RdPW99cmV0dXJuIG89W3RbMF0sZl0sMiBpbiB0JiYob1syXT10WzJdKSwzIGluIHQmJihvWzNdPXRbM10pLDQgaW4gdCYmKG9bNF09dFs0XSkse3RyZWU6byxkYXRhOltudWxsLGQsbnVsbCwhMCwhMV19fShuLGEscix1LGUsMCk7bj10LnRyZWUsYT10LmRhdGEsbD1vfXJldHVybnt0cmVlOm4sZGF0YTphLHJlbmRlcmVkU2VhcmNoOnIsaGVhZDpsfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1NDAxMSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17RFlOQU1JQ19TVEFMRVRJTUVfTVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sU1RBVElDX1NUQUxFVElNRV9NUzpmdW5jdGlvbigpe3JldHVybiBkfSxnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCl7bGV0IHI9W10sW24sYV09dDtpZigwPT09T2JqZWN0LmtleXMoYSkubGVuZ3RoKXJldHVybltbbl1dO2ZvcihsZXRbdCxsXW9mIE9iamVjdC5lbnRyaWVzKGEpKWZvcihsZXQgYSBvZiBlKGwpKSIiPT09bj9yLnB1c2goW3QsLi4uYV0pOnIucHVzaChbbix0LC4uLmFdKTtyZXR1cm4gcn19LGhhbmRsZUV4dGVybmFsVXJsOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGhhbmRsZU5hdmlnYXRpb25SZXN1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sbmF2aWdhdGVSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDg1NTk0KSx1PWUucig2MzI3OCksbz1lLnIoNjU0NjMpLGk9ZS5yKDUyNDEzKSxjPWUucig0NDY2Nykscz1lLnIoMTg5MzkpLGY9MWUzKk51bWJlcigiMCIpLGQ9KDAsYy5nZXRTdGFsZVRpbWVNcykoTnVtYmVyKCIzMDAiKSk7ZnVuY3Rpb24gaChlLHQscixuKXtyZXR1cm4gdC5tcGFOYXZpZ2F0aW9uPSEwLHQuY2Fub25pY2FsVXJsPXIsdC5wZW5kaW5nUHVzaD1uLHQuc2Nyb2xsYWJsZVNlZ21lbnRzPXZvaWQgMCwoMCx1LmhhbmRsZU11dGFibGUpKGUsdCl9ZnVuY3Rpb24gcChlLHQscixuLGEpe3N3aXRjaChhLnRhZyl7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBOnJldHVybiBoKHQscixhLmRhdGEsbik7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuU3VjY2Vzczp7ci5jYWNoZT1hLmRhdGEuY2FjaGVOb2RlLHIucGF0Y2hlZFRyZWU9YS5kYXRhLmZsaWdodFJvdXRlclN0YXRlLHIucmVuZGVyZWRTZWFyY2g9YS5kYXRhLnJlbmRlcmVkU2VhcmNoLHIuY2Fub25pY2FsVXJsPWEuZGF0YS5jYW5vbmljYWxVcmwsci5zY3JvbGxhYmxlU2VnbWVudHM9YS5kYXRhLnNjcm9sbGFibGVTZWdtZW50cz8/dm9pZCAwLHIuc2hvdWxkU2Nyb2xsPWEuZGF0YS5zaG91bGRTY3JvbGwsci5oYXNoRnJhZ21lbnQ9YS5kYXRhLmhhc2g7bGV0IG49bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxlKTtyZXR1cm4gZS5wYXRobmFtZT09PW4ucGF0aG5hbWUmJmUuc2VhcmNoPT09bi5zZWFyY2gmJmUuaGFzaCE9PW4uaGFzaCYmKHIub25seUhhc2hDaGFuZ2U9ITAsci5zaG91bGRTY3JvbGw9YS5kYXRhLnNob3VsZFNjcm9sbCxyLmhhc2hGcmFnbWVudD1lLmhhc2gsci5zY3JvbGxhYmxlU2VnbWVudHM9W10pLCgwLHUuaGFuZGxlTXV0YWJsZSkodCxyKX1jYXNlIGkuTmF2aWdhdGlvblJlc3VsdFRhZy5Bc3luYzpyZXR1cm4gYS5kYXRhLnRoZW4oYT0+cChlLHQscixuLGEpLCgpPT50KTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiB5KGUsdCl7bGV0e3VybDpyLGlzRXh0ZXJuYWxVcmw6bixuYXZpZ2F0ZVR5cGU6YSxzaG91bGRTY3JvbGw6dX09dCxpPXt9LGM9KDAsbC5jcmVhdGVIcmVmRnJvbVVybCkociksZj0icHVzaCI9PT1hO2lmKGkucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU9ITEsaS5wZW5kaW5nUHVzaD1mLG4pcmV0dXJuIGgoZSxpLHIudG9TdHJpbmcoKSxmKTtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19uZXh0LXBhZ2UtcmVkaXJlY3QiKSlyZXR1cm4gaChlLGksYyxmKTtsZXQgZD1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbikseT0oMCxvLm5hdmlnYXRlKShyLGQsZS5jYWNoZSxlLnRyZWUsZS5uZXh0VXJsLHMuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQsdSxpKTtyZXR1cm4gcChyLGUsaSxmLHkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYxNzM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKFt0LHJdKXtpZihBcnJheS5pc0FycmF5KHQpJiYoImRpKC4uKSguLikiPT09dFsyXXx8ImNpKC4uKSguLikiPT09dFsyXXx8ImRpKC4pIj09PXRbMl18fCJjaSguKSI9PT10WzJdfHwiZGkoLi4pIj09PXRbMl18fCJjaSguLikiPT09dFsyXXx8ImRpKC4uLikiPT09dFsyXXx8ImNpKC4uLikiPT09dFsyXSl8fCJzdHJpbmciPT10eXBlb2YgdCYmKDAsbi5pc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCkodCkpcmV0dXJuITA7aWYocil7Zm9yKGxldCB0IGluIHIpaWYoZShyW3RdKSlyZXR1cm4hMH1yZXR1cm4hMX19fSk7bGV0IG49ZS5yKDU0NjgyKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3NzczMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17cmVmcmVzaER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHJlZnJlc2hSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDU0MDExKSx1PWUucig2NTQ2Myksbz1lLnIoNDQ2NjcpLGk9ZS5yKDYxNzM5KSxjPWUucigxODkzOSk7ZnVuY3Rpb24gcyhlKXtsZXQgdD1lLm5leHRVcmwscj1lLnRyZWU7cmV0dXJuKDAsby5yZXZhbGlkYXRlRW50aXJlQ2FjaGUpKHQsciksZihlLGMuRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwpfWZ1bmN0aW9uIGYoZSx0KXtsZXQgcj1lLm5leHRVcmwsbj0oMCxpLmhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSkoZS50cmVlKT9lLnByZXZpb3VzTmV4dFVybHx8cjpudWxsLGE9ZS5jYW5vbmljYWxVcmwsbz1uZXcgVVJMKGEsbG9jYXRpb24ub3JpZ2luKSxjPWUudHJlZSxzPXt0cmVlOmUudHJlZSxyZW5kZXJlZFNlYXJjaDplLnJlbmRlcmVkU2VhcmNoLGRhdGE6bnVsbCxoZWFkOm51bGx9LGY9RGF0ZS5ub3coKSxkPSgwLHUubmF2aWdhdGVUb1NlZWRlZFJvdXRlKShmLG8sYSxzLG8sZS5jYWNoZSxjLHQsbiwhMCksaD17fTtyZXR1cm4gaC5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT0hMSwoMCxsLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKG8sZSxoLCExLGQpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYwNTUzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoNTQwMTEpLGw9ZS5yKDY1NDYzKSx1PWUucig3NzczMyksbz1lLnIoMTg5MzkpO2Z1bmN0aW9uIGkoZSx0KXtsZXQgcj17fTtyLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBpPXQubXBhLGM9bmV3IFVSTCh0LnVybCxsb2NhdGlvbi5vcmlnaW4pLHM9dC5zZWVkO2lmKGl8fG51bGw9PT1zKXJldHVybigwLGEuaGFuZGxlRXh0ZXJuYWxVcmwpKGUscixjLmhyZWYsITEpO2xldCBmPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKTtpZih0LnByZXZpb3VzVHJlZSE9PWUudHJlZSlyZXR1cm4oMCx1LnJlZnJlc2hSZWR1Y2VyKShlKTtsZXQgZD0oMCxuLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxoPXQubmV4dFVybCxwPURhdGUubm93KCkseT0oMCxsLm5hdmlnYXRlVG9TZWVkZWRSb3V0ZSkocCxjLGQscyxmLGUuY2FjaGUsZS50cmVlLG8uRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwsaCwhMCk7cmV0dXJuKDAsYS5oYW5kbGVOYXZpZ2F0aW9uUmVzdWx0KShjLGUsciwhMSx5KX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMjgzOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVzdG9yZVJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoMTgxNjcpLGw9ZS5yKDE4OTM5KSx1PWUucig1NDAxMSk7ZnVuY3Rpb24gbyhlLHQpe2xldCByLG8saT10Lmhpc3RvcnlTdGF0ZTtpPyhyPWkudHJlZSxvPWkucmVuZGVyZWRTZWFyY2gpOihyPWUudHJlZSxvPWUucmVuZGVyZWRTZWFyY2gpO2xldCBjPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzPXQudXJsLGY9KDAsbi5jcmVhdGVIcmVmRnJvbVVybCkocyksZD0oMCxhLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShyKT8/cy5wYXRobmFtZSxoPURhdGUubm93KCkscD17c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSx5PSgwLGwuc3RhcnRQUFJOYXZpZ2F0aW9uKShoLGMsZS5jYWNoZSxlLnRyZWUscixsLkZyZXNobmVzc1BvbGljeS5IaXN0b3J5VHJhdmVyc2FsLG51bGwsbnVsbCxudWxsLG51bGwsITEsITEscCk7cmV0dXJuIG51bGw9PT15PygwLHUuaGFuZGxlRXh0ZXJuYWxVcmwpKGUse3ByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmLCExKTooKDAsbC5zcGF3bkR5bmFtaWNSZXF1ZXN0cykoeSxzLGQsbC5GcmVzaG5lc3NQb2xpY3kuSGlzdG9yeVRyYXZlcnNhbCxwKSx7Y2Fub25pY2FsVXJsOmYscmVuZGVyZWRTZWFyY2g6byxwdXNoUmVmOntwZW5kaW5nUHVzaDohMSxtcGFOYXZpZ2F0aW9uOiExLHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmb2N1c0FuZFNjcm9sbFJlZjplLmZvY3VzQW5kU2Nyb2xsUmVmLGNhY2hlOnkubm9kZSx0cmVlOnIsbmV4dFVybDpkLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTk2NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhtclJlZnJlc2hSZWR1Y2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgbj1lLnIoNzc3MzMpLGE9ZS5yKDE4OTM5KTtmdW5jdGlvbiBsKGUpe3JldHVybigwLG4ucmVmcmVzaER5bmFtaWNEYXRhKShlLGEuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2gpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4OTM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJhc3NpZ25Mb2NhdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDE0ODU3KTtmdW5jdGlvbiBhKGUsdCl7aWYoZS5zdGFydHNXaXRoKCIuIikpe2xldCByPXQub3JpZ2luK3QucGF0aG5hbWU7cmV0dXJuIG5ldyBVUkwoKHIuZW5kc1dpdGgoIi8iKT9yOnIrIi8iKStlKX1yZXR1cm4gbmV3IFVSTCgoMCxuLmFkZEJhc2VQYXRoKShlKSx0LmhyZWYpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5ODk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwYXRoSGFzUHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoOTgwNjMpO2Z1bmN0aW9uIGEoZSx0KXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuITE7bGV0e3BhdGhuYW1lOnJ9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm4gcj09PXR8fHIuc3RhcnRzV2l0aCh0KyIvIil9fSwzODkzMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaGFzQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5OTg5Nik7ZnVuY3Rpb24gYShlKXtyZXR1cm4oMCxuLnBhdGhIYXNQcmVmaXgpKGUsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0MDQyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZUJhc2VQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoMzg5MzMpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDgwOTI0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtleHRyYWN0SW5mb0Zyb21TZXJ2ZXJSZWZlcmVuY2VJZDpmdW5jdGlvbigpe3JldHVybiBsfSxvbWl0VW51c2VkQXJnczpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9cGFyc2VJbnQoZS5zbGljZSgwLDIpLDE2KSxyPXQ+PjEmNjMsbj1BcnJheSg2KTtmb3IobGV0IGU9MDtlPDY7ZSsrKXtsZXQgdD1yPj41LWUmMTtuW2VdPTE9PT10fXJldHVybnt0eXBlOjE9PSh0Pj43JjEpPyJ1c2UtY2FjaGUiOiJzZXJ2ZXItYWN0aW9uIix1c2VkQXJnczpuLGhhc1Jlc3RBcmdzOjE9PSgxJnQpfX1mdW5jdGlvbiB1KGUsdCl7bGV0IHI9QXJyYXkoZS5sZW5ndGgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKShuPDYmJnQudXNlZEFyZ3Nbbl18fG4+PTYmJnQuaGFzUmVzdEFyZ3MpJiYocltuXT1lW25dKTtyZXR1cm4gcn19LDc2ODQ0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtBY3Rpb25EaWROb3RSZXZhbGlkYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LEFjdGlvbkRpZFJldmFsaWRhdGVEeW5hbWljT25seTpmdW5jdGlvbigpe3JldHVybiBvfSxBY3Rpb25EaWRSZXZhbGlkYXRlU3RhdGljQW5kRHluYW1pYzpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPTAsdT0xLG89Mn0sNjcwMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInNlcnZlckFjdGlvblJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBqfX0pO2xldCBhPWUucigzMDkzMSksbD1lLnIoODk1OTQpLHU9ZS5yKDM0NjQxKSxvPWUucig3NTA1MSksaT1lLnIoNzUwNDUpLGM9ZS5yKDY4OTM0KSxzPWUucig4NTU5NCksZj1lLnIoNTQwMTEpLGQ9ZS5yKDYxNzM5KSxoPWUucig2NzYyOCkscD1lLnIoNDE3MjEpLHk9ZS5yKDkwODYyKSxnPWUucigyNDA0MiksUj1lLnIoMzg5MzMpLF89ZS5yKDgwOTI0KSxQPWUucig0NDY2Nyksdj1lLnIoODg3NzQpLEU9ZS5yKDY1NDYzKSxtPWUucig3Njg0NCksYj1lLnIoMjkzNjIpLFM9ZS5yKDE4OTM5KSxUPWkuY3JlYXRlRnJvbUZldGNoO2FzeW5jIGZ1bmN0aW9uIE8oZSx0LHthY3Rpb25JZDpyLGFjdGlvbkFyZ3M6c30pe2xldCBmLGQscCxnLFIsUD0oMCxpLmNyZWF0ZVRlbXBvcmFyeVJlZmVyZW5jZVNldCkoKSxFPSgwLF8uZXh0cmFjdEluZm9Gcm9tU2VydmVyUmVmZXJlbmNlSWQpKHIpLGI9InVzZS1jYWNoZSI9PT1FLnR5cGU/KDAsXy5vbWl0VW51c2VkQXJncykocyxFKTpzLFM9YXdhaXQgKDAsaS5lbmNvZGVSZXBseSkoYix7dGVtcG9yYXJ5UmVmZXJlbmNlczpQfSksTz17QWNjZXB0OnUuUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIsW3UuQUNUSU9OX0hFQURFUl06cixbdS5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAsaC5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShlLnRyZWUpfSxqPSgwLHYuZ2V0RGVwbG95bWVudElkKSgpO2omJihPWyJ4LWRlcGxveW1lbnQtaWQiXT1qKSx0JiYoT1t1Lk5FWFRfVVJMXT10KTtsZXQgTT1hd2FpdCBmZXRjaChlLmNhbm9uaWNhbFVybCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOk8sYm9keTpTfSk7aWYoIjEiPT09TS5oZWFkZXJzLmdldCh1Lk5FWFRfQUNUSU9OX05PVF9GT1VORF9IRUFERVIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgby5VbnJlY29nbml6ZWRBY3Rpb25FcnJvcihgU2VydmVyIEFjdGlvbiAiJHtyfSIgd2FzIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLiAKUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9mYWlsZWQtdG8tZmluZC1zZXJ2ZXItYWN0aW9uYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MTUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IEE9TS5oZWFkZXJzLmdldCgieC1hY3Rpb24tcmVkaXJlY3QiKSxbVSxDXT1BPy5zcGxpdCgiOyIpfHxbXTtzd2l0Y2goQyl7Y2FzZSJwdXNoIjpmPXkuUmVkaXJlY3RUeXBlLnB1c2g7YnJlYWs7Y2FzZSJyZXBsYWNlIjpmPXkuUmVkaXJlY3RUeXBlLnJlcGxhY2U7YnJlYWs7ZGVmYXVsdDpmPXZvaWQgMH1sZXQgTj0hIU0uaGVhZGVycy5nZXQodS5ORVhUX0lTX1BSRVJFTkRFUl9IRUFERVIpLHc9bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlO3RyeXtsZXQgZT1NLmhlYWRlcnMuZ2V0KCJ4LWFjdGlvbi1yZXZhbGlkYXRlZCIpO2lmKGUpe2xldCB0PUpTT04ucGFyc2UoZSk7KHQ9PT1tLkFjdGlvbkRpZFJldmFsaWRhdGVTdGF0aWNBbmREeW5hbWljfHx0PT09bS5BY3Rpb25EaWRSZXZhbGlkYXRlRHluYW1pY09ubHkpJiYodz10KX19Y2F0Y2h7fWxldCBGPVU/KDAsYy5hc3NpZ25Mb2NhdGlvbikoVSxuZXcgVVJMKGUuY2Fub25pY2FsVXJsLHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk6dm9pZCAwLEk9TS5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIiksTD0hIShJJiZJLnN0YXJ0c1dpdGgodS5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUikpO2lmKCFMJiYhRil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoTS5zdGF0dXM+PTQwMCYmInRleHQvcGxhaW4iPT09ST9hd2FpdCBNLnRleHQoKToiQW4gdW5leHBlY3RlZCByZXNwb25zZSB3YXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2lmKEwpe2xldCBlPWF3YWl0IFQoUHJvbWlzZS5yZXNvbHZlKE0pLHtjYWxsU2VydmVyOmEuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmwuZmluZFNvdXJjZU1hcFVSTCx0ZW1wb3JhcnlSZWZlcmVuY2VzOlAsZGVidWdDaGFubmVsOm4mJm4oTyl9KTtkPUY/dm9pZCAwOmUuYTtsZXQgdD0oMCxoLm5vcm1hbGl6ZUZsaWdodERhdGEpKGUuZik7IiIhPT10JiYocD10LGc9ZS5xLFI9ZS5pKX1lbHNlIGQ9dm9pZCAwLHA9dm9pZCAwLGc9dm9pZCAwLFI9dm9pZCAwO3JldHVybnthY3Rpb25SZXN1bHQ6ZCxhY3Rpb25GbGlnaHREYXRhOnAsYWN0aW9uRmxpZ2h0RGF0YVJlbmRlcmVkU2VhcmNoOmcsYWN0aW9uRmxpZ2h0RGF0YUNvdWxkQmVJbnRlcmNlcHRlZDpSLHJlZGlyZWN0TG9jYXRpb246RixyZWRpcmVjdFR5cGU6ZixyZXZhbGlkYXRpb25LaW5kOncsaXNQcmVyZW5kZXI6Tn19ZnVuY3Rpb24gaihlLHQpe2xldHtyZXNvbHZlOnIscmVqZWN0Om59PXQsYT17fTthLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBsPShlLnByZXZpb3VzTmV4dFVybHx8ZS5uZXh0VXJsKSYmKDAsZC5oYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUpKGUudHJlZSk/ZS5wcmV2aW91c05leHRVcmx8fGUubmV4dFVybDpudWxsO3JldHVybiBPKGUsbCx0KS50aGVuKGFzeW5jKHtyZXZhbGlkYXRpb25LaW5kOnUsYWN0aW9uUmVzdWx0Om8sYWN0aW9uRmxpZ2h0RGF0YTppLGFjdGlvbkZsaWdodERhdGFSZW5kZXJlZFNlYXJjaDpjLGFjdGlvbkZsaWdodERhdGFDb3VsZEJlSW50ZXJjZXB0ZWQ6ZCxyZWRpcmVjdExvY2F0aW9uOmgscmVkaXJlY3RUeXBlOnB9KT0+e3UhPT1tLkFjdGlvbkRpZE5vdFJldmFsaWRhdGUmJih0LmRpZFJldmFsaWRhdGU9ITAsdT09PW0uQWN0aW9uRGlkUmV2YWxpZGF0ZVN0YXRpY0FuZER5bmFtaWMmJigwLFAucmV2YWxpZGF0ZUVudGlyZUNhY2hlKShsLGUudHJlZSkpO2xldCBfPXAhPT15LlJlZGlyZWN0VHlwZS5yZXBsYWNlO2lmKGUucHVzaFJlZi5wZW5kaW5nUHVzaD1fLGEucGVuZGluZ1B1c2g9Xyx2b2lkIDAhPT1oKXtsZXQgdD1wfHx5LlJlZGlyZWN0VHlwZS5wdXNoO2lmKCgwLGIuaXNFeHRlcm5hbFVSTCkoaCkpe2xldCByPWguaHJlZjtyZXR1cm4gbihNKHIsdCkpLCgwLGYuaGFuZGxlRXh0ZXJuYWxVcmwpKGUsYSxyLF8pfXtsZXQgZT0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShoLCExKTtuKE0oKDAsUi5oYXNCYXNlUGF0aCkoZSk/KDAsZy5yZW1vdmVCYXNlUGF0aCkoZSk6ZSx0KSl9fWVsc2UgcihvKTtpZih2b2lkIDA9PT1oJiZ1PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlJiZ2b2lkIDA9PT1pKXJldHVybiBlO2lmKHZvaWQgMD09PWkmJnZvaWQgMCE9PWgpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGguaHJlZixfKTtpZigic3RyaW5nIj09dHlwZW9mIGkpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGksXyk7bGV0IHY9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLFQ9dm9pZCAwIT09aD9oOnYsTz1lLnRyZWUsaj11PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlP1MuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQ6Uy5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDtpZih2b2lkIDAhPT1pKXtsZXQgdD1pWzBdO2lmKHZvaWQgMCE9PXQmJnQuaXNSb290UmVuZGVyJiZ2b2lkIDAhPT1jJiZ2b2lkIDAhPT1kKXtsZXQgcj0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShUKSxuPXt0cmVlOnQudHJlZSxyZW5kZXJlZFNlYXJjaDpjLGRhdGE6dC5zZWVkRGF0YSxoZWFkOnQuaGVhZH0sdT1EYXRlLm5vdygpLG89KDAsRS5uYXZpZ2F0ZVRvU2VlZGVkUm91dGUpKHUsVCxyLG4sdixlLmNhY2hlLE8saixsLCEwKTtyZXR1cm4oMCxmLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKFQsZSxhLF8sbyl9fWxldCBBPSgwLEUubmF2aWdhdGUpKFQsdixlLmNhY2hlLE8sbCxqLCEwLGEpO3JldHVybigwLGYuaGFuZGxlTmF2aWdhdGlvblJlc3VsdCkoVCxlLGEsXyxBKX0sdD0+KG4odCksZSkpfWZ1bmN0aW9uIE0oZSx0KXtsZXQgcj0oMCxwLmdldFJlZGlyZWN0RXJyb3IpKGUsdCk7cmV0dXJuIHIuaGFuZGxlZD0hMCxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY0MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVkdWNlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IG49ZS5yKDU5NDMwKSxhPWUucig1NDAxMSksbD1lLnIoNjA1NTMpLHU9ZS5yKDMyODM4KSxvPWUucig3NzczMyksaT1lLnIoNTk2NjIpLGM9ZS5yKDY3MDMzKSxzPSJ1Ijx0eXBlb2Ygd2luZG93P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIGV9OmZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSBuLkFDVElPTl9OQVZJR0FURTpyZXR1cm4oMCxhLm5hdmlnYXRlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9QQVRDSDpyZXR1cm4oMCxsLnNlcnZlclBhdGNoUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFU1RPUkU6cmV0dXJuKDAsdS5yZXN0b3JlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFRlJFU0g6cmV0dXJuKDAsby5yZWZyZXNoUmVkdWNlcikoZSk7Y2FzZSBuLkFDVElPTl9ITVJfUkVGUkVTSDpyZXR1cm4oMCxpLmhtclJlZnJlc2hSZWR1Y2VyKShlKTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9BQ1RJT046cmV0dXJuKDAsYy5zZXJ2ZXJBY3Rpb25SZWR1Y2VyKShlLHQpO2RlZmF1bHQ6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJVbmtub3duIGFjdGlvbiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzQwNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByZWZldGNoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319KTtsZXQgbj1lLnIoMjkzNjIpLGE9ZS5yKDE2MzE2KSxsPWUucig3NTc4MCksdT1lLnIoNTI0MTMpO2Z1bmN0aW9uIG8oZSx0LHIsbyxpKXtsZXQgYz0oMCxuLmNyZWF0ZVByZWZldGNoVVJMKShlKTtpZihudWxsPT09YylyZXR1cm47bGV0IHM9KDAsYS5jcmVhdGVDYWNoZUtleSkoYy5ocmVmLHQpOygwLGwuc2NoZWR1bGVQcmVmZXRjaFRhc2spKHMscixvLHUuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0LGkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg0Mzk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVNdXRhYmxlQWN0aW9uUXVldWU6ZnVuY3Rpb24oKXtyZXR1cm4gX30sZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBFfSxkaXNwYXRjaFRyYXZlcnNlQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGdldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQfSxwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBifX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1OTQzMCksdT1lLnIoNjQxKSxvPWUucig3NTIwMSksaT1lLnIoOTE3NjgpLGM9ZS5yKDUyNDEzKSxzPWUucigzNDA1MiksZj1lLnIoOTQ4NzkpLGQ9ZS5yKDE0ODU3KSxoPWUucigyOTM2MikscD1lLnIoOTgyODMpO2Z1bmN0aW9uIHkoZSx0KXtudWxsIT09ZS5wZW5kaW5nPyhlLnBlbmRpbmc9ZS5wZW5kaW5nLm5leHQsbnVsbCE9PWUucGVuZGluZyYmZyh7YWN0aW9uUXVldWU6ZSxhY3Rpb246ZS5wZW5kaW5nLHNldFN0YXRlOnR9KSk6ZS5uZWVkc1JlZnJlc2gmJihlLm5lZWRzUmVmcmVzaD0hMSxlLmRpc3BhdGNoKHt0eXBlOmwuQUNUSU9OX1JFRlJFU0h9LHQpKX1hc3luYyBmdW5jdGlvbiBnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjp0LHNldFN0YXRlOnJ9KXtsZXQgbj1lLnN0YXRlO2UucGVuZGluZz10O2xldCBhPXQucGF5bG9hZCx1PWUuYWN0aW9uKG4sYSk7ZnVuY3Rpb24gbyhuKXtpZih0LmRpc2NhcmRlZCl7dC5wYXlsb2FkLnR5cGU9PT1sLkFDVElPTl9TRVJWRVJfQUNUSU9OJiZ0LnBheWxvYWQuZGlkUmV2YWxpZGF0ZSYmKGUubmVlZHNSZWZyZXNoPSEwKSx5KGUscik7cmV0dXJufWUuc3RhdGU9bix5KGUsciksdC5yZXNvbHZlKG4pfSgwLGkuaXNUaGVuYWJsZSkodSk/dS50aGVuKG8sbj0+e3koZSxyKSx0LnJlamVjdChuKX0pOm8odSl9bGV0IFI9bnVsbDtmdW5jdGlvbiBfKGUsdCl7bGV0IHI9e3N0YXRlOmUsZGlzcGF0Y2g6KGUsdCk9PihmdW5jdGlvbihlLHQscil7bGV0IG49e3Jlc29sdmU6cixyZWplY3Q6KCk9Pnt9fTtpZih0LnR5cGUhPT1sLkFDVElPTl9SRVNUT1JFKXtsZXQgZT1uZXcgUHJvbWlzZSgoZSx0KT0+e249e3Jlc29sdmU6ZSxyZWplY3Q6dH19KTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PntyKGUpfSl9bGV0IGE9e3BheWxvYWQ6dCxuZXh0Om51bGwscmVzb2x2ZTpuLnJlc29sdmUscmVqZWN0Om4ucmVqZWN0fTtudWxsPT09ZS5wZW5kaW5nPyhlLmxhc3Q9YSxnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjphLHNldFN0YXRlOnJ9KSk6dC50eXBlPT09bC5BQ1RJT05fTkFWSUdBVEV8fHQudHlwZT09PWwuQUNUSU9OX1JFU1RPUkU/KGUucGVuZGluZy5kaXNjYXJkZWQ9ITAsYS5uZXh0PWUucGVuZGluZy5uZXh0LGcoe2FjdGlvblF1ZXVlOmUsYWN0aW9uOmEsc2V0U3RhdGU6cn0pKToobnVsbCE9PWUubGFzdCYmKGUubGFzdC5uZXh0PWEpLGUubGFzdD1hKX0pKHIsZSx0KSxhY3Rpb246YXN5bmMoZSx0KT0+KDAsdS5yZWR1Y2VyKShlLHQpLHBlbmRpbmc6bnVsbCxsYXN0Om51bGwsb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0P3Qub25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbH07aWYoInUiPnR5cGVvZiB3aW5kb3cpe2lmKG51bGwhPT1SKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW50ZXJuYWwgTmV4dC5qcyBFcnJvcjogY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlIHdhcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtSPXJ9cmV0dXJuIHJ9ZnVuY3Rpb24gUCgpe3JldHVybiBudWxsIT09Uj9SLnN0YXRlOm51bGx9ZnVuY3Rpb24gdigpe3JldHVybiBudWxsIT09Uj9SLm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0Om51bGx9ZnVuY3Rpb24gRShlLHQscixuKXtsZXQgYT1uZXcgVVJMKCgwLGQuYWRkQmFzZVBhdGgpKGUpLGxvY2F0aW9uLmhyZWYpOygwLHAuc2V0TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uKShuKTtsZXQgdT12KCk7bnVsbCE9PXUmJnUoZSx0KSwoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9OQVZJR0FURSx1cmw6YSxpc0V4dGVybmFsVXJsOigwLGguaXNFeHRlcm5hbFVSTCkoYSksbG9jYXRpb25TZWFyY2g6bG9jYXRpb24uc2VhcmNoLHNob3VsZFNjcm9sbDpyLG5hdmlnYXRlVHlwZTp0fSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXYoKTtudWxsIT09ciYmcihlLCJ0cmF2ZXJzZSIpLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOmwuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwoZSksaGlzdG9yeVN0YXRlOnR9KX1sZXQgYj17YmFjazooKT0+d2luZG93Lmhpc3RvcnkuYmFjaygpLGZvcndhcmQ6KCk9PndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKSxwcmVmZXRjaDooZSx0KT0+e2xldCByLG49ZnVuY3Rpb24oKXtpZihudWxsPT09Uil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIFJ9KCk7c3dpdGNoKHQ/LmtpbmQ/P2wuUHJlZmV0Y2hLaW5kLkFVVE8pe2Nhc2UgbC5QcmVmZXRjaEtpbmQuQVVUTzpyPWMuRmV0Y2hTdHJhdGVneS5QUFI7YnJlYWs7Y2FzZSBsLlByZWZldGNoS2luZC5GVUxMOnI9Yy5GZXRjaFN0cmF0ZWd5LkZ1bGw7YnJlYWs7ZGVmYXVsdDpyPWMuRmV0Y2hTdHJhdGVneS5QUFJ9KDAscy5wcmVmZXRjaCkoZSxuLnN0YXRlLm5leHRVcmwsbi5zdGF0ZS50cmVlLHIsdD8ub25JbnZhbGlkYXRlPz9udWxsKX0scmVwbGFjZTooZSx0KT0+eygwLG8uc3RhcnRUcmFuc2l0aW9uKSgoKT0+e0UoZSwicmVwbGFjZSIsdD8uc2Nyb2xsPz8hMCxudWxsKX0pfSxwdXNoOihlLHQpPT57KDAsby5zdGFydFRyYW5zaXRpb24pKCgpPT57RShlLCJwdXNoIix0Py5zY3JvbGw/PyEwLG51bGwpfSl9LHJlZnJlc2g6KCk9PnsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9SRUZSRVNIfSl9KX0saG1yUmVmcmVzaDooKT0+e3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaG1yUmVmcmVzaCBjYW4gb25seSBiZSB1c2VkIGluIGRldmVsb3BtZW50IG1vZGUuIFBsZWFzZSB1c2UgcmVmcmVzaCBpbnN0ZWFkLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDg1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07InUiPnR5cGVvZiB3aW5kb3cmJndpbmRvdy5uZXh0JiYod2luZG93Lm5leHQucm91dGVyPWIpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/33074d3ff5d0cd2d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.043Z","timestamp":1785124600043,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/33074d3ff5d0cd2d.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 5009788\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"33074d3ff5d0cd2d.js\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Fri, 29 May 2026 10:19:15 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/33074d3ff5d0cd2d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::4kx7s-1780114811396-bbddbacd8b5d\r\nx-xss-protection: 1; mode=block\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=kzXVL0ZTzjjy%2BVNU0Jl4qhsJCh3xROWkyuvF4VBaWgs9b9d%2FTQHj1PchP6OhkY9g9a0eoMTOWpsHjC8ADQSRg46VU%2FHx0ZkCXE0Pm3bS2nP8FJNXKV8AzcuXF5ZW\"}]}\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"992603cebc96287b9bf186c47928c4d2\"\r\ncf-ray: a218b72e499556b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":282,"size_decoded":2357,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with no line terminators","md5":"992603cebc96287b9bf186c47928c4d2","sha1":"8a86c102cf1671f6d0cf3b6b5598fff510a4b79d","sha256":"93abe3bbe2a336a05186632225cfa198e5969ab56080e1163da35e41ae9facaf","sha512":"06cc3005d9c8ffe1f27e81eac61fddab10c3e07cdca8c183315799b19b177a9f9dd2043bd1c9c92364578b78d69640c31014db6cca25a74972244784f2de74a2","ssdeep":"","tlshash":"e4d02b702250fcd8408aa4cc8836424bf529247262fe3495d7ae8cb1a174f0c51e1955","first_seen":"2026-02-04T14:24:19.894391Z","last_seen":"2026-08-04T06:18:34.229175Z","times_seen":2900,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkxOTQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ3YXJuT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319XSk7"}},"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":"astroxcinvest.com/css/style.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.401Z","timestamp":1785124599401,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/style.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 19 Oct 2022 13:49:09 GMT\r\netag: \"1b476-63500055-f967d620fe49e363;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 18574\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":111734,"size_decoded":18939,"mime_type":"text/css","magic":"ASCII text, with very long lines (402)","md5":"4bc8028fc8120ab6f691985b793ed369","sha1":"bc5029770cbaa7e339684e7cc61a2744d0c79748","sha256":"84502e41ca5a15c8f89675fc7437e2d2a49e44b004417d7005639a45f7241944","sha512":"3a2251af6f6021d912579d48a13a261702bc23617b38a872a31c4b781e9f2a255195fabd0d97649e83ca29538e3e55b515235d7e8217a0d219573dc5925c8ace","ssdeep":"3072:8qRabn2XWHo7rjTovVDVqnD5us+RiUrPb8:8Sabn2ao7rjToNDVqnD5h+RiUrPb8","tlshash":"60b370d667b52504340fd5a9a992ab61b36c5043e10fcdbcabe2201ceec57c98573f8e","first_seen":"2026-07-27T03:16:24.538622Z","last_seen":"2026-07-27T03:58:10.325863Z","times_seen":3,"resource_available":false,"data":"LyoKICAgR29sZGNvZGVycyBIeWlwIFRlbXBsYXRlCiAgIERlc2lnbiBieSB1bmlxdWVoeWlwcy5jb20KICAgVHJ1c3RlZCBIeWlwIERldmVsb3BlciBzaW5jZSAyMDE1LgoqLwovKiBUYWJsZSBvZiBDb250ZW50Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuICAgIFR5cG9ncmFwaHkKMi4gICAgR2xvYmFsIFN0eWxlcwozLiAgICBUb3AgQmFyCjQuICAgIEhlYWRlciBhcmVhCjUuICAgIFNsaWRlcgo2LiAgICBGZWF0dXJlcwo3LiAgICBTZXJ2aWNlCjguICAgIEZhY3RzCjkuICAgIEludHJvIEFyZWEKMTAuICAgQ2FsbCBUbyBBY3Rpb24KMTEuICAgQ2hhcnQKMTIuICAgQ29udGVudCBBcmVhCjEzLiAgIENsaWVudAoxNC4gICBMYXRlc3QgTmV3cwoxNS4gICBGb290ZXIKMTYuICAgU3ViIFBhZ2VzCjE3LiAgIFByaWNpbmcgVGFibGUKMTguICAgUXVvdGUgQXJlYQoxOS4gICBDb250YWN0IFVzCjIwLiAgIE5ld3MgTGlzdGluZwoyMS4gICBOZXdzIFNpbmdsZQoyMi4gICBTaWRlYmFyCjIzLiAgIEVycm9yIFBhZ2UKMjQuICAgNDA0CgoqLwpAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9QXNhcDo0MDAsNDAwaSw1MDAsNTAwaSw2MDAsNjAwaSw3MDAsNzAwaSk7CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnZ2lscm95JzsKICBzcmM6IHVybCgiLi4vZm9udHMvZ2lscm95L2dpbHJveS1saWdodC13ZWJmb250LmVvdCIpOwogIHNyYzogdXJsKCIuLi9mb250cy9naWxyb3kvZ2lscm95LWxpZ2h0LXdlYmZvbnRkNDFkZDQxZGQ0MWQuZW90PyNpZWZpeCIpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSwgdXJsKCIuLi9mb250cy9naWxyb3kvZ2lscm95LWxpZ2h0LXdlYmZvbnQud29mZjIiKSBmb3JtYXQoIndvZmYyIiksIHVybCgiLi4vZm9udHMvZ2lscm95L2dpbHJveS1saWdodC13ZWJmb250LndvZmYiKSBmb3JtYXQoIndvZmYiKSwgdXJsKCIuLi9mb250cy9naWxyb3kvZ2lscm95LWxpZ2h0LXdlYmZvbnQudHRmIikgZm9ybWF0KCJ0cnVldHlwZSIpLCB1cmwoIi4uL2ZvbnRzL2dpbHJveS9naWxyb3ktbGlnaHQtd2ViZm9udC5odG1sI2dpbHJveWxpZ2h0IikgZm9ybWF0KCJzdmciKTsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ2dpbHJveSc7CiAgc3JjOiB1cmwoIi4uL2ZvbnRzL2dpbHJveS9naWxyb3ktZXh0cmFib2xkLXdlYmZvbnQuZW90Iik7CiAgc3JjOiB1cmwoIi4uL2ZvbnRzL2dpbHJveS9naWxyb3ktZXh0cmFib2xkLXdlYmZvbnRkNDFkZDQxZGQ0MWQuZW90PyNpZWZpeCIpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSwgdXJsKCIuLi9mb250cy9naWxyb3kvZ2lscm95LWV4dHJhYm9sZC13ZWJmb250LndvZmYyIikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi4uL2ZvbnRzL2dpbHJveS9naWxyb3ktZXh0cmFib2xkLXdlYmZvbnQud29mZiIpIGZvcm1hdCgid29mZiIpLCB1cmwoIi4uL2ZvbnRzL2dpbHJveS9naWxyb3ktZXh0cmFib2xkLXdlYmZvbnQudHRmIikgZm9ybWF0KCJ0cnVldHlwZSIpLCB1cmwoIi4uL2ZvbnRzL2dpbHJveS9naWxyb3ktZXh0cmFib2xkLXdlYmZvbnQuaHRtbCNnaWxyb3lleHRyYWJvbGQiKSBmb3JtYXQoInN2ZyIpOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHlsZTogbm9ybWFsOwp9Ci8qIFR5cG9ncmFwaHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KYm9keSB7CiAgYmFja2dyb3VuZDogIzAwMDsKICBjb2xvcjogI2ZmZjsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIGZvbnQtZmFtaWx5OiAnQXNhcCcsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxNnB4OwogIGxpbmUtaGVpZ2h0OiAzMHB4Owp9CgpwIHsKICBmb250LWZhbWlseTogJ0FzYXAnLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTZweDsKICBsaW5lLWhlaWdodDogMzBweDsKfQoKaDEsCmgyLApoMywKaDQsCmg1LApoNiB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1mYW1pbHk6ICdnaWxyb3knLCBzYW5zLXNlcmlmOwogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCmgxIHsKICBmb250LXNpemU6IDQ4cHg7CiAgbGluZS1oZWlnaHQ6IDQ4cHg7Cn0KCmgyIHsKICBmb250LXNpemU6IDM2cHg7CiAgbGluZS1oZWlnaHQ6IDM2cHg7Cn0KCmgzIHsKICBmb250LXNpemU6IDIycHg7CiAgbWFyZ2luLWJvdHRvbTogMjBweDsKfQoKaDQgewogIGZvbnQtc2l6ZTogMThweDsKICBsaW5lLWhlaWdodDogMjhweDsKfQoKaDUgewogIGZvbnQtc2l6ZTogMTRweDsKICBsaW5lLWhlaWdodDogMjRweDsKfQoKLyogR2xvYmFsIHN0eWxlcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwpodG1sIHsKICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7Cn0KCmJvZHkgewogIGJvcmRlcjogMDsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKfQoKLmJvZHktaW5uZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucHJlbG9hZCB7CiAgcG9zaXRpb246IGZpeGVkOwogIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltYWdlcy9wcmVsb2FkLmh0bWwpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0OwogIGxlZnQ6IDBweDsKICB0b3A6IDBweDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgei1pbmRleDogOTk5OTk7Cn0KCmEgewogIGNvbG9yOiAjMjE1NGNmOwp9CmE6bGluaywgYTp2aXNpdGVkIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KYTpob3ZlciB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiAjZmM2YTJhOwp9CgoubGluay1tb3JlIHsKICBmb250LXdlaWdodDogNzAwOwp9Ci5saW5rLW1vcmUgaSB7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICB0b3A6IDJweDsKICBtYXJnaW4tbGVmdDogNXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBmb250LXNpemU6IDE2cHg7Cn0KLmxpbmstbW9yZS5jb2xvciB7CiAgY29sb3I6ICNmYzZhMmE7Cn0KCnNlY3Rpb24sCi5zZWN0aW9uLXBhZGRpbmcgewogIHBhZGRpbmc6IDQwcHggMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMzsKfQoKLm5vLXBhZGRpbmcgewogIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKfQoKLm5vLWJvcmRlciB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cn0KCi50cy1wYWRkaW5nIHsKICBwYWRkaW5nOiA3MHB4IDUwcHg7Cn0KCi5tZWRpYSA+IC5wdWxsLWxlZnQgewogIG1hcmdpbi1yaWdodDogMjBweDsKfQoKLmdhcC0xMDAgewogIGNsZWFyOiBib3RoOwogIGhlaWdodDogMTAwcHg7Cn0KCi5nYXAtODAgewogIGNsZWFyOiBib3RoOwogIGhlaWdodDogODBweDsKfQoKLmdhcC02MCB7CiAgY2xlYXI6IGJvdGg7CiAgaGVpZ2h0OiA2MHB4Owp9CgouZ2FwLTQwIHsKICBjbGVhcjogYm90aDsKICBoZWlnaHQ6IDQwcHg7Cn0KCi5nYXAtMzAgewogIGNsZWFyOiBib3RoOwogIGhlaWdodDogMzBweDsKfQoKLmdhcC0yMCB7CiAgY2xlYXI6IGJvdGg7CiAgaGVpZ2h0OiAyMHB4Owp9CgouZ2FwLTE1IHsKICBjbGVhcjogYm90aDsKICBoZWlnaHQ6IDE1cHg7Cn0KCi5tcnRiLTQwIHsKICBtYXJnaW4tdG9wOiA0MHB4OwogIG1hcmdpbi1ib3R0b206IDQwcHg7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLm1ydC0yMjUgewogICAgbWFyZ2luLXRvcDogMjI1cHg7CiAgfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgewogIC5tcnQtMTkwIHsKICAgIG1hcmdpbi10b3A6IDE5MHB4OwogIH0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHsKICAubXJ0LTE0MCB7CiAgICBtYXJnaW4tdG9wOiAxNDBweDsKICB9Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLm1ydC0xMTAgewogICAgbWFyZ2luLXRvcDogMTEwcHg7CiAgfQp9CgoubXJ0LTYwIHsKICBtYXJnaW4tdG9wOiA2MHB4Owp9CgoubXJ0LTQwIHsKICBtYXJnaW4tdG9wOiA0MHB4Owp9CgoubXJ0LTg1IHsKICBtYXJnaW4tdG9wOiA4NXB4Owp9CgoubXJ0LTIwIHsKICBtYXJnaW4tdG9wOiAyMHB4Owp9CgoubXJiLTIwIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9CgoubXJiLTQwIHsKICBtYXJnaW4tYm90dG9tOiA0MHB4Owp9CgoubXJiLTYwIHsKICBtYXJnaW4tYm90dG9tOiA2MHB4Owp9CgoubXItMCB7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7Cn0KCi5tcnQtMCB7CiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDsKfQoKLnBhdGItMTAwIHsKICBwYWRkaW5nOiAxMDBweCAwICFpbXBvcnRhbnQ7Cn0KCi5wYWItMTIwIHsKICBwYWRkaW5nLWJvdHRvbTogMTIwcHggIWltcG9ydGFudDsKfQoKLnBhYiB7CiAgcGFkZGluZy1ib3R0b206IDA7Cn0KCmE6Zm9jdXMgewogIG91dGxpbmU6IDA7Cn0KCmltZy5wdWxsLWxlZnQgewogIG1hcmdpbi1yaWdodDogMjBweDsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9CmltZy5wdWxsLXJpZ2h0IHsKICBtYXJnaW4tbGVmdDogMjBweDsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9CgoudW5zdHlsZWQsCnVsLApvbCwKbGkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KCi5zb2xpZC1iZyB7CiAgYmFja2dyb3VuZDogI2Y3ZjlmZDsKICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoKLmRhcmstYmcgewogIGJhY2tncm91bmQ6ICMyNTI1MjU7CiAgY29sb3I6ICNmZmY7Cn0KLmRhcmstYmcgaDIsCi5kYXJrLWJnIGgzIHsKICBjb2xvcjogI2ZmZjsKfQoKLnNvbGlkLXJvdyB7CiAgYmFja2dyb3VuZDogI2YwZjBmMDsKfQoKLm1lZGlhLWxlZnQsCi5tZWRpYSA+IC5wdWxsLWxlZnQgewogIHBhZGRpbmctcmlnaHQ6IDIwcHg7Cn0KCi8qIEJhY2tncm91bmQgb3ZlcmxheSAqLwouYmctb3ZlcmxheSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5iZy1vdmVybGF5IC5jb250YWluZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwp9Ci5iZy1vdmVybGF5OmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOwogIHotaW5kZXg6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICcnOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICB0b3A6IDA7CiAgbGVmdDogMDsKfQouYmctb3ZlcmxheS5vdmVybGF5LWNvbG9yOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1LCAzOSwgMTAxLCAwLjg1KTsKfQoKLyogUGF0dGVybiAqLwouYmctcGF0dGVybi0xIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKfQouYmctcGF0dGVybi0xOmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBjb250ZW50OiAiIjsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlcy9wYXR0ZXJuL2JnX3BhdHRlcm4xLnBuZyIpIDEwMCUgMTAwJTsKICB6LWluZGV4OiAtMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5iZy1wYXR0ZXJuLTE6YWZ0ZXIgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCi5iZy1wYXR0ZXJuLTIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAyOwp9Ci5iZy1wYXR0ZXJuLTI6YmVmb3JlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgY29udGVudDogIiI7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2VzL3BhdHRlcm4vcGF0dGVybl9hcnJvdy5wbmciKSBuby1yZXBlYXQgdG9wIGxlZnQ7Cn0KLmJnLXBhdHRlcm4tMjphZnRlciB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvcGF0dGVybi9wYXR0ZXJuX2JveC5wbmciKSBuby1yZXBlYXQgYm90dG9tIHJpZ2h0OwogIGNvbnRlbnQ6ICIiOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CiAgLmJnLXBhdHRlcm4tMjpiZWZvcmUsIC5iZy1wYXR0ZXJuLTI6YWZ0ZXIgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCi5iZy1wYXR0ZXJuLTMgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAyOwp9Ci5iZy1wYXR0ZXJuLTM6YWZ0ZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgY29udGVudDogIiI7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvcGF0dGVybi9iZ19wYXR0ZXJuMi5wbmciKTsKICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogIHotaW5kZXg6IC0xOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7CiAgLmJnLXBhdHRlcm4tMzphZnRlciB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQoKLyogRHJvcGNhcCAqLwouZHJvcGNhcCB7CiAgZm9udC1zaXplOiA0OHB4OwogIGxpbmUtaGVpZ2h0OiA2MHB4OwogIHBhZGRpbmc6IDAgN3B4OwogIGZsb2F0OiBsZWZ0OwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbWFyZ2luOiA1cHggMTVweCA1cHggMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQouZHJvcGNhcC5wcmltYXJ5IHsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwogIGNvbG9yOiAjZmZmOwp9Ci5kcm9wY2FwLnNlY29uZGFyeSB7CiAgYmFja2dyb3VuZDogIzNhNTM3MTsKICBjb2xvcjogI2ZmZjsKfQoKLyogUHJpbWFyeSBCb3ggKi8KLnRzLWludHJvIC5ib3JkZXItbGVmdCB7CiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7Cn0KCi5ib3gtcHJpbWFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzIxNTRDRjsKfQoKLmJveC1kYXJrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOwp9CgouYm94LXNlY29uZGFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzBGMjc2NTsKfQoKLmludHJvLWRldGFpbHMgewogIHBhZGRpbmctbGVmdDogMjBweDsKfQoKLmludHJvLXRpdGxlIHsKICBmb250LXNpemU6IDI0cHg7CiAgbGluZS1oZWlnaHQ6IDM0cHg7CiAgbWFyZ2luOiAwOwp9CgouaW50cm8tc3ViLXRpdGxlIHsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc2l6ZTogMzZweDsKICBsaW5lLWhlaWdodDogNDZweDsKICBtYXJnaW46IDE1cHggMCAyNXB4OwogIGNvbG9yOiAjMWMxYzI0Owp9CgpzZWN0aW9uIC50aXRsZS13aGl0ZSB7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQoKLyogU2VjdGlvbiB2ZXJ0aWNsZSB0aXRsZSAqLwouc2VjdGlvbi10aXRsZS12ZXJ0aWNhbCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGhlaWdodDogMDsKfQouc2VjdGlvbi10aXRsZS12ZXJ0aWNhbCAuc2VjdGlvbi10aXRsZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IC0xOTBweDsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICB0b3A6IDIwM3B4OwogIGZvbnQtc2l6ZTogNDBweDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbWFyZ2luLWJvdHRvbTogNzBweDsKICBjb2xvcjogI2M3ZDRmMzsKICBtYXJnaW4tdG9wOiAwOwp9Ci5zZWN0aW9uLXRpdGxlLXZlcnRpY2FsIC5zZWN0aW9uLXRpdGxlOmFmdGVyIHsKICB0b3A6IDE1cHg7CiAgbGVmdDogLTk1cHg7CiAgei1pbmRleDogMDsKICB3aWR0aDogMTU1cHg7CiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjN2Q0ZjM7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgLnNlY3Rpb24tdGl0bGUtdmVydGljYWwgLnNlY3Rpb24tdGl0bGUgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCi8qIENvbHVtbiB0aXRsZSAqLwouY29sdW1uLXRpdGxlIHsKICBmb250LXNpemU6IDQ0cHg7CiAgbGluZS1oZWlnaHQ6IDUwcHg7CiAgbWFyZ2luOiAwIDAgMjBweDsKfQouY29sdW1uLXRpdGxlIHNwYW4gewogIGZvbnQtc2l6ZTogMjRweDsKICBsaW5lLWhlaWdodDogMzRweDsKICBtYXJnaW46IDAgMCAxMHB4IDA7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC13ZWlnaHQ6IDQwMDsKfQouY29sdW1uLXRpdGxlLnRpdGxlLXNtYWxsIHsKICBmb250LXNpemU6IDM2cHg7Cn0KCi8qIENvbHVtbiB0aXRsZSBzbWFsbCAqLwovKiBWaWRlbyByZXNwb25zaXZlICovCi5lbWJlZC1yZXNwb25zaXZlIHsKICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYm9yZGVyOiAwOwp9CgovKiBJbnB1dCBmb3JtICovCi5mb3JtLWNvbnRyb2wgewogIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICBib3gtc2hhZG93OiBub25lOwogIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7CiAgcGFkZGluZzogNXB4IDIwcHg7CiAgaGVpZ2h0OiA1MHB4OwogIGJhY2tncm91bmQ6IG5vbmU7CiAgY29sb3I6ICM2MjZjODQ7CiAgZm9udC1zaXplOiAxNHB4OwogIGJvcmRlci1yYWRpdXM6IDA7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKfQouZm9ybS1jb250cm9sOmZvY3VzIHsKICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItY29sb3I6ICNGMUYxRjE7Cn0KCmlucHV0OmZvY3VzLAp0ZXh0YXJlYTpmb2N1cyB7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgYm9yZGVyLWNvbG9yOiAjRjFGMUYxOwp9CgouZm9ybS1tZXNzYWdlIHsKICBoZWlnaHQ6IGF1dG87Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLnF1dG9lLWZvcm0taW5uZXItbGVmdCB7CiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OwogIH0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHsKICAucXV0b2UtZm9ybS1pbm5lci1yaWdodCB7CiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7CiAgfQp9CgoucXVvdGVfZm9ybSAuZm9ybS1jb250cm9sOmZvY3VzIHsKICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXI6IDFweCBzb2xpZCAjMjE1NGNmOwp9Cgoud2lkZ2V0IC5mb3JtLWNvbnRyb2wgewogIHotaW5kZXg6IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgpociB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsKICBib3JkZXI6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiA0MHB4IDA7Cn0KCmJsb2NrcXVvdGUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kOiAjMjUyYTM3OwogIHBhZGRpbmc6IDQwcHg7CiAgYm9yZGVyOiAwOwogIG1hcmdpbjogMzBweCAwIDQwcHg7Cn0KYmxvY2txdW90ZTpiZWZvcmUgewogIHBhZGRpbmc6IDI4cHggMCAyMnB4OwogIGNvbnRlbnQ6ICJcZTkzNyI7CiAgZm9udC1mYW1pbHk6ICdpY29uZm9udCc7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiA0NHB4Owp9CmJsb2NrcXVvdGUgcCB7CiAgZm9udC1zaXplOiAxOHB4OwogIGxpbmUtaGVpZ2h0OiAyOHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwp9CgpjaXRlIHsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXNpemU6IDE0cHg7CiAgbWFyZ2luLXRvcDogMTBweDsKICB0ZXh0LWFsaWduOiByaWdodDsKfQoKLyogQnV0dG9uICovCi5idG4uZm9jdXMsIC5idG46Zm9jdXMsCi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgb3V0bGluZTogMDsKICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBiYWNrZ3JvdW5kOiAjMTdhMmI4Owp9CgouYnRuLXByaW1hcnkuZm9jdXMsIC5idG4tcHJpbWFyeTpmb2N1cyB7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCmJ1dHRvbjpmb2N1cyB7CiAgb3V0bGluZTogMCBzb2xpZDsKfQoKLmJ0bi5idG4tcHJpbWFyeSwKLmJ0bi1kYXJrLAouYnRuLWJvcmRlciwKLmJ0bi13aGl0ZSB7CiAgZm9udC1zaXplOiAxNnB4OwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgcGFkZGluZzogMTVweCA1MHB4OwogIGxpbmUtaGVpZ2h0OiAxLjMzOwogIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgYm9yZGVyOiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgNDAwbXMsIGJhY2tncm91bmQtY29sb3IgNDAwbXMsIGJvcmRlci1jb2xvciA0MDBtczsKICB0cmFuc2l0aW9uOiBjb2xvciA0MDBtcywgYmFja2dyb3VuZC1jb2xvciA0MDBtcywgYm9yZGVyLWNvbG9yIDQwMG1zOwogIHRyYW5zaXRpb246IGNvbG9yIDQwMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCBib3JkZXItY29sb3IgNDAwbXM7Cn0KCi5idG4td2hpdGUuYnRuLXByaW1hcnkgewogIGJhY2tncm91bmQ6ICNmZmY7CiAgY29sb3I6ICMxN2EyYjg7Cn0KCi5idG4uYnRuLXByaW1hcnkgewogIGJhY2tncm91bmQ6ICMxN2EyYjg7CiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLmJ0bi5idG4tZGFyayB7CiAgYmFja2dyb3VuZDogIzI0MjQyNzsKICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYnRuLmJ0bi13aGl0ZSB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYnRuLmJ0bi13aGl0ZTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNzsKICBjb2xvcjogI2ZmZjsKfQoKLmJ0bi1ib3JkZXIgewogIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7CiAgYmFja2dyb3VuZDogbm9uZTsKICBjb2xvcjogI2ZmZjsKfQoKLmJ0bi1wcmltYXJ5OmhvdmVyLAouYnRuLWRhcms6aG92ZXIsCi5idG4td2hpdGUuYnRuLXByaW1hcnk6aG92ZXIgewogIGJhY2tncm91bmQ6ICMwZjI3NjU7CiAgY29sb3I6ICNmZmY7Cn0KCi5idG4tYm9yZGVyOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjMGYyNzY1OwogIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGNvbG9yOiAjZmZmOwp9CgouZ2VuZXJhbC1idG4gewogIGNsZWFyOiBib3RoOwogIG1hcmdpbi10b3A6IDYwcHg7Cn0KCi5pbnRyby1jb250ZW50IC5idG4tYm9yZGVyIHsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7Cn0KCi8qIFVsLCBPbCAqLwoubGlzdC1yb3VuZCwKLmxpc3QtYXJyb3csCi5saXN0LWRhc2ggewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KCi5saXN0LXJvdW5kIGxpIHsKICBsaW5lLWhlaWdodDogMzRweDsKfQoubGlzdC1yb3VuZCBsaTpiZWZvcmUgewogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICBjb250ZW50OiAiXGYxMTEiOwogIG1hcmdpbi1yaWdodDogMTBweDsKICBjb2xvcjogIzI1MmEzNzsKICBmb250LXNpemU6IDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdG9wOiAtM3B4Owp9CgoubGlzdC1hcnJvdyB7CiAgcGFkZGluZzogMDsKfQoKdWwubGlzdC1kYXNoIGxpOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIGNvbnRlbnQ6ICJcZjA2OCI7CiAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogIGNvbG9yOiAjMjE1NGNmOwogIGZvbnQtc2l6ZTogMTBweDsKfQoKLyogQm9vdHN0cmFwICovCi5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEgewogIGJvcmRlcjogMDsKfQoubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzLCAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyIHsKICBib3JkZXI6IDA7Cn0KLm5hdi10YWJzID4gbGkgPiBhIHsKICBib3JkZXI6IDA7Cn0KLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyIHsKICBib3JkZXI6IDA7Cn0KCi5uYXYgPiBsaSA+IGE6Zm9jdXMsIC5uYXYgPiBsaSA+IGE6aG92ZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KCi5wYXR0ZXJuLWJnIHsKICBiYWNrZ3JvdW5kOiAjZjVmNWY1IHVybCguLi9pbWFnZXMvY3Jvc3N3b3JkLmh0bWwpOwp9CgphW2hyZWZePXRlbF0gewogIGNvbG9yOiBpbmhlcml0OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLyotLSBPd2wgc2xpZGUgY29tbW9uIC0tKi8KLm93bC1jYXJvdXNlbC5wYWdlLXNsaWRlciAub3dsLW5hdiB7CiAgbWFyZ2luOiAwOwp9Cgoub3dsLWNhcm91c2VsIC5vd2wtbmF2IHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5vd2wtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV0gewogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgY29sb3I6ICNmZmY7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMDsKICByaWdodDogMDsKICB3aWR0aDogNDBweDsKICBoZWlnaHQ6IDQwcHg7CiAgbGluZS1oZWlnaHQ6IDQycHg7CiAgZm9udC1zaXplOiAyMHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW46IDA7CiAgYm9yZGVyLXJhZGl1czogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47Cn0KCi5vd2wtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLXByZXZdIHsKICByaWdodDogNDBweDsKfQoKLm93bC1jYXJvdXNlbC5vd2wtdGhlbWUgLm93bC1uYXYgPiBkaXY6aG92ZXIgewogIGJhY2tncm91bmQ6ICMyNzJkMzM7Cn0KCi5vd2wtdGhlbWUgLm93bC1kb3RzIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbWFyZ2luLXRvcDogNDBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMTsKfQoKLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7CiAgd2lkdGg6IDMwcHg7CiAgaGVpZ2h0OiA0cHg7CiAgbWFyZ2luOiA1cHggNHB4OwogIGJhY2tncm91bmQ6ICMwMDA7CiAgb3BhY2l0eTogLjI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Cgoub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3BhbiB7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKICBvcGFjaXR5OiAxOwp9CgovKi0tIFNlY3Rpb24gdGl0bGUgLS0qLwouc2VjdGlvbi10aXRsZSB7CiAgZm9udC1zaXplOiA0NHB4OwogIG1hcmdpbi10b3A6IDA7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1ib3R0b206IDkwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5zZWN0aW9uLXRpdGxlIHNwYW4gewogIGZvbnQtc2l6ZTogMThweDsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIGNvbG9yOiAjNjI2Yzg0OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKfQouc2VjdGlvbi10aXRsZTphZnRlciB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogLTMwcHg7CiAgaGVpZ2h0OiAxcHg7CiAgd2lkdGg6IDUwcHg7CiAgbGVmdDogNTAlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgei1pbmRleDogMDsKICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzIxNTRjZjsKfQoKLyogQ29udGVudCB0aXRsZSAqLwouY29udGVudC10aXRsZSB7CiAgZm9udC1zaXplOiA0NHB4OwogIG1hcmdpbi10b3A6IDA7CiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMjE1NGNmOwogIHBhZGRpbmctbGVmdDogMTVweDsKICBtYXJnaW4tYm90dG9tOiA0MHB4OwogIGxpbmUtaGVpZ2h0OiAzMnB4Owp9Ci5jb250ZW50LXRpdGxlIHNwYW4gewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMjRweDsKICBsaW5lLWhlaWdodDogMzRweDsKICBtYXJnaW46IDAgMCAxMHB4IDA7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50Owp9CgouY29udGVudC10aXRsZS1tZWRpdW0gewogIGZvbnQtc2l6ZTogMzZweDsKICBsaW5lLWhlaWdodDogNDRweDsKfQoKLmxpc3QtY29sdW1uLXRpdGxlIHsKICBmb250LXNpemU6IDI0cHg7CiAgY29sb3I6ICMyNTJhMzc7Cn0KCi8qIEJvcmRlciBsZWZ0ICovCi5zZWN0aW9uLXRpdGxlLmJvcmRlci10aXRsZS1sZWZ0IHsKICBwYWRkaW5nLWxlZnQ6IDE0MHB4Owp9Ci5zZWN0aW9uLXRpdGxlLmJvcmRlci10aXRsZS1sZWZ0OmJlZm9yZSB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIG1hcmdpbi10b3A6IC0yMnB4OwogIGhlaWdodDogMXB4OwogIHdpZHRoOiAxMTVweDsKICBsZWZ0OiAwOwogIHotaW5kZXg6IDA7CiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMTU0Y2Y7Cn0KLnNlY3Rpb24tdGl0bGUuYm9yZGVyLXRpdGxlLWxlZnQ6YWZ0ZXIgewogIGJvcmRlcjogMDsKfQouc2VjdGlvbi10aXRsZS5ib3JkZXItdGl0bGUtbGVmdCBzcGFuIHsKICB0ZXh0LWFsaWduOiByaWdodDsKICBtYXJnaW46IDEwcHggMCAwOwp9CgovKiBUb3AgQmFyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5zaXRlLXRvcCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDk5OTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHsKICAuc2l0ZS10b3AtMiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICB6LWluZGV4OiA5OTk7CiAgfQp9CgoudG9wLWJhciB7CiAgcGFkZGluZzogMTJweCAwIDE1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQ6ICMyZDM1NTk7CiAgY29sb3I6ICNmZmY7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKfQoudG9wLWJhci5zb2xpZC1iZyB7CiAgY29sb3I6ICM2MjZjODQ7CiAgYmFja2dyb3VuZDogI2ZhZmFmYTsKfQoudG9wLWJhci5zb2xpZC1iZyB1bC50b3AtbWVudSBsaSB7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpOwp9Ci50b3AtYmFyLnNvbGlkLWJnIHVsLnRvcC1tZW51IGxpOmxhc3QtY2hpbGQgewogIGJvcmRlci1yaWdodDogMDsKfQoudG9wLWJhci5zb2xpZC1iZyB1bC50b3AtbWVudSBsaSBhIHsKICBjb2xvcjogIzYyNmM4NDsKfQoudG9wLWJhci5zb2xpZC1iZyAudG9wLXNvY2lhbCBhIHsKICBjb2xvcjogIzYyNmM4NDsKfQoudG9wLWJhci5zb2xpZC1iZyB1bC50b3AtbWVudSBsaSBhOmhvdmVyLAoudG9wLWJhci5zb2xpZC1iZyAudG9wLXNvY2lhbCBhOmhvdmVyIHsKICBjb2xvcjogIzIxNTRjZjsKfQoKLyogVG9wIG1lbnUgKi8KdWwudG9wLW1lbnUgbGkgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDE0cHg7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzRjNTM3MjsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICBsaW5lLWhlaWdodDogMTBweDsKfQp1bC50b3AtbWVudSBsaTpsYXN0LWNoaWxkIHsKICBib3JkZXItcmlnaHQ6IDA7Cn0KdWwudG9wLW1lbnUgbGkgYSB7CiAgY29sb3I6ICM5OTk5OTk7Cn0KdWwudG9wLW1lbnUgbGkgYTpob3ZlciB7CiAgY29sb3I6ICMyMTU0Y2Y7Cn0KCi8qIFRvcCBzb2NpYWwgKi8KLnRvcC1zb2NpYWwgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KLnRvcC1zb2NpYWwgYSB7CiAgZm9udC1zaXplOiAxNHB4OwogIG1hcmdpbi1sZWZ0OiAyMHB4OwogIGNvbG9yOiAjZmZmOwp9Ci50b3Atc29jaWFsIGE6aG92ZXIgewogIGNvbG9yOiAjZmZmOwp9CgovKiBUb3AgYmFyIHRyYW5zcGFyZW50ICovCi50b3BiYXItdHJhbnNwYXJlbnQgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQ6IG5vbmU7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgcGFkZGluZzogMTJweCAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzNTBtczsKICB0cmFuc2l0aW9uOiAzNTBtczsKfQoudG9wYmFyLXRyYW5zcGFyZW50IHVsIGxpIGEgewogIGNvbG9yOiAjZmZmOwogIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KLnRvcGJhci10cmFuc3BhcmVudC5ib3JkZXItZG93biB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsKICBsaW5lLWhlaWdodDogbm9ybWFsOwp9CgovKiBUb3BiYXIgVGFyYW5zcGFyZW50IHdpdGggYm9yZGVyICovCi8qIFRvcGJhciBoaWdobGlnaHQgKi8KLnRvcC1iYXIuaGlnaGxpZ2h0IHsKICBiYWNrZ3JvdW5kOiAjMGYyNzY1OwogIGNvbG9yOiAjZmZmOwp9Ci50b3AtYmFyLmhpZ2hsaWdodCB1bC50b3AtbWVudSBsaSB7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpOwp9Ci50b3AtYmFyLmhpZ2hsaWdodCB1bC50b3AtbWVudSBsaSBhIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXdlaWdodDogNjAwOwp9Ci50b3AtYmFyLmhpZ2hsaWdodCB1bC50b3AtbWVudSBsaTpsYXN0LWNoaWxkIHsKICBib3JkZXItcmlnaHQ6IDA7Cn0KCi8qIFRvcGJhciB3aXRoIFRyYW5zcGFyZW50IGJnICovCi50b3BiYXItdHJhbnNwYXJlbnQud2l0aC1iZyB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOwogIHBhZGRpbmc6IDEwcHggMCAxMnB4OwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7Cn0KCi8qIFRvcGJhciBpbmZvICovCiN0b3AtYmFyIC50b3AtaW5mbyB7CiAgbWFyZ2luOiAwOwogIGZsb2F0OiBsZWZ0Owp9CiN0b3AtYmFyIC50b3AtaW5mbyBwIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc2l6ZTogMTVweDsKfQojdG9wLWJhciAudG9wLWluZm8gaSB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXNpemU6IDE1cHg7CiAgZm9udC1zaXplOiAxNnB4Owp9CiN0b3AtYmFyIC50b3AtaW5mbyAuaW5mby1pY29uIHsKICB0b3A6IDA7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7Cn0KI3RvcC1iYXIgLnRvcC1pbmZvIC5pbmZvLXdyYXBwZXI6YWZ0ZXIgewogIGhlaWdodDogMTVweDsKICB0b3A6IDJweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7Cn0KI3RvcC1iYXIgLnRvcC1pbmZvIGxpLmxhc3QgLmluZm8td3JhcHBlcjphZnRlciB7CiAgYmFja2dyb3VuZDogbm9uZTsKfQoKLyogSGVhZGVyIGFyZWEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLyogU3RpY2t5IE1lbnUgICovCiNoZWFkZXIuZml4ZWQsCi5zaXRlLW5hdi1pbm5lci5maXhlZCwKI2hlYWRlci5oZWFkZXItc3RhbmRhcmQuZml4ZWQsCiNoZWFkZXIuaGVhZGVyLXN0YW5kYXJkLmZpeGVkLmhpZ2hsaWdodCwKLnNpdGUtbmF2LWlubmVyLnNpdGUtbmF2aWdhdGlvbi5maXhlZCwKLnNpdGUtbmF2LWlubmVyLnNpdGUtbmF2aWdhdGlvbi5maXhlZC5uYXYtdHJhbnNwYXJlbnQgewogIHBvc2l0aW9uOiBmaXhlZDsKICB3aWR0aDogMTAwJTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB6LWluZGV4OiA5OTk7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMTNweCAzNXB4IC0xMnB4IHJnYmEoMzUsIDM1LCAzNSwgMC4xNSk7CiAgYm94LXNoYWRvdzogMHB4IDEzcHggMzVweCAtMTJweCByZ2JhKDM1LCAzNSwgMzUsIDAuMTUpOwogIC13ZWJraXQtYW5pbWF0aW9uOiBtZW51c3RpY2t5IDAuN3MgZWFzZS1pbi1vdXQ7CiAgYW5pbWF0aW9uOiBtZW51c3RpY2t5IDAuN3MgZWFzZS1pbi1vdXQ7Cn0KCi5oZWFkZXItdHJhbnMtbGVmdGJveC5maXhlZCB7CiAgYmFja2dyb3VuZDogcmdiYSgzMSwgMzEsIDM0LCAwLjkpOwp9CgojaGVhZGVyLmZpeGVkLmhlYWRlci10cmFucy1sZWZ0Ym94IC5oZWFkZXItd3JhcHBlcjpiZWZvcmUgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KCi5oZWFkZXItdHJhbnMtbGVmdGJveC5maXhlZCAuaGVhZGVyLXdyYXBwZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KCiNoZWFkZXIuaGVhZGVyLXN0YW5kYXJkLmhlYWRlci10cmFuc3BhcmVudC5maXhlZCB7CiAgYmFja2dyb3VuZDogcmdiYSgzMSwgMzEsIDM0LCAwLjkpOwp9CgojaGVhZGVyLmhlYWRlci1zdGFuZGFyZC5maXhlZCB7CiAgYmFja2dyb3VuZDogI2ZmZjsKfQoKI2hlYWRlci5oZWFkZXItc3RhbmRhcmQuZml4ZWQuaGlnaGxpZ2h0IHsKICBiYWNrZ3JvdW5kOiAjMEYyNzY1Owp9Cgouc2l0ZS1uYXYtaW5uZXIuc2l0ZS1uYXZpZ2F0aW9uLmZpeGVkIHsKICBiYWNrZ3JvdW5kOiAjMEYyNzY1Owp9Cgouc2l0ZS1uYXYtaW5uZXIuc2l0ZS1uYXZpZ2F0aW9uLm5hdi10cmFuc3BhcmVudC5maXhlZCB7CiAgYmFja2dyb3VuZDogcmdiYSgzMSwgMzEsIDM0LCAwLjkpOwp9CgouaGVhZGVyLm5hdi1kb3duLm5hdi1ib3ggLnNpdGUtbmF2LWlubmVyLmZpeGVkIHsKICBiYWNrZ3JvdW5kOiAjMEYyNzY1Owp9CgouaGVhZGVyLm5hdi1kb3duLm5hdi1ib3hlZC10cmFuc3BhcmVudCAuc2l0ZS1uYXYtaW5uZXIuZml4ZWQgewogIGJhY2tncm91bmQ6ICMwRjI3NjU7Cn0KCi8qIFN0aWNreSBNZW51IEFuaW1hdGlvbiovCkAtd2Via2l0LWtleWZyYW1lcyBtZW51c3RpY2t5IHsKICAwJSB7CiAgICBtYXJnaW4tdG9wOiAtMTIwcHg7CiAgICBvcGFjaXR5OiAwOwogIH0KICA1MCUgewogICAgbWFyZ2luLXRvcDogLTY0cHg7CiAgICBvcGFjaXR5OiAwOwogIH0KICAxMDAlIHsKICAgIG1hcmdpbi10b3A6IDA7CiAgICBvcGFjaXR5OiAxOwogIH0KfQpAa2V5ZnJhbWVzIG1lbnVzdGlja3kgewogIDAlIHsKICAgIG1hcmdpbi10b3A6IC0xMjBweDsKICAgIG9wYWNpdHk6IDA7CiAgfQogIDUwJSB7CiAgICBtYXJnaW4tdG9wOiAtNjRweDsKICAgIG9wYWNpdHk6IDA7CiAgfQogIDEwMCUgewogICAgbWFyZ2luLXRvcDogMDsKICAgIG9wYWNpdHk6IDE7CiAgfQp9Ci8qIEhlYWRlciBkZWZhdWx0ICovCi5oZWFkZXItdHJhbnMtbGVmdGJveC5uYXZiYXItZml4ZWQgewogIGJhY2tncm91bmQ6IGJsYWNrOwp9CgouaGVhZGVyLXRyYW5zLWxlZnRib3gubmF2YmFyLWZpeGVkIC5oZWFkZXItd3JhcHBlciB7CiAgYm90dG9tOiAwOwogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7Cn0KCi5oZWFkZXItdHJhbnMtbGVmdGJveC5uYXZiYXItZml4ZWQgLmhlYWRlci10cmFucy1sZWZ0Ym94IC5oZWFkZXItd3JhcHBlcjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KCi5oZWFkZXItdHJhbnMtbGVmdGJveCAuaGVhZGVyLXdyYXBwZXIgewogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zNSk7CiAgY29sb3I6ICNmZmY7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5oZWFkZXItdHJhbnMtbGVmdGJveCAuaGVhZGVyLXdyYXBwZXI6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM1KTsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMzAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgcmlnaHQ6IC0zMDAlOwogIHRvcDogMDsKfQoKLmhlYWRlci5oZWFkZXItYm94LWxlZnQgewogIGhlaWdodDogNjBweDsKICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7Cn0KCi5oZWFkZXItYm94LWxlZnQgLmhlYWRlci13cmFwcGVyIHsKICBib3R0b206IC0xNXB4Owp9CgouaGVhZGVyLXdyYXBwZXIgewogIGJhY2tncm91bmQ6ICMwZjI3NjU7CiAgY29sb3I6ICNmZmY7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5oZWFkZXItd3JhcHBlcjpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBiYWNrZ3JvdW5kOiAjMGYyNzY1OwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAzMDAlOwogIGhlaWdodDogMTAwJTsKICByaWdodDogLTMwMCU7CiAgdG9wOiAwOwp9CgovKiBIZWFkZXIgMiAqLwouaGVhZGVyLXN0YW5kYXJkIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJveC1zaGFkb3c6IDBweCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICB6LWluZGV4OiAyOwp9Ci5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLXRyYW5zcGFyZW50IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogIHRvcDogNTBweDsKfQouaGVhZGVyLXN0YW5kYXJkLmhlYWRlci10cmFuc3BhcmVudCB1bC5uYXZiYXItbmF2ID4gbGkgPiBhIHsKICBjb2xvcjogI2ZmZjsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgewogIC5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLXRyYW5zcGFyZW50IC5sb2dvIHsKICAgIHBhZGRpbmctbGVmdDogMDsKICB9Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayB7CiAgY29sb3I6ICNmZmY7Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItdHJhbnNwYXJlbnQubmF2YmFyLWZpeGVkIHsKICBiYWNrZ3JvdW5kOiAjMDAwOwogIHRvcDogMDsKfQouaGVhZGVyLXN0YW5kYXJkIC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmsgewogIGNvbG9yOiAjMjUyYTM3Owp9Ci5oZWFkZXItc3RhbmRhcmQgdWwubmF2YmFyLW5hdiA+IGxpID4gYSB7CiAgY29sb3I6ICNmZmY7CiAgbGluZS1oZWlnaHQ6IDgwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHsKICAuaGVhZGVyLXN0YW5kYXJkIHVsLm5hdmJhci1uYXYgPiBsaSA+IGEgewogICAgY29sb3I6ICMyNTJhMzc7CiAgfQp9Ci5oZWFkZXItc3RhbmRhcmQgdWwubmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSB7CiAgY29sb3I6ICNmYzZhMmE7Cn0KLmhlYWRlci1zdGFuZGFyZCAuY29udGFpbmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHsKICAuaGVhZGVyLXN0YW5kYXJkIC5zaXRlLW5hdi1pbm5lciB7CiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OwogIH0KfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5oZWFkZXItc3RhbmRhcmQgLmNvbnRhaW5lciB7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuaGVhZGVyLXN0YW5kYXJkIC5zaXRlLW5hdi1pbm5lciB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwOwogIH0KfQouaGVhZGVyLXN0YW5kYXJkIC5uYXYtc2VhcmNoIHsKICB0b3A6IDIycHg7CiAgcmlnaHQ6IDE1cHg7CiAgd2lkdGg6IDQ1cHg7CiAgaGVpZ2h0OiA0NXB4OwogIGxpbmUtaGVpZ2h0OiA0NXB4OwogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgYm9yZGVyLXJhZGl1czogMTAwJTsKfQouaGVhZGVyLXN0YW5kYXJkIC5uYXYtc2VhcmNoIHNwYW4gewogIHRvcDogM3B4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouaGVhZGVyLXN0YW5kYXJkIC5zZWFyY2gtYmxvY2sgLnNlYXJjaC1jbG9zZSB7CiAgY29sb3I6ICNmZmY7CiAgdG9wOiAtNjhweDsKICByaWdodDogMDsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwogIG9wYWNpdHk6IDE7CiAgd2lkdGg6IDQ1cHg7CiAgaGVpZ2h0OiA0NXB4OwogIGxpbmUtaGVpZ2h0OiAzMHB4OwogIGJvcmRlci1yYWRpdXM6IDEwMCU7Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItYm94ZWQgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICBib3gtc2hhZG93OiBub25lOwogIHRvcDogNTBweDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwp9Ci5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLWJveGVkIC5zaXRlLW5hdi1pbm5lciB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICB6LWluZGV4OiAxOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwIDIwcHg7Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItYm94ZWQgLm5hdi1zZWFyY2ggewogIHJpZ2h0OiA0MHB4OwogIGJhY2tncm91bmQ6ICMwZjI3NjU7Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItYm94ZWQgLnNlYXJjaC1ibG9jayAuc2VhcmNoLWNsb3NlIHsKICByaWdodDogMjVweDsKICBiYWNrZ3JvdW5kOiAjMGYyNzY1OwogIHRvcDogLTY4cHg7Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItYm94ZWQuaGlnaGxpZ2h0IC5yb3cgewogIGJhY2tncm91bmQ6ICMwZjI3NjU7Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItYm94ZWQuaGlnaGxpZ2h0IHVsLm5hdmJhci1uYXYgPiBsaSA+IGEgewogIGNvbG9yOiAjZmZmOwp9Cgouc2l0ZS1uYXZpZ2F0aW9uLm5hdmRvd24gewogIGJhY2tncm91bmQ6ICMwZjI3NjU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5zaXRlLW5hdmlnYXRpb24ubmF2ZG93biAubmF2YmFyLWNvbGxhcHNlIHsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KLnNpdGUtbmF2aWdhdGlvbi5uYXZkb3duIHVsLm5hdmJhci1uYXYgPiBsaSA+IGEgewogIGxpbmUtaGVpZ2h0OiA2MHB4Owp9Ci5zaXRlLW5hdmlnYXRpb24ubmF2aWdhdGlvbi5uYXZkb3duIHsKICBiYWNrZ3JvdW5kOiAjMGYyNzY1Owp9Ci5zaXRlLW5hdmlnYXRpb24gLm5hdi1zZWFyY2ggewogIHRvcDogMDsKICB6LWluZGV4OiAyOwogIHdpZHRoOiA3MHB4OwogIGhlaWdodDogNzBweDsKICBsaW5lLWhlaWdodDogNzBweDsKICByaWdodDogMTVweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7Cn0KLnNpdGUtbmF2aWdhdGlvbiAuc2VhcmNoLWJsb2NrIC5zZWFyY2gtY2xvc2UgewogIHRvcDogLTcwcHg7CiAgei1pbmRleDogMjsKICB3aWR0aDogNzBweDsKICBoZWlnaHQ6IDcwcHg7CiAgbGluZS1oZWlnaHQ6IDUwcHg7CiAgcmlnaHQ6IDA7CiAgYmFja2dyb3VuZDogIzAwMDAwMDMzOwp9CgovKiBIZWFkZXIgMyAqLwpoZWFkZXIuaGVhZGVyLXN0YW5kYXJkLmhlYWRlci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLApoZWFkZXIuaGVhZGVyLXN0YW5kYXJkLmhlYWRlci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMgewogIGNvbG9yOiAjZmZmOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgaGVhZGVyLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluaywKICBoZWFkZXIuaGVhZGVyLXN0YW5kYXJkLmhlYWRlci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMgewogICAgY29sb3I6ICMyNTJhMzc7CiAgfQp9CmhlYWRlci5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6aG92ZXIsCmhlYWRlci5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1czpob3ZlciB7CiAgY29sb3I6ICNGMjY3MkE7Cn0KCi8qIEhlYWRlciA1ICovCi5oZWFkZXItc3RhbmRhcmQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHsKICBjb2xvcjogIzI1MmEzNzsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwp9Ci5oZWFkZXItc3RhbmRhcmQuaGVhZGVyLWJveGVkLmhpZ2hsaWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMgewogIGNvbG9yOiAjZmZmOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItYm94ZWQuaGlnaGxpZ2h0IC5zaXRlLW5hdi1pbm5lciB7CiAgYmFja2dyb3VuZDogIzBmMjc2NTsKfQouaGVhZGVyLXN0YW5kYXJkLmhlYWRlci1ib3hlZC5oaWdobGlnaHQgLm5hdi1zZWFyY2ggewogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7Cn0KLmhlYWRlci1zdGFuZGFyZC5oZWFkZXItYm94ZWQuaGlnaGxpZ2h0IC5zZWFyY2gtYmxvY2sgLnNlYXJjaC1jbG9zZSB7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKfQouaGVhZGVyLXN0YW5kYXJkLmhlYWRlci1ib3hlZCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMgewogIGNvbG9yOiAjMjUyYTM3OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7Cn0KCi8qIEhlYWRlciA3ICovCi5oZWFkZXIubmF2LWRvd24ubmF2LWJveCB7CiAgaGVpZ2h0OiAxNDVweDsKfQouaGVhZGVyLm5hdi1kb3duLm5hdi1ib3ggLnNpdGUtbmF2LWlubmVyIC5jb250YWluZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouaGVhZGVyLm5hdi1kb3duLm5hdi1ib3ggLnNpdGUtbmF2LWlubmVyIC5zZWFyY2gtYmxvY2sgLnNlYXJjaC1jbG9zZSB7CiAgdG9wOiAtNjBweDsKICByaWdodDogMjBweDsKICBsaW5lLWhlaWdodDogMzBweDsKfQouaGVhZGVyLm5hdi1kb3duLm5hdi1ib3ggLnNpdGUtbmF2aWdhdGlvbiB7CiAgYmFja2dyb3VuZDogbm9uZTsKfQouaGVhZGVyLm5hdi1kb3duLm5hdi1ib3ggLnNpdGUtbmF2aWdhdGlvbi5uYXZkb3duLm5hdmJhciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQ6ICMwZjI3NjU7CiAgYm90dG9tOiAwOwogIHotaW5kZXg6IDk7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDAgMTVweDsKfQouaGVhZGVyLm5hdi1kb3duLm5hdi1ib3ggLm5hdi1zZWFyY2ggewogIHJpZ2h0OiAxNXB4OwogIHRvcDogMDsKICB6LWluZGV4OiA5OwogIHdpZHRoOiA3MHB4OwogIGhlaWdodDogNzBweDsKICBsaW5lLWhlaWdodDogNzBweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7Cn0KLmhlYWRlci5uYXYtZG93bi5uYXYtYm94ZWQtdHJhbnNwYXJlbnQgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQ6IG5vbmU7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIGxlZnQ6IDA7CiAgdG9wOiA0MHB4OwogIHotaW5kZXg6IDI7CiAgaGVpZ2h0OiBhdXRvOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMzUwbXM7CiAgdHJhbnNpdGlvbjogMzUwbXM7CiAgdHJhbnNpdGlvbjogMzUwbXM7Cn0KLmhlYWRlci5uYXYtZG93bi5uYXYtYm94ZWQtdHJhbnNwYXJlbnQgLnNpdGUtbmF2aWdhdGlvbi5uYXZkb3duIHsKICBiYWNrZ3JvdW5kOiBub25lOwp9Ci5oZWFkZXIubmF2LWRvd24ubmF2LWJveGVkLXRyYW5zcGFyZW50IC5zaXRlLW5hdmlnYXRpb24ubmF2ZG93biAucm93IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgYmFja2dyb3VuZDogIzBmMjc2NTsKICBib3R0b206IDA7CiAgei1pbmRleDogMTsKICBtYXJnaW46IDA7Cn0KLmhlYWRlci5uYXYtZG93bi5uYXYtYm94ZWQtdHJhbnNwYXJlbnQgcCwKLmhlYWRlci5uYXYtZG93bi5uYXYtYm94ZWQtdHJhbnNwYXJlbnQgaSB7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQouaGVhZGVyLmhlYWRlci1zb2xpZCB7CiAgYmFja2dyb3VuZDogIzBmMjc2NTsKICBjb2xvcjogI2ZmZjsKfQouaGVhZGVyLmhlYWRlci1zb2xpZCAudG9wLWluZm8gbGkgLmluZm8td3JhcHBlciBwLAouaGVhZGVyLmhlYWRlci1zb2xpZCAudG9wLWluZm8gLmluZm8taWNvbiB7CiAgY29sb3I6ICNmZmY7Cn0KLmhlYWRlci5oZWFkZXItc29saWQgLnRvcC1pbmZvIGxpIC5pbmZvLXdyYXBwZXI6YWZ0ZXIgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKfQouaGVhZGVyLmhlYWRlci1zb2xpZCAudG9wLWluZm8gbGkubGFzdCAuaW5mby13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kOiBub25lOwp9CgovKiBIZWFkZXIgOCAqLwovKiBMb2dvIGFyZWEgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAudG9wLWluZm8td3JyYXBlciB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQouc2l0ZS1uYXYtaW5uZXIubmF2aWdhdGlvbi1pbm5lciAuY29udGFpbmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNpdGUtbmF2LWlubmVyLm5hdmlnYXRpb24taW5uZXIgbmF2Lm5hdmJhci5zaXRlLW5hdmlnYXRpb24ubmF2ZG93biB7CiAgYmFja2dyb3VuZDogIzBmMjc2NTsKICBwYWRkaW5nOiAwIDE1cHg7Cn0KLnNpdGUtbmF2LWlubmVyLm5hdmlnYXRpb24taW5uZXIgLm5hdi1zZWFyY2ggewogIHRvcDogMDsKICByaWdodDogMTVweDsKICBsaW5lLWhlaWdodDogNzBweDsKICB3aWR0aDogNzBweDsKICBoZWlnaHQ6IDcwcHg7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpOwp9Ci5zaXRlLW5hdi1pbm5lci5uYXZpZ2F0aW9uLWlubmVyIC5zZWFyY2gtYmxvY2sgLnNlYXJjaC1jbG9zZSB7CiAgdG9wOiAtNjBweDsKICByaWdodDogMjBweDsKICBsaW5lLWhlaWdodDogMzBweDsKfQoKLyogSGVhZGVyIDkgKi8KLnNpdGUtbmF2aWdhdGlvbi5uYXZkb3duLm5hdi10cmFuc3BhcmVudCB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB6LWluZGV4OiAxOwp9CgovKi0tIEhlYWRlciBjb21tb24gLS0qLwouaGVhZGVyLXRyYW5zLWxlZnRib3gsCi5oZWFkZXItdHJhbnNwYXJlbnQgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzNTBtczsKICB0cmFuc2l0aW9uOiAzNTBtczsKfQoKLmhlYWRlciB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICB6LWluZGV4OiAyOwp9CgoubmF2YmFyLWZpeGVkIHsKICB6LWluZGV4OiA5OTk5OTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgb3BhY2l0eTogLjk4OwogIHdpZHRoOiAxMDAlOwogIHRvcDogMDsKICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluRG93biA4MDBtczsKICBhbmltYXRpb246IGZhZGVJbkRvd24gODAwbXM7CiAgYW5pbWF0aW9uOiBmYWRlSW5Eb3duIDgwMG1zOwp9CgovKi0tIExvZ28gLS0qLwouaGVhZGVyLXRyYW5zLWxlZnRib3ggLmxvZ28gewogIHBhZGRpbmctbGVmdDogMzBweDsKfQoKLmxvZ28gewogIGhlaWdodDogOTBweDsKICBkaXNwbGF5OiB0YWJsZTsKfQoubG9nbyBhIHsKICBkaXNwbGF5OiB0YWJsZS1jZWxsOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KCi5sb2dvLWFyZWEgewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICBkaXNwbGF5OiAtbW96LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTsKICAtbW96LWJveC1mbGV4OiAwOwogIC1tcy1mbGV4OiAwIDAgMTAwJTsKICBmbGV4OiAwIDAgMTAwJTsKICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAtbXMtZmxleC13cmFwOiB3cmFwOwogIGZsZXgtd3JhcDogd3JhcDsKfQoKLmhlYWRlci5uYXYtZG93biAubG9nbyB7CiAgaGVpZ2h0OiAxMTBweDsKfQoKLyogaGVhZGVyIHJpZ2h0ICovCi5oZWFkZXItcmlnaHQgewogIGZsb2F0OiByaWdodDsKfQoKLnRvcC1pbmZvIHsKICBsaXN0LXN0eWxlOiBub25lOwogIG1hcmdpbjogMzVweCAwIDA7CiAgcGFkZGluZzogMDsKICBmbG9hdDogcmlnaHQ7Cn0KLnRvcC1pbmZvIGxpIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLnRvcC1pbmZvIGxpOmxhc3QtY2hpbGQgewogIG1hcmdpbi1yaWdodDogMDsKICBwYWRkaW5nLXJpZ2h0OiAwOwogIGJvcmRlci1yaWdodDogMDsKfQoudG9wLWluZm8gLmluZm8taWNvbiB7CiAgZm9udC1zaXplOiAyMHB4OwogIGNvbG9yOiAjMjE1NGNmOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB0b3A6IC0xNXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7Cn0KLnRvcC1pbmZvIC5pbmZvLXdyYXBwZXIgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBtYXJnaW4tcmlnaHQ6IDMwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDEwcHg7Cn0KLnRvcC1pbmZvIC5pbmZvLXdyYXBwZXI6YWZ0ZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBjb250ZW50OiAnJzsKICBiYWNrZ3JvdW5kOiAjZGRkOwogIHJpZ2h0OiAtMTVweDsKICB3aWR0aDogMXB4OwogIGhlaWdodDogMzVweDsKICB0b3A6IDRweDsKfQoudG9wLWluZm8gbGkgLmluZm8td3JhcHBlciBwIHsKICBmb250LXNpemU6IDE2cHg7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgY29sb3I6ICMyNTJhMzc7Cn0KLnRvcC1pbmZvIGxpLmxhc3QgLmluZm8td3JhcHBlcjphZnRlciB7CiAgYmFja2dyb3VuZDogbm9uZTsKfQoudG9wLWluZm8gbGkgLmluZm8td3JhcHBlciBwLmluZm8tc3VidGl0bGUgewogIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgY29sb3I6ICM3YTdhN2E7CiAgbWFyZ2luLXRvcDogNXB4Owp9CgovKiBNYWluIG5hdmlnYXRpb24gKi8KLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLXN1Ym1lbnUgLm5hdi1saW5rIHsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KCi5uYXZiYXIgewogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm9yZGVyOiAwOwogIG1hcmdpbi1ib3R0b206IDA7CiAgcGFkZGluZzogMDsKCn0KCi5uYXZiYXItYnJhbmQgewogIHBhZGRpbmc6IDA7Cn0KCi5uYXZiYXItdG9nZ2xlIHsKICBmbG9hdDogcmlnaHQ7CiAgbWFyZ2luLXRvcDogMjBweDsKICBwYWRkaW5nOiAxMHB4OwogIGJvcmRlci1yYWRpdXM6IDNweDsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7CmMKfQoKLm5hdi1pdGVtOmhvdmVyID4gLmRyb3Bkb3duLW1lbnUsCi5kcm9wZG93bi1zdWJtZW51OmhvdmVyIC5kcm9wZG93bi1tZW51IHsKICBvcGFjaXR5OiAxOwogIHZpc2liaWxpdHk6IHZpc2libGU7Cn0KCi5uYXYtaXRlbS5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYSB7CiAgY29sb3I6ICNmYzZhMmE7Cn0KCi5uYXZiYXItbmF2ID4gLm5hdi1pdGVtOmhvdmVyID4gLm5hdi1saW5rIHsKICBjb2xvcjogI2ZjNmEyYTsKfQoKLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIHdpZHRoOiAyMHB4Owp9Ci5uYXZiYXItdG9nZ2xlIC5pLWJhciB7CiAgYmFja2dyb3VuZDogI2ZmZjsKfQoKdWwubmF2YmFyLW5hdiB7CiAgZmxvYXQ6IGxlZnQ7Cn0KdWwubmF2YmFyLW5hdiA+IGxpIHsKICBmbG9hdDogbm9uZTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDEwcHg7Cn0KdWwubmF2YmFyLW5hdiA+IGxpOmxhc3QtY2hpbGQgewogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KdWwubmF2YmFyLW5hdiA+IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KdWwubmF2YmFyLW5hdiA+IGxpID4gYSB7CiAgY29sb3I6ICNmZmY7CiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogNXB4IDE1cHg7CiAgbGluZS1oZWlnaHQ6IDgwcHg7CiAgZm9udC1zaXplOiAxNHB4OwogIG1hcmdpbjogMDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBmb250LXdlaWdodDogNzAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMzUwbXM7CiAgdHJhbnNpdGlvbjogMzUwbXM7CiAgdHJhbnNpdGlvbjogMzUwbXM7Cn0KdWwubmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYTpiZWZvcmUsIHVsLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUgPiBhOmJlZm9yZSB7CiAgYm9yZGVyLWNvbG9yOiAjMjE1NGNmOwogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDApOwp9CnVsLm5hdmJhci1uYXYgPiBsaSA+IGE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgb3BhY2l0eTogMDsKICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVaKDApOwogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjU1cyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAwLjQ1cyBlYXNlOwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC41NXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC40NXMgZWFzZTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40NXMgZWFzZSwgb3BhY2l0eSAwLjU1cyBlYXNlOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjQ1cyBlYXNlLCBvcGFjaXR5IDAuNTVzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuNDVzIGVhc2U7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDVzIGVhc2UsIG9wYWNpdHkgMC41NXMgZWFzZTsKfQp1bC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLCB1bC5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiBub25lOwp9CnVsLm5hdmJhci1uYXYgPiBsaSA+IGEgaSB7CiAgZm9udC13ZWlnaHQ6IDcwMDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgewogIHVsLm5hdmJhci1uYXYgPiBsaSA+IGEgaSB7CiAgICBwYWRkaW5nLWxlZnQ6IDVweDsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHsKICB1bC5uYXZiYXItbmF2IHsKICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7CiAgfQp9CgoubmF2IC5vcGVuID4gYSB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoubmF2IC5vcGVuID4gYTpob3ZlciwgLm5hdiAub3BlbiA+IGE6Zm9jdXMgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi8qIERyb3Bkb3duICovCi5kcm9wZG93bi1zdWJtZW51IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRyb3Bkb3duLXN1Ym1lbnUgPiAuZHJvcGRvd24tbWVudSB7CiAgdG9wOiAwOwogIGxlZnQ6IDEwMCU7CiAgbWFyZ2luLXRvcDogLTJweDsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5kcm9wZG93bi1zdWJtZW51ID4gYTphZnRlciB7CiAgZGlzcGxheTogYmxvY2s7CiAgY29udGVudDogIlxmMTA1IjsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgZmxvYXQ6IHJpZ2h0OwogIG1hcmdpbi10b3A6IDA7CiAgbWFyZ2luLXJpZ2h0OiAtNXB4Owp9Ci5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYTphZnRlciB7CiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7Cn0KLmRyb3Bkb3duLXN1Ym1lbnUucHVsbC1sZWZ0IHsKICBmbG9hdDogbm9uZTsKfQouZHJvcGRvd24tc3VibWVudS5wdWxsLWxlZnQgPiAuZHJvcGRvd24tbWVudSB7CiAgbGVmdDogLTEwMCU7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgYm9yZGVyLXJhZGl1czogNnB4IDAgNnB4IDZweDsKICBib3JkZXItcmFkaXVzOiA2cHggMCA2cHggNnB4Owp9CgouZHJvcGRvd24tbWVudSB7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBiYWNrZ3JvdW5kOiAjMWMxZTIyOwogIHotaW5kZXg6IDEwMDsKICBtaW4td2lkdGg6IDIyMHB4OwogIGJvcmRlci1yYWRpdXM6IDA7CiAgcGFkZGluZzogMDsKICBib3JkZXI6IDA7Cn0KLmRyb3Bkb3duLW1lbnUubWVudS1jZW50ZXIgewogIGxlZnQ6IC02NXB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLmRyb3Bkb3duLW1lbnUgewogICAgcGFkZGluZzogMjBweCAyNXB4OwogIH0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkxcHgpIHsKICAuZHJvcGRvd24tbWVudSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG9wYWNpdHk6IDA7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICBtYXJnaW4tdG9wOiAwcHg7CiAgfQp9Ci5kcm9wZG93bi1tZW51LWxhcmdlIHsKICBtaW4td2lkdGg6IDQwMHB4Owp9Ci5kcm9wZG93bi1tZW51LWxhcmdlID4gbGkgPiB1bCB7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDA7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQouZHJvcGRvd24tbWVudS1sYXJnZSA+IGxpID4gdWwgPiBsaSA+IGEgewogIHBhZGRpbmctbGVmdDogMDsKfQoKLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IGEgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KCi5kcm9wZG93bi1tZW51IGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMTVweDsKICBmb250LXdlaWdodDogNTAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHBhZGRpbmc6IDEzcHggMDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzM4MzkzZDsKICBjb2xvcjogI2ZmZjsKfQouZHJvcGRvd24tbWVudSBsaTpsYXN0LWNoaWxkID4gYSB7CiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50Owp9Ci5kcm9wZG93bi1tZW51IGxpLmFjdGl2ZSBhIHsKICBjb2xvcjogI2ZjNmEyYTsKfQoKLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayB7CiAgY29sb3I6ICNmZmY7Cn0KLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3cgewogIGNvbG9yOiAjZmZmOwp9Ci5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rIHsKICBjb2xvcjogI2ZmZjsKfQoubmF2YmFyLW5hdiAubmF2LWxpbmsgewogIGNvbG9yOiAjZmZmOwp9Ci5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKfQoKLm5hdmJhci10b2dnbGVyLWljb24gewogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CiAgY29sb3I6ICNmZmY7CiAgd2lkdGg6IDM5cHg7CiAgaGVpZ2h0OiAzNXB4OwogIHBhZGRpbmctdG9wOiAxcHg7CiAgZm9udC1zaXplOiA0MHB4OwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgbGluZS1oZWlnaHQ6IDM1cHg7CiAgbWFyZ2luOiAxMnB4IDA7Cn0KLm5hdmJhci10b2dnbGVyLWljb246Zm9jdXMgewogIG91dGxpbmU6IDAgc29saWQ7Cn0KCi5kcm9wZG93bi1tZW51IGxpIGEgewogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7Cn0KLmRyb3Bkb3duLW1lbnUgbGkgYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgbGkgYTpmb2N1cyB7CiAgY29sb3I6ICNmYzZhMmE7CiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50Owp9CgpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKICB1bC5uYXYgbGkuZHJvcGRvd246aG92ZXIgdWwuZHJvcGRvd24tbWVudSB7CiAgICBkaXNwbGF5OiBibG9jazsKICB9Cn0KQG1lZGlhIChtaW4td2lkdGg6IDc2N3B4KSB7CiAgdWwubmF2IGxpLmRyb3Bkb3duIHVsLmRyb3Bkb3duLW1lbnUgbGkuZHJvcGRvd24tc3VibWVudSAuZHJvcGRvd24tbWVudSB7CiAgICBsZWZ0OiAxMDAlOwogICAgdG9wOiAwOwogICAgZGlzcGxheTogbm9uZTsKICB9CiAgdWwubmF2IGxpLmRyb3Bkb3duIHVsLmRyb3Bkb3duLW1lbnUgbGkuZHJvcGRvd24tc3VibWVudTpob3ZlciAuZHJvcGRvd24tbWVudSB7CiAgICBkaXNwbGF5OiBibG9jazsKICB9Cn0KLyotLSBOYXYgU2VhcmNoIHN0YXJ0IC0tKi8KLnNpdGUtbmF2aWdhdGlvbiAuY29udGFpbmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5zZWFyY2gtYXJlYSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1pbi1oZWlnaHQ6IDcwcHg7CiAgcGFkZGluZy1yaWdodDogMDsKfQoKLm5hdi1zZWFyY2ggewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgdG9wOiAzMnB4OwogIHJpZ2h0OiAwOwogIGNvbG9yOiAjZmZmOwogIHdpZHRoOiAzMHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLnNlYXJjaC1ibG9jayB7CiAgYmFja2dyb3VuZDogIzFmMWYxZjsKICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICBkaXNwbGF5OiBub25lOwogIHBhZGRpbmc6IDE1cHggMjBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDE1cHg7CiAgdG9wOiAxMDAlOwogIHdpZHRoOiAzNTBweDsKICB6LWluZGV4OiAxMDsKICBtYXJnaW4tdG9wOiAwOwp9Ci5zZWFyY2gtYmxvY2sgLmZvcm0tY29udHJvbCB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IDA7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMyk7CiAgY29sb3I6ICNmZmY7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiA0MHB4OwogIHBhZGRpbmc6IDAgMTJweDsKICBmb250LXNpemU6IDE1cHg7CiAgZm9udC1zdHlsZTogaXRhbGljOwp9Ci5zZWFyY2gtYmxvY2sgLnNlYXJjaC1jbG9zZSB7CiAgY29sb3I6ICNmZmY7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTYycHg7CiAgcmlnaHQ6IC0xNHB4OwogIGZvbnQtc2l6ZTogMzJweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgcGFkZGluZzogNXB4OwogIHdpZHRoOiAzMHB4OwogIGhlaWdodDogMzBweDsKICBsaW5lLWhlaWdodDogMTRweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5zZWFyY2gtYXJlYSAubmF2LXNlYXJjaCB7CiAgdG9wOiAyM3B4Owp9Ci5zZWFyY2gtYXJlYSAuc2VhcmNoLWJsb2NrIHsKICByaWdodDogMDsKfQouc2VhcmNoLWFyZWEgLnNlYXJjaC1ibG9jayAuc2VhcmNoLWNsb3NlIHsKICB0b3A6IC01MHB4Owp9CgovKiBHZXQgYSBxdW90ZSAqLwouaGVhZGVyLWdldC1hLXF1b3RlIC5idG4tcHJpbWFyeSB7CiAgcGFkZGluZzogMTNweCAyNXB4OwogIGJvcmRlci1yYWRpdXM6IDNweDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIGNvbG9yOiAjZmZmOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6IC0xMnB4Owp9Ci5oZWFkZXItZ2V0LWEtcXVvdGUgLmJ0bi1wcmltYXJ5OmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjMjcyZDMzOwp9CgpAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsKICAudG9wLWluZm8gbGkuaGVhZGVyLWdldC1hLXF1b3RlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9CnVsLm5hdmJhci1uYXYgPiBsaS5oZWFkZXItZ2V0LWEtcXVvdGU6aG92ZXIgPiBhOmFmdGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgY29udGVudDogbm8tY2xvc2UtcXVvdGU7Cn0KCi8qIFNsaWRlcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwovKi0tIE1haW4gc2xpZGUgLS0qLwojbWFpbi1zbGlkZSAuY2Fyb3VzZWwtaXRlbSB7CiAgbWluLWhlaWdodDogOTAwcHg7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47Cn0KI21haW4tc2xpZGUgLmNhcm91c2VsLWl0ZW0gaW1nIHsKICB3aWR0aDogMTAwJTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47Cn0KI21haW4tc2xpZGUgLmNhcm91c2VsLWl0ZW0gLnNsaWRlci1jb250ZW50IHsKICB6LWluZGV4OiAxOwogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zOwogIHRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXM7Cn0KI21haW4tc2xpZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIC5zbGlkZXItY29udGVudCB7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXM7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtczsKfQojbWFpbi1zbGlkZSAuc2xpZGVyLWNvbnRlbnQgewogIHBhZGRpbmc6IDUwcHggMCAwIDA7CiAgd2lkdGg6IDEwMCU7CiAgY29sb3I6ICNmZmY7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogIGRpc3BsYXk6IC1tb3otYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAtbW96LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogIC1tb3otYm94LXBhY2s6IGNlbnRlcjsKICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjsKICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7CiAgYWxpZ24tY29udGVudDogY2VudGVyOwogIG1pbi1oZWlnaHQ6IDkwMHB4Owp9Cgouc2xpZGUtdGl0bGUgewogIGZvbnQtc2l6ZTogMzZweDsKICBsaW5lLWhlaWdodDogNDhweDsKICBmb250LXdlaWdodDogMTAwOwogIGNvbG9yOiAjZmZmOwogIG1hcmdpbjogMDsKfQoKLnNsaWRlLXN1Yi10aXRsZSB7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtc2l6ZTogOTRweDsKICBsaW5lLWhlaWdodDogMTAwcHg7CiAgbWFyZ2luOiAxMHB4IDAgMjBweDsKICBjb2xvcjogI2ZmZjsKfQoKLnNsaWRlci10ZXh0IHsKICBkaXNwbGF5OiB0YWJsZTsKICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOwogIGNvbG9yOiAjZmZmOwogIHBhZGRpbmctbGVmdDogNDAlOwogIHdpZHRoOiAxMDAlOwogIHBhZGRpbmctYm90dG9tOiAwOwogIHBhZGRpbmctdG9wOiAyMHB4Owp9Ci5zbGlkZXItdGV4dCAuc2xpZGUtaGVhZCB7CiAgZm9udC1zaXplOiAzNnB4OwogIGNvbG9yOiAjMDA1MmE1OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLnNsaWRlci1pbWcgewogIGRpc3BsYXk6IGJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC04MHB4OwogIGxlZnQ6IDIwJTsKICB3aWR0aDogMzE0cHg7CiAgbWF4LWhlaWdodDogMTAwJTsKfQouc2xpZGVyLWltZyBpbWcgewogIGRpc3BsYXk6IGJsb2NrOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXgtaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiBhdXRvOwp9Cgouc2xpZGVyLmJ0biB7CiAgbWFyZ2luOiAxNXB4IDVweCAwOwogIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5zbGlkZXIuYnRuLmJ0bi1ib3JkZXIgewogIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7CiAgY29sb3I6ICNmZmY7Cn0KLnNsaWRlci5idG4uYnRuLWJvcmRlcjpob3ZlciB7CiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgY29sb3I6ICNmZmY7Cn0KCi5zbGlkZXItZGVzY3JpcHRpb24gewogIGNvbG9yOiAjZmZmOwogIGZvbnQtc2l6ZTogMjBweDsKICBsaW5lLWhlaWdodDogMzRweDsKICBtYXJnaW46IDIwcHggMCAyMHB4Owp9CgovKiBDYXJvdXNlbCBjb250cm9sICovCi5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHsKICB3aWR0aDogMTBweCAhaW1wb3J0YW50OwogIGhlaWdodDogMTBweCAhaW1wb3J0YW50OwogIG1hcmdpbjogMXB4ICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogMTAwJSAhaW1wb3J0YW50OwogIGJvcmRlcjogMCAhaW1wb3J0YW50OwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsKfQoKI21haW4tc2xpZGUgLmNhcm91c2VsLWluZGljYXRvcnMgbGkuYWN0aXZlLCAjbWFpbi1zbGlkZSAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTpob3ZlciB7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwp9CiNtYWluLXNsaWRlIC5jYXJvdXNlbC1jb250cm9sLmxlZnQsICNtYWluLXNsaWRlIC5jYXJvdXNlbC1jb250cm9sLnJpZ2h0IHsKICBvcGFjaXR5OiAwOwogIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgdGV4dC1zaGFkb3c6IG5vbmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAuMjVzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZTsKfQojbWFpbi1zbGlkZSAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7CiAgb3BhY2l0eTogMDsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIHRleHQtc2hhZG93OiBub25lOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAuMjVzIGVhc2U7Cn0KI21haW4tc2xpZGU6aG92ZXIgLmNhcm91c2VsLWNvbnRyb2wubGVmdCwgI21haW4tc2xpZGU6aG92ZXIgLmNhcm91c2VsLWNvbnRyb2wucmlnaHQgewogIG9wYWNpdHk6IDE7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7Cn0KI21haW4tc2xpZGU6aG92ZXIgLmNhcm91c2VsLWluZGljYXRvcnMgewogIG9wYWNpdHk6IDE7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7Cn0KI21haW4tc2xpZGUgLmNhcm91c2VsLWNvbnRyb2wgLmZhLWFuZ2xlLWxlZnQsCiNtYWluLXNsaWRlIC5jYXJvdXNlbC1jb250cm9sIC5mYS1hbmdsZS1yaWdodCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIHotaW5kZXg6IDU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7Cn0KI21haW4tc2xpZGUgLmNhcm91c2VsLWNvbnRyb2wgLmZhLWFuZ2xlLWxlZnQgewogIGxlZnQ6IDIwcHg7Cn0KI21haW4tc2xpZGUgLmNhcm91c2VsLWNvbnRyb2wgLmZhLWFuZ2xlLXJpZ2h0IHsKICByaWdodDogMjBweDsKfQojbWFpbi1zbGlkZSAuY2Fyb3VzZWwtY29udHJvbCBpIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgY29sb3I6ICNmZmY7CiAgbGluZS1oZWlnaHQ6IDU4cHg7CiAgd2lkdGg6IDYwcHg7CiAgaGVpZ2h0OiA2MHB4OwogIGZvbnQtc2l6ZTogMzZweDsKICBib3JkZXItcmFkaXVzOiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7Cn0KI21haW4tc2xpZGUgLmNhcm91c2VsLWNvbnRyb2wgaTpob3ZlciB7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKICBjb2xvcjogI2ZmZjsKfQojbWFpbi1zbGlkZSAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7CiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9CgovKi0tIEFuaW1hdGlvbiAqLwouY2Fyb3VzZWwtaW5uZXIgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGgyLAouY2Fyb3VzZWwtaW5uZXIgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGgzLAouY2Fyb3VzZWwtaW5uZXIgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHAgewogIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlSW5MZWZ0IDEuNXMgZWFzZS1pbi1vdXQgMzAwbXMgYm90aDsKICBhbmltYXRpb246IGZhZGVJbkxlZnQgMS41cyBlYXNlLWluLW91dCAzMDBtcyBib3RoOwp9CgovKi0tIE93bCBzbGlkZSBjb21tb24gLS0qLwoub3dsLWNhcm91c2VsLnBhZ2Utc2xpZGVyIC5vd2wtbmF2IHsKICBtYXJnaW46IDA7Cn0KLm93bC1jYXJvdXNlbCAub3dsLW5hdiB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5vd2wtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV0gewogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMDsKICByaWdodDogMDsKICB3aWR0aDogNDBweDsKICBoZWlnaHQ6IDQwcHg7CiAgbGluZS1oZWlnaHQ6IDM0cHg7CiAgZm9udC1zaXplOiAyMHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW46IDA7CiAgYm9yZGVyLXJhZGl1czogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwp9Ci5vd2wtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLXByZXZdIHsKICByaWdodDogNDBweDsKfQoub3dsLWNhcm91c2VsLm93bC10aGVtZSAub3dsLW5hdiA+IGRpdjpob3ZlciB7CiAgYmFja2dyb3VuZDogIzI3MmQzMzsKfQoub3dsLWNhcm91c2VsLm93bC10aGVtZS5vd2wtZGFyayAub3dsLW5hdiAuZGlzYWJsZWQgewogIGJhY2tncm91bmQ6ICM5MGE5ZTc7CiAgY29sb3I6ICNmZmY7CiAgb3BhY2l0eTogMTsKfQoKLyogRGFyayBiZyAqLwoub3dsLXRoZW1lIC5vd2wtZG90cyB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIG1hcmdpbi10b3A6IDQwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDE7Cn0KLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHsKICB3aWR0aDogMzBweDsKICBoZWlnaHQ6IDRweDsKICBtYXJnaW46IDVweCA0cHg7CiAgYmFja2dyb3VuZDogIzAwMDsKICBvcGFjaXR5OiAuMjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4gewogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgb3BhY2l0eTogMTsKfQoKLyogT3dsIFBhZ2Ugc2xpZGVyICovCi5wYWdlLXNsaWRlci5vd2wtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV0gewogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICBjb2xvcjogI2ZmZjsKICBoZWlnaHQ6IDEwMHB4OwogIGxpbmUtaGVpZ2h0OiAxMDBweDsKICBib3JkZXItcmFkaXVzOiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7CiAgbWFyZ2luLXRvcDogLTI1cHg7Cn0KLnBhZ2Utc2xpZGVyLm93bC1jYXJvdXNlbC5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj1vd2wtXTpob3ZlciB7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKfQoucGFnZS1zbGlkZXIub3dsLXRoZW1lIC5vd2wtbmF2IGRpdiB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDUwJTsKICB3aWR0aDogMzZweDsKICBoZWlnaHQ6IDcycHg7CiAgbGluZS1oZWlnaHQ6IDcycHg7CiAgZm9udC1zaXplOiAyNnB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW46IDA7CiAgYm9yZGVyLXJhZGl1czogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7Cn0KLnBhZ2Utc2xpZGVyLm93bC10aGVtZSAub3dsLW5hdiBkaXY6aG92ZXIgewogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgY29sb3I6ICNmZmY7Cn0KLnBhZ2Utc2xpZGVyLm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1wcmV2XSB7CiAgcmlnaHQ6IGF1dG87CiAgbGVmdDogMDsKfQoucGFnZS1zbGlkZXIgLml0ZW0gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAyOwogIG1pbi1oZWlnaHQ6IDcwMHB4OwogIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKfQoucGFnZS1zbGlkZXIucGFnZS1zbGlkZXItc21hbGwgLml0ZW0gewogIG1heC1oZWlnaHQ6IDUwMHB4OwogIG1pbi1oZWlnaHQ6IGF1dG87Cn0KLnBhZ2Utc2xpZGVyIC5vd2wtaXRlbSAuYm94LXNsaWRlci1jb250ZW50IHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxLjVzOwogIHRyYW5zaXRpb246IG9wYWNpdHkgMS41czsKfQoucGFnZS1zbGlkZXIgLm93bC1pdGVtLmFjdGl2ZSAuYm94LXNsaWRlci1jb250ZW50IHsKICBvcGFjaXR5OiAxOwogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuOHM7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuOHM7Cn0KLnBhZ2Utc2xpZGVyIC5vd2wtaXRlbS5hY3RpdmUgLmJveC1zbGlkZXItdGV4dCB7CiAgLXdlYmtpdC1hbmltYXRpb246IHNsaWRlSW5SaWdodCAuOHMgZWFzZS1vdXQgMXMgYm90aDsKICBhbmltYXRpb246IHNsaWRlSW5SaWdodCAuOHMgZWFzZS1vdXQgMXMgYm90aDsKfQoKLnBhZ2Utc2xpZGVyLWNhcHRpb24gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3R0b206IDA7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogNXB4IDIwcHg7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwp9Ci5wYWdlLXNsaWRlci1jYXB0aW9uIGgzIHsKICBmb250LXNpemU6IDIwcHg7Cn0KLnBhZ2Utc2xpZGVyLWNhcHRpb24gc3BhbiB7CiAgZm9udC13ZWlnaHQ6IDQwMDsKfQoKLyogT3dsIEJveCBzbGlkZXIgKi8KLmJveC1zbGlkZXItY29udGVudCB7CiAgdG9wOiA1MCU7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDYwMHB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7Cn0KCi5ib3gtc2xpZGVyLXRleHQgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGNvbG9yOiAjZmZmOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwYWRkaW5nOiAyMHB4IDMwcHg7CiAgbWF4LXdpZHRoOiA2NTBweDsKfQoKLmJveC1zbGlkZXItdGV4dCAuc2xpZGVyLmJ0biB7CiAgcGFkZGluZzogMTJweCA0MHB4Owp9Ci5ib3gtc2xpZGVyLXRleHQgLnNsaWRlci5idG4uYnRuLWJvcmRlciB7CiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjsKICBjb2xvcjogI2ZmZjsKfQouYm94LXNsaWRlci10ZXh0IC5zbGlkZXIuYnRuLmJ0bi1ib3JkZXI6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi5ib3gtc2xpZGUtdGl0bGUgewogIGZvbnQtc2l6ZTogMjRweDsKICBmb250LXdlaWdodDogNDAwOwogIG1hcmdpbjogMDsKICBjb2xvcjogI2ZmZjsKfQoKLmJveC1zbGlkZS1zdWItdGl0bGUgewogIGZvbnQtc2l6ZTogNTZweDsKICBmb250LXdlaWdodDogODAwOwogIG1hcmdpbjogOHB4IDAgMTBweDsKICBjb2xvcjogI2ZmZjsKfQoKLmJveC1zbGlkZS5vd2wtdGhlbWUgLm93bC1jb250cm9scyB7CiAgbWFyZ2luOiAtMjBweDsKfQoKLyotLSBTbGlkZXIgcGFnZXMgLS0qLwojbWFpbi1zbGlkZS5zbGlkZXItcGFnZXMgLml0ZW0gewogIG1pbi1oZWlnaHQ6IDM0MHB4OwogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKfQoKLyogRmVhdHVyZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLnRzLWZlYXR1cmVzIFtjbGFzcyo9Y29sXSB7CiAgcGFkZGluZzogMDsKfQoKLmZlYXR1cmUtYm94MSwKLmZlYXR1cmUtYm94MiwKLmZlYXR1cmUtYm94MyB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwp9CgoudHMtZmVhdHVyZXMtY29sIHsKICBwYWRkaW5nLXRvcDogMDsKfQoudHMtZmVhdHVyZXMtY29sIC5mZWF0dXJlLWJveDEsCi50cy1mZWF0dXJlcy1jb2wgLmZlYXR1cmUtYm94MiwKLnRzLWZlYXR1cmVzLWNvbCAuZmVhdHVyZS1ib3gzIHsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci50cy1mZWF0dXJlcy1jb2wgLmZlYXR1cmUtYm94MTphZnRlciwKLnRzLWZlYXR1cmVzLWNvbCAuZmVhdHVyZS1ib3gyOmFmdGVyLAoudHMtZmVhdHVyZXMtY29sIC5mZWF0dXJlLWJveDM6YWZ0ZXIgewogIGJhY2tncm91bmQ6ICMyMjIyMjI7Cn0KLnRzLWZlYXR1cmVzLWNvbCAuZmVhdHVyZS1ib3gxOmFmdGVyIHsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwp9Ci50cy1mZWF0dXJlcy1jb2wgLmZlYXR1cmUtYm94MjphZnRlciB7CiAgYmFja2dyb3VuZDogIzBmMjc2NTsKfQoKLmZlYXR1cmUtYm94MTphZnRlciwKLmZlYXR1cmUtYm94MjphZnRlciwKLmZlYXR1cmUtYm94MzphZnRlciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICcnOwogIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM0LCAzNCwgMC44NSk7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIHRvcDogMDsKfQoKLnRzLWZlYXR1cmUgLnRzLWZlYXR1cmUtaW5mbyB7CiAgY29sb3I6ICNmZmY7CiAgei1pbmRleDogMTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZzogNTBweDsKICBiYWNrZ3JvdW5kOiMxN2EyYjg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUwMHB4KSB7CiAgLnRzLWZlYXR1cmUgLnRzLWZlYXR1cmUtaW5mbyB7CiAgICBwYWRkaW5nOiA5MHB4IDUwcHg7CiAgICBoZWlnaHQ6IDQyMHB4OwogIH0KfQoKLnRzLWZlYXR1cmUtdGl0bGUgewogIGZvbnQtc2l6ZTogMjhweDsKICBtYXJnaW46IDMwcHggMCAyMHB4OwogIGNvbG9yOiAjZmZmOwp9CgoudHMtZmVhdHVyZS1pbmZvIGkgewogIGZvbnQtc2l6ZTogNjBweDsKfQoKLmZlYXR1cmUtYm94MTphZnRlciB7CiAgYmFja2dyb3VuZDogcmdiYSgzMywgODQsIDIwNywgMC44NSk7Cn0KCi5mZWF0dXJlLWJveDI6YWZ0ZXIgewogIGJhY2tncm91bmQ6IHJnYmEoMTUsIDM5LCAxMDEsIDAuODUpOwp9CgovKiBGZWF0dXJlIEljb24gTGVmdCAqLwoudHMtZmVhdHVyZS1pbmZvLmljb24tbGVmdCAuZmVhdHVyZS1pY29uIHsKICBmbG9hdDogbGVmdDsKICBjb2xvcjogIzIxNTRjZjsKfQoudHMtZmVhdHVyZS1pbmZvLmljb24tbGVmdCAuZmVhdHVyZS1pY29uIGkgewogIGZvbnQtc2l6ZTogNTBweDsKfQoKLnRzLWZlYXR1cmUtaW5mby5pY29uLWxlZnQgLmZlYXR1cmUtY29udGVudCB7CiAgbWFyZ2luLWxlZnQ6IDgwcHg7Cn0KLnRzLWZlYXR1cmUtaW5mby5pY29uLWxlZnQgLmZlYXR1cmUtY29udGVudCBoMyB7CiAgY29sb3I6ICMyNTJhMzc7Cn0KLnRzLWZlYXR1cmUtaW5mby5pY29uLWxlZnQgLmZlYXR1cmUtY29udGVudCBwIHsKICBjb2xvcjogIzYyNmM4NDsKfQoKLnRzLWZlYXR1cmUtaW5mby5pY29uLWxlZnQgLnRzLWZlYXR1cmUtdGl0bGUgewogIGZvbnQtc2l6ZTogMjJweDsKICBtYXJnaW46IDAgMCA1cHggMDsKfQoKLyogU2VydmljZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLm5vLXBhZGRpbmcgLnRzLXNlcnZpY2UtcGF0dGVybiB7CiAgcGFkZGluZzogMTAwcHggMDsKfQoKLnRzLXNlcnZpY2UtcGF0dGVybiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7Cn0KLnRzLXNlcnZpY2UtcGF0dGVybjpiZWZvcmUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICBjb250ZW50OiAiIjsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvcGF0dGVybi9wYXR0ZXJuX2Fycm93LnBuZyIpIG5vLXJlcGVhdCB0b3AgbGVmdDsKfQoudHMtc2VydmljZS1wYXR0ZXJuOmFmdGVyIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlcy9wYXR0ZXJuL3BhdHRlcm5fYm94LnBuZyIpIG5vLXJlcGVhdCBib3R0b20gcmlnaHQ7CiAgY29udGVudDogIiI7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKICAudHMtc2VydmljZS1wYXR0ZXJuOmJlZm9yZSwgLnRzLXNlcnZpY2UtcGF0dGVybjphZnRlciB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQoKLnRzLXNlcnZpY2UtY29udGVudCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci50cy1zZXJ2aWNlLWNvbnRlbnQgcCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoudHMtc2VydmljZS1jb250ZW50IHAgLmxpbmstbW9yZSB7CiAgbWFyZ2luLXRvcDogMTBweDsKICBkaXNwbGF5OiBibG9jazsKfQoKLnRzLXNlcnZpY2UtaWNvbiBpIHsKICBmb250LXNpemU6IDcwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIGNvbG9yOiAjZjJmMmYyOwogIHotaW5kZXg6IC0xOwp9Cgouc2VydmljZS10aXRsZSB7CiAgbWFyZ2luLXRvcDogMjVweDsKfQoKLyogU2VydmljZSBTaW5nbGUgKi8KLnNpZGViYXIgLmRvd25sb2FkLWJ0biB7CiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTsKICBwYWRkaW5nOiAyMHB4IDMwcHg7CiAgZm9udC1zaXplOiAyMnB4OwogIG1hcmdpbjogMDsKfQoKLmhvdy10by1hcHBseSBoMyB7CiAgZm9udC1zaXplOiAyNHB4OwogIGNvbG9yOiAjZmZmOwp9Ci5ob3ctdG8tYXBwbHkgcCB7CiAgY29sb3I6ICNmZmY7Cn0KCi53aWRnZXQuYm94LXByaW1hcnkgewogIHBhZGRpbmc6IDMwcHg7Cn0KCi5ib3gtcHJpbWFyeSAuYnRuIHsKICBmb250LXNpemU6IDE2cHg7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQoKLnNlcnZpY2UtbWVudSB7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQouc2VydmljZS1tZW51IGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIGJhY2tncm91bmQ6ICNmN2Y5ZmQ7CiAgcGFkZGluZzogMTVweCAyMHB4OwogIG1hcmdpbi1ib3R0b206IDhweDsKICBjb2xvcjogIzYyNmM4NDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKfQouc2VydmljZS1tZW51IGxpIGE6aG92ZXIgewogIGJhY2tncm91bmQ6ICMyMTU0Q0Y7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQouc2VydmljZS1tZW51IGxpIGE6YmVmb3JlIHsKICBjb250ZW50OiAiXGYxMDUiOwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICBwYWRkaW5nLXJpZ2h0OiAxMHB4OwogIGZvbnQtd2VpZ2h0OiBub3JtYWw7Cn0KLnNlcnZpY2UtbWVudSBsaTpsYXN0LWNoaWxkIGEgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KCi50ZXN0aW1vbmlhbC1zdGF0aWMgLnF1b3RlLWl0ZW0gewogIHBhZGRpbmc6IDA7Cn0KLnRlc3RpbW9uaWFsLXN0YXRpYyAucXVvdGUtaXRlbSAucXVvdGUtdGV4dDphZnRlciB7CiAgZGlzcGxheTogbm9uZTsKfQoudGVzdGltb25pYWwtc3RhdGljIC5xdW90ZS1pdGVtIC5xdW90ZS10ZXh0OmJlZm9yZSB7CiAgbGVmdDogNTAlOwogIG1hcmdpbi1sZWZ0OiAtMzBweDsKfQoudGVzdGltb25pYWwtc3RhdGljIC5xdW90ZS1pdGVtIC5xdW90ZS1zdWJ0ZXh0IHsKICBjb2xvcjogIzYyNkM4NDsKfQoudGVzdGltb25pYWwtc3RhdGljIC5xdW90ZS1pdGVtLWZvb3RlciB7CiAgbWFyZ2luLXRvcDogMDsKICBwYWRkaW5nLWJvdHRvbTogNDBweDsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgZGlzcGxheTogLW1vei1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtbW96LWJveC1hbGlnbjogY2VudGVyOwogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAtbW96LWJveC1wYWNrOiBjZW50ZXI7CiAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci50ZXN0aW1vbmlhbC1zdGF0aWMgLnF1b3RlLWNsYXNzaWMgLnF1b3RlLXRleHQgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLnRzLWxpc3QgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KLnRzLWxpc3QgbGkgewogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctbGVmdDogMjVweDsKfQoudHMtbGlzdCBsaSBhIHsKICBkaXNwbGF5OiBibG9jazsKfQoudHMtbGlzdCBsaTpsYXN0LWNoaWxkIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9Ci50cy1saXN0IGxpOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6IGZvbnRBd2Vzb21lOwogIGNvbnRlbnQ6ICJcZjBjOCI7CiAgZm9udC1zaXplOiA4cHg7CiAgY29sb3I6ICMyNTJhMzc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBsZWZ0OiAwOwp9CgoudGV4dC1ibG9jayBibG9ja3F1b3RlLmxpZ2h0IHsKICBiYWNrZ3JvdW5kOiAjZjdmOWZkOwogIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzIxNTRjZjsKICBjb2xvcjogIzYyNmM4NDsKICBwYWRkaW5nOiAzNXB4Owp9Ci50ZXh0LWJsb2NrIGJsb2NrcXVvdGUubGlnaHQgcCB7CiAgZm9udC1zaXplOiAxNnB4OwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogbm9ybWFsOwp9Ci50ZXh0LWJsb2NrIGJsb2NrcXVvdGU6YmVmb3JlIHsKICBkaXNwbGF5OiBub25lOwp9CgovKiBGYWN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwovKiBTa2lsbHMgaW1hZ2UqLwouc2tpbGxzLWltYWdlIHsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUwMHB4KSB7CiAgLnNraWxscy1pbWFnZSB7CiAgICBtaW4taGVpZ2h0OiA1NjVweDsKICB9Cn0KLnNraWxscy1pbWFnZSBpbWcgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogMTAwJTsKfQoKLyogSW50cm8gdmlkZW8gKi8KLmludHJvLXZpZGVvIHsKICBoZWlnaHQ6IDU3OHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkgewogIC5pbnRyby12aWRlbyB7CiAgICBtaW4taGVpZ2h0OiA1ODVweDsKICB9Cn0KLmludHJvLXZpZGVvOmFmdGVyIHsKICBjb250ZW50OiAnJzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIG9wYWNpdHk6IDA7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM1KTsKfQouaW50cm8tdmlkZW86aG92ZXI6YWZ0ZXIgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgLmludHJvLXZpZGVvIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM2NnB4KSB7CiAgLmludHJvLXZpZGVvIGltZyB7CiAgICBoZWlnaHQ6IDEwMCU7CiAgfQp9CgoudHMtZmFjdHMtYXJlYSBbY2xhc3MqPWNvbF0gewogIHBhZGRpbmc6IDA7Cn0KLnRzLWZhY3RzLWFyZWEgLnRzLXBhZGRpbmcgewogIHBhZGRpbmc6IDcwcHggMTQwcHggNDBweCA1MHB4Owp9Ci50cy1mYWN0cy1hcmVhIC5jb2x1bW4tdGl0bGUgewogIGZvbnQtc2l6ZTogMzZweDsKICBsaW5lLWhlaWdodDogNDBweDsKICBtYXJnaW4tYm90dG9tOiAxMHB4Owp9CgoudHMtZmFjdHMgaSB7CiAgZm9udC1zaXplOiA0OHB4OwogIGNvbG9yOiAjYTRhN2FmOwp9CgoudHMtZmFjdHMtbnVtIHsKICBmb250LXNpemU6IDMwcHg7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBjb2xvcjogIzI1MmEzNzsKICBtYXJnaW4tdG9wOiAxNXB4OwogIG1hcmdpbi1ib3R0b206IDA7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9CgouZmFjdHMgaDQgewogIGZvbnQtc2l6ZTogMThweDsKICBtYXJnaW4tdG9wOiA4cHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogRmFjdHMgYmcgYXJlYSAqLwoudHMtZmFjdHMtYXJlYS1iZyB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWFnZXMvcGFyYWxsYXgvcGFyYWxsYXgxLmpwZyIpOwogIHBhZGRpbmc6IDYwcHggMDsKICBjb2xvcjogI2ZmZmZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMDAwOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOwogIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7Cn0KCi50cy1mYWN0cy1iZyBpIHsKICBmb250LXNpemU6IDQ4cHg7CiAgY29sb3I6ICNmZmY7Cn0KLnRzLWZhY3RzLWJnIC50cy1mYWN0cy1udW0gewogIGNvbG9yOiAjZmZmOwp9CgovKiBJbnRybyBBcmVhIAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoudHMtaW50cm8gewogIHBhZGRpbmctYm90dG9tOiA4MHB4Owp9Ci50cy1pbnRybyAuYnRuLXByaW1hcnkgewogIG1hcmdpbi10b3A6IDE1cHg7Cn0KLnRzLWludHJvIC5jb2x1bW4tdGl0bGUgewogIGZvbnQtc2l6ZTogMzZweDsKICBsaW5lLWhlaWdodDogNDRweDsKfQoudHMtaW50cm8gLnB1bGwtcmlnaHQuYnRuLXByaW1hcnkgewogIG1hcmdpbi1yaWdodDogMjBweDsKfQoKLyogSW50cm8gSW1hZ2UgQm94ICovCi5pbnRyby1pbWFnZS1ib3ggewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW46IDIwcHg7Cn0KCi5pbnRyby1pbWFnZS1jb250ZW50IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAyMHB4OwogIHJpZ2h0OiAyMHB4OwogIGJvdHRvbTogMjBweDsKICBsZWZ0OiAyMHB4OwogIHBhZGRpbmc6IDMwcHg7CiAgei1pbmRleDogMTsKICB3aWR0aDogMzQ1cHg7CiAgaGVpZ2h0OiA0NjBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwogIC13ZWJraXQtYm94LXNoYWRvdzogMCAyMHB4IDI1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMzUpOwogIGJveC1zaGFkb3c6IDAgMjBweCAyNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjM1KTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwp9Ci5pbnRyby1pbWFnZS1jb250ZW50IGgzIHsKICBmb250LXNpemU6IDE4MHB4OwogIGxpbmUtaGVpZ2h0OiAxMDAlOwogIG1hcmdpbjogNTBweCAwIDA7Cn0KLmludHJvLWltYWdlLWNvbnRlbnQgcCB7CiAgZm9udC1zaXplOiAyNHB4OwogIGxpbmUtaGVpZ2h0OiAzMHB4OwogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5pbnRyby1zaGFwZTphZnRlciB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHotaW5kZXg6IC0xOwogIGJvcmRlci1sZWZ0OiA0MDBweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItcmlnaHQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWJvdHRvbTogNDAwcHggc29saWQgIzIxNTRjZjsKICBib3R0b206IC00MHB4Owp9CgovKiBDYWxsIHRvIGFjdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouY2FsbC10by1hY3Rpb24tdGl0bGUgewogIGZvbnQtc2l6ZTogMzBweDsKICBjb2xvcjogIzI1MmEzNzsKICBsaW5lLWhlaWdodDogNDhweDsKfQoKLmNhbGwtdG8tYWN0aW9uIHsKICBwYWRkaW5nOiA3MHB4IDA7Cn0KLmNhbGwtdG8tYWN0aW9uIHAgewogIGZvbnQtc2l6ZTogMThweDsKICBmb250LXdlaWdodDogNTAwOwogIGNvbG9yOiAjMjUyYTM3OwogIGxpbmUtaGVpZ2h0OiAyOHB4Owp9CgouY2FsbC10by1hY3Rpb24gLmJ0biB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tdG9wOiAxMHB4Owp9CgovKiBDYWxsIFRvIEFjdGlvbiBTb2xpZCBiZyAqLwouY2FsbC10by1hY3Rpb24gaDMgewogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KCi5jYWxsLXRvLWFjdGlvbi1iZyB7CiAgcGFkZGluZzogNzBweDsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9wYXJhbGxheC9wYXJhbGxheDEuanBnIik7CiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKfQoKLmNhbGwtdG8tYWN0aW9uLWJnIGgzIHsKICBtYXJnaW4tYm90dG9tOiAxMHB4Owp9Ci5jYWxsLXRvLWFjdGlvbi1iZyBoMywKLmNhbGwtdG8tYWN0aW9uLWJnIHAgewogIGNvbG9yOiAjZmZmOwp9Ci5jYWxsLXRvLWFjdGlvbi1iZyBwIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CgovKiBTZXJ2aWNlcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwovKi0tIEZlYXR1cmVkIFRhYiAtLSovCi5mZWF0dXJlZC10YWIgewogIG1hcmdpbi10b3A6IC0yMHB4Owp9CgouZmVhdHVyZWQtdGFiIC5uYXYtdGFicyB7CiAgYm9yZGVyOiAwOwp9Ci5mZWF0dXJlZC10YWIgLm5hdi10YWJzID4gbGkgewogIHdpZHRoOiAyNSU7Cn0KLmZlYXR1cmVkLXRhYiAubmF2LXRhYnMgPiBsaSA+IGEgewogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXItcmFkaXVzOiAwOwogIG1pbi1oZWlnaHQ6IDEwMHB4OwogIHBhZGRpbmc6IDI1cHggNXB4OwogIGJvcmRlcjogMDsKICBtYXJnaW4tcmlnaHQ6IC0xcHg7CiAgY29sb3I6ICMyNTJhMzc7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cn0KLmZlYXR1cmVkLXRhYiAubmF2LXRhYnMgPiBsaSA+IGEuYWN0aXZlIHsKICBjb2xvcjogIzIxNTRjZjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIC13ZWJraXQtYm94LXNoYWRvdzogMCAtNXB4IDE0cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMDUpLCAtNXB4IDAgMTRweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMDUpOwogIGJveC1zaGFkb3c6IDAgLTVweCAxNHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjA1KSwgLTVweCAwIDE0cHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjA1KTsKfQoKLnRhYi10ZXh0LXRpdGxlIHsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW4tdG9wOiAyMHB4Owp9CgouZmVhdHVyZWQtdGFiIC50YWItY29udGVudCB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXRvcDogMDsKICBwYWRkaW5nOiA0MHB4IDMwcHg7CiAgbWluLWhlaWdodDogNDMwcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7CiAgYm94LXNoYWRvdzogMHB4IDJweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgewogIC5mZWF0dXJlZC10YWIgLmJnLWNvbnRhaW4tdmVydGljbGUgewogICAgbWluLWhlaWdodDogMzUwcHg7CiAgfQp9CgouYmctY29udGFpbi12ZXJ0aWNsZSB7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsKICBwYWRkaW5nOiAzMHB4IDI1cHg7CiAgbWFyZ2luOiAtMTBweDsKfQoKLmltZy1jZW50ZXIgewogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbi1yaWdodDogYXV0bzsKICBtYXJnaW4tbGVmdDogYXV0bzsKfQoKLnRhYi1jb250ZW50LWluZm8gewogIHBhZGRpbmctbGVmdDogMzBweDsKfQoudGFiLWNvbnRlbnQtaW5mbyAuYnRuLWxpZ2h0IHsKICBmb250LXdlaWdodDogODAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoudGFiLWNvbnRlbnQtaW5mbyAuYnRuLWxpZ2h0IGkgewogIHBhZGRpbmctbGVmdDogNXB4Owp9Ci50YWItY29udGVudC1pbmZvIC5idG4tbGlnaHQ6aG92ZXIgewogIGNvbG9yOiAjMjE1NGNmOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9CgoudGFiLWNvbnRlbnQtdGl0bGUgewogIGZvbnQtc2l6ZTogMzBweDsKICBsaW5lLWhlaWdodDogMjJweDsKICBtYXJnaW4tdG9wOiA0MHB4OwogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7CiAgLnRhYi1jb250ZW50LXRpdGxlIHsKICAgIGxpbmUtaGVpZ2h0OiAzNnB4OwogIH0KfQoKLmZlYXR1cmVkLXRhYiAudGFiLXBhbmUgaW1nLnB1bGwtbGVmdCB7CiAgbWFyZ2luOiAwIDQwcHggMTBweCAwOwp9Ci5mZWF0dXJlZC10YWIgLnRhYi1wYW5lIGltZy5wdWxsLXJpZ2h0IHsKICBtYXJnaW46IDAgMCAwIDQwcHg7Cn0KCi5mZWF0dXJlZC10YWIgLm5hdi1saW5rIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKfQouZmVhdHVyZWQtdGFiIC5uYXYtbGluay5hY3RpdmU6YWZ0ZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiA1MCU7CiAgYm90dG9tOiAwOwogIGNvbnRlbnQ6ICIiOwogIHdpZHRoOiAxMDBweDsKICBoZWlnaHQ6IDNweDsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwogIG1hcmdpbi1sZWZ0OiAtNTBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwp9Ci5mZWF0dXJlZC10YWIgLm5hdi1saW5rLmFjdGl2ZSAudGFiLWhlYWQgc3BhbiB7CiAgY29sb3I6ICMyMTU0Y2Y7Cn0KCi50YWItaGVhZCBzcGFuIHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIGNvbG9yOiAjMjIyMjIyOwp9Ci50YWItaGVhZCBzcGFuIGkgewogIGZvbnQtc2l6ZTogNDVweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIGNvbG9yOiAjMjE1NGNmOwp9CgovKiBDaGFydAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoudHMtY2hhcnQgewogIGNvbG9yOiAjZmZmZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxYzFjMjQ7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWFnZXMvcGFyYWxsYXgvcGFyYWxsYXgxLmpwZyIpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOwogIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7CiAgcGFkZGluZzogMTAwcHggMDsKfQoKI2dyYXBoIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDM1MHB4OwogIG1hcmdpbjogMCBhdXRvOwp9CgovKiBGZWF0dXJlZCBQcm9qZWN0IFNsaWRlcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoudHMtZmVhdHVyZWQtcHJvamVjdHMgewogIHBhZGRpbmctdG9wOiA3MHB4Owp9CgojZmVhdHVyZWQtY2FzZXMtc2xpZGUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQojZmVhdHVyZWQtY2FzZXMtc2xpZGUgLm93bC1zdGFnZS1vdXRlciB7CiAgcGFkZGluZy10b3A6IDc1cHg7Cn0KI2ZlYXR1cmVkLWNhc2VzLXNsaWRlIC5pdGVtIHsKICBtaW4taGVpZ2h0OiA0NzBweDsKfQoKLmZlYXR1cmVkLXByb2plY3RzLWNvbnRlbnQgewogIG1pbi1oZWlnaHQ6IDQ3MHB4OwogIHBhZGRpbmc6IDAgNDVweDsKICBtYXJnaW46IDAgMzBweCAyMHB4OwogIGJhY2tncm91bmQ6ICNmN2Y5ZmQ7CiAgYm9yZGVyLXJhZGl1czogM3B4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAvKmJveC1zaGFkb3c6IDAgMXB4IDMwcHggMCByZ2JhKDAsMCwwLC4wNSk7Ki8KICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoKLmZlYXR1cmVkLXByb2plY3RzLXRleHQgewogIG1heC13aWR0aDogNTEwcHg7CiAgcGFkZGluZzogNTBweCAzMHB4IDAgMDsKfQouZmVhdHVyZWQtcHJvamVjdHMtdGV4dC5wdWxsLXJpZ2h0IHsKICBwYWRkaW5nOiA1MHB4IDAgMCAzMHB4Owp9CgouZmVhdHVyZXMtc2xpZGVyLWltZyB7CiAgbWFyZ2luLXRvcDogLTc1cHg7Cn0KCi5mZWF0dXJlZC1wcm9qZWN0cy1jb250ZW50IC5idG4tcHJpbWFyeSB7CiAgbWFyZ2luLXRvcDogMTVweDsKfQoKLyogQ2FzZSBTdHVkeSAqLwoudHMtY2FzZS1ib3ggewogIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudHMtY2FzZS1ib3g6aG92ZXIgLnRzLWNhc2UtaW1hZ2Utd3JhcHBlcjpiZWZvcmUgewogIG9wYWNpdHk6IC4zOwogIHZpc2liaWxpdHk6IHZpc2libGU7CiAgYm90dG9tOiAwOwp9CgouY2FzZS10aXRsZSB7CiAgZm9udC1zaXplOiAyNHB4OwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgbGluZS1oZWlnaHQ6IDMycHg7CiAgY29sb3I6ICNmZmY7CiAgbWFyZ2luLWJvdHRvbTogNXB4Owp9Ci5jYXNlLXRpdGxlIHNtYWxsIHsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC1zaXplOiAxNHB4OwogIGxpbmUtaGVpZ2h0OiAyOHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLWxlZnQ6IDEwcHg7Cn0KLmNhc2UtdGl0bGUgc21hbGw6YmVmb3JlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiA1MCU7CiAgbGVmdDogMDsKICB3aWR0aDogM3B4OwogIGhlaWdodDogMTNweDsKICBjb250ZW50OiAiIjsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwogIG1hcmdpbi10b3A6IC03cHg7Cn0KCi50cy1jYXNlLWNvbnRlbnQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3R0b206IDA7CiAgcGFkZGluZzogMzVweCAzNXB4IDEwcHg7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMzsKfQoudHMtY2FzZS1jb250ZW50IHAgewogIGxpbmUtaGVpZ2h0OiAyOHB4OwogIGNvbG9yOiAjZmZmOwp9Ci50cy1jYXNlLWNvbnRlbnQgYSB7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBjb2xvcjogI2ZmZjsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwp9Ci50cy1jYXNlLWNvbnRlbnQgYTpob3ZlciB7CiAgY29sb3I6ICNmYzZhMmE7Cn0KCi50cy1jYXNlLWltYWdlLXdyYXBwZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAzOwp9Ci50cy1jYXNlLWltYWdlLXdyYXBwZXIgaW1nIHsKICB3aWR0aDogMTAwJTsKfQoudHMtY2FzZS1pbWFnZS13cmFwcGVyOmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICIiOwogIGJvdHRvbTogLTEwMCU7CiAgbGVmdDogMDsKICBiYWNrZ3JvdW5kOiAjMDAwOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBvcGFjaXR5OiAwOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7Cn0KLnRzLWNhc2UtaW1hZ2Utd3JhcHBlcjphZnRlciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICcnOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBiYWNrZ3JvdW5kOiAjMDAwMDAwOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoNDAlLCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwLjkpKSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjE1KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC45KSAxMDAlKTsKICB6LWluZGV4OiAyOwp9CgovKiBDYXNlIFNpbmdsZSAqLwoudHMtc2luZ2xlLWNhc2UtaW5mbyB7CiAgcGFkZGluZzogMTAwcHggMDsKfQoKLnRzLWNhc2UtY2hhbGxhbmdlIHsKICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7Cn0KCi50cy1jYXNlLXJlc3VsdCB7CiAgcGFkZGluZy1ib3R0b206IDEwMHB4Owp9CgouY2FzZS1pbWctbGVmdCB7CiAgcGFkZGluZy10b3A6IDEwMHB4Owp9CgouY2FzZS1kZXRhaWxzLWlubmVyIC5oZWFkaW5nIHsKICBtYXJnaW4tYm90dG9tOiA0MHB4Owp9Ci5jYXNlLWRldGFpbHMtaW5uZXIgLnRzLWZlYXR1cmUtaW5mbyB7CiAgcGFkZGluZzogMDsKfQouY2FzZS1kZXRhaWxzLWlubmVyIC50cy1mZWF0dXJlLWluZm8gaSB7CiAgY29sb3I6ICMyMTU0Q0Y7Cn0KLmNhc2UtZGV0YWlscy1pbm5lciAudHMtZmVhdHVyZS10aXRsZSB7CiAgY29sb3I6ICMwMDA7Cn0KLmNhc2UtZGV0YWlscy1pbm5lciAuZmVhdHVyZS1jb250ZW50IHAgewogIGNvbG9yOiAjMDAwOwp9CgouY29udGVudC10aXRsZS5ib3JkZXItbm9uZSB7CiAgYm9yZGVyLWxlZnQ6IDA7CiAgcGFkZGluZy1sZWZ0OiAwOwogIGxpbmUtaGVpZ2h0OiA0NHB4OwogIG1hcmdpbi1ib3R0b206IDA7CiAgZm9udC1zaXplOiAzNnB4Owp9CgouYm94LXNvbGlkIHsKICBiYWNrZ3JvdW5kOiAjZjdmOWZkOwp9CgoubGlzdC1zdHlsZS1jbGFzc2ljIHsKICBwYWRkaW5nOiAzMHB4Owp9Ci5saXN0LXN0eWxlLWNsYXNzaWMgdWwgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KLmxpc3Qtc3R5bGUtY2xhc3NpYyBsaSB7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogIGRpc3BsYXk6IC1tb3otYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtbW96LWJveC1hbGlnbjogY2VudGVyOwogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoubGlzdC1zdHlsZS1jbGFzc2ljIGxpIGRpdiB7CiAgd2lkdGg6IDEwMCU7Cn0KLmxpc3Qtc3R5bGUtY2xhc3NpYyBsaTpsYXN0LWNoaWxkIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9Ci5saXN0LXN0eWxlLWNsYXNzaWMgLmNsYXNzaWMtdGl0bGUgewogIGZvbnQtc2l6ZTogMjRweDsKICBmb250LXdlaWdodDogNjAwOwogIGxpbmUtaGVpZ2h0OiAzMnB4OwogIG1hcmdpbi1ib3R0b206IDQ1cHg7Cn0KCi5jYXNlLWluZm8tY29udGVudCB7CiAgY29sb3I6ICM2MjZjODQ7Cn0KCi5jYXNlLWluZm8tbGFiZWwgewogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgY29sb3I6ICMyNTJhMzc7Cn0KCi5jYXNlLWNvdW50ZXIgewogIG1hcmdpbjogMjVweCAwOwp9Ci5jYXNlLWNvdW50ZXIgcCB7CiAgY29sb3I6ICMyMTU0Y2Y7CiAgZm9udC1zaXplOiAzMHB4Owp9Ci5jYXNlLWNvdW50ZXIgaDMgewogIGZvbnQtc2l6ZTogMjRweDsKICBjb2xvcjogIzI1MmEzNzsKfQoKLyogT3dsIFBhZ2Ugc2xpZGVyICovCi5vd2wtY2Fyb3VzZWwuZmVhdHVyZWQtY2FzZXMtc2xpZGUub3dsLXRoZW1lIC5vd2wtbmF2ID4gZGl2IHsKICBib3R0b206IC00MHB4OwogIHJpZ2h0OiA3OHB4OwogIHdpZHRoOiA2MHB4OwogIGhlaWdodDogNjBweDsKICBsaW5lLWhlaWdodDogNTZweDsKICBmb250LXNpemU6IDI2cHg7Cn0KLm93bC1jYXJvdXNlbC5mZWF0dXJlZC1jYXNlcy1zbGlkZS5vd2wtdGhlbWUgLm93bC1uYXYgPiAub3dsLXByZXYgewogIHJpZ2h0OiAxMzhweDsKfQoub3dsLWNhcm91c2VsLmZlYXR1cmVkLWNhc2VzLXNsaWRlLm93bC10aGVtZSAub3dsLW5hdiA+IC5kaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogIzkwYTllNzsKfQoKLyogVGVhbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoudHMtdGVhbS13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4wMyk7CiAgYm94LXNoYWRvdzogMCAzcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjAzKTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbWluLWhlaWdodDogMzgwcHg7Cn0KCi50ZWFtLWltZy13cmFwcGVyIGltZyB7CiAgd2lkdGg6IDEwMCU7Cn0KCi50cy10ZWFtLWNvbnRlbnQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBoZWlnaHQ6IDk1cHg7CiAgcGFkZGluZzogMjJweCAyNXB4OwogIG1hcmdpbi10b3A6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzNTBtczsKICB0cmFuc2l0aW9uOiAzNTBtczsKICB0cmFuc2l0aW9uOiAzNTBtczsKfQoKLnRlYW0taW1nLXdyYXBwZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwp9Ci50ZWFtLWltZy13cmFwcGVyOmFmdGVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgY29udGVudDogJyc7CiAgYmFja2dyb3VuZDogcmdiYSgzMSwgMzEsIDMxLCAwLjgpOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICB0b3A6IDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwp9CgoudHMtdGVhbS1jb250ZW50IC50ZWFtLW5hbWUgewogIGZvbnQtc2l6ZTogMjBweDsKICBtYXJnaW46IDA7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKfQoudHMtdGVhbS1jb250ZW50IC50ZWFtLWRlc2lnbmF0aW9uIHsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC1zdHlsZTogaXRhbGljOwp9CgoudGVhbS1zb2NpYWwtaWNvbnMgewogIGRpc3BsYXk6IG5vbmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiA0MDBtczsKICB0cmFuc2l0aW9uOiA0MDBtczsKICB0cmFuc2l0aW9uOiA0MDBtczsKfQoKLnRzLXRlYW0taW5mby50ZWFtLWxpc3QtYm9yZGVyIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwOwogIGJvcmRlci10b3A6IDA7CiAgcGFkZGluZzogMjBweCAzMHB4Owp9CgoudHMtdGVhbS1pbmZvLnRlYW0tbGlzdC1ib3JkZXIgLnRlYW0tc29jaWFsLWNsYXNzaWMgewogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmMGYwOwogIHBhZGRpbmctdG9wOiAyMHB4OwogIG1hcmdpbi10b3A6IDIwcHg7Cn0KCi8qIEhvdmVyICovCi50cy10ZWFtLXdyYXBwZXI6aG92ZXIgLnRzLXRlYW0tY29udGVudCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIG1hcmdpbi10b3A6IC05NXB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogNDAwbXM7CiAgdHJhbnNpdGlvbjogNDAwbXM7CiAgdHJhbnNpdGlvbjogNDAwbXM7Cn0KLnRzLXRlYW0td3JhcHBlcjpob3ZlciAudHMtdGVhbS1jb250ZW50IGgzLAoudHMtdGVhbS13cmFwcGVyOmhvdmVyIC50cy10ZWFtLWNvbnRlbnQgcCB7CiAgY29sb3I6ICNmZmY7Cn0KLnRzLXRlYW0td3JhcHBlcjpob3ZlciAudGVhbS1pbWctd3JhcHBlcjphZnRlciB7CiAgb3BhY2l0eTogMTsKICByaWdodDogMDsKfQoudHMtdGVhbS13cmFwcGVyOmhvdmVyIC50ZWFtLXNvY2lhbC1pY29ucyB7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiA5NXB4OwogIHBhZGRpbmc6IDMwcHggMDsKfQoKLnRlYW0tc29jaWFsLWljb25zIGEgewogIGNvbG9yOiAjMjUyYTM3OwogIG1hcmdpbi1yaWdodDogMTJweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi50ZWFtLXNvY2lhbC1jbGFzc2ljIGEgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBjb2xvcjogIzAwMDsKICBwYWRkaW5nLXJpZ2h0OiAyMHB4Owp9Ci50ZWFtLXNvY2lhbC1jbGFzc2ljIGE6aG92ZXIgewogIGNvbG9yOiAjMEYyNzY1Owp9CgoudHMtdGVhbS1pbmZvIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbGVmdDogMDsKICBwYWRkaW5nOiAyMHB4IDAgMDsKICBtYXJnaW4tdG9wOiAwOwp9Ci50cy10ZWFtLWluZm8gaDMgewogIGZvbnQtc2l6ZTogMjBweDsKICBtYXJnaW4tYm90dG9tOiAwOwp9Ci50cy10ZWFtLWluZm8gcCB7CiAgbWFyZ2luLXRvcDogMDsKfQoudHMtdGVhbS1pbmZvIC50ZWFtLWRlc2lnbmF0aW9uIHsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC1zdHlsZTogaXRhbGljOwp9CgovKiBUcy1UZWFtICovCi50cy10ZWFtLWJnIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOUZEOwp9CgovKiBRdW90ZSBhcmVhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5xdW90ZS1hcmVhIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9wYXJhbGxheC9wYXJhbGxheDEuanBnIik7CiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDgwcHggMCA2MHB4Owp9CgoucXVvdGVfZm9ybSB7CiAgYmFja2dyb3VuZDogIzFmMWYxZjsKICBjb2xvcjogI2ZmZjsKICBwYWRkaW5nOiA4MHB4IDUwcHggMTAwcHg7CiAgbWFyZ2luLXRvcDogLTgwcHg7CiAgbWFyZ2luLWJvdHRvbTogLTgwcHg7Cn0KLnF1b3RlX2Zvcm0gLmNvbHVtbi10aXRsZSB7CiAgZm9udC1zaXplOiAzNnB4OwogIG1hcmdpbi1ib3R0b206IDQwcHg7Cn0KLnF1b3RlX2Zvcm0gLmNvbHVtbi10aXRsZSBzcGFuIHsKICBmb250LXNpemU6IDIwcHg7CiAgbWFyZ2luOiAwOwp9Ci5xdW90ZV9mb3JtIC5mb3JtLWdyb3VwIHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9CgoucXVvdGUtZm9ybS10ZXh0IHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9CgoucXVvdGVfZm9ybSBpbnB1dDo6aW5wdXQtcGxhY2Vob2xkZXIsCi5xdW90ZV9mb3JtIHRleHRhcmVhOjppbnB1dC1wbGFjZWhvbGRlciB7CiAgY29sb3I6ICNmZmY7CiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHsKICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wgewogICAgaGVpZ2h0OiAxMThweDsKICB9Cn0KCi5uZXdzbGV0dGVyLWZvcm0gaW5wdXQ6OmlucHV0LXBsYWNlaG9sZGVyLCAubmV3c2xldHRlci1mb3JtIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIsIC5uZXdzbGV0dGVyLWZvcm0gaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiAjMjUyYTM3Owp9CgoucXVvdGVfZm9ybSBpbnB1dDotbW96LXBsYWNlaG9sZGVyLAoucXVvdGVfZm9ybSB0ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyLAoucXVvdGVfZm9ybSBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciwKLnF1b3RlX2Zvcm0gdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiAjZmZmOwp9CgoubmV3c2xldHRlci1mb3JtIGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsKICBjb2xvcjogI2ZmZjsKfQoKLnF1b3RlX2Zvcm0gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLAoucXVvdGVfZm9ybSB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIgewogIGNvbG9yOiAjZmZmOwp9CgoubmV3c2xldHRlci1mb3JtIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgY29sb3I6ICNmZmY7Cn0KCi5xdW90ZV9mb3JtIC5mb3JtLWNvbnRyb2wgewogIGJvcmRlcjogMDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZkNmQ2ZDsKICBwYWRkaW5nLWxlZnQ6IDA7CiAgY29sb3I6ICNmZmY7Cn0KLnF1b3RlX2Zvcm0gLmZvcm0tY29udHJvbDpmb2N1cyB7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjE1NGNmOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnF1b3RlX2Zvcm0gLnRhZy1saW5lIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgY29sb3I6ICNmZmY7CiAgY2xlYXI6IGJvdGg7CiAgbWFyZ2luLXRvcDogMjBweDsKICBtYXJnaW4tYm90dG9tOiAwOwp9Ci5xdW90ZV9mb3JtIC50YWctbGluZSBwIHsKICBjb2xvcjogI2ZmZjsKICBtYXJnaW46IDA7CiAgZm9udC1zaXplOiAxNHB4Owp9CgovKi0tIFRlc3RpbW9uaWFsIC0tKi8KLnRlc3RpbW9uaWFsLXNsaWRlIC5vd2wtbmF2IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDQwcHg7CiAgYm90dG9tOiA5NXB4Owp9CgoudGVzdGltb25pYWwtc2xpZGUgewogIHBhZGRpbmc6IDUwcHggMDsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHsKICAucXVvdGUtaXRlbS5xdW90ZS1sZWZ0IHsKICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7CiAgfQp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLnF1b3RlLWl0ZW0ucXVvdGUtcmlnaHQgewogICAgcGFkZGluZy1sZWZ0OiA1MHB4OwogIH0KfQoucXVvdGUtaXRlbSAucXVvdGUtdGV4dCB7CiAgbWFyZ2luOiA0MHB4IDAgMTBweDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogNTBweCA0MHB4IDMwcHggNDVweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsKICBjb2xvcjogI2ZmZjsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZm9udC1zaXplOiAxNnB4OwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKfQoucXVvdGUtaXRlbSAucXVvdGUtdGV4dDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBmb250LXNpemU6IDIwcHg7CiAgbGVmdDogNDVweDsKICB0b3A6IC0yMHB4OwogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgd2lkdGg6IDUwcHg7CiAgaGVpZ2h0OiA1MHB4OwogIGxpbmUtaGVpZ2h0OiA1MHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBib3JkZXItcmFkaXVzOiAzcHg7CiAgZm9udC1zdHlsZTogbm9ybWFsOwp9Ci5xdW90ZS1pdGVtIC5xdW90ZS10ZXh0OmFmdGVyIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgYm90dG9tOiAtMjBweDsKICBsZWZ0OiA1NXB4OwogIGJvcmRlci13aWR0aDogMCAwIDIwcHggMjBweDsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgcmdiYSgwLCAwLCAwLCAwLjUpOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAwOwp9CgoucXVvdGUtaXRlbS5xdW90ZS1zcXVhcmUgLnF1b3RlLXRleHQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MzciOwogIGZvbnQtZmFtaWx5OiAnaWNvbmZvbnQnOwogIGZvbnQtc2l6ZTogMjBweDsKICB3aWR0aDogNTBweDsKICBoZWlnaHQ6IDUwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgIzIxNTRDRjsKICBsaW5lLWhlaWdodDogNTBweDsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kOiAjMjE1NENGOwogIGJvcmRlci1yYWRpdXM6IDNweDsKICBsZWZ0OiA0NXB4Owp9CgoudHMtdGVzdGltb25pYWwtc3RhdGljIHsKICBwYWRkaW5nOiAxMDBweCAwOwp9Ci50cy10ZXN0aW1vbmlhbC1zdGF0aWMgLnF1b3RlLWNsYXNzaWMgewogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDQpOwogIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA0KTsKICBib3JkZXI6IG5vbmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKfQoudHMtdGVzdGltb25pYWwtc3RhdGljIC5xdW90ZS1jbGFzc2ljIC5xdW90ZS10ZXh0IHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLnRzLXRlc3RpbW9uaWFsLXN0YXRpYyAucXVvdGUtY2xhc3NpYzpob3ZlciB7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMTBweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogIGJveC1zaGFkb3c6IDBweCAxMHB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7Cn0KCi8qIFRlc3RpbW9uaWFsIFNsaWRlIGNsYXNzaWMgKi8KLnF1b3RlLWl0ZW0tYXJlYSB7CiAgbWF4LXdpZHRoOiA2MDBweDsKICBtYXJnaW46IDAgYXV0bzsKfQoKLnF1b3RlLWl0ZW0tYXJlYSAucXVvdGUtdGh1bWIgewogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdpZHRoOiAxOTBweDsKICBoZWlnaHQ6IDE5MHB4OwogIGJvcmRlci1yYWRpdXM6IDEwMCU7Cn0KCi5xdW90ZS1pdGVtLWFyZWEgLnF1b3RlLXRodW1iIGltZyB7CiAgZGlzcGxheTogYmxvY2s7CiAgd2lkdGg6IDE4MHB4OwogIGhlaWdodDogMTgwcHg7CiAgYm9yZGVyLXJhZGl1czogMTAwJTsKfQoKLnF1b3RlLWl0ZW0tY29udGVudCAucXVvdGUtbmFtZSB7CiAgbWFyZ2luOiAwOwp9CgoucXVvdGUtaXRlbS1jb250ZW50IC5xdW90ZS1uYW1lLWRlc2cgewogIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgZGlzcGxheTogYmxvY2s7Cn0KCi5xdW90ZS1tZXNzYWdlIHsKICBmb250LXN0eWxlOiBpdGFsaWM7Cn0KCi50ZXN0aW1vbmlhbC1zbGlkZS5vd2wtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV0gewogIGxlZnQ6IDA7CiAgdG9wOiA1MCU7Cn0KCi50ZXN0aW1vbmlhbC1zbGlkZS5vd2wtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLW5leHRdIHsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwp9CgoudGVzdGltb25pYWwtc2xpZGUub3dsLWNhcm91c2VsLm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1wcmV2XSB7CiAgcmlnaHQ6IGF1dG87CiAgbGVmdDogLTQwcHg7Cn0KCi50cy10ZXN0aW1vbmlhbC1zbGlkZS5zb2xpZC1iZyAub3dsLW5hdiB7CiAgd2lkdGg6IDEwMCU7CiAgbGVmdDogMDsKICBib3R0b206IDUwJTsKfQoKLnRzLXRlc3RpbW9uaWFsLXNsaWRlLnNvbGlkLWJnIC5vd2wtbmF2IC5vd2wtbmV4dCB7CiAgbGVmdDogYXV0bzsKICByaWdodDogMDsKfQoKLnRzLXRlc3RpbW9uaWFsLXNsaWRlLnNvbGlkLWJnIC50ZXN0aW1vbmlhbC1zbGlkZS5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0IHsKICBsZWZ0OiBhdXRvOwogIHJpZ2h0OiAwOwp9CgoudHMtdGVzdGltb25pYWwtc2xpZGUuc29saWQtYmcgLnRlc3RpbW9uaWFsLXNsaWRlLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYgewogIGxlZnQ6IDA7Cn0KCmltZy50ZXN0aW1vbmlhbC10aHVtYiB7CiAgbWF4LXdpZHRoOiA4MHB4OwogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbi1yaWdodDogMjBweDsKICBib3JkZXItcmFkaXVzOiAxMDAlOwp9CgoucXVvdGUtaXRlbS1pbmZvIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwp9CgoucXVvdGUtYXV0aG9yIHsKICBmb250LXNpemU6IDIwcHg7CiAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgbWFyZ2luOiAwIDAgMnB4OwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZGlzcGxheTogYmxvY2s7CiAgY29sb3I6ICNmZmY7Cn0KCi5xdW90ZS1zdWJ0ZXh0IHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDE0cHg7Cn0KCi5xdW90ZS1pdGVtLWZvb3RlciB7CiAgbWFyZ2luLXRvcDogNDBweDsKICBtYXJnaW4tbGVmdDogMDsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgZGlzcGxheTogLW1vei1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtbW96LWJveC1hbGlnbjogY2VudGVyOwogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLnRzLXRlc3RpbW9uaWFsLXNsaWRlIHsKICBwYWRkaW5nOiAxMDBweCAwOwogIG1hcmdpbi1ib3R0b206IC00MHB4Owp9CgoudGVzdGltb25pYWwtc2xpZGUub3dsLWNhcm91c2VsLm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1dIHsKICBib3R0b206IDkwcHg7Cn0KLnRlc3RpbW9uaWFsLXNsaWRlLm93bC10aGVtZSAub3dsLWRvdHMgewogIHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW4tdG9wOiA2MHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwp9Ci50ZXN0aW1vbmlhbC1zbGlkZS5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLnRlc3RpbW9uaWFsLXNsaWRlLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7CiAgd2lkdGg6IDEwcHg7CiAgaGVpZ2h0OiAxMHB4OwogIG1hcmdpbjogNXB4IDRweDsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIG9wYWNpdHk6IC40NTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLnRlc3RpbW9uaWFsLXNsaWRlLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4gewogIGJhY2tncm91bmQ6ICNlNTA0MDQ7CiAgb3BhY2l0eTogMTsKfQoKLyogQ2xpZW50cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwovKi0tIFBhcnRuZXJzIGNhcm91c2VsIC0tKi8KLm93bC1jYXJvdXNlbC5vd2wtdGhlbWUucGFydG5lcnMgLm93bC1uYXYgewogIG1hcmdpbjogMDsKfQoKLnBhcnRuZXJzLWNhcm91c2VsIC5vd2wtdGhlbWUgLm93bC1uYXYgewogIG1hcmdpbi10b3A6IDA7Cn0KCi5jbGllbnRzLWFyZWEgewogIGJhY2tncm91bmQ6ICNmN2Y5ZmQ7CiAgcGFkZGluZzogNzBweCAwOwp9CgoucGFydG5lci1sb2dvIHsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgZGlzcGxheTogLW1vei1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogIC1tb3otYm94LWRpcmVjdGlvbjogbm9ybWFsOwogIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgLW1vei1ib3gtcGFjazogY2VudGVyOwogIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtbW96LWJveC1hbGlnbjogY2VudGVyOwogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlcjsKICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgbWluLWhlaWdodDogMzJweDsKICBtYXJnaW4tYm90dG9tOiAwOwp9Ci5wYXJ0bmVyLWxvZ28gaW1nIHsKICAtd2Via2l0LXRyYW5zaXRpb246IDM1MG1zOwogIHRyYW5zaXRpb246IDM1MG1zOwogIHRyYW5zaXRpb246IDM1MG1zOwogIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7Cn0KLnBhcnRuZXItbG9nbzpob3ZlciBpbWcgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwJSk7CiAgZmlsdGVyOiBncmF5c2NhbGUoMCUpOwogIC1tb3otZmlsdGVyOiBncmF5c2NhbGUoMCUpOwogIC1tcy1maWx0ZXI6IGdyYXlzY2FsZSgwJSk7CiAgLW8tZmlsdGVyOiBncmF5c2NhbGUoMCUpOwogIGZpbHRlcjogZ3JheXNjYWxlKDAlKTsKfQoKLm93bC1jYXJvdXNlbC5vd2wtdGhlbWUucGFydG5lcnMgLm93bC1uYXYgLm93bC1wcmV2IHsKICBsZWZ0OiAwOwogIHJpZ2h0OiBhdXRvOwogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgY29sb3I6ICNmZmY7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKfQoub3dsLWNhcm91c2VsLm93bC10aGVtZS5wYXJ0bmVycyAub3dsLW5hdiAub3dsLXByZXY6aG92ZXIgewogIGJhY2tncm91bmQ6ICMyNzJEMzM7Cn0KLm93bC1jYXJvdXNlbC5vd2wtdGhlbWUucGFydG5lcnMgLm93bC1uYXYgW2NsYXNzKj1vd2wtXSB7CiAgYm90dG9tOiAtMTJweDsKICBtYXJnaW4tYm90dG9tOiAtMTJweDsKfQoKLyogQ29udGVudCBhcmVhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi8qIEFjY29yZGlvbiAqLwouYWNjb3JkaW9uLXRpdGxlIHNwYW4gewogIGNvbG9yOiAjNjI2Yzg0OwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiAxNnB4Owp9CgoucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDZweCAyMHB4Owp9CgoucGFuZWwtZ3JvdXAgLnBhbmVsIHsKICBtYXJnaW4tYm90dG9tOiAxMHB4OwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDsKfQoKLnBhbmVsLWJvZHkgewogIHBhZGRpbmc6IDIwcHggMjBweCAxMHB4IDIwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgI0RERERERDsKICBib3JkZXItcmFkaXVzOiAwIDExcHggMCAwOwogIG1hcmdpbi1sZWZ0OiAxNXB4Owp9Ci5wYW5lbC1ib2R5ID4gaW1nIHsKICBtYXgtd2lkdGg6IDEwMHB4OwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KCnAucGFuZWwtdGl0bGUgewogIGZvbnQtc2l6ZTogMTZweDsKICBiYWNrZ3JvdW5kOiBub25lOwogIGJvcmRlcjogMDsKICBwYWRkaW5nOiA4cHggMCA4cHggMDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIGJvcmRlci1yYWRpdXM6IDA7Cn0KcC5wYW5lbC10aXRsZSBhIHsKICBjb2xvcjogIzIxNTRjZjsKfQpwLnBhbmVsLXRpdGxlIHNwYW4gewogIGZsb2F0OiByaWdodDsKfQpwLnBhbmVsLXRpdGxlIGEuY29sbGFwc2VkIHsKICBjb2xvcjogIzYyNmM4NDsKfQoKLyogQWNjb3JkaW9uIGNsYXNzaWMgKi8KLnBhbmVsLWNsYXNzaWMgLnBhbmVsLWhlYWRpbmcgewogIHBhZGRpbmctbGVmdDogMTVweDsKfQoucGFuZWwtY2xhc3NpYyBoNC5wYW5lbC10aXRsZSBhOmJlZm9yZSwgLnBhbmVsLWNsYXNzaWMgaDQucGFuZWwtdGl0bGUgYS5jb2xsYXBzZWQ6YmVmb3JlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgY29udGVudDogJyc7CiAgZm9udC1zaXplOiAwOwp9CgovKiBDbGllbnRzICovCi5jbGllbnRzLWxvZ28gewogIG1hcmdpbjogMCAwIDMwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTsKICBtaW4taGVpZ2h0OiAxMDVweDsKICBwYWRkaW5nOiAwIDMwcHg7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogIGRpc3BsYXk6IC1tb3otYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAtbW96LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogIC1tb3otYm94LXBhY2s6IGNlbnRlcjsKICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjsKICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7CiAgYWxpZ24tY29udGVudDogY2VudGVyOwp9Ci5jbGllbnRzLWxvZ28gaW1nIHsKICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpOwogIGZpbHRlcjogZ3JheXNjYWxlKDEpOwogIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7CiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7CiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7CiAgLXdlYmtpdC1maWx0ZXI6IGdyYXk7CiAgZmlsdGVyOiBncmF5Owp9CgovKiBMYXRlc3QgTmV3cyBzZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5sYXRlc3QtcG9zdCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDMwcHggMjBweCAzMHB4IDMwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTsKICBtaW4taGVpZ2h0OiAzNDVweDsKfQoubGF0ZXN0LXBvc3QgLmltYWdlLWFuZ2xlOmJlZm9yZSB7CiAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjZjlmOWY5Owp9Ci5sYXRlc3QtcG9zdCAucG9zdC10aXRsZSB7CiAgZm9udC1zaXplOiAyMnB4OwogIGxpbmUtaGVpZ2h0OiAyOHB4OwogIG1hcmdpbjogMTBweCAwIDVweDsKfQoubGF0ZXN0LXBvc3QgLnBvc3QtdGl0bGUgYSB7CiAgY29sb3I6ICMyNTJhMzc7Cn0KLmxhdGVzdC1wb3N0IC5wb3N0LXRpdGxlIGE6aG92ZXIgewogIGNvbG9yOiAjMjE1NGNmOwp9CgoubGF0ZXN0LXBvc3QtbWV0YSB7CiAgZm9udC1zaXplOiAxM3B4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5sYXRlc3QtcG9zdCAucG9zdC1jYXQsCi5sYXRlc3QtcG9zdCAucG9zdC1pdGVtLWRhdGUgewogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXNpemU6IDE0cHg7Cn0KLmxhdGVzdC1wb3N0IC5wb3N0LXRleHQgewogIG1hcmdpbi10b3A6IDEwcHg7Cn0KLmxhdGVzdC1wb3N0IC5wb3N0LWJvZHkgewogIHBhZGRpbmc6IDA7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IDA7Cn0KLmxhdGVzdC1wb3N0LnBvc3QtbGFyZ2UgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiAwOwogIGJvcmRlcjogMDsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5sYXRlc3QtcG9zdC5wb3N0LWxhcmdlOmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICcnOwogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7Cn0KLmxhdGVzdC1wb3N0LnBvc3QtbGFyZ2UgLnBvc3QtYm9keSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMDsKICBwYWRkaW5nOiAzMHB4OwogIGJvcmRlcjogMDsKICBjb2xvcjogI2ZmZjsKfQoubGF0ZXN0LXBvc3QucG9zdC1sYXJnZSAucG9zdC1jYXQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDMwcHg7CiAgbGVmdDogMzBweDsKICBjb2xvcjogI2ZmZjsKICBmb250LXN0eWxlOiBpdGFsaWM7Cn0KLmxhdGVzdC1wb3N0LnBvc3QtbGFyZ2UgLnBvc3QtdGl0bGUgewogIGZvbnQtc2l6ZTogMzBweDsKICBsaW5lLWhlaWdodDogNDBweDsKfQoubGF0ZXN0LXBvc3QucG9zdC1sYXJnZSAucG9zdC10aXRsZSBhIHsKICBjb2xvcjogI2ZmZjsKfQoubGF0ZXN0LXBvc3QucG9zdC1sYXJnZSAuYnRuLmJ0bi1wcmltYXJ5IHsKICBwYWRkaW5nOiAxMnB4IDMwcHg7CiAgbWFyZ2luLXRvcDogMTVweDsKfQoKLyogTmV3cyBsYXJnZSAqLwovKiBGb290ZXIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmZvb3RlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDQ7Cn0KCi8qLS0gRm9vdGVyIHRvcCAtLSovCi5mb290ZXItdG9wIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAtNjBweDsKICB6LWluZGV4OiAxOwogIG1hcmdpbjogMCBhdXRvOwogIHdpZHRoOiAxMDAlOwp9CgouZm9vdGVyLXRvcC1iZyB7CiAgYmFja2dyb3VuZDogIzBmMjc2NTsKICBtYXJnaW46IDA7CiAgY29sb3I6ICNmZmY7Cn0KCi5mb290ZXItdG9wIC5mb290ZXItYm94IHsKICBwYWRkaW5nOiAzMHB4IDQ1cHggMjBweDsKICBtaW4taGVpZ2h0OiAxMjBweDsKfQouZm9vdGVyLXRvcCAuZm9vdGVyLWJveCBpIHsKICBmbG9hdDogbGVmdDsKICBmb250LXNpemU6IDI4cHg7CiAgbWFyZ2luLXRvcDogMHB4OwogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IDY1cHg7CiAgaGVpZ2h0OiA2NXB4OwogIGxpbmUtaGVpZ2h0OiA2NXB4OwogIGJvcmRlci1yYWRpdXM6IDEwMCU7Cn0KLmZvb3Rlci10b3AgLmZvb3Rlci1ib3ggLmZvb3Rlci1ib3gtY29udGVudCB7CiAgbWFyZ2luLWxlZnQ6IDkwcHg7Cn0KLmZvb3Rlci10b3AgLmZvb3Rlci1ib3ggLmZvb3Rlci1ib3gtY29udGVudCBoMyB7CiAgbWFyZ2luLXRvcDogNnB4OwogIG1hcmdpbi1ib3R0b206IDJweDsKICBmb250LXNpemU6IDIwcHg7CiAgY29sb3I6ICNmZmY7Cn0KLmZvb3Rlci10b3AgLmZvb3Rlci1ib3ggLmZvb3Rlci1ib3gtY29udGVudCBwIHsKICBtYXJnaW46IDA7CiAgZm9udC1zaXplOiAxNHB4Owp9CgovKi0tIEZvb3RlciBtYWluIC0tKi8KLmZvb3Rlci1tYWluIHsKICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zvb3Rlci1iZy5qcGcpOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBjb2xvcjogIzhjOTNhNTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZzogMTIwcHggMCAyMHB4Owp9Ci5mb290ZXItbWFpbi5iZy1vdmVybGF5OmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDgsIDI5LCAwLjkpOwp9CgouZm9vdGVyLXdpZGdldCB7CiAgcGFkZGluZy1ib3R0b206IDQwcHg7Cn0KCi5mb290ZXIgLndpZGdldC10aXRsZSB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiAyNHB4OwogIG1hcmdpbi10b3A6IDA7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLyogRm9vdGVyIGFib3V0ICovCi5mb290ZXItYWJvdXQgewogIHBhZGRpbmctcmlnaHQ6IDQwcHg7Cn0KCi5mb290ZXItbG9nbyB7CiAgbWFyZ2luOiAyMHB4IDAgMjVweDsKfQoKLyogRm9vdGVyIHNvY2lhbCAqLwouZm9vdGVyLXNvY2lhbCB7CiAgbWFyZ2luLXRvcDogMjVweDsKfQouZm9vdGVyLXNvY2lhbCB1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKfQouZm9vdGVyLXNvY2lhbCB1bCBsaSB7CiAgbWFyZ2luOiAwIDEwcHggMCAwOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQouZm9vdGVyLXNvY2lhbCB1bCBsaSBhIHsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIGNvbG9yOiAjZmZmOwp9Ci5mb290ZXItc29jaWFsIHVsIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjMjE1NGNmOwp9Ci5mb290ZXItc29jaWFsIHVsIGxpIGEgaSB7CiAgd2lkdGg6IDM2cHg7CiAgaGVpZ2h0OiAzNnB4OwogIGxpbmUtaGVpZ2h0OiAzNnB4OwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKICBib3JkZXItcmFkaXVzOiAxMDAlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwp9Ci5mb290ZXItc29jaWFsIHVsIGxpIGEgaTpob3ZlciB7CiAgY29sb3I6ICNmZmY7Cn0KLmZvb3Rlci1zb2NpYWwgdWwgbGkgYSBpLmZhLWZhY2Vib29rOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjM2I1OTk4Owp9Ci5mb290ZXItc29jaWFsIHVsIGxpIGEgaS5mYS10d2l0dGVyOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjNzBjMmU5Owp9Ci5mb290ZXItc29jaWFsIHVsIGxpIGEgaS5mYS1nb29nbGUtcGx1czpob3ZlciB7CiAgYmFja2dyb3VuZDogI2M1Mzk0MjsKfQouZm9vdGVyLXNvY2lhbCB1bCBsaSBhIGkuZmEtcGludGVyZXN0OmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjZDg1NDVkOwp9Ci5mb290ZXItc29jaWFsIHVsIGxpIGEgaS5mYS1saW5rZWRpbjpob3ZlciB7CiAgYmFja2dyb3VuZDogIzNkYWNjZjsKfQouZm9vdGVyLXNvY2lhbCB1bCBsaSBhIGkuZmEtaW5zdGFncmFtOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjM2Y3MjliOwp9CgovKiBMaW5rcyAqLwouZm9vdGVyLXdpZGdldCB1bC5saXN0LWRhc2ggbGkgewogIHdpZHRoOiA1MCU7CiAgZmxvYXQ6IGxlZnQ7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICBwYWRkaW5nLWJvdHRvbTogMjVweDsKICBmb250LXNpemU6IDE1cHg7Cn0KLmZvb3Rlci13aWRnZXQgdWwubGlzdC1kYXNoIGxpIGEgewogIGNvbG9yOiAjZmZmOwp9Ci5mb290ZXItd2lkZ2V0IHVsLmxpc3QtZGFzaCBsaSBhOmhvdmVyIHsKICBjb2xvcjogI2ZjNmEyYTsKfQoKLyogTmV3c2xldHRlciAqLwoubmV3c2xldHRlci13aWRnZXQgewogIGJvcmRlcjogMDsKICBwYWRkaW5nLXRvcDogMDsKfQoubmV3c2xldHRlci13aWRnZXQgLndpZGdldC10aXRsZSB7CiAgbWFyZ2luLXRvcDogMDsKICBsaW5lLWhlaWdodDogNDBweDsKICBtYXJnaW4tYm90dG9tOiAyNXB4Owp9Ci5uZXdzbGV0dGVyLXdpZGdldCAud2lkZ2V0LXRpdGxlIHNwYW4gewogIGZvbnQtc2l6ZTogMzZweDsKICBkaXNwbGF5OiBibG9jazsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoubmV3c2xldHRlci1mb3JtIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLm5ld3NsZXR0ZXItZm9ybSBpbnB1dCB7CiAgd2lkdGg6IDgwJTsKICBtYXJnaW46IDE1cHggMDsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGNvbG9yOiAjMzMzOwogIGZvbnQtc2l6ZTogMTRweDsKICBoZWlnaHQ6IDUwcHg7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGJvcmRlcjogMDsKICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAyNXB4Owp9Ci5uZXdzbGV0dGVyLWZvcm0gLmJ0bi5idG4tcHJpbWFyeSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxM3B4OwogIHRvcDogMDsKICBib3JkZXItcmFkaXVzOiAwIDI1cHggMjVweCAwOwogIHBhZGRpbmc6IDEzcHggMjBweDsKICBoZWlnaHQ6IDUwcHg7Cn0KCi8qIENvcHlyaWdodCAqLwouY29weXJpZ2h0IHsKICBiYWNrZ3JvdW5kOiAjMDAwODFkOwogIGNvbG9yOiAjOGM5M2E1OwogIHBhZGRpbmc6IDMwcHggMDsKICBmb250LXNpemU6IDE1cHg7Cn0KCi5mb290ZXItbWVudSB7CiAgZmxvYXQ6IHJpZ2h0Owp9Ci5mb290ZXItbWVudSB1bCBsaSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBhZGRpbmctbGVmdDogOHB4Owp9Ci5mb290ZXItbWVudSB1bCBsaSBhIHsKICBjb2xvcjogIzhjOTNhNTsKICBwYWRkaW5nOiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsKICBsaW5lLWhlaWdodDogMTBweDsKICBwYWRkaW5nLXJpZ2h0OiAxMHB4OwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci5mb290ZXItbWVudSB1bCBsaSBhOmhvdmVyIHsKICBjb2xvcjogI2ZjNmEyYTsKfQouZm9vdGVyLW1lbnUgdWwgbGk6bGFzdC1jaGlsZCBhIHsKICBib3JkZXItcmlnaHQ6IDA7Cn0KCiNiYWNrLXRvLXRvcCB7CiAgcG9zaXRpb246IGZpeGVkOwogIHJpZ2h0OiA0MHB4OwogIHRvcDogYXV0bzsKICB6LWluZGV4OiAxMDsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgZGlzcGxheTogbm9uZTsKfQojYmFjay10by10b3AuYWZmaXggewogIGJvdHRvbTogMjVweDsKfQojYmFjay10by10b3AgLmJ0bi5idG4tcHJpbWFyeSB7CiAgZm9udC1zaXplOiAxOHB4OwogIHBhZGRpbmc6IDZweCAxNXB4OwogIHdpZHRoOiA0NHB4OwogIGhlaWdodDogNDRweDsKICBsaW5lLWhlaWdodDogMzBweDsKICBib3JkZXItcmFkaXVzOiAxMDAlOwp9CgovKiBTdWIgUGFnZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLyotLSBUaXRsZSBib3JkZXIgLS0qLwoubWFpbi1jb250YWluZXIgLmJvcmRlci1sZWZ0IHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9CgovKi0tIEJhbm5lciAtLSovCi5iYW5uZXItYXJlYSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1pbi1oZWlnaHQ6IDUwMHB4OwogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKfQouYmFubmVyLWFyZWEgLmNvbnRhaW5lciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouYmFubmVyLXRpdGxlIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDEwMHB4OwogIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KCi5iYW5uZXItaGVhZGluZyB7CiAgcGFkZGluZzogMTAwcHggMCAwIDA7CiAgd2lkdGg6IDEwMCU7CiAgY29sb3I6ICNmZmY7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogIGRpc3BsYXk6IC1tb3otYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAtbW96LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogIC1tb3otYm94LXBhY2s6IGNlbnRlcjsKICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjsKICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7CiAgYWxpZ24tY29udGVudDogY2VudGVyOwogIG1pbi1oZWlnaHQ6IDUwMHB4Owp9CgouYnJlYWRjcnVtYiB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBwYWRkaW5nOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7CiAgZm9udC1zaXplOiAxNnB4OwogIGZvbnQtd2VpZ2h0OiAzMDA7Cn0KLmJyZWFkY3J1bWIgbGk6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7CiAgY29udGVudDogIi8iOwogIG1hcmdpbjogMCA1cHg7Cn0KLmJyZWFkY3J1bWIgYTpob3ZlciB7CiAgY29sb3I6ICNmZmY7Cn0KCi8qLS0gQWJvdXQgdXMgcGFnZSAtLSovCi5hYm91dC1wYXR0ZXJuIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKICBwYWRkaW5nOiA4MHB4IDA7Cn0KLmFib3V0LXBhdHRlcm46YmVmb3JlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGNvbnRlbnQ6ICIiOwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2VzL3BhdHRlcm4vYmdfcGF0dGVybjEucG5nIikgMTAwJSAxMDAlOwogIHotaW5kZXg6IC0xOwp9CgouYWJvdXQtZGVzYyBwIHsKICBmb250LXdlaWdodDogNTAwOwp9CgouY2VvLWRlc2lnbmF0aW9uIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLmNlby1kZXNpZ25hdGlvbiBwIHsKICBtYXJnaW46IDA7CiAgZm9udC1zaXplOiAyMHB4OwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbWFyZ2luLWJvdHRvbTogLTEwcHg7Cn0KLmNlby1kZXNpZ25hdGlvbiBzbWFsbCB7CiAgZm9udC1zaXplOiAxNHB4Owp9CgouY2VvLWRlc2MgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLmNlby1zaWduYXR1cmUgewogIG1hcmdpbi10b3A6IDM1cHg7Cn0KLmNlby1zaWduYXR1cmUgPiBpbWcgewogIGZsb2F0OiByaWdodDsKfQouY2VvLXNpZ25hdHVyZTphZnRlciB7CiAgZGlzcGxheTogYmxvY2s7CiAgY29udGVudDogIiI7CiAgY2xlYXI6IGJvdGg7Cn0KCi5jZW8tZGVzYyBpbWcgewogIHdpZHRoOiA5NXB4OwogIGhlaWdodDogOTVweDsKICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KCi8qIHRzIHByb2dyZXNzICovCi50cy1za2lsbHMtYXJlYSAudHMtcGFkZGluZyB7CiAgcGFkZGluZy1ib3R0b206IDUwcHg7CiAgcGFkZGluZy1yaWdodDogODBweDsKfQoKLnRzLXByb2dyZXNzLWJhciB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLnByb2dyZXNzIHsKICBoZWlnaHQ6IDVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IHZpc2libGU7Cn0KLnByb2dyZXNzIC5wcm9ncmVzcy12YWx1ZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxNnB4OwogIGNvbG9yOiAjMDAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC0yNXB4OwogIHJpZ2h0OiAwOwp9CgoudHMtcHJvZ3Jlc3MtYmFyIGgzIHsKICBmb250LXNpemU6IDE4cHg7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBtYXJnaW46IDAgMCAxMHB4IDA7Cn0KCi8qIHRzIGZlYXR1cmUgYm94ICovCi50cy1mZWF0dXJlcy1saWdodCAudHMtZmVhdHVyZS1pbmZvIGkgewogIGNvbG9yOiAjMjE1NGNmOwp9CgoudHMtZmVhdHVyZXMtbGlnaHQgLnRzLWZlYXR1cmUtaW5mbyBoMyB7CiAgZm9udC1zaXplOiAyNHB4Owp9CgoudHMtZmVhdHVyZXMtbGlnaHQgLnRzLWZlYXR1cmUtYm94IC50cy1mZWF0dXJlLWluZm8gewogIHBhZGRpbmc6IDAgMjBweDsKfQoKLnRzLWZlYXR1cmVzLWxpZ2h0IC50cy1mZWF0dXJlLWJveCAudHMtZmVhdHVyZS1pbmZvIHAgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KCi50cy1mZWF0dXJlLWJveCAudHMtZmVhdHVyZS10aXRsZSB7CiAgZm9udC1zaXplOiAyMHB4OwogIG1hcmdpbjogMjBweCAwIDEwcHg7CiAgY29sb3I6ICMwMDA7Cn0KLnRzLWZlYXR1cmUtYm94IC50cy1mZWF0dXJlLWluZm8gewogIGNvbG9yOiAjMDAwOwogIHotaW5kZXg6IDE7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDE1cHg7Cn0KCi5mZWF0dXJlLXRleHQtYm94IC5jb2x1bW4tdGl0bGUgewogIGZvbnQtc2l6ZTogMzZweDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KCi5mZWF0dXJlLXRleHQtYm94IC5jb2x1bW4tdGl0bGUgc3BhbiB7CiAgZm9udC1zaXplOiAyMHB4Owp9CgouZmVhdHVyZS10ZXh0LWJveCAuYnRuIHsKICBwYWRkaW5nOiAxNXB4IDYwcHg7CiAgbWFyZ2luLXRvcDogMTBweDsKfQoKLyogRkFRIHBhZ2UgKi8KLnBhbmVsLWhlYWRpbmcgaSB7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKICBjb2xvcjogI2ZmZjsKICBib3JkZXItcmFkaXVzOiA1cHg7CiAgZm9udC1zaXplOiAyMHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgbWFyZ2luLXJpZ2h0OiAxNXB4Owp9CgouaGVscC1ib3gsCi50cy10ZXN0aW1vbmlhbC1zdGF0aWMgewogIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7Cn0KLmhlbHAtYm94IC5oZWxwLAoudHMtdGVzdGltb25pYWwtc3RhdGljIC5oZWxwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4OwogIHBhZGRpbmc6IDMwcHg7CiAgY29sb3I6ICNmZmY7Cn0KLmhlbHAtYm94IC5xdW90ZS1pdGVtLAoudHMtdGVzdGltb25pYWwtc3RhdGljIC5xdW90ZS1pdGVtIHsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KLmhlbHAtYm94IC5xdW90ZS1pdGVtIC5xdW90ZS10ZXh0OmJlZm9yZSwKLnRzLXRlc3RpbW9uaWFsLXN0YXRpYyAucXVvdGUtaXRlbSAucXVvdGUtdGV4dDpiZWZvcmUgewogIGxlZnQ6IDUwJTsKICBtYXJnaW4tbGVmdDogLTM1cHg7Cn0KLmhlbHAtYm94IC5xdW90ZS1pdGVtIC5xdW90ZS10ZXh0OmFmdGVyLAoudHMtdGVzdGltb25pYWwtc3RhdGljIC5xdW90ZS1pdGVtIC5xdW90ZS10ZXh0OmFmdGVyIHsKICBkaXNwbGF5OiBub25lOwp9Ci5oZWxwLWJveCAucXVvdGUtaXRlbSAucXVvdGUtaXRlbS1mb290ZXIsCi50cy10ZXN0aW1vbmlhbC1zdGF0aWMgLnF1b3RlLWl0ZW0gLnF1b3RlLWl0ZW0tZm9vdGVyIHsKICBtYXJnaW4tdG9wOiAwOwogIG1hcmdpbi1sZWZ0OiA3NXB4Owp9Ci5oZWxwLWJveCAucXVvdGUtaXRlbSAucXVvdGUtaXRlbS1pbmZvLAoudHMtdGVzdGltb25pYWwtc3RhdGljIC5xdW90ZS1pdGVtIC5xdW90ZS1pdGVtLWluZm8gewogIHBhZGRpbmctdG9wOiAyMHB4Owp9Ci5oZWxwLWJveCAucXVvdGUtaXRlbSAucXVvdGUtaXRlbS1pbmZvIC5xdW90ZS1hdXRob3IsCi50cy10ZXN0aW1vbmlhbC1zdGF0aWMgLnF1b3RlLWl0ZW0gLnF1b3RlLWl0ZW0taW5mbyAucXVvdGUtYXV0aG9yIHsKICBjb2xvcjogIzI1MmEzNzsKICBmb250LXNpemU6IDIwcHg7CiAgZm9udC13ZWlnaHQ6IDcwMDsKfQouaGVscC1ib3ggLnF1b3RlLWl0ZW0gLnF1b3RlLWl0ZW0taW5mbyAucXVvdGUtc3VidGV4dCwKLnRzLXRlc3RpbW9uaWFsLXN0YXRpYyAucXVvdGUtaXRlbSAucXVvdGUtaXRlbS1pbmZvIC5xdW90ZS1zdWJ0ZXh0IHsKICBjb2xvcjogIzYyNmM4NDsKICBmb250LXNpemU6IDE0cHg7Cn0KLmhlbHAtYm94IC5xdW90ZS1jbGFzc2ljLAoudHMtdGVzdGltb25pYWwtc3RhdGljIC5xdW90ZS1jbGFzc2ljIHsKICBib3JkZXI6IDFweCBzb2xpZCAjRUFFQUVBOwogIHBhZGRpbmctYm90dG9tOiAyNXB4Owp9CgouaGVscCBoMiB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiAyNHB4Owp9Ci5oZWxwIC5idG4tcHJpbWFyeSB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBjb2xvcjogIzE3YTJiODs7Cn0KCi5uYXYuYnRuLXN1Y2Nlc3N7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBjb2xvcjogIzE3YTJiODs7Cn0KCi5icm9jaHVyZSB7CiAgYm9yZGVyOiAycHggc29saWQgI0VBRUFFQTsKICBmb250LXNpemU6IDI0cHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHBhZGRpbmc6IDI1cHg7Cn0KLmJyb2NodXJlIGkgewogIHBhZGRpbmctbGVmdDogMjBweDsKfQoKLnF1b3RlLWNsYXNzaWMgLnF1b3RlLXRleHQgewogIG1hcmdpbjogNDBweCAwIDEwcHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBhZGRpbmc6IDUwcHggNDBweCAzMHB4IDQ1cHg7CiAgY29sb3I6ICM2MjZjODQ7CiAgYmFja2dyb3VuZDogbm9uZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZm9udC1zaXplOiAxNnB4Owp9CgoucXVvdGUtZm9vdGVyLWNsYXNzaWMgLnF1b3RlLWF1dGhvciB7CiAgZm9udC1zaXplOiAyMHB4OwogIGxpbmUtaGVpZ2h0OiAyMHB4OwogIG1hcmdpbjogMCAwIDJweDsKICBmb250LXdlaWdodDogNjAwOwogIGRpc3BsYXk6IGJsb2NrOwogIGNvbG9yOiAjMWYxYzFjOwp9CgovKiBDYXJlZXIgUGFnZSovCi5jYXJlZXItYmctMSB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvY2FyZWVyL2NhcmVlcl9iZzEuanBnIik7Cn0KCi5jYXJlZXItYmctMiB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvY2FyZWVyL2NhcmVlcl9iZzIuanBnIik7Cn0KCi5jYXJlZXItYmctMyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvY2FyZWVyL2NhcmVlcl9iZzMuanBnIik7Cn0KCi5jYXJlZXItYmctNCB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvY2FyZWVyL2NhcmVlcl9iZzQuanBnIik7Cn0KCi5jYXJlZXItYmctNSB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvY2FyZWVyL2NhcmVlcl9iZzEuanBnIik7Cn0KCi5jYXJyZXItZ2FsbGVyeS1sYXlvdXQ6YWZ0ZXIgewogIGNsZWFyOiBib3RoOwogIGRpc3BsYXk6IGJsb2NrOwogIGNvbnRlbnQ6ICIiOwp9CgouY2FyZWVyLWxheW91dCB7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgd2lkdGg6IDMxLjUlOwogIGhlaWdodDogMzIwcHg7CiAgZmxvYXQ6IGxlZnQ7Cn0KLmNhcmVlci1sYXlvdXQuY2FyZWVyLWxheW91dC1kb3VibGUgewogIHdpZHRoOiA2Ni42NjY2JTsKfQouY2FyZWVyLWxheW91dC5jYXJlZXItbGF5b3V0LXNtYWxsIHsKICBoZWlnaHQ6IDE1NXB4Owp9CgouaG93dG8gaDMgewogIGNvbG9yOiAjZmZmOwp9Ci5ob3d0byBwIHsKICBjb2xvcjogI2ZmZjsKfQoKLmNhcmVlci1ib2R5IHsKICBwYWRkaW5nLXRvcDogMDsKfQoKLmpvYi1ib3ggewogIGJhY2tncm91bmQ6ICNmN2Y3Zjc7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IHRhYmxlOwogIHRhYmxlLWxheW91dDogZml4ZWQ7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogMjBweCAzMHB4OwogIG1hcmdpbi1ib3R0b206IDU1cHg7CiAgbWFyZ2luLXRvcDogNTVweDsKICBib3JkZXItcmFkaXVzOiAzcHg7Cn0KLmpvYi1ib3ggLmpvYi1pbmZvIHsKICBkaXNwbGF5OiB0YWJsZS1jZWxsOwogIGxpbmUtaGVpZ2h0OiAyNnB4OwogIHBhZGRpbmc6IDAgMTBweDsKICBmb250LXNpemU6IDE1cHg7Cn0KLmpvYi1ib3ggLmpvYi1pbmZvIC5pY29uIHsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogMjVweDsKICBtYXJnaW4tdG9wOiA1cHg7Cn0KLmpvYi1ib3ggLmpvYi1pbmZvIC5kZXNjIHsKICBvdmVyZmxvdzogaGlkZGVuOwogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KLmpvYi1ib3ggLmpvYi1pbmZvIC5kZXNjIHN0cm9uZyB7CiAgZGlzcGxheTogYmxvY2s7CiAgY29sb3I6ICMyMTU0Y2Y7CiAgbWFyZ2luLXRvcDogNXB4Owp9Cgouc2tpbGwtdGl0bGUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tYm90dG9tOiA1MHB4Owp9Ci5za2lsbC10aXRsZSA6YWZ0ZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiAwOwogIGJvdHRvbTogLTIwcHg7CiAgY29udGVudDogIiI7CiAgYmFja2dyb3VuZDogIzIxNTRDRjsKICB3aWR0aDogNDBweDsKICBoZWlnaHQ6IDJweDsKfQoKLyogUHJpY2luZyB0YWJsZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoucHJpY2luZyB7CiAgcGFkZGluZy1ib3R0b206IDgwcHg7Cn0KCi5wcmljZS1pY29uLXdyYXBwZXIgewogIGhlaWdodDogNDBweDsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgZGlzcGxheTogLW1vei1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1mbGV4OiAwOwogIC13ZWJraXQtZmxleDogMCAwIDEwMCU7CiAgLW1vei1ib3gtZmxleDogMDsKICAtbXMtZmxleDogMCAwIDEwMCU7CiAgZmxleDogMCAwIDEwMCU7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgLW1vei1ib3gtcGFjazogY2VudGVyOwogIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtbW96LWJveC1hbGlnbjogY2VudGVyOwogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBmb250LXNpemU6IDMwcHg7Cn0KCi5wbGFuIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhOwogIGJvcmRlci1yYWRpdXM6IDRweDsKfQoucGxhbiB1bCB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBwYWRkaW5nOiAwOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnBsYW4gbGkgewogIHBhZGRpbmc6IDhweCAzMHB4OwogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KLnBsYW4gLmJ0biB7CiAgbWFyZ2luOiAyNXB4IDAgNDBweDsKfQoucGxhbi5mZWF0dXJlZCB7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKICBjb2xvcjogI2ZmZjsKICBwYWRkaW5nOiA0MHB4IDA7CiAgbWFyZ2luOiAtNDBweCAwOwp9Ci5wbGFuLmZlYXR1cmVkIHVsIHsKICBiYWNrZ3JvdW5kOiBub25lOwp9Ci5wbGFuLmZlYXR1cmVkIC5wbGFuLW5hbWUgewogIGNvbG9yOiAjZmZmOwp9Ci5wbGFuLmZlYXR1cmVkIC5wbGFuLXByaWNlIHsKICBjb2xvcjogI2ZmZjsKfQoucGxhbi5mZWF0dXJlZCAuYnRuIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGNvbG9yOiAjMjE1NGNmOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7Cn0KLnBsYW4uZmVhdHVyZWQgLmJ0bjpob3ZlciB7CiAgYmFja2dyb3VuZDogIzFjMTIxZDsKICBjb2xvcjogI2ZmZjsKfQoucGxhbi5wbGFuLWxhc3QgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KCi5wbGFuLW5hbWUgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMjRweDsKICBsaW5lLWhlaWdodDogMzBweDsKICBmb250LXdlaWdodDogNzAwOwogIHBhZGRpbmc6IDIwcHggMDsKICBjb2xvcjogIzI1MmEzNzsKICBtYXJnaW4tYm90dG9tOiAwOwp9Ci5wbGFuLW5hbWUgc21hbGwgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogNzAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7Cn0KCi5wbGFuLXByaWNlIHsKICBmb250LXNpemU6IDQ4cHg7CiAgcGFkZGluZzogMCAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBjb2xvcjogIzI1MmEzNzsKICBtYXJnaW46IDAgMCAyNXB4Owp9Ci5wbGFuLXByaWNlIC5jdXJyZW5jeSB7CiAgdG9wOiAtMC45ZW07CiAgZm9udC1zaXplOiA1MCU7CiAgbGVmdDogLTAuMDFlbTsKICBmb250LXdlaWdodDogNzAwOwp9Ci5wbGFuLXByaWNlIHN1YiB7CiAgZm9udC1zaXplOiAyMHB4OwogIGxlZnQ6IC0wLjZlbTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi50cy1wcmljZS1ib3ggewogIG1hcmdpbi10b3A6IDEwMHB4OwogIHBhZGRpbmctdG9wOiAxMDBweDsKICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7CiAgbWFyZ2luLWJvdHRvbTogLTgwcHg7Cn0KCi5wcmljaW5nLWJveGVkIHsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgZGlzcGxheTogLW1vei1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1mbGV4OiAwOwogIC13ZWJraXQtZmxleDogMCAwIDEwMCU7CiAgLW1vei1ib3gtZmxleDogMDsKICAtbXMtZmxleDogMCAwIDEwMCU7CiAgZmxleDogMCAwIDEwMCU7CiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICBmbGV4LXdyYXA6IHdyYXA7Cn0KLnByaWNpbmctYm94ZWQ6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGNsZWFyOiBib3RoOwogIGRpc3BsYXk6IGJsb2NrOwp9Cgouc2luZ2xlLXByaWNlLWJveCB7CiAgd2lkdGg6IDMzLjMzMzMlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouc2luZ2xlLXByaWNlLWJveCAucHJpY2luZy1oZWFkZXIgewogIG1pbi1oZWlnaHQ6IDE0NXB4OwogIHBhZGRpbmc6IDEwcHggMDsKICBtYXJnaW4tYm90dG9tOiA3MHB4OwogIGJhY2tncm91bmQ6ICMwMDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDM7Cn0KLnNpbmdsZS1wcmljZS1ib3ggLnByaWNpbmctaGVhZGVyIGgzLAouc2luZ2xlLXByaWNlLWJveCAucHJpY2luZy1oZWFkZXIgaDIgewogIGNvbG9yOiAjZmZmOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLnNpbmdsZS1wcmljZS1ib3ggLnByaWNpbmctaGVhZGVyLmJvcmRlci1sZWZ0IHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDsKICB9CiAgLnNpbmdsZS1wcmljZS1ib3ggLnByaWNpbmctaGVhZGVyLmJvcmRlci1yaWdodCB7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OwogIH0KfQouc2luZ2xlLXByaWNlLWJveC5mZWF0dXJlZCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICBwYWRkaW5nLWJvdHRvbTogMzBweDsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIG1hcmdpbi10b3A6IC0zMHB4Owp9Ci5zaW5nbGUtcHJpY2UtYm94LmZlYXR1cmVkIC5wcmljaW5nLWhlYWRlciB7CiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7CiAgYmFja2dyb3VuZDogI0ZDNkIyQTsKfQouc2luZ2xlLXByaWNlLWJveC5mZWF0dXJlZCAuYnRuLXByaW1hcnkgewogIGJhY2tncm91bmQ6ICNGQzZCMkE7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKfQouc2luZ2xlLXByaWNlLWJveC5mZWF0dXJlZCAuYnRuLXByaW1hcnk6aG92ZXIgewogIGJhY2tncm91bmQ6ICMwMDA7Cn0KLnNpbmdsZS1wcmljZS1ib3ggLnByaWNpbmctcGxhbiAubGlzdC11bnN0eWxlZCBsaSB7CiAgcGFkZGluZy1ib3R0b206IDEycHg7Cn0KLnNpbmdsZS1wcmljZS1ib3ggLnByaWNpbmctcGxhbiAubGlzdC11bnN0eWxlZCBsaTpsYXN0LWNoaWxkIHsKICBwYWRkaW5nLWJvdHRvbTogMzVweDsKfQouc2luZ2xlLXByaWNlLWJveCAucHJpY2luZy1wbGFuIHsKICBwYWRkaW5nLWJvdHRvbTogNDBweDsKICBiYWNrZ3JvdW5kOiAjZmZmOwp9CgovKiBGQVEgUGFnZSovCi8qIENvbGxhcHNlICovCi5jYXJkIHsKICBib3JkZXI6IG5vbmU7Cn0KCi5jYXJkLWhlYWRlciB7CiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OwogIGNvbG9yOiAjNjI2Yzg0OwogIHBhZGRpbmc6IDIwcHggMCAyMXB4Owp9CgouY2FyZC1oZWFkZXIgaSB7CiAgYmFja2dyb3VuZDogIzE3YTJiODsKICBjb2xvcjogI2ZmZjsKICBib3JkZXItcmFkaXVzOiA1cHg7CiAgZm9udC1zaXplOiAyMHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgbWFyZ2luLXJpZ2h0OiAxNXB4Owp9CgouY2FyZC1ib2R5IHsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsKICBib3JkZXItdG9wOiBub25lOwp9CgoKCi5idG4tbGluazpob3ZlciB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgouYnRuOmZvY3VzIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKfQoKaDUubWItMCB7CiAgbWFyZ2luLWxlZnQ6IDA7CiAKICAKfQoKaDUubWItMCBidXR0b24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLWxlZnQ6IDU1cHg7CiAgIAp9CgpoNS5tYi0wIGJ1dHRvbi5jb2xsYXBzZWQgewogIGNvbG9yOiAjMzMzOwp9CgpoNS5tYi0wIGJ1dHRvbjpiZWZvcmUgewogIGNvbG9yOiAjZmZmOwogIHdpZHRoOiA0MHB4OwogIGhlaWdodDogNDBweDsKICBsaW5lLWhlaWdodDogNDBweDsKICBib3JkZXItcmFkaXVzOiAzcHg7Cn0KCmg1Lm1iLTAgYnV0dG9uOmJlZm9yZSwKaDUubWItMCBidXR0b24gLmNvbGxhcHNlZDpiZWZvcmUgewogIGZvbnQtZmFtaWx5OiAiRm9udEF3ZXNvbWUiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAwOwogIGZvbnQtc2l6ZTogMTZweDsKICBsZWZ0OiAwcHg7CiAgcGFkZGluZzogMCA1cHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRvcDogNTAlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwp9CgouY2FyZC1oZWFkZXIgYnV0dG9uIHAgewogIG1hcmdpbi1ib3R0b206IDBweDsKICBmb250LXdlaWdodDogNTAwOwogIGNvbG9yOiAjNjI2Yzg0Owp9CgpoNS5tYi0wIGJ1dHRvbiBwOmhvdmVyIHsKICBjb2xvcjogIzE3YTJiODsKfQoKaDUubWItMCBidXR0b246YmVmb3JlIHsKICBjb250ZW50OiAiXGYwNjgiOwp9CgpoNS5tYi0wIGJ1dHRvbi5jb2xsYXBzZWQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwNjciOwp9CgouY2FyZC1oZWFkZXIgLmNvbGxhcHNlZCAuc2hvdyB7CiAgYm9yZGVyLWJvdHRvbTogbm9uZTsKfQoKLyogUXVvdGUgYXJlYSAqLwoucXVvdGUtaXRlbSAucXVvdGUtdGV4dDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkzNyI7CiAgZm9udC1mYW1pbHk6ICdpY29uZm9udCc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGZvbnQtc2l6ZTogMzVweDsKICBsZWZ0OiAxMDVweDsKICBjb2xvcjogIzIxNTRjZjsKICBiYWNrZ3JvdW5kOiBub25lOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwp9CgovKiBTbGlkZXIgcGFnZXMgKi8KLnBhZ2Utc2xpZGVyLnNtYWxsLWJnIC5pdGVtIHsKICBtaW4taGVpZ2h0OiAzMzBweDsKfQoucGFnZS1zbGlkZXIuc21hbGwtYmcgLmJveC1zbGlkZXItY29udGVudCB7CiAgbGVmdDogMjAlOwp9Ci5wYWdlLXNsaWRlci5zbWFsbC1iZyAuYm94LXNsaWRlci10ZXh0IHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIHBhZGRpbmc6IDVweCAyMHB4Owp9Ci5wYWdlLXNsaWRlci5zbWFsbC1iZyAuYm94LXNsaWRlLXRpdGxlIHsKICBmb250LXNpemU6IDI4cHg7CiAgY29sb3I6ICNmZmY7CiAgZm9udC13ZWlnaHQ6IDkwMDsKfQoKLyotLSBHZXQgYSBxdW90ZSBwYWdlIC0tKi8KLnBhZ2UtcXVvdGUtZm9ybSB7CiAgYmFja2dyb3VuZDogI2YyZjJmMjsKICBwYWRkaW5nOiAzMHB4IDUwcHggNTBweDsKfQoKLmdldC1hLXF1b3RlLWltZyB7CiAgbWFyZ2luLWJvdHRvbTogLTE5MHB4Owp9CgovKi0tIFByaWNpbmcgdGFibGUgIC0tKi8KLnRzLXByaWNpbmctYm94IHsKICBtYXJnaW46IDIwcHggMDsKICBwYWRkaW5nOiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZjlmOWY5Owp9CgoudHMtcHJpY2luZy1oZWFkZXIgewogIGJhY2tncm91bmQ6ICMyNTI1MjU7CiAgY29sb3I6ICNmZmY7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDMwcHggMjBweDsKfQoKLnRzLXByaWNpbmctbmFtZSB7CiAgZm9udC1zaXplOiAxOHB4OwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgbWFyZ2luOiAwIDAgNXB4IDA7CiAgY29sb3I6ICNmZmY7Cn0KCi50cy1wcmljaW5nLXByaWNlIHsKICBmb250LXNpemU6IDQ0cHg7CiAgY29sb3I6ICNmZmY7CiAgbWFyZ2luOiAxNXB4IDAgMDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLnRzLXByaWNpbmctcHJpY2UgPiBzbWFsbCB7CiAgZm9udC1zaXplOiAxNnB4OwogIGxpbmUtaGVpZ2h0OiAxNnB4OwogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbi10b3A6IDE1cHg7CiAgY29sb3I6ICNmZmY7Cn0KCi50cy1wcmljaW5nLWZlYXR1cmVzIHsKICBwYWRkaW5nOiAxNXB4IDA7Cn0KLnRzLXByaWNpbmctZmVhdHVyZXMgPiB1bCB7CiAgcGFkZGluZzogMCAyMHB4Owp9Ci50cy1wcmljaW5nLWZlYXR1cmVzID4gdWwgPiBsaSB7CiAgcGFkZGluZzogMjBweCAwOwogIGJvcmRlci10b3A6IDFweCBkb3R0ZWQgI2U1ZTVlNTsKfQoudHMtcHJpY2luZy1mZWF0dXJlcyA+IHVsID4gbGk6Zmlyc3QtY2hpbGQgewogIGJvcmRlci10b3A6IDA7Cn0KCi5wbGFuLWFjdGlvbiB7CiAgcGFkZGluZy1ib3R0b206IDQwcHg7Cn0KCi8qIFByaWNpbmcgZmVhdHVyZWQgKi8KLnRzLXByaWNpbmctYm94LnRzLXByaWNpbmctZmVhdHVyZWQgLnRzLXByaWNpbmctaGVhZGVyIHsKICBiYWNrZ3JvdW5kOiAjZmY5NzAwOwp9CgovKiBDb250YWN0IFVzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5tYXAgewogIGhlaWdodDogNDA1cHg7CiAgei1pbmRleDogMTsKfQoKLmNvbnRhY3QtaW5mby1ib3ggewogIG1hcmdpbi10b3A6IDIwcHg7Cn0KLmNvbnRhY3QtaW5mby1ib3ggaSB7CiAgZmxvYXQ6IGxlZnQ7CiAgZm9udC1zaXplOiAyNHB4OwogIGNvbG9yOiAjMjE1NGNmOwp9CgouY29udGFjdC1pbmZvLWJveC1jb250ZW50IHsKICBwYWRkaW5nLWxlZnQ6IDQwcHg7Cn0KLmNvbnRhY3QtaW5mby1ib3gtY29udGVudCBoNCB7CiAgZm9udC1zaXplOiAxNnB4OwogIG1hcmdpbi10b3A6IDA7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwp9Ci5jb250YWN0LWluZm8tYm94LWNvbnRlbnQgcCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoKbGFiZWwgewogIGZvbnQtd2VpZ2h0OiA0MDA7Cn0KCi5ib3gtYm9yZGVyIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhOwogIHBhZGRpbmc6IDIwcHggMzBweDsKfQoKLnRzLWNvbnRhY3QtaW5mbyAudHMtY29udGFjdC1pY29uIHsKICBmbG9hdDogbGVmdDsKICBmb250LXNpemU6IDQ0cHg7CiAgY29sb3I6ICMyMTU0Y2Y7Cn0KCi50cy1jb250YWN0LWluZm8gLnRzLWNvbnRhY3QtY29udGVudCB7CiAgbWFyZ2luLWxlZnQ6IDcwcHg7Cn0KCi50cy1jb250YWN0LWluZm8gLnRzLWNvbnRhY3QtY29udGVudCBwIHsKICBtYXJnaW46IDA7Cn0KCi50cy1jb250YWN0LWluZm8gLnRzLWNvbnRhY3QtdGl0bGUgewogIGZvbnQtc2l6ZTogMjBweDsKICBtYXJnaW46IDA7Cn0KCi8qIENvbnRhY3QgcGFnZSAyICovCi5jb250YWN0LWJveC5pbmZvLWJveCB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZXMvbmV3cy9uZXdzMS5odG1sIik7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7Cn0KCi5jb250YWN0LXdyYXBwZXIgewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICBkaXNwbGF5OiAtbW96LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTsKICAtbW96LWJveC1mbGV4OiAwOwogIC1tcy1mbGV4OiAwIDAgMTAwJTsKICBmbGV4OiAwIDAgMTAwJTsKICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAtbXMtZmxleC13cmFwOiB3cmFwOwogIGZsZXgtd3JhcDogd3JhcDsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDhweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgYm94LXNoYWRvdzogMHB4IDhweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KCi5jb250YWN0LWJveCB7CiAgbWluLWhlaWdodDogNDUwcHg7CiAgcGFkZGluZzogNDBweDsKfQouY29udGFjdC1ib3guZm9ybS1ib3ggewogIHdpZHRoOiA2MCU7Cn0KLmNvbnRhY3QtYm94LmluZm8tYm94IHsKICBwYWRkaW5nLWxlZnQ6IDQwcHg7CiAgcGFkZGluZy10b3A6IDQwcHg7CiAgd2lkdGg6IDQwJTsKfQouY29udGFjdC1ib3guaW5mby1ib3g6YWZ0ZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgY29udGVudDogIiI7CiAgYmFja2dyb3VuZDogcmdiYSgxNSwgMzksIDEwMSwgMC45KTsKICB6LWluZGV4OiAtMTsKfQouY29udGFjdC1ib3guaW5mby1ib3guZm9ybS1ib3ggewogIHBhZGRpbmc6IDQwcHg7Cn0KLmNvbnRhY3QtYm94LmluZm8tYm94IC50cy1jb250YWN0LWNvbnRlbnQgaDMsCi5jb250YWN0LWJveC5pbmZvLWJveCAudHMtY29udGFjdC1jb250ZW50IHAgewogIGNvbG9yOiAjZmZmOwp9Ci5jb250YWN0LWJveC5pbmZvLWJveCAudHMtY29udGFjdC1jb250ZW50IC50cy1jb250YWN0LWluZm8gaSB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiA0MHB4Owp9CgouY29udGFjdC1pbmZvLXJpZ2h0IGgzIHsKICBjb2xvcjogI2ZmZjsKICBtYXJnaW4tYm90dG9tOiA0MHB4OwogIGZvbnQtc2l6ZTogMzBweDsKfQouY29udGFjdC1pbmZvLXJpZ2h0IC50cy1jb250YWN0LWNvbnRlbnQgewogIHBhZGRpbmctYm90dG9tOiAzMHB4Owp9Ci5jb250YWN0LWluZm8tcmlnaHQgLnRzLWNvbnRhY3QtY29udGVudCBoMyB7CiAgZm9udC1zaXplOiAyMHB4Owp9Ci5jb250YWN0LWluZm8tcmlnaHQgLnRzLWNvbnRhY3QtY29udGVudCBwIHsKICBmb250LXNpemU6IDE0cHg7Cn0KLmNvbnRhY3QtaW5mby1yaWdodCAudHMtY29udGFjdC1pbmZvLmxhc3QgLnRzLWNvbnRhY3QtY29udGVudCB7CiAgcGFkZGluZy1ib3R0b206IDE1cHg7Cn0KLmNvbnRhY3QtaW5mby1yaWdodCAudHMtY29udGFjdC1pbmZvIGkgewogIGNvbG9yOiAjZmZmOwogIGZvbnQtc2l6ZTogNDBweDsKfQoKLmNvbnRhY3QtaW5mby1zb2NpYWwtbGlua3MgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIG1hcmdpbi1sZWZ0OiAtNDBweDsKfQouY29udGFjdC1pbmZvLXNvY2lhbC1saW5rcyBsaSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Ci5jb250YWN0LWluZm8tc29jaWFsLWxpbmtzIGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIGNvbG9yOiAjZmZmOwogIHBhZGRpbmc6IDEwcHg7Cn0KCi50cy1mb3JtLmZvcm0tYm94ZWQgewogIG1hcmdpbi1ib3R0b206IC0yMDBweDsKfQoKLyogTmV3cyBMaXN0aW5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5wb3N0IHsKICBtYXJnaW46IDAgMCA1MHB4Owp9Ci5wb3N0Lmxhc3QgewogIHBhZGRpbmctYm90dG9tOiAwOwogIG1hcmdpbi1ib3R0b206IDA7CiAgYm9yZGVyLWJvdHRvbTogMDsKfQoKLnBvc3QtYm9keSB7CiAgcGFkZGluZzogMjVweCA0MHB4IDQwcHggMjVweDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXRvcDogMDsKICBiYWNrZ3JvdW5kOiAjZjdmOWZkOwp9CgovKiBQb3N0IE1ldGEgTGVmdCAqLwoucG9zdC1tZXRhLWxlZnQgewogIHdpZHRoOiAxNSU7CiAgbWFyZ2luLXRvcDogLTIwcHg7Cn0KLnBvc3QtbWV0YS1sZWZ0IHNwYW4gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc2l6ZTogMTRweDsKfQoKLyogUG9zdCBjb250ZW50IHJpZ2h0ICovCi5wb3N0LWNvbnRlbnQtcmlnaHQgewogIHdpZHRoOiA4MCU7CiAgZmxvYXQ6IHJpZ2h0Owp9CgouZW50cnktaGVhZGVyIC5lbnRyeS10aXRsZSB7CiAgZm9udC1zaXplOiAzMHB4OwogIGxpbmUtaGVpZ2h0OiA0MHB4OwogIG1hcmdpbjogMCAwIDE1cHg7Cn0KLmVudHJ5LWhlYWRlciAuZW50cnktdGl0bGUgYSB7CiAgY29sb3I6ICMyNTJhMzc7Cn0KLmVudHJ5LWhlYWRlciAuZW50cnktdGl0bGUgYTpob3ZlciB7CiAgY29sb3I6ICMyMTU0Y2Y7Cn0KCi8qIFBvc3QgbWVkaWEgKi8KLnBvc3QtbWVkaWEucG9zdC12aWRlbyB7CiAgbWF4LXdpZHRoOiAxMDAlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5wb3N0LW1lZGlhLnBvc3QtdmlkZW86YmVmb3JlIHsKICBjb250ZW50OiAnJzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsKfQoKLnZpZGVvLWljb24gewogIHRleHQtYWxpZ246IGNlbnRlcjsKICBjb2xvcjogI2ZmZjsKICBkaXNwbGF5OiBibG9jazsKICB0b3A6IDUwJTsKICBtYXJnaW4tdG9wOiAtNTBweDsKICBmb250LXNpemU6IDc4cHg7CiAgei1pbmRleDogMTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogNTAlOwogIG1hcmdpbi1sZWZ0OiAtNDBweDsKICB3aWR0aDogODBweDsKICBoZWlnaHQ6IDgwcHg7CiAgbGluZS1oZWlnaHQ6IDY1cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGJvcmRlci1yYWRpdXM6IDEwMCU7Cn0KLnZpZGVvLWljb24gaSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiA0MDBtczsKICB0cmFuc2l0aW9uOiA0MDBtczsKICB0cmFuc2l0aW9uOiA0MDBtczsKfQoudmlkZW8taWNvbiBpOmhvdmVyIHsKICBjb2xvcjogIzIxNTRjZjsKfQoKLyogTWV0YSBkYXRlICovCi5wb3N0LW1ldGEtZGF0ZSB7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKICBjb2xvcjogI2ZmZjsKICB3aWR0aDogNjVweDsKICBoZWlnaHQ6IDY1cHg7CiAgbGluZS1oZWlnaHQ6IDI2cHg7CiAgcGFkZGluZzogMTBweCAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6IC00MHB4Owp9Ci5wb3N0LW1ldGEtZGF0ZSBzcGFuIHsKICBmb250LXNpemU6IDMwcHg7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBkaXNwbGF5OiBibG9jazsKfQoKLyogUG9zdCBRdW90ZSAqLwoucG9zdC1xdW90ZS13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZDogIzI1MmEzNzsKICBwYWRkaW5nOiA1MHB4Owp9CgoucG9zdC1xdW90ZS1jb250ZW50OmJlZm9yZSB7CiAgcGFkZGluZzogMjhweCAwIDIycHg7CiAgY29udGVudDogIlxlOTM3IjsKICBmb250LWZhbWlseTogJ2ljb25mb250JzsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDQ0cHg7Cn0KLnBvc3QtcXVvdGUtY29udGVudCAuZW50cnktdGl0bGUgewogIG1hcmdpbi10b3A6IDIwcHg7Cn0KLnBvc3QtcXVvdGUtY29udGVudCAuZW50cnktdGl0bGUgYSB7CiAgY29sb3I6ICNmZmY7Cn0KLnBvc3QtcXVvdGUtY29udGVudCAubWV0YS1hdXRob3IgewogIGNvbG9yOiAjY2NjOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zaXplOiAxNnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tYm90dG9tOiAxNXB4Owp9Ci5wb3N0LXF1b3RlLWNvbnRlbnQgLm1ldGEtYXV0aG9yOmJlZm9yZSB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTRweDsKICBoZWlnaHQ6IDJweDsKICB3aWR0aDogMjBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE1NGNmOwogIG1hcmdpbi1sZWZ0OiAtMzBweDsKfQoucG9zdC1xdW90ZS1jb250ZW50IC5wb3N0LW1ldGEgewogIGNvbG9yOiAjZmZmOwp9Ci5wb3N0LXF1b3RlLWNvbnRlbnQgLnBvc3QtbWV0YSBhIHsKICBjb2xvcjogI2ZmZjsKfQoKLyogQXV0aG9yICovCi5wb3N0LWF1dGhvciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wb3N0LWF1dGhvcjphZnRlciB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVkZWRlOwogIHRvcDogMDsKICBsZWZ0OiA1MCU7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIHdpZHRoOiA3NXB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7Cn0KLnBvc3QtYXV0aG9yIC5hdmF0YXIgewogIHdpZHRoOiA1NXB4OwogIGhlaWdodDogNTVweDsKICBsaW5lLWhlaWdodDogNTVweDsKICBib3JkZXItcmFkaXVzOiAxMDAlOwogIG1hcmdpbi1ib3R0b206IDVweDsKfQoKLnBvc3QtbWV0YS1sZWZ0IHNwYW4ucG9zdC1hdXRob3IgewogIGRpc3BsYXk6IGJsb2NrOwogIHBhZGRpbmctYm90dG9tOiA1cHg7CiAgbWFyZ2luLWJvdHRvbTogNXB4Owp9CgoucG9zdC1hdXRob3IgYSB7CiAgZGlzcGxheTogYmxvY2s7Cn0KCi5wb3N0LWNvbW1lbnQgaSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJvdHRvbTogLTNweDsKICBtYXJnaW4tcmlnaHQ6IDVweDsKfQoKLyogQ29tbW9uIHBvc3QgbWV0YSAqLwoucG9zdC1tZXRhIHsKICBwYWRkaW5nLWJvdHRvbTogMTVweDsKICBjb2xvcjogIzYyNmM4NDsKICBmb250LXNpemU6IDE0cHg7Cn0KLnBvc3QtbWV0YSBhIHsKICBjb2xvcjogIzYyNmM4NDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMTsKfQoKLnBvc3QtbWV0YS1sZWZ0IGEgewogIGNvbG9yOiAjNjI2Yzg0OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwp9CgoucG9zdC1tZXRhIGE6aG92ZXIsCi5wb3N0LW1ldGEtbGVmdCBhOmhvdmVyIHsKICBjb2xvcjogIzIxNTRjZjsKfQoKLnBvc3QtbWV0YSBzcGFuIHsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICBsaW5lLWhlaWdodDogMTJweDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLnBvc3QtbWV0YSBpIHsKICBwYWRkaW5nLXJpZ2h0OiAwOwogIG1hcmdpbi1yaWdodDogNnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KCi5wb3N0LWZvb3RlciAuYnRuLmJ0bi1wcmltYXJ5IHsKICBtYXJnaW4tdG9wOiAxMHB4OwogIHBhZGRpbmc6IDEwcHggMzBweDsKfQoKLyogUGFnaW5hdGlvbiAqLwoucGFnaW5nIHsKICBtYXJnaW4tYm90dG9tOiAtNXB4Owp9CgoucGFnaW5hdGlvbiB7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgLW1vei1ib3gtcGFjazogY2VudGVyOwogIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW46IDA7Cn0KLnBhZ2luYXRpb24gPiBsaSA+IGEsCi5wYWdpbmF0aW9uID4gbGkgPiBzcGFuIHsKICBib3JkZXItcmFkaXVzOiAxMDAlICFpbXBvcnRhbnQ7CiAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgd2lkdGg6IDQwcHg7CiAgaGVpZ2h0OiA0MHB4OwogIGxpbmUtaGVpZ2h0OiAyOHB4OwogIGNvbG9yOiAjN2M3YzdjOwogIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBsaW5lLWhlaWdodDogNDBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwp9Ci5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGEgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoucGFnaW5hdGlvbiA+IGxpID4gYTpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZDogIzIxNTRjZjsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoKLyogTmV3cyBTaW5nbGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLnBvc3Qtc2luZ2xlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnBvc3Qtc2luZ2xlIC5wb3N0LWJvZHkgewogIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7CiAgYmFja2dyb3VuZDogbm9uZTsKICBwYWRkaW5nOiA0MHB4Owp9Ci5wb3N0LXNpbmdsZSAucG9zdC1tZXRhLWRhdGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDMwcHg7CiAgbGVmdDogMzVweDsKICBkaXNwbGF5OiBibG9jazsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLnBvc3Qtc2luZ2xlIC5wb3N0LWF1dGhvciAuYXZhdGFyIHsKICB3aWR0aDogMzBweDsKICBoZWlnaHQ6IDMwcHg7Cn0KLnBvc3Qtc2luZ2xlIC5wb3N0LWF1dGhvciBhIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbWFyZ2luLWxlZnQ6IDZweDsKfQoucG9zdC1zaW5nbGUgLnBvc3QtYXV0aG9yOmFmdGVyIHsKICBib3JkZXI6IDA7Cn0KLnBvc3Qtc2luZ2xlIC5lbnRyeS1oZWFkZXIgLmVudHJ5LXRpdGxlIHsKICBmb250LXNpemU6IDM2cHg7Cn0KLnBvc3Qtc2luZ2xlIC5lbnRyeS1jb250ZW50IHAgewogIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KLnBvc3Qtc2luZ2xlIC5lbnRyeS1jb250ZW50IGgzIHsKICBtYXJnaW46IDMwcHggMDsKfQoucG9zdC1zaW5nbGUgLnBvc3QtZm9vdGVyIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2YxZjFmMTsKICBtYXJnaW46IDQwcHggMCAwOwogIHBhZGRpbmctdG9wOiA0MHB4Owp9CgoudGFncy1hcmVhIHsKICBtYXJnaW46IDIwcHggMDsKfQoKLnBvc3QtdGFncyBzdHJvbmcgewogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci5wb3N0LXRhZ3MgYSB7CiAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTsKICBjb2xvcjogIzYyNmM4NDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiAxNHB4OwogIHBhZGRpbmc6IDNweCAxNXB4OwogIG1hcmdpbi1sZWZ0OiAzcHg7CiAgYm9yZGVyLXJhZGl1czogMjVweDsKfQoucG9zdC10YWdzIGE6aG92ZXIgewogIGJhY2tncm91bmQ6ICMyMTU0Y2Y7CiAgY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KCi8qIFBvc3Qgc29jaWFsICovCi5wb3N0LXNvY2lhbC1pY29ucyA+IGxpIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLnBvc3Qtc29jaWFsLWljb25zIGEgewogIG1hcmdpbi1sZWZ0OiAxMHB4OwogIGZvbnQtc2l6ZTogMTZweDsKICBjb2xvcjogIzI1MmEzNzsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLnBvc3Qtc29jaWFsLWljb25zIGE6aG92ZXIgewogIGNvbG9yOiAjMjE1NGNmOwp9CgovKiBQb3N0IG5hdmlnYXRpb24gKi8KLnBvc3QtbmF2aWdhdGlvbiBzcGFuOmhvdmVyLAoucG9zdC1uYXZpZ2F0aW9uIGgzOmhvdmVyIHsKICBjb2xvcjogIzIxNTRjZjsKfQoucG9zdC1uYXZpZ2F0aW9uIC5wb3N0LXByZXZpb3VzLAoucG9zdC1uYXZpZ2F0aW9uIC5wb3N0LW5leHQgewogIHBhZGRpbmc6IDAgNDBweDsKICB3aWR0aDogNTAlOwogIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2YxZjFmMTsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjFmMWYxOwogIGRpc3BsYXk6IHRhYmxlLWNlbGw7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLnBvc3QtbmF2aWdhdGlvbiBpIHsKICBtYXJnaW46IDAgNXB4OwogIGNvbG9yOiAjMjE1NGNmOwp9Ci5wb3N0LW5hdmlnYXRpb24gc3BhbiB7CiAgZm9udC1zaXplOiAxNHB4OwogIGNvbG9yOiAjNjI2Yzg0OwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLnBvc3QtbmF2aWdhdGlvbiAucG9zdC1wcmV2aW91cyB7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBmbG9hdDogbGVmdDsKICBib3JkZXItbGVmdDogMCBub25lOwogIGJvcmRlci1yaWdodDogMCBub25lOwogIHBhZGRpbmc6IDAgNDBweCAwIDA7Cn0KLnBvc3QtbmF2aWdhdGlvbiAucG9zdC1uZXh0IHsKICB0ZXh0LWFsaWduOiByaWdodDsKICBmbG9hdDogbGVmdDsKICBib3JkZXItcmlnaHQ6IDAgbm9uZTsKICBwYWRkaW5nOiAwIDAgMCA0MHB4Owp9Ci5wb3N0LW5hdmlnYXRpb24gaDMgewogIGZvbnQtc2l6ZTogMjBweDsKICBsaW5lLWhlaWdodDogMjZweDsKICBtYXJnaW46IDhweCAwIDA7Cn0KCi8qIEF1dGhvciBib3ggKi8KLmF1dGhvci1ib3ggewogIHBhZGRpbmc6IDQwcHg7CiAgbWFyZ2luOiA0MHB4IDA7Cn0KCi5hdXRob3ItaW1nIGltZyB7CiAgd2lkdGg6IDEwMHB4OwogIGhlaWdodDogMTAwcHg7CiAgbWFyZ2luLXJpZ2h0OiAzMHB4OwogIGJvcmRlci1yYWRpdXM6IDEwMCU7Cn0KCi5hdXRob3ItaW5mbyBoMyB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgZm9udC1zaXplOiAyMHB4OwogIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KLmF1dGhvci1pbmZvIGgzIHNwYW4gewogIGZvbnQtc2l6ZTogMTJweDsKICBjb2xvcjogIzk5OTsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNBRkFGQUY7CiAgcGFkZGluZy1sZWZ0OiAxMHB4OwogIG1hcmdpbi1sZWZ0OiAxMHB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KLmF1dGhvci1pbmZvIHAgewogIHBhZGRpbmctbGVmdDogMTMwcHg7Cn0KCi5hdXRob3ItdXJsIGEgewogIGZvbnQtc2l6ZTogMTRweDsKICBjb2xvcjogIzYyNmM4NDsKfQoKLyogQ29tbWVudHMgYXJlYSAqLwouY29tbWVudHMtYXJlYSB7CiAgbWFyZ2luOiA0MHB4IDA7Cn0KCi5jb21tZW50cy1saXN0IC5jb21tZW50LWNvbnRlbnQgewogIG1hcmdpbjogMTVweCAwOwp9Ci5jb21tZW50cy1saXN0IC5jb21tZW50LXJlcGx5IHsKICBjb2xvcjogIzI1MmEzNzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc2l6ZTogMTRweDsKfQouY29tbWVudHMtbGlzdCAuY29tbWVudC1yZXBseSBpIHsKICBtYXJnaW4tcmlnaHQ6IDVweDsKfQouY29tbWVudHMtbGlzdCAuY29tbWVudC1yZXBseTpob3ZlciB7CiAgY29sb3I6ICMyMTU0Y2Y7Cn0KCi5jb21tZW50cy1jb3VudGVyIHsKICBmb250LXNpemU6IDE4cHg7Cn0KLmNvbW1lbnRzLWNvdW50ZXIgYSB7CiAgY29sb3I6ICMzMjMyMzI7Cn0KCi5jb21tZW50cy1saXN0IHsKICBsaXN0LXN0eWxlOiBub25lOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAyMHB4IDA7Cn0KLmNvbW1lbnRzLWxpc3QgLmNvbW1lbnQgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxOwogIHBhZGRpbmctYm90dG9tOiAyMHB4OwogIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KLmNvbW1lbnRzLWxpc3QgLmNvbW1lbnQubGFzdCB7CiAgYm9yZGVyLWJvdHRvbTogMDsKICBwYWRkaW5nLWJvdHRvbTogMDsKICBtYXJnaW4tYm90dG9tOiAwOwp9Ci5jb21tZW50cy1saXN0IGltZy5jb21tZW50LWF2YXRhciB7CiAgd2lkdGg6IDgwcHg7CiAgaGVpZ2h0OiA4MHB4OwogIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgbWFyZ2luLXJpZ2h0OiAzMHB4Owp9Ci5jb21tZW50cy1saXN0IC5jb21tZW50LWJvZHkgewogIG1hcmdpbi1sZWZ0OiAxMTBweDsKfQouY29tbWVudHMtbGlzdCAuY29tbWVudC1hdXRob3IgewogIG1hcmdpbi1ib3R0b206IDA7CiAgbWFyZ2luLXRvcDogMDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc2l6ZTogMThweDsKICBjb2xvcjogIzI1MmEzNzsKfQouY29tbWVudHMtbGlzdCAuY29tbWVudC1kYXRlIHsKICBjb2xvcjogIzI1MmEzNzsKICBmb250LXNpemU6IDE0cHg7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLXRvcDogLTVweDsKfQoKLmNvbW1lbnRzLXJlcGx5IHsKICBsaXN0LXN0eWxlOiBub25lOwogIG1hcmdpbjogMCAwIDAgNzBweDsKfQoKLmNvbW1lbnRzLWZvcm0gewogIG1hcmdpbi1ib3R0b206IDA7Cn0KLmNvbW1lbnRzLWZvcm0gLnRpdGxlLW5vcm1hbCB7CiAgbWFyZ2luLWJvdHRvbTogMjBweDsKfQouY29tbWVudHMtZm9ybSAuYnRuLmJ0bi1wcmltYXJ5IHsKICBtYXJnaW4tdG9wOiAyMHB4Owp9CgovKiBTaWRlYmFyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5zaWRlYmFyIC53aWRnZXQtdGl0bGUgewogIGZvbnQtc2l6ZTogMjRweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAwIDAgMzBweDsKICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMjE1NGNmOwp9Ci5zaWRlYmFyIC53aWRnZXQgewogIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTsKICBwYWRkaW5nOiA0MHB4Owp9Ci5zaWRlYmFyIC53aWRnZXQud2lkZ2V0LWFkIHsKICBwYWRkaW5nOiAwOwogIGJvcmRlcjogbm9uZTsKfQoKLyogV2lkZ2V0IGNvbW1vbiAqLwouc2lkZWJhci1sZWZ0IC53aWRnZXQgewogIG1hcmdpbi1yaWdodDogMjBweDsKfQoKLnNpZGViYXItcmlnaHQgLndpZGdldCB7CiAgbWFyZ2luLWxlZnQ6IDIwcHg7Cn0KCi5zaWRlYmFyIC53aWRnZXQuYm94IHsKICBwYWRkaW5nOiAyNXB4Owp9Cgoud2lkZ2V0LmJveC5zb2xpZCB7CiAgYmFja2dyb3VuZDogI2YyZjJmMjsKfQoud2lkZ2V0LmJveC5yZWQgewogIGJhY2tncm91bmQ6ICNlYzQ4M2I7CiAgY29sb3I6ICNmZmY7Cn0KLndpZGdldC5ib3gucmVkIC53aWRnZXQtdGl0bGUgewogIGNvbG9yOiAjZmZmOwp9Ci53aWRnZXQgdWwgbGkgewogIGxpbmUtaGVpZ2h0OiAzMHB4Owp9Cgouc2lkZWJhciAud2lkZ2V0IHVsIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjMjE1NGNmOwp9Ci5zaWRlYmFyIC53aWRnZXQgdWwgbGkgaSB7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQouc2lkZWJhciAuYnRuIHsKICBmb250LXdlaWdodDogODAwOwogIG1hcmdpbi10b3A6IDE1cHg7Cn0KCi8qIFdpZGdldCBzZWFyY2ggKi8KLndpZGdldC53aWRnZXQtc2VhcmNoIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiAwOwp9CgouaW5wdXQtZ3JvdXAtYnRuIHsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwogIGNvbG9yOiAjZmZmOwp9Cgoud2lkZ2V0LXNlYXJjaCAuZm9ybS1jb250cm9sIHsKICBib3JkZXI6IDAgIWltcG9ydGFudDsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTsKfQoud2lkZ2V0LXNlYXJjaCAuZm9ybS1jb250cm9sOmZvY3VzIHsKICBib3JkZXI6IDAgIWltcG9ydGFudDsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTsKfQoud2lkZ2V0LXNlYXJjaCBpIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwogIGZvbnQtc2l6ZTogMThweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdG9wOiAwOwogIHBhZGRpbmc6IDE1cHg7Cn0KCi8qIFNpZGViYXIgbmF2ICovCi53aWRnZXQtbmF2LXRhYnMgewogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KLndpZGdldC1uYXYtdGFicyBsaSB7CiAgZGlzcGxheTogYmxvY2s7CiAgcGFkZGluZy1ib3R0b206IDIwcHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjRUFFQUVBOwogIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KLndpZGdldC1uYXYtdGFicyBsaSBhIHsKICBmb250LXNpemU6IDE2cHg7CiAgY29sb3I6ICM2MjZjODQ7CiAgZm9udC1mYW1pbHk6ICdBc2FwJywgc2Fucy1zZXJpZjsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwp9Ci53aWRnZXQtbmF2LXRhYnMgbGkgc3BhbiB7CiAgZmxvYXQ6IHJpZ2h0Owp9Ci53aWRnZXQtbmF2LXRhYnMgbGk6YWZ0ZXIgewogIGRpc3BsYXk6IGJsb2NrOwogIGNvbnRlbnQ6ICIiOwogIGNsZWFyOiBib3RoOwp9Ci53aWRnZXQtbmF2LXRhYnMgbGk6bGFzdC1jaGlsZCB7CiAgYm9yZGVyOiBub25lOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9CgovKiBJbnN0YWdyYW0gUGhvdG9zICovCi5pbnN0YWdyYW0tcGhvdG8gbGkgaW1nIHsKICBwYWRkaW5nLXJpZ2h0OiAxMHB4OwogIHBhZGRpbmctYm90dG9tOiAxMHB4OwogIGJvcmRlci1yYWRpdXM6IDNweDsKfQoKLyogUmVjZW50IE5ld3MgKi8KLndpZGdldC5yZWNlbnQtcG9zdHMgLndpZGdldC10aXRsZSB7CiAgbWFyZ2luLWJvdHRvbTogMzVweDsKfQoud2lkZ2V0LnJlY2VudC1wb3N0cyB1bCBsaSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjZjFmMWYxOwogIHBhZGRpbmctYm90dG9tOiAyMHB4OwogIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKfQoud2lkZ2V0LnJlY2VudC1wb3N0cyB1bCBsaTpsYXN0LWNoaWxkIHsKICBib3JkZXI6IDA7CiAgcGFkZGluZy1ib3R0b206IDA7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoud2lkZ2V0LnJlY2VudC1wb3N0cyAubWVkaWEtbGVmdCBpbWcgewogIHdpZHRoOiA5M3B4OwogIGhlaWdodDogNjVweDsKfQoud2lkZ2V0LnJlY2VudC1wb3N0cyAuZW50cnktdGl0bGUgewogIGZvbnQtc2l6ZTogMTZweDsKICBsaW5lLWhlaWdodDogMjBweDsKICBtYXJnaW46IDZweCAwIDA7Cn0KLndpZGdldC5yZWNlbnQtcG9zdHMgLmVudHJ5LXRpdGxlIGEgewogIGNvbG9yOiAjMzAzMDMwOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwYWRkaW5nOiA1cHggMDsKfQoud2lkZ2V0LnJlY2VudC1wb3N0cyAuZW50cnktdGl0bGUgYTpob3ZlciB7CiAgY29sb3I6ICMyMTU0Y2Y7Cn0KLndpZGdldC5yZWNlbnQtcG9zdHMgLmVudHJ5LXRpdGxlIHNtYWxsIHsKICBjb2xvcjogIzYyNmM4NDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LWZhbWlseTogJ0FzYXAnLCBzYW5zLXNlcmlmOwp9Ci53aWRnZXQucmVjZW50LXBvc3RzIC5wb3N0LWRhdGUgewogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgY29sb3I6ICM2MjZjODQ7CiAgZm9udC1zaXplOiAxNHB4Owp9Ci53aWRnZXQucmVjZW50LXBvc3RzIC5wb3N0LWRhdGUgYSB7CiAgY29sb3I6ICM2MjZjODQ7Cn0KCi8qIFdpZGdldCBBZCAqLwoud2lkZ2V0LWFkIHAgewogIGNvbG9yOiAjZmZmOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zaXplOiAzMHB4OwogIGxpbmUtaGVpZ2h0OiA0MHB4Owp9Ci53aWRnZXQtYWQgLmJ0biB7CiAgcGFkZGluZzogMThweCA2MHB4OwogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LXdlaWdodDogODAwOwogIGJhY2tncm91bmQ6ICNmZmY7CiAgY29sb3I6ICMyMTU0Y2Y7Cn0KLndpZGdldC1hZCAuYnRuOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjMGYyNzY1OwogIGNvbG9yOiAjZmZmOwp9Cgoud2lkZ2V0LWFkLWJnIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlNS5qcGciKTsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0OwogIHBhZGRpbmc6IDE0NXB4IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci53aWRnZXQtYWQtYmcuYmctb3ZlcmxheTphZnRlciB7CiAgei1pbmRleDogLTE7Cn0KLndpZGdldC1hZC1iZy5vdmVybGF5LWNvbG9yOmFmdGVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDQzLCA4NCwgMTgyLCAwLjg1KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoNDMsIDg0LCAxODIsIDAuODUpKSwgdG8ocmdiYSg0MywgODQsIDE4MiwgMC44NSkpKTsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDQzLCA4NCwgMTgyLCAwLjg1KSAwJSwgcmdiYSg0MywgODQsIDE4MiwgMC44NSkgMTAwJSk7CiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9J3JnYmEoIzJiNTRiNiwuODUpJywgZW5kQ29sb3JzdHI9J3JnYmEoIzJiNTRiNiwuODUpJywgR3JhZGllbnRUeXBlPTApOwogIHotaW5kZXg6IC0xOwp9CgovKiBXaWRnZXQgdGFncyAqLwoud2lkZ2V0LXRhZ3MgdWwgPiBsaSB7CiAgZmxvYXQ6IGxlZnQ7CiAgbWFyZ2luOiAzcHg7Cn0KCi5zaWRlYmFyIC53aWRnZXQtdGFncyB1bCA+IGxpIGEgewogIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7CiAgY29sb3I6ICM2MjZjODQ7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogMTRweDsKICBwYWRkaW5nOiA1cHggMjBweDsKICBtYXJnaW46IDAgM3B4IDNweCAwOwogIGJvcmRlci1yYWRpdXM6IDI1cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKfQouc2lkZWJhciAud2lkZ2V0LXRhZ3MgdWwgPiBsaSBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjMjE1NGNmOwogIGNvbG9yOiAjZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Owp9CgovKiBFcnJvciBwYWdlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5ub3QtZm91bmQgewogIHBhZGRpbmctdG9wOiAwOwp9CgouZXJyb3ItcGFnZSAuZXJyb3ItY29kZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxNTBweDsKICBsaW5lLWhlaWdodDogMTUwcHg7CiAgY29sb3I6ICMzMzM7CiAgbWFyZ2luLWJvdHRvbTogMjBweDsKICB0ZXh0LXNoYWRvdzogNXB4IDVweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOwp9CgouZXJyb3ItcGFnZSAuZXJyb3ItYm9keSAuYnRuIHsKICBtYXJnaW4tdG9wOiAzMHB4OwogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi8qIDQwNAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoubm90LWZvdW5kIHAgewogIGZvbnQtc2l6ZTogMjAwcHg7CiAgbGluZS1oZWlnaHQ6IDEuMTsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5ub3QtZm91bmQgcCBzbWFsbCB7CiAgZGlzcGxheTogYmxvY2s7Cn0KCgoKIC8qSU1BR0UgUkVTUE9OU0lWRSovCgppbWcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfQoKCSAKCSBAbWVkaWEgKG1pbi1kZXZpY2Utd2lkdGg6NjAwcHgpIHsKICAgIGltZ1tkYXRhLXNyYy02MDBweF0gewogICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zcmMtNjAwcHgsIHVybCk7CiAgICB9Cn0KCglAbWVkaWEgKG1pbi1kZXZpY2Utd2lkdGg6ODAwcHgpIHsKICAgIGltZ1tkYXRhLXNyYy04MDBweF0gewogICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zcmMtODAwcHgsIHVybCk7CiAgICB9Cn0KCgovKiBUaHJlZSBjb2x1bW5zIHNpZGUgYnkgc2lkZSAqLwoudGVzdGltb255IC5jb2x1bW4gewogIGZsb2F0OiBsZWZ0OwogIHdpZHRoOiAzMS4wJTsKICBtYXJnaW4tYm90dG9tOiAxNnB4OwogIHBhZGRpbmc6IDAgOHB4OwogIGNvbG9yOmJsYWNrOwp9CgovKiBEaXNwbGF5IHRoZSBjb2x1bW5zIGJlbG93IGVhY2ggb3RoZXIgaW5zdGVhZCBvZiBzaWRlIGJ5IHNpZGUgb24gc21hbGwgc2NyZWVucyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NTBweCkgewoudGVzdGltb255IC5jb2x1bW4gewogICAgd2lkdGg6IDEwMCU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOmJsYWNrOwogIH0KfQoKLyogQWRkIHNvbWUgc2hhZG93cyB0byBjcmVhdGUgYSBjYXJkIGVmZmVjdCAqLwoudGVzdGltb255IC5jYXJkIHsKICBib3gtc2hhZG93OiAwIDRweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7Cn0KCi8qIFNvbWUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBpbnNpZGUgdGhlIGNvbnRhaW5lciAqLwoudGVzdGltb255ewogIHBhZGRpbmc6IDAgMTZweDsKICBmb250LWZhbWlseTphcmlhbDsKfQoKLyogQ2xlYXIgZmxvYXRzICovCi50ZXN0aW1vbnk6OmFmdGVyLCAucm93OjphZnRlciB7CiAgY29udGVudDogIiI7CiAgY2xlYXI6IGJvdGg7CiAgZGlzcGxheTogdGFibGU7Cn0KCi50ZXN0aW1vbnkgLnRpdGxlIHsKICBjb2xvcjogZ3JleTsKfQoKCgogICAKI3BhbmVsLCAuZmxpcCB7CiAgZm9udC1zaXplOiAxNnB4OwogIHBhZGRpbmc6IDEwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxOTMsIDAsIDAuOSk7IC8qIFJlZCAqLwogIGNvbG9yOiB3aGl0ZTsKICBib3JkZXI6IHNvbGlkIDFweCAjYTZkOGE4OwogIG1hcmdpbjogYXV0bzsKfQoKI3BhbmVsIHsKICBkaXNwbGF5OiBub25lOwp9Cgo="}},"time_used":128,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":114,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/images/features/feature1.jpg","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.836Z","timestamp":1785124599836,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /images/features/feature1.jpg HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"10133-5aa839fc-dbe3c9f1e47e1d4f;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 65843\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":65843,"size_decoded":66172,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 534x360, components 3","md5":"843b9d8197f8107b4a1eb43f17077301","sha1":"371b112cb568bb03773cdbcb5f027f321c949565","sha256":"9b97cbd2b1ffc8fbf6f8d9a39a9afa4e1d2db7592587ffe948049b29e9e4facf","sha512":"088b24b3f86b40e026ba7954b453965de14f592c877f0ad8b37dbbb3a69dddd2b316e5411490e9d798d944434489b1ad80d4da8251f10fadfc7371dbb2fab3d8","ssdeep":"1536:JyIlX5M3HLK3XrQ2hheHFCQX8IDCO5+tdiW:TIHLK3bQtlCo8ID9ER","tlshash":"e3530266e04bf2dce09f5670f5f2d60865bae3aabe20cd0567d84b022185985b3fc356","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.163198Z","times_seen":271,"resource_available":false,"data":"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"}},"time_used":624,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":99,"receive":525,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.257Z","timestamp":1785124600257,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 081bad35dca0960a54c40f54c38aa0d3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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":"www.tradingview-widget.com/static/bundles/embed/16067.9d24889b2af3eb305dcf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.268Z","timestamp":1785124600268,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/16067.9d24889b2af3eb305dcf.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-33d7\"\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:32:31\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ceeb9c661d76550be4f3763574f11803\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13271,"size_decoded":6441,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3064)","md5":"1d9a347c6cdf907920b1993e9feddfba","sha1":"bcc6d02f92bd3eac53876be063d13f785ca1179e","sha256":"5190f0eab3ed44eb52290be2d754d52b090408e7d499dc46833fb4d0017b18f9","sha512":"cfbdb76074a6eb51120e6910bde5aaa8bfe2549f80c281d492e99346ec89e6c8532136fe25e9b6c6aecdbdd0ea78235327149fd53b5d063f7256027cb7b6ea4a","ssdeep":"384:gtprvDyVG3ll4CRbiobm+FXM3Op0dv5JbOrDkSN48WNknWPx:gLrveVKllPllxlM3mU0rDkSN48W+nWPx","tlshash":"4f52b669f0c267dc3ab196e0f8b710c1f16bac55f5016860eff04de229a5d4a3166fac","first_seen":"2026-07-23T13:38:20.449846Z","last_seen":"2026-07-28T04:59:54.460146Z","times_seen":306,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNjA2N10sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBhKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIHI9dHlwZW9mIG47aWYoInN0cmluZyI9PT1yfHwibnVtYmVyIj09PXIpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBsPWEuYXBwbHkobnVsbCxuKTtsJiZlLnB1c2gobCl9ZWxzZSBpZigib2JqZWN0Ij09PXIpZm9yKHZhciBpIGluIG4pby5jYWxsKG4saSkmJm5baV0mJmUucHVzaChpKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oYS5kZWZhdWx0PWEsZS5leHBvcnRzPWEpOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIGF9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sOTc1Mjg1KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1oY3QyeUp2SyIsYW5pbWF0ZWQ6ImFuaW1hdGVkLWhjdDJ5SnZLIixwdWxzYXRpb246InB1bHNhdGlvbi1oY3QyeUp2SyJ9fSwzOTkwOTIoZSl7ZS5leHBvcnRzPXsiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcyI6Ii42cyAwcyBjdWJpYy1iZXppZXIoLjQsIC4wMSwgLjIyLCAxKSIsImNzcy12YWx1ZS1jb3B5cmlnaHQtdHJhbnNpdGlvbi1wYXJhbXMtaGFsZi10aW1lIjoiLjNzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIixsYWJlbDoibGFiZWwtZHpiZDdseVYiLGxvZ29XcmFwOiJsb2dvV3JhcC1kemJkN2x5ViIsZXhwYW5kZWRXaXRoVHJhbnNpdGlvbjoiZXhwYW5kZWRXaXRoVHJhbnNpdGlvbi1kemJkN2x5ViIsZXhwYW5kZWRCeUNsaWNrOiJleHBhbmRlZEJ5Q2xpY2stZHpiZDdseVYiLHN0YXJ0OiJzdGFydC1kemJkN2x5ViIsZW5kOiJlbmQtZHpiZDdseVYiLHNuYXA6InNuYXAtZHpiZDdseVYiLHRvcDoidG9wLWR6YmQ3bHlWIixib3R0b206ImJvdHRvbS1kemJkN2x5ViIsbGFyZ2U6ImxhcmdlLWR6YmQ3bHlWIixleHBhbmRlZDoiZXhwYW5kZWQtZHpiZDdseVYiLGxhYmVsX19saW5rOiJsYWJlbF9fbGluay1kemJkN2x5ViJ9fSw3OTQxODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R5bGVDbGFzc2VzOigpPT5jLGlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wczooKT0+c30pO3ZhciBvPW4oOTE0NDg3KSxhPW4ubihvKSxyPW4oMTM2NCksbD1uKDE0MDAxNyksaT1uLm4obCk7ZnVuY3Rpb24gYyhlLHQ9MixuKXtyZXR1cm4gYSgpKGkoKS5sb2dvLGkoKVtlXSxuLDA9PT10fHwxPT09dD9hKCkoci5za2VsZXRvblRoZW1lLndyYXBwZXIsaSgpLnNrZWxldG9uKTppKCkubGV0dGVyLDE9PT10JiZyLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuImxvZ29VcmwiaW4gZSYmbnVsbCE9PWUubG9nb1VybCYmdm9pZCAwIT09ZS5sb2dvVXJsJiYwIT09ZS5sb2dvVXJsLmxlbmd0aH19LDEzNjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7c2tlbGV0b25UaGVtZTooKT0+YX0pO3ZhciBvPW4oOTc1Mjg1KTtjb25zdCBhPW4ubihvKSgpfSw4MjkxODAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgbz1uKDYwMTg0MSk7Y29uc3QgYT0veyhcdyspfS9nLHI9L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi5lKXtjb25zdCB0PSgwLG8uaXNPYmplY3QpKGVbMF0pLG49dD9hOnIsbD10Pyh0LG4pPT57Y29uc3Qgbz1lWzBdO3JldHVybiB2b2lkIDAhPT1vW25dP29bbl06dH06KHQsbik9Pntjb25zdCBvPXBhcnNlSW50KG4sMTApLGE9ZVtvXTtyZXR1cm4gdm9pZCAwIT09YT9hOnR9O3JldHVybiB0aGlzLnJlcGxhY2UobixsKX19LDQ1NzA3OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRDdXJyZW5jeUZsYWc6KCk9PmwsZ2V0Q3VycmVuY3lOYW1lOigpPT5pfSk7dmFyIG89bigxODUyNzEpLGE9big4NjIyMTMpO2NvbnN0IHI9KDAsYS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWNbZV07aWYodClyZXR1cm4gci5nZXRDb3VudHJ5RmxhZ1VybCh0LmNvdW50eUNvZGUsYS5Mb2dvU2l6ZS5NZWRpdW0pfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIGNbZV0/LmdldE5hbWUoKXx8IiJ9Y29uc3QgYz17QUVEOntjb3VudHlDb2RlOiJBRSIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oOTgzMTA3KSl9LEFSUzp7Y291bnR5Q29kZToiQVIiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDg1NzU4NykpfSxBVUQ6e2NvdW50eUNvZGU6IkFVIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbig3MjMzNDIpKX0sQlJMOntjb3VudHlDb2RlOiJCUiIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oNTIwMDAyKSl9LENBRDp7Y291bnR5Q29kZToiQ0EiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDEwODAwMSkpfSxDSEY6e2NvdW50eUNvZGU6IkNIIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbig2MDg2MzEpKX0sQ0xQOntjb3VudHlDb2RlOiJDTCIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oOTA0MzM4KSl9LENOWTp7Y291bnR5Q29kZToiQ04iLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDIzNDc4MikpfSxDT1A6e2NvdW50eUNvZGU6IkNPIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbigxMzU4NjcpKX0sREtLOntjb3VudHlDb2RlOiJESyIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oMjQxNTg1KSl9LEVVUjp7Y291bnR5Q29kZToiRVUiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDU2MTY1KSl9LEdCUDp7Y291bnR5Q29kZToiR0IiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDcxNzAzMykpfSxIS0Q6e2NvdW50eUNvZGU6IkhLIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbig3MDI5MjQpKX0sSURSOntjb3VudHlDb2RlOiJJRCIsCmdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDM5MDM2MCkpfSxJTFM6e2NvdW50eUNvZGU6IklMIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbig4NTQ4NzApKX0sSU5SOntjb3VudHlDb2RlOiJJTiIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oMTU5ODMwKSl9LElTSzp7Y291bnR5Q29kZToiSVMiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDc0NzI4KSl9LEpQWTp7Y291bnR5Q29kZToiSlAiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDMwNzMzNikpfSxJU0w6e2NvdW50eUNvZGU6IklMIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbig4MTY4MzYpKX0sS1JXOntjb3VudHlDb2RlOiJLUiIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oNTg5MDcxKSl9LEtXRDp7Y291bnR5Q29kZToiS1ciLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDkyMjI0NCkpfSxNWE46e2NvdW50eUNvZGU6Ik1YIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbigyMjA3NDApKX0sTVlSOntjb3VudHlDb2RlOiJNWSIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oNjg5MTE3KSl9LE5PSzp7Y291bnR5Q29kZToiTk8iLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDk5Mzk5OSkpfSxOWkQ6e2NvdW50eUNvZGU6Ik5aIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbig5MDQ0MDApKX0sUEVOOntjb3VudHlDb2RlOiJQRSIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oODUxMTExKSl9LFBIUDp7Y291bnR5Q29kZToiUEgiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDQyNTI3NikpfSxQTE46e2NvdW50eUNvZGU6IlBMIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbig0Nzc2NTApKX0sUlVCOntjb3VudHlDb2RlOiJSVSIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oMzMzMjgpKX0sU0FSOntjb3VudHlDb2RlOiJTQSIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oOTk1OTY2KSl9LFNFSzp7Y291bnR5Q29kZToiU0UiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDc3NzEyMCkpfSxTR0Q6e2NvdW50eUNvZGU6IlNHIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbigyNTE3MCkpfSxUSEI6e2NvdW50eUNvZGU6IlRIIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbigxMDQ4MzEpKX0sVFJZOntjb3VudHlDb2RlOiJUUiIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oMjg2OTIxKSl9LFRXRDp7Y291bnR5Q29kZToiVFciLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDU4MDgwMikpfSxWTkQ6e2NvdW50eUNvZGU6IlZOIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbig1ODk0MDgpKX0sVVNEOntjb3VudHlDb2RlOiJVUyIsZ2V0TmFtZTooKT0+by50KG51bGwsdm9pZCAwLG4oMjI5MTEwKSl9LFVZVTp7Y291bnR5Q29kZToiVVkiLGdldE5hbWU6KCk9Pm8udChudWxsLHZvaWQgMCxuKDkyODU1MykpfSxaQVI6e2NvdW50eUNvZGU6IlpBIixnZXROYW1lOigpPT5vLnQobnVsbCx2b2lkIDAsbigxODA5MzEpKX19fSwxNTAxNTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z3VpZDooKT0+YSxyYW5kb21IYXNoOigpPT5yfSk7Y29uc3Qgbz0iMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiO2Z1bmN0aW9uIGEoKXtyZXR1cm4ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Ii5yZXBsYWNlKC9beHldL2csKGU9Pntjb25zdCB0PTE2Kk1hdGgucmFuZG9tKCl8MDtyZXR1cm4oIngiPT09ZT90OjMmdHw4KS50b1N0cmluZygxNil9KSl9ZnVuY3Rpb24gcigpe3JldHVybiBmdW5jdGlvbihlKXtsZXQgdD0iIjtmb3IobGV0IG49MDtuPGU7KytuKXtjb25zdCBlPU1hdGguZmxvb3IoNjIqTWF0aC5yYW5kb20oKSk7dCs9b1tlXX1yZXR1cm4gdH0oMTIpfX0sMTE1MjkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2ZvcmNlTFRSU3RyOigpPT5kLGlzUnRsOigpPT5yLHNldERvY3VtZW50RGlyR2V0dGVyOigpPT5hLHN0cmlwTFRSTWFya3M6KCk9PnN9KTtuKDMyMDQwMyk7bGV0IG89KCk9Pm51bGw7ZnVuY3Rpb24gYShlKXtvPWV9Y29uc3Qgcj0oKT0+InJ0bCI9PT1mdW5jdGlvbigpe2NvbnN0IGU9bygpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiRG9jdW1lbnQgZGlyZWN0aW9uIGdldHRlciBpcyBub3Qgc2V0LCBjYWxsIHNldERvY3VtZW50RGlyR2V0dGVyIHRvIHNldCBpdCIpO3JldHVybiBlfSgpLGw9IuKAqiIsaT0i4oCsIixjPW5ldyBSZWdFeHAoIuKAjnzigI984oCqfOKAq3zigKwiLCJnIik7ZnVuY3Rpb24gcyhlKXtyZXR1cm4iIiE9PWUmJnIoKSYmbnVsbCE9ZT9lLnJlcGxhY2UoYywiIik6ZX1mdW5jdGlvbiBkKGUpe3JldHVybiIiIT09ZSYmcigpJiZudWxsIT1lP2wrZStpOmV9dmFyIHU7IWZ1bmN0aW9uKGUpe2UuTFRSPSJsdHIiLGUuUlRMPSJydGwiLGUuVU5LTk9XTj0iIn0odXx8KHU9e30pKX0sMTM2OTkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvcHlyaWdodExhYmVsOigpPT5kfSk7dmFyIG8sYT1uKDE4NTI3MSkscj1uKDkxNDQ4NyksbD1uLm4ociksaT1uKDYwMTg0MSksYz1uKDM4NzIzMSkscz1uKDM5OTA5Mik7ZnVuY3Rpb24gZCh7c3ZnVGV4dDplLGljb246dCx0aGVtZTpyLHVybDpkLG1vZGU6dSx2ZXJ0aWNhbFBvc2l0aW9uOm09by5WZXJ0aWNhbC5Cb3R0b20saG9yaXpvbnRhbFBvc2l0aW9uOnA9by5Ib3Jpem9udGFsLkVuZCxzbmFwVG9FZGdlOmc9ITAsaXNFeHBhbmRlZDp5PSExLGNsYXNzTmFtZTp2fSl7bGV0IGY7c3dpdGNoKHUpe2Nhc2UibmV3IjpjYXNlIndpdGhfYm9yZGVyIjpjYXNlImxhcmdlX3RyYWRlIjpmPSgwLGkuY2xvbmUpKHIpO2JyZWFrO2RlZmF1bHQ6Zj0oMCxjLm1lcmdlVGhlbWVzKSgoMCxpLmNsb25lKShzKSxyKX1jb25zdCBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsZXQgYjtkJiYoYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksYi5jbGFzc0xpc3QuYWRkKC4uLmYubGFiZWxfX2xpbmsuc3BsaXQoL1xzLykpLApiLmhyZWY9ZCxiLnRhcmdldD0iX2JsYW5rIixiLnJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIsYi5zZXRBdHRyaWJ1dGUoImRhdGEtdGFyZ2V0LXR5cGUiLCJjb3B5cmlnaHQiKSxiLmFyaWFMYWJlbD1hLnQobnVsbCx2b2lkIDAsbig1MTc4NTkpKSxoLmFwcGVuZChiKSksaC5jbGFzc05hbWU9bCgpKGYubGFiZWwscD09PW8uSG9yaXpvbnRhbC5TdGFydCYmZi5zdGFydCxwPT09by5Ib3Jpem9udGFsLkVuZCYmZi5lbmQsbT09PW8uVmVydGljYWwuVG9wJiZmLnRvcCxtPT09by5WZXJ0aWNhbC5Cb3R0b20mJmYuYm90dG9tLGcmJiJsYXJnZV90cmFkZSIhPT11JiZmLnNuYXAsImxhcmdlX29sZCI9PT11JiZmLmxhcmdlLCh5fHwibGFyZ2VfdHJhZGUiPT09dSkmJmYuZXhwYW5kZWQsdiwianMtY29weXJpZ2h0LWxhYmVsIiksaC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCgpPT57ZnVuY3Rpb24gZSgpe2guY2xhc3NMaXN0LnJlbW92ZShmLmV4cGFuZGVkQnlDbGljayksaC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixlKX1oLmNsYXNzTGlzdC5jb250YWlucyhmLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24pfHxoLmNsYXNzTGlzdC5jb250YWlucyhmLmV4cGFuZGVkKXx8KGguY2xhc3NMaXN0LmNvbnRhaW5zKGYuZXhwYW5kZWRCeUNsaWNrKT9kfHxlKCk6KGguY2xhc3NMaXN0LmFkZChmLmV4cGFuZGVkQnlDbGljayksaC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixlKSkpfSkpO2NvbnN0IE49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO04uY2xhc3NOYW1lPWYubG9nb1dyYXAsTi5pbm5lckhUTUw9dDtjb25zdCB4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtyZXR1cm4geC5jbGFzc05hbWU9Zi5zdmdUZXh0V3JhcCx4LmlubmVySFRNTD1lLGguYXBwZW5kKE4seCksW2gsZl19IWZ1bmN0aW9uKGUpe2xldCB0LG47IWZ1bmN0aW9uKGUpe2VbZS5Cb3R0b209MF09IkJvdHRvbSIsZVtlLlRvcD0xXT0iVG9wIn0odD1lLlZlcnRpY2FsfHwoZS5WZXJ0aWNhbD17fSkpLGZ1bmN0aW9uKGUpe2VbZS5TdGFydD0wXT0iU3RhcnQiLGVbZS5FbmQ9MV09IkVuZCJ9KG49ZS5Ib3Jpem9udGFsfHwoZS5Ib3Jpem9udGFsPXt9KSl9KG98fChvPXt9KSl9LDY1MzgxNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVDb3B5cmlnaHRMYWJlbDooKT0+aX0pO3ZhciBvPW4oOTE0NDg3KSxhPW4ubihvKSxyPW4oMTM2OTkxKSxsPW4oNTI4ODY0KTtmdW5jdGlvbiBpKHtzaGVyaWZmT3B0aW9uczplLC4uLnR9KXtjb25zdFtuLG9dPSgwLHIuY29weXJpZ2h0TGFiZWwpKHQpLGk9ZSYmZS5pbmNsdWRlcyhsLktub3duQWN0aW9uLkV4cGFuZCksYz1lJiZlLmluY2x1ZGVzKGwuS25vd25BY3Rpb24uTGFyZ2VUcmFkZUxvZ28pO3JldHVybiBuLmNsYXNzTmFtZT1hKCkobi5jbGFzc05hbWUsKGl8fGMpJiZvLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24pLG59fSw1Mjg4NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgbztuLmQodCx7S25vd25BY3Rpb246KCk9Pm8sd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9PmF9KSxmdW5jdGlvbihlKXtlLkV4cGFuZD0iZXhwYW5kLWxvZ28iLGUuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShvfHwobz17fSkpO2NvbnN0IGE9bmV3IFNldChbby5FeHBhbmQsby5MYXJnZVRyYWRlTG9nb10pfSwyMzQzMShlLHQsbil7InVzZSBzdHJpY3QiO3ZhciBvLGE7bi5kKHQse0lGcmFtZUV2ZW50czooKT0+YX0pLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlNldFN5bWJvbD0ic2V0LXN5bWJvbCIsZS5TZXRJbnRlcnZhbD0ic2V0LWludGVydmFsIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlN5bWJvbENsaWNrPSJ0di13aWRnZXQtc3ltYm9sLWNsaWNrIixlLldpZGdldExvYWQ9InR2LXdpZGdldC1sb2FkIixlLldpZGdldFJlYWR5PSJ0di13aWRnZXQtcmVhZHkiLGUuUmVzaXplSWZyYW1lPSJ0di13aWRnZXQtcmVzaXplLWlmcmFtZSIsZS5Ob0RhdGE9InR2LXdpZGdldC1uby1kYXRhIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShhfHwoYT17fSkpfSw3MzIxMTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUsdCxuKXtjb25zdCBvPXtuYW1lOmUsZnJhbWVFbGVtZW50SWQ6dCxkYXRhOm59O3dpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UobywiKiIpfW4uZCh0LHtkaXNwYXRjaEV2ZW50VG9QYXJlbnQ6KCk9Pm99KX0sMTg1MjcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Q6KCk9Pm8udH0pO24oODI5MTgwKTt2YXIgbz1uKDc4MzI1NCl9LDg1MTQ1OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc1NwcmVhZDooKT0+ZCx0b2tlbml6ZTooKT0+Y30pO3ZhciBvLGE9big5MDEwMjIpLHI9big1NjkzOTgpOyFmdW5jdGlvbihlKXtlLlN5bWJvbD0ic3ltYm9sIixlLkluY29tcGxldGVTeW1ib2w9ImluY29tcGxldGVTeW1ib2wiLGUuTnVtYmVyPSJudW1iZXIiLGUuSW5jb21wbGV0ZU51bWJlcj0iaW5jb21wbGV0ZU51bWJlciIsZS5TZXBhcmF0b3JQcmVmaXg9InNlcGFyYXRvclByZWZpeCIsZS5PcGVuQnJhY2U9Im9wZW5CcmFjZSIsZS5DbG9zZUJyYWNlPSJjbG9zZUJyYWNlIixlLlBsdXM9InBsdXMiLGUuTWludXM9Im1pbnVzIixlLk11bHRpcGx5PSJtdWx0aXBseSIsZS5EaXZpZGU9ImRpdmlkZSIsZS5Qb3dlcj0icG93ZXIiLGUuV2hpdGVzcGFjZT0id2hpdGVzcGFjZSIsZS5VbnBhcnNlZD0idW5wYXJzZWQifShvfHwobz17fSkpO2NvbnN0IGw9Lyg/OlteLStcLypeXHNdJ3xbYS16QS1aMC05X1x1MDM3MC1cdTFGRkZfXHUyRTgwLVx1RkZGRl0pKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMDIwXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXyF8Oi4mXSkqfCcuKz8nLyxpPShlPSgwLHIuaXNGZWF0dXJlRW5hYmxlZCkoImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIikpPT4oewpudW1iZXI6ZT8vXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpKD86XHMqKD89XHMqJCkpP3xcLlxkKyg/OlxzKig/PVxzKiQpKT8vOi9cZCsoPzpcLlxkKnwoPyFbYS16QS1aMC05XyE6LiZdKSl8XC5cZCsvLGluY29tcGxldGVOdW1iZXI6L1wuLyxzeW1ib2w6bCxpbmNvbXBsZXRlU3ltYm9sOi8nW14nXSovLHNlcGFyYXRvclByZWZpeDphLlNFUEFSQVRPUl9QUkVGSVgsb3BlbkJyYWNlOiIoIixjbG9zZUJyYWNlOiIpIixwbHVzOiIrIixtaW51czoiLSIsbXVsdGlwbHk6IioiLGRpdmlkZToiLyIscG93ZXI6Il4iLHdoaXRlc3BhY2U6L1tcMC1ceDIwXHNdKy8sdW5wYXJzZWQ6bnVsbH0pO2Z1bmN0aW9uIGMoZSx0PWkoKSl7aWYoIWUpcmV0dXJuW107Y29uc3Qgbj1bXSxvPU9iamVjdC5rZXlzKHQpO2xldCBhO2NvbnN0IHI9KChlPWkoKSk9Pm5ldyBSZWdFeHAoT2JqZWN0LnZhbHVlcyhlKS5tYXAoKGU9PntyZXR1cm4gbnVsbD09PWU/IiI6YCgkeyJzdHJpbmciPT10eXBlb2YgZT8odD1lLHQucmVwbGFjZSgvW1xeJCgpW1xde30qKz98XFxdL2csIlxcJCYiKSk6ZS5zb3VyY2V9KWA7dmFyIHR9KSkuZmlsdGVyKChlPT4iIiE9PWUpKS5jb25jYXQoIi4iKS5qb2luKCJ8IiksImciKSkodCk7Zm9yKDthPXIuZXhlYyhlKTspe2xldCBlPSExO2ZvcihsZXQgdD1vLmxlbmd0aDt0LS07KWlmKGFbdCsxXSl7b1t0XSYmbi5wdXNoKHt2YWx1ZTphW3QrMV0sdHlwZTpvW3RdLHByZWNlZGVuY2U6MCxvZmZzZXQ6YS5pbmRleH0pLGU9ITA7YnJlYWt9ZXx8bi5wdXNoKHt2YWx1ZTphWzBdLHR5cGU6InVucGFyc2VkIixwcmVjZWRlbmNlOjAsb2Zmc2V0OmEuaW5kZXh9KX1yZXR1cm4gbn1mdW5jdGlvbiBzKGUpe3JldHVybiJwbHVzIj09PWV8fCJtaW51cyI9PT1lfHwibXVsdGlwbHkiPT09ZXx8ImRpdmlkZSI9PT1lfHwicG93ZXIiPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiBlLmxlbmd0aD4xJiZlLnNvbWUoKGU9PnMoZS50eXBlKSkpfX0sODExNDk5KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZS5yZXBsYWNlKCJ7e3Nob3J0TmFtZX19Iiwie3R2c3ltYm9sfSIpLnJlcGxhY2UoInt7cHJvTmFtZX19Iiwie3R2cHJvc3ltYm9sfSIpLnJlcGxhY2UoInt7c3ltYm9sfX0iLCJ7dHZzeW1ib2x9IikucmVwbGFjZSgie3tleGNoYW5nZX19Iiwie3R2ZXhjaGFuZ2V9Iil9bi5kKHQse3JlcGxhY2VPbGRQbGFjZWhvbGRlcnM6KCk9Pm99KX0sOTMxMTk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2hhbmRsZVRWTGlua3NDbGljazooKT0+bCxzZW5kV2lkZ2V0VHJhY2tEYXRhOigpPT5pfSk7dmFyIG89big0MDAxODEpLGE9big2MDE1ODcpLHI9big3MzA2NDUpO2Z1bmN0aW9uIGwoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pntjb25zdCB0PWUudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7dD8uaG9zdG5hbWUmJigwLHIuaXNJbnRlcm5hbEhvc3QpKHQuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZpKHQuaHJlZix0LmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9YXN5bmMgZnVuY3Rpb24gaShlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoPjApcmV0dXJuKDAsYS5maWx0ZXJVdG1JbmZvKShlKTtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjp0LmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOnQuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsby5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYygiaWdsdTpjb20udHJhZGluZ3ZpZXcvd2lkZ2V0X3R2X2xpbmtfY2xpY2svanNvbnNjaGVtYS8xLTAtMCIse3dpZGdldF90eXBlOnMobiksZG9tYWluOmMobiksbGluazplLHRhcmdldF90eXBlOnR9KX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9bG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zPy5bMF18fGRvY3VtZW50LnJlZmVycmVyO3JldHVybiBlLnV0bV9zb3VyY2V8fGZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gbmV3IFVSTChlKS5ob3N0fWNhdGNoKGUpe3JldHVybiIifX0odCl9ZnVuY3Rpb24gcyhlKXtpZihlLnV0bV9jYW1wYWlnbilyZXR1cm4gZS51dG1fY2FtcGFpZ247Y29uc3QgdD1sb2NhdGlvbi5wYXRobmFtZTtyZXR1cm4gdC5pbmNsdWRlcygiZW1iZWQtd2lkZ2V0Iik/dC5zcGxpdCgiLyIpWzJdOnR9fSw5MDIxMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZXh0cmFjdFdpZGdldFNldHRpbmdzOigpPT5hfSk7Y29uc3Qgbz17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtmdW5jdGlvbiBhKGUsdD1bXSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4sYT1bXSxyKXtjb25zdCBsPW4uc2xpY2UoMSksaT1kZWNvZGVVUklDb21wb25lbnQobCk7bGV0IGM9e307dHJ5eyIiIT09aSYmKGM9SlNPTi5wYXJzZShpKSx2b2lkIDAhPT1yJiZyKGUsYyksT2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZT0+eyhvW2VdfHxhLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGNbZV19KSkpfWNhdGNoKGUpe2M9e30sY29uc29sZS53YXJuKCJIYXNoIHBhcmFtcyBwYXJzaW5nIGVycm9yISBIYXNoIHBhcmFtcyBpZ25vcmVkLiIpfWNvbnN0IHM9dC5zbGljZSgxKSxkPXQuaW5jbHVkZXMoIiUiKT9kZWNvZGVVUklDb21wb25lbnQocyk6dCx1PW5ldyBVUkxTZWFyY2hQYXJhbXMoZCk7bGV0IG09e307dHJ5e3UuZm9yRWFjaCgoKGUsdCk9PnthLmluY2x1ZGVzKHQpfHwobVt0XT1lKX0pKSx2b2lkIDAhPT1yJiZyKGUsbSl9Y2F0Y2goZSl7bT17fSxjb25zb2xlLndhcm4oIlNlYXJjaCBxdWVyeSBwYXJhbXMgcGFyc2luZyBlcnJvciEgU2VhcmNoIHF1ZXJ5IHBhcmFtcyBpZ25vcmVkLiIpfXJldHVybiBPYmplY3QuYXNzaWduKHt9LGUsYyxtKQp9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxuKX19LDQwMzM3MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHttYWtlV2lkZ2V0U3ltYm9sTGluazooKT0+bH0pO3ZhciBvPW4oODExNDk5KSxhPW4oOTExMzI3KSxyPW4oODUxNDU4KTtmdW5jdGlvbiBsKGUpe2NvbnN0e2N1c3RvbVVybDp0LHV0bUluZm86bixwYXRoOmwsdHlwZXNwZWNzOml9PWU7bGV0IGMscyxkPWUuc3ltYm9sO2NvbnN0IHU9KDAsci50b2tlbml6ZSkoZCk7cmV0dXJuKDAsci5pc1NwcmVhZCkodSkmJihkPXUuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV8fGQpLGQuaW5jbHVkZXMoIjoiKT9bcyxjXT1kLnNwbGl0KCI6Iik6Yz1kLHQ/KDAsYS5tYWtlVGVtcGxhdGVTeW1ib2xVcmwpKCgwLG8ucmVwbGFjZU9sZFBsYWNlaG9sZGVycykodCkse3Byb05hbWU6ZH0pOigwLGEubWFrZVN5bWJvbFBhZ2VVcmwpKHtzaG9ydE5hbWU6YyxleGNoYW5nZTpzLHR5cGVzcGVjczppfSxuLHZvaWQgMCxsKX19LDgxNzM1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIG89bigxNzg0OTcpLGE9bigzNjA2MjApO2NvbnN0IHI9ZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lfHwhMT09PWV8fCgwLGEuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IEJvb2xlYW5dIj09KDAsby5kZWZhdWx0KShlKX19LDIwNjY3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIG89bigxNzg0OTcpLGE9bigzNjA2MjApO2NvbnN0IHI9ZnVuY3Rpb24oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlfHwoMCxhLmRlZmF1bHQpKGUpJiYiW29iamVjdCBOdW1iZXJdIj09KDAsby5kZWZhdWx0KShlKX19LDMwNDIyMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5sfSk7dmFyIG89bigxNzg0OTcpLGE9bigyOTU2MzUpLHI9bigzNjA2MjApO2NvbnN0IGw9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfHwhKDAsYS5kZWZhdWx0KShlKSYmKDAsci5kZWZhdWx0KShlKSYmIltvYmplY3QgU3RyaW5nXSI9PSgwLG8uZGVmYXVsdCkoZSl9fX1dKTs="}},"time_used":2,"timings":{"blocked":-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-forex-cross-rates.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.611Z","timestamp":1785124599611,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /external-embedding/embed-widget-forex-cross-rates.js HTTP/1.1\r\nHost: s3.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://astroxcinvest.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 03:56: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: \"6ff9630986d3855842b586b326474dae\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:24 GMT\r\nx-amz-id-2: gOMHE79Zn7yZ7yeqnhc2FK+gr/LdIPQnKT1/sqspzs6732OIPvuk0br9ZUw50iTxC4qxwwtAi+UBCvBVhRKB+q2k+kfN0z4K\r\nx-amz-request-id: 39DAMT3KYR5Z64HK\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: 9fupqI4xxEHAneKy4exkfX_7FVRNO7mI\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:52:19\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: acf138009e29518e016cd3ffb9a55d88\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12720,"size_decoded":5883,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"6ff9630986d3855842b586b326474dae","sha1":"69f83fc5e5e46f4ae60db6c9a2c7a0624f2b971d","sha256":"2eb114ab8c6de3b23037ae8feb4df46fc8d082acfe985a7086ad2744b49f2618","sha512":"7aea1b79bb1426698dcc337f9814dddffd5bcbddf75914dd5e73e107f13b378656aacca54997eb6dffbbeabb0c071c3b1a30d5e3d6eff3e117964eac45090f24","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6OrmaRMViZMEa:uD5Unb26nD6OrmaRkFEa","tlshash":"5b42d7aab660dcbd919945dba07a2321b61d3944b203eca4b5ace4c510fdccca531f7e","first_seen":"2026-07-16T22:06:47.112342Z","last_seen":"2026-08-04T06:18:34.266139Z","times_seen":949,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxBLGspLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgRT10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoRT8odChFLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxFKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19bmV3IGNsYXNzIGV4dGVuZHMgZHtnZXQgd2lkZ2V0SWQoKXtyZXR1cm4iZm9yZXgtY3Jvc3MtcmF0ZXMifWdldCB1c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0KCl7cmV0dXJuITB9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWyJjb2xvclRoZW1lIiwiY3VycmVuY2llcyIsImN1c3RvbWVyIiwiZGlzYWJsZUNyb3NzQ2xpY2tIcmVmIiwiaGVpZ2h0IiwibGFyZ2VDaGFydFVybCIsImxvY2FsZSIsIndpZHRoIiwiYmFja2dyb3VuZENvbG9yIl19fX0pKCk7"}},"time_used":26,"timings":{"blocked":-1,"dns":5,"connect":2,"send":0,"wait":3,"receive":0,"ssl":16},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/popper.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.618Z","timestamp":1785124599618,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/popper.min.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"4af4-5aa839fc-f12ade49f52bfcac;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 6644\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":19188,"size_decoded":7021,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (19015)","md5":"70d3fda195602fe8b75e0097eed74dde","sha1":"c3b977aa4b8dfb69d651e07015031d385ded964b","sha256":"a52f7aa54d7bcaafa056ee0a050262dfc5694ae28dee8b4cac3429af37ff0d66","sha512":"51affb5a8cfd2f93b473007f6987b19a0a1a0fb970ddd59ef45bd77a355d82abbbd60468837a09823496411e797f05b1f962ae93c725ed4c00d514ba40269d14","ssdeep":"384:+CbuG4xGNoDic2UjKPafxwC5b/4xQviOJU7QzxzivDdE3pcGdjkd/9jt3B+Kb964:zb4xGmiJfaf7gxQvVU7eziv+cSjknZ3f","tlshash":"1c82a3cc3291b06643a79167a06f960fb2339979614e9410f199f2d87c70ef9913fc7a","first_seen":"2023-03-07T01:02:44Z","last_seen":"2026-08-04T07:18:42.962879Z","times_seen":110961,"resource_available":true,"data":"LyoKIENvcHlyaWdodCAoQykgRmVkZXJpY28gWml2b2xvIDIwMTcKIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAobGljZW5zZSB0ZXJtcyBhcmUgYXQgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCkuCiAqLyhmdW5jdGlvbihlLHQpeydvYmplY3QnPT10eXBlb2YgZXhwb3J0cyYmJ3VuZGVmaW5lZCchPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOidmdW5jdGlvbic9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKHQpOmUuUG9wcGVyPXQoKX0pKHRoaXMsZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7ZnVuY3Rpb24gZShlKXtyZXR1cm4gZSYmJ1tvYmplY3QgRnVuY3Rpb25dJz09PXt9LnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gdChlLHQpe2lmKDEhPT1lLm5vZGVUeXBlKXJldHVybltdO3ZhciBvPWdldENvbXB1dGVkU3R5bGUoZSxudWxsKTtyZXR1cm4gdD9vW3RdOm99ZnVuY3Rpb24gbyhlKXtyZXR1cm4nSFRNTCc9PT1lLm5vZGVOYW1lP2U6ZS5wYXJlbnROb2RlfHxlLmhvc3R9ZnVuY3Rpb24gbihlKXtpZighZSlyZXR1cm4gZG9jdW1lbnQuYm9keTtzd2l0Y2goZS5ub2RlTmFtZSl7Y2FzZSdIVE1MJzpjYXNlJ0JPRFknOnJldHVybiBlLm93bmVyRG9jdW1lbnQuYm9keTtjYXNlJyNkb2N1bWVudCc6cmV0dXJuIGUuYm9keTt9dmFyIGk9dChlKSxyPWkub3ZlcmZsb3cscD1pLm92ZXJmbG93WCxzPWkub3ZlcmZsb3dZO3JldHVybiAvKGF1dG98c2Nyb2xsKS8udGVzdChyK3MrcCk/ZTpuKG8oZSkpfWZ1bmN0aW9uIHIoZSl7dmFyIG89ZSYmZS5vZmZzZXRQYXJlbnQsaT1vJiZvLm5vZGVOYW1lO3JldHVybiBpJiYnQk9EWSchPT1pJiYnSFRNTCchPT1pPy0xIT09WydURCcsJ1RBQkxFJ10uaW5kZXhPZihvLm5vZGVOYW1lKSYmJ3N0YXRpYyc9PT10KG8sJ3Bvc2l0aW9uJyk/cihvKTpvOmU/ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9ZnVuY3Rpb24gcChlKXt2YXIgdD1lLm5vZGVOYW1lO3JldHVybidCT0RZJyE9PXQmJignSFRNTCc9PT10fHxyKGUuZmlyc3RFbGVtZW50Q2hpbGQpPT09ZSl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gbnVsbD09PWUucGFyZW50Tm9kZT9lOnMoZS5wYXJlbnROb2RlKX1mdW5jdGlvbiBkKGUsdCl7aWYoIWV8fCFlLm5vZGVUeXBlfHwhdHx8IXQubm9kZVR5cGUpcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt2YXIgbz1lLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLGk9bz9lOnQsbj1vP3Q6ZSxhPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7YS5zZXRTdGFydChpLDApLGEuc2V0RW5kKG4sMCk7dmFyIGw9YS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtpZihlIT09bCYmdCE9PWx8fGkuY29udGFpbnMobikpcmV0dXJuIHAobCk/bDpyKGwpO3ZhciBmPXMoZSk7cmV0dXJuIGYuaG9zdD9kKGYuaG9zdCx0KTpkKGUscyh0KS5ob3N0KX1mdW5jdGlvbiBhKGUpe3ZhciB0PTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTondG9wJyxvPSd0b3AnPT09dD8nc2Nyb2xsVG9wJzonc2Nyb2xsTGVmdCcsaT1lLm5vZGVOYW1lO2lmKCdCT0RZJz09PWl8fCdIVE1MJz09PWkpe3ZhciBuPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscj1lLm93bmVyRG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudHx8bjtyZXR1cm4gcltvXX1yZXR1cm4gZVtvXX1mdW5jdGlvbiBsKGUsdCl7dmFyIG89Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxpPWEodCwndG9wJyksbj1hKHQsJ2xlZnQnKSxyPW8/LTE6MTtyZXR1cm4gZS50b3ArPWkqcixlLmJvdHRvbSs9aSpyLGUubGVmdCs9bipyLGUucmlnaHQrPW4qcixlfWZ1bmN0aW9uIGYoZSx0KXt2YXIgbz0neCc9PT10PydMZWZ0JzonVG9wJyxpPSdMZWZ0Jz09bz8nUmlnaHQnOidCb3R0b20nO3JldHVybiBwYXJzZUZsb2F0KGVbJ2JvcmRlcicrbysnV2lkdGgnXSwxMCkrcGFyc2VGbG9hdChlWydib3JkZXInK2krJ1dpZHRoJ10sMTApfWZ1bmN0aW9uIG0oZSx0LG8saSl7cmV0dXJuIEoodFsnb2Zmc2V0JytlXSx0WydzY3JvbGwnK2VdLG9bJ2NsaWVudCcrZV0sb1snb2Zmc2V0JytlXSxvWydzY3JvbGwnK2VdLGllKCk/b1snb2Zmc2V0JytlXStpWydtYXJnaW4nKygnSGVpZ2h0Jz09PWU/J1RvcCc6J0xlZnQnKV0raVsnbWFyZ2luJysoJ0hlaWdodCc9PT1lPydCb3R0b20nOidSaWdodCcpXTowKX1mdW5jdGlvbiBoKCl7dmFyIGU9ZG9jdW1lbnQuYm9keSx0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxvPWllKCkmJmdldENvbXB1dGVkU3R5bGUodCk7cmV0dXJue2hlaWdodDptKCdIZWlnaHQnLGUsdCxvKSx3aWR0aDptKCdXaWR0aCcsZSx0LG8pfX1mdW5jdGlvbiBjKGUpe3JldHVybiBzZSh7fSxlLHtyaWdodDplLmxlZnQrZS53aWR0aCxib3R0b206ZS50b3ArZS5oZWlnaHR9KX1mdW5jdGlvbiBnKGUpe3ZhciBvPXt9O2lmKGllKCkpdHJ5e289ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt2YXIgaT1hKGUsJ3RvcCcpLG49YShlLCdsZWZ0Jyk7by50b3ArPWksby5sZWZ0Kz1uLG8uYm90dG9tKz1pLG8ucmlnaHQrPW59Y2F0Y2goZSl7fWVsc2Ugbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciByPXtsZWZ0Om8ubGVmdCx0b3A6by50b3Asd2lkdGg6by5yaWdodC1vLmxlZnQsaGVpZ2h0Om8uYm90dG9tLW8udG9wfSxwPSdIVE1MJz09PWUubm9kZU5hbWU/aCgpOnt9LHM9cC53aWR0aHx8ZS5jbGllbnRXaWR0aHx8ci5yaWdodC1yLmxlZnQsZD1wLmhlaWdodHx8ZS5jbGllbnRIZWlnaHR8fHIuYm90dG9tLXIudG9wLGw9ZS5vZmZzZXRXaWR0aC1zLG09ZS5vZmZzZXRIZWlnaHQtZDtpZihsfHxtKXt2YXIgZz10KGUpO2wtPWYoZywneCcpLG0tPWYoZywneScpLHIud2lkdGgtPWwsci5oZWlnaHQtPW19cmV0dXJuIGMocil9ZnVuY3Rpb24gdShlLG8pe3ZhciBpPWllKCkscj0nSFRNTCc9PT1vLm5vZGVOYW1lLHA9ZyhlKSxzPWcobyksZD1uKGUpLGE9dChvKSxmPXBhcnNlRmxvYXQoYS5ib3JkZXJUb3BXaWR0aCwxMCksbT1wYXJzZUZsb2F0KGEuYm9yZGVyTGVmdFdpZHRoLDEwKSxoPWMoe3RvcDpwLnRvcC1zLnRvcC1mLGxlZnQ6cC5sZWZ0LXMubGVmdC1tLHdpZHRoOnAud2lkdGgsaGVpZ2h0OnAuaGVpZ2h0fSk7aWYoaC5tYXJnaW5Ub3A9MCxoLm1hcmdpbkxlZnQ9MCwhaSYmcil7dmFyIHU9cGFyc2VGbG9hdChhLm1hcmdpblRvcCwxMCksYj1wYXJzZUZsb2F0KGEubWFyZ2luTGVmdCwxMCk7aC50b3AtPWYtdSxoLmJvdHRvbS09Zi11LGgubGVmdC09bS1iLGgucmlnaHQtPW0tYixoLm1hcmdpblRvcD11LGgubWFyZ2luTGVmdD1ifXJldHVybihpP28uY29udGFpbnMoZCk6bz09PWQmJidCT0RZJyE9PWQubm9kZU5hbWUpJiYoaD1sKGgsbykpLGh9ZnVuY3Rpb24gYihlKXt2YXIgdD1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG89dShlLHQpLGk9Sih0LmNsaWVudFdpZHRoLHdpbmRvdy5pbm5lcldpZHRofHwwKSxuPUoodC5jbGllbnRIZWlnaHQsd2luZG93LmlubmVySGVpZ2h0fHwwKSxyPWEodCkscD1hKHQsJ2xlZnQnKSxzPXt0b3A6ci1vLnRvcCtvLm1hcmdpblRvcCxsZWZ0OnAtby5sZWZ0K28ubWFyZ2luTGVmdCx3aWR0aDppLGhlaWdodDpufTtyZXR1cm4gYyhzKX1mdW5jdGlvbiB3KGUpe3ZhciBpPWUubm9kZU5hbWU7cmV0dXJuJ0JPRFknPT09aXx8J0hUTUwnPT09aT8hMTonZml4ZWQnPT09dChlLCdwb3NpdGlvbicpfHx3KG8oZSkpfWZ1bmN0aW9uIHkoZSx0LGkscil7dmFyIHA9e3RvcDowLGxlZnQ6MH0scz1kKGUsdCk7aWYoJ3ZpZXdwb3J0Jz09PXIpcD1iKHMpO2Vsc2V7dmFyIGE7J3Njcm9sbFBhcmVudCc9PT1yPyhhPW4obyh0KSksJ0JPRFknPT09YS5ub2RlTmFtZSYmKGE9ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkpOid3aW5kb3cnPT09cj9hPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6YT1yO3ZhciBsPXUoYSxzKTtpZignSFRNTCc9PT1hLm5vZGVOYW1lJiYhdyhzKSl7dmFyIGY9aCgpLG09Zi5oZWlnaHQsYz1mLndpZHRoO3AudG9wKz1sLnRvcC1sLm1hcmdpblRvcCxwLmJvdHRvbT1tK2wudG9wLHAubGVmdCs9bC5sZWZ0LWwubWFyZ2luTGVmdCxwLnJpZ2h0PWMrbC5sZWZ0fWVsc2UgcD1sfXJldHVybiBwLmxlZnQrPWkscC50b3ArPWkscC5yaWdodC09aSxwLmJvdHRvbS09aSxwfWZ1bmN0aW9uIEUoZSl7dmFyIHQ9ZS53aWR0aCxvPWUuaGVpZ2h0O3JldHVybiB0Km99ZnVuY3Rpb24gdihlLHQsbyxpLG4pe3ZhciByPTU8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzVdP2FyZ3VtZW50c1s1XTowO2lmKC0xPT09ZS5pbmRleE9mKCdhdXRvJykpcmV0dXJuIGU7dmFyIHA9eShvLGkscixuKSxzPXt0b3A6e3dpZHRoOnAud2lkdGgsaGVpZ2h0OnQudG9wLXAudG9wfSxyaWdodDp7d2lkdGg6cC5yaWdodC10LnJpZ2h0LGhlaWdodDpwLmhlaWdodH0sYm90dG9tOnt3aWR0aDpwLndpZHRoLGhlaWdodDpwLmJvdHRvbS10LmJvdHRvbX0sbGVmdDp7d2lkdGg6dC5sZWZ0LXAubGVmdCxoZWlnaHQ6cC5oZWlnaHR9fSxkPU9iamVjdC5rZXlzKHMpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gc2Uoe2tleTplfSxzW2VdLHthcmVhOkUoc1tlXSl9KX0pLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5hcmVhLWUuYXJlYX0pLGE9ZC5maWx0ZXIoZnVuY3Rpb24oZSl7dmFyIHQ9ZS53aWR0aCxpPWUuaGVpZ2h0O3JldHVybiB0Pj1vLmNsaWVudFdpZHRoJiZpPj1vLmNsaWVudEhlaWdodH0pLGw9MDxhLmxlbmd0aD9hWzBdLmtleTpkWzBdLmtleSxmPWUuc3BsaXQoJy0nKVsxXTtyZXR1cm4gbCsoZj8nLScrZjonJyl9ZnVuY3Rpb24gTyhlLHQsbyl7dmFyIGk9ZCh0LG8pO3JldHVybiB1KG8saSl9ZnVuY3Rpb24gTChlKXt2YXIgdD1nZXRDb21wdXRlZFN0eWxlKGUpLG89cGFyc2VGbG9hdCh0Lm1hcmdpblRvcCkrcGFyc2VGbG9hdCh0Lm1hcmdpbkJvdHRvbSksaT1wYXJzZUZsb2F0KHQubWFyZ2luTGVmdCkrcGFyc2VGbG9hdCh0Lm1hcmdpblJpZ2h0KSxuPXt3aWR0aDplLm9mZnNldFdpZHRoK2ksaGVpZ2h0OmUub2Zmc2V0SGVpZ2h0K299O3JldHVybiBufWZ1bmN0aW9uIHgoZSl7dmFyIHQ9e2xlZnQ6J3JpZ2h0JyxyaWdodDonbGVmdCcsYm90dG9tOid0b3AnLHRvcDonYm90dG9tJ307cmV0dXJuIGUucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KX1mdW5jdGlvbiBTKGUsdCxvKXtvPW8uc3BsaXQoJy0nKVswXTt2YXIgaT1MKGUpLG49e3dpZHRoOmkud2lkdGgsaGVpZ2h0OmkuaGVpZ2h0fSxyPS0xIT09WydyaWdodCcsJ2xlZnQnXS5pbmRleE9mKG8pLHA9cj8ndG9wJzonbGVmdCcscz1yPydsZWZ0JzondG9wJyxkPXI/J2hlaWdodCc6J3dpZHRoJyxhPXI/J3dpZHRoJzonaGVpZ2h0JztyZXR1cm4gbltwXT10W3BdK3RbZF0vMi1pW2RdLzIsbltzXT1vPT09cz90W3NdLWlbYV06dFt4KHMpXSxufWZ1bmN0aW9uIFQoZSx0KXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbmQ/ZS5maW5kKHQpOmUuZmlsdGVyKHQpWzBdfWZ1bmN0aW9uIEQoZSx0LG8pe2lmKEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpcmV0dXJuIGUuZmluZEluZGV4KGZ1bmN0aW9uKGUpe3JldHVybiBlW3RdPT09b30pO3ZhciBpPVQoZSxmdW5jdGlvbihlKXtyZXR1cm4gZVt0XT09PW99KTtyZXR1cm4gZS5pbmRleE9mKGkpfWZ1bmN0aW9uIEModCxvLGkpe3ZhciBuPXZvaWQgMD09PWk/dDp0LnNsaWNlKDAsRCh0LCduYW1lJyxpKSk7cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbih0KXt0WydmdW5jdGlvbiddJiZjb25zb2xlLndhcm4oJ2Btb2RpZmllci5mdW5jdGlvbmAgaXMgZGVwcmVjYXRlZCwgdXNlIGBtb2RpZmllci5mbmAhJyk7dmFyIGk9dFsnZnVuY3Rpb24nXXx8dC5mbjt0LmVuYWJsZWQmJmUoaSkmJihvLm9mZnNldHMucG9wcGVyPWMoby5vZmZzZXRzLnBvcHBlciksby5vZmZzZXRzLnJlZmVyZW5jZT1jKG8ub2Zmc2V0cy5yZWZlcmVuY2UpLG89aShvLHQpKX0pLG99ZnVuY3Rpb24gTigpe2lmKCF0aGlzLnN0YXRlLmlzRGVzdHJveWVkKXt2YXIgZT17aW5zdGFuY2U6dGhpcyxzdHlsZXM6e30sYXJyb3dTdHlsZXM6e30sYXR0cmlidXRlczp7fSxmbGlwcGVkOiExLG9mZnNldHM6e319O2Uub2Zmc2V0cy5yZWZlcmVuY2U9Tyh0aGlzLnN0YXRlLHRoaXMucG9wcGVyLHRoaXMucmVmZXJlbmNlKSxlLnBsYWNlbWVudD12KHRoaXMub3B0aW9ucy5wbGFjZW1lbnQsZS5vZmZzZXRzLnJlZmVyZW5jZSx0aGlzLnBvcHBlcix0aGlzLnJlZmVyZW5jZSx0aGlzLm9wdGlvbnMubW9kaWZpZXJzLmZsaXAuYm91bmRhcmllc0VsZW1lbnQsdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpLGUub3JpZ2luYWxQbGFjZW1lbnQ9ZS5wbGFjZW1lbnQsZS5vZmZzZXRzLnBvcHBlcj1TKHRoaXMucG9wcGVyLGUub2Zmc2V0cy5yZWZlcmVuY2UsZS5wbGFjZW1lbnQpLGUub2Zmc2V0cy5wb3BwZXIucG9zaXRpb249J2Fic29sdXRlJyxlPUModGhpcy5tb2RpZmllcnMsZSksdGhpcy5zdGF0ZS5pc0NyZWF0ZWQ/dGhpcy5vcHRpb25zLm9uVXBkYXRlKGUpOih0aGlzLnN0YXRlLmlzQ3JlYXRlZD0hMCx0aGlzLm9wdGlvbnMub25DcmVhdGUoZSkpfX1mdW5jdGlvbiBrKGUsdCl7cmV0dXJuIGUuc29tZShmdW5jdGlvbihlKXt2YXIgbz1lLm5hbWUsaT1lLmVuYWJsZWQ7cmV0dXJuIGkmJm89PT10fSl9ZnVuY3Rpb24gVyhlKXtmb3IodmFyIHQ9WyExLCdtcycsJ1dlYmtpdCcsJ01veicsJ08nXSxvPWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSxuPTA7bjx0Lmxlbmd0aC0xO24rKyl7dmFyIGk9dFtuXSxyPWk/JycraStvOmU7aWYoJ3VuZGVmaW5lZCchPXR5cGVvZiBkb2N1bWVudC5ib2R5LnN0eWxlW3JdKXJldHVybiByfXJldHVybiBudWxsfWZ1bmN0aW9uIFAoKXtyZXR1cm4gdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZD0hMCxrKHRoaXMubW9kaWZpZXJzLCdhcHBseVN0eWxlJykmJih0aGlzLnBvcHBlci5yZW1vdmVBdHRyaWJ1dGUoJ3gtcGxhY2VtZW50JyksdGhpcy5wb3BwZXIuc3R5bGUubGVmdD0nJyx0aGlzLnBvcHBlci5zdHlsZS5wb3NpdGlvbj0nJyx0aGlzLnBvcHBlci5zdHlsZS50b3A9JycsdGhpcy5wb3BwZXIuc3R5bGVbVygndHJhbnNmb3JtJyldPScnKSx0aGlzLmRpc2FibGVFdmVudExpc3RlbmVycygpLHRoaXMub3B0aW9ucy5yZW1vdmVPbkRlc3Ryb3kmJnRoaXMucG9wcGVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5wb3BwZXIpLHRoaXN9ZnVuY3Rpb24gQihlKXt2YXIgdD1lLm93bmVyRG9jdW1lbnQ7cmV0dXJuIHQ/dC5kZWZhdWx0Vmlldzp3aW5kb3d9ZnVuY3Rpb24gSChlLHQsbyxpKXt2YXIgcj0nQk9EWSc9PT1lLm5vZGVOYW1lLHA9cj9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6ZTtwLmFkZEV2ZW50TGlzdGVuZXIodCxvLHtwYXNzaXZlOiEwfSkscnx8SChuKHAucGFyZW50Tm9kZSksdCxvLGkpLGkucHVzaChwKX1mdW5jdGlvbiBBKGUsdCxvLGkpe28udXBkYXRlQm91bmQ9aSxCKGUpLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsby51cGRhdGVCb3VuZCx7cGFzc2l2ZTohMH0pO3ZhciByPW4oZSk7cmV0dXJuIEgociwnc2Nyb2xsJyxvLnVwZGF0ZUJvdW5kLG8uc2Nyb2xsUGFyZW50cyksby5zY3JvbGxFbGVtZW50PXIsby5ldmVudHNFbmFibGVkPSEwLG99ZnVuY3Rpb24gSSgpe3RoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZHx8KHRoaXMuc3RhdGU9QSh0aGlzLnJlZmVyZW5jZSx0aGlzLm9wdGlvbnMsdGhpcy5zdGF0ZSx0aGlzLnNjaGVkdWxlVXBkYXRlKSl9ZnVuY3Rpb24gTShlLHQpe3JldHVybiBCKGUpLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsdC51cGRhdGVCb3VuZCksdC5zY3JvbGxQYXJlbnRzLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLHQudXBkYXRlQm91bmQpfSksdC51cGRhdGVCb3VuZD1udWxsLHQuc2Nyb2xsUGFyZW50cz1bXSx0LnNjcm9sbEVsZW1lbnQ9bnVsbCx0LmV2ZW50c0VuYWJsZWQ9ITEsdH1mdW5jdGlvbiBSKCl7dGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkJiYoY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zY2hlZHVsZVVwZGF0ZSksdGhpcy5zdGF0ZT1NKHRoaXMucmVmZXJlbmNlLHRoaXMuc3RhdGUpKX1mdW5jdGlvbiBVKGUpe3JldHVybicnIT09ZSYmIWlzTmFOKHBhcnNlRmxvYXQoZSkpJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBZKGUsdCl7T2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihvKXt2YXIgaT0nJzstMSE9PVsnd2lkdGgnLCdoZWlnaHQnLCd0b3AnLCdyaWdodCcsJ2JvdHRvbScsJ2xlZnQnXS5pbmRleE9mKG8pJiZVKHRbb10pJiYoaT0ncHgnKSxlLnN0eWxlW29dPXRbb10raX0pfWZ1bmN0aW9uIGooZSx0KXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3ZhciBpPXRbb107ITE9PT1pP2UucmVtb3ZlQXR0cmlidXRlKG8pOmUuc2V0QXR0cmlidXRlKG8sdFtvXSl9KX1mdW5jdGlvbiBGKGUsdCxvKXt2YXIgaT1UKGUsZnVuY3Rpb24oZSl7dmFyIG89ZS5uYW1lO3JldHVybiBvPT09dH0pLG49ISFpJiZlLnNvbWUoZnVuY3Rpb24oZSl7cmV0dXJuIGUubmFtZT09PW8mJmUuZW5hYmxlZCYmZS5vcmRlcjxpLm9yZGVyfSk7aWYoIW4pe3ZhciByPSdgJyt0KydgJztjb25zb2xlLndhcm4oJ2AnK28rJ2AnKycgbW9kaWZpZXIgaXMgcmVxdWlyZWQgYnkgJytyKycgbW9kaWZpZXIgaW4gb3JkZXIgdG8gd29yaywgYmUgc3VyZSB0byBpbmNsdWRlIGl0IGJlZm9yZSAnK3IrJyEnKX1yZXR1cm4gbn1mdW5jdGlvbiBLKGUpe3JldHVybidlbmQnPT09ZT8nc3RhcnQnOidzdGFydCc9PT1lPydlbmQnOmV9ZnVuY3Rpb24gcShlKXt2YXIgdD0xPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzFdLG89YWUuaW5kZXhPZihlKSxpPWFlLnNsaWNlKG8rMSkuY29uY2F0KGFlLnNsaWNlKDAsbykpO3JldHVybiB0P2kucmV2ZXJzZSgpOml9ZnVuY3Rpb24gVihlLHQsbyxpKXt2YXIgbj1lLm1hdGNoKC8oKD86XC18XCspP1xkKlwuP1xkKikoLiopLykscj0rblsxXSxwPW5bMl07aWYoIXIpcmV0dXJuIGU7aWYoMD09PXAuaW5kZXhPZignJScpKXt2YXIgcztzd2l0Y2gocCl7Y2FzZSclcCc6cz1vO2JyZWFrO2Nhc2UnJSc6Y2FzZSclcic6ZGVmYXVsdDpzPWk7fXZhciBkPWMocyk7cmV0dXJuIGRbdF0vMTAwKnJ9aWYoJ3ZoJz09PXB8fCd2dyc9PT1wKXt2YXIgYTtyZXR1cm4gYT0ndmgnPT09cD9KKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsd2luZG93LmlubmVySGVpZ2h0fHwwKTpKKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCx3aW5kb3cuaW5uZXJXaWR0aHx8MCksYS8xMDAqcn1yZXR1cm4gcn1mdW5jdGlvbiB6KGUsdCxvLGkpe3ZhciBuPVswLDBdLHI9LTEhPT1bJ3JpZ2h0JywnbGVmdCddLmluZGV4T2YoaSkscD1lLnNwbGl0KC8oXCt8XC0pLykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRyaW0oKX0pLHM9cC5pbmRleE9mKFQocCxmdW5jdGlvbihlKXtyZXR1cm4tMSE9PWUuc2VhcmNoKC8sfFxzLyl9KSk7cFtzXSYmLTE9PT1wW3NdLmluZGV4T2YoJywnKSYmY29uc29sZS53YXJuKCdPZmZzZXRzIHNlcGFyYXRlZCBieSB3aGl0ZSBzcGFjZShzKSBhcmUgZGVwcmVjYXRlZCwgdXNlIGEgY29tbWEgKCwpIGluc3RlYWQuJyk7dmFyIGQ9L1xzKixccyp8XHMrLyxhPS0xPT09cz9bcF06W3Auc2xpY2UoMCxzKS5jb25jYXQoW3Bbc10uc3BsaXQoZClbMF1dKSxbcFtzXS5zcGxpdChkKVsxXV0uY29uY2F0KHAuc2xpY2UocysxKSldO3JldHVybiBhPWEubWFwKGZ1bmN0aW9uKGUsaSl7dmFyIG49KDE9PT1pPyFyOnIpPydoZWlnaHQnOid3aWR0aCcscD0hMTtyZXR1cm4gZS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4nJz09PWVbZS5sZW5ndGgtMV0mJi0xIT09WycrJywnLSddLmluZGV4T2YodCk/KGVbZS5sZW5ndGgtMV09dCxwPSEwLGUpOnA/KGVbZS5sZW5ndGgtMV0rPXQscD0hMSxlKTplLmNvbmNhdCh0KX0sW10pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gVihlLG4sdCxvKX0pfSksYS5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7ZS5mb3JFYWNoKGZ1bmN0aW9uKG8saSl7VShvKSYmKG5bdF0rPW8qKCctJz09PWVbaS0xXT8tMToxKSl9KX0pLG59ZnVuY3Rpb24gRyhlLHQpe3ZhciBvLGk9dC5vZmZzZXQsbj1lLnBsYWNlbWVudCxyPWUub2Zmc2V0cyxwPXIucG9wcGVyLHM9ci5yZWZlcmVuY2UsZD1uLnNwbGl0KCctJylbMF07cmV0dXJuIG89VSgraSk/WytpLDBdOnooaSxwLHMsZCksJ2xlZnQnPT09ZD8ocC50b3ArPW9bMF0scC5sZWZ0LT1vWzFdKToncmlnaHQnPT09ZD8ocC50b3ArPW9bMF0scC5sZWZ0Kz1vWzFdKTondG9wJz09PWQ/KHAubGVmdCs9b1swXSxwLnRvcC09b1sxXSk6J2JvdHRvbSc9PT1kJiYocC5sZWZ0Kz1vWzBdLHAudG9wKz1vWzFdKSxlLnBvcHBlcj1wLGV9Zm9yKHZhciBfPU1hdGgubWluLFg9TWF0aC5mbG9vcixKPU1hdGgubWF4LFE9J3VuZGVmaW5lZCchPXR5cGVvZiB3aW5kb3cmJid1bmRlZmluZWQnIT10eXBlb2YgZG9jdW1lbnQsWj1bJ0VkZ2UnLCdUcmlkZW50JywnRmlyZWZveCddLCQ9MCxlZT0wO2VlPFoubGVuZ3RoO2VlKz0xKWlmKFEmJjA8PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihaW2VlXSkpeyQ9MTticmVha312YXIgaSx0ZT1RJiZ3aW5kb3cuUHJvbWlzZSxvZT10ZT9mdW5jdGlvbihlKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rpb24oKXt0fHwodD0hMCx3aW5kb3cuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3Q9ITEsZSgpfSkpfX06ZnVuY3Rpb24oZSl7dmFyIHQ9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7dHx8KHQ9ITAsc2V0VGltZW91dChmdW5jdGlvbigpe3Q9ITEsZSgpfSwkKSl9fSxpZT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PWkmJihpPS0xIT09bmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRSAxMCcpKSxpfSxuZT1mdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbicpfSxyZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXtmb3IodmFyIG8sbj0wO248dC5sZW5ndGg7bisrKW89dFtuXSxvLmVudW1lcmFibGU9by5lbnVtZXJhYmxlfHwhMSxvLmNvbmZpZ3VyYWJsZT0hMCwndmFsdWUnaW4gbyYmKG8ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8ua2V5LG8pfXJldHVybiBmdW5jdGlvbih0LG8saSl7cmV0dXJuIG8mJmUodC5wcm90b3R5cGUsbyksaSYmZSh0LGkpLHR9fSgpLHBlPWZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm8sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW8sZX0sc2U9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89MTtvPGFyZ3VtZW50cy5sZW5ndGg7bysrKWZvcih2YXIgaSBpbiB0PWFyZ3VtZW50c1tvXSx0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiYoZVtpXT10W2ldKTtyZXR1cm4gZX0sZGU9WydhdXRvLXN0YXJ0JywnYXV0bycsJ2F1dG8tZW5kJywndG9wLXN0YXJ0JywndG9wJywndG9wLWVuZCcsJ3JpZ2h0LXN0YXJ0JywncmlnaHQnLCdyaWdodC1lbmQnLCdib3R0b20tZW5kJywnYm90dG9tJywnYm90dG9tLXN0YXJ0JywnbGVmdC1lbmQnLCdsZWZ0JywnbGVmdC1zdGFydCddLGFlPWRlLnNsaWNlKDMpLGxlPXtGTElQOidmbGlwJyxDTE9DS1dJU0U6J2Nsb2Nrd2lzZScsQ09VTlRFUkNMT0NLV0lTRTonY291bnRlcmNsb2Nrd2lzZSd9LGZlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChvLGkpe3ZhciBuPXRoaXMscj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307bmUodGhpcyx0KSx0aGlzLnNjaGVkdWxlVXBkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShuLnVwZGF0ZSl9LHRoaXMudXBkYXRlPW9lKHRoaXMudXBkYXRlLmJpbmQodGhpcykpLHRoaXMub3B0aW9ucz1zZSh7fSx0LkRlZmF1bHRzLHIpLHRoaXMuc3RhdGU9e2lzRGVzdHJveWVkOiExLGlzQ3JlYXRlZDohMSxzY3JvbGxQYXJlbnRzOltdfSx0aGlzLnJlZmVyZW5jZT1vJiZvLmpxdWVyeT9vWzBdOm8sdGhpcy5wb3BwZXI9aSYmaS5qcXVlcnk/aVswXTppLHRoaXMub3B0aW9ucy5tb2RpZmllcnM9e30sT2JqZWN0LmtleXMoc2Uoe30sdC5EZWZhdWx0cy5tb2RpZmllcnMsci5tb2RpZmllcnMpKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24ub3B0aW9ucy5tb2RpZmllcnNbZV09c2Uoe30sdC5EZWZhdWx0cy5tb2RpZmllcnNbZV18fHt9LHIubW9kaWZpZXJzP3IubW9kaWZpZXJzW2VdOnt9KX0pLHRoaXMubW9kaWZpZXJzPU9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5tb2RpZmllcnMpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gc2Uoe25hbWU6ZX0sbi5vcHRpb25zLm1vZGlmaWVyc1tlXSl9KS5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUub3JkZXItdC5vcmRlcn0pLHRoaXMubW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24odCl7dC5lbmFibGVkJiZlKHQub25Mb2FkKSYmdC5vbkxvYWQobi5yZWZlcmVuY2Usbi5wb3BwZXIsbi5vcHRpb25zLHQsbi5zdGF0ZSl9KSx0aGlzLnVwZGF0ZSgpO3ZhciBwPXRoaXMub3B0aW9ucy5ldmVudHNFbmFibGVkO3AmJnRoaXMuZW5hYmxlRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQ9cH1yZXR1cm4gcmUodCxbe2tleTondXBkYXRlJyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBOLmNhbGwodGhpcyl9fSx7a2V5OidkZXN0cm95Jyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBQLmNhbGwodGhpcyl9fSx7a2V5OidlbmFibGVFdmVudExpc3RlbmVycycsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gSS5jYWxsKHRoaXMpfX0se2tleTonZGlzYWJsZUV2ZW50TGlzdGVuZXJzJyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBSLmNhbGwodGhpcyl9fV0pLHR9KCk7cmV0dXJuIGZlLlV0aWxzPSgndW5kZWZpbmVkJz09dHlwZW9mIHdpbmRvdz9nbG9iYWw6d2luZG93KS5Qb3BwZXJVdGlscyxmZS5wbGFjZW1lbnRzPWRlLGZlLkRlZmF1bHRzPXtwbGFjZW1lbnQ6J2JvdHRvbScsZXZlbnRzRW5hYmxlZDohMCxyZW1vdmVPbkRlc3Ryb3k6ITEsb25DcmVhdGU6ZnVuY3Rpb24oKXt9LG9uVXBkYXRlOmZ1bmN0aW9uKCl7fSxtb2RpZmllcnM6e3NoaWZ0OntvcmRlcjoxMDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXt2YXIgdD1lLnBsYWNlbWVudCxvPXQuc3BsaXQoJy0nKVswXSxpPXQuc3BsaXQoJy0nKVsxXTtpZihpKXt2YXIgbj1lLm9mZnNldHMscj1uLnJlZmVyZW5jZSxwPW4ucG9wcGVyLHM9LTEhPT1bJ2JvdHRvbScsJ3RvcCddLmluZGV4T2YobyksZD1zPydsZWZ0JzondG9wJyxhPXM/J3dpZHRoJzonaGVpZ2h0JyxsPXtzdGFydDpwZSh7fSxkLHJbZF0pLGVuZDpwZSh7fSxkLHJbZF0rclthXS1wW2FdKX07ZS5vZmZzZXRzLnBvcHBlcj1zZSh7fSxwLGxbaV0pfXJldHVybiBlfX0sb2Zmc2V0OntvcmRlcjoyMDAsZW5hYmxlZDohMCxmbjpHLG9mZnNldDowfSxwcmV2ZW50T3ZlcmZsb3c6e29yZGVyOjMwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsdCl7dmFyIG89dC5ib3VuZGFyaWVzRWxlbWVudHx8cihlLmluc3RhbmNlLnBvcHBlcik7ZS5pbnN0YW5jZS5yZWZlcmVuY2U9PT1vJiYobz1yKG8pKTt2YXIgaT15KGUuaW5zdGFuY2UucG9wcGVyLGUuaW5zdGFuY2UucmVmZXJlbmNlLHQucGFkZGluZyxvKTt0LmJvdW5kYXJpZXM9aTt2YXIgbj10LnByaW9yaXR5LHA9ZS5vZmZzZXRzLnBvcHBlcixzPXtwcmltYXJ5OmZ1bmN0aW9uKGUpe3ZhciBvPXBbZV07cmV0dXJuIHBbZV08aVtlXSYmIXQuZXNjYXBlV2l0aFJlZmVyZW5jZSYmKG89SihwW2VdLGlbZV0pKSxwZSh7fSxlLG8pfSxzZWNvbmRhcnk6ZnVuY3Rpb24oZSl7dmFyIG89J3JpZ2h0Jz09PWU/J2xlZnQnOid0b3AnLG49cFtvXTtyZXR1cm4gcFtlXT5pW2VdJiYhdC5lc2NhcGVXaXRoUmVmZXJlbmNlJiYobj1fKHBbb10saVtlXS0oJ3JpZ2h0Jz09PWU/cC53aWR0aDpwLmhlaWdodCkpKSxwZSh7fSxvLG4pfX07cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD0tMT09PVsnbGVmdCcsJ3RvcCddLmluZGV4T2YoZSk/J3NlY29uZGFyeSc6J3ByaW1hcnknO3A9c2Uoe30scCxzW3RdKGUpKX0pLGUub2Zmc2V0cy5wb3BwZXI9cCxlfSxwcmlvcml0eTpbJ2xlZnQnLCdyaWdodCcsJ3RvcCcsJ2JvdHRvbSddLHBhZGRpbmc6NSxib3VuZGFyaWVzRWxlbWVudDonc2Nyb2xsUGFyZW50J30sa2VlcFRvZ2V0aGVyOntvcmRlcjo0MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXt2YXIgdD1lLm9mZnNldHMsbz10LnBvcHBlcixpPXQucmVmZXJlbmNlLG49ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXSxyPVgscD0tMSE9PVsndG9wJywnYm90dG9tJ10uaW5kZXhPZihuKSxzPXA/J3JpZ2h0JzonYm90dG9tJyxkPXA/J2xlZnQnOid0b3AnLGE9cD8nd2lkdGgnOidoZWlnaHQnO3JldHVybiBvW3NdPHIoaVtkXSkmJihlLm9mZnNldHMucG9wcGVyW2RdPXIoaVtkXSktb1thXSksb1tkXT5yKGlbc10pJiYoZS5vZmZzZXRzLnBvcHBlcltkXT1yKGlbc10pKSxlfX0sYXJyb3c6e29yZGVyOjUwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsbyl7dmFyIGk7aWYoIUYoZS5pbnN0YW5jZS5tb2RpZmllcnMsJ2Fycm93Jywna2VlcFRvZ2V0aGVyJykpcmV0dXJuIGU7dmFyIG49by5lbGVtZW50O2lmKCdzdHJpbmcnPT10eXBlb2Ygbil7aWYobj1lLmluc3RhbmNlLnBvcHBlci5xdWVyeVNlbGVjdG9yKG4pLCFuKXJldHVybiBlO31lbHNlIGlmKCFlLmluc3RhbmNlLnBvcHBlci5jb250YWlucyhuKSlyZXR1cm4gY29uc29sZS53YXJuKCdXQVJOSU5HOiBgYXJyb3cuZWxlbWVudGAgbXVzdCBiZSBjaGlsZCBvZiBpdHMgcG9wcGVyIGVsZW1lbnQhJyksZTt2YXIgcj1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdLHA9ZS5vZmZzZXRzLHM9cC5wb3BwZXIsZD1wLnJlZmVyZW5jZSxhPS0xIT09WydsZWZ0JywncmlnaHQnXS5pbmRleE9mKHIpLGw9YT8naGVpZ2h0Jzond2lkdGgnLGY9YT8nVG9wJzonTGVmdCcsbT1mLnRvTG93ZXJDYXNlKCksaD1hPydsZWZ0JzondG9wJyxnPWE/J2JvdHRvbSc6J3JpZ2h0Jyx1PUwobilbbF07ZFtnXS11PHNbbV0mJihlLm9mZnNldHMucG9wcGVyW21dLT1zW21dLShkW2ddLXUpKSxkW21dK3U+c1tnXSYmKGUub2Zmc2V0cy5wb3BwZXJbbV0rPWRbbV0rdS1zW2ddKSxlLm9mZnNldHMucG9wcGVyPWMoZS5vZmZzZXRzLnBvcHBlcik7dmFyIGI9ZFttXStkW2xdLzItdS8yLHc9dChlLmluc3RhbmNlLnBvcHBlcikseT1wYXJzZUZsb2F0KHdbJ21hcmdpbicrZl0sMTApLEU9cGFyc2VGbG9hdCh3Wydib3JkZXInK2YrJ1dpZHRoJ10sMTApLHY9Yi1lLm9mZnNldHMucG9wcGVyW21dLXktRTtyZXR1cm4gdj1KKF8oc1tsXS11LHYpLDApLGUuYXJyb3dFbGVtZW50PW4sZS5vZmZzZXRzLmFycm93PShpPXt9LHBlKGksbSxNYXRoLnJvdW5kKHYpKSxwZShpLGgsJycpLGkpLGV9LGVsZW1lbnQ6J1t4LWFycm93XSd9LGZsaXA6e29yZGVyOjYwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsdCl7aWYoayhlLmluc3RhbmNlLm1vZGlmaWVycywnaW5uZXInKSlyZXR1cm4gZTtpZihlLmZsaXBwZWQmJmUucGxhY2VtZW50PT09ZS5vcmlnaW5hbFBsYWNlbWVudClyZXR1cm4gZTt2YXIgbz15KGUuaW5zdGFuY2UucG9wcGVyLGUuaW5zdGFuY2UucmVmZXJlbmNlLHQucGFkZGluZyx0LmJvdW5kYXJpZXNFbGVtZW50KSxpPWUucGxhY2VtZW50LnNwbGl0KCctJylbMF0sbj14KGkpLHI9ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVsxXXx8JycscD1bXTtzd2l0Y2godC5iZWhhdmlvcil7Y2FzZSBsZS5GTElQOnA9W2ksbl07YnJlYWs7Y2FzZSBsZS5DTE9DS1dJU0U6cD1xKGkpO2JyZWFrO2Nhc2UgbGUuQ09VTlRFUkNMT0NLV0lTRTpwPXEoaSwhMCk7YnJlYWs7ZGVmYXVsdDpwPXQuYmVoYXZpb3I7fXJldHVybiBwLmZvckVhY2goZnVuY3Rpb24ocyxkKXtpZihpIT09c3x8cC5sZW5ndGg9PT1kKzEpcmV0dXJuIGU7aT1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdLG49eChpKTt2YXIgYT1lLm9mZnNldHMucG9wcGVyLGw9ZS5vZmZzZXRzLnJlZmVyZW5jZSxmPVgsbT0nbGVmdCc9PT1pJiZmKGEucmlnaHQpPmYobC5sZWZ0KXx8J3JpZ2h0Jz09PWkmJmYoYS5sZWZ0KTxmKGwucmlnaHQpfHwndG9wJz09PWkmJmYoYS5ib3R0b20pPmYobC50b3ApfHwnYm90dG9tJz09PWkmJmYoYS50b3ApPGYobC5ib3R0b20pLGg9ZihhLmxlZnQpPGYoby5sZWZ0KSxjPWYoYS5yaWdodCk+ZihvLnJpZ2h0KSxnPWYoYS50b3ApPGYoby50b3ApLHU9ZihhLmJvdHRvbSk+ZihvLmJvdHRvbSksYj0nbGVmdCc9PT1pJiZofHwncmlnaHQnPT09aSYmY3x8J3RvcCc9PT1pJiZnfHwnYm90dG9tJz09PWkmJnUsdz0tMSE9PVsndG9wJywnYm90dG9tJ10uaW5kZXhPZihpKSx5PSEhdC5mbGlwVmFyaWF0aW9ucyYmKHcmJidzdGFydCc9PT1yJiZofHx3JiYnZW5kJz09PXImJmN8fCF3JiYnc3RhcnQnPT09ciYmZ3x8IXcmJidlbmQnPT09ciYmdSk7KG18fGJ8fHkpJiYoZS5mbGlwcGVkPSEwLChtfHxiKSYmKGk9cFtkKzFdKSx5JiYocj1LKHIpKSxlLnBsYWNlbWVudD1pKyhyPyctJytyOicnKSxlLm9mZnNldHMucG9wcGVyPXNlKHt9LGUub2Zmc2V0cy5wb3BwZXIsUyhlLmluc3RhbmNlLnBvcHBlcixlLm9mZnNldHMucmVmZXJlbmNlLGUucGxhY2VtZW50KSksZT1DKGUuaW5zdGFuY2UubW9kaWZpZXJzLGUsJ2ZsaXAnKSl9KSxlfSxiZWhhdmlvcjonZmxpcCcscGFkZGluZzo1LGJvdW5kYXJpZXNFbGVtZW50Oid2aWV3cG9ydCd9LGlubmVyOntvcmRlcjo3MDAsZW5hYmxlZDohMSxmbjpmdW5jdGlvbihlKXt2YXIgdD1lLnBsYWNlbWVudCxvPXQuc3BsaXQoJy0nKVswXSxpPWUub2Zmc2V0cyxuPWkucG9wcGVyLHI9aS5yZWZlcmVuY2UscD0tMSE9PVsnbGVmdCcsJ3JpZ2h0J10uaW5kZXhPZihvKSxzPS0xPT09Wyd0b3AnLCdsZWZ0J10uaW5kZXhPZihvKTtyZXR1cm4gbltwPydsZWZ0JzondG9wJ109cltvXS0ocz9uW3A/J3dpZHRoJzonaGVpZ2h0J106MCksZS5wbGFjZW1lbnQ9eCh0KSxlLm9mZnNldHMucG9wcGVyPWMobiksZX19LGhpZGU6e29yZGVyOjgwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUpe2lmKCFGKGUuaW5zdGFuY2UubW9kaWZpZXJzLCdoaWRlJywncHJldmVudE92ZXJmbG93JykpcmV0dXJuIGU7dmFyIHQ9ZS5vZmZzZXRzLnJlZmVyZW5jZSxvPVQoZS5pbnN0YW5jZS5tb2RpZmllcnMsZnVuY3Rpb24oZSl7cmV0dXJuJ3ByZXZlbnRPdmVyZmxvdyc9PT1lLm5hbWV9KS5ib3VuZGFyaWVzO2lmKHQuYm90dG9tPG8udG9wfHx0LmxlZnQ+by5yaWdodHx8dC50b3A+by5ib3R0b218fHQucmlnaHQ8by5sZWZ0KXtpZighMD09PWUuaGlkZSlyZXR1cm4gZTtlLmhpZGU9ITAsZS5hdHRyaWJ1dGVzWyd4LW91dC1vZi1ib3VuZGFyaWVzJ109Jyd9ZWxzZXtpZighMT09PWUuaGlkZSlyZXR1cm4gZTtlLmhpZGU9ITEsZS5hdHRyaWJ1dGVzWyd4LW91dC1vZi1ib3VuZGFyaWVzJ109ITF9cmV0dXJuIGV9fSxjb21wdXRlU3R5bGU6e29yZGVyOjg1MCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsdCl7dmFyIG89dC54LGk9dC55LG49ZS5vZmZzZXRzLnBvcHBlcixwPVQoZS5pbnN0YW5jZS5tb2RpZmllcnMsZnVuY3Rpb24oZSl7cmV0dXJuJ2FwcGx5U3R5bGUnPT09ZS5uYW1lfSkuZ3B1QWNjZWxlcmF0aW9uO3ZvaWQgMCE9PXAmJmNvbnNvbGUud2FybignV0FSTklORzogYGdwdUFjY2VsZXJhdGlvbmAgb3B0aW9uIG1vdmVkIHRvIGBjb21wdXRlU3R5bGVgIG1vZGlmaWVyIGFuZCB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFBvcHBlci5qcyEnKTt2YXIgcyxkLGE9dm9pZCAwPT09cD90LmdwdUFjY2VsZXJhdGlvbjpwLGw9cihlLmluc3RhbmNlLnBvcHBlciksZj1nKGwpLG09e3Bvc2l0aW9uOm4ucG9zaXRpb259LGg9e2xlZnQ6WChuLmxlZnQpLHRvcDpYKG4udG9wKSxib3R0b206WChuLmJvdHRvbSkscmlnaHQ6WChuLnJpZ2h0KX0sYz0nYm90dG9tJz09PW8/J3RvcCc6J2JvdHRvbScsdT0ncmlnaHQnPT09aT8nbGVmdCc6J3JpZ2h0JyxiPVcoJ3RyYW5zZm9ybScpO2lmKGQ9J2JvdHRvbSc9PWM/LWYuaGVpZ2h0K2guYm90dG9tOmgudG9wLHM9J3JpZ2h0Jz09dT8tZi53aWR0aCtoLnJpZ2h0OmgubGVmdCxhJiZiKW1bYl09J3RyYW5zbGF0ZTNkKCcrcysncHgsICcrZCsncHgsIDApJyxtW2NdPTAsbVt1XT0wLG0ud2lsbENoYW5nZT0ndHJhbnNmb3JtJztlbHNle3ZhciB3PSdib3R0b20nPT1jPy0xOjEseT0ncmlnaHQnPT11Py0xOjE7bVtjXT1kKncsbVt1XT1zKnksbS53aWxsQ2hhbmdlPWMrJywgJyt1fXZhciBFPXsieC1wbGFjZW1lbnQiOmUucGxhY2VtZW50fTtyZXR1cm4gZS5hdHRyaWJ1dGVzPXNlKHt9LEUsZS5hdHRyaWJ1dGVzKSxlLnN0eWxlcz1zZSh7fSxtLGUuc3R5bGVzKSxlLmFycm93U3R5bGVzPXNlKHt9LGUub2Zmc2V0cy5hcnJvdyxlLmFycm93U3R5bGVzKSxlfSxncHVBY2NlbGVyYXRpb246ITAseDonYm90dG9tJyx5OidyaWdodCd9LGFwcGx5U3R5bGU6e29yZGVyOjkwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUpe3JldHVybiBZKGUuaW5zdGFuY2UucG9wcGVyLGUuc3R5bGVzKSxqKGUuaW5zdGFuY2UucG9wcGVyLGUuYXR0cmlidXRlcyksZS5hcnJvd0VsZW1lbnQmJk9iamVjdC5rZXlzKGUuYXJyb3dTdHlsZXMpLmxlbmd0aCYmWShlLmFycm93RWxlbWVudCxlLmFycm93U3R5bGVzKSxlfSxvbkxvYWQ6ZnVuY3Rpb24oZSx0LG8saSxuKXt2YXIgcj1PKG4sdCxlKSxwPXYoby5wbGFjZW1lbnQscix0LGUsby5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCxvLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO3JldHVybiB0LnNldEF0dHJpYnV0ZSgneC1wbGFjZW1lbnQnLHApLFkodCx7cG9zaXRpb246J2Fic29sdXRlJ30pLG99LGdwdUFjY2VsZXJhdGlvbjp2b2lkIDB9fX0sZmV9KTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9cG9wcGVyLm1pbi5qcy5tYXAK"}},"time_used":135,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":128,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.200Z","timestamp":1785124600200,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google-analytics.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:33 GMT","end":"Mon, 21 Sep 2026 08:37:32 GMT"},"fingerprint":{"sha1":"85:82:80:E9:F0:BC:08:B5:D8:5D:91:B4:E5:D3:DB:B1:A7:2F:E3:F3","sha256":"E3:94:E9:DA:2C:F1:36:09:33:63:D3:69:08:E7:E6:91:8D:F3:61:7F:0F:D0:5F:8E:B6:E9:D7:F3:DD:10:3C:DC"}}},"request":{"raw":"GET /gtag/js?id=G-V84XP8WGXY HTTP/1.1\r\nHost: www.googletagmanager.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript; charset=UTF-8\r\naccess-control-allow-origin: *\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: Cache-Control\r\ncontent-encoding: zstd\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\nexpires: Mon, 27 Jul 2026 03:56:40 GMT\r\ncache-control: private, max-age=900\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncross-origin-resource-policy: cross-origin\r\nserver: Google Tag Manager\r\ncontent-length: 166343\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":488553,"size_decoded":166947,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (6033)","md5":"bea43ed2cdab6de383dae5b43f7f7ea7","sha1":"fee133e8e4885d721f6251298bbef7797126d1e6","sha256":"5324890457a4126c757b6c6f4eb68d2e58501802bffc02bc5018aa185d33c7e7","sha512":"d0948a7b1e160bd486f71a1c87caff66c4d8bb68becaffb75aa3875251a34474cba30ab51b8052c425e453911a1a804a7c746aee4ef7db3f95bb86f7c04f585a","ssdeep":"6144:/yHnRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8nC1WLP69VwqxVZOvg","tlshash":"aea4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","first_seen":"2026-07-27T02:47:36.009071Z","last_seen":"2026-07-27T07:02:12.014235Z","times_seen":194,"resource_available":true,"data":"Ci8vIENvcHlyaWdodCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKKGZ1bmN0aW9uKCl7Cgp2YXIgZGF0YSA9IHsKInJlc291cmNlIjogewogICJ2ZXJzaW9uIjoiMSIsCiAgCiAgIm1hY3JvcyI6W3siZnVuY3Rpb24iOiJfX2UifSx7ImZ1bmN0aW9uIjoiX19jIiwidnRwX3ZhbHVlIjoiZ29vZ2xlLm5vIn0seyJmdW5jdGlvbiI6Il9fYyIsInZ0cF92YWx1ZSI6MH1dLAogICJ0YWdzIjpbeyJmdW5jdGlvbiI6Il9fb2d0XzFwX2RhdGFfdjIiLCJwcmlvcml0eSI6MTMsInZ0cF9pc0F1dG9FbmFibGVkIjp0cnVlLCJ2dHBfYXV0b1Bob25lRW5hYmxlZCI6dHJ1ZSwidnRwX2F1dG9Db2xsZWN0RXhjbHVzaW9uU2VsZWN0b3JzIjpbImxpc3QiLFsibWFwIiwiZXhjbHVzaW9uU2VsZWN0b3IiLCIiXV0sInZ0cF9pc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvQWRkcmVzc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvRW1haWxFbmFibGVkIjp0cnVlLCJ2dHBfaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIjp0cnVlLCJ0YWdfaWQiOjR9LHsiZnVuY3Rpb24iOiJfX2NjZF9nYV9maXJzdCIsInByaW9yaXR5IjoxMiwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTh9LHsiZnVuY3Rpb24iOiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIiwicHJpb3JpdHkiOjExLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidnRwX2ZvcmVpZ25UbGRNYWNyb1Jlc3VsdCI6WyJtYWNybyIsMV0sInZ0cF9pc0NoaW5hVmlwUmVnaW9uTWFjcm9SZXN1bHQiOlsibWFjcm8iLDJdLCJ0YWdfaWQiOjE3fSx7ImZ1bmN0aW9uIjoiX19jY2RfZ2FfcmVnc2NvcGUiLCJwcmlvcml0eSI6MTAsInZ0cF9zZXR0aW5nc1RhYmxlIjpbImxpc3QiLFsibWFwIiwicmVkYWN0RmllbGRHcm91cCIsIkRFVklDRV9BTkRfR0VPIiwiZGlzYWxsb3dBbGxSZWdpb25zIixmYWxzZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXSxbIm1hcCIsInJlZGFjdEZpZWxkR3JvdXAiLCJHT09HTEVfU0lHTkFMUyIsImRpc2FsbG93QWxsUmVnaW9ucyIsdHJ1ZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXV0sInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE2fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZG93bmxvYWQiLCJwcmlvcml0eSI6OSwidnRwX2luY2x1ZGVQYXJhbXMiOnRydWUsInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE1fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZm9ybSIsInByaW9yaXR5Ijo4LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTR9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsInByaW9yaXR5Ijo3LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTN9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9wYWdlX3ZpZXciLCJwcmlvcml0eSI6NiwidnRwX2hpc3RvcnlFdmVudHMiOnRydWUsInZ0cF9pbmNsdWRlUGFyYW1zIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjoxMn0seyJmdW5jdGlvbiI6Il9fY2NkX2VtX3Njcm9sbCIsInByaW9yaXR5Ijo1LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTF9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsInByaW9yaXR5Ijo0LCJ2dHBfc2VhcmNoUXVlcnlQYXJhbXMiOiJxLHMsc2VhcmNoLHF1ZXJ5LGtleXdvcmQiLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTB9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV92aWRlbyIsInByaW9yaXR5IjozLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6OX0seyJmdW5jdGlvbiI6Il9fY2NkX2NvbnZlcnNpb25fbWFya2luZyIsInByaW9yaXR5IjoyLCJ2dHBfY29udmVyc2lvblJ1bGVzIjpbImxpc3QiLFsibWFwIiwibWF0Y2hpbmdSdWxlcyIsIntcInR5cGVcIjo1LFwiYXJnc1wiOlt7XCJzdHJpbmdWYWx1ZVwiOlwiY2xvc2VfY29udmVydF9sZWFkXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il0sWyJtYXAiLCJtYXRjaGluZ1J1bGVzIiwie1widHlwZVwiOjUsXCJhcmdzXCI6W3tcInN0cmluZ1ZhbHVlXCI6XCJxdWFsaWZ5X2xlYWRcIn0se1wiY29udGV4dFZhbHVlXCI6e1wibmFtZXNwYWNlVHlwZVwiOjEsXCJrZXlQYXJ0c1wiOltcImV2ZW50TmFtZVwiXX19XX0iXSxbIm1hcCIsIm1hdGNoaW5nUnVsZXMiLCJ7XCJ0eXBlXCI6NSxcImFyZ3NcIjpbe1wic3RyaW5nVmFsdWVcIjpcInB1cmNoYXNlXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il1dLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo4fSx7ImZ1bmN0aW9uIjoiX19jY2RfYXV0b19yZWRhY3QiLCJwcmlvcml0eSI6MSwidnRwX3JlZGFjdEVtYWlsIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo3fSx7ImZ1bmN0aW9uIjoiX19nY3QiLCJ2dHBfdHJhY2tpbmdJZCI6IkctVjg0WFA4V0dYWSIsInZ0cF9zZXNzaW9uRHVyYXRpb24iOjAsInRhZ19pZCI6MX0seyJmdW5jdGlvbiI6Il9fY2NkX2dhX2xhc3QiLCJwcmlvcml0eSI6MCwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6Nn1dLAogICJwcmVkaWNhdGVzIjpbeyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmpzIn0seyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmluaXQifV0sCiAgInJ1bGVzIjpbW1siaWYiLDBdLFsiYWRkIiwxM11dLFtbImlmIiwxXSxbImFkZCIsMCwxNCwxMiwxMSwxMCw5LDgsNyw2LDUsNCwzLDIsMV1dXQp9LAoicnVudGltZSI6WyBbNTAsIl9fYyIsWzQ2LCJhIl0sWzM2LFsxNyxbMTUsImEiXSwidmFsdWUiXV1dCiAsWzUwLCJfX2NjZF9hdXRvX3JlZGFjdCIsWzQ2LCJhIl0sWzUwLCJ2IixbNDYsImFGIl0sWzM2LFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJ1Il0sIlxcJDEiXV1dXSxbNTAsInciLFs0NiwiYUYiXSxbNTIsImFHIixbMzAsWyJjIixbMTUsImFGIl1dLFsxNSwiYUYiXV1dLFs1MiwiYUgiLFs3XV0sWzY1LCJhSSIsWzIsWzE1LCJhRyJdLCJzcGxpdCIsWzcsIiJdXSxbNDYsWzUzLFs1MiwiYUoiLFs3LFsidiIsWzE1LCJhSSJdXV1dLFs1MiwiYUsiLFsiZCIsWzE1LCJhSSJdXV0sWzIyLFsxMixbMTUsImFLIl0sWzQ1XV0sWzQ2LFs1MyxbMzYsWyJkIixbInYiLFsxNSwiYUYiXV1dXV1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbMTUsImFJIl1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbMTUsImFLIl1dXSxbMjIsWzIxLFsxNSwiYUkiXSxbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXSxbNDYsWzUzLFsyLFsxNSwiYUoiXSwicHVzaCIsWzcsWyJkIixbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXV1dXV0sWzQ2LFsyMixbMjEsWzE1LCJhSSJdLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbImQiLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dXV1dXV1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFKIl0sImxlbmd0aCJdLDFdLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMCxbMCwiKD86IixbMixbMTUsImFKIl0sImpvaW4iLFs3LCJ8Il1dXSwiKSJdXV1dXSxbNDYsWzUzLFsyLFsxNSwiYUgiXSwicHVzaCIsWzcsWzE2LFsxNSwiYUoiXSwwXV1dXV1dXV1dLFszNixbMixbMTUsImFIIl0sImpvaW4iLFs3LCIiXV1dXSxbNTAsIngiLFs0NiwiYUYiLCJhRyIsImFIIl0sWzUyLCJhSSIsWyJ6IixbMTUsImFGIl0sWzE1LCJhSCJdXV0sWzIyLFsyOCxbMTUsImFJIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjgsWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFs0MSwiYUoiXSxbMywiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNjUsImFLIixbMTUsImFHIl0sWzQ2LFs1MyxbNTIsImFMIixbNyxbInYiLFsxNSwiYUsiXV0sWyJ3IixbMTUsImFLIl1dXV0sWzY1LCJhTSIsWzE1LCJhTCJdLFs0NixbNTMsWzUyLCJhTiIsWzMwLFsxNixbMTUsInQiXSxbMTUsImFNIl1dLFs0MyxbMTUsInQiXSxbMTUsImFNIl0sWyJiIixbMCxbMCwiKFs/Jl0iLFsxNSwiYU0iXV0sIj0pKFteJl0qKSJdLCJnaSJdXV1dLFszLCJhSiIsWzIsWzE1LCJhSiJdLCJyZXBsYWNlIixbNyxbMTUsImFOIl0sWzAsIiQxIixbMTUsInIiXV1dXV1dXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjAsWzE2LFsxNSwiYUoiXSwwXSwiJiJdLFs0NixbMywiYUoiLFsyLFsxNSwiYUoiXSwic3Vic3RyaW5nIixbNywxXV1dXV0sWzIyLFsyMSxbMTYsWzE1LCJhSiJdLDBdLCI/Il0sWzQ2LFszLCJhSiIsWzAsIj8iLFsxNSwiYUoiXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sIj8iXSxbNDYsWzMsImFKIiwiIl1dXSxbNDMsWzE1LCJhSSJdLCJzZWFyY2giLFsxNSwiYUoiXV0sWzM2LFsiYUEiLFsxNSwiYUkiXSxbMTUsImFIIl1dXV0sWzUwLCJ6IixbNDYsImFGIiwiYUciXSxbMjIsWzIwLFsxNSwiYUciXSxbMTcsWzE1LCJzIl0sIlBBVEgiXV0sWzQ2LFs1MyxbMywiYUYiLFswLFsxNSwieSJdLFsxNSwiYUYiXV1dXV1dLFszNixbImYiLFsxNSwiYUYiXV1dXSxbNTAsImFBIixbNDYsImFGIiwiYUciXSxbNDEsImFIIl0sWzMsImFIIiwiIl0sWzIyLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJVUkwiXV0sWzQ2LFs1MyxbNDEsImFJIl0sWzMsImFJIiwiIl0sWzIyLFszMCxbMTcsWzE1LCJhRiJdLCJ1c2VybmFtZSJdLFsxNyxbMTUsImFGIl0sInBhc3N3b3JkIl1dLFs0NixbNTMsWzMsImFJIixbMCxbMTUsImFJIl0sWzAsWzAsWzAsWzE3LFsxNSwiYUYiXSwidXNlcm5hbWUiXSxbMzksWzE3LFsxNSwiYUYiXSwicGFzc3dvcmQiXSwiOiIsIiJdXSxbMTcsWzE1LCJhRiJdLCJwYXNzd29yZCJdXSwiQCJdXV1dXV0sWzMsImFIIixbMCxbMCxbMCxbMTcsWzE1LCJhRiJdLCJwcm90b2NvbCJdLCIvLyJdLFsxNSwiYUkiXV0sWzE3LFsxNSwiYUYiXSwiaG9zdCJdXV1dXV0sWzM2LFswLFswLFswLFsxNSwiYUgiXSxbMTcsWzE1LCJhRiJdLCJwYXRobmFtZSJdXSxbMTcsWzE1LCJhRiJdLCJzZWFyY2giXV0sWzE3LFsxNSwiYUYiXSwiaGFzaCJdXV1dLFs1MCwiYUIiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJuIl0sWzE1LCJyIl1dXV0sWzIyLFszMCxbMjAsWzE1LCJhRyJdLFsxNyxbMTUsInMiXSwiVVJMIl1dLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJQQVRIIl1dXSxbNDYsWzUzLFs1MiwiYUkiLFsieiIsWzE1LCJhSCJdLFsxNSwiYUciXV1dLFsyMixbMjAsWzE1LCJhSSJdLFs0NF1dLFs0NixbMzYsWzE1LCJhSCJdXV1dLFs1MiwiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNTIsImFLIixbMixbMTUsImFKIl0sInJlcGxhY2UiLFs3LFsxNSwibyJdLFsxNSwiciJdXV1dLFsyMixbMjAsWzE1LCJhSiJdLFsxNSwiYUsiXV0sWzQ2LFszNixbMTUsImFIIl1dXV0sWzQzLFsxNSwiYUkiXSwic2VhcmNoIixbMTUsImFLIl1dLFszLCJhSCIsWyJhQSIsWzE1LCJhSSJdLFsxNSwiYUciXV1dXV1dLFszNixbMTUsImFIIl1dXSxbNTAsImFDIixbNDYsImFGIl0sWzIyLFsyMCxbMTUsImFGIl0sWzE1LCJxIl1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiUEFUSCJdXV1dLFs0NixbMjIsWzIxLFsyLFsxNSwicCJdLCJpbmRleE9mIixbNyxbMTUsImFGIl1dXSxbMjcsMV1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiVVJMIl1dXV0sWzQ2LFs1MyxbMzYsWzE3LFsxNSwicyJdLCJURVhUIl1dXV1dXV1dLFs1MCwiYUQiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLGZhbHNlXSxbNTIsImFJIixbImUiLFsxNSwiYUYiXV1dLFszOCxbMTUsImFJIl0sWzQ2LCJzdHJpbmciLCJhcnJheSIsIm9iamVjdCJdLFs0NixbNSxbNDYsWzUyLCJhSiIsWyJhQiIsWzE1LCJhRiJdLFsxNSwiYUciXV1dLFsyMixbMjEsWzE1LCJhRiJdLFsxNSwiYUoiXV0sWzQ2LFs1MyxbMzYsWzE1LCJhSiJdXV1dXSxbNF1dXSxbNSxbNDYsWzUzLFs0MSwiYUsiXSxbMywiYUsiLDBdLFs2MyxbNywiYUsiXSxbMjMsWzE1LCJhSyJdLFsxNyxbMTUsImFGIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJhSyJdLFszLCJhSyIsWzAsWzE1LCJhSyJdLDFdXV0sWzQ2LFs1MyxbNTIsImFMIixbImFEIixbMTYsWzE1LCJhRiJdLFsxNSwiYUsiXV0sWzE3LFsxNSwicyJdLCJURVhUIl1dXSxbMjIsWzIxLFsxNSwiYUwiXSxbNDRdXSxbNDYsWzUzLFs0MyxbMTUsImFGIl0sWzE1LCJhSyJdLFsxNSwiYUwiXV0sWzMsImFIIix0cnVlXV1dXV1dXV0sWzRdXV0sWzUsWzQ2LFs1NCwiYUsiLFsxNSwiYUYiXSxbNDYsWzUzLFs1MiwiYUwiLFsiYUQiLFsxNixbMTUsImFGIl0sWzE1LCJhSyJdXSxbMTcsWzE1LCJzIl0sIlRFWFQiXV1dLFsyMixbMjEsWzE1LCJhTCJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiYUYiXSxbMTUsImFLIl0sWzE1LCJhTCJdXSxbMywiYUgiLHRydWVdXV1dXV1dLFs0XV1dXV0sWzM2LFszOSxbMTUsImFIIl0sWzE1LCJhRiJdLFs0NF1dXV0sWzUwLCJhRSIsWzQ2LCJhRiIsImFHIl0sWzUyLCJhSCIsWzMwLFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQUMiXV1dLFs3XV1dLFsyMixbMjAsWzIsWzE1LCJhSCJdLCJpbmRleE9mIixbNyxbMTUsImFHIl1dXSxbMjcsMV1dLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMTUsImFHIl1dXV1dXSxbMixbMTUsImFGIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJoIl0sIkFDIl0sWzE1LCJhSCJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuY3JlYXRlUmVnZXgiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJkZWNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJlbmNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJlIixbInJlcXVpcmUiLCJnZXRUeXBlIl1dLFs1MiwiZiIsWyJyZXF1aXJlIiwicGFyc2VVcmwiXV0sWzUyLCJnIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiaCIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImkiLFsxNSwiX19tb2R1bGVfZ29sZEV2ZW50VXNhZ2VJZCJdXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFs1MiwiayIsWzE3LFsxNSwiYSJdLCJyZWRhY3RFbWFpbCJdXSxbNTIsImwiLFsxNyxbMTUsImEiXSwicmVkYWN0UXVlcnlQYXJhbXMiXV0sWzUyLCJtIixbMzksWzE1LCJsIl0sWzIsWzE1LCJsIl0sInNwbGl0IixbNywiLCJdXSxbN11dXSxbMjIsWzEsWzI4LFsxNyxbMTUsIm0iXSwibGVuZ3RoIl1dLFsyOCxbMTUsImsiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFs1MiwibiIsWyJiIiwiW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcXC5bQS1aXXsyLH0iLCJnaSJdXSxbNTIsIm8iLFsiYiIsWzAsIihbQS1aMC05Ll8tXXwlMjV8JTJCKSslNDBbQS1aMC05Li1dIiwiK1xcLltBLVpdezIsfSJdLCJnaSJdXSxbNTIsInAiLFs3LCJwYWdlX2xvY2F0aW9uIiwicGFnZV9yZWZlcnJlciIsInBhZ2VfcGF0aCIsImxpbmtfdXJsIiwidmlkZW9fdXJsIiwiZm9ybV9kZXN0aW5hdGlvbiJdXSxbNTIsInEiLCJwYWdlX3BhdGgiXSxbNTIsInIiLCIocmVkYWN0ZWQpIl0sWzUyLCJzIixbOCwiVEVYVCIsMCwiVVJMIiwxLCJQQVRIIiwyXV0sWzUyLCJ0IixbOF1dLFs1MiwidSIsWyJiIiwiKFtcXFxcXiQufD8qKygpe31dfFxcW3xcXFspIiwiZyJdXSxbNTIsInkiLCJodHRwOi8vLiJdLFsiZyIsWzE1LCJqIl0sWzUxLCIiLFs3LCJhRiJdLFsyMixbMTUsImsiXSxbNDYsWzUzLFs1MiwiYUciLFsyLFsxNSwiYUYiXSwiZ2V0SGl0S2V5cyIsWzddXV0sWzY1LCJhSCIsWzE1LCJhRyJdLFs0NixbNTMsWzIyLFsyMCxbMTUsImFIIl0sIl9zc3RfcGFyYW1ldGVycyJdLFs0NixbNl1dXSxbNTIsImFJIixbMixbMTUsImFGIl0sImdldEhpdERhdGEiLFs3LFsxNSwiYUgiXV1dXSxbMjIsWzI4LFsxNSwiYUkiXV0sWzQ2LFs2XV1dLFs1MiwiYUoiLFsiYUMiLFsxNSwiYUgiXV1dLFs1MiwiYUsiLFsiYUQiLFsxNSwiYUkiXSxbMTUsImFKIl1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbNDRdXSxbNDYsWzUzLFsyLFsxNSwiYUYiXSwic2V0SGl0RGF0YSIsWzcsWzE1LCJhSCJdLFsxNSwiYUsiXV1dLFsiYUUiLFsxNSwiYUYiXSxbMzksWzIsWzE1LCJhRiJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiaCJdLCJCTyJdXV0sWzE3LFsxNSwiaSJdLCJXIl0sWzE3LFsxNSwiaSJdLCJPIl1dXV1dXV1dXV1dXSxbMjIsWzE3LFsxNSwibSJdLCJsZW5ndGgiXSxbNDYsWzUzLFs2NSwiYUciLFsxNSwicCJdLFs0NixbNTMsWzUyLCJhSCIsWzIsWzE1LCJhRiJdLCJnZXRIaXREYXRhIixbNyxbMTUsImFHIl1dXV0sWzIyLFsyOCxbMTUsImFIIl1dLFs0NixbNl1dXSxbNTIsImFJIixbMzksWzIwLFsxNSwiYUciXSxbMTUsInEiXV0sWzE3LFsxNSwicyJdLCJQQVRIIl0sWzE3LFsxNSwicyJdLCJVUkwiXV1dLFs1MiwiYUoiLFsieCIsWzE1LCJhSCJdLFsxNSwibSJdLFsxNSwiYUkiXV1dLFsyMixbMjEsWzE1LCJhSiJdLFsxNSwiYUgiXV0sWzQ2LFs1MyxbMixbMTUsImFGIl0sInNldEhpdERhdGEiLFs3LFsxNSwiYUciXSxbMTUsImFKIl1dXSxbImFFIixbMTUsImFGIl0sWzM5LFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQk8iXV1dLFsxNyxbMTUsImkiXSwiWCJdLFsxNyxbMTUsImkiXSwiUCJdXV1dXV1dXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIixbNDYsImEiXSxbMjIsWzMwLFsyOCxbMTcsWzE1LCJhIl0sImNvbnZlcnNpb25SdWxlcyJdXSxbMjAsWzE3LFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sImxlbmd0aCJdLDBdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlQcmVIaXQiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJmIiwiZmlyc3RfdmlzaXQiXSxbNTIsImciLCJzZXNzaW9uX3N0YXJ0Il0sWzQxLCJoIl0sWzQxLCJpIl0sWyJkIixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdLFs1MSwiIixbNywiaiJdLFs1MiwiayIsWzgsInByZUhpdCIsWzE1LCJqIl1dXSxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiUCJdLHRydWVdXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVYiXSx0cnVlXV0sWzRdXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVoiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImgiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJmIl1dXSxbMywiaCIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImgiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkEiXSx0cnVlXV0sWzRdXV1dXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkwiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImkiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJnIl1dXSxbMywiaSIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImkiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQk0iXSx0cnVlXV0sWzRdXV1dXV1dXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXQogLFs1MCwiX19jY2RfZW1fZG93bmxvYWQiLFs0NiwiYSJdLFs1MCwicSIsWzQ2LCJ2Il0sWzM2LFsxLFsxNSwidiJdLFsyMSxbMixbMixbMTUsInYiXSwidG9Mb3dlckNhc2UiLFs3XV0sIm1hdGNoIixbNyxbMTUsInAiXV1dLFs0NV1dXV1dLFs1MCwiciIsWzQ2LCJ2Il0sWzUyLCJ3IixbMixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl0sInNwbGl0IixbNywiLiJdXV0sWzUyLCJ4IixbMzksWzE4LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sMV0sWzE2LFsxNSwidyJdLFszNyxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdLDFdXSwiIl1dLFszNixbMTYsWzIsWzE1LCJ4Il0sInNwbGl0IixbNywiLyJdXSwwXV1dLFs1MCwicyIsWzQ2LCJ2Il0sWzM2LFszOSxbMTIsWzIsWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLCJzdWJzdHJpbmciLFs3LDAsMV1dLCIvIl0sWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLFswLCIvIixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl1dXV1dLFs1MCwidCIsWzQ2LCJ2Il0sWzQxLCJ3Il0sWzMsInciLCIiXSxbMjIsWzEsWzE1LCJ2Il0sWzE3LFsxNSwidiJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ4Il0sWzMsIngiLFsyLFsxNyxbMTUsInYiXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsInciLFszOSxbMjMsWzE1LCJ4Il0sMF0sWzE3LFsxNSwidiJdLCJocmVmIl0sWzIsWzE3LFsxNSwidiJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsIngiXV1dXV1dXV0sWzM2LFsxNSwidyJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbURvd25sb2FkQWN0aXZpdHkiXV0sWzUyLCJmIixbMTcsWzE1LCJkIl0sIkEiXV0sWzUyLCJnIiwiZmlsZV9kb3dubG9hZCJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibCJdLCJBIixbNywiZG93bmxvYWQiXV1dLFs1MiwicCIsWzAsIl4ocGRmfHhsc3g/fGRvY3g/fHR4dHxydGZ8Y3N2fGV4ZXxrZXl8cHAoc3x0fHR4KXw3enxwa2d8cmFyfGd6fHppcHxhdml8IiwibW92fG1wNHxtcGU/Z3x3bXZ8bWlkaT98bXAzfHdhdnx3bWEpJCJdXSxbNTIsInUiLFsiayIsWzgsImNoZWNrVmFsaWRhdGlvbiIsdHJ1ZV1dXSxbMjIsWzI4LFsxNSwidSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImMiXSwic2V0SXRlbSIsWzcsWzE1LCJoIl0sdHJ1ZV1dLFsiaiIsImd0bS5saW5rQ2xpY2siLFs1MSwiIixbNywidiIsInciXSxbInciXSxbNTIsIngiLFs4LCJldmVudElkIixbMTYsWzE1LCJ2Il0sImd0bS51bmlxdWVFdmVudElkIl0sImRlZmVycmFibGUiLHRydWVdXSxbNTIsInkiLFsxNixbMTUsInYiXSwiZ3RtLmVsZW1lbnRVcmwiXV0sWzUyLCJ6IixbIm0iLFsxNSwieSJdXV0sWzIyLFsyOCxbMTUsInoiXV0sWzQ2LFszNl1dXSxbNTIsImFBIixbInIiLFsxNSwieiJdXV0sWzIyLFsyOCxbInEiLFsxNSwiYUEiXV1dLFs0NixbNTMsWzM2XV1dXSxbNTIsImFCIixbOCwibGlua19pZCIsWzE2LFsxNSwidiJdLCJndG0uZWxlbWVudElkIl0sImxpbmtfdXJsIixbInQiLFsxNSwieiJdXSwibGlua190ZXh0IixbMTYsWzE1LCJ2Il0sImd0bS5lbGVtZW50VGV4dCJdLCJmaWxlX25hbWUiLFsicyIsWzE1LCJ6Il1dLCJmaWxlX2V4dGVuc2lvbiIsWzE1LCJhQSJdXV0sWzIsWzE1LCJsIl0sIkIiLFs3LFsxNSwieCJdXV0sWyJuIixbMTUsIm8iXSxbMTUsImciXSxbMTUsImFCIl0sWzE1LCJ4Il1dXSxbMTUsInUiXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX2Zvcm0iLFs0NiwiYSJdLFs1MCwieCIsWzQ2LCJhTCJdLFs1MiwiYU0iLFszMCxbMTYsWzE1LCJhTCJdLFsxNSwiciJdXSxbOF1dXSxbNDMsWzE1LCJhTSJdLCJldmVudF91c2FnZSIsWzcsWzE3LFsxNSwiZyJdLCJIIl1dXSxbNDMsWzE1LCJhTCJdLFsxNSwiciJdLFsxNSwiYU0iXV1dLFs1MCwieSIsWzQ2LCJhTCIsImFNIl0sWzUyLCJhTiIsWzMwLFsxNixbMTUsImFMIl0sWzE1LCJyIl1dLFs4XV1dLFsyMixbMTYsWzE1LCJhTSJdLCJndG0uZm9ybUNhbmNlbGVkIl0sWzQ2LFs1MyxbNDMsWzE1LCJhTiJdLFsxNyxbMTUsImkiXSwiQUoiXSx0cnVlXV1dXSxbMixbMTUsInUiXSwiQiIsWzcsWzE1LCJhTCJdLFsxNSwiYU4iXV1dXSxbNTAsInoiLFs0NiwiYUwiLCJhTSIsImFOIl0sWzUyLCJhTyIsWzIsWzE1LCJ3Il0sImZpbHRlciIsWzcsWzUxLCIiLFs3LCJhUSJdLFszNixbMjAsWzIsWzE1LCJhUSJdLCJpbmRleE9mIixbNywiQVctIl1dLDBdXV1dXV0sWzIyLFsxOCxbMTcsWzE1LCJhTyJdLCJsZW5ndGgiXSwwXSxbNDYsWzUzLFsidiIsWzE1LCJhTyJdLFsxNSwiYUwiXSxbMTUsImFNIl0sWzE1LCJhTiJdXV1dXSxbNTIsImFQIixbMixbMTUsInciXSwiZmlsdGVyIixbNyxbNTEsIiIsWzcsImFRIl0sWzM2LFsyMSxbMixbMTUsImFRIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFQIl0sImxlbmd0aCJdLDBdLFs0NixbNTMsWzQzLFsxNSwiYU4iXSwiZGVmZXJyYWJsZSIsdHJ1ZV0sWyJ2IixbMTUsImFQIl0sWzE1LCJhTCJdLFsxNSwiYU0iXSxbMTUsImFOIl1dXV1dXSxbNTAsImFLIixbNDZdLFs1MiwiYUwiLFsibSIsWyJsIiwwLDIuMTQ3NDgzNjQ3RTldXV0sWzQxLCJhTSJdLFszLCJhTSIsMF0sWzM2LFs1MSwiIixbNywiYU4iXSxbMjIsWzIwLFsxNSwiYU4iXSxbMTUsInMiXV0sWzQ2LFs1MyxbMywiYU0iLFsiayJdXSxbMzYsWzAsWyJtIixbMTUsImFNIl1dLFsxNSwiYUwiXV1dXV0sWzQ2LFsyMixbMjAsWzE1LCJhTiJdLFsxNSwibyJdXSxbNDYsWzUzLFsyMixbMjAsWzE1LCJhTSJdLDBdLFs0NixbNTMsWzM2LFswLFsibSIsWyJrIl1dLFsxNSwiYUwiXV1dXV1dLFs1MiwiYU8iLFsiayJdXSxbMjIsWzIzLFszNyxbMTUsImFPIl0sWzE1LCJhTSJdXSwyMDBdLFs0NixbNTMsWzUyLCJhUCIsWzE1LCJhTSJdXSxbMywiYU0iLDBdLFszNixbMCxbIm0iLFsxNSwiYVAiXV0sWzE1LCJhTCJdXV1dXV0sWzMsImFNIiwwXSxbMzYsWzAsWyJtIixbMTUsImFPIl1dLFsxNSwiYUwiXV1dXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiYyIsWzE1LCJfX21vZHVsZV9jY2RFbUZvcm1BY3Rpdml0eSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2dvbGRFdmVudFVzYWdlSWQiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImoiLFsxNSwiX19tb2R1bGVfYWR3b3Jkc0hpdFR5cGUiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJnZXRUaW1lc3RhbXBNaWxsaXMiXV0sWzUyLCJsIixbInJlcXVpcmUiLCJnZW5lcmF0ZVJhbmRvbSJdXSxbNTIsIm0iLFsicmVxdWlyZSIsIm1ha2VTdHJpbmciXV0sWzUyLCJuIixbMTcsWzE1LCJoIl0sIkIiXV0sWzUyLCJvIiwiZm9ybV9zdWJtaXQiXSxbNTIsInAiLCJmb3JtX3N0YXJ0Il0sWzUyLCJxIiwiaXNSZWdpc3RlcmVkIl0sWzUyLCJyIiwiZXZlbnRNZXRhZGF0YSJdLFs1MiwicyIsImNsaWNrIl0sWzUyLCJ0IixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdXSxbMjIsWyJkIixbMTUsInQiXSxbMTUsIm4iXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsxNSwiYSJdLCJza2lwVmFsaWRhdGlvbiJdLFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIyLFsyLFsxNSwiZiJdLCJnZXRJdGVtIixbNyxbMTUsInEiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNyxbMTUsInEiXSx0cnVlXV0sWzUyLCJ1IixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJ2IixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwidyIsWzIsWzE1LCJ1Il0sIkEiLFs3LCJmb3JtIl1dXSxbNTIsImFBIixbOF1dLFs1MiwiYUIiLFs1MSwiIixbNywiYUwiLCJhTSJdLFsyMixbMTUsImFNIl0sWzQ2LFsiYU0iXV1dLFs1MiwiYU4iLFsxNixbMTUsImFMIl0sImd0bS5lbGVtZW50SWQiXV0sWzIyLFsxNixbMTUsImFBIl0sWzE1LCJhTiJdXSxbNDYsWzM2XV1dLFs0MyxbMTUsImFBIl0sWzE1LCJhTiJdLHRydWVdLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTUsImFOIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZpcnN0X2ZpZWxkX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl0sImZpcnN0X2ZpZWxkX25hbWUiLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkTmFtZSJdLCJmaXJzdF9maWVsZF90eXBlIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZFR5cGUiXSwiZmlyc3RfZmllbGRfcG9zaXRpb24iLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXV1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdGFydCJdLFsieiIsWzE1LCJwIl0sWzE1LCJhTyJdLFsxNSwiYVAiXV1dXSxbNTIsImFDIixbImFLIl1dLFs1MiwiYUQiLFs1MSwiIixbNywiYUwiLCJhTSJdLFs1MiwiYU4iLFsiYUMiLFsxNSwibyJdXV0sWyJhQiIsWzE1LCJhTCJdLFs0NF1dLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudElkIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZvcm1fc3VibWl0X3RleHQiLFsxNixbMTUsImFMIl0sImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXV1dLFs0MyxbMTUsImFPIl0sImV2ZW50X2NhbGxiYWNrIixbMTUsImFNIl1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdWJtaXQiXSxbNDMsWzE2LFsxNSwiYVAiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJTIl0sWzE1LCJhTiJdXSxbInoiLFsxNSwibyJdLFsxNSwiYU8iXSxbMTUsImFQIl1dXV0sWzUyLCJhRSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuYWRkRGF0YUxheWVyRXZlbnRMaXN0ZW5lciJdXSxbNTIsImFGIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1TdWJtaXQiXV0sWzUyLCJhRyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtSW50ZXJhY3Rpb24iXV0sWzUyLCJhSCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayJdXSxbNTIsImFJIixbImFHIl1dLFsyMixbMjgsWzE1LCJhSSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbImFFIiwiZ3RtLmZvcm1JbnRlcmFjdCIsWzE1LCJhQiJdLFsxNSwiYUkiXV0sWzUyLCJhSiIsWyJhRiIsWzgsImNoZWNrVmFsaWRhdGlvbiIsZmFsc2UsIndhaXRGb3JUYWdzIixmYWxzZV1dXSxbMjIsWzI4LFsxNSwiYUoiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWyJhRSIsImd0bS5mb3JtU3VibWl0IixbMTUsImFEIl0sWzE1LCJhSiJdXSxbMjIsWyJlIixbMTcsWzE1LCJiIl0sIkNQIl1dLFs0NixbNTMsWzUyLCJhTCIsWyJhSCIsWzgsInVzZVYyRXZlbnROYW1lIix0cnVlLCJjc3NTZWxlY3RvciIsWzAsWzAsWzAsWzAsWzAsWzAsWzAsImZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICIsImZvcm0gYnV0dG9uOm5vdChbdHlwZV0pLCJdLCJmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICJdLCJmb3JtIGlucHV0W3R5cGU9XCJpbWFnZVwiXSwgIl0sImJ1dHRvbltmb3JtXVt0eXBlPVwic3VibWl0XCJdLCAiXSwiYnV0dG9uW2Zvcm1dOm5vdChbdHlwZV0pLCAiXSwiaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtmb3JtXSwgIl0sImlucHV0W3R5cGU9XCJpbWFnZVwiXVtmb3JtXSJdXV1dLFs1MCwiYU0iLFs0NiwiYU4iLCJhTyJdLFs1MiwiYVAiLFs4LCJldmVudF9jYWxsYmFjayIsWzE1LCJhTyJdXV0sWzUyLCJhUSIsWzgsImV2ZW50SWQiLFsxNixbMTUsImFOIl0sImd0bS51bmlxdWVFdmVudElkIl1dXSxbIngiLFsxNSwiYVEiXV0sWyJ5IixbMTUsImFRIl0sWzE1LCJhTiJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBUiJdLFsxNyxbMTUsImoiXSwiSyJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBQSJdLCJjbGljayJdLFs0MyxbMTYsWzE1LCJhUSJdLFsxNSwiciJdXSxbMTcsWzE1LCJpIl0sIlMiXSxbImFDIixbMTUsInMiXV1dLFsieiIsWzE1LCJvIl0sWzE1LCJhUCJdLFsxNSwiYVEiXV1dLFsiYUUiLCJndG0uY2xpY2stdjIiLFsxNSwiYU0iXSxbMTUsImFMIl1dXV1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsWzQ2LCJhIl0sWzUwLCJyIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLCIiXSxbMjIsWzEsWzE1LCJ3Il0sWzE3LFsxNSwidyJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ5Il0sWzMsInkiLFsyLFsxNyxbMTUsInciXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsIngiLFszOSxbMjMsWzE1LCJ5Il0sMF0sWzE3LFsxNSwidyJdLCJocmVmIl0sWzIsWzE3LFsxNSwidyJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsInkiXV1dXV1dXV0sWzM2LFsxNSwieCJdXV0sWzUwLCJzIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXV0sWzUyLCJ5IixbMixbMTUsIngiXSwibWF0Y2giLFs3LCJed3d3XFxkKlxcLiJdXV0sWzIyLFsxLFsxNSwieSJdLFsxNixbMTUsInkiXSwwXV0sWzQ2LFszLCJ4IixbMixbMTUsIngiXSwic3Vic3RyaW5nIixbNyxbMTcsWzE2LFsxNSwieSJdLDBdLCJsZW5ndGgiXV1dXV1dLFszNixbMTUsIngiXV1dLFs1MCwidCIsWzQ2LCJ3Il0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbNTIsIngiLFsyLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXSwidG9Mb3dlckNhc2UiLFs3XV1dLFsyMixbMjgsWzE1LCJ4Il1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNDEsInkiXSxbMywieSIsWzIsWyJzIixbIm8iLFsibiJdXV0sInRvTG93ZXJDYXNlIixbN11dXSxbNDEsInoiXSxbMywieiIsWzM3LFsxNyxbMTUsIngiXSwibGVuZ3RoIl0sWzE3LFsxNSwieSJdLCJsZW5ndGgiXV1dLFsyMixbMSxbMTgsWzE1LCJ6Il0sMF0sWzI5LFsyLFsxNSwieSJdLCJjaGFyQXQiLFs3LDBdXSwiLiJdXSxbNDYsWzUzLFszMixbMTUsInoiXSxbMywieiIsWzM3LFsxNSwieiJdLDFdXV0sWzMsInkiLFswLCIuIixbMTUsInkiXV1dXV1dLFsyMixbMSxbMTksWzE1LCJ6Il0sMF0sWzEyLFsyLFsxNSwieCJdLCJpbmRleE9mIixbNyxbMTUsInkiXSxbMTUsInoiXV1dLFsxNSwieiJdXV0sWzQ2LFs1MyxbMzYsZmFsc2VdXV1dLFszNix0cnVlXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbU91dGJvdW5kQ2xpY2tBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRCJdXSxbNTIsImciLCJjbGljayJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsIm4iLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsIm8iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwicCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsInEiLFsyLFsxNSwibCJdLCJBIixbNywib3V0Ym91bmRfY2xpY2siXV1dLFs1MiwidSIsWyJtIixbMTUsImkiXSwiY3Jvc3NfZG9tYWluX2NvbmRpdGlvbnMiXV0sWzUyLCJ2IixbImsiLFs4LCJhZmZpbGlhdGVEb21haW5zIixbMTUsInUiXSwiY2hlY2tWYWxpZGF0aW9uIix0cnVlLCJ3YWl0Rm9yVGFncyIsZmFsc2VdXV0sWzIyLFsyOCxbMTUsInYiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sInNldEl0ZW0iLFs3LFsxNSwiaCJdLHRydWVdXSxbImoiLCJndG0ubGlua0NsaWNrIixbNTEsIiIsWzcsInciLCJ4Il0sWzUyLCJ5IixbIm8iLFsxNixbMTUsInciXSwiZ3RtLmVsZW1lbnRVcmwiXV1dLFsyMixbMjgsWyJ0IixbMTUsInkiXV1dLFs0NixbNTMsWyJ4Il0sWzM2XV1dXSxbNTIsInoiLFs4LCJsaW5rX2lkIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50SWQiXSwibGlua19jbGFzc2VzIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50Q2xhc3NlcyJdLCJsaW5rX3VybCIsWyJyIixbMTUsInkiXV0sImxpbmtfZG9tYWluIixbInMiLFsxNSwieSJdXSwib3V0Ym91bmQiLHRydWVdXSxbNDMsWzE1LCJ6Il0sImV2ZW50X2NhbGxiYWNrIixbMTUsIngiXV0sWzUyLCJhQSIsWzgsImV2ZW50SWQiLFsxNixbMTUsInciXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXSwiZGVmZXJyYWJsZSIsdHJ1ZV1dLFsyLFsxNSwibCJdLCJCIixbNyxbMTUsImFBIl1dXSxbInAiLFsxNSwicSJdLFsxNSwiZyJdLFsxNSwieiJdLFsxNSwiYUEiXV1dLFsxNSwidiJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZW1fcGFnZV92aWV3IixbNDYsImEiXSxbMjIsWzI4LFsxNyxbMTUsImEiXSwiaGlzdG9yeUV2ZW50cyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsImQiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1QYWdlVmlld0FjdGl2aXR5Il1dLFs1MiwiZiIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImciLFsxNyxbMTUsImYiXSwiQyJdXSxbNTIsImgiLCJwYWdlX3ZpZXciXSxbNTIsImkiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaiJdLFsxNSwiZyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJqIl1dXSxbMjIsWzIsWzE1LCJkIl0sImdldEl0ZW0iLFs3LFsxNSwiaSJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25IaXN0b3J5Q2hhbmdlIl1dLFs1MiwibSIsWzE1LCJfX21vZHVsZV9lbmhhbmNlZE1lYXN1cmVtZW50Il1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibSJdLCJBIixbNywicGFnZV92aWV3Il1dXSxbNTIsInAiLFs4LCJpbnRlcnZhbCIsMTAwMCwidXNlVjJFdmVudE5hbWUiLHRydWVdXSxbNTIsInEiLFsibCIsWzE1LCJwIl1dXSxbMjIsWzI4LFsxNSwicSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImQiXSwic2V0SXRlbSIsWzcsWzE1LCJpIl0sdHJ1ZV1dLFsiayIsImd0bS5oaXN0b3J5Q2hhbmdlLXYyIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS5vbGRVcmwiXV0sWzIyLFsyMCxbMTYsWzE1LCJyIl0sImd0bS5uZXdVcmwiXSxbMTUsInQiXV0sWzQ2LFszNl1dXSxbNTIsInUiLFsxNixbMTUsInIiXSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiXV0sWzIyLFsxLFsxLFsyMSxbMTUsInUiXSwicHVzaFN0YXRlIl0sWzIxLFsxNSwidSJdLCJwb3BzdGF0ZSJdXSxbMjEsWzE1LCJ1Il0sInJlcGxhY2VTdGF0ZSJdXSxbNDYsWzUzLFszNl1dXV0sWzUyLCJ2IixbOF1dLFsyMixbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwicGFnZV9sb2NhdGlvbiIsWzE2LFsxNSwiciJdLCJndG0ubmV3VXJsIl1dLFs0MyxbMTUsInYiXSwicGFnZV9yZWZlcnJlciIsWzE1LCJ0Il1dXV1dLFs1MiwidyIsWzgsImV2ZW50SWQiLFsxNixbMTUsInIiXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXV1dLFsyMixbMjEsWzE3LFsxNSwiYSJdLCJkZWZlclBhZ2VWaWV3Il0sZmFsc2VdLFs0NixbNTMsWzQzLFsxNSwidyJdLCJkZWZlcnJhYmxlIix0cnVlXV1dXSxbMixbMTUsIm0iXSwiQiIsWzcsWzE1LCJ3Il1dXSxbIm4iLFsxNSwibyJdLFsxNSwiaCJdLFsxNSwidiJdLFsxNSwidyJdXV0sWzE1LCJxIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zY3JvbGwiLFs0NiwiYSJdLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwidGVtcGxhdGVTdG9yYWdlIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1TY3JvbGxBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbNTIsImgiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImkiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJpIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaCJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25TY3JvbGwiXV0sWzUyLCJsIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwibiIsWzIsWzE1LCJsIl0sIkEiLFs3LCJzY3JvbGwiXV1dLFs1MiwibyIsWyJrIixbOCwidmVydGljYWxUaHJlc2hvbGRVbml0cyIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbFRocmVzaG9sZHMiLDkwXV1dLFsyMixbMjgsWzE1LCJvIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImgiXSx0cnVlXV0sWyJqIiwiZ3RtLnNjcm9sbERlcHRoIixbNTEsIiIsWzcsInAiLCJxIl0sWyJxIl0sWzUyLCJyIixbOCwiZXZlbnRJZCIsWzE2LFsxNSwicCJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzUyLCJzIixbOCwicGVyY2VudF9zY3JvbGxlZCIsWzE2LFsxNSwicCJdLCJndG0uc2Nyb2xsVGhyZXNob2xkIl1dXSxbMixbMTUsImwiXSwiQiIsWzcsWzE1LCJyIl1dXSxbIm0iLFsxNSwibiJdLFsxNSwiZyJdLFsxNSwicyJdLFsxNSwiciJdXV0sWzE1LCJvIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsWzQ2LCJhIl0sWzUyLCJiIixbInJlcXVpcmUiLCJnZXRRdWVyeVBhcmFtZXRlcnMiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiZ2V0Q29udGFpbmVyVmVyc2lvbiJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIl1dLFs1MiwiZyIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImgiLFsxNSwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiXV0sWzUyLCJpIixbMixbMTUsImgiXSwiQSIsWzcsWzE3LFsxNSwiYSJdLCJzZWFyY2hRdWVyeVBhcmFtcyJdLFsxNSwiYiJdXV1dLFs1MiwiaiIsWzMwLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsiZCJdLCJjb250YWluZXJJZCJdXV0sWzUyLCJrIixbOCwiZGVmZXJyYWJsZSIsdHJ1ZSwiZXZlbnRJZCIsWzE3LFsxNSwiYSJdLCJndG1FdmVudElkIl0sImV2ZW50TWV0YWRhdGEiLFs4LCJlbV9ldmVudCIsdHJ1ZV1dXSxbMjIsWzE1LCJpIl0sWzQ2LFs1MyxbNTIsImwiLFszOSxbMjgsWzI4LFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIsWzE1LCJoIl0sIkIiLFs3LFsxNSwiaSJdLFsxNyxbMTUsImEiXSwiYWRkaXRpb25hbFF1ZXJ5UGFyYW1zIl0sWzE1LCJiIl1dXSxbOF1dXSxbNDMsWzE3LFsxNSwiayJdLCJldmVudE1ldGFkYXRhIl0sWzE3LFsxNSwiZyJdLCJaIl0sImEiXSxbImMiLFsxNSwiaiJdLCJ2aWV3X3NlYXJjaF9yZXN1bHRzIixbMTUsImwiXSxbMTUsImsiXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX3ZpZGVvIixbNDYsImEiXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2NjZEVtVmlkZW9BY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRiJdXSxbNTIsImciLCJ2aWRlb19zdGFydCJdLFs1MiwiaCIsInZpZGVvX3Byb2dyZXNzIl0sWzUyLCJpIiwidmlkZW9fY29tcGxldGUiXSxbNTIsImoiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImsiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJrIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaiJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJsIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Zb3VUdWJlQWN0aXZpdHkiXV0sWzUyLCJuIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJvIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwicCIsWzIsWzE1LCJuIl0sIkEiLFs3LCJ2aWRlbyJdXV0sWzUyLCJxIixbIm0iLFs4LCJjYXB0dXJlQ29tcGxldGUiLHRydWUsImNhcHR1cmVTdGFydCIsdHJ1ZSwicHJvZ3Jlc3NUaHJlc2hvbGRzUGVyY2VudCIsWzcsMTAsMjUsNTAsNzVdXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImoiXSx0cnVlXV0sWyJsIiwiZ3RtLnZpZGVvIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS52aWRlb1N0YXR1cyJdXSxbNDEsInUiXSxbMjIsWzIwLFsxNSwidCJdLCJzdGFydCJdLFs0NixbNTMsWzMsInUiLFsxNSwiZyJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJwcm9ncmVzcyJdLFs0NixbNTMsWzMsInUiLFsxNSwiaCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJjb21wbGV0ZSJdLFs0NixbNTMsWzMsInUiLFsxNSwiaSJdXV1dLFs0NixbNTMsWzM2XV1dXV1dXV0sWzUyLCJ2IixbOCwidmlkZW9fY3VycmVudF90aW1lIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0N1cnJlbnRUaW1lIl0sInZpZGVvX2R1cmF0aW9uIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0R1cmF0aW9uIl0sInZpZGVvX3BlcmNlbnQiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvUGVyY2VudCJdLCJ2aWRlb19wcm92aWRlciIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9Qcm92aWRlciJdLCJ2aWRlb190aXRsZSIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9UaXRsZSJdLCJ2aWRlb191cmwiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVXJsIl0sInZpc2libGUiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVmlzaWJsZSJdXV0sWzUyLCJ3IixbOCwiZXZlbnRJZCIsWzE2LFsxNSwiciJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzIsWzE1LCJuIl0sIkIiLFs3LFsxNSwidyJdXV0sWyJvIixbMTUsInAiXSxbMTUsInUiXSxbMTUsInYiXSxbMTUsInciXV1dLFsxNSwicSJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfZmlyc3QiLFs0NiwiYSJdLFs1MCwiZSIsWzQ2LCJmIl0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNSwiZiJdXV0sWzIsWzE1LCJkIl0sIkEiLFs3LFsxNSwiZiJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyJdXSxbImIiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzUxLCIiLFs3LCJmIl0sWyJlIixbMTUsImYiXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfbGFzdCIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2dhX3JlZ3Njb3BlIixbNDYsImEiXSxbNTIsImIiLFsxNSwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyJdXSxbNTIsImMiLFsyLFsxNSwiYiJdLCJCIixbNyxbMTUsImEiXV1dXSxbMixbMTUsImIiXSwiQSIsWzcsWzE1LCJhIl0sWzE1LCJjIl1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19lIixbNDYsImEiXSxbMzYsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFsicmVxdWlyZSIsImludGVybmFsLmdldEV2ZW50RGF0YSJdXSxbIiQwIiwiZXZlbnQiXV1dXQogLFs1MCwiX19nY3QiLFs0NiwiYSJdLFs1MCwiZyIsWzQ2LCJtIl0sWzUyLCJuIixbN11dLFs2NSwibyIsWzE1LCJtIl0sWzQ2LFs1MyxbNTIsInAiLFsiYiIsWzE1LCJvIl1dXSxbMjIsWzIxLFsxNSwicCJdLFs0NV1dLFs0NixbMixbMTUsIm4iXSwicHVzaCIsWzcsWzE1LCJwIl1dXV1dXV1dLFszNixbMTUsIm4iXV1dLFs1MCwiaCIsWzQ2LCJtIl0sWzUyLCJuIixbMTcsWzE1LCJtIl0sImxpbmtlciJdXSxbMjIsWzEsWzE1LCJuIl0sWzE2LFsxNSwibiJdLCJkb21haW5zIl1dLFs0NixbNTMsWzQzLFsxNSwibiJdLCJkb21haW5zIixbImciLFsxNixbMTUsIm4iXSwiZG9tYWlucyJdXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJpIixbNDYsIm0iXSxbNTIsIm4iLFsxNyxbMTUsIm0iXSwicmVmZXJyYWxFeGNsdXNpb25EZWZpbml0aW9uIl1dLFsyMixbMSxbMTUsIm4iXSxbMTYsWzE1LCJuIl0sImluY2x1ZGVfY29uZGl0aW9ucyJdXSxbNDYsWzUzLFs0MyxbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIixbImciLFsxNixbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIl1dXV1dXSxbMzYsWzE1LCJuIl1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNyZWF0ZVJlZ2V4Il1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIl1dLFs1MiwiZSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJEZXN0aW5hdGlvbiJdXSxbNTIsImYiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImoiLFszMCxbMixbMTUsImYiXSwiZ2V0SXRlbSIsWzcsInJlZ2V4Il1dLFsiYiIsIlsuKitcXC0/XiR7fSgpfFtcXF1cXFxcXSIsImciXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNywicmVnZXgiLFsxNSwiaiJdXV0sWzUyLCJrIixbOF1dLFs1MiwibCIsWzE3LFsxNSwiYSJdLCJzZXNzaW9uRHVyYXRpb24iXV0sWzIyLFsxOCxbMTUsImwiXSwwXSxbNDYsWzUzLFs0MyxbMTUsImsiXSwic2Vzc2lvbl9kdXJhdGlvbiIsWzE1LCJsIl1dXV1dLFs0MyxbMTUsImsiXSwiZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZXZlbnRTZXR0aW5ncyJdXSxbNDMsWzE1LCJrIl0sImR5bmFtaWNfZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZHluYW1pY0V2ZW50U2V0dGluZ3MiXV0sWzQzLFsxNSwiayJdLCJnb29nbGVfc2lnbmFscyIsWzIwLFsxNyxbMTUsImEiXSwiZ29vZ2xlU2lnbmFscyJdLDFdXSxbNDMsWzE1LCJrIl0sImdvb2dsZV90bGQiLFsxNyxbMTUsImEiXSwiZm9yZWlnblRsZCJdXSxbNDMsWzE1LCJrIl0sImdhX3Jlc3RyaWN0X2RvbWFpbiIsWzIwLFsxNyxbMTUsImEiXSwicmVzdHJpY3REb21haW4iXSwxXV0sWzQzLFsxNSwiayJdLCJpbnRlcm5hbF90cmFmZmljX3Jlc3VsdHMiLFsxNyxbMTUsImEiXSwiaW50ZXJuYWxUcmFmZmljUmVzdWx0cyJdXSxbNDMsWzE1LCJrIl0sImxpbmtlciIsWyJoIixbMTUsImEiXV1dLFs0MyxbMTUsImsiXSwicmVmZXJyYWxfZXhjbHVzaW9uX2RlZmluaXRpb24iLFsiaSIsWzE1LCJhIl1dXSxbImQiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdLFsxNSwiayJdXSxbImUiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19vZ3RfMXBfZGF0YV92MiIsWzQ2LCJhIl0sWzUwLCJwIixbNDYsInIiLCJzIiwidCIsInUiXSxbMjIsWzIwLFsxNixbMTUsInMiXSwidHlwZSJdLFsxNSwidCJdXSxbNDYsWzUzLFsyMixbMjgsWzE1LCJyIl1dLFs0NixbNTMsWzMsInIiLFs4XV1dXV0sWzIyLFsyOCxbMTYsWzE1LCJyIl0sWzE1LCJ0Il1dXSxbNDYsWzUzLFs0MyxbMTUsInIiXSxbMTUsInQiXSxbMTYsWzE1LCJzIl0sInVzZXJEYXRhIl1dLFs1MiwidiIsWzgsIm1vZGUiLCJhIl1dLFsyMixbMTYsWzE1LCJzIl0sInRhZ05hbWUiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwibG9jYXRpb24iLFsxNixbMTUsInMiXSwidGFnTmFtZSJdXV1dXSxbMjIsWzE2LFsxNSwicyJdLCJxdWVyeVNlbGVjdG9yIl0sWzQ2LFs1MyxbNDMsWzE1LCJ2Il0sInNlbGVjdG9yIixbMTYsWzE1LCJzIl0sInF1ZXJ5U2VsZWN0b3IiXV1dXV0sWzQzLFsxNSwidSJdLFsxNSwidCJdLFsxNSwidiJdXV1dXV1dXSxbMzYsWzE1LCJyIl1dXSxbNTAsInEiLFs0NiwiciIsInMiLCJ0Il0sWzIyLFsyOCxbMTYsWzE1LCJhIl0sWzE1LCJ0Il1dXSxbNDYsWzM2XV1dLFs0MyxbMTUsInIiXSxbMTUsInMiXSxbOCwidmFsdWUiLFsxNixbMTUsImEiXSxbMTUsInQiXV1dXV0sWzIyLFsyOCxbMTcsWzE1LCJhIl0sImlzRW5hYmxlZCJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImciLFsicmVxdWlyZSIsImludGVybmFsLmRldGVjdFVzZXJQcm92aWRlZERhdGEiXV0sWzUyLCJoIixbInJlcXVpcmUiLCJxdWVyeVBlcm1pc3Npb24iXV0sWzUyLCJpIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiayIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsIm0iLFsiYyIsWzE3LFsxNSwiZSJdLCJBVCJdXV0sWzUyLCJuIixbMzAsWyJmIl0sWzddXV0sWzUyLCJvIixbOCwiZW5hYmxlX2NvZGUiLHRydWVdXSxbMjIsWzE3LFsxNSwiYSJdLCJpc0F1dG9FbmFibGVkIl0sWzQ2LFs1MyxbNTIsInIiLFs3XV0sWzIyLFsxLFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzQ2LFs1MyxbNTMsWzQxLCJ1Il0sWzMsInUiLDBdLFs2MyxbNywidSJdLFsyMyxbMTUsInUiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzMzLFsxNSwidSJdLFszLCJ1IixbMCxbMTUsInUiXSwxXV1dLFs0NixbNTMsWzUyLCJ2IixbMTcsWzE2LFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTUsInUiXV0sImV4Y2x1c2lvblNlbGVjdG9yIl1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFsyLFsxNSwiciJdLCJwdXNoIixbNyxbMTUsInYiXV1dXV1dXV1dXV1dXSxbNTIsInMiLFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl1dLFs1MiwidCIsWzM5LFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl0sWzE3LFsxNSwiYSJdLCJhdXRvRW1haWxFbmFibGVkIl0sdHJ1ZV1dLFs0MyxbMTUsIm8iXSwiYXV0b19kZXRlY3QiLFs4LCJlbWFpbCIsWzE1LCJ0Il0sInBob25lIixbMSxbMTUsInMiXSxbMTcsWzE1LCJhIl0sImF1dG9QaG9uZUVuYWJsZWQiXV0sImFkZHJlc3MiLFsxLFsxNSwicyJdLFsxNyxbMTUsImEiXSwiYXV0b0FkZHJlc3NFbmFibGVkIl1dLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIixbMTUsInIiXV1dXV1dLFsyMixbMTcsWzE1LCJhIl0sImlzTWFudWFsRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJyIixbOF1dLFsyMixbMTcsWzE1LCJhIl0sIm1hbnVhbEVtYWlsRW5hYmxlZCJdLFs0NixbNTMsWyJxIixbMTUsInIiXSwiZW1haWwiLCJlbWFpbFZhbHVlIl1dXV0sWzIyLFsxNyxbMTUsImEiXSwibWFudWFsUGhvbmVFbmFibGVkIl0sWzQ2LFs1MyxbInEiLFsxNSwiciJdLCJwaG9uZSIsInBob25lVmFsdWUiXV1dXSxbMjIsWzE3LFsxNSwiYSJdLCJtYW51YWxBZGRyZXNzRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJzIixbOF1dLFsicSIsWzE1LCJzIl0sImZpcnN0X25hbWUiLCJmaXJzdE5hbWVWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImxhc3RfbmFtZSIsImxhc3ROYW1lVmFsdWUiXSxbInEiLFsxNSwicyJdLCJzdHJlZXQiLCJzdHJlZXRWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNpdHkiLCJjaXR5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJyZWdpb24iLCJyZWdpb25WYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNvdW50cnkiLCJjb3VudHJ5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJwb3N0YWxfY29kZSIsInBvc3RhbENvZGVWYWx1ZSJdLFs0MyxbMTUsInIiXSwibmFtZV9hbmRfYWRkcmVzcyIsWzcsWzE1LCJzIl1dXV1dXSxbNDMsWzE1LCJvIl0sInNlbGVjdG9ycyIsWzE1LCJyIl1dXV1dLFs2NSwiciIsWzE1LCJuIl0sWzQ2LFs1MyxbImkiLFsxNSwiciJdLCJ1c2VyX2RhdGFfc2V0dGluZ3MiLFsxNSwibyJdXSxbNTIsInMiLFsxNixbMTUsIm8iXSwiYXV0b19kZXRlY3QiXV0sWzIyLFsyOCxbMTUsInMiXV0sWzQ2LFs1MyxbNl1dXV0sWzUyLCJ0IixbNTEsIiIsWzcsInUiXSxbNTIsInYiLFsyLFsxNSwidSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWCJdXV1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFszNixbMTUsInYiXV1dXV0sWzUyLCJ3IixbImMiLFsxNyxbMTUsImUiXSwiQlYiXV1dLFs1MiwieCIsWyJjIixbMTcsWzE1LCJlIl0sIkNJIl1dXSxbNDEsInkiXSxbMjIsWyJoIiwiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iXSxbNDYsWzUzLFszLCJ5IixbImciLFs4LCJleGNsdWRlRWxlbWVudFNlbGVjdG9ycyIsWzE2LFsxNSwicyJdLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIl0sImZpZWxkRmlsdGVycyIsWzgsImVtYWlsIixbMTYsWzE1LCJzIl0sImVtYWlsIl0sInBob25lIixbMTYsWzE1LCJzIl0sInBob25lIl0sImFkZHJlc3MiLFsxNixbMTUsInMiXSwiYWRkcmVzcyJdXSwiaW5jbHVkZVNlbGVjdG9yIixbMTUsInciXSwicmVhZEZyb21EYXRhTGF5ZXIiLFsxNSwieCJdXV1dXV1dLFs1MiwieiIsWzEsWzE1LCJ5Il0sWzE2LFsxNSwieSJdLCJlbGVtZW50cyJdXV0sWzUyLCJhQSIsWzhdXSxbNTIsImFCIixbOF1dLFsyMixbMSxbMTUsInoiXSxbMTgsWzE3LFsxNSwieiJdLCJsZW5ndGgiXSwwXV0sWzQ2LFs1MyxbNDEsImFDIl0sWzQxLCJhRCJdLFszLCJhRCIsWzhdXSxbNTMsWzQxLCJhRSJdLFszLCJhRSIsMF0sWzYzLFs3LCJhRSJdLFsyMyxbMTUsImFFIl0sWzE3LFsxNSwieiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiYUUiXSxbMywiYUUiLFswLFsxNSwiYUUiXSwxXV1dLFs0NixbNTMsWzUyLCJhRiIsWzE2LFsxNSwieiJdLFsxNSwiYUUiXV1dLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwiZW1haWwiLFsxNSwiYUIiXV0sWzIyLFsiYyIsWzE3LFsxNSwiZSJdLCJCTyJdXSxbNDYsWzUzLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwicGhvbmVfbnVtYmVyIixbMTUsImFCIl1dLFszLCJhQyIsWyJwIixbMTUsImFDIl0sWzE1LCJhRiJdLCJmaXJzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwibGFzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwiY291bnRyeSIsWzE1LCJhRCJdXV0sWzMsImFDIixbInAiLFsxNSwiYUMiXSxbMTUsImFGIl0sInBvc3RhbF9jb2RlIixbMTUsImFEIl1dXV1dXV1dXV0sWzIyLFsxLFsxNSwiYUMiXSxbMjgsWzE2LFsxNSwiYUEiXSwiYWRkcmVzcyJdXV0sWzQ2LFs1MyxbNDMsWzE1LCJhQSJdLCJhZGRyZXNzIixbMTUsImFDIl1dLFsyMixbMTUsIm0iXSxbNDYsWzUzLFs0MyxbMTYsWzE1LCJhQSJdLCJhZGRyZXNzIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUQiXV1dXV1dXV1dXV0sWzIyLFsxLFsxNSwieSJdLFsxNSwieCJdXSxbNDYsWzUzLFs1MiwiYUMiLFsxNixbMTUsInkiXSwiZGF0YUxheWVyU2VhcmNoVGltZSJdXSxbNTIsImFEIixbMTYsWzE1LCJ5Il0sImRhdGFMYXllclNlYXJjaENvdW50Il1dLFsyLFsxNSwidSJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImwiXSwiRlQiXSxbOCwiZGxzdCIsWzE1LCJhQyJdLCJkbHNjIixbMTUsImFEIl1dXV1dXV0sWzIyLFsxNSwibSJdLFs0NixbNTMsWzIyLFszMCxbMTYsWzE1LCJhQSJdLCJlbWFpbCJdLFsxNixbMTUsImFBIl0sInBob25lX251bWJlciJdXSxbNDYsWzUzLFs0MyxbMTUsImFBIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUIiXV1dXV1dXV0sWzIsWzE1LCJ1Il0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJrIl0sIkNYIl0sWzE1LCJhQSJdXV0sWzM2LFsxNSwiYUEiXV1dXSxbImoiLFsxNSwiciJdLFs1MSwiIixbNywidSJdLFsyLFsxNSwidSJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWSJdLFsxNSwidCJdXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTIsIl9fbW9kdWxlX2Fkd29yZHNIaXRUeXBlIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiY29udmVyc2lvbiJdLFs1MiwiYyIsImZsb29kbGlnaHQiXSxbNTIsImQiLCJnYV9jb252ZXJzaW9uIl0sWzUyLCJlIiwicGFnZV92aWV3Il0sWzUyLCJmIiwicmVtYXJrZXRpbmciXSxbNTIsImciLCJ1c2VyX2RhdGFfbGVhZCJdLFs1MiwiaCIsInVzZXJfZGF0YV93ZWIiXSxbMzYsWzgsIkQiLFsxNSwiYiJdLCJFIixbMTUsImMiXSwiRiIsWzE1LCJkIl0sIkgiLFsxNSwiZSJdLCJJIixbMTUsImYiXSwiSiIsWzE1LCJnIl0sIksiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZ3RhZ1NjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFkX3BlcnNvbmFsaXphdGlvbiJdLFs1MiwiYyIsImFkX3N0b3JhZ2UiXSxbNTIsImQiLCJhZF91c2VyX2RhdGEiXSxbNTIsImUiLCJjb25zZW50X3VwZGF0ZWQiXSxbNTIsImYiLCJhcHBfcmVtb3ZlIl0sWzUyLCJnIiwiYXBwX3N0b3JlX3JlZnVuZCJdLFs1MiwiaCIsImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY2FuY2VsIl0sWzUyLCJpIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9jb252ZXJ0Il0sWzUyLCJqIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9yZW5ldyJdLFs1MiwiayIsImNvbnZlcnNpb24iXSxbNTIsImwiLCJwdXJjaGFzZSJdLFs1MiwibSIsImZpcnN0X29wZW4iXSxbNTIsIm4iLCJmaXJzdF92aXNpdCJdLFs1MiwibyIsImd0YWcuY29uZmlnIl0sWzUyLCJwIiwiaW5fYXBwX3B1cmNoYXNlIl0sWzUyLCJxIiwicGFnZV92aWV3Il0sWzUyLCJyIiwic2Vzc2lvbl9zdGFydCJdLFs1MiwicyIsInVzZXJfZW5nYWdlbWVudCJdLFs1MiwidCIsImFkc19kYXRhX3JlZGFjdGlvbiJdLFs1MiwidSIsImFsbG93X2FkX3BlcnNvbmFsaXphdGlvbl9zaWduYWxzIl0sWzUyLCJ2IiwiYWxsb3dfY3VzdG9tX3NjcmlwdHMiXSxbNTIsInciLCJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyJdLFs1MiwieCIsImFsbG93X2dvb2dsZV9zaWduYWxzIl0sWzUyLCJ5IiwiYXVpZCJdLFs1MiwieiIsImF3X3JlbWFya2V0aW5nX29ubHkiXSxbNTIsImFBIiwiZGlzY291bnQiXSxbNTIsImFCIiwiYXdfZmVlZF9jb3VudHJ5Il0sWzUyLCJhQyIsImF3X2ZlZWRfbGFuZ3VhZ2UiXSxbNTIsImFEIiwiaXRlbXMiXSxbNTIsImFFIiwiYXdfbWVyY2hhbnRfaWQiXSxbNTIsImFGIiwiYXdfYmFza2V0X3R5cGUiXSxbNTIsImFHIiwiY2xpZW50X2lkIl0sWzUyLCJhSCIsImNvbnZlcnNpb25fY29va2llX3ByZWZpeCJdLFs1MiwiYUkiLCJjb252ZXJzaW9uX2lkIl0sWzUyLCJhSiIsImNvbnZlcnNpb25fbGlua2VyIl0sWzUyLCJhSyIsImNvbnZlcnNpb25fYXBpIl0sWzUyLCJhTCIsImNvb2tpZV9kZXByZWNhdGlvbiJdLFs1MiwiYU0iLCJjb29raWVfZXhwaXJlcyJdLFs1MiwiYU4iLCJjb29raWVfcHJlZml4Il0sWzUyLCJhTyIsImNvb2tpZV91cGRhdGUiXSxbNTIsImFQIiwiY291bnRyeSJdLFs1MiwiYVEiLCJjdXJyZW5jeSJdLFs1MiwiYVIiLCJjdXN0b21lcl9saWZldGltZV92YWx1ZSJdLFs1MiwiYVMiLCJjdXN0b21lcl90eXBlIl0sWzUyLCJhVCIsImRlYnVnX21vZGUiXSxbNTIsImFVIiwic2hpcHBpbmciXSxbNTIsImFWIiwiZW5nYWdlbWVudF90aW1lX21zZWMiXSxbNTIsImFXIiwiZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGUiXSxbNTIsImFYIiwiZXZlbnRfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiYVkiLCJldmVudF9pZCJdLFs1MiwiYVoiLCJldmVudCJdLFs1MiwiYkEiLCJfJmFlIl0sWzUyLCJiQiIsImV2ZW50X3RpbWVvdXQiXSxbNTIsImJDIiwiZXh0X2NsaWVudF9pZCJdLFs1MiwiYkQiLCJmaXJzdF9wYXJ0eV9jb2xsZWN0aW9uIl0sWzUyLCJiRSIsIm1hdGNoX2lkIl0sWzUyLCJiRiIsImdkcHJfYXBwbGllcyJdLFs1MiwiYkciLCJfZ3RfbWV0YWRhdGEiXSxbNTIsImJIIiwiZ29vZ2xlX2FuYWx5c2lzX3BhcmFtcyJdLFs1MiwiYkkiLCJfZ29vZ2xlX25nIl0sWzUyLCJiSiIsIl9vbm8iXSxbNTIsImJLIiwiZ3BwX3NpZCJdLFs1MiwiYkwiLCJncHBfc3RyaW5nIl0sWzUyLCJiTSIsImdzYV9leHBlcmltZW50X2lkIl0sWzUyLCJiTiIsImd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSJdLFs1MiwiYk8iLCJpZnJhbWVfc3RhdGUiXSxbNTIsImJQIiwiaWdub3JlX3JlZmVycmVyIl0sWzUyLCJiUSIsImlzX3Bhc3N0aHJvdWdoIl0sWzUyLCJiUiIsImxhbmd1YWdlIl0sWzUyLCJiUyIsIm1lcmNoYW50X2ZlZWRfbGFiZWwiXSxbNTIsImJUIiwibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSJdLFs1MiwiYlUiLCJtZXJjaGFudF9pZCJdLFs1MiwiYlYiLCJuZXdfY3VzdG9tZXIiXSxbNTIsImJXIiwicGFnZV9ob3N0bmFtZSJdLFs1MiwiYlgiLCJwYWdlX3BhdGgiXSxbNTIsImJZIiwicGFnZV9yZWZlcnJlciJdLFs1MiwiYloiLCJwYWdlX3RpdGxlIl0sWzUyLCJjQSIsIl9wbGF0aW51bV9yZXF1ZXN0X3N0YXR1cyJdLFs1MiwiY0IiLCJxdWFudGl0eSJdLFs1MiwiY0MiLCJyZXN0cmljdGVkX2RhdGFfcHJvY2Vzc2luZyJdLFs1MiwiY0QiLCJzY3JlZW5fcmVzb2x1dGlvbiJdLFs1MiwiY0UiLCJzZW5kX3BhZ2VfdmlldyJdLFs1MiwiY0YiLCJzZXJ2ZXJfY29udGFpbmVyXzNwX2VucmljaG1lbnQiXSxbNTIsImNHIiwic2VydmVyX2NvbnRhaW5lcl91cmwiXSxbNTIsImNIIiwic2Vzc2lvbl9kdXJhdGlvbiJdLFs1MiwiY0kiLCJzZXNzaW9uX2VuZ2FnZWRfdGltZSJdLFs1MiwiY0oiLCJzZXNzaW9uX2lkIl0sWzUyLCJjSyIsIl9zaGFyZWRfdXNlcl9pZCJdLFs1MiwiY0wiLCJkZWxpdmVyeV9wb3N0YWxfY29kZSJdLFs1MiwiY00iLCJ0ZXN0b25seSJdLFs1MiwiY04iLCJ0b3Btb3N0X3VybCJdLFs1MiwiY08iLCJ0cmFuc2FjdGlvbl9pZCJdLFs1MiwiY1AiLCJ0cmFuc2FjdGlvbl9pZF9zb3VyY2UiXSxbNTIsImNRIiwidHJhbnNwb3J0X3VybCJdLFs1MiwiY1IiLCJ1cGRhdGUiXSxbNTIsImNTIiwiX3VzZXJfYWdlbnRfYXJjaGl0ZWN0dXJlIl0sWzUyLCJjVCIsIl91c2VyX2FnZW50X2JpdG5lc3MiXSxbNTIsImNVIiwiX3VzZXJfYWdlbnRfZnVsbF92ZXJzaW9uX2xpc3QiXSxbNTIsImNWIiwiX3VzZXJfYWdlbnRfbW9iaWxlIl0sWzUyLCJjVyIsIl91c2VyX2FnZW50X21vZGVsIl0sWzUyLCJjWCIsIl91c2VyX2FnZW50X3BsYXRmb3JtIl0sWzUyLCJjWSIsIl91c2VyX2FnZW50X3BsYXRmb3JtX3ZlcnNpb24iXSxbNTIsImNaIiwiX3VzZXJfYWdlbnRfd293NjQiXSxbNTIsImRBIiwidXNlcl9kYXRhIl0sWzUyLCJkQiIsInVzZXJfZGF0YV9hdXRvX2xhdGVuY3kiXSxbNTIsImRDIiwidXNlcl9kYXRhX2F1dG9fbWV0YSJdLFs1MiwiZEQiLCJ1c2VyX2RhdGFfYXV0b19tdWx0aSJdLFs1MiwiZEUiLCJ1c2VyX2RhdGFfYXV0b19zZWxlY3RvcnMiXSxbNTIsImRGIiwidXNlcl9kYXRhX2F1dG9fc3RhdHVzIl0sWzUyLCJkRyIsInVzZXJfZGF0YV9tb2RlIl0sWzUyLCJkSCIsInVzZXJfaWQiXSxbNTIsImRJIiwidXNlcl9wcm9wZXJ0aWVzIl0sWzUyLCJkSiIsInVzX3ByaXZhY3lfc3RyaW5nIl0sWzUyLCJkSyIsInZhbHVlIl0sWzUyLCJkTCIsIl9mcG1fcGFyYW1ldGVycyJdLFs1MiwiZE0iLCJfaG9zdF9uYW1lIl0sWzUyLCJkTiIsIl9pbl9wYWdlX2NvbW1hbmQiXSxbNTIsImRPIiwiX21lYXN1cmVtZW50X3R5cGUiXSxbNTIsImRQIiwibm9uX3BlcnNvbmFsaXplZF9hZHMiXSxbNTIsImRRIiwiY29udmVyc2lvbl9sYWJlbCJdLFs1MiwiZFIiLCJwYWdlX2xvY2F0aW9uIl0sWzUyLCJkUyIsIl9leHRyYWN0ZWRfZGF0YSJdLFs1MiwiZFQiLCJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiZFUiLCJ0Y19wcml2YWN5X3N0cmluZyJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJDIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkkiLFsxNSwiZiJdLCJKIixbMTUsImciXSwiSyIsWzE1LCJoIl0sIkwiLFsxNSwiaSJdLCJNIixbMTUsImoiXSwiTyIsWzE1LCJrIl0sIkFBIixbMTUsImwiXSwiQUYiLFsxNSwibSJdLCJBRyIsWzE1LCJuIl0sIkFIIixbMTUsIm8iXSwiQUoiLFsxNSwicCJdLCJBSyIsWzE1LCJxIl0sIkFNIixbMTUsInIiXSwiQVEiLFsxNSwicyJdLCJCQyIsWzE1LCJ0Il0sIkJKIixbMTUsInUiXSwiQksiLFsxNSwidiJdLCJCTSIsWzE1LCJ3Il0sIkJOIixbMTUsIngiXSwiQlQiLFsxNSwieSJdLCJCWCIsWzE1LCJ6Il0sIkJZIixbMTUsImFBIl0sIkJaIixbMTUsImFCIl0sIkNBIixbMTUsImFDIl0sIkNCIixbMTUsImFEIl0sIkNDIixbMTUsImFFIl0sIkNEIixbMTUsImFGIl0sIkNMIixbMTUsImFHIl0sIkNRIixbMTUsImFIIl0sIkNSIixbMTUsImFJIl0sIktHIixbMTUsImRRIl0sIkNTIixbMTUsImFKIl0sIkNVIixbMTUsImFLIl0sIkNXIixbMTUsImFMIl0sIkNZIixbMTUsImFNIl0sIkRDIixbMTUsImFOIl0sIkREIixbMTUsImFPIl0sIkRFIixbMTUsImFQIl0sIkRGIixbMTUsImFRIl0sIkRHIixbMTUsImFSIl0sIkRIIixbMTUsImFTIl0sIkROIixbMTUsImFUIl0sIkVBIixbMTUsImFVIl0sIkVDIixbMTUsImFWIl0sIkVHIixbMTUsImFXIl0sIkVKIixbMTUsImFYIl0sIkVLIixbMTUsImFZIl0sIkVOIixbMTUsImFaIl0sIkVPIixbMTUsImJBIl0sIkVRIixbMTUsImJCIl0sIktJIixbMTUsImRTIl0sIkVVIixbMTUsImJDIl0sIkVXIixbMTUsImJEIl0sIkZFIixbMTUsImJFIl0sIkZPIixbMTUsImJGIl0sIkZQIixbMTUsImJHIl0sIktKIixbMTUsImRUIl0sIkZUIixbMTUsImJIIl0sIkZVIixbMTUsImJJIl0sIkZWIixbMTUsImJKIl0sIkZZIixbMTUsImJLIl0sIkZaIixbMTUsImJMIl0sIkdCIixbMTUsImJNIl0sIkdDIixbMTUsImJOIl0sIkdFIixbMTUsImJPIl0sIkdGIixbMTUsImJQIl0sIkdLIixbMTUsImJRIl0sIkdNIixbMTUsImJSIl0sIkdUIixbMTUsImJTIl0sIkdVIixbMTUsImJUIl0sIkdWIixbMTUsImJVIl0sIkdaIixbMTUsImJWIl0sIkhDIixbMTUsImJXIl0sIktIIixbMTUsImRSIl0sIkhEIixbMTUsImJYIl0sIkhFIixbMTUsImJZIl0sIkhGIixbMTUsImJaIl0sIkhOIixbMTUsImNBIl0sIkhQIixbMTUsImNCIl0sIkhUIixbMTUsImNDIl0sIkhYIixbMTUsImNEIl0sIklBIixbMTUsImNFIl0sIklDIixbMTUsImNGIl0sIklEIixbMTUsImNHIl0sIklGIixbMTUsImNIIl0sIklIIixbMTUsImNJIl0sIklJIixbMTUsImNKIl0sIklLIixbMTUsImNLIl0sIklMIixbMTUsImNMIl0sIktLIixbMTUsImRVIl0sIklQIixbMTUsImNNIl0sIklSIixbMTUsImNOIl0sIklVIixbMTUsImNPIl0sIklWIixbMTUsImNQIl0sIklXIixbMTUsImNRIl0sIklZIixbMTUsImNSIl0sIkpCIixbMTUsImNTIl0sIkpDIixbMTUsImNUIl0sIkpEIixbMTUsImNVIl0sIkpFIixbMTUsImNWIl0sIkpGIixbMTUsImNXIl0sIkpHIixbMTUsImNYIl0sIkpIIixbMTUsImNZIl0sIkpJIixbMTUsImNaIl0sIkpKIixbMTUsImRBIl0sIkpLIixbMTUsImRCIl0sIkpMIixbMTUsImRDIl0sIkpNIixbMTUsImREIl0sIkpOIixbMTUsImRFIl0sIkpPIixbMTUsImRGIl0sIkpQIixbMTUsImRHIl0sIkpSIixbMTUsImRIIl0sIkpTIixbMTUsImRJIl0sIkpVIixbMTUsImRKIl0sIkpWIixbMTUsImRLIl0sIkpYIixbMTUsImRMIl0sIkpZIixbMTUsImRNIl0sIkpaIixbMTUsImROIl0sIktDIixbMTUsImRPIl0sIktEIixbMTUsImRQIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFib3J0X3dpdGhvdXRfZmFpbCJdLFs1MiwiYyIsImFjY2VwdF9ieV9kZWZhdWx0Il0sWzUyLCJkIiwiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIl0sWzUyLCJlIiwiY29uc2VudF9zdGF0ZSJdLFs1MiwiZiIsImNvbnNlbnRfdXBkYXRlZCJdLFs1MiwiZyIsImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiXSxbNTIsImgiLCJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIl0sWzUyLCJpIiwiY29va2llX29wdGlvbnMiXSxbNTIsImoiLCJkZWR1cGVfaWQiXSxbNTIsImsiLCJlbV9ldmVudCJdLFs1MiwibCIsImV2ZW50X3Byb3ZlbmFuY2UiXSxbNTIsIm0iLCJldmVudF9zb3VyY2UiXSxbNTIsIm4iLCJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiXSxbNTIsIm8iLCJldmVudF91c2FnZSJdLFs1MiwicCIsImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyJdLFs1MiwicSIsImZvcm1fZXZlbnRfY2FuY2VsZWQiXSxbNTIsInIiLCJnYTRfY29sbGVjdGlvbl9zdWJkb21haW4iXSxbNTIsInMiLCJndG1fZXh0cmFjdGVkX2RhdGEiXSxbNTIsInQiLCJoYW5kbGVfaW50ZXJuYWxseSJdLFs1MiwidSIsImhhc19nYV9jb252ZXJzaW9uX2NvbnNlbnRzIl0sWzUyLCJ2IiwiaGl0X3R5cGUiXSxbNTIsInciLCJoaXRfdHlwZV9vdmVycmlkZSJdLFs1MiwieCIsImlnbm9yZV9kdXBlX2NvbmZpZyJdLFs1MiwieSIsImlzX2NvbnZlcnNpb24iXSxbNTIsInoiLCJpc19leHRlcm5hbF9ldmVudCJdLFs1MiwiYUEiLCJpc19maXJzdF92aXNpdCJdLFs1MiwiYUIiLCJpc19maXJzdF92aXNpdF9jb252ZXJzaW9uIl0sWzUyLCJhQyIsImlzX2ZwbV9lbmNyeXB0aW9uIl0sWzUyLCJhRCIsImlzX2ZwbV9zcGxpdCJdLFs1MiwiYUUiLCJpc19nY3BfYnJvd3NlciJdLFs1MiwiYUYiLCJpc19nb29nbGVfbWVhc3VyZW1lbnRfYWxsb3dlZCJdLFs1MiwiYUciLCJpc19zZXJ2ZXJfc2lkZV9kZXN0aW5hdGlvbiJdLFs1MiwiYUgiLCJpc19zZXNzaW9uX3N0YXJ0Il0sWzUyLCJhSSIsImlzX3Nlc3Npb25fc3RhcnRfY29udmVyc2lvbiJdLFs1MiwiYUoiLCJpc19zZ3RtX2dhX2Fkc19jb252ZXJzaW9uX3N0dWR5X2NvbnRyb2xfZ3JvdXAiXSxbNTIsImFLIiwiaXNfc2d0bV9wcmVoaXQiXSxbNTIsImFMIiwiaXNfc3BsaXRfY29udmVyc2lvbiJdLFs1MiwiYU0iLCJpc19zeW4iXSxbNTIsImFOIiwiaXNfdGVzdF9ldmVudCJdLFs1MiwiYU8iLCJwcmVoaXRfZm9yX3JldHJ5Il0sWzUyLCJhUCIsInJlZGFjdF9hZHNfZGF0YSJdLFs1MiwiYVEiLCJyZWRhY3RfY2xpY2tfaWRzIl0sWzUyLCJhUiIsInNlbmRfY2NtX3BhcmFsbGVsX3BpbmciXSxbNTIsImFTIiwic2VuZF91c2VyX2RhdGFfaGl0Il0sWzUyLCJhVCIsInNwZWN1bGF0aXZlIl0sWzUyLCJhVSIsInN5bl9vcl9tb2QiXSxbNTIsImFWIiwidHJhbnNpZW50X2Vjc2lkIl0sWzUyLCJhVyIsInVzZXJfZGF0YSJdLFs1MiwiYVgiLCJ1c2VyX2RhdGFfZnJvbV9hdXRvbWF0aWMiXSxbNTIsImFZIiwidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciJdLFs1MiwiYVoiLCJ1c2VyX2RhdGFfZnJvbV9jb2RlIl0sWzUyLCJiQSIsInVzZXJfZGF0YV9mcm9tX21hbnVhbCJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJGIixbMTUsImQiXSwiTSIsWzE1LCJlIl0sIk4iLFsxNSwiZiJdLCJPIixbMTUsImciXSwiUCIsWzE1LCJoIl0sIlEiLFsxNSwiaSJdLCJTIixbMTUsImoiXSwiVCIsWzE1LCJrIl0sIloiLFsxNSwibCJdLCJBQSIsWzE1LCJtIl0sIkFCIixbMTUsIm4iXSwiQUMiLFsxNSwibyJdLCJBRCIsWzE1LCJwIl0sIkFKIixbMTUsInEiXSwiQUsiLFsxNSwiciJdLCJBTiIsWzE1LCJzIl0sIkFPIixbMTUsInQiXSwiQVAiLFsxNSwidSJdLCJBUSIsWzE1LCJ2Il0sIkFSIixbMTUsInciXSwiQVMiLFsxNSwieCJdLCJBViIsWzE1LCJ5Il0sIkFZIixbMTUsInoiXSwiQVoiLFsxNSwiYUEiXSwiQkEiLFsxNSwiYUIiXSwiQkMiLFsxNSwiYUMiXSwiQkQiLFsxNSwiYUQiXSwiQkUiLFsxNSwiYUUiXSwiQkYiLFsxNSwiYUYiXSwiQksiLFsxNSwiYUciXSwiQkwiLFsxNSwiYUgiXSwiQk0iLFsxNSwiYUkiXSwiQk4iLFsxNSwiYUoiXSwiQk8iLFsxNSwiYUsiXSwiQlEiLFsxNSwiYUwiXSwiQlIiLFsxNSwiYU0iXSwiQlMiLFsxNSwiYU4iXSwiQlkiLFsxNSwiYU8iXSwiQ0IiLFsxNSwiYVAiXSwiQ0MiLFsxNSwiYVEiXSwiQ0UiLFsxNSwiYVIiXSwiQ04iLFsxNSwiYVMiXSwiQ1EiLFsxNSwiYVQiXSwiQ1QiLFsxNSwiYVUiXSwiQ1UiLFsxNSwiYVYiXSwiQ1ciLFsxNSwiYVciXSwiQ1giLFsxNSwiYVgiXSwiQ1kiLFsxNSwiYVkiXSwiQ1oiLFsxNSwiYVoiXSwiREEiLFsxNSwiYkEiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsNDVdLFs1MiwiYyIsNDZdLFs1MiwiZCIsNDddLFs1MiwiZSIsMTc0XSxbNTIsImYiLDI3Nl0sWzM2LFs4LCJGIixbMTUsImIiXSwiRyIsWzE1LCJjIl0sIkgiLFsxNSwiZCJdLCJWIixbMTUsImUiXSwiQUQiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZWNUeXBlcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImZzcmMiXSxbNTIsImMiLCJmZWlkIl0sWzUyLCJkIiwiMCJdLFs1MiwiZSIsIjEiXSxbNTIsImYiLCIyIl0sWzUyLCJnIiwiMyJdLFs1MiwiaCIsIjQiXSxbMzYsWzgsIkIiLFsxNSwiYyJdLCJGIixbMTUsImciXSwiRCIsWzE1LCJlIl0sIkUiLFsxNSwiZiJdLCJDIixbMTUsImQiXSwiRyIsWzE1LCJoIl0sIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZmVhdHVyZXMiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDQyNV0sWzUyLCJjIiw0MzVdLFs1MiwiZCIsNDg4XSxbNTIsImUiLDQ4OV0sWzUyLCJmIiw0OThdLFs1MiwiZyIsNTAzXSxbNTIsImgiLDUwNF0sWzUyLCJpIiw1MDZdLFs1MiwiaiIsNTIzXSxbNTIsImsiLDUzMl0sWzUyLCJsIiw1NTNdLFs1MiwibSIsNTY4XSxbNTIsIm4iLDU3N10sWzUyLCJvIiw1ODFdLFs1MiwicCIsNTgzXSxbNTIsInEiLDU5Ml0sWzUyLCJyIiw1OTRdLFs1MiwicyIsNTk5XSxbMzYsWzgsIkFWIixbMTUsImsiXSwiQUQiLFsxNSwiZCJdLCJDSSIsWzE1LCJxIl0sIkJWIixbMTUsIm4iXSwiQk8iLFsxNSwibSJdLCJDSyIsWzE1LCJyIl0sIkNQIixbMTUsInMiXSwiQU0iLFsxNSwiZyJdLCJCWiIsWzE1LCJvIl0sIkFUIixbMTUsImoiXSwiQUUiLFsxNSwiZSJdLCJBTiIsWzE1LCJoIl0sIkwiLFsxNSwiYyJdLCJCQyIsWzE1LCJsIl0sIkFPIixbMTUsImkiXSwiQ0IiLFsxNSwicCJdLCJBSSIsWzE1LCJmIl0sIkkiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLCJjb29raWVfZGVwcmVjYXRpb25fbGFiZWwiXSxbNTIsImMiLCJwbGQiXSxbNTIsImQiLCJzaGFyZWRfdXNlcl9pZCJdLFs1MiwiZSIsInNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCJdLFs1MiwiZiIsInNoYXJlZF91c2VyX2lkX3NvdXJjZSJdLFszNixbOCwiQiIsWzE1LCJiIl0sIk4iLFsxNSwiYyJdLCJTIixbMTUsImQiXSwiVCIsWzE1LCJlIl0sIlUiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1TY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDFdLFs1MiwiYyIsMl0sWzUyLCJkIiwzXSxbNTIsImUiLDRdLFs1MiwiZiIsNV0sWzUyLCJnIiw2XSxbMzYsWzgsIkEiLFsxNSwiYiJdLCJGIixbMTUsImciXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9nb2xkRXZlbnRVc2FnZUlkIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwxXSxbNTIsImMiLDJdLFs1MiwiZCIsNV0sWzUyLCJlIiw2XSxbNTIsImYiLDddLFs1MiwiZyIsOF0sWzUyLCJoIiw5XSxbNTIsImkiLDExXSxbNTIsImoiLDE1XSxbNTIsImsiLDE2XSxbNTIsImwiLDIwXSxbNTIsIm0iLDIxXSxbNTIsIm4iLDIzXSxbNTIsIm8iLDI0XSxbNTIsInAiLDI3XSxbNTIsInEiLDQwXSxbNTIsInIiLDQxXSxbMzYsWzgsIk8iLFsxNSwiaiJdLCJXIixbMTUsIm4iXSwiUCIsWzE1LCJrIl0sIlgiLFsxNSwibyJdLCJLIixbMTUsImkiXSwiQSIsWzE1LCJiIl0sIlQiLFsxNSwibCJdLCJFIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkIiLFsxNSwiYyJdLCJIIixbMTUsImciXSwiQU4iLFsxNSwicSJdLCJJIixbMTUsImgiXSwiRyIsWzE1LCJmIl0sIlUiLFsxNSwibSJdLCJBTyIsWzE1LCJyIl0sIkFBIixbMTUsInAiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiYWVfYmxvY2tfZG93bmxvYWRzIl0sWzUyLCJjIiwiYWVfYmxvY2tfZm9ybSJdLFs1MiwiZCIsImFlX2Jsb2NrX2hpc3RvcnkiXSxbNTIsImUiLCJhZV9ibG9ja19vdXRib3VuZF9jbGljayJdLFs1MiwiZiIsImFlX2Jsb2NrX3Njcm9sbCJdLFs1MiwiZyIsImFlX2Jsb2NrX3ZpZGVvIl0sWzM2LFs4LCJBIixbMTUsImIiXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl0sIkYiLFsxNSwiZyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImIiLFs0NiwiZCIsImUiXSxbNTIsImYiLFsyLFszMCxbMTUsImQiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiZyJdLFszLCJnIiwwXSxbNjMsWzcsImciXSxbMjMsWzE1LCJnIl0sWzE3LFsxNSwiZiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiZyJdLFszLCJnIixbMCxbMTUsImciXSwxXV1dLFs0NixbNTMsWzUyLCJoIixbImUiLFsyLFsxNixbMTUsImYiXSxbMTUsImciXV0sInRyaW0iLFs3XV1dXSxbMjIsWzIxLFsxNSwiaCJdLFs0NF1dLFs0NixbNTMsWzM2LFsxNSwiaCJdXV1dXV1dXV1dLFs1MCwiYyIsWzQ2LCJkIiwiZSIsImYiXSxbNTIsImciLFs4LCJzZWFyY2hfdGVybSIsWzE1LCJkIl1dXSxbNTIsImgiLFsyLFszMCxbMTUsImUiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiaSJdLFszLCJpIiwwXSxbNjMsWzcsImkiXSxbMjMsWzE1LCJpIl0sWzE3LFsxNSwiaCJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiaSJdLFszLCJpIixbMCxbMTUsImkiXSwxXV1dLFs0NixbNTMsWzUyLCJqIixbMixbMTYsWzE1LCJoIl0sWzE1LCJpIl1dLCJ0cmltIixbN11dXSxbNTIsImsiLFsiZiIsWzE1LCJqIl1dXSxbMjIsWzIxLFsxNSwiayJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiZyJdLFswLCJxXyIsWzE1LCJqIl1dLFsxNSwiayJdXV1dXV1dXV0sWzM2LFsxNSwiZyJdXV0sWzM2LFs4LCJCIixbMTUsImMiXSwiQSIsWzE1LCJiIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9hY3Rpdml0aWVzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJiIixbNDYsImMiLCJkIl0sWzM2LFszOSxbMTUsImQiXSxbImQiLFsxNSwiYyJdXSxbMTUsImMiXV1dXSxbMzYsWzgsIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1EZXRlY3Rpb24iLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm8iLFs0Nl0sWzY4LCJ3IixbNTMsWzIyLFsxLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiQUkiXV1dLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiSSJdXV1dLFs0NixbNTMsWzM2LFs3XV1dXV0sWzUyLCJ3IixbImIiLFsxNyxbMTUsImciXSwiTiJdXV0sWzIyLFsibiIsWzE1LCJ3Il1dLFs0NixbNTMsWzM2LFsxNSwidyJdXV1dXSxbNTIsIngiLFs3XV0sWzIyLFsicCJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJBIl1dXV1dLFsyMixbInEiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiQiJdXV1dXSxbMjIsWyJyIl0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkYiXV1dXV0sWzIyLFsidSJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJEIl1dXV1dLFsyMixbInMiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiRSJdXV1dXSxbMjIsWyJ0Il0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkMiXV1dXV0sWzIyLFsibCJdLFs0NixbNTMsWyJmIixbMTcsWzE1LCJnIl0sIk4iXSxbMTUsIngiXSx0cnVlXV1dXSxbMzYsWzE1LCJ4Il1dXSxbNDZdXSxbMzYsWzddXV0sWzUwLCJwIixbNDZdLFs2OCwidyIsWzUzLFszNixbMjgsWzI4LFsiYyIsInNjcmlwdFtkYXRhLXJlcXVpcmVtb2R1bGVePVwibWFnZS9cIl0iXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJxIixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWyJtIiwiWVhOelpYUnpMbk54ZFdGeVpYTndZV05sTG1OdmJTOD0iXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjXj1cIi8vIixbMTUsInciXV0sIlwiXSJdXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJyIixbNDZdLFsyMixbMjgsWyJlIixbMTcsWzE1LCJoIl0sIkkiXV1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNjgsInciLFs1MyxbNTIsInciLFsibSIsImMyaHZjR2xtZVM1amIyMD0iXV0sWzUyLCJ4IixbIm0iLCJjMmh2Y0dsbWVXTmtiaTVqYjIwPSJdXSxbMjIsWzMwLFsyOCxbMTUsInciXV0sWzI4LFsxNSwieCJdXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLCJzY3JpcHRbc3JjKj1cImNkbi4iLFsxNSwidyJdXSwiXCJdLCJdLCJtZXRhW3Byb3BlcnR5PVwib2c6aW1hZ2VcIl1bY29udGVudCo9XCJjZG4uIl0sWzE1LCJ3Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cImNkbi4iXSxbMTUsInciXV0sIlwiXSwiXSwibGlua1tyZWw9XCJwcmVjb25uZWN0XCJdW2hyZWYqPVwiZm9udHMuIl0sWzE1LCJ4Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cIml0ZXJhYmxlLXNob3BpZnlcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cInYuIl0sWzE1LCJ3Il1dLCJcIl0iXV1dXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwicyIsWzQ2XSxbNjgsInciLFs1MyxbNTIsInciLFsiZCIsInByb3RvY29sIl1dLFs1MiwieCIsWyJkIiwiaG9zdCJdXSxbNTIsInkiLFszOSxbMSxbMTUsInciXSxbMTUsIngiXV0sWzAsWzAsWzAsWzAsIltzcmNePVwiIixbMTUsInciXV0sIjovLyJdLFsxNSwieCJdXSwiL3dwLWNvbnRlbnRcIl0sIl0sIiJdXSxbNTIsInoiLFsibSIsIkxuZHZjbVJ3Y21WemN5NWpiMjA9Il1dLFs1MiwiYUEiLFsibSIsIkx5OXpMbmN1YjNKbiJdXSxbMjIsWzMwLFsyOCxbMTUsInoiXV0sWzI4LFsxNSwiYUEiXV1dLFs0NixbMzYsZmFsc2VdXV0sWzM2LFszMCxbInYiLFsxNSwieCJdLFsxNSwieiJdXSxbMjgsWzI4LFsiYyIsWzAsWzAsWzAsWzAsWzE1LCJ5Il0sIm1ldGFbbmFtZT1cImdlbmVyYXRvclwiXVtjb250ZW50Xj1cIldvcmRQcmVzcyBcIl0sIl0sImxpbmtbcmVsPVwiZG5zLXByZWZldGNoXCJdW2hyZWY9XCIiXSxbMTUsImFBIl1dLCJcIl0iXV1dXV1dXSxbNDZdXSxbMzYsZmFsc2VdXSxbNTAsInQiLFs0Nl0sWzY4LCJ3IixbNTMsWzUyLCJ3IixbMjgsWzI4LFsiYyIsWzAsIltjbGFzcyo9XCJ3b29jb21tZXJjZVwiXSwiLCJtZXRhW25hbWU9XCJnZW5lcmF0b3JcIl1bY29udGVudF49XCJXb29Db21tZXJjZSBcIl0iXV1dXV0sWzIyLFsxNSwidyJdLFs0NixbNTNdXV0sWzM2LFsxNSwidyJdXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJ1IixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjKj1cIndvb2NvbW1lcmNlXCJdLCIsImxpbmtbaHJlZio9XCJ3b29jb21tZXJjZVwiXSwiXSwiW2NsYXNzfD1cIndvb2NvbW1lcmNlXCJdIl1dXV1dLFsyMixbMTUsInciXSxbNDYsWzUzXV1dLFszNixbMTUsInciXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwidiIsWzQ2LCJ3IiwieCJdLFszNixbMSxbMTksWzE3LFsxNSwidyJdLCJsZW5ndGgiXSxbMTcsWzE1LCJ4Il0sImxlbmd0aCJdXSxbMjAsWzIsWzE1LCJ3Il0sInN1YnN0cmluZyIsWzcsWzM3LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sWzE3LFsxNSwieCJdLCJsZW5ndGgiXV0sWzE3LFsxNSwidyJdLCJsZW5ndGgiXV1dLFsxNSwieCJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciJdXSxbNTIsImQiLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRJbkNyb3NzQ29udGFpbmVyRGF0YSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9mZWF0dXJlRmxhZ3MiXV0sWzUyLCJqIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtU2NoZW1hIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImwiLFsicmVxdWlyZSIsImludGVybmFsLmlzRG9tUmVhZHkiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJmcm9tQmFzZTY0Il1dLFs1MiwibiIsWzUxLCIiLFs3LCJ3Il0sWzM2LFsyMCxbImsiLFsxNSwidyJdXSwiYXJyYXkiXV1dXSxbMzYsWzgsIkEiLFsxNSwibyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Eb3dubG9hZEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfdXJsIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJsaW5rX3RleHQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImZpbGVfbmFtZSIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywiZmlsZV9leHRlbnNpb24iLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiQSJdXSxbNTIsImciLCJmaWxlX2Rvd25sb2FkIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImUiLFs0NiwiZyJdLFs1MiwiaCIsWyJiIl1dLFs1MiwiaSIsWzddXSxbNTMsWzQxLCJqIl0sWzMsImoiLDBdLFs2MyxbNywiaiJdLFsyMyxbMTUsImoiXSxbMTcsWzE1LCJoIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJqIl0sWzMsImoiLFswLFsxNSwiaiJdLDFdXV0sWzQ2LFs1MyxbNTIsImsiLFsxNixbMTUsImgiXSxbMTUsImoiXV1dLFsyMixbImQiLFsxNSwiZyJdLFsxNSwiayJdXSxbNDYsWzUzLFsyLFsxNSwiaSJdLCJwdXNoIixbNyxbMTUsImsiXV1dXV1dXV1dXSxbMzYsWzE1LCJpIl1dXSxbNTAsImYiLFs0NiwiZyIsImgiXSxbNTIsImkiLFszMCxbMTUsImgiXSxbOF1dXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJUIl0sdHJ1ZV0sWzQzLFsxNSwiaSJdLFsxNyxbMTUsImMiXSwiQ1EiXSx0cnVlXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJaIl0sImEiXSxbNDMsWzE1LCJnIl0sImV2ZW50TWV0YWRhdGEiLFsxNSwiaSJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5jbGFpbURlc3RpbmF0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJlIl0sIkIiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Gb3JtQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm4iLFs0NiwibyIsInAiLCJxIl0sWzUyLCJyIixbMjAsWzIsWzE1LCJvIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dLFsyMixbMjAsWzE1LCJwIl0sWzQ0XV0sWzQ2LFs1MyxbMywicCIsWzE1LCJyIl1dXV1dLFsiYyIsWzE1LCJvIl0sWzUxLCIiLFs3LCJzIl0sWzUyLCJ0IixbMixbMTUsInMiXSwiZ2V0RXZlbnROYW1lIixbN11dXSxbNTIsInUiLFszMCxbMjAsWzE1LCJ0Il0sWzE1LCJsIl1dLFsyMCxbMTUsInQiXSxbMTUsImsiXV1dXSxbMjIsWzMwLFsyOCxbMTUsInUiXV0sWzI4LFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsIm8iXSxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzEsWzI4LFsxNSwicCJdXSxbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQUoiXV1dXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFs1MiwidiIsWzIsWzE1LCJzIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIkFBIl1dXV0sWzIyLFsxLFsyOCxbMTUsInIiXV0sWzIwLFsxNSwidiJdLFsxNSwibSJdXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzI4LFsiaCIsWzE3LFsxNSwiaSJdLCJCWiJdXV0sWzQ2LFs1MyxbMjIsWzIwLFsxNSwidiJdLFsxNSwibSJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV0sWzQ2LFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJrIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlMiXSxbNDRdXV1dXV1dXV1dXSxbMixbMTUsInMiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMSxbMTUsInYiXSxbMTUsInIiXV0sWzQ2LFs1MyxbNDEsInciXSxbMywidyIsWzE3LFsxNSwiZyJdLCJDIl1dLFs0MSwieCJdLFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJsIl1dLFs0NixbNTMsWzMsInciLFsxNyxbMTUsImciXSwiRCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidiJdLFsxNSwiayJdXSxbNDYsWzUzLFszLCJ3IixbMTcsWzE1LCJnIl0sIkUiXV0sWzMsIngiLFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJTIl1dXV1dXSxbNDYsWzIyLFsyMCxbMTUsInYiXSxbMTUsIm0iXV0sWzQ2LFs1MyxbMywidyIsWzE3LFsxNSwiZyJdLCJGIl1dLFszLCJ4IixbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiUyJdXV1dXV1dXV1dXSxbNTIsInkiLFs4XV0sWzQzLFsxNSwieSJdLFsxNyxbMTUsImciXSwiQSJdLFsxNSwidyJdXSxbMjIsWzE1LCJ4Il0sWzQ2LFs1MyxbNDMsWzE1LCJ5Il0sWzE3LFsxNSwiZyJdLCJCIl0sWzE1LCJ4Il1dXV1dLFsyLFsxNSwicyJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImYiXSwiRlQiXSxbMTUsInkiXV1dXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX2lkIixbNDRdXV0sWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fZGVzdGluYXRpb24iLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fbGVuZ3RoIixbNDRdXV0sWzIyLFsyMCxbMTUsInQiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fc3VibWl0X3RleHQiLFs0NF1dXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLFsxNSwibCJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJzZXRIaXREYXRhIixbNywiZmlyc3RfZmllbGRfaWQiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3R5cGUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3Bvc2l0aW9uIixbNDRdXV1dXV1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfZWNUeXBlcyJdXSxbNTIsImgiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJpIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaiIsWzE3LFsxNSwiZSJdLCJCIl1dLFs1MiwiayIsImZvcm1fc3VibWl0Il0sWzUyLCJsIiwiZm9ybV9zdGFydCJdLFs1MiwibSIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsIm4iXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtT3V0Ym91bmRDbGlja0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfY2xhc3NlcyIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywibGlua191cmwiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfZG9tYWluIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJvdXRib3VuZCIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJEIl1dLFs1MiwiZyIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtUGFnZVZpZXdBY3Rpdml0eSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJrIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsImwiXSxbMjIsWzMwLFsyMSxbMixbMTUsImwiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiaSJdXSxbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiaCJdXSxbNDYsWzUzLFsyLFsxNSwibCJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyMixbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIkJPIl1dXV0sWzQ2LFs1MyxbImQiLFsxNSwiayJdLFsxNyxbMTUsImYiXSwiSEUiXSxbMixbMTUsImwiXSwiZ2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZiJdLCJIRSJdXV1dXV1dLFsyLFsxNSwibCJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJDUSJdLGZhbHNlXV1dXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2V0UmVtb3RlQ29uZmlnUGFyYW1ldGVyIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkMiXV0sWzUyLCJpIixbMTcsWzE1LCJmIl0sIkFLIl1dLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9jY2RFbVNjcm9sbEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsInBlcmNlbnRfc2Nyb2xsZWQiLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbMzYsWzgsIkEiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1WaWRlb0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJqIixbNDYsImsiLCJsIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsIm0iXSxbNTIsIm4iLFsyLFsxNSwibSJdLCJnZXRFdmVudE5hbWUiLFs3XV1dLFs1MiwibyIsWzMwLFszMCxbMjAsWzE1LCJuIl0sWzE1LCJnIl1dLFsyMCxbMTUsIm4iXSxbMTUsImgiXV1dLFsyMCxbMTUsIm4iXSxbMTUsImkiXV1dXSxbMjIsWzMwLFsyOCxbMTUsIm8iXV0sWzI4LFsyLFsxNSwibSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsImsiXSxbMTUsImYiXV0sWzQ2LFs1MyxbMixbMTUsIm0iXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMixbMTUsIm0iXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMjgsWzE1LCJsIl1dLFs0NixbNTMsWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19jdXJyZW50X3RpbWUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX2R1cmF0aW9uIixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wZXJjZW50IixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wcm92aWRlciIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlkZW9fdGl0bGUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX3VybCIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlzaWJsZSIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJGIl1dLFs1MiwiZyIsInZpZGVvX3N0YXJ0Il0sWzUyLCJoIiwidmlkZW9fcHJvZ3Jlc3MiXSxbNTIsImkiLCJ2aWRlb19jb21wbGV0ZSJdLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiZiIsWzQ2LCJnIl0sWzIyLFsyLFsxNSwiZyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJCUyJdXV0sWzQ2LFs1MyxbMixbMTUsImciXSwic2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJJUCJdLCIxIl1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9ndGFnU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbMzYsWzgsIkEiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJtIiwibiIsIm8iXSxbNTAsInQiLFs0NiwidiJdLFs1MiwidyIsWzE2LFsxNSwiaSJdLFsxNSwidiJdXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNl1dXSxbNTMsWzQxLCJ4Il0sWzMsIngiLDBdLFs2MyxbNywieCJdLFsyMyxbMTUsIngiXSxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdXSxbMzMsWzE1LCJ4Il0sWzMsIngiLFswLFsxNSwieCJdLDFdXV0sWzQ2LFs1MyxbNTIsInkiLFsxNixbMTUsInciXSxbMTUsIngiXV1dLFsicSIsWzE1LCJwIl0sWzE3LFsxNSwieSJdLCJuYW1lIl0sWzE3LFsxNSwieSJdLCJ2YWx1ZSJdXV1dXV1dLFs1MCwidSIsWzQ2LCJ2Il0sWzIyLFszMCxbMjgsWzE1LCJyIl1dLFsyMSxbMTcsWzE1LCJyIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFszNixmYWxzZV1dXV0sWzQxLCJ3Il0sWzMsInciLFsxNixbMTUsInYiXSxbMTUsInMiXV1dLFsyMixbMjAsWzE1LCJ3Il0sWzQ0XV0sWzQ2LFs1MyxbMywidyIsWzE2LFsxNSwidiJdLFsxNSwiciJdXV1dXV0sWzM2LFsyOCxbMjgsWzE1LCJ3Il1dXV1dLFsyMixbMjgsWzE1LCJuIl1dLFs0NixbMzZdXV0sWzUyLCJwIixbMzAsWzE3LFsxNSwibSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXSxbMTcsWyJjIl0sImNvbnRhaW5lcklkIl1dXSxbNTIsInEiLFsiaCIsWzE1LCJmIl0sWzE1LCJvIl1dXSxbNTIsInIiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbImgiLFsxNSwiZCJdLFsxNSwibyJdXV0sWyIkMCJdXV0sWzUyLCJzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWyJoIixbMTUsImUiXSxbMTUsIm8iXV1dLFsiJDAiXV1dLFs1MyxbNDEsInYiXSxbMywidiIsMF0sWzYzLFs3LCJ2Il0sWzIzLFsxNSwidiJdLFsxNyxbMTUsIm4iXSwibGVuZ3RoIl1dLFszMyxbMTUsInYiXSxbMywidiIsWzAsWzE1LCJ2Il0sMV1dXSxbNDYsWzUzLFs1MiwidyIsWzE2LFsxNSwibiJdLFsxNSwidiJdXV0sWzIyLFszMCxbMTcsWzE1LCJ3Il0sImRpc2FsbG93QWxsUmVnaW9ucyJdLFsidSIsWzE3LFsxNSwidyJdLCJkaXNhbGxvd2VkUmVnaW9ucyJdXV0sWzQ2LFs1MyxbInQiLFsxNyxbMTUsInciXSwicmVkYWN0RmllbGRHcm91cCJdXV1dXV1dXV1dLFs1MCwiayIsWzQ2LCJtIl0sWzUyLCJuIixbOF1dLFsyMixbMjgsWzE1LCJtIl1dLFs0NixbMzYsWzE1LCJuIl1dXV0sWzUyLCJvIixbMixbMTUsIm0iXSwic3BsaXQiLFs3LCIsIl1dXSxbNTMsWzQxLCJwIl0sWzMsInAiLDBdLFs2MyxbNywicCJdLFsyMyxbMTUsInAiXSxbMTcsWzE1LCJvIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJwIl0sWzMsInAiLFswLFsxNSwicCJdLDFdXV0sWzQ2LFs1MyxbNTIsInEiLFsyLFsxNixbMTUsIm8iXSxbMTUsInAiXV0sInRyaW0iLFs3XV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNl1dXSxbNTIsInIiLFsyLFsxNSwicSJdLCJzcGxpdCIsWzcsIi0iXV1dLFs1MiwicyIsWzE2LFsxNSwiciJdLDBdXSxbNTIsInQiLFszOSxbMjAsWzE3LFsxNSwiciJdLCJsZW5ndGgiXSwyXSxbMTUsInEiXSxbNDRdXV0sWzIyLFszMCxbMjgsWzE1LCJzIl1dLFsyMSxbMTcsWzE1LCJzIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFs2XV1dXSxbMjIsWzEsWzIxLFsxNSwidCJdLFs0NF1dLFszMCxbMjMsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw0XSxbMTgsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw2XV1dLFs0NixbNTMsWzZdXV1dLFs0MyxbMTUsIm4iXSxbMTUsInEiXSx0cnVlXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJsIixbNDYsIm0iXSxbMjIsWzI4LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdXSxbNDYsWzM2LFs3XV1dXSxbNTIsIm4iLFs4XV0sWzUzLFs0MSwibyJdLFszLCJvIiwwXSxbNjMsWzcsIm8iXSxbMjMsWzE1LCJvIl0sWzE3LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdLCJsZW5ndGgiXV0sWzMzLFsxNSwibyJdLFszLCJvIixbMCxbMTUsIm8iXSwxXV1dLFs0NixbNTMsWzUyLCJwIixbMTYsWzE3LFsxNSwibSJdLCJzZXR0aW5nc1RhYmxlIl0sWzE1LCJvIl1dXSxbNTIsInEiLFsxNyxbMTUsInAiXSwicmVkYWN0RmllbGRHcm91cCJdXSxbMjIsWzI4LFsxNixbMTUsImkiXSxbMTUsInEiXV1dLFs0NixbNl1dXSxbNDMsWzE1LCJuIl0sWzE1LCJxIl0sWzgsInJlZGFjdEZpZWxkR3JvdXAiLFsxNSwicSJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiLGZhbHNlLCJkaXNhbGxvd2VkUmVnaW9ucyIsWzhdXV0sWzUyLCJyIixbMTYsWzE1LCJuIl0sWzE1LCJxIl1dXSxbMjIsWzE3LFsxNSwicCJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiXSxbNDYsWzUzLFs0MyxbMTUsInIiXSwiZGlzYWxsb3dBbGxSZWdpb25zIix0cnVlXSxbNl1dXV0sWzQzLFsxNSwiciJdLCJkaXNhbGxvd2VkUmVnaW9ucyIsWyJrIixbMTcsWzE1LCJwIl0sImRpc2FsbG93ZWRSZWdpb25zIl1dXV1dXV0sWzM2LFsyLFsxNSwiYiJdLCJ2YWx1ZXMiLFs3LFsxNSwibiJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImdldENvbnRhaW5lclZlcnNpb24iXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRDb3VudHJ5Q29kZSJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlZ2lvbkNvZGUiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2FjdGl2aXRpZXMiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkEiXV0sWzUyLCJpIixbOCwiR09PR0xFX1NJR05BTFMiLFs3LFs4LCJuYW1lIiwiYWxsb3dfZ29vZ2xlX3NpZ25hbHMiLCJ2YWx1ZSIsZmFsc2VdXSwiREVWSUNFX0FORF9HRU8iLFs3LFs4LCJuYW1lIiwiZ2VvX2dyYW51bGFyaXR5IiwidmFsdWUiLHRydWVdLFs4LCJuYW1lIiwicmVkYWN0X2RldmljZV9pbmZvIiwidmFsdWUiLHRydWVdXV1dLFszNixbOCwiQSIsWzE1LCJqIl0sIkIiLFsxNSwibCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJkIixbNDYsImUiXSxbNTIsImYiLFsyLFsxNSwiYyJdLCJBIixbN11dXSxbMjIsWzEsWzE1LCJmIl0sWzE4LFsxNyxbMTUsImYiXSwibGVuZ3RoIl0sMF1dLFs0NixbNTMsWzIsWzE1LCJlIl0sIm1lcmdlSGl0RGF0YUZvcktleSIsWzcsWzE3LFsxNSwiYiJdLCJGVCJdLFs4LCJwbGYiLFsyLFsxNSwiZiJdLCJqb2luIixbNywiLiJdXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2d0YWdTY2hlbWEiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtRGV0ZWN0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJkIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAKXQosImVudGl0aWVzIjp7CiJfX2MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfYXV0b19yZWRhY3QiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Zvcm0iOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fcGFnZV92aWV3Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX3Njcm9sbCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV92aWRlbyI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9maXJzdCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9sYXN0Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2dhX3JlZ3Njb3BlIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fZSI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2djdCI6eyI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX29ndF8xcF9kYXRhX3YyIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fc2V0X3Byb2R1Y3Rfc2V0dGluZ3MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KCgp9CiwiYmxvYiI6eyIxIjoiMSIsIjEwIjoiRy1WODRYUDhXR1hZfEdULVROR1hSNlE4IiwiMTEiOnRydWUsIjE0IjoiNjdtMCIsIjE1IjoiMCIsIjE2IjoiQ2hBSThPQ1cwd1lRcjVEZ2tKK2U4YU45RWgwQWgrZ0dmdmQrM09Bdi8wOU42aFdpc0VIZFJFZUxIb2hGaFNIU1hCb0NaSmM9IiwiMTciOiIiLCIxOSI6ImRhdGFMYXllciIsIjIiOnRydWUsIjIwIjoiIiwiMjEiOiJ3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20iLCIyMiI6ImV5SXdJam9pVGs4aUxDSXhJam9pVGs4dE1ETWlMQ0l5SWpwbVlXeHpaU3dpTXlJNkltZHZiMmRzWlM1dWJ5SXNJalFpT2lKeVpXZHBiMjR4SWl3aU5TSTZabUZzYzJVc0lqWWlPblJ5ZFdVc0lqY2lPaUpoWkY5emRHOXlZV2RsZkdGdVlXeDVkR2xqYzE5emRHOXlZV2RsZkdGa1gzVnpaWEpmWkdGMFlYeGhaRjl3WlhKemIyNWhiR2w2WVhScGIyNGlMQ0k1SWpwMGNuVmxmUSIsIjIzIjoiZ29vZ2xlLnRhZ21hbmFnZXIuZGVidWd1aTIucXVldWUiLCIyNCI6InRhZ2Fzc2lzdGFudC5nb29nbGUuY29tIiwiMjciOjAuMDA1LCIzIjoid3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIiwiMzAiOiJOTyIsIjMxIjoiTk8tMDMiLCIzMiI6ZmFsc2UsIjMzIjoicmVnaW9uMSIsIjM0IjoiRy1WODRYUDhXR1hZIiwiMzUiOiJHIiwiMzYiOiJodHRwczovL2Fkc2VydmljZS5nb29nbGUuY29tL3BhZ2VhZC9yZWdjbGsiLCIzNyI6Il9fVEFHR1lfSU5TVEFMTEVEIiwiMzgiOiJjY3QuZ29vZ2xlIiwiMzkiOiJnb29nVGFnZ3lSZWZlcnJlciIsIjQwIjoiaHR0cHM6Ly9jY3QuZ29vZ2xlL3RhZ2d5L2FnZW50LmpzIiwiNDEiOiJnb29nbGUudGFnbWFuYWdlci50YS5wcm9kcXVldWUiLCI0MiI6MC4wMSwiNDMiOiJ7XCJrZXlzXCI6W3tcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCS2x5VFgyanlvYnBRQ21mVXlCYmhCeVFIazlaMkhkTjVsSHhwQkF0SUtHTWNtencwZ0UrZWJsWUNtbTFHYTdiWWVUZHlkb0ptZTZJcGFTb0NVMElVVW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiZGVlNGIzNTEtYjBmNS00YzI3LWE4YzgtZWQ2NjA0NzdhNDRjXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRHRZQlJuUEJTMWc2bWVYTzFyUTVhNTJCNUZibmg3REM1anF2MDJpeEpzc24wazFKOXJjSENhVmMvenpSc25zSEJ6U29GS3M2SjhwSDdDY25RUDNFanc9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiYWQxOTNiMmEtNGE5MC00YzFhLWI3OWUtZGUzN2FjMzkxYmQyXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCTVowVU11ZEFlNFBvYWZTVHBVeFB0SWtmQmVDTWJGQlh2dHlSWXZITENTUS9FVXZFSnNtc1Y0dDZOQi9CRVZwcUwzSHY4Z05TUWg3SytTVW9vZjI1YW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDhjNGVmZTEtZmRkMC00MzZhLWFjOGYtOTIzZjExOTE4Nzg3XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRmZsdlVsK3hwSGFGVkNJWU8xS1BMeGt2K0FqZGw0ZDhydnJYaEk2emZwbmJCRHFJNTFERGt0SEhiM1pXSVM1N29EaDBLaXI5QXVDT29uMk1PeE5WOVk9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDMyYmMyNzAtOTllYS00MjIwLWI1NjItZTJjNWFlNzdkNGQ5XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCQVE4VGt5NERMV09KYkhPSGJWWURiUVpFZkVlbGI0RlRCOEVZTVFlUlFpTDFtMUx0QWQwcjN6ZXlMamdaMy9XMjRSOFZmYjIyelkyaXg2Vy9UZkNqakE9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiMDUwYTZlMTEtMzhhYi00ZjgwLTg5Y2ItN2IzMTliOTcwNGMwXCJ9XX0iLCI0NCI6IjExODg5NzkyMH4xMTg4OTc5MzAiLCI0NSI6dHJ1ZSwiNDYiOnsiMSI6IjEwMDAiLCIxMCI6IjY2dTAiLCIxMSI6IjY2ZzAiLCIxNCI6IjEwMDAiLCIxNiI6IlVTLUNPflVTLUNUflVTLU1UflVTLU5FflVTLU5IflVTLVRYflVTLU1OflVTLU5KflVTLU1EflVTLU9SflVTLURFIiwiMTciOiJVUy1DT35VUy1DVH5VUy1NVH5VUy1ORX5VUy1OSH5VUy1UWH5VUy1NTn5VUy1OSn5VUy1NRH5VUy1PUn5VUy1ERSIsIjIiOiI5IiwiMjAiOiI1MDAwIiwiMjEiOiI1MDAwIiwiMjIiOiI0LjQuMCIsIjIzIjoiMC4wLjAiLCIyNSI6IjEiLCIyNiI6IjQwMDAiLCIyNyI6IjEwMCIsIjMiOiI1IiwiNCI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhfGFkX3BlcnNvbmFsaXphdGlvbiIsIjQ0IjoiMTUwMDAiLCI0OCI6IjMwMDAwIiwiNSI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhIiwiNiI6IjEiLCI2MSI6IjEwMDAiLCI2MiI6IkE2T05IUlk3L2J2QnJvK0lNWmQvYTZMTmpuN1NTdjk5OVNrTi9oRkFFOUw2dk1yMzRkTmdmZFNWZFltdjRVK05IWmcxc3hkMzhSdGNpUnBSVXRJUlBnUUFBQUNDZXlKdmNtbG5hVzRpT2lKb2RIUndjem92TDNkM2R5NW5iMjluYkdWMFlXZHRZVzVoWjJWeUxtTnZiVG8wTkRNaUxDSm1aV0YwZFhKbElqb2lVMmhoY21Wa1YyOXlhMlZ5UlhoMFpXNWtaV1JNYVdabGRHbHRaU0lzSW1WNGNHbHllU0k2TVRjM05qY3lPVFl3TUN3aWFYTlVhR2x5WkZCaGNuUjVJanAwY25WbGZRPT0iLCI2MyI6IjEwMDAiLCI2NiI6IjEwMCIsIjciOiIxMCJ9LCI0OCI6dHJ1ZSwiNSI6IkctVjg0WFA4V0dYWSIsIjU1IjpbIkctVjg0WFA4V0dYWSJdLCI1NiI6W3siMSI6NDAzLCIzIjowLjUsIjQiOjExNTkzODQ2NSwiNSI6MTE1OTM4NDY2LCI2IjowLCI3IjoyfSx7IjEiOjQwNCwiMyI6MC41LCI0IjoxMTU5Mzg0NjgsIjUiOjExNTkzODQ2OSwiNiI6MCwiNyI6MX0seyIxIjo2MDIsIjMiOjAuMDEsIjQiOjEyMDEyNDQ1NSwiNSI6MTIwMTI0NDUzLCI2IjoxMjAxMjQ0NTQsIjciOjN9LHsiMSI6NTY5LCIyIjp0cnVlfSx7IjEiOjQ3NSwiMiI6dHJ1ZX0seyIxIjo1MDIsIjIiOnRydWV9LHsiMSI6NTc3LCIyIjp0cnVlfSx7IjEiOjU2OCwiMyI6MC4wMSwiNCI6MTE5NzkxNzQ5LCI1IjoxMTk3OTE3NDgsIjYiOjAsIjciOjF9LHsiMSI6NDkwLCIyIjp0cnVlfSx7IjEiOjQ5MSwiMyI6MC4wMSwiNCI6MTE4MDEyMDA3LCI1IjoxMTgwMTIwMDgsIjYiOjExODAxMjAwOSwiNyI6MX0seyIxIjo0ODAsIjIiOnRydWV9LHsiMSI6NTk0LCIzIjowLjAxLCI0IjoxMTk3OTM5NzQsIjUiOjExOTc5Mzk3MiwiNiI6MTE5NzkzOTczLCI3IjoxfSx7IjEiOjU5OSwiMiI6dHJ1ZX0seyIxIjo1ODAsIjMiOjAuMSwiNCI6MTE5NTI3MDIwLCI1IjoxMTk1MjcwMTksIjYiOjAsIjciOjF9LHsiMSI6NTIzLCIyIjp0cnVlfSx7IjEiOjU4MSwiMyI6MC4wMSwiNCI6MTE5OTQ4ODU0LCI1IjoxMTk5NDg4NTIsIjYiOjExOTk0ODg1MywiNyI6M30seyIxIjo1NTUsIjMiOjAuMDEsIjQiOjExOTI1OTYwNiwiNSI6MTE5MjU5NjA1LCI2IjowLCI3IjoyfSx7IjEiOjUwNCwiMiI6dHJ1ZX0seyIxIjo0NjIsIjMiOjAuMDUsIjQiOjExODgwNjUyNCwiNSI6MTE4ODA2NTI1LCI2IjoxMTg4MDY1MjYsIjciOjF9LHsiMSI6NDEzLCIyIjp0cnVlfSx7IjEiOjU5MywiMiI6dHJ1ZX0seyIxIjo1MDYsIjIiOnRydWV9LHsiMSI6NTAwLCIyIjp0cnVlfSx7IjEiOjU2MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMywiNSI6MTE5NDA0NzAyLCI2IjowLCI3IjoxfSx7IjEiOjQ4MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMSwiNSI6MTE5NDA0NzAwLCI2IjowLCI3IjoxfSx7IjEiOjQ1MCwiMyI6MC4wMSwiNCI6MTE3MjI3NzE0LCI1IjoxMTcyMjc3MTUsIjYiOjExNzIyNzcxNiwiNyI6M30seyIxIjo1ODMsIjMiOjAuNSwiNCI6MTE5ODk2ODAzLCI1IjoxMTk4OTY4MDIsIjYiOjAsIjciOjF9LHsiMSI6NDU4LCIyIjp0cnVlfSx7IjEiOjU4MiwiMyI6MC4wMSwiNCI6MTE5MzgxNjY0LCI1IjoxMTkzODE2NjIsIjYiOjExOTM4MTY2MywiNyI6MX0seyIxIjo1NzAsIjIiOnRydWV9LHsiMSI6NDk4LCIzIjowLjIsIjQiOjExNTYxNjk4NSwiNSI6MTE1NjE2OTg2LCI2IjowLCI3IjoxfSx7IjEiOjU5NSwiMiI6dHJ1ZX0seyIxIjo1ODksIjMiOjAuMDEsIjQiOjEyMDA4NDIxNSwiNSI6MTIwMDg0MjE0LCI2IjowLCI3IjoxfSx7IjEiOjQ5NSwiMyI6MC4wNSwiNCI6MTE4MTMxODEwLCI1IjoxMTgxMzE4MDgsIjYiOjExODEzMTgwOSwiNyI6M30seyIxIjo1ODcsIjMiOjAuMSwiNCI6MTE5NzMyMTcxLCI1IjoxMTk3MzIxNzAsIjYiOjAsIjciOjN9LHsiMSI6NTg0LCIyIjp0cnVlfSx7IjEiOjU2NCwiMyI6MC4wMDAxLCI0IjoxMTkyMDUzMTcsIjUiOjExOTIwNTMxNSwiNiI6MTE5MjA1MzE2LCI3IjoxfSx7IjEiOjU1NywiMiI6dHJ1ZX0seyIxIjo0MjcsIjMiOjAuMSwiNCI6MTE5NzI0MzIyLCI1IjoxMTk3MjQzMjAsIjYiOjExOTcyNDMyMSwiNyI6Mn0seyIxIjo1NzYsIjMiOjAuMDEsIjQiOjExOTMxNzgxMCwiNSI6MTE5MzE3ODExLCI2IjoxMTkzMTgxNzcsIjciOjN9LHsiMSI6NTczLCIyIjp0cnVlfSx7IjEiOjQ5OSwiMiI6dHJ1ZX0seyIxIjo1MTYsIjMiOjAuMSwiNCI6MTE4Mzk1MzM1LCI1IjoxMTgzOTUzMzMsIjYiOjExODM5NTMzNCwiNyI6MX0seyIxIjo1MjQsIjIiOnRydWV9XSwiNTkiOlsiRy1WODRYUDhXR1hZIl0sIjYiOiIyNTAwOTM2MDIiLCI2MiI6dHJ1ZSwiNjMiOjAuMDA1fQosInBlcm1pc3Npb25zIjp7CiJfX2MiOnt9CiwKIl9fY2NkX2F1dG9fcmVkYWN0Ijp7fQosCiJfX2NjZF9jb252ZXJzaW9uX21hcmtpbmciOnt9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9mb3JtIjp7ImFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlIjp7fSwibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uZm9ybUludGVyYWN0IiwiZ3RtLmZvcm1TdWJtaXQiLCJndG0uY2xpY2stdjIiXX0sImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9LCJkZXRlY3RfY2xpY2tfZXZlbnRzIjp7fSwiZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sImxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9wYWdlX3ZpZXciOnsibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uaGlzdG9yeUNoYW5nZS12MiJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2Nyb2xsIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLnNjcm9sbERlcHRoIl19LCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSI6e30sImRldGVjdF9zY3JvbGxfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2l0ZV9zZWFyY2giOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sInJlYWRfY29udGFpbmVyX2RhdGEiOnt9fQosCiJfX2NjZF9lbV92aWRlbyI6eyJsaXN0ZW5fZGF0YV9sYXllciI6eyJhY2Nlc3NUeXBlIjoic3BlY2lmaWMiLCJhbGxvd2VkRXZlbnRzIjpbImd0bS52aWRlbyJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiOnsiYWxsb3dGaXhNaXNzaW5nSmF2YVNjcmlwdEFwaSI6ZmFsc2V9fQosCiJfX2NjZF9nYV9maXJzdCI6eyJyZWFkX2RvbV9lbGVtZW50cyI6eyJhbGxvd2VkQ3NzU2VsZWN0b3JzIjoiYW55In0sImdldF91cmwiOnsidXJsUGFydHMiOiJzcGVjaWZpYyIsInByb3RvY29sIjp0cnVlLCJob3N0Ijp0cnVlfX0KLAoiX19jY2RfZ2FfbGFzdCI6e30KLAoiX19jY2RfZ2FfcmVnc2NvcGUiOnsicmVhZF9jb250YWluZXJfZGF0YSI6e319CiwKIl9fZSI6eyJyZWFkX2V2ZW50X2RhdGEiOnsiZXZlbnREYXRhQWNjZXNzIjoic3BlY2lmaWMiLCJrZXlQYXR0ZXJucyI6WyJldmVudCJdfX0KLAoiX19nY3QiOnsiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9fQosCiJfX29ndF8xcF9kYXRhX3YyIjp7ImRldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEiOnsibGltaXREYXRhU291cmNlcyI6dHJ1ZSwiYWxsb3dBdXRvRGF0YVNvdXJjZXMiOnRydWUsImFsbG93TWFudWFsRGF0YVNvdXJjZXMiOmZhbHNlLCJhbGxvd0NvZGVEYXRhU291cmNlcyI6ZmFsc2V9fQosCiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIjp7fQoKCn0KCgoKLCJzZWN1cml0eV9ncm91cHMiOnsKImdvb2dsZSI6WwoiX19jIgosCiJfX2NjZF9hdXRvX3JlZGFjdCIKLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIgosCiJfX2NjZF9lbV9kb3dubG9hZCIKLAoiX19jY2RfZW1fZm9ybSIKLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siCiwKIl9fY2NkX2VtX3BhZ2VfdmlldyIKLAoiX19jY2RfZW1fc2Nyb2xsIgosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIKLAoiX19jY2RfZW1fdmlkZW8iCiwKIl9fY2NkX2dhX2ZpcnN0IgosCiJfX2NjZF9nYV9sYXN0IgosCiJfX2NjZF9nYV9yZWdzY29wZSIKLAoiX19lIgosCiJfX2djdCIKLAoiX19vZ3RfMXBfZGF0YV92MiIKLAoiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIKCl0KCgp9CgoKCgoKfTsKCgoKCnZhciBrLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfSxjYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkJiZkLk1hdGg9PU1hdGgpcmV0dXJuIGR9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTsKfSxoYT1jYSh0aGlzKSxpYT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgieCIpPT09InN5bWJvbCIsa2E9e30sbGE9e30sbmE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjfHxhIT1udWxsKXt2YXIgZD1sYVtiXTtpZihkPT1udWxsKXJldHVybiBhW2JdO3ZhciBlPWFbZF07cmV0dXJuIGUhPT12b2lkIDA/ZTphW2JdfX0sb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpYTp7dmFyIGQ9YS5zcGxpdCgiLiIpLGU9ZC5sZW5ndGg9PT0xLGY9ZFswXSxnOyFlJiZmIGluIGthP2c9a2E6Zz1oYTtmb3IodmFyIGg9MDtoPGQubGVuZ3RoLTE7aCsrKXt2YXIgbD1kW2hdO2lmKCEobCBpbiBnKSlicmVhayBhO2c9Z1tsXX12YXIgbj1kW2QubGVuZ3RoLTFdLHA9aWEmJmM9PT0iZXM2Ij9nW25dOm51bGwscT1iKHApO2lmKHEhPW51bGwpaWYoZSliYShrYSxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cX0pO2Vsc2UgaWYocSE9PXApe2lmKGxhW25dPT09dm9pZCAwKXt2YXIgcj0KTWF0aC5yYW5kb20oKSoxRTk+Pj4wO2xhW25dPWlhP2hhLlN5bWJvbChuKToiJGpzY3AkIityKyIkIitufWJhKGcsbGFbbl0se2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpxfSl9fX0scGE7aWYoaWEmJnR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpcGE9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIHJhO2E6e3ZhciB0YT17YTohMH0sdWE9e307dHJ5e3VhLl9fcHJvdG9fXz10YTtyYT11YS5hO2JyZWFrIGF9Y2F0Y2goYSl7fXJhPSExfXBhPXJhP2Z1bmN0aW9uKGEsYil7YS5fX3Byb3RvX189YjtpZihhLl9fcHJvdG9fXyE9PWIpdGhyb3cgbmV3IFR5cGVFcnJvcihhKyIgaXMgbm90IGV4dGVuc2libGUiKTtyZXR1cm4gYX06bnVsbH0KdmFyIHZhPXBhLHdhPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9YWEoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYodmEpdmEoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLkZ0PWIucHJvdG90eXBlfSx4YT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sbT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6eGEoYSl9Owp0aHJvdyBFcnJvcihTdHJpbmcoYSkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7fSx5YT1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTtyZXR1cm4gY30sdz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEFycmF5P2E6eWEobShhKSl9LEFhPWZ1bmN0aW9uKGEpe3JldHVybiB6YShhLGEpfSx6YT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9LEJhPWlhJiZ0eXBlb2YgbmEoT2JqZWN0LCJhc3NpZ24iKT09ImZ1bmN0aW9uIj9uYShPYmplY3QsImFzc2lnbiIpOmZ1bmN0aW9uKGEsYil7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJObyBudWxsaXNoIGFyZyIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTsKaWYoZClmb3IodmFyIGUgaW4gZClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxlKSYmKGFbZV09ZFtlXSl9cmV0dXJuIGF9O29hKCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8QmF9LCJlczYiKTt2YXIgQ2E9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgT2JqZWN0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJJdGVyYXRvciByZXN1bHQgIithKyIgaXMgbm90IGFuIG9iamVjdCIpO30sRGE9ZnVuY3Rpb24oKXt0aGlzLmZhPSExO3RoaXMuUj1udWxsO3RoaXMuamE9dm9pZCAwO3RoaXMuSD0xO3RoaXMuTj10aGlzLlo9MDt0aGlzLkxhPXRoaXMuSz1udWxsfSxFYT1mdW5jdGlvbihhKXtpZihhLmZhKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmciKTthLmZhPSEwfTtEYS5wcm90b3R5cGUueWE9ZnVuY3Rpb24oYSl7dGhpcy5qYT1hfTsKdmFyIEdhPWZ1bmN0aW9uKGEsYil7YS5LPXthbzpiLGlzRXhjZXB0aW9uOiEwfTthLkg9YS5afHxhLk59O0RhLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O0RhLnByb3RvdHlwZS5nZXRZaWVsZFJlc3VsdEpzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmphfTtEYS5wcm90b3R5cGUucmV0dXJuPWZ1bmN0aW9uKGEpe3RoaXMuSz17cmV0dXJuOmF9O3RoaXMuSD10aGlzLk59O0RhLnByb3RvdHlwZVsicmV0dXJuIl09RGEucHJvdG90eXBlLnJldHVybjtEYS5wcm90b3R5cGUuQWo9ZnVuY3Rpb24oYSl7dGhpcy5LPXtuZDphfTt0aGlzLkg9dGhpcy5OfTtEYS5wcm90b3R5cGUuanVtcFRocm91Z2hGaW5hbGx5QmxvY2tzPURhLnByb3RvdHlwZS5BajtEYS5wcm90b3R5cGUuYWM9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9YjtyZXR1cm57dmFsdWU6YX19O0RhLnByb3RvdHlwZS55aWVsZD1EYS5wcm90b3R5cGUuYWM7CkRhLnByb3RvdHlwZS54cz1mdW5jdGlvbihhLGIpe3ZhciBjPW0oYSksZD1jLm5leHQoKTtDYShkKTtpZihkLmRvbmUpdGhpcy5qYT1kLnZhbHVlLHRoaXMuSD1iO2Vsc2UgcmV0dXJuIHRoaXMuUj1jLHRoaXMuYWMoZC52YWx1ZSxiKX07RGEucHJvdG90eXBlLnlpZWxkQWxsPURhLnByb3RvdHlwZS54cztEYS5wcm90b3R5cGUubmQ9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O0RhLnByb3RvdHlwZS5qdW1wVG89RGEucHJvdG90eXBlLm5kO0RhLnByb3RvdHlwZS5Eaj1mdW5jdGlvbigpe3RoaXMuSD0wfTtEYS5wcm90b3R5cGUuanVtcFRvRW5kPURhLnByb3RvdHlwZS5EajtEYS5wcm90b3R5cGUuTmo9ZnVuY3Rpb24oYSxiKXt0aGlzLlo9YTtiIT12b2lkIDAmJih0aGlzLk49Yil9O0RhLnByb3RvdHlwZS5zZXRDYXRjaEZpbmFsbHlCbG9ja3M9RGEucHJvdG90eXBlLk5qO0RhLnByb3RvdHlwZS52Zz1mdW5jdGlvbihhKXt0aGlzLlo9MDt0aGlzLk49YXx8MH07CkRhLnByb3RvdHlwZS5zZXRGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLnZnO0RhLnByb3RvdHlwZS5Jaj1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuWj1ifHwwfTtEYS5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1EYS5wcm90b3R5cGUuSWo7RGEucHJvdG90eXBlLlBoPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfHwwO3ZhciBiPXRoaXMuSy5hbzt0aGlzLks9bnVsbDtyZXR1cm4gYn07RGEucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1EYS5wcm90b3R5cGUuUGg7RGEucHJvdG90eXBlLmtkPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuTGFbY109dGhpcy5LOnRoaXMuTGE9W3RoaXMuS107dGhpcy5aPWF8fDA7dGhpcy5OPWJ8fDB9O0RhLnByb3RvdHlwZS5lbnRlckZpbmFsbHlCbG9jaz1EYS5wcm90b3R5cGUua2Q7CkRhLnByb3RvdHlwZS5oZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTGEuc3BsaWNlKGJ8fDApWzBdLGQ9dGhpcy5LPXRoaXMuS3x8YztkP2QuaXNFeGNlcHRpb24/dGhpcy5IPXRoaXMuWnx8dGhpcy5OOmQubmQhPXZvaWQgMCYmdGhpcy5OPGQubmQ/KHRoaXMuSD1kLm5kLHRoaXMuSz1udWxsKTp0aGlzLkg9dGhpcy5OOnRoaXMuSD1hfTtEYS5wcm90b3R5cGUubGVhdmVGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLmhlO0RhLnByb3RvdHlwZS5mZT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEhhKGEpfTtEYS5wcm90b3R5cGUuZm9ySW49RGEucHJvdG90eXBlLmZlO3ZhciBIYT1mdW5jdGlvbihhKXt0aGlzLks9YTt0aGlzLkg9W107Zm9yKHZhciBiIGluIGEpdGhpcy5ILnB1c2goYik7dGhpcy5ILnJldmVyc2UoKX07SGEucHJvdG90eXBlLmhvPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLkgubGVuZ3RoPjA7KXt2YXIgYT10aGlzLkgucG9wKCk7aWYoYSBpbiB0aGlzLkspcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpIYS5wcm90b3R5cGUuZ2V0TmV4dD1IYS5wcm90b3R5cGUuaG87CnZhciBJYT1mdW5jdGlvbihhKXt0aGlzLkg9bmV3IERhO3RoaXMuSz1hfSxMYT1mdW5jdGlvbihhLGIpe0VhKGEuSCk7dmFyIGM9YS5ILlI7aWYoYylyZXR1cm4gSmEoYSwicmV0dXJuImluIGM/Y1sicmV0dXJuIl06ZnVuY3Rpb24oZCl7cmV0dXJue3ZhbHVlOmQsZG9uZTohMH19LGIsYS5ILnJldHVybik7YS5ILnJldHVybihiKTtyZXR1cm4gS2EoYSl9LEphPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXt2YXIgZT1iLmNhbGwoYS5ILlIsYyk7Q2EoZSk7aWYoIWUuZG9uZSlyZXR1cm4gYS5ILmZhPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5ILlI9bnVsbCxHYShhLkgsZyksS2EoYSl9YS5ILlI9bnVsbDtkLmNhbGwoYS5ILGYpO3JldHVybiBLYShhKX0sS2E9ZnVuY3Rpb24oYSl7Zm9yKDthLkguSDspdHJ5e3ZhciBiPWEuSyhhLkgpO2lmKGIpcmV0dXJuIGEuSC5mYT0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChkKXthLkguamE9dm9pZCAwLEdhKGEuSCwKZCl9YS5ILmZhPSExO2lmKGEuSC5LKXt2YXIgYz1hLkguSzthLkguSz1udWxsO2lmKGMuaXNFeGNlcHRpb24pdGhyb3cgYy5hbztyZXR1cm57dmFsdWU6Yy5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX0sTWE9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe3ZhciBjO0VhKGEuSCk7YS5ILlI/Yz1KYShhLGEuSC5SLm5leHQsYixhLkgueWEpOihhLkgueWEoYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMudGhyb3c9ZnVuY3Rpb24oYil7dmFyIGM7RWEoYS5IKTthLkguUj9jPUphKGEsYS5ILlJbInRocm93Il0sYixhLkgueWEpOihHYShhLkgsYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBMYShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LE5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1hKG5ldyBJYShiKSk7dmEmJmEucHJvdG90eXBlJiZ2YShjLAphLnByb3RvdHlwZSk7cmV0dXJuIGN9LE9hPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9LFFhPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgUmE9dGhpc3x8c2VsZixTYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5GdD1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EubnY9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTt2YXIgVGE9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9YTt0aGlzLmRhdGE9Yn07dmFyIFVhPWZ1bmN0aW9uKCl7dGhpcy5tYXA9e307dGhpcy5IPXt9fTtVYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcFsiZHVzdC4iK2FdfTtVYS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9ImR1c3QuIithO3RoaXMuSC5oYXNPd25Qcm9wZXJ0eShjKXx8KHRoaXMubWFwW2NdPWIpfTtVYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eSgiZHVzdC4iK2EpfTtVYS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3ZhciBiPSJkdXN0LiIrYTt0aGlzLkguaGFzT3duUHJvcGVydHkoYil8fGRlbGV0ZSB0aGlzLm1hcFtiXX07CnZhciBWYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYS5tYXApaWYoYS5tYXAuaGFzT3duUHJvcGVydHkoZCkpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO3N3aXRjaChiKXtjYXNlIDE6Yy5wdXNoKGUpO2JyZWFrO2Nhc2UgMjpjLnB1c2goYS5tYXBbZF0pO2JyZWFrO2Nhc2UgMzpjLnB1c2goW2UsYS5tYXBbZF1dKX19cmV0dXJuIGN9O1VhLnByb3RvdHlwZS5GYT1mdW5jdGlvbigpe3JldHVybiBWYSh0aGlzLDEpfTtVYS5wcm90b3R5cGUuaGM9ZnVuY3Rpb24oKXtyZXR1cm4gVmEodGhpcywyKX07VWEucHJvdG90eXBlLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsMyl9O3ZhciBXYT1mdW5jdGlvbigpe307V2EucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7fTt2YXIgWGE9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9O3RoaXMucHJlZml4PSJndG0uIn07az1YYS5wcm90b3R5cGU7ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLnZhbHVlW3RoaXMucHJlZml4K1N0cmluZyhhKV09Yn07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVbdGhpcy5wcmVmaXgrU3RyaW5nKGEpXX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWUuaGFzT3duUHJvcGVydHkodGhpcy5wcmVmaXgrU3RyaW5nKGEpKX07ay5kZWxldGU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5wcmVmaXgrU3RyaW5nKGEpO3JldHVybiB0aGlzLnZhbHVlLmhhc093blByb3BlcnR5KGIpPyhkZWxldGUgdGhpcy52YWx1ZVtiXSwhMCk6ITF9O2suY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9fTsKay52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBmdW5jdGlvbiBjKCl7dmFyIGQsZSxmO3JldHVybiBOYShjLGZ1bmN0aW9uKGcpe3N3aXRjaChnLkgpe2Nhc2UgMTpnLnZnKDIpLGU9Zy5mZShhLnZhbHVlKTtjYXNlIDQ6aWYoKGQ9ZS5obygpKT09bnVsbCl7Zy5uZCgyKTticmVha31pZighYS52YWx1ZS5oYXNPd25Qcm9wZXJ0eShkKSl7Zy5uZCg0KTticmVha31mPVFhO3JldHVybiBnLmFjKGEudmFsdWVbZF0sOCk7Y2FzZSA4OmYoZy5qYSk7Zy5uZCg0KTticmVhaztjYXNlIDI6Zy5rZCgpLGcuaGUoMCl9fSl9KCl9O2hhLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFhhLnByb3RvdHlwZSx7c2l6ZTp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudmFsdWUpLmxlbmd0aH19fSk7CmZ1bmN0aW9uIFlhKCl7dHJ5e2lmKE1hcClyZXR1cm4gbmV3IE1hcH1jYXRjaChhKXt9cmV0dXJuIG5ldyBYYX07dmFyIFphPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZXM9W119O1phLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZXMuaW5kZXhPZihhKT09PS0xJiZ0aGlzLnZhbHVlcy5wdXNoKGEpfTtaYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnZhbHVlcy5pbmRleE9mKGEpPi0xfTt2YXIgJGE9ZnVuY3Rpb24oYSxiKXt0aGlzLmZhPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLlI9dGhpcy5LPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuTj1mdW5jdGlvbihkLGUsZil7cmV0dXJuIGQuYXBwbHkoZSxmKX07dGhpcy5IPVlhKCk7dmFyIGM7YTp7dHJ5e2lmKFNldCl7Yz1uZXcgU2V0O2JyZWFrIGF9fWNhdGNoKGQpe31jPW5ldyBaYX10aGlzLlo9Y307JGEucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe2FiKHRoaXMsYSxiLCExKX07JGEucHJvdG90eXBlLlFoPWZ1bmN0aW9uKGEsYil7YWIodGhpcyxhLGIsITApfTt2YXIgYWI9ZnVuY3Rpb24oYSxiLGMsZCl7YS5IYnx8YS5aLmhhcyhiKXx8KGQmJmEuWi5hZGQoYiksYS5ILnNldChiLGMpKX07az0kYS5wcm90b3R5cGU7Cmsuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLkguaGFzKGEpJiZ0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuaGFzKGEpP3RoaXMucGFyZW50LnNldChhLGIpOnRoaXMuWi5oYXMoYSl8fHRoaXMuSC5zZXQoYSxiKSl9O2suZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkguaGFzKGEpP3RoaXMuSC5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLkguaGFzKGEpfHwhKCF0aGlzLnBhcmVudHx8IXRoaXMucGFyZW50LmhhcyhhKSl9O2sud2I9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgJGEodGhpcy5mYSx0aGlzKTt0aGlzLksmJmEuUWIodGhpcy5LKTthLnNkKHRoaXMuTik7YS51ZSh0aGlzLlIpO3JldHVybiBhfTtrLmplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmF9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5LPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTsKay5zZD1mdW5jdGlvbihhKXt0aGlzLk49YX07ay5Qaj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk59O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkhiPSEwfTtrLnVlPWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLnhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUn07dmFyIGJiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtkPUVycm9yLmNhbGwodGhpcyxhLm1lc3NhZ2UpO3RoaXMubWVzc2FnZT1kLm1lc3NhZ2U7InN0YWNrImluIGQmJih0aGlzLnN0YWNrPWQuc3RhY2spO3RoaXMudm89YTt0aGlzLlNuPWM9PT12b2lkIDA/ITE6Yzt0aGlzLks9W107dGhpcy5IPWJ9O3dhKGJiLEVycm9yKTt2YXIgY2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBiYj9hOm5ldyBiYihhLHZvaWQgMCwhMCl9O3ZhciBkYj1ZYSgpO2Z1bmN0aW9uIGViKGEsYil7Zm9yKHZhciBjLGQ9bShiKSxlPWQubmV4dCgpOyFlLmRvbmUmJiEoYz1mYihhLGUudmFsdWUpLGMgaW5zdGFuY2VvZiBUYSk7ZT1kLm5leHQoKSk7cmV0dXJuIGN9ZnVuY3Rpb24gZmIoYSxiKXt0cnl7dmFyIGM9YlswXSxkPWIuc2xpY2UoMSksZT1TdHJpbmcoYyksZj1kYi5oYXMoZSk/ZGIuZ2V0KGUpOmEuZ2V0KGUpO2lmKCFmfHx0eXBlb2YgZi5pbnZva2UhPT0iZnVuY3Rpb24iKXRocm93IGNiKEVycm9yKCJBdHRlbXB0aW5nIHRvIGV4ZWN1dGUgbm9uLWZ1bmN0aW9uICIrYlswXSsiLiIpKTtyZXR1cm4gZi5hcHBseShhLGQpfWNhdGNoKGgpe3ZhciBnPWEuZm8oKTtnJiZnKGgsYi5jb250ZXh0P3tpZDpiWzBdLGxpbmU6Yi5jb250ZXh0LmxpbmV9Om51bGwpO3Rocm93IGg7fX07dmFyIGdiPWZ1bmN0aW9uKCl7dGhpcy5LPW5ldyBXYTt0aGlzLkg9bmV3ICRhKHRoaXMuSyl9O2s9Z2IucHJvdG90eXBlO2suamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTtrLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07ay5zZD1mdW5jdGlvbihhKXt0aGlzLkguc2QoYSl9O2suZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yayhbYV0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpfTtrLnJrPWZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9bShPYS5hcHBseSgwLGFyZ3VtZW50cykpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWE9ZmIodGhpcy5ILGMudmFsdWUpO3JldHVybiBhfTtrLkpxPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKSxjPXRoaXMuSC53YigpO2MudWUoYSk7Zm9yKHZhciBkLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSlkPWZiKGMsZi52YWx1ZSk7cmV0dXJuIGR9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07dmFyIGhiPWZ1bmN0aW9uKGEsYil7dGhpcy5SPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLk49dGhpcy5IPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuSz1mdW5jdGlvbihjLGQsZSl7cmV0dXJuIGMuYXBwbHkoZCxlKX07dGhpcy52YWx1ZXM9bmV3IFVhfTtoYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7amIodGhpcyxhLGIsITEpfTtoYi5wcm90b3R5cGUuUWg9ZnVuY3Rpb24oYSxiKXtqYih0aGlzLGEsYiwhMCl9O3ZhciBqYj1mdW5jdGlvbihhLGIsYyxkKXtpZighYS5IYilpZihkKXt2YXIgZT1hLnZhbHVlcztlLnNldChiLGMpO2UuSFsiZHVzdC4iK2JdPSEwfWVsc2UgYS52YWx1ZXMuc2V0KGIsYyl9O2s9aGIucHJvdG90eXBlO2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLnZhbHVlcy5oYXMoYSkmJnRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5oYXMoYSk/dGhpcy5wYXJlbnQuc2V0KGEsYik6dGhpcy52YWx1ZXMuc2V0KGEsYikpfTsKay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVzLmhhcyhhKT90aGlzLnZhbHVlcy5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLnZhbHVlcy5oYXMoYSl8fCEoIXRoaXMucGFyZW50fHwhdGhpcy5wYXJlbnQuaGFzKGEpKX07ay53Yj1mdW5jdGlvbigpe3ZhciBhPW5ldyBoYih0aGlzLlIsdGhpcyk7dGhpcy5IJiZhLlFiKHRoaXMuSCk7YS5zZCh0aGlzLkspO2EudWUodGhpcy5OKTtyZXR1cm4gYX07ay5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5IfTtrLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSz1hfTtrLlBqPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuS307ay5aYT1mdW5jdGlvbigpe3RoaXMuSGI9ITB9O2sudWU9ZnVuY3Rpb24oYSl7dGhpcy5OPWF9O2sueGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTt2YXIga2I9ZnVuY3Rpb24oKXt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhfTtrPWtiLnByb3RvdHlwZTtrLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5nZXQoYSl9O2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5OYXx8dGhpcy5sYS5zZXQoYSxiKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuaGFzKGEpfTtrLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5GYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLkZhKCl9O2suaGM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5oYygpfTtrLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuZmMoKX07ay5aYT1mdW5jdGlvbigpe3RoaXMuTmE9ITB9O2suSGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OYX07ZnVuY3Rpb24gbGIoKXtmb3IodmFyIGE9bWIsYj17fSxjPTA7YzxhLmxlbmd0aDsrK2MpYlthW2NdXT1jO3JldHVybiBifWZ1bmN0aW9uIG5iKCl7dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjthKz1hLnRvTG93ZXJDYXNlKCkrIjAxMjM0NTY3ODktXyI7cmV0dXJuIGErIi4ifXZhciBtYixvYjtmdW5jdGlvbiBwYihhKXttYj1tYnx8bmIoKTtvYj1vYnx8bGIoKTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7Yys9Myl7dmFyIGQ9YysxPGEubGVuZ3RoLGU9YysyPGEubGVuZ3RoLGY9YS5jaGFyQ29kZUF0KGMpLGc9ZD9hLmNoYXJDb2RlQXQoYysxKTowLGg9ZT9hLmNoYXJDb2RlQXQoYysyKTowLGw9Zj4+MixuPShmJjMpPDw0fGc+PjQscD0oZyYxNSk8PDJ8aD4+NixxPWgmNjM7ZXx8KHE9NjQsZHx8KHA9NjQpKTtiLnB1c2gobWJbbF0sbWJbbl0sbWJbcF0sbWJbcV0pfXJldHVybiBiLmpvaW4oIiIpfQpmdW5jdGlvbiBxYihhKXtmdW5jdGlvbiBiKGwpe2Zvcig7ZDxhLmxlbmd0aDspe3ZhciBuPWEuY2hhckF0KGQrKykscD1vYltuXTtpZihwIT1udWxsKXJldHVybiBwO2lmKCEvXltcc1x4YTBdKiQvLnRlc3QobikpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrbik7fXJldHVybiBsfW1iPW1ifHxuYigpO29iPW9ifHxsYigpO2Zvcih2YXIgYz0iIixkPTA7Oyl7dmFyIGU9YigtMSksZj1iKDApLGc9Yig2NCksaD1iKDY0KTtpZihoPT09NjQmJmU9PT0tMSlyZXR1cm4gYztjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGU8PDJ8Zj4+NCk7ZyE9PTY0JiYoYys9U3RyaW5nLmZyb21DaGFyQ29kZShmPDw0JjI0MHxnPj4yKSxoIT09NjQmJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGc8PDYmMTkyfGgpKSl9fTt2YXIgcmI9e307ZnVuY3Rpb24gc2IoYSxiKXt2YXIgYz1yYlthXTtjfHwoYz1yYlthXT1bXSk7Y1tiXT0hMH1mdW5jdGlvbiB0Yigpe2RlbGV0ZSByYi5HQTRfRVZFTlR9ZnVuY3Rpb24gdWIoKXt2YXIgYT12Yi5ILnNsaWNlKCk7cmIuR1RBR19FVkVOVF9GRUFUVVJFX0NIQU5ORUw9YX1mdW5jdGlvbiB3YihhKXtmb3IodmFyIGI9W10sYz0wLGQ9MDtkPGEubGVuZ3RoO2QrKylkJTg9PT0wJiZkPjAmJihiLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjKSksYz0wKSxhW2RdJiYoY3w9MTw8ZCU4KTtjPjAmJmIucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGMpKTtyZXR1cm4gcGIoYi5qb2luKCIiKSkucmVwbGFjZSgvXC4rJC8sIiIpfTtmdW5jdGlvbiB4Yigpe31mdW5jdGlvbiB5YihhKXtyZXR1cm4gdHlwZW9mIGE9PT0iZnVuY3Rpb24ifWZ1bmN0aW9uIHpiKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIEFiKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiJiYhaXNOYU4oYSl9ZnVuY3Rpb24gQmIoYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpbYV19ZnVuY3Rpb24gQ2IoYSxiKXtpZihhJiZBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmIoYVtjXSkpcmV0dXJuIGFbY119ZnVuY3Rpb24gRGIoYSxiKXtpZighQWIoYSl8fCFBYihiKXx8YT5iKWE9MCxiPTIxNDc0ODM2NDc7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSooYi1hKzEpK2EpfQpmdW5jdGlvbiBFYihhLGIpe2Zvcih2YXIgYz1uZXcgRmIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWMuc2V0KGFbZF0sITApO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWlmKGMuZ2V0KGJbZV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEdiKGEsYil7Zm9yKHZhciBjIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYykmJmIoYyxhW2NdKX1mdW5jdGlvbiBIYihhKXtyZXR1cm4hIWEmJihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk9PT0iW29iamVjdCBBcmd1bWVudHNdInx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsImNhbGxlZSIpKX1mdW5jdGlvbiBJYihhKXtyZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIoYSkpfHwwfWZ1bmN0aW9uIEpiKGEpe3JldHVybiJmYWxzZSI9PT1TdHJpbmcoYSkudG9Mb3dlckNhc2UoKT8hMTohIWF9CmZ1bmN0aW9uIEtiKGEpe3ZhciBiPVtdO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKFN0cmluZyhhW2NdKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gTGIoYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIik6IiJ9ZnVuY3Rpb24gTWIoKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSl9ZnVuY3Rpb24gTmIoKXtyZXR1cm4gTWIoKS5nZXRUaW1lKCl9dmFyIEZiPWZ1bmN0aW9uKCl7dGhpcy5wcmVmaXg9Imd0bS4iO3RoaXMudmFsdWVzPXt9fTtGYi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV09Yn07RmIucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV19O0ZiLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXQoYSkhPT12b2lkIDB9OwpmdW5jdGlvbiBPYihhLGIsYyl7cmV0dXJuIGEmJmEuaGFzT3duUHJvcGVydHkoYik/YVtiXTpjfWZ1bmN0aW9uIFBiKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPXZvaWQgMDt0cnl7YygpfWNhdGNoKGQpe319fX1mdW5jdGlvbiBRYihhLGIpe2Zvcih2YXIgYyBpbiBiKWIuaGFzT3duUHJvcGVydHkoYykmJihhW2NdPWJbY10pfWZ1bmN0aW9uIFJiKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyljLnB1c2goYVtkXSksYy5wdXNoLmFwcGx5KGMsYlthW2RdXXx8W10pO3JldHVybiBjfWZ1bmN0aW9uIFNiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoMCxiLmxlbmd0aCk9PT1ifWZ1bmN0aW9uIFRiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoYS5sZW5ndGgtYi5sZW5ndGgsYS5sZW5ndGgpPT09Yn0KZnVuY3Rpb24gVWIoYSxiLGMpe2M9Y3x8W107Zm9yKHZhciBkPWEsZT0wO2U8Yi5sZW5ndGgtMTtlKyspe2lmKCFkLmhhc093blByb3BlcnR5KGJbZV0pKXJldHVybjtkPWRbYltlXV07aWYoYy5pbmRleE9mKGQpPj0wKXJldHVybn1yZXR1cm4gZH1mdW5jdGlvbiBWYihhLGIpe2Zvcih2YXIgYz17fSxkPWMsZT1hLnNwbGl0KCIuIiksZj0wO2Y8ZS5sZW5ndGgtMTtmKyspZD1kW2VbZl1dPXt9O2RbZVtlLmxlbmd0aC0xXV09YjtyZXR1cm4gY312YXIgV2I9L15cd3sxLDl9JC87ZnVuY3Rpb24gWWIoYSxiKXthPWF8fHt9O2I9Ynx8IiwiO3ZhciBjPVtdO0diKGEsZnVuY3Rpb24oZCxlKXtXYi50ZXN0KGQpJiZlJiZjLnB1c2goZCl9KTtyZXR1cm4gYy5qb2luKGIpfQpmdW5jdGlvbiBaYihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hLmNoYXJDb2RlQXQoYyk7ZDwxMjg/Yi5wdXNoKGQpOmQ8MjA0OD9iLnB1c2goMTkyfGQ+PjYsMTI4fGQmNjMpOmQ8NTUyOTZ8fGQ+PTU3MzQ0P2IucHVzaCgyMjR8ZD4+MTIsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpOihkPTY1NTM2KygoZCYxMDIzKTw8MTB8YS5jaGFyQ29kZUF0KCsrYykmMTAyMyksYi5wdXNoKDI0MHxkPj4xOCwxMjh8ZD4+MTImNjMsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYil9ZnVuY3Rpb24gJGIoYSl7aWYoIWEpcmV0dXJuIGE7dmFyIGI9YTt0cnl7Yj1kZWNvZGVVUklDb21wb25lbnQoYSl9Y2F0Y2goZCl7fXZhciBjPWIuc3BsaXQoIiwiKTtyZXR1cm4gYy5sZW5ndGg9PT0yJiZjWzBdPT09Y1sxXT9jWzBdOmF9CmZ1bmN0aW9uIGFjKGEsYixjKXtmdW5jdGlvbiBkKG4pe3ZhciBwPW4uc3BsaXQoIj0iKVswXTtpZihhLmluZGV4T2YocCk8MClyZXR1cm4gbjtpZihjIT09dm9pZCAwKXJldHVybiBwKyI9IitjfWZ1bmN0aW9uIGUobil7cmV0dXJuIG4uc3BsaXQoIiYiKS5tYXAoZCkuZmlsdGVyKGZ1bmN0aW9uKHApe3JldHVybiBwIT09dm9pZCAwfSkuam9pbigiJiIpfXZhciBmPWIuaHJlZi5zcGxpdCgvWz8jXS8pWzBdLGc9Yi5zZWFyY2gsaD1iLmhhc2g7Z1swXT09PSI/IiYmKGc9Zy5zdWJzdHJpbmcoMSkpO2hbMF09PT0iIyImJihoPWguc3Vic3RyaW5nKDEpKTtnPWUoZyk7aD1lKGgpO2chPT0iIiYmKGc9Ij8iK2cpO2ghPT0iIiYmKGg9IiMiK2gpO3ZhciBsPSIiK2YrZytoO2xbbC5sZW5ndGgtMV09PT0iLyImJihsPWwuc3Vic3RyaW5nKDAsbC5sZW5ndGgtMSkpO3JldHVybiBsfQpmdW5jdGlvbiBiYyhhKXtmb3IodmFyIGI9MDtiPDM7KytiKXRyeXt2YXIgYz1kZWNvZGVVUklDb21wb25lbnQoYSkucmVwbGFjZSgvXCsvZywiICIpO2lmKGM9PT1hKWJyZWFrO2E9Y31jYXRjaChkKXtyZXR1cm4iIn1yZXR1cm4gYX1mdW5jdGlvbiBjYygpe3ZhciBhPUEsYjthOnt2YXIgYz1hLmNyeXB0b3x8YS5tc0NyeXB0bztpZihjJiZjLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoMjUpO2MuZ2V0UmFuZG9tVmFsdWVzKGQpO2I9YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx3KGQpKSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89KyQvLCIiKTticmVhayBhfWNhdGNoKGUpe31iPXZvaWQgMH1yZXR1cm4gYn07LyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIGRjPWdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLGVjO2Z1bmN0aW9uIGZjKCl7dmFyIGE9bnVsbDtpZighZGMpcmV0dXJuIGE7dHJ5e3ZhciBiPWZ1bmN0aW9uKGMpe3JldHVybiBjfTthPWRjLmNyZWF0ZVBvbGljeSgiZ29vZyNodG1sIix7Y3JlYXRlSFRNTDpiLGNyZWF0ZVNjcmlwdDpiLGNyZWF0ZVNjcmlwdFVSTDpifSl9Y2F0Y2goYyl7fXJldHVybiBhfWZ1bmN0aW9uIGhjKCl7ZWM9PT12b2lkIDAmJihlYz1mYygpKTtyZXR1cm4gZWN9O3ZhciBpYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07aWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07ZnVuY3Rpb24gamMoYSl7dmFyIGI9YSxjPWhjKCksZD1jP2MuY3JlYXRlU2NyaXB0VVJMKGIpOmI7cmV0dXJuIG5ldyBpYyhkKX1mdW5jdGlvbiBrYyhhKXtpZihhIGluc3RhbmNlb2YgaWMpcmV0dXJuIGEuSDt0aHJvdyBFcnJvcigiIik7fTt2YXIgbGM9QWEoWyIiXSksbWM9emEoWyJceDAwIl0sWyJcXDAiXSksbmM9emEoWyJcbiJdLFsiXFxuIl0pLG9jPXphKFsiXHgwMCJdLFsiXFx1MDAwMCJdKTtmdW5jdGlvbiBwYyhhKXtyZXR1cm4gYS50b1N0cmluZygpLmluZGV4T2YoImAiKT09PS0xfXBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKGxjKX0pfHxwYyhmdW5jdGlvbihhKXtyZXR1cm4gYShtYyl9KXx8cGMoZnVuY3Rpb24oYSl7cmV0dXJuIGEobmMpfSl8fHBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKG9jKX0pO3ZhciBxYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07cWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSH07dmFyIHJjPWZ1bmN0aW9uKGEpe3RoaXMuSnM9YX07ZnVuY3Rpb24gc2MoYSl7cmV0dXJuIG5ldyByYyhmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgdGM9W3NjKCJkYXRhIiksc2MoImh0dHAiKSxzYygiaHR0cHMiKSxzYygibWFpbHRvIiksc2MoImZ0cCIpLG5ldyByYyhmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldO2Z1bmN0aW9uIHVjKGEpe3ZhciBiO2I9Yj09PXZvaWQgMD90YzpiO2lmKGEgaW5zdGFuY2VvZiBxYylyZXR1cm4gYTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkIGluc3RhbmNlb2YgcmMmJmQuSnMoYSkpcmV0dXJuIG5ldyBxYyhhKX19dmFyIHZjPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7CmZ1bmN0aW9uIHdjKGEpe3ZhciBiO2lmKGEgaW5zdGFuY2VvZiBxYylpZihhIGluc3RhbmNlb2YgcWMpYj1hLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7ZWxzZSBiPXZjLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGJ9O2Z1bmN0aW9uIHhjKGEsYil7dmFyIGM9d2MoYik7YyE9PXZvaWQgMCYmKGEuYWN0aW9uPWMpfTtmdW5jdGlvbiB5YyhhLGIpe3Rocm93IEVycm9yKGI9PT12b2lkIDA/InVuZXhwZWN0ZWQgdmFsdWUgIithKyIhIjpiKTt9O3ZhciB6Yz1mdW5jdGlvbihhKXt0aGlzLkg9YX07emMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07dmFyIEJjPWZ1bmN0aW9uKCl7dGhpcy5IPUFjWzBdLnRvTG93ZXJDYXNlKCl9O0JjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O2Z1bmN0aW9uIENjKGEsYil7dmFyIGM9W25ldyBCY107aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCIiKTt2YXIgZD1jLm1hcChmdW5jdGlvbihmKXt2YXIgZztpZihmIGluc3RhbmNlb2YgQmMpZz1mLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGd9KSxlPWIudG9Mb3dlckNhc2UoKTtpZihkLmV2ZXJ5KGZ1bmN0aW9uKGYpe3JldHVybiBlLmluZGV4T2YoZikhPT0wfSkpdGhyb3cgRXJyb3IoJ0F0dHJpYnV0ZSAiJytiKyciIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUgYWxsb3dlZCBwcmVmaXhlcy4nKTthLnNldEF0dHJpYnV0ZShiLCJ0cnVlIil9O3ZhciBEYz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZj9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIHR5cGVvZiBiIT09InN0cmluZyJ8fGIubGVuZ3RoIT0xPy0xOmEuaW5kZXhPZihiLDApO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9OyJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwKIklOUFVUIl0pO2Z1bmN0aW9uIEVjKGEpe3JldHVybiBhPT09bnVsbD8ibnVsbCI6YT09PXZvaWQgMD8idW5kZWZpbmVkIjphfTt2YXIgQT13aW5kb3csRmM9W10sR2M9d2luZG93Lmhpc3RvcnksQj1kb2N1bWVudCxIYz1uYXZpZ2F0b3I7ZnVuY3Rpb24gSWMoKXt2YXIgYTt0cnl7YT1IYy5zZXJ2aWNlV29ya2VyfWNhdGNoKGIpe3JldHVybn1yZXR1cm4gYX12YXIgSmM9Qi5jdXJyZW50U2NyaXB0LEtjPUpjJiZKYy5zcmM7ZnVuY3Rpb24gTWMoYSxiKXt2YXIgYz1BLGQ9Y1thXTtjW2FdPWQ9PT12b2lkIDA/YjpkO3JldHVybiBjW2FdfWZ1bmN0aW9uIE5jKGEpe3JldHVybihIYy51c2VyQWdlbnR8fCIiKS5pbmRleE9mKGEpIT09LTF9ZnVuY3Rpb24gT2MoKXtyZXR1cm4gTmMoIkZpcmVmb3giKXx8TmMoIkZ4aU9TIil9ZnVuY3Rpb24gUGMoKXtyZXR1cm4oTmMoIkdTQSIpfHxOYygiR29vZ2xlQXBwIikpJiYoTmMoImlQaG9uZSIpfHxOYygiaVBhZCIpKX1mdW5jdGlvbiBRYygpe3JldHVybiBOYygiRWRnLyIpfHxOYygiRWRnQS8iKXx8TmMoIkVkZ2lPUy8iKX0KdmFyIFJjPXthc3luYzoxLG5vbmNlOjEsb25lcnJvcjoxLG9ubG9hZDoxLHNyYzoxLHR5cGU6MX0sU2M9e2hlaWdodDoxLG9ubG9hZDoxLHNyYzoxLHN0eWxlOjEsd2lkdGg6MX07ZnVuY3Rpb24gVGMoYSxiLGMpe2ImJkdiKGIsZnVuY3Rpb24oZCxlKXtkPWQudG9Mb3dlckNhc2UoKTtjLmhhc093blByb3BlcnR5KGQpfHxhLnNldEF0dHJpYnV0ZShkLGUpfSl9CmZ1bmN0aW9uIFVjKGEsYixjLGQsZSl7dmFyIGY9Qi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtUYyhmLGQsUmMpO2YudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtmLmFzeW5jPWQmJmQuYXN5bmM9PT0hMT8hMTohMDt2YXIgZztnPWpjKEVjKGEpKTtmLnNyYz1rYyhnKTt2YXIgaCxsPWYub3duZXJEb2N1bWVudDtsPWw9PT12b2lkIDA/ZG9jdW1lbnQ6bDt2YXIgbixwLHE9KHA9KG49bCkucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOnAuY2FsbChuLCJzY3JpcHRbbm9uY2VdIik7KGg9cT09bnVsbD8iIjpxLm5vbmNlfHxxLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiIpJiZmLnNldEF0dHJpYnV0ZSgibm9uY2UiLGgpO2ImJihmLm9ubG9hZD1iKTtjJiYoZi5vbmVycm9yPWMpO2U/ZS5hcHBlbmRDaGlsZChmKTpWYy5CcyhmKTtyZXR1cm4gZn0KZnVuY3Rpb24gV2MoKXtpZihLYyl7dmFyIGE9S2MudG9Mb3dlckNhc2UoKTtpZihhLmluZGV4T2YoImh0dHBzOi8vIik9PT0wKXJldHVybiAyO2lmKGEuaW5kZXhPZigiaHR0cDovLyIpPT09MClyZXR1cm4gM31yZXR1cm4gMX1mdW5jdGlvbiBYYyhhLGIsYyxkLGUsZil7Zj1mPT09dm9pZCAwPyEwOmY7dmFyIGc9ZSxoPSExO2d8fChnPUIuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksaD0hMCk7VGMoZyxjLFNjKTtkJiZHYihkLGZ1bmN0aW9uKG4scCl7Zy5kYXRhc2V0W25dPXB9KTtmJiYoZy5oZWlnaHQ9IjAiLGcud2lkdGg9IjAiLGcuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iKTthIT09dm9pZCAwJiYoZy5zcmM9YSk7aWYoaCl7dmFyIGw9Qi5ib2R5JiZCLmJvZHkubGFzdENoaWxkfHxCLmJvZHl8fEIuaGVhZDtsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsbCl9YiYmKGcub25sb2FkPWIpO3JldHVybiBnfQpmdW5jdGlvbiBaYygpe3JldHVybiBWYy5Fci5hcHBseShWYyx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfWZ1bmN0aW9uICRjKGEsYixjLGQpe2EuYWRkRXZlbnRMaXN0ZW5lciYmYS5hZGRFdmVudExpc3RlbmVyKGIsYywhIWQpfWZ1bmN0aW9uIGFkKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpfWZ1bmN0aW9uIGJkKGEpe0Euc2V0VGltZW91dChhLDApfWZ1bmN0aW9uIGNkKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpLGQsZT0oZD1BKS5zZXRJbnRlcnZhbC5hcHBseShkLFthLGJdLmNvbmNhdCh3KGMpKSk7RmMucHVzaChlKTtyZXR1cm4gZX0KZnVuY3Rpb24gZGQoYSl7dmFyIGI9QTt5YihiLnF1ZXVlTWljcm90YXNrKT9iLnF1ZXVlTWljcm90YXNrKGEpOnliKGIuUHJvbWlzZSkmJmIuUHJvbWlzZS5yZXNvbHZlP2IuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe2EoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk6YmQoYSl9ZnVuY3Rpb24gZWQoYSxiKXtyZXR1cm4gYSYmYiYmYS5hdHRyaWJ1dGVzJiZhLmF0dHJpYnV0ZXNbYl0/YS5hdHRyaWJ1dGVzW2JdLnZhbHVlOm51bGx9ZnVuY3Rpb24gZmQoYSl7dmFyIGI9YS5pbm5lclRleHR8fGEudGV4dENvbnRlbnR8fCIiO2ImJmIhPT0iICImJihiPWIucmVwbGFjZSgvXltcc1x4YTBdKy9nLCIiKSxiPWIucmVwbGFjZSgvW1xzXHhhMF0rJC9nLCIiKSk7YiYmKGI9Yi5yZXBsYWNlKC8oXHhhMCt8XHN7Mix9fFxufFxyXHQpL2csIiAiKSk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGdkKGEpe3ZhciBiPUIuY3JlYXRlRWxlbWVudCgiZGl2IiksYz1iLGQsZT1FYygiQTxkaXY+IithKyI8L2Rpdj4iKSxmPWhjKCksZz1mP2YuY3JlYXRlSFRNTChlKTplO2Q9bmV3IHpjKGcpO2lmKGMubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYy50YWdOYW1lKSl0aHJvdyBFcnJvcigiIik7dmFyIGg7aWYoZCBpbnN0YW5jZW9mIHpjKWg9ZC5IO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO2MuaW5uZXJIVE1MPWg7Yj1iLmxhc3RDaGlsZDtmb3IodmFyIGw9W107YiYmYi5maXJzdENoaWxkOylsLnB1c2goYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpKTtyZXR1cm4gbH0KZnVuY3Rpb24gaGQoYSxiLGMpe2M9Y3x8MTAwO2Zvcih2YXIgZD17fSxlPTA7ZTxiLmxlbmd0aDtlKyspZFtiW2VdXT0hMDtmb3IodmFyIGY9YSxnPTA7ZiYmZzw9YztnKyspe2lmKGRbU3RyaW5nKGYudGFnTmFtZSkudG9Mb3dlckNhc2UoKV0pcmV0dXJuIGY7Zj1mLnBhcmVudEVsZW1lbnR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaWQoYSxiLGMpe3ZhciBkO3RyeXtkPUhjLnNlbmRCZWFjb24mJkhjLnNlbmRCZWFjb24oYSl9Y2F0Y2goZSl7c2IoIlRBR0dJTkciLDE1KX1kP2I9PW51bGx8fGIoKTpaYyhhLGIsYyl9ZnVuY3Rpb24gamQoYSxiKXt0cnl7aWYoSGMuc2VuZEJlYWNvbiE9PXZvaWQgMClyZXR1cm4gSGMuc2VuZEJlYWNvbihhLGIpfWNhdGNoKGMpe3NiKCJUQUdHSU5HIiwxNSl9cmV0dXJuITF9ZnVuY3Rpb24ga2QoKXtyZXR1cm4gSGMuc2VuZEJlYWNvbiE9PXZvaWQgMH0KdmFyIGxkPXtjYWNoZToibm8tc3RvcmUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixrZWVwYWxpdmU6ITAsbWV0aG9kOiJQT1NUIixtb2RlOiJuby1jb3JzIixyZWRpcmVjdDoiZm9sbG93In07CmZ1bmN0aW9uIG1kKGEsYixjLGQsZSl7aWYobmQoKSl7dmFyIGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxsZCk7YiYmKGYuYm9keT1iKTtjJiYoYy5hdHRyaWJ1dGlvblJlcG9ydGluZyYmKGYuYXR0cmlidXRpb25SZXBvcnRpbmc9Yy5hdHRyaWJ1dGlvblJlcG9ydGluZyksYy5icm93c2luZ1RvcGljcyE9PXZvaWQgMCYmKGYuYnJvd3NpbmdUb3BpY3M9Yy5icm93c2luZ1RvcGljcyksYy5jcmVkZW50aWFscyYmKGYuY3JlZGVudGlhbHM9Yy5jcmVkZW50aWFscyksYy5rZWVwYWxpdmUhPT12b2lkIDAmJihmLmtlZXBhbGl2ZT1jLmtlZXBhbGl2ZSksYy5tZXRob2QmJihmLm1ldGhvZD1jLm1ldGhvZCksYy5tb2RlJiYoZi5tb2RlPWMubW9kZSkpO3RyeXt2YXIgZz1BLmZldGNoKGEsZik7aWYoZylyZXR1cm4gZy50aGVuKGZ1bmN0aW9uKGwpe2wmJihsLm9rfHxsLnN0YXR1cz09PTApP2Q9PW51bGx8fGQoKTplPT1udWxsfHxlKCl9KS5jYXRjaChmdW5jdGlvbigpe2U9PQpudWxsfHxlKCl9KSwhMH1jYXRjaChsKXt9fWlmKChjPT1udWxsPzA6Yy5RZyl8fChjPT1udWxsPzA6Yy5jcmVkZW50aWFscykmJmMuY3JlZGVudGlhbHMhPT0iaW5jbHVkZSIpcmV0dXJuIGU9PW51bGx8fGUoKSwhMTtpZihiKXt2YXIgaD1qZChhLGIpO2g/ZD09bnVsbHx8ZCgpOmU9PW51bGx8fGUoKTtyZXR1cm4gaH1WYy53dChhLGQsZSk7cmV0dXJuITB9ZnVuY3Rpb24gbmQoKXtyZXR1cm4geWIoQS5mZXRjaCl9ZnVuY3Rpb24gb2QoYSxiKXt2YXIgYz1hW2JdO2MmJnR5cGVvZiBjLmFuaW1WYWw9PT0ic3RyaW5nIiYmKGM9Yy5hbmltVmFsKTtyZXR1cm4gY31mdW5jdGlvbiBwZCgpe3ZhciBhPUEucGVyZm9ybWFuY2U7aWYoYSYmeWIoYS5ub3cpKXJldHVybiBhLm5vdygpfQpmdW5jdGlvbiBxZCgpe3ZhciBhLGI9QS5wZXJmb3JtYW5jZTtpZihiJiZiLmdldEVudHJpZXNCeVR5cGUpdHJ5e3ZhciBjPWIuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2MmJmMubGVuZ3RoPjAmJihhPWNbMF0udHlwZSl9Y2F0Y2goZCl7cmV0dXJuImUifWlmKCFhKXJldHVybiJ1Ijtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJuIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJoIjtjYXNlICJyZWxvYWQiOnJldHVybiJyIjtjYXNlICJwcmVyZW5kZXIiOnJldHVybiJwIjtkZWZhdWx0OnJldHVybiJ4In19ZnVuY3Rpb24gcmQoKXtyZXR1cm4gQS5wZXJmb3JtYW5jZXx8dm9pZCAwfWZ1bmN0aW9uIHNkKCl7dmFyIGE9QS53ZWJQaXhlbHNNYW5hZ2VyO3JldHVybiBhP2EuY3JlYXRlU2hvcGlmeUV4dGVuZCE9PXZvaWQgMDohMX0KdmFyIFZjPXtFcjpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uZXcgSW1hZ2UoMSwxKTtUYyhlLGQse30pO2Uub25sb2FkPWZ1bmN0aW9uKCl7ZS5vbmxvYWQ9bnVsbDtiJiZiKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2Uub25lcnJvcj1udWxsO2MmJmMoKX07ZS5zcmM9YTtyZXR1cm4gZX0sQnM6ZnVuY3Rpb24oYSl7dmFyIGI9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF18fEIuYm9keXx8Qi5oZWFkO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxiKX0sd3Q6aWR9O2Z1bmN0aW9uIHRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdWQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKT09PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiB3ZChhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO3JldHVybiBTdHJpbmcoYykuaW5kZXhPZihTdHJpbmcoZCkpPi0xfWZ1bmN0aW9uIHhkKGEsYil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYSkpLGQ9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYikpO3JldHVybiBjLnN1YnN0cmluZygwLGQubGVuZ3RoKT09PWR9CmZ1bmN0aW9uIHlkKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYik7c3dpdGNoKGMpe2Nhc2UgInBhZ2VMb2NhdGlvbiI6dmFyIGU9QS5sb2NhdGlvbi5ocmVmO2QgaW5zdGFuY2VvZiBrYiYmZC5nZXQoInN0cmlwUHJvdG9jb2wiKSYmKGU9ZS5yZXBsYWNlKC9eaHR0cHM/OlwvXC8vLCIiKSk7cmV0dXJuIGV9fTsvKgogalF1ZXJ5IChjKSAyMDA1LCAyMDEyIGpRdWVyeSBGb3VuZGF0aW9uLCBJbmMuIGpxdWVyeS5vcmcvbGljZW5zZS4KKi8KdmFyIHpkPS9cW29iamVjdCAoQm9vbGVhbnxOdW1iZXJ8U3RyaW5nfEZ1bmN0aW9ufEFycmF5fERhdGV8UmVnRXhwKVxdLyxBZD1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBTdHJpbmcoYSk7dmFyIGI9emQuZXhlYyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0KGEpKSk7cmV0dXJuIGI/YlsxXS50b0xvd2VyQ2FzZSgpOiJvYmplY3QifSxCZD1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoT2JqZWN0KGEpLGIpfSxDZD1mdW5jdGlvbihhKXtpZighYXx8QWQoYSkhPSJvYmplY3QifHxhLm5vZGVUeXBlfHxhPT1hLndpbmRvdylyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIUJkKGEsImNvbnN0cnVjdG9yIikmJiFCZChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKGMpe3JldHVybiExfWZvcih2YXIgYiBpbiBhKTtyZXR1cm4gYj09PXZvaWQgMHx8CkJkKGEsYil9LEVkPWZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8KEFkKGEpPT0iYXJyYXkiP1tdOnt9KSxkO2ZvcihkIGluIGEpaWYoQmQoYSxkKSl7dmFyIGU9YVtkXTtBZChlKT09ImFycmF5Ij8oQWQoY1tkXSkhPSJhcnJheSImJihjW2RdPVtdKSxjW2RdPUVkKGUsY1tkXSkpOkNkKGUpPyhDZChjW2RdKXx8KGNbZF09e30pLGNbZF09RWQoZSxjW2RdKSk6Y1tkXT1lfXJldHVybiBjfTtmdW5jdGlvbiBGZChhKXtyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIiYmYT49MCYmaXNGaW5pdGUoYSkmJmElMT09PTB8fHR5cGVvZiBhPT09InN0cmluZyImJmFbMF0hPT0iLSImJmE9PT0iIitwYXJzZUludChhKX07dmFyIEdkPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphO3RoaXMubGE9bmV3IFVhO3RoaXMudmFsdWVzPVtdO3RoaXMuTmE9ITE7Zm9yKHZhciBiIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShiKSYmKEZkKGIpP3RoaXMudmFsdWVzW051bWJlcihiKV09YVtOdW1iZXIoYildOnRoaXMubGEuc2V0KGIsYVtiXSkpfTtrPUdkLnByb3RvdHlwZTtrLnRvU3RyaW5nPWZ1bmN0aW9uKGEpe2lmKGEmJmEuaW5kZXhPZih0aGlzKT49MClyZXR1cm4iIjtmb3IodmFyIGI9W10sYz0wO2M8dGhpcy52YWx1ZXMubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy52YWx1ZXNbY107ZD09PW51bGx8fGQ9PT12b2lkIDA/Yi5wdXNoKCIiKTpkIGluc3RhbmNlb2YgR2Q/KGE9YXx8W10sYS5wdXNoKHRoaXMpLGIucHVzaChkLnRvU3RyaW5nKGEpKSxhLnBvcCgpKTpiLnB1c2goU3RyaW5nKGQpKX1yZXR1cm4gYi5qb2luKCIsIil9OwprLnNldD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLk5hKWlmKGE9PT0ibGVuZ3RoIil7aWYoIUZkKGIpKXRocm93IGNiKEVycm9yKCJSYW5nZUVycm9yOiBMZW5ndGggcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGludGVnZXIuIikpO3RoaXMudmFsdWVzLmxlbmd0aD1OdW1iZXIoYil9ZWxzZSBGZChhKT90aGlzLnZhbHVlc1tOdW1iZXIoYSldPWI6dGhpcy5sYS5zZXQoYSxiKX07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0ibGVuZ3RoIj90aGlzLmxlbmd0aCgpOkZkKGEpP3RoaXMudmFsdWVzW051bWJlcihhKV06dGhpcy5sYS5nZXQoYSl9O2subGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aH07ay5GYT1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmxhLkZhKCksYj0wO2I8dGhpcy52YWx1ZXMubGVuZ3RoO2IrKyl0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShiKSYmYS5wdXNoKFN0cmluZyhiKSk7cmV0dXJuIGF9OwprLmhjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuaGMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2godGhpcy52YWx1ZXNbYl0pO3JldHVybiBhfTtrLmZjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuZmMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2goW1N0cmluZyhiKSx0aGlzLnZhbHVlc1tiXV0pO3JldHVybiBhfTtrLnJlbW92ZT1mdW5jdGlvbihhKXtGZChhKT9kZWxldGUgdGhpcy52YWx1ZXNbTnVtYmVyKGEpXTp0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5wb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMucG9wKCl9O2sucHVzaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlcy5wdXNoLmFwcGx5KHRoaXMudmFsdWVzLHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSl9O2suc2hpZnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMuc2hpZnQoKX07Cmsuc3BsaWNlPWZ1bmN0aW9uKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpO3JldHVybiBiPT09dm9pZCAwJiZjLmxlbmd0aD09PTA/bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZShhKSk6bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZS5hcHBseSh0aGlzLnZhbHVlcyxbYSxifHwwXS5jb25jYXQodyhjKSkpKX07ay51bnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLnVuc2hpZnQuYXBwbHkodGhpcy52YWx1ZXMsdyhPYS5hcHBseSgwLGFyZ3VtZW50cykpKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIEZkKGEpJiZ0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShhKXx8dGhpcy5sYS5oYXMoYSl9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLk5hPSEwO09iamVjdC5mcmVlemUodGhpcy52YWx1ZXMpfTtrLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9OwpmdW5jdGlvbiBIZChhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGgoKTtjKyspYS5oYXMoYykmJihiW2NdPWEuZ2V0KGMpKTtyZXR1cm4gYn07dmFyIElkPWZ1bmN0aW9uKGEsYil7dGhpcy5mdW5jdGlvbk5hbWU9YTt0aGlzLmllPWI7dGhpcy5sYT1uZXcgVWE7dGhpcy5OYT0hMX07az1JZC5wcm90b3R5cGU7ay50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZ1bmN0aW9uTmFtZX07ay5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZnVuY3Rpb25OYW1lfTtrLmdldEtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEdkKHRoaXMuRmEoKSl9O2suaW52b2tlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmllLmNhbGwuYXBwbHkodGhpcy5pZSxbbmV3IEpkKHRoaXMsYSldLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKX07ay5hcHBseT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmllLmFwcGx5KG5ldyBKZCh0aGlzLGEpLGIpfTtrLk5jPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTt0cnl7cmV0dXJuIHRoaXMuaW52b2tlLmFwcGx5KHRoaXMsW2FdLmNvbmNhdCh3KGIpKSl9Y2F0Y2goYyl7fX07CmsuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmdldChhKX07ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLk5hfHx0aGlzLmxhLnNldChhLGIpfTtrLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5oYXMoYSl9O2sucmVtb3ZlPWZ1bmN0aW9uKGEpe3RoaXMuTmF8fHRoaXMubGEucmVtb3ZlKGEpfTtrLkZhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuRmEoKX07ay5oYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmhjKCl9O2suZmM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5mYygpfTtrLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07ay5IYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5hfTt2YXIgS2Q9ZnVuY3Rpb24oYSxiKXtJZC5jYWxsKHRoaXMsYSxiKX07d2EoS2QsSWQpO3ZhciBMZD1mdW5jdGlvbihhLGIpe0lkLmNhbGwodGhpcyxhLGIpfTt3YShMZCxJZCk7dmFyIEpkPWZ1bmN0aW9uKGEsYil7dGhpcy5pZT1hO3RoaXMuVD1ifTsKSmQucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuVDtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9mYihiLGEpOmF9O0pkLnByb3RvdHlwZS5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWUuZ2V0TmFtZSgpfTtKZC5wcm90b3R5cGUuamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmplKCl9O3ZhciBNZD1mdW5jdGlvbigpe3RoaXMubWFwPW5ldyBNYXB9O01kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm1hcC5zZXQoYSxiKX07TWQucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5tYXAuZ2V0KGEpfTt2YXIgTmQ9ZnVuY3Rpb24oKXt0aGlzLmtleXM9W107dGhpcy52YWx1ZXM9W119O05kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmtleXMucHVzaChhKTt0aGlzLnZhbHVlcy5wdXNoKGIpfTtOZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMua2V5cy5pbmRleE9mKGEpO2lmKGI+LTEpcmV0dXJuIHRoaXMudmFsdWVzW2JdfTtmdW5jdGlvbiBPZCgpe3RyeXtyZXR1cm4gTWFwP25ldyBNZDpuZXcgTmR9Y2F0Y2goYSl7cmV0dXJuIG5ldyBOZH19O3ZhciBQZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgUGQpcmV0dXJuIGE7dmFyIGI7YTppZihhPT12b2lkIDB8fEFycmF5LmlzQXJyYXkoYSl8fENkKGEpKWI9ITA7ZWxzZXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOmNhc2UgIm51bWJlciI6Y2FzZSAic3RyaW5nIjpjYXNlICJmdW5jdGlvbiI6Yj0hMDticmVhayBhfWI9ITF9aWYoYil0aHJvdyBFcnJvcigiVHlwZSBvZiBnaXZlbiB2YWx1ZSBoYXMgYW4gZXF1aXZhbGVudCBQaXhpZSB0eXBlLiIpO3RoaXMudmFsdWU9YX07UGQucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O1BkLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy52YWx1ZSl9O3ZhciBTZD1mdW5jdGlvbihhKXt0aGlzLnByb21pc2U9YTt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhO3RoaXMubGEuc2V0KCJ0aGVuIixSZCh0aGlzKSk7dGhpcy5sYS5zZXQoImNhdGNoIixSZCh0aGlzLCEwKSk7dGhpcy5sYS5zZXQoImZpbmFsbHkiLFJkKHRoaXMsITEsITApKX07az1TZC5wcm90b3R5cGU7ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuZ2V0KGEpfTtrLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTmF8fHRoaXMubGEuc2V0KGEsYil9O2suaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmhhcyhhKX07ay5yZW1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5OYXx8dGhpcy5sYS5yZW1vdmUoYSl9O2suRmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5GYSgpfTtrLmhjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuaGMoKX07ay5mYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmZjKCl9Owp2YXIgUmQ9ZnVuY3Rpb24oYSxiLGMpe2I9Yj09PXZvaWQgMD8hMTpiO2M9Yz09PXZvaWQgMD8hMTpjO3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oZCxlKXtiJiYoZT1kLGQ9dm9pZCAwKTtjJiYoZT1kKTtkIGluc3RhbmNlb2YgS2R8fChkPXZvaWQgMCk7ZSBpbnN0YW5jZW9mIEtkfHwoZT12b2lkIDApO3ZhciBmPXRoaXMuVC53YigpLGc9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gYz8obC5pbnZva2UoZiksYS5wcm9taXNlKTpsLmludm9rZShmLG4pfWNhdGNoKHApe3JldHVybiBQcm9taXNlLnJlamVjdChwIGluc3RhbmNlb2YgRXJyb3I/bmV3IFBkKHApOlN0cmluZyhwKSl9fX0saD1hLnByb21pc2UudGhlbihkJiZnKGQpLGUmJmcoZSkpO3JldHVybiBuZXcgU2QoaCl9KX07U2QucHJvdG90eXBlLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07U2QucHJvdG90eXBlLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9O2Z1bmN0aW9uIFRkKGEsYixjKXt2YXIgZD1PZCgpLGU9ZnVuY3Rpb24oZyxoKXtmb3IodmFyIGw9Zy5GYSgpLG49MDtuPGwubGVuZ3RoO24rKyloW2xbbl1dPWYoZy5nZXQobFtuXSkpfSxmPWZ1bmN0aW9uKGcpe2lmKGc9PT1udWxsfHxnPT09dm9pZCAwKXJldHVybiBnO3ZhciBoPWQuZ2V0KGcpO2lmKGgpcmV0dXJuIGg7aWYoZyBpbnN0YW5jZW9mIEdkKXt2YXIgbD1bXTtkLnNldChnLGwpO2Zvcih2YXIgbj1nLkZhKCkscD0wO3A8bi5sZW5ndGg7cCsrKWxbbltwXV09ZihnLmdldChuW3BdKSk7cmV0dXJuIGx9aWYoZyBpbnN0YW5jZW9mIFNkKXJldHVybiBnLnByb21pc2UudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gVGQodSxiLDEpfSxmdW5jdGlvbih1KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoVGQodSxiLDEpKX0pO2lmKGcgaW5zdGFuY2VvZiBrYil7dmFyIHE9e307ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9aWYoZyBpbnN0YW5jZW9mIEtkKXt2YXIgcj1mdW5jdGlvbigpe2Zvcih2YXIgdT0KW10sdj0wO3Y8YXJndW1lbnRzLmxlbmd0aDt2KyspdVt2XT1VZChhcmd1bWVudHNbdl0sYixjKTt2YXIgeD1uZXcgaGIoYj9iLmplKCk6bmV3IFdhKTtiJiZ4LnVlKGIueGIoKSk7cmV0dXJuIGYoZy5hcHBseSh4LHUpKX07ZC5zZXQoZyxyKTtlKGcscik7cmV0dXJuIHJ9dmFyIHQ9ITE7c3dpdGNoKGMpe2Nhc2UgMTp0PSEwO2JyZWFrO2Nhc2UgMjp0PSExO2JyZWFrO2Nhc2UgMzp0PSExO2JyZWFrO2RlZmF1bHQ6fWlmKGcgaW5zdGFuY2VvZiBQZCYmdClyZXR1cm4gZy5nZXRWYWx1ZSgpO3N3aXRjaCh0eXBlb2YgZyl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpjYXNlICJzdHJpbmciOmNhc2UgInVuZGVmaW5lZCI6cmV0dXJuIGc7Y2FzZSAib2JqZWN0IjppZihnPT09Cm51bGwpcmV0dXJuIG51bGx9fTtyZXR1cm4gZihhKX0KZnVuY3Rpb24gVWQoYSxiLGMpe3ZhciBkPU9kKCksZT1mdW5jdGlvbihnLGgpe2Zvcih2YXIgbCBpbiBnKWcuaGFzT3duUHJvcGVydHkobCkmJmguc2V0KGwsZihnW2xdKSl9LGY9ZnVuY3Rpb24oZyl7dmFyIGg9ZC5nZXQoZyk7aWYoaClyZXR1cm4gaDtpZihBcnJheS5pc0FycmF5KGcpfHxIYihnKSl7dmFyIGw9bmV3IEdkO2Quc2V0KGcsbCk7Zm9yKHZhciBuIGluIGcpZy5oYXNPd25Qcm9wZXJ0eShuKSYmbC5zZXQobixmKGdbbl0pKTtyZXR1cm4gbH1pZihDZChnKSl7dmFyIHA9bmV3IGtiO2Quc2V0KGcscCk7ZShnLHApO3JldHVybiBwfWlmKHR5cGVvZiBnPT09ImZ1bmN0aW9uIil7dmFyIHE9bmV3IEtkKCIiLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PU9hLmFwcGx5KDAsYXJndW1lbnRzKSx2PVtdLHg9MDt4PHUubGVuZ3RoO3grKyl2W3hdPVRkKHRoaXMuZXZhbHVhdGUodVt4XSksYixjKTtyZXR1cm4gZih0aGlzLlQuUGooKShnLGcsdikpfSk7ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9dmFyIHI9dHlwZW9mIGc7aWYoZz09PW51bGx8fHI9PT0ic3RyaW5nInx8cj09PSJudW1iZXIifHxyPT09ImJvb2xlYW4iKXJldHVybiBnO3ZhciB0PSExO3N3aXRjaChjKXtjYXNlIDE6dD0hMDticmVhaztjYXNlIDI6dD0hMTticmVhaztkZWZhdWx0On1pZihnIT09dm9pZCAwJiZ0KXJldHVybiBuZXcgUGQoZyl9O3JldHVybiBmKGEpfTt2YXIgVmQ9e3N1cHBvcnRlZE1ldGhvZHM6ImNvbmNhdCBldmVyeSBmaWx0ZXIgZm9yRWFjaCBoYXNPd25Qcm9wZXJ0eSBpbmRleE9mIGpvaW4gbGFzdEluZGV4T2YgbWFwIHBvcCBwdXNoIHJlZHVjZSByZWR1Y2VSaWdodCByZXZlcnNlIHNoaWZ0IHNsaWNlIHNvbWUgc29ydCBzcGxpY2UgdW5zaGlmdCB0b1N0cmluZyIuc3BsaXQoIiAiKSxjb25jYXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPHRoaXMubGVuZ3RoKCk7YysrKWIucHVzaCh0aGlzLmdldChjKSk7Zm9yKHZhciBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKylpZihhcmd1bWVudHNbZF1pbnN0YW5jZW9mIEdkKWZvcih2YXIgZT1hcmd1bWVudHNbZF0sZj0wO2Y8ZS5sZW5ndGgoKTtmKyspYi5wdXNoKGUuZ2V0KGYpKTtlbHNlIGIucHVzaChhcmd1bWVudHNbZF0pO3JldHVybiBuZXcgR2QoYil9LGV2ZXJ5OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD0wO2Q8dGhpcy5sZW5ndGgoKSYmCmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJiFiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcykpcmV0dXJuITE7cmV0dXJuITB9LGZpbHRlcjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9W10sZT0wO2U8dGhpcy5sZW5ndGgoKSYmZTxjO2UrKyl0aGlzLmhhcyhlKSYmYi5pbnZva2UoYSx0aGlzLmdldChlKSxlLHRoaXMpJiZkLnB1c2godGhpcy5nZXQoZSkpO3JldHVybiBuZXcgR2QoZCl9LGZvckVhY2g6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dGhpcy5sZW5ndGgoKSxkPTA7ZDx0aGlzLmxlbmd0aCgpJiZkPGM7ZCsrKXRoaXMuaGFzKGQpJiZiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcyl9LGhhc093blByb3BlcnR5OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaGFzKGIpfSxpbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9Yz09PXZvaWQgMD8wOk51bWJlcihjKTtlPDAmJihlPU1hdGgubWF4KGQrZSwwKSk7Zm9yKHZhciBmPQplO2Y8ZDtmKyspaWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sam9pbjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDx0aGlzLmxlbmd0aCgpO2QrKyljLnB1c2godGhpcy5nZXQoZCkpO3JldHVybiBjLmpvaW4oYil9LGxhc3RJbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9ZC0xO2MhPT12b2lkIDAmJihlPWM8MD9kK2M6TWF0aC5taW4oYyxlKSk7Zm9yKHZhciBmPWU7Zj49MDtmLS0paWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sbWFwOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD1bXSxlPTA7ZTx0aGlzLmxlbmd0aCgpJiZlPGM7ZSsrKXRoaXMuaGFzKGUpJiYoZFtlXT1iLmludm9rZShhLHRoaXMuZ2V0KGUpLGUsdGhpcykpO3JldHVybiBuZXcgR2QoZCl9LHBvcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvcCgpfSxwdXNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2guYXBwbHkodGhpcywKdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX0scmVkdWNlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGUsZj0wO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlIG9uIExpc3Qgd2l0aCBubyBlbGVtZW50cy4iKSk7Zm9yKHZhciBnPTA7ZzxkO2crKylpZih0aGlzLmhhcyhnKSl7ZT10aGlzLmdldChnKTtmPWcrMTticmVha31pZihnPT09ZCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBSZWR1Y2Ugb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aDxkO2grKyl0aGlzLmhhcyhoKSYmKGU9Yi5pbnZva2UoYSxlLHRoaXMuZ2V0KGgpLGgsdGhpcykpO3JldHVybiBlfSxyZWR1Y2VSaWdodDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5sZW5ndGgoKSxlLGY9ZC0xO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTsKZm9yKHZhciBnPTE7Zzw9ZDtnKyspaWYodGhpcy5oYXMoZC1nKSl7ZT10aGlzLmdldChkLWcpO2Y9ZC0oZysxKTticmVha31pZihnPmQpdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aD49MDtoLS0pdGhpcy5oYXMoaCkmJihlPWIuaW52b2tlKGEsZSx0aGlzLmdldChoKSxoLHRoaXMpKTtyZXR1cm4gZX0scmV2ZXJzZTpmdW5jdGlvbigpe2Zvcih2YXIgYT1IZCh0aGlzKSxiPWEubGVuZ3RoLTEsYz0wO2I+PTA7Yi0tLGMrKylhLmhhc093blByb3BlcnR5KGIpP3RoaXMuc2V0KGMsYVtiXSk6dGhpcy5yZW1vdmUoYyk7cmV0dXJuIHRoaXN9LHNoaWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hpZnQoKX0sc2xpY2U6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMubGVuZ3RoKCk7Yj09PXZvaWQgMCYmKGI9MCk7Yj1iPDA/TWF0aC5tYXgoZCtiLDApOk1hdGgubWluKGIsZCk7Yz1jPT09CnZvaWQgMD9kOmM8MD9NYXRoLm1heChkK2MsMCk6TWF0aC5taW4oYyxkKTtjPU1hdGgubWF4KGIsYyk7Zm9yKHZhciBlPVtdLGY9YjtmPGM7ZisrKWUucHVzaCh0aGlzLmdldChmKSk7cmV0dXJuIG5ldyBHZChlKX0sc29tZTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9MDtkPHRoaXMubGVuZ3RoKCkmJmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJmIuaW52b2tlKGEsdGhpcy5nZXQoZCksZCx0aGlzKSlyZXR1cm4hMDtyZXR1cm4hMX0sc29ydDpmdW5jdGlvbihhLGIpe3ZhciBjPUhkKHRoaXMpO2I9PT12b2lkIDA/Yy5zb3J0KCk6Yy5zb3J0KGZ1bmN0aW9uKGUsZil7cmV0dXJuIE51bWJlcihiLmludm9rZShhLGUsZikpfSk7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspYy5oYXNPd25Qcm9wZXJ0eShkKT90aGlzLnNldChkLGNbZF0pOnRoaXMucmVtb3ZlKGQpO3JldHVybiB0aGlzfSxzcGxpY2U6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLnNwbGljZS5hcHBseSh0aGlzLApbYixjXS5jb25jYXQodyhPYS5hcHBseSgzLGFyZ3VtZW50cykpKSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoKX0sdW5zaGlmdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bnNoaWZ0LmFwcGx5KHRoaXMsdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX19O3ZhciBXZD17Y2hhckF0OjEsY29uY2F0OjEsaW5kZXhPZjoxLGxhc3RJbmRleE9mOjEsbWF0Y2g6MSxyZXBsYWNlOjEsc2VhcmNoOjEsc2xpY2U6MSxzcGxpdDoxLHN1YnN0cmluZzoxLHRvTG93ZXJDYXNlOjEsdG9Mb2NhbGVMb3dlckNhc2U6MSx0b1N0cmluZzoxLHRvVXBwZXJDYXNlOjEsdG9Mb2NhbGVVcHBlckNhc2U6MSx0cmltOjF9LFhkPW5ldyBUYSgiYnJlYWsiKSxZZD1uZXcgVGEoImNvbnRpbnVlIik7ZnVuY3Rpb24gWmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSt0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uICRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyk7aWYoIShmIGluc3RhbmNlb2YgR2QpKXRocm93IEVycm9yKCJFcnJvcjogTm9uLUxpc3QgYXJndW1lbnQgZ2l2ZW4gdG8gQXBwbHkgaW5zdHJ1Y3Rpb24uIik7aWYoZD09PW51bGx8fGQ9PT12b2lkIDApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogQ2FuJ3QgcmVhZCBwcm9wZXJ0eSAiK2UrIiBvZiAiK2QrIi4iKSk7dmFyIGc9dHlwZW9mIGQ9PT0ibnVtYmVyIjtpZih0eXBlb2YgZD09PSJib29sZWFuInx8Zyl7aWYoZT09PSJ0b1N0cmluZyIpe2lmKGcmJmYubGVuZ3RoKCkpe3ZhciBoPVRkKGYuZ2V0KDApKTt0cnl7cmV0dXJuIGQudG9TdHJpbmcoaCl9Y2F0Y2godSl7fX1yZXR1cm4gZC50b1N0cmluZygpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZCsiLiIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uLiIpKTt9aWYodHlwZW9mIGQ9PT0KInN0cmluZyIpe2lmKFdkLmhhc093blByb3BlcnR5KGUpKXt2YXIgbD1UZChmLHZvaWQgMCwxKTtyZXR1cm4gVWQoZFtlXS5hcHBseShkLGwpLHRoaXMuVCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKGQgaW5zdGFuY2VvZiBHZCl7aWYoZC5oYXMoZSkpe3ZhciBuPWQuZ2V0KFN0cmluZyhlKSk7aWYobiBpbnN0YW5jZW9mIEtkKXt2YXIgcD1IZChmKTtyZXR1cm4gbi5hcHBseSh0aGlzLlQscCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKFZkLnN1cHBvcnRlZE1ldGhvZHMuaW5kZXhPZihlKT49MCl7dmFyIHE9SGQoZik7cmV0dXJuIFZkW2VdLmNhbGwuYXBwbHkoVmRbZV0sW2QsdGhpcy5UXS5jb25jYXQodyhxKSkpfX1pZihkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkKXtpZihkLmhhcyhlKSl7dmFyIHI9ZC5nZXQoZSk7CmlmKHIgaW5zdGFuY2VvZiBLZCl7dmFyIHQ9SGQoZik7cmV0dXJuIHIuYXBwbHkodGhpcy5ULHQpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uIikpO31pZihlPT09InRvU3RyaW5nIilyZXR1cm4gZCBpbnN0YW5jZW9mIEtkP2QuZ2V0TmFtZSgpOmQudG9TdHJpbmcoKTtpZihlPT09Imhhc093blByb3BlcnR5IilyZXR1cm4gZC5oYXMoZi5nZXQoMCkpfWlmKGQgaW5zdGFuY2VvZiBQZCYmZT09PSJ0b1N0cmluZyIpcmV0dXJuIGQudG9TdHJpbmcoKTt0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBPYmplY3QgaGFzIG5vICciK2UrIicgcHJvcGVydHkuIikpO30KZnVuY3Rpb24gYmUoYSxiKXthPXRoaXMuZXZhbHVhdGUoYSk7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigiSW52YWxpZCBrZXkgbmFtZSBnaXZlbiBmb3IgYXNzaWdubWVudC4iKTt2YXIgYz10aGlzLlQ7aWYoIWMuaGFzKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFzc2lnbiB0byB1bmRlZmluZWQgdmFsdWUgIitiKTt2YXIgZD10aGlzLmV2YWx1YXRlKGIpO2Muc2V0KGEsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gY2UoKXt2YXIgYT1PYS5hcHBseSgwLGFyZ3VtZW50cyksYj10aGlzLlQud2IoKSxjPWViKGIsYSk7aWYoYyBpbnN0YW5jZW9mIFRhKXJldHVybiBjfWZ1bmN0aW9uIGRlKCl7cmV0dXJuIFhkfWZ1bmN0aW9uIGVlKGEpe2Zvcih2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShiW2NdKTtpZihkIGluc3RhbmNlb2YgVGEpcmV0dXJuIGR9fQpmdW5jdGlvbiBmZSgpe2Zvcih2YXIgYT10aGlzLlQsYj0wO2I8YXJndW1lbnRzLmxlbmd0aC0xO2IrPTIpe3ZhciBjPWFyZ3VtZW50c1tiXTtpZih0eXBlb2YgYz09PSJzdHJpbmciKXt2YXIgZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLlFoKGMsZCl9fX1mdW5jdGlvbiBnZSgpe3JldHVybiBZZH1mdW5jdGlvbiBoZShhLGIpe3JldHVybiBuZXcgVGEoYSx0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBpZShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2Q9bmV3IEdkO2Zvcih2YXIgZT10aGlzLmV2YWx1YXRlKGIpLGY9MDtmPGUubGVuZ3RoO2YrKylkLnB1c2goZVtmXSk7dmFyIGc9WzUxLGEsZF0uY29uY2F0KHcoYykpO3RoaXMuVC5hZGQoYSx0aGlzLmV2YWx1YXRlKGcpKX1mdW5jdGlvbiBqZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpL3RoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGtlKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYiksZT1jIGluc3RhbmNlb2YgUGQsZj1kIGluc3RhbmNlb2YgUGQ7cmV0dXJuIGV8fGY/ZSYmZj9jLmdldFZhbHVlKCk9PT1kLmdldFZhbHVlKCk6ITE6Yz09ZH1mdW5jdGlvbiBsZSgpe2Zvcih2YXIgYSxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylhPXRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKTtyZXR1cm4gYX1mdW5jdGlvbiBtZShhLGIsYyxkKXtmb3IodmFyIGU9MDtlPGIoKTtlKyspe3ZhciBmPWEoYyhlKSksZz1lYihmLGQpO2lmKGcgaW5zdGFuY2VvZiBUYSl7aWYoZy50eXBlPT09ImJyZWFrIilicmVhaztpZihnLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gZ319fQpmdW5jdGlvbiBuZShhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilyZXR1cm4gbWUoYSxmdW5jdGlvbigpe3JldHVybiBiLmxlbmd0aH0sZnVuY3Rpb24oZil7cmV0dXJuIGZ9LGMpO2lmKGIgaW5zdGFuY2VvZiBrYnx8YiBpbnN0YW5jZW9mIFNkfHxiIGluc3RhbmNlb2YgR2R8fGIgaW5zdGFuY2VvZiBLZCl7dmFyIGQ9Yi5GYSgpLGU9ZC5sZW5ndGg7cmV0dXJuIG1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gZX0sZnVuY3Rpb24oZil7cmV0dXJuIGRbZl19LGMpfX1mdW5jdGlvbiBvZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXtnLnNldChkLGgpO3JldHVybiBnfSxlLGYpfQpmdW5jdGlvbiBwZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXt2YXIgbD1nLndiKCk7bC5RaChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIG5lKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLmFkZChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHJlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe2cuc2V0KGQsaCk7cmV0dXJuIGd9LGUsZil9CmZ1bmN0aW9uIHRlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLlFoKGQsaCk7cmV0dXJuIGx9LGUsZil9ZnVuY3Rpb24gdWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKSxnPXRoaXMuVDtyZXR1cm4gc2UoZnVuY3Rpb24oaCl7dmFyIGw9Zy53YigpO2wuYWRkKGQsaCk7cmV0dXJuIGx9LGUsZil9CmZ1bmN0aW9uIHNlKGEsYixjKXtpZih0eXBlb2YgYj09PSJzdHJpbmciKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RofSxmdW5jdGlvbihkKXtyZXR1cm4gYltkXX0sYyk7aWYoYiBpbnN0YW5jZW9mIEdkKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RoKCl9LGZ1bmN0aW9uKGQpe3JldHVybiBiLmdldChkKX0sYyk7dGhyb3cgY2IoRXJyb3IoIlRoZSB2YWx1ZSBpcyBub3QgaXRlcmFibGUuIikpO30KZnVuY3Rpb24gdmUoYSxiLGMsZCl7ZnVuY3Rpb24gZShxLHIpe2Zvcih2YXIgdD0wO3Q8Zi5sZW5ndGgoKTt0Kyspe3ZhciB1PWYuZ2V0KHQpO3IuYWRkKHUscS5nZXQodSkpfX12YXIgZj10aGlzLmV2YWx1YXRlKGEpO2lmKCEoZiBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiVHlwZUVycm9yOiBOb24tTGlzdCBhcmd1bWVudCBnaXZlbiB0byBGb3JMZXQgaW5zdHJ1Y3Rpb24uIik7dmFyIGc9dGhpcy5ULGg9dGhpcy5ldmFsdWF0ZShkKSxsPWcud2IoKTtmb3IoZShnLGwpO2ZiKGwsYik7KXt2YXIgbj1lYihsLGgpO2lmKG4gaW5zdGFuY2VvZiBUYSl7aWYobi50eXBlPT09ImJyZWFrIilicmVhaztpZihuLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gbn12YXIgcD1nLndiKCk7ZShsLHApO2ZiKHAsYyk7bD1wfX0KZnVuY3Rpb24gd2UoYSxiKXt2YXIgYz1PYS5hcHBseSgyLGFyZ3VtZW50cyksZD10aGlzLlQsZT10aGlzLmV2YWx1YXRlKGIpO2lmKCEoZSBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiRXJyb3I6IG5vbi1MaXN0IHZhbHVlIGdpdmVuIGZvciBGbiBhcmd1bWVudCBuYW1lcy4iKTtyZXR1cm4gbmV3IEtkKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz1kLndiKCk7Zy54YigpPT09dm9pZCAwJiZnLnVlKHRoaXMuVC54YigpKTtmb3IodmFyIGg9W10sbD0wO2w8Zi5sZW5ndGg7bCsrKXt2YXIgbj10aGlzLmV2YWx1YXRlKGZbbF0pO2hbbF09bn1mb3IodmFyIHA9ZS5nZXQoImxlbmd0aCIpLHE9MDtxPHA7cSsrKXE8aC5sZW5ndGg/Zy5hZGQoZS5nZXQocSksaFtxXSk6Zy5hZGQoZS5nZXQocSksdm9pZCAwKTtnLmFkZCgiYXJndW1lbnRzIixuZXcgR2QoaCkpO3ZhciByPWViKGcsYyk7aWYociBpbnN0YW5jZW9mIFRhKXJldHVybiByLnR5cGU9PT0KInJldHVybiI/ci5kYXRhOnJ9fSgpKX1mdW5jdGlvbiB4ZShhKXt2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9dGhpcy5UO2lmKHllJiYhYy5oYXMoYikpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGIrIiBpcyBub3QgZGVmaW5lZC4iKTtyZXR1cm4gYy5nZXQoYil9CmZ1bmN0aW9uIHplKGEsYil7dmFyIGMsZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKTtpZihkPT09dm9pZCAwfHxkPT09bnVsbCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0aWVzIG9mICIrZCsiIChyZWFkaW5nICciK2UrIicpIikpO2lmKGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkfHxkIGluc3RhbmNlb2YgR2R8fGQgaW5zdGFuY2VvZiBLZCljPWQuZ2V0KGUpO2Vsc2UgaWYodHlwZW9mIGQ9PT0ic3RyaW5nIillPT09Imxlbmd0aCI/Yz1kLmxlbmd0aDpGZChlKSYmKGM9ZFtlXSk7ZWxzZSBpZihkIGluc3RhbmNlb2YgUGQpcmV0dXJuO3JldHVybiBjfWZ1bmN0aW9uIEFlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk+dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBCZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpPj10aGlzLmV2YWx1YXRlKGIpfQpmdW5jdGlvbiBDZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO2MgaW5zdGFuY2VvZiBQZCYmKGM9Yy5nZXRWYWx1ZSgpKTtkIGluc3RhbmNlb2YgUGQmJihkPWQuZ2V0VmFsdWUoKSk7cmV0dXJuIGM9PT1kfWZ1bmN0aW9uIERlKGEsYil7cmV0dXJuIUNlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIEVlKGEsYixjKXt2YXIgZD1bXTt0aGlzLmV2YWx1YXRlKGEpP2Q9dGhpcy5ldmFsdWF0ZShiKTpjJiYoZD10aGlzLmV2YWx1YXRlKGMpKTt2YXIgZT1lYih0aGlzLlQsZCk7aWYoZSBpbnN0YW5jZW9mIFRhKXJldHVybiBlfXZhciB5ZT0hMTsKZnVuY3Rpb24gRmUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKTx0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIEdlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk8PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gSGUoKXtmb3IodmFyIGE9bmV3IEdkLGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiXSk7YS5wdXNoKGMpfXJldHVybiBhfWZ1bmN0aW9uIEllKCl7Zm9yKHZhciBhPW5ldyBrYixiPTA7Yjxhcmd1bWVudHMubGVuZ3RoLTE7Yis9Mil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKSksZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLnNldChjLGQpfXJldHVybiBhfWZ1bmN0aW9uIEplKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkldGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gS2UoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSp0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIExlKGEpe3JldHVybi10aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE1lKGEpe3JldHVybiF0aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE5lKGEsYil7cmV0dXJuIWtlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIE9lKCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gUGUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBRZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSk7dGhpcy5ldmFsdWF0ZShiKTtyZXR1cm4gY31mdW5jdGlvbiBSZShhKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKX1mdW5jdGlvbiBTZSgpe3JldHVybiBPYS5hcHBseSgwLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVGUoYSl7cmV0dXJuIG5ldyBUYSgicmV0dXJuIix0aGlzLmV2YWx1YXRlKGEpKX0KZnVuY3Rpb24gVWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZihkPT09bnVsbHx8ZD09PXZvaWQgMCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW4ndCBzZXQgcHJvcGVydHkgIitlKyIgb2YgIitkKyIuIikpOyhkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBHZHx8ZCBpbnN0YW5jZW9mIGtiKSYmZC5zZXQoU3RyaW5nKGUpLGYpO3JldHVybiBmfWZ1bmN0aW9uIFZlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSktdGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gV2UoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZighQXJyYXkuaXNBcnJheShlKXx8IUFycmF5LmlzQXJyYXkoZikpdGhyb3cgRXJyb3IoIkVycm9yOiBNYWxmb3JtZWQgc3dpdGNoIGluc3RydWN0aW9uLiIpO2Zvcih2YXIgZyxoPSExLGw9MDtsPGUubGVuZ3RoO2wrKylpZihofHxkPT09dGhpcy5ldmFsdWF0ZShlW2xdKSlpZihnPXRoaXMuZXZhbHVhdGUoZltsXSksZyBpbnN0YW5jZW9mIFRhKXt2YXIgbj1nLnR5cGU7aWYobj09PSJicmVhayIpcmV0dXJuO2lmKG49PT0icmV0dXJuInx8bj09PSJjb250aW51ZSIpcmV0dXJuIGd9ZWxzZSBoPSEwO2lmKGYubGVuZ3RoPT09ZS5sZW5ndGgrMSYmKGc9dGhpcy5ldmFsdWF0ZShmW2YubGVuZ3RoLTFdKSxnIGluc3RhbmNlb2YgVGEmJihnLnR5cGU9PT0icmV0dXJuInx8Zy50eXBlPT09ImNvbnRpbnVlIikpKXJldHVybiBnfQpmdW5jdGlvbiBYZShhLGIsYyl7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk/dGhpcy5ldmFsdWF0ZShiKTp0aGlzLmV2YWx1YXRlKGMpfWZ1bmN0aW9uIFllKGEpe3ZhciBiPXRoaXMuZXZhbHVhdGUoYSk7cmV0dXJuIGIgaW5zdGFuY2VvZiBLZD8iZnVuY3Rpb24iOnR5cGVvZiBifWZ1bmN0aW9uIFplKCl7Zm9yKHZhciBhPXRoaXMuVCxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKyl7dmFyIGM9YXJndW1lbnRzW2JdO3R5cGVvZiBjIT09InN0cmluZyJ8fGEuYWRkKGMsdm9pZCAwKX19CmZ1bmN0aW9uICRlKGEsYixjLGQpe3ZhciBlPXRoaXMuZXZhbHVhdGUoZCk7aWYodGhpcy5ldmFsdWF0ZShjKSl7dmFyIGY9ZWIodGhpcy5ULGUpO2lmKGYgaW5zdGFuY2VvZiBUYSl7aWYoZi50eXBlPT09ImJyZWFrIilyZXR1cm47aWYoZi50eXBlPT09InJldHVybiIpcmV0dXJuIGZ9fWZvcig7dGhpcy5ldmFsdWF0ZShhKTspe3ZhciBnPWViKHRoaXMuVCxlKTtpZihnIGluc3RhbmNlb2YgVGEpe2lmKGcudHlwZT09PSJicmVhayIpYnJlYWs7aWYoZy50eXBlPT09InJldHVybiIpcmV0dXJuIGd9dGhpcy5ldmFsdWF0ZShiKX19ZnVuY3Rpb24gYWYoYSl7cmV0dXJufk51bWJlcih0aGlzLmV2YWx1YXRlKGEpKX1mdW5jdGlvbiBiZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk8PE51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBjZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk+Pk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX0KZnVuY3Rpb24gZGYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpPj4+TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGVmKGEsYil7cmV0dXJuIE51bWJlcih0aGlzLmV2YWx1YXRlKGEpKSZOdW1iZXIodGhpcy5ldmFsdWF0ZShiKSl9ZnVuY3Rpb24gZmYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpXk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBnZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSl8TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGhmKCl7fQpmdW5jdGlvbiBrZihhLGIsYyl7dHJ5e3ZhciBkPXRoaXMuZXZhbHVhdGUoYik7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfWNhdGNoKGgpe2lmKCEoaCBpbnN0YW5jZW9mIGJiJiZoLlNuKSl0aHJvdyBoO3ZhciBlPXRoaXMuVC53YigpO2EhPT0iIiYmKGggaW5zdGFuY2VvZiBiYiYmKGg9aC52byksZS5hZGQoYSxuZXcgUGQoaCkpKTt2YXIgZj10aGlzLmV2YWx1YXRlKGMpLGc9ZWIoZSxmKTtpZihnIGluc3RhbmNlb2YgVGEpcmV0dXJuIGd9fWZ1bmN0aW9uIGxmKGEsYil7dmFyIGMsZDt0cnl7ZD10aGlzLmV2YWx1YXRlKGEpfWNhdGNoKGYpe2lmKCEoZiBpbnN0YW5jZW9mIGJiJiZmLlNuKSl0aHJvdyBmO2M9Zn12YXIgZT10aGlzLmV2YWx1YXRlKGIpO2lmKGUgaW5zdGFuY2VvZiBUYSlyZXR1cm4gZTtpZihjKXRocm93IGM7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfTt2YXIgbmY9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IGdiO21mKHRoaXMpfTtuZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ILnJrKGEpfTt2YXIgbWY9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oYyxkKXt2YXIgZT1uZXcgTGQoU3RyaW5nKGMpLGQpO2UuWmEoKTt2YXIgZj1TdHJpbmcoYyk7YS5ILkguc2V0KGYsZSk7ZGIuc2V0KGYsZSl9O2IoIm1hcCIsSWUpO2IoImFuZCIsdGQpO2IoImNvbnRhaW5zIix3ZCk7YigiZXF1YWxzIix1ZCk7Yigib3IiLHZkKTtiKCJzdGFydHNXaXRoIix4ZCk7YigidmFyaWFibGUiLHlkKX07bmYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07dmFyIHBmPWZ1bmN0aW9uKCl7dGhpcy5LPSExO3RoaXMuSD1uZXcgZ2I7b2YodGhpcyk7dGhpcy5LPSEwfTtwZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gcWYodGhpcy5ILnJrKGEpKX07dmFyIHJmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gcWYoYS5ILkpxKGIsYykpfTtwZi5wcm90b3R5cGUuWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07CnZhciBvZj1mdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihjLGQpe3ZhciBlPVN0cmluZyhjKSxmPW5ldyBMZChlLGQpO2YuWmEoKTthLkguSC5zZXQoZSxmKTtkYi5zZXQoZSxmKX07YigwLFpkKTtiKDEsJGQpO2IoMixhZSk7YigzLGJlKTtiKDU2LGVmKTtiKDU3LGJmKTtiKDU4LGFmKTtiKDU5LGdmKTtiKDYwLGNmKTtiKDYxLGRmKTtiKDYyLGZmKTtiKDUzLGNlKTtiKDQsZGUpO2IoNSxlZSk7Yig2OCxrZik7Yig1MixmZSk7Yig2LGdlKTtiKDQ5LGhlKTtiKDcsSGUpO2IoOCxJZSk7Yig5LGVlKTtiKDUwLGllKTtiKDEwLGplKTtiKDEyLGtlKTtiKDEzLGxlKTtiKDY3LGxmKTtiKDUxLHdlKTtiKDQ3LG9lKTtiKDU0LHBlKTtiKDU1LHFlKTtiKDYzLHZlKTtiKDY0LHJlKTtiKDY1LHRlKTtiKDY2LHVlKTtiKDE1LHhlKTtiKDE2LHplKTtiKDE3LHplKTtiKDE4LEFlKTtiKDE5LEJlKTtiKDIwLENlKTtiKDIxLERlKTtiKDIyLEVlKTtiKDIzLEZlKTtiKDI0LEdlKTtiKDI1LEplKTtiKDI2LApLZSk7YigyNyxMZSk7YigyOCxNZSk7YigyOSxOZSk7Yig0NSxPZSk7YigzMCxQZSk7YigzMixRZSk7YigzMyxRZSk7YigzNCxSZSk7YigzNSxSZSk7Yig0NixTZSk7YigzNixUZSk7Yig0MyxVZSk7YigzNyxWZSk7YigzOCxXZSk7YigzOSxYZSk7Yig0MCxZZSk7Yig0NCxoZik7Yig0MSxaZSk7Yig0MiwkZSl9O3BmLnByb3RvdHlwZS5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguamUoKX07cGYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07cGYucHJvdG90eXBlLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSC5zZChhKX07CmZ1bmN0aW9uIHFmKGEpe2lmKGEgaW5zdGFuY2VvZiBUYXx8YSBpbnN0YW5jZW9mIEtkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgUGR8fGE9PT1udWxsfHxhPT09dm9pZCAwfHx0eXBlb2YgYT09PSJzdHJpbmcifHx0eXBlb2YgYT09PSJudW1iZXIifHx0eXBlb2YgYT09PSJib29sZWFuIilyZXR1cm4gYX07dmFyIHNmPWZ1bmN0aW9uKGEpe3RoaXMubWVzc2FnZT1hfTtmdW5jdGlvbiB0ZihhKXthLnF2PSEwO3JldHVybiBhfTt2YXIgdWY9dGYoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSx2Zj10ZihmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLHdmPXRmKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO2Z1bmN0aW9uIHhmKGEpe3ZhciBiPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIlthXTtyZXR1cm4gYj09PXZvaWQgMD9uZXcgc2YoIlZhbHVlICIrYSsiIGNhbiBub3QgYmUgZW5jb2RlZCBpbiB3ZWItc2FmZSBiYXNlNjQgZGljdGlvbmFyeS4iKTpifTtmdW5jdGlvbiB5ZihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiIxIjtjYXNlIDI6Y2FzZSA0OnJldHVybiIwIjtkZWZhdWx0OnJldHVybiItIn19O3ZhciB6Zj0vXlsxLTlhLXpBLVpfLV1bMS05YS1jXVsxLTlhLXZdXGQkLztmdW5jdGlvbiBBZihhLGIpe2Zvcih2YXIgYz0iIixkPSEwO2E+Nzspe3ZhciBlPWEmMzE7YT4+PTU7ZD9kPSExOmV8PTMyO2M9IiIreGYoZSkrY31hPDw9MjtkfHwoYXw9MzIpO3JldHVybiBjPSIiK3hmKGF8YikrY31mdW5jdGlvbiBCZihhLGIpe3JldHVybiBiPT09dm9pZCAwfHxiPT09MD8iIjoiIitBZihhLDEpK3hmKGIpfQpmdW5jdGlvbiBDZihhLGIpe3ZhciBjO3ZhciBkPWEuaGksZT1hLmJrO2Q9PT12b2lkIDA/Yz0iIjooZXx8KGU9MCksYz0iIitBZigxLDEpK3hmKGQ8PDJ8ZSkpO3ZhciBmPSI0IitjK0JmKDIsYS5xciksZyxoPWEuSW87Zz1oJiZ6Zi50ZXN0KGgpPyIiK0FmKDMsMikraDoiIjt2YXIgbDt2YXIgbj1hLmN0aWQ7aWYobiYmYil7dmFyIHA9QWYoNSwzKSxxPW4uc3BsaXQoIi0iKSxyPXFbMF0udG9VcHBlckNhc2UoKTtpZihyIT09IkdUTSImJnIhPT0iT1BUIilsPSIiO2Vsc2V7dmFyIHQ9cVsxXTtsPSIiK3AreGYoMSt0Lmxlbmd0aCkrKGEuTHN8fDApK3R9fWVsc2UgbD0iIjt2YXIgdT1hLmNhbm9uaWNhbElkLHY9YS5tYyx4PWEuenYseT1mK2crQmYoNCxhLkRvKStsK0JmKDYsYS5EdCkrKHU/IiIrQWYoNywzKSt4Zih1Lmxlbmd0aCkrdToiIikrKHY/IiIrQWYoOCwzKSt4Zih2Lmxlbmd0aCkrdjoiIikrKHg/IiIrQWYoOSwzKSt4Zih4Lmxlbmd0aCkreDoiIiksejt2YXIgQz1hLnpyO0M9CkM9PT12b2lkIDA/e306Qztmb3IodmFyIEQ9W10sST1tKE9iamVjdC5rZXlzKEMpKSxHPUkubmV4dCgpOyFHLmRvbmU7Rz1JLm5leHQoKSl7dmFyIE49Ry52YWx1ZTtEW051bWJlcihOKV09Q1tOXX1pZihELmxlbmd0aCl7dmFyIFM9QWYoMTAsMyksVztpZihELmxlbmd0aD09PTApVz14ZigwKTtlbHNle2Zvcih2YXIgZWE9W10samE9MCxmYT0hMSxzYT0wO3NhPEQubGVuZ3RoO3NhKyspe2ZhPSEwO3ZhciBkYT1zYSU2O0Rbc2FdJiYoamF8PTE8PGRhKTtkYT09PTUmJihlYS5wdXNoKHhmKGphKSksamE9MCxmYT0hMSl9ZmEmJmVhLnB1c2goeGYoamEpKTtXPWVhLmpvaW4oIiIpfXZhciBtYT1XO3o9IiIrUyt4ZihtYS5sZW5ndGgpK21hfWVsc2Ugej0iIjt2YXIgUGE9YS5VcyxGYT1hLm50O3JldHVybiB5K3orKFBhPyIiK0FmKDExLDMpK3hmKFBhLmxlbmd0aCkrUGE6IiIpKyhGYT8iIitBZigxMywzKSt4ZihGYS5sZW5ndGgpK0ZhOiIiKStCZigxNCxhLkV0KStCZigxNSxhLnJ2KStCZigxNiwKYS5Bdil9O2Z1bmN0aW9uIERmKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09NTYzMjA/KGU9NjU1MzYrKChlJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2QpJjEwMjMpLGJbYysrXT1lPj4xOHwyNDAsYltjKytdPWU+PjEyJjYzfDEyOCk6YltjKytdPWU+PjEyfDIyNCxiW2MrK109ZT4+NiY2M3wxMjgpLGJbYysrXT1lJjYzfDEyOCl9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVmKGEsYil7Zm9yKHZhciBjPXFiKGIpLGQ9bmV3IFVpbnQ4QXJyYXkoYy5sZW5ndGgpLGU9MDtlPGMubGVuZ3RoO2UrKylkW2VdPWMuY2hhckNvZGVBdChlKTtpZihkLmxlbmd0aCE9PTMyKXRocm93IEVycm9yKCJLZXkgaXMgbm90IDMyIGJ5dGVzLiIpO3JldHVybiBGZihhLGQpfWZ1bmN0aW9uIEZmKGEsYil7aWYoYT09PSIiKXJldHVybiIiO3ZhciBjPVpiKGEpLGQ9Yi5zbGljZSgtMiksZT1bXS5jb25jYXQodyhkKSx3KGMpKS5tYXAoZnVuY3Rpb24oZyxoKXtyZXR1cm4gZ15iW2glYi5sZW5ndGhdfSksZj1uZXcgVWludDhBcnJheShbXS5jb25jYXQodyhlKSx3KGQpKSk7cmV0dXJuIHBiKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLHcoZikpKS5yZXBsYWNlKC9cLiskLywiIil9O3ZhciBHZj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYil7cmV0dXJue3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9fX1yZXR1cm57Y3A6YSgiY29uc2VudCIpLFprOmEoImNvbnZlcnRfY2FzZV90byIpLGFsOmEoImNvbnZlcnRfZmFsc2VfdG8iKSxibDphKCJjb252ZXJ0X251bGxfdG8iKSxlcDphKCJjb252ZXJ0X3RvX2Jvb2xlYW4iKSxhaDphKCJjb252ZXJ0X3RvX251bWJlciIpLGZsOmEoImNvbnZlcnRfdHJ1ZV90byIpLGlsOmEoImNvbnZlcnRfdW5kZWZpbmVkX3RvIiksWXQ6YSgiZGVidWdfbW9kZV9tZXRhZGF0YSIpLFliOmEoImZ1bmN0aW9uIiksUm06YSgiaW5zdGFuY2VfbmFtZSIpLE5xOmEoImxpdmVfb25seSIpLE9xOmEoIm1hbHdhcmVfZGlzYWJsZWQiKSxNRVRBREFUQTphKCJtZXRhZGF0YSIpLFJxOmEoIm9yaWdpbmFsX2FjdGl2aXR5X2lkIiksVHU6YSgib3JpZ2luYWxfdmVuZG9yX3RlbXBsYXRlX2lkIiksU3U6YSgib25jZV9vbl9sb2FkIiksUXE6YSgib25jZV9wZXJfZXZlbnQiKSwKa246YSgib25jZV9wZXJfbG9hZCIpLFZ1OmEoInByaW9yaXR5X292ZXJyaWRlIiksWXU6YSgicmVzcGVjdGVkX2NvbnNlbnRfdHlwZXMiKSx0bjphKCJzZXR1cF90YWdzIikseWo6YSgidGFnX2lkIiksRG46YSgidGVhcmRvd25fdGFncyIpLHBsOmEoImRpc2FibGVkX2luX2dvb2dsZV9tb2RlIiksRnE6YSgiZ2VuZXJhdGVkX3RhZ2dpbmdfbWV0YWRhdGEiKX19KCk7ZnVuY3Rpb24gSGYoYSxiKXt2YXIgYz17fTtjW0dmLlliXT0iX18iK2E7Zm9yKHZhciBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbInZ0cF8iK2RdPWJbZF0pO3JldHVybiBjfTtmdW5jdGlvbiBJZihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjLGQ7cmV0dXJuKChjPWRhdGEpPT1udWxsPzA6KGQ9Yy5ibG9iKT09bnVsbD8wOmQuaGFzT3duUHJvcGVydHkoYSkpPyEhZGF0YS5ibG9iW2FdOmJ9ZnVuY3Rpb24gRShhKXt2YXIgYjtiPWI9PT12b2lkIDA/IiI6Yjt2YXIgYyxkO3JldHVybigoYz1kYXRhKT09bnVsbD8wOihkPWMuYmxvYik9PW51bGw/MDpkLmhhc093blByb3BlcnR5KGEpKT9TdHJpbmcoZGF0YS5ibG9iW2FdKTpifWZ1bmN0aW9uIEpmKGEpe3ZhciBiLGM7cmV0dXJuKChiPWRhdGEpPT1udWxsPzA6KGM9Yi5ibG9iKT09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihkYXRhLmJsb2JbYV0pOjB9ZnVuY3Rpb24gS2YoYSl7dmFyIGI7Yj1iPT09dm9pZCAwP1tdOmI7dmFyIGMsZCxlPShjPWRhdGEpPT1udWxsP3ZvaWQgMDooZD1jLmJsb2IpPT1udWxsP3ZvaWQgMDpkW2FdO3JldHVybiBBcnJheS5pc0FycmF5KGUpP2U6Yn0KZnVuY3Rpb24gTGYoYSl7dmFyIGI7Yj1iPT09dm9pZCAwPyIiOmI7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP1N0cmluZyhjW2FdKTpifWZ1bmN0aW9uIE5mKGEsYil7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihjW2FdKTpifWZ1bmN0aW9uIE1mKGEpe3ZhciBiLGM7cmV0dXJuKGI9ZGF0YSk9PW51bGw/dm9pZCAwOihjPWIuYmxvYik9PW51bGw/dm9pZCAwOmNbYV19O3ZhciBPZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7ZD1FcnJvci5jYWxsKHRoaXMsYyk7dGhpcy5tZXNzYWdlPWQubWVzc2FnZTsic3RhY2siaW4gZCYmKHRoaXMuc3RhY2s9ZC5zdGFjayk7dGhpcy5wZXJtaXNzaW9uSWQ9YTt0aGlzLnBhcmFtZXRlcnM9Yjt0aGlzLm5hbWU9IlBlcm1pc3Npb25FcnJvciJ9O3dhKE9mLEVycm9yKTtPZi5wcm90b3R5cGUuZ2V0TWVzc2FnZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1lc3NhZ2V9O2Z1bmN0aW9uIFBmKGEsYil7aWYoQXJyYXkuaXNBcnJheShhKSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImNvbnRleHQiLHt2YWx1ZTp7bGluZTpiWzBdfX0pO2Zvcih2YXIgYz0xO2M8YS5sZW5ndGg7YysrKVBmKGFbY10sYltjXSl9fTtmdW5jdGlvbiBRZigpe3JldHVybiBmdW5jdGlvbihhLGIpe3ZhciBjO3ZhciBkPVJmO2EgaW5zdGFuY2VvZiBiYj8oYS5IPWQsYz1hKTpjPW5ldyBiYihhLGQpO3ZhciBlPWM7YiYmZS5LLnB1c2goYik7dGhyb3cgZTt9fWZ1bmN0aW9uIFJmKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4gYTthLnB1c2goe2lkOiJtYWluIixsaW5lOjB9KTtmb3IodmFyIGI9YS5sZW5ndGgtMTtiPjA7Yi0tKUFiKGFbYl0uaWQpJiZhLnNwbGljZShiKyssMSk7Zm9yKHZhciBjPWEubGVuZ3RoLTE7Yz4wO2MtLSlhW2NdLmxpbmU9YVtjLTFdLmxpbmU7YS5zcGxpY2UoMCwxKTtyZXR1cm4gYX07dmFyIFNmPVJlZ0V4cCgiW14wLTlcXC4rLV0iLCJnIiksVGY9UmVnRXhwKCJbXjAtOVxcLCstXSIsImciKSxVZj1SZWdFeHAoIlteMC05Ky1dIiwiZyIpOwpmdW5jdGlvbiBWZihhLGIpe2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuIGE7dmFyIGM9U3RyaW5nKGEpLGQ7aWYoYj09PSJBVVRPTUFUSUMiKXt2YXIgZT0oYy5tYXRjaCgvXC4vZyl8fFtdKS5sZW5ndGgsZj0oYy5tYXRjaCgvLC9nKXx8W10pLmxlbmd0aCxnPSJOT05FIjtpZihlPjAmJmY+MCl7dmFyIGg9Yy5sYXN0SW5kZXhPZigiLiIpPmMubGFzdEluZGV4T2YoIiwiKTtoJiZlPT09MT9nPSJQRVJJT0QiOmh8fGYhPT0xfHwoZz0iQ09NTUEiKX1lbHNlIGU9PT0xP2c9KGMuc3BsaXQoIi4iKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJQRVJJT0QiOiJOT05FIjpmPT09MSYmKGc9KGMuc3BsaXQoIiwiKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJDT01NQSI6Ik5PTkUiKTtkPWd9ZWxzZSBkPWI9PT0iQ09NTUEiPyJDT01NQSI6IlBFUklPRCI7dmFyIGwsbjtkPT09IlBFUklPRCI/KGw9Ii4iLG49U2YpOmQ9PT0iQ09NTUEiPyhsPSIsIiwKbj1UZik6KGw9IiIsbj1VZik7dmFyIHA9Yy5yZXBsYWNlKG4sIiIpO2lmKGwhPT0iIiYmcC5zcGxpdChsKS5sZW5ndGg+MilyZXR1cm4gYTt2YXIgcT1wLnJlcGxhY2UoLywvZywiLiIpO2lmKHE9PT0iIilyZXR1cm4gYTt2YXIgcj1OdW1iZXIocSk7cmV0dXJuIGlzTmFOKHIpP2E6cn07dmFyIFdmPVtdLFhmPXt9O2Z1bmN0aW9uIFlmKGEpe3JldHVybiBXZlthXT09PXZvaWQgMD8hMTpXZlthXX07dmFyIFpmPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSwkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7KGQ9YS5IKVtiXSE9bnVsbHx8KGRbYl09W10pO2EuSFtiXS5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGMuYXBwbHkobnVsbCx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfSl9O2Z1bmN0aW9uIGFnKGEsYixjLGQpe2lmKGEpZm9yKHZhciBlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBmPXZvaWQgMCxnPSJBIHBvbGljeSBmdW5jdGlvbiBkZW5pZWQgdGhlIHBlcm1pc3Npb24gcmVxdWVzdCI7dHJ5e2Y9YVtlXShiLGMsZCksZys9Ii4ifWNhdGNoKGgpe2c9dHlwZW9mIGg9PT0ic3RyaW5nIj9nKygiOiAiK2gpOmggaW5zdGFuY2VvZiBFcnJvcj9nKygiOiAiK2gubWVzc2FnZSk6ZysiLiJ9aWYoIWYpdGhyb3cgbmV3IE9mKGMsZCxnKTt9fQpmdW5jdGlvbiBiZyhhLGIpe3ZhciBjPWNnKGRnLkgsYixmdW5jdGlvbigpe3JldHVybnt9fSk7dHJ5e3JldHVybiBjKGEpLCEwfWNhdGNoKGQpe3JldHVybiExfX1mdW5jdGlvbiBjZyhhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe2lmKGQpe3ZhciBlPWEuSFtkXSxmPWEuSC5hbGw7aWYoZXx8Zil7dmFyIGc9Yy5hcHBseSh2b2lkIDAsW2RdLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKTthZyhlLGIsZCxnKTthZyhmLGIsZCxnKX19fX07dmFyIGdnPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSz17fTt0aGlzLkg9bmV3IFpmO3ZhciBlPXt9LGY9e30sZz1jZyh0aGlzLkgsYSxmdW5jdGlvbihoKXtyZXR1cm4gaCYmZVtoXT9lW2hdLmFwcGx5KHZvaWQgMCxbaF0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpOnt9fSk7R2IoYixmdW5jdGlvbihoLGwpe2Z1bmN0aW9uIG4ocSl7dmFyIHI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKCFwW3FdKXRocm93IGVnKHEse30sIlRoZSByZXF1ZXN0ZWQgYWRkaXRpb25hbCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO2cuYXBwbHkobnVsbCxbcV0uY29uY2F0KHcocikpKX12YXIgcD17fTtHYihsLGZ1bmN0aW9uKHEscil7dmFyIHQ9ZmcocSxyLGMpO3BbcV09dC5hc3NlcnQ7ZVtxXXx8KGVbcV09dC5hYSk7dC5PbiYmIWZbcV0mJihmW3FdPXQuT24pfSk7ZC5LW2hdPWZ1bmN0aW9uKHEscil7dmFyIHQ9cFtxXTtpZighdCl0aHJvdyBlZyhxLAp7fSwiVGhlIHJlcXVlc3RlZCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO3ZhciB1PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTt0LmFwcGx5KHZvaWQgMCx1KTtnLmFwcGx5KHZvaWQgMCx1KTt2YXIgdj1mW3FdO3YmJnYuYXBwbHkobnVsbCxbbl0uY29uY2F0KHcodS5zbGljZSgxKSkpKX19KX0saGc9ZnVuY3Rpb24oYSl7cmV0dXJuIGRnLktbYV18fGZ1bmN0aW9uKCl7fX07CmZ1bmN0aW9uIGZnKGEsYixjKXt0cnl7dmFyIGQ9Y1siX18iK2FdO2lmKCFkKXRocm93IEVycm9yKCJObyBmdW5jdGlvbiBmb3VuZCBmb3IgcGVybWlzc2lvbjogIithKyIuIik7dmFyIGU9SGYoYSxiKTtlLnZ0cF9wZXJtaXNzaW9uTmFtZT1hO2UudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcj1lZztkZWxldGUgZVtHZi5ZYl07cmV0dXJuIGQoZSl9Y2F0Y2goZil7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihnKXt0aHJvdyBuZXcgT2YoZyx7fSwiUGVybWlzc2lvbiAiK2crIiBpcyB1bmtub3duLiIpO30sYWE6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgT2YoYSx7fSwiUGVybWlzc2lvbiAiK2ErIiBpcyB1bmtub3duLiIpO319fX1mdW5jdGlvbiBlZyhhLGIsYyl7cmV0dXJuIG5ldyBPZihhLGIsYyl9O3ZhciBpZz1FKDUpLGpnPUUoMjApLGtnPUUoMSksbGc9ITE7dmFyIG1nPXt9O21nLlBvPUlmKDI5KTttZy5Lcj1JZigyOCk7ZnVuY3Rpb24gbmcoYSl7dmFyIGI9MSxjLGQsZTtpZihhKWZvcihiPTAsZD1hLmxlbmd0aC0xO2Q+PTA7ZC0tKWU9YS5jaGFyQ29kZUF0KGQpLGI9KGI8PDYmMjY4NDM1NDU1KStlKyhlPDwxNCksYz1iJjI2NjMzODMwNCxiPWMhPT0wP2JeYz4+MjE6YjtyZXR1cm4gYn07dmFyIG9nPWZ1bmN0aW9uKGEpe3RoaXMuY2FjaGU9YX07b2cucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXt2YXIgYj1uZyhhKSxjPXRoaXMuY2FjaGUuZ2V0KGIpO2lmKCFjKXJldHVybntwcm9taXNlOnZvaWQgMCxLajowfTtpZihEYXRlLm5vdygpPj1jLnRpbWVzdGFtcCs5RTUpcmV0dXJuIHRoaXMuY2FjaGUuZGVsZXRlKGIpLHtwcm9taXNlOnZvaWQgMCxLajozfTt2YXIgZD1jLnJlc29sdmVkVmFsdWU/MjoxO3JldHVybntwcm9taXNlOmMucmVzb2x2ZWRWYWx1ZT9Qcm9taXNlLnJlc29sdmUoYy5yZXNvbHZlZFZhbHVlKTpjLnByb21pc2UsS2o6ZH19O29nLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz17cHJvbWlzZTpiLHJlc29sdmVkVmFsdWU6dm9pZCAwLHRpbWVzdGFtcDpEYXRlLm5vdygpfTt0aGlzLmNhY2hlLnNldChuZyhhKSxjKTtiLnRoZW4oZnVuY3Rpb24oZCl7Yy5yZXNvbHZlZFZhbHVlPWR9KX07ZnVuY3Rpb24gcGcoYSl7c3dpdGNoKGEpe2Nhc2UgMDpicmVhaztjYXNlIDk6cmV0dXJuImU0IjtjYXNlIDY6cmV0dXJuImU1IjtjYXNlIDE0OnJldHVybiJlNiI7ZGVmYXVsdDpyZXR1cm4iZTcifX07dmFyIEY9e0Q6e1hhOiJhZF9wZXJzb25hbGl6YXRpb24iLGthOiJhZF9zdG9yYWdlIixtYToiYWRfdXNlcl9kYXRhIixyYToiYW5hbHl0aWNzX3N0b3JhZ2UiLG5jOiJyZWdpb24iLHNhOiJjb25zZW50X3VwZGF0ZWQiLFlnOiJ3YWl0X2Zvcl91cGRhdGUiLGVoOiJlbmRwb2ludF90eXBlIixxcDoiYXBwX3JlbW92ZSIscnA6ImFwcF9zdG9yZV9yZWZ1bmQiLHRwOiJhcHBfc3RvcmVfc3Vic2NyaXB0aW9uX2NhbmNlbCIsdXA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY29udmVydCIsdnA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fcmVuZXciLHdwOiJjb25zZW50X3VwZGF0ZSIseHA6ImNvbnZlcnNpb24iLHZsOiJhZGRfcGF5bWVudF9pbmZvIix3bDoiYWRkX3NoaXBwaW5nX2luZm8iLHhlOiJhZGRfdG9fY2FydCIseWU6InJlbW92ZV9mcm9tX2NhcnQiLHhsOiJ2aWV3X2NhcnQiLEFkOiJiZWdpbl9jaGVja291dCIsZXU6ImdlbmVyYXRlX2xlYWQiLHplOiJzZWxlY3RfaXRlbSIsb2M6InZpZXdfaXRlbV9saXN0IiwKUWM6InNlbGVjdF9wcm9tb3Rpb24iLHFjOiJ2aWV3X3Byb21vdGlvbiIsSWI6InB1cmNoYXNlIixBZToicmVmdW5kIixyYzoidmlld19pdGVtIix5bDoiYWRkX3RvX3dpc2hsaXN0Iix5cDoiZXhjZXB0aW9uIix6cDoiZmlyc3Rfb3BlbiIsQXA6ImZpcnN0X3Zpc2l0Iix3YToiZ3RhZy5jb25maWciLEpiOiJndGFnLmdldCIsQnA6ImluX2FwcF9wdXJjaGFzZSIsc2M6InBhZ2VfdmlldyIsQ3A6InNjcmVlbl92aWV3IixEcDoic2Vzc2lvbl9zdGFydCIsRXA6InNvdXJjZV91cGRhdGUiLEZwOiJ0aW1pbmdfY29tcGxldGUiLEdwOiJ0cmFja19zb2NpYWwiLHlmOiJ1c2VyX2VuZ2FnZW1lbnQiLEhwOiJ1c2VyX2lkX3VwZGF0ZSIsZmg6ImJyYWlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLGdoOiJicmFpZF9zdG9yYWdlX3NvdXJjZSIsQmQ6ImdjbGlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLENkOiJnY2xpZF9zdG9yYWdlX3NvdXJjZSIsU2I6ImdjbGdiIixsYjoiZ2NsaWQiLHpsOiJnY2xpZF9sZW4iLApCZToiZ2NsZ3MiLENlOiJnY2xscCIsRGU6ImdjbHN0IixtYjoiYWRzX2RhdGFfcmVkYWN0aW9uIix6ZjoiZ2FkX3NvdXJjZSIsQWY6ImdhZF9zb3VyY2Vfc3JjIixEZDoiZ2NsaWRfdXJsIixBbDoiZ2Nsc3JjIixCZjoiZ2JyYWlkIixFZToid2JyYWlkIixSYzoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uX3NpZ25hbHMiLHJpOiJhbGxvd19jdXN0b21fc2NyaXB0cyIsaGg6ImFsbG93X2Rpc3BsYXlfZmVhdHVyZXMiLHNpOiJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyIsU2M6ImFsbG93X2dvb2dsZV9zaWduYWxzIix1aToiYWxsb3dfaW50ZXJlc3RfZ3JvdXBzIixJcDoiYXBwX2lkIixKcDoiYXBwX2luc3RhbGxlcl9pZCIsS3A6ImFwcF9uYW1lIixMcDoiYXBwX3ZlcnNpb24iLEVkOiJhdWlkIixmdToiYXV0b19kZXRlY3Rpb25fZW5hYmxlZCIsQmw6ImF1dG9fZXZlbnQiLENsOiJhd19yZW1hcmtldGluZyIsaWg6ImF3X3JlbWFya2V0aW5nX29ubHkiLENmOiJkaXNjb3VudCIsRGY6ImF3X2ZlZWRfY291bnRyeSIsCkVmOiJhd19mZWVkX2xhbmd1YWdlIixIYToiaXRlbXMiLEZmOiJhd19tZXJjaGFudF9pZCIsd2k6ImF3X2Jhc2tldF90eXBlIixHZjoiY2FtcGFpZ25fY29udGVudCIsSGY6ImNhbXBhaWduX2lkIixJZjoiY2FtcGFpZ25fbWVkaXVtIixKZjoiY2FtcGFpZ25fbmFtZSIsS2Y6ImNhbXBhaWduIixMZjoiY2FtcGFpZ25fc291cmNlIixNZjoiY2FtcGFpZ25fdGVybSIsS2I6ImNsaWVudF9pZCIsRGw6InJuZCIseGk6ImNvbnNlbnRfdXBkYXRlX3R5cGUiLE1wOiJjb250ZW50X2dyb3VwIixOcDoiY29udGVudF90eXBlIixGZDoiY29udmVyc2lvbl9jb29raWVfcHJlZml4Iix5aToiY29udmVyc2lvbl9pZCIsdWM6ImNvbnZlcnNpb25fbGlua2VyIixIZDoiY29udmVyc2lvbl9saW5rZXJfZGlzYWJsZWQiLEZlOiJjb252ZXJzaW9uX2FwaSIsemk6Il8mcmNiIixqaDoiY29va2llX2RlcHJlY2F0aW9uIixMYjoiY29va2llX2RvbWFpbiIsQ2I6ImNvb2tpZV9leHBpcmVzIixUYjoiY29va2llX2ZsYWdzIiwKSWQ6ImNvb2tpZV9uYW1lIix2YzoiY29va2llX3BhdGgiLG5iOiJjb29raWVfcHJlZml4IixKZDoiY29va2llX3VwZGF0ZSIsVGM6ImNvdW50cnkiLGViOiJjdXJyZW5jeSIsR2U6ImN1c3RvbWVyX2xpZmV0aW1lX3ZhbHVlIixraDoiY3VzdG9tZXJfdHlwZSIsSGU6ImN1c3RvbV9tYXAiLEFpOiJnY2xkY19saW5rX2RlY29yYXRpb25fc291cmNlIixCaToiZ2NsZGNfc3RvcmFnZV9zb3VyY2UiLE5mOiJnY2xkYyIsS2Q6ImRjbGlkIixFbDoiZGVidWdfbW9kZSIsT2E6ImRldmVsb3Blcl9pZCIsT3A6ImRpc2FibGVfbWVyY2hhbnRfcmVwb3J0ZWRfcHVyY2hhc2VzIixVYzoiZGNfY3VzdG9tX3BhcmFtcyIsUHA6ImRjX25hdHVyYWxfc2VhcmNoIixRcDoiZHluYW1pY19ldmVudF9zZXR0aW5ncyIsRmw6ImFmZmlsaWF0aW9uIixtaDoiY2hlY2tvdXRfb3B0aW9uIixDaToiY2hlY2tvdXRfc3RlcCIsR2w6ImNvdXBvbiIsT2Y6Iml0ZW1fbGlzdF9uYW1lIixEaToibGlzdF9uYW1lIixScDoicHJvbW90aW9ucyIsCkxkOiJzaGlwcGluZyIsSGw6InRheCIsbmg6ImVuZ2FnZW1lbnRfdGltZV9tc2VjIixvaDoiZW5oYW5jZWRfY2xpZW50X2lkIixTcDoiZW5oYW5jZWRfY29udmVyc2lvbnMiLGd1OiJlbmhhbmNlZF9jb252ZXJzaW9uc19hdXRvbWF0aWNfc2V0dGluZ3MiLEllOiJlc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZSIsUGY6ImV2ZW50X2NhbGxiYWNrIixUcDoiZXZlbnRfY2F0ZWdvcnkiLFZjOiJldmVudF9kZXZlbG9wZXJfaWRfc3RyaW5nIixNZDoiZXZlbnRfaWQiLEVpOiJfZXZlbnRfam9pbl9pZCIsVXA6ImV2ZW50X2xhYmVsIixVYjoiZXZlbnQiLElsOiJfJmFlIixGaToiZXZlbnRfc2V0dGluZ3MiLHBoOiJldmVudF90aW1lb3V0IixWcDoiZGVzY3JpcHRpb24iLFdwOiJmYXRhbCIsWHA6ImV4cGVyaW1lbnRzIixOZDoiZXh0X2NsaWVudF9pZCIsR2k6ImZpcmViYXNlX2lkIixRZjoiZmlyc3RfcGFydHlfY29sbGVjdGlvbiIsUmY6Il94XzIwIixWYjoiX3hfMTkiLFlwOiJmbGlnaHRfZXJyb3JfY29kZSIsClpwOiJmbGlnaHRfZXJyb3JfbWVzc2FnZSIsSGk6ImZsX2FjdGl2aXR5X2NhdGVnb3J5IixJaToiZmxfYWN0aXZpdHlfZ3JvdXAiLHFoOiJmbF9hZHZlcnRpc2VyX2lkIixKaToibWF0Y2hfaWQiLEpsOiJmbF9yYW5kb21fbnVtYmVyIixLbDoidHJhbiIsTGw6InUiLHJoOiJnYWNfZ2NsaWQiLEplOiJnYWNfd2JyYWlkIixNbDoiZ2FjX3dicmFpZF9tdWx0aXBsZV9jb252ZXJzaW9ucyIsYXE6ImdhX3Jlc3RyaWN0X2RvbWFpbiIsTmw6ImdhX3RlbXBfY2xpZW50X2lkIixicToiZ2FfdGVtcF9lY2lkIixLZToiZ2Rwcl9hcHBsaWVzIixzaDoiX2d0X21ldGFkYXRhIixPbDoiZ2VvX2dyYW51bGFyaXR5IixTZjoidmFsdWVfY2FsbGJhY2siLFRmOiJ2YWx1ZV9rZXkiLFRhOiJnb29nbGVfYW5hbHlzaXNfcGFyYW1zIixMZToiX2dvb2dsZV9uZyIsY3E6Il9vbm8iLFVmOiJnb29nbGVfc2lnbmFscyIsZnE6Imdvb2dsZV90bGQiLHRoOiJncHBfc2lkIix1aDoiZ3BwX3N0cmluZyIsT2Q6Imdyb3VwcyIsClBsOiJnc2FfZXhwZXJpbWVudF9pZCIsVmY6Imd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSIsUWw6Imd0bV91cCIsTWU6ImlmcmFtZV9zdGF0ZSIsV2Y6Imlnbm9yZV9yZWZlcnJlciIsUmw6ImludGVybmFsX3RyYWZmaWNfcmVzdWx0cyIsU2w6Il9pc19mcG0iLFljOiJpc19sZWdhY3lfY29udmVydGVkIixaYzoiaXNfbGVnYWN5X2xvYWRlZCIsS2k6ImlzX3Bhc3N0aHJvdWdoIixQZDoiX2xwcyIsdGI6Imxhbmd1YWdlIixMaToibGVnYWN5X2RldmVsb3Blcl9pZF9zdHJpbmciLERiOiJsaW5rZXIiLFhmOiJhY2NlcHRfaW5jb21pbmciLHdjOiJkZWNvcmF0ZV9mb3JtcyIsQWE6ImRvbWFpbnMiLGFkOiJ1cmxfcG9zaXRpb24iLFFkOiJtZXJjaGFudF9mZWVkX2xhYmVsIixSZDoibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSIsU2Q6Im1lcmNoYW50X2lkIixUbDoibWV0aG9kIixncToibmFtZSIsVWw6Im5hdmlnYXRpb25fdHlwZSIsTmU6Im5ld19jdXN0b21lciIsTWk6Im5vbl9pbnRlcmFjdGlvbiIsCmhxOiJvcHRpbWl6ZV9pZCIsVmw6InBhZ2VfaG9zdG5hbWUiLFlmOiJwYWdlX3BhdGgiLFVhOiJwYWdlX3JlZmVycmVyIixNYjoicGFnZV90aXRsZSIsaXE6InBhc3NlbmdlcnMiLFdsOiJwaG9uZV9jb252ZXJzaW9uX2NhbGxiYWNrIixqcToicGhvbmVfY29udmVyc2lvbl9jb3VudHJ5X2NvZGUiLFhsOiJwaG9uZV9jb252ZXJzaW9uX2Nzc19jbGFzcyIsa3E6InBob25lX2NvbnZlcnNpb25faWRzIixZbDoicGhvbmVfY29udmVyc2lvbl9udW1iZXIiLFpsOiJwaG9uZV9jb252ZXJzaW9uX29wdGlvbnMiLGxxOiJfcGxhdGludW1fcmVxdWVzdF9zdGF0dXMiLG1xOiJfcHJvdGVjdGVkX2F1ZGllbmNlX2VuYWJsZWQiLHdoOiJxdWFudGl0eSIseGg6InJlZGFjdF9kZXZpY2VfaW5mbyIsYW06InJlZmVycmFsX2V4Y2x1c2lvbl9kZWZpbml0aW9uIixodToiX3JlcXVlc3Rfc3RhcnRfdGltZSIsV2I6InJlc3RyaWN0ZWRfZGF0YV9wcm9jZXNzaW5nIixucToicmV0b2tlbiIsb3E6InNhbXBsZV9yYXRlIiwKTmk6InNjcmVlbl9uYW1lIixiZDoic2NyZWVuX3Jlc29sdXRpb24iLGJtOiJfc2NyaXB0X3NvdXJjZSIscHE6InNlYXJjaF90ZXJtIixUZDoic2VuZF9wYWdlX3ZpZXciLFhiOiJzZW5kX3RvIixPaToic2VydmVyX2NvbnRhaW5lcl8zcF9lbnJpY2htZW50IixkZDoic2VydmVyX2NvbnRhaW5lcl91cmwiLHFxOiJzZXNzaW9uX2F0dHJpYnV0ZXNfZW5jb2RlZCIseWg6InNlc3Npb25fZHVyYXRpb24iLHpoOiJzZXNzaW9uX2VuZ2FnZWQiLFBpOiJzZXNzaW9uX2VuZ2FnZWRfdGltZSIseGM6InNlc3Npb25faWQiLEFoOiJzZXNzaW9uX251bWJlciIsWmY6Il9zaGFyZWRfdXNlcl9pZCIsVWQ6ImRlbGl2ZXJ5X3Bvc3RhbF9jb2RlIixpdToiX3RhZ19maXJpbmdfZGVsYXkiLGp1OiJfdGFnX2ZpcmluZ190aW1lIixrdToidGVtcG9yYXJ5X2NsaWVudF9pZCIsUWk6InRlc3Rvbmx5IixycToiX3RpbWV6b25lIixQZToidG9wbW9zdF91cmwiLFFlOiJ0cmFja2luZ19pZCIsUmk6InRyYWZmaWNfdHlwZSIsClBhOiJ0cmFuc2FjdGlvbl9pZCIsZG06InRyYW5zYWN0aW9uX2lkX3NvdXJjZSIseWM6InRyYW5zcG9ydF91cmwiLHNxOiJ0cmlwX3R5cGUiLFZkOiJ1cGRhdGUiLHpjOiJ1cmxfcGFzc3Rocm91Z2giLGZtOiJ1cHRncyIsY2c6Il91c2VyX2FnZW50X2FyY2hpdGVjdHVyZSIsZGc6Il91c2VyX2FnZW50X2JpdG5lc3MiLGVnOiJfdXNlcl9hZ2VudF9mdWxsX3ZlcnNpb25fbGlzdCIsZmc6Il91c2VyX2FnZW50X21vYmlsZSIsZ2c6Il91c2VyX2FnZW50X21vZGVsIixoZzoiX3VzZXJfYWdlbnRfcGxhdGZvcm0iLGlnOiJfdXNlcl9hZ2VudF9wbGF0Zm9ybV92ZXJzaW9uIixqZzoiX3VzZXJfYWdlbnRfd293NjQiLEFjOiJ1c2VyX2RhdGEiLGdtOiJ1c2VyX2RhdGFfYXV0b19sYXRlbmN5IixobToidXNlcl9kYXRhX2F1dG9fbWV0YSIsaW06InVzZXJfZGF0YV9hdXRvX211bHRpIixqbToidXNlcl9kYXRhX2F1dG9fc2VsZWN0b3JzIixrbToidXNlcl9kYXRhX2F1dG9fc3RhdHVzIixCYzoidXNlcl9kYXRhX21vZGUiLApsbToidXNlcl9kYXRhX3NldHRpbmdzIixmYjoidXNlcl9pZCIsV2Q6InVzZXJfcHJvcGVydGllcyIsb206Il91c2VyX3JlZ2lvbiIsa2c6InVzX3ByaXZhY3lfc3RyaW5nIixRYToidmFsdWUiLHFtOiJ3YnJhaWRfbXVsdGlwbGVfY29udmVyc2lvbnMiLGVkOiJfZnBtX3BhcmFtZXRlcnMiLFdpOiJfaG9zdF9uYW1lIixWbToiX2luX3BhZ2VfY29tbWFuZCIsWWk6Il9pcF9vdmVycmlkZSIsWm06Il9pc19wYXNzdGhyb3VnaF9jaWQiLEpoOiJfbWVhc3VyZW1lbnRfdHlwZSIsZGU6Im5vbl9wZXJzb25hbGl6ZWRfYWRzIixvajoiX3NzdF9wYXJhbWV0ZXJzIixZcToic2d0bV9nZW9fdXNlcl9jb3VudHJ5IixHZDoiY29udmVyc2lvbl9sYWJlbCIsemE6InBhZ2VfbG9jYXRpb24iLFdjOiJfZXh0cmFjdGVkX2RhdGEiLFhjOiJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyIsT2U6InRjX3ByaXZhY3lfc3RyaW5nIn19O3ZhciBIPXtKOntTbzoiYWJvcnRfd2l0aG91dF9mYWlsIixraToiYWNjZXB0X2J5X2RlZmF1bHQiLEJrOiJhZGRfdGFnX3RpbWluZyIsRGs6ImFkc19jb25zZW50X2dyYW50ZWQiLHZkOiJhZHNfZXZlbnRfcGFnZV92aWV3Iix3ZDoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIixRdDoiYXV0b19ldmVudCIsS2s6ImJhdGNoX29uX25hdmlnYXRpb24iLFhnOiJiaXNjb3R0aV9qb2luX2lkIixQazoiY2xpZW50X2lkX3NvdXJjZSIsdWY6ImNvbnNlbnRfZXZlbnRfaWQiLHZmOiJjb25zZW50X3ByaW9yaXR5X2lkIixTdDoiY29uc2VudF9zdGF0ZSIsc2E6ImNvbnNlbnRfdXBkYXRlZCIsd2Y6ImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiLFR0OiJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIixHYToiY29va2llX29wdGlvbnMiLG9sOiJkY19yYW5kb20iLFp0OiJkZWR1cGVfaWQiLFBjOiJlbV9ldmVudCIsYnU6ImVuZHBvaW50X2Zvcl9kZWJ1ZyIsdGw6ImVuaGFuY2VkX2NsaWVudF9pZF9zb3VyY2UiLApwcDoiZW5oYW5jZWRfbWF0Y2hfcmVzdWx0IixybToiZXVpZF9sb2dnZWRfaW5fc3RhdGUiLGxnOiJldWlkX21vZGVfZW5hYmxlZCIsdHE6ImV2ZW50X3Byb3ZlbmFuY2UiLG11OiJldmVudF9zb3VyY2UiLEViOiJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiLHdtOiJldmVudF91c2FnZSIsQ2g6ImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyIscHU6ImFkZF9wYXJhbWV0ZXIiLFVpOiJjb3VudGluZ19tZXRob2QiLERoOiJzZW5kX2FzX2lmcmFtZSIscXU6InBhcmFtZXRlcl9vcmRlciIsRWg6InBhcnNlZF90YXJnZXQiLHN1OiJmb3JtX2V2ZW50X2NhbmNlbGVkIixBcToiZ2E0X2NvbGxlY3Rpb25fc3ViZG9tYWluIixWaToiZ2E0X3JlcXVlc3RfZmxhZ3MiLE5tOiJnYnJhaWRfY29va2llX21hcmtlZCIsUW06Imd0bV9leHRyYWN0ZWRfZGF0YSIsQ2M6ImhhbmRsZV9pbnRlcm5hbGx5Iix1dToiaGFzX2dhX2NvbnZlcnNpb25fY29uc2VudHMiLGRhOiJoaXRfdHlwZSIsRGM6ImhpdF90eXBlX292ZXJyaWRlIiwKSHE6Imlnbm9yZV9kdXBlX2NvbmZpZyIsT3U6ImlzX2NvbmZpZ19jb21tYW5kIixHaDoiaXNfY29uc2VudF91cGRhdGUiLG1nOiJpc19jb252ZXJzaW9uIixXbToiaXNfZWNvbW1lcmNlIixYbToiaXNfZWNfY21fc3BsaXQiLGFlOiJpc19leHRlcm5hbF9ldmVudCIsbmc6ImlzX2ZpcnN0X3Zpc2l0IixZbToiaXNfZmlyc3RfdmlzaXRfY29udmVyc2lvbiIsWmk6ImlzX2ZsX2ZhbGxiYWNrX2NvbnZlcnNpb25fZmxvd19hbGxvd2VkIixmZDoiaXNfZnBtX2VuY3J5cHRpb24iLGFqOiJpc19mcG1fc3BsaXQiLG9iOiJpc19nY3BfYnJvd3NlciIsYmo6ImlzX2dvb2dsZV9tZWFzdXJlbWVudF9hbGxvd2VkIixjajoiaXNfZ29vZ2xlX3NpZ25hbHNfZW5hYmxlZCIsYmU6ImlzX21lcmNoYW50X2NlbnRlciIsSGg6ImlzX25ld190b19zaXRlIixFYzoiaXNfcGVyc29uYWxpemF0aW9uIixkajoiaXNfc2VydmVyX3NpZGVfZGVzdGluYXRpb24iLFRlOiJpc19zZXNzaW9uX3N0YXJ0IixibjoiaXNfc2Vzc2lvbl9zdGFydF9jb252ZXJzaW9uIiwKUHU6ImlzX3NndG1fZ2FfYWRzX2NvbnZlcnNpb25fc3R1ZHlfY29udHJvbF9ncm91cCIsUXU6ImlzX3NndG1fcHJlaGl0IixkbjoiaXNfc2d0bV9zZXJ2aWNlX3dvcmtlciIsSWg6ImlzX3NwbGl0X2NvbnZlcnNpb24iLElxOiJpc19zeW4iLEZjOiJpc190ZXN0X2V2ZW50IixvZzoiam9pbl9pZCIsZWo6ImpvaW5fZWxhcHNlZCIscGc6ImpvaW5fdGltZXJfc2VjIixnbjoibG9jYWxfc3RvcmFnZV9hd19jb252ZXJzaW9uX2NvdW50ZXJzIixXZToidHVubmVsX3VwZGF0ZWQiLFV1OiJwcmVoaXRfZm9yX3JldHJ5IixXdToicHJvbWlzZXMiLFh1OiJyZWNvcmRfYXdfbGF0ZW5jeSIsWGU6InJlZGFjdF9hZHNfZGF0YSIsWWU6InJlZGFjdF9jbGlja19pZHMiLHBuOiJyZW1hcmtldGluZ19vbmx5Iixsajoic2VuZF9jY21fcGFyYWxsZWxfcGluZyIsaGQ6InNlbmRfZG91YmxlY2xpY2tfam9pbiIsTWg6InNlbmRfZnBtX2dlb19qb2luIixOaDoic2VuZF9mcG1fZ29vZ2xlX2pvaW4iLFp1OiJzZW5kX2NjbV9wYXJhbGxlbF90ZXN0X3BpbmciLApybjoic2VuZF9nb29nbGVfbWVhc3VyZW1lbnQiLHJnOiJzZW5kX3RsZF9qb2luIixzZzoic2VuZF90b19kZXN0aW5hdGlvbnMiLG1qOiJzZW5kX3RvX3RhcmdldHMiLHNuOiJzZW5kX3VzZXJfZGF0YV9oaXQiLHBqOiJzZXJ2aWNlX3dvcmtlcl9jb250ZXh0IixOYjoic291cmNlX2Nhbm9uaWNhbF9pZCIsSmE6InNwZWN1bGF0aXZlIix5bjoic3BlY3VsYXRpdmVfaW5fbWVzc2FnZSIsQW46InN1cHByZXNzX3NjcmlwdF9sb2FkIixCbjoic3luX29yX21vZCIsemo6InRyYW5zaWVudF9lY3NpZCIsdGc6InRyYW5zbWlzc2lvbl90eXBlIixZYToidXNlcl9kYXRhIixndjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljIixodjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciIsR246InVzZXJfZGF0YV9mcm9tX2NvZGUiLGlyOiJ1c2VyX2RhdGFfZnJvbV9tYW51YWwiLGp2OiJ1c2VyX2RhdGFfbW9kZSIsdWc6InVzZXJfaWRfdXBkYXRlZCJ9fTsKdmFyIHRnPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9MDtHYihhLGZ1bmN0aW9uKGUsZil7aWYoZiE9bnVsbCl7dmFyIGc9KCIiK2YpLnJlcGxhY2UoL34vZywifn4iKTtpZihxZy5oYXNPd25Qcm9wZXJ0eShlKSliW3FnW2VdXT1nO2Vsc2UgaWYocmcuaGFzT3duUHJvcGVydHkoZSkpe3ZhciBoPXJnW2VdO2IuaGFzT3duUHJvcGVydHkoaCl8fChiW2hdPWcpfWVsc2UgaWYoZT09PSJjYXRlZ29yeSIpZm9yKHZhciBsPWcuc3BsaXQoIi8iLDUpLG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIHA9YixxPXNnW25dLHI9bFtuXTtwLmhhc093blByb3BlcnR5KHEpfHwocFtxXT1yKX1lbHNlIGlmKGM8Mjcpe3ZhciB0PVN0cmluZy5mcm9tQ2hhckNvZGUoYzwxMD80OCtjOjY1K2MtMTApO2JbImsiK3RdPSgiIitTdHJpbmcoZSkpLnJlcGxhY2UoL34vZywifn4iKTtiWyJ2Iit0XT1nO2MrK319fSk7dmFyIGQ9W107R2IoYixmdW5jdGlvbihlLGYpe2QucHVzaCgiIitlK2YpfSk7cmV0dXJuIGQuam9pbigifiIpfSwKcWc9e2l0ZW1faWQ6ImlkIixpdGVtX25hbWU6Im5tIixpdGVtX2JyYW5kOiJiciIsaXRlbV9jYXRlZ29yeToiY2EiLGl0ZW1fY2F0ZWdvcnkyOiJjMiIsaXRlbV9jYXRlZ29yeTM6ImMzIixpdGVtX2NhdGVnb3J5NDoiYzQiLGl0ZW1fY2F0ZWdvcnk1OiJjNSIsaXRlbV92YXJpYW50OiJ2YSIscHJpY2U6InByIixxdWFudGl0eToicXQiLGNvdXBvbjoiY3AiLGl0ZW1fbGlzdF9uYW1lOiJsbiIsaW5kZXg6ImxwIixpdGVtX2xpc3RfaWQ6ImxpIixkaXNjb3VudDoiZHMiLGFmZmlsaWF0aW9uOiJhZiIscHJvbW90aW9uX2lkOiJwaSIscHJvbW90aW9uX25hbWU6InBuIixjcmVhdGl2ZV9uYW1lOiJjbiIsY3JlYXRpdmVfc2xvdDoiY3MiLGxvY2F0aW9uX2lkOiJsbyJ9LHJnPXtpZDoiaWQiLG5hbWU6Im5tIixicmFuZDoiYnIiLHZhcmlhbnQ6InZhIixsaXN0X25hbWU6ImxuIixsaXN0X3Bvc2l0aW9uOiJscCIsbGlzdDoibG4iLHBvc2l0aW9uOiJscCIsY3JlYXRpdmU6ImNuIn0sc2c9WyJjYSIsCiJjMiIsImMzIiwiYzQiLCJjNSJdO3ZhciB1Zz1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSkpfSk7cmV0dXJuIGIuam9pbigiJiIpfSx2Zz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3RoaXMuYmFzZVVybD1iO3RoaXMuZW5kcG9pbnQ9Yzt0aGlzLmRlc3RpbmF0aW9uSWQ9Zjt0aGlzLmV2ZW50SWQ9Zzt0aGlzLnByaW9yaXR5SWQ9aDt0aGlzLkJhPWEuQmE7dGhpcy52ZT1hLnZlO3RoaXMuTGo9YS5Majt0aGlzLk49ZDt0aGlzLks9dWcoYS5CYSk7dGhpcy5IPXVnKGEuTGopO3RoaXMuUj10aGlzLkgubGVuZ3RoO2lmKGUmJnRoaXMuUj4xNjM4NCl0aHJvdyBFcnJvcigiRVZFTlRfVE9PX0xBUkdFIik7fTsKdmFyIHdnPWZ1bmN0aW9uKCl7dGhpcy5ldmVudHM9W107dGhpcy5IPSIiO3RoaXMuQmE9e307dGhpcy5iYXNlVXJsPSIiO3RoaXMuTj0wO3RoaXMuSz0xO3RoaXMuZW5kcG9pbnQ9MH07d2cucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5SKGEpPyh0aGlzLmV2ZW50cy5wdXNoKGEpLHRoaXMuSD1hLkssdGhpcy5CYT1hLkJhLHRoaXMuYmFzZVVybD1hLmJhc2VVcmwsdGhpcy5OKz1hLlIsdGhpcy5LPWEuTix0aGlzLmVuZHBvaW50PWEuZW5kcG9pbnQsdGhpcy5kZXN0aW5hdGlvbklkPWEuZGVzdGluYXRpb25JZCx0aGlzLlo9YS5ldmVudElkLHRoaXMuZmE9YS5wcmlvcml0eUlkLCEwKTohMX07d2cucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aD90aGlzLmV2ZW50cy5sZW5ndGg+PTIwfHxhLlIrdGhpcy5OPj0xNjM4ND8hMTp0aGlzLmJhc2VVcmw9PT1hLmJhc2VVcmwmJnRoaXMuSz09PWEuTiYmdGhpcy5qYShhKTohMH07CndnLnByb3RvdHlwZS5qYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5IPT09YS5LfTt2YXIgSj17VTp7a3A6MSxtcDoyLEVuOjMsbm46NCxxbDo1LHJsOjYsRXE6NyxucDo4LERxOjksanA6MTAsaHA6MTEseG46MTIsdm46MTMsTms6MTQsVW86MTUsV286MTYsaG46MTcsc2w6MTgsZm46MTksbHA6MjAsUHE6MjEsYXA6MjIsVm86MjMsWG86MjQsbmw6MjUsTGs6MjYsZXI6MjcsSm06MjgsVW06MjksVG06MzAsU206MzEsTW06MzIsS206MzMsTG06MzQsR206MzUsRm06MzYsSG06MzcsSW06MzgsQnE6MzksQ3E6NDAsVXE6NDF9fTtKLlVbSi5VLmtwXT0iQ1JFQVRFX0VWRU5UX1NPVVJDRSI7Si5VW0ouVS5tcF09IkVESVRfRVZFTlQiO0ouVVtKLlUuRW5dPSJUUkFGRklDX1RZUEUiO0ouVVtKLlUubm5dPSJSRUZFUlJBTF9FWENMVVNJT04iO0ouVVtKLlUucWxdPSJFQ09NTUVSQ0VfRlJPTV9HVE1fVEFHIjtKLlVbSi5VLnJsXT0iRUNPTU1FUkNFX0ZST01fR1RNX1VBX1NDSEVNQSI7Si5VW0ouVS5FcV09IkdBX1NFTkQiO0ouVVtKLlUubnBdPSJFTV9GT1JNIjsKSi5VW0ouVS5EcV09IkdBX0dBTV9MSU5LIjtKLlVbSi5VLmpwXT0iQ1JFQVRFX0VWRU5UX0FVVE9fUEFHRV9QQVRIIjtKLlVbSi5VLmhwXT0iQ1JFQVRFRF9FVkVOVCI7Si5VW0ouVS54bl09IlNJREVMT0FERUQiO0ouVVtKLlUudm5dPSJTR1RNX0xFR0FDWV9DT05GSUdVUkFUSU9OIjtKLlVbSi5VLk5rXT0iQ0NEX0VNX0VWRU5UIjtKLlVbSi5VLlVvXT0iQVVUT19SRURBQ1RfRU1BSUwiO0ouVVtKLlUuV29dPSJBVVRPX1JFREFDVF9RVUVSWV9QQVJBTSI7Si5VW0ouVS5obl09Ik1VTFRJUExFX1BBR0VWSUVXX0ZST01fQ09ORklHIjtKLlVbSi5VLnNsXT0iRU1fRVZFTlRfU0VOVF9CRUZPUkVfQ09ORklHIjtKLlVbSi5VLmZuXT0iTE9BREVEX1ZJQV9DU1RfT1JfU0lERUxPQURJTkciO0ouVVtKLlUubHBdPSJERUNPREVEX1BBUkFNX01BVENIIjtKLlVbSi5VLlBxXT0iTk9OX0RFQ09ERURfUEFSQU1fTUFUQ0giO0ouVVtKLlUuYXBdPSJDQ0RfRVZFTlRfU0dUTSI7CkouVVtKLlUuVm9dPSJBVVRPX1JFREFDVF9FTUFJTF9TR1RNIjtKLlVbSi5VLlhvXT0iQVVUT19SRURBQ1RfUVVFUllfUEFSQU1fU0dUTSI7Si5VW0ouVS5ubF09IkRBSUxZX0xJTUlUX1JFQUNIRUQiO0ouVVtKLlUuTGtdPSJCVVJTVF9MSU1JVF9SRUFDSEVEIjtKLlVbSi5VLmVyXT0iU0hBUkVEX1VTRVJfSURfU0VUX0FGVEVSX1JFUVVFU1QiO0ouVVtKLlUuSm1dPSJHQTRfTVVMVElQTEVfU0VTU0lPTl9DT09LSUVTIjtKLlVbSi5VLlVtXT0iSU5WQUxJRF9HQTRfU0VTU0lPTl9DT1VOVCI7Si5VW0ouVS5UbV09IklOVkFMSURfR0E0X0xBU1RfRVZFTlRfVElNRVNUQU1QIjtKLlVbSi5VLlNtXT0iSU5WQUxJRF9HQTRfSk9JTl9USU1FUiI7Si5VW0ouVS5NbV09IkdBNF9TVEFMRV9TRVNTSU9OX0NPT0tJRV9TRUxFQ1RFRCI7Si5VW0ouVS5LbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzFfUkVBRCI7Si5VW0ouVS5MbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzJfUkVBRCI7CkouVVtKLlUuR21dPSJHQTRfRExfUEFSQU1fUkVDT1ZFUllfQVZBSUxBQkxFIjtKLlVbSi5VLkZtXT0iR0E0X0RMX1BBUkFNX1JFQ09WRVJZX0FQUExJRUQiO0ouVVtKLlUuSG1dPSJHQTRfR09PR0xFX01FQVNVUkVNRU5UX0FMTE9XRUQiO0ouVVtKLlUuSW1dPSJHQTRfR09PR0xFX1NJR05BTFNfRU5BQkxFRCI7Si5VW0ouVS5CcV09IkdBNF9GQUxMQkFDS19SRVFVRVNUIjtKLlVbSi5VLkNxXT0iR0FfQURTX0xJTktfQkVGT1JFX0NPTlZFUlNJT05fTUFSS0lORyI7Si5VW0ouVS5VcV09IlBMQVRJTlVNX0VMSUdJQkxFIjt2YXIgeGc9e30seWc9KHhnLnVhYT0hMCx4Zy51YWI9ITAseGcudWFmdmw9ITAseGcudWFtYj0hMCx4Zy51YW09ITAseGcudWFwPSEwLHhnLnVhcHY9ITAseGcudWF3PSEwLHhnKTsKdmFyIEJnPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ldmVudHM7aWYoYy5sZW5ndGg9PT0xKXJldHVybiB6ZyhjWzBdLGIpO3ZhciBkPVtdO2EuSCYmZC5wdXNoKGEuSCk7Zm9yKHZhciBlPXt9LGY9MDtmPGMubGVuZ3RoO2YrKylHYihjW2ZdLnZlLGZ1bmN0aW9uKHQsdSl7dSE9bnVsbCYmKGVbdF09ZVt0XXx8e30sZVt0XVtTdHJpbmcodSldPWVbdF1bU3RyaW5nKHUpXSsxfHwxKX0pO3ZhciBnPXt9O0diKGUsZnVuY3Rpb24odCx1KXt2YXIgdix4PS0xLHk9MDtHYih1LGZ1bmN0aW9uKHosQyl7eSs9Qzt2YXIgRD0oei5sZW5ndGgrdC5sZW5ndGgrMikqKEMtMSk7RD54JiYodj16LHg9RCl9KTt5PT09Yy5sZW5ndGgmJihnW3RdPXYpfSk7QWcoZyxkKTtiJiZkLnB1c2goIl9zPSIrYik7Zm9yKHZhciBoPWQuam9pbigiJiIpLGw9W10sbj17fSxwPTA7cDxjLmxlbmd0aDtuPXtmazp2b2lkIDB9LHArKyl7dmFyIHE9W107bi5maz17fTtHYihjW3BdLnZlLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih1LAp2KXtnW3VdIT09IiIrdiYmKHQuZmtbdV09dil9fShuKSk7Y1twXS5IJiZxLnB1c2goY1twXS5IKTtBZyhuLmZrLHEpO2wucHVzaChxLmpvaW4oIiYiKSl9dmFyIHI9bC5qb2luKCJcclxuIik7cmV0dXJue3BhcmFtczpoLGJvZHk6cn19LHpnPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107YS5LJiZjLnB1c2goYS5LKTtiJiZjLnB1c2goIl9zPSIrYik7QWcoYS52ZSxjKTt2YXIgZD0hMTthLkgmJihjLnB1c2goYS5IKSxkPSEwKTt2YXIgZT1jLmpvaW4oIiYiKSxmPSIiLGc9ZS5sZW5ndGgrYS5iYXNlVXJsLmxlbmd0aCsxO2QmJmc+MjA0OCYmKGY9Yy5wb3AoKSxlPWMuam9pbigiJiIpKTtyZXR1cm57cGFyYW1zOmUsYm9keTpmfX0sQWc9ZnVuY3Rpb24oYSxiKXtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGQpKX0pfTsKdmFyIEVnPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWEsZT1iW2NdO2lmKCFDZy5leGVjKGUpKXRocm93IEVycm9yKCJJbnZhbGlkIGtleSB3aWxkY2FyZCIpO3ZhciBmPWUuaW5kZXhPZigiLioiKSxnPWYhPT0tMSYmZj09PWUubGVuZ3RoLTIsaD1nP2Uuc2xpY2UoMCxlLmxlbmd0aC0yKTplLGw7YTppZihkLmxlbmd0aD09PTApbD0hMTtlbHNle2Zvcih2YXIgbj1kLnNwbGl0KCIuIikscD0wO3A8bi5sZW5ndGg7cCsrKWlmKCFEZy5leGVjKG5bcF0pKXtsPSExO2JyZWFrIGF9bD0hMH1pZighbHx8aC5sZW5ndGg+ZC5sZW5ndGh8fCFnJiZkLmxlbmd0aCE9PWUubGVuZ3RoPzA6Zz9TYihkLGgpJiYoZD09PWh8fGQuY2hhckF0KGgubGVuZ3RoKT09PSIuIik6ZD09PWgpcmV0dXJuITB9cmV0dXJuITF9LERnPS9eW2EteiRfXVtcdy0kXSokL2ksQ2c9L14oPzpbYS16XyRdW2Etei1fJDAtOV0qXC4pKlthLXpfJF1bYS16LV8kMC05XSooPzpcLlwqKT8kL2k7CnZhciBGZz1bIm1hdGNoZXMiLCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3IiLCJtb3pNYXRjaGVzU2VsZWN0b3IiLCJtc01hdGNoZXNTZWxlY3RvciIsIm9NYXRjaGVzU2VsZWN0b3IiXTtmdW5jdGlvbiBHZyhhLGIpe2lmKCFhKXJldHVybiExO3RyeXtmb3IodmFyIGM9MDtjPEZnLmxlbmd0aDtjKyspe3ZhciBkPUZnW2NdO2lmKGFbZF0hPW51bGwpcmV0dXJuIGFbZF0oYil9fWNhdGNoKGUpe31yZXR1cm4hMX1mdW5jdGlvbiBIZyhhLGIpe3ZhciBjPVN0cmluZyhhKSxkPVN0cmluZyhiKSxlPWMubGVuZ3RoLWQubGVuZ3RoO3JldHVybiBlPj0wJiZjLmluZGV4T2YoZCxlKT09PWV9ZnVuY3Rpb24gSWcoYSxiKXtyZXR1cm4gU3RyaW5nKGEpLnNwbGl0KCIsIikuaW5kZXhPZihTdHJpbmcoYikpPj0wfQpmdW5jdGlvbiBKZyhhLGIsYyxkKXt2YXIgZT1jPyJpIjp2b2lkIDA7dHJ5e3ZhciBmPVN0cmluZyhiKStTdHJpbmcoZSksZz1kPT1udWxsP3ZvaWQgMDpkLmdldChmKTtnfHwoZz1uZXcgUmVnRXhwKGIsZSksZD09bnVsbHx8ZC5zZXQoZixnKSk7cmV0dXJuIGcudGVzdChhKX1jYXRjaChoKXtyZXR1cm4hMX19ZnVuY3Rpb24gS2coYSxiKXtyZXR1cm4gU3RyaW5nKGEpLmluZGV4T2YoU3RyaW5nKGIpKT49MH1mdW5jdGlvbiBMZyhhLGIpe3JldHVybiBTdHJpbmcoYSk9PT1TdHJpbmcoYil9ZnVuY3Rpb24gTWcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPj1OdW1iZXIoYil9ZnVuY3Rpb24gTmcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPD1OdW1iZXIoYil9ZnVuY3Rpb24gT2coYSxiKXtyZXR1cm4gTnVtYmVyKGEpPk51bWJlcihiKX1mdW5jdGlvbiBQZyhhLGIpe3JldHVybiBOdW1iZXIoYSk8TnVtYmVyKGIpfQpmdW5jdGlvbiBRZyhhLGIpe3JldHVybiBTYihTdHJpbmcoYSksU3RyaW5nKGIpKX07ZnVuY3Rpb24gWGcoYSl7dmFyIGI9YS5zZWFyY2g7cmV0dXJuIGEucHJvdG9jb2wrIi8vIithLmhvc3RuYW1lK2EucGF0aG5hbWUrKGI/YisiJnJpY2hzc3Rzc2UiOiI/cmljaHNzdHNzZSIpfTt2YXIgWWc9ZnVuY3Rpb24oKXt0aGlzLlI9IiJ9LCRnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9Yi5mYWxsYmFja191cmwsZD1iLmZhbGxiYWNrX3VybF9tZXRob2Q7aWYoYyYmZCl7dmFyIGU9e307WmcoYSwoZVtkXT1bY10sZS5vcHRpb25zPXt9LGUpKX19fSxhaD1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTt0eXBlb2YgZj09PSJzdHJpbmciJiZjKGYsYil9fSxaZz1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPUNkKGIub3B0aW9ucyk/Yi5vcHRpb25zOnt9LGQ9bShPYmplY3Qua2V5cyhiKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1iW2ZdO3N3aXRjaChmKXtjYXNlICJzZW5kX3BpeGVsIjphaChnLGMsZnVuY3Rpb24oaCxsKXtyZXR1cm4gdm9pZCBhLksoaCxsKX0pO2JyZWFrO2Nhc2UgImZldGNoIjphaChnLApjLGZ1bmN0aW9uKGgsbCl7cmV0dXJuIHZvaWQgYS5IKGgsbCl9KX19fTt2YXIgYmg9L14oW2Etel1bYS16MC05XSopOighfFw/KShcKnxzdHJpbmd8Ym9vbGVhbnxudW1iZXJ8Rm58UGl4aWVNYXB8TGlzdHxPcGFxdWVWYWx1ZSkkL2ksY2g9e0ZuOiJmdW5jdGlvbiIsUGl4aWVNYXA6Ik9iamVjdCIsTGlzdDoiQXJyYXkifTsKZnVuY3Rpb24gZGgoYSxiKXtmb3IodmFyIGM9WyJpbnB1dDohKiJdLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9YmguZXhlYyhjW2RdKTtpZighZSl0aHJvdyBFcnJvcigiSW50ZXJuYWwgRXJyb3IgaW4gIithKTt2YXIgZj1lWzFdLGc9ZVsyXT09PSIhIixoPWVbM10sbD1iW2RdO2lmKGw9PW51bGwpe2lmKGcpdGhyb3cgRXJyb3IoIkVycm9yIGluICIrYSsiLiBSZXF1aXJlZCBhcmd1bWVudCAiK2YrIiBub3Qgc3VwcGxpZWQuIik7fWVsc2UgaWYoaCE9PSIqIil7dmFyIG49dHlwZW9mIGw7bCBpbnN0YW5jZW9mIEtkP249IkZuIjpsIGluc3RhbmNlb2YgR2Q/bj0iTGlzdCI6bCBpbnN0YW5jZW9mIGtiP249IlBpeGllTWFwIjpsIGluc3RhbmNlb2YgU2Q/bj0iUGl4aWVQcm9taXNlIjpsIGluc3RhbmNlb2YgUGQmJihuPSJPcGFxdWVWYWx1ZSIpO2lmKG4hPT1oKXRocm93IEVycm9yKCJFcnJvciBpbiAiK2ErIi4gQXJndW1lbnQgIitmKyIgaGFzIHR5cGUgIisoKGNoW25dfHxuKSsiLCB3aGljaCBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCB0eXBlICIpKwooKGNoW2hdfHxoKSsiLiIpKTt9fX1mdW5jdGlvbiBLKGEsYixjKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2cgaW5zdGFuY2VvZiBLZD9kLnB1c2goImZ1bmN0aW9uIik6ZyBpbnN0YW5jZW9mIEdkP2QucHVzaCgiQXJyYXkiKTpnIGluc3RhbmNlb2Yga2I/ZC5wdXNoKCJPYmplY3QiKTpnIGluc3RhbmNlb2YgU2Q/ZC5wdXNoKCJQcm9taXNlIik6ZyBpbnN0YW5jZW9mIFBkP2QucHVzaCgiT3BhcXVlVmFsdWUiKTpkLnB1c2godHlwZW9mIGcpfXJldHVybiBFcnJvcigiQXJndW1lbnQgZXJyb3IgaW4gIithKyIuIEV4cGVjdGVkIGFyZ3VtZW50IHR5cGVzIFsiKyhiLmpvaW4oIiwiKSsiXSwgYnV0IHJlY2VpdmVkIFsiKSsoZC5qb2luKCIsIikrIl0uIikpfWZ1bmN0aW9uIGVoKGEpe3JldHVybiBhIGluc3RhbmNlb2Yga2J9ZnVuY3Rpb24gZmgoYSl7cmV0dXJuIGVoKGEpfHxhPT09bnVsbHx8Z2goYSl9CmZ1bmN0aW9uIGhoKGEpe3JldHVybiBhIGluc3RhbmNlb2YgS2R9ZnVuY3Rpb24gaWgoYSl7cmV0dXJuIGhoKGEpfHxhPT09bnVsbHx8Z2goYSl9ZnVuY3Rpb24gamgoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBHZH1mdW5jdGlvbiBraChhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFBkfWZ1bmN0aW9uIGxoKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIG1oKGEpe3JldHVybiBsaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIG5oKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn1mdW5jdGlvbiBvaChhKXtyZXR1cm4gbmgoYSl8fGdoKGEpfWZ1bmN0aW9uIHBoKGEpe3JldHVybiBuaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIHFoKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIifWZ1bmN0aW9uIGdoKGEpe3JldHVybiBhPT09dm9pZCAwfTtmdW5jdGlvbiByaChhKXtyZXR1cm4iIithfQpmdW5jdGlvbiBzaChhLGIpe3ZhciBjPVtdO3JldHVybiBjfTtmdW5jdGlvbiB0aChhLGIpe3ZhciBjPW5ldyBLZChhLGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSxlPTA7ZTxkLmxlbmd0aDtlKyspZFtlXT10aGlzLmV2YWx1YXRlKGRbZV0pO3RyeXtyZXR1cm4gYi5hcHBseSh0aGlzLGQpfWNhdGNoKGcpe3Rocm93IGNiKGcpO319KTtjLlphKCk7cmV0dXJuIGN9CmZ1bmN0aW9uIHVoKGEsYil7dmFyIGM9bmV3IGtiLGQ7Zm9yKGQgaW4gYilpZihiLmhhc093blByb3BlcnR5KGQpKXt2YXIgZT1iW2RdO3liKGUpP2Muc2V0KGQsdGgoYSsiXyIrZCxlKSk6Q2QoZSk/Yy5zZXQoZCx1aChhKyJfIitkLGUpKTooQWIoZSl8fHpiKGUpfHx0eXBlb2YgZT09PSJib29sZWFuIikmJmMuc2V0KGQsZSl9Yy5aYSgpO3JldHVybiBjfTtmdW5jdGlvbiB3aChhLGIpe2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydEFwaVN1YmplY3QiLApjKX07ZnVuY3Rpb24geGgoYSxiKXtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIFNkKXRocm93IEVycm9yKCJBcmd1bWVudCBhY3R1YWwgY2Fubm90IGhhdmUgdHlwZSBQcm9taXNlLiBBc3NlcnRpb25zIG9uIGFzeW5jaHJvbm91cyBjb2RlIGFyZW4ndCBzdXBwb3J0ZWQuIik7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydFRoYXRTdWJqZWN0IixjKX07ZnVuY3Rpb24geWgoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBiPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxjPVtdLGQ9dGhpcy5ULGU9MDtlPGIubGVuZ3RoOysrZSljLnB1c2goVGQoYltlXSxkKSk7cmV0dXJuIFVkKGEuYXBwbHkobnVsbCxjKSl9fWZ1bmN0aW9uIHpoKCl7Zm9yKHZhciBhPU1hdGgsYj1BaCxjPXt9LGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTthLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT15aChhW2VdLmJpbmQoYSkpKX1yZXR1cm4gY307ZnVuY3Rpb24gQmgoYSl7cmV0dXJuIGEhPW51bGwmJlNiKGEsIl9fY3Z0XyIpfTtmdW5jdGlvbiBDaChhKXt2YXIgYjtyZXR1cm4gYn07ZnVuY3Rpb24gRGgoYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3RyeXtiPWRlY29kZVVSSUNvbXBvbmVudChhKX1jYXRjaChjKXt9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJKGEpfWNhdGNoKGIpe319O2Z1bmN0aW9uIEZoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhhKSl9Y2F0Y2goYil7fX07ZnVuY3Rpb24gR2goYSxiKXt2YXIgYz0hMTt2YXIgZD1KU09OLnBhcnNlKGEpO2lmKCFkKXRocm93IEVycm9yKCJJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBzdHJpbmcgd2FzIGdpdmVuLiIpO2M9SGgoZCxiKTtyZXR1cm4gY30KdmFyIEloPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe2lmKGE9PT12b2lkIDApcmV0dXJuO2E9YVtiW2NdXX1yZXR1cm4gYX0sSmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnByZUhpdDtpZihjKXt2YXIgZD1hWzBdO3N3aXRjaChkKXtjYXNlICJoaXREYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRIaXREYXRhKGFbMV0pLGEuc2xpY2UoMikpO2Nhc2UgIm1ldGFkYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRNZXRhZGF0YShhWzFdKSxhLnNsaWNlKDIpKTtjYXNlICJldmVudE5hbWUiOnJldHVybiBjLmdldEV2ZW50TmFtZSgpO2Nhc2UgImRlc3RpbmF0aW9uSWQiOnJldHVybiBjLmdldERlc3RpbmF0aW9uSWQoKTtkZWZhdWx0OnRocm93IEVycm9yKGQrIiBpcyBub3QgYSB2YWxpZCBmaWVsZCB0aGF0IGNhbiBiZSBhY2Nlc3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGZyb20gUHJlSGl0IGRhdGEuIik7fX19LApLaD1mdW5jdGlvbihhLGIpe2lmKGEpe2lmKGEuY29udGV4dFZhbHVlIT09dm9pZCAwKXt2YXIgYzthOnt2YXIgZD1hLmNvbnRleHRWYWx1ZSxlPWQua2V5UGFydHM7aWYoZSYmZS5sZW5ndGghPT0wKXt2YXIgZj1kLm5hbWVzcGFjZVR5cGU7c3dpdGNoKGYpe2Nhc2UgMTpjPUpoKGUsYik7YnJlYWsgYTtjYXNlIDI6dmFyIGc9Yi5tYWNybztjPWc/Z1tlWzBdXTp2b2lkIDA7YnJlYWsgYTtkZWZhdWx0OnRocm93IEVycm9yKCJVbmtub3duIE5hbWVzcGFjZSBUeXBlIHVzZWQ6ICIrZik7fX1jPXZvaWQgMH1yZXR1cm4gY31pZihhLmJvb2xlYW5FeHByZXNzaW9uVmFsdWUhPT12b2lkIDApcmV0dXJuIEhoKGEuYm9vbGVhbkV4cHJlc3Npb25WYWx1ZSxiKTtpZihhLmJvb2xlYW5WYWx1ZSE9PXZvaWQgMClyZXR1cm4hIWEuYm9vbGVhblZhbHVlO2lmKGEuc3RyaW5nVmFsdWUhPT12b2lkIDApcmV0dXJuIFN0cmluZyhhLnN0cmluZ1ZhbHVlKTtpZihhLmludGVnZXJWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuaW50ZWdlclZhbHVlKTsKaWYoYS5kb3VibGVWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuZG91YmxlVmFsdWUpO3Rocm93IEVycm9yKCJVbmtub3duIGZpZWxkIHVzZWQgZm9yIHZhcmlhYmxlIG9mIHR5cGUgRXhwcmVzc2lvblZhbHVlOiIrYSk7fX0sSGg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmFyZ3M7aWYoIUFycmF5LmlzQXJyYXkoYyl8fGMubGVuZ3RoPT09MCl0aHJvdyBFcnJvcignSW52YWxpZCBib29sZWFuIGV4cHJlc3Npb24gZm9ybWF0LiBFeHBlY3RlZCAiYXJncyI6JytjKyIgcHJvcGVydHkgdG9cbiAgICAgICAgIGJlIG5vbi1lbXB0eSBhcnJheS4iKTt2YXIgZD1mdW5jdGlvbihnKXtyZXR1cm4gS2goZyxiKX07c3dpdGNoKGEudHlwZSl7Y2FzZSAxOmZvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKWlmKGQoY1tlXSkpcmV0dXJuITA7cmV0dXJuITE7Y2FzZSAyOmZvcih2YXIgZj0wO2Y8Yy5sZW5ndGg7ZisrKWlmKCFkKGNbZl0pKXJldHVybiExO3JldHVybiBjLmxlbmd0aD4wO2Nhc2UgMzpyZXR1cm4hZChjWzBdKTsKY2FzZSA0OnJldHVybiBKZyhkKGNbMF0pLGQoY1sxXSksITEsYi5yZWdleENhY2hlKTtjYXNlIDU6cmV0dXJuIExnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA2OnJldHVybiBRZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgNzpyZXR1cm4gSGcoZChjWzBdKSxkKGNbMV0pKTtjYXNlIDg6cmV0dXJuIEtnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA5OnJldHVybiBQZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTA6cmV0dXJuIE5nKGQoY1swXSksZChjWzFdKSk7Y2FzZSAxMTpyZXR1cm4gT2coZChjWzBdKSxkKGNbMV0pKTtjYXNlIDEyOnJldHVybiBNZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTM6cmV0dXJuIElnKGQoY1swXSksU3RyaW5nKGQoY1sxXSkpKTtkZWZhdWx0OnRocm93IEVycm9yKCdJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBmb3JtYXQuIEV4cGVjdGVkICJ0eXBlIiBwcm9wZXJ0eSB0b2JlIGEgcG9zaXRpdmUgaW50ZWdlciB3aGljaCBpcyBsZXNzIHRoYW4gMTQuJyk7fX07CmZ1bmN0aW9uIExoKGEpe2lmKCFtaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7fTtmdW5jdGlvbiBNaChhKXt2YXIgYj1UZChhKTtyZXR1cm4gbmcoYj8iIitiOiIiKX07ZnVuY3Rpb24gTmgoYSxiKXtpZighcWgoYSl8fCFxaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsibnVtYmVyIiwibnVtYmVyIl0sYXJndW1lbnRzKTtyZXR1cm4gRGIoYSxiKX07ZnVuY3Rpb24gT2goKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX07ZnVuY3Rpb24gUGgoYSl7aWYoYT09PW51bGwpcmV0dXJuIm51bGwiO2lmKGEgaW5zdGFuY2VvZiBHZClyZXR1cm4iYXJyYXkiO2lmKGEgaW5zdGFuY2VvZiBLZClyZXR1cm4iZnVuY3Rpb24iO2lmKGEgaW5zdGFuY2VvZiBQZCl7dmFyIGI9YS5nZXRWYWx1ZSgpO2lmKChiPT1udWxsP3ZvaWQgMDpiLmNvbnN0cnVjdG9yKT09PXZvaWQgMHx8Yi5jb25zdHJ1Y3Rvci5uYW1lPT09dm9pZCAwKXt2YXIgYz1TdHJpbmcoYik7cmV0dXJuIGMuc3Vic3RyaW5nKDgsYy5sZW5ndGgtMSl9cmV0dXJuIFN0cmluZyhiLmNvbnN0cnVjdG9yLm5hbWUpfXJldHVybiB0eXBlb2YgYX07ZnVuY3Rpb24gUWgoYSl7ZnVuY3Rpb24gYihjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dHJ5e3JldHVybiBjKGQpfWNhdGNoKGUpeyhsZ3x8bWcuUG8pJiZhLmNhbGwodGhpcyxlLm1lc3NhZ2UpfX19cmV0dXJue3BhcnNlOmIoZnVuY3Rpb24oYyl7cmV0dXJuIFVkKEpTT04ucGFyc2UoYykpfSksc3RyaW5naWZ5OmIoZnVuY3Rpb24oYyl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFRkKGMpKX0pLHB1YmxpY05hbWU6IkpTT04ifX07ZnVuY3Rpb24gUmgoYSl7cmV0dXJuIEliKFRkKGEsdGhpcy5UKSl9O2Z1bmN0aW9uIFNoKGEpe3JldHVybiBOdW1iZXIoVGQoYSx0aGlzLlQpKX07ZnVuY3Rpb24gVGgoYSl7cmV0dXJuIGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEudG9TdHJpbmcoKX07ZnVuY3Rpb24gVWgoYSxiLGMpe3ZhciBkPW51bGwsZT0hMTtyZXR1cm4gZT9kOm51bGx9O3ZhciBBaD0iZmxvb3IgY2VpbCByb3VuZCBtYXggbWluIGFicyBwb3cgc3FydCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBWaCgpe3ZhciBhPXt9O3JldHVybntXcjpmdW5jdGlvbihiKXtyZXR1cm4gYS5oYXNPd25Qcm9wZXJ0eShiKT9hW2JdOnZvaWQgMH0sS286ZnVuY3Rpb24oYixjKXthW2JdPWN9LHJlc2V0OmZ1bmN0aW9uKCl7YT17fX19fWZ1bmN0aW9uIFdoKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEtkLnByb3RvdHlwZS5pbnZva2UuYXBwbHkoYSxbYl0uY29uY2F0KHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSkpfX0KZnVuY3Rpb24gWGgoYSxiKXtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7fQpmdW5jdGlvbiBZaChhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJQaXhpZU1hcCJdLGFyZ3VtZW50cyk7fTt2YXIgWmg9e307dmFyICRoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYjtpZihhIGluc3RhbmNlb2YgR2QpZm9yKHZhciBjPWEuRmEoKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF07YS5oYXMoZSkmJmIuc2V0KGUsYS5nZXQoZSkpfWVsc2UgaWYoYSBpbnN0YW5jZW9mIEtkKWZvcih2YXIgZj1hLkZhKCksZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO2Iuc2V0KGgsYS5nZXQoaCkpfWVsc2UgZm9yKHZhciBsPTA7bDxhLmxlbmd0aDtsKyspYi5zZXQobCxhW2xdKTtyZXR1cm4gYn07ClpoLmtleXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5GYSgpKTtyZXR1cm4gbmV3IEdkfTsKWmgudmFsdWVzPWZ1bmN0aW9uKGEpe2RoKHRoaXMuZ2V0TmFtZSgpLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIEdkfHxhIGluc3RhbmNlb2YgS2R8fHR5cGVvZiBhPT09InN0cmluZyIpYT0kaChhKTtpZihhIGluc3RhbmNlb2Yga2J8fGEgaW5zdGFuY2VvZiBTZClyZXR1cm4gbmV3IEdkKGEuaGMoKSk7cmV0dXJuIG5ldyBHZH07ClpoLmVudHJpZXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5mYygpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gbmV3IEdkKGIpfSkpO3JldHVybiBuZXcgR2R9OwpaaC5mcmVlemU9ZnVuY3Rpb24oYSl7KGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZCkmJmEuWmEoKTtyZXR1cm4gYX07WmguZGVsZXRlPWZ1bmN0aW9uKGEsYil7aWYoYSBpbnN0YW5jZW9mIGtiJiYhYS5IYigpKXJldHVybiBhLnJlbW92ZShiKSwhMDtyZXR1cm4hMX07ZnVuY3Rpb24gTChhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkPWEuVC54YigpO2lmKCFkKXRocm93IEVycm9yKCJNaXNzaW5nIHByb2dyYW0gc3RhdGUuIik7aWYoZC5pdCl7dHJ5e2QuUm4uYXBwbHkobnVsbCxbYl0uY29uY2F0KHcoYykpKX1jYXRjaChlKXt0aHJvdyBzYigiVEFHR0lORyIsMjEpLGU7fXJldHVybn1kLlJuLmFwcGx5KG51bGwsW2JdLmNvbmNhdCh3KGMpKSl9O3ZhciBhaT1mdW5jdGlvbigpe3RoaXMuSz17fTt0aGlzLkg9e307dGhpcy5OPSEwO307YWkucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY29udGFpbnMoYSk/dGhpcy5LW2FdOnZvaWQgMDtyZXR1cm4gY307YWkucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLksuaGFzT3duUHJvcGVydHkoYSl9OwphaS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjKXtpZih0aGlzLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZih0aGlzLkguaGFzT3duUHJvcGVydHkoYSkpdGhyb3cgRXJyb3IoIkF0dGVtcHRpbmcgdG8gYWRkIGFuIEFQSSB3aXRoIGFuIGV4aXN0aW5nIHByaXZhdGUgQVBJIG5hbWU6ICIrYSsiLiIpO3RoaXMuS1thXT1jP3ZvaWQgMDp5YihiKT90aChhLGIpOnVoKGEsYil9O2Z1bmN0aW9uIGJpKGEsYil7dmFyIGM9dm9pZCAwO3JldHVybiBjfTtmdW5jdGlvbiBjaSgpe3ZhciBhPXt9OwpyZXR1cm4gYX07dmFyIGRpPXt9LGVpPShkaVtGLkQuc2FdPSJnY3UiLGRpW0YuRC5laF09ImVwdCIsZGlbRi5ELlNiXT0iZ2NsZ2IiLGRpW0YuRC5sYl09ImdjbGF3IixkaVtGLkQuemxdPSJnY2xpZF9sZW4iLGRpW0YuRC5CZV09ImdjbGdzIixkaVtGLkQuQ2VdPSJnY2xscCIsZGlbRi5ELkRlXT0iZ2Nsc3QiLGRpW0YuRC5FZF09ImF1aWQiLGRpW0YuRC5CbF09ImFlIixkaVtGLkQuQ2ZdPSJkc2NudCIsZGlbRi5ELkRmXT0iZmNudHIiLGRpW0YuRC5FZl09ImZsbmciLGRpW0YuRC5GZl09Im1pZCIsZGlbRi5ELndpXT0iYnR0eXBlIixkaVtGLkQuS2JdPSJnYWNpZCIsZGlbRi5ELkdkXT0ibGFiZWwiLGRpW0YuRC5GZV09ImNhcGkiLGRpW0YuRC5qaF09InBzY2RsIixkaVtGLkQuZWJdPSJjdXJyZW5jeV9jb2RlIixkaVtGLkQuR2VdPSJ2ZGx0diIsZGlbRi5ELmtoXT0iY2xvY3QiLGRpW0YuRC5FbF09Il9kYmciLGRpW0YuRC5JZV09Im9lZGVsZCIsZGlbRi5ELlZjXT0iZWRpZCIsZGlbRi5ELk1kXT0iZXZuaWQiLApkaVtGLkQuRWldPSJldmppZCIsZGlbRi5ELk5kXT0iZXhjaWQiLGRpW0YuRC5yaF09ImdhYyIsZGlbRi5ELkplXT0iZ2FjZ2IiLGRpW0YuRC5NbF09ImdhY21jb3YiLGRpW0YuRC5LZV09ImdkcHIiLGRpW0YuRC5YY109ImdkaWQiLGRpW0YuRC5MZV09Il9uZyIsZGlbRi5ELmNxXT0iX29ubyIsZGlbRi5ELnRoXT0iZ3BwX3NpZCIsZGlbRi5ELnVoXT0iZ3BwIixkaVtGLkQuUGxdPSJnc2FleHAiLGRpW0YuRC5WZl09Il90dSIsZGlbRi5ELk1lXT0iZnJtIixkaVtGLkQuS2ldPSJndG1fdXAiLGRpW0YuRC5QZF09ImxwcyIsZGlbRi5ELkxpXT0iZGlkIixkaVtGLkQuUWRdPSJmY250ciIsZGlbRi5ELlJkXT0iZmxuZyIsZGlbRi5ELlNkXT0ibWlkIixkaVtGLkQuTmVdPXZvaWQgMCxkaVtGLkQuTWJdPSJ0aWJhIixkaVtGLkQuV2JdPSJyZHAiLGRpW0YuRC54Y109ImVjc2lkIixkaVtGLkQuWmZdPSJnYV91aWQiLGRpW0YuRC5VZF09ImRlbG9wYyIsZGlbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IiwKZGlbRi5ELlBhXT0ib2lkIixkaVtGLkQuZG1dPSJvaWRzcmMiLGRpW0YuRC5mbV09InVwdGdzIixkaVtGLkQuY2ddPSJ1YWEiLGRpW0YuRC5kZ109InVhYiIsZGlbRi5ELmVnXT0idWFmdmwiLGRpW0YuRC5mZ109InVhbWIiLGRpW0YuRC5nZ109InVhbSIsZGlbRi5ELmhnXT0idWFwIixkaVtGLkQuaWddPSJ1YXB2IixkaVtGLkQuamddPSJ1YXciLGRpW0YuRC5nbV09ImVjX2xhdCIsZGlbRi5ELmhtXT0iZWNfbWV0YSIsZGlbRi5ELmltXT0iZWNfbSIsZGlbRi5ELmptXT0iZWNfc2VsIixkaVtGLkQua21dPSJlY19zIixkaVtGLkQuQmNdPSJlY19tb2RlIixkaVtGLkQuZmJdPSJ1c2VySWQiLGRpW0YuRC5rZ109InVzX3ByaXZhY3kiLGRpW0YuRC5RYV09InZhbHVlIixkaVtGLkQucW1dPSJtY292IixkaVtGLkQuV2ldPSJobiIsZGlbRi5ELlZtXT0iZ3RtX2VlIixkaVtGLkQuWWldPSJ1aXAiLGRpW0YuRC5KaF09Im10IixkaVtGLkQuZGVdPSJucGEiLGRpW0YuRC5ZcV09InNnX3VjIixkaVtGLkQueWldPQpudWxsLGRpW0YuRC5iZF09bnVsbCxkaVtGLkQudGJdPW51bGwsZGlbRi5ELkhhXT1udWxsLGRpW0YuRC56YV09bnVsbCxkaVtGLkQuVWFdPW51bGwsZGlbRi5ELlBlXT1udWxsLGRpW0YuRC5lZF09bnVsbCxkaVtGLkQuc2hdPW51bGwsZGlbRi5ELkJkXT1udWxsLGRpW0YuRC5DZF09bnVsbCxkaVtGLkQuZmhdPW51bGwsZGlbRi5ELmdoXT1udWxsLGRpW0YuRC5UYV09bnVsbCxkaVtGLkQuV2NdPW51bGwsZGkpO2Z1bmN0aW9uIGZpKGEsYil7aWYoYSl7dmFyIGM9YS5zcGxpdCgieCIpO2MubGVuZ3RoPT09MiYmKGdpKGIsInVfdyIsY1swXSksZ2koYiwidV9oIixjWzFdKSl9fWZ1bmN0aW9uIGhpKGEpe3ZhciBiPWlpO2I9Yj09PXZvaWQgMD9qaTpiO3JldHVybiBraShsaShhLGIpKX1mdW5jdGlvbiBraShhKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4hIWJ9KS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIigiK1ttaShiLnZhbHVlKSxtaShiLnF1YW50aXR5KSxtaShiLml0ZW1faWQpLG1pKGIuc3RhcnRfZGF0ZSksbWkoYi5lbmRfZGF0ZSldLmpvaW4oIioiKSsiKSJ9KS5qb2luKCIiKX0KZnVuY3Rpb24gbGkoYSxiKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hIWN9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJue2l0ZW1faWQ6YihjKSxxdWFudGl0eTpjLnF1YW50aXR5LHZhbHVlOmMucHJpY2Usc3RhcnRfZGF0ZTpjLnN0YXJ0X2RhdGUsZW5kX2RhdGU6Yy5lbmRfZGF0ZX19KX1mdW5jdGlvbiBqaShhKXtyZXR1cm5bYS5pdGVtX2lkLGEuaWQsYS5pdGVtX25hbWVdLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIhPW51bGx9KX1mdW5jdGlvbiBuaShhKXtpZihhJiZhLmxlbmd0aClyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGImJmIuZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGU/Yi5lc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZToiIn0pLmpvaW4oIiwiKX1mdW5jdGlvbiBnaShhLGIsYyl7Yz09PXZvaWQgMHx8Yz09PW51bGx8fGM9PT0iIiYmIXlnW2JdfHwoYVtiXT1jKX0KZnVuY3Rpb24gbWkoYSl7cmV0dXJuIHR5cGVvZiBhIT09Im51bWJlciImJnR5cGVvZiBhIT09InN0cmluZyI/IiI6YS50b1N0cmluZygpfTtmdW5jdGlvbiBvaSgpe3RoaXMuYmxvY2tTaXplPS0xfTtmdW5jdGlvbiBwaShhLGIpe3RoaXMuYmxvY2tTaXplPS0xO3RoaXMuYmxvY2tTaXplPTY0O3RoaXMuTj1SYS5VaW50OEFycmF5P25ldyBVaW50OEFycmF5KHRoaXMuYmxvY2tTaXplKTpBcnJheSh0aGlzLmJsb2NrU2l6ZSk7dGhpcy5SPXRoaXMuSz0wO3RoaXMuSD1bXTt0aGlzLmZhPWE7dGhpcy5aPWI7dGhpcy5qYT1SYS5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KDY0KTpBcnJheSg2NCk7cWk9PT12b2lkIDAmJihSYS5JbnQzMkFycmF5P3FpPW5ldyBJbnQzMkFycmF5KHJpKTpxaT1yaSk7dGhpcy5yZXNldCgpfVNhKHBpLG9pKTtmb3IodmFyIHNpPVtdLHRpPTA7dGk8NjM7dGkrKylzaVt0aV09MDt2YXIgdWk9W10uY29uY2F0KDEyOCxzaSk7CnBpLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuUj10aGlzLks9MDt2YXIgYTtpZihSYS5JbnQzMkFycmF5KWE9bmV3IEludDMyQXJyYXkodGhpcy5aKTtlbHNle3ZhciBiPXRoaXMuWixjPWIubGVuZ3RoO2lmKGM+MCl7Zm9yKHZhciBkPUFycmF5KGMpLGU9MDtlPGM7ZSsrKWRbZV09YltlXTthPWR9ZWxzZSBhPVtdfXRoaXMuSD1hfTsKdmFyIHZpPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLk4sYz1hLmphLGQ9MCxlPTA7ZTxiLmxlbmd0aDspY1tkKytdPWJbZV08PDI0fGJbZSsxXTw8MTZ8YltlKzJdPDw4fGJbZSszXSxlPWQqNDtmb3IodmFyIGY9MTY7Zjw2NDtmKyspe3ZhciBnPWNbZi0xNV18MCxoPWNbZi0yXXwwO2NbZl09KChjW2YtMTZdfDApKygoZz4+Pjd8Zzw8MjUpXihnPj4+MTh8Zzw8MTQpXmc+Pj4zKXwwKSsoKGNbZi03XXwwKSsoKGg+Pj4xN3xoPDwxNSleKGg+Pj4xOXxoPDwxMyleaD4+PjEwKXwwKXwwfWZvcih2YXIgbD1hLkhbMF18MCxuPWEuSFsxXXwwLHA9YS5IWzJdfDAscT1hLkhbM118MCxyPWEuSFs0XXwwLHQ9YS5IWzVdfDAsdT1hLkhbNl18MCx2PWEuSFs3XXwwLHg9MDt4PDY0O3grKyl7dmFyIHk9KChsPj4+MnxsPDwzMCleKGw+Pj4xM3xsPDwxOSleKGw+Pj4yMnxsPDwxMCkpKyhsJm5ebCZwXm4mcCl8MCx6PSh2Kygocj4+PjZ8cjw8MjYpXihyPj4+MTF8cjw8MjEpXihyPj4+MjV8cjw8NykpfAowKSsoKChyJnRefnImdSkrKHFpW3hdfDApfDApKyhjW3hdfDApfDApfDA7dj11O3U9dDt0PXI7cj1xK3p8MDtxPXA7cD1uO249bDtsPXoreXwwfWEuSFswXT1hLkhbMF0rbHwwO2EuSFsxXT1hLkhbMV0rbnwwO2EuSFsyXT1hLkhbMl0rcHwwO2EuSFszXT1hLkhbM10rcXwwO2EuSFs0XT1hLkhbNF0rcnwwO2EuSFs1XT1hLkhbNV0rdHwwO2EuSFs2XT1hLkhbNl0rdXwwO2EuSFs3XT1hLkhbN10rdnwwfTsKcGkucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPWEubGVuZ3RoKTt2YXIgYz0wLGQ9dGhpcy5LO2lmKHR5cGVvZiBhPT09InN0cmluZyIpZm9yKDtjPGI7KXRoaXMuTltkKytdPWEuY2hhckNvZGVBdChjKyspLGQ9PXRoaXMuYmxvY2tTaXplJiYodmkodGhpcyksZD0wKTtlbHNle3ZhciBlLGY9dHlwZW9mIGE7ZT1mIT0ib2JqZWN0Ij9mOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmY6Im51bGwiO2lmKGU9PSJhcnJheSJ8fGU9PSJvYmplY3QiJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKWZvcig7YzxiOyl7dmFyIGc9YVtjKytdO2lmKCEoIm51bWJlciI9PXR5cGVvZiBnJiYwPD1nJiYyNTU+PWcmJmc9PShnfDApKSl0aHJvdyBFcnJvcigibWVzc2FnZSBtdXN0IGJlIGEgYnl0ZSBhcnJheSIpO3RoaXMuTltkKytdPWc7ZD09dGhpcy5ibG9ja1NpemUmJih2aSh0aGlzKSxkPTApfWVsc2UgdGhyb3cgRXJyb3IoIm1lc3NhZ2UgbXVzdCBiZSBzdHJpbmcgb3IgYXJyYXkiKTsKfXRoaXMuSz1kO3RoaXMuUis9Yn07cGkucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBhPVtdLGI9dGhpcy5SKjg7dGhpcy5LPDU2P3RoaXMudXBkYXRlKHVpLDU2LXRoaXMuSyk6dGhpcy51cGRhdGUodWksdGhpcy5ibG9ja1NpemUtKHRoaXMuSy01NikpO2Zvcih2YXIgYz02MztjPj01NjtjLS0pdGhpcy5OW2NdPWImMjU1LGIvPTI1Njt2aSh0aGlzKTtmb3IodmFyIGQ9MCxlPTA7ZTx0aGlzLmZhO2UrKylmb3IodmFyIGY9MjQ7Zj49MDtmLT04KWFbZCsrXT10aGlzLkhbZV0+PmYmMjU1O3JldHVybiBhfTsKdmFyIHJpPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsCjQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxxaTtmdW5jdGlvbiB3aSgpe3BpLmNhbGwodGhpcyw4LHhpKX1TYSh3aSxwaSk7dmFyIHhpPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV07dmFyIHlpPS9eWzAtOUEtRmEtZl17NjR9JC87ZnVuY3Rpb24gemkoYSl7dHJ5e3JldHVybihuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKX1jYXRjaChiKXtyZXR1cm4gWmIoYSl9fWZ1bmN0aW9uIEFpKGEpe3ZhciBiPUE7aWYoYT09PSIifHxhPT09ImUwIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpO3ZhciBjO2lmKChjPWIuY3J5cHRvKT09bnVsbD8wOmMuc3VidGxlKXtpZih5aS50ZXN0KGEpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYSk7dHJ5e3ZhciBkPXppKGEpO3JldHVybiBiLmNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixkKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBCaShlLGIpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4iZTIifSl9Y2F0Y2goZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgiZTIiKX19ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJlMSIpfQpmdW5jdGlvbiBDaShhKXt0cnl7dmFyIGI9bmV3IHdpO2IudXBkYXRlKHppKGEpKTtyZXR1cm4gYi5kaWdlc3QoKX1jYXRjaChjKXtyZXR1cm4iZTIifX1mdW5jdGlvbiBEaShhKXt2YXIgYj1BO2lmKGE9PT0iInx8YT09PSJlMCJ8fHlpLnRlc3QoYSkpcmV0dXJuIGE7dmFyIGM9Q2koYSk7aWYoYz09PSJlMiIpcmV0dXJuImUyIjt0cnl7cmV0dXJuIEJpKGMsYil9Y2F0Y2goZCl7cmV0dXJuImUyIn19ZnVuY3Rpb24gQmkoYSxiKXt2YXIgYz1BcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGEpKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZCl9KS5qb2luKCIiKTtyZXR1cm4gYi5idG9hKGMpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskLywiIil9O2Z1bmN0aW9uIEVpKCl7Zm9yKHZhciBhPSExLGI9ITEsYz0wO2E9PT1iOylpZihhPURiKDAsMSk9PT0wLGI9RGIoMCwxKT09PTAsYysrLGM+MzApcmV0dXJuO3JldHVybiBhfXZhciBHaT17c2s6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBGaS5zayhhLGIsYyl9fSxIaT1mdW5jdGlvbigpe3RoaXMuc3R1ZGllcz17fTt0aGlzLkg9RWl9OwpIaS5wcm90b3R5cGUuc2s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuc3R1ZGllc1tiXTtpZighKChjPT09dm9pZCAwP0RiKDAsOTk5OSk6YyUxRTQpPGQucHJvYmFiaWxpdHkqKGQuY29udHJvbElkMj80OjIpKjFFNCkpcmV0dXJuIGE7YTp7dmFyIGU9ZC5zdHVkeUlkLGY9ZC5leHBlcmltZW50SWQsZz1kLmNvbnRyb2xJZCxoPWQuY29udHJvbElkMjtpZighKChhLmV4cHx8e30pW2ZdfHwoYS5leHB8fHt9KVtnXXx8aCYmKGEuZXhwfHx7fSlbaF0pKXt2YXIgbD1jIT09dm9pZCAwP2MlMj09PTA6dGhpcy5IKCk7aWYobCE9PXZvaWQgMCl7dmFyIG49bD8wOjE7aWYoaCl7dmFyIHA9YyE9PXZvaWQgMD8oYz4+MSklMj09PTA6dGhpcy5IKCk7aWYocD09PXZvaWQgMClicmVhayBhO258PShwPzA6MSk8PDF9bj09PTA/SWkoYSxmLGUpOm49PT0xP0lpKGEsZyxlKTpuPT09MiYmSWkoYSxoLGUpfX19cmV0dXJuIGF9Owp2YXIgS2k9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdP0ppKGMsYil8fCEhKGEuZXhwfHx7fSlbYy5zdHVkaWVzW2JdLmV4cGVyaW1lbnRJZF06ITF9LExpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Rmk7cmV0dXJuIGMuc3R1ZGllc1tiXSYmYy5zdHVkaWVzW2JdLmNvbnRyb2xJZCYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkXTohMX0sTWk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdJiZjLnN0dWRpZXNbYl0uY29udHJvbElkMiYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkMl06ITF9LE5pPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEuZXhwfHx7fSxkPW0oT2JqZWN0LmtleXMoYykubWFwKE51bWJlcikpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2lmKGNbZl09PT1iKXJldHVybiBmfX0sSmk9ZnVuY3Rpb24oYSwKYil7cmV0dXJuISFhLnN0dWRpZXNbYl0uYWN0aXZlfHxhLnN0dWRpZXNbYl0ucHJvYmFiaWxpdHk+LjV9LElpPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmV4cHx8e307ZFtiXT1jO2EuZXhwPWR9LEZpPW5ldyBIaTt2YXIgaWo9ZnVuY3Rpb24oKXt0aGlzLkg9QS5nb29nbGVfdGFnX21hbmFnZXI9QS5nb29nbGVfdGFnX21hbmFnZXJ8fHt9fSxqajtmdW5jdGlvbiBraihhLGIpe2xqKCk7dmFyIGM9amo7cmV0dXJuIGMuSFthXT1jLkhbYV18fGIoKX1mdW5jdGlvbiBtaihhKXtsaigpO3JldHVybiBqai5IW2FdfWZ1bmN0aW9uIG5qKGEsYil7bGooKTtqai5IW2FdPWJ9ZnVuY3Rpb24gb2ooYSl7dmFyIGI9RSg1KTtsaigpO3ZhciBjPWpqO2MuSFtiXT1jLkhbYl18fGF9ZnVuY3Rpb24gcGooKXt2YXIgYT1FKDE5KTtsaigpO3ZhciBiPWpqO3JldHVybiBiLkhbYV09Yi5IW2FdfHx7fX1mdW5jdGlvbiBxaigpe3ZhciBhPUUoMTkpO2xqKCk7cmV0dXJuIGpqLkhbYV19ZnVuY3Rpb24gcmooKXtsaigpO3ZhciBhPWpqLGI9YS5ILnNlcXVlbmNlfHwxO2EuSC5zZXF1ZW5jZT1iKzE7cmV0dXJuIGJ9ZnVuY3Rpb24gbGooKXtqanx8KGpqPW5ldyBpail9O3ZhciBzaj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiAwO2Nhc2UgNDkxOnJldHVybiAxMjtjYXNlIDQ4MDpyZXR1cm4gMTE7Y2FzZSA0OTk6cmV0dXJuIDEwO2Nhc2UgNTAwOnJldHVybiA2O2Nhc2UgNDIxOnJldHVybiA5O2Nhc2UgNTYxOnJldHVybiAxNztjYXNlIDQ4MjpyZXR1cm4gMTU7Y2FzZSA1NzA6cmV0dXJuIDE5O2Nhc2UgNDk1OnJldHVybiAxMztjYXNlIDUxNDpyZXR1cm4gMTY7Y2FzZSA1NzM6cmV0dXJuIDE4O2Nhc2UgMjM1OnJldHVybiA4O2Nhc2UgNTM6cmV0dXJuIDE7Y2FzZSA1NDpyZXR1cm4gMjtjYXNlIDUyOnJldHVybiA0O2Nhc2UgNzU6cmV0dXJuIDN9fSx0aj1mdW5jdGlvbihhLGIpe2EuTltiXT0hMDt2YXIgYz1zaihiKTtjIT09dm9pZCAwJiYoV2ZbY109ITApfSxNPWZ1bmN0aW9uKGEpe3JldHVybiEhdWouTlthXX0sdWo9bmV3IGZ1bmN0aW9uKCl7dGhpcy5OPVtdO3RoaXMuSz1bXTt0aGlzLkg9W107CnRqKHRoaXMsMTMyKTt2YXIgYT1OZig2LDZFNCk7WGZbMV09YTt2YXIgYj1OZig3LDEpO1hmWzNdPWI7dmFyIGM9TmYoMzUsNTApO1hmWzJdPWM7dmFyIGQ9TmYoNjksMTc3NjQ0ODkyMCk7WGZbNF09ZDsKdGoodGhpcyw0MzUpO3RqKHRoaXMsMTQxKTsKfTt2YXIgdmo9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IFNldDt0aGlzLks9bmV3IFNldH0seGo9ZnVuY3Rpb24oYSl7dmFyIGI9d2ouSDthPWE9PT12b2lkIDA/W106YTt2YXIgYz1bXS5jb25jYXQodyhiLkgpKS5jb25jYXQoW10uY29uY2F0KHcoYi5LKSkpLmNvbmNhdChhKTtjLnNvcnQoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC1lfSk7cmV0dXJuIGN9LHlqPWZ1bmN0aW9uKCl7dmFyIGE9W10uY29uY2F0KHcod2ouSC5IKSk7YS5zb3J0KGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGItY30pO3JldHVybiBhfSx6aj1mdW5jdGlvbigpe3ZhciBhPXdqLkgsYj1FKDQ0KTthLkg9bmV3IFNldDtpZihiIT09IiIpZm9yKHZhciBjPW0oYi5zcGxpdCgifiIpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9TnVtYmVyKGQudmFsdWUpO2lzTmFOKGUpfHxhLkguYWRkKGUpfX07dmFyIEFqPXt9LEJqPXtfX2NsOjEsX19lY2w6MSxfX2VobDoxLF9fZXZsOjEsX19mYWw6MSxfX2ZpbDoxLF9fZnNsOjEsX19obDoxLF9famVsOjEsX19sY2w6MSxfX3NkbDoxLF9fdGw6MSxfX3l0bDoxfSxDaj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHtfX3BhdXNlZDoxLF9fdGc6MX0sQmopLERqLEVqPSExO0RqPUVqO3ZhciBGaj0iIjtBai5xaj1Gajt2YXIgd2o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPW5ldyB2an07dmFyIEdqPS86WzAtOV0rJC8sSGo9L15cZCtcLmZsc1wuZG91YmxlY2xpY2tcLm5ldCQvO2Z1bmN0aW9uIElqKGEsYixjLGQpe3ZhciBlPUpqKGEsISFkLGIpLGYsZztyZXR1cm4gYz8oZz1lW2JdKSE9bnVsbD9nOltdOihmPWVbYl0pPT1udWxsP3ZvaWQgMDpmWzBdfWZ1bmN0aW9uIEpqKGEsYixjKXtmb3IodmFyIGQ9e30sZT1tKGEuc3BsaXQoIiYiKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPW0oZi52YWx1ZS5zcGxpdCgiPSIpKSxoPWcubmV4dCgpLnZhbHVlLGw9eWEoZyksbj1kZWNvZGVVUklDb21wb25lbnQoaC5yZXBsYWNlKC9cKy9nLCIgIikpO2lmKGM9PT12b2lkIDB8fG49PT1jKXt2YXIgcD1sLmpvaW4oIj0iKTtkW25dfHwoZFtuXT1bXSk7ZFtuXS5wdXNoKGI/cDpkZWNvZGVVUklDb21wb25lbnQocC5yZXBsYWNlKC9cKy9nLCIgIikpKX19cmV0dXJuIGR9CmZ1bmN0aW9uIEtqKGEpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEpfWNhdGNoKGIpe319ZnVuY3Rpb24gTGooYSxiLGMsZCxlKXtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7aWYoYj09PSJwcm90b2NvbCJ8fGI9PT0icG9ydCIpYS5wcm90b2NvbD1NaihhLnByb3RvY29sKXx8TWooQS5sb2NhdGlvbi5wcm90b2NvbCk7Yj09PSJwb3J0Ij9hLnBvcnQ9U3RyaW5nKE51bWJlcihhLmhvc3RuYW1lP2EucG9ydDpBLmxvY2F0aW9uLnBvcnQpfHwoYS5wcm90b2NvbD09PSJodHRwIj84MDphLnByb3RvY29sPT09Imh0dHBzIj80NDM6IiIpKTpiPT09Imhvc3QiJiYoYS5ob3N0bmFtZT0oYS5ob3N0bmFtZXx8QS5sb2NhdGlvbi5ob3N0bmFtZSkucmVwbGFjZShHaiwiIikudG9Mb3dlckNhc2UoKSk7cmV0dXJuIE5qKGEsYixjLGQsZSl9CmZ1bmN0aW9uIE5qKGEsYixjLGQsZSl7dmFyIGYsZz1NaihhLnByb3RvY29sKTtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7c3dpdGNoKGIpe2Nhc2UgInVybF9ub19mcmFnbWVudCI6Zj1PaihhKTticmVhaztjYXNlICJwcm90b2NvbCI6Zj1nO2JyZWFrO2Nhc2UgImhvc3QiOmY9YS5ob3N0bmFtZS5yZXBsYWNlKEdqLCIiKS50b0xvd2VyQ2FzZSgpO2lmKGMpe3ZhciBoPS9ed3d3XGQqXC4vLmV4ZWMoZik7aCYmaFswXSYmKGY9Zi5zdWJzdHJpbmcoaFswXS5sZW5ndGgpKX1icmVhaztjYXNlICJwb3J0IjpmPVN0cmluZyhOdW1iZXIoYS5wb3J0KXx8KGc9PT0iaHR0cCI/ODA6Zz09PSJodHRwcyI/NDQzOiIiKSk7YnJlYWs7Y2FzZSAicGF0aCI6YS5wYXRobmFtZXx8YS5ob3N0bmFtZXx8c2IoIlRBR0dJTkciLDEpO2Y9YS5wYXRobmFtZS5zdWJzdHJpbmcoMCwxKT09PSIvIj9hLnBhdGhuYW1lOiIvIithLnBhdGhuYW1lO3ZhciBsPWYuc3BsaXQoIi8iKTsoZHx8W10pLmluZGV4T2YobFtsLmxlbmd0aC0KMV0pPj0wJiYobFtsLmxlbmd0aC0xXT0iIik7Zj1sLmpvaW4oIi8iKTticmVhaztjYXNlICJxdWVyeSI6Zj1hLnNlYXJjaC5yZXBsYWNlKCI/IiwiIik7ZSYmKGY9SWooZixlLCExKSk7YnJlYWs7Y2FzZSAiZXh0ZW5zaW9uIjp2YXIgbj1hLnBhdGhuYW1lLnNwbGl0KCIuIik7Zj1uLmxlbmd0aD4xP25bbi5sZW5ndGgtMV06IiI7Zj1mLnNwbGl0KCIvIilbMF07YnJlYWs7Y2FzZSAiZnJhZ21lbnQiOmY9YS5oYXNoLnJlcGxhY2UoIiMiLCIiKTticmVhaztkZWZhdWx0OmY9YSYmYS5ocmVmfXJldHVybiBmfWZ1bmN0aW9uIE1qKGEpe3JldHVybiBhP2EucmVwbGFjZSgiOiIsIiIpLnRvTG93ZXJDYXNlKCk6IiJ9ZnVuY3Rpb24gT2ooYSl7dmFyIGI9IiI7aWYoYSYmYS5ocmVmKXt2YXIgYz1hLmhyZWYuaW5kZXhPZigiIyIpO2I9YzwwP2EuaHJlZjphLmhyZWYuc3Vic3RyaW5nKDAsYyl9cmV0dXJuIGJ9dmFyIFBqPXt9LFFqPTA7CmZ1bmN0aW9uIFJqKGEpe3ZhciBiPVBqW2FdO2lmKCFiKXt2YXIgYz1CLmNyZWF0ZUVsZW1lbnQoImEiKTthJiYoYy5ocmVmPWEpO3ZhciBkPWMucGF0aG5hbWU7ZFswXSE9PSIvIiYmKGF8fHNiKCJUQUdHSU5HIiwxKSxkPSIvIitkKTt2YXIgZT1jLmhvc3RuYW1lLnJlcGxhY2UoR2osIiIpO2I9e2hyZWY6Yy5ocmVmLHByb3RvY29sOmMucHJvdG9jb2wsaG9zdDpjLmhvc3QsaG9zdG5hbWU6ZSxwYXRobmFtZTpkLHNlYXJjaDpjLnNlYXJjaCxoYXNoOmMuaGFzaCxwb3J0OmMucG9ydH07UWo8NSYmKFBqW2FdPWIsUWorKyl9cmV0dXJuIGJ9ZnVuY3Rpb24gU2ooYSxiLGMpe3ZhciBkPVJqKGEpO3JldHVybiBhYyhiLGQsYyl9CmZ1bmN0aW9uIFRqKGEpe3ZhciBiPVJqKEEubG9jYXRpb24uaHJlZiksYz1MaihiLCJob3N0IiwhMSk7aWYoYyYmYy5tYXRjaChIaikpe3ZhciBkPUxqKGIsInBhdGgiKTtpZihkKXt2YXIgZT1kLnNwbGl0KGErIj0iKTtpZihlLmxlbmd0aD4xKXJldHVybiBlWzFdLnNwbGl0KCI7IilbMF0uc3BsaXQoIj8iKVswXX19fTt2YXIgVWo9eyJodHRwczovL3d3dy5nb29nbGUuY29tIjoiL2ciLCJodHRwczovL3d3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSI6Ii9hcyIsImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iOiIvZ3MifSxWaj1bIi9hcy9kL2NjbS9jb252ZXJzaW9uIiwiL2cvZC9jY20vY29udmVyc2lvbiIsIi9ncy9jY20vY29udmVyc2lvbiIsIi9kL2NjbS9mb3JtLWRhdGEiXTtmdW5jdGlvbiBXaigpe3JldHVybiBJZig0Nyk/SmYoNTQpIT09MTohMX1mdW5jdGlvbiBYaigpe3ZhciBhPUUoMTgpLGI9YS5sZW5ndGg7cmV0dXJuIGFbYi0xXT09PSIvIj9hLnN1YnN0cmluZygwLGItMSk6YX0KZnVuY3Rpb24gWWooYSxiKXtpZihhKXt2YXIgYz0iIithO2MuaW5kZXhPZigiaHR0cDovLyIpIT09MCYmYy5pbmRleE9mKCJodHRwczovLyIpIT09MCYmKGM9Imh0dHBzOi8vIitjKTtjW2MubGVuZ3RoLTFdPT09Ii8iJiYoYz1jLnN1YnN0cmluZygwLGMubGVuZ3RoLTEpKTtyZXR1cm4gUmooIiIrYytiKS5ocmVmfX1mdW5jdGlvbiBaaihhKXtpZihhaygpKXJldHVybiBZaihhLCIvYW5hbHl0aWNzLmpzIil9ZnVuY3Rpb24gYmsoYSl7cmV0dXJuIGE9PT0yfHxhPT09M31mdW5jdGlvbiBjayhhKXtyZXR1cm4gTSg1ODgpJiZhPT09M31mdW5jdGlvbiBhaygpe3JldHVybiBXaigpfHxJZig1MCl9ZnVuY3Rpb24gZGsoKXtyZXR1cm4hIUFqLnFqJiZBai5xai5zcGxpdCgiQEAiKS5qb2luKCIiKSE9PSJTR1RNX1RPS0VOIn0KZnVuY3Rpb24gZWsoYSl7Zm9yKHZhciBiPW0oW0YuRC5kZCxGLkQueWNdKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9TyhhLGMudmFsdWUpO2lmKGQpcmV0dXJuIGR9fWZ1bmN0aW9uIGZrKGEsYixjKXtjPWM9PT12b2lkIDA/IiI6YztpZighV2ooKSlyZXR1cm4gYTt2YXIgZD1iP1VqW2FdfHwiIjoiIjtkPT09Ii9ncyImJihjPSIiKTtyZXR1cm4iIitYaigpK2QrY31mdW5jdGlvbiBnayhhKXtpZihXaigpKWZvcih2YXIgYj1tKFZqKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTtpZihTYihhLCIiK1hqKCkrZCkpcmV0dXJuIjo6In19CmZ1bmN0aW9uIGhrKCl7dmFyIGE9QTtpZighYSlyZXR1cm4hMTt0cnl7aWYoYT09PWEudG9wKXJldHVybiExO3ZhciBiPWEubG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIGIuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIvIikhPT0tMSYmVGIoYiwiL3N3X2lmcmFtZS5odG1sIil9Y2F0Y2goYyl7cmV0dXJuITF9fTt2YXIgaWs9L2d0YWdbLlwvXWpzLyxqaz0vZ3RtWy5cL11qcy8sbGs9ZnVuY3Rpb24oYSl7dmFyIGI9a2s7aWYoKGEuc2NyaXB0Q29udGFpbmVySWR8fCIiKS5pbmRleE9mKCJHVE0tIik+PTApe3ZhciBjO2E6e3ZhciBkLGU9KGQ9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6ZC5zcmM7aWYoZSl7Zm9yKHZhciBmPUlmKDQ3KSxnPVJqKGUpLGg9Zj9nLnBhdGhuYW1lOiIiK2cuaG9zdG5hbWUrZy5wYXRobmFtZSxsPUIuc2NyaXB0cyxuPSIiLHA9MDtwPGwubGVuZ3RoOysrcCl7dmFyIHE9bFtwXTtpZighKHEuaW5uZXJIVE1MLmxlbmd0aD09PTB8fCFmJiZxLmlubmVySFRNTC5pbmRleE9mKGEuc2NyaXB0Q29udGFpbmVySWR8fCJTSE9VTERfTk9UX0JFX1NFVCIpPDB8fHEuaW5uZXJIVE1MLmluZGV4T2YoaCk8MCkpe2lmKHEuaW5uZXJIVE1MLmluZGV4T2YoIihmdW5jdGlvbih3LGQscyxsLGkpIik+PTApe2M9U3RyaW5nKHApO2JyZWFrIGF9bj1TdHJpbmcocCl9fWlmKG4pe2M9Cm47YnJlYWsgYX19Yz12b2lkIDB9dmFyIHI9YztpZihyKXJldHVybiBiLkg9ITAscn12YXIgdD1bXS5zbGljZS5jYWxsKEIuc2NyaXB0cyk7cmV0dXJuIGEuc2NyaXB0RWxlbWVudD9TdHJpbmcodC5pbmRleE9mKGEuc2NyaXB0RWxlbWVudCkpOiItMSJ9LG1rPWZ1bmN0aW9uKGEpe2lmKGtrLkgpcmV0dXJuIjEiO3ZhciBiLGM9KGI9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6Yi5zcmM7aWYoYyl7aWYoaWsudGVzdChjKSlyZXR1cm4iMyI7aWYoamsudGVzdChjKSlyZXR1cm4iMiJ9cmV0dXJuIjAifSxraz1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O2Z1bmN0aW9uIFAoYSl7c2IoIkdUTSIsYSl9O2Z1bmN0aW9uIG5rKGEpe3ZhciBiPW9rKCkuZGVzdGluYXRpb25BcnJheVthXSxjPW9rKCkuZGVzdGluYXRpb25bYV07cmV0dXJuIGImJmIubGVuZ3RoPjA/YlswXTpjfWZ1bmN0aW9uIHBrKGEsYil7dmFyIGM9b2soKTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO0NiKGMucGVuZGluZyxmdW5jdGlvbihkKXtyZXR1cm4gZC50YXJnZXQuY3RpZD09PWEuY3RpZCYmZC50YXJnZXQuaXNEZXN0aW5hdGlvbj09PWEuaXNEZXN0aW5hdGlvbn0pfHxjLnBlbmRpbmcucHVzaCh7dGFyZ2V0OmEsb25Mb2FkOmJ9KX1mdW5jdGlvbiBxaygpe3ZhciBhPUEuZ29vZ2xlX3RhZ3NfZmlyc3RfcGFydHk7QXJyYXkuaXNBcnJheShhKXx8KGE9W10pO2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpYltkLnZhbHVlXT0hMDtyZXR1cm4gT2JqZWN0LmZyZWV6ZShiKX0KdmFyIHJrPWZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXI9e307dGhpcy5kZXN0aW5hdGlvbj17fTt0aGlzLmRlc3RpbmF0aW9uQXJyYXk9e307dGhpcy5jYW5vbmljYWw9e307dGhpcy5wZW5kaW5nPVtdO3RoaXMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz17fTt0aGlzLmluamVjdGVkRmlyc3RQYXJ0eUNvbnRhaW5lcnM9cWsoKX07CmZ1bmN0aW9uIG9rKCl7dmFyIGE9TWMoImdvb2dsZV90YWdfZGF0YSIse30pLGI9YS50aWRyO2ImJnR5cGVvZiBiPT09Im9iamVjdCJ8fChiPW5ldyByayxhLnRpZHI9Yik7dmFyIGM9YjtjLmNvbnRhaW5lcnx8KGMuY29udGFpbmVyPXt9KTtjLmRlc3RpbmF0aW9ufHwoYy5kZXN0aW5hdGlvbj17fSk7Yy5kZXN0aW5hdGlvbkFycmF5fHwoYy5kZXN0aW5hdGlvbkFycmF5PXt9KTtjLmNhbm9uaWNhbHx8KGMuY2Fub25pY2FsPXt9KTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO2MuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc3x8KGMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz1xaygpKTtyZXR1cm4gY307ZnVuY3Rpb24gc2soKXtyZXR1cm4gSWYoNykmJnRrKCkuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYT09PUUoNSl9KX1mdW5jdGlvbiB1aygpe3ZhciBhO3JldHVybihhPUtmKDU1KSkhPW51bGw/YTpbXX1mdW5jdGlvbiB2aygpe3JldHVybiBFKDYpfHwiXyIrRSg1KX1mdW5jdGlvbiB3aygpe3ZhciBhPUUoMTApO3JldHVybiBhP2Euc3BsaXQoInwiKTpbRSg1KV19ZnVuY3Rpb24gdGsoKXt2YXIgYT1LZig1OSk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyJ9KS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuaW5kZXhPZigiR1RNLSIpIT09MH0pOltdfWZ1bmN0aW9uIHhrKCl7dmFyIGE9eWsoemsoKSksYj1hJiZhLnBhcmVudDtpZihiKXJldHVybiB5ayhiKX0KZnVuY3Rpb24gQWsoKXt2YXIgYT15ayh6aygpKTtpZihhKXtmb3IoO2EucGFyZW50Oyl7dmFyIGI9eWsoYS5wYXJlbnQpO2lmKCFiKWJyZWFrO2E9Yn1yZXR1cm4gYX19ZnVuY3Rpb24geWsoYSl7dmFyIGI9b2soKTtyZXR1cm4gYS5pc0Rlc3RpbmF0aW9uP25rKGEuY3RpZCk6Yi5jb250YWluZXJbYS5jdGlkXX1mdW5jdGlvbiBCaygpe3ZhciBhPW9rKCk7aWYoYS5wZW5kaW5nKXtmb3IodmFyIGIsYz1bXSxkPSExLGU9d2soKSxmPXRrKCksZz17fSxoPTA7aDxhLnBlbmRpbmcubGVuZ3RoO2c9e1JnOnZvaWQgMH0saCsrKWcuUmc9YS5wZW5kaW5nW2hdLENiKGcuUmcudGFyZ2V0LmlzRGVzdGluYXRpb24/ZjplLGZ1bmN0aW9uKGwpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbj09PWwuUmcudGFyZ2V0LmN0aWR9fShnKSk/ZHx8KGI9Zy5SZy5vbkxvYWQsZD0hMCk6Yy5wdXNoKGcuUmcpO2EucGVuZGluZz1jO2lmKGIpdHJ5e2IodmsoKSl9Y2F0Y2gobCl7fX19CmZ1bmN0aW9uIENrKCl7Zm9yKHZhciBhPUUoNSksYj13aygpLGM9dGsoKSxkPXVrKCksZT1mdW5jdGlvbihxLHIpe3ZhciB0PXtjYW5vbmljYWxDb250YWluZXJJZDpFKDYpLHNjcmlwdENvbnRhaW5lcklkOmEsc3RhdGU6Mixjb250YWluZXJzOmIuc2xpY2UoKSxkZXN0aW5hdGlvbnM6Yy5zbGljZSgpfTtKYyYmKHQuc2NyaXB0RWxlbWVudD1KYyk7S2MmJih0LnNjcmlwdFNvdXJjZT1LYyk7eGsoKT09PXZvaWQgMCYmKHQuaHRtbExvYWRPcmRlcj1sayh0KSx0LmxvYWRTY3JpcHRUeXBlPW1rKHQpKTt2YXIgdSx2O3N3aXRjaChyKXtjYXNlIDA6dT1mdW5jdGlvbih6KXtmLmNvbnRhaW5lcltxXT16fTt2PWYuY29udGFpbmVyW3FdO2JyZWFrO2Nhc2UgMTp1PWZ1bmN0aW9uKHope2YuZGVzdGluYXRpb25BcnJheVtxXT1mLmRlc3RpbmF0aW9uQXJyYXlbcV18fFtdO2YuZGVzdGluYXRpb25BcnJheVtxXS51bnNoaWZ0KHopfTt2YXIgeCx5PSgoeD1mLmRlc3RpbmF0aW9uQXJyYXlbcV0pPT0KbnVsbD92b2lkIDA6eFswXSl8fGYuZGVzdGluYXRpb25bcV07IXl8fHkuc3RhdGUhPT0wJiZ5LnN0YXRlIT09MXx8KHY9eSk7YnJlYWs7Y2FzZSAyOnU9ZnVuY3Rpb24oeil7Zi5kZXN0aW5hdGlvbkFycmF5W3FdPWYuZGVzdGluYXRpb25BcnJheVtxXXx8W107Zi5kZXN0aW5hdGlvbkFycmF5W3FdLnB1c2goeil9LHY9dm9pZCAwfXUmJih2Pyh2LnN0YXRlPT09MCYmUCg5MyksbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx2LHQpKTp1KHQpKX0sZj1vaygpLGc9bShiKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSllKGgudmFsdWUsMCk7Zm9yKHZhciBsPW0oYyksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7ZC5pbmNsdWRlcyhwKT9lKHAsMSk6ZShwLDIpfWYuY2Fub25pY2FsW3ZrKCldPXt9O0JrKCl9ZnVuY3Rpb24gRGsoKXt2YXIgYT12aygpO3JldHVybiEhb2soKS5jYW5vbmljYWxbYV19CmZ1bmN0aW9uIEVrKGEpe3JldHVybiEhb2soKS5jb250YWluZXJbYV19ZnVuY3Rpb24gRmsoKXt2YXIgYT16aygpLGI9eWsoYSk7cmV0dXJuIGImJmIuY29udGV4dH1mdW5jdGlvbiBHayhhKXt2YXIgYj1uayhhKTtyZXR1cm4gYj9iLnN0YXRlIT09MDohMX1mdW5jdGlvbiB6aygpe3JldHVybntjdGlkOkUoNSksaXNEZXN0aW5hdGlvbjpJZig3KX19ZnVuY3Rpb24gSGsoYSxiLGMpe3ZhciBkPXprKCksZT1vaygpLmNvbnRhaW5lclthXTtlJiZlLnN0YXRlIT09M3x8KG9rKCkuY29udGFpbmVyW2FdPXtzdGF0ZToxLGNvbnRleHQ6YixwYXJlbnQ6ZH0scGsoe2N0aWQ6YSxpc0Rlc3RpbmF0aW9uOiExfSxjKSl9ZnVuY3Rpb24gSWsoYSxiLGMpe3ZhciBkPW9rKCksZT1uayhhKTtlP2Uuc3RhdGU9MTooZT17Y29udGV4dDpiLHN0YXRlOjEscGFyZW50OnprKCl9LGQuZGVzdGluYXRpb25BcnJheVthXT1bZV0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sYyl9CmZ1bmN0aW9uIEprKGEsYixjLGQpe3ZhciBlPW9rKCksZj1uayhhKTtmP2Yuc3RhdGU9MDooZj17c3RhdGU6MCx0cmFuc3BvcnRVcmw6Yixjb250ZXh0OmMscGFyZW50OnprKCl9LGUuZGVzdGluYXRpb25BcnJheVthXT1bZl0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sZCk7UCg5MSl9ZnVuY3Rpb24gS2soKXt2YXIgYT1vaygpLmNvbnRhaW5lcixiO2ZvcihiIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSYmYVtiXS5zdGF0ZT09PTEpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gTGsoKXt2YXIgYT17fTtHYihvaygpLmRlc3RpbmF0aW9uLGZ1bmN0aW9uKGIsYyl7KGM9PW51bGw/dm9pZCAwOmMuc3RhdGUpPT09MCYmKGFbYl09Yyl9KTtHYihvaygpLmRlc3RpbmF0aW9uQXJyYXksZnVuY3Rpb24oYixjKXt2YXIgZD1jWzBdOyhkPT1udWxsP3ZvaWQgMDpkLnN0YXRlKT09PTAmJihhW2JdPWQpfSk7cmV0dXJuIGF9CmZ1bmN0aW9uIE1rKGEpe3JldHVybiEhKGEmJmEucGFyZW50JiZhLmNvbnRleHQmJmEuY29udGV4dC5zb3VyY2U9PT0xJiZhLnBhcmVudC5jdGlkLmluZGV4T2YoIkdUTS0iKSE9PTApfWZ1bmN0aW9uIE5rKCl7Zm9yKHZhciBhPW9rKCksYj1tKHdrKCkpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGEuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc1tjLnZhbHVlXSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIE9rPWZ1bmN0aW9uKCl7fTtPay5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIn07dmFyIFBrPW5ldyBPazt2YXIgWGs9ZnVuY3Rpb24oKXt0aGlzLnN0b3JhZ2U9WWEoKX07WGsucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIpfTtYay5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnN0b3JhZ2UuZ2V0KFN0cmluZyhhKSl9O3ZhciBZaztmdW5jdGlvbiBaayhhLGIpe1lrfHwoWWs9bmV3IFhrKTtZay5zZXQoYSxiKX1mdW5jdGlvbiAkayhhKXtZa3x8KFlrPW5ldyBYayk7cmV0dXJuIFlrLmdldChhKX1mdW5jdGlvbiBhbChhLGIpe1lrfHwoWWs9bmV3IFhrKTt2YXIgYz1ZaztjLnN0b3JhZ2UuaGFzKFN0cmluZyhhKSl8fGMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIoKSk7cmV0dXJuIGMuc3RvcmFnZS5nZXQoU3RyaW5nKGEpKX07ZnVuY3Rpb24gYmwoYSxiKXtmdW5jdGlvbiBjKGcpe3ZhciBoPVJqKGcpLGw9TGooaCwicHJvdG9jb2wiKSxuPUxqKGgsImhvc3QiLCEwKSxwPUxqKGgsInBvcnQiKSxxPUxqKGgsInBhdGgiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1wvJC8sIiIpO2lmKGw9PT12b2lkIDB8fGw9PT0iaHR0cCImJnA9PT0iODAifHxsPT09Imh0dHBzIiYmcD09PSI0NDMiKWw9IndlYiIscD0iZGVmYXVsdCI7cmV0dXJuW2wsbixwLHFdfWZvcih2YXIgZD1jKFN0cmluZyhhKSksZT1jKFN0cmluZyhiKSksZj0wO2Y8ZC5sZW5ndGg7ZisrKWlmKGRbZl0hPT1lW2ZdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGNsKGEpe3JldHVybiBkbChhKT8xOjB9CmZ1bmN0aW9uIGRsKGEpe3ZhciBiPWEuYXJnMCxjPWEuYXJnMTtpZihhLmFueV9vZiYmQXJyYXkuaXNBcnJheShjKSl7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPUVkKGEse30pO0VkKHthcmcxOmNbZF0sYW55X29mOnZvaWQgMH0sZSk7aWYoY2woZSkpcmV0dXJuITB9cmV0dXJuITF9c3dpdGNoKGFbImZ1bmN0aW9uIl0pe2Nhc2UgIl9jbiI6cmV0dXJuIEtnKGIsYyk7Y2FzZSAiX2NzcyI6cmV0dXJuIEdnKGIsYyk7Y2FzZSAiX2V3IjpyZXR1cm4gSGcoYixjKTtjYXNlICJfZXEiOnJldHVybiBMZyhiLGMpO2Nhc2UgIl9nZSI6cmV0dXJuIE1nKGIsYyk7Y2FzZSAiX2d0IjpyZXR1cm4gT2coYixjKTtjYXNlICJfbGMiOnJldHVybiBJZyhiLGMpO2Nhc2UgIl9sZSI6cmV0dXJuIE5nKGIsYyk7Y2FzZSAiX2x0IjpyZXR1cm4gUGcoYixjKTtjYXNlICJfcmUiOnJldHVybiBKZyhiLGMsYS5pZ25vcmVfY2FzZSxhbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSk7Y2FzZSAiX3N3IjpyZXR1cm4gUWcoYiwKYyk7Y2FzZSAiX3VtIjpyZXR1cm4gYmwoYixjKX1yZXR1cm4hMX07ZnVuY3Rpb24gZWwoYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgZjtzd2l0Y2goYVswXSl7Y2FzZSAiZnVuY3Rpb25faWQiOnJldHVybiBhWzFdO2Nhc2UgImxpc3QiOmY9W107Zm9yKHZhciBnPTE7ZzxhLmxlbmd0aDtnKyspZi5wdXNoKGVsKGFbZ10sYixjLGQsZSkpO3JldHVybiBmO2Nhc2UgIm1hY3JvIjp2YXIgaD1kW2FbMV1dO3JldHVybiBoP2guZXZhbHVhdGUoYixlKTp2b2lkIDA7Y2FzZSAibWFwIjpmPXt9O2Zvcih2YXIgbD0xO2w8YS5sZW5ndGg7bCs9MilmW2VsKGFbbF0sYixjLGQsZSldPWVsKGFbbCsxXSxiLGMsZCxlKTtyZXR1cm4gZjtjYXNlICJ0ZW1wbGF0ZSI6Zj1bXTtmb3IodmFyIG49ITEscD0xO3A8YS5sZW5ndGg7cCsrKXt2YXIgcT1lbChhW3BdLGIsYyxkLGUpO2YucHVzaChxKX1yZXR1cm4gZi5qb2luKCIiKTtjYXNlICJlc2NhcGUiOmY9ZWwoYVsxXSxiLGMsZCxlKTtmPVN0cmluZyhmKTtmb3IodmFyIHk9Mjt5PGEubGVuZ3RoO3krKylVaVthW3ldXSYmKGY9VWlbYVt5XV0oZikpO3JldHVybiBmO2Nhc2UgInRhZyI6dmFyIHo9YVsxXTtpZighY1t6XSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHJlc29sdmUgdGFnIHJlZmVyZW5jZSAiKwp6KyIuIik7cmV0dXJue2JvOmFbMl0saW5kZXg6en07Y2FzZSAiemIiOnZhciBDPXt9LEQ9KENbR2YuWWJdPWFbMV0sQy5hcmcwPWVsKGFbMl0sYixjLGQsZSksQy5hcmcxPWVsKGFbM10sYixjLGQsZSksQy5pZ25vcmVfY2FzZT1lbChhWzVdLGIsYyxkLGUpLEMpLEk9Y2woRCksRz0hIWFbNF07cmV0dXJuIEd8fEkhPT0yP0chPT0oST09PTEpOm51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBleHBhbmQgdW5rbm93biBWYWx1ZSB0eXBlOiAiK2FbMF0rIi4iKTt9fXJldHVybiBhfTtmdW5jdGlvbiBmbChhKXtyZXR1cm4gYSYmYS5pbmRleE9mKCJwZW5kaW5nOiIpPT09MD9nbChhLnN1YnN0cig4KSk6ITF9ZnVuY3Rpb24gZ2woYSl7aWYoYT09bnVsbHx8YS5sZW5ndGg9PT0wKXJldHVybiExO3ZhciBiPU51bWJlcihhKSxjPU5iKCk7cmV0dXJuIGI8YyszRTUmJmI+Yy05RTV9O3ZhciBobD0hMSxpbD0hMSxqbD0hMSxrbD0wLGxsPSExLG1sPXZvaWQgMCxubD1bXTtmdW5jdGlvbiBvbChhKXtpZihrbD09PTApbGwmJm5sJiYobmwubGVuZ3RoPj0xMDAmJm5sLnNoaWZ0KCksbmwucHVzaChhKSk7ZWxzZSBpZihwbCgpKXt2YXIgYj1FKDQxKSxjPU1jKGIsW10pO2MubGVuZ3RoPj01MCYmYy5zaGlmdCgpO2MucHVzaChhKX19ZnVuY3Rpb24gcWwoKXtpbHx8KHJsKCksc2woa2wpKX1mdW5jdGlvbiBzbChhKXtpZighaWx8fGtsPT09MiYmYT09PTEpaWYoaWw9ITAsamwmJihhZChCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwpLGpsPSExKSxtbCE9PXZvaWQgMCYmKEEuY2xlYXJUaW1lb3V0KG1sKSxtbD12b2lkIDApLGtsPWEsYT09PTEpe3ZhciBiPW5sO25sPXZvaWQgMDtiPT1udWxsfHxiLmZvckVhY2goZnVuY3Rpb24oYyl7b2woYyl9KX19CmZ1bmN0aW9uIHJsKCl7dmFyIGE9Qi5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLXRhZy1hc3Npc3RhbnQtcHJvZC1wcmVzZW50Iik7Z2woYSk/a2w9MTohZmwoYSl8fGhsfHxqbD9rbD0yOihqbD0hMCwkYyhCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwsITEpLG1sPUEuc2V0VGltZW91dChmdW5jdGlvbigpe2lsfHwocmwoKSxzbChrbCkpO2hsPSEwfSwyMDApKX1mdW5jdGlvbiBwbCgpe2lmKCFsbClyZXR1cm4hMTtzd2l0Y2goa2wpe2Nhc2UgMTpjYXNlIDA6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITF9fTtmdW5jdGlvbiB0bCgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KTtyZXR1cm4gYS5pY3M9YS5pY3N8fG5ldyB1bH12YXIgdWw9ZnVuY3Rpb24oKXt0aGlzLmVudHJpZXM9e307dGhpcy53YWl0UGVyaW9kVGltZWRPdXQ9dGhpcy53YXNTZXRMYXRlPXRoaXMuYWNjZXNzZWRBbnk9dGhpcy5hY2Nlc3NlZERlZmF1bHQ9dGhpcy51c2VkSW1wbGljaXQ9dGhpcy51c2VkVXBkYXRlPXRoaXMudXNlZERlZmF1bHQ9dGhpcy51c2VkRGVjbGFyZT10aGlzLmFjdGl2ZT0hMTt0aGlzLkg9W119Owp1bC5wcm90b3R5cGUuZGVmYXVsdD1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHwhdGhpcy5hY2Nlc3NlZERlZmF1bHQmJiF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWREZWZhdWx0PXRoaXMuYWN0aXZlPSEwO3NiKCJUQUdHSU5HIiwxOSk7Yj09bnVsbD9zYigiVEFHR0lORyIsMTgpOnZsKHRoaXMsYSxiPT09ImdyYW50ZWQiLGMsZCxlLGYsZyl9O3VsLnByb3RvdHlwZS53YWl0Rm9yVXBkYXRlPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyl2bCh0aGlzLGFbZF0sdm9pZCAwLHZvaWQgMCwiIiwiIixiLGMpfTsKdmFyIHZsPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9YS5lbnRyaWVzLG49bFtiXXx8e30scD1uLnJlZ2lvbixxPWQmJnpiKGQpP2QudG9VcHBlckNhc2UoKTp2b2lkIDA7ZT1lLnRvVXBwZXJDYXNlKCk7Zj1mLnRvVXBwZXJDYXNlKCk7aWYoZT09PSIifHxxPT09Znx8KHE9PT1lP3AhPT1mOiFxJiYhcCkpe3ZhciByPSEhKGcmJmc+MCYmbi51cGRhdGU9PT12b2lkIDApLHQ9e3JlZ2lvbjpxLGRlY2xhcmVfcmVnaW9uOm4uZGVjbGFyZV9yZWdpb24saW1wbGljaXQ6bi5pbXBsaWNpdCxkZWZhdWx0OmMhPT12b2lkIDA/YzpuLmRlZmF1bHQsZGVjbGFyZTpuLmRlY2xhcmUsdXBkYXRlOm4udXBkYXRlLHF1aWV0OnJ9O2lmKGUhPT0iInx8bi5kZWZhdWx0IT09ITEpbFtiXT10O3ImJkEuc2V0VGltZW91dChmdW5jdGlvbigpe2xbYl09PT10JiZ0LnF1aWV0JiYoc2IoIlRBR0dJTkciLDIpLGEud2FpdFBlcmlvZFRpbWVkT3V0PSEwLGEuY2xlYXJUaW1lb3V0KGIsdm9pZCAwLGgpLAphLm5vdGlmeUxpc3RlbmVycygpKX0sZyl9fTtrPXVsLnByb3RvdHlwZTtrLmNsZWFyVGltZW91dD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W2FdLGU9Yy5kZWxlZ2F0ZWRDb25zZW50VHlwZXMsZjtmb3IoZiBpbiBlKWUuaGFzT3duUHJvcGVydHkoZikmJmVbZl09PT1hJiZkLnB1c2goZik7dmFyIGc9dGhpcy5lbnRyaWVzW2FdfHx7fSxoPXRoaXMuZ2V0Q29uc2VudFN0YXRlKGEsYyk7aWYoZy5xdWlldCl7Zy5xdWlldD0hMTtmb3IodmFyIGw9bShkKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl3bCh0aGlzLG4udmFsdWUpfWVsc2UgaWYoYiE9PXZvaWQgMCYmaCE9PWIpZm9yKHZhciBwPW0oZCkscT1wLm5leHQoKTshcS5kb25lO3E9cC5uZXh0KCkpd2wodGhpcyxxLnZhbHVlKX07CmsudXBkYXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHx0aGlzLnVzZWRVcGRhdGV8fCF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWRVcGRhdGU9dGhpcy5hY3RpdmU9ITA7aWYoYiE9bnVsbCl7dmFyIGQ9dGhpcy5nZXRDb25zZW50U3RhdGUoYSxjKSxlPXRoaXMuZW50cmllczsoZVthXT1lW2FdfHx7fSkudXBkYXRlPWI9PT0iZ3JhbnRlZCI7dGhpcy5jbGVhclRpbWVvdXQoYSxkLGMpfX07CmsuZGVjbGFyZT1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudXNlZERlY2xhcmU9dGhpcy5hY3RpdmU9ITA7dmFyIGY9dGhpcy5lbnRyaWVzLGc9ZlthXXx8e30saD1nLmRlY2xhcmVfcmVnaW9uLGw9YyYmemIoYyk/Yy50b1VwcGVyQ2FzZSgpOnZvaWQgMDtkPWQudG9VcHBlckNhc2UoKTtlPWUudG9VcHBlckNhc2UoKTtpZihkPT09IiJ8fGw9PT1lfHwobD09PWQ/aCE9PWU6IWwmJiFoKSl7dmFyIG49e3JlZ2lvbjpnLnJlZ2lvbixkZWNsYXJlX3JlZ2lvbjpsLGRlY2xhcmU6Yj09PSJncmFudGVkIixpbXBsaWNpdDpnLmltcGxpY2l0LGRlZmF1bHQ6Zy5kZWZhdWx0LHVwZGF0ZTpnLnVwZGF0ZSxxdWlldDpnLnF1aWV0fTtpZihkIT09IiJ8fGcuZGVjbGFyZSE9PSExKWZbYV09bn19OwprLmltcGxpY2l0PWZ1bmN0aW9uKGEsYil7dGhpcy51c2VkSW1wbGljaXQ9ITA7dmFyIGM9dGhpcy5lbnRyaWVzLGQ9Y1thXT1jW2FdfHx7fTtkLmltcGxpY2l0IT09ITEmJihkLmltcGxpY2l0PWI9PT0iZ3JhbnRlZCIpfTsKay5nZXRDb25zZW50U3RhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmVudHJpZXMsZD1jW2FdfHx7fSxlPWQudXBkYXRlO2lmKGUhPT12b2lkIDApcmV0dXJuIGU/MToyO2lmKGIudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXt2YXIgZj1iLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2FdO2lmKGY9PT0zKXJldHVybiAxO2lmKGY9PT0yKXJldHVybiAyfWVsc2UgaWYoZT1kLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYj09bnVsbD8wOmIuZGVsZWdhdGVkQ29uc2VudFR5cGVzLmhhc093blByb3BlcnR5KGEpKXt2YXIgZz1iLmRlbGVnYXRlZENvbnNlbnRUeXBlc1thXSxoPWNbZ118fHt9O2U9aC51cGRhdGU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYi51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHMpe3ZhciBsPWIuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbZ107aWYobD09PTMpcmV0dXJuIDE7aWYobD09PTIpcmV0dXJuIDJ9ZWxzZSBpZihlPQpoLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjJ9ZT1kLmRlY2xhcmU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7ZT1kLmltcGxpY2l0O3JldHVybiBlIT09dm9pZCAwP2U/Mzo0OjB9O2suYWRkTGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXt0aGlzLkgucHVzaCh7Y29uc2VudFR5cGVzOmEsaWU6Yn0pfTt2YXIgd2w9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGEuSC5sZW5ndGg7KytjKXt2YXIgZD1hLkhbY107QXJyYXkuaXNBcnJheShkLmNvbnNlbnRUeXBlcykmJmQuY29uc2VudFR5cGVzLmluZGV4T2YoYikhPT0tMSYmKGQueG89ITApfX07dWwucHJvdG90eXBlLm5vdGlmeUxpc3RlbmVycz1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8dGhpcy5ILmxlbmd0aDsrK2Mpe3ZhciBkPXRoaXMuSFtjXTtpZihkLnhvKXtkLnhvPSExO3RyeXtkLmllKHtjb25zZW50RXZlbnRJZDphLGNvbnNlbnRQcmlvcml0eUlkOmJ9KX1jYXRjaChlKXt9fX19O3ZhciB4bD0hMSx5bD0hMSx6bD17fSxBbD17ZGVsZWdhdGVkQ29uc2VudFR5cGVzOnt9LGNvcmVQbGF0Zm9ybVNlcnZpY2VzOnt9LHVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlczohMSxzZWxlY3RlZEFsbENvcmVQbGF0Zm9ybVNlcnZpY2VzOiExLGNvbnRhaW5lclNjb3BlZERlZmF1bHRzOih6bC5hZF9zdG9yYWdlPTEsemwuYW5hbHl0aWNzX3N0b3JhZ2U9MSx6bC5hZF91c2VyX2RhdGE9MSx6bC5hZF9wZXJzb25hbGl6YXRpb249MSx6bCksdXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzOiExfTtmdW5jdGlvbiBCbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuKHpiKGEpP1thXTphKS5ldmVyeShmdW5jdGlvbihjKXtzd2l0Y2goYi5nZXRDb25zZW50U3RhdGUoYyxBbCkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOmNhc2UgNDpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX0pfQpmdW5jdGlvbiBDbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuIGIuZ2V0Q29uc2VudFN0YXRlKGEsQWwpfWZ1bmN0aW9uIERsKGEpe3ZhciBiPXRsKCk7Yi5hY2Nlc3NlZEFueT0hMDtyZXR1cm4hKGIuZW50cmllc1thXXx8e30pLnF1aWV0fWZ1bmN0aW9uIEVsKCl7aWYoIVlmKDUpKXJldHVybiExO3ZhciBhPXRsKCk7YS5hY2Nlc3NlZEFueT0hMDtpZihhLmFjdGl2ZSlyZXR1cm4hMDtpZighQWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXJldHVybiExO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzKSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpaWYoQWwuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbYy52YWx1ZV0hPT0xKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEZsKGEsYil7dGwoKS5hZGRMaXN0ZW5lcihhLGIpfQpmdW5jdGlvbiBHbChhLGIpe3RsKCkubm90aWZ5TGlzdGVuZXJzKGEsYil9ZnVuY3Rpb24gSGwoYSxiKXtpZihiLmV2ZXJ5KERsKSlhKHt9KTtlbHNle3ZhciBjPSExO0ZsKGIsZnVuY3Rpb24oZCl7IWMmJmIuZXZlcnkoRGwpJiYoYz0hMCxhKGQpKX0pfX0KZnVuY3Rpb24gSWwoYSxiKXt2YXIgYz16YihiKT9bYl06YixkPXt9LGU9ZnVuY3Rpb24oKXtyZXR1cm4gYy5maWx0ZXIoZnVuY3Rpb24oaCl7cmV0dXJuIEJsKGgpJiYhZFtoXX0pfSxmPWUoKTtpZihmLmxlbmd0aCE9PWMubGVuZ3RoKXt2YXIgZz1mdW5jdGlvbihoKXtmb3IodmFyIGw9bShoKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSlkW24udmFsdWVdPSEwfTtnKGYpO0ZsKGMsZnVuY3Rpb24oaCl7ZnVuY3Rpb24gbChxKXtxLmxlbmd0aCE9PTAmJihnKHEpLGguY29uc2VudFR5cGVzPXEsYShoKSl9dmFyIG49ZSgpO2lmKG4ubGVuZ3RoIT09MCl7dmFyIHA9T2JqZWN0LmtleXMoZCkubGVuZ3RoO24ubGVuZ3RoK3A+PWMubGVuZ3RoP2wobik6QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bChlKCkpfSw1MDApfX0pfX07dmFyIEpsPSExO2Z1bmN0aW9uIEtsKGEsYil7dmFyIGM9d2soKSxkPXRrKCk7RSgyNik7dmFyIGU9SWYoNDcpPzA6SWYoNTApPzE6MyxmPVhqKCk7aWYocGwoKSl7dmFyIGc9TGwoIklOSVQiKTtnLmNvbnRhaW5lckxvYWRTb3VyY2U9YSE9bnVsbD9hOjA7YiYmKGcucGFyZW50VGFyZ2V0UmVmZXJlbmNlPWIpO2cuYWxpYXNlcz1jO2cuZGVzdGluYXRpb25zPWQ7ZSE9PXZvaWQgMCYmKGcuZ3RnPXtzb3VyY2U6ZSxtUGF0aDpmIT1udWxsP2Y6IiJ9KTtvbChnKX19CmZ1bmN0aW9uIE1sKGEpe3ZhciBiLGMsZCxlO2I9YS50YXJnZXRJZDtjPWEucmVxdWVzdDtkPWEucWI7ZT1hLmlzQmF0Y2hlZDt2YXIgZjtpZihmPXBsKCkpe3ZhciBnO2E6c3dpdGNoKGMuZW5kcG9pbnQpe2Nhc2UgNjg6Y2FzZSA2OTpjYXNlIDE5OmNhc2UgNjI6Y2FzZSA0NzpnPSEwO2JyZWFrIGE7ZGVmYXVsdDpnPSExfWY9IWd9aWYoZil7dmFyIGg9TGwoIkdUQUdfSElUIix7ZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTtoLnRhcmdldD1iO2gudXJsPWMudXJsO2MucG9zdEJvZHkmJihoLnBvc3RCb2R5PWMucG9zdEJvZHkpO2gucGFyYW1ldGVyRW5jb2Rpbmc9Yy5wYXJhbWV0ZXJFbmNvZGluZztoLmVuZHBvaW50PWMuZW5kcG9pbnQ7ZSE9PXZvaWQgMCYmKGguaXNCYXRjaGVkPWUpO29sKGgpfX1mdW5jdGlvbiBObChhKXtwbCgpJiZNbChhKCkpfQpmdW5jdGlvbiBMbChhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2IuZ3JvdXBJZD1PbDt2YXIgYyxkPWIsZT1QbCxmPXtwdWJsaWNJZDpRbH07ZC5ldmVudElkIT1udWxsJiYoZi5ldmVudElkPWQuZXZlbnRJZCk7ZC5wcmlvcml0eUlkIT1udWxsJiYoZi5wcmlvcml0eUlkPWQucHJpb3JpdHlJZCk7ZC5ldmVudE5hbWUmJihmLmV2ZW50TmFtZT1kLmV2ZW50TmFtZSk7ZC5ncm91cElkJiYoZi5ncm91cElkPWQuZ3JvdXBJZCk7ZC50YWdOYW1lJiYoZi50YWdOYW1lPWQudGFnTmFtZSk7Yz17Y29udGFpbmVyUHJvZHVjdDoiR1RNIixrZXk6Zix2ZXJzaW9uOmUsbWVzc2FnZVR5cGU6YX07Yy5jb250YWluZXJQcm9kdWN0PUpsPyJPR1QiOiJHVE0iO2Mua2V5LnRhcmdldFJlZj1SbDtyZXR1cm4gY312YXIgUWw9IiIsUGw9IiIsUmw9e2N0aWQ6IiIsaXNEZXN0aW5hdGlvbjohMX0sT2w7CmZ1bmN0aW9uIFNsKGEpe3ZhciBiPUUoNSksYz1JZig0NSksZD1zaygpLGU9RSg2KSxmPUUoMSk7RSgyMyk7a2w9MDtsbD0hMDtybCgpO09sPWE7UWw9YjtQbD1mO0psPWM7Umw9e2N0aWQ6Yixpc0Rlc3RpbmF0aW9uOmQsY2Fub25pY2FsSWQ6ZX19O2Z1bmN0aW9uIFRsKGEsYixjLGQpe2lmKHBsKCkpe3ZhciBlPWIuTTtNbCh7dGFyZ2V0SWQ6ZHx8W2IudGFyZ2V0LmRlc3RpbmF0aW9uSWRdLHJlcXVlc3Q6e3VybDphLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6Y30scWI6e2V2ZW50SWQ6ZS5ldmVudElkLHByaW9yaXR5SWQ6ZS5wcmlvcml0eUlkfSxGajp7ZXZlbnRJZDpRKGIsSC5KLnVmKSxwcmlvcml0eUlkOlEoYixILkoudmYpfX0pfX07ZnVuY3Rpb24gVWwoYSxiLGMpe3ZhciBkPSJodHRwczovLyIrYStiO3JldHVybiBjP2Z1bmN0aW9uKCl7cmV0dXJuIFdqKCk/WGooKStjK2I6ZH06ZnVuY3Rpb24oKXtyZXR1cm4gZH19O3ZhciBWbD17fSxXbD0oVmxbMjJdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvYXMvZCIpLFZsWzYwXT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvZ3MiKSxWbFsyM109VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9jb252ZXJzaW9uIiwiL2cvZCIpLFZsKTt2YXIgWGw9e30sWWw9KFhsWzVdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iKSxYbFs2XT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iLCIvZ3MiKSxYbFs4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs2Nl09VWwoInd3dy5nb29nbGUuY29tIiwiL3BhZ2VhZC91Y29udmVyc2lvbiIpLFhsWzYzXT1VbCgid3d3Lmdvb2dsZWFkc2VydmljZXMuY29tIiwiL3BhZ2VhZC9jb252ZXJzaW9uIiksWGxbNjRdPVVsKCJwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSIsIi9wYWdlYWQvY29udmVyc2lvbiIsIi9ncyIpLFhsWzY1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs3NF09ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2FzL3AvYyJ9LFhsKTt2YXIgWmw9e30sJGw9KFpsWzQ1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvY2NtL2NvbGxlY3QiKSxabFs0Nl09VWwoInBhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tIiwiL2NjbS9jb2xsZWN0IiwiL2dzIiksWmxbNjldPVVsKCJhZC5kb3VibGVjbGljay5uZXQiLCIvY2NtL3MvY29sbGVjdCIpLFpsWzU4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkL3NldF9wYXJ0aXRpb25lZF9jb29raWUiKSxabFs1N109VWwoInd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSIsIi9wYWdlYWQvc2V0X3BhcnRpdGlvbmVkX2Nvb2tpZSIpLFpsKTt2YXIgYW09e30sYm09KGFtWzldPVVsKCJnb29nbGVhZHMuZy5kb3VibGVjbGljay5uZXQiLCIvcGFnZWFkL3ZpZXd0aHJvdWdoY29udmVyc2lvbiIpLGFtWzY4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcm1rdC9jb2xsZWN0IiksYW0pO3ZhciBjbT17fSxkbT0oY21bMTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVsyMV09VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9mb3JtLWRhdGEiLCIvZCIpLGNtWzcyXT1VbCgiZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVs3M109VWwoImdvb2dsZS5jb20iLCIvY2NtL2Zvcm0tZGF0YSIsIi9kIiksY20pO3ZhciBlbT17fSxmbT0oZW1bNTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi90cmF2ZWwvZmxpZ2h0cy9jbGljay9jb252ZXJzaW9uIiksZW0pO3ZhciBnbT17fSxobT0oZ21bMV09ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvYWN0aXZpdHk7In0sZ21bMl09ZnVuY3Rpb24oKXtyZXR1cm4oV2ooKT9YaigpOiJodHRwczovL2FkZS5nb29nbGVzeW5kaWNhdGlvbi5jb20iKSsiL2RkbS9hY3Rpdml0eSIrKE0oNDY3KT8iOyI6Ii8iKX0sZ21bM109ZnVuY3Rpb24oYSl7cmV0dXJuImh0dHBzOi8vIithLmxyKyIuZmxzLmRvdWJsZWNsaWNrLm5ldC9hY3Rpdml0eWk7In0sZ20pO2Z1bmN0aW9uIGltKGEpe3NiKCJIRUFMVEgiLGEpfTt2YXIgam09e2JhOntQdDoiYXdfdXNlcl9kYXRhX2NhY2hlIixvaToiY29va2llX2RlcHJlY2F0aW9uX2xhYmVsIixiaDoiZGlhZ25vc3RpY3NfcGFnZV9pZCIsb3A6ImVtZW1vIixkdToiZW1fcmVnaXN0cnkiLFNpOiJlYWIiLHJ1OiJmbF91c2VyX2RhdGFfY2FjaGUiLHR1OiJnYTRfdXNlcl9kYXRhX2NhY2hlIixMdToiaWRjX3B2X2NsYWltIixTZToiaXBfZ2VvX2RhdGFfY2FjaGUiLFhpOiJpcF9nZW9fZmV0Y2hfaW5fcHJvZ3Jlc3MiLGpuOiJuYl9kYXRhIixUcToicGFnZV9leHBlcmltZW50X2lkcyIsbG46InBsZCIsVmU6InB0X2RhdGEiLG1uOiJwdF9saXN0ZW5lcl9zZXQiLGtqOiJyZXRyeV9jb250YWluZXJzIixPaDoic2VydmljZV93b3JrZXJfZW5kcG9pbnQiLFpxOiJzaGFyZWRfdXNlcl9pZCIsYXI6InNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCIsc2o6InNoYXJlZF91c2VyX2lkX3NvdXJjZSIsYnY6ImF3aCIsaHI6InVuaXZlcnNhbF9jbGFpbV9yZWdpc3RyeSJ9fTt2YXIga209ZnVuY3Rpb24oYSl7cmV0dXJuIHRmKGZ1bmN0aW9uKGIpe2Zvcih2YXIgYyBpbiBhKWlmKGI9PT1hW2NdJiYhL15bMC05XSskLy50ZXN0KGMpKXJldHVybiEwO3JldHVybiExfSl9KGptLmJhKTsKZnVuY3Rpb24gbG0oYSxiKXtiPWI9PT12b2lkIDA/ITE6YjtpZihrbShhKSl7dmFyIGMsZCxlPShkPShjPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSkueGNkKSE9bnVsbD9kOmMueGNkPXt9O2lmKGVbYV0pcmV0dXJuIGVbYV07aWYoYil7dmFyIGY9dm9pZCAwLGc9MSxoPXt9LGw9e3NldDpmdW5jdGlvbihuKXtmPW47bC5ub3RpZnkoKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHN1YnNjcmliZTpmdW5jdGlvbihuKXtoW1N0cmluZyhnKV09bjtyZXR1cm4gZysrfSx1bnN1YnNjcmliZTpmdW5jdGlvbihuKXt2YXIgcD1TdHJpbmcobik7cmV0dXJuIGguaGFzT3duUHJvcGVydHkocCk/KGRlbGV0ZSBoW3BdLCEwKTohMX0sbm90aWZ5OmZ1bmN0aW9uKCl7Zm9yKHZhciBuPW0oT2JqZWN0LmtleXMoaCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3RyeXtoW3FdKGEsZil9Y2F0Y2gocil7fX19fTtyZXR1cm4gZVthXT1sfX19CmZ1bmN0aW9uIG1tKGEsYil7dmFyIGM9bG0oYSwhMCk7YyYmYy5zZXQoYil9ZnVuY3Rpb24gbm0oYSl7dmFyIGI7cmV0dXJuKGI9bG0oYSkpPT1udWxsP3ZvaWQgMDpiLmdldCgpfWZ1bmN0aW9uIG9tKGEsYil7dmFyIGM9bG0oYSk7aWYoIWMpe2M9bG0oYSwhMCk7aWYoIWMpcmV0dXJuO2Muc2V0KGIpfXJldHVybiBjLmdldCgpfWZ1bmN0aW9uIHBtKGEsYil7aWYodHlwZW9mIGI9PT0iZnVuY3Rpb24iKXt2YXIgYztyZXR1cm4oYz1sbShhLCEwKSk9PW51bGw/dm9pZCAwOmMuc3Vic2NyaWJlKGIpfX1mdW5jdGlvbiBxbShhLGIpe3ZhciBjPWxtKGEpO3JldHVybiBjP2MudW5zdWJzY3JpYmUoYik6ITF9O3ZhciBzbT1mdW5jdGlvbigpe3RoaXMuSD17fTt0aGlzLks9ITF9O3NtLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dGhpcy5LfHwodGhpcy5IPXRtKCksdGhpcy5IWyIwIl0mJm9tKGptLmJhLlNlLEpTT04uc3RyaW5naWZ5KHRoaXMuSCkpKX07CnZhciB4bT1mdW5jdGlvbigpe3ZhciBhPXVtLGI9dm0sYz12b2lkIDAsZD1mdW5jdGlvbigpe2MhPT12b2lkIDAmJnFtKGptLmJhLlNlLGMpO3RyeXt2YXIgZj1ubShqbS5iYS5TZSk7Yi5IPUpTT04ucGFyc2UoZil9Y2F0Y2goZyl7UCgxMjMpLGltKDIpLGIuSD17fX1iLks9ITA7YSgpfSxlPW5tKGptLmJhLlNlKTtlP2QoZSk6KGM9cG0oam0uYmEuU2UsZCksd20oKSl9LHdtPWZ1bmN0aW9uKCl7aWYoIW5tKGptLmJhLlhpKSl7bW0oam0uYmEuWGksITApO3ZhciBhPWZ1bmN0aW9uKGIpe21tKGptLmJhLlNlLGJ8fCJ7fSIpO21tKGptLmJhLlhpLCExKX07dHJ5e0EuZmV0Y2goImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vY2NtL2dlbyIse21ldGhvZDoiR0VUIixjYWNoZToibm8tc3RvcmUiLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJvbWl0In0pLnRoZW4oZnVuY3Rpb24oYil7Yi5vaz9iLnRleHQoKS50aGVuKGZ1bmN0aW9uKGMpe2EoYyl9LGZ1bmN0aW9uKCl7YSgpfSk6YSgpfSxmdW5jdGlvbigpe2EoKX0pfWNhdGNoKGIpe2EoKX19fSwKdG09ZnVuY3Rpb24oKXt2YXIgYT1FKDIyKTt0cnl7cmV0dXJuIEpTT04ucGFyc2UocWIoYSkpfWNhdGNoKGIpe3JldHVybiBQKDEyMyksaW0oMikse319fSx5bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIwIl18fCIifSx6bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIxIl18fCIifSxBbT1mdW5jdGlvbigpe3ZhciBhPXZtLGI9ITE7Yj0hIWEuSFsiMiJdO3JldHVybiBifSxCbT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyI2Il0hPT0hMX0sQ209ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSExO2I9ISFhLkhbIjkiXTtyZXR1cm4gYn0sRG09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyI0Il18fCIiOwpyZXR1cm4gYn0sRW09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyIzIl18fCIiO3JldHVybiBifSx2bT1uZXcgc207ZnVuY3Rpb24gRm0oYSl7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuImh0dHBzOi8vIisoRG0oKXx8Ind3dyIpKyIuZ29vZ2xlLWFuYWx5dGljcy5jb20vIithfWZ1bmN0aW9uIEdtKGEpe2E9YT09PXZvaWQgMD8iZy9jb2xsZWN0IjphO3ZhciBiPURtKCk7cmV0dXJuImh0dHBzOi8vIisoYj9iKyIuIjoiIikrImFuYWx5dGljcy5nb29nbGUuY29tLyIrYX12YXIgSG09e30sSW09KEhtWzE3XT1mdW5jdGlvbigpe3JldHVybiBXaigpJiYhRG0oKT9YaigpKyIvYWcvZy9jIjpHbSgpfSxIbVsxNl09ZnVuY3Rpb24oKXtyZXR1cm4gV2ooKSYmIURtKCk/WGooKSsiL2dhL2cvYyI6Rm0oKX0sSG1bNjddPWZ1bmN0aW9uKCl7dmFyIGE7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuIERtKCk/IiI6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIithfSxIbSk7ZnVuY3Rpb24gSm0oYSxiLGMpe3ZhciBkPVVsKGIsIi9tZWFzdXJlbWVudC9jb252ZXJzaW9uIixjKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gRG0oKT9hKCJtZWFzdXJlbWVudC9jb252ZXJzaW9uIik6ZCgpfX12YXIgS209e30sTG09KEttWzU1XT1KbShGbSwicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvZ3MiKSxLbVs1NF09Sm0oR20sInd3dy5nb29nbGUuY29tIiwiL2ciKSxLbSk7dmFyIE1tPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sV2wsWWwsJGwsYm0sZG0sZm0saG0sTG0sSW0pO2Z1bmN0aW9uIE5tKGEsYil7dmFyIGM9T2JqZWN0LmtleXMoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBiW2RdIT1udWxsfSkubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBkKyI9IitiW2RdfSkuam9pbigiJiIpO3JldHVybiBNbVthXSh2b2lkIDApKyI/IitjfTt2YXIgT209e30sUG09KE9tLnRkcD0xLE9tLmV4cD0xLE9tLmd0bT0xLE9tLnBpZD0xLE9tLmRsPTEsT20uc2VxPTEsT20udD0xLE9tLnY9MSxPbSksUm09ZnVuY3Rpb24oKXt2YXIgYT1RbTtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGEuSFtiXX0pfSxTbT1mdW5jdGlvbihhLGIsYyl7aWYoYS5IW2JdPT09dm9pZCAwfHwoYz09PXZvaWQgMD8wOmMpKWEuSFtiXT0hMH0sVG09ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGZ1bmN0aW9uKGIpe1BtW2JdfHwoUW0uSFtiXT0hMSl9KX0sUW09bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuSz17fX07ZnVuY3Rpb24gVW0oYSxiLGMpe3ZhciBkPWM9PT12b2lkIDA/ITA6YyxlPVFtO2UuS1thXT1iOyhkPT09dm9pZCAwfHxkKSYmU20oZSxhKX1mdW5jdGlvbiBWbShhLGIpe1NtKFFtLGEsYj09PXZvaWQgMD8hMTpiKX07ZnVuY3Rpb24gV20oYSl7dmFyIGI9MDthLkdjLmZvckVhY2goZnVuY3Rpb24oYyl7Ynw9MTw8Y30pO3JldHVybiBifWZ1bmN0aW9uIFhtKCl7cmV0dXJue3RvdGFsOjAsamI6MCxHYzpuZXcgU2V0LGxmOnt9fX1mdW5jdGlvbiBZbShhLGIsYyxkKXt2YXIgZT1PYmplY3Qua2V5cyhhLm5mKS5zb3J0KGZ1bmN0aW9uKGYsZyl7cmV0dXJuIE51bWJlcihmKS1OdW1iZXIoZyl9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuW2YsYihhLm5mW2ZdKV19KS5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIGZbMV0hPT12b2lkIDB9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuam9pbihjKX0pLmpvaW4oZCk7cmV0dXJuIGU/ZTp2b2lkIDB9CmZ1bmN0aW9uIFptKGEsYil7dmFyIGMsZCxlO2M9Yz09PXZvaWQgMD8iXyI6YztkPWQ9PT12b2lkIDA/IjsiOmQ7ZT1lPT09dm9pZCAwPyJ+IjplO2Zvcih2YXIgZj1bXSxnPW0oT2JqZWN0LmtleXMoYS5sZikuc29ydCgpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPVltKGEubGZbbF0sYixjLGQpO2lmKG4pe3ZhciBwPXZvaWQgMDtmLnB1c2goIiIrKChwPWwpIT1udWxsP3A6IiIpK2Qrbil9fXJldHVybiBmLmxlbmd0aD9mLmpvaW4oZSk6dm9pZCAwfQpmdW5jdGlvbiAkbShhKXthLmpiPTA7YS5HYy5jbGVhcigpO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKGEubGYpKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9YS5sZltjLnZhbHVlXTtkLmpiPTA7ZC5HYy5jbGVhcigpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGQubmYpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9ZC5uZltmLnZhbHVlXTtnLmpiPTA7Zy5HYy5jbGVhcigpfX19CmZ1bmN0aW9uIGFuKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPzE6ZDthLnRvdGFsKz1kO2EuamIrPWQ7dmFyIGYsZz1iPT09dm9pZCAwPyIiOmI7Zj1hLmxmW2ddfHwoYS5sZltnXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXQsbmY6e319KTtmLnRvdGFsKz1kO2YuamIrPWQ7dmFyIGgsbD1TdHJpbmcoYyk7aD1mLm5mW2xdfHwoZi5uZltsXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXR9KTtoLnRvdGFsKz1kO2guamIrPWQ7ZSE9PXZvaWQgMCYmKGEuR2MuYWRkKGUpLGYuR2MuYWRkKGUpLGguR2MuYWRkKGUpKX07dmFyIGJuPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCl9O2JuLnByb3RvdHlwZS5pbmNyZW1lbnQ9ZnVuY3Rpb24oYSxiKXthbih0aGlzLkgsYSxiKX07dmFyIGNuPW5ldyBibjtmdW5jdGlvbiBkbihhKXt2YXIgYj1TdHJpbmcoYVtHZi5ZYl18fCIiKS5yZXBsYWNlKC9fL2csIiIpO3JldHVybiBTYihiLCJjdnQiKT8iY3Z0IjpifXZhciBlbj1BLmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCI/Z3RtX2xhdGVuY3k9Iik+PTB8fEEubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIiZndG1fbGF0ZW5jeT0iKT49MDt2YXIgZ249ZnVuY3Rpb24oKXt2YXIgYT1mbjtyZXR1cm4gTSg2MDMpJiZJZig2NSwhMSkmJiFhLlp9LGZuPW5ldyBmdW5jdGlvbihhKXt0aGlzLlI9YSgpO3ZhciBiPUpmKDI3KTt0aGlzLk49ZW58fHRoaXMuUjxiO3ZhciBjPUpmKDQyKTt0aGlzLlo9ZW58fHRoaXMuUj49MS1jO3ZhciBkPU0oNjAzKSYmSWYoNjUsITEpO3RoaXMuSz10aGlzLlp8fGQ7dmFyIGU9SmYoMjcpLGY9SmYoNjMpO3RoaXMuSD1lbnx8Zj09PTF8fHRoaXMuUj49ZSYmdGhpcy5SPGUrZn0oZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKX0pO3ZhciBobj1mdW5jdGlvbigpe3RoaXMuSD17fX07aG4ucHJvdG90eXBlLnJlZ2lzdGVyPWZ1bmN0aW9uKGEsYixjKXtpZihmbi5LKXt2YXIgZD1qbihiLGMpO2lmKGQpe3ZhciBlLGY9YjtmPT09NCYmKGY9NSk7dmFyIGc9dGhpcy5IW2ZdO2d8fChnPXRoaXMuSFtmXT17fSk7ZT1nO3ZhciBoPWVbZF07aHx8KGg9ZVtkXT1bXSk7aC5wdXNoKG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSkpO2NuLmluY3JlbWVudChhLmRlc3RpbmF0aW9uSWQsYS5lbmRwb2ludCk7YS5lbmRwb2ludCE9PTU2JiZhLmVuZHBvaW50IT09NjEmJlZtKCJtZGUiLCEwKX19fTsKdmFyIG1uPWZ1bmN0aW9uKGEsYil7dmFyIGM9a24sZD1qbihhLGIpO2lmKGQpe3ZhciBlPWxuKGMsYSk7aWYoZSl7dmFyIGY9ZVtkXTtmJiYoZVtkXT1mLmZpbHRlcihmdW5jdGlvbihnKXtyZXR1cm4hZy5Fb30pKX19fSxsbj1mdW5jdGlvbihhLGIpe2I9PT00JiYoYj01KTtyZXR1cm4gYS5IW2JdfSxqbj1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYoYlswXT09PSIvIil7dmFyIGQ7Yz0oKGQ9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmQub3JpZ2luKStifXRyeXt2YXIgZT1uZXcgVVJMKGMpO3JldHVybiBhPT09Mj9lLm9yaWdpbjplLm9yaWdpbitlLnBhdGhuYW1lfWNhdGNoKGYpe319LGtuPW5ldyBobjsKZnVuY3Rpb24gbm4oYSl7c3dpdGNoKGEpe2Nhc2UgInNjcmlwdC1zcmMiOnJldHVybiA0O2Nhc2UgInNjcmlwdC1zcmMtZWxlbSI6cmV0dXJuIDU7Y2FzZSAiZnJhbWUtc3JjIjpyZXR1cm4gMjtjYXNlICJjb25uZWN0LXNyYyI6cmV0dXJuIDE7Y2FzZSAiaW1nLXNyYyI6cmV0dXJuIDN9fTtmdW5jdGlvbiBvbihhLGIsYyl7dmFyIGQsZT1hLkdvb2dsZWJRaENzTztlfHwoZT17fSxhLkdvb2dsZWJRaENzTz1lKTtkPWU7aWYoZFtiXSlyZXR1cm4hMTtkW2JdPVtdO2RbYl1bMF09YztyZXR1cm4hMH07dmFyIHBuLHFuO2E6e2Zvcih2YXIgcm49WyJDTE9TVVJFX0ZMQUdTIl0sc249UmEsdG49MDt0bjxybi5sZW5ndGg7dG4rKylpZihzbj1zbltyblt0bl1dLHNuPT1udWxsKXtxbj1udWxsO2JyZWFrIGF9cW49c259dmFyIHVuPXFuJiZxbls2MTA0MDEzMDFdO3BuPXVuIT1udWxsP3VuOiExO2Z1bmN0aW9uIHZuKCl7dmFyIGE9UmEubmF2aWdhdG9yO2lmKGEpe3ZhciBiPWEudXNlckFnZW50O2lmKGIpcmV0dXJuIGJ9cmV0dXJuIiJ9dmFyIHduLHhuPVJhLm5hdmlnYXRvcjt3bj14bj94bi51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7ZnVuY3Rpb24geW4oYSl7aWYoIXBufHwhd24pcmV0dXJuITE7Zm9yKHZhciBiPTA7Yjx3bi5icmFuZHMubGVuZ3RoO2IrKyl7dmFyIGM9d24uYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gem4oYSl7cmV0dXJuIHZuKCkuaW5kZXhPZihhKSE9LTF9O2Z1bmN0aW9uIEFuKCl7cmV0dXJuIHBuPyEhd24mJnduLmJyYW5kcy5sZW5ndGg+MDohMX1mdW5jdGlvbiBCbigpe3JldHVybiBBbigpPyExOnpuKCJPcGVyYSIpfWZ1bmN0aW9uIENuKCl7cmV0dXJuIHpuKCJGaXJlZm94Iil8fHpuKCJGeGlPUyIpfWZ1bmN0aW9uIERuKCl7cmV0dXJuIEFuKCk/eW4oIkNocm9taXVtIik6KHpuKCJDaHJvbWUiKXx8em4oIkNyaU9TIikpJiYhKEFuKCk/MDp6bigiRWRnZSIpKXx8em4oIlNpbGsiKX07ZnVuY3Rpb24gRW4oKXtyZXR1cm4gcG4/ISF3biYmISF3bi5wbGF0Zm9ybTohMX1mdW5jdGlvbiBGbigpe3JldHVybiB6bigiaVBob25lIikmJiF6bigiaVBvZCIpJiYhem4oImlQYWQiKX1mdW5jdGlvbiBHbigpe0ZuKCl8fHpuKCJpUGFkIil8fHpuKCJpUG9kIil9O3ZhciBIbj1mdW5jdGlvbihhKXtIblsiICJdKGEpO3JldHVybiBhfTtIblsiICJdPWZ1bmN0aW9uKCl7fTtCbigpO0FuKCl8fHpuKCJUcmlkZW50Iil8fHpuKCJNU0lFIik7em4oIkVkZ2UiKTshem4oIkdlY2tvIil8fHZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpfHx6bigiVHJpZGVudCIpfHx6bigiTVNJRSIpfHx6bigiRWRnZSIpO3ZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpJiZ6bigiTW9iaWxlIik7RW4oKXx8em4oIk1hY2ludG9zaCIpO0VuKCl8fHpuKCJXaW5kb3dzIik7KEVuKCk/d24ucGxhdGZvcm09PT0iTGludXgiOnpuKCJMaW51eCIpKXx8RW4oKXx8em4oIkNyT1MiKTtFbigpfHx6bigiQW5kcm9pZCIpO0ZuKCk7em4oImlQYWQiKTt6bigiaVBvZCIpO0duKCk7dm4oKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImthaW9zIik7Q24oKTtGbigpfHx6bigiaVBvZCIpO3puKCJpUGFkIik7IXpuKCJBbmRyb2lkIil8fERuKCl8fENuKCl8fEJuKCl8fHpuKCJTaWxrIik7RG4oKTshem4oIlNhZmFyaSIpfHxEbigpfHwoQW4oKT8wOnpuKCJDb2FzdCIpKXx8Qm4oKXx8KEFuKCk/MDp6bigiRWRnZSIpKXx8KEFuKCk/eW4oIk1pY3Jvc29mdCBFZGdlIik6em4oIkVkZy8iKSl8fChBbigpP3luKCJPcGVyYSIpOnpuKCJPUFIiKSl8fENuKCl8fHpuKCJTaWxrIil8fHpuKCJBbmRyb2lkIil8fEduKCk7dmFyIEluPXt9LEpuPW51bGw7CmZ1bmN0aW9uIEtuKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZT4yNTUmJihiW2MrK109ZSYyNTUsZT4+PTgpO2JbYysrXT1lfXZhciBmPTQ7Zj09PXZvaWQgMCYmKGY9MCk7aWYoIUpuKXtKbj17fTtmb3IodmFyIGc9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksaD1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXSxsPTA7bDw1O2wrKyl7dmFyIG49Zy5jb25jYXQoaFtsXS5zcGxpdCgiIikpO0luW2xdPW47Zm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07Sm5bcV09PT12b2lkIDAmJihKbltxXT1wKX19fWZvcih2YXIgcj1JbltmXSx0PUFycmF5KE1hdGguZmxvb3IoYi5sZW5ndGgvMykpLHU9cls2NF18fCIiLHY9MCx4PTA7djxiLmxlbmd0aC0yO3YrPTMpe3ZhciB5PWJbdl0sej1iW3YrMV0sQz1iW3YrMl0sCkQ9clt5Pj4yXSxJPXJbKHkmMyk8PDR8ej4+NF0sRz1yWyh6JjE1KTw8MnxDPj42XSxOPXJbQyY2M107dFt4KytdPSIiK0QrSStHK059dmFyIFM9MCxXPXU7c3dpdGNoKGIubGVuZ3RoLXYpe2Nhc2UgMjpTPWJbdisxXSxXPXJbKFMmMTUpPDwyXXx8dTtjYXNlIDE6dmFyIGVhPWJbdl07dFt4XT0iIityW2VhPj4yXStyWyhlYSYzKTw8NHxTPj40XStXK3V9cmV0dXJuIHQuam9pbigiIil9O3ZhciBMbj1mdW5jdGlvbihhKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEucmVwbGFjZSgvXCsvZywiICIpKX07dmFyIE1uPVJlZ0V4cCgiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcLz8jXSopQCk/KFteXFxcXC8/I10qPykoPzo6KFswLTldKykpPyg/PVtcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFw/KFteI10qKSk/KD86IyhbXFxzXFxTXSopKT8kIik7ZnVuY3Rpb24gTm4oYSxiLGMsZCl7Zm9yKHZhciBlPWIsZj1jLmxlbmd0aDsoZT1hLmluZGV4T2YoYyxlKSk+PTAmJmU8ZDspe3ZhciBnPWEuY2hhckNvZGVBdChlLTEpO2lmKGc9PTM4fHxnPT02Myl7dmFyIGg9YS5jaGFyQ29kZUF0KGUrZik7aWYoIWh8fGg9PTYxfHxoPT0zOHx8aD09MzUpcmV0dXJuIGV9ZSs9ZisxfXJldHVybi0xfXZhciBPbj0vI3wkLzsKZnVuY3Rpb24gUG4oYSxiKXt2YXIgYz1hLnNlYXJjaChPbiksZD1ObihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gTG4oYS5zbGljZShkLGUhPT0tMT9lOjApKX12YXIgUW49L1s/Jl0oJHwjKS87CmZ1bmN0aW9uIFJuKGEsYixjKXtmb3IodmFyIGQsZT1hLnNlYXJjaChPbiksZj0wLGcsaD1bXTsoZz1ObihhLGYsYixlKSk+PTA7KWgucHVzaChhLnN1YnN0cmluZyhmLGcpKSxmPU1hdGgubWluKGEuaW5kZXhPZigiJiIsZykrMXx8ZSxlKTtoLnB1c2goYS5zbGljZShmKSk7ZD1oLmpvaW4oIiIpLnJlcGxhY2UoUW4sIiQxIik7dmFyIGwsbj1jIT1udWxsPyI9IitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKToiIjt2YXIgcD1iK247aWYocCl7dmFyIHEscj1kLmluZGV4T2YoIiMiKTtyPDAmJihyPWQubGVuZ3RoKTt2YXIgdD1kLmluZGV4T2YoIj8iKSx1O3Q8MHx8dD5yPyh0PXIsdT0iIik6dT1kLnN1YnN0cmluZyh0KzEscik7cT1bZC5zbGljZSgwLHQpLHUsZC5zbGljZShyKV07dmFyIHY9cVsxXTtxWzFdPXA/dj92KyImIitwOnA6djtsPXFbMF0rKHFbMV0/Ij8iK3FbMV06IiIpK3FbMl19ZWxzZSBsPWQ7cmV0dXJuIGx9O2Z1bmN0aW9uIFNuKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9UG4oYywiZm10Iik7aWYoZCl7dmFyIG49UG4oYywicmFuZG9tIikscD1QbihjLCJsYWJlbCIpfHwiIjtpZighbilyZXR1cm47dmFyIHE9S24oTG4ocCkrIjoiK0xuKG4pKTtpZighb24oYSxxLGQpKXJldHVybn1sJiZOdW1iZXIobCkhPT00PyhjPVJuKGMsInJmbXQiLGwpLGM9Um4oYywiZm10Iiw0KSk6bHx8KGM9Um4oYywiZm10Iiw0KSk7VWMoYyxmdW5jdGlvbigpe2c9PW51bGx8fFRuKGcpO2g9PW51bGx8fFVuKGgsYyk7YS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzJiZkJiYoYS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzPW51bGwsZCgpKX0sZnVuY3Rpb24oKXtnPT1udWxsfHxUbihnKTtoPT1udWxsfHxVbihoLGMpO2U9PW51bGx8fGUoKX0sZixiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXS5wYXJlbnRFbGVtZW50fHx2b2lkIDApO3JldHVybiBjfTtmdW5jdGlvbiBWbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwxLGJbMF0pO2lkLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gV24oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gamQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBYbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwzLGJbMF0pO1pjLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gWW4oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gbWQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBabihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSw1LGJbMF0pO1VjLmFwcGx5KG51bGwsdyhiKSl9CmZ1bmN0aW9uICRuKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTtiWzBdJiZrbi5yZWdpc3RlcihhLDIsYlswXSk7WGMuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBhbyhhKXt2YXIgYj1Tbi5hcHBseShudWxsLHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSk7YiYma24ucmVnaXN0ZXIoYSw0LGIpO3JldHVybiBifTt2YXIgYm89e01hOntSZTowLFVlOjEsTGg6Mn19O2JvLk1hW2JvLk1hLlJlXT0iRlVMTF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLlVlXT0iTElNSVRFRF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLkxoXT0iTk9fVFJBTlNNSVNTSU9OIjt2YXIgY289e2lhOntnZDowLGNiOjEseGQ6MixaYjozfX07Y28uaWFbY28uaWEuZ2RdPSJOT19RVUVVRSI7Y28uaWFbY28uaWEuY2JdPSJBRFMiO2NvLmlhW2NvLmlhLnhkXT0iQU5BTFlUSUNTIjtjby5pYVtjby5pYS5aYl09Ik1PTklUT1JJTkciO3ZhciBlbz1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuY29uc2VudFR5cGVzPWJ9O2VvLnByb3RvdHlwZS5pc0NvbnNlbnRHcmFudGVkPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuSCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbnNlbnRUeXBlcy5ldmVyeShmdW5jdGlvbihhKXtyZXR1cm4gQmwoYSl9KTtjYXNlIDE6cmV0dXJuIHRoaXMuY29uc2VudFR5cGVzLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIEJsKGEpfSk7ZGVmYXVsdDp5Yyh0aGlzLkgsImNvbnNlbnRzUmVxdWlyZWQgaGFkIGFuIHVua25vd24gdHlwZSIpfX07CnZhciBmbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT17fTt0aGlzLkg9KGFbY28uaWEuZ2RdPWJvLk1hLlJlLGFbY28uaWEuY2JdPWJvLk1hLlJlLGFbY28uaWEueGRdPWJvLk1hLlJlLGFbY28uaWEuWmJdPWJvLk1hLlJlLGEpO3ZhciBiPXt9O3RoaXMuSz0oYltjby5pYS5nZF09bmV3IGVvKDAsW10pLGJbY28uaWEuY2JdPW5ldyBlbygwLFsiYWRfc3RvcmFnZSJdKSxiW2NvLmlhLnhkXT1uZXcgZW8oMCxbImFuYWx5dGljc19zdG9yYWdlIl0pLGJbY28uaWEuWmJdPW5ldyBlbygxLFsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl0pLGIpfTt2YXIgaG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLnR5cGU9YTt0aGlzLkg9W107RmwoZm8uS1thXS5jb25zZW50VHlwZXMsZnVuY3Rpb24oKXtnbyhiKXx8Yi5mbHVzaCgpfSl9O2hvLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgYT1tKHRoaXMuSCksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpe3ZhciBjPWIudmFsdWU7YygpfXRoaXMuSD1bXX07dmFyIGdvPWZ1bmN0aW9uKGEpe3JldHVybiBmby5IW2EudHlwZV09PT1iby5NYS5MaCYmIWZvLktbYS50eXBlXS5pc0NvbnNlbnRHcmFudGVkKCl9LGlvPWZ1bmN0aW9uKGEsYil7Z28oYSk/YS5ILnB1c2goYik6YigpfSxqbz1mdW5jdGlvbigpe3RoaXMuSD1uZXcgTWFwfSxsbz1mdW5jdGlvbihhKXt2YXIgYj1rbztiLkguaGFzKGEpfHxiLkguc2V0KGEsbmV3IGhvKGEpKTtyZXR1cm4gYi5ILmdldChhKX07am8ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5ILmNsZWFyKCl9Owp2YXIga289bmV3IGpvO3ZhciBtbz1bImZpbiIsImZzIiwibWNjIiwibmNjIl0sbm89ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwPyExOmE7dmFyIGI9Um0oKSxjPVFtLkssZD1iLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gY1tlXSE9PXZvaWQgMCYmKGF8fCFtby5pbmNsdWRlcyhlKSl9KTtUbShkKTtyZXR1cm4gZC5tYXAoZnVuY3Rpb24oZSl7dmFyIGY9Y1tlXTt0eXBlb2YgZj09PSJmdW5jdGlvbiImJihmPWYoKSk7cmV0dXJuIGY/IiYiK2UrIj0iK2Y6IiJ9KS5qb2luKCIiKSsiJno9MCJ9LG9vPWZ1bmN0aW9uKGEpe3ZhciBiPSJodHRwczovLyIrRSgyMSksYz0iL3RkP2lkPSIrRSg1KTtyZXR1cm4iIitmayhiKStjK2F9LHBvPWZ1bmN0aW9uKGEsYixjKXtiPWI9PT12b2lkIDA/ITE6YjtjPWM9PT12b2lkIDA/ITE6YztpZigkaygyNikmJmZuLksmJkUoNSkmJihjfHwhZ24oKSkpe3ZhciBkPWxvKGNvLmlhLlpiKTtpZihnbyhkKSlhLkh8fChhLkg9ITAsaW8oZCxmdW5jdGlvbigpe3JldHVybiBwbyhhKX0pKTsKZWxzZXtiJiZVbSgiZmluIiwiMSIpO3ZhciBlPW5vKGIpLGY9b28oZSksZz17ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjYxfTtiP1luKGcsZix2b2lkIDAse1FnOiEwfSx2b2lkIDAsZnVuY3Rpb24oKXtaYyhmKyImaW1nPTEiKX0pOlhuKGcsZik7YS5IPSExO3FvKGUpfX19LHFvPWZ1bmN0aW9uKGEpe2lmKEtjJiYoU2IoS2MsImh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tLyIpfHxJZig0NykpJiYhKGEuaW5kZXhPZigiJmNzcD0iKTwwJiZhLmluZGV4T2YoIiZtZGU9Iik8MCkpe3ZhciBiO2E6e3RyeXtpZihLYyl7Yj1uZXcgVVJMKEtjKTticmVhayBhfX1jYXRjaChjKXt9Yj12b2lkIDB9YiYmVWMoIiIrS2MrKEtjLmluZGV4T2YoIj8iKT49MD8iJiI6Ij8iKSsiaXNfdGQ9MSIrYSl9fSxybz1mdW5jdGlvbihhKXtSbSgpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIVBtW2JdfSkmJnBvKGEsITApfSxzbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSD0hMTsKJGMoQSwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7cm8oYSl9KX07ZnVuY3Rpb24gdG8oYSxiKXtwbyhzbyxhPT09dm9pZCAwPyExOmEsYj09PXZvaWQgMD8hMTpiKX07dmFyIHVvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIiwiYWRfdXNlcl9kYXRhIiwiYWRfcGVyc29uYWxpemF0aW9uIl0sdm89W0YuRC5kZCxGLkQueWMsRi5ELlFmLEYuRC5LYixGLkQueGMsRi5ELmZiLEYuRC5EYixGLkQubmIsRi5ELkxiLEYuRC52Y10seW89ZnVuY3Rpb24oKXt2YXIgYT13bzshYS5SJiZhLkgmJih1by5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBBbC5jb250YWluZXJTY29wZWREZWZhdWx0c1tiXSE9PTF9KXx8eG8oIm1iYyIpKTthLlI9ITB9LHhvPWZ1bmN0aW9uKGEpe2ZuLksmJihVbShhLCIxIiksdG8oKSl9LHpvPWZ1bmN0aW9uKGEsYil7dmFyIGM9d287aWYoIWMuTltiXSYmKGMuTltiXT0hMCxjLktbYl0pKWZvcih2YXIgZD1tKHZvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlpZihPKGEsZS52YWx1ZSkpe3hvKCJlcmMiKTticmVha319LHdvPW5ldyBmdW5jdGlvbigpe3RoaXMuUj10aGlzLkg9ITE7dGhpcy5OPXt9O3RoaXMuSz17fX07dmFyIEFvPXt9LEJvPU9iamVjdC5mcmVlemUoKEFvW0YuRC5SY109MSxBb1tGLkQuaGhdPTEsQW9bRi5ELnNpXT0xLEFvW0YuRC5TY109MSxBb1tGLkQuSGFdPTEsQW9bRi5ELkxiXT0xLEFvW0YuRC5DYl09MSxBb1tGLkQuVGJdPTEsQW9bRi5ELklkXT0xLEFvW0YuRC52Y109MSxBb1tGLkQubmJdPTEsQW9bRi5ELkpkXT0xLEFvW0YuRC5IZV09MSxBb1tGLkQuT2FdPTEsQW9bRi5ELlFwXT0xLEFvW0YuRC5QZl09MSxBb1tGLkQuRmldPTEsQW9bRi5ELnBoXT0xLEFvW0YuRC5XY109MSxBb1tGLkQuUWZdPTEsQW9bRi5ELmFxXT0xLEFvW0YuRC5UYV09MSxBb1tGLkQuVWZdPTEsQW9bRi5ELmZxXT0xLEFvW0YuRC5PZF09MSxBb1tGLkQuUmxdPTEsQW9bRi5ELlljXT0xLEFvW0YuRC5aY109MSxBb1tGLkQuRGJdPTEsQW9bRi5ELmFtXT0xLEFvW0YuRC5XYl09MSxBb1tGLkQuVGRdPTEsQW9bRi5ELlhiXT0xLEFvW0YuRC5PaV09MSxBb1tGLkQuZGRdPTEsQW9bRi5ELnloXT0xLEFvW0YuRC5QaV09CjEsQW9bRi5ELlVkXT0xLEFvW0YuRC55Y109MSxBb1tGLkQuVmRdPTEsQW9bRi5ELmxtXT0xLEFvW0YuRC5XZF09MSxBb1tGLkQuZWRdPTEsQW9bRi5ELm9qXT0xLEFvKSk7T2JqZWN0LmZyZWV6ZShbRi5ELnphLEYuRC5VYSxGLkQuTWIsRi5ELnRiLEYuRC5OaSxGLkQuZmIsRi5ELkdpLEYuRC5NcF0pOwp2YXIgQ289e30sRG89T2JqZWN0LmZyZWV6ZSgoQ29bRi5ELnFwXT0xLENvW0YuRC5ycF09MSxDb1tGLkQudHBdPTEsQ29bRi5ELnVwXT0xLENvW0YuRC52cF09MSxDb1tGLkQuenBdPTEsQ29bRi5ELkFwXT0xLENvW0YuRC5CcF09MSxDb1tGLkQuRHBdPTEsQ29bRi5ELnlmXT0xLENvKSksRW89e30sRm89T2JqZWN0LmZyZWV6ZSgoRW9bRi5ELnZsXT0xLEVvW0YuRC53bF09MSxFb1tGLkQueGVdPTEsRW9bRi5ELnllXT0xLEVvW0YuRC54bF09MSxFb1tGLkQuQWRdPTEsRW9bRi5ELnplXT0xLEVvW0YuRC5vY109MSxFb1tGLkQuUWNdPTEsRW9bRi5ELnFjXT0xLEVvW0YuRC5JYl09MSxFb1tGLkQuQWVdPTEsRW9bRi5ELnJjXT0xLEVvW0YuRC55bF09MSxFbykpLEdvPU9iamVjdC5mcmVlemUoW0YuRC5SYyxGLkQuU2MsRi5ELkpkLEYuRC5RZixGLkQuV2YsRi5ELlRkLEYuRC5PaSxGLkQuVmRdKSxIbz1PYmplY3QuZnJlZXplKFtdLmNvbmNhdCh3KEdvKSkpLElvPU9iamVjdC5mcmVlemUoW0YuRC5DYiwKRi5ELnBoLEYuRC55aCxGLkQuUGksRi5ELm5oXSksSm89T2JqZWN0LmZyZWV6ZShbXS5jb25jYXQodyhJbykpKSxLbz17fSxMbz0oS29bRi5ELmthXT0iMSIsS29bRi5ELnJhXT0iMiIsS29bRi5ELm1hXT0iMyIsS29bRi5ELlhhXT0iNCIsS28pLE1vPXt9LE5vPU9iamVjdC5mcmVlemUoKE1vLnNlYXJjaD0icyIsTW8ueW91dHViZT0ieSIsTW8ucGxheXN0b3JlPSJwIixNby5zaG9wcGluZz0iaCIsTW8uYWRzPSJhIixNby5tYXBzPSJtIixNbykpO2Z1bmN0aW9uIE9vKGEpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD97fTphfWZ1bmN0aW9uIFBvKGEpe3JldHVybiBhPT09dm9pZCAwfHxhPT09bnVsbD8iIjp0eXBlb2YgYT09PSJvYmplY3QiP2EudG9TdHJpbmcoKTpTdHJpbmcoYSl9ZnVuY3Rpb24gUW8oYSl7aWYoYSE9PXZvaWQgMCYmYSE9PW51bGwpcmV0dXJuIFBvKGEpfTt2YXIgUm89W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV07ZnVuY3Rpb24gU28oYSl7Zm9yKHZhciBiPW0oYVtGLkQubmNdfHxbIiJdKSxjPWIubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyZWdpb246dm9pZCAwfSxjPWIubmV4dCgpKWQucmVnaW9uPWMudmFsdWUsR2IoYSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZixnKXtpZihmIT09Ri5ELm5jKXt2YXIgaD1QbyhnKSxsPWUucmVnaW9uLG49eW0oKSxwPXptKCk7eWw9ITA7eGwmJnNiKCJUQUdHSU5HIiwyMCk7dGwoKS5kZWNsYXJlKGYsaCxsLG4scCl9fX0oZCkpfQpmdW5jdGlvbiBUbyhhKXt5bygpO3ZhciBiPWFsKDE3LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxjPWFsKDE2LGZ1bmN0aW9uKCl7cmV0dXJuITF9KTshYiYmYyYmeG8oImNyYyIpO1prKDE3LCEwKTt2YXIgZD1hW0YuRC5ZZ107ZCYmUCg0MSk7dmFyIGU9YVtGLkQubmNdO2U/UCg0MCk6ZT1bIiJdO2Zvcih2YXIgZj1tKGUpLGc9Zi5uZXh0KCksaD17fTshZy5kb25lO2g9e0JvOnZvaWQgMH0sZz1mLm5leHQoKSloLkJvPWcudmFsdWUsR2IoYSxmdW5jdGlvbihsKXtyZXR1cm4gZnVuY3Rpb24obixwKXtpZihuIT09Ri5ELm5jJiZuIT09Ri5ELllnKXt2YXIgcT1RbyhwKSxyPWwuQm8sdD1OdW1iZXIoZCksdT15bSgpLHY9em0oKTt0PXQ9PT12b2lkIDA/MDp0O3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkuZGVmYXVsdChuLHEscix1LHYsdCxBbCl9fX0oaCkpfQpmdW5jdGlvbiBVbyhhKXtBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM9ITA7dmFyIGI9YVtGLkQubmNdO2lmKGIpe3ZhciBjPUFycmF5LmlzQXJyYXkoYik/YjpbYl07aWYoIWMuaW5jbHVkZXMoem0oKSkmJiFjLmluY2x1ZGVzKHltKCkpKXJldHVybn1HYihhLGZ1bmN0aW9uKGQsZSl7c3dpdGNoKGQpe2Nhc2UgImFkX3N0b3JhZ2UiOmNhc2UgImFuYWx5dGljc19zdG9yYWdlIjpjYXNlICJhZF91c2VyX2RhdGEiOmNhc2UgImFkX3BlcnNvbmFsaXphdGlvbiI6YnJlYWs7ZGVmYXVsdDpyZXR1cm59QWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzPSEwO0FsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2RdPWU9PT0iZ3JhbnRlZCI/MzoyfSl9CmZ1bmN0aW9uIFZvKGEsYil7eW8oKTtaaygxNiwhMCk7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPVBvKGQpO3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkudXBkYXRlKGMsZSxBbCl9KTtHbChiLmV2ZW50SWQsYi5wcmlvcml0eUlkKX1mdW5jdGlvbiBXbyhhKXthLmhhc093blByb3BlcnR5KCJhbGwiKSYmKEFsLnNlbGVjdGVkQWxsQ29yZVBsYXRmb3JtU2VydmljZXM9ITAsR2IoTm8sZnVuY3Rpb24oYil7QWwuY29yZVBsYXRmb3JtU2VydmljZXNbYl09YS5hbGw9PT0iZ3JhbnRlZCI7QWwudXNlZENvcmVQbGF0Zm9ybVNlcnZpY2VzPSEwfSkpO0diKGEsZnVuY3Rpb24oYixjKXtiIT09ImFsbCImJihBbC5jb3JlUGxhdGZvcm1TZXJ2aWNlc1tiXT1jPT09ImdyYW50ZWQiLEFsLnVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlcz0hMCl9KX0KZnVuY3Rpb24gWG8oYSl7QXJyYXkuaXNBcnJheShhKXx8KGE9W2FdKTtyZXR1cm4gYS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiBZbygpe3ZhciBhPVpvO0FycmF5LmlzQXJyYXkoYSl8fChhPVthXSk7cmV0dXJuIGEuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiAkbyhhLGIpe0ZsKGEsYil9ZnVuY3Rpb24gYXAoYSxiKXtJbChhLGIpfWZ1bmN0aW9uIGJwKGEsYil7SGwoYSxiKX1mdW5jdGlvbiBjcCgpe3ZhciBhPVtGLkQua2EsRi5ELlhhLEYuRC5tYV07dGwoKS53YWl0Rm9yVXBkYXRlKGEsNTAwLEFsKX1mdW5jdGlvbiBkcChhKXtmb3IodmFyIGI9bShhKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTt0bCgpLmNsZWFyVGltZW91dChkLHZvaWQgMCxBbCl9R2woKX0KZnVuY3Rpb24gZXAoYSl7Zm9yKHZhciBiPXt9LGM9bShhLnNwbGl0KCJ8IikpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWJbZC52YWx1ZV09ITA7cmV0dXJuIGJ9O3ZhciBmcD1PYmplY3QuZnJlZXplKFtGLkQua2EsRi5ELm1hXSk7CnZhciBocD1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz1tKE9iamVjdC5rZXlzKGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtiW2dwW2VdfHxlXT1hW2VdfXJldHVybiBifSxpcD1mdW5jdGlvbihhKXtyZXR1cm4hIVEoYSxILkoudmQpJiZSKGEsRi5ELlBkKT09PSIxIiYmUihhLEYuRC5IZCkhPT0iMSImJlhvKGZwKX0sanA9ZnVuY3Rpb24oYSxiKXtpZighaXAoYSkpcmV0dXJuITE7dmFyIGM9UWMoKXx8T2MoKT81ODo1NyxkPU5tKGMsaHAoYikpO1RsKGQsYSxjKTtZbih7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKyImZm10PTgiLHZvaWQgMCx7UWc6ITAsbWV0aG9kOiJHRVQifSxmdW5jdGlvbigpe30sZnVuY3Rpb24oKXtaYyhkKyImZm10PTMiKX0pO3JldHVybiEwfSxrcD17fSxncD0oa3AuZGw9InVybCIsa3AuZHI9CiJyZWYiLGtwLnVpZD0idXNlcklkIixrcCk7dmFyIGxwPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD1mdW5jdGlvbihlKXtiW2VdIT1udWxsJiZiW2VdIT09IiImJihjW2VdPWJbZV0pfTtNKDQ3NCkmJmQoIl9nc2lkIik7UihhLEYuRC5IZCkhPT0iMSImJihkKCJnY2xpZCIpLGQoImdjbHNyYyIpLGQoImF1aWQiKSxkKCJkY2xpZCIpKTtpZihPYmplY3Qua2V5cyhjKS5sZW5ndGgpcmV0dXJuIGQoImd0bSIpLGN9Owp2YXIgbXA9e30sbnA9KG1wW0YuRC5zYV09ImdjdSIsbXBbRi5ELlNiXT0iZ2NsZ2IiLG1wW0YuRC5sYl09ImdjbGF3IixtcFtGLkQuemZdPSJnYWRfc291cmNlIixtcFtGLkQuQWZdPSJnYWRfc291cmNlX3NyYyIsbXBbRi5ELkRkXT0iZ2NsaWQiLG1wW0YuRC5BbF09ImdjbHNyYyIsbXBbRi5ELkJmXT0iZ2JyYWlkIixtcFtGLkQuRWVdPSJ3YnJhaWQiLG1wW0YuRC5FZF09ImF1aWQiLG1wW0YuRC5CbF09ImFlIixtcFtGLkQuSGFdPW51bGwsbXBbRi5ELkRsXT0icm5kIixtcFtGLkQuSGRdPSJuY2wiLG1wW0YuRC5OZl09ImdjbGRjIixtcFtGLkQuS2RdPSJkY2xpZCIsbXBbRi5ELlZjXT0iZWRpZCIsbXBbRi5ELlViXT0iZW4iLG1wW0YuRC5LZV09ImdkcHIiLG1wW0YuRC5YY109ImdkaWQiLG1wW0YuRC5UYV09bnVsbCxtcFtGLkQuTGVdPSJfbmciLG1wW0YuRC50aF09ImdwcF9zaWQiLG1wW0YuRC51aF09ImdwcCIsbXBbRi5ELlZmXT0iX3R1IixtcFtGLkQuUWxdPSJndG1fdXAiLG1wW0YuRC5NZV09CiJmcm0iLG1wW0YuRC5QZF09ImxwcyIsbXBbRi5ELkxpXT0iZGlkIixtcFtGLkQuVWxdPSJuYXZ0IixtcFtGLkQuemFdPSJkbCIsbXBbRi5ELlVhXT0iZHIiLG1wW0YuRC5NYl09ImR0IixtcFtGLkQuYm1dPSJzY3JzcmMiLG1wW0YuRC5aZl09ImdhX3VpZCIsbXBbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IixtcFtGLkQuUWldPSJ0ZXN0b25seSIsbXBbRi5ELnJxXT0idV90eiIsbXBbRi5ELlBlXT0idG9wIixtcFtGLkQuUWVdPSJ0aWQiLG1wW0YuRC5mYl09InVpZCIsbXBbRi5ELmtnXT0idXNfcHJpdmFjeSIsbXBbRi5ELmVkXT1udWxsLG1wW0YuRC5kZV09Im5wYSIsbXApO2Z1bmN0aW9uIG9wKGEsYil7aWYoYiE9bnVsbCYmYiE9PSIiKXt2YXIgYz1iPT09ITA/IjEiOmI9PT0hMT8iMCI6ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSk7aWYoU2IoYSwiXyYiKSlyZXR1cm57a2V5OmEuc3Vic3RyaW5nKDIpLHZhbHVlOmN9O3ZhciBkPW5wW2FdO2lmKGQhPT1udWxsKXJldHVybiBkP3trZXk6ZCx2YWx1ZTpjfTp7a2V5OkFiKGIpPyJlcG4uIithOiJlcC4iK2EsdmFsdWU6Y319fTtmdW5jdGlvbiBwcChhKXthPWE9PT12b2lkIDA/W106YTtyZXR1cm4geGooYSkuam9pbigifiIpfTtmdW5jdGlvbiBxcCgpe3ZhciBhPVtdLGI9TnVtYmVyKCcnKXx8MCxjPU51bWJlcignJyl8fDA7Y3x8KGM9Yi8xMDApO3ZhciBkPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7cmV0dXJuIHR9KCk7YS5wdXNoKHt1azoyMjgsc3R1ZHlJZDoyMjgsZXhwZXJpbWVudElkOjEwNTE3NzE1NCxjb250cm9sSWQ6MTA1MTc3MTU1LGNvbnRyb2xJZDI6MTA1MjU1MjQ1LHByb2JhYmlsaXR5OmMsYWN0aXZlOmQsWmU6MH0pO3ZhciBlPU51bWJlcignJyl8fAowLGY9TnVtYmVyKCcnKXx8MDtmfHwoZj1lLzEwMCk7dmFyIGc9ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjIzNSxzdHVkeUlkOjIzNSxleHBlcmltZW50SWQ6MTA1MzU3MTUwLGNvbnRyb2xJZDoxMDUzNTcxNTEsY29udHJvbElkMjowLHByb2JhYmlsaXR5OmYsYWN0aXZlOmcsWmU6MX0pO3ZhciBoPU51bWJlcignJyl8fDAsbD1OdW1iZXIoJycpfHwKMDtsfHwobD1oLzEwMCk7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjI2NixzdHVkeUlkOjI2NixleHBlcmltZW50SWQ6MTE1NzE4NTI5LGNvbnRyb2xJZDoxMTU3MTg1MzAsY29udHJvbElkMjoxMTU3MTg1MzEscHJvYmFiaWxpdHk6bCxhY3RpdmU6bixaZTowfSk7dmFyIHA9TnVtYmVyKCcnKXx8MCxxPU51bWJlcignJyl8fAowO3F8fChxPXAvMTAwKTt2YXIgcj1mdW5jdGlvbigpe3ZhciB0PSExO3JldHVybiB0fSgpO2EucHVzaCh7dWs6MjY3LHN0dWR5SWQ6MjY3LGV4cGVyaW1lbnRJZDoxMTU3MTg1MjYsY29udHJvbElkOjExNTcxODUyNyxjb250cm9sSWQyOjExNTcxODUyOCxwcm9iYWJpbGl0eTpxLGFjdGl2ZTpyLFplOjB9KTtyZXR1cm4gYX07dmFyIHJwPWZ1bmN0aW9uKCl7dGhpcy5LPXt9O3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5SPW5ldyBTZXR9LHhwPWZ1bmN0aW9uKGEsYil7dmFyIGM9YixkPWI9YS5OW2Muc3R1ZHlJZF0/bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLHthY3RpdmU6ITB9KTpjLGU9Rmk7ZC5jb250cm9sSWQyJiZkLnByb2JhYmlsaXR5PD0uMjV8fChkPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sZCx7Y29udHJvbElkMjowfSkpO2Uuc3R1ZGllc1tkLnN0dWR5SWRdPWQ7Yi5mb2N1c2VkJiYoYS5LW2Iuc3R1ZHlJZF09ITApO2lmKGIuWmU9PT0xKXt2YXIgZj1iLnN0dWR5SWQ7c3AoYSx0cCgpLGYpO3VwKGEsZik/dGoodWosZik6dnAoYSxmKT91ai5LW2ZdPSEwOndwKGEsZikmJih1ai5IW2ZdPSEwKX1lbHNlIGlmKGIuWmU9PT0wKXt2YXIgZz1iLnN0dWR5SWQ7c3AoYSxhLkgsZyk7dXAoYSxnKT90aih1aixnKTp2cChhLGcpP3VqLktbZ109ITA6d3AoYSxnKSYmCih1ai5IW2ddPSEwKX19LHNwPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPUZpO2lmKGUuc3R1ZGllc1tjXSl7dmFyIGY9ZS5zdHVkaWVzW2NdLGc9Zi5leHBlcmltZW50SWQsaD1mLnByb2JhYmlsaXR5O2lmKCEoYi5zdHVkaWVzfHx7fSlbY10pe3ZhciBsPWIuc3R1ZGllc3x8e307bFtjXT0hMDtiLnN0dWRpZXM9bDtpZighZS5zdHVkaWVzW2NdLmFjdGl2ZSlpZihlLnN0dWRpZXNbY10ucHJvYmFiaWxpdHk+LjUpSWkoYixnLGMpO2Vsc2UgaWYoIShoPD0wfHxoPjEpKXt2YXIgbj12b2lkIDA7aWYoZCl7dmFyIHA9Q2koZCsifiIrYyk7aWYocD09PSJlMiIpbj0tMTtlbHNle2Zvcih2YXIgcT1uZXcgVWludDhBcnJheShwKSxyPUJpZ0ludCgwKSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpcj1yPDxCaWdJbnQoOCl8QmlnSW50KHUudmFsdWUpO249TnVtYmVyKHIlQmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSl9fUdpLnNrKGIsYyxuKX19fWlmKCFhLktbY10pe3ZhciB2PQpOaShiLGMpO3YmJndqLkguSy5hZGQodil9fSx0cD1mdW5jdGlvbigpe3JldHVybiBvbShqbS5iYS5UcSx7fSl9LHVwPWZ1bmN0aW9uKGEsYil7dmFyIGM9dHAoKTtyZXR1cm4gS2koYyxiKXx8S2koYS5ILGIpfSx2cD1mdW5jdGlvbihhLGIpe3ZhciBjPXRwKCk7cmV0dXJuIExpKGMsYil8fExpKGEuSCxiKX0sd3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz10cCgpO3JldHVybiBNaShjLGIpfHxNaShhLkgsYil9LHlwOwpmdW5jdGlvbiB6cCgpe2lmKCF5cCl7dmFyIGE9eXA9bmV3IHJwLGIsYyxkPSgoYj1BKT09bnVsbD92b2lkIDA6KGM9Yi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmMuaGFzaCl8fCIiO2lmKGRbMF09PT0iIyImJmRbMV09PT0iXyImJmRbMl09PT0idCImJmRbM109PT0iZSImJmRbNF09PT0iPSIpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO2lmKGUpZm9yKHZhciBmPW0oZS5zcGxpdCgifiIpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9TnVtYmVyKGcudmFsdWUpO2gmJihhLk5baF09ITAsdGoodWosaCkpfX1mb3IodmFyIGw9bShxcCgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl4cChhLG4udmFsdWUpO2Zvcih2YXIgcD1bXSxxPW0oTWYoNTYpfHxbXSkscj1xLm5leHQoKTshci5kb25lO3I9cS5uZXh0KCkpe3ZhciB0PXIudmFsdWUsdT17c3R1ZHlJZDp0WzFdLGFjdGl2ZTohIXRbMl0scHJvYmFiaWxpdHk6dFszXXx8MCxleHBlcmltZW50SWQ6dFs0XXx8CjAsY29udHJvbElkOnRbNV18fDAsY29udHJvbElkMjp0WzZdfHwwfSx2PTA7c3dpdGNoKHRbN10pe2Nhc2UgMjp2PTE7YnJlYWs7Y2FzZSAzOnY9MjticmVhaztjYXNlIDE6Y2FzZSA0OmNhc2UgNTpjYXNlIDA6dj0wfXZhciB4O2E6c3dpdGNoKHUuc3R1ZHlJZCl7Y2FzZSA1Njc6Y2FzZSA0NjI6eD0hMDticmVhayBhO2RlZmF1bHQ6eD0hMX12YXIgeT1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHUse1plOnYsZm9jdXNlZDp4fSk7KHkuYWN0aXZlfHx5LnByb2JhYmlsaXR5Pi41JiZ5LmV4cGVyaW1lbnRJZHx8eS5leHBlcmltZW50SWQmJnkuY29udHJvbElkKSYmcC5wdXNoKHkpfWZvcih2YXIgej1tKHApLEM9ei5uZXh0KCk7IUMuZG9uZTtDPXoubmV4dCgpKXhwKGEsQy52YWx1ZSl9fQpmdW5jdGlvbiBBcChhLGIpe3pwKCk7dmFyIGM9eXA7c3AoYyx0cCgpLGEsYik7dXAoYyxhKT90aih1aixhKTp2cChjLGEpP3VqLktbYV09ITA6d3AoYyxhKSYmKHVqLkhbYV09ITApfWZ1bmN0aW9uIEJwKCl7enAoKTt2YXIgYT15cCxiPXVwKGEsNTY3KTtpZihhLktbNTY3XSl7dmFyIGMsZD10cCgpOyhjPU5pKGQsNTY3KXx8TmkoYS5ILDU2NykpJiZhLlIuYWRkKGMpfXJldHVybiBifWZ1bmN0aW9uIENwKGEpe3pwKCk7dmFyIGI9bmV3IFNldCh5cC5SKTtpZihhKWZvcih2YXIgYz1RKGEsSC5KLkNoKXx8W10sZD1tKGMpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWIuYWRkKGUudmFsdWUpO3JldHVybiBwcChbXS5jb25jYXQodyhiKSkpfTtmdW5jdGlvbiBEcChhKXt2YXIgYj1hLmxvY2F0aW9uLmhyZWY7aWYoYT09PWEudG9wKXJldHVybnt1cmw6YixJczohMH07dmFyIGM9ITEsZD1hLmRvY3VtZW50O2QmJmQucmVmZXJyZXImJihiPWQucmVmZXJyZXIsYS5wYXJlbnQ9PT1hLnRvcCYmKGM9ITApKTt2YXIgZT1hLmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucztpZihlKXt2YXIgZj1lW2UubGVuZ3RoLTFdLGc7ZiYmKChnPWIpPT1udWxsP3ZvaWQgMDpnLmluZGV4T2YoZikpPT09LTEmJihjPSExLGI9Zil9cmV0dXJue3VybDpiLElzOmN9fWZ1bmN0aW9uIEVwKGEpe3RyeXt2YXIgYjtpZihiPSEhYSYmYS5sb2NhdGlvbi5ocmVmIT1udWxsKWE6e3RyeXtIbihhLmZvbyk7Yj0hMDticmVhayBhfWNhdGNoKGMpe31iPSExfXJldHVybiBifWNhdGNoKGMpe3JldHVybiExfX1mdW5jdGlvbiBGcCgpe2Zvcih2YXIgYT1BLGI9YTthJiZhIT09YS5wYXJlbnQ7KWE9YS5wYXJlbnQsRXAoYSkmJihiPWEpO3JldHVybiBifTt2YXIgR3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbigpe307Yy5wcm90b3R5cGU9YS5wcm90b3R5cGU7dmFyIGQ9bmV3IGM7YS5hcHBseShkLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7cmV0dXJuIGR9LEhwPWZ1bmN0aW9uKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPW51bGw7YygpfX19O2Z1bmN0aW9uIElwKGEsYil7aWYoYSlmb3IodmFyIGMgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxjKSYmYihhW2NdLGMsYSl9O2Z1bmN0aW9uIEpwKGEpe3ZhciBiPWEuc3BsaXQoL1s/I10vKSxjPS9bP10vLnRlc3QoYSk/Ij8iK2JbMV06IiI7cmV0dXJue3prOmJbMF0scGFyYW1zOmMsZnJhZ21lbnQ6L1sjXS8udGVzdChhKT8iIyIrKGM/YlsyXTpiWzFdKToiIn19ZnVuY3Rpb24gS3AoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gamMoYVswXSk7Zm9yKHZhciBjPWFbMF0sZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMrPWVuY29kZVVSSUNvbXBvbmVudChiW2RdKSthW2QrMV07cmV0dXJuIGpjKGMpfQpmdW5jdGlvbiBMcChhLGIsYyxkKXtmdW5jdGlvbiBlKGcsaCl7ZyE9bnVsbCYmKEFycmF5LmlzQXJyYXkoZyk/Zy5mb3JFYWNoKGZ1bmN0aW9uKGwpe3JldHVybiBlKGwsaCl9KTooYis9ZitlbmNvZGVVUklDb21wb25lbnQoaCkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChnKSxmPSImIikpfXZhciBmPWIubGVuZ3RoPyImIjoiPyI7ZC5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQ9T2JqZWN0LmVudHJpZXMoZCkpO0FycmF5LmlzQXJyYXkoZCk/ZC5mb3JFYWNoKGZ1bmN0aW9uKGcpe3JldHVybiBlKGdbMV0sZ1swXSl9KTpkLmZvckVhY2goZSk7cmV0dXJuIGpjKGErYitjKX1mdW5jdGlvbiBNcChhLGIpe3ZhciBjPUpwKGtjKGEpLnRvU3RyaW5nKCkpLGQ9Yy56ay5zbGljZSgtMSk9PT0iLyI/IiI6Ii8iLGU9Yy56aytkK2VuY29kZVVSSUNvbXBvbmVudChiKTtyZXR1cm4gamMoZStjLnBhcmFtcytjLmZyYWdtZW50KX07dmFyIE5wPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEsZD0wO2Q8NTA7KytkKXt2YXIgZTt0cnl7ZT0hKCFjLmZyYW1lc3x8IWMuZnJhbWVzW2JdKX1jYXRjaChoKXtlPSExfWlmKGUpcmV0dXJuIGM7dmFyIGY7YTp7dHJ5e3ZhciBnPWMucGFyZW50O2lmKGcmJmchPT1jKXtmPWc7YnJlYWsgYX19Y2F0Y2goaCl7fWY9bnVsbH1pZighKGM9ZikpYnJlYWt9cmV0dXJuIG51bGx9LE9wPWZ1bmN0aW9uKGEpe3ZhciBiPUE7aWYoYi50b3A9PWIpcmV0dXJuIDA7aWYoYT09PXZvaWQgMD8wOmEpe3ZhciBjPWIubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zO2lmKGMpcmV0dXJuIGNbYy5sZW5ndGgtMV09PWIubG9jYXRpb24ub3JpZ2luPzE6Mn1yZXR1cm4gRXAoYi50b3ApPzE6Mn0sUHA9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2RvY3VtZW50OmE7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiaW1nIil9O2Z1bmN0aW9uIFFwKGEpe2Zvcih2YXIgYj1bXSxjPUIuY29va2llLnNwbGl0KCI7IiksZD1uZXcgUmVnRXhwKCJeXFxzKiIrKGF8fCJfZ2FjIikrIl8oVUEtXFxkKy1cXGQrKT1cXHMqKC4rPylcXHMqJCIpLGU9MDtlPGMubGVuZ3RoO2UrKyl7dmFyIGY9Y1tlXS5tYXRjaChkKTtmJiZiLnB1c2goe3VkOmZbMV0sdmFsdWU6ZlsyXSx0aW1lc3RhbXA6TnVtYmVyKGZbMl0uc3BsaXQoIi4iKVsxXSl8fDB9KX1iLnNvcnQoZnVuY3Rpb24oZyxoKXtyZXR1cm4gaC50aW1lc3RhbXAtZy50aW1lc3RhbXB9KTtyZXR1cm4gYn0KZnVuY3Rpb24gUnAoYSxiKXt2YXIgYz1RcChhKSxkPXt9O2lmKCFjfHwhYy5sZW5ndGgpcmV0dXJuIGQ7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBmPWNbZV0udmFsdWUuc3BsaXQoIi4iKTtpZighKGZbMF0hPT0iMSJ8fGImJmYubGVuZ3RoPDN8fCFiJiZmLmxlbmd0aCE9PTMpJiZOdW1iZXIoZlsxXSkpe2RbY1tlXS51ZF18fChkW2NbZV0udWRdPVtdKTt2YXIgZz17dmVyc2lvbjpmWzBdLHRpbWVzdGFtcDpOdW1iZXIoZlsxXSkqMUUzLGdjbGlkOmZbMl19O2ImJmYubGVuZ3RoPjMmJihnLmxhYmVscz1mLnNsaWNlKDMpKTtkW2NbZV0udWRdLnB1c2goZyl9fXJldHVybiBkfTtmdW5jdGlvbiBTcChhKXtyZXR1cm4gYS5vcmlnaW4hPT0ibnVsbCJ9O3ZhciBUcD17fSxVcD0oVHAuaz17bmE6L15bXHctXSskL30sVHAuYj17bmE6L15bXHctXSskLyxuazohMH0sVHAuaT17bmE6L15bMS05XVxkKiQvfSxUcC5oPXtuYTovXlxkKyQvfSxUcC50PXtuYTovXlsxLTldXGQqJC99LFRwLmQ9e25hOi9eW0EtWmEtejAtOV8tXSskL30sVHAuaj17bmE6L15cZCskL30sVHAudT17bmE6L15bMS05XVxkKiQvfSxUcC5sPXtuYTovXlswMV0kL30sVHAubz17bmE6L15bMS05XVxkKiQvfSxUcC5nPXtuYTovXlswMV0kL30sVHAucz17bmE6L14uKyQvfSxUcC5tPXtuYTovXlswMV0kL30sVHApO3ZhciBWcD17fSxacD0oVnBbNV09e2ppOnsyOldwfSxaajoiMiIsUmg6WyJrIiwiaSIsImIiLCJ1Il19LFZwWzRdPXtqaTp7MjpXcCxHQ0w6WHB9LFpqOiIyIixSaDpbImsiLCJpIiwiYiIsIm0iXX0sVnBbMl09e2ppOntHUzI6V3AsR1MxOllwfSxaajoiR1MyIixSaDoic29ndGpsaGQiLnNwbGl0KCIiKX0sVnApO2Z1bmN0aW9uICRwKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF07Yz09bnVsbHx8YyhlKTtpZihlKXt2YXIgZj1kLmppW2VdO2lmKGYpcmV0dXJuIGYoYSxiKX19fQpmdW5jdGlvbiBXcChhLGIpe3ZhciBjPWEuc3BsaXQoIi4iKTtpZihjLmxlbmd0aD09PTMpe3ZhciBkPWNbMl07aWYoZC5pbmRleE9mKCIkIik9PT0tMSYmZC5pbmRleE9mKCIlMjQiKSE9PS0xKXRyeXtkPWRlY29kZVVSSUNvbXBvbmVudChkKX1jYXRjaCh0KXt9dmFyIGU9e30sZj1acFtiXTtpZihmKXtmb3IodmFyIGc9Zi5SaCxoPW0oZC5zcGxpdCgiJCIpKSxsPWgubmV4dCgpOyFsLmRvbmU7bD1oLm5leHQoKSl7dmFyIG49bC52YWx1ZSxwPW5bMF07aWYoZy5pbmRleE9mKHApIT09LTEpdHJ5e3ZhciBxPWRlY29kZVVSSUNvbXBvbmVudChuLnN1YnN0cmluZygxKSkscj1VcFtwXTtyJiYoci5uaz8oZVtwXT1lW3BdfHxbXSxlW3BdLnB1c2gocSkpOmVbcF09cSl9Y2F0Y2godCl7fX1yZXR1cm4gZX19fWZ1bmN0aW9uIGFxKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXJldHVybltkLlpqLGN8fCIxIixicShhLGIpXS5qb2luKCIuIil9CmZ1bmN0aW9uIGJxKGEsYil7dmFyIGM9WnBbYl07aWYoYyl7Zm9yKHZhciBkPVtdLGU9bShjLlJoKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPVVwW2ddO2lmKGgpe3ZhciBsPWFbZ107aWYobCE9PXZvaWQgMClpZihoLm5rJiZBcnJheS5pc0FycmF5KGwpKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKWQucHVzaChlbmNvZGVVUklDb21wb25lbnQoIiIrZytwLnZhbHVlKSk7ZWxzZSBkLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCIiK2crbCkpfX1yZXR1cm4gZC5qb2luKCIkIil9fWZ1bmN0aW9uIFhwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKTtiLnNoaWZ0KCk7dmFyIGM9Yi5zaGlmdCgpLGQ9Yi5zaGlmdCgpLGU9e307cmV0dXJuIGUuaz1kLGUuaT1jLGUuYj1iLGV9CmZ1bmN0aW9uIFlwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKS5zbGljZSgyKTtpZighKGIubGVuZ3RoPDV8fGIubGVuZ3RoPjcpKXt2YXIgYz17fTtyZXR1cm4gYy5zPWJbMF0sYy5vPWJbMV0sYy5nPWJbMl0sYy50PWJbM10sYy5qPWJbNF0sYy5sPWJbNV0sYy5oPWJbNl0sY319O2Z1bmN0aW9uIGNxKGEsYixjLGQpe3ZhciBlO3JldHVybihlPWRxKGZ1bmN0aW9uKGYpe3JldHVybiBmPT09YX0sYixjLGQpW2FdKSE9bnVsbD9lOltdfWZ1bmN0aW9uIGRxKGEsYixjLGQpe3ZhciBlO2lmKGVxKGQpKXtmb3IodmFyIGY9e30sZz1TdHJpbmcoYnx8ZnEoKSkuc3BsaXQoIjsiKSxoPTA7aDxnLmxlbmd0aDtoKyspe3ZhciBsPWdbaF0uc3BsaXQoIj0iKSxuPWxbMF0udHJpbSgpO2lmKG4mJmEobikpe3ZhciBwPWwuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtwJiZjJiYocD1kZWNvZGVVUklDb21wb25lbnQocCkpO3ZhciBxPXZvaWQgMCxyPXZvaWQgMDsoKHE9Zilbcj1uXXx8KHFbcl09W10pKS5wdXNoKHApfX1lPWZ9ZWxzZSBlPXt9O3JldHVybiBlfQpmdW5jdGlvbiBncShhLGIsYyxkLGUpe2lmKGVxKGUpKXt2YXIgZj1ocShhLGQsZSk7aWYoZi5sZW5ndGg9PT0xKXJldHVybiBmWzBdO2lmKGYubGVuZ3RoIT09MCl7Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLkpyfSxiKTtpZihmLmxlbmd0aD09PTEpcmV0dXJuIGZbMF07Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLldzfSxjKTtyZXR1cm4gZlswXX19fWZ1bmN0aW9uIGpxKGEsYixjLGQpe3ZhciBlPWZxKCksZj1BO1NwKGYpJiYoZi5kb2N1bWVudC5jb29raWU9YSk7dmFyIGc9ZnEoKTtyZXR1cm4gZSE9PWd8fGMhPT12b2lkIDAmJmNxKGIsZywhMSxkKS5pbmRleE9mKGMpPj0wfQpmdW5jdGlvbiBrcShhLGIsYyxkKXtmdW5jdGlvbiBlKHgseSx6KXtpZih6PT1udWxsKXJldHVybiBkZWxldGUgaFt5XSx4O2hbeV09ejtyZXR1cm4geCsiOyAiK3krIj0iK3p9ZnVuY3Rpb24gZih4LHkpe2lmKHk9PW51bGwpcmV0dXJuIHg7aFt5XT0hMDtyZXR1cm4geCsiOyAiK3l9aWYoIWVxKGMuTWMpKXJldHVybiAyO3ZhciBnO2I9PW51bGw/Zz1hKyI9ZGVsZXRlZDsgZXhwaXJlcz0iKyhuZXcgRGF0ZSgwKSkudG9VVENTdHJpbmcoKTooYy5lbmNvZGUmJihiPWVuY29kZVVSSUNvbXBvbmVudChiKSksYj1scShiKSxnPWErIj0iK2IpO3ZhciBoPXt9O2c9ZShnLCJwYXRoIixjLnBhdGgpO3ZhciBsO2MuZXhwaXJlcyBpbnN0YW5jZW9mIERhdGU/bD1jLmV4cGlyZXMudG9VVENTdHJpbmcoKTpjLmV4cGlyZXMhPW51bGwmJihsPSIiK2MuZXhwaXJlcyk7Zz1lKGcsImV4cGlyZXMiLGwpO2c9ZShnLCJtYXgtYWdlIixjLk9zKTtnPWUoZywic2FtZXNpdGUiLGMucnQpO2Muc2VjdXJlJiYKKGc9ZihnLCJzZWN1cmUiKSk7dmFyIG49Yy5kb21haW47aWYobiYmbi50b0xvd2VyQ2FzZSgpPT09ImF1dG8iKXtmb3IodmFyIHA9bXEoKSxxPXZvaWQgMCxyPSExLHQ9MDt0PHAubGVuZ3RoOysrdCl7dmFyIHU9cFt0XSE9PSJub25lIj9wW3RdOnZvaWQgMCx2PWUoZywiZG9tYWluIix1KTt2PWYodixjLmZsYWdzKTt0cnl7ZCYmZChhLGgpfWNhdGNoKHgpe3E9eDtjb250aW51ZX1yPSEwO2lmKCFucSh1LGMucGF0aCkmJmpxKHYsYSxiLGMuTWMpKXJldHVybiAwfWlmKHEmJiFyKXRocm93IHE7cmV0dXJuIDF9biYmbi50b0xvd2VyQ2FzZSgpIT09Im5vbmUiJiYoZz1lKGcsImRvbWFpbiIsbikpO2c9ZihnLGMuZmxhZ3MpO2QmJmQoYSxoKTtyZXR1cm4gbnEobixjLnBhdGgpPzE6anEoZyxhLGIsYy5NYyk/MDoxfWZ1bmN0aW9uIG9xKGEsYixjKXtjLnBhdGg9PW51bGwmJihjLnBhdGg9Ii8iKTtjLmRvbWFpbnx8KGMuZG9tYWluPSJhdXRvIik7cmV0dXJuIGtxKGEsYixjKX0KZnVuY3Rpb24gaXEoYSxiLGMpe2Zvcih2YXIgZD1bXSxlPVtdLGYsZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGw9YihoKTtsPT09Yz9kLnB1c2goaCk6Zj09PXZvaWQgMHx8bDxmPyhlPVtoXSxmPWwpOmw9PT1mJiZlLnB1c2goaCl9cmV0dXJuIGQubGVuZ3RoPjA/ZDplfWZ1bmN0aW9uIGhxKGEsYixjKXtmb3IodmFyIGQ9W10sZT1jcShhLHZvaWQgMCx2b2lkIDAsYyksZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdLnNwbGl0KCIuIiksaD1nLnNoaWZ0KCk7aWYoIWJ8fCFofHxiLmluZGV4T2YoaCkhPT0tMSl7dmFyIGw9Zy5zaGlmdCgpO2lmKGwpe3ZhciBuPWwuc3BsaXQoIi0iKTtkLnB1c2goe0JyOmVbZl0sQ3I6Zy5qb2luKCIuIiksSnI6TnVtYmVyKG5bMF0pfHwxLFdzOk51bWJlcihuWzFdKXx8MX0pfX19cmV0dXJuIGR9ZnVuY3Rpb24gbHEoYSl7YSYmYS5sZW5ndGg+MTIwMCYmKGE9YS5zdWJzdHJpbmcoMCwxMjAwKSk7cmV0dXJuIGF9CnZhciBwcT0vXih3d3dcLik/Z29vZ2xlKFwuY29tPyk/KFwuW2Etel17Mn0pPyQvLHFxPS8oXnxcLilkb3VibGVjbGlja1wubmV0JC9pO2Z1bmN0aW9uIG5xKGEsYil7cmV0dXJuIGEhPT12b2lkIDAmJihxcS50ZXN0KEEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUpfHxiPT09Ii8iJiZwcS50ZXN0KGEpKX1mdW5jdGlvbiBycShhKXtpZighYSlyZXR1cm4gMTt2YXIgYj1hO1lmKDQpJiZhPT09Im5vbmUiJiYoYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTtiPWIuaW5kZXhPZigiLiIpPT09MD9iLnN1YnN0cmluZygxKTpiO3JldHVybiBiLnNwbGl0KCIuIikubGVuZ3RofWZ1bmN0aW9uIHNxKGEpe2lmKCFhfHxhPT09Ii8iKXJldHVybiAxO2FbMF0hPT0iLyImJihhPSIvIithKTthW2EubGVuZ3RoLTFdIT09Ii8iJiYoYSs9Ii8iKTtyZXR1cm4gYS5zcGxpdCgiLyIpLmxlbmd0aC0xfQpmdW5jdGlvbiB0cShhLGIpe3ZhciBjPSIiK3JxKGEpLGQ9c3EoYik7ZD4xJiYoYys9Ii0iK2QpO3JldHVybiBjfQp2YXIgZnE9ZnVuY3Rpb24oKXt2YXIgYT1BO3JldHVybiBTcChhKT9hLmRvY3VtZW50LmNvb2tpZToiIn0sZXE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJllmKDUpPyhBcnJheS5pc0FycmF5KGEpP2E6W2FdKS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gRGwoYikmJkJsKGIpfSk6ITB9LG1xPWZ1bmN0aW9uKCl7dmFyIGE9W10sYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIik7aWYoYi5sZW5ndGg9PT00KXt2YXIgYz1iW2IubGVuZ3RoLTFdO2lmKE51bWJlcihjKS50b1N0cmluZygpPT09YylyZXR1cm5bIm5vbmUiXX1mb3IodmFyIGQ9Yi5sZW5ndGgtMjtkPj0wO2QtLSlhLnB1c2goYi5zbGljZShkKS5qb2luKCIuIikpO3ZhciBlPUEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWU7cXEudGVzdChlKXx8cHEudGVzdChlKXx8YS5wdXNoKCJub25lIik7cmV0dXJuIGF9O2Z1bmN0aW9uIHVxKGEsYixjLGQpe3ZhciBlLGY9TnVtYmVyKGEucGQhPW51bGw/YS5wZDp2b2lkIDApO2YhPT0wJiYoZT1uZXcgRGF0ZSgoYnx8TmIoKSkrMUUzKihmfHw3Nzc2RTMpKSk7cmV0dXJue3BhdGg6YS5wYXRoLGRvbWFpbjphLmRvbWFpbixmbGFnczphLmZsYWdzLGVuY29kZTohIWMsZXhwaXJlczplLE1jOmR9fTt2YXIgdnE9bmV3IE1hcChbWzUsImFkX3N0b3JhZ2UiXSxbNCxbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXV0sWzIsImFuYWx5dGljc19zdG9yYWdlIl1dKTtmdW5jdGlvbiB3cShhLGIsYyl7aWYoWnBbYl0pe2Zvcih2YXIgZD1bXSxlPWNxKGEsdm9pZCAwLHZvaWQgMCx2cS5nZXQoYikpLGY9bShlKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9JHAoZy52YWx1ZSxiLGMpO2gmJmQucHVzaCh4cShoKSl9cmV0dXJuIGR9fQpmdW5jdGlvbiB5cShhKXt2YXIgYj16cTtpZihacFsyXSl7Zm9yKHZhciBjPXt9LGQ9ZHEoYSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSksZT1PYmplY3Qua2V5cyhkKS5zb3J0KCksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9bShkW2hdKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9JHAobi52YWx1ZSwyLGIpO3AmJihjW2hdfHwoY1toXT1bXSksY1toXS5wdXNoKHhxKHApKSl9cmV0dXJuIGN9fWZ1bmN0aW9uIEFxKGEsYixjLGQsZSl7ZD1kfHx7fTt2YXIgZj10cShkLmRvbWFpbixkLnBhdGgpLGc9YXEoYixjLGYpO2lmKCFnKXJldHVybiAxO3ZhciBoPXVxKGQsZSx2b2lkIDAsdnEuZ2V0KGMpKTtyZXR1cm4gb3EoYSxnLGgpfWZ1bmN0aW9uIEJxKGEsYil7dmFyIGM9Yi5uYTtyZXR1cm4gdHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoYSk6Yy50ZXN0KGEpfQpmdW5jdGlvbiB4cShhKXtmb3IodmFyIGI9bShPYmplY3Qua2V5cyhhKSksYz1iLm5leHQoKSxkPXt9OyFjLmRvbmU7ZD17QWc6dm9pZCAwfSxjPWIubmV4dCgpKXt2YXIgZT1jLnZhbHVlLGY9YVtlXTtkLkFnPVVwW2VdO2QuQWc/ZC5BZy5uaz9hW2VdPUFycmF5LmlzQXJyYXkoZik/Zi5maWx0ZXIoZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgpe3JldHVybiBCcShoLGcuQWcpfX0oZCkpOnZvaWQgMDp0eXBlb2YgZj09PSJzdHJpbmciJiZCcShmLGQuQWcpfHwoYVtlXT12b2lkIDApOmFbZV09dm9pZCAwfXJldHVybiBhfTt2YXIgQ3E7ZnVuY3Rpb24gRHEoKXtmdW5jdGlvbiBhKGcpe2MoZy50YXJnZXR8fGcuc3JjRWxlbWVudHx8e30pfWZ1bmN0aW9uIGIoZyl7ZChnLnRhcmdldHx8Zy5zcmNFbGVtZW50fHx7fSl9dmFyIGM9RXEsZD1GcSxlPUdxKCk7aWYoIWUuaW5pdCl7JGMoQiwibW91c2Vkb3duIixhKTskYyhCLCJrZXl1cCIsYSk7JGMoQiwic3VibWl0IixiKTt2YXIgZj1IVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdDtIVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdD1mdW5jdGlvbigpe2QodGhpcyk7Zi5jYWxsKHRoaXMpfTtlLmluaXQ9ITB9fWZ1bmN0aW9uIEhxKGEsYixjLGQsZSl7dmFyIGY9e2NhbGxiYWNrOmEsZG9tYWluczpiLGZyYWdtZW50OmM9PT0yLHBsYWNlbWVudDpjLGZvcm1zOmQsc2FtZUhvc3Q6ZX07R3EoKS5kZWNvcmF0b3JzLnB1c2goZil9CmZ1bmN0aW9uIElxKGEsYixjKXtmb3IodmFyIGQ9R3EoKS5kZWNvcmF0b3JzLGU9e30sZj0wO2Y8ZC5sZW5ndGg7KytmKXt2YXIgZz1kW2ZdLGg7aWYoaD0hY3x8Zy5mb3JtcylhOnt2YXIgbD1nLmRvbWFpbnMsbj1hLHA9ISFnLnNhbWVIb3N0O2lmKGwmJihwfHxuIT09Qi5sb2NhdGlvbi5ob3N0bmFtZSkpZm9yKHZhciBxPTA7cTxsLmxlbmd0aDtxKyspaWYobFtxXWluc3RhbmNlb2YgUmVnRXhwKXtpZihsW3FdLnRlc3Qobikpe2g9ITA7YnJlYWsgYX19ZWxzZSBpZihuLmluZGV4T2YobFtxXSk+PTB8fHAmJmxbcV0uaW5kZXhPZihuKT49MCl7aD0hMDticmVhayBhfWg9ITF9aWYoaCl7dmFyIHI9Zy5wbGFjZW1lbnQ7cj09PXZvaWQgMCYmKHI9Zy5mcmFnbWVudD8yOjEpO3I9PT1iJiZRYihlLGcuY2FsbGJhY2soKSl9fXJldHVybiBlfQpmdW5jdGlvbiBHcSgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSxiPWEuZ2w7YiYmYi5kZWNvcmF0b3JzfHwoYj17ZGVjb3JhdG9yczpbXX0sYS5nbD1iKTtyZXR1cm4gYn07dmFyIEpxPS8oLio/KVwqKC4qPylcKiguKikvLEtxPS9eaHR0cHM/OlwvXC8oW15cL10qPylcLj9jZG5cLmFtcHByb2plY3RcLm9yZ1wvPyguKikvLExxPS9eKD86d3d3XC58bVwufGFtcFwuKSsvLE1xPS8oW14/I10rKShcP1teI10qKT8oIy4qKT8vO2Z1bmN0aW9uIE5xKGEpe3ZhciBiPU1xLmV4ZWMoYSk7aWYoYilyZXR1cm57aGs6YlsxXSxxdWVyeTpiWzJdLGZyYWdtZW50OmJbM119fWZ1bmN0aW9uIE9xKGEpe3JldHVybiBuZXcgUmVnRXhwKCIoLio/KShefCYpIithKyI9KFteJl0qKSY/KC4qKSIpfQpmdW5jdGlvbiBQcShhLGIpe3ZhciBjPVtIYy51c2VyQWdlbnQsKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpLEhjLnVzZXJMYW5ndWFnZXx8SGMubGFuZ3VhZ2UsTWF0aC5mbG9vcihOYigpLzYwLzFFMyktKGI9PT12b2lkIDA/MDpiKSxhXS5qb2luKCIqIiksZDtpZighKGQ9Q3EpKXtmb3IodmFyIGU9QXJyYXkoMjU2KSxmPTA7ZjwyNTY7ZisrKXtmb3IodmFyIGc9ZixoPTA7aDw4O2grKylnPWcmMT9nPj4+MV4zOTg4MjkyMzg0Omc+Pj4xO2VbZl09Z31kPWV9Q3E9ZDtmb3IodmFyIGw9NDI5NDk2NzI5NSxuPTA7bjxjLmxlbmd0aDtuKyspbD1sPj4+OF5DcVsobF5jLmNoYXJDb2RlQXQobikpJjI1NV07cmV0dXJuKChsXi0xKT4+PjApLnRvU3RyaW5nKDM2KX0KZnVuY3Rpb24gUXEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPVJqKEEubG9jYXRpb24uaHJlZiksZD1jLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZT1JaihkLCJfZ2wiLCExLCEwKXx8IiI7Yi5xdWVyeT1ScShlKXx8e307dmFyIGY9TGooYywiZnJhZ21lbnQiKSxnO3ZhciBoPS0xO2lmKFNiKGYsIl9nbD0iKSloPTQ7ZWxzZXt2YXIgbD1mLmluZGV4T2YoIiZfZ2w9Iik7bD4wJiYoaD1sKzMrMil9aWYoaDwwKWc9dm9pZCAwO2Vsc2V7dmFyIG49Zi5pbmRleE9mKCImIixoKTtnPW48MD9mLnN1YnN0cmluZyhoKTpmLnN1YnN0cmluZyhoLG4pfWIuZnJhZ21lbnQ9UnEoZ3x8IiIpfHx7fTthJiZTcShjLGQsZil9fWZ1bmN0aW9uIFRxKGEsYil7dmFyIGM9T3EoYSkuZXhlYyhiKSxkPWI7aWYoYyl7dmFyIGU9Y1syXSxmPWNbNF07ZD1jWzFdO2YmJihkPWQrZStmKX1yZXR1cm4gZH0KZnVuY3Rpb24gU3EoYSxiLGMpe2Z1bmN0aW9uIGQoZyxoKXt2YXIgbD1UcSgiX2dsIixnKTtsLmxlbmd0aCYmKGw9aCtsKTtyZXR1cm4gbH1pZihHYyYmR2MucmVwbGFjZVN0YXRlKXt2YXIgZT1PcSgiX2dsIik7aWYoZS50ZXN0KGIpfHxlLnRlc3QoYykpe3ZhciBmPUxqKGEsInBhdGgiKTtiPWQoYiwiPyIpO2M9ZChjLCIjIik7R2MucmVwbGFjZVN0YXRlKHt9LCIiLCIiK2YrYitjKX19fWZ1bmN0aW9uIFVxKGEsYil7dmFyIGM9UXEoISFiKSxkPUdxKCk7ZC5kYXRhfHwoZC5kYXRhPXtxdWVyeTp7fSxmcmFnbWVudDp7fX0sYyhkLmRhdGEpKTt2YXIgZT17fSxmPWQuZGF0YTtmJiYoUWIoZSxmLnF1ZXJ5KSxhJiZRYihlLGYuZnJhZ21lbnQpKTtyZXR1cm4gZX0KdmFyIFJxPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1WcShhLDMpO2lmKGIhPT12b2lkIDApe2Zvcih2YXIgYz17fSxkPWI/Yi5zcGxpdCgiKiIpOltdLGU9MDtlKzE8ZC5sZW5ndGg7ZSs9Mil7dmFyIGY9ZFtlXSxnPXFiKGRbZSsxXSk7Y1tmXT1nfXNiKCJUQUdHSU5HIiw2KTtyZXR1cm4gY319Y2F0Y2goaCl7c2IoIlRBR0dJTkciLDgpfX07ZnVuY3Rpb24gVnEoYSxiKXtpZihhKXt2YXIgYzthOntmb3IodmFyIGQ9YSxlPTA7ZTwzOysrZSl7dmFyIGY9SnEuZXhlYyhkKTtpZihmKXtjPWY7YnJlYWsgYX1kPUtqKGQpfHwiIn1jPXZvaWQgMH12YXIgZz1jO2lmKGcmJmdbMV09PT0iMSIpe3ZhciBoPWdbM10sbDthOntmb3IodmFyIG49Z1syXSxwPTA7cDxiOysrcClpZihuPT09UHEoaCxwKSl7bD0hMDticmVhayBhfWw9ITF9aWYobClyZXR1cm4gaDtzYigiVEFHR0lORyIsNyl9fX0KZnVuY3Rpb24gV3EoYSxiLGMsZCxlKXtmdW5jdGlvbiBmKHApe3A9VHEoYSxwKTt2YXIgcT1wLmNoYXJBdChwLmxlbmd0aC0xKTtwJiZxIT09IiYiJiYocCs9IiYiKTtyZXR1cm4gcCtufWQ9ZD09PXZvaWQgMD8hMTpkO2U9ZT09PXZvaWQgMD8hMTplO3ZhciBnPU5xKGMpO2lmKCFnKXJldHVybiIiO3ZhciBoPWcucXVlcnl8fCIiLGw9Zy5mcmFnbWVudHx8IiIsbj1hKyI9IitiO2Q/bC5zdWJzdHJpbmcoMSkubGVuZ3RoIT09MCYmZXx8KGw9IiMiK2YobC5zdWJzdHJpbmcoMSkpKTpoPSI/IitmKGguc3Vic3RyaW5nKDEpKTtyZXR1cm4iIitnLmhrK2grbH0KZnVuY3Rpb24gWHEoYSxiKXtmdW5jdGlvbiBjKG4scCxxKXt2YXIgcjthOntmb3IodmFyIHQgaW4gbilpZihuLmhhc093blByb3BlcnR5KHQpKXtyPSEwO2JyZWFrIGF9cj0hMX1pZihyKXt2YXIgdSx2PVtdLHg7Zm9yKHggaW4gbilpZihuLmhhc093blByb3BlcnR5KHgpKXt2YXIgeT1uW3hdO3khPT12b2lkIDAmJnk9PT15JiZ5IT09bnVsbCYmeS50b1N0cmluZygpIT09IltvYmplY3QgT2JqZWN0XSImJih2LnB1c2goeCksdi5wdXNoKHBiKFN0cmluZyh5KSkpKX12YXIgej12LmpvaW4oIioiKTt1PVsiMSIsUHEoeiksel0uam9pbigiKiIpO2Q/KFlmKDMpfHxZZigxKXx8IXApJiZZcSgiX2dsIix1LGEscCxxKTpacSgiX2dsIix1LGEscCxxKX19dmFyIGQ9KGEudGFnTmFtZXx8IiIpLnRvVXBwZXJDYXNlKCk9PT0iRk9STSIsZT1JcShiLDEsZCksZj1JcShiLDIsZCksZz1JcShiLDQsZCksaD1JcShiLDMsZCk7YyhlLCExLCExKTtjKGYsITAsITEpO1lmKDEpJiZjKGcsITAsITApO2Zvcih2YXIgbCBpbiBoKWguaGFzT3duUHJvcGVydHkobCkmJgokcShsLGhbbF0sYSl9ZnVuY3Rpb24gJHEoYSxiLGMpe2MudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09ImEiP1pxKGEsYixjKTpjLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJmb3JtIiYmWXEoYSxiLGMpfWZ1bmN0aW9uIFpxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7dmFyIGY7aWYoZj1jLmhyZWYpe3ZhciBnO2lmKCEoZz1kKSl7dmFyIGg9QS5sb2NhdGlvbi5ocmVmLGw9TnEoYy5ocmVmKSxuPU5xKGgpO2c9IShsJiZuJiZsLmhrPT09bi5oayYmbC5xdWVyeT09PW4ucXVlcnkmJmwuZnJhZ21lbnQpfWY9Z31pZihmKXt2YXIgcD1XcShhLGIsYy5ocmVmLGQsZSk7dmMudGVzdChwKSYmKGMuaHJlZj1wKX19CmZ1bmN0aW9uIFlxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7aWYoYyl7dmFyIGY9Yy5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpfHwiIjtpZihmKXt2YXIgZz0oYy5tZXRob2R8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKGchPT0iZ2V0Inx8ZCl7aWYoZz09PSJnZXQifHxnPT09InBvc3QiKXt2YXIgaD1XcShhLGIsZixkLGUpO3ZjLnRlc3QoaCkmJihjLmFjdGlvbj1oKX19ZWxzZXtmb3IodmFyIGw9Yy5jaGlsZE5vZGVzfHxbXSxuPSExLHA9MDtwPGwubGVuZ3RoO3ArKyl7dmFyIHE9bFtwXTtpZihxLm5hbWU9PT1hKXtxLnNldEF0dHJpYnV0ZSgidmFsdWUiLGIpO249ITA7YnJlYWt9fWlmKCFuKXt2YXIgcj1CLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7ci5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKTtyLnNldEF0dHJpYnV0ZSgibmFtZSIsYSk7ci5zZXRBdHRyaWJ1dGUoInZhbHVlIixiKTtjLmFwcGVuZENoaWxkKHIpfX19fX0KZnVuY3Rpb24gRXEoYSl7dHJ5e3ZhciBiO2E6e2Zvcih2YXIgYz1hLGQ9MTAwO2MmJmQ+MDspe2lmKGMuaHJlZiYmYy5ub2RlTmFtZS5tYXRjaCgvXmEoPzpyZWEpPyQvaSkpe2I9YzticmVhayBhfWM9Yy5wYXJlbnROb2RlO2QtLX1iPW51bGx9dmFyIGU9YjtpZihlKXt2YXIgZj1lLnByb3RvY29sO2YhPT0iaHR0cDoiJiZmIT09Imh0dHBzOiJ8fFhxKGUsZS5ob3N0bmFtZSl9fWNhdGNoKGcpe319ZnVuY3Rpb24gRnEoYSl7dHJ5e3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJhY3Rpb24iKTtpZihiKXt2YXIgYz1MaihSaihiKSwiaG9zdCIpO1hxKGEsYyl9fWNhdGNoKGQpe319ZnVuY3Rpb24gYXIoYSxiLGMsZCl7RHEoKTt2YXIgZT1jPT09ImZyYWdtZW50Ij8yOjE7ZD0hIWQ7SHEoYSxiLGUsZCwhMSk7ZT09PTImJnNiKCJUQUdHSU5HIiwyMyk7ZCYmc2IoIlRBR0dJTkciLDI0KX0KZnVuY3Rpb24gYnIoYSxiKXtEcSgpO0hxKGEsW05qKEEubG9jYXRpb24sImhvc3QiLCEwKV0sYiwhMCwhMCl9ZnVuY3Rpb24gY3IoKXt2YXIgYT1CLmxvY2F0aW9uLmhvc3RuYW1lLGI9S3EuZXhlYyhCLnJlZmVycmVyKTtpZighYilyZXR1cm4hMTt2YXIgYz1iWzJdLGQ9YlsxXSxlPSIiO2lmKGMpe3ZhciBmPWMuc3BsaXQoIi8iKSxnPWZbMV07ZT1nPT09InMiP0tqKGZbMl0pfHwiIjpLaihnKXx8IiJ9ZWxzZSBpZihkKXtpZihkLmluZGV4T2YoInhuLS0iKT09PTApcmV0dXJuITE7ZT1kLnJlcGxhY2UoLy0vZywiLiIpLnJlcGxhY2UoL1wuXC4vZywiLSIpfXZhciBoPWEucmVwbGFjZShMcSwiIiksbD1lLnJlcGxhY2UoTHEsIiIpO3JldHVybiBoPT09bHx8VGIoaCwiLiIrbCl9ZnVuY3Rpb24gZHIoYSxiKXtyZXR1cm4gYT09PSExPyExOmF8fGJ8fGNyKCl9O3ZhciBlcj1mdW5jdGlvbihhKXt0aGlzLnZhbHVlPTA7dGhpcy52YWx1ZT1hPT09dm9pZCAwPzA6YX07ZXIucHJvdG90eXBlLnNldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXw9MTw8YX07dmFyIGZyPWZ1bmN0aW9uKGEsYil7Yjw9MHx8KGEudmFsdWV8PTE8PGItMSl9O2VyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX07ZXIucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKGEpe3RoaXMudmFsdWUmPX4oMTw8YSl9O2VyLnByb3RvdHlwZS5jbGVhckFsbD1mdW5jdGlvbigpe3RoaXMudmFsdWU9MH07ZXIucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZT09PWEudmFsdWV9O2Z1bmN0aW9uIGdyKGEpe2lmKGEpdHJ5e3JldHVybiBuZXcgVWludDhBcnJheShhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuY2hhckNvZGVBdCgwKX0pKX1jYXRjaChiKXt9fWZ1bmN0aW9uIGhyKGEsYil7dmFyIGM9MCxkPTAsZSxmPWI7ZG97aWYoZj49YS5sZW5ndGgpcmV0dXJuO2U9YVtmKytdO2N8PShlJjEyNyk8PGQ7ZCs9N313aGlsZShlJjEyOCk7cmV0dXJuW2MsZl19O2Z1bmN0aW9uIGlyKCl7dmFyIGE9U3RyaW5nLGI9QS5sb2NhdGlvbi5ob3N0bmFtZSxjPUEubG9jYXRpb24ucGF0aG5hbWUsZD1iPWJjKGIpO2Quc3BsaXQoIi4iKS5sZW5ndGg+MiYmKGQ9ZC5yZXBsYWNlKC9eKHd3d1swLTldKnx3ZWJ8ZnRwfHdhcHxob21lfG18d3xhbXB8bW9iaWxlKVwuLywiIikpO2I9ZDtjPWJjKGMpO3ZhciBlPWMuc3BsaXQoIjsiKVswXTtlPWUucmVwbGFjZSgvXC8oYXJ8c2xwfHdlYnxpbmRleCk/XC8/JC8sIiIpO3JldHVybiBhKG5nKCgiIitiK2UpLnRvTG93ZXJDYXNlKCkpKX07dmFyIGpyPVsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdO2Z1bmN0aW9uIGtyKGEsYil7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMiksMTA7aWYoYj09PW51bGx8fGI9PT12b2lkIDB8fGI9PT0iIilyZXR1cm4gc2IoIlRBR0dJTkciLDMzKSwxMTt2YXIgYz1scighMSk7aWYoYy5lcnJvciE9PTApcmV0dXJuIHNiKCJUQUdHSU5HIiwzNCksYy5lcnJvcjtpZighYy52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDM1KSwyO2MudmFsdWVbYV09Yjt2YXIgZD1tcihjKTtkIT09MCYmc2IoIlRBR0dJTkciLDM2KTtyZXR1cm4gZH0KZnVuY3Rpb24gbnIoYSl7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwyNykse2Vycm9yOjEwfTt2YXIgYj1scigpO2lmKGIuZXJyb3IhPT0wKXJldHVybiBzYigiVEFHR0lORyIsMjkpLGI7aWYoIWIudmFsdWUpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMCkse2Vycm9yOjJ9O2lmKCEoYSBpbiBiLnZhbHVlKSlyZXR1cm4gc2IoIlRBR0dJTkciLDMxKSx7dmFsdWU6dm9pZCAwLGVycm9yOjE1fTt2YXIgYz1iLnZhbHVlW2FdO3JldHVybiBjPT09bnVsbHx8Yz09PXZvaWQgMHx8Yz09PSIiPyhzYigiVEFHR0lORyIsMjgpLHt2YWx1ZTp2b2lkIDAsZXJyb3I6MTF9KTp7dmFsdWU6YyxlcnJvcjowfX0KZnVuY3Rpb24gb3IoYSl7aWYoYSl7dmFyIGI9bHIoITEpO2IuZXJyb3IhPT0wP3NiKCJUQUdHSU5HIiwzOCk6Yi52YWx1ZT9hIGluIGIudmFsdWU/KGRlbGV0ZSBiLnZhbHVlW2FdLG1yKGIpIT09MCYmc2IoIlRBR0dJTkciLDQxKSk6c2IoIlRBR0dJTkciLDQwKTpzYigiVEFHR0lORyIsMzkpfWVsc2Ugc2IoIlRBR0dJTkciLDM3KX0KZnVuY3Rpb24gbHIoYSl7YT1hPT09dm9pZCAwPyEwOmE7aWYoIUJsKGpyKSlyZXR1cm4gc2IoIlRBR0dJTkciLDQzKSx7ZXJyb3I6M307dHJ5e2lmKCFBLmxvY2FsU3RvcmFnZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQ0KSx7ZXJyb3I6MX19Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0NSkse2Vycm9yOjE0fX12YXIgYj17c2NoZW1hOiJnY2wiLHZlcnNpb246MX0sYz12b2lkIDA7dHJ5e2M9QS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX2djbF9scyIpfWNhdGNoKGYpe3JldHVybiBzYigiVEFHR0lORyIsNDYpLHtlcnJvcjoxM319dHJ5e2lmKGMpe3ZhciBkPUpTT04ucGFyc2UoYyk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0IiliPWQ7ZWxzZSByZXR1cm4gc2IoIlRBR0dJTkciLDQ3KSx7ZXJyb3I6MTJ9fX1jYXRjaChmKXtyZXR1cm4gc2IoIlRBR0dJTkciLDQ4KSx7ZXJyb3I6OH19aWYoYi5zY2hlbWEhPT0iZ2NsIilyZXR1cm4gc2IoIlRBR0dJTkciLDQ5KSx7ZXJyb3I6NH07CmlmKGIudmVyc2lvbiE9PTEpcmV0dXJuIHNiKCJUQUdHSU5HIiw1MCkse2Vycm9yOjV9O3RyeXt2YXIgZT1wcihiKTthJiZlJiZtcih7dmFsdWU6YixlcnJvcjowfSl9Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0OCkse2Vycm9yOjh9fXJldHVybnt2YWx1ZTpiLGVycm9yOjB9fQpmdW5jdGlvbiBwcihhKXtpZighYXx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZigiZXhwaXJlcyJpbiBhJiYidmFsdWUiaW4gYSl7dmFyIGI7dHlwZW9mIGEuZXhwaXJlcz09PSJudW1iZXIiP2I9YS5leHBpcmVzOmI9dHlwZW9mIGEuZXhwaXJlcz09PSJzdHJpbmciP051bWJlcihhLmV4cGlyZXMpOk5hTjtpZihpc05hTihiKXx8IShEYXRlLm5vdygpPD1iKSlyZXR1cm4gYS52YWx1ZT1udWxsLGEuZXJyb3I9OSxzYigiVEFHR0lORyIsNTQpLCEwfWVsc2V7Zm9yKHZhciBjPSExLGQ9bShPYmplY3Qua2V5cyhhKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpYz1wcihhW2UudmFsdWVdKXx8YztyZXR1cm4gY31yZXR1cm4hMX0KZnVuY3Rpb24gbXIoYSl7aWYoYS5lcnJvcilyZXR1cm4gYS5lcnJvcjtpZighYS52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQyKSwyO3ZhciBiPWEudmFsdWUsYzt0cnl7Yz1KU09OLnN0cmluZ2lmeShiKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUyKSw2fXRyeXtBLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJfZ2NsX2xzIixjKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUzKSw3fXJldHVybiAwfTt2YXIgcXI9e30scnI9KHFyLmdjbGlkPSEwLHFyLmRjbGlkPSEwLHFyLmdicmFpZD0hMCxxci53YnJhaWQ9ITAscXIpLHNyPS9eXHcrJC8sdHI9L15bXHctXSskLyx1cj17fSx2cj0odXIuYXc9IkZQR0NMQVciLHVyKSx3cj17fSx4cj0od3IuYWc9Il9hZyIsd3IuZ2I9Il9nYiIsd3IuYXc9Il9hdyIsd3IuZGM9Il9kYyIsd3IuZ2Y9Il9nZiIsd3IuaGE9Il9oYSIsd3IuZ3A9Il9ncCIsd3IuZ3M9Il9ncyIsd3IpLHlyPS9eKD86d3d3XC4pP2dvb2dsZSg/OlwuY29tPyk/KD86XC5bYS16XXsyfXQ/KT8kLyx6cj0vXnd3d1wuZ29vZ2xlYWRzZXJ2aWNlc1wuY29tJC87ZnVuY3Rpb24gQXIoKXtyZXR1cm5bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXX1mdW5jdGlvbiBCcihhKXtyZXR1cm4hWWYoNSl8fEJsKGEpfWZ1bmN0aW9uIENyKGEsYil7ZnVuY3Rpb24gYygpe3ZhciBkPUJyKGIpO2QmJmEoKTtyZXR1cm4gZH1IbChmdW5jdGlvbigpe2MoKXx8SWwoYyxiKX0sYil9CmZ1bmN0aW9uIERyKGEpe3JldHVybiBFcihhKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2NsaWR9KX1mdW5jdGlvbiBGcihhKXtyZXR1cm4gR3IoYSkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSkubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSl9ZnVuY3Rpb24gR3IoYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1IcihhLnByZWZpeCksZD1JcigiZ2IiLGMpLGU9SXIoImFnIixjKTtpZighZXx8IWQpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe24uemc9bDtyZXR1cm4gbn19LGc9RXIoZCxiKS5tYXAoZigiZ2IiKSksaD1KcihlKS5tYXAoZigiYWciKSk7cmV0dXJuIGcuY29uY2F0KGgpLnNvcnQoZnVuY3Rpb24obCxuKXtyZXR1cm4gbi50aW1lc3RhbXAtbC50aW1lc3RhbXB9KX0KZnVuY3Rpb24gS3IoYSxiLGMsZCxlKXt2YXIgZj1DYihhLGZ1bmN0aW9uKGcpe3JldHVybiBnLmdjbGlkPT09Yn0pO2Y/KGYudGltZXN0YW1wPGMmJihmLnRpbWVzdGFtcD1jLGYub2Q9ZSksZi5sYWJlbHM9THIoZi5sYWJlbHN8fFtdLGR8fFtdKSk6YS5wdXNoKHt2ZXJzaW9uOiIyIixnY2xpZDpiLHRpbWVzdGFtcDpjLGxhYmVsczpkLG9kOmV9KX1mdW5jdGlvbiBNcihhKXtmb3IodmFyIGI9d3EoYSw1KXx8W10sYz1bXSxkPW0oYiksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1mLGg9TnIoZik7aCYmS3IoYyxnLmssaCxnLmJ8fFtdLGYudSl9cmV0dXJuIGMuc29ydChmdW5jdGlvbihsLG4pe3JldHVybiBuLnRpbWVzdGFtcC1sLnRpbWVzdGFtcH0pfQpmdW5jdGlvbiBFcihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjPVtdO09yKGMsYSwxKTtpZihiKWlmKFRiKGEsIl9hdyIpKXt2YXIgZD1QcigpO2QmJihkLm9kPXZvaWQgMCxkLm9hPWQub2F8fFsyXSxRcihjLGQpKTtPcihjLCJnY2xfYXciLDIpfWVsc2UgVGIoYSwiX2diIikmJllmKDYpJiZPcihjLCJnY2xfZ2IiLDIpO2Muc29ydChmdW5jdGlvbihlLGYpe3JldHVybiBmLnRpbWVzdGFtcC1lLnRpbWVzdGFtcH0pO3JldHVybiBScihjKX1mdW5jdGlvbiBTcihhLGIpe2Zvcih2YXIgYz1bXSxkPW0oYSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Yy5pbmNsdWRlcyhmKXx8Yy5wdXNoKGYpfWZvcih2YXIgZz1tKGIpLGg9Zy5uZXh0KCk7IWguZG9uZTtoPWcubmV4dCgpKXt2YXIgbD1oLnZhbHVlO2MuaW5jbHVkZXMobCl8fGMucHVzaChsKX1yZXR1cm4gY30KZnVuY3Rpb24gUXIoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2Zvcih2YXIgZCxlLGY9bShhKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtpZihoLmdjbGlkPT09Yi5nY2xpZCl7ZD1oO2JyZWFrfWgucWEmJmIucWEmJmgucWEuZXF1YWxzKGIucWEpJiYoZT1oKX1pZihkKXt2YXIgbCxuLHA9KGw9ZC5xYSkhPW51bGw/bDpuZXcgZXIscT0obj1iLnFhKSE9bnVsbD9uOm5ldyBlcjtwLnZhbHVlfD1xLnZhbHVlO2QucWE9cDtkLnRpbWVzdGFtcDxiLnRpbWVzdGFtcCYmKGQudGltZXN0YW1wPWIudGltZXN0YW1wLGQub2Q9Yi5vZCk7ZC5sYWJlbHM9U3IoZC5sYWJlbHN8fFtdLGIubGFiZWxzfHxbXSk7ZC5vYT1TcihkLm9hfHxbXSxiLm9hfHxbXSl9ZWxzZSBjJiZlP25hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3QsZSxiKTphLnB1c2goYil9CmZ1bmN0aW9uIFRyKGEpe2lmKCFhKXJldHVybiBuZXcgZXI7dmFyIGI9bmV3IGVyO2lmKGE9PT0xKXJldHVybiBmcihiLDIpLGZyKGIsMyksYjtmcihiLGEpO3JldHVybiBifQpmdW5jdGlvbiBQcigpe3ZhciBhPW5yKCJnY2xpZCIpO2lmKCFhfHxhLmVycm9yfHwhYS52YWx1ZXx8dHlwZW9mIGEudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYj1hLnZhbHVlO3RyeXtpZighKCJ2YWx1ZSJpbiBiJiZiLnZhbHVlKXx8dHlwZW9mIGIudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYz1iLnZhbHVlLGQ9Yy52YWx1ZTtpZighZHx8IWQubWF0Y2godHIpKXJldHVybiBudWxsO3ZhciBlPWMubGlua0RlY29yYXRpb25Tb3VyY2UsZj1jLmxpbmtEZWNvcmF0aW9uU291cmNlcyxnPW5ldyBlcjt0eXBlb2YgZT09PSJudW1iZXIiP2c9VHIoZSk6dHlwZW9mIGY9PT0ibnVtYmVyIiYmKGcudmFsdWU9Zik7cmV0dXJue3ZlcnNpb246IiIsZ2NsaWQ6ZCx0aW1lc3RhbXA6TnVtYmVyKGMuY3JlYXRpb25UaW1lTXMpfHwwLGxhYmVsczpbXSxxYTpnLG9hOlsyXX19Y2F0Y2goaCl7cmV0dXJuIG51bGx9fQpmdW5jdGlvbiBVcihhKXt2YXIgYj1ucihhKTtpZihiLmVycm9yIT09MClyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGIudmFsdWUucmVkdWNlKGZ1bmN0aW9uKGMsZCl7aWYoIWQudmFsdWV8fHR5cGVvZiBkLnZhbHVlIT09Im9iamVjdCIpcmV0dXJuIGM7dmFyIGU9ZC52YWx1ZSxmPWUudmFsdWU7aWYoIWZ8fCFmLm1hdGNoKHRyKSlyZXR1cm4gYzt2YXIgZz1uZXcgZXIsaD1lLmxpbmtEZWNvcmF0aW9uU291cmNlczt0eXBlb2YgaD09PSJudW1iZXIiJiYoZy52YWx1ZT1oKTt2YXIgbDtjLnB1c2goe3ZlcnNpb246IiIsZ2NsaWQ6Zix0aW1lc3RhbXA6TnVtYmVyKGUuY3JlYXRpb25UaW1lTXMpfHwwLGV4cGlyZXM6TnVtYmVyKGQuZXhwaXJlcyl8fDAsbGFiZWxzOihsPWUubGFiZWxzKSE9bnVsbD9sOltdLHFhOmcsb2E6WzJdfSk7cmV0dXJuIGN9LFtdKX1jYXRjaChjKXtyZXR1cm4gbnVsbH19CmZ1bmN0aW9uIE9yKGEsYixjKXtpZihjPT09MSlmb3IodmFyIGQ9Y3EoYixCLmNvb2tpZSx2b2lkIDAsQXIoKSksZT1tKGQpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1WcihmLnZhbHVlLnNwbGl0KCIuIikpLGg9Zy5sZW5ndGg9PT0wP251bGw6e3ZlcnNpb246Z1swXSxnY2xpZDpnWzJdLHRpbWVzdGFtcDooTnVtYmVyKGdbMV0pfHwwKSoxRTMsbGFiZWxzOmcuc2xpY2UoMyl9O2ghPW51bGwmJihoLm9kPXZvaWQgMCxoLnFhPW5ldyBlcixoLm9hPVtjXSxRcihhLGgpKX1lbHNlIGlmKGM9PT0yKXt2YXIgbD1VcihiKTtpZihsKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3Eub2Q9dm9pZCAwO3Eub2E9cS5vYTtRcihhLHEpfX19CmZ1bmN0aW9uIFpyKGEpe3ZhciBiPUVyKGEpLGM9VXIoImdjbF9kYyIpO2lmKGMpZm9yKHZhciBkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Zi5vZD12b2lkIDA7Zi5vYT1mLm9hfHxbMl07UXIoYixmKX1iLnNvcnQoZnVuY3Rpb24oZyxoKXt2YXIgbD1nLm9hJiZnLm9hLmluY2x1ZGVzKDEpLG49aC5vYSYmaC5vYS5pbmNsdWRlcygxKTtyZXR1cm4gbCYmIW4/LTE6IWwmJm4/MTpoLnRpbWVzdGFtcC1nLnRpbWVzdGFtcH0pO3JldHVybiBScihiKX1mdW5jdGlvbiBKcihhKXtyZXR1cm4gTXIoYSkubWFwKGZ1bmN0aW9uKGIpe2IucWE9bmV3IGVyO2Iub2E9WzFdO3JldHVybiBifSl9CmZ1bmN0aW9uIExyKGEsYil7aWYoIWEubGVuZ3RoKXJldHVybiBiO2lmKCFiLmxlbmd0aClyZXR1cm4gYTt2YXIgYz17fTtyZXR1cm4gYS5jb25jYXQoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBjLmhhc093blByb3BlcnR5KGQpPyExOmNbZF09ITB9KX1mdW5jdGlvbiBIcihhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaChzcik/YToiX2djbCJ9ZnVuY3Rpb24gJHIoYSxiKXtpZihhKXt2YXIgYz17dmFsdWU6YSxxYTpuZXcgZXJ9O2ZyKGMucWEsYik7cmV0dXJuIGN9fQpmdW5jdGlvbiBhcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpO2lmKGImJighZnx8IWUpKXt2YXIgZz1kLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Z8fChmPSRyKElqKGcsImdjbGlkIiwhMSksMykpO2V8fChlPUlqKGcsImdjbHNyYyIsITEpKX1yZXR1cm4gZiYmKGU9PT12b2lkIDB8fGU9PT0iYXcifHxlPT09ImF3LmRzInx8WWYoOCkmJmU9PT0iYXcuZHYiKT9bZl06W119CmZ1bmN0aW9uIGJzKGEsYil7dmFyIGM9UmooYSksZD1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xpZCIpLGU9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2Nsc3JjIiksZj1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJ3YnJhaWQiKTtmPSRiKGYpO3ZhciBnPUxqKGMsInF1ZXJ5IiwhMSx2b2lkIDAsImdicmFpZCIpLGg9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpLGw9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKTtpZihiJiYhKGQmJmUmJmYmJmcpKXt2YXIgbj1jLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Q9ZHx8SWoobiwiZ2NsaWQiLCExKTtlPWV8fElqKG4sImdjbHNyYyIsITEpO2Y9Znx8SWoobiwid2JyYWlkIiwhMSk7Zz1nfHxJaihuLCJnYnJhaWQiLCExKTtoPWh8fElqKG4sImdhZF9zb3VyY2UiLCExKX1yZXR1cm4gY3MoZCxlLGwsZixnLGgpfQpmdW5jdGlvbiBkcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpLGc9JHIoTGooZCwicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKSxjPzQ6Mik7aWYoYiYmKCFlfHwhZikpe3ZhciBoPWQuaGFzaC5yZXBsYWNlKCIjIiwiIik7Znx8KGY9JHIoSWooaCwiZ2NsaWQiLCExKSwzKSk7ZXx8KGU9SWooaCwiZ2Nsc3JjIiwhMSkpfXJldHVybiBmJiZlJiYoZT09PSJhdy5kcyJ8fGU9PT0iYXcuZHYifHxlPT09IjNwLmRzInx8ZT09PSJkcyIpP1tmXTpnP1tnXTpbXX1mdW5jdGlvbiBlcygpe3JldHVybiBicyhBLmxvY2F0aW9uLmhyZWYsITApfQpmdW5jdGlvbiBjcyhhLGIsYyxkLGUsZil7dmFyIGc9e30saD1mdW5jdGlvbihsLG4pe2dbbl18fChnW25dPVtdKTtnW25dLnB1c2gobCl9O2cuZ2NsaWQ9YTtnLmdjbHNyYz1iO2cuZGNsaWQ9YztpZihhIT09dm9pZCAwJiZhLm1hdGNoKHRyKSlzd2l0Y2goYil7Y2FzZSB2b2lkIDA6aChhLCJhdyIpO2JyZWFrO2Nhc2UgImF3LmRzIjpoKGEsImF3Iik7aChhLCJkYyIpO2JyZWFrO2Nhc2UgImF3LmR2IjpZZig4KSYmKGgoYSwiYXciKSxoKGEsImRjIikpO2JyZWFrO2Nhc2UgImRzIjpoKGEsImRjIik7YnJlYWs7Y2FzZSAiM3AuZHMiOmgoYSwiZGMiKTticmVhaztjYXNlICJnZiI6aChhLCJnZiIpO2JyZWFrO2Nhc2UgImhhIjpoKGEsImhhIil9YyYmaChjLCJkYyIpO2QhPT12b2lkIDAmJnRyLnRlc3QoZCkmJihnLndicmFpZD1kLGgoZCwiZ2IiKSk7ZSE9PXZvaWQgMCYmdHIudGVzdChlKSYmKGcuZ2JyYWlkPWUsaChlLCJhZyIpKTtmIT09dm9pZCAwJiZ0ci50ZXN0KGYpJiYoZy5nYWRfc291cmNlPQpmLGgoZiwiZ3MiKSk7cmV0dXJuIGd9ZnVuY3Rpb24gZnMoKXtmb3IodmFyIGE9ZXMoKSxiPSEwLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpaWYoYVtkLnZhbHVlXSE9PXZvaWQgMCl7Yj0hMTticmVha31iJiYoYT1icyhBLmRvY3VtZW50LnJlZmVycmVyLCExKSxhLmdhZF9zb3VyY2U9dm9pZCAwKTtyZXR1cm4gYX1mdW5jdGlvbiBncyhhKXt2YXIgYj1mcygpO2hzKGIsITEsYSl9CmZ1bmN0aW9uIGlzKGEpe3ZhciBiPWFzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7Yi5sZW5ndGh8fChiPWFzKEEuZG9jdW1lbnQucmVmZXJyZXIsITEsITApKTthPWF8fHt9O2pzKGEpO2lmKGIubGVuZ3RoKXt2YXIgYz1iWzBdLGQ9TmIoKSxlPXVxKGEsZCwhMCksZj1BcigpLGc9ZnVuY3Rpb24oKXtCcihmKSYmZS5leHBpcmVzIT09dm9pZCAwJiZrcigiZ2NsaWQiLHt2YWx1ZTp7dmFsdWU6Yy52YWx1ZSxjcmVhdGlvblRpbWVNczpkLGxpbmtEZWNvcmF0aW9uU291cmNlczpjLnFhLmdldCgpfSxleHBpcmVzOk51bWJlcihlLmV4cGlyZXMpfSl9O0hsKGZ1bmN0aW9uKCl7ZygpO0JyKGYpfHxJbChnLGYpfSxmKX19CmZ1bmN0aW9uIGpzKGEpe3ZhciBiPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjtpZih5ci50ZXN0KGIpfHx6ci50ZXN0KGIpfHxrcygpKXt2YXIgYzthOntmb3IodmFyIGQ9UmooQS5sb2NhdGlvbi5ocmVmKSxlPUpqKExqKGQsInF1ZXJ5IikpLGY9bShPYmplY3Qua2V5cyhlKSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7aWYoIXJyW2hdKXt2YXIgbD1lW2hdWzBdfHwiIixuO2lmKCFsfHxsLmxlbmd0aDw1MHx8bC5sZW5ndGg+MjAwKW49ITE7ZWxzZXt2YXIgcD1ncihsKSxxO2lmKHApYzp7dmFyIHI9cDtpZihyJiZyLmxlbmd0aCE9PTApe3ZhciB0PTA7dHJ5e2Zvcih2YXIgdT0xMDt0PHIubGVuZ3RoJiYhKHUtLTw9MCk7KXt2YXIgdj1ocihyLHQpO2lmKHY9PT12b2lkIDApYnJlYWs7dmFyIHg9bSh2KSx5PXgubmV4dCgpLnZhbHVlLHo9eC5uZXh0KCkudmFsdWUsQz15LEQ9eixJPUMmNztpZihDPj4zPT09MTYzODIpe2lmKEkhPT0KMClicmVhazt2YXIgRz1ocihyLEQpO2lmKEc9PT12b2lkIDApYnJlYWs7cT1tKEcpLm5leHQoKS52YWx1ZT09PTE7YnJlYWsgY312YXIgTjtkOnt2YXIgUz12b2lkIDAsVz1yLGVhPUQ7c3dpdGNoKEkpe2Nhc2UgMDpOPShTPWhyKFcsZWEpKT09bnVsbD92b2lkIDA6U1sxXTticmVhayBkO2Nhc2UgMTpOPWVhKzg7YnJlYWsgZDtjYXNlIDI6dmFyIGphPWhyKFcsZWEpO2lmKGphPT09dm9pZCAwKWJyZWFrO3ZhciBmYT1tKGphKSxzYT1mYS5uZXh0KCkudmFsdWU7Tj1mYS5uZXh0KCkudmFsdWUrc2E7YnJlYWsgZDtjYXNlIDU6Tj1lYSs0O2JyZWFrIGR9Tj12b2lkIDB9aWYoTj09PXZvaWQgMHx8Tj5yLmxlbmd0aHx8Tjw9dClicmVhazt0PU59fWNhdGNoKG1hKXt9fXE9ITF9ZWxzZSBxPSExO249cX1pZihuKXtjPWw7YnJlYWsgYX19fWM9dm9pZCAwfXZhciBkYT1jO2RhJiZscygiZ2NsX2F3IixkYSw3LGEpfX0KZnVuY3Rpb24gbHMoYSxiLGMsZCl7bXMoYSxbe3ZlcnNpb246IiIsZ2NsaWQ6Yix0aW1lc3RhbXA6TmIoKSxxYTpUcihjKX1dLGQpfQpmdW5jdGlvbiBtcyhhLGIsYyl7Yz1jfHx7fTt2YXIgZD1BcigpLGU9ZnVuY3Rpb24oKXtpZihCcihkKSYmYi5sZW5ndGg+MCl7dmFyIGY9VXIoYSl8fFtdO2IuZm9yRWFjaChmdW5jdGlvbihnKXt2YXIgaD11cShjLGcudGltZXN0YW1wLCEwKTtoLmV4cGlyZXMhPT12b2lkIDAmJlFyKGYse3ZlcnNpb246IiIsZ2NsaWQ6Zy5nY2xpZCx0aW1lc3RhbXA6Zy50aW1lc3RhbXAsZXhwaXJlczpOdW1iZXIoaC5leHBpcmVzKSxxYTpnLnFhLGxhYmVsczpnLmxhYmVsc30sITApfSk7Zi5sZW5ndGgmJmtyKGEsZi5tYXAoZnVuY3Rpb24oZyl7dmFyIGg9e3ZhbHVlOmcuZ2NsaWQsY3JlYXRpb25UaW1lTXM6Zy50aW1lc3RhbXAsbGlua0RlY29yYXRpb25Tb3VyY2VzOmcucWE/Zy5xYS5nZXQoKTowfSxsO2lmKChsPWcubGFiZWxzKT09bnVsbD8wOmwubGVuZ3RoKWgubGFiZWxzPWcubGFiZWxzO3JldHVybnt2YWx1ZTpoLGV4cGlyZXM6TnVtYmVyKGcuZXhwaXJlcyl9fSkpfX07SGwoZnVuY3Rpb24oKXtCcihkKT8KZSgpOklsKGUsZCl9LGQpfQpmdW5jdGlvbiBocyhhLGIsYyxkLGUpe2M9Y3x8e307ZT1lfHxbXTt2YXIgZj1IcihjLnByZWZpeCksZz1kfHxOYigpLGg9TWF0aC5yb3VuZChnLzFFMyksbD1BcigpLG49ITEscD0hMSxxPVlmKDkpLHI9ZnVuY3Rpb24oKXtpZihCcihsKSl7dmFyIHQ9dXEoYyxnLCEwKTt0Lk1jPWw7Zm9yKHZhciB1PWZ1bmN0aW9uKFcsZWEpe3ZhciBqYT1JcihXLGYpO2phJiYob3EoamEsZWEsdCksVyE9PSJnYiImJihuPSEwKSl9LHY9ZnVuY3Rpb24oVyl7dmFyIGVhPVsiR0NMIixoLFddO2UubGVuZ3RoPjAmJmVhLnB1c2goZS5qb2luKCIuIikpO3JldHVybiBlYS5qb2luKCIuIil9LHg9bShbImF3IiwiZGMiLCJnZiIsImhhIiwiZ3AiXSkseT14Lm5leHQoKTsheS5kb25lO3k9eC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7YVt6XSYmdSh6LHYoYVt6XVswXSkpfWlmKCghbnx8cSkmJmEuZ2Ipe3ZhciBDPWEuZ2JbMF0sRD1JcigiZ2IiLGYpOyFiJiZFcihEKS5zb21lKGZ1bmN0aW9uKFcpe3JldHVybiBXLmdjbGlkPT09QyYmClcubGFiZWxzJiZXLmxhYmVscy5sZW5ndGg+MH0pfHx1KCJnYiIsdihDKSl9fWlmKCFwJiZhLmdicmFpZCYmQnIoImFkX3N0b3JhZ2UiKSYmKHA9ITAsIW58fHEpKXt2YXIgST1hLmdicmFpZCxHPUlyKCJhZyIsZik7aWYoYnx8IUpyKEcpLnNvbWUoZnVuY3Rpb24oVyl7cmV0dXJuIFcuZ2NsaWQ9PT1JJiZXLmxhYmVscyYmVy5sYWJlbHMubGVuZ3RoPjB9KSl7dmFyIE49e30sUz0oTi5rPUksTi5pPSIiK2gsTi5iPWUsTik7QXEoRyxTLDUsYyxnKX19bnMoYSxmLGcsYyl9O0hsKGZ1bmN0aW9uKCl7cigpO0JyKGwpfHxJbChyLGwpfSxsKX0KZnVuY3Rpb24gbnMoYSxiLGMsZCl7aWYoYS5nYWRfc291cmNlIT09dm9pZCAwJiZCcigiYWRfc3RvcmFnZSIpKXt2YXIgZT1xZCgpO2lmKGUhPT0iciImJmUhPT0iaCIpe3ZhciBmPWEuZ2FkX3NvdXJjZSxnPUlyKCJncyIsYik7aWYoZyl7dmFyIGg9TWF0aC5mbG9vcigoTmIoKS0ocGQoKXx8MCkpLzFFMyksbCxuPWlyKCkscD17fTtsPShwLms9ZixwLmk9IiIraCxwLnU9bixwKTtBcShnLGwsNSxkLGMpfX19fWZ1bmN0aW9uIG9zKGEsYixjKXtmb3IodmFyIGQ9d3EoYixjKSxlPTA7ZTxkLmxlbmd0aDsrK2UpaWYoTnIoZFtlXSk+YSlyZXR1cm4hMDtyZXR1cm4hMX0KZnVuY3Rpb24gcHMoYSl7dmFyIGI9cXMsYz1ycyhhLnByZWZpeCk7Q3IoZnVuY3Rpb24oKXtmb3IodmFyIGQ9SHIoYS5wcmVmaXgpLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPWNbZ107aWYoaCl7dmFyIGw9TWF0aC5taW4oc3MoaCksTmIoKSksbj11cShhLGwsITApO24uTWM9QXIoKTt2YXIgcD1JcihnLGQpO3AmJm9xKHAsaCxuKX19dmFyIHE9VXEoITApO2hzKGNzKHEuZ2NsaWQscS5nY2xzcmMpLCExLGEpfSxBcigpKX0KZnVuY3Rpb24gcnMoYSl7dmFyIGI9VXEoITApLGM9SHIoYSksZD17fSxlO2ZvcihlIGluIHhyKWlmKHhyLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1lLGc9SXIoZixjKTtpZihnIT09dm9pZCAwKXt2YXIgaD1iW2ddO2lmKGgpe3ZhciBsPXNzKGgpLG47YTp7Zm9yKHZhciBwPU1hdGgubWluKGwsTmIoKSl8fE5iKCkscT1jcShnLEIuY29va2llLHZvaWQgMCxBcigpKSxyPTA7cjxxLmxlbmd0aDsrK3IpaWYoc3MocVtyXSk+cCl7bj0hMDticmVhayBhfW49ITF9bnx8KGRbZl09aCl9fX1yZXR1cm4gZH0KZnVuY3Rpb24gdHMoYSl7dmFyIGI9WyJhZyJdLGM9VXEoITApLGQ9SHIoYS5wcmVmaXgpO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoZil7dmFyIGc9Y1tmXTtpZihnKXt2YXIgaD0kcChnLDUpO2lmKGgpe3ZhciBsPU5yKGgpO2x8fChsPU5iKCkpO2lmKG9zKGwsZiw1KSlicmVhaztoLmk9IiIrTWF0aC5yb3VuZChsLzFFMyk7QXEoZixoLDUsYSxsKX19fX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiBJcihhLGIpe3ZhciBjPXhyW2FdO2lmKGMhPT12b2lkIDApcmV0dXJuIGIrY31mdW5jdGlvbiBzcyhhKXtyZXR1cm4gVnIoYS5zcGxpdCgiLiIpKS5sZW5ndGghPT0wPyhOdW1iZXIoYS5zcGxpdCgiLiIpWzFdKXx8MCkqMUUzOjB9ZnVuY3Rpb24gTnIoYSl7cmV0dXJuIGE/KE51bWJlcihhLmkpfHwwKSoxRTM6MH0KZnVuY3Rpb24gVnIoYSl7cmV0dXJuIGEubGVuZ3RoPDN8fGFbMF0hPT0iR0NMIiYmYVswXSE9PSIxInx8IS9eXGQrJC8udGVzdChhWzFdKXx8IXRyLnRlc3QoYVsyXSk/W106YX1mdW5jdGlvbiB1cyhhLGIsYyxkKXt2YXIgZT1xcztpZihBcnJheS5pc0FycmF5KGEpJiZTcChBKSl7dmFyIGY9SHIoZCksZz1mdW5jdGlvbigpe2Zvcih2YXIgaD17fSxsPTA7bDxlLmxlbmd0aDsrK2wpe3ZhciBuPUlyKGVbbF0sZik7aWYobil7dmFyIHA9Y3EobixCLmNvb2tpZSx2b2lkIDAsQXIoKSk7cC5sZW5ndGgmJihoW25dPXAuc29ydCgpW3AubGVuZ3RoLTFdKX19cmV0dXJuIGh9O0NyKGZ1bmN0aW9uKCl7YXIoZyxhLGIsYyl9LEFyKCkpfX0KZnVuY3Rpb24gdnMoYSxiLGMpe3ZhciBkPXFzO2lmKFlmKDEzKSYmQXJyYXkuaXNBcnJheShhKSYmU3AoQSkpe3ZhciBlPWZ1bmN0aW9uKCl7Zm9yKHZhciBmPXt9LGc9MDtnPGQubGVuZ3RoOysrZyl7dmFyIGg9dnJbZFtnXV07aWYoaCl7dmFyIGw9Y3EoaCxCLmNvb2tpZSx2b2lkIDAsQXIoKSk7aWYobC5sZW5ndGgpe2Zvcih2YXIgbj12b2lkIDAscD0wLHE9bShsKSxyPXEubmV4dCgpOyFyLmRvbmU7cj1xLm5leHQoKSl7dmFyIHQ9ci52YWx1ZSx1PSRwKHQsNCk7aWYodSYmKHUubT09PSIxInx8WWYoMTYpKSl7dmFyIHY9TnIodSk7dj49cCYmKHA9dixuPXQpfX1uJiYoZltoXT1uKX19fXJldHVybiBmfTtDcihmdW5jdGlvbigpe2FyKGUsYSxiLGMpfSxBcigpKX19CmZ1bmN0aW9uIHdzKGEsYixjLGQpe2lmKEFycmF5LmlzQXJyYXkoYSkmJlNwKEEpKXt2YXIgZT1bImFnIl0sZj1IcihkKSxnPWZ1bmN0aW9uKCl7Zm9yKHZhciBoPXt9LGw9MDtsPGUubGVuZ3RoOysrbCl7dmFyIG49SXIoZVtsXSxmKTtpZighbilyZXR1cm57fTt2YXIgcD13cShuLDUpO2lmKHAubGVuZ3RoKXt2YXIgcT1wLnNvcnQoZnVuY3Rpb24ocix0KXtyZXR1cm4gTnIodCktTnIocil9KVswXTtoW25dPWFxKHEsNSl9fXJldHVybiBofTtDcihmdW5jdGlvbigpe2FyKGcsYSxiLGMpfSxbImFkX3N0b3JhZ2UiXSl9fWZ1bmN0aW9uIFJyKGEpe3JldHVybiBhLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gdHIudGVzdChiLmdjbGlkKX0pfQpmdW5jdGlvbiB4cyhhLGIpe2lmKFNwKEEpKXtmb3IodmFyIGM9SHIoYi5wcmVmaXgpLGQ9e30sZT0wO2U8YS5sZW5ndGg7ZSsrKXhyW2FbZV1dJiYoZFthW2VdXT14clthW2VdXSk7Q3IoZnVuY3Rpb24oKXtHYihkLGZ1bmN0aW9uKGYsZyl7dmFyIGg9Y3EoYytnLEIuY29va2llLHZvaWQgMCxBcigpKTtoLnNvcnQoZnVuY3Rpb24odCx1KXtyZXR1cm4gc3ModSktc3ModCl9KTtpZihoLmxlbmd0aCl7dmFyIGw9aFswXSxuPXNzKGwpLHA9VnIobC5zcGxpdCgiLiIpKS5sZW5ndGghPT0wP2wuc3BsaXQoIi4iKS5zbGljZSgzKTpbXSxxPXt9LHI7cj1WcihsLnNwbGl0KCIuIikpLmxlbmd0aCE9PTA/bC5zcGxpdCgiLiIpWzJdOnZvaWQgMDtxW2ZdPVtyXTtocyhxLCEwLGIsbixwKX19KX0sQXIoKSl9fQpmdW5jdGlvbiB5cyhhKXt2YXIgYj1bImFnIl0sYz1bImdicmFpZCJdO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUhyKGEucHJlZml4KSxlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoIWYpYnJlYWs7dmFyIGc9d3EoZiw1KTtpZihnLmxlbmd0aCl7dmFyIGg9Zy5zb3J0KGZ1bmN0aW9uKHEscil7cmV0dXJuIE5yKHIpLU5yKHEpfSlbMF0sbD1OcihoKSxuPWguYixwPXt9O3BbY1tlXV09aC5rO2hzKHAsITAsYSxsLG4pfX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiB6cyhhLGIpe2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKWlmKGFbYltjXV0pcmV0dXJuITA7cmV0dXJuITF9CmZ1bmN0aW9uIEFzKGEpe2Z1bmN0aW9uIGIoaCxsLG4pe24mJihoW2xdPW4pfWlmKEVsKCkpe3ZhciBjPWVzKCksZDthLmluY2x1ZGVzKCJnYWRfc291cmNlIikmJihkPWMuZ2FkX3NvdXJjZSE9PXZvaWQgMD9jLmdhZF9zb3VyY2U6VXEoITEpLl9ncyk7aWYoenMoYyxhKXx8ZCl7dmFyIGU9e307YihlLCJnY2xpZCIsYy5nY2xpZCk7YihlLCJkY2xpZCIsYy5kY2xpZCk7YihlLCJnY2xzcmMiLGMuZ2Nsc3JjKTtiKGUsIndicmFpZCIsYy53YnJhaWQpO2IoZSwiZ2JyYWlkIixjLmdicmFpZCk7YnIoZnVuY3Rpb24oKXtyZXR1cm4gZX0sMyk7dmFyIGY9e30sZz0oZi5fdXA9IjEiLGYpO2IoZywiX2dzIixkKTticihmdW5jdGlvbigpe3JldHVybiBnfSwxKX19fWZ1bmN0aW9uIGtzKCl7dmFyIGE9UmooQS5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gTGooYSwicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpfQpmdW5jdGlvbiBCcyhhKXtpZighWWYoMSkpcmV0dXJuIG51bGw7dmFyIGI9VXEoITApLmdhZF9zb3VyY2U7aWYoYiE9bnVsbClyZXR1cm4gQS5sb2NhdGlvbi5oYXNoPSIiLGI7aWYoWWYoMikpe2I9a3MoKTtpZihiIT1udWxsKXJldHVybiBiO3ZhciBjPWVzKCk7aWYoenMoYyxhKSlyZXR1cm4iMCJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQ3MoYSl7dmFyIGI9QnMoYSk7YiE9bnVsbCYmYnIoZnVuY3Rpb24oKXt2YXIgYz17fTtyZXR1cm4gYy5nYWRfc291cmNlPWIsY30sNCl9CmZ1bmN0aW9uIERzKGEsYixjKXt2YXIgZD1bXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIGQ7Zm9yKHZhciBlPXt9LGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXSxoPWcuemc/Zy56ZzoiZ2NsIjtpZigoZy5sYWJlbHN8fFtdKS5pbmRleE9mKGMpPT09LTEpe2EucHVzaCgwKTt2YXIgbD0hMSxuPXZvaWQgMDtpZigobj1nLm9hKT09bnVsbD8wOm4uaW5jbHVkZXMoMikpbD0hMDt2YXIgcD12b2lkIDA7KChwPWcub2EpPT1udWxsPzA6cC5pbmNsdWRlcygxKSkmJiFlW2hdJiYobD0hMCxlW2hdPSEwKTtsJiZkLnB1c2goZyl9ZWxzZXthLnB1c2goMSk7dmFyIHE9dm9pZCAwO2lmKChxPWcub2EpPT1udWxsPzA6cS5pbmNsdWRlcygxKSllW2hdPSEwfX1yZXR1cm4gZH0KZnVuY3Rpb24gRXMoYSxiLGMsZCxlKXtlPWU9PT12b2lkIDA/ITE6ZTt2YXIgZj1bXTtjPWN8fHt9O2lmKCFCcihBcigpKSlyZXR1cm4gZjt2YXIgZz1FcihhLGUpLGg9RHMoZixnLGIpO2lmKGgubGVuZ3RoJiYhZCl7Zm9yKHZhciBsPVtdLG49ITEscD1tKGgpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlLHQ9cix1PXQudmVyc2lvbix2PXQuZ2NsaWQseD10LnRpbWVzdGFtcCx5PXQub2Esej0odC5sYWJlbHN8fFtdKS5jb25jYXQoW2JdKSxDPXZvaWQgMDtpZigoKEM9eSk9PW51bGw/MDpDLmluY2x1ZGVzKDEpKSYmIW4pe3ZhciBEPVt1LE1hdGgucm91bmQoeC8xRTMpLHZdLmNvbmNhdCh6KS5qb2luKCIuIiksST11cShjLHgsITApO0kuTWM9QXIoKTtvcShhLEQsSSk7bj0hMH12YXIgRz12b2lkIDA7ZSYmKChHPXkpPT1udWxsPzA6Ry5pbmNsdWRlcygyKSkmJmwucHVzaChuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHIse2xhYmVsczp6fSkpfWwubGVuZ3RoJiYKbXMoImdjbF9nYiIsbCxjKX1yZXR1cm4gZn0KZnVuY3Rpb24gRnMoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3ZhciBkPVtdO2I9Ynx8e307dmFyIGU9R3IoYixjKSxmPURzKGQsZSxhKTtpZihmLmxlbmd0aCl7Zm9yKHZhciBnPVtdLGg9e30sbD1tKGYpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlLHE9SHIoYi5wcmVmaXgpLHI9SXIocC56ZyxxKTtpZighcilyZXR1cm4gZDt2YXIgdD1wLHU9dC52ZXJzaW9uLHY9dC5nY2xpZCx4PXQudGltZXN0YW1wLHk9dC5vYSx6PU1hdGgucm91bmQoeC8xRTMpLEM9THIodC5sYWJlbHN8fFtdLFthXSksRD12b2lkIDA7aWYoKEQ9eSk9PW51bGw/MDpELmluY2x1ZGVzKDEpKWlmKHAuemc9PT0iYWciJiYhaC5hZyl7dmFyIEk9e30sRz0oSS5rPXYsSS5pPSIiK3osSS5iPUMsSSk7QXEocixHLDUsYix4KTtoLmFnPSEwfWVsc2UgaWYocC56Zz09PSJnYiImJiFoLmdiKXt2YXIgTj1bdSx6LHZdLmNvbmNhdChDKS5qb2luKCIuIiksUz11cShiLHgsITApO1MuTWM9CkFyKCk7b3EocixOLFMpO2guZ2I9ITB9dmFyIFc9dm9pZCAwO2MmJigoVz15KT09bnVsbD8wOlcuaW5jbHVkZXMoMikpJiZnLnB1c2gobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxwLHtsYWJlbHM6Q30pKX1nLmxlbmd0aCYmbXMoImdjbF9nYiIsZyxiKX1yZXR1cm4gZH1mdW5jdGlvbiBHcyhhLGIpe3ZhciBjPUhyKGIpLGQ9SXIoYSxjKTtpZighZClyZXR1cm4gMDt2YXIgZTtlPWE9PT0iYWciP0pyKGQpOkVyKGQpO2Zvcih2YXIgZj0wLGc9MDtnPGUubGVuZ3RoO2crKylmPU1hdGgubWF4KGYsZVtnXS50aW1lc3RhbXApO3JldHVybiBmfWZ1bmN0aW9uIEhzKGEpe2Zvcih2YXIgYj0wLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZm9yKHZhciBlPWFbZC52YWx1ZV0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWI9TWF0aC5tYXgoYixOdW1iZXIoZVtmXS50aW1lc3RhbXApKTtyZXR1cm4gYn0KZnVuY3Rpb24gSXMoYSl7dmFyIGI9TWF0aC5tYXgoR3MoImF3IixhKSxIcyhCcihBcigpKT9ScCgpOnt9KSksYz1NYXRoLm1heChHcygiZ2IiLGEpLEhzKEJyKEFyKCkpP1JwKCJfZ2FjX2diIiwhMCk6e30pKTtjPU1hdGgubWF4KGMsR3MoImFnIixhKSk7cmV0dXJuIGM+Yn07dmFyIEpzPVJlZ0V4cCgiXlVBLVxcZCstXFxkKyUzQVtcXHctXSsoPzolMkNbXFx3LV0rKSooPzolM0JVQS1cXGQrLVxcZCslM0FbXFx3LV0rKD86JTJDW1xcdy1dKykqKSokIiksS3M9L15+P1tcdy1dKyg/Olwufj9bXHctXSspKiQvLExzPS9eXGQrXC5mbHNcLmRvdWJsZWNsaWNrXC5uZXQkLyxNcz0vO2dhYz0oW147P10rKS8sTnM9LztnYWNnYj0oW147P10rKS87CmZ1bmN0aW9uIE9zKGEsYil7aWYoTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpKXt2YXIgYz1CLmxvY2F0aW9uLmhyZWYubWF0Y2goYik7cmV0dXJuIGMmJmMubGVuZ3RoPT09MiYmY1sxXS5tYXRjaChKcyk/S2ooY1sxXSl8fCIiOiIifWZvcih2YXIgZD1bXSxlPW0oT2JqZWN0LmtleXMoYSkpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXtmb3IodmFyIGc9Zi52YWx1ZSxoPVtdLGw9YVtnXSxuPTA7bjxsLmxlbmd0aDtuKyspaC5wdXNoKGxbbl0uZ2NsaWQpO2QucHVzaChnKyI6IitoLmpvaW4oIiwiKSl9cmV0dXJuIGQubGVuZ3RoPjA/ZC5qb2luKCI7Iik6IiJ9CmZ1bmN0aW9uIFBzKGEsYixjKXtmb3IodmFyIGQ9QnIoQXIoKSk/UnAoIl9nYWNfZ2IiLCEwKTp7fSxlPVtdLGY9ITEsZz1tKE9iamVjdC5rZXlzKGQpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPUVzKCJfZ2FjX2diXyIrbCxhLGIsYyk7Zj1mfHxuLmxlbmd0aCE9PTAmJm4uc29tZShmdW5jdGlvbihwKXtyZXR1cm4gcD09PTF9KTtlLnB1c2gobCsiOiIrbi5qb2luKCIsIikpfXJldHVybntScjpmP2Uuam9pbigiOyIpOiIiLFFyOk9zKGQsTnMpfX1mdW5jdGlvbiBRcyhhKXt2YXIgYj1CLmxvY2F0aW9uLmhyZWYubWF0Y2gobmV3IFJlZ0V4cCgiOyIrYSsiPShbXjs/XSspIikpO3JldHVybiBiJiZiLmxlbmd0aD09PTImJmJbMV0ubWF0Y2goS3MpP2JbMV06dm9pZCAwfQpmdW5jdGlvbiBScyhhKXt2YXIgYj17fSxjLGQsZTtMcy50ZXN0KEIubG9jYXRpb24uaG9zdCkmJihjPVFzKCJnY2xncyIpLGQ9UXMoImdjbHN0IiksZT1RcygiZ2NsbHAiKSk7aWYoYyYmZCYmZSliLkVnPWMsYi5XaD1kLGIuVWg9ZTtlbHNle3ZhciBmPU5iKCksZz1NcigoYXx8Il9nY2wiKSsiX2dzIiksaD1nLm1hcChmdW5jdGlvbihwKXtyZXR1cm4gcC5nY2xpZH0pLGw9Zy5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIGYtcC50aW1lc3RhbXB9KSxuPWcubWFwKGZ1bmN0aW9uKHApe3JldHVybiBwLm9kfSk7aC5sZW5ndGg+MCYmbC5sZW5ndGg+MCYmbi5sZW5ndGg+MCYmKGIuRWc9aC5qb2luKCIuIiksYi5XaD1sLmpvaW4oIi4iKSxiLlVoPW4uam9pbigiLiIpKX1yZXR1cm4gYn0KZnVuY3Rpb24gU3MoYSxiKXt2YXIgYz1hLnNwbGl0KCIuIiksZD1iP2Iuc3BsaXQoIi4iKTpbXSxlPWQubGVuZ3RoPT09Yy5sZW5ndGg/ZDp2b2lkIDA7cmV0dXJuIGMubWFwKGZ1bmN0aW9uKGYsZyl7dmFyIGg9e2djbGlkOmZ9O2lmKGUpe3ZhciBsPWVbZ10uc3BsaXQoIl8iKTtpZihsLmxlbmd0aD09PTIpe2gucWE9bmV3IGVyKE51bWJlcihsWzBdKSk7dmFyIG47dmFyIHA9TnVtYmVyKGxbMV0pO2lmKHA9PT0wKW49WzBdO2Vsc2V7dmFyIHE9W107cCYxJiZxLnB1c2goMSk7cCYyJiZxLnB1c2goMik7cCY0JiZxLnB1c2goMyk7cCY4JiZxLnB1c2goNCk7cCYxNiYmcS5wdXNoKDUpO249cX1oLm9hPW59fXJldHVybiBofSl9CmZ1bmN0aW9uIFRzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO2lmKExzLnRlc3QoQi5sb2NhdGlvbi5ob3N0KSl7dmFyIGU9UXMoYyk7aWYoZSl7aWYoWWYoMTcpKXt2YXIgZj1RcyhjKyJfc3JjIik7cmV0dXJuIFNzKGUsZil9aWYoZCl7dmFyIGc9bmV3IGVyO2ZyKGcsMik7ZnIoZywzKTtyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpnLG9hOlsxXX19KX1yZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpuZXcgZXIsb2E6WzFdfX0pfX1lbHNle2lmKGI9PT0iZ2NsaWQiKXtmb3IodmFyIGg9RXIoKGF8fCJfZ2NsIikrIl9hdyIsZCksbD1OdW1iZXIoWGZbNF09PT12b2lkIDA/MDpYZls0XSksbj1tKFVzKCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3EudGltZXN0YW1wPmwmJlFyKGgscSl9cmV0dXJuIGh9aWYoYj09PSJ3YnJhaWQiKXJldHVybiBFcigoYXx8CiJfZ2NsIikrIl9nYiIsZCk7aWYoYj09PSJicmFpZHMiKXJldHVybiBHcih7cHJlZml4OmF9LGQpfXJldHVybltdfWZ1bmN0aW9uIFVzKCl7cmV0dXJuKHdxKHZyLmF3LDQpfHxbXSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLm09PT0iMSJ9KS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJue2djbGlkOmEuayx0aW1lc3RhbXA6TnVtYmVyKGEuaSksdmVyc2lvbjoiIixvYTpbNV19fSl9ZnVuY3Rpb24gVnMoYSl7Zm9yKHZhciBiPTAsYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO2U+MCYmKGJ8PTE8PGUtMSl9cmV0dXJuIGIudG9TdHJpbmcoKX1mdW5jdGlvbiBXcyhhKXtyZXR1cm4gTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpPyEoUXMoImdjbGF3Iil8fFFzKCJnYWMiKSk6SXMoYSl9CmZ1bmN0aW9uIFhzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlO2U9Yz9GcyhhLGIsZCk6RXMoKGImJmIucHJlZml4fHwiX2djbCIpKyJfZ2IiLGEsYix2b2lkIDAsZCk7cmV0dXJuIGUubGVuZ3RoPT09MHx8ZS5ldmVyeShmdW5jdGlvbihmKXtyZXR1cm4gZj09PTB9KT8iIjplLmpvaW4oIi4iKX07CnZhciBZcz1mdW5jdGlvbihhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1raigiYWRzX3BhZ2V2aWV3IixmdW5jdGlvbigpe3JldHVybnt9fSk7aWYoY1thXSlyZXR1cm4hMTtifHwoY1thXT0hMCk7cmV0dXJuITB9LFpzPWZ1bmN0aW9uKGEpe3JldHVybiBTaihhLCJnY2xpZCBkY2xpZCBnYnJhaWQgd2JyYWlkIGdjbGF3IGdjbGRjIGdjbGhhIGdjbGdmIGdjbGdiIF9nbCIuc3BsaXQoIiAiKSwiMCIpfSxhdD1mdW5jdGlvbigpe3ZhciBhPVJqKEEubG9jYXRpb24uaHJlZiksYj12b2lkIDAsYz12b2lkIDAsZD1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfc291cmNlIiksZT1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfY2FtcGFpZ25pZCIpLGYsZz1hLmhhc2gucmVwbGFjZSgiIyIsIiIpLm1hdGNoKCRzKTtmPWc/Z1sxXTp2b2lkIDA7ZCYmZj8oYj1kLGM9MSk6ZD8oYj1kLGM9Mik6ZiYmKGI9ZixjPTMpO3JldHVybntEZzpiLFNyOmMsVGg6ZX19LGJ0PWZ1bmN0aW9uKGEpe3ZhciBiPQpPcCghMSk9PT0xP0EudG9wLmxvY2F0aW9uLmhyZWY6QS5sb2NhdGlvbi5ocmVmO3JldHVybiBhKGIpfSxjdD1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZD1ScihkKTtmb3IodmFyIGU9W10sZj0wO2Y8ZC5sZW5ndGg7ZisrKWUucHVzaChkW2ZdLmdjbGlkKTtlLmxlbmd0aCYmYi5wdXNoKGMrIjoiK2Uuam9pbigiLCIpKX0pO3JldHVybiBiLmpvaW4oIjsiKX0sZXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWR0KGEpO2lmKGQpcmV0dXJuIGQ7dmFyIGU9SHIoYik7aWYoZT09PSJfZ2NsIil7dmFyIGY9IVhvKGZwKSYmYyxnPVtdO2E9PT0iYXciP2c9YXMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKTphPT09ImRjIiYmKGc9ZHMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKSk7aWYoZy5sZW5ndGg+MClyZXR1cm4gZj9be3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsZ2NsaWQ6IjAifV06Zy5tYXAoZnVuY3Rpb24obCl7cmV0dXJue3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsCmdjbGlkOmwudmFsdWUscWE6bC5xYSxvYTpbMV19fSl9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9hPT09ImF3Ij9FcihoLE0oNTYyKSk6WnIoaCk6W119LGR0PWZ1bmN0aW9uKGEpe3ZhciBiPVRqKCJnY2wiK2EpLGM9YT09PSJkYyJ8fGE9PT0iYXciP1RqKCJnY2wiK2ErIl9zcmMiKTp2b2lkIDA7aWYoYilyZXR1cm4gU3MoYixjKX0sZnQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT0iYXcifHxhPT09ImRjInx8YT09PSJnYiIpe3ZhciBkPVRqKCJnY2wiK2EpO2lmKGQpcmV0dXJuIGQuc3BsaXQoIi4iKX12YXIgZT1IcihiKTtpZihlPT09Il9nY2wiKXt2YXIgZj0hWG8oZnApJiZjLGc7Zz1lcygpW2FdfHxbXTtpZihnLmxlbmd0aD4wKXJldHVybiBmP1siMCJdOmd9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9EcihoKTpbXX0sZ3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKCFSKGEsYil8fCFSKGEsYykpcmV0dXJuIiI7dmFyIGQ9UihhLGIpLnNwbGl0KCIuIiksZT1SKGEsYykuc3BsaXQoIi4iKTtyZXR1cm4gZC5sZW5ndGgmJgplLmxlbmd0aCYmZC5sZW5ndGg9PT1lLmxlbmd0aCYmZFswXSYmZVswXT9kLm1hcChmdW5jdGlvbihmLGcpe3JldHVybiBmKyJfIitlW2ddfSkuam9pbigiLiIpOiIifSwkcz0vXmdhZF9zb3VyY2VbXz1dKFxkKykkLztmdW5jdGlvbiBodChhLGIsYyl7dmFyIGQ9UihhLEYuRC5UYSk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0Iilmb3IodmFyIGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWUsaD1kW2ddO2lmKGghPT12b2lkIDApe2g9PT1udWxsJiYoaD0iIik7dmFyIGw9ImdhcC4iK2csbj1TdHJpbmcoaCk7Yz9jKGwsbik6YltsXT1ufX19O3ZhciBpdD0hMSxqdD1bXTtmdW5jdGlvbiBrdCgpe2lmKCFpdCl7aXQ9ITA7Zm9yKHZhciBhPWp0Lmxlbmd0aC0xO2E+PTA7YS0tKWp0W2FdKCk7anQ9W119fTtmdW5jdGlvbiBsdChhKXt2YXIgYj1bXSxjPTAsZDtmb3IoZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtmdW5jdGlvbiBtdChhLGIsYyl7cmV0dXJuIHR5cGVvZiBhLmFkZEV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iPyhhLmFkZEV2ZW50TGlzdGVuZXIoYixjLCExKSwhMCk6ITF9ZnVuY3Rpb24gbnQoYSxiLGMpe3R5cGVvZiBhLnJlbW92ZUV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLCExKX07ZnVuY3Rpb24gb3QoYSxiLGMsZCl7ZD1kPT09dm9pZCAwPyExOmQ7YS5nb29nbGVfaW1hZ2VfcmVxdWVzdHN8fChhLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cz1bXSk7dmFyIGU9UHAoYS5kb2N1bWVudCk7aWYoYyl7dmFyIGY9ZnVuY3Rpb24oKXtpZihjKXt2YXIgZz1hLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cyxoPURjKGcsZSk7aD49MCYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGcsaCwxKX1udChlLCJsb2FkIixmKTtudChlLCJlcnJvciIsZil9O210KGUsImxvYWQiLGYpO210KGUsImVycm9yIixmKX1kJiYoZS5hdHRyaWJ1dGlvblNyYz0iIik7ZS5zcmM9YjthLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cy5wdXNoKGUpfQpmdW5jdGlvbiBwdChhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz0iaHR0cHM6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvZ2VuXzIwND9pZD10Y2ZlIjtJcChhLGZ1bmN0aW9uKGQsZSl7aWYoZHx8ZD09PTApYys9IiYiK2UrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpfSk7cXQoYyxiKX0KZnVuY3Rpb24gcXQoYSxiKXt2YXIgYz13aW5kb3csZDtiPWI9PT12b2lkIDA/ITE6YjtkPWQ9PT12b2lkIDA/ITE6ZDtpZihjLmZldGNoKXt2YXIgZT17a2VlcGFsaXZlOiEwLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixyZWRpcmVjdDoiZm9sbG93IixtZXRob2Q6ImdldCIsbW9kZToibm8tY29ycyJ9O2QmJihlLm1vZGU9ImNvcnMiLCJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGU/ZS5hdHRyaWJ1dGlvblJlcG9ydGluZz17ZXZlbnRTb3VyY2VFbGlnaWJsZToidHJ1ZSIsdHJpZ2dlckVsaWdpYmxlOiJmYWxzZSJ9OmUuaGVhZGVycz17IkF0dHJpYnV0aW9uLVJlcG9ydGluZy1FbGlnaWJsZSI6ImV2ZW50LXNvdXJjZSJ9KTtjLmZldGNoKGEsZSl9ZWxzZSBvdChjLGEsYj09PXZvaWQgMD8hMTpiLGQ9PT12b2lkIDA/ITE6ZCl9O2Z1bmN0aW9uIHJ0KCl7dGhpcy5mYT10aGlzLmZhO3RoaXMuUj10aGlzLlJ9cnQucHJvdG90eXBlLmZhPSExO3J0LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5mYXx8KHRoaXMuZmE9ITAsdGhpcy5OKCkpfTtydC5wcm90b3R5cGVbU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9O3J0LnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuZmE/YiE9PXZvaWQgMD9hLmNhbGwoYik6YSgpOih0aGlzLlJ8fCh0aGlzLlI9W10pLGImJihhPWEuYmluZChiKSksdGhpcy5SLnB1c2goYSkpfTtydC5wcm90b3R5cGUuTj1mdW5jdGlvbigpe2lmKHRoaXMuUilmb3IoO3RoaXMuUi5sZW5ndGg7KXRoaXMuUi5zaGlmdCgpKCl9O2Z1bmN0aW9uIHN0KGEpe2EuYWRkdGxDb25zZW50PT09dm9pZCAwfHx2ZihhLmFkZHRsQ29uc2VudCl8fChhLmFkZHRsQ29uc2VudD12b2lkIDApO2EuZ2RwckFwcGxpZXM9PT12b2lkIDB8fHdmKGEuZ2RwckFwcGxpZXMpfHwoYS5nZHByQXBwbGllcz12b2lkIDApO3JldHVybiBhLnRjU3RyaW5nIT09dm9pZCAwJiYhdmYoYS50Y1N0cmluZyl8fGEubGlzdGVuZXJJZCE9PXZvaWQgMCYmIXVmKGEubGlzdGVuZXJJZCk/MjphLmNtcFN0YXR1cyYmYS5jbXBTdGF0dXMhPT0iZXJyb3IiPzA6M312YXIgdHQ9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtydC5jYWxsKHRoaXMpO3RoaXMuSD1udWxsO3RoaXMuamE9e307dGhpcy55YT0wO3RoaXMuWj1udWxsO3RoaXMuSz1hO3ZhciBjO3RoaXMudGltZW91dE1zPShjPWIudGltZW91dE1zKSE9bnVsbD9jOjUwMDt2YXIgZDt0aGlzLkVqPShkPWIuRWopIT1udWxsP2Q6ITF9O3dhKHR0LHJ0KTsKdHQucHJvdG90eXBlLk49ZnVuY3Rpb24oKXt0aGlzLmphPXt9O3RoaXMuWiYmKG50KHRoaXMuSywibWVzc2FnZSIsdGhpcy5aKSxkZWxldGUgdGhpcy5aKTtkZWxldGUgdGhpcy5qYTtkZWxldGUgdGhpcy5LO2RlbGV0ZSB0aGlzLkg7cnQucHJvdG90eXBlLk4uY2FsbCh0aGlzKX07dmFyIHZ0PWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5LLl9fdGNmYXBpPT09ImZ1bmN0aW9uInx8dXQoYSkhPW51bGx9Owp0dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9e2ludGVybmFsQmxvY2tPbkVycm9yczp0aGlzLkVqfSxkPUhwKGZ1bmN0aW9uKCl7YShjKX0pLGU9MDt0aGlzLnRpbWVvdXRNcyE9PS0xJiYoZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSI7Yy5pbnRlcm5hbEVycm9yU3RhdGU9MTtkKCl9LHRoaXMudGltZW91dE1zKSk7dmFyIGY9ZnVuY3Rpb24oZyxoKXtjbGVhclRpbWVvdXQoZSk7Zz8oYz1nLGMuaW50ZXJuYWxFcnJvclN0YXRlPXN0KGMpLGMuaW50ZXJuYWxCbG9ja09uRXJyb3JzPWIuRWosaCYmYy5pbnRlcm5hbEVycm9yU3RhdGU9PT0wfHwoYy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsaHx8KGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpKSk6KGMudGNTdHJpbmc9InRjdW5hdmFpbGFibGUiLGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpO2EoYyl9O3RyeXt3dCh0aGlzLCJhZGRFdmVudExpc3RlbmVyIiwKZil9Y2F0Y2goZyl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsYy5pbnRlcm5hbEVycm9yU3RhdGU9MyxlJiYoY2xlYXJUaW1lb3V0KGUpLGU9MCksZCgpfX07dHQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7YSYmYS5saXN0ZW5lcklkJiZ3dCh0aGlzLCJyZW1vdmVFdmVudExpc3RlbmVyIixudWxsLGEubGlzdGVuZXJJZCl9Owp2YXIgenQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2Q9ZD09PXZvaWQgMD8iNzU1IjpkO3ZhciBlO2E6e2lmKGEucHVibGlzaGVyJiZhLnB1Ymxpc2hlci5yZXN0cmljdGlvbnMpe3ZhciBmPWEucHVibGlzaGVyLnJlc3RyaWN0aW9uc1tiXTtpZihmIT09dm9pZCAwKXtlPWZbZD09PXZvaWQgMD8iNzU1IjpkXTticmVhayBhfX1lPXZvaWQgMH12YXIgZz1lO2lmKGc9PT0wKXJldHVybiExO3ZhciBoPWM7Yz09PTI/KGg9MCxnPT09MiYmKGg9MSkpOmM9PT0zJiYoaD0xLGc9PT0xJiYoaD0wKSk7dmFyIGw7aWYoaD09PTApaWYoYS5wdXJwb3NlJiZhLnZlbmRvcil7dmFyIG49eHQoYS52ZW5kb3IuY29uc2VudHMsZD09PXZvaWQgMD8iNzU1IjpkKTtsPW4mJmI9PT0iMSImJmEucHVycG9zZU9uZVRyZWF0bWVudCYmYS5wdWJsaXNoZXJDQz09PSJDSCI/ITA6biYmeHQoYS5wdXJwb3NlLmNvbnNlbnRzLGIpfWVsc2UgbD0hMDtlbHNlIGw9aD09PTE/YS5wdXJwb3NlJiZhLnZlbmRvcj94dChhLnB1cnBvc2UubGVnaXRpbWF0ZUludGVyZXN0cywKYikmJnh0KGEudmVuZG9yLmxlZ2l0aW1hdGVJbnRlcmVzdHMsZD09PXZvaWQgMD8iNzU1IjpkKTohMDohMDtyZXR1cm4gbH0seHQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hKCFhfHwhYVtiXSl9LHd0PWZ1bmN0aW9uKGEsYixjLGQpe2N8fChjPWZ1bmN0aW9uKCl7fSk7dmFyIGU9YS5LO2lmKHR5cGVvZiBlLl9fdGNmYXBpPT09ImZ1bmN0aW9uIil7dmFyIGY9ZS5fX3RjZmFwaTtmKGIsMixjLGQpfWVsc2UgaWYodXQoYSkpe0F0KGEpO3ZhciBnPSsrYS55YTthLmphW2ddPWM7aWYoYS5IKXt2YXIgaD17fTthLkgucG9zdE1lc3NhZ2UoKGguX190Y2ZhcGlDYWxsPXtjb21tYW5kOmIsdmVyc2lvbjoyLGNhbGxJZDpnLHBhcmFtZXRlcjpkfSxoKSwiKiIpfX1lbHNlIGMoe30sITEpfSx1dD1mdW5jdGlvbihhKXtpZihhLkgpcmV0dXJuIGEuSDthLkg9TnAoYS5LLCJfX3RjZmFwaUxvY2F0b3IiKTtyZXR1cm4gYS5IfSxBdD1mdW5jdGlvbihhKXtpZighYS5aKXt2YXIgYj1mdW5jdGlvbihjKXtpZihjLnNvdXJjZT09PQphLkgpdHJ5e3ZhciBkO2Q9KHZmKGMuZGF0YSk/SlNPTi5wYXJzZShjLmRhdGEpOmMuZGF0YSkuX190Y2ZhcGlSZXR1cm47YS5qYVtkLmNhbGxJZF0oZC5yZXR1cm5WYWx1ZSxkLnN1Y2Nlc3MpfWNhdGNoKGUpe319O2EuWj1iO210KGEuSywibWVzc2FnZSIsYil9fSxCdD1mdW5jdGlvbihhKXtpZihhLmdkcHJBcHBsaWVzPT09ITEpcmV0dXJuITA7YS5pbnRlcm5hbEVycm9yU3RhdGU9PT12b2lkIDAmJihhLmludGVybmFsRXJyb3JTdGF0ZT1zdChhKSk7cmV0dXJuIGEuY21wU3RhdHVzPT09ImVycm9yInx8YS5pbnRlcm5hbEVycm9yU3RhdGUhPT0wP2EuaW50ZXJuYWxCbG9ja09uRXJyb3JzPyhwdCh7ZTpTdHJpbmcoYS5pbnRlcm5hbEVycm9yU3RhdGUpfSksITEpOiEwOmEuY21wU3RhdHVzIT09ImxvYWRlZCJ8fGEuZXZlbnRTdGF0dXMhPT0idGNsb2FkZWQiJiZhLmV2ZW50U3RhdHVzIT09InVzZXJhY3Rpb25jb21wbGV0ZSI/ITE6ITB9O3ZhciBDdD17MTowLDM6MCw0OjAsNzozLDk6MywxMDozfTtmdW5jdGlvbiBEdCgpe3JldHVybiBraigidGNmIixmdW5jdGlvbigpe3JldHVybnt9fSl9dmFyIEV0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0dChBLHt0aW1lb3V0TXM6LTF9KX07CmZ1bmN0aW9uIEZ0KCl7dmFyIGE9RHQoKSxiPUV0KCk7dnQoYikmJiFHdCgpJiYhSHQoKSYmUCgxMjQpO2lmKCFhLmFjdGl2ZSYmdnQoYikpe0d0KCkmJihhLmFjdGl2ZT0hMCxhLnB1cnBvc2VzPXt9LGEuY21wSWQ9MCxhLnRjZlBvbGljeVZlcnNpb249MCx0bCgpLmFjdGl2ZT0hMCxhLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIik7Y3AoKTt0cnl7Yi5hZGRFdmVudExpc3RlbmVyKGZ1bmN0aW9uKGMpe2lmKGMuaW50ZXJuYWxFcnJvclN0YXRlIT09MClJdChhKSxkcChbRi5ELmthLEYuRC5YYSxGLkQubWFdKSx0bCgpLmFjdGl2ZT0hMDtlbHNlIGlmKGEuZ2RwckFwcGxpZXM9Yy5nZHByQXBwbGllcyxhLmNtcElkPWMuY21wSWQsYS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9Yy5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGUsSHQoKSYmKGEuYWN0aXZlPSEwKSwhSnQoYyl8fEd0KCl8fEh0KCkpe2EudGNmUG9saWN5VmVyc2lvbj1jLnRjZlBvbGljeVZlcnNpb247dmFyIGQ7aWYoYy5nZHByQXBwbGllcz09PQohMSl7dmFyIGU9e30sZjtmb3IoZiBpbiBDdClDdC5oYXNPd25Qcm9wZXJ0eShmKSYmKGVbZl09ITApO2Q9ZTtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyl9ZWxzZSBpZihKdChjKSl7dmFyIGc9e30saDtmb3IoaCBpbiBDdClpZihDdC5oYXNPd25Qcm9wZXJ0eShoKSlpZihoPT09IjEiKXt2YXIgbCxuPWMscD17VXI6ITB9O3A9cD09PXZvaWQgMD97fTpwO2w9QnQobik/bi5nZHByQXBwbGllcz09PSExPyEwOm4udGNTdHJpbmc9PT0idGN1bmF2YWlsYWJsZSI/IXAuaWRwY0FwcGxpZXM6KHAuaWRwY0FwcGxpZXN8fG4uZ2RwckFwcGxpZXMhPT12b2lkIDB8fHAuVXIpJiYocC5pZHBjQXBwbGllc3x8dmYobi50Y1N0cmluZykmJm4udGNTdHJpbmcubGVuZ3RoKT96dChuLCIxIiwwKTohMDohMTtnWyIxIl09bH1lbHNlIGdbaF09enQoYyxoLEN0W2hdKTtkPWd9aWYoZCl7YS50Y1N0cmluZz1jLnRjU3RyaW5nfHwidGNlbXB0eSI7YS5wdXJwb3Nlcz1kO3ZhciBxPXt9LHI9KHFbRi5ELmthXT0KYS5wdXJwb3Nlc1siMSJdPyJncmFudGVkIjoiZGVuaWVkIixxKTthLmdkcHJBcHBsaWVzIT09ITA/KGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pLHRsKCkuYWN0aXZlPSEwKToocltGLkQuWGFdPWEucHVycG9zZXNbIjMiXSYmYS5wdXJwb3Nlc1siNCJdPyJncmFudGVkIjoiZGVuaWVkIix0eXBlb2YgYS50Y2ZQb2xpY3lWZXJzaW9uPT09Im51bWJlciImJmEudGNmUG9saWN5VmVyc2lvbj49ND9yW0YuRC5tYV09YS5wdXJwb3Nlc1siMSJdJiZhLnB1cnBvc2VzWyI3Il0/ImdyYW50ZWQiOiJkZW5pZWQiOmRwKFtGLkQubWFdKSxWbyhyLHtldmVudElkOjB9LHtnZHByQXBwbGllczphP2EuZ2RwckFwcGxpZXM6dm9pZCAwLHRjU3RyaW5nOkt0KCl8fCIifSkpfX1lbHNlIGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pfSl9Y2F0Y2goYyl7SXQoYSksZHAoW0YuRC5rYSxGLkQuWGEsRi5ELm1hXSksdGwoKS5hY3RpdmU9ITB9fX0KZnVuY3Rpb24gSXQoYSl7YS50eXBlPSJlIjthLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIn1mdW5jdGlvbiBKdChhKXtyZXR1cm4gYS5ldmVudFN0YXR1cz09PSJ0Y2xvYWRlZCJ8fGEuZXZlbnRTdGF0dXM9PT0idXNlcmFjdGlvbmNvbXBsZXRlInx8YS5ldmVudFN0YXR1cz09PSJjbXB1aXNob3duIn1mdW5jdGlvbiBHdCgpe3JldHVybiBBLmd0YWdfZW5hYmxlX3RjZl9zdXBwb3J0PT09ITB9ZnVuY3Rpb24gSHQoKXtyZXR1cm4gRHQoKS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9PT0hMH1mdW5jdGlvbiBLdCgpe3ZhciBhPUR0KCk7aWYoYS5hY3RpdmUpcmV0dXJuIGEudGNTdHJpbmd9ZnVuY3Rpb24gTHQoKXt2YXIgYT1EdCgpO2lmKGEuYWN0aXZlJiZhLmdkcHJBcHBsaWVzIT09dm9pZCAwKXJldHVybiBhLmdkcHJBcHBsaWVzPyIxIjoiMCJ9CmZ1bmN0aW9uIE10KGEpe2lmKCFDdC5oYXNPd25Qcm9wZXJ0eShTdHJpbmcoYSkpKXJldHVybiEwO3ZhciBiPUR0KCk7cmV0dXJuIGIuYWN0aXZlJiZiLnB1cnBvc2VzPyEhYi5wdXJwb3Nlc1tTdHJpbmcoYSldOiEwfTt2YXIgTnQ9W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV0sT3Q9e30sUHQ9KE90W0YuRC5rYV09MSxPdFtGLkQucmFdPTIsT3QpO2Z1bmN0aW9uIFF0KGEpe2lmKGE9PT12b2lkIDApcmV0dXJuIDA7c3dpdGNoKE8oYSxGLkQuUmMpKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICExOnJldHVybiAzO2RlZmF1bHQ6cmV0dXJuIDJ9fWZ1bmN0aW9uIFJ0KCl7cmV0dXJuKE0oMTgzKT9MZigxNikuc3BsaXQoIn4iKTpMZigxNykuc3BsaXQoIn4iKSkuaW5kZXhPZih6bSgpKSE9PS0xJiZIYy5nbG9iYWxQcml2YWN5Q29udHJvbD09PSEwfWZ1bmN0aW9uIFN0KGEpe2lmKFJ0KCkpcmV0dXJuITE7dmFyIGI9UXQoYSk7aWYoYj09PTMpcmV0dXJuITE7c3dpdGNoKENsKEYuRC5YYSkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2Nhc2UgNDpyZXR1cm4gYj09PTI7Y2FzZSAwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fQpmdW5jdGlvbiBUdCgpe3JldHVybiBFbCgpfHwhQmwoRi5ELmthKXx8IUJsKEYuRC5yYSl9ZnVuY3Rpb24gVXQoKXt2YXIgYT17fSxiO2ZvcihiIGluIFB0KVB0Lmhhc093blByb3BlcnR5KGIpJiYoYVtQdFtiXV09Q2woYikpO3JldHVybiJHMSIreWYoYVsxXXx8MCkreWYoYVsyXXx8MCl9dmFyIFZ0PXt9LFd0PShWdFtGLkQua2FdPTAsVnRbRi5ELnJhXT0xLFZ0W0YuRC5tYV09MixWdFtGLkQuWGFdPTMsVnQpO2Z1bmN0aW9uIFh0KGEpe3N3aXRjaChhKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICEwOnJldHVybiAzO2Nhc2UgITE6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19CmZ1bmN0aW9uIFl0KGEpe2Zvcih2YXIgYj0iMSIsYz0wO2M8TnQubGVuZ3RoO2MrKyl7dmFyIGQ9YixlLGY9TnRbY10sZz1BbC5kZWxlZ2F0ZWRDb25zZW50VHlwZXNbZl07ZT1nPT09dm9pZCAwPzA6V3QuaGFzT3duUHJvcGVydHkoZyk/MTJ8V3RbZ106ODt2YXIgaD10bCgpO2guYWNjZXNzZWRBbnk9ITA7dmFyIGw9aC5lbnRyaWVzW2ZdfHx7fTtlPWU8PDJ8WHQobC5pbXBsaWNpdCk7Yj1kKygiIisiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbZV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW1h0KGwuZGVjbGFyZSk8PDR8WHQobC5kZWZhdWx0KTw8MnxYdChsLnVwZGF0ZSldKX12YXIgbj1iLHA9KFJ0KCk/MTowKTw8MyxxPShFbCgpPzE6MCk8PDIscj1RdChhKTtiPW4rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW3B8CnF8cl07cmV0dXJuIGIrPSIiKyIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIltBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9zdG9yYWdlPDw0fEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFuYWx5dGljc19zdG9yYWdlPDwyfEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFkX3VzZXJfZGF0YV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iWyhBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM/MTowKTw8MnxBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9wZXJzb25hbGl6YXRpb25dfWZ1bmN0aW9uIFp0KCl7cmV0dXJuIEJsKEYuRC5tYSk/ImEiOiItIn1mdW5jdGlvbiAkdCgpe3JldHVybiBCbSgpfHwoR3QoKXx8SHQoKSkmJkx0KCk9PT0iMSI/IjEiOiIwIn0KZnVuY3Rpb24gYXUoKXtyZXR1cm4oQm0oKT8hMDohKCFHdCgpJiYhSHQoKSkmJkx0KCk9PT0iMSIpfHwhQmwoRi5ELm1hKX0KZnVuY3Rpb24gYnUoKXt2YXIgYT0iMCIsYj0iMCIsYzt2YXIgZD1EdCgpO2M9ZC5hY3RpdmU/ZC5jbXBJZDp2b2lkIDA7dHlwZW9mIGM9PT0ibnVtYmVyIiYmYz49MCYmYzw9NDA5NSYmKGE9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2M+PjYmNjNdLGI9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2MmNjNdKTt2YXIgZT0iMCIsZjt2YXIgZz1EdCgpO2Y9Zy5hY3RpdmU/Zy50Y2ZQb2xpY3lWZXJzaW9uOnZvaWQgMDt0eXBlb2YgZj09PSJudW1iZXIiJiZmPj0wJiZmPD02MyYmKGU9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2ZdKTt2YXIgaD0wO0JtKCkmJihofD0xKTtMdCgpPT09IjEiJiYoaHw9Mik7R3QoKSYmKGh8PTQpO3ZhciBsO3ZhciBuPUR0KCk7bD1uLmVuYWJsZUFkdmVydGlzZXJDb25zZW50TW9kZSE9PQp2b2lkIDA/bi5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU/IjEiOiIwIjp2b2lkIDA7bD09PSIxIiYmKGh8PTgpO3RsKCkud2FpdFBlcmlvZFRpbWVkT3V0JiYoaHw9MTYpO3JldHVybiIxIithK2IrZSsiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbaF19O3ZhciBjdT17VUE6MSxBVzoyLERDOjMsRzo0LEdGOjUsR1Q6MTIsR1RNOjE0LEhBOjYsTUM6N307CmZ1bmN0aW9uIGR1KGEpe2E9YT09PXZvaWQgMD97fTphO3ZhciBiPUUoNSkuc3BsaXQoIi0iKVswXS50b1VwcGVyQ2FzZSgpLGMsZD17Y3RpZDpFKDUpLERvOkpmKDE1KSxJbzpFKDE0KSxMczpJZig3KT8yOjEsRHQ6YS5wZixjYW5vbmljYWxJZDpFKDYpLG50OihjPUFrKCkpPT1udWxsP3ZvaWQgMDpjLmNhbm9uaWNhbENvbnRhaW5lcklkLEV0OmEuVGc9PT12b2lkIDA/dm9pZCAwOmEuVGc/MTA6MTJ9O2QuY2Fub25pY2FsSWQhPT1hLm1jJiYoZC5tYz1hLm1jKTt2YXIgZT14aygpO2QuVXM9ZT9lLmNhbm9uaWNhbENvbnRhaW5lcklkOnZvaWQgMDtJZig0NSk/KGQuaGk9Y3VbYl0sZC5oaXx8KGQuaGk9MCkpOmQuaGk9RGo/MTM6MTA7SWYoNDcpPyhkLmJrPTAsZC5xcj0yKTpJZig1MCk/ZC5iaz0xOmQuYms9Mzt2YXIgZj1hLGc9ezY6ITF9O0pmKDU0KT09PTI/Z1s3XT0hMDpKZig1NCk9PT0xJiYoZ1syXT0hMCk7aWYoS2Mpe3ZhciBoPUxqKFJqKEtjKSwiaG9zdCIpO2gmJihnWzhdPQpoLm1hdGNoKC9eKHd3d1wuKT9nb29nbGV0YWdtYW5hZ2VyXC5jb20kLyk9PT1udWxsKX12YXIgbDtnWzldPShsPWYuZWYpIT1udWxsP2w6ITE7dmFyIG49RmsoKSxwO2dbMTBdPShwPW49PW51bGw/dm9pZCAwOm4uZnJvbUNvbnRhaW5lckV4ZWN1dGlvbikhPW51bGw/cDohMTtkLnpyPWc7cmV0dXJuIENmKGQsYS5Qbil9Owp2YXIgZnU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9bShldShhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWUsZj1SKGEsZSksZz1RKGEsSC5KLlllKTtNKDU4OSkmJmcmJihlPT09Ri5ELnphfHxlPT09Ri5ELlVhfHxlPT09Ri5ELlBlKSYmdHlwZW9mIGY9PT0ic3RyaW5nIiYmKGY9WnMoZikpO3ZhciBoPW9wKGUsZik7aCYmKCFnfHxlIT09Ri5ELkRkJiZlIT09Ri5ELktkJiZlIT09Ri5ELkVlJiZlIT09Ri5ELkJmfHwoaC52YWx1ZT0iMCIpLE0oNTA0KSYmKGU9PT1GLkQuTWQ/aC5rZXk9ImV2bmlkIjplPT09Ri5ELk5kJiYoaC5rZXk9ImV4Y2lkIikpLGJbaC5rZXldPWgudmFsdWUpfWIuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxUZzphLk0uaXNHdG1FdmVudCxlZjpRKGEsSC5KLkNjKX0pO1R0KCkmJihiLmdjcz1iLmdjc3x8VXQoKSk7Yi5nY2Q9Yi5nY2R8fFl0KGEuTSk7YXUoKSYmKGIuZG1hX2Nwcz1adCgpKTtiLmRtYT0kdCgpO3Z0KEV0KCkpJiYKKGIudGNmZD1idSgpKTt2YXIgbD1DcChhKTtsJiYoYi50YWdfZXhwPWwpO2lmKFEoYSxILkouQmspKXtiLnRmdD1TdHJpbmcoTmIoKSk7dmFyIG49cGQoKTtuIT09dm9pZCAwJiYoYi50ZmQ9U3RyaW5nKE1hdGgucm91bmQobikpKX1iLmFwdmU9IjEiO2IuYXB2Zj1uZCgpPyJmIjoibmYiO2ZvLkhbY28uaWEuY2JdIT09Ym8uTWEuVWV8fGZvLktbY28uaWEuY2JdLmlzQ29uc2VudEdyYW50ZWQoKXx8KGIubGltaXRlZF9hZHM9IjEiKTt2YXIgcD1RKGEsSC5KLlhnKTtNKDQ3NCkmJnAhPW51bGwmJnAhPT0iIiYmKGIuX2dzaWQ9cCk7aHQoYSxiLGZ1bmN0aW9uKHEscil7YltxXT1lbmNvZGVVUklDb21wb25lbnQocil9KTtyZXR1cm4gYn07dmFyIGd1PWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5lbmRwb2ludD1hO3RoaXMuZmE9Yzt0aGlzLmphPWQ7dGhpcy5wYXJhbWV0ZXJFbmNvZGluZz1lO3RoaXMuWj1iLnNsaWNlKCl9O2d1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7cmV0dXJuIFhvKHRoaXMuWil9O2d1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtndS5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3ZhciBhPU1tW3RoaXMuZW5kcG9pbnRdKHZvaWQgMCk7cmV0dXJuIFNiKGEsImh0dHBzOi8vIik/YS5zdWJzdHJpbmcoOCk6U2IoYSwiaHR0cDovLyIpP2Euc3Vic3RyaW5nKDcpOmF9O3ZhciBodT1mdW5jdGlvbihhLGIpe3RoaXMubWV0aG9kTmFtZT1hO3RoaXMuUj1ifTtodS5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMuaXNTdXBwb3J0ZWQoKSlpZigoYz09bnVsbD92b2lkIDA6Yy5ib2R5KT09PXZvaWQgMHx8dGhpcy5IKCkpdHJ5e3RoaXMuSyhhLGIsYyl9Y2F0Y2goZCl7YS5yZChkKX1lbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgZG9lcyBub3Qgc3VwcG9ydCBhIHJlcXVlc3QgYm9keS4iKTtlbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgaXMgbm90IHN1cHBvcnRlZC4iKX07dmFyIGl1PWZ1bmN0aW9uKCl7aHUuY2FsbCh0aGlzLCJJbWFnZVBpeGVsIiwzKX07d2EoaXUsaHUpO2l1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtpdS5wcm90b3R5cGUuSD1mdW5jdGlvbigpe3JldHVybiExfTsKaXUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe1pjKGIsZnVuY3Rpb24oKXthLmpmKCl9LGZ1bmN0aW9uKCl7YS5vbkZhaWx1cmUodm9pZCAwKX0sYz09bnVsbD92b2lkIDA6Yy5hZil9O3ZhciBqdT1mdW5jdGlvbigpe2h1LmNhbGwodGhpcywiU2VuZEJlYWNvbiIsMSl9O3dhKGp1LGh1KTtqdS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2QoKX07anUucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07anUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe2pkKGIsYz09bnVsbD92b2lkIDA6Yy5ib2R5KT9hLmpmKCk6YS5yZCh2b2lkIDApfTt2YXIga3U9ZnVuY3Rpb24oKXtodS5jYWxsKHRoaXMsIkZldGNoIiwxKX07d2Eoa3UsaHUpO2t1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiB5YihBLmZldGNoKX07a3UucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Cmt1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtBLmZldGNoKGIsYz09bnVsbD92b2lkIDA6Yy5HYikudGhlbihmdW5jdGlvbihkKXtpZihkLm9rKWEucGUoZCk7ZWxzZSBpZihkLnN0YXR1cz09PTApYS5qZigpO2Vsc2UgYS5vbkZhaWx1cmUoIkZldGNoIGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICIrZC5zdGF0dXMrIi4iKX0pLmNhdGNoKGZ1bmN0aW9uKGQpe2EucmQoZCl9KX07dmFyIGx1PW5ldyBpdSxtdT1uZXcganUsbnU9bmV3IGt1O3ZhciBvdT1mdW5jdGlvbigpe307b3UucHJvdG90eXBlLks9ZnVuY3Rpb24oKXtyZXR1cm5bXX07CnZhciBwdT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXTpiO2d1LmNhbGwodGhpcyxhLGIsMSwhMCwyKX07d2EocHUsZ3UpO3B1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe2lmKHRoaXMuWi5sZW5ndGgpe3ZhciBiPVEoYSxILkouRGspO2lmKGIhPT12b2lkIDApcmV0dXJuIGJ9cmV0dXJuIGd1LnByb3RvdHlwZS5LLmNhbGwodGhpcyxhKX07cHUucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdShhKTthLnRhcmdldC5kZXN0aW5hdGlvbklkJiYoYy50aWQ9YS50YXJnZXQuZGVzdGluYXRpb25JZCk7Yi5tZXRob2QgaW5zdGFuY2VvZiBrdT9jLmZtdD0iOCI6Yi5tZXRob2QgaW5zdGFuY2VvZiBqdT9jLmZtdD0iNSI6Yi5tZXRob2QgaW5zdGFuY2VvZiBpdSYmKGMuZm10PSIzIik7cmV0dXJuIGN9O3B1LnByb3RvdHlwZS55YT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTihhLGIpO3JldHVybiI/IitPYmplY3Qua2V5cyhjKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQrCiI9IitjW2RdfSkuam9pbigiJiIpfTtwdS5wcm90b3R5cGUuSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy55YShhLGIpLGU9e307aWYoYi5tZXRob2QgaW5zdGFuY2VvZiBrdSl7ZS5HYj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGxkKTtpZih0aGlzLmVuZHBvaW50PT09NTh8fHRoaXMuZW5kcG9pbnQ9PT01NyllLkdiLm1ldGhvZD0iR0VUIjt0aGlzLmVuZHBvaW50IT09NDV8fHF1LksoYSl8fChlLkdiLmNyZWRlbnRpYWxzPSJvbWl0IixkKz0iJmdhcC51Y2ZiPTEiKX1jKGQsZSl9O3ZhciBxdT1uZXcgcHUoNDUpLHJ1PW5ldyBwdSg0NSxbXSksc3U9bmV3IHB1KDQ2LFtdKSx0dT1mdW5jdGlvbigpe3B1LmNhbGwodGhpcyw2OSl9O3dhKHR1LHB1KTt0dS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oYSl7dmFyIGI9TSg0NzQpJiYoISFSKGEsIl9nc2lkIil8fCEhUShhLEguSi5YZykpLGM9UihhLEYuRC5IZCkhPT0iMSImJighIVIoYSwiZ2NsaWQiKXx8CiEhUihhLCJkY2xpZCIpfHwhIVIoYSwiZ2Nsc3JjIil8fCEhUihhLCJhdWlkIikpO3JldHVybiBifHxjfTt0dS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1KGEpLGQ9bHAoYSxjKXx8e307T2JqZWN0LmtleXMoZCkubGVuZ3RoPjAmJihiLm1ldGhvZCBpbnN0YW5jZW9mIGt1P2QuZm10PSI4IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGp1P2QuZm10PSI1IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGl1JiYoZC5mbXQ9IjMiKSk7cmV0dXJuIGR9O3ZhciB1dT1uZXcgdHUsdnU9ZnVuY3Rpb24oKXtwdS5jYWxsKHRoaXMsNDUpfTt3YSh2dSxwdSk7dnUucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2cvZC9jY20vY29sbGVjdCJ9O3Z1LnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9cHUucHJvdG90eXBlLk4uY2FsbCh0aGlzLGEsYik7Y1siZ2FwLjFwZmIiXT0iMSI7cmV0dXJuIGN9O3ZhciB3dT1mdW5jdGlvbihhKXtwdS5jYWxsKHRoaXMsYSxbImFkX3N0b3JhZ2UiLAoiYWRfdXNlcl9kYXRhIl0pfTt3YSh3dSxwdSk7d3UucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1wdS5wcm90b3R5cGUuTi5jYWxsKHRoaXMsYSxiKTtyZXR1cm4gaHAoYyl9O3ZhciB4dT1uZXcgd3UoNTgpLHl1PW5ldyB3dSg1NyksenU9ZnVuY3Rpb24oKXt9O3dhKHp1LG91KTt6dS5wcm90b3R5cGUuSD1mdW5jdGlvbihhKXt2YXIgYj1xdS5LKGEpLGM9Yj9xdTpzdSxkPVt7ZW5kcG9pbnQ6YyxtZXRob2Q6bmQoKT9udTptdX0se2VuZHBvaW50OmMsbWV0aG9kOmx1fV07Yj9NKDUxNykmJklmKDQ3KSYmZC5wdXNoKHtlbmRwb2ludDpuZXcgdnUsbWV0aG9kOm51fSk6TSg2MDApJiZkLnB1c2goe2VuZHBvaW50OnJ1LG1ldGhvZDpudX0pO3JldHVybiBkfTt6dS5wcm90b3R5cGUuSz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPSEhUShhLEguSi52ZCksZD1SKGEsRi5ELlBkKT09PSIxIixlPVIoYSxGLkQuSGQpPT09IjEiLGY9cXUuSyhhKSxnPWMmJmQmJiFlJiZmO2lmKGcpe3ZhciBoPQpRYygpfHxPYygpP3h1Onl1O2IucHVzaChbe2VuZHBvaW50OmgsbWV0aG9kOm51fSx7ZW5kcG9pbnQ6aCxtZXRob2Q6bHV9XSl9ZiYmKGd8fFEoYSxILkouaGQpKSYmYi5wdXNoKFt7ZW5kcG9pbnQ6dXUsbWV0aG9kOm5kKCk/bnU6bHV9XSk7cmV0dXJuIGJ9O3ZhciBBdT1uZXcgenU7dmFyIFQ9e1c6e0prOjEsbmo6MixGazozLG1sOjQsR2s6NSx5ZDo2LGtsOjcsTXE6OCxxbjo5LEhrOjEwLElrOjExLEZoOjEyLERtOjEzLEFtOjE0LENtOjE1LHptOjE2LEJtOjE3LHltOjE4LFRvOjE5LHhxOjIwLHlxOjIxLGZqOjIyLHVuOjI0LE9tOjI1LFNrOjI2LFRrOjI3LFJrOjI4LFVrOjI5LHJqOjMwLE9rOjMxLFpvOjMyfX07VC5XW1QuVy5Ka109IkFMTE9XX0lOVEVSRVNUX0dST1VQUyI7VC5XW1QuVy5ual09IlNFUlZFUl9DT05UQUlORVJfVVJMIjtULldbVC5XLkZrXT0iQURTX0RBVEFfUkVEQUNUSU9OIjtULldbVC5XLm1sXT0iQ1VTVE9NRVJfTElGRVRJTUVfVkFMVUUiO1QuV1tULlcuR2tdPSJBTExPV19DVVNUT01fU0NSSVBUUyI7VC5XW1QuVy55ZF09IkFOWV9DT09LSUVfUEFSQU1TIjtULldbVC5XLmtsXT0iQ09PS0lFX0VYUElSRVMiO1QuV1tULlcuTXFdPSJMRUdBQ1lfRU5IQU5DRURfQ09OVkVSU0lPTl9KU19WQVJJQUJMRSI7VC5XW1QuVy5xbl09IlJFU1RSSUNURURfREFUQV9QUk9DRVNTSU5HIjsKVC5XW1QuVy5Ia109IkFMTE9XX0RJU1BMQVlfRkVBVFVSRVMiO1QuV1tULlcuSWtdPSJBTExPV19HT09HTEVfU0lHTkFMUyI7VC5XW1QuVy5GaF09IkdFTkVSQVRFRF9UUkFOU0FDVElPTl9JRCI7VC5XW1QuVy5EbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOS05PV04iO1QuV1tULlcuQW1dPSJGTE9PRExJR0hUX0NPVU5USU5HX01FVEhPRF9TVEFOREFSRCI7VC5XW1QuVy5DbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOSVFVRSI7VC5XW1QuVy56bV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1BFUl9TRVNTSU9OIjtULldbVC5XLkJtXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfVFJBTlNBQ1RJT05TIjtULldbVC5XLnltXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfSVRFTVNfU09MRCI7VC5XW1QuVy5Ub109IkFEU19PR1RfVjFfVVNBR0UiO1QuV1tULlcueHFdPSJGT1JNX0lOVEVSQUNUSU9OX1BFUk1JU1NJT05fREVOSUVEIjsKVC5XW1QuVy55cV09IkZPUk1fU1VCTUlUX1BFUk1JU1NJT05fREVOSUVEIjtULldbVC5XLmZqXT0iTUlDUk9UQVNLX05PVF9TVVBQT1JURUQiO1QuV1tULlcudW5dPSJTRVRfRU5DUllQVEVEX0RBVEFfVE9fQ0FDSEUiO1QuV1tULlcuT21dPSJHRVRfRU5DUllQVEVEX0RBVEFfRlJPTV9DQUNIRSI7VC5XW1QuVy5Ta109IkNPTkZJR19ERVRFQ1RFRF9XSVRIX05PX1BBUkFNIjtULldbVC5XLlRrXT0iQ09ORklHX0RFVEVDVEVEX1dJVEhfUEFSQU0iO1QuV1tULlcuUmtdPSJDT05GSUdfQ09OU0VOVF9TRVRfQkVGT1JFIjtULldbVC5XLlVrXT0iQ09ORklHX1NFVF9VU0VEX0JFRk9SRSI7VC5XW1QuVy5yal09IlNIQURPV19ET01fQVVUT19QSUkiO1QuV1tULlcuT2tdPSJDQ0RfVVNFUl9EQVRBX1dFQl9PTl9DT05GSUciO1QuV1tULlcuWm9dPSJCTEVOREVEX1VTRVJfREFUQSI7dmFyIEJ1PXt9LEN1PShCdVtGLkQudWldPVQuVy5KayxCdVtGLkQuZGRdPVQuVy5uaixCdVtGLkQueWNdPVQuVy5uaixCdVtGLkQubWJdPVQuVy5GayxCdVtGLkQuR2VdPVQuVy5tbCxCdVtGLkQucmldPVQuVy5HayxCdVtGLkQuSmRdPVQuVy55ZCxCdVtGLkQubmJdPVQuVy55ZCxCdVtGLkQuTGJdPVQuVy55ZCxCdVtGLkQuSWRdPVQuVy55ZCxCdVtGLkQudmNdPVQuVy55ZCxCdVtGLkQuVGJdPVQuVy55ZCxCdVtGLkQuQ2JdPVQuVy5rbCxCdVtGLkQuV2JdPVQuVy5xbixCdVtGLkQuaGhdPVQuVy5IayxCdVtGLkQuU2NdPVQuVy5JayxCdSksRHU9e30sRXU9KER1LnVua25vd249VC5XLkRtLER1LnN0YW5kYXJkPVQuVy5BbSxEdS51bmlxdWU9VC5XLkNtLER1LnBlcl9zZXNzaW9uPVQuVy56bSxEdS50cmFuc2FjdGlvbnM9VC5XLkJtLER1Lml0ZW1zX3NvbGQ9VC5XLnltLER1KTt2YXIgRnU9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3NiKCJHVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTCIsYik7YyYmKGEuSFtiXT0hMCl9LHZiPW5ldyBmdW5jdGlvbigpe3RoaXMuSD1bXX07ZnVuY3Rpb24gR3UoYSl7RnUodmIsYSwhMSl9ZnVuY3Rpb24gSHUoYSxiKXt2YXIgYz1iPT09dm9pZCAwPyExOmIsZD12YjtjPWM9PT12b2lkIDA/ITE6Yztmb3IodmFyIGU9T2JqZWN0LmtleXMoYSksZj1tKE9iamVjdC5rZXlzKEN1KSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5pbmNsdWRlcyhoKSYmRnUoZCxDdVtoXSxjKX19O2Z1bmN0aW9uIEl1KGEsYil7YT9hLnRoZW4oYik6Yih2b2lkIDApfWZ1bmN0aW9uIEp1KGEpe3JldHVybiBQcm9taXNlLmFsbFNldHRsZWQoYSkudGhlbihmdW5jdGlvbihiKXtyZXR1cm4gYi5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIGMuc3RhdHVzPT09ImZ1bGZpbGxlZCJ9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMudmFsdWV9KX0pfWZ1bmN0aW9uIEt1KCl7dmFyIGEsYjtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihjLGQpe2E9YztiPWR9KSxyZXNvbHZlOmEscmVqZWN0OmJ9fTtmdW5jdGlvbiBMdShhLGIsYyxkLGUsZil7dmFyIGc9Yy5zbGljZSgpLGg7ZD09bnVsbHx8KGg9ZC51dik9PW51bGx8fGguY2FsbChkLGEsYixjLGUpO3ZhciBsPUt1KCksbj1sLnByb21pc2UscD1sLnJlc29sdmUscT1bXSxyPWZ1bmN0aW9uKCl7cChxKTt2YXIgdTtkPT1udWxsfHwodT1kLlJzKT09bnVsbHx8dS5jYWxsKGQsYSxiLGMsZSxxKX0sdD1mdW5jdGlvbigpe3ZhciB1PWcuc2hpZnQoKTt1P3UubWV0aG9kLmlzU3VwcG9ydGVkKCk/TXUoYSxiLHUuZW5kcG9pbnQsZCxxLHUubWV0aG9kLGUsZix0LHIpOnQoKTpyKCl9O3QoKTtyZXR1cm4gbn0KZnVuY3Rpb24gTXUoYSxiLGMsZCxlLGYsZyxoLGwsbil7dmFyIHA9Yy5SKGEpLHE9e3RrOmIsZW5kcG9pbnQ6Yyxpc1ByaW1hcnk6ZyxzYjp2b2lkIDAscGs6ZixqdDp7fX0scj0hMSx0PWZ1bmN0aW9uKHosQyl7aWYocilQKDE4Nyk7ZWxzZSBpZihyPSEwLCF1KXt2YXIgRD1DfHx7fSxJPUQuYm9keSxHPUQuR2IsTj1ELmFmO0M9T2JqZWN0LmZyZWV6ZShuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LEk/e2JvZHk6SX06e30sRz97R2I6R306e30sTj97YWY6Tn06e30pKTtpZihJJiYhZi5IKCkpeCgpLGwoKTtlbHNle3ZhciBTPU51KHopLFc9cFswXT09PSIvIj8iIitwK1M6Imh0dHBzOi8vIitwK1M7cS5zYj1XO3EuanQ9Qzt2YXIgZWE7ZD09bnVsbHx8KGVhPWQuU3MpPT1udWxsfHxlYS5jYWxsKGQsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHEpKTt2YXIgamE9e2Rlc3RpbmF0aW9uSWQ6YS50YXJnZXQuZGVzdGluYXRpb25JZCxlbmRwb2ludDpjLmVuZHBvaW50LApldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9O2YuUj09PXZvaWQgMHx8Yy5mYSE9PTImJihjLmZhIT09MXx8ZS5sZW5ndGgpfHxrbi5yZWdpc3RlcihqYSxmLlIsVyk7dmFyIGZhPWZ1bmN0aW9uKGRhLG1hKXt4KCk7aWYocS5zdGF0dXMhPT12b2lkIDApcmV0dXJuIFAoMTkyKSwhMTtxLnN0YXR1cz1kYTtlLnB1c2gocSk7dmFyIFBhO2Q9PW51bGx8fChQYT1kLnVvKT09bnVsbHx8UGEuY2FsbChkLGEsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxxKSxtYSk7cmV0dXJuITB9LHNhPXtGbzpqYSxyZDpmdW5jdGlvbigpe2ZhKDIpJiZsKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2ZhKDMpJiZsKCl9LHBlOmZ1bmN0aW9uKGRhKXtmYShkYS5zdGF0dXM9PT0wPzE6ZGEub2s/MDozLGRhKSYmbigpfSxqZjpmdW5jdGlvbigpe2ZhKDEpJiZuKCl9fTtPdShjLGEsVyxTLEkpO2Yuc2VuZFJlcXVlc3Qoc2EsVyxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LAp7fSxJJiZ7Ym9keTpJfSxHJiZ7R2I6R30sTiYme2FmOk59KSl9fX0sdT0hMSx2LHg9ZnVuY3Rpb24oKXt2IT09dm9pZCAwJiYoQS5jbGVhclRpbWVvdXQodiksdj12b2lkIDApfTtNKDU3NCkmJih2PUEuc2V0VGltZW91dChmdW5jdGlvbigpe3Y9dm9pZCAwO3U9ITA7aWYocS5zdGF0dXM9PT12b2lkIDApe3Euc3RhdHVzPTQ7cS5zYj09PXZvaWQgMCYmKHEuc2I9IltmYWlsZWQgdG8gYnVpbGRdICIrcCk7ZS5wdXNoKHEpO3ZhciB6O2Q9PW51bGx8fCh6PWQudW8pPT1udWxsfHx6LmNhbGwoZCxhLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30scSksdm9pZCAwKTtsKCl9fSw1RTMpKTt2YXIgeT17SWM6cCxtZXRob2Q6Zix5djplLGlzUHJpbWFyeTpnLEN0Omh9O3RyeXtjLkgoYSx5LHQpfWNhdGNoKHope3goKSxQKDE4OCksbCgpfX0KZnVuY3Rpb24gT3UoYSxiLGMsZCxlKXtpZihhLmphKXt2YXIgZj1iLnRhcmdldC5kZXN0aW5hdGlvbklkLGc9YS5lbmRwb2ludDtpZihnPT09NDV8fGc9PT00Nnx8Zz09PTY5fHxnPT09NTh8fGc9PT01Nyl7dmFyIGg9L1s/Jl10aWRzPShbXiZdKykvLmV4ZWMoZCk7Zj1oP2RlY29kZVVSSUNvbXBvbmVudChoWzFdKS5zcGxpdCgifiIpOltmXX1NbCh7dGFyZ2V0SWQ6ZixyZXF1ZXN0Om5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30se3VybDpjLHBhcmFtZXRlckVuY29kaW5nOmEucGFyYW1ldGVyRW5jb2RpbmcsZW5kcG9pbnQ6YS5lbmRwb2ludH0sZT97cG9zdEJvZHk6ZX06e30pLHFiOntldmVudElkOmIuTS5ldmVudElkLHByaW9yaXR5SWQ6Yi5NLnByaW9yaXR5SWR9LEZqOntldmVudElkOlEoYixILkoudWYpLHByaW9yaXR5SWQ6UShiLEguSi52Zil9fSl9fQpmdW5jdGlvbiBOdShhKXtyZXR1cm4gYSYmYSE9PSI/Ij9hWzBdIT09Ij8iPyI/Ii5jb25jYXQoYSk6YToiIn07ZnVuY3Rpb24gUHUoYSxiLGMsZCxlKXt2YXIgZjtlPT1udWxsfHwoZj1lLnZ2KT09bnVsbHx8Zi5jYWxsKGUsYSxiKTtpZighYy5sZW5ndGgpe3ZhciBnO2U9PW51bGx8fChnPWUuVHMpPT1udWxsfHxnLmNhbGwoZSxhLGIsW10pO3JldHVybiBQcm9taXNlLnJlc29sdmUoW10pfXZhciBoPVtdLGw9e3RrOmIsbWs6YyxqazpkfTtoLnB1c2goTHUoYSxiLGMsZSwhMCxsKSk7Zm9yKHZhciBuPW0oZCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpaC5wdXNoKEx1KGEsYixwLnZhbHVlLGUsITEsbCkpO3JldHVybiBKdShoKS50aGVuKGZ1bmN0aW9uKHEpe2Zvcih2YXIgcj1bXSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpci5wdXNoLmFwcGx5KHIsdyh1LnZhbHVlKSk7dmFyIHY7ZT09bnVsbHx8KHY9ZS5Ucyk9PW51bGx8fHYuY2FsbChlLGEsYixyKTtyZXR1cm4gcn0pfTtmdW5jdGlvbiBRdShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2I9PW51bGx8fChkPWIud3YpPT1udWxsfHxkLmNhbGwoYixhLGMpO2Zvcih2YXIgZT1bXSxmPW0oYyksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpZS5wdXNoKFJ1KGEsZy52YWx1ZSkpO2Zvcih2YXIgaD1bXSxsPW0oZSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aC5wdXNoKFB1KGEscC50ayxwLm1rLHAuamssYikpfUp1KGgpLnRoZW4oZnVuY3Rpb24ocSl7Zm9yKHZhciByPVtdLHQ9bShxKSx1PXQubmV4dCgpOyF1LmRvbmU7dT10Lm5leHQoKSlyLnB1c2guYXBwbHkocix3KHUudmFsdWUpKTt2YXIgdjtiPT1udWxsfHwodj1iLlFzKT09bnVsbHx8di5jYWxsKGIsYSxjLHIpfSl9CmZ1bmN0aW9uIFJ1KGEsYil7dmFyIGM9ZnVuY3Rpb24oZil7cmV0dXJuIGYubWV0aG9kLmlzU3VwcG9ydGVkKCkmJmYuZW5kcG9pbnQuaXNTdXBwb3J0ZWQoYSkmJmYuZW5kcG9pbnQuSyhhKX0sZD0oYi5IKGEpfHxbXSkuZmlsdGVyKGMpLGU9W107ZC5sZW5ndGgmJihlPShiLksoYSl8fFtdKS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuZmlsdGVyKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmLmxlbmd0aD4wfSkpO3JldHVybnt0azpiLG1rOmQsams6ZX19Owp2YXIgU3U9ZnVuY3Rpb24oYSxiKXtpZihNKDUxNykmJklmKDQ3KSYmYT09PTQ1KXJldHVybiBYaigpKyIvZy9kL2NjbS9jb2xsZWN0PyIrYi5zcGxpdCgiPyIpWzFdKyImZ2FwLjFwZmI9MSJ9LFd1PWZ1bmN0aW9uKCl7dmFyIGE9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGEubGVuZ3RoKXtmb3IodmFyIGI9e30sYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlLGY9VHUoZS5rZSwiYXB2YyIpLGc9VHUoZS5rZSwidGZ0IiksaD1UdShlLmtlLCJ0ZmQiKSxsPVR1KGUua2UsInRpZCIpLG49Tm0oZS5lbmRwb2ludCxlLmtlKSxwPWJbbl09YltuXXx8e3hrOltdLFpoOltdfTtwLlpoLnB1c2goZSk7bD8ocC54ay5wdXNoKGwpLHAudWR8fChwLnVkPWwpKTpwLnhrLnB1c2goIiIpO2Y9PT0iMSImJihwLlFuPSEwKTtpZihnfHxoKXAuTm49ITB9YS5sZW5ndGg9MDtmb3IodmFyIHE9bShPYmplY3Qua2V5cyhiKSkscj1xLm5leHQoKSx0PXt9OyFyLmRvbmU7dD0Ke3lrOnZvaWQgMH0scj1xLm5leHQoKSl7dmFyIHU9ci52YWx1ZSx2PWJbdV07dC55az12LnhrO3ZhciB4PXQueWsuZmlsdGVyKGZ1bmN0aW9uKEQpe3JldHVybiBmdW5jdGlvbihJLEcpe3JldHVybiBELnlrLmluZGV4T2YoSSk9PT1HfX0odCkpLmZpbHRlcihmdW5jdGlvbihEKXtyZXR1cm4hIUR9KTtpZihNKDQyNykpe3ZhciB5PVV1KHYseCk7UXUoeSx2b2lkIDAsQXUpfWVsc2V7dmFyIHo9dSsiJmFwdmM9Iisodi5Rbj8iMSI6IjAiKTt4Lmxlbmd0aCYmKHorPSImdGlkcz0iK3guam9pbigifiIpKTt2LnVkJiYoeis9IiZ0aWQ9Iit2LnVkKTtpZih2Lk5uKXt6Kz0iJnRmdD0iK1N0cmluZyhOYigpKTt2YXIgQz1wZCgpO0MhPT12b2lkIDAmJih6Kz0iJnRmZD0iK1N0cmluZyhNYXRoLnJvdW5kKEMpKSl9VnUodi5aaFswXS5ldmVudCx6LHYuWmhbMF0uZW5kcG9pbnQseC5sZW5ndGg/eDpbIiJdKX19fX0sVHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hW2JdO2lmKGMhPT12b2lkIDApcmV0dXJuIGRlbGV0ZSBhW2JdLApjfSxWdT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxmPWZ1bmN0aW9uKGwsbil7dmFyIHA9YitYdShsKTtUbChwLGEsYyxkKTtyZXR1cm4gbihwKX07aWYobmQoKSl7dmFyIGc9ZnVuY3Rpb24oKXt9LGg9U3UoYyxiKTtoIT09dm9pZCAwJiYoZz1mdW5jdGlvbigpe1luKGUsaCtYdSg4KSx2b2lkIDAse1FnOiEwfSl9KTtmKDgsZnVuY3Rpb24obCl7WW4oZSxsLHZvaWQgMCx7UWc6ITB9LGZ1bmN0aW9uKCl7fSxmdW5jdGlvbigpe1pjKGIrWHUoMyksZnVuY3Rpb24oKXt9LGcpfSl9KX1lbHNlIGYoNSxmdW5jdGlvbihsKXtyZXR1cm4gV24oZSxsKX0pfHxaYyhiK1h1KDMpKX0sVXU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLlpoWzBdLGQ9eyJfJmFwdmMiOmEuUW4/IjEiOiIwIn07Yi5sZW5ndGg+MCYmKGRbIl8mdGlkcyJdPQpiLmpvaW4oIn4iKSk7aWYoYS5Obil7ZFsiXyZ0ZnQiXT1TdHJpbmcoTmIoKSk7dmFyIGU9cGQoKTtlIT09dm9pZCAwJiYoZFsiXyZ0ZmQiXT1TdHJpbmcoTWF0aC5yb3VuZChlKSkpfXJldHVybiBZdShjLmV2ZW50LGEudWR8fCIiLGQpfSxZdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxhLnRhcmdldCx7ZGVzdGluYXRpb25JZDpifSksZT1adShhLHt0YXJnZXQ6ZH0pO2J8fFUoZSxGLkQuUWUpO2Zvcih2YXIgZj1tKE9iamVjdC5rZXlzKGMpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtVKGUsaCxjW2hdKX1yZXR1cm4gZX0sWHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgODpjYXNlIDM6Y2FzZSA1OnJldHVybiImZm10PSIrYTtkZWZhdWx0OnJldHVybiIifX0sJHU9ZnVuY3Rpb24oYSxiKXthPVp1KGEpO1YoYSxILkouRGssWG8oZnApKTtUdCgpJiZVKGEsIl8mZ2NzIixVdCgpKTsKVShhLCJfJmdjZCIsWXQoYS5NKSk7dmFyIGM9WG8oZnApPzQ1OjQ2LGQ9ZnVuY3Rpb24oKXt2YXIgZj1iLnRpZDtpZihNKDQyNykpe3ZhciBnPVl1KGEsZixiKTtRdShnLHZvaWQgMCxBdSl9ZWxzZXt2YXIgaD1ObShjLGIpO1Z1KGEsaCxjLFtmXSl9fTtpZih5YihBLnF1ZXVlTWljcm90YXNrKSl7dmFyIGU9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGUubGVuZ3RoPT09MCl0cnl7QS5xdWV1ZU1pY3JvdGFzayhXdSl9Y2F0Y2goZil7R3UoVC5XLmZqKTtkKCk7cmV0dXJufWI9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxiKTtlLnB1c2goe2V2ZW50OmEsa2U6YixlbmRwb2ludDpjfSl9ZWxzZSBHdShULlcuZmopLGQoKX07dmFyIFg9e1Y6e01rOiJjYWxsX2NvbnZlcnNpb24iLHpkOiJjY21fY29udmVyc2lvbiIsUWs6ImNvbW1vbl9hdyIseGE6ImNvbnZlcnNpb24iLHdxOiJmbG9vZGxpZ2h0IixZZDoiZ2FfY29udmVyc2lvbiIsWmQ6ImdjcF9yZW1hcmtldGluZyIsS2E6InBhZ2VfdmlldyIsdWI6InJlbWFya2V0aW5nIixPYjoidXNlcl9kYXRhX2xlYWQiLEZiOiJ1c2VyX2RhdGFfd2ViIn19O2Z1bmN0aW9uIGJ2KGEsYil7YiYmR2IoYixmdW5jdGlvbihjLGQpe3R5cGVvZiBkIT09Im9iamVjdCImJmQhPT12b2lkIDAmJihhWyIxcC4iK2NdPVN0cmluZyhkKSl9KX07dmFyIG12PXtOZzoidmFsdWUiLHBiOiJjb252ZXJzaW9uQ291bnQiLE9nOjF9LG52PXtOZzoidGltZW91dHMiLHBiOiJ0aW1lb3V0cyIsT2c6MH0sb3Y9e05nOiJlb3BDb3VudCIscGI6ImVuZE9mUGFnZUNvdW50IixPZzowfSxwdj17Tmc6ImVycm9ycyIscGI6ImVycm9ycyIsT2c6MH0scXY9W212LG52LHB2LG92XTtmdW5jdGlvbiBydihhLGIpe2I9Yj09PXZvaWQgMD8xOmI7aWYoIXN2KGEpKXJldHVybnt9O3ZhciBjPXR2KHF2KSxkPWNbYS5wYl07aWYoZD09PXZvaWQgMHx8ZD09PS0xKXJldHVybiBjO3ZhciBlPXt9LGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLChlW2EucGJdPWQrYixlKSk7cmV0dXJuIHV2KGYpP2Y6Y30KZnVuY3Rpb24gdHYoYSl7dmFyIGI7YTp7dmFyIGM9bnIoImdjbF9jdHIiKTtpZihjLmVycm9yPT09MCYmYy52YWx1ZSYmdHlwZW9mIGMudmFsdWU9PT0ib2JqZWN0Iil7dmFyIGQ9Yy52YWx1ZTt0cnl7Yj0idmFsdWUiaW4gZCYmdHlwZW9mIGQudmFsdWU9PT0ib2JqZWN0Ij9kLnZhbHVlOnZvaWQgMDticmVhayBhfWNhdGNoKHApe319Yj12b2lkIDB9Zm9yKHZhciBlPWIsZj17fSxnPW0oYSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWU7aWYoZSYmc3YobCkpe3ZhciBuPWVbbC5OZ107bj09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKG4pP2ZbbC5wYl09LTE6ZltsLnBiXT1OdW1iZXIobil9ZWxzZSBmW2wucGJdPS0xfXJldHVybiBmfQpmdW5jdGlvbiB1dihhLGIpe2I9Ynx8e307Zm9yKHZhciBjPU5iKCksZD11cShiLGMsITApLGU9e30sZj1tKHF2KSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZSxsPWFbaC5wYl07bCE9PXZvaWQgMCYmbCE9PS0xJiYoZVtoLk5nXT1sKX1lLmNyZWF0aW9uVGltZU1zPWM7cmV0dXJuIGtyKCJnY2xfY3RyIix7dmFsdWU6ZSxleHBpcmVzOk51bWJlcihkLmV4cGlyZXMpfSk9PT0wPyEwOiExfWZ1bmN0aW9uIHN2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuZnR8fFlmKGEuZnQpOiExfWZ1bmN0aW9uIHZ2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuQXN8fFlmKGEuQXMpOiExfTtmdW5jdGlvbiB3digpe2lmKHh2KCkpe3ZhciBhPW5yKCJsYXN0X2NvbnZzIik7aWYoYS5lcnJvcj09PTAmJmEudmFsdWUmJnR5cGVvZiBhLnZhbHVlPT09Im9iamVjdCIpe3ZhciBiPWEudmFsdWU7aWYoYi52YWx1ZSYmQXJyYXkuaXNBcnJheShiLnZhbHVlKSl7dmFyIGM9Yi52YWx1ZTtpZighKGMubGVuZ3RoPjEpKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2lmKHR5cGVvZiBnIT09Im9iamVjdCJ8fGc9PT1udWxsfHx0eXBlb2YgZy5yYW5kb20hPT0ibnVtYmVyInx8dHlwZW9mIGcubGFiZWwhPT0ic3RyaW5nInx8Zy5sYWJlbC5sZW5ndGg+MjAwKXJldHVybjtkLnB1c2goe3JhbmRvbTpnLnJhbmRvbSxsYWJlbDpnLmxhYmVsfSl9cmV0dXJuIGR9fX19fQpmdW5jdGlvbiB5dihhLGIpeyF4digpfHxhLmxlbmd0aD4xfHxhLmxlbmd0aD09PTEmJmFbMF0ubGFiZWwubGVuZ3RoPjIwMHx8KGI9Ynx8e30sa3IoImxhc3RfY29udnMiLHt2YWx1ZTphLGV4cGlyZXM6TnVtYmVyKHVxKGIpLmV4cGlyZXMpfSkpfWZ1bmN0aW9uIHh2KCl7cmV0dXJuIEJsKFsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdKSYmWWYoMTEpfTtmdW5jdGlvbiB6dihhKXt2YXIgYj1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0Nyk7cmV0dXJuIGE/U3RyaW5nKGJebmcoYSkmMjE0NzQ4MzY0Nyk6U3RyaW5nKGIpfWZ1bmN0aW9uIEF2KGEpe3JldHVyblt6dihhKSxNYXRoLnJvdW5kKE5iKCkvMUUzKV0uam9pbigiLiIpfWZ1bmN0aW9uIEJ2KGEsYixjLGQsZSl7dmFyIGY9cnEoYiksZztyZXR1cm4oZz1ncShhLGYsc3EoYyksZCxlKSk9PW51bGw/dm9pZCAwOmcuQ3J9O3ZhciBDdj1bIjEiXSxEdj17fSxFdj17fTtmdW5jdGlvbiBGdihhKXtyZXR1cm4gRXZbR3YoYSldfWZ1bmN0aW9uIEh2KGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9R3YoYS5wcmVmaXgpO2lmKER2W2NdKUl2KGEpLEp2KGEpO2Vsc2UgaWYoS3YoYyxhLnBhdGgsYS5kb21haW4pKXt2YXIgZD1GdihhLnByZWZpeCl8fHtpZDp2b2lkIDAsa2M6dm9pZCAwfTtiJiZMdihhLGQpO0l2KGEpO0p2KGEpfWVsc2V7dmFyIGU9VGooImF1aWRkYyIpO2lmKGUpc2IoIlRBR0dJTkciLDE3KSxEdltjXT1lO2Vsc2UgaWYoYil7dmFyIGY9R3YoYS5wcmVmaXgpLGc9QXYoKTtNdihmLGcsYSk7S3YoYyxhLnBhdGgsYS5kb21haW4pO0l2KGEsITApO0p2KGEsITApfX19CmZ1bmN0aW9uIEl2KGEsYil7KGI9PT12b2lkIDA/MDpiKSYmc3YobXYpJiZvcigiZ2NsX2N0ciIpO2lmKHZ2KG12KSYmdHYoW212XSlbbXYucGJdPT09LTEpe2Zvcih2YXIgYz17fSxkPShjW212LnBiXT0wLGMpLGU9bShxdiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7ZyE9PW12JiZ2dihnKSYmKGRbZy5wYl09MCl9dXYoZCxhKX19ZnVuY3Rpb24gSnYoYSxiKXsoYj09PXZvaWQgMD8wOmIpJiZ4digpJiZvcigibGFzdF9jb252cyIpOyFCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSl8fCFZZigxMil8fHd2KCl8fHl2KFtdLGEpfQpmdW5jdGlvbiBMdihhLGIpe3ZhciBjPUd2KGEucHJlZml4KSxkPUR2W2NdO2lmKGQpe3ZhciBlPWQuc3BsaXQoIi4iKTtpZihlLmxlbmd0aD09PTIpe3ZhciBmPU51bWJlcihlWzFdKXx8MDtpZihmKXt2YXIgZz1kO1lmKDE5KSYmYi5maT9nPWQrIi4iKyhiLnNlc3Npb25JZHx8Ii0uLSIpKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSsiLiIrYi5maSsiLiIrKGIuTGM/Yi5MYzpNYXRoLmZsb29yKE5iKCkvMUUzKSk6Yi5zZXNzaW9uSWQmJihnPWQrIi4iK2Iuc2Vzc2lvbklkKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSk7TXYoYyxnLGEsZioxRTMpfX19fWZ1bmN0aW9uIE12KGEsYixjLGQpe3ZhciBlO2U9WyIxIix0cShjLmRvbWFpbixjLnBhdGgpLGJdLmpvaW4oIi4iKTt2YXIgZj11cShjLGQpO2YuTWM9TnYoKTtvcShhLGUsZil9CmZ1bmN0aW9uIEt2KGEsYixjKXt2YXIgZD1CdihhLGIsYyxDdixOdigpKTtpZighZClyZXR1cm4hMTtPdihhLGQpO3JldHVybiEwfWZ1bmN0aW9uIE92KGEsYil7dmFyIGM9Yi5zcGxpdCgiLiIpO2lmKGMubGVuZ3RoPT09MylFdlthXT17c2Vzc2lvbklkOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2Vsc2UgaWYoYy5sZW5ndGg+PTImJihEdlthXT1jWzBdKyIuIitjWzFdLGMuc2hpZnQoKSxjLnNoaWZ0KCksYy5sZW5ndGg+PTMpKXt2YXIgZD17c2Vzc2lvbklkOmNbMF09PT0iLSI/dm9pZCAwOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2lmKFlmKDE5KSYmYy5sZW5ndGg+PTYpe3ZhciBlPWNbM10rIi4iK2NbNF0sZj1OdW1iZXIoY1s1XSl8fDA7ZSYmZiE9PTAmJihkLmZpPWUsZC5MYz1mKX1FdlthXT1kfX1mdW5jdGlvbiBHdihhKXtyZXR1cm4oYXx8Il9nY2wiKSsiX2F1In0KZnVuY3Rpb24gUHYoYSl7ZnVuY3Rpb24gYigpe0JsKGMpJiZhKCl9dmFyIGM9TnYoKTtIbChmdW5jdGlvbigpe2IoKTtCbChjKXx8SWwoYixjKX0sYyl9ZnVuY3Rpb24gUXYoYSl7dmFyIGI9VXEoITApLGM9R3YoYS5wcmVmaXgpO1B2KGZ1bmN0aW9uKCl7dmFyIGQ9YltjXTtpZihkKXtPdihjLGQpO3ZhciBlPU51bWJlcihEdltjXS5zcGxpdCgiLiIpWzFdKSoxRTM7aWYoZSl7c2IoIlRBR0dJTkciLDE2KTt2YXIgZj11cShhLGUpO2YuTWM9TnYoKTt2YXIgZz1bIjEiLHRxKGEuZG9tYWluLGEucGF0aCksZF0uam9pbigiLiIpO29xKGMsZyxmKX19fSl9ZnVuY3Rpb24gUnYoYSxiLGMsZCxlKXtlPWV8fHt9O3ZhciBmPWZ1bmN0aW9uKCl7dmFyIGc9e30saD1CdihhLGUucGF0aCxlLmRvbWFpbixDdixOdigpKTtoJiYoZ1thXT1oKTtyZXR1cm4gZ307UHYoZnVuY3Rpb24oKXthcihmLGIsYyxkKX0pfQpmdW5jdGlvbiBOdigpe3JldHVyblsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdfTt2YXIgVnY9ImVtYWlsIGVtYWlsX2FkZHJlc3Mgc2hhMjU2X2VtYWlsX2FkZHJlc3MgcGhvbmVfbnVtYmVyIHNoYTI1Nl9waG9uZV9udW1iZXIgZmlyc3RfbmFtZSBsYXN0X25hbWUiLnNwbGl0KCIgIiksV3Y9ImZpcnN0X25hbWUgc2hhMjU2X2ZpcnN0X25hbWUgbGFzdF9uYW1lIHNoYTI1Nl9sYXN0X25hbWUgc3RyZWV0IHNoYTI1Nl9zdHJlZXQgY2l0eSByZWdpb24gY291bnRyeSBwb3N0YWxfY29kZSIuc3BsaXQoIiAiKTtmdW5jdGlvbiBYdihhLGIpe2lmKCFiLl90YWdfbWV0YWRhdGEpe2Zvcih2YXIgYz17fSxkPTAsZT0wO2U8YS5sZW5ndGg7ZSsrKWQrPVl2KGFbZV0sYixjKT8xOjA7ZD4wJiYoYi5fdGFnX21ldGFkYXRhPWMpfX0KZnVuY3Rpb24gWXYoYSxiLGMpe3ZhciBkPWJbYV07aWYoZD09PXZvaWQgMHx8ZD09PW51bGwpcmV0dXJuITE7Y1thXT1BcnJheS5pc0FycmF5KGQpP2QubWFwKGZ1bmN0aW9uKCl7cmV0dXJue21vZGU6ImMifX0pOnttb2RlOiJjIn07cmV0dXJuITB9ZnVuY3Rpb24gWnYoYSl7aWYoTSg1MjMpJiZhKXtYdihWdixhKTtmb3IodmFyIGI9QmIoYS5hZGRyZXNzKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY107ZCYmWHYoV3YsZCl9dmFyIGU9YS5ob21lX2FkZHJlc3M7ZSYmWHYoV3YsZSl9fQpmdW5jdGlvbiAkdihhLGIsYyl7ZnVuY3Rpb24gZChmLGcpe2c9U3RyaW5nKGcpLnN1YnN0cmluZygwLDEwMCk7ZS5wdXNoKCIiK2YrZW5jb2RlVVJJQ29tcG9uZW50KGcpKX1pZighYylyZXR1cm4iIjt2YXIgZT1bXTtkKCJpIixTdHJpbmcoYSkpO2QoImYiLGIpO2MubW9kZSYmZCgibSIsYy5tb2RlKTtjLmlzUHJlSGFzaGVkJiZkKCJwIiwiMSIpO2MucmF3TGVuZ3RoJiZkKCJyIixTdHJpbmcoYy5yYXdMZW5ndGgpKTtjLm5vcm1hbGl6ZWRMZW5ndGgmJmQoIm4iLFN0cmluZyhjLm5vcm1hbGl6ZWRMZW5ndGgpKTtjLmxvY2F0aW9uJiZkKCJsIixjLmxvY2F0aW9uKTtjLnNlbGVjdG9yJiZkKCJzIixjLnNlbGVjdG9yKTtyZXR1cm4gZS5qb2luKCIuIil9O3ZhciBhdz12b2lkIDA7ZnVuY3Rpb24gYncoKXtpZighYXcpe3ZhciBhPW9tKGptLmJhLm9wLG5ldyBNYXApO2F3PW5ldyBvZyhhKX1yZXR1cm4gYXd9Owp2YXIgY3c9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIGE7Zm9yKHZhciBiPXt9LGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7ZSE9PSJhZGRyZXNzIiYmZSE9PSJwaG9uZV9udW1iZXIiJiZlIT09InNoYTI1Nl9waG9uZV9udW1iZXIiJiYoYltlXT1hW2VdKX1yZXR1cm4gYn0sZnc9ZnVuY3Rpb24oYSl7dmFyIGI9TSg1MjMpLGM9WyJ0di4xIl0sZD1bInR2ZC4xIl0sZT1kdyhhKTtpZihlKXJldHVybiBjLnB1c2goZSkse2hhc1VwZDohMSxPbzpjLmpvaW4oIn4iKSxZbjpjLmpvaW4oIn4iKSxlbmNyeXB0aW9uS2V5U3RyaW5nOnZvaWQgMCxpaTp7fSxtZXRhZGF0YVBhcmFtOmI/ZC5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZj17fSxnPTA7dmFyIGg9MCxsPWV3KGEsZnVuY3Rpb24ocSxyLHQpe2grKzt2YXIgdT1xLnZhbHVlLHY7CmlmKHQpe3ZhciB4PXIrIl9fIitnKys7dj0iJHt1c2VyRGF0YS4iK3grInxzaGEyNTZ9IjtmW3hdPXV9ZWxzZSB2PWVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodSkpO3EuaW5kZXghPT12b2lkIDAmJihyKz1xLmluZGV4KTtjLnB1c2gocisiLiIrdik7aWYoYil7dmFyIHk9JHYoaCxyLHEubWV0YWRhdGEpO3kmJmQucHVzaCh5KX19KS5oYXNVcGQsbj1kLmpvaW4oIn4iKTt2YXIgcD1jLmpvaW4oIn4iKTtyZXR1cm57aGFzVXBkOmwsT286cCxpaTp7dXNlckRhdGE6Zn0sWW46InR2LjF+JHsiKyhwKyJ8IisoTSg1NTUpPyJlbmNyeXB0X3dpdGhfbWVtbyI6ImVuY3J5cHQiKSsifSIpLGVuY3J5cHRpb25LZXlTdHJpbmc6RSg0MyksbWV0YWRhdGFQYXJhbTpiP246dm9pZCAwfX0saHc9ZnVuY3Rpb24oYSl7aWYoIShhIT1udWxsJiZPYmplY3Qua2V5cyhhKS5sZW5ndGg+MCkpcmV0dXJuITE7CnZhciBiPWd3KGEpO3JldHVybiBldyhiLGZ1bmN0aW9uKCl7fSkuaGFzVXBkfSxldz1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9mdW5jdGlvbigpe306Yjtmb3IodmFyIGM9ITEsZD0hMSxlPW0oYSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZy52YWx1ZSl7dmFyIGg9aXdbZy5uYW1lXTtpZihoKXt2YXIgbD1qdyhnKTtsJiYoYz0hMCk7ZD0hMDtiKGcsaCxsKX19fXJldHVybntoYXNVcGQ6ZCxoYXNVcGRUb0hhc2g6Y319LGp3PWZ1bmN0aW9uKGEpe3ZhciBiPWt3KGEubmFtZSksYz0vXmVcZCskLy50ZXN0KGEudmFsdWUpLGQ7aWYoZD1iJiYhYyl7dmFyIGU9YS52YWx1ZTtkPSEobHcudGVzdChlKXx8eWkudGVzdChlKSl9cmV0dXJuIGR9LGt3PWZ1bmN0aW9uKGEpe3JldHVybiBtdy5pbmRleE9mKGEpIT09LTF9LHN3PWZ1bmN0aW9uKGEsYixjKXtpZih5YihBLlByb21pc2UpKXRyeXt2YXIgZD0hMTt2YXIgZT1ndyhhLGQpLGY9bncoZSkudGhlbihmdW5jdGlvbihoKXt2YXIgbD1oLnliLG49bC5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIVNiKHEubmFtZSwicmF3Iil9KSxwPW93KHt5YjpufSk7cmV0dXJue3Jlc3VsdDp7cGFyYW06cC5wYXJhbSxoYXNVcGRUb0hhc2g6cC5oYXNVcGRUb0hhc2gsaGFzVXBkOnAuaGFzVXBkLGhhZEVycm9yOnAuaGFkRXJyb3IsbWV0YWRhdGFQYXJhbTpwLm1ldGFkYXRhUGFyYW19LHliOmx9fSk7cmV0dXJuIGYudGhlbihmdW5jdGlvbihoKXtyZXR1cm4gaC5yZXN1bHR9KX1jYXRjaChoKXt9fSxxdz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9LG93PWZ1bmN0aW9uKGEpe3ZhciBiPU0oNTIzKSxjPWEueWIsZD1bInR2LjEiXSxlPVsidHZkLjEiXSxmPWR3KGMpO2lmKGYpcmV0dXJuIGQucHVzaChmKSx7cGFyYW06ZC5qb2luKCJ+IiksaGFzVXBkVG9IYXNoOiExLGhhc1VwZDohMSxoYWRFcnJvcjohMCxtZXRhZGF0YVBhcmFtOmI/ZS5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZz1jLmZpbHRlcihmdW5jdGlvbihxKXtyZXR1cm4hancocSl9KSxoPTAsbD1ldyhnLGZ1bmN0aW9uKHEscil7aCsrO3ZhciB0PXEudmFsdWUsdT1xLmluZGV4O3UhPT12b2lkIDAmJihyKz11KTtkLnB1c2gocisiLiIrdCk7aWYoYil7dmFyIHY9JHYoaCxyLHEubWV0YWRhdGEpO3YmJmUucHVzaCh2KX19KSxuPWwuaGFzVXBkVG9IYXNoLHA9bC5oYXNVcGQ7cmV0dXJue3BhcmFtOmVuY29kZVVSSUNvbXBvbmVudChkLmpvaW4oIn4iKSksCmhhc1VwZFRvSGFzaDpuLGhhc1VwZDpwLGhhZEVycm9yOiExLG1ldGFkYXRhUGFyYW06Yj9lLmpvaW4oIn4iKTp2b2lkIDB9fSxkdz1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTEmJmFbMF0ubmFtZT09PSJlcnJvcl9jb2RlIilyZXR1cm4gaXcuZXJyb3JfY29kZSsiLiIrYVswXS52YWx1ZX0scHc9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xJiZhWzBdLm5hbWU9PT0iZXJyb3JfY29kZSIpcmV0dXJuITE7Zm9yKHZhciBiPW0oYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWU7aWYoaXdbZC5uYW1lXSYmZC52YWx1ZSlyZXR1cm4hMH1yZXR1cm4hMX0sZ3c9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1bXTtpZihBLmxvY2F0aW9uLnByb3RvY29sIT09Imh0dHBzOiIpcmV0dXJuIGMucHVzaCh7bmFtZToiZXJyb3JfY29kZSIsdmFsdWU6ImUzIixpbmRleDp2b2lkIDB9KSxjO3ZhciBkPWMucHVzaCxlPWQuYXBwbHksZj1bXSwKZz1mLmNvbmNhdCxoLGw9YS5fdGFnX21ldGFkYXRhfHx7fTtoPVtdLmNvbmNhdCh3KHR3KHtuYW1lOiJlbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzcyxhYjpsLmVtYWlsLG1kOmwuc2hhMjU2X2VtYWlsX2FkZHJlc3N9LHV3KSksdyh0dyh7bmFtZToicGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyLGFiOmwucGhvbmVfbnVtYmVyLG1kOmwuc2hhMjU2X3Bob25lX251bWJlcn0sdncpKSk7dmFyIG49dyhoKSxwLHE9YS5fdGFnX21ldGFkYXRhfHx7fSxyPWEuaG9tZV9hZGRyZXNzfHx7fSx0PXIuX3RhZ19tZXRhZGF0YXx8e307cD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIscmF3OmEuZmlyc3RfbmFtZSxTYTphLnNoYTI1Nl9maXJzdF9uYW1lLGFiOnEuZmlyc3RfbmFtZSxtZDpxLnNoYTI1Nl9maXJzdF9uYW1lfSx3dyh4dykpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzphLmxhc3RfbmFtZSwKU2E6YS5zaGEyNTZfbGFzdF9uYW1lLGFiOnEubGFzdF9uYW1lLG1kOnEuc2hhMjU2X2xhc3RfbmFtZX0sd3coeHcpKSksdyh0dyh7bmFtZToic3RyZWV0IixyYXc6ci5zdHJlZXQsU2E6ci5zaGEyNTZfc3RyZWV0LGFiOnQuc3RyZWV0LG1kOnQuc2hhMjU2X3N0cmVldH0sd3coeXcpKSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnIuY2l0eSxhYjp0LmNpdHl9LHd3KHl3KSkpLHcodHcoe25hbWU6InBvc3RhbF9jb2RlIixyYXc6ci5wb3N0YWxfY29kZSxhYjp0LnBvc3RhbF9jb2RlfSx3dyh6dykpKSx3KHR3KHtuYW1lOiJyZWdpb24iLHJhdzpyLnJlZ2lvbixhYjp0LnJlZ2lvbn0sd3coeXcpKSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnIuY291bnRyeSxhYjp0LmNvdW50cnl9LHd3KHp3KSkpKTtmb3IodmFyIHU9dyhwKSx2PVtdLHg9QmIoYS5hZGRyZXNzfHx7fSkseT0wO3k8eC5sZW5ndGg7eSsrKXtmb3IodmFyIHo9eFt5XSxDPXouX3RhZ19tZXRhZGF0YXx8e30sRD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIsCnJhdzp6LmZpcnN0X25hbWUsU2E6ei5zaGEyNTZfZmlyc3RfbmFtZSxhYjpDLmZpcnN0X25hbWUsbWQ6Qy5zaGEyNTZfZmlyc3RfbmFtZX0seHcpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzp6Lmxhc3RfbmFtZSxTYTp6LnNoYTI1Nl9sYXN0X25hbWUsYWI6Qy5sYXN0X25hbWUsbWQ6Qy5zaGEyNTZfbGFzdF9uYW1lfSx4dykpLHcodHcoe25hbWU6InN0cmVldCIscmF3Onouc3RyZWV0LFNhOnouc2hhMjU2X3N0cmVldCxhYjpDLnN0cmVldCxtZDpDLnNoYTI1Nl9zdHJlZXR9LHl3KSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnouY2l0eSxhYjpDLmNpdHl9LHl3KSksdyh0dyh7bmFtZToicG9zdGFsX2NvZGUiLHJhdzp6LnBvc3RhbF9jb2RlLGFiOkMucG9zdGFsX2NvZGV9LHp3KSksdyh0dyh7bmFtZToicmVnaW9uIixyYXc6ei5yZWdpb24sYWI6Qy5yZWdpb259LHl3KSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnouY291bnRyeSxhYjpDLmNvdW50cnl9LHp3KSkpLEk9MDtJPApELmxlbmd0aDtJKyspRFtJXS5pbmRleD15O3YucHVzaC5hcHBseSh2LHcoRCkpfWUuY2FsbChkLGMsZy5jYWxsKGYsbix1LHcodikpKTtpZihiJiZCcCgpKXt2YXIgRz1jLnB1c2gsTj1HLmFwcGx5LFM9W107Uy5wdXNoLmFwcGx5KFMsW10uY29uY2F0KHcoQXcoe25hbWU6InJhd19lbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzc30pKSx3KEF3KHtuYW1lOiJyYXdfcGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyfSkpKSk7Zm9yKHZhciBXPUJiKGEuYWRkcmVzc3x8e30pLGVhPTA7ZWE8Vy5sZW5ndGg7ZWErKyl7dmFyIGphPVdbZWFdO1MucHVzaC5hcHBseShTLFtdLmNvbmNhdCh3KEF3KHtuYW1lOiJyYXdfZmlyc3RfbmFtZSIscmF3OmphLmZpcnN0X25hbWUsU2E6amEuc2hhMjU2X2ZpcnN0X25hbWV9LGVhKSksdyhBdyh7bmFtZToicmF3X2xhc3RfbmFtZSIscmF3OmphLmxhc3RfbmFtZSxTYTpqYS5zaGEyNTZfbGFzdF9uYW1lfSwKZWEpKSx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6amEuc3RyZWV0LFNhOmphLnNoYTI1Nl9zdHJlZXR9LGVhKSkpKX1pZihhLmZpcnN0X25hbWV8fGEuaG9tZV9hZGRyZXNzKXtTLnB1c2guYXBwbHkoUyxbXS5jb25jYXQodyhBdyh7bmFtZToicmF3X2ZpcnN0X25hbWUiLHJhdzphLmZpcnN0X25hbWUsU2E6YS5zaGEyNTZfZmlyc3RfbmFtZX0pKSx3KEF3KHtuYW1lOiJyYXdfbGFzdF9uYW1lIixyYXc6YS5sYXN0X25hbWUsU2E6YS5zaGEyNTZfbGFzdF9uYW1lfSkpKSk7dmFyIGZhPWEuaG9tZV9hZGRyZXNzfHx7fTtTLnB1c2guYXBwbHkoUyx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6ZmEuc3RyZWV0LFNhOmZhLnNoYTI1Nl9zdHJlZXR9KSkpfU4uY2FsbChHLGMsdyhTKSl9cmV0dXJuIGN9LHd3PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtQKDY0KTtyZXR1cm4gYShiKX19LEF3PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107aWYoYS5TYSlyZXR1cm4gYztmb3IodmFyIGQ9CkJiKGEucmF3KSxlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPUJ3KGRbZV0pO2lmKGYmJiF5aS50ZXN0KGYpKWlmKC9eZVxkKyQvLnRlc3QoZikpYy5wdXNoKHtuYW1lOmEubmFtZSx2YWx1ZTpmLGluZGV4OmJ9KTtlbHNle3ZhciBnPWMsaD1nLnB1c2gsbD1hLm5hbWUsbjt2YXIgcD1BO3RyeXtuPUJpKEFycmF5LmZyb20oWmIoZikpLHApfWNhdGNoKHEpe249ImUwIn1oLmNhbGwoZyx7bmFtZTpsLHZhbHVlOm4saW5kZXg6Yn0pfX1yZXR1cm4gY30sdHc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPU0oNTIzKSxlPWEucmF3LGY9ZD9hLmFiOnZvaWQgMDtDdyhlLCExKTthLlNhJiYoZSYmUCg5MCksZT1hLlNhLGY9ZD9hLm1kOnZvaWQgMCxDdyhlLCEwKSk7Zm9yKHZhciBnPUJiKGUpLGg9QmIoZiksbD0wO2w8Zy5sZW5ndGg7KytsKXt2YXIgbjt2YXIgcD1hLm5hbWUscT1iLHI9aFtsXSx0PUJ3KGdbbF0pO2lmKHQhPT0iIilpZih5aS50ZXN0KHQpKXtyJiYoci5pc1ByZUhhc2hlZD0hMCk7CnZhciB1PXtuYW1lOnAsdmFsdWU6dCxpbmRleDp2b2lkIDB9O3ImJih1Lm1ldGFkYXRhPXIpO249dX1lbHNle3ZhciB2PXEodCkseD17bmFtZTpwLHZhbHVlOnYsaW5kZXg6dm9pZCAwfTtyJiYoeC5tZXRhZGF0YT1yLHYmJihyLnJhd0xlbmd0aD1TdHJpbmcodCkubGVuZ3RoLHIubm9ybWFsaXplZExlbmd0aD12Lmxlbmd0aCkpO249eH1lbHNlIG49dm9pZCAwO3ZhciB5PW47eSYmYy5wdXNoKHkpfXJldHVybiBjfSxDdz1mdW5jdGlvbihhLGIpe2lmKHpiKGEpfHxBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz1CYihhKSxkPTA7ZDxjLmxlbmd0aDsrK2Qpe3ZhciBlPUJ3KGNbZF0pLGY9eWkudGVzdChlKTtiJiYhZiYmUCg4OSk7IWImJmYmJlAoODgpfX0sRHc9ZnVuY3Rpb24oYSl7dmFyIGI9YT9ndyhhKTpbXTtyZXR1cm4gb3coe3liOmJ9KX0sRXc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEhPW51bGwmJk9iamVjdC5rZXlzKGEpLmxlbmd0aD4wJiZ5YihBLlByb21pc2UpP2d3KGEpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGIudmFsdWUmJgprdyhiLm5hbWUpJiYheWkudGVzdChiLnZhbHVlKX0pOiExfSxCdz1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjp6YihhKT9MYihTdHJpbmcoYSkpOiJlMCJ9LHp3PWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoRncsIiIpfSx4dz1mdW5jdGlvbihhKXtyZXR1cm4geXcoYS5yZXBsYWNlKC9ccy9nLCIiKSl9LHl3PWZ1bmN0aW9uKGEpe3JldHVybiBMYihhLnJlcGxhY2UoR3csIiIpLnRvTG93ZXJDYXNlKCkpfSx2dz1mdW5jdGlvbihhKXthPWEucmVwbGFjZSgvW1xzLSgpLy5dL2csIiIpO2EuY2hhckF0KDApIT09IisiJiYoYT0iKyIrYSk7cmV0dXJuKE0oNTk3KT9IdzpJdykudGVzdChhKT9hOiJlMCJ9LHV3PWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKS5zcGxpdCgiQCIpO2lmKGIubGVuZ3RoPT09Mil7dmFyIGM9YlswXTsvXihnbWFpbHxnb29nbGVtYWlsKVwuLy50ZXN0KGJbMV0pJiYoYz1jLnJlcGxhY2UoL1wuL2csIiIpKTtjPWMrIkAiK2JbMV07aWYoSncudGVzdChjKSlyZXR1cm4gY31yZXR1cm4iZTAifSwKS3c9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24oYil7Yi52YWx1ZSYma3coYi5uYW1lKSYmKGIudmFsdWU9RGkoYi52YWx1ZSkpfSkse3liOmF9fWNhdGNoKGIpe3JldHVybnt5YjpbXX19fSxudz1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiLnZhbHVlJiZrdyhiLm5hbWUpfSk/eWIoQS5Qcm9taXNlKT9Qcm9taXNlLmFsbChhLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi52YWx1ZSYma3coYi5uYW1lKT9BaShiLnZhbHVlKS50aGVuKGZ1bmN0aW9uKGMpe2IudmFsdWU9Y30pOlByb21pc2UucmVzb2x2ZSgpfSkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm57eWI6YX19KS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt5YjpbXX19KTp7dGhlbjpmdW5jdGlvbihiKXtiKHt5YjpbXX0pfX06UHJvbWlzZS5yZXNvbHZlKHt5YjphfSl9LEd3PS9bMC05YH4hQCMkJV4mKigpX1wtKz06Ozw+LC4/fC9cXFtcXV0vZyxKdz0vXlxTK0BcUytcLlxTKyQvLApJdz0vXlwrXGR7MTAsMTV9JC8sSHc9L15cK1xkezcsMTV9JC8sRnc9L1sufl0vZyxsdz0vXlswLTlBLVphLXpfLV17NDN9JC8sTHc9WyJyZW0iLCJycG4iLCJyZm4iLCJybG4iLCJyc2EiXSxNdz17fSxpdz0oTXcuZW1haWw9ImVtIixNdy5waG9uZV9udW1iZXI9InBuIixNdy5maXJzdF9uYW1lPSJmbiIsTXcubGFzdF9uYW1lPSJsbiIsTXcuc3RyZWV0PSJzYSIsTXcuY2l0eT0iY3QiLE13LnJlZ2lvbj0icmciLE13LmNvdW50cnk9ImNvIixNdy5wb3N0YWxfY29kZT0icGMiLE13LmVycm9yX2NvZGU9ImVjIixNdy5yYXdfZW1haWw9InJlbSIsTXcucmF3X3Bob25lX251bWJlcj0icnBuIixNdy5yYXdfZmlyc3RfbmFtZT0icmZuIixNdy5yYXdfbGFzdF9uYW1lPSJybG4iLE13LnJhd19zdHJlZXQ9InJzYSIsTXcpO3ZhciBtdz1PYmplY3QuZnJlZXplKFsiZW1haWwiLAoicGhvbmVfbnVtYmVyIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsInN0cmVldCJdKTt2YXIgbXg9T2JqZWN0LmZyZWV6ZSh7YXR0cmlidXRpb25zcmM6IiJ9KSxueD1PYmplY3QuZnJlZXplKHtldmVudFNvdXJjZUVsaWdpYmxlOiExLHRyaWdnZXJFbGlnaWJsZTohMH0pO2Z1bmN0aW9uIG94KCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlO3JldHVybiBhJiZ5YihhLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKX07dmFyIHB4PU9iamVjdC5mcmVlemUoe2NhY2hlOiJuby1zdG9yZSIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLG1ldGhvZDoiR0VUIixrZWVwYWxpdmU6ITAscmVkaXJlY3Q6ImZvbGxvdyJ9KTsKZnVuY3Rpb24gcXgoYSxiLGMsZCxlLGYpe2lmKCF5YihBLmZldGNoKSlyZXR1cm4gZj09bnVsbHx8Zih2b2lkIDAsdm9pZCAwKSwhMTt2YXIgZz1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHB4KTtiJiYoZy5ib2R5PWIsZy5tZXRob2Q9IlBPU1QiKTtuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGcsZCk7QS5mZXRjaChhLGcpLnRoZW4oZnVuY3Rpb24oaCl7aWYoaC5vayl7aWYoaC5ib2R5KXt2YXIgbD1oLmJvZHkuZ2V0UmVhZGVyKCksbj1uZXcgVGV4dERlY29kZXI7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHApe2Z1bmN0aW9uIHEoKXtsLnJlYWQoKS50aGVuKGZ1bmN0aW9uKHIpe3ZhciB0O3Q9ci5kb25lO3ZhciB1PW4uZGVjb2RlKHIudmFsdWUse3N0cmVhbTohdH0pO3U9Yy5SK3U7Zm9yKHZhciB2PXUuaW5kZXhPZigiXG5cbiIpO3YhPT0tMTspe3ZhciB4PVpnLHk7YTp7dmFyIHo9bSh1LnN1YnN0cmluZygwLHYpLnNwbGl0KCJcbiIpKSxDPQp6Lm5leHQoKS52YWx1ZSxEPXoubmV4dCgpLnZhbHVlO2lmKFNiKEMsImV2ZW50OiBtZXNzYWdlIikmJlNiKEQsImRhdGE6ICIpKXt2YXIgST1ELnN1YnN0cmluZyg2KTt0cnl7eT1KU09OLnBhcnNlKEkpO2JyZWFrIGF9Y2F0Y2goRyl7fX15PXZvaWQgMH14KGMseSk7dT11LnN1YnN0cmluZyh2KzIpO3Y9dS5pbmRleE9mKCJcblxuIil9Yy5SPXU7dD8oZT09bnVsbHx8ZShoKSxwKCkpOnEoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZT09bnVsbHx8ZShoKTtwKCl9KX1xKCl9KX1lPT1udWxsfHxlKGgpfWVsc2UgZj09bnVsbHx8ZihoLHZvaWQgMCl9KS5jYXRjaChmdW5jdGlvbihoKXtmPT1udWxsfHxmKHZvaWQgMCxoKX0pO3JldHVybiEwfTt2YXIgcng9ZnVuY3Rpb24oYSl7aHUuY2FsbCh0aGlzLCJGZXRjaFJpY2hSZXNwb25zZSIsMSk7dGhpcy5OPWF9O3dhKHJ4LGh1KTtyeC5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4geWIoQS5mZXRjaCl9O3J4LnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7cmV0dXJuITB9O3J4LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtxeChiLGM9PW51bGw/dm9pZCAwOmMuYm9keSx0aGlzLk4sYz09bnVsbD92b2lkIDA6Yy5HYixhLnBlLGZ1bmN0aW9uKGQsZSl7YS5vbkZhaWx1cmUoZSl9KX07dmFyIEN4PWZ1bmN0aW9uKCl7WWcuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt3YShDeCxZZyk7Q3gucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXtaYyhhLHZvaWQgMCwkZyh0aGlzLGIpLGIuYXR0cmlidXRpb25fcmVwb3J0aW5nJiZveCgpP214Ont9KX07Q3gucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmF0dHJpYnV0aW9uX3JlcG9ydGluZyYmb3goKT97YXR0cmlidXRpb25SZXBvcnRpbmc6bnh9Ont9LGQ9JGcodGhpcyxiKTtiLnByb2Nlc3NfcmVzcG9uc2U/cXgoYSx2b2lkIDAsdGhpcyxjLHZvaWQgMCxkKTptZChhLHZvaWQgMCxjLHZvaWQgMCxkKX07dmFyIFF4PWZ1bmN0aW9uKGEsYil7dGhpcy5IPWE7dGhpcy50aW1lb3V0TXM9Yjt0aGlzLlJiPXZvaWQgMH0sUng9ZnVuY3Rpb24oYSl7YS5SYnx8KGEuUmI9c2V0VGltZW91dChmdW5jdGlvbigpe2EuSCgpO2EuUmI9dm9pZCAwfSxhLnRpbWVvdXRNcykpfSxUbj1mdW5jdGlvbihhKXthLlJiJiYoY2xlYXJUaW1lb3V0KGEuUmIpLGEuUmI9dm9pZCAwKX07dmFyIFN4PWZ1bmN0aW9uKCl7dmFyIGE9TmYoNjYsMCk7dGhpcy5LPVtdO3RoaXMuUj1hO3RoaXMuSD1ZYSgpfSxVeD1mdW5jdGlvbihhKXt2YXIgYj1UeDtiLksucHVzaChhKTtiLk58fChiLk49ZnVuY3Rpb24oKXtmb3IodmFyIGM9bShiLkspLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO3RyeXtlKCl9Y2F0Y2gobCl7fX1mb3IodmFyIGY9bShiLkgudmFsdWVzKCkpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD12b2lkIDA7KGg9Zy52YWx1ZS53ZSk9PW51bGx8fFRuKGgpfWIuSC5jbGVhcigpfSwkYyhBLCJwYWdlaGlkZSIsYi5OKSl9LFZ4PWZ1bmN0aW9uKGEpe3ZhciBiPWEubWF0Y2goTW4pWzNdfHxudWxsLGM9KGI/ZGVjb2RlVVJJKGIpOmIpfHwiIixkPVBuKGEsImxhYmVsIil8fCIiLGU9UG4oYSwicmFuZG9tIil8fCIiO3JldHVybiBjKyI6IitMbihkKSsiOiIrTG4oZSl9LFd4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1UeCwKZT1WeChhKTtpZighKGQuSC5oYXMoZSl8fGQuSC5zaXplPj1kLlIpKXt2YXIgZj17fTtiJiZiPjAmJmMmJihmLndlPW5ldyBReChjLGIpKTtkLkguc2V0KGUsZik7dmFyIGc7KGc9Zi53ZSk9PW51bGx8fFJ4KGcpfX0sVW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1WeChiKSxkLGU7KGQ9YS5ILmdldChjKSk9PW51bGx8fChlPWQud2UpPT1udWxsfHxUbihlKTthLkguZGVsZXRlKGMpfTtTeC5wcm90b3R5cGUuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguc2l6ZX07dmFyIGRnO2Z1bmN0aW9uIGh5KGEsYil7dmFyIGM7KGM9ZGcpPT1udWxsfHwkZihjLkgsYSxiKX07dmFyIGl5PUFhKFsiLyJdKSxqeT1mdW5jdGlvbihhKXt0aGlzLkg9YTt0aGlzLmZhaWx1cmVUeXBlPXZvaWQgMH07ankucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXt0cnl7dmFyIGQ9dGhpcy5ILmFjdGl2ZTtkPyhkLnBvc3RNZXNzYWdlKHt0eXBlOjEsY29tbWFuZDphfSksYih7ZGF0YToiIn0pKTpjKHtmYWlsdXJlVHlwZToxMyxkYXRhOiIifSl9Y2F0Y2goZSl7Yyh7ZmFpbHVyZVR5cGU6MTEsZGF0YTplLm1lc3NhZ2V9KX19O3ZhciBreT1mdW5jdGlvbihhLGIpe3RoaXMuZmFpbHVyZVR5cGU9YTt0aGlzLkg9Yn07a3kucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXtjKHtmYWlsdXJlVHlwZTp0aGlzLmZhaWx1cmVUeXBlLGRhdGE6ImYiK3RoaXMuZmFpbHVyZVR5cGUrKCJ0IisoKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5IKSl9KX07CnZhciBueT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3RoaXMuaW5pdFRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5IPW5ldyBreSgxNSx0aGlzLmluaXRUaW1lKTt2YXIgYz1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKCl9LDIwKX0pLGQ9bHkoYSkudGhlbihmdW5jdGlvbihlKXtiLkg9bmV3IGp5KGUpO215KGIsZSl9KS5jYXRjaChmdW5jdGlvbigpe2IuSD1uZXcga3koNCxiLmluaXRUaW1lKX0pO3RoaXMuSz1Qcm9taXNlLnJhY2UoW2MsZF0pfSxteT1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGQpe2QmJmQuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoZC5zdGF0ZT09PSJyZWR1bmRhbnQiKXt2YXIgZT1iLmFjdGl2ZTtlJiZlLnN0YXRlIT09InJlZHVuZGFudCJ8fChhLkg9bmV3IGt5KDEwLGEuaW5pdFRpbWUpKX19KX07YyhiLmFjdGl2ZSk7YyhiLndhaXRpbmcpO2MoYi5pbnN0YWxsaW5nKTsKYi5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVmb3VuZCIsZnVuY3Rpb24oKXtjKGIuaW5zdGFsbGluZyl9KX07bnkucHJvdG90eXBlLmRlbGVnYXRlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSy50aGVuKGZ1bmN0aW9uKCl7ZC5ILmlvKGEsYixjKX0pfTtueS5wcm90b3R5cGUuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gMn07CnZhciBseT1mdW5jdGlvbihhKXt2YXIgYixjPUxmKDExKTtjPUxmKDEwKTtiPWM7dmFyIGQ9e3Njb3BlOihUYihhLmhyZWYsIi8iKT9hLmhyZWYuc2xpY2UoMCwtMSk6YS5ocmVmKSsiL18vc2VydmljZV93b3JrZXIifTtiJiYoZC51cGRhdGVWaWFDYWNoZT0iYWxsIik7dmFyIGUsZj1veShhLGIpLGc9bmV3IE1hcChbWyJwYXRoIixhLnBhdGhuYW1lXV0pLGg9SnAoa2MoZikudG9TdHJpbmcoKSk7ZT1McChoLnprLGgucGFyYW1zLGguZnJhZ21lbnQsZyk7dmFyIGw9SWMoKSxuPWtjKGUpO3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLGQpfWNhdGNoKHApe3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLnRvU3RyaW5nKCksZCl9Y2F0Y2gocSl7cmV0dXJuIFByb21pc2UucmVqZWN0KHEpfX19OwpmdW5jdGlvbiBveShhLGIpe2Zvcih2YXIgYz1LcChpeSksZD1hLnBhdGhuYW1lLnNwbGl0KCIvIikuZmlsdGVyKGZ1bmN0aW9uKGgpe3JldHVybiBoLmxlbmd0aD4wfSksZT1bXS5jb25jYXQodyhkKSxbIl8iLCJzZXJ2aWNlX3dvcmtlciIsYiwic3cuanMiXSksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWM9TXAoYyxnLnZhbHVlKTtyZXR1cm4gY307ZnVuY3Rpb24gcHkoYSl7dmFyIGI9bm0oam0uYmEuT2gpLGM9Yj09bnVsbD92b2lkIDA6YlthXTtjfHxhIT09ImxpdGUifHwoYz1iPT1udWxsP3ZvaWQgMDpiLmZ1bGwpO3JldHVybiBjfXZhciBxeT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cHkoImZ1bGwiKTtkP2QuZGVsZWdhdGUoYSxiLGMpOmMoe2ZhaWx1cmVUeXBlOjE2fSl9O2Z1bmN0aW9uIHJ5KGEsYixjLGQsZSl7cXkoe2NvbW1hbmRUeXBlOjAscGFyYW1zOnt1cmw6YSxtZXRob2Q6MSx0ZW1wbGF0ZXM6Yixib2R5OiIiLHByb2Nlc3NSZXNwb25zZTohMSxlbmNyeXB0aW9uS2V5U3RyaW5nOmUsc29SZWZlcnJlcjpBLmxvY2F0aW9uLmhyZWZ9fSxjLGZ1bmN0aW9uKGYpe2QoZi5mYWlsdXJlVHlwZSxmLmRhdGEpfSl9O3ZhciBEeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPTA7dGhpcy5LPSExO00oNDYyKSYmVW0oImZzIixmdW5jdGlvbigpe3JldHVybiBhLkg+MCYmYS5IPDU/U3RyaW5nKGEuSCk6dm9pZCAwfSwhMSl9LEV5O2Z1bmN0aW9uIEZ5KGEsYil7RXl8fChFeT1uZXcgRHkpO3ZhciBjPUV5O00oNDYyKSYmZm4uSyYmKGI9PT0iZ3RtLmZvcm1TdWJtaXQifHxiPT09ImZvcm1fc3VibWl0IiYmSWYoNDUpKSYmKGE9PT0xfHxjLkspJiYoYy5LPSEwLGMuSD1hLGEhPT01P1ZtKCJmcyIpOlFtLkguZnM9ITEpfTt2YXIgR3k9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5kYSk9PT1YLlYuS2Epe3ZhciBiPWZ1KGEpO2lmKCFNKDQyNykmJihqcChhLGIpfHxRKGEsSC5KLmhkKSkmJlhvKGZwKSl7dmFyIGM9bHAoYSxiKTtpZihjKXt2YXIgZD1ObSg2OSxjKTtUbChkLGEsNjkpO1luKHtkZXN0aW5hdGlvbklkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQsZW5kcG9pbnQ6NjksZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKX19dmFyIGU9eWIoYS5NLm9uU3VjY2Vzcyk/YS5NLm9uU3VjY2Vzczp4YjskdShhLGIpO2UoKX19O3ZhciBIeT17WDp7V3E6MCxFazoxLFpnOjIsWGs6MyxtaTo0LFZrOjUsV2s6NixZazo3LG5pOjgsdG06OSxzbToxMCxUaToxMSx2bToxMixCaDoxMyxFbToxNCxpajoxNSxTcToxNixqZDoxNyx1ajoxOCx2ajoxOSx3ajoyMCxDbjoyMSx4ajoyMn19O0h5LlhbSHkuWC5XcV09IlJFU0VSVkVEX1pFUk8iO0h5LlhbSHkuWC5Fa109IkFEU19DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLlpnXT0iQ09OVEFJTkVSX0VYRUNVVEVfU1RBUlQiO0h5LlhbSHkuWC5Ya109IkNPTlRBSU5FUl9TRVRVUF9FTkQiO0h5LlhbSHkuWC5taV09IkNPTlRBSU5FUl9TRVRVUF9TVEFSVCI7SHkuWFtIeS5YLlZrXT0iQ09OVEFJTkVSX0JMT0NLSU5HX0VORCI7SHkuWFtIeS5YLldrXT0iQ09OVEFJTkVSX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlguWWtdPSJDT05UQUlORVJfWUlFTERfRU5EIjtIeS5YW0h5LlgubmldPSJDT05UQUlORVJfWUlFTERfU1RBUlQiO0h5LlhbSHkuWC50bV09IkVWRU5UX0VYRUNVVEVfRU5EIjsKSHkuWFtIeS5YLnNtXT0iRVZFTlRfRVZBTFVBVElPTl9FTkQiO0h5LlhbSHkuWC5UaV09IkVWRU5UX0VWQUxVQVRJT05fU1RBUlQiO0h5LlhbSHkuWC52bV09IkVWRU5UX1NFVFVQX0VORCI7SHkuWFtIeS5YLkJoXT0iRVZFTlRfU0VUVVBfU1RBUlQiO0h5LlhbSHkuWC5FbV09IkdBNF9DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLmlqXT0iUEFHRV9MT0FEIjtIeS5YW0h5LlguU3FdPSJQQUdFVklFVyI7SHkuWFtIeS5YLmpkXT0iU05JUFBFVF9MT0FEIjtIeS5YW0h5LlgudWpdPSJUQUdfQ0FMTEJBQ0tfRVJST1IiO0h5LlhbSHkuWC52al09IlRBR19DQUxMQkFDS19GQUlMVVJFIjtIeS5YW0h5Llgud2pdPSJUQUdfQ0FMTEJBQ0tfU1VDQ0VTUyI7SHkuWFtIeS5YLkNuXT0iVEFHX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlgueGpdPSJUQUdfRVhFQ1VURV9TVEFSVCI7dmFyIEl5PXt9O0l5Llg9SHkuWDt2YXIgSnk9e1J1OiJMIixYcToiUyIsa3Y6IlkiLFJ0OiJCIixudToiRSIsTnU6IkkiLGZ2OiJUQyIsdnU6IkhUQyIsb3U6IkYiLE11OiJDIn0sS3k9e1hxOiJTIixsdToiViIsYXU6IkUiLGR2OiJ0YWcifSxMeT17fSxNeT0oTHlbSXkuWC52al09IjYiLEx5W0l5Llgud2pdPSI1IixMeVtJeS5YLnVqXT0iNyIsTHkpO2Z1bmN0aW9uIE55KGEpe3ZhciBiPUUoNSksYz1OdW1iZXIoYS5ldmVudElkKSxkPU51bWJlcihhLnRhZ0lkKTtyZXR1cm4oU2IoYiwiR1RNLSIpP2I6IkdUTS0iK2IpKyI6IisoQWIoYyk/YysiOiI6IiIpKyhBYihkKT9kKyI6IjoiIikrYS5zdGFnZX07ZnVuY3Rpb24gT3koKXt2YXIgYT1yZCgpO3JldHVybiEhKGEmJmEubWFyayBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZhLm1lYXN1cmUgaW5zdGFuY2VvZiBGdW5jdGlvbiYmYS5jbGVhck1lYXN1cmVzIGluc3RhbmNlb2YgRnVuY3Rpb24mJmEuY2xlYXJNYXJrcyBpbnN0YW5jZW9mIEZ1bmN0aW9uKX07dmFyIFB5PWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSxReTtmdW5jdGlvbiBSeSgpe1F5fHwoUXk9bmV3IFB5KTtyZXR1cm4gUXl9ZnVuY3Rpb24gU3koYSl7dmFyIGI9UnkoKSxjPU55KGEpO3JldHVybiBiLkhbY119ZnVuY3Rpb24gVHkoYSxiKXt2YXIgYzthOnt2YXIgZD1SeSgpO2lmKE95KCkpe3ZhciBlPU55KGEpLGYsZztpZihmPShnPXJkKCkpPT1udWxsP3ZvaWQgMDpnLm1hcmsoZSxiKSl7Yz1kLkhbZV09ZjticmVhayBhfX1jPXZvaWQgMH1yZXR1cm4gY307ZnVuY3Rpb24gVXkoYSxiKXtpZihPeSgpKXthLmVudHJ5PU55KGEpO3ZhciBjPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSk7Yy5zdGFnZT1iO2RlbGV0ZSBjLnNlbnQ7dmFyIGQ9U3koYj09PUl5LlguamQ/e3N0YWdlOkl5LlguamR9OmMpLGU9U3koYSk7aWYoZCYmZSYmIShkLnN0YXJ0VGltZT5lLnN0YXJ0VGltZSkpe2Muc3RhZ2U9YisiOiIrYS5zdGFnZTt2YXIgZj1OeShjKSxnPXtzdGFydDpkLm5hbWUsZW5kOmUubmFtZX0saCxsO3JldHVybihsPShoPXJkKCkpPT1udWxsP3ZvaWQgMDpoLm1lYXN1cmUoZixnKSk9PW51bGw/dm9pZCAwOmwuZHVyYXRpb259fX07dmFyIFd5PWZ1bmN0aW9uKCl7dmFyIGE9NTtWeS5Sbz4wJiYoYT1WeS5Sbyk7dGhpcy5LPWE7dGhpcy5IPTA7dGhpcy5OPVtdfSxYeT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPGEuSz8hMTpOYigpLWEuTlthLkglYS5LXTwxRTN9LFl5PWZ1bmN0aW9uKGEpe3ZhciBiPWEuSCsrJWEuSzthLk5bYl09TmIoKX07dmFyIFZ5PXtSbzpOZigzLDApfSwkeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy55YT1bXTt0aGlzLkg9dm9pZCAwO3RoaXMuWj17fTt0aGlzLks9dm9pZCAwO3RoaXMuamE9bmV3IFd5O3RoaXMuTGE9MUUzO3RoaXMuUj10aGlzLk49ITE7dGhpcy5mYT1EYigpO1p5KHRoaXMsZnVuY3Rpb24oKXt2YXIgYj1bWyJ2IiwiMyJdLFsidCIsInQiXSxbInBpZCIsU3RyaW5nKGEuZmEpXV0sYz1kdSgpO2MmJmIucHVzaChbImd0bSIsY10pO3JldHVybiBifSk7Y2QoZnVuY3Rpb24oKXthLmZhPURiKCl9LDg2NEU1KX0sWnk9ZnVuY3Rpb24oYSxiKXthLnlhLnB1c2goYil9LGF6PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkg7aWYoZD09PXZvaWQgMClpZihjKWQ9cmooKTtlbHNlIHJldHVybiIiO2Zvcih2YXIgZT1bZmsoImh0dHBzOi8vIitFKDIxKSksIi9hIiwiP2lkPSIrRSg1KV0sZj1tKGEueWEpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9Cmgoe2V2ZW50SWQ6ZCx0ZjohIWJ9KSxuPW0obCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpe3ZhciBxPW0ocC52YWx1ZSkscj1xLm5leHQoKS52YWx1ZSx0PXEubmV4dCgpLnZhbHVlO2UucHVzaCgiJiIrcisiPSIrdCl9ZS5wdXNoKCImej0wIik7cmV0dXJuIGUuam9pbigiIil9LGJ6PWZ1bmN0aW9uKGEpe2lmKCRrKDI2KSYmKGEuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCksYS5IIT09dm9pZCAwJiZhLlIpKXt2YXIgYj1sbyhjby5pYS5aYik7aWYoZ28oYikpYS5OfHwoYS5OPSEwLGlvKGIsZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCBieihhKX0pKTtlbHNlIGlmKGEuWlthLkhdfHxYeShhLmphKXx8YS5MYS0tPD0wKVAoMSksYS5aW2EuSF09ITA7ZWxzZXtZeShhLmphKTt2YXIgYz1heihhLCEwKTtYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6YS5IfSxjKTthLlI9ITE7YS5OPSExfX19LGN6PWZ1bmN0aW9uKGEpe2EuS3x8KGEuSz0KQS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYnooYSl9LDUwMCkpfSxlej1mdW5jdGlvbihhKXt2YXIgYj1kejtiLlpbYV18fChhIT09Yi5IJiYoYnooYiksYi5IPWEpLGIuUj0hMCxjeihiKSxheihiKS5sZW5ndGg+PTIwMjImJmJ6KGIpKX0sZHo7ZnVuY3Rpb24gZnooYSl7Z3ooKTtaeShkeixhKX1mdW5jdGlvbiBoeigpe3ZhciBhO2E9YT09PXZvaWQgMD8hMTphO2d6KCk7dmFyIGI9YSxjPWR6O2I9Yj09PXZvaWQgMD8hMTpiO2lmKGZuLk4mJiRrKDI2KSl7dmFyIGQ9YXooYywhMCwhMCk7Yj9Wbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKTpYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKX19ZnVuY3Rpb24gZ3ooKXtkenx8KGR6PW5ldyAkeSl9O2Z1bmN0aW9uIGl6KCl7ZnVuY3Rpb24gYShjLGQpe3ZhciBlPXdiKHJiW2RdfHxbXSk7ZSYmYi5wdXNoKFtjLGVdKX12YXIgYj1bXTthKCJ1IiwiR1RNIik7YSgidXQiLCJUQUdHSU5HIik7YSgiaCIsIkhFQUxUSCIpO3JldHVybiBifTt2YXIgano9Imh0dHBzOi8vIitFKDIxKSxrej1mdW5jdGlvbigpe3RoaXMuTj0hMTt0aGlzLlI9W107dGhpcy5aPVtdO3RoaXMuSD17VEM6MCxIVEM6MH07dGhpcy5LPXt9fSxsej1mdW5jdGlvbihhLGIsYyxkKXthLktbYl18fChhLktbYl09e30pO2EuS1tiXVtjXT1kfSxvej1mdW5jdGlvbihhKXt2YXIgYj0iIixjPSIiLGQ9bXooKTtBYihkKSYmKGEuSC5JPU1hdGguZmxvb3IoZCkpO2M9bnooYS5ILEp5KS50b1N0cmluZygpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGEuSykpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlLGg9YS5LW2ddLm5hbWUsbD0iIixuPW56KGEuS1tnXSxLeSk7biYmKGw9aCsiLiIrbi50b1N0cmluZygpLGIrPSJ+IitsKX12YXIgcD0ifkFXQ1QiK2EuUi5qb2luKCIuIikscT0ifkdBIithLlouam9pbigiLiIpLHI9IiZjY2lkPSIrdmsoKS50b1N0cmluZygpKyImY2lkPSIrRSg1KS50b1N0cmluZygpKyImbD0iK2MrYisoYS5SLmxlbmd0aD8KcDoiIikrKGEuWi5sZW5ndGg/cToiIik7aWYoTSgyMTQpKXt2YXIgdCx1PSh0PXJkKCkpPT1udWxsP3ZvaWQgMDp0LmdldEVudHJpZXNCeU5hbWUoS2MpLm1hcChmdW5jdGlvbih2KXtyZXR1cm4gU3RyaW5nKHYuZHVyYXRpb24pfSkuam9pbigiLiIpO3UmJihyKz0iflNTIit1KX1yZXR1cm4gcn0scHo9ZnVuY3Rpb24oYSxiKXtpZighYi5zdGFnZXx8YS5OfHwhT3koKXx8U3koYikpcmV0dXJuITE7dmFyIGMsZD0oYz1yZCgpKT09bnVsbD92b2lkIDA6Yy50aW1lT3JpZ2luO2lmKCFBYihkKSlhLk49ITA7ZWxzZSBpZihBYigkaygyNSkpJiYhU3koe3N0YWdlOkl5LlguamR9KSYmIWEuTiYmT3koKSl0cnl7dmFyIGU9TnVtYmVyKCRrKDI1KSk7VHkoe3N0YWdlOkl5LlguamR9LHtzdGFydFRpbWU6TWF0aC5tYXgoZS1kLDApfSk7VHkoe3N0YWdlOkl5LlguaWp9LHtzdGFydFRpbWU6MH0pO3ZhciBmPVV5KHtzdGFnZTpJeS5YLmpkfSxJeS5YLmlqKTtmJiYoYS5ILkw9TWF0aC5mbG9vcihmKSl9Y2F0Y2goZyl7YS5OPQohMH1pZihhLk4pcmV0dXJuITE7dHJ5e2lmKCFUeShiKSlyZXR1cm4hMX1jYXRjaChnKXtyZXR1cm4gYS5OPSEwLCExfXJldHVybiEwfSxxej1mdW5jdGlvbihhLGIsYyl7aWYocHooYSxiKSl0cnl7dmFyIGQ9VXkoYixjKTtpZihkKXJldHVybiBNYXRoLmZsb29yKGQpfWNhdGNoKGUpe2EuTj0hMH19LHN6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKTtweihhLHtzdGFnZTpJeS5YLm1pfSl9LHR6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKSxiPXF6KGEse3N0YWdlOkl5LlguWGt9LEl5LlgubWkpO2IhPT12b2lkIDAmJihhLkguUz1iKX0sdXo9ZnVuY3Rpb24oKXt2YXIgYT1yeigpO3B6KGEse3N0YWdlOkl5Llgubml9KX0sdno9ZnVuY3Rpb24oYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlguQmgsZXZlbnRJZDphfSk7Yy5LW2FdJiZjLktbYV0ubmFtZXx8bHooYyxhLCJuYW1lIixTYihiLCJndG0uIik/YjoiKiIpfSx3ej1mdW5jdGlvbihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC52bSwKZXZlbnRJZDphfSxJeS5YLkJoKTtjIT09dm9pZCAwJiZseihiLGEsIlMiLGMpfSx5ej1mdW5jdGlvbihhLGIpe3ZhciBjPXJ6KCksZD1xeihjLHtzdGFnZTpJeS5YLnRtLGV2ZW50SWQ6YX0sSXkuWC5CaCk7ZCE9PXZvaWQgMCYmbHooYyxhLCJFIixkKTtpZihiPT09Imd0bS5sb2FkIil7dmFyIGU9cXooYyx7c3RhZ2U6SXkuWC5Xa30sSXkuWC5aZyk7ZSE9PXZvaWQgMCYmKGMuSC5FPWUpO2lvKGxvKGNvLmlhLlpiKSxmdW5jdGlvbigpe2lmKCFjLk4mJk95KCkmJkUoNSkpe3ZhciBmPXh6KCk7ZiE9PXZvaWQgMCYmKGMuSC5GPU1hdGguZmxvb3IoZikpO3RyeXtmb3IodmFyIGc9aXooe2V2ZW50SWQ6MCx0ZjohMX0pLGg9W10sbD1tKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1tKG4udmFsdWUpLHE9cC5uZXh0KCkudmFsdWUscj1wLm5leHQoKS52YWx1ZTtoLnB1c2goIiYiK3ErIj0iK3IpfXZhciB0PUNwKCksdT1bW2ZrKGp6KSwiL2E/dj0zJnQ9bCIsIiZwaWQ9IisKRGIoKS50b1N0cmluZygpLCImcnY9IitFKDE0KSx0PyImdGFnX2V4cD0iK3Q6IiIsaC5qb2luKCIiKV0uam9pbigiIiksIiZndG09IixkdSgpLG96KGMpXS5qb2luKCIiKTtpZih1Lmxlbmd0aD4yMDIyKXt2YXIgdj1NYXRoLm1heCh1Lmxhc3RJbmRleE9mKCIuVFMiLDIwMjIpLHUubGFzdEluZGV4T2YoIn4iLDIwMjIpKTt1PXUuc2xpY2UoMCx2KX1Ybih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2fSx1KX1jYXRjaCh4KXt9fX0pfX0seno7ZnVuY3Rpb24gcnooKXt6enx8KHp6PW5ldyBreik7cmV0dXJuIHp6fWZ1bmN0aW9uIG16KCl7dHJ5e3ZhciBhO3JldHVybigoYT1yZCgpKT09bnVsbD92b2lkIDA6YS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIilbMF0pLmRvbUludGVyYWN0aXZlfWNhdGNoKGIpe319CmZ1bmN0aW9uIG56KGEsYil7cmV0dXJuIE9iamVjdC5rZXlzKGIpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYltjXX0pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYVtjXSE9PXZvaWQgMH0pLm1hcChmdW5jdGlvbihjKXtyZXR1cm4oIiIrKGM9PT0idGFnIj8iIjpjKSkuY29uY2F0KGFbY10udG9TdHJpbmcoKSl9KS5qb2luKCIuIil9ZnVuY3Rpb24gQXooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5LlguRW0sZXZlbnRJZDphfSxJeS5YLmpkKTtjIT09dm9pZCAwJiZiLloucHVzaChjKX1mdW5jdGlvbiBCeihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC5FayxldmVudElkOmF9LEl5LlguamQpO2MhPT12b2lkIDAmJmIuUi5wdXNoKGMpfWZ1bmN0aW9uIEN6KGEpe3ZhciBiPXJ6KCk7cHooYix7c3RhZ2U6SXkuWC5UaSxldmVudElkOmF9KX0KZnVuY3Rpb24gRHooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5Llguc20sZXZlbnRJZDphfSxJeS5YLlRpKTtjIT09dm9pZCAwJiZseihiLGEsIlYiLGMpfWZ1bmN0aW9uIHh6KCl7dHJ5e3ZhciBhLGI7cmV0dXJuKGI9KGE9cmQoKSk9PW51bGw/dm9pZCAwOmEuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLm5hbWU9PT0iZmlyc3QtY29udGVudGZ1bC1wYWludCJ9KSk9PW51bGw/dm9pZCAwOmIuc3RhcnRUaW1lfWNhdGNoKGMpe319ZnVuY3Rpb24gRXooYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlgueGosZXZlbnRJZDphLmlkLHRhZ0lkOk51bWJlcihiW0dmLnlqXSl9KX0KZnVuY3Rpb24gRnooYSxiLGMpe3ZhciBkPXJ6KCksZT1kbihiKSxmPU51bWJlcihiW0dmLnlqXSksZz1xeihkLHtzdGFnZTpjLGV2ZW50SWQ6YS5pZCx0YWdJZDpmfSxJeS5YLnhqKTtpZihnIT09dm9pZCAwJiZkLktbYS5pZF0pe3ZhciBoPWQuS1thLmlkXS50YWd8fCIiLGwsbj0obD1NeVtjXSkhPW51bGw/bDoiMSIscD1uZXcgUmVnRXhwKCJUU1xcZCIrZSsiLlRJIitmKSxxPSJUUyIrbitlKyIuVEkiK2YrIi5URSIrZztoLnNlYXJjaChwKT49MD9uIT09IjEiJiZseihkLGEuaWQsInRhZyIsaC5yZXBsYWNlKHAscS5yZXBsYWNlKCIuVEUiK2csIiIpKSk6KGx6KGQsYS5pZCwidGFnIiwoaD9oKyIuIjoiIikrcSksZT09PSJodG1sIiYmKGQuSC5IVEMrPTEpLGQuSC5UQys9MSl9fTt2YXIgS3o9e2dqOnticDoiMSIsdXE6IjIiLFZxOiIzIn19Owp2YXIgTHo9e30sTXo9T2JqZWN0LmZyZWV6ZSgoTHpbRi5ELmZoXT0xLEx6W0YuRC5naF09MSxMeltGLkQuQmRdPTEsTHpbRi5ELkNkXT0xLEx6W0YuRC5SY109MSxMeltGLkQuc2ldPTEsTHpbRi5ELnVpXT0xLEx6W0YuRC5DbF09MSxMeltGLkQuaWhdPTEsTHpbRi5ELkNmXT0xLEx6W0YuRC5EZl09MSxMeltGLkQuRWZdPTEsTHpbRi5ELkhhXT0xLEx6W0YuRC5GZl09MSxMeltGLkQuRmRdPTEsTHpbRi5ELnVjXT0xLEx6W0YuRC5IZF09MSxMeltGLkQuTGJdPTEsTHpbRi5ELkNiXT0xLEx6W0YuRC5UYl09MSxMeltGLkQubmJdPTEsTHpbRi5ELmViXT0xLEx6W0YuRC5HZV09MSxMeltGLkQua2hdPTEsTHpbRi5ELk9hXT0xLEx6W0YuRC5PcF09MSxMeltGLkQuU3BdPTEsTHpbRi5ELkllXT0xLEx6W0YuRC5HaV09MSxMeltGLkQuUWZdPTEsTHpbRi5ELlRhXT0xLEx6W0YuRC5ZY109MSxMeltGLkQuWmNdPTEsTHpbRi5ELnRiXT0xLEx6W0YuRC5RZF09MSxMeltGLkQuUmRdPTEsTHpbRi5ELlNkXT0KMSxMeltGLkQuTmVdPTEsTHpbRi5ELnphXT0xLEx6W0YuRC5VYV09MSxMeltGLkQuV2xdPTEsTHpbRi5ELlhsXT0xLEx6W0YuRC5ZbF09MSxMeltGLkQuWmxdPTEsTHpbRi5ELldiXT0xLEx6W0YuRC5UZF09MSxMeltGLkQuWGJdPTEsTHpbRi5ELmRkXT0xLEx6W0YuRC5VZF09MSxMeltGLkQuUWVdPTEsTHpbRi5ELlBhXT0xLEx6W0YuRC55Y109MSxMeltGLkQuVmRdPTEsTHpbRi5ELnpjXT0xLEx6W0YuRC5BY109MSxMeltGLkQuZmJdPTEsTHpbRi5ELlFhXT0xLEx6KSksTno9e30sT3o9KE56W0YuRC5VY109MSxOeltGLkQuUHBdPTEsTnpbRi5ELkhlXT0xLE56W0YuRC5yaV09MSxOei5vcmVmPTEsTnopO3ZhciBQeixRejsKZnVuY3Rpb24gUnooYSxiKXt2YXIgYz1hW0dmLlliXSxkPWImJmIuZXZlbnQ7aWYoIWMpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBlPVF6W2NdLGY9e30sZztmb3IoZyBpbiBhKWEuaGFzT3duUHJvcGVydHkoZykmJihTYihnLCJ2dHBfIik/ZltlIT09dm9pZCAwP2c6Zy5zdWJzdHJpbmcoNCldPWFbZ106Zz09PUdmLkZxLnRvU3RyaW5nKCkmJihmW2UhPT12b2lkIDA/InZ0cF9ndG1HZW5lcmF0ZWRUYWdnaW5nTWV0YWRhdGEiOmddPWFbZ10pKTtJZig2MSkmJmUmJihmLnZ0cF9leHRyYUV4cGVyaW1lbnRJZHM9ITApO2UmJmQmJmQuY2FjaGVkTW9kZWxWYWx1ZXMmJihmLnZ0cF9ndG1DYWNoZWRWYWx1ZXM9ZC5jYWNoZWRNb2RlbFZhbHVlcyk7YiYmZSYmKGYudnRwX2d0bUVudGl0eUluZGV4PWIuaW5kZXgsZi52dHBfZ3RtRW50aXR5TmFtZT1iLm5hbWUpO3JldHVybiBlIT09dm9pZCAwP2UoZik6UHooYyxmLApiKX12YXIgVHo9ZnVuY3Rpb24oKXt2YXIgYT1TejtpZihNKDU4NSkmJmZuLkspe3ZhciBiPUUoNSkuaW5kZXhPZigiR1RNLSIpPT09MCYmSWYoNjIpLGMsZD0oKGM9RmsoKSk9PW51bGw/dm9pZCAwOmMuc291cmNlKT09PTE7YiYmIWR8fGEuSHx8KGEuSD0hMCxVbSgiYWJsIiwiMSIpLHRvKCkpfX0sU3o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPSExfTt2YXIgVXo9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5IPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5uYW1lPVN0cmluZyh0aGlzLkhbR2YuUm1dfHwiIil9OwpVei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXtpZighYlt0aGlzLmluZGV4XSYmIWEuaXNCbG9ja2VkKHRoaXMuSCkpe2JbdGhpcy5pbmRleF09ITA7dGhpcy5IW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO3ZhciBjPXRoaXMubmFtZSxkO3RyeXt2YXIgZT17fSxmO2ZvcihmIGluIHRoaXMuSCl0aGlzLkguaGFzT3duUHJvcGVydHkoZikmJihlW2ZdPWVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKSk7ZS52dHBfZ3RtRXZlbnRJZD1hLmlkO2EucHJpb3JpdHlJZCYmKGUudnRwX2d0bVByaW9yaXR5SWQ9YS5wcmlvcml0eUlkKTt2YXIgZz1kPVJ6KGUse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjIsbmFtZTpjfSk7ZVtHZi5aa10mJnR5cGVvZiBnPT09InN0cmluZyImJihnPWVbR2YuWmtdPT09MT9nLnRvTG93ZXJDYXNlKCk6Zy50b1VwcGVyQ2FzZSgpKTtlLmhhc093blByb3BlcnR5KEdmLmFoKSYmKGc9WWYoMTgpP2VbR2YuYWhdPT09MT8KVmYoZywiUEVSSU9EIik6ZVtHZi5haF09PT0yP1ZmKGcsIkNPTU1BIik6VmYoZywiQVVUT01BVElDIik6ZVtHZi5haF09PT0xP1ZmKGcsIlBFUklPRCIpOlZmKGcsIkNPTU1BIikpO2UuaGFzT3duUHJvcGVydHkoR2YuYmwpJiZnPT09bnVsbCYmKGc9ZVtHZi5ibF0pO2UuaGFzT3duUHJvcGVydHkoR2YuaWwpJiZnPT09dm9pZCAwJiYoZz1lW0dmLmlsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5lcCkmJihnPUpiKGcpKTtlLmhhc093blByb3BlcnR5KEdmLmZsKSYmZz09PSEwJiYoZz1lW0dmLmZsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5hbCkmJmc9PT0hMSYmKGc9ZVtHZi5hbF0pO2Q9Z31jYXRjaChoKXthLmxvZ01hY3JvRXJyb3ImJmEubG9nTWFjcm9FcnJvcihoLE51bWJlcih0aGlzLmluZGV4KSxjKSxkPSExfWJbdGhpcy5pbmRleF09ITE7cmV0dXJuIGR9fTtVei5wcm90b3R5cGUuRmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSx0aGlzLkgpfTt2YXIgVno9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSD1hO3RoaXMudGFncz1iO3RoaXMubWFjcm9zPWN9O1Z6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIpe3RyeXtmb3IodmFyIGM9e30sZD1tKE9iamVjdC5rZXlzKHRoaXMuSCkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2NbZl09Zj09PSJmdW5jdGlvbiI/dGhpcy5IW2ZdOmVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKX1yZXR1cm4gY2woYyl9Y2F0Y2goZyl7SlNPTi5zdHJpbmdpZnkodGhpcy5IKX1yZXR1cm4gMn07VnoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5IKX07dmFyIFd6PWZ1bmN0aW9uKGEsYil7dGhpcy5pbmRleD1iO3RoaXMuTj1bXTt0aGlzLlI9W107dGhpcy5LPVtdO3RoaXMuSD1bXTt0aGlzLm5hbWU9IiI7Zm9yKHZhciBjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPW0oZC52YWx1ZSksZj1lLm5leHQoKS52YWx1ZSxnPXlhKGUpLGg9ZixsPWc7aD09PSJpZiI/dGhpcy5OPWw6aD09PSJ1bmxlc3MiP3RoaXMuUj1sOmg9PT0iYWRkIj90aGlzLks9bDpoPT09ImJsb2NrIj90aGlzLkg9bDpoPT09InJ1bGVOYW1lIiYmKHRoaXMubmFtZT1sWzBdKX19OwpXei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1Yeih0aGlzLGIpLGQ9W10sZT1bXTtjPyhkLnB1c2guYXBwbHkoZCx3KHRoaXMuSykpLGUucHVzaC5hcHBseShlLHcodGhpcy5IKSkpOmM9PT1udWxsJiZlLnB1c2guYXBwbHkoZSx3KHRoaXMuSCkpO3JldHVybntmaXJpbmdUYWdzOmQsYmxvY2tpbmdUYWdzOmV9fTsKdmFyIFh6PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW0oYS5OKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9YihkLnZhbHVlKTtpZihlPT09MClyZXR1cm4hMTtpZihlPT09MilyZXR1cm4gbnVsbH1mb3IodmFyIGY9bShhLlIpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD1iKGcudmFsdWUpO2lmKGg9PT0yKXJldHVybiBudWxsO2lmKGg9PT0xKXJldHVybiExfXJldHVybiEwfTtXei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBZej1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLklhPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5PPVN0cmluZyh0aGlzLklhW0dmLlliXSk7dGhpcy5uYW1lPVN0cmluZyh0aGlzLklhW0dmLlJtXXx8IiIpO3RoaXMudGFnSWQ9TnVtYmVyKHRoaXMuSWFbR2YueWpdKX07Cll6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7dmFyIGQsZT1jO2U9ZT09PXZvaWQgMD97fTplO3ZhciBmPXt9LGc7Zm9yKGcgaW4gdGhpcy5JYSl0aGlzLklhLmhhc093blByb3BlcnR5KGcpJiYoZltnXT1lbCh0aGlzLklhW2ddLGEsdGhpcy50YWdzLHRoaXMubWFjcm9zLFtdKSk7ZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGYsZSk7ZC52dHBfZ3RtVGFnSWQ9dGhpcy50YWdJZDt0aGlzLklhW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO1J6KGQse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjEsbmFtZTp0aGlzLm5hbWV9KX07WXoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5JYSl9Owp2YXIgWno9ZnVuY3Rpb24oYSxiKXtpZihhLklhW0dmLnRuXSlyZXR1cm4gZWwoYS5JYVtHZi50bl0sYixhLnRhZ3MsYS5tYWNyb3MsW10pfSwkej1mdW5jdGlvbihhLGIpe2lmKGEuSWFbR2YuRG5dKXJldHVybiBlbChhLklhW0dmLkRuXSxiLGEudGFncyxhLm1hY3JvcyxbXSl9LGFBPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5JYVtHZi5jcF07aWYoYylyZXR1cm4gZWwoYyxiLGEudGFncyxhLm1hY3JvcyxbXSl9O1l6LnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbihhKXtyZXR1cm4gZWwodGhpcy5JYVtHZi5NRVRBREFUQV0sYSx0aGlzLnRhZ3MsdGhpcy5tYWNyb3MsW10pfTtZei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBiQT1mdW5jdGlvbigpe3RoaXMubWFjcm9zPVtdO3RoaXMucnVsZXM9W107dGhpcy5wcmVkaWNhdGVzPVtdO3RoaXMudGFncz1bXTt0aGlzLnZrPVtdfTtiQS5wcm90b3R5cGUuZ2V0UnVsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydWxlc307dmFyIGNBPW5ldyBiQTtmdW5jdGlvbiBkQShhLGIsYyxkKXt2YXIgZT1XYygpLGY7aWYoZT09PTEpYTp7dmFyIGc9RSgzKTtnPWcudG9Mb3dlckNhc2UoKTtmb3IodmFyIGg9Imh0dHBzOi8vIitnLGw9Imh0dHA6Ly8iK2csbj0xLHA9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikscT0wO3E8cC5sZW5ndGgmJnE8MTAwO3ErKyl7dmFyIHI9cFtxXS5zcmM7aWYocil7cj1yLnRvTG93ZXJDYXNlKCk7aWYoci5pbmRleE9mKGwpPT09MCl7Zj0zO2JyZWFrIGF9bj09PTEmJnIuaW5kZXhPZihoKT09PTAmJihuPTIpfX1mPW59ZWxzZSBmPWU7cmV0dXJuKGY9PT0yfHxkfHwiaHR0cDoiIT09QS5sb2NhdGlvbi5wcm90b2NvbD9hOmIpK2N9O3ZhciBlQT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5LPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGEuSylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5LLGQpJiZjLnB1c2goZCsifiIrYS5LW2RdKTt2YXIgZT1bXSxmO2ZvcihmIGluIGEuSClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5ILGYpJiZlLnB1c2goZisifiIrYS5IW2ZdKTtiLnRmJiYoYS5LPXt9LGEuSD17fSk7dmFyIGc9W107Yy5sZW5ndGg+MCYmZy5wdXNoKFsiYmNzIixjLmpvaW4oIi4iKV0pO2UubGVuZ3RoPjAmJmcucHVzaChbImJldCIsZS5qb2luKCIuIildKTtyZXR1cm4gZ30pfSxmQTtmdW5jdGlvbiBnQSgpe2ZBfHwoZkE9bmV3IGVBKX07ZnVuY3Rpb24gaEEoYSxiLGMsZCxlKXtpZighRWsoYSkpe2QubG9hZEV4cGVyaW1lbnRzPXlqKCk7SGsoYSxkLGUpO3ZhciBmPWlBKGEpLGc9ZnVuY3Rpb24oKXtvaygpLmNvbnRhaW5lclthXSYmKG9rKCkuY29udGFpbmVyW2FdLnN0YXRlPTMpO2pBKCl9LGg9e2Rlc3RpbmF0aW9uSWQ6YSxlbmRwb2ludDowfTtpZihXaigpKXt2YXIgbD1YaigpLG49bCsiLyIra0EoZixhKTtabihoLG4sdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxuLGwrIi8iK2YsaCxnKX0pfWVsc2V7dmFyIHA9U2IoYSwiR1RNLSIpLHE9ZGsoKSxyPWM/Ii9ndGFnL2pzIjoiL2d0bS5qcyIsdD1tQShiLHIrZixhKTtpZighdCl7dmFyIHU9RSgzKStyO3EmJktjJiZwJiYodT1LYy5yZXBsYWNlKC9eKD86aHR0cHM/OlwvXC8pPy9pLCIiKS5zcGxpdCgvWz8jXS8pWzBdKTt0PWRBKCJodHRwczovLyIsImh0dHA6Ly8iLHUrZil9Wm4oaCx0LHZvaWQgMCxnKX19fQpmdW5jdGlvbiBqQSgpe0trKCl8fEdiKExrKCksZnVuY3Rpb24oYSxiKXtuQShhLGIudHJhbnNwb3J0VXJsLGIuY29udGV4dCk7UCg5Mil9KX1mdW5jdGlvbiBuQShhLGIsYyxkKXtpZighR2soYSkpaWYoYy5sb2FkRXhwZXJpbWVudHN8fChjLmxvYWRFeHBlcmltZW50cz15aigpKSxLaygpKUprKGEsYixjLGQpO2Vsc2V7SWsoYSxjLGQpO3ZhciBlPXtkZXN0aW5hdGlvbklkOmEsZW5kcG9pbnQ6MH07aWYoV2ooKSl7dmFyIGY9WGooKSxnPSJndGQiK2lBKGEsITApLGg9ZisiLyIra0EoZyxhKTtabihlLGgsdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxoLGYrIi8iK2csZSl9KX1lbHNle3ZhciBsPSIvZ3RhZy9kZXN0aW5hdGlvbiIraUEoYSwhMCksbj1tQShiLGwsYSk7bnx8KG49ZEEoImh0dHBzOi8vIiwiaHR0cDovLyIsRSgzKStsKSk7Wm4oZSxuKX19fQpmdW5jdGlvbiBsQShhLGIsYyxkLGUpe2lmKE0oNDEzKSl7Z0EoKTt2YXIgZj1mQTtpZihmbi5OKXt2YXIgZz1BLnBlcmZvcm1hbmNlLGg9LTE7aWYoZyYmZy5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbD1SaihiKS5ocmVmLG49Zy5nZXRFbnRyaWVzQnlOYW1lKGwpLnBvcCgpO2lmKCFuKWZvcih2YXIgcD1nLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscT0wO3E8cC5sZW5ndGg7cSsrKXt2YXIgcj1wW3FdO2lmKHIubmFtZSYmci5uYW1lLmluZGV4T2YoYikhPT0tMSl7bj1yO2JyZWFrfX1uJiZuLnJlc3BvbnNlU3RhdHVzIT09dm9pZCAwJiYoaD1uLnJlc3BvbnNlU3RhdHVzKX1mLktbYV09aH1QKDE5MCk7dmFyIHQ9bm0oam0uYmEua2opfHx7fTt0W2FdPSEwO21tKGptLmJhLmtqLHQpO3ZhciB1PWMrKGMuaW5kZXhPZigiPyIpPT09LTE/Ij9mPTEiOiImZj0xIik7ZT9abihkLHUsdm9pZCAwLGUpOlpuKGQsdSl9ZWxzZSBlJiZlKCl9CmZ1bmN0aW9uIGlBKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9Ij9pZD0iK2VuY29kZVVSSUNvbXBvbmVudChhKSxkPUUoMTkpO2QhPT0iZGF0YUxheWVyIiYmKGMrPSImbD0iK2QpO3ZhciBlPVNiKGEsIkdUTS0iKTtpZighZXx8YiljKz0iJmN4PWMiO2UmJklmKDYyKSYmKGMrPSImZ29vZ2xlX29ubHk9dHJ1ZSIpO3ZhciBmPWMsZyxoPXtEbzpKZigxNSksSW86RSgxNCl9O2c9Q2YoaCk7Yz1mKygiJmd0bT0iK2cpO2RrKCkmJihjKz0iJnNpZ249IitBai5xaik7dmFyIGw9YyxuPUpmKDU0KTtpZihuPT09MSl7bCs9IiZmcHM9ZmMiO3ZhciBwPUUoNjApO3AmJihsKz0iJmdkZXY9IitwKX1lbHNlIG49PT0yJiYobCs9IiZmcHM9ZmUiKTtyZXR1cm4gbH0KZnVuY3Rpb24ga0EoYSxiKXtpZighTSg0MTMpfHwhWGooKSlyZXR1cm4gYTt2YXIgYz1FKDU4KTtpZighYylyZXR1cm4gUCgxODIpLGE7dHJ5e3ZhciBkPU5iKCksZT1FZihhLGMpLGY9TmIoKS1kO2dBKCk7dmFyIGc9ZkE7Zm4uTiYmKGcuSFtiXT1mKTtyZXR1cm4gZX1jYXRjaChoKXtyZXR1cm4gUCgxODMpLGF9fWZ1bmN0aW9uIG1BKGEsYixjKXtpZihhaygpJiZhKXt2YXIgZD1FKDU4KSxlPVhqKCk7aWYoZCYmZSl0cnl7dmFyIGY9TmIoKTtiPWUrIi8iK0VmKGIsZCk7dmFyIGc9TmIoKS1mO2dBKCk7dmFyIGg9ZkE7Zm4uTiYmKGguSFtjXT1nKX1jYXRjaChsKXtQKDE4Myl9cmV0dXJuIFlqKGEsYil9fTt2YXIgcEE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSz1uZXcgRmI7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLlI9e25hbWU6RSgxOSksc2V0OmZ1bmN0aW9uKGIsYyl7RWQoVmIoYixjKSxhLkgpO29BKGEpfSxnZXQ6ZnVuY3Rpb24oYil7cmV0dXJuIGEuZ2V0KGIsMil9LHJlc2V0OmZ1bmN0aW9uKCl7YS5LPW5ldyBGYjthLkg9e307b0EoYSl9fX07cEEucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3JldHVybiBiIT0yP3RoaXMuSy5nZXQoYSk6cUEodGhpcyxhKX07dmFyIHFBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iLnNwbGl0KCIuIik7Yz1jfHxbXTtmb3IodmFyIGU9YS5ILGY9MDtmPGQubGVuZ3RoO2YrKyl7aWYoZT09PW51bGwpcmV0dXJuITE7aWYoZT09PXZvaWQgMClicmVhaztlPWVbZFtmXV07aWYoYy5pbmRleE9mKGUpIT09LTEpcmV0dXJufXJldHVybiBlfTsKcEEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTi5oYXNPd25Qcm9wZXJ0eShhKXx8KHRoaXMuSy5zZXQoYSxiKSxFZChWYihhLGIpLHRoaXMuSCksb0EodGhpcykpfTt2YXIgc0E9ZnVuY3Rpb24oKXtmb3IodmFyIGE9WyJndG0uYWxsb3dsaXN0IiwiZ3RtLmJsb2NrbGlzdCIsImd0bS53aGl0ZWxpc3QiLCJndG0uYmxhY2tsaXN0IiwidGFnVHlwZUJsYWNrbGlzdCJdLGI9ckEsYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLGU9Yi5nZXQoZCwxKTtpZihBcnJheS5pc0FycmF5KGUpfHxDZChlKSllPUVkKGUsbnVsbCk7Yi5OW2RdPWV9fSxvQT1mdW5jdGlvbihhLGIpe0diKGEuTixmdW5jdGlvbihjLGQpe2EuSy5zZXQoYyxkKTtFZChWYihjKSxhLkgpO0VkKFZiKGMsZCksYS5IKTtiJiZkZWxldGUgYS5OW2NdfSl9LHJBPW5ldyBwQSx0QT1yQS5SO2Z1bmN0aW9uIHVBKGEsYil7cmV0dXJuIHJBLmdldChhLGIpfQpmdW5jdGlvbiB2QShhLGIpe3ZhciBjPWI9PT12b2lkIDA/MjpiLGQ9ckEsZSxmPShjPT09dm9pZCAwPzI6YykhPT0xP3FBKGQsYSk6ZC5LLmdldChhKTtBZChmKT09PSJhcnJheSJ8fEFkKGYpPT09Im9iamVjdCI/ZT1FZChmLG51bGwpOmU9ZjtyZXR1cm4gZX07dmFyIHdBPW5ldyBSZWdFeHAoL14oLipcLik/KGdvb2dsZXx5b3V0dWJlfGJsb2dnZXJ8d2l0aGdvb2dsZSkoXC5jb20/KT8oXC5bYS16XXsyfSk/XC4/JC8pLHhBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbIm5vbkdvb2dsZVBpeGVscyJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIiwiY3VzdG9tUGl4ZWxzIiwibm9uR29vZ2xlUGl4ZWxzIiwibm9uR29vZ2xlU2NyaXB0cyIsIm5vbkdvb2dsZUlmcmFtZXMiXSxjdXN0b21TY3JpcHRzOlsiaHRtbCIsImN1c3RvbVBpeGVscyIsIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlUGl4ZWxzOltdLG5vbkdvb2dsZVNjcmlwdHM6WyJub25Hb29nbGVQaXhlbHMiXSxub25Hb29nbGVJZnJhbWVzOlsibm9uR29vZ2xlUGl4ZWxzIl19LHlBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbImN1c3RvbVNjcmlwdHMiLAoiaHRtbCJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIl0sY3VzdG9tU2NyaXB0czpbImh0bWwiXSxub25Hb29nbGVQaXhlbHM6WyJjdXN0b21QaXhlbHMiLCJjdXN0b21TY3JpcHRzIiwiaHRtbCIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlU2NyaXB0czpbImN1c3RvbVNjcmlwdHMiLCJodG1sIl0sbm9uR29vZ2xlSWZyYW1lczpbImN1c3RvbVNjcmlwdHMiLCJodG1sIiwibm9uR29vZ2xlU2NyaXB0cyJdfSx6QT0iZ29vZ2xlIGN1c3RvbVBpeGVscyBjdXN0b21TY3JpcHRzIGh0bWwgbm9uR29vZ2xlUGl4ZWxzIG5vbkdvb2dsZVNjcmlwdHMgbm9uR29vZ2xlSWZyYW1lcyIuc3BsaXQoIiAiKTsKZnVuY3Rpb24gQUEoKXt2YXIgYT11QSgiZ3RtLmFsbG93bGlzdCIpfHx1QSgiZ3RtLndoaXRlbGlzdCIpO2EmJlAoOSk7SWYoNjIpJiYoYT12b2lkIDApO0JBKCkmJihJZig2Mik/UCgxMTYpOihQKDExNyksSWYoNDgpJiYoYT1bXSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdUTSBibG9ja2VkLiBTZWUgZ28vMTM2ODc3MjguIikpKSk7dmFyIGI9YSYmUmIoS2IoYSkseEEpLGM9dUEoImd0bS5ibG9ja2xpc3QiKXx8dUEoImd0bS5ibGFja2xpc3QiKTtjfHwoYz11QSgidGFnVHlwZUJsYWNrbGlzdCIpKSYmUCgzKTtjP1AoOCk6Yz1bXTtCQSgpJiYoYz1LYihjKSxjLnB1c2goIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJzYW5kYm94ZWRTY3JpcHRzIikpO0tiKGMpLmluZGV4T2YoImdvb2dsZSIpPj0wJiZQKDIpO3ZhciBkPWMmJlJiKEtiKGMpLHlBKSxlPXt9O3JldHVybiBmdW5jdGlvbihmKXt2YXIgZz1mJiYKZltHZi5ZYl07aWYoIWd8fHR5cGVvZiBnIT09InN0cmluZyIpcmV0dXJuITA7Zz1nLnJlcGxhY2UoL15fKi8sIiIpO2lmKGVbZ10hPT12b2lkIDApcmV0dXJuIGVbZ107dmFyIGg9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pW2ddfHxbXSxsPSEwO2EmJihsPWwmJkNBKGcsaCxiKSk7dmFyIG49ITE7YyYmKG49REEoZyxoLGQpKTt2YXIgcD0hbHx8bjshcCYmKGguaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpPT09LTF8fGImJmIuaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpIT09LTE/MDpFYihkLHpBKSkmJihwPSEwKTtyZXR1cm4gZVtnXT1wfX1mdW5jdGlvbiBDQShhLGIsYyl7aWYoYy5pbmRleE9mKGEpPDApaWYoYiYmYi5sZW5ndGg+MClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7aWYoYy5pbmRleE9mKGJbZF0pPDApcmV0dXJuIFAoMTEpLCExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9CmZ1bmN0aW9uIERBKGEsYixjKXt2YXIgZD1jLmluZGV4T2YoYSk+PTA7aWYoZClyZXR1cm4gZDt2YXIgZT1FYihjLGJ8fFtdKTtlJiZQKDEwKTtyZXR1cm4gZX1mdW5jdGlvbiBCQSgpe3JldHVybiB3QS50ZXN0KEEubG9jYXRpb24mJkEubG9jYXRpb24uaG9zdG5hbWUpfTtmdW5jdGlvbiBFQShhKXtmb3IodmFyIGI9W10sYz1bXSxkPUZBKGEpLGU9bShjQS5nZXRSdWxlcygpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7Zm9yKHZhciBnPWYudmFsdWUuZXZhbHVhdGUoYSxkKSxoPWcuZmlyaW5nVGFncyxsPWcuYmxvY2tpbmdUYWdzLG49MDtuPGgubGVuZ3RoO24rKyliW2hbbl1dPSEwO2Zvcih2YXIgcD0wO3A8bC5sZW5ndGg7cCsrKWNbbFtwXV09ITB9Zm9yKHZhciBxPVtdLHI9MDtyPGNBLnRhZ3MubGVuZ3RoO3IrKyliW3JdJiYhY1tyXSYmKHFbcl09ITApO3JldHVybiBxfWZ1bmN0aW9uIEZBKGEpe3ZhciBiPVtdO3JldHVybiBmdW5jdGlvbihjKXtiW2NdPT09dm9pZCAwJiYoYltjXT1jQS5wcmVkaWNhdGVzW2NdLmV2YWx1YXRlKGEsW10pKTtyZXR1cm4gYltjXX19O3ZhciBHQT1mdW5jdGlvbigpe3RoaXMuSz0wO3RoaXMuSD17fX07R0EucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0rK3RoaXMuSzt0aGlzLkhbYV09dGhpcy5IW2FdfHx7fTt0aGlzLkhbYV1bU3RyaW5nKGQpXT17bGlzdGVuZXI6YixyZjpjfTtyZXR1cm4gZH07R0EucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5IW2FdLGQ9U3RyaW5nKGIpO2lmKCFjfHwhY1tkXSlyZXR1cm4hMTtkZWxldGUgY1tkXTtyZXR1cm4hMH07dmFyIElBPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107R2IoSEEuSFthXSxmdW5jdGlvbihkLGUpe2MuaW5kZXhPZihlLmxpc3RlbmVyKTwwJiYoZS5yZj09PXZvaWQgMHx8Yi5pbmRleE9mKGUucmYpPj0wKSYmYy5wdXNoKGUubGlzdGVuZXIpfSk7cmV0dXJuIGN9O2Z1bmN0aW9uIEpBKGEsYixjKXtyZXR1cm57ZW50aXR5VHlwZTphLGluZGV4SW5PcmlnaW5Db250YWluZXI6YixuYW1lSW5PcmlnaW5Db250YWluZXI6YyxvcmlnaW5Db250YWluZXJJZDpFKDUpLG9yaWdpbkNJZDp2aygpfX07ZnVuY3Rpb24gS0EoYSxiKXtpZihkYXRhLmVudGl0aWVzKXt2YXIgYz1kYXRhLmVudGl0aWVzW2FdO2lmKGMpcmV0dXJuIGNbYl19fTt2YXIgTUE9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9ITE7dGhpcy5SPVtdO3RoaXMuZXZlbnREYXRhPXt0YWdzOltdfTt0aGlzLlo9ITE7dGhpcy5LPXRoaXMuTj0wO0xBKHRoaXMsYSxiKX0sTkE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoQ2ouaGFzT3duUHJvcGVydHkoYil8fGI9PT0iX196b25lIilyZXR1cm4tMTt2YXIgZT17fTtDZChkKSYmKGU9RWQoZCxlKSk7ZS5pZD1jO2Uuc3RhdHVzPSJ0aW1lb3V0IjtyZXR1cm4gYS5ldmVudERhdGEudGFncy5wdXNoKGUpLTF9LE9BPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuZXZlbnREYXRhLnRhZ3NbYl07ZSYmKGUuc3RhdHVzPWMsZS5leGVjdXRpb25UaW1lPWQpfSxQQT1mdW5jdGlvbihhKXtpZighYS5IKXtmb3IodmFyIGI9YS5SLGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdKCk7YS5IPSEwO2EuUi5sZW5ndGg9MH19LExBPWZ1bmN0aW9uKGEsYixjKXtiIT09dm9pZCAwJiZhLndnKGIpO2MmJkEuc2V0VGltZW91dChmdW5jdGlvbigpe1BBKGEpfSwKTnVtYmVyKGMpKX07TUEucHJvdG90eXBlLndnPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1QYihmdW5jdGlvbigpe2JkKGZ1bmN0aW9uKCl7YShFKDUpLGIuZXZlbnREYXRhKX0pfSk7dGhpcy5IP2MoKTp0aGlzLlIucHVzaChjKX07dmFyIFFBPWZ1bmN0aW9uKGEpe2EuTisrO3JldHVybiBQYihmdW5jdGlvbigpe2EuSysrO2EuWiYmYS5LPj1hLk4mJlBBKGEpfSl9LFJBPWZ1bmN0aW9uKGEpe2EuWj0hMDthLks+PWEuTiYmUEEoYSl9O2Z1bmN0aW9uIFNBKCl7cmV0dXJuIEFbVEEoKV19CmZ1bmN0aW9uIFRBKCl7cmV0dXJuIEEuR29vZ2xlQW5hbHl0aWNzT2JqZWN0fHwiZ2EifXZhciBXQT1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9e319O2Z1bmN0aW9uIFhBKCl7YTp7dmFyIGE9RSg1KTt9fQpmdW5jdGlvbiBZQShhLGIpe3JldHVybiBmdW5jdGlvbigpe3ZhciBjPVNBKCksZD1jJiZjLmdldEJ5TmFtZSYmYy5nZXRCeU5hbWUoYSk7aWYoZCl7dmFyIGU9ZC5nZXQoInNlbmRIaXRUYXNrIik7ZC5zZXQoInNlbmRIaXRUYXNrIixmdW5jdGlvbihmKXt2YXIgZz1mLmdldCgiaGl0UGF5bG9hZCIpLGg9Zi5nZXQoImhpdENhbGxiYWNrIiksbD1nLmluZGV4T2YoIiZ0aWQ9IitiKTwwO2wmJihmLnNldCgiaGl0UGF5bG9hZCIsZy5yZXBsYWNlKC8mdGlkPVVBLVswLTldKy1bMC05XSsvLCImdGlkPSIrYiksITApLGYuc2V0KCJoaXRDYWxsYmFjayIsdm9pZCAwLCEwKSk7ZShmKTtsJiYoZi5zZXQoImhpdFBheWxvYWQiLGcsITApLGYuc2V0KCJoaXRDYWxsYmFjayIsaCwhMCksZi5zZXQoIl94XzE5Iix2b2lkIDAsITApLGUoZikpfSl9fX07dmFyIGFCPVsiZXMiLCIxIl0sYkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZXZlbnREYXRhPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYzt2YXIgZD1iLmV2ZW50SWQsZT1iLnRmO2lmKGEuZXZlbnREYXRhW2RdKXt2YXIgZj1bXTthLkhbZF18fGYucHVzaChhQik7Zi5wdXNoLmFwcGx5KGYsdyhhLmV2ZW50RGF0YVtkXSkpO2UmJihhLkhbZF09ITApO2M9Zn1lbHNlIGM9W107cmV0dXJuIGN9KX0sY0I7ZnVuY3Rpb24gZEIoYSxiKXt2YXIgYztpZigoYz1jQikhPW51bGwmJmZuLk4pe3ZhciBkPWMuZXZlbnREYXRhLGU7ZT1iLm1hdGNoKC9eKGd0bXxndGFnKVwuLyk/ZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIqIjtkW2FdPVtbImUiLGVdLFsiZWlkIixTdHJpbmcoYSldXTtneigpO2V6KGEpfX07dmFyIGVCPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9e307dGhpcy5LPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbInRyIixmLmpvaW4oIi4iKV0pO3ZhciBnPWEuS1tjXXx8W107Zy5sZW5ndGgmJmUucHVzaChbInRpIixnLmpvaW4oIi4iKV0pO2QmJihkZWxldGUgYS5IW2NdLGRlbGV0ZSBhLktbY10pO3JldHVybiBlfSl9LGZCOwpmdW5jdGlvbiBnQihhLGIsYyl7ZkJ8fChmQj1uZXcgZUIpO3ZhciBkPWZCO2lmKGZuLk4mJmIpe3ZhciBlPWRuKGIpO2QuSFthXT1kLkhbYV18fFtdO2QuSFthXS5wdXNoKGMrZSk7dmFyIGY9YltHZi5ZYl07aWYoIWYpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBnPShReltmXT8iMSI6IjIiKStlO2QuS1thXT1kLktbYV18fFtdO2QuS1thXS5wdXNoKGcpO2d6KCk7ZXooYSl9fTtmdW5jdGlvbiBoQihhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aUIoKS5hZGRSZXN0cmljdGlvbigwLGEsYixjKX1mdW5jdGlvbiBqQigpe3ZhciBhPXZrKCk7cmV0dXJuIGlCKCkuZ2V0UmVzdHJpY3Rpb25zKDAsYSl9ZnVuY3Rpb24ga0IoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2lCKCkuYWRkUmVzdHJpY3Rpb24oMSxhLGIsYyl9ZnVuY3Rpb24gbEIoKXt2YXIgYT12aygpO3JldHVybiBpQigpLmdldFJlc3RyaWN0aW9ucygxLGEpfXZhciBtQj1mdW5jdGlvbigpe3RoaXMuY29udGFpbmVyPXt9O3RoaXMuSD17fX0sbkI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmNvbnRhaW5lcltiXTtjfHwoYz17X2VudGl0eTp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119LF9ldmVudDp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119fSxhLmNvbnRhaW5lcltiXT1jKTtyZXR1cm4gY307Cm1CLnByb3RvdHlwZS5hZGRSZXN0cmljdGlvbj1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDtpZighZHx8IXRoaXMuSFtiXSl7dmFyIGU9bkIodGhpcyxiKTthPT09MD9kP2UuX2VudGl0eS5leHRlcm5hbC5wdXNoKGMpOmUuX2VudGl0eS5pbnRlcm5hbC5wdXNoKGMpOmE9PT0xJiYoZD9lLl9ldmVudC5leHRlcm5hbC5wdXNoKGMpOmUuX2V2ZW50LmludGVybmFsLnB1c2goYykpfX07Cm1CLnByb3RvdHlwZS5nZXRSZXN0cmljdGlvbnM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uQih0aGlzLGIpO2lmKGE9PT0wKXt2YXIgZCxlO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZD1jLl9lbnRpdHkpPT1udWxsP3ZvaWQgMDpkLmludGVybmFsKXx8W10pLHcoKGM9PW51bGw/dm9pZCAwOihlPWMuX2VudGl0eSk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXSkpfWlmKGE9PT0xKXt2YXIgZixnO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZj1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmYuaW50ZXJuYWwpfHxbXSksdygoYz09bnVsbD92b2lkIDA6KGc9Yy5fZXZlbnQpPT1udWxsP3ZvaWQgMDpnLmV4dGVybmFsKXx8W10pKX1yZXR1cm5bXX07Cm1CLnByb3RvdHlwZS5nZXRFeHRlcm5hbFJlc3RyaWN0aW9ucz1mdW5jdGlvbihhLGIpe3ZhciBjPW5CKHRoaXMsYiksZCxlO3JldHVybiBhPT09MD8oYz09bnVsbD92b2lkIDA6KGQ9Yy5fZW50aXR5KT09bnVsbD92b2lkIDA6ZC5leHRlcm5hbCl8fFtdOihjPT1udWxsP3ZvaWQgMDooZT1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXX07bUIucHJvdG90eXBlLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zPWZ1bmN0aW9uKGEpe3ZhciBiPW5CKHRoaXMsYSk7Yi5fZXZlbnQmJihiLl9ldmVudC5leHRlcm5hbD1bXSk7Yi5fZW50aXR5JiYoYi5fZW50aXR5LmV4dGVybmFsPVtdKTt0aGlzLkhbYV09ITB9O2Z1bmN0aW9uIGlCKCl7cmV0dXJuIGtqKCJyIixmdW5jdGlvbigpe3JldHVybiBuZXcgbUJ9KX07ZnVuY3Rpb24gb0IoYSxiLGMsZCl7dmFyIGU9Y0EudGFnc1thXSxmPXBCKGEsYixjLGQpO2lmKCFmKXJldHVybiBudWxsO3ZhciBnPVp6KGUsYyk7aWYoZyYmZy5sZW5ndGgpe3ZhciBoPWdbMF07Zj1vQihoLmluZGV4LHtvblN1Y2Nlc3M6ZixvbkZhaWx1cmU6aC5ibz09PTE/Yi50ZXJtaW5hdGU6Zix0ZXJtaW5hdGU6Yi50ZXJtaW5hdGV9LGMsZCl9cmV0dXJuIGZ9CmZ1bmN0aW9uIHBCKGEsYixjLGQpe2Z1bmN0aW9uIGUoKXtmdW5jdGlvbiB5KCl7aW0oMyk7dmFyIFM9TmIoKS1OO0pBKDEsYSxmLmdldE5hbWUoKSk7Z0IoYy5pZCxnLCI3Iik7T0EoYy5sZCxELCJleGNlcHRpb24iLFMpO2ZuLkgmJkZ6KGMsZyxJeS5YLnVqKTtJfHwoST0hMCxsKCkpfWlmKGYuSWFbR2YuT3FdKWwoKTtlbHNle3ZhciB6PWFBKGYsYyk7aWYoeiE9bnVsbClmb3IodmFyIEM9MDtDPHoubGVuZ3RoO0MrKylpZighWG8oeltDXSkpe2woKTtyZXR1cm59dmFyIEQ9TkEoYy5sZCxmLk8sZi50YWdJZCxmLmdldE1ldGFkYXRhKGMpKSxJPSExLEc9e3Z0cF9ndG1PblN1Y2Nlc3M6ZnVuY3Rpb24oKXtpZighSSl7ST0hMDt2YXIgUz1OYigpLU47Z0IoYy5pZCxnLCI1Iik7T0EoYy5sZCxELCJzdWNjZXNzIixTKTtmbi5IJiZGeihjLGcsSXkuWC53aik7aCgpfX0sdnRwX2d0bU9uRmFpbHVyZTpmdW5jdGlvbigpe2lmKCFJKXtJPSEwO3ZhciBTPU5iKCktTjtnQihjLmlkLGcsIjYiKTsKT0EoYy5sZCxELCJmYWlsdXJlIixTKTtmbi5IJiZGeihjLGcsSXkuWC52aik7bCgpfX19O0cudnRwX2d0bUV2ZW50SWQ9Yy5pZDtjLnByaW9yaXR5SWQmJihHLnZ0cF9ndG1Qcmlvcml0eUlkPWMucHJpb3JpdHlJZCk7Z0IoYy5pZCxnLCIxIik7Zm4uSCYmRXooYyxnKTt2YXIgTj1OYigpO3RyeXtmLmV2YWx1YXRlKGMsZCxHKX1jYXRjaChTKXt5KFMpfWZuLkgmJkZ6KGMsZyxJeS5YLkNuKX19dmFyIGY9Y0EudGFnc1thXSxnPWYuRmcoKSxoPWIub25TdWNjZXNzLGw9Yi5vbkZhaWx1cmUsbj1iLnRlcm1pbmF0ZTtpZihjLmlzQmxvY2tlZChnKSlyZXR1cm4gbnVsbDt2YXIgcD0keihmLGMpO2lmKHAmJnAubGVuZ3RoKXt2YXIgcT1wWzBdLHI9b0IocS5pbmRleCx7b25TdWNjZXNzOmgsb25GYWlsdXJlOmwsdGVybWluYXRlOm59LGMsZCk7aWYoIXIpcmV0dXJuIG51bGw7aD1yO2w9cS5ibz09PTI/bjpyfWlmKGYuSWFbR2Yua25dfHxmLklhW0dmLlFxXSl7dmFyIHQ9Zi5JYVtHZi5rbl0/CmNBLnZrOmMudmssdT1oLHY9bDtpZighdFthXSl7dmFyIHg9cUIoYSx0LFBiKGUpKTtoPXgub25TdWNjZXNzO2w9eC5vbkZhaWx1cmV9cmV0dXJuIGZ1bmN0aW9uKCl7dFthXSh1LHYpfX1yZXR1cm4gZX1mdW5jdGlvbiBxQihhLGIsYyl7dmFyIGQ9W10sZT1bXTtiW2FdPXJCKGQsZSxjKTtyZXR1cm57b25TdWNjZXNzOmZ1bmN0aW9uKCl7YlthXT1zQjtmb3IodmFyIGY9MDtmPGQubGVuZ3RoO2YrKylkW2ZdKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2JbYV09dEI7Zm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspZVtmXSgpfX19ZnVuY3Rpb24gckIoYSxiLGMpe3JldHVybiBmdW5jdGlvbihkLGUpe2EucHVzaChkKTtiLnB1c2goZSk7YygpfX1mdW5jdGlvbiBzQihhKXthKCl9ZnVuY3Rpb24gdEIoYSxiKXtiKCl9O3ZhciB3Qj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxjQS50YWdzLmxlbmd0aDtkKyspaWYoYVtkXSl7dmFyIGU9Y0EudGFnc1tkXTt2YXIgZj1RQShiLmxkKTt0cnl7dmFyIGc9b0IoZCx7b25TdWNjZXNzOmYsb25GYWlsdXJlOmYsdGVybWluYXRlOmZ9LGIsZCk7aWYoZyl7dmFyIGg9UXpbZS5PXTtjLnB1c2goe05vOmQscHJpb3JpdHlPdmVycmlkZTooaD9oLnByaW9yaXR5T3ZlcnJpZGV8fDA6MCl8fEtBKGUuTywxKXx8MCxleGVjdXRlOmd9KX1lbHNlIHVCKGQsYiksZigpfWNhdGNoKG4pe2YoKX19Yy5zb3J0KHZCKTtmb3IodmFyIGw9MDtsPGMubGVuZ3RoO2wrKyljW2xdLmV4ZWN1dGUoKTtyZXR1cm4gYy5sZW5ndGg+MH07CmZ1bmN0aW9uIHhCKGEsYil7aWYoIUhBKXJldHVybiExO3ZhciBjPWFbImd0bS50cmlnZ2VycyJdJiZTdHJpbmcoYVsiZ3RtLnRyaWdnZXJzIl0pLGQ9SUEoYS5ldmVudCxjP1N0cmluZyhjKS5zcGxpdCgiLCIpOltdKTtpZighZC5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPVFBKGIpO3RyeXtkW2VdKGEsZil9Y2F0Y2goZyl7ZigpfX1yZXR1cm4hMH1mdW5jdGlvbiB2QihhLGIpe3ZhciBjLGQ9Yi5wcmlvcml0eU92ZXJyaWRlLGU9YS5wcmlvcml0eU92ZXJyaWRlO2M9ZD5lPzE6ZDxlPy0xOjA7dmFyIGY7aWYoYyE9PTApZj1jO2Vsc2V7dmFyIGc9YS5ObyxoPWIuTm87Zj1nPmg/MTpnPGg/LTE6MH1yZXR1cm4gZn0KZnVuY3Rpb24gdUIoYSxiKXtpZihmbi5OKXt2YXIgYz1mdW5jdGlvbihkKXt2YXIgZT1iLmlzQmxvY2tlZChjQS50YWdzW2RdLkZnKCkpPyIzIjoiNCIsZj1aeihjQS50YWdzW2RdLGIpO2YmJmYubGVuZ3RoJiZjKGZbMF0uaW5kZXgpO2dCKGIuaWQsY0EudGFnc1tkXS5GZygpLGUpO3ZhciBnPSR6KGNBLnRhZ3NbZF0sYik7ZyYmZy5sZW5ndGgmJmMoZ1swXS5pbmRleCl9O2MoYSl9fXZhciBIQTtmdW5jdGlvbiB5Qigpe0hBfHwoSEE9bmV3IEdBKTtyZXR1cm4gSEF9CmZ1bmN0aW9uIHpCKGEpe3ZhciBiPWFbImd0bS51bmlxdWVFdmVudElkIl0sYz1hWyJndG0ucHJpb3JpdHlJZCJdLGQ9YVsiZ3RtLnByaW9yaXR5UXVldWUiXSxlPWEuZXZlbnQ7Zm4uSCYmdnooYixlKTtpZihlPT09Imd0bS5qcyIpe2lmKCRrKDEzKSlyZXR1cm4hMTtaaygxMywhMCl9dmFyIGY9ITEsZz1sQigpLGg9RWQoYSxudWxsKTtpZighZy5ldmVyeShmdW5jdGlvbih1KXtyZXR1cm4gdSh7b3JpZ2luYWxFdmVudERhdGE6aH0pfSkpe2lmKGUhPT0iZ3RtLmpzIiYmZSE9PSJndG0uaW5pdCImJmUhPT0iZ3RtLmluaXRfY29uc2VudCIpcmV0dXJuITE7Zj0hMH1kQihiLGUpO3ZhciBsPWEuZXZlbnRDYWxsYmFjayxuPWEuZXZlbnRUaW1lb3V0LHA9e2lkOmIscHJpb3JpdHlJZDpjLHByaW9yaXR5UXVldWU6ZCxuYW1lOmUsaXNCbG9ja2VkOkFCKGgsZiksdms6W10sbG9nTWFjcm9FcnJvcjpmdW5jdGlvbih1LHYseCl7UCg2KTtpbSg0KTtKQSgyLHYseCl9LGNhY2hlZE1vZGVsVmFsdWVzOkJCKCksCmxkOm5ldyBNQShmdW5jdGlvbigpe2ZuLkgmJnl6KGIsZSk7RnkoNSxlKTtsJiZsLmFwcGx5KGwsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKX0sbiksb3JpZ2luYWxFdmVudERhdGE6aH07Zm4uSCYmQ3oocC5pZCk7dmFyIHE9RUEocCk7Zm4uSCYmRHoocC5pZCk7RnkoMixlKTtjQS5nZXRSdWxlcygpO2YmJihxPUNCKHEpKTtmbi5IJiZ3eihiKTt2YXIgcj13QihxLHApO3ImJkZ5KDQsZSk7dmFyIHQ9eEIoYSxwLmxkKTtSQShwLmxkKTtlIT09Imd0bS5qcyImJmUhPT0iZ3RtLnN5bmMifHxYQSgpO3JldHVybiBEQihxLHIpfHx0fQpmdW5jdGlvbiBCQigpe3ZhciBhPXt9O2EuZXZlbnQ9dkEoImV2ZW50IiwxKTthLmVjb21tZXJjZT12QSgiZWNvbW1lcmNlIiwxKTthLmd0bT12QSgiZ3RtIik7YS5ldmVudE1vZGVsPXZBKCJldmVudE1vZGVsIik7cmV0dXJuIGF9CmZ1bmN0aW9uIEFCKGEsYil7dmFyIGM9QUEoKTtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9YyhkKTtpZihlKXJldHVybiEwO3ZhciBmPWQmJmRbR2YuWWJdO2lmKCFmfHx0eXBlb2YgZiE9PSJzdHJpbmciKXJldHVybiEwO2Y9Zi5yZXBsYWNlKC9eXyovLCIiKTt2YXIgZz1qQigpLGg9YTtiJiYoaD1FZChhLG51bGwpLGhbImd0bS51bmlxdWVFdmVudElkIl09TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO2Zvcih2YXIgbD0hMSxuPWFsKDI3LGZ1bmN0aW9uKCl7cmV0dXJue319KVtmXXx8W10scD1tKGcpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlO3RyeXtyKHtlbnRpdHlJZDpmLHNlY3VyaXR5R3JvdXBzOm4sb3JpZ2luYWxFdmVudERhdGE6aH0pfHwobD0hMCl9Y2F0Y2godCl7bD0hMH19cmV0dXJuIGx8fGV9fQpmdW5jdGlvbiBDQihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10pe3ZhciBkPWNBLnRhZ3NbY10uTztpZihCaltkXXx8Y0EudGFnc1tjXS5JYVtHZi5ScV0hPT12b2lkIDB8fEtBKGQsMikpYltjXT0hMH1yZXR1cm4gYn1mdW5jdGlvbiBEQihhLGIpe2lmKCFiKXJldHVybiBiO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmNBLnRhZ3NbY10mJiFDaltjQS50YWdzW2NdLk9dKXJldHVybiEwO3JldHVybiExfTt2YXIgRUI9TmYoNjEsMUUzKSxGQj1OZig2OCwyRTMpLFpvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl07ZnVuY3Rpb24gR0IoYSxiKXtpZihhKXt2YXIgYz1raigiZ3RoIixmdW5jdGlvbigpe3JldHVybnt9fSksZDthIT09Mnx8KChkPUhCKCkpPT1udWxsP3ZvaWQgMDpkLnN0YXR1cykhPT0zfHxiIT09dm9pZCAwJiZiPD1GQnx8KGE9MyxjLmRsPWI/TWF0aC5mbG9vcihiLzFFMyk6dm9pZCAwKTtjLnM9YTtJQihjKX19ZnVuY3Rpb24gSUIoYSl7aWYoYS5zKXt2YXIgYj1mdW5jdGlvbigpe3ZhciBjPXtzdGF0dXM6YS5zLGV4cGlyZXM6RGF0ZS5ub3coKSs4NjRFNX07YS5kbCE9PXZvaWQgMCYmKGMuZGVsYXk9YS5kbCk7a3IoImd0Z19sb2FkX3N0YXR1cyIsYyl9O2JwKGZ1bmN0aW9uKCl7aWYoWW8oKSliKCk7ZWxzZSBmb3IodmFyIGM9UGIoYiksZD1tKFpvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlJbChjLGUudmFsdWUpfSxabyl9fQpmdW5jdGlvbiBKQigpe3ZhciBhPUtCKCEwKTtyZXR1cm4gYT8oTEIoYS5zdGF0dXMsYS5kZWxheSksITEpOiEwfWZ1bmN0aW9uIEtCKGEpe2E9YT09PXZvaWQgMD8hMTphO2lmKGFrKCkpe3ZhciBiPW5yKCJndGdfbG9hZF9zdGF0dXMiKSxjPWIudmFsdWUsZD1hJiZBYihjPT1udWxsP3ZvaWQgMDpjLmV4cGlyZXMpJiYoYz09bnVsbD92b2lkIDA6Yy5leHBpcmVzKTxEYXRlLm5vdygpKzM2RTU7aWYoYi5lcnJvcj09PTAmJkFiKGM9PW51bGw/dm9pZCAwOmMuc3RhdHVzKSYmIWQpe3ZhciBlPXtzdGF0dXM6Yy5zdGF0dXN9OyhjPT1udWxsP3ZvaWQgMDpjLmRlbGF5KSE9PXZvaWQgMCYmKGUuZGVsYXk9Yy5kZWxheSk7cmV0dXJuIGV9cmV0dXJuIEhCKCl9fWZ1bmN0aW9uIExCKGEsYil7dmFyIGM9a2ooImd0aCIsZnVuY3Rpb24oKXtyZXR1cm57fX0pO2Mucz1hO2IhPT12b2lkIDAmJihjLmRsPWIpfQpmdW5jdGlvbiBIQigpe3ZhciBhPW1qKCJndGgiKTtpZihhIT1udWxsJiZhLnMpe3ZhciBiPXtzdGF0dXM6YS5zfTthLmRsIT09dm9pZCAwJiYoYi5kZWxheT1hLmRsKTtyZXR1cm4gYn19ZnVuY3Rpb24gTUIoKXt2YXIgYTsoKGE9SEIoKSk9PW51bGw/dm9pZCAwOmEuc3RhdHVzKT09PTEmJkdCKDMpfWZ1bmN0aW9uIE5CKCl7aWYoSkIoKSl7dmFyIGE9RGF0ZS5ub3coKTtuaigiZ3RoIix7bDpmdW5jdGlvbigpe0dCKDIsRGF0ZS5ub3coKS1hKX0sczoxfSk7dmFyIGI9RSg1KSxjPVNiKGIsIkdUTS0iKT8iL2d0bS5qcyI6Ii9ndGFnL2pzIixkPSJodHRwczovLyIrRSgzKStjKyI/aWQ9IitiKyImZ3RnX2hlYWx0aD0xIjtVYyhkLE1CLE1CKTtBLnNldFRpbWVvdXQoTUIsRUIpfX07ZnVuY3Rpb24gT0IoKXt5QigpLmFkZExpc3RlbmVyKCJndG0uaW5pdCIsZnVuY3Rpb24oYSxiKXtaaygyNiwhMCk7TSg1NTYpJiZhaygpJiYhSWYoNDUpJiYoZm8uSFtjby5pYS5aYl09Ym8uTWEuTGgpO2lmKGFrKCkpe3ZhciBjO2M9bG8oY28uaWEuWmIpO2dvKGMpP2lvKGMsTkIpOk5CKCl9dG8oITEsITApO2IoKX0pfTtmdW5jdGlvbiBQQigpe2lmKG1qKCJwc2NkbCIpIT09dm9pZCAwKW5tKGptLmJhLm9pKT09PXZvaWQgMCYmbW0oam0uYmEub2ksbWooInBzY2RsIikpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oYyl7bmooInBzY2RsIixjKTttbShqbS5iYS5vaSxjKX0sYj1mdW5jdGlvbigpe2EoImVycm9yIil9O3RyeXtIYy5jb29raWVEZXByZWNhdGlvbkxhYmVsPyhhKCJwZW5kaW5nIiksSGMuY29va2llRGVwcmVjYXRpb25MYWJlbC5nZXRWYWx1ZSgpLnRoZW4oYSkuY2F0Y2goYikpOmEoIm5vYXBpIil9Y2F0Y2goYyl7YihjKX19fTt2YXIgUkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMucmVhZHk9ITE7dGhpcy5LPTA7dGhpcy5IPVtdO3ZhciBiPUE7aWYoQi5yZWFkeVN0YXRlPT09ImludGVyYWN0aXZlIiYmIUIuY3JlYXRlRXZlbnRPYmplY3R8fEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vblJlYWR5KCk7ZWxzZXskYyhCLCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTskYyhCLCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTtpZihCLmNyZWF0ZUV2ZW50T2JqZWN0JiZCLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCl7dmFyIGM9ITA7dHJ5e2M9IWIuZnJhbWVFbGVtZW50fWNhdGNoKGQpe31jJiZRQih0aGlzKX0kYyhiLCJsb2FkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KX19O1JCLnByb3RvdHlwZS5pc1JlYWR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZHl9OwpSQi5wcm90b3R5cGUub25SZWFkeT1mdW5jdGlvbihhKXtpZighdGhpcy5yZWFkeSl7dmFyIGI9Qi5jcmVhdGVFdmVudE9iamVjdCxjPUIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIsZD1CLnJlYWR5U3RhdGU9PT0iaW50ZXJhY3RpdmUiO2lmKCFhfHxhLnR5cGUhPT0icmVhZHlzdGF0ZWNoYW5nZSJ8fGN8fCFiJiZkKXt0aGlzLnJlYWR5PSEwO2Zvcih2YXIgZT0wO2U8dGhpcy5ILmxlbmd0aDtlKyspYmQodGhpcy5IW2VdKX10aGlzLkgucHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz0wO2c8Zi5sZW5ndGg7ZysrKWJkKGZbZ10pO3JldHVybiAwfX19Owp2YXIgUUI9ZnVuY3Rpb24oYSl7aWYoIWEucmVhZHkmJmEuSzwxNDApe2EuSysrO3RyeXt2YXIgYixjOyhjPShiPUIuZG9jdW1lbnRFbGVtZW50KS5kb1Njcm9sbCk9PW51bGx8fGMuY2FsbChiLCJsZWZ0Iik7YS5vblJlYWR5KCl9Y2F0Y2goZCl7QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgUUIoYSl9LDUwKX19fSxTQjtmdW5jdGlvbiBUQigpe1NCfHwoU0I9bmV3IFJCKX1mdW5jdGlvbiBVQigpe1RCKCk7dmFyIGE7cmV0dXJuKGE9U0IpPT1udWxsP3ZvaWQgMDphLmlzUmVhZHkoKX1mdW5jdGlvbiBWQihhKXtUQigpO3ZhciBiOyhiPVNCKSE9bnVsbCYmKGIucmVhZHk/YmQoYSk6Yi5ILnB1c2goYSkpfTt2YXIgWEI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVdCLGU7aWYoKGU9ZC5IKT09bnVsbHx8IWUuT3Ipe3ZhciBmPU9iamVjdC5rZXlzKGIpLmxlbmd0aD4wPzI6MSxnLGgsbD0oYz09bnVsbD92b2lkIDA6KGg9Yy5vcmlnaW5hdGluZ0VudGl0eSk9PW51bGw/dm9pZCAwOmgub3JpZ2luQ29udGFpbmVySWQpfHwiIjtnPWw/U2IobCwiR1RNLSIpPzM6MjoxO2lmKCFhKWQuSD17dHlwZTpmLHNvdXJjZTpnLHBhcmFtczpifTtlbHNlIGlmKGQuSCl7UCgxODQpO3ZhciBuPSExO2QuSC5zb3VyY2U9PT1nfHxkLkguc291cmNlIT09MyYmZyE9PTN8fChVbSgiaWRjcyIsIjEiKSxuPSEwKTtkLkgudHlwZSE9PTImJmYhPT0yfHxQKDE4Nik7dmFyIHA7aWYocD1kLkgudHlwZT09PTImJmY9PT0yKWE6e3ZhciBxPWQuSC5wYXJhbXMscj1PYmplY3Qua2V5cyhxKSx0PU9iamVjdC5rZXlzKGIpO2lmKHIubGVuZ3RoIT09dC5sZW5ndGgpcD0hMDtlbHNle2Zvcih2YXIgdT1tKHIpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtpZighYi5oYXNPd25Qcm9wZXJ0eSh4KXx8cVt4XSE9PWJbeF0pe3A9ITA7YnJlYWsgYX19cD0hMX19cCYmKFVtKCJpZGNjIiwiMSIpLG49ITApO24mJih0bygpLGQuSC5Pcj0hMCl9fX0sV0I9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXZvaWQgMH07dmFyIFpCPWZ1bmN0aW9uKGEpe3ZhciBiPVlCOyghZm4uS3x8U2IoRSg1KSwiR1RNLSIpPzA6YT09PXZvaWQgMCkmJmIuSD09PTAmJihVbSgibWNjIiwiMSIpLGIuSD0xKX0sWUI9bmV3IGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9MDtVbSgibmNjIixmdW5jdGlvbigpe2lmKElmKDQ1KSYmYS5IIT09MilyZXR1cm4iMSJ9KX07dmFyICRCPS9eKD86QVd8REN8R3xHRnxHVHxIQXxNQ3xVQSkkLyxhQz0vXHMvOwpmdW5jdGlvbiBiQyhhLGIpe2lmKHpiKGEpKXthPUxiKGEpO3ZhciBjPWEuaW5kZXhPZigiLSIpO2lmKCEoYzwwKSl7dmFyIGQ9YS5zdWJzdHJpbmcoMCxjKTtpZigkQi50ZXN0KGQpKXt2YXIgZT1hLnN1YnN0cmluZyhjKzEpLGY7aWYoYil7dmFyIGc9ZnVuY3Rpb24obil7dmFyIHA9bi5pbmRleE9mKCIvIik7cmV0dXJuIHA8MD9bbl06W24uc3Vic3RyaW5nKDAscCksbi5zdWJzdHJpbmcocCsxKV19O2Y9ZyhlKTtpZihkPT09IkRDIiYmZi5sZW5ndGg9PT0yKXt2YXIgaD1nKGZbMV0pO2gubGVuZ3RoPT09MiYmKGZbMV09aFswXSxmLnB1c2goaFsxXSkpfX1lbHNle2Y9ZS5zcGxpdCgiLyIpO2Zvcih2YXIgbD0wO2w8Zi5sZW5ndGg7bCsrKWlmKCFmW2xdfHxhQy50ZXN0KGZbbF0pJiYoZCE9PSJBVyJ8fGwhPT0xKSlyZXR1cm59cmV0dXJue2lkOmEscHJlZml4OmQsZGVzdGluYXRpb25JZDpkKyItIitmWzBdLGlkczpmLEpjOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWQhPT10aGlzLmRlc3RpbmF0aW9uSWR9fX19fX0KZnVuY3Rpb24gY0MoYSxiKXtmb3IodmFyIGM9e30sZD0wO2Q8YS5sZW5ndGg7KytkKXt2YXIgZT1iQyhhW2RdLGIpO2UmJihjW2UuaWRdPWUpfXZhciBmPVtdLGc7Zm9yKGcgaW4gYylpZihjLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1jW2ddO2gucHJlZml4PT09IkFXIiYmaC5pZHNbZENbMV1dJiZmLnB1c2goaC5kZXN0aW5hdGlvbklkKX1mb3IodmFyIGw9MDtsPGYubGVuZ3RoOysrbClkZWxldGUgY1tmW2xdXTtmb3IodmFyIG49W10scD1tKE9iamVjdC5rZXlzKGMpKSxxPXAubmV4dCgpOyFxLmRvbmU7cT1wLm5leHQoKSluLnB1c2goY1txLnZhbHVlXSk7cmV0dXJuIG59dmFyIGVDPXt9LGRDPShlQ1swXT0wLGVDWzFdPTEsZUNbMl09MixlQ1szXT0wLGVDWzRdPTEsZUNbNV09MCxlQ1s2XT0wLGVDWzddPTAsZUMpO3ZhciBmQz17aW5pdGlhbGl6ZWQ6MTEsY29tcGxldGU6MTIsaW50ZXJhY3RpdmU6MTN9LGdDPXt9LGhDPU9iamVjdC5mcmVlemUoKGdDW0YuRC5UZF09ITAsZ0MpKSxpQz1mdW5jdGlvbigpe3RoaXMuUj1OZigzNCw1MDApO3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5LPXZvaWQgMH0sakM9ZnVuY3Rpb24oYSxiLGMpe2lmKGMubGVuZ3RoJiZmbi5LKXt2YXIgZDsoZD1hLkgpW2JdIT1udWxsfHwoZFtiXT1bXSk7dmFyIGU7KGU9YS5OKVtiXSE9bnVsbHx8KGVbYl09W10pO3ZhciBmPWMuZmlsdGVyKGZ1bmN0aW9uKGcpe3JldHVybiFhLk5bYl0uaW5jbHVkZXMoZyl9KTthLkhbYl0ucHVzaC5hcHBseShhLkhbYl0sdyhmKSk7YS5OW2JdLnB1c2guYXBwbHkoYS5OW2JdLHcoZikpOyFhLksmJmYubGVuZ3RoPjAmJihWbSgidGRjIiwhMCksYS5LPUEuc2V0VGltZW91dChmdW5jdGlvbigpe3RvKCk7YS5IPXt9O2EuSz12b2lkIDB9LGEuUikpfX07CmlDLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztVbSgidGRjIixmdW5jdGlvbigpe2EuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCk7dmFyIGI9W10sYztmb3IoYyBpbiBhLkgpYS5ILmhhc093blByb3BlcnR5KGMpJiZiLnB1c2goYysiKiIrYS5IW2NdLmpvaW4oIi4iKSk7cmV0dXJuIGIubGVuZ3RoP2Iuam9pbigiISIpOnZvaWQgMH0sITEpfTsKdmFyIGtDPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZDtmb3IoZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPSEwKTtmb3IodmFyIGUgaW4gYSlhLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT0hMCk7cmV0dXJuIGN9LGxDPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwP3t9OmQ7ZT1lPT09dm9pZCAwPyIiOmU7aWYoYj09PWMpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24odCx1KXt2YXIgdjtBZCh1KT09PSJvYmplY3QiP3Y9dVt0XTpBZCh1KT09PSJhcnJheSImJih2PXVbdF0pO3JldHVybiB2PT09dm9pZCAwP2hDW3RdOnZ9LGc9a0MoYixjKSxoO2ZvcihoIGluIGcpaWYoZy5oYXNPd25Qcm9wZXJ0eShoKSYmaCE9PUYuRC5YYil7dmFyIGw9KGU/ZSsiLiI6IiIpK2gsbj1mKGgsYikscD1mKGgsYykscT1BZChuKT09PSJvYmplY3QifHxBZChuKT09PSJhcnJheSIscj1BZChwKT09PSJvYmplY3QifHxBZChwKT09PSJhcnJheSI7aWYocSYmcilsQyhhLG4scCxkLGwpOwplbHNlIGlmKHF8fHJ8fG4hPT1wKWRbbF09ITB9cmV0dXJuIE9iamVjdC5rZXlzKGQpfSxtQz1uZXcgaUM7dmFyIG5DPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSz1OYigpO3RoaXMuSD1iO3RoaXMuYXJncz1jO3RoaXMubWVzc2FnZUNvbnRleHQ9ZDt0aGlzLnR5cGU9YX0sb0M9ZnVuY3Rpb24oKXt0aGlzLldhPXt9O3RoaXMuaWI9e307dGhpcy5LPXt9O3RoaXMuTj1udWxsO3RoaXMuaGI9e307dGhpcy5IPSExO3RoaXMuc3RhdHVzPTF9O2Z1bmN0aW9uIHBDKGEsYil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0xP3FDKCJzZXQiLGEpOnFDKCJzZXQiLGEsYil9ZnVuY3Rpb24gckMoYSxiKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09PTE/cUMoImNvbmZpZyIsYSk6cUMoImNvbmZpZyIsYSxiKX1mdW5jdGlvbiBzQyhhLGIsYyl7Yz1jfHx7fTtjW0YuRC5YYl09YTtyZXR1cm4gcUMoImV2ZW50IixiLGMpfWZ1bmN0aW9uIHFDKCl7cmV0dXJuIGFyZ3VtZW50c307dmFyIHRDPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxsLG4scCxxLHIpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9ZDt0aGlzLldhPWU7dGhpcy5oYj1mO3RoaXMuSGM9Zzt0aGlzLkJnPWg7dGhpcy5pYj1sO3RoaXMuZXZlbnRNZXRhZGF0YT1uO3RoaXMub25TdWNjZXNzPXA7dGhpcy5vbkZhaWx1cmU9cTt0aGlzLmlzR3RtRXZlbnQ9cn0sdUM9ZnVuY3Rpb24oYSl7dmFyIGI9e29uU3VjY2Vzczp4YixvbkZhaWx1cmU6eGJ9O2I9Yj09PXZvaWQgMD97fTpiO3ZhciBjLGQsZSxmLGcsaCxsLG4scCxxLHIsdCx1LHYseCx5LHosQyxELEksRyxOLFMsVyxlYSxqYTtyZXR1cm4gbmV3IHRDKCh2PShjPWIpPT1udWxsP3ZvaWQgMDpjLmV2ZW50SWQpIT1udWxsP3Y6YS5ldmVudElkLCh4PShkPWIpPT1udWxsP3ZvaWQgMDpkLnByaW9yaXR5SWQpIT1udWxsP3g6YS5wcmlvcml0eUlkLCh5PShlPWIpPT1udWxsP3ZvaWQgMDplLnByaW9yaXR5UXVldWUpIT0KbnVsbD95OmEucHJpb3JpdHlRdWV1ZSwoej0oZj1iKT09bnVsbD92b2lkIDA6Zi5FYSkhPW51bGw/ejphLkVhLChDPShnPWIpPT1udWxsP3ZvaWQgMDpnLldhKSE9bnVsbD9DOmEuV2EsKEQ9KGg9Yik9PW51bGw/dm9pZCAwOmguaGIpIT1udWxsP0Q6YS5oYiwoST0obD1iKT09bnVsbD92b2lkIDA6bC5IYykhPW51bGw/STphLkhjLChHPShuPWIpPT1udWxsP3ZvaWQgMDpuLkJnKSE9bnVsbD9HOmEuQmcsKE49KHA9Yik9PW51bGw/dm9pZCAwOnAuaWIpIT1udWxsP046YS5pYiwoUz0ocT1iKT09bnVsbD92b2lkIDA6cS5ldmVudE1ldGFkYXRhKSE9bnVsbD9TOmEuZXZlbnRNZXRhZGF0YSwoVz0ocj1iKT09bnVsbD92b2lkIDA6ci5vblN1Y2Nlc3MpIT1udWxsP1c6YS5vblN1Y2Nlc3MsKGVhPSh0PWIpPT1udWxsP3ZvaWQgMDp0Lm9uRmFpbHVyZSkhPW51bGw/ZWE6YS5vbkZhaWx1cmUsKGphPSh1PWIpPT1udWxsP3ZvaWQgMDp1LmlzR3RtRXZlbnQpIT1udWxsP2phOmEuaXNHdG1FdmVudCl9LAp2Qz1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO3N3aXRjaChiKXtjYXNlIDM6Yy5wdXNoKGEuRWEpO2MucHVzaChhLldhKTtjLnB1c2goYS5oYik7Yy5wdXNoKGEuSGMpO2MucHVzaChhLmliKTticmVhaztjYXNlIDI6Yy5wdXNoKGEuRWEpO2JyZWFrO2Nhc2UgMTpjLnB1c2goYS5XYSk7Yy5wdXNoKGEuaGIpO2MucHVzaChhLkhjKTtjLnB1c2goYS5pYik7YnJlYWs7Y2FzZSA0OmMucHVzaChhLkVhKSxjLnB1c2goYS5XYSksYy5wdXNoKGEuaGIpLGMucHVzaChhLkhjKX1yZXR1cm4gY30sTz1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9bSh2QyhhLGQ9PT12b2lkIDA/MzpkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZ1tiXSE9PXZvaWQgMClyZXR1cm4gZ1tiXX1yZXR1cm4gY30sd0M9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9dkMoYSw0KSxkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZm9yKHZhciBmPU9iamVjdC5rZXlzKGUudmFsdWUpLApnPW0oZiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpYltoLnZhbHVlXT0xO3JldHVybiBPYmplY3Qua2V5cyhiKX07dEMucHJvdG90eXBlLmdldE1lcmdlZFZhbHVlcz1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPzM6Yjt2YXIgZD17fSxlPSExLGY9ZnVuY3Rpb24obil7Q2QobikmJkdiKG4sZnVuY3Rpb24ocCxxKXtlPSEwO2RbcF09cX0pfTtjJiZmKGMpO3ZhciBnPXZDKHRoaXMsYik7Zy5yZXZlcnNlKCk7Zm9yKHZhciBoPW0oZyksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpZihsLnZhbHVlW2FdKTtyZXR1cm4gZT9kOnZvaWQgMH07CnZhciB4Qz1mdW5jdGlvbihhKXtmb3IodmFyIGI9W0YuRC5LZixGLkQuR2YsRi5ELkhmLEYuRC5JZixGLkQuSmYsRi5ELkxmLEYuRC5NZl0sYz12QyhhLDMpLGQ9bShjKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7Zm9yKHZhciBmPWUudmFsdWUsZz17fSxoPSExLGw9bShiKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtmW3BdIT09dm9pZCAwJiYoZ1twXT1mW3BdLGg9ITApfXZhciBxPWg/Zzp2b2lkIDA7aWYocSlyZXR1cm4gcX1yZXR1cm57fX0seUM9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9e307dGhpcy5XYT17fTt0aGlzLmhiPXt9O3RoaXMuSGM9e307dGhpcy5CZz17fTt0aGlzLmliPXt9O3RoaXMuZXZlbnRNZXRhZGF0YT17fTt0aGlzLmlzR3RtRXZlbnQ9ITE7dGhpcy5vblN1Y2Nlc3M9ZnVuY3Rpb24oKXt9O3RoaXMub25GYWlsdXJlPQpmdW5jdGlvbigpe319LHpDPWZ1bmN0aW9uKGEsYil7YS5FYT1iO3JldHVybiBhfSxBQz1mdW5jdGlvbihhLGIpe2EuV2E9YjtyZXR1cm4gYX0sQkM9ZnVuY3Rpb24oYSxiKXthLmhiPWI7cmV0dXJuIGF9LENDPWZ1bmN0aW9uKGEsYil7YS5IYz1iO3JldHVybiBhfSxEQz1mdW5jdGlvbihhLGIpe2EuQmc9YjtyZXR1cm4gYX0sRUM9ZnVuY3Rpb24oYSxiKXthLmliPWI7cmV0dXJuIGF9LEZDPWZ1bmN0aW9uKGEsYil7YS5ldmVudE1ldGFkYXRhPWJ8fHt9O3JldHVybiBhfSxHQz1mdW5jdGlvbihhLGIpe2Eub25TdWNjZXNzPWI7cmV0dXJuIGF9LEhDPWZ1bmN0aW9uKGEsYil7YS5vbkZhaWx1cmU9YjtyZXR1cm4gYX0sSUM9ZnVuY3Rpb24oYSxiKXthLmlzR3RtRXZlbnQ9YjtyZXR1cm4gYX0sSkM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyB0QyhhLmV2ZW50SWQsYS5wcmlvcml0eUlkLGEucHJpb3JpdHlRdWV1ZSxhLkVhLGEuV2EsYS5oYixhLkhjLGEuQmcsYS5pYixhLmV2ZW50TWV0YWRhdGEsCmEub25TdWNjZXNzLGEub25GYWlsdXJlLGEuaXNHdG1FdmVudCl9O2Z1bmN0aW9uIEtDKGEsYil7R2IoYSxmdW5jdGlvbihjKXt2YXIgZDtpZihkPWMuY2hhckF0KDApPT09Il8iKXt2YXIgZTthOnN3aXRjaChjKXtjYXNlIEYuRC5WYjpjYXNlIEYuRC5SZjpjYXNlIEYuRC5zaDplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWQ9IWV9ZCYmKGImJmIoYyksZGVsZXRlIGFbY10pfSl9O3ZhciBMQz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbImVwciIsZi5qb2luKCIuIildKTtkJiZkZWxldGUgYS5IW2NdO3JldHVybiBlfSl9LE5DPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NQztmbi5OJiZhIT09dm9pZCAwJiYoZC5IW2FdPWQuSFthXXx8W10sZC5IW2FdLnB1c2goYytiKSxneigpLGV6KGEpKX0sTUM7ZnVuY3Rpb24gT0MoKXtNQ3x8KE1DPW5ldyBMQyl9O3ZhciBQQz1mdW5jdGlvbigpe3RoaXMuZGVzdGluYXRpb25zPXt9O3RoaXMuSD17fTt0aGlzLmNvbW1hbmRzPVtdfSxRQz1mdW5jdGlvbihhLGIpe3JldHVybiBhLmRlc3RpbmF0aW9uc1tiLmRlc3RpbmF0aW9uSWRdPWEuZGVzdGluYXRpb25zW2IuZGVzdGluYXRpb25JZF18fG5ldyBvQ30sUkM9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZC5IKXt2YXIgZT1RQyhhLGQuSCksZj1lLk47aWYoZil7dmFyIGc9RWQoYyxudWxsKSxoPUVkKGUuV2FbZC5ILmRlc3RpbmF0aW9uSWRdLG51bGwpLGw9RWQoZS5oYixudWxsKSxuPUVkKGUuaWIsbnVsbCkscD1FZChhLkgsbnVsbCkscT17fTtpZihmbi5OKXRyeXtxPUVkKHJBLkgsbnVsbCl9Y2F0Y2goeCl7UCg3Mil9dmFyIHI9ZC5ILnByZWZpeCx0PWZ1bmN0aW9uKHgpe3ZhciB5PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHkscix4KX0sdT1KQyhJQyhIQyhHQyhGQyhEQyhDQyhFQyhCQyhBQyh6QyhuZXcgeUMoZC5tZXNzYWdlQ29udGV4dC5ldmVudElkLApkLm1lc3NhZ2VDb250ZXh0LnByaW9yaXR5SWQsZC5tZXNzYWdlQ29udGV4dC5wcmlvcml0eVF1ZXVlKSxnKSxoKSxsKSxuKSxwKSxxKSxkLm1lc3NhZ2VDb250ZXh0LmV2ZW50TWV0YWRhdGEpLGZ1bmN0aW9uKCl7aWYodCl7dmFyIHg9dDt0PXZvaWQgMDt4KCIyIik7aWYoZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MpZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MoKX19KSxmdW5jdGlvbigpe2lmKHQpe3ZhciB4PXQ7dD12b2lkIDA7eCgiMyIpO2lmKGQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKWQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKCl9fSksISFkLm1lc3NhZ2VDb250ZXh0LmlzR3RtRXZlbnQpKSx2PWZ1bmN0aW9uKCl7dHJ5e3ZhciB4PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHgsciwiMSIpO3ZhciB5PWQuSC5pZCx6PW1DO2lmKGZuLksmJmI9PT1GLkQud2Epe3ZhciBDLEQ9KEM9YkMoeSkpPT1udWxsP3ZvaWQgMDpDLmlkcztpZighKEQmJkQubGVuZ3RoPgoxKSl7dmFyIEk9dS5FYVtGLkQuWGJdO2lmKCFJfHxJPT09eSl7dmFyIEcsTj1NYygiZ29vZ2xlX3RhZ19kYXRhIix7fSk7Ti50ZHx8KE4udGQ9e30pO0c9Ti50ZDt2YXIgUz1FZCh1LkhjLG51bGwpO0VkKHUuRWEsUyk7dmFyIFc9W10sZWE7Zm9yKGVhIGluIEcpRy5oYXNPd25Qcm9wZXJ0eShlYSkmJmxDKHosR1tlYV0sUykubGVuZ3RoJiZXLnB1c2goZWEpO1cubGVuZ3RoJiYoakMoeix5LFcpLHNiKCJUQUdHSU5HIixmQ1tCLnJlYWR5U3RhdGVdfHwxNCkpO0dbeV09U319fWYoZC5ILmlkLGIsZC5LLHUpfWNhdGNoKGZhKXt2YXIgamE9ZC5tZXNzYWdlQ29udGV4dC5ldmVudElkO09DKCk7TkMoamEsciwiNCIpfX07Yj09PSJndGFnLmdldCI/digpOmlvKGUuUix2KX19fSxTQz1mdW5jdGlvbihhLGIpe2lmKGIudHlwZSE9PSJyZXF1aXJlIil7dmFyIGM9dm9pZCAwO2IudHlwZT09PSJldmVudCImJihjPWIuYXJnc1sxXSk7aWYoYi5IKWZvcih2YXIgZD1RQyhhLGIuSCkuS1tiLnR5cGVdfHwKW10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV0oYyk7ZWxzZSBmb3IodmFyIGYgaW4gYS5kZXN0aW5hdGlvbnMpaWYoYS5kZXN0aW5hdGlvbnMuaGFzT3duUHJvcGVydHkoZikpe3ZhciBnPWEuZGVzdGluYXRpb25zW2ZdO2lmKGcmJmcuSylmb3IodmFyIGg9Zy5LW2IudHlwZV18fFtdLGw9MDtsPGgubGVuZ3RoO2wrKyloW2xdKGMpfX19O1BDLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1RQyh0aGlzLGEpO2Uuc3RhdHVzIT09MyYmKGUuTj1iLGUuc3RhdHVzPTMsZS5SPWxvKGMpLFRDKHRoaXMsYSxkfHx7fSksdGhpcy5mbHVzaCgpKX07ClBDLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEsYixjLGQpe2MhPT12b2lkIDAmJihRQyh0aGlzLGMpLnN0YXR1cz09PTEmJihRQyh0aGlzLGMpLnN0YXR1cz0yLHRoaXMucHVzaCgicmVxdWlyZSIsW3t9XSxjLHt9KSksUUModGhpcyxjKS5IJiYoZC5kZWZlcnJhYmxlPSExKSxkLmV2ZW50TWV0YWRhdGF8fChkLmV2ZW50TWV0YWRhdGE9e30pLGQuZXZlbnRNZXRhZGF0YVtILkouc2ddfHwoZC5ldmVudE1ldGFkYXRhW0guSi5zZ109W2MuZGVzdGluYXRpb25JZF0pLGQuZXZlbnRNZXRhZGF0YVtILkoubWpdfHwoZC5ldmVudE1ldGFkYXRhW0guSi5tal09W2MuaWRdKSk7dGhpcy5jb21tYW5kcy5wdXNoKG5ldyBuQyhhLGMsYixkKSk7ZC5kZWZlcnJhYmxlfHx0aGlzLmZsdXNoKCl9OwpQQy5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXMsYz1bXSxkPSExLGU9e307dGhpcy5jb21tYW5kcy5sZW5ndGg7ZT17Wm46dm9pZCAwfSl7dmFyIGY9dGhpcy5jb21tYW5kc1swXSxnPWYuSDtpZihmLm1lc3NhZ2VDb250ZXh0LmRlZmVycmFibGUpIWd8fFFDKHRoaXMsZykuSD8oZi5tZXNzYWdlQ29udGV4dC5kZWZlcnJhYmxlPSExLHRoaXMuY29tbWFuZHMucHVzaChmKSk6Yy5wdXNoKGYpLHRoaXMuY29tbWFuZHMuc2hpZnQoKTtlbHNle3N3aXRjaChmLnR5cGUpe2Nhc2UgInJlcXVpcmUiOmlmKFFDKHRoaXMsZykuc3RhdHVzIT09MyYmIWEpe3RoaXMuY29tbWFuZHMucHVzaC5hcHBseSh0aGlzLmNvbW1hbmRzLGMpO3JldHVybn1icmVhaztjYXNlICJzZXQiOnZhciBoPWYuYXJnc1swXTtLQyhoKTtVQyhoKTtHYihoLGZ1bmN0aW9uKHgseSl7RWQoVmIoeCx5KSxiLkgpfSk7SHUoaCwhMCk7YnJlYWs7Y2FzZSAiZXZlbnQiOmUuWm49Zi5hcmdzWzFdO3ZhciBsPQpWQyhmLmFyZ3NbMF0sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt9fShlKSksbj1sW0YuRC5YYl07biYmbiE9PWcuaWR8fEh1KGwpO1JDKHRoaXMsZS5abixsLGYpO2JyZWFrO2Nhc2UgImdldCI6dmFyIHA9e30scT0ocFtGLkQuVGZdPWYuYXJnc1swXSxwW0YuRC5TZl09Zi5hcmdzWzFdLHApO1JDKHRoaXMsRi5ELkpiLHEsZik7YnJlYWs7Y2FzZSAiY29udGFpbmVyX2NvbmZpZyI6dmFyIHI9UUModGhpcyxnKSx0PVZDKGYuYXJnc1swXSxmdW5jdGlvbigpe30pO0h1KHQsITApO3IuSD0hMDtFZCh0LHIuaGIpO2Q9ITA7YnJlYWs7Y2FzZSAiZGVzdGluYXRpb25fY29uZmlnIjp2YXIgdT1RQyh0aGlzLGcpLHY9VkMoZi5hcmdzWzBdLGZ1bmN0aW9uKCl7fSk7SHUodiwhMCk7dS5XYVtnLmlkXXx8KHUuV2FbZy5pZF09e30pO3UuSD0hMDtFZCh2LHUuV2FbZy5pZF0pO2Q9ITA7YnJlYWs7Y2FzZSAicmVzZXRfY29udGFpbmVyX2NvbmZpZyI6UUModGhpcyxnKS5oYj17fTticmVhazsKY2FzZSAicmVzZXRfdGFyZ2V0X2NvbmZpZyI6UUModGhpcyxnKS5XYVtnLmlkXT17fX10aGlzLmNvbW1hbmRzLnNoaWZ0KCk7U0ModGhpcyxmKX19dGhpcy5jb21tYW5kcy5wdXNoLmFwcGx5KHRoaXMuY29tbWFuZHMsYyk7ZCYmdGhpcy5mbHVzaCgpfTt2YXIgVEM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUVkKGMsbnVsbCk7RWQoUUMoYSxiKS5pYixkKTtRQyhhLGIpLmliPWR9O2Z1bmN0aW9uIFZDKGEsYil7dmFyIGM9e307R2IoYSxmdW5jdGlvbihkLGUpe0VkKFZiKGQsZSksYyl9KTtLQyhjLGIpO1VDKGMpO3JldHVybiBjfQpmdW5jdGlvbiBVQyhhKXtpZihNKDYwMSkmJkJBKCkpe2Zvcih2YXIgYj0hMSxjPW0obmV3IFNldChbRi5ELnljLEYuRC5kZF0pKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTthW2VdIT09dm9pZCAwJiYoYj0hMCxkZWxldGUgYVtlXSl9YiYmIWFsKDM1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSYmKFprKDM1LCEwKSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdvb2dsZSBUYWcgTWFuYWdlcjogU2VydmVyLXNpZGUgR1RNIHBhcmFtZXRlcnMgKHRyYW5zcG9ydF91cmwvc2VydmVyX2NvbnRhaW5lcl91cmwpIGFyZSBub3QgcGVybWl0dGVkIG9uIHRoaXMgZG9tYWluIGFuZCBoYXZlIGJlZW4gaWdub3JlZC4iKSxQKDE5NykpfX07dmFyIFdDPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBQQzt0aGlzLks9ITF9O1dDLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMuSC5mbHVzaCgpfTt2YXIgWEM7ZnVuY3Rpb24gWUMoKXtYQ3x8KFhDPW5ldyBXQyk7cmV0dXJuIFhDfWZ1bmN0aW9uIFpDKGEsYixjLGQpe3ZhciBlPVlDKCksZj1iQyhjLGQuaXNHdG1FdmVudCk7ZiYmKGUuSyYmKGQuZGVmZXJyYWJsZT0hMCksZS5ILnB1c2goImV2ZW50IixbYixhXSxmLGQpKX1mdW5jdGlvbiAkQyhhLGIsYyxkKXt2YXIgZT1ZQygpLGY9YkMoYyxkLmlzR3RtRXZlbnQpO2YmJmUuSC5wdXNoKCJnZXQiLFthLGJdLGYsZCl9ZnVuY3Rpb24gYUQoYSxiLGMpe3ZhciBkPVlDKCksZT1iQyhhLGMuaXNHdG1FdmVudCk7ZSYmZC5ILnB1c2goImNvbnRhaW5lcl9jb25maWciLFtiXSxlLGMpfQpmdW5jdGlvbiBiRChhLGIsYyl7dmFyIGQ9WUMoKSxlPWJDKGEsYy5pc0d0bUV2ZW50KTtlJiZkLkgucHVzaCgiZGVzdGluYXRpb25fY29uZmlnIixbYl0sZSxjKX1mdW5jdGlvbiBjRChhKXt2YXIgYj1ZQygpLGM9YkMoYSwhMCk7YyYmYi5ILnB1c2goInJlc2V0X2NvbnRhaW5lcl9jb25maWciLFtdLGMse30pfWZ1bmN0aW9uIGREKGEpe3ZhciBiPVlDKCksYz1iQyhhLCEwKTtjJiZiLkgucHVzaCgicmVzZXRfdGFyZ2V0X2NvbmZpZyIsW10sYyx7fSl9ZnVuY3Rpb24gZUQoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5pYjp7fX1mdW5jdGlvbiBmRChhKXtyZXR1cm4gWUMoKS5ILkhbYV19ZnVuY3Rpb24gZ0QoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5IOiExfTtmdW5jdGlvbiBoRChhLGIpe2EuaGFzT3duUHJvcGVydHkoImd0bS51bmlxdWVFdmVudElkIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJndG0udW5pcXVlRXZlbnRJZCIse3ZhbHVlOnJqKCl9KTtiLmV2ZW50SWQ9YVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtiLnByaW9yaXR5SWQ9YVsiZ3RtLnByaW9yaXR5SWQiXTtyZXR1cm57ZXZlbnRJZDpiLmV2ZW50SWQscHJpb3JpdHlJZDpiLnByaW9yaXR5SWR9fWZ1bmN0aW9uIGlEKGEpe2Zvcih2YXIgYj1tKFtGLkQuZGQsRi5ELnljXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWUsZT1hJiZhW2RdfHxmRChkKTtpZihlKXJldHVybiBlfX1mdW5jdGlvbiBqRChhKXtyZXR1cm4hYS5pc0d0bUV2ZW50fHxhLmV2ZW50TWV0YWRhdGEmJmEuZXZlbnRNZXRhZGF0YVtILkouQ2NdJiZhLmV2ZW50TWV0YWRhdGFbSC5KLk5iXSE9PXZrKCk/ITE6ITB9O3ZhciBrRD1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O3ZhciBsRD1mdW5jdGlvbigpe3RoaXMubWVzc2FnZXM9W107dGhpcy5IPVtdfTtsRC5wcm90b3R5cGUuZW5xdWV1ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5tZXNzYWdlcy5sZW5ndGgrMTthWyJndG0udW5pcXVlRXZlbnRJZCJdPWI7YVsiZ3RtLnByaW9yaXR5SWQiXT1kO3ZhciBlPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZXZlbnRJZDpiLHByaW9yaXR5SWQ6ZCxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOiEwfSk7aWYoTSg1OTUpKXt2YXIgZj1jLnByaW9yaXR5UXVldWU/W10uY29uY2F0KHcoYy5wcmlvcml0eVF1ZXVlKSxbZF0pOltkXTthWyJndG0ucHJpb3JpdHlRdWV1ZSJdPWY7ZS5wcmlvcml0eVF1ZXVlPWZ9dmFyIGc9e21lc3NhZ2U6YSxub3RCZWZvcmVFdmVudElkOmIscHJpb3JpdHlJZDpkLG1lc3NhZ2VDb250ZXh0OmV9O3RoaXMubWVzc2FnZXMucHVzaChnKTtmb3IodmFyIGg9MDtoPHRoaXMuSC5sZW5ndGg7aCsrKXRyeXt0aGlzLkhbaF0oZyl9Y2F0Y2gobCl7fX07CmxELnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24oYSl7dGhpcy5ILnB1c2goYSl9O2xELnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE9e30sYj0wO2I8dGhpcy5tZXNzYWdlcy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLm1lc3NhZ2VzW2JdLGQ9YVtjLm5vdEJlZm9yZUV2ZW50SWRdO2R8fChkPVtdLGFbYy5ub3RCZWZvcmVFdmVudElkXT1kKTtkLnB1c2goYyl9cmV0dXJuIGF9O2xELnByb3RvdHlwZS5wcnVuZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz1bXSxkPTA7ZDx0aGlzLm1lc3NhZ2VzLmxlbmd0aDtkKyspe3ZhciBlPXRoaXMubWVzc2FnZXNbZF07ZS5ub3RCZWZvcmVFdmVudElkPT09YT9iLnB1c2goZSk6Yy5wdXNoKGUpfXRoaXMubWVzc2FnZXM9YztyZXR1cm4gYn07CmZ1bmN0aW9uIG1EKGEsYixjKXtjLmV2ZW50TWV0YWRhdGE9Yy5ldmVudE1ldGFkYXRhfHx7fTtjLmV2ZW50TWV0YWRhdGFbSC5KLk5iXT1NKDU1MCk/dmsoKTpFKDYpO25EKCkuZW5xdWV1ZShhLGIsYyl9ZnVuY3Rpb24gbkQoKXtyZXR1cm4ga2ooIm1iIixmdW5jdGlvbigpe3JldHVybiBuZXcgbER9KX07dmFyIHBEPWZ1bmN0aW9uKGEsYil7dmFyIGM9b0Q7Yj1TdHJpbmcoYikuc3BsaXQoIiwiKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9Yy5OW2JbZF1dfHxbXTtjLk5bYltkXV09ZTtlLmluZGV4T2YoYSk8MCYmZS5wdXNoKGEpfX0scUQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9b0QsZD1bXSxlPVtdLGY9e30sZz0wO2c8YS5sZW5ndGg7Zj17bGs6dm9pZCAwLFFqOnZvaWQgMCxSajp2b2lkIDB9LGcrKyl7dmFyIGg9YVtnXTtpZihoLmluZGV4T2YoIi0iKT49MCl7aWYoZi5saz1iQyhoLGIpLGYubGspe3ZhciBsPXRrKCk7Q2IobCxmdW5jdGlvbih4KXtyZXR1cm4gZnVuY3Rpb24oeSl7cmV0dXJuIHgubGsuZGVzdGluYXRpb25JZD09PXl9fShmKSk/ZC5wdXNoKGgpOmUucHVzaChoKX19ZWxzZXtpZihNKDU1MCkpe3ZhciBuPWMuS1toXXx8W107Zi5Saj17fTtuLmZvckVhY2goZnVuY3Rpb24oeCl7cmV0dXJuIGZ1bmN0aW9uKHkpe3guUmpbeV09ITB9fShmKSk7Zm9yKHZhciBwPQp0aygpLHE9MDtxPHAubGVuZ3RoO3ErKylmLlJqW3BbcV1dJiZkLnB1c2gocFtxXSl9ZWxzZXt2YXIgcj1jLkhbaF18fFtdO2YuUWo9e307ci5mb3JFYWNoKGZ1bmN0aW9uKHgpe3JldHVybiBmdW5jdGlvbih5KXt4LlFqW3ldPSEwfX0oZikpO2Zvcih2YXIgdD13aygpLHU9MDt1PHQubGVuZ3RoO3UrKylpZihmLlFqW3RbdV1dKXtkPWQuY29uY2F0KHRrKCkpO2JyZWFrfX12YXIgdj1jLk5baF18fFtdO3YubGVuZ3RoJiYoZD1kLmNvbmNhdCh2KSl9fXJldHVybntlazpkLFBzOmV9fSxyRD1mdW5jdGlvbihhKXtHYihvRC5ILGZ1bmN0aW9uKGIsYyl7dmFyIGQ9Yy5pbmRleE9mKGEpO2Q+PTAmJmMuc3BsaWNlKGQsMSl9KX0sc0Q9ZnVuY3Rpb24oYSl7R2Iob0QuSyxmdW5jdGlvbihiLGMpe3ZhciBkPWMuaW5kZXhPZihhKTtkPj0wJiZjLnNwbGljZShkLDEpfSl9LHREPWZ1bmN0aW9uKGEpe0diKG9ELk4sZnVuY3Rpb24oYixjKXt2YXIgZD1jLmluZGV4T2YoYSk7ZD49MCYmYy5zcGxpY2UoZCwKMSl9KX0sb0Q9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLks9e319O2Z1bmN0aW9uIHVEKGEsYixjKXt2YXIgZD1FZChhLG51bGwpO2QuZXZlbnRJZD12b2lkIDA7ZC5pbmhlcml0UGFyZW50Q29uZmlnPXZvaWQgMDtPYmplY3Qua2V5cyhiKS5zb21lKGZ1bmN0aW9uKGYpe3JldHVybiBiW2ZdIT09dm9pZCAwfSkmJlAoMTM2KTt2YXIgZT1FZChiLG51bGwpO0VkKGMsZSk7bUQockMod2soKVswXSxlKSxhLmV2ZW50SWQsZCl9CmZ1bmN0aW9uIHZEKGEsYixjLGQpe3ZhciBlPXt9LGY9KGVbRi5ELlViXT1GLkQud2EsZVsiZ3RtLmNvbmZpZ0NvbnRhaW5lcklkIl09YS5pZCxlWyJndG0uY29uZmlnUGFyYW1ldGVycyJdPWIsZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1kLmV2ZW50SWQsZSk7Yy5wcmlvcml0eVF1ZXVlJiYoZlsiZ3RtLnByaW9yaXR5UXVldWUiXT1jLnByaW9yaXR5UXVldWUpO2MuZXZlbnRNZXRhZGF0YSYmKGZbImd0bS5ldmVudE1ldGFkYXRhIl09Yy5ldmVudE1ldGFkYXRhKTthLkpjKCkmJihmWyJndG0uY29uZmlnQ29udGFpbmVySWQiXT13aygpWzBdLGZbImd0bS5vcmlnaW5hbENvbmZpZ1RhcmdldElkIl09YS5pZCk7cmV0dXJuIGZ9ZnVuY3Rpb24gd0QoYSxiLGMpe2lmKElmKDExKSYmIWMmJiFhW0YuRC5WZF0pe3ZhciBkPWFsKDEwLGZ1bmN0aW9uKCl7cmV0dXJuITF9KTtaaygxMCwhMCk7WEIoZCxhLGIpO2lmKGQpcmV0dXJuITB9cmV0dXJuITF9O2Z1bmN0aW9uIHhEKGEsYil7dmFyIGM9e30sZD0oYy5ldmVudD1hLGMpO2ImJihkLmV2ZW50TW9kZWw9RWQoYixudWxsKSxiW0YuRC5QZl0mJihkLmV2ZW50Q2FsbGJhY2s9YltGLkQuUGZdKSxiW0YuRC5waF0mJihkLmV2ZW50VGltZW91dD1iW0YuRC5waF0pKTtyZXR1cm4gZH0KZnVuY3Rpb24geUQoYSxiKXt2YXIgYz1hJiZhW0YuRC5YYl07Yz09PXZvaWQgMCYmKGM9dUEoRi5ELlhiLDIpLGM9PT12b2lkIDAmJihjPSJkZWZhdWx0IikpO2lmKHpiKGMpfHxBcnJheS5pc0FycmF5KGMpKXt2YXIgZDtkPWIuaXNHdG1FdmVudD96YihjKT9bY106YzpjLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpLnNwbGl0KCIsIik7dmFyIGU9cUQoZCxiLmlzR3RtRXZlbnQpLGY9ZS5layxnPWUuUHM7aWYoZy5sZW5ndGgpZm9yKHZhciBoPWlEKGEpLGw9MDtsPGcubGVuZ3RoO2wrKyl7dmFyIG49YkMoZ1tsXSxiLmlzR3RtRXZlbnQpO2lmKG4pe3ZhciBwPW4uZGVzdGluYXRpb25JZCxxPXZvaWQgMDsoKHE9bmsobi5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOnEuc3RhdGUpPT09MHx8bkEocCxoLHtzb3VyY2U6Myxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOmIuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbn0pfX12YXIgcj1mLmNvbmNhdChnKTtyZXR1cm57ZWs6Y0MoZixiLmlzR3RtRXZlbnQpLAptcjpjQyhyLGIuaXNHdG1FdmVudCl9fX07dmFyIHpEPXt9LEFEPSh6RC5jb25maWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1oRChhLGIpLGQ7YTp7aWYoIShhLmxlbmd0aDwyKSYmemIoYVsxXSkpe3ZhciBlPXt9O2lmKGEubGVuZ3RoPjIpe2lmKGFbMl0hPT12b2lkIDAmJiFDZChhWzJdKXx8YS5sZW5ndGg+Myl7ZD12b2lkIDA7YnJlYWsgYX1lPWFbMl19dmFyIGY9YkMoYVsxXSxiLmlzR3RtRXZlbnQpO2lmKGYpe2Q9e3RhcmdldDpmLHBhcmFtczplfTticmVhayBhfX1kPXZvaWQgMH12YXIgZz1kO2lmKGcpe3ZhciBoPWcudGFyZ2V0LGw9Zy5wYXJhbXMsbjthOntpZighSWYoNykpe3ZhciBwPXlrKHprKCkpO2lmKE1rKHApKXt2YXIgcT1wLnBhcmVudCxyPXEuaXNEZXN0aW5hdGlvbjtuPXtWczp5ayhxKSxNczpyfTticmVhayBhfX1uPXZvaWQgMH12YXIgdD1uLHU9dD09bnVsbD92b2lkIDA6dC5Wcyx2PXQ9PW51bGw/dm9pZCAwOnQuTXM7ZEIoYy5ldmVudElkLCJndGFnLmNvbmZpZyIpO3ZhciB4LHk9aC5kZXN0aW5hdGlvbklkOwppZihoLkpjKCk/dGsoKS5pbmRleE9mKHkpIT09LTE6d2soKS5pbmRleE9mKHkpIT09LTEpYTp7aWYodSYmKFAoMTI4KSx2JiZQKDEzMCksYi5pbmhlcml0UGFyZW50Q29uZmlnKSl7dmFyIHo7dmFyIEM9JGsoMTIpO2lmKEMpdUQoYixDLGwpLHo9ITE7ZWxzZXt2YXIgRD0kaygxMSk7IWxbRi5ELlZkXSYmKE0oNTUwKXx8SWYoMTEpKSYmRHx8WmsoMTEsRWQobCxudWxsKSk7ej0hMH16JiZ1LmNvbnRhaW5lcnMmJnUuY29udGFpbmVycy5qb2luKCIsIik7eD12b2lkIDA7YnJlYWsgYX12YXIgST0hSWYoNDUpLEc9IVNiKGguaWQsIkdUTS0iKTtJJiZHJiYoT2JqZWN0LmtleXMobCkubGVuZ3RoPT09MD9HdShULlcuU2spOkd1KFQuVy5UayksRWwoKSYmR3UoVC5XLlJrKSwkaygzMSkmJkd1KFQuVy5VaykpO3ZhciBOPVlCO2ZuLksmJihOLkg9PT0xJiYoUW0uSC5tY2M9ITEpLE4uSD0yKTtpZihNKDU1MCl8fCF3RChsLGIsaC5KYygpKSl7a0QuSHx8UCg0Myk7aWYoIU0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIFM9CmguaWQ7aWYoaC5KYygpKXREKFMpLHBEKFMsbFtGLkQuT2RdfHwiZGVmYXVsdCIpO2Vsc2V7ckQoUyk7dmFyIFc9bFtGLkQuT2RdfHwiZGVmYXVsdCIsZWE9b0Q7Vz1XLnRvU3RyaW5nKCkuc3BsaXQoIiwiKTtmb3IodmFyIGphPTA7amE8Vy5sZW5ndGg7amErKyl7dmFyIGZhPWVhLkhbV1tqYV1dfHxbXTtlYS5IW1dbamFdXT1mYTtmYS5pbmRleE9mKFMpPDAmJmZhLnB1c2goUyl9fX1kZWxldGUgbFtGLkQuT2RdfXZhciBzYT1iLmV2ZW50TWV0YWRhdGF8fHt9O3NhLmhhc093blByb3BlcnR5KEguSi5hZSl8fChzYVtILkouYWVdPSFiLmZyb21Db250YWluZXJFeGVjdXRpb24pO2IuZXZlbnRNZXRhZGF0YT1zYTtkZWxldGUgbFtGLkQuUGZdO2lmKE0oNTUwKSl7eD12RChoLGwsYixjKTticmVhayBhfXZhciBkYT0hIWxbRi5ELlZkXTtkZWxldGUgbFtGLkQuVmRdO3ZhciBtYT10aygpLFBhPWNELEZhPWFEO2guSmMoKSYmKG1hPVtoLmlkXSxQYT1kRCxGYT1iRCk7Zm9yKHZhciBxYT0wO3FhPAptYS5sZW5ndGg7cWErKyl7ZGF8fFBhKG1hW3FhXSk7dmFyIGliPWdEKG1hW3FhXSk7RmEobWFbcWFdLEVkKGwsbnVsbCksRWQoYixudWxsKSk7aWImJmRhfHxaQyhGLkQud2EsRWQobCxudWxsKSxtYVtxYV0sRWQoYixudWxsKSl9fXg9dm9pZCAwfWVsc2UgYTp7aWYoIWIuaW5oZXJpdFBhcmVudENvbmZpZyYmIWxbRi5ELlpjXSl7dmFyIFhiPWlEKGwpLExjPWguZGVzdGluYXRpb25JZDtpZihoLkpjKCkpbkEoTGMsWGIse3NvdXJjZToyLGZyb21Db250YWluZXJFeGVjdXRpb246Yi5mcm9tQ29udGFpbmVyRXhlY3V0aW9ufSk7ZWxzZSBpZih1IT09dm9pZCAwJiZ1LmNvbnRhaW5lcnMuaW5kZXhPZihMYykhPT0tMSl7dmFyIFFkPSRrKDExKSxZYz0kaygxMik7UWQ/dUQoYixsLFFkKTpZY3x8WmsoMTIsRWQobCxudWxsKSl9ZWxzZSBpZihoQShMYyxYYiwhMCx7c291cmNlOjIsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KSxNKDU1MCkpe3g9dkQoaCwKbCxiLGMpO2JyZWFrIGF9fXg9dm9pZCAwfXJldHVybiB4fX0sekQuY29uc2VudD1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09Myl7UCgzOSk7dmFyIGM9aEQoYSxiKSxkPWFbMV0sZT17fSxmPU9vKGFbMl0pLGc7Zm9yKGcgaW4gZilpZihmLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1mW2ddO2VbZ109Zz09PUYuRC5ZZz9BcnJheS5pc0FycmF5KGgpP05hTjpOdW1iZXIoaCk6Zz09PUYuRC5uYz8oQXJyYXkuaXNBcnJheShoKT9oOltoXSkubWFwKFBvKTpRbyhoKX1iLmZyb21Db250YWluZXJFeGVjdXRpb258fChlW0YuRC5tYV0mJlAoMTM5KSxlW0YuRC5YYV0mJlAoMTQwKSk7ZD09PSJkZWZhdWx0Ij9UbyhlKTpkPT09InVwZGF0ZSI/Vm8oZSxjKTpkPT09ImRlY2xhcmUiJiZiLmZyb21Db250YWluZXJFeGVjdXRpb24mJlNvKGUpfX0sekQuY29udGFpbmVyX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9CmFbMl0sZD1iQyhhWzFdLCEwKTtkJiZhRChkLmRlc3RpbmF0aW9uSWQsYyxFZChiLG51bGwpKX19LHpELmRlc3RpbmF0aW9uX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9YVsyXSxkPWJDKGFbMV0sITApO2lmKGQpe2lmKE0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIGU9ZC5pZDtpZihkLkpjKCkpdEQoZSkscEQoZSxjW0YuRC5PZF18fCJkZWZhdWx0Iik7ZWxzZXtzRChlKTt2YXIgZj1jW0YuRC5PZF18fCJkZWZhdWx0IixnPW9EO2Y9U3RyaW5nKGYpLnNwbGl0KCIsIik7Zm9yKHZhciBoPTA7aDxmLmxlbmd0aDtoKyspe3ZhciBsPWcuS1tmW2hdXXx8W107Zy5LW2ZbaF1dPWw7bC5pbmRleE9mKGUpPDAmJmwucHVzaChlKX19fWRlbGV0ZSBjW0YuRC5PZF19YkQoZC5pZCxjLEVkKGIsbnVsbCkpfX19LHpELmV2ZW50PWZ1bmN0aW9uKGEsYil7dmFyIGM9YVsxXTtpZighKGEubGVuZ3RoPDIpJiYKemIoYykpe3ZhciBkPXZvaWQgMDtpZihhLmxlbmd0aD4yKXtpZighQ2QoYVsyXSkmJmFbMl0hPT12b2lkIDB8fGEubGVuZ3RoPjMpcmV0dXJuO2Q9YVsyXX12YXIgZT14RChjLGQpLGY9aEQoYSxiKSxnPWYuZXZlbnRJZCxoPWYucHJpb3JpdHlJZDtlWyJndG0udW5pcXVlRXZlbnRJZCJdPWc7aCYmKGVbImd0bS5wcmlvcml0eUlkIl09aCk7Yi5wcmlvcml0eVF1ZXVlJiYoZVsiZ3RtLnByaW9yaXR5UXVldWUiXT1iLnByaW9yaXR5UXVldWUpO2lmKGM9PT0ib3B0aW1pemUuY2FsbGJhY2siKXJldHVybiBlLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fSxlO3ZhciBsPXlEKGQsYik7aWYobCl7Zm9yKHZhciBuPWwuZWsscD1sLm1yLHE9cC5tYXAoZnVuY3Rpb24oTil7cmV0dXJuIE4uaWR9KSxyPXAubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmRlc3RpbmF0aW9uSWR9KSx0PW4ubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmlkfSksdT1tKHRrKCkpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtyLmluZGV4T2YoeCk8MCYmdC5wdXNoKHgpfWRCKGcsYyk7Zm9yKHZhciB5PW0odCksej15Lm5leHQoKTshei5kb25lO3o9eS5uZXh0KCkpe3ZhciBDPXoudmFsdWUsRD1FZChiLG51bGwpLEk9RWQoZCxudWxsKTtkZWxldGUgSVtGLkQuUGZdO3ZhciBHPUQuZXZlbnRNZXRhZGF0YXx8e307Ry5oYXNPd25Qcm9wZXJ0eShILkouYWUpfHwoR1tILkouYWVdPSFELmZyb21Db250YWluZXJFeGVjdXRpb24pO0dbSC5KLm1qXT1xLnNsaWNlKCk7R1tILkouc2ddPXIuc2xpY2UoKTtELmV2ZW50TWV0YWRhdGE9RztaQyhjLEksQyxEKX1lLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fTtxLmxlbmd0aD4wP2UuZXZlbnRNb2RlbFtGLkQuWGJdPXEuam9pbigiLCIpOmRlbGV0ZSBlLmV2ZW50TW9kZWxbRi5ELlhiXTtrRC5IfHxQKDQzKTtiLm5vR3RtRXZlbnQ9PT12b2lkIDAmJmIuZXZlbnRNZXRhZGF0YSYmYi5ldmVudE1ldGFkYXRhW0guSi5Cbl0mJihiLm5vR3RtRXZlbnQ9CiEwKTtlLmV2ZW50TW9kZWxbRi5ELlljXSYmKGIubm9HdG1FdmVudD0hMCk7cmV0dXJuIGIubm9HdG1FdmVudD92b2lkIDA6ZX19fSx6RC5nZXQ9ZnVuY3Rpb24oYSxiKXtQKDUzKTtpZihhLmxlbmd0aD09PTQmJnpiKGFbMV0pJiZ6YihhWzJdKSYmeWIoYVszXSkpe3ZhciBjPWJDKGFbMV0sYi5pc0d0bUV2ZW50KSxkPVN0cmluZyhhWzJdKSxlPWFbM107aWYoYyl7a0QuSHx8UCg0Myk7dmFyIGY9aUQoKTtpZihDYih0aygpLGZ1bmN0aW9uKGgpe3JldHVybiBjLmRlc3RpbmF0aW9uSWQ9PT1ofSkpe2hEKGEsYik7dmFyIGc9e307RWQoKGdbRi5ELlRmXT1kLGdbRi5ELlNmXT1lLGcpLG51bGwpOyRDKGQsZnVuY3Rpb24oaCl7YmQoZnVuY3Rpb24oKXtlKGgpfSl9LGMuaWQsYil9ZWxzZSBuQShjLmRlc3RpbmF0aW9uSWQsZix7c291cmNlOjQsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KX19fSx6RC5qcz1mdW5jdGlvbihhLGIpe3ZhciBjO2lmKGEubGVuZ3RoPT09CjImJmFbMV0uZ2V0VGltZSl7a0QuSD0hMDt2YXIgZD1oRChhLGIpLGU9ZC5ldmVudElkLGY9ZC5wcmlvcml0eUlkLGc9e307Yz0oZy5ldmVudD0iZ3RtLmpzIixnWyJndG0uc3RhcnQiXT1hWzFdLmdldFRpbWUoKSxnWyJndG0udW5pcXVlRXZlbnRJZCJdPWUsZ1siZ3RtLnByaW9yaXR5SWQiXT1mLGcpfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9LHpELnBvbGljeT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZ5YihhWzJdKSl7aWYoaHkoYVsxXSxhWzJdKSxQKDc0KSxhWzFdPT09ImFsbCIpe1AoNzUpO3ZhciBiPSExO3RyeXtiPWFbMl0oRSg1KSwidW5rbm93biIse30pfWNhdGNoKGMpe31ifHxQKDc2KX19ZWxzZSBQKDczKX0sekQucmVzZXRfdGFyZ2V0X2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTImJnpiKGFbMV0pKXt2YXIgYz1iQyhhWzFdLCEwKTtjJiZkRChjLmlkKX19LHpELnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXZvaWQgMDsKYS5sZW5ndGg9PT0yJiZDZChhWzFdKT9jPUVkKGFbMV0sbnVsbCk6YS5sZW5ndGg9PT0zJiZ6YihhWzFdKSYmKGM9e30sQ2QoYVsyXSl8fEFycmF5LmlzQXJyYXkoYVsyXSk/Y1thWzFdXT1FZChhWzJdLG51bGwpOmNbYVsxXV09YVsyXSk7aWYoYyl7WmsoMzEsITApO3ZhciBkPWhEKGEsYiksZT1kLmV2ZW50SWQsZj1kLnByaW9yaXR5SWQ7RWQoYyxudWxsKTtFKDUpO3ZhciBnPUVkKGMsbnVsbCk7WUMoKS5ILnB1c2goInNldCIsW2ddLHZvaWQgMCxiKTtjWyJndG0udW5pcXVlRXZlbnRJZCJdPWU7ZiYmKGNbImd0bS5wcmlvcml0eUlkIl09Zik7ZGVsZXRlIGMuZXZlbnQ7Yi5vdmVyd3JpdGVNb2RlbEZpZWxkcz0hMDtyZXR1cm4gY319LHpEKSxCRD17fSxDRD0oQkQucG9saWN5PSEwLEJEKTt2YXIgRUQ9ZnVuY3Rpb24oYSl7aWYoREQoYSkpcmV0dXJuIGE7dGhpcy52YWx1ZT1hfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBERD1mdW5jdGlvbihhKXtyZXR1cm4hYXx8QWQoYSkhPT0ib2JqZWN0Inx8Q2QoYSk/ITE6ImdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSJpbiBhfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPUVELnByb3RvdHlwZS5nZXRVbnRydXN0ZWRNZXNzYWdlVmFsdWU7dmFyIEZEPXtCYjoiMSIsZWU6IjIiLFhkOiIzIixjZToiNCIseGY6IjUiLHFnOiI2IixLaDoiNyIsdGo6IjgiLGxpOiI5IixqajoiMTAifTsKdmFyIEdEPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS50cmltKCkucmVwbGFjZUFsbCgvXHMrL2csIiIpLnJlcGxhY2VBbGwoLyhcZHsyLH0pXC4vZywiJDEiKS5yZXBsYWNlQWxsKC8tL2csIiIpLnJlcGxhY2VBbGwoL1woKFxkKylcKS9nLCIkMSIpO2lmKGImJmMubWF0Y2goL15cKz9cZHszLDR9JC8pKXJldHVybiBjO2MuY2hhckF0KDApIT09IisiJiYoYz0iKyIrYyk7aWYoYy5tYXRjaChuZXcgUmVnRXhwKCJeXFwrXFxkeyIrKE0oNTk3KT83OjEwKSsiLDE1fSQiKSkpcmV0dXJuIGN9fSxJRD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRyaW0oKTtpZihIRC50ZXN0KGIpKXJldHVybiBiLnRvTG93ZXJDYXNlKCkucmVwbGFjZUFsbCgvWy0gXSsvZywiIil9fSxNRD1mdW5jdGlvbihhKXt2YXIgYj1KRChLRCkoYSk7aWYoYiYmIUxEKGIpKXJldHVybiBifSxMRD1mdW5jdGlvbihhKXtpZighQS5sb2NhdGlvbilyZXR1cm4hMTt2YXIgYj1OaihBLmxvY2F0aW9uLCJob3N0IiwhMCksCmM7aWYoTSg2MDIpKWE6e2Zvcih2YXIgZD1iLnNwbGl0KCIuIiksZT1hLnRvTG93ZXJDYXNlKCksZj0wO2Y8ZC5sZW5ndGgtMTtmKyspe3ZhciBnPWQuc2xpY2UoZikuam9pbigiLiIpO2lmKGUubWF0Y2goIkAiK2crIiQiKSl7Yz0hMDticmVhayBhfX1jPSExfWVsc2UgYz1hLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihiKT49MDtyZXR1cm4gY30sSkQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubWF0Y2goYSk7cmV0dXJuIGM/Y1swXS50cmltKCkudG9Mb3dlckNhc2UoKTp2b2lkIDB9fSxLRD0vW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcLltBLVpdezIsfS9pLE5EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzKSskLyksSEQ9UmVnRXhwKCJeKD86W0EtWl17MSwyfVxcZFtBLVpcXGRdP1sgLV0/XFxkW0EtWl17Mn18W0EtWl1cXGRbQS1aXVsgLV0/XFxkW0EtWl1cXGR8XFxkezR9ID9bQS1aXXsyfXxbQS1aXVxcZHs0fVtBLVpdezN9fFxcZHs1fSg/Oi1cXGR7NH0pP3xcXGR7NX0tXFxkezN9fFxcZHs0fS1cXGR7M318XFxkezN9LVxcZHs0fXxcXGR7Mn0tXFxkezN9fFxcZHszfSA/XFxkezJ9fFxcZHs0LDd9KSQiLAoiaSIpLE9EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzfFxkKSskLyk7CnZhciBQRD1mdW5jdGlvbigpe3ZhciBhPVN0cmluZyhhbCgzMyxmdW5jdGlvbigpe3JldHVybiAwfSkpO2EuaW5kZXhPZigiLiIpIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCIuIikrMykpO3ZhciBiPWFsKDM0LGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTtyZXR1cm57dnQ6TnVtYmVyKGEpLHN0OmJ9fSxRRD1mdW5jdGlvbigpe3JldHVybiBhbCgzMixmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwfSl9LFNEPWZ1bmN0aW9uKGEpe3ZhciBiPXBkKCl8fDAsYz1bRkQuQmJdO00oNTY4KSYmYy5wdXNoKEZELmVlLEZELlhkLEZELmNlLEZELnhmLEZELnFnLEZELnRqLEZELmxpLEZELmpqKTtmb3IodmFyIGQ9UkQoYSxuZXcgU2V0KGMpKSxlPWFsKDMyLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSxmPW0oZCksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5zZXQoaC5EYSxoKX12YXIgbD0ocGQoKXx8MCktYixuPWFsKDMzLGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTsKWmsoMzMsbitsKTt2YXIgcD1hbCgzNCxmdW5jdGlvbigpe3JldHVybiAwfSk7WmsoMzQscCsxKX0sUkQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9TmYoMzYsMiksZD1bXSxlPVt7b286YSxkZXB0aDowfV07ZS5sZW5ndGg+MDspZm9yKHZhciBmPWUuc2hpZnQoKSxnPWYub28saD1mLmRlcHRoLGw9bShPYmplY3Qua2V5cyhnKSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aWYoIVRELmhhcyhwKSl7dmFyIHE9Z1twXTtpZihxKWlmKENkKHEpKWgrMTw9YyYmZS5wdXNoKHtvbzpxLGRlcHRoOmgrMX0pO2Vsc2V7Zm9yKHZhciByPW0oYiksdD1yLm5leHQoKTshdC5kb25lO3Q9ci5uZXh0KCkpe3ZhciB1PXQudmFsdWUsdj1VRFt1XTtpZih2JiZ2LktjLnRlc3QocCkpe3ZhciB4PXYubmEoU3RyaW5nKHEpKTtpZih4KXtkLnB1c2goe0NhOngsRGE6dX0pO2IuZGVsZXRlKHUpO2JyZWFrfX19aWYoYi5zaXplPT09MClyZXR1cm4gZH19fXJldHVybiBkfSxURD0KbmV3IFNldChbIml0ZW1zIiwiZWNvbW1lcmNlIl0pLFZEPVJlZ0V4cCgicGhvbmUiLCJpIiksV0Q9UmVnRXhwKCJmaXJzdF8/bmFtZSIsImkiKSxYRD1SZWdFeHAoImxhc3RfP25hbWUiLCJpIiksWUQ9UmVnRXhwKCJjb3VudHJ5IiwiaSIpLFpEPVJlZ0V4cCgicG9zdHx6aXAiLCJpIiksJEQ9UmVnRXhwKCJhZGRyZXNzfHN0cmVldCIsImkiKSxhRT1SZWdFeHAoImNpdHkiLCJpIiksYkU9UmVnRXhwKCJyZWdpb258c3RhdGV8cHJvdmluY2UiLCJpIiksY0U9e30sVUQ9KGNFW0ZELkJiXT17S2M6UmVnRXhwKCJlbWFpbCIsImkiKSxuYTpNRH0sY0VbRkQuZWVdPXtLYzpWRCxuYTpmdW5jdGlvbihhKXtyZXR1cm4gR0QoYSwhMSl9fSxjRVtGRC5YZF09e0tjOldELG5hOk5EfSxjRVtGRC5jZV09e0tjOlhELG5hOk5EfSxjRVtGRC50al09e0tjOiRELG5hOk9EfSxjRVtGRC5saV09e0tjOmFFLG5hOk5EfSxjRVtGRC5qal09e0tjOmJFLG5hOk5EfSxjRVtGRC5xZ109e0tjOlpELG5hOklEfSxjRVtGRC54Zl09CntLYzpZRCxuYTpORH0sY0UpO3ZhciBkRT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5sb2FkZWQ9ITE7dGhpcy5IPVtdO2lmKEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vbkxvYWQoKTtlbHNlICRjKEEsImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYS5vbkxvYWQoKX0pfTtkRS5wcm90b3R5cGUub25Mb2FkPWZ1bmN0aW9uKCl7aWYoIXRoaXMubG9hZGVkKXt0aGlzLmxvYWRlZD0hMDtmb3IodmFyIGE9MDthPHRoaXMuSC5sZW5ndGg7YSsrKWJkKHRoaXMuSFthXSl9fTt2YXIgZkU9ZnVuY3Rpb24oYSl7dmFyIGI9ZUU7Yi5sb2FkZWQ/YmQoYSk6Yi5ILnB1c2goYSl9LGVFPW5ldyBkRTt2YXIgZ0U9ZnVuY3Rpb24oKXt0aGlzLlo9MDt0aGlzLks9e307dGhpcy5IPVtdO3RoaXMuTj1bXTt0aGlzLmZhPXRoaXMuUj10aGlzLmphPSExfSxpRT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aEU7YS5ldmVudENhbGxiYWNrPWI7YyYmKGEuZXZlbnRUaW1lb3V0PWMpO3JldHVybiBkLnB1c2goYSl9LGpFPWZ1bmN0aW9uKGEsYil7aWYoIUFiKGIpfHxiPDApYj0wO3ZhciBjPXFqKCksZD0wLGU9ITEsZj12b2lkIDA7Zj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlfHwoZT0hMCxhKCkpO2Y9dm9pZCAwfSxiKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz1jP2Muc3Vic2NyaWJlcnM6MTsrK2Q9PT1nJiYoZiYmKEEuY2xlYXJUaW1lb3V0KGYpLGY9dm9pZCAwKSxlfHwoYSgpLGU9ITApKX19LGxFPWZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEuTi5sZW5ndGgpYj1hLk4uc2hpZnQoKTtlbHNlIGlmKGEuSC5sZW5ndGgpYj1hLkguc2hpZnQoKTtlbHNlIHJldHVybjt2YXIgYzt2YXIgZD1iO2lmKGEuamF8fAoha0UoZC5tZXNzYWdlKSljPWQ7ZWxzZXthLmphPSEwO3ZhciBlPWQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXSxmLGc7dHlwZW9mIGU9PT0ibnVtYmVyIj8oZj1lLTIsZz1lLTEpOihmPXJqKCksZz1yaigpLGQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1yaigpKTt2YXIgaD17fSxsPXttZXNzYWdlOihoLmV2ZW50PSJndG0uaW5pdF9jb25zZW50IixoWyJndG0udW5pcXVlRXZlbnRJZCJdPWYsaCksbWVzc2FnZUNvbnRleHQ6e2V2ZW50SWQ6Zn19LG49e30scD17bWVzc2FnZToobi5ldmVudD0iZ3RtLmluaXQiLG5bImd0bS51bmlxdWVFdmVudElkIl09ZyxuKSxtZXNzYWdlQ29udGV4dDp7ZXZlbnRJZDpnfX07YS5ILnVuc2hpZnQocCxkKTtjPWx9cmV0dXJuIGN9LG9FPWZ1bmN0aW9uKGEpe2EuZmF8fFAoMTk2KTtmb3IodmFyIGI9ITEsYzshYS5SJiYoYz1sRShhKSk7KXthLlI9ITA7dmFyIGQ9ckE7ZGVsZXRlIGQuSC5ldmVudE1vZGVsO29BKGQpO3ZhciBlPWMsZj0KZS5tZXNzYWdlLGc9ZS5tZXNzYWdlQ29udGV4dDtpZihmPT1udWxsKWEuUj0hMTtlbHNle2cuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbiYmc0EoKTt0cnl7aWYoeWIoZikpdHJ5e2YuY2FsbCh0QSl9Y2F0Y2goUyl7fWVsc2UgaWYoQXJyYXkuaXNBcnJheShmKSl7aWYoemIoZlswXSkpe3ZhciBoPWZbMF0uc3BsaXQoIi4iKSxsPWgucG9wKCksbj1mLnNsaWNlKDEpLHA9dUEoaC5qb2luKCIuIiksMik7aWYocCE9bnVsbCl0cnl7cFtsXS5hcHBseShwLG4pfWNhdGNoKFMpe319fWVsc2V7dmFyIHE9dm9pZCAwO2lmKEhiKGYpKWE6e2lmKGYubGVuZ3RoJiZ6YihmWzBdKSl7dmFyIHI9QURbZlswXV07aWYociYmKCFnLmZyb21Db250YWluZXJFeGVjdXRpb258fCFDRFtmWzBdXSkpe3E9cihmLGcpO2JyZWFrIGF9fXE9dm9pZCAwfWVsc2UgcT1mO2lmKHEpe3ZhciB0O2Zvcih2YXIgdT1xLHY9dS5fY2xlYXJ8fGcub3ZlcndyaXRlTW9kZWxGaWVsZHMseD1tKE9iamVjdC5rZXlzKHUpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT0KeC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7eiE9PSJfY2xlYXIiJiYodiYmckEuc2V0KHosdm9pZCAwKSxyQS5zZXQoeix1W3pdKSl9TSg1OTIpJiZTRCh1KTskaygyNSl8fFprKDI1LHVbImd0bS5zdGFydCJdKTt2YXIgQz11WyJndG0udW5pcXVlRXZlbnRJZCJdO3UuZXZlbnQ/KHR5cGVvZiBDIT09Im51bWJlciImJihDPXJqKCksdVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1DLHJBLnNldCgiZ3RtLnVuaXF1ZUV2ZW50SWQiLEMpKSx0PXpCKHUpKTp0PSExO2I9dHx8Yn19fWZpbmFsbHl7Zy5mcm9tQ29udGFpbmVyRXhlY3V0aW9uJiZvQShyQSwhMCk7dmFyIEQ9ZlsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtpZih0eXBlb2YgRD09PSJudW1iZXIiKXtmb3IodmFyIEk9YSxHPUkuS1tTdHJpbmcoRCldfHxbXSxOPTA7TjxHLmxlbmd0aDtOKyspSS5OLnB1c2gobUUoR1tOXSkpO0cubGVuZ3RoJiZJLk4uc29ydChuRSk7ZGVsZXRlIEkuS1tTdHJpbmcoRCldO0Q+YS5aJiYoYS5aPUQpfWEuUj0hMX19fXJldHVybiFifSwKcEU9ZnVuY3Rpb24oKXt2YXIgYT1oRTthLmZhJiZQKDE5NSk7YS5mYT0hMDtpZihmbi5IKXt2YXIgYj0hSWYoNTEpLGM9cnooKTtweihjLHtzdGFnZTpJeS5YLlpnfSk7aWYoYil7dmFyIGQ9cXooYyx7c3RhZ2U6SXkuWC5Za30sSXkuWC5uaSk7ZCE9PXZvaWQgMCYmKGMuSC5ZPWQpfXZhciBlPWEuSC5sZW5ndGg7cnooKS5ILkM9ZX1vRShhKTtpZihmbi5IKXt2YXIgZj1yeigpLGc9cXooZix7c3RhZ2U6SXkuWC5Wa30sSXkuWC5aZyk7ZyE9PXZvaWQgMCYmKGYuSC5CPWcpfXRyeXt2YXIgaD1BW0UoMTkpXSxsPUUoNSksbj1oLmhpZGU7aWYobiYmbltsXSE9PXZvaWQgMCYmbi5lbmQpe25bbF09ITE7dmFyIHA9ITAscTtmb3IocSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkocSkmJm5bcV09PT0hMCl7cD0hMTticmVha31wJiYobi5lbmQoKSxuLmVuZD1udWxsKX19Y2F0Y2gocil7RSg1KX19LHFFPWZ1bmN0aW9uKGEsYil7aWYoYS5aPGIubm90QmVmb3JlRXZlbnRJZCl7dmFyIGM9U3RyaW5nKGIubm90QmVmb3JlRXZlbnRJZCk7CmEuS1tjXT1hLktbY118fFtdO2EuS1tjXS5wdXNoKGIpfWVsc2V7YS5OLnB1c2gobUUoYikpO2EuTi5zb3J0KG5FKTt2YXIgZD1mdW5jdGlvbigpe2EuUnx8b0UoYSl9O00oNTgwKT9kZChkKTpiZChkKX19OwpnRS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoaCl7dmFyIGw9e307aWYoREQoaCkpe3ZhciBuPWg7aD1ERChuKT9uLmdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSgpOnZvaWQgMDtsLmZyb21Db250YWluZXJFeGVjdXRpb249ITB9cmV0dXJue21lc3NhZ2U6aCxtZXNzYWdlQ29udGV4dDpsfX12YXIgYj10aGlzLGM9TWMoRSgxOSksW10pLGQ9cGooKTtkLnBydW5lZD09PSEwJiZQKDgzKTt0aGlzLks9bkQoKS5nZXQoKTtuRCgpLmxpc3RlbihmdW5jdGlvbihoKXtxRShiLGgpfSk7ZC5zdWJzY3JpYmVycz0oZC5zdWJzY3JpYmVyc3x8MCkrMTt2YXIgZT1jLnB1c2gsZj10aGlzO2MucHVzaD1mdW5jdGlvbigpe3ZhciBoO2xqKCk7aWYoamouSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPjApe2g9W107Zm9yKHZhciBsPTA7bDxhcmd1bWVudHMubGVuZ3RoO2wrKyloW2xdPW5ldyBFRChhcmd1bWVudHNbbF0pfWVsc2UgaD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTsKdmFyIG49aC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGEodCl9KTtmLkgucHVzaC5hcHBseShmLkgsbik7dmFyIHA9ZS5hcHBseShjLGgpLHE9TWF0aC5tYXgoMTAwLE5mKDEsMzAwKSk7aWYodGhpcy5sZW5ndGg+cSlmb3IoUCg0KSxkLnBydW5lZD0hMDt0aGlzLmxlbmd0aD5xOyl0aGlzLnNoaWZ0KCk7dmFyIHI9dHlwZW9mIHAhPT0iYm9vbGVhbiJ8fHA7cmV0dXJuIG9FKGYpJiZyfTt2YXIgZz1jLnNsaWNlKDApLm1hcChmdW5jdGlvbihoKXtyZXR1cm4gYShoKX0pO3RoaXMuSC5wdXNoLmFwcGx5KHRoaXMuSCxnKTtJZig1MSl8fChmbi5IJiZ1eigpLGJkKHJFKSk7VkIoZnVuY3Rpb24oKXtpZighZC5ndG1Eb20pe2QuZ3RtRG9tPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmRvbSIsaCkpfX0pO2ZFKGZ1bmN0aW9uKCl7aWYoIWQuZ3RtTG9hZCl7ZC5ndG1Mb2FkPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmxvYWQiLGgpKX19KX07CmdFLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEpe3JldHVybiBBW0UoMTkpXS5wdXNoKGEpfTt2YXIgaEU9bmV3IGdFO2Z1bmN0aW9uIG5FKGEsYil7dmFyIGM9YS5tZXNzYWdlQ29udGV4dCxkPWIubWVzc2FnZUNvbnRleHQ7aWYoYy5ldmVudElkIT09ZC5ldmVudElkKXJldHVybiBjLmV2ZW50SWQtZC5ldmVudElkO2lmKCFNKDU5NSkpcmV0dXJuIGMucHJpb3JpdHlJZC1kLnByaW9yaXR5SWQ7dmFyIGUsZixnO2E6e2Zvcih2YXIgaD0oZT1jLnByaW9yaXR5UXVldWUpIT1udWxsP2U6W2MucHJpb3JpdHlJZF0sbD0oZj1kLnByaW9yaXR5UXVldWUpIT1udWxsP2Y6W2QucHJpb3JpdHlJZF0sbj1NYXRoLm1pbihoLmxlbmd0aCxsLmxlbmd0aCkscD0wO3A8bjtwKyspaWYoaFtwXSE9PWxbcF0pe2c9aFtwXS1sW3BdO2JyZWFrIGF9Zz1oLmxlbmd0aC1sLmxlbmd0aH1yZXR1cm4gZ30KZnVuY3Rpb24ga0UoYSl7aWYoYT09bnVsbHx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZihhLmV2ZW50KXJldHVybiEwO2lmKEhiKGEpKXt2YXIgYj1hWzBdO2lmKGI9PT0iY29uZmlnInx8Yj09PSJldmVudCJ8fGI9PT0ianMifHxiPT09ImdldCIpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gbUUoYSl7cmV0dXJue21lc3NhZ2U6YS5tZXNzYWdlLG1lc3NhZ2VDb250ZXh0OmEubWVzc2FnZUNvbnRleHR9fWZ1bmN0aW9uIHNFKGEsYixjKXtyZXR1cm4gaUUoYSxiLGMpfWZ1bmN0aW9uIHRFKGEsYil7cmV0dXJuIGpFKGEsYil9ZnVuY3Rpb24gckUoKXtwRSgpfWZ1bmN0aW9uIHVFKGEpe3JldHVybiBoRS5wdXNoKGEpfTt2YXIgdkU9ZnVuY3Rpb24oKXt9O3ZFLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGEsYj1SaihBLmxvY2F0aW9uLmhyZWYpOyhhPWIuaG9zdG5hbWUrYi5wYXRobmFtZSkmJlVtKCJkbCIsZW5jb2RlVVJJQ29tcG9uZW50KGEpKTt2YXIgYzt2YXIgZD1FKDUpO2lmKGQpe3ZhciBlPUlmKDcpPzE6MCxmPUZrKCksZz1mJiZmLmZyb21Db250YWluZXJFeGVjdXRpb24/MTowLGg9ZiYmZi5zb3VyY2V8fDAsbD1FKDYpO2M9ZCsiOyIrbCsiOyIrZysiOyIraCsiOyIrZX1lbHNlIGM9dm9pZCAwO3ZhciBuPWM7biYmVW0oInRkcCIsbik7dmFyIHA9T3AoITApO3AhPT12b2lkIDAmJlVtKCJmcm0iLFN0cmluZyhwKSl9O3ZhciB3RT1uZXcgdkU7dmFyIHhFPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCk7dGhpcy5LPXZvaWQgMH0seUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWm0oYSxmdW5jdGlvbihjKXtyZXR1cm4gYy5qYj4wP2I/Yy5qYisiXyIrV20oYyk6U3RyaW5nKGMuamIpOnZvaWQgMH0pfTsKeEUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKHBsKCl8fGZuLkspVW0oImNzcCIsZnVuY3Rpb24oKXt2YXIgYj15RShhLkgsITApOyRtKGEuSCk7cmV0dXJuIGJ9LCExKSxVbSgibWRlIixmdW5jdGlvbigpe3ZhciBiPWNuLkgsYz15RShiLCExKTskbShiKTtyZXR1cm4gY30sITEpLEEuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLGZ1bmN0aW9uKGIpe2lmKGIuZGlzcG9zaXRpb249PT0iZW5mb3JjZSIpe1AoMTc5KTt2YXIgYz1ubihiLmVmZmVjdGl2ZURpcmVjdGl2ZSk7aWYoYyl7dmFyIGQ7YTp7dmFyIGU9Yi5ibG9ja2VkVVJJLGY9a247aWYoZm4uSyYmZSl7dmFyIGc9am4oYyxlKTtpZihnKXt2YXIgaDtkPShoPWxuKGYsYykpPT1udWxsP3ZvaWQgMDpoW2ddO2JyZWFrIGF9fWQ9dm9pZCAwfXZhciBsPWQ7aWYobCl7dmFyIG47YTp7dHJ5e3ZhciBwPW5ldyBVUkwoYi5ibG9ja2VkVVJJKSxxPXAucGF0aG5hbWUuaW5kZXhPZigiOyIpOwpuPXE+PTA/cC5vcmlnaW4rcC5wYXRobmFtZS5zdWJzdHJpbmcoMCxxKTpwLm9yaWdpbitwLnBhdGhuYW1lO2JyZWFrIGF9Y2F0Y2goRCl7fW49dm9pZCAwfXZhciByPW47aWYocil7Zm9yKHZhciB0PW0obCksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpe3ZhciB2PXUudmFsdWU7aWYoIXYuRW8pe3YuRW89ITA7dmFyIHg9e2V2ZW50SWQ6di5ldmVudElkLHByaW9yaXR5SWQ6di5wcmlvcml0eUlkfTtpZihwbCgpKXt2YXIgeT14LHo9e3R5cGU6MSxibG9ja2VkVXJsOnIsZW5kcG9pbnQ6di5lbmRwb2ludCx2aW9sYXRpb246Yi5lZmZlY3RpdmVEaXJlY3RpdmV9O2lmKHBsKCkpe3ZhciBDPUxsKCJUQUdfRElBR05PU1RJQ1MiLHtldmVudElkOnk9PW51bGw/dm9pZCAwOnkuZXZlbnRJZCxwcmlvcml0eUlkOnk9PW51bGw/dm9pZCAwOnkucHJpb3JpdHlJZH0pO0MudGFnRGlhZ25vc3RpY3M9ejtvbChDKX19ekUoYSx2LmRlc3RpbmF0aW9uSWQsdi5lbmRwb2ludCxjKX19bW4oYywKYi5ibG9ja2VkVVJJKX19fX19KX07dmFyIHpFPWZ1bmN0aW9uKGEsYixjLGQpe2FuKGEuSCxiLGMsMSxkKTtWbSgiY3NwIiwhMCk7Vm0oIm1kZSIsITApO2MhPT02MSYmYyE9PTU2JiZhLks9PT12b2lkIDAmJihhLks9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5ILmpiPjAmJnRvKCExKTthLks9dm9pZCAwfSw1MDApKX0sQUU9bmV3IHhFO3ZhciBCRT1mdW5jdGlvbigpe3RoaXMuc2VxdWVuY2VOdW1iZXI9MH07QkUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO0NFKHRoaXMpO0lmKDY1KSYmVW0oIm10YmwiLCIxIik7VW0oInYiLCIzIik7VW0oInQiLCJ0Iik7VW0oInBpZCIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKG5tKGptLmJhLmJoKSl9KTtVbSgiZ3RtIixmdW5jdGlvbigpe3JldHVybiBkdSgpfSk7VW0oInNlcSIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKCsrYS5zZXF1ZW5jZU51bWJlcil9KTtVbSgiZXhwIixmdW5jdGlvbigpe3JldHVybiBDcCgpfSl9O3ZhciBDRT1mdW5jdGlvbihhKXtpZihubShqbS5iYS5iaCk9PT12b2lkIDApe3ZhciBiPWZ1bmN0aW9uKCl7bW0oam0uYmEuYmgsRGIoKSk7YS5zZXF1ZW5jZU51bWJlcj0wfTtiKCk7Y2QoYiw4NjRFNSl9ZWxzZSBwbShqbS5iYS5iaCxmdW5jdGlvbigpe2Euc2VxdWVuY2VOdW1iZXI9MH0pO2Euc2VxdWVuY2VOdW1iZXI9MH0sREU9bmV3IEJFO2Z1bmN0aW9uIEVFKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBBW2FdfX0KdmFyIEZFPXt9LEdFPShGRVsxNF09ZnVuY3Rpb24oKXt2YXIgYTtyZXR1cm4oYT1BLmNyeXB0byk9PW51bGw/dm9pZCAwOmEuZ2V0UmFuZG9tVmFsdWVzfSxGRVsxNV09ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybihhPUEuY3J5cHRvKT09bnVsbD92b2lkIDA6KGI9YS5zdWJ0bGUpPT1udWxsP3ZvaWQgMDpiLmRpZ2VzdH0sRkVbMV09RUUoImZldGNoIiksRkVbNl09RUUoIk1hcCIpLEZFWzJdPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tfSxGRVs4XT1mdW5jdGlvbigpe3JldHVybiBuYShPYmplY3QsImFzc2lnbiIpfSxGRVs5XT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuZW50cmllc30sRkVbMTBdPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllc30sRkVbNV09RUUoIlByb21pc2UiKSxGRVsxM109RUUoIlJlZ0V4cCIpLEZFWzNdPWZ1bmN0aW9uKCl7cmV0dXJuIEhjLnNlbmRCZWFjb259LEZFWzddPUVFKCJTZXQiKSxGRVsxMl09ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5lbmRzV2l0aH0sCkZFWzExXT1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGh9LEZFWzRdPUVFKCJYTUxIdHRwUmVxdWVzdCIpLEZFKSxIRT17fSxJRT0oSEVbMTVdPSEwLEhFKTt2YXIgTkU9L14oaHR0cHM/Oik/XC9cLy87CgpmdW5jdGlvbiBoRigpe307ZnVuY3Rpb24gaUYoKXtJZig2MikmJihoeSgiZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzIixmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuKChkPWMub3B0aW9ucyk9PW51bGw/dm9pZCAwOmQud2FpdEZvclRhZ3MpIT09ITB9KSxoeSgiZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLndhaXRGb3JUYWdzKSE9PSEwfSksaHkoImRldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLmZpeE1pc3NpbmdBcGkpIT09ITB9KSl9O3ZhciBqRj1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O2pGLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O3ZhciBrRj1uZXcgakY7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtbMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtsdCh7R3U6MCxGdToxLEN1OjIseHU6MyxEdTo0LHl1OjUsRXU6NixBdTo3LEJ1Ojgsd3U6OSx6dToxMCxIdToxMX0pLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gTnVtYmVyKGEpfSk7bHQoe0p1OjAsS3U6MSxJdToyfSkubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBOdW1iZXIoYSl9KTt2YXIgbEY9ZnVuY3Rpb24oYSxiLGMsZCl7cnQuY2FsbCh0aGlzKTt0aGlzLmZlPWI7dGhpcy5rZD1jO3RoaXMuYWM9ZDt0aGlzLkxhPW5ldyBNYXA7dGhpcy5oZT0wO3RoaXMuamE9bmV3IE1hcDt0aGlzLnlhPW5ldyBNYXA7dGhpcy5aPXZvaWQgMDt0aGlzLks9YX07d2EobEYscnQpO2xGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuSDt0aGlzLkxhLmNsZWFyKCk7dGhpcy5qYS5jbGVhcigpO3RoaXMueWEuY2xlYXIoKTt0aGlzLlomJihudCh0aGlzLkssIm1lc3NhZ2UiLHRoaXMuWiksZGVsZXRlIHRoaXMuWik7ZGVsZXRlIHRoaXMuSztkZWxldGUgdGhpcy5hYztydC5wcm90b3R5cGUuTi5jYWxsKHRoaXMpfTsKdmFyIG1GPWZ1bmN0aW9uKGEpe2lmKGEuSClyZXR1cm4gYS5IO2Eua2QmJmEua2QoYS5LKT9hLkg9YS5LOmEuSD1OcChhLkssYS5mZSk7dmFyIGI7cmV0dXJuKGI9YS5IKSE9bnVsbD9iOm51bGx9LG9GPWZ1bmN0aW9uKGEsYixjKXtpZihtRihhKSlpZihhLkg9PT1hLkspe3ZhciBkPWEuTGEuZ2V0KGIpO2QmJmQoYS5ILGMpfWVsc2V7dmFyIGU9YS5qYS5nZXQoYik7aWYoZSYmZS5kayl7bkYoYSk7dmFyIGY9KythLmhlO2EueWEuc2V0KGYse3BlOmUucGUsSXI6ZS5ubyhjKSxwZXJzaXN0ZW50OmI9PT0iYWRkRXZlbnRMaXN0ZW5lciJ9KTthLkgucG9zdE1lc3NhZ2UoZS5kayhjLGYpLCIqIil9fX0sbkY9ZnVuY3Rpb24oYSl7YS5afHwoYS5aPWZ1bmN0aW9uKGIpe2lmKGIuc291cmNlPT09YS5IKXRyeXt2YXIgYztjPWEuYWM/YS5hYyhiKTp2b2lkIDA7aWYoYyl7dmFyIGQ9Yy5ZcyxlPWEueWEuZ2V0KGQpO2lmKGUpe2UucGVyc2lzdGVudHx8YS55YS5kZWxldGUoZCk7dmFyIGY7KGY9CmUucGUpPT1udWxsfHxmLmNhbGwoZSxlLklyLGMucGF5bG9hZCl9fX1jYXRjaChnKXt9fSxtdChhLkssIm1lc3NhZ2UiLGEuWikpfTt2YXIgcEY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxpc3RlbmVyLGQ9KDAsYS5fX2dwcCkoImFkZEV2ZW50TGlzdGVuZXIiLGMpO2QmJmMoZCwhMCl9LHFGPWZ1bmN0aW9uKGEsYil7KDAsYS5fX2dwcCkoInJlbW92ZUV2ZW50TGlzdGVuZXIiLGIubGlzdGVuZXIsYi5saXN0ZW5lcklkKX0sckY9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoiYWRkRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIn0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuO2EoYy5yZXR1cm5WYWx1ZSxjLnN1Y2Nlc3MpfX0sc0Y9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoicmVtb3ZlRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIiwKcGFyYW1ldGVyOmEubGlzdGVuZXJJZH0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuLGQ9Yy5yZXR1cm5WYWx1ZS5kYXRhO2E9PW51bGx8fGEoZCxjLnN1Y2Nlc3MpfX07ZnVuY3Rpb24gdEYoYSl7dmFyIGI9e307dmYoYS5kYXRhKT9iPUpTT04ucGFyc2UoYS5kYXRhKTpiPWEuZGF0YTtyZXR1cm57cGF5bG9hZDpiLFlzOmIuX19ncHBSZXR1cm4uY2FsbElkfX0KdmFyIHVGPWZ1bmN0aW9uKGEsYil7dmFyIGM7Yz0oYj09PXZvaWQgMD97fTpiKS50aW1lb3V0TXM7cnQuY2FsbCh0aGlzKTt0aGlzLmNhbGxlcj1uZXcgbEYoYSwiX19ncHBMb2NhdG9yIixmdW5jdGlvbihkKXtyZXR1cm4gdHlwZW9mIGQuX19ncHA9PT0iZnVuY3Rpb24ifSx0Rik7dGhpcy5jYWxsZXIuTGEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixwRik7dGhpcy5jYWxsZXIuamEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixyRik7dGhpcy5jYWxsZXIuTGEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixxRik7dGhpcy5jYWxsZXIuamEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixzRik7dGhpcy50aW1lb3V0TXM9YyE9bnVsbD9jOjUwMH07d2EodUYscnQpO3VGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7dGhpcy5jYWxsZXIuZGlzcG9zZSgpO3J0LnByb3RvdHlwZS5OLmNhbGwodGhpcyl9Owp1Ri5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9SHAoZnVuY3Rpb24oKXthKHZGLCEwKX0pLGQ9dGhpcy50aW1lb3V0TXM9PT0tMT92b2lkIDA6c2V0VGltZW91dChmdW5jdGlvbigpe2MoKX0sdGhpcy50aW1lb3V0TXMpO29GKHRoaXMuY2FsbGVyLCJhZGRFdmVudExpc3RlbmVyIix7bGlzdGVuZXI6ZnVuY3Rpb24oZSxmKXtjbGVhclRpbWVvdXQoZCk7dHJ5e3ZhciBnO3ZhciBoOygoaD1lLnBpbmdEYXRhKT09bnVsbD92b2lkIDA6aC5ncHBWZXJzaW9uKT09PXZvaWQgMHx8ZS5waW5nRGF0YS5ncHBWZXJzaW9uPT09IjEifHxlLnBpbmdEYXRhLmdwcFZlcnNpb249PT0iMS4wIj8oYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjEsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0lTX0RFUFJFQ0FURURfU1BFQyIsCmFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pOkFycmF5LmlzQXJyYXkoZS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMpP2c9ZTooYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjIsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0VYUEVDVEVEX0FQUExJQ0FUSU9OX1NFQ1RJT05fQVJSQVkiLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pO2EoZyxmKX1jYXRjaChsKXtpZihlPT1udWxsPzA6ZS5saXN0ZW5lcklkKXRyeXtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS5saXN0ZW5lcklkKX1jYXRjaChuKXthKHdGLCEwKTtyZXR1cm59YSh4RiwhMCl9fX0pfTsKdUYucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7b0YodGhpcy5jYWxsZXIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLHtsaXN0ZW5lcjpmdW5jdGlvbigpe30sbGlzdGVuZXJJZDphfSl9Owp2YXIgeEY9e2V2ZW50TmFtZToic2lnbmFsU3RhdHVzIixkYXRhOiJyZWFkeSIscGluZ0RhdGE6e2ludGVybmFsRXJyb3JTdGF0ZToyLGdwcFN0cmluZzoiR1BQX0VSUk9SX1NUUklOR19VTkFWQUlMQUJMRSIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9LHZGPXtldmVudE5hbWU6InNpZ25hbFN0YXR1cyIsZGF0YToicmVhZHkiLHBpbmdEYXRhOntncHBTdHJpbmc6IkdQUF9FUlJPUl9TVFJJTkdfTElTVEVORVJfUkVHSVNUUkFUSU9OX1RJTUVPVVQiLGludGVybmFsRXJyb3JTdGF0ZToyLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfSxsaXN0ZW5lcklkOi0xfSx3Rj17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7Z3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX1JFTU9WRV9FVkVOVF9MSVNURU5FUl9FUlJPUiIsaW50ZXJuYWxFcnJvclN0YXRlOjIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9O2Z1bmN0aW9uIHlGKGEpe3ZhciBiO2lmKCEoYj1hLnBpbmdEYXRhLnNpZ25hbFN0YXR1cz09PSJyZWFkeSIpKXt2YXIgYz1hLnBpbmdEYXRhLmFwcGxpY2FibGVTZWN0aW9ucztiPSFjfHxjLmxlbmd0aD09PTEmJmNbMF09PT0tMX1pZihiKXtrRi5ncHBTdHJpbmc9YS5waW5nRGF0YS5ncHBTdHJpbmc7dmFyIGQ9YS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMuam9pbigiLCIpO2tGLkg9ZH19ZnVuY3Rpb24gekYoKXt0cnl7dmFyIGE9bmV3IHVGKEEse3RpbWVvdXRNczotMX0pO21GKGEuY2FsbGVyKSYmYS5hZGRFdmVudExpc3RlbmVyKHlGKX1jYXRjaChiKXt9fTtmdW5jdGlvbiBBRigpe3ZhciBhPVtbImN2IixFKDEpXSxbInJ2IixFKDE0KV0sWyJ0YyIsY0EudGFncy5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIGR9KS5sZW5ndGhdXSxiPUpmKDE1KTtiJiZhLnB1c2goWyJ4IixiXSk7dmFyIGM9Q3AoKTtjJiZhLnB1c2goWyJ0YWdfZXhwIixjXSk7cmV0dXJuIGF9O3ZhciBCRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O3RoaXMuSz17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1iLmV2ZW50SWQsZD1iLnRmLGU9W10sZj1hLkhbY118fFtdO2YubGVuZ3RoJiZlLnB1c2goWyJoZiIsZi5qb2luKCIuIildKTt2YXIgZz1hLktbY118fFtdO2cubGVuZ3RoJiZlLnB1c2goWyJodCIsZy5qb2luKCIuIildKTtkJiYoZGVsZXRlIGEuSFtjXSxkZWxldGUgYS5LW2NdKTtyZXR1cm4gZX0pfSxDRj1mdW5jdGlvbigpe3ZhciBhPTA7cmV0dXJuIGZ1bmN0aW9uKGIpe3N3aXRjaChiKXtjYXNlIDE6YXw9MTticmVhaztjYXNlIDI6YXw9MjticmVhaztjYXNlIDM6YXw9NH1yZXR1cm4gYX19LERGO3ZhciBFRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPSIiO2ZuLk4mJk0oNTE2KSYmZnooZnVuY3Rpb24oKXt2YXIgYj1bXTthLkgmJmIucHVzaChbInBzZCIsYS5IXSk7cmV0dXJuIGJ9KX0sRkY7ZnVuY3Rpb24gR0YoKXtyZXR1cm4hMX0KZnVuY3Rpb24gSEYoKXt2YXIgYT17fTtyZXR1cm4gZnVuY3Rpb24oYixjLGQpe319O2Z1bmN0aW9uIElGKCl7dmFyIGE9SkY7cmV0dXJuIGZ1bmN0aW9uKGIsYyxkKXt2YXIgZT1kJiZkLmV2ZW50O0tGKGMpO3ZhciBmPUJoKGIpP3ZvaWQgMDoxLGc9bmV3IGtiO0diKGMsZnVuY3Rpb24ocix0KXt2YXIgdT1VZCh0LHZvaWQgMCxmKTt1PT09dm9pZCAwJiZ0IT09dm9pZCAwJiZQKDQ0KTtnLnNldChyLHUpfSk7YS5RYihRZigpKTt2YXIgaD17Um46aGcoYiksZXZlbnRJZDplPT1udWxsP3ZvaWQgMDplLmlkLHByaW9yaXR5SWQ6ZSE9PXZvaWQgMD9lLnByaW9yaXR5SWQ6dm9pZCAwLHByaW9yaXR5UXVldWU6ZSE9PXZvaWQgMD9lLnByaW9yaXR5UXVldWU6dm9pZCAwLHdnOmUhPT12b2lkIDA/ZnVuY3Rpb24ocil7ZS5sZC53ZyhyKX06dm9pZCAwLFBiOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGxvZzpmdW5jdGlvbigpe30sTnI6e2luZGV4OmQ9PW51bGw/dm9pZCAwOmQuaW5kZXgsdHlwZTpkPT1udWxsP3ZvaWQgMDpkLnR5cGUsbmFtZTpkPT1udWxsP3ZvaWQgMDpkLm5hbWV9LAppdDohIUtBKGIsMyksb3JpZ2luYWxFdmVudERhdGE6ZT09bnVsbD92b2lkIDA6ZS5vcmlnaW5hbEV2ZW50RGF0YX07ZSYmZS5jYWNoZWRNb2RlbFZhbHVlcyYmKGguY2FjaGVkTW9kZWxWYWx1ZXM9e2d0bTplLmNhY2hlZE1vZGVsVmFsdWVzLmd0bSxlY29tbWVyY2U6ZS5jYWNoZWRNb2RlbFZhbHVlcy5lY29tbWVyY2V9KTtpZihHRigpKXt2YXIgbD1IRigpLG4scDtoLkFiPXt3azpbXSx5Zzp7fSxqYzpmdW5jdGlvbihyLHQsdSl7dD09PTEmJihuPXIpO3Q9PT03JiYocD11KTtsKHIsdCx1KX0sZWk6VmgoKX07aC5sb2c9ZnVuY3Rpb24ocil7dmFyIHQ9T2EuYXBwbHkoMSxhcmd1bWVudHMpO24mJmwobiw0LHtsZXZlbDpyLHNvdXJjZTpwLG1lc3NhZ2U6dH0pfX0KdmFyIHE9cmYoYSxoLFtiLGddKTthLlFiKCk7cSBpbnN0YW5jZW9mIFRhJiYocS50eXBlPT09InJldHVybiI/cT1xLmRhdGE6cT12b2lkIDApO3JldHVybiBUZChxLHZvaWQgMCxmKX19ZnVuY3Rpb24gS0YoYSl7dmFyIGI9YS5ndG1PblN1Y2Nlc3MsYz1hLmd0bU9uRmFpbHVyZTt5YihiKSYmKGEuZ3RtT25TdWNjZXNzPWZ1bmN0aW9uKCl7YmQoYil9KTt5YihjKSYmKGEuZ3RtT25GYWlsdXJlPWZ1bmN0aW9uKCl7YmQoYyl9KX07dmFyIE1GPWZ1bmN0aW9uKGEpe1YoYSxILkoudGcsY28uaWEuY2IpfTtmdW5jdGlvbiBORigpe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjApfTt2YXIgT0Y9W0YuRC56aV0ubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLnNsaWNlKDIpfSk7dmFyIFBGPWZ1bmN0aW9uKGEpe1UoYSxGLkQuemksYWwoOCxORikpfTtmdW5jdGlvbiBRRihhKXt9UUYuUD0iaW50ZXJuYWwuYWRkQWRzQ2xpY2tJZHMiO2Z1bmN0aW9uIFJGKGEsYil7dmFyIGM9dGhpczt9UkYucHVibGljTmFtZT0iYWRkQ29uc2VudExpc3RlbmVyIjt2YXIgU0Y9ITE7ZnVuY3Rpb24gVEYoYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpaWYoU0YpdHJ5e2FbYl0oKX1jYXRjaChjKXtQKDc3KX1lbHNlIGFbYl0oKX1mdW5jdGlvbiBVRihhLGIsYyl7dmFyIGQ9dGhpcyxlO2lmKCFsaChhKXx8IWhoKGIpfHwhbWgoYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImZ1bmN0aW9uIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChkLCJsaXN0ZW5fZGF0YV9sYXllciIsYSl9XSk7ZT15QigpLmFkZExpc3RlbmVyKGEsVGQoYix2b2lkIDAsMSksYz09PW51bGw/dm9pZCAwOmMpO3JldHVybiBlfVVGLlA9ImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFZGKGEsYixjKXt9VkYucHVibGljTmFtZT0iYWRkRG9jdW1lbnRFdmVudExpc3RlbmVyIjtmdW5jdGlvbiBXRihhLGIsYyxkKXt9V0YucHVibGljTmFtZT0iYWRkRWxlbWVudEV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFhGKGEpe3JldHVybiBhLlQueGIoKX07ZnVuY3Rpb24gWUYoYSl7fVlGLnB1YmxpY05hbWU9ImFkZEV2ZW50Q2FsbGJhY2siOwp2YXIgWkY9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YTpTdHJpbmcocmooKSl9LGJHPWZ1bmN0aW9uKGEsYil7JEYoYSwiaW5pdCIsITEpfHwoYUcoYSwiaW5pdCIsITApLGIoKSl9LCRGPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jRyhhKTtyZXR1cm4gT2IoZCxiLGMpfSxkRz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jRyhhKSxmPU9iKGUsYixkKSxnPWMoZik7cmV0dXJuIGVbYl09Z30sYUc9ZnVuY3Rpb24oYSxiLGMpe2NHKGEpW2JdPWN9LGNHPWZ1bmN0aW9uKGEpe3ZhciBiPWtqKCJhdXRvRXZlbnRzU2V0dGluZ3MiLGZ1bmN0aW9uKCl7cmV0dXJue319KTtiLmhhc093blByb3BlcnR5KGEpfHwoYlthXT17fSk7cmV0dXJuIGJbYV19LGVHPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17ZXZlbnQ6YiwiZ3RtLmVsZW1lbnQiOmEsImd0bS5lbGVtZW50Q2xhc3NlcyI6b2QoYSwiY2xhc3NOYW1lIiksImd0bS5lbGVtZW50SWQiOmEuZm9yfHxlZChhLCJpZCIpfHwKIiIsImd0bS5lbGVtZW50VGFyZ2V0IjphLmZvcm1UYXJnZXR8fG9kKGEsInRhcmdldCIpfHwiIn07YyYmKGRbImd0bS50cmlnZ2VycyJdPWMuam9pbigiLCIpKTtkWyJndG0uZWxlbWVudFVybCJdPShhLmF0dHJpYnV0ZXMmJmEuYXR0cmlidXRlcy5mb3JtYWN0aW9uP2EuZm9ybUFjdGlvbjoiIil8fGEuYWN0aW9ufHxvZChhLCJocmVmIil8fGEuc3JjfHxhLmNvZGV8fGEuY29kZWJhc2V8fCIiO3JldHVybiBkfTt2YXIgaEc9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmVsZW1lbnRzKXJldHVybiAwO2Zvcih2YXIgZD1iLmRhdGFzZXRbY10sZT0wLGY9MTtlPGEuZWxlbWVudHMubGVuZ3RoO2UrKyl7dmFyIGc9YS5lbGVtZW50c1tlXSxoPWcudGFnTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCEoZkcuaW5kZXhPZihoKTwwfHxoPT09ImlucHV0IiYmZ0cuaW5kZXhPZihnLnR5cGUudG9Mb3dlckNhc2UoKSk+PTApKXtpZihnLmRhdGFzZXRbY109PT1kKXJldHVybiBmO2YrK319cmV0dXJuIDB9LGZHPVsiaW5wdXQiLCJzZWxlY3QiLCJ0ZXh0YXJlYSJdLGdHPVsiYnV0dG9uIiwiaGlkZGVuIiwiaW1hZ2UiLCJyZXNldCIsInN1Ym1pdCJdOwpmdW5jdGlvbiBpRyhhKXtpZihhLmZvcm0pe3ZhciBiO3JldHVybigoYj1hLmZvcm0pPT1udWxsPzA6Yi50YWdOYW1lKT9hLmZvcm06Qi5nZXRFbGVtZW50QnlJZChhLmZvcm0pfXJldHVybiBoZChhLFsiZm9ybSJdLDEwMCl9OwpmdW5jdGlvbiBtRyhhKXt9bUcuUD0iaW50ZXJuYWwuYWRkRm9ybUFiYW5kb25tZW50TGlzdGVuZXIiO2Z1bmN0aW9uIG5HKGEsYixjLGQpe30KbkcuUD0iaW50ZXJuYWwuYWRkRm9ybURhdGEiOwpmdW5jdGlvbiBzRyhhKXt9c0cuUD0iaW50ZXJuYWwuYWRkR2FTZW5kTGlzdGVuZXIiO2Z1bmN0aW9uIHRHKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuTnI7cmV0dXJuIEpBKGIudHlwZSxiLmluZGV4LGIubmFtZSl9ZnVuY3Rpb24gdUcoYSl7aWYoIWEpcmV0dXJue307dmFyIGI9e29yaWdpbmF0aW5nRW50aXR5OnRHKGEpfTthLnByaW9yaXR5UXVldWUmJihiLnByaW9yaXR5UXVldWU9YS5wcmlvcml0eVF1ZXVlKTtyZXR1cm4gYn07ZnVuY3Rpb24gQ0coYSl7dmFyIGI9bWooInpvbmVzIik7cmV0dXJuIGI/Yi5nZXRJc0FsbG93ZWRGbih3aygpLGEpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fWZ1bmN0aW9uIERHKCl7dmFyIGE9bWooInpvbmVzIik7YSYmYS51bnJlZ2lzdGVyQ2hpbGQod2soKSl9CmZ1bmN0aW9uIEVHKCl7a0IodmsoKSxmdW5jdGlvbihhKXt2YXIgYj1hLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdLGM9bWooInpvbmVzIik7cmV0dXJuIGM/Yy5pc0FjdGl2ZSh3aygpLGIpOiEwfSk7aEIodmsoKSxmdW5jdGlvbihhKXt2YXIgYixjO2I9YS5lbnRpdHlJZDtjPWEuc2VjdXJpdHlHcm91cHM7cmV0dXJuIENHKE51bWJlcihhLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdKSkoYixjKX0pfTt2YXIgRkc9ZnVuY3Rpb24oYSxiKXt0aGlzLnRhZ0lkPWE7dGhpcy5jYW5vbmljYWxJZD1ifTsKZnVuY3Rpb24gR0coYSxiKXt2YXIgYz10aGlzO3JldHVybiBhfUdHLlA9ImludGVybmFsLmxvYWRHb29nbGVUYWciO2Z1bmN0aW9uIEhHKGEpe3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShiKTtpZihjIGluc3RhbmNlb2YgS2QpcmV0dXJuIG5ldyBLZCgiIixmdW5jdGlvbigpe3ZhciBkPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxlPXRoaXMsZj1FZChYRih0aGlzKSxudWxsKTtmLmV2ZW50SWQ9YS5ldmVudElkO2YucHJpb3JpdHlJZD1hLnByaW9yaXR5SWQ7Zi5vcmlnaW5hbEV2ZW50RGF0YT1hLm9yaWdpbmFsRXZlbnREYXRhO3ZhciBnPWQubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBlLmV2YWx1YXRlKGwpfSksaD10aGlzLlQud2IoKTtoLnVlKGYpO3JldHVybiBjLk5jLmFwcGx5KGMsW2hdLmNvbmNhdCh3KGcpKSl9KX0pfTtmdW5jdGlvbiBJRyhhLGIsYyl7dmFyIGQ9dGhpczt9SUcuUD0iaW50ZXJuYWwuYWRkR29vZ2xlVGFnUmVzdHJpY3Rpb24iOwpmdW5jdGlvbiBQRyhhLGIpe31QRy5QPSJpbnRlcm5hbC5hZGRIaXN0b3J5Q2hhbmdlTGlzdGVuZXIiO2Z1bmN0aW9uIFFHKGEsYixjKXt9UUcucHVibGljTmFtZT0iYWRkV2luZG93RXZlbnRMaXN0ZW5lciI7ZnVuY3Rpb24gUkcoYSxiKXtyZXR1cm4hMH1SRy5wdWJsaWNOYW1lPSJhbGlhc0luV2luZG93IjtmdW5jdGlvbiBTRyhhLGIsYyl7fVNHLlA9ImludGVybmFsLmFwcGVuZFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gVEcoYSl7dmFyIGI7cmV0dXJuIGJ9ClRHLnB1YmxpY05hbWU9ImNhbGxJbldpbmRvdyI7ZnVuY3Rpb24gVUcoYSl7fVVHLnB1YmxpY05hbWU9ImNhbGxMYXRlciI7ZnVuY3Rpb24gVkcoYSl7fVZHLlA9ImNhbGxPbkRvbVJlYWR5IjtmdW5jdGlvbiBXRyhhKXt9V0cuUD0iY2FsbE9uV2luZG93TG9hZCI7dmFyIFlHPWZ1bmN0aW9uKGEsYil7dmFyIGM9bm0oWEcpfHx7fSxkPWNbYV18fHt9O2lmKGRbYl0pcmV0dXJuITE7dmFyIGU9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxkKTtlW2JdPSEwO3ZhciBmPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyk7ZlthXT1lO21tKFhHLGYpO3JldHVybiEwfSxYRz1qbS5iYS5ocjtmdW5jdGlvbiBaRyhhLGIpe2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPVlHKGEsYik7cmV0dXJuIGN9WkcuUD0iaW50ZXJuYWwuY2xhaW1EZXN0aW5hdGlvbiI7ZnVuY3Rpb24gJEcoYSxiKXt2YXIgYztyZXR1cm4gY30kRy5QPSJpbnRlcm5hbC5jb21wdXRlR3RtUGFyYW1ldGVyIjtmdW5jdGlvbiBhSChhLGIpe3ZhciBjPXRoaXM7fWFILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZUZpcnN0VHJ5IjtmdW5jdGlvbiBiSChhLGIpe3ZhciBjPXRoaXM7fWJILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZVJldHJ5IjtmdW5jdGlvbiBjSChhKXt2YXIgYjtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyJdLGFyZ3VtZW50cyk7dmFyIGM9YTtpZigha20oYykpdGhyb3cgRXJyb3IoImNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTt2YXIgZD1ubShjKTtiPVVkKGQsdGhpcy5ULDEpO3JldHVybiBifWNILlA9ImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBkSChhLGIpe3ZhciBjO3ZhciBlPVVkKGMsdGhpcy5ULEJoKFhGKHRoaXMpLlBiKCkpPzI6MSk7ZT09PXZvaWQgMCYmYyE9PXZvaWQgMCYmUCg0NSk7cmV0dXJuIGV9ZEgucHVibGljTmFtZT0iY29weUZyb21EYXRhTGF5ZXIiOwpmdW5jdGlvbiBlSChhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9ZUguUD0iaW50ZXJuYWwuY29weUZyb21EYXRhTGF5ZXJDYWNoZSI7ZnVuY3Rpb24gZkgoYSl7dmFyIGI7cmV0dXJuIGJ9ZkgucHVibGljTmFtZT0iY29weUZyb21XaW5kb3ciO2Z1bmN0aW9uIGdIKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYix0aGlzLlQsMSl9Z0guUD0iaW50ZXJuYWwuY29weUtleUZyb21XaW5kb3ciO3ZhciBoSD1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWNvLmlhLmNiJiZmby5IW2FdPT09Ym8uTWEuVWUmJiFYbyhGLkQua2EpfTt2YXIgaUg9ZnVuY3Rpb24oKXtyZXR1cm4iMCJ9LGpIPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuIiI7dmFyIGI9WyJnY2xpZCIsImRjbGlkIiwid2JyYWlkIiwiX2dsIl07TSgxMDIpJiZiLnB1c2goImdicmFpZCIpO3JldHVybiBTaihhLGIsIjAiKX07dmFyIGtIPXt9LGxIPXt9LG1IPXt9LG5IPXt9LG9IPXt9LHBIPXt9LHFIPXt9LHJIPXt9LHNIPXt9LHRIPXt9LHVIPXt9LHZIPXt9LHdIPXt9LHhIPXt9LHlIPXt9LHpIPXt9LEFIPXt9LEJIPXt9LENIPXt9LERIPXt9LEVIPXt9LEZIPXt9LEdIPXt9LEhIPXt9LElIPXt9LEpIPXt9LEtIPShKSFtGLkQuZmJdPShrSFsyXT1baEhdLGtIKSxKSFtGLkQuWmZdPShsSFsyXT1baEhdLGxIKSxKSFtGLkQuSmldPShtSFsyXT1baEhdLG1IKSxKSFtGLkQuZ21dPShuSFsyXT1baEhdLG5IKSxKSFtGLkQuaG1dPShvSFsyXT1baEhdLG9IKSxKSFtGLkQuaW1dPShwSFsyXT1baEhdLHBIKSxKSFtGLkQuam1dPShxSFsyXT1baEhdLHFIKSxKSFtGLkQua21dPShySFsyXT1baEhdLHJIKSxKSFtGLkQuQmNdPShzSFsyXT1baEhdLHNIKSxKSFtGLkQuY2ddPSh0SFsyXT1baEhdLHRIKSxKSFtGLkQuZGddPSh1SFsyXT1baEhdLHVIKSxKSFtGLkQuZWddPSh2SFsyXT1baEhdLHZIKSxKSFtGLkQuZmddPSh3SFsyXT0KW2hIXSx3SCksSkhbRi5ELmdnXT0oeEhbMl09W2hIXSx4SCksSkhbRi5ELmhnXT0oeUhbMl09W2hIXSx5SCksSkhbRi5ELmlnXT0oekhbMl09W2hIXSx6SCksSkhbRi5ELmpnXT0oQUhbMl09W2hIXSxBSCksSkhbRi5ELmxiXT0oQkhbMV09W2hIXSxCSCksSkhbRi5ELkRkXT0oQ0hbMV09W2hIXSxDSCksSkhbRi5ELktkXT0oREhbMV09W2hIXSxESCksSkhbRi5ELkVlXT0oRUhbMV09W2hIXSxFSCksSkhbRi5ELkJmXT0oRkhbMV09W2Z1bmN0aW9uKGEpe3JldHVybiBNKDEwMikmJmhIKGEpfV0sRkgpLEpIW0YuRC5VY109KEdIWzFdPVtoSF0sR0gpLEpIW0YuRC56YV09KEhIWzFdPVtoSF0sSEgpLEpIW0YuRC5VYV09KElIWzFdPVtoSF0sSUgpLEpIKSxMSD17fSxNSD0oTEhbRi5ELmxiXT1pSCxMSFtGLkQuRGRdPWlILExIW0YuRC5LZF09aUgsTEhbRi5ELkVlXT1pSCxMSFtGLkQuQmZdPWlILExIW0YuRC5VY109ZnVuY3Rpb24oYSl7aWYoIUNkKGEpKXJldHVybnt9O3ZhciBiPUVkKGEsCm51bGwpO2RlbGV0ZSBiLm1hdGNoX2lkO3JldHVybiBifSxMSFtGLkQuemFdPWpILExIW0YuRC5VYV09akgsTEgpLE5IPXt9LE9IPXt9LFBIPShPSFtILkouWWFdPShOSFsyXT1baEhdLE5IKSxPSCksUUg9e307dmFyIFJIPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSD1hO3RoaXMuTj1iO3RoaXMuUj1jO3RoaXMuWj1kfTtSSC5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2NvLmlhLmdkOmE7aWYoIXRoaXMuTi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSkpcmV0dXJuIHRoaXMuUi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSk/dGhpcy5aKHRoaXMuSCk6dGhpcy5IfTtSSC5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiBBZCh0aGlzLkgpPT09ImFycmF5Inx8Q2QodGhpcy5IKT9FZCh0aGlzLkgsbnVsbCk6dGhpcy5IfTsKdmFyIFNIPWZ1bmN0aW9uKCl7fSxUSD1mdW5jdGlvbihhLGIpe3RoaXMuY29uZGl0aW9ucz1hO3RoaXMuSD1ifSxVSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0oKGQ9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZFsyXSl8fFtdLGYsZz0oKGY9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZlsxXSl8fFtdO3JldHVybiBuZXcgUkgoYyxlLGcsYS5IW2JdfHxTSCl9LFZILFdIO3ZhciBZSD1mdW5jdGlvbihhKXthLks9ITA7YS5IPSExO2lmKElmKDUyKSl7aWYoTSg1MTYpJiZYSCgpKXt2YXIgYjthLnNldHRpbmdzPShiPWRhdGEucHJvZHVjdFNldHRpbmdzKSE9bnVsbD9iOnt9O2EuSD0hMH1lbHNle3ZhciBjO2Euc2V0dGluZ3M9KGM9cHJvZHVjdFNldHRpbmdzKSE9bnVsbD9jOnt9fXByb2R1Y3RTZXR0aW5ncz12b2lkIDA7ZGF0YS5wcm9kdWN0U2V0dGluZ3M9dm9pZCAwO3ZhciBkOyhkPUZGKSE9bnVsbCYmZm4uTiYmTSg1MTYpJiYoZC5IPWEuSD8iMSI6IjAiKX19LCRIPWZ1bmN0aW9uKGEpe3ZhciBiPVpIO2IuS3x8WUgoYik7cmV0dXJuIGIuc2V0dGluZ3NbYV19LFpIPW5ldyBmdW5jdGlvbigpe3RoaXMuc2V0dGluZ3M9e307dGhpcy5LPXRoaXMuSD0hMX07CmZ1bmN0aW9uIFhIKCl7aWYoIWRhdGEucHJvZHVjdFNldHRpbmdzJiYhcHJvZHVjdFNldHRpbmdzKXJldHVybiEwO2lmKCFkYXRhLnByb2R1Y3RTZXR0aW5nc3x8IXByb2R1Y3RTZXR0aW5nc3x8T2JqZWN0LmtleXMoZGF0YS5wcm9kdWN0U2V0dGluZ3MpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHByb2R1Y3RTZXR0aW5ncykubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgYSBpbiBwcm9kdWN0U2V0dGluZ3MpaWYoIWRhdGEucHJvZHVjdFNldHRpbmdzLmhhc093blByb3BlcnR5KGEpfHxkYXRhLnByb2R1Y3RTZXR0aW5nc1thXS5wcmVBdXRvUGlpIT09cHJvZHVjdFNldHRpbmdzW2FdLnByZUF1dG9QaWkpcmV0dXJuITE7cmV0dXJuITB9O3ZhciBhST1mdW5jdGlvbihhLGIsYyl7dGhpcy5ldmVudE5hbWU9Yjt0aGlzLk09Yzt0aGlzLkg9e307dGhpcy5pc0Fib3J0ZWQ9ITE7dGhpcy50YXJnZXQ9YTt0aGlzLm1ldGFkYXRhPXt9O2Zvcih2YXIgZD1jLmV2ZW50TWV0YWRhdGF8fHt9LGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7Vih0aGlzLGcsZFtnXSl9fSxSPWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtyZXR1cm4oYz1hLkhbYl0pPT1udWxsP3ZvaWQgMDooZD1jLmdldFZhbHVlKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsUShhLEguSi50ZykpfSxldT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKX0sVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5ILGU7Yz09PXZvaWQgMD9lPXZvaWQgMDooVkghPW51bGx8fChWSD1uZXcgVEgoS0gsTUgpKSxlPVVIKFZILGIsYykpO2RbYl09ZX07CmFJLnByb3RvdHlwZS5tZXJnZUhpdERhdGFGb3JLZXk9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU7Yz0oZD10aGlzLkhbYV0pPT1udWxsP3ZvaWQgMDooZT1kLkspPT1udWxsP3ZvaWQgMDplLmNhbGwoZCk7aWYoIWMpcmV0dXJuIFUodGhpcyxhLGIpLCEwO2lmKCFDZChjKSlyZXR1cm4hMTtVKHRoaXMsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGMsYikpO3JldHVybiEwfTt2YXIgYkk9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306Yjtmb3IodmFyIGM9bShPYmplY3Qua2V5cyhhLkgpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEuSFtlXSk9PW51bGw/dm9pZCAwOihoPShnPWYpLkspPT1udWxsP3ZvaWQgMDpoLmNhbGwoZyl9cmV0dXJuIGJ9OwphSS5wcm90b3R5cGUuY29weVRvSGl0RGF0YT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Tyh0aGlzLk0sYSk7ZD09PXZvaWQgMCYmKGQ9Yik7aWYoemIoZCkmJmMhPT12b2lkIDApdHJ5e2Q9YyhkKX1jYXRjaChlKXt9ZCE9PXZvaWQgMCYmVSh0aGlzLGEsZCl9Owp2YXIgUT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubWV0YWRhdGFbYl07aWYoYj09PUguSi50Zyl7dmFyIGQ7cmV0dXJuIGM9PW51bGw/dm9pZCAwOihkPWMuSyk9PW51bGw/dm9pZCAwOmQuY2FsbChjKX12YXIgZTtyZXR1cm4gYz09bnVsbD92b2lkIDA6KGU9Yy5nZXRWYWx1ZSk9PW51bGw/dm9pZCAwOmUuY2FsbChjLFEoYSxILkoudGcpKX0sVj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5tZXRhZGF0YSxlO2M9PT12b2lkIDA/ZT1jOihXSCE9bnVsbHx8KFdIPW5ldyBUSChQSCxRSCkpLGU9VUgoV0gsYixjKSk7ZFtiXT1lfSxjST1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2Zvcih2YXIgYz1tKE9iamVjdC5rZXlzKGEubWV0YWRhdGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEubWV0YWRhdGFbZV0pPT1udWxsP3ZvaWQgMDooaD0oZz1mKS5LKT09bnVsbD92b2lkIDA6CmguY2FsbChnKX1yZXR1cm4gYn0sZEk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRIKGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO3JldHVybiBkJiZkW2JdIT09dm9pZCAwP2RbYl06Y30sWnU9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9bmV3IGFJKChiPT1udWxsP3ZvaWQgMDpiLnRhcmdldCl8fGEudGFyZ2V0LChiPT1udWxsP3ZvaWQgMDpiLmV2ZW50TmFtZSl8fGEuZXZlbnROYW1lLChiPT1udWxsP3ZvaWQgMDpiLk0pfHxhLk0pLGQ9YkkoYSksZT1tKE9iamVjdC5rZXlzKGQpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtVKGMsZyxkW2ddKX1mb3IodmFyIGg9Y0koYSksbD1tKE9iamVjdC5rZXlzKGgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtWKGMscCxoW3BdKX1jLmlzQWJvcnRlZD1hLmlzQWJvcnRlZDtyZXR1cm4gY30sZUk9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLGM9Yi5ldmVudElkLGQ9Yi5wcmlvcml0eUlkOwpyZXR1cm4gZD9jKyJfIitkOlN0cmluZyhjKX07YUkucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbigpe3ZhciBhPW9tKGptLmJhLlNpLHt9KSxiPWVJKHRoaXMpLGM9dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZDthW2JdfHwoYVtiXT17fSk7YVtiXVtjXT12aygpO3ZhciBkPWptLmJhLlNpO2lmKGttKGQpKXt2YXIgZTsoZT1sbShkKSk9PW51bGx8fGUubm90aWZ5KCl9fTthSS5wcm90b3R5cGUuY2FuQmVBY2NlcHRlZD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5TaSk7aWYoIWIpcmV0dXJuITA7dmFyIGM9YltlSSh0aGlzKV07aWYoIWMpcmV0dXJuITA7dmFyIGQ9Y1thIT1udWxsP2E6dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZF07cmV0dXJuIGQ9PT12b2lkIDB8fGQ9PT12aygpfTtmdW5jdGlvbiBmSShhKXtyZXR1cm57Z2V0RGVzdGluYXRpb25JZDpmdW5jdGlvbigpe3JldHVybiBhLnRhcmdldC5kZXN0aW5hdGlvbklkfSxnZXRFdmVudE5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gYS5ldmVudE5hbWV9LHNldEV2ZW50TmFtZTpmdW5jdGlvbihiKXthLmV2ZW50TmFtZT1ifSxnZXRIaXREYXRhOmZ1bmN0aW9uKGIpe3JldHVybiBSKGEsYil9LHNldEhpdERhdGE6ZnVuY3Rpb24oYixjKXtVKGEsYixjKX0sc2V0SGl0RGF0YUlmTm90RGVmaW5lZDpmdW5jdGlvbihiLGMpe1IoYSxiKT09PXZvaWQgMCYmVShhLGIsYyl9LGNvcHlUb0hpdERhdGE6ZnVuY3Rpb24oYixjKXthLmNvcHlUb0hpdERhdGEoYixjKX0sZ2V0TWV0YWRhdGE6ZnVuY3Rpb24oYil7cmV0dXJuIFEoYSxiKX0sc2V0TWV0YWRhdGE6ZnVuY3Rpb24oYixjKXtWKGEsYixjKX0saXNBYm9ydGVkOmZ1bmN0aW9uKCl7cmV0dXJuIGEuaXNBYm9ydGVkfSxhYm9ydDpmdW5jdGlvbigpe2EuaXNBYm9ydGVkPSEwfSwKZ2V0RnJvbUV2ZW50Q29udGV4dDpmdW5jdGlvbihiKXtyZXR1cm4gTyhhLk0sYil9LHJiOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LGdldEhpdEtleXM6ZnVuY3Rpb24oKXtyZXR1cm4gZXUoYSl9LGdldE1lcmdlZFZhbHVlczpmdW5jdGlvbihiKXtyZXR1cm4gYS5NLmdldE1lcmdlZFZhbHVlcyhiLDMpfSxtZXJnZUhpdERhdGFGb3JLZXk6ZnVuY3Rpb24oYixjKXtyZXR1cm4gQ2QoYyk/YS5tZXJnZUhpdERhdGFGb3JLZXkoYixjKTohMX0sYWNjZXB0OmZ1bmN0aW9uKCl7YS5hY2NlcHQoKX0sY2FuQmVBY2NlcHRlZDpmdW5jdGlvbihiKXtyZXR1cm4gYS5jYW5CZUFjY2VwdGVkKGIpfX19O2Z1bmN0aW9uIGdJKGEsYil7dmFyIGM7aWYoIWVoKGEpfHwhZmgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsIk9iamVjdHx1bmRlZmluZWQiXSxhcmd1bWVudHMpO3ZhciBkPVRkKGIpfHx7fSxlPVRkKGEsdGhpcy5ULDEpLnJiKCksZj1lLk07ZC5vbWl0RXZlbnRDb250ZXh0JiYoZj1KQyhuZXcgeUMoZS5NLmV2ZW50SWQsZS5NLnByaW9yaXR5SWQpKSk7dmFyIGc9bmV3IGFJKGUudGFyZ2V0LGUuZXZlbnROYW1lLGYpO2lmKCFkLm9taXRIaXREYXRhKWZvcih2YXIgaD1iSShlKSxsPW0oT2JqZWN0LmtleXMoaCkpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlO1UoZyxwLGhbcF0pfWlmKGQub21pdE1ldGFkYXRhKWcubWV0YWRhdGE9e307ZWxzZSBmb3IodmFyIHE9Y0koZSkscj1tKE9iamVjdC5rZXlzKHEpKSx0PXIubmV4dCgpOyF0LmRvbmU7dD0Kci5uZXh0KCkpe3ZhciB1PXQudmFsdWU7VihnLHUscVt1XSl9Zy5pc0Fib3J0ZWQ9ZS5pc0Fib3J0ZWQ7Yz1VZChmSShnKSx0aGlzLlQsMSk7cmV0dXJuIGN9Z0kuUD0iaW50ZXJuYWwuY29weVByZUhpdCI7ZnVuY3Rpb24gaEkoYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjLHRoaXMuVCwyKX1oSS5wdWJsaWNOYW1lPSJjcmVhdGVBcmd1bWVudHNRdWV1ZSI7ZnVuY3Rpb24gaUkoYSl7cmV0dXJuIFVkKGZ1bmN0aW9uKGMpe3ZhciBkPVNBKCk7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKWQoZnVuY3Rpb24oKXtjKGZ1bmN0aW9uKGYsZyxoKXt2YXIgbD0KU0EoKSxuPWwmJmwuZ2V0QnlOYW1lJiZsLmdldEJ5TmFtZShmKTtyZXR1cm4obmV3IEEuZ2FwbHVnaW5zLkxpbmtlcihuKSkuZGVjb3JhdGUoZyxoKX0pfSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGMpKXt2YXIgZT1TdHJpbmcoY1swXSkuc3BsaXQoIi4iKTtiW2UubGVuZ3RoPT09MT9lWzBdOmVbMV1dJiZkLmFwcGx5KG51bGwsYyl9ZWxzZSBpZihjPT09ImlzTG9hZGVkIilyZXR1cm4hIWQubG9hZGVkfSx0aGlzLlQsMSl9aUkuUD0iaW50ZXJuYWwuY3JlYXRlR2FDb21tYW5kUXVldWUiO2Z1bmN0aW9uIGpJKGEpe3JldHVybiBVZChmdW5jdGlvbigpe2lmKCF5YihlLnB1c2gpKXRocm93IEVycm9yKCJPYmplY3QgYXQgIithKyIgaW4gd2luZG93IGlzIG5vdCBhbiBhcnJheS4iKTtlLnB1c2guYXBwbHkoZSxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpfSx0aGlzLlQsCkJoKFhGKHRoaXMpLlBiKCkpPzI6MSl9akkucHVibGljTmFtZT0iY3JlYXRlUXVldWUiO2Z1bmN0aW9uIGtJKGEsYil7dmFyIGM9bnVsbDtpZighbGgoYSl8fCFtaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dHJ5e3ZhciBkPShifHwiIikuc3BsaXQoIiIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4iaWciLmluZGV4T2YoZSk+PTB9KS5qb2luKCIiKTtjPW5ldyBQZChuZXcgUmVnRXhwKGEsZCkpfWNhdGNoKGUpe31yZXR1cm4gY31rSS5QPSJpbnRlcm5hbC5jcmVhdGVSZWdleCI7ZnVuY3Rpb24gbEkoYSl7fWxJLlA9ImludGVybmFsLmRlY2xhcmVDb25zZW50U3RhdGUiO2Z1bmN0aW9uIG1JKGEpe3ZhciBiPSIiO3JldHVybiBifW1JLlA9ImludGVybmFsLmRlY29kZVVybEh0bWxFbnRpdGllcyI7ZnVuY3Rpb24gbkkoYSxiLGMpe3ZhciBkO3JldHVybiBkfW5JLlA9ImludGVybmFsLmRlY29yYXRlVXJsV2l0aEdhQ29va2llcyI7ZnVuY3Rpb24gb0koKXt9b0kuUD0iaW50ZXJuYWwuZGVmZXJDdXN0b21FdmVudHMiO2Z1bmN0aW9uIHBJKGEsYil7dHJ5e3JldHVybiBhLmNsb3Nlc3QoYil9Y2F0Y2goYyl7cmV0dXJuIG51bGx9fTtmdW5jdGlvbiBxSSgpe3ZhciBhPUEuc2NyZWVuO3JldHVybnt3aWR0aDphP2Eud2lkdGg6MCxoZWlnaHQ6YT9hLmhlaWdodDowfX0KZnVuY3Rpb24gckkoYSl7aWYoQi5oaWRkZW4pcmV0dXJuITA7dmFyIGI9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiLnRvcD09PWIuYm90dG9tfHxiLmxlZnQ9PT1iLnJpZ2h0fHwhQS5nZXRDb21wdXRlZFN0eWxlKXJldHVybiEwO3ZhciBjPUEuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpO2lmKGMudmlzaWJpbGl0eT09PSJoaWRkZW4iKXJldHVybiEwO2Zvcih2YXIgZD1hLGU9YztkOyl7aWYoZS5kaXNwbGF5PT09Im5vbmUiKXJldHVybiEwO3ZhciBmPWUub3BhY2l0eSxnPWUuZmlsdGVyO2lmKGcpe3ZhciBoPWcuaW5kZXhPZigib3BhY2l0eSgiKTtoPj0wJiYoZz1nLnN1YnN0cmluZyhoKzgsZy5pbmRleE9mKCIpIixoKSksZy5jaGFyQXQoZy5sZW5ndGgtMSk9PT0iJSImJihnPWcuc3Vic3RyaW5nKDAsZy5sZW5ndGgtMSkpLGY9U3RyaW5nKE1hdGgubWluKE51bWJlcihnKSxOdW1iZXIoZikpKSl9aWYoZiE9PXZvaWQgMCYmTnVtYmVyKGYpPD0wKXJldHVybiEwOyhkPWQucGFyZW50RWxlbWVudCkmJgooZT1BLmdldENvbXB1dGVkU3R5bGUoZCxudWxsKSl9cmV0dXJuITF9CnZhciB0ST1mdW5jdGlvbihhKXt2YXIgYj1zSSgpLGM9Yi5oZWlnaHQsZD1iLndpZHRoLGU9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxmPWUuYm90dG9tLWUudG9wLGc9ZS5yaWdodC1lLmxlZnQ7cmV0dXJuIGYmJmc/KDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS5sZWZ0LDApK01hdGgubWF4KGUucmlnaHQtZCwwKSkvZywxKSkqKDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS50b3AsMCkrTWF0aC5tYXgoZS5ib3R0b20tYywwKSkvZiwxKSk6MH0sc0k9ZnVuY3Rpb24oKXt2YXIgYT1CLmJvZHksYj1CLmRvY3VtZW50RWxlbWVudHx8YSYmYS5wYXJlbnRFbGVtZW50LGMsZDtpZihCLmNvbXBhdE1vZGUmJkIuY29tcGF0TW9kZSE9PSJCYWNrQ29tcGF0IiljPWI/Yi5jbGllbnRIZWlnaHQ6MCxkPWI/Yi5jbGllbnRXaWR0aDowO2Vsc2V7dmFyIGU9ZnVuY3Rpb24oZixnKXtyZXR1cm4gZiYmZz9NYXRoLm1pbihmLGcpOk1hdGgubWF4KGYsZyl9O2M9ZShiP2IuY2xpZW50SGVpZ2h0OjAsYT8KYS5jbGllbnRIZWlnaHQ6MCk7ZD1lKGI/Yi5jbGllbnRXaWR0aDowLGE/YS5jbGllbnRXaWR0aDowKX1yZXR1cm57d2lkdGg6ZCxoZWlnaHQ6Y319O3ZhciB2ST1mdW5jdGlvbihhKXtpZih1SSl7dmFyIGI9YWwoMjQsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGE+PTAmJmE8Yi5sZW5ndGgmJmJbYV0pe3ZhciBjOyhjPWJbYV0pPT1udWxsfHxjLmRpc2Nvbm5lY3QoKTtiW2FdPXZvaWQgMH19ZWxzZSBBLmNsZWFySW50ZXJ2YWwoYSl9LHlJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdPjE/Y1tkXT0xOmNbZF08MCYmKGNbZF09MCk7aWYodUkpe3ZhciBlPSExO2JkKGZ1bmN0aW9uKCl7ZXx8d0koYSxiLGMpKCl9KTtyZXR1cm4geEkoZnVuY3Rpb24oZil7ZT0hMDtmb3IodmFyIGc9e0hnOjB9O2cuSGc8Zi5sZW5ndGg7Zz17SGc6Zy5IZ30sZy5IZysrKWJkKGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbigpe2EoZltoLkhnXSl9fShnKSl9LApiLGMpfXJldHVybiBjZCh3SShhLGIsYyksMUUzKX0sd0k9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoaCxsKXt2YXIgbj17dG9wOjAsYm90dG9tOjAscmlnaHQ6MCxsZWZ0OjAsd2lkdGg6MCxoZWlnaHQ6MH0scD17Ym91bmRpbmdDbGllbnRSZWN0OmguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaW50ZXJzZWN0aW9uUmF0aW86bCxpbnRlcnNlY3Rpb25SZWN0Om4saXNJbnRlcnNlY3Rpbmc6bD4wLHJvb3RCb3VuZHM6bix0YXJnZXQ6aCx0aW1lOk5iKCl9O2JkKGZ1bmN0aW9uKCl7YShwKX0pfWZvcih2YXIgZT1bXSxmPVtdLGc9MDtnPGIubGVuZ3RoO2crKyllLnB1c2goMCksZi5wdXNoKC0xKTtjLnNvcnQoZnVuY3Rpb24oaCxsKXtyZXR1cm4gaC1sfSk7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBoPTA7aDxiLmxlbmd0aDtoKyspe3ZhciBsPXRJKGJbaF0pO2lmKGw+ZVtoXSlmb3IoO2ZbaF08Yy5sZW5ndGgtMSYmbD49Y1tmW2hdKzFdOylkKGJbaF0sbCksZltoXSsrO2Vsc2UgaWYobDwKZVtoXSlmb3IoO2ZbaF0+PTAmJmw8PWNbZltoXV07KWQoYltoXSxsKSxmW2hdLS07ZVtoXT1sfX19LHhJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9bmV3IEEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoYSx7dGhyZXNob2xkOmN9KSxlPTA7ZTxiLmxlbmd0aDtlKyspZC5vYnNlcnZlKGJbZV0pO2Zvcih2YXIgZj1hbCgyNCxmdW5jdGlvbigpe3JldHVybltdfSksZz0wO2c8Zi5sZW5ndGg7ZysrKWlmKCFmW2ddKXJldHVybiBmW2ddPWQsZztyZXR1cm4gZi5wdXNoKGQpLTF9LHVJPSEoIUEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXJ8fCFBLkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpOwp2YXIgSkk9ZnVuY3Rpb24oYSl7dmFyIGIsYz0oYj1hPT1udWxsP3ZvaWQgMDphLmluY2x1ZGVTZWxlY3RvcikhPW51bGw/YjohMCxkLGU9KGQ9YT09bnVsbD92b2lkIDA6YS5pbmNsdWRlVmlzaWJpbGl0eSkhPW51bGw/ZDohMCxmLGc9KGY9YT09bnVsbD92b2lkIDA6YS5zZWxlY3RNdWx0aXBsZUVsZW1lbnRzKSE9bnVsbD9mOiExLGg9KGE9PW51bGw/dm9pZCAwOmEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMpfHxbXSxsPShhPT1udWxsP3ZvaWQgMDphLmZpZWxkRmlsdGVycyl8fHtlbWFpbDohMCxwaG9uZTohMSxhZGRyZXNzOiExfSxuPWFsKDYsZnVuY3Rpb24oKXtyZXR1cm57fX0pLHA9ekkoe2luY2x1ZGVTZWxlY3RvcjpjLGluY2x1ZGVWaXNpYmlsaXR5OmUsZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM6aCxmaWVsZEZpbHRlcnM6bH0pLHE9bltwXTtpZihxJiZOYigpLXEudGltZXN0YW1wPDIwMCl7dmFyIHI9cS5yZXN1bHQsdDsoci5lbGVtZW50cy5zb21lKGZ1bmN0aW9uKHFhKXtyZXR1cm4gcWEuZGl9KXx8CigodD1yLmdpKT09bnVsbD8wOnQuZGkpKSYmR3UoVC5XLnJqKTtyZXR1cm4gcn12YXIgdT1BSSgpLHY9dS5zdGF0dXMseD1bXSx5LHosQz1bXTtpZihNKDU2OCkpe3ZhciBEPUJJKGwpLEk9Q0kodS5lbGVtZW50cyxEKSxHPURJKEkpLE49RUkoRyxoKSxTPUZJKE4pO3k9Uy5maWx0ZXIoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5EYT09PUZELkJifSlbMF07Zm9yKHZhciBXPVtdLGVhPXtJZzowfTtlYS5JZzxELmxlbmd0aDtlYT17SWc6ZWEuSWd9LGVhLklnKyspe3ZhciBqYT1OLmZpbHRlcihmdW5jdGlvbihxYSl7cmV0dXJuIGZ1bmN0aW9uKGliKXtyZXR1cm4gaWIuRGE9PT1EW3FhLklnXX19KGVhKSk7amEubGVuZ3RoPjEwJiYodj0iMyIsamE9amEuc2xpY2UoMCwxMCkpO1c9Vy5jb25jYXQoamEpfU49VzshZyYmUyYmKE49Uyk7Zm9yKHZhciBmYT0wO2ZhPE4ubGVuZ3RoO2ZhKyspe3ZhciBzYT1OW2ZhXTtzYS5EYSE9PUZELktoJiZDLnB1c2goR0koc2EsYyxlKSl9fWVsc2V7aWYobC5lbWFpbCl7dmFyIGRhPQpISSh1LmVsZW1lbnRzKTt4PUVJKGRhLGgpO3k9SUkoeCk7ZGEubGVuZ3RoPjEwJiYodj0iMyIpfSFnJiZ5JiYoeD1beV0pO2Zvcih2YXIgbWE9MDttYTx4Lmxlbmd0aDttYSsrKUMucHVzaChHSSh4W21hXSxjLGUpKTtDPUMuc2xpY2UoMCwxMCl9eSYmKHo9R0koeSxjLGUpKTt2YXIgUGE9e2VsZW1lbnRzOkMsZ2k6eixzdGF0dXM6dn07bltwXT17dGltZXN0YW1wOk5iKCkscmVzdWx0OlBhfTt2YXIgRmE7KFBhLmVsZW1lbnRzLnNvbWUoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5kaX0pfHwoKEZhPVBhLmdpKT09bnVsbD8wOkZhLmRpKSkmJkd1KFQuVy5yaik7cmV0dXJuIFBhfSxEST1mdW5jdGlvbihhKXt2YXIgYj1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELktofSksYz1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELlhkfSk7aWYoYS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5jZX0pLmxlbmd0aD09PTAmJmMubGVuZ3RoPT09CjApZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF0sZj1lLkNhLnNwbGl0KCIgIik7Zi5sZW5ndGg+MSYmYS5wdXNoKHtDYTpmWzBdLERhOkZELlhkLGVsZW1lbnQ6ZS5lbGVtZW50LE9jOmUuT2N9LHtDYTpmLnNsaWNlKDEpLmpvaW4oIiAiKSxEYTpGRC5jZSxlbGVtZW50OmUuZWxlbWVudCxPYzplLk9jfSl9Zm9yKHZhciBnLGg9MCxsLG49ZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5lZSYmdS5DYS5sZW5ndGg+PTMmJnUuQ2EubGVuZ3RoPD00fSxwPTA7cDxhLmxlbmd0aDtwKyspe3ZhciBxPWFbcF07aWYobihxKSYmZyYmcS5lbGVtZW50LnBhcmVudEVsZW1lbnQ9PT1nJiZoPDMpe2lmKGgrPTEsbCs9cS5DYSxoPT09Myl7dmFyIHI9cC1oKzE7aWYobD1LSVtGRC5lZV0ubmEobCkpYVtyXS5DYT1sfX1lbHNlIGlmKGg9MCxsPSIiLGc9dm9pZCAwLG4ocSkpe2grKztsPXEuQ2E7dmFyIHQ9dm9pZCAwO2c9KHQ9cS5lbGVtZW50LnBhcmVudEVsZW1lbnQpIT1udWxsPwp0OnZvaWQgMH19cmV0dXJuIGEuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiFuKHUpfSl9LE9JPWZ1bmN0aW9uKGEsYil7aWYoYS52YWx1ZSYmTEkuaW5kZXhPZigoYS50eXBlfHwidGV4dCIpLnRvTG93ZXJDYXNlKCkpIT09LTEpe3ZhciBjPWEuYXV0b2NvbXBsZXRlO2lmKGMpZm9yKHZhciBkPWMuc3BsaXQoIiAiKSxlPTA7ZTxkLmxlbmd0aDtlKyspe3ZhciBmPU1JKGEudmFsdWUsYixkW2VdKTtpZihmKXJldHVybiBmfXZhciBnLGg9W2EubmFtZSxhLmlkLChnPWEuYXJpYUxhYmVsKSE9bnVsbD9nOnZvaWQgMCxhLnBsYWNlaG9sZGVyXSxsPWEucGFyZW50RWxlbWVudDtsJiZsLnRhZ05hbWU9PT0iTEFCRUwiJiZoLnB1c2gobC5pbm5lclRleHQpO3ZhciBuPWEucHJldmlvdXNFbGVtZW50U2libGluZztuJiZuLnRhZ05hbWU9PT0iTEFCRUwiJiYhbi5odG1sRm9yJiZoLnB1c2gobi5pbm5lclRleHQpO2lmKGEuaWQpe3ZhciBwPVtdO3RyeXtwPWRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbCgnbGFiZWxbZm9yPSInKwphLmlkKyciXScpfWNhdGNoKEQpe31mb3IodmFyIHE9MDtxPHAubGVuZ3RoO3ErKyloLnB1c2gocFtxXS5pbm5lclRleHQpfWg9aC5maWx0ZXIoZnVuY3Rpb24oRCl7cmV0dXJuIEQmJkQudHJpbSgpfSk7Zm9yKHZhciByLHQ9MCx1PTA7dTxoLmxlbmd0aDt1Kyspe3ZhciB2PU5JKGEsYixoW3VdKTtpZih2KXt2YXIgeD12LHk9eC5DYSx6PXguRGEsQz14LlhzO0M+dCYmKHQ9QyxyPXtDYTp5LERhOnp9KX19cmV0dXJuIHJ9fSxOST1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF07aWYoS0lbZV0ubmUpe3ZhciBmPUtJW2VdLm5lLmV4ZWMoYy50cmltKCkpO2lmKGYpe3ZhciBnPWEsaD1bXSxsPWcudmFsdWUudHJpbSgpO2wmJmgucHVzaChsKTtpZihnLnRhZ05hbWU9PT0iU0VMRUNUIil0cnl7dmFyIG49Zy5xdWVyeVNlbGVjdG9yKCdbdmFsdWU9IicrZy52YWx1ZSsnIl0nKSxwPW4mJm4uaW5uZXJUZXh0LnRyaW0oKTtwJiZoLnB1c2gocCl9Y2F0Y2godSl7fWZvcih2YXIgcT0KaCxyPXZvaWQgMCx0PTA7dDxxLmxlbmd0aCYmIXI7dCsrKXI9S0lbZV0ubmEocVt0XSk7aWYocilyZXR1cm57RGE6ZSxDYTpyLFhzOmZbMF0ubGVuZ3RoL2MudHJpbSgpLmxlbmd0aH19fX19LE1JPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTtpZihLSVtlXS5hdXRvY29tcGxldGUmJktJW2VdLmF1dG9jb21wbGV0ZS5pbmRleE9mKGMpPj0wKXt2YXIgZj1LSVtlXS5uYShhLnRyaW0oKSk7aWYoZilyZXR1cm57RGE6ZSxDYTpmfX19fSxCST1mdW5jdGlvbihhKXt2YXIgYj1bXTthLmVtYWlsJiZiLnB1c2goRkQuQmIpO2EucGhvbmUmJmIucHVzaChGRC5lZSk7YS5hZGRyZXNzJiZiLnB1c2goRkQuWGQsRkQuY2UsRkQueGYsRkQucWcsRkQuS2gpO3JldHVybiBifSxDST1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspe3ZhciBlPWFbZF0sZj1lLmVsZW1lbnQsZz1lLk9jLGg7YTp7dmFyIGw9ZixuPWIsCnA9bC5pbm5lckhUTUw7UEkuaW5kZXhPZihsLnRhZ05hbWUpPj0wJiYocD1sLnZhbHVlfHxwKTtpZihwKXt2YXIgcTtiOntmb3IodmFyIHI9cCx0PW4sdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgdj10W3VdO2lmKCFLSVt2XS5tZSl7dmFyIHg9S0lbdl0ubmEoci50cmltKCkpO2lmKHgpe3E9e0RhOnYsQ2E6eH07YnJlYWsgYn19fXE9dm9pZCAwfWlmKHEpe2g9cTticmVhayBhfWlmKFBJLmluZGV4T2YobC50YWdOYW1lKSE9PS0xKXtoPU9JKGwsbik7YnJlYWsgYX19aD12b2lkIDB9dmFyIHk9aDtpZih5KXt2YXIgej15O2MucHVzaCh7Q2E6ei5DYSxEYTp6LkRhLGVsZW1lbnQ6ZixPYzpnfSl9fXJldHVybiBjfSxGST1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihhLmxlbmd0aD09PTApcmV0dXJuIGI7dmFyIGM9e30sZDtmb3IoZCBpbiBGRClpZihjPXtWZzpjLlZnfSxjLlZnPWQsRkQuaGFzT3duUHJvcGVydHkoYy5WZykpe3ZhciBlPWEuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtyZXR1cm4gZy5EYT09PQpGRFtmLlZnXX19KGMpKTtlLmxlbmd0aCE9PTAmJihGRFtjLlZnXT09PUZELkJiJiYoZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiFSSS50ZXN0KGYuQ2EpfSksZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiBmLmVsZW1lbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpPT09IklOUFVUIn0pLGU9UUkoZSxmdW5jdGlvbihmKXtyZXR1cm4hckkoZi5lbGVtZW50KX0pKSxiLnB1c2goZVswXSkpfXJldHVybiBifSxHST1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5lbGVtZW50LGU9YS5PYyxmPXtDYTphLkNhLHR5cGU6YS5EYSx0YWdOYW1lOmQudGFnTmFtZX07aWYoYil7dmFyIGcsaD1TSShkKTtpZihnPShlP2UrInwiK2g6aCkuc2xpY2UoMCxUSSkpZi5xdWVyeVNlbGVjdG9yPWd9YyYmKGYuaXNWaXNpYmxlPSFySShkKSk7ZSYmKGYuZGk9ITApO3JldHVybiBmfSx6ST1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtiPWEuaW5jbHVkZVNlbGVjdG9yO2M9YS5pbmNsdWRlVmlzaWJpbGl0eTtkPWEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM7CmU9YS5maWVsZEZpbHRlcnM7dmFyIGY9ISFiKyIuIishIWM7ZC5sZW5ndGgmJihmKz0iLiIrZC5qb2luKCIuIikpO3JldHVybiBmKz0iLiIrZS5lbWFpbCsiLiIrZS5waG9uZSsiLiIrZS5hZGRyZXNzfSxJST1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiO2I9UUkoYSxmdW5jdGlvbihjKXtyZXR1cm4hUkkudGVzdChjLkNhKX0pO2I9UUkoYixmdW5jdGlvbihjKXtyZXR1cm4gYy5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCJ9KTtiPVFJKGIsZnVuY3Rpb24oYyl7cmV0dXJuIXJJKGMuZWxlbWVudCl9KTtyZXR1cm4gYlswXX19LEVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyl7Zm9yKHZhciBlPSEwLGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXTtpZihnJiZwSShhW2RdLmVsZW1lbnQsZykpe2U9ITE7YnJlYWt9fWFbZF0uRGE9PT1GRC5CYiYmTSg2MDIpJiYoUkkudGVzdChhW2RdLkNhKXx8YVtkXS5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PQoiQSImJmFbZF0uZWxlbWVudC5oYXNBdHRyaWJ1dGUoImhyZWYiKSYmYVtkXS5lbGVtZW50LmdldEF0dHJpYnV0ZSgiaHJlZiIpLmluZGV4T2YoIm1haWx0bzoiKSE9PS0xP2U9ITE6YVtkXS5lbGVtZW50LmNsb3Nlc3QoImZvb3RlciIpIT09bnVsbCYmKGU9ITEpKTtlJiZjLnB1c2goYVtkXSl9cmV0dXJuIGN9LFFJPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg8PTEpcmV0dXJuIGE7dmFyIGM9YS5maWx0ZXIoYik7cmV0dXJuIGMubGVuZ3RoPT09MD9hOmN9LFNJPWZ1bmN0aW9uKGEpe2lmKGE9PT1CLmJvZHkpcmV0dXJuImJvZHkiO2lmKGEuaWQpcmV0dXJuIiMiK2EuaWQ7dmFyIGI9YS5wYXJlbnRFbGVtZW50O2lmKGIpe3ZhciBjPVNJKGIpLGQ9VUkoYSxiKSxlPVZJKGEpKyI6bnRoLWNoaWxkKCIrZCsiKSI7cmV0dXJuIGM/YysiPiIrZTplfXZhciBmPWEucGFyZW50Tm9kZTtpZihmIGluc3RhbmNlb2YgU2hhZG93Um9vdCl7dmFyIGc9VUkoYSxmKTtyZXR1cm4gVkkoYSkrIjpudGgtY2hpbGQoIisKZysiKSJ9cmV0dXJuIGEudGFnTmFtZT9hLnRhZ05hbWUudG9Mb3dlckNhc2UoKToiIn0sVkk9ZnVuY3Rpb24oYSl7aWYoYS5jbGFzc0xpc3QmJmEuY2xhc3NMaXN0Lmxlbmd0aD4wKXt2YXIgYj1BcnJheS5mcm9tKGEuY2xhc3NMaXN0LGZ1bmN0aW9uKGMpe3JldHVybiBDU1MuZXNjYXBlKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjLmxlbmd0aD4wfSk7aWYoYi5sZW5ndGg+MClyZXR1cm4iLiIrYi5qb2luKCIuIil9cmV0dXJuIiJ9LFVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWIuY2hpbGRyZW4sZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGNbZF09PT1hKXJldHVybiBkKzE7cmV0dXJuIDF9LEhJPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1kLmVsZW1lbnQsZj1kLk9jLGc9ZS50ZXh0Q29udGVudDtlLnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCImJmUudmFsdWUmJihnPWUudmFsdWUpO2lmKGcpe3ZhciBoPQpnLm1hdGNoKEtEKTtpZihoKXt2YXIgbD1oWzBdO0xEKGwpfHxiLnB1c2goe2VsZW1lbnQ6ZSxDYTpsLERhOkZELkJiLE9jOmZ9KX19fXJldHVybiBifSxBST1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Qi5ib2R5O2lmKCFiKXJldHVybntlbGVtZW50czphLHN0YXR1czoiNCJ9O3ZhciBjPVdJKGIsMCwiIixhKTtyZXR1cm57ZWxlbWVudHM6YSxzdGF0dXM6Y319LFdJPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSxmPWUubGVuZ3RoPjFFND8iMiI6IjEiLGc9MDtnPE1hdGgubWluKGUubGVuZ3RoLDFFNCk7ZysrKXt2YXIgaD1lW2ddO2lmKCEoWEkuaW5kZXhPZihoLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApJiZoLmNoaWxkcmVuIGluc3RhbmNlb2YgSFRNTENvbGxlY3Rpb24pe3ZhciBsPSExO2lmKE0oNTgyKSYmaC5zaGFkb3dSb290JiZiPDEpe3ZhciBuPVNJKGgpO1dJKGguc2hhZG93Um9vdCxiKzEsYz9jKyJ8IituOm4sZCk9PT0iMiImJgooZj0iMiIpO2w9ITB9dmFyIHA9ITE7aWYoIWwpZm9yKHZhciBxPTA7cTxNYXRoLm1pbihoLmNoaWxkRWxlbWVudENvdW50LDFFNCk7cSsrKWlmKCEoWUkuaW5kZXhPZihoLmNoaWxkcmVuW3FdLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApKXtwPSEwO2JyZWFrfSghcCYmIWx8fE0oNTY4KSYmUEkuaW5kZXhPZihoLnRhZ05hbWUpIT09LTEpJiZkLnB1c2goe2VsZW1lbnQ6aCxPYzpiPjA/Yzp2b2lkIDB9KX19cmV0dXJuIGZ9LFJJPS9zdXBwb3J0fG5vcmVwbHkvaSxYST0iU0NSSVBUIFNUWUxFIElNRyBTVkcgUEFUSCBCUiBOT1NDUklQVCBURVhUQVJFQSIuc3BsaXQoIiAiKSxZST1bIkJSIl0sVEk9TmYoNzAsNTApLFBJPVsiSU5QVVQiLCJTRUxFQ1QiXSxMST0idGV4dCB0ZWwgc2VhcmNoIG51bWJlciBoaWRkZW4gZW1haWwgc2VsZWN0LW9uZSIuc3BsaXQoIiAiKSxaST1SZWdFeHAoInBob25lfG1vYmlsZXxjb250YWN0Lj9udW1iZXJ8dGVsZWZvbm51bW1lcnx0ZWxlZm9ub3x0ZWxcdTAwZTlmb25vfHRlbGZpeGV8XHU5NmZiXHU4YTcxfHRlbGVmb25lfHRlbGVtb3ZlbHxcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDRcdTA0M2VcdTA0M2R8XHUwOTJlXHUwOTRiXHUwOTJjXHUwOTNlXHUwOTA3XHUwOTMyfFx1NzUzNVx1OGJkZHxcdTYyNGJcdTY3M2FcdTUzZjd8XHUwZDJlXHUwZDRhXHUwZDJjXHUwZDQ4XHUwZDMyXHUwZDRkXHUyMDBkfChefFstX10pdGVsWy1fXT8oXFxkKykqKFxcWy4qXFxdKSokfCg/Olx1YzgwNFx1ZDY1NHxcdWQ1NzhcdWI0ZGNcdWQzZjB8XHVkNzM0XHViMzAwXHVkM2YwfFx1ZDczNFx1YjMwMFx1YzgwNFx1ZDY1NCkoPzouP1x1YmM4OFx1ZDYzOCk/fChcXGJ8X3xcXCopdGVsZWZvbihcXGJ8X3xcXCopfHRlbGVwb258cG9uc2VsfChub21vcnxub1xcLj8pLj8oaHB8aGFuZHBob25lKSIsCiJpIiksJEk9UmVnRXhwKCJebmFtZXxmdWxsLj9uYW1lfHlvdXIuP25hbWV8Y3VzdG9tZXIuP25hbWV8YmlsbC4/bmFtZXxzaGlwLj9uYW1lfG5hbWUuKmZpcnN0LipsYXN0fGZpcnN0YW5kbGFzdG5hbWV8Y29udGFjdC4/KG5hbWV8cGVyc29uKXxub21icmUuKnkuKmFwZWxsaWRvc3xebm9tKD8hW2EtekEtWl0pfFx1MzA0YVx1NTQwZFx1NTI0ZHxcdTZjMGZcdTU0MGR8Xm5vbWV8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2NDZcdTA2MjdcdTA2NDUuKlx1MDYyZVx1MDYyN1x1MDY0Nlx1MDY0OFx1MDYyN1x1MDYyZlx1MDZhZlx1MDZjY3xcdTU5ZDNcXHMqXHU1NDBkfFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzZFx1MDQzZVx1MDQzNS4/XHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDNlfChcXGJ8X3xcXCopYWRbXHUwMTMxXT8gc295YWRbXHUwMTMxXT8oXFxifF98XFwqKXxcdWMxMzFcdWJhODV8bmFtYS4/KGxlbmdrYXB8cGVuZXJpbWF8a2FtdSkiLAoiaSIpLGFKPVJlZ0V4cCgiZmlyc3QuKm5hbWV8aW5pdGlhbHN8Zm5hbWV8Zmlyc3QkfGdpdmVuLipuYW1lfHZvcm5hbWV8bm9tYnJlfGZvcmVuYW1lfHByXHUwMGU5bm9tfHByZW5vbXxcdTU0MGR8bm9tZXxcdTA0MThcdTA0M2NcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1fFx1Yzc3NFx1Yjk4NHxcdTBkMmFcdTBkNDdcdTBkMzBcdTBkNGR8KFxcYnxffFxcKikoaXNpbXxhZHxhZChpfFx1MDEzMXxpbml6fFx1MDEzMW5cdTAxMzF6KT8pKFxcYnxffFxcKil8XHUwOTI4XHUwOTNlXHUwOTJlfG5hbWEgZGVwYW4iLCJpIiksYko9UmVnRXhwKCJsYXN0LipuYW1lfGxuYW1lfHN1cm5hbWUoPyFcXGQpfGxhc3QkfHNlY29uZG5hbWV8ZmFtaWx5LipuYW1lfG5hY2huYW1lfGFwZWxsaWRvcz98ZmFtaWxsZXxebm9tKD8hW2EtekEtWl0pfGNvZ25vbWV8XHU1OWQzfGFwZWxpZG9zfHN1cmVuYW1lfHNvYnJlbm9tZXxcdTA0MjRcdTA0MzBcdTA0M2NcdTA0MzhcdTA0M2JcdTA0MzhcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2MmVcdTA2MjdcdTA2NDZcdTA2NDhcdTA2MjdcdTA2MmZcdTA2YWZcdTA2Y2N8XHUwOTA5XHUwOTJhXHUwOTI4XHUwOTNlXHUwOTJlfFx1MGQyZVx1MGQzMVx1MGQ0MVx1MGQyYVx1MGQ0N1x1MGQzMFx1MGQ0ZHwoXFxifF98XFwqKShzb3lpc2ltfHNveWFkKGl8XHUwMTMxfGluaXp8XHUwMTMxblx1MDEzMXopPykoXFxifF98XFwqKXxcXGJcdWMxMzEoPzpbXlx1YmE4NV18XFxiKXxuYW1hIGJlbGFrYW5nIiwKImkiKSxjSj1SZWdFeHAoImNvdW50cnl8Y291bnRyaWVzfHBhXHUwMGVkc3xwYWlzfChcXGJ8XylsYW5kKFxcYnxfKSg/IS4qKG1hcmsuKikpfChefFteKFx1NTE2NXxcdTUxZmEpXSlcdTU2ZmR8XHU1NmZkXHU1YmI2fFx1YWQ2ZFx1YWMwMHxcdWIwOThcdWI3N2N8KFxcYnxfKShcdTAwZmNsa2V8dWxjZXx1bGtlKShcXGJ8Xyl8XHUwNmE5XHUwNjM0XHUwNjQ4XHUwNjMxfG5lZ2FyYSIsImkiKSxkSj1SZWdFeHAoIihefFteLl0pemlwfHBvc3RhbHxwb3N0Lipjb2RlfHBjb2RlfHBpbi4/Y29kZXxwb3N0bGVpdHphaGx8XFxiY3BcXGJ8XFxiY2RwXFxifFxcYmNhcFxcYnxcdTkwZjVcdTRmYmZcdTc1NmFcdTUzZjd8Y29kaWdvfGNvZHBvc3xcXGJjZXBcXGJ8XHUwNDFmXHUwNDNlXHUwNDQ3XHUwNDQyXHUwNDNlXHUwNDMyXHUwNDRiXHUwNDM5Lj9cdTA0MThcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDF8XHUwOTJhXHUwOTNmXHUwOTI4Lj9cdTA5MTVcdTA5NGJcdTA5MjF8XHUwZDJhXHUwZDNmXHUwZDI4XHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRiXHUwZDIxXHUwZDRkfFx1OTBhZVx1NjUzZlx1N2YxNlx1NzgwMXxcdTkwYWVcdTdmMTZ8XHU5MGY1XHU5MDVlXHU1MzQwXHU4NjVmfChcXGJ8Xylwb3N0YSBrb2R1KFxcYnxfKXxcdWM2YjBcdWQzYjguP1x1YmM4OFx1ZDYzOHxrb2RlLj9wb3MiLAoiaSIpLGVKPXt9LEtJPShlSltGRC5CYl09e21lOiExLG5hOk1EfSxlSltGRC5lZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbInRlbCIsInRlbC1uYXRpb25hbCIsInRlbC1sb2NhbCJdLG5lOlpJLG5hOmZ1bmN0aW9uKGEpe3JldHVybiBHRChhLCEwKX19LGVKW0ZELktoXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsibmFtZSIsImNjLW5hbWUiXSxuZTokSSxuYTpORH0sZUpbRkQuWGRdPXttZTohMCxhdXRvY29tcGxldGU6WyJnaXZlbi1uYW1lIiwiY2MtZ2l2ZW4tbmFtZSJdLG5lOmFKLG5hOk5EfSxlSltGRC5jZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbImZhbWlseS1uYW1lIiwiY2MtZmFtaWx5LW5hbWUiXSxuZTpiSixuYTpORH0sZUpbRkQueGZdPXttZTohMCxhdXRvY29tcGxldGU6WyJjb3VudHJ5IiwiY291bnRyeS1uYW1lIl0sbmU6Y0osbmE6TkR9LGVKW0ZELnFnXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsicG9zdGFsLWNvZGUiXSxuZTpkSixuYTpJRH0sZUopO2Z1bmN0aW9uIGZKKGEpe3ZhciBiO0wodGhpcywiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iKTt2YXIgYz1UZChhKXx8e30sZD1KSSh7aW5jbHVkZVNlbGVjdG9yOiEhYy5pbmNsdWRlU2VsZWN0b3IsaW5jbHVkZVZpc2liaWxpdHk6ISFjLmluY2x1ZGVWaXNpYmlsaXR5LGV4Y2x1ZGVFbGVtZW50U2VsZWN0b3JzOmMuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMsZmllbGRGaWx0ZXJzOmMuZmllbGRGaWx0ZXJzLHNlbGVjdE11bHRpcGxlRWxlbWVudHM6ISFjLnNlbGVjdE11bHRpcGxlRWxlbWVudHN9KTtiPW5ldyBrYjt2YXIgZT1uZXcgR2Q7Yi5zZXQoImVsZW1lbnRzIixlKTtmb3IodmFyIGY9ZC5lbGVtZW50cyxnPTA7ZzxmLmxlbmd0aDtnKyspZS5wdXNoKGdKKGZbZ10pKTtkLmdpIT09dm9pZCAwJiZiLnNldCgicHJlZmVycmVkRW1haWxFbGVtZW50IiwKZ0ooZC5naSkpO2Iuc2V0KCJzdGF0dXMiLGQuc3RhdHVzKTtpZihjLnJlYWRGcm9tRGF0YUxheWVyKXtoSihlLGMpO3ZhciBoPVBEKCksbD1oLnN0O2Iuc2V0KCJkYXRhTGF5ZXJTZWFyY2hUaW1lIixoLnZ0KTtiLnNldCgiZGF0YUxheWVyU2VhcmNoQ291bnQiLGwpfXJldHVybiBifQp2YXIgaUo9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgRkQuQmI6cmV0dXJuImVtYWlsIjtjYXNlIEZELmVlOnJldHVybiJwaG9uZV9udW1iZXIiO2Nhc2UgRkQuWGQ6cmV0dXJuImZpcnN0X25hbWUiO2Nhc2UgRkQuY2U6cmV0dXJuImxhc3RfbmFtZSI7Y2FzZSBGRC50ajpyZXR1cm4ic3RyZWV0IjtjYXNlIEZELmxpOnJldHVybiJjaXR5IjtjYXNlIEZELmpqOnJldHVybiJyZWdpb24iO2Nhc2UgRkQucWc6cmV0dXJuInBvc3RhbF9jb2RlIjtjYXNlIEZELnhmOnJldHVybiJjb3VudHJ5In19LGpKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYixjPWlKKGEuRGEpO2MhPT12b2lkIDAmJmIuc2V0KCJ0eXBlIixjKTtiLnNldCgidXNlckRhdGEiLGEuQ2EpO2Iuc2V0KCJ0YWdOYW1lIiwiRExZUiIpO3JldHVybiBifSxoSj1mdW5jdGlvbihhLGIpe3ZhciBjPVFEKCk7aWYoTSg1NjgpKWZvcih2YXIgZD1uZXcgU2V0KGEuaGMoKS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIuZ2V0KCJ0eXBlIil9KSksCmU9bShjKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9bShmLnZhbHVlKSxoPWcubmV4dCgpLnZhbHVlLGw9Zy5uZXh0KCkudmFsdWUsbj1oLHA9bDtpZihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHMpYS5wdXNoKGpKKHApKTtlbHNle3ZhciBxPWlKKG4pO3EmJiFkLmhhcyhxKSYmYS5wdXNoKGpKKHApKX19ZWxzZSBjLmhhcyhGRC5CYikmJihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHN8fGEubGVuZ3RoKCk9PT0wKSYmYS5wdXNoKGpKKGMuZ2V0KEZELkJiKSkpfSxnSj1mdW5jdGlvbihhKXt2YXIgYj1uZXcga2I7Yi5zZXQoInVzZXJEYXRhIixhLkNhKTtiLnNldCgidGFnTmFtZSIsYS50YWdOYW1lKTthLnF1ZXJ5U2VsZWN0b3IhPT12b2lkIDAmJmIuc2V0KCJxdWVyeVNlbGVjdG9yIixhLnF1ZXJ5U2VsZWN0b3IpO2EuaXNWaXNpYmxlIT09dm9pZCAwJiZiLnNldCgiaXNWaXNpYmxlIixhLmlzVmlzaWJsZSk7aWYoTSg1NjgpKXt2YXIgYz1pSihhLnR5cGUpO2MhPT0Kdm9pZCAwJiZiLnNldCgidHlwZSIsYyl9ZWxzZSBzd2l0Y2goYS50eXBlKXtjYXNlIEZELkJiOmIuc2V0KCJ0eXBlIiwiZW1haWwiKX1yZXR1cm4gYn07ZkouUD0iaW50ZXJuYWwuZGV0ZWN0VXNlclByb3ZpZGVkRGF0YSI7CnZhciBrSj1mdW5jdGlvbihhKXt2YXIgYj1oZChhLFsiYnV0dG9uIiwiaW5wdXQiXSw1MCk7aWYoIWIpcmV0dXJuIG51bGw7dmFyIGM9U3RyaW5nKGIudGFnTmFtZSkudG9Mb3dlckNhc2UoKTtpZihjPT09ImJ1dHRvbiIpcmV0dXJuIGI7aWYoYz09PSJpbnB1dCIpe3ZhciBkPWVkKGIsInR5cGUiKTtpZihkPT09ImJ1dHRvbiJ8fGQ9PT0ic3VibWl0Inx8ZD09PSJpbWFnZSJ8fGQ9PT0iZmlsZSJ8fGQ9PT0icmVzZXQiKXJldHVybiBifXJldHVybiBudWxsfSxsSj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy50YXJnZXQ7aWYoZCl7dmFyIGU9JEYoYSwiaW5kaXZpZHVhbEVsZW1lbnRJZHMiLFtdKTtpZihlLmxlbmd0aD4wKXt2YXIgZj1lRyhkLGIsZSk7dUUoZil9dmFyIGc9ITEsaD0kRihhLCJjb21tb25CdXR0b25JZHMiLFtdKTtpZihoLmxlbmd0aD4wKXt2YXIgbD1rSihkKTtpZihsKXt2YXIgbj1lRyhsLGIsaCk7dUUobik7Zz0hMH19dmFyIHA9JEYoYSwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLAp7fSkscTtmb3IocSBpbiBwKWlmKHAuaGFzT3duUHJvcGVydHkocSkpe3ZhciByPWc/cFtxXS5maWx0ZXIoZnVuY3Rpb24odil7cmV0dXJuIGguaW5kZXhPZih2KT09PS0xfSk6cFtxXTtpZihyLmxlbmd0aCE9PTApe3ZhciB0PXBJKGQscSk7aWYodCl7dmFyIHU9ZUcodCxiLHIpO3VFKHUpfX19fX07CmZ1bmN0aW9uIG1KKGEsYil7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgYz1hP1RkKGEpOnt9LGQ9SmIoYy5tYXRjaENvbW1vbkJ1dHRvbnMpLGU9ISFjLmNzc1NlbGVjdG9yLGY9WkYoYik7TCh0aGlzLCJkZXRlY3RfY2xpY2tfZXZlbnRzIixjLm1hdGNoQ29tbW9uQnV0dG9ucyxjLmNzc1NlbGVjdG9yKTt2YXIgZz1jLnVzZVYyRXZlbnROYW1lPyJndG0uY2xpY2stdjIiOiJndG0uY2xpY2siLGg9Yy51c2VWMkV2ZW50TmFtZT8iZWNsIjoiY2wiLGw9ZnVuY3Rpb24ocCl7cC5wdXNoKGYpO3JldHVybiBwfTtpZihlfHxkKXtpZihkJiZkRyhoLCJjb21tb25CdXR0b25JZHMiLGwsW10pLGUpe3ZhciBuPUxiKFN0cmluZyhjLmNzc1NlbGVjdG9yKSk7ZEcoaCwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLApmdW5jdGlvbihwKXtwLmhhc093blByb3BlcnR5KG4pfHwocFtuXT1bXSk7bChwW25dKTtyZXR1cm4gcH0se30pfX1lbHNlIGRHKGgsImluZGl2aWR1YWxFbGVtZW50SWRzIixsLFtdKTtiRyhoLGZ1bmN0aW9uKCl7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKHApe2xKKGgsZyxwKX0sITApfSk7cmV0dXJuIGZ9bUouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayI7CnZhciBuSj1mdW5jdGlvbigpe3RoaXMuSD1bXTt0aGlzLk49ISFBLk11dGF0aW9uT2JzZXJ2ZXJ9O25KLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYodGhpcy5ILmxlbmd0aD09PTApe3ZhciBjPWZ1bmN0aW9uKCl7dmFyIGQ9Qi5ib2R5O2lmKGQpaWYoYi5OKShuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKS5vYnNlcnZlKGQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZWxzZXt2YXIgZT0hMTskYyhkLCJET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZXx8KGU9ITAsYmQoZnVuY3Rpb24oKXtlPSExO2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKX0pfX07Qi5ib2R5P2MoKTpiZChjKX10aGlzLkgucHVzaChhKX07bkoucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7aWYodGhpcy5IKWZvcih2YXIgYj0wO2I8dGhpcy5ILmxlbmd0aDtiKyspdGhpcy5IW2JdPT09CmEmJnRoaXMuSC5zcGxpY2UoYiwxKX07dmFyIG9KPW5ldyBuSjsKZnVuY3Rpb24gdEooYSxiKXtyZXR1cm4gcH10Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVsZW1lbnRWaXNpYmlsaXR5IjtmdW5jdGlvbiB1Sigpe311Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVycm9yIjsKdmFyIHdKPWZ1bmN0aW9uKGEsYil7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPWJbY107ZSYmR2IoZCxmdW5jdGlvbihmLGcpe3ZKKGcsZSl9KX0pfSx6Sj1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0iIitiO2lmKGNbaF0pY1toXS5wdXNoKGEpO2Vsc2V7dmFyIGw9W2FdO2NbaF09bDt2YXIgbj1kW2hdO258fChuPXt9LGRbaF09bik7ZS5wdXNoKGZ1bmN0aW9uKHApe3ZhciBxPXAudGFyZ2V0O2lmKHEpe3ZhciByPWlHKHEpO2lmKHIpe3ZhciB0PXhKKHIsImd0bUZvcm1JbnRlcmFjdElkIixmKSx1PXhKKHEsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiLGcpO2lmKHQhPT1udWxsJiZ1IT09bnVsbCl7dmFyIHY9blt0XTt2Pyh2LlJiJiYoQS5jbGVhclRpbWVvdXQodi5SYiksdi5kZi5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLWZvcm0taW50ZXJhY3QtZmllbGQtaWQiKSE9PXUmJnZKKHYsbCkpLHYuZGY9cSx5Sih2LGwsYikpOihuW3RdPXtmb3JtOnIsZGY6cSxzZXF1ZW5jZU51bWJlcjowLApSYjpudWxsfSx5SihuW3RdLGwsYikpfX19fSl9fSx2Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZm9ybSxkPWEuZGYsZT1lRyhjLCJndG0uZm9ybUludGVyYWN0IixiKSxmPWMuYWN0aW9uO2YmJmYudGFnTmFtZSYmKGY9Yy5jbG9uZU5vZGUoITEpLmFjdGlvbik7ZVsiZ3RtLmVsZW1lbnRVcmwiXT1mO2VbImd0bS5pbnRlcmFjdGVkRm9ybU5hbWUiXT1jLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2MuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUxlbmd0aCJdPWMubGVuZ3RoO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkIl09ZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl09ZC5pZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZE5hbWUiXT1kLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2QuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXT1oRyhjLGQsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiKTsKZVsiZ3RtLmludGVyYWN0ZWRGb3JtRmllbGRUeXBlIl09ZC5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9bnVsbD9kLmdldEF0dHJpYnV0ZSgidHlwZSIpOnZvaWQgMDtlWyJndG0uaW50ZXJhY3RTZXF1ZW5jZU51bWJlciJdPWEuc2VxdWVuY2VOdW1iZXI7dUUoZSk7YS5zZXF1ZW5jZU51bWJlcisrO2EuUmI9bnVsbH0seUo9ZnVuY3Rpb24oYSxiLGMpe2M/YS5SYj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2SihhLGIpfSxjKTp2SihhLGIpfSx4Sj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7dHJ5e2lmKGQ9YS5kYXRhc2V0W2JdKXJldHVybiBkO2Q9U3RyaW5nKGMoKSk7YS5kYXRhc2V0W2JdPWR9Y2F0Y2goZSl7ZD1udWxsfXJldHVybiBkfTsKZnVuY3Rpb24gQUooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMiKX1dKTt2YXIgZD1aRihiKSxlPWEmJk51bWJlcihhLmdldCgiaW50ZXJ2YWwiKSk7ZT4wJiZpc0Zpbml0ZShlKXx8KGU9MCk7aWYoJEYoImZpbCIsImluaXQiLCExKSl7dmFyIGY9JEYoImZpbCIsInJlZyIpO2lmKGYpZihkLGUpO2Vsc2UgdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWdpc3RlciB0cmlnZ2VyOiAiK2QpO31lbHNle3ZhciBnPXt9LGg9W10sbD17fSxuPTAscD1mdW5jdGlvbigpe3JldHVybiBuKyt9LHE9MCxyPWZ1bmN0aW9uKCl7cmV0dXJuIHErK307JGMoQiwiY2hhbmdlIiwKZnVuY3Rpb24odCl7Zm9yKHZhciB1PTA7dTxoLmxlbmd0aDt1KyspaFt1XSh0KX0pOyRjKEEsInBhZ2VoaWRlIixmdW5jdGlvbigpe3dKKGwsZyl9KTt6SihkLGUsZyxsLGgscCxyKTthRygiZmlsIiwicmVnIixmdW5jdGlvbih0LHUpe3pKKHQsdSxnLGwsaCxwLHIpfSk7YUcoImZpbCIsImluaXQiLCEwKX1yZXR1cm4gZH1BSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1JbnRlcmFjdGlvbiI7CnZhciBCSj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSRGKCJmc2wiLGM/Im52Lm13dCI6Im13dCIsMCksZztnPWM/JEYoImZzbCIsIm52LmlkcyIsW10pOiRGKCJmc2wiLCJpZHMiLFtdKTtpZighZy5sZW5ndGgpcmV0dXJuITA7dmFyIGg9ZUcoYSwiZ3RtLmZvcm1TdWJtaXQiLGcpLGw9YS5hY3Rpb247bCYmbC50YWdOYW1lJiYobD1hLmNsb25lTm9kZSghMSkuYWN0aW9uKTtQKDEyMSk7aWYobD09PSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vdHIvIilyZXR1cm4gUCgxMjIpLCEwO2hbImd0bS5lbGVtZW50VXJsIl09bDtoWyJndG0uZm9ybUNhbmNlbGVkIl09YzthLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsJiYoaFsiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdPWEuZ2V0QXR0cmlidXRlKCJuYW1lIikpO2UmJihoWyJndG0uZm9ybVN1Ym1pdEVsZW1lbnQiXT1lLGhbImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXT1lLnZhbHVlKTtpZihkJiZmKXtpZighc0UoaCxqRShiLApmKSxmKSlyZXR1cm4hMX1lbHNlIEZ5KDEsImd0bS5mb3JtU3VibWl0Iiksc0UoaCxmdW5jdGlvbigpe30sZnx8MkUzKTtyZXR1cm4hMH0sQ0o9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPWZ1bmN0aW9uKGMpe3JldHVybiBDYihhLGZ1bmN0aW9uKGQpe3JldHVybiBkLmZvcm09PT1jfSl9O3JldHVybntzdG9yZTpmdW5jdGlvbihjLGQpe3ZhciBlPWIoYyk7ZT9lLmJ1dHRvbj1kOmEucHVzaCh7Zm9ybTpjLGJ1dHRvbjpkfSl9LGdldDpmdW5jdGlvbihjKXt2YXIgZD1iKGMpO2lmKGQpcmV0dXJuIGQuYnV0dG9ufX19LERKPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiBiJiZiIT09Il9zZWxmIiYmYiE9PSJfcGFyZW50IiYmYiE9PSJfdG9wIj8hMTohMH0sRUo9ZnVuY3Rpb24oKXt2YXIgYT1DSigpLGI9SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKGQpe3ZhciBlPWhkKGQsWyJidXR0b24iLAoiaW5wdXQiXSwxMDApO2lmKGUmJihlLnR5cGU9PT0ic3VibWl0Inx8ZS50eXBlPT09ImltYWdlIikmJmUubmFtZSYmZWQoZSwidmFsdWUiKSl7dmFyIGY9aUcoZSk7ZiYmYS5zdG9yZShmLGUpfX19LCExKTskYyhCLCJzdWJtaXQiLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKCFkKXJldHVybiBjLnJldHVyblZhbHVlO3ZhciBlPWMuZGVmYXVsdFByZXZlbnRlZHx8Yy5yZXR1cm5WYWx1ZT09PSExLGY9REooZCkmJiFlLGc9YS5nZXQoZCksaD0hMDtpZihCSihkLGZ1bmN0aW9uKCl7aWYoaCl7dmFyIGw9bnVsbCxuPXt9O2cmJihsPUIuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxsLnR5cGU9ImhpZGRlbiIsbC5uYW1lPWcubmFtZSxsLnZhbHVlPWcudmFsdWUsZC5hcHBlbmRDaGlsZChsKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybWFjdGlvbiIpJiYobi5hY3Rpb249ZC5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpLHhjKGQsZy5nZXRBdHRyaWJ1dGUoImZvcm1hY3Rpb24iKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtZW5jdHlwZSIpJiYKKG4uZW5jdHlwZT1kLmdldEF0dHJpYnV0ZSgiZW5jdHlwZSIpLGQuc2V0QXR0cmlidXRlKCJlbmN0eXBlIixnLmdldEF0dHJpYnV0ZSgiZm9ybWVuY3R5cGUiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtbWV0aG9kIikmJihuLm1ldGhvZD1kLmdldEF0dHJpYnV0ZSgibWV0aG9kIiksZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsZy5nZXRBdHRyaWJ1dGUoImZvcm1tZXRob2QiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtdmFsaWRhdGUiKSYmKG4udmFsaWRhdGU9ZC5nZXRBdHRyaWJ1dGUoInZhbGlkYXRlIiksZC5zZXRBdHRyaWJ1dGUoInZhbGlkYXRlIixnLmdldEF0dHJpYnV0ZSgiZm9ybXZhbGlkYXRlIikpKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybXRhcmdldCIpJiYobi50YXJnZXQ9ZC5nZXRBdHRyaWJ1dGUoInRhcmdldCIpLGQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLGcuZ2V0QXR0cmlidXRlKCJmb3JtdGFyZ2V0IikpKSk7Yi5jYWxsKGQpO2wmJihkLnJlbW92ZUNoaWxkKGwpLG4uaGFzT3duUHJvcGVydHkoImFjdGlvbiIpJiYKeGMoZCxuLmFjdGlvbiksbi5oYXNPd25Qcm9wZXJ0eSgiZW5jdHlwZSIpJiZkLnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsbi5lbmN0eXBlKSxuLmhhc093blByb3BlcnR5KCJtZXRob2QiKSYmZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsbi5tZXRob2QpLG4uaGFzT3duUHJvcGVydHkoInZhbGlkYXRlIikmJmQuc2V0QXR0cmlidXRlKCJ2YWxpZGF0ZSIsbi52YWxpZGF0ZSksbi5oYXNPd25Qcm9wZXJ0eSgidGFyZ2V0IikmJmQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLG4udGFyZ2V0KSl9fSxlLGYsZykpaD0hMTtlbHNlIHJldHVybiBlfHwoYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITEpLCExO3JldHVybiBjLnJldHVyblZhbHVlfSwhMSk7SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ9ZnVuY3Rpb24oKXt2YXIgYz10aGlzLGQ9ITA7QkooYyxmdW5jdGlvbigpe2QmJmIuY2FsbChjKX0sITEsREooYykpJiYoYi5jYWxsKGMpLGQ9CiExKX19OwpmdW5jdGlvbiBGSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgZD1hJiZhLmdldCgid2FpdEZvclRhZ3MiKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiLHt3YWl0Rm9yVGFnczohIWR9KX1dKTt2YXIgZT1hJiZhLmdldCgiY2hlY2tWYWxpZGF0aW9uIiksZj1aRihiKTtpZihkKXt2YXIgZz1OdW1iZXIoYS5nZXQoIndhaXRGb3JUYWdzVGltZW91dCIpKTtnPjAmJmlzRmluaXRlKGcpfHwoZz0yRTMpO3ZhciBoPWZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLm1heChnLG4pfTtkRygiZnNsIiwibXd0IixoLDApO2V8fGRHKCJmc2wiLCJudi5td3QiLGgsMCl9dmFyIGw9ZnVuY3Rpb24obil7bi5wdXNoKGYpOwpyZXR1cm4gbn07ZEcoImZzbCIsImlkcyIsbCxbXSk7ZXx8ZEcoImZzbCIsIm52LmlkcyIsbCxbXSk7JEYoImZzbCIsImluaXQiLCExKXx8KEVKKCksYUcoImZzbCIsImluaXQiLCEwKSk7cmV0dXJuIGZ9RkouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtU3VibWl0IjsKZnVuY3Rpb24gS0ooKXt2YXIgYT10aGlzO31LSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkdhU2VuZCI7CnZhciBNSj1mdW5jdGlvbihhLGIsYyxkKXtjPWM9PT12b2lkIDA/e306YztkPWQ9PT12b2lkIDA/W106ZDt2YXIgZT0iIitiO2lmKGNbZV0pY1tlXS5wdXNoKGEpO2Vsc2V7dmFyIGY9W2FdO2NbZV09Zjt2YXIgZz1MSigiZ3RtLmhpc3RvcnlDaGFuZ2UtdjIiKSxoPS0xO2QucHVzaChmdW5jdGlvbihsKXtoPj0wJiZBLmNsZWFyVGltZW91dChoKTtiP2g9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZyhsLGYpO2g9LTF9LGIpOmcobCxmKX0pfX0sTEo9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5ocmVmLGM9e3NvdXJjZTpudWxsLHN0YXRlOkEuaGlzdG9yeS5zdGF0ZXx8bnVsbCx1cmw6T2ooUmooYikpLGtiOkxqKFJqKGIpLCJmcmFnbWVudCIpfTtyZXR1cm4gZnVuY3Rpb24oZCxlKXt2YXIgZj1jLGc9e307Z1tmLnNvdXJjZV09ITA7Z1tkLnNvdXJjZV09ITA7aWYoIWcucG9wc3RhdGV8fCFnLmhhc2hjaGFuZ2V8fGYua2IhPT1kLmtiKXt2YXIgaD17ZXZlbnQ6YSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiOmQuc291cmNlLAoiZ3RtLm9sZFVybEZyYWdtZW50IjpjLmtiLCJndG0ubmV3VXJsRnJhZ21lbnQiOmQua2IsImd0bS5vbGRIaXN0b3J5U3RhdGUiOmMuc3RhdGUsImd0bS5uZXdIaXN0b3J5U3RhdGUiOmQuc3RhdGUsImd0bS5vbGRVcmwiOmMudXJsLCJndG0ubmV3VXJsIjpkLnVybH07ZSYmKGhbImd0bS50cmlnZ2VycyJdPWUuam9pbigiLCIpKTtjPWQ7dUUoaCl9fX0sTko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1BLmhpc3RvcnksZD1jW2FdO2lmKHliKGQpKXRyeXtjW2FdPWZ1bmN0aW9uKGUsZixnKXtkLmFwcGx5KGMsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpO3ZhciBoPUEubG9jYXRpb24uaHJlZjtiKHtzb3VyY2U6YSxzdGF0ZTplLHVybDpPaihSaihoKSksa2I6TGooUmooaCksImZyYWdtZW50Iil9KX19Y2F0Y2goZSl7fX0sUEo9ZnVuY3Rpb24oYSl7QS5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJwb3BzdGF0ZSIsc3RhdGU6Yi5zdGF0ZSwKdXJsOk9qKFJqKGMpKSxrYjpMaihSaihjKSwiZnJhZ21lbnQiKX0pfSl9LFFKPWZ1bmN0aW9uKGEpe0EuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJoYXNoY2hhbmdlIixzdGF0ZTpudWxsLHVybDpPaihSaihjKSksa2I6TGooUmooYyksImZyYWdtZW50Iil9KX0pfSxPSj1mdW5jdGlvbihhKXt2YXIgYixjO3JldHVybigoYj1hLnRhcmdldCk9PW51bGw/dm9pZCAwOihjPWIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpjLmhyZWYpfHxBLmxvY2F0aW9uLmhyZWZ9OwpmdW5jdGlvbiBSSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiKX1dKTt2YXIgZD1hJiZhLmdldCgidXNlVjJFdmVudE5hbWUiKT8iZWhsIjoiaGwiLGU9TnVtYmVyKGEmJmEuZ2V0KCJpbnRlcnZhbCIpKTtlPjAmJmlzRmluaXRlKGUpfHwoZT0wKTt2YXIgZjtpZighJEYoZCwiaW5pdCIsITEpKXt2YXIgZz17fSxoPVtdLGw7ZD09PSJlaGwiPyhsPWZ1bmN0aW9uKHApe2Zvcih2YXIgcT0wO3E8aC5sZW5ndGg7cSsrKWhbcV0ocCl9LGY9WkYoYiksTUooZixlLGcsaCksYUcoZCwicmVnIixmdW5jdGlvbihwLHEpe01KKHAscSxnLGgpfSkpOmw9TEooImd0bS5oaXN0b3J5Q2hhbmdlIik7ClFKKGwpO1BKKGwpO05KKCJwdXNoU3RhdGUiLGwpO05KKCJyZXBsYWNlU3RhdGUiLGwpO2FHKGQsImluaXQiLCEwKX1lbHNlIGlmKGQ9PT0iZWhsIil7dmFyIG49JEYoZCwicmVnIik7biYmKGY9WkYoYiksbihmLGUpKX1kPT09ImhsIiYmKGY9dm9pZCAwKTtyZXR1cm4gZn1SSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkhpc3RvcnlDaGFuZ2UiO3ZhciBTSj1bImh0dHA6Ly8iLCJodHRwczovLyIsImphdmFzY3JpcHQ6IiwiZmlsZTovLyJdOwp2YXIgVEo9ZnVuY3Rpb24oYSxiKXtpZihhLndoaWNoPT09Mnx8YS5jdHJsS2V5fHxhLnNoaWZ0S2V5fHxhLmFsdEtleXx8YS5tZXRhS2V5KXJldHVybiExO3ZhciBjPW9kKGIsImhyZWYiKTtpZihjLmluZGV4T2YoIjoiKSE9PS0xJiYhU0ouc29tZShmdW5jdGlvbihoKXtyZXR1cm4gU2IoYyxoKX0pKXJldHVybiExO3ZhciBkPWMuaW5kZXhPZigiIyIpLGU9b2QoYiwidGFyZ2V0Iik7aWYoZSYmZSE9PSJfc2VsZiImJmUhPT0iX3BhcmVudCImJmUhPT0iX3RvcCJ8fGQ9PT0wKXJldHVybiExO2lmKGQ+MCl7dmFyIGY9T2ooUmooYykpLGc9T2ooUmooQS5sb2NhdGlvbi5ocmVmKSk7cmV0dXJuIGYhPT1nfXJldHVybiEwfSxVSj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1MaihSaigoYi5hdHRyaWJ1dGVzJiZiLmF0dHJpYnV0ZXMuZm9ybWFjdGlvbj9iLmZvcm1BY3Rpb246IiIpfHxiLmFjdGlvbnx8b2QoYiwiaHJlZiIpfHxiLnNyY3x8Yi5jb2RlfHxiLmNvZGViYXNlfHwiIiksImhvc3QiKSwKZD0wO2Q8YS5sZW5ndGg7ZCsrKXRyeXtpZigobmV3IFJlZ0V4cChhW2RdKSkudGVzdChjKSlyZXR1cm4hMX1jYXRjaChlKXt9cmV0dXJuITB9LFZKPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShjKXt2YXIgZD1jLnRhcmdldDtpZihkJiZjLndoaWNoIT09MyYmIShjLkh8fGMudGltZVN0YW1wJiZjLnRpbWVTdGFtcD09PWIpKXtiPWMudGltZVN0YW1wO2Q9aGQoZCxbImEiLCJhcmVhIl0sMTAwKTtpZighZClyZXR1cm4gYy5yZXR1cm5WYWx1ZTt2YXIgZT1jLmRlZmF1bHRQcmV2ZW50ZWR8fGMucmV0dXJuVmFsdWU9PT0hMSxmPSRGKCJsY2wiLGU/Im52Lm13dCI6Im13dCIsMCksZztnPWU/JEYoImxjbCIsIm52LmlkcyIsW10pOiRGKCJsY2wiLCJpZHMiLFtdKTtmb3IodmFyIGg9W10sbD0wO2w8Zy5sZW5ndGg7bCsrKXt2YXIgbj1nW2xdLHA9JEYoImxjbCIsImFmZi5tYXAiLHt9KVtuXTtwJiYhVUoocCxkKXx8aC5wdXNoKG4pfWlmKGgubGVuZ3RoKXt2YXIgcT1USihjLGQpLHI9ZUcoZCwiZ3RtLmxpbmtDbGljayIsCmgpO3JbImd0bS5lbGVtZW50VGV4dCJdPWZkKGQpO3JbImd0bS53aWxsT3BlbkluTmV3V2luZG93Il09IXE7aWYocSYmIWUmJmYmJmQuaHJlZil7dmFyIHQ9ISFDYihTdHJpbmcob2QoZCwicmVsIil8fCIiKS5zcGxpdCgiICIpLGZ1bmN0aW9uKHkpe3JldHVybiB5LnRvTG93ZXJDYXNlKCk9PT0ibm9yZWZlcnJlciJ9KSx1PUFbKG9kKGQsInRhcmdldCIpfHwiX3NlbGYiKS5zdWJzdHJpbmcoMSldLHY9ITAseD10RShmdW5jdGlvbigpe3ZhciB5O2lmKHk9diYmdSl7dmFyIHo7YTppZih0KXt2YXIgQzt0cnl7Qz1uZXcgTW91c2VFdmVudChjLnR5cGUse2J1YmJsZXM6ITB9KX1jYXRjaChEKXtpZighQi5jcmVhdGVFdmVudCl7ej0hMTticmVhayBhfUM9Qi5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtDLmluaXRFdmVudChjLnR5cGUsITAsITApfUMuSD0hMDtjLnRhcmdldC5kaXNwYXRjaEV2ZW50KEMpO3o9ITB9ZWxzZSB6PSExO3k9IXp9eSYmKHUubG9jYXRpb24uaHJlZj1vZChkLAoiaHJlZiIpKX0sZik7aWYoaUUocix4LGYpKXY9ITE7ZWxzZSByZXR1cm4gYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITF9ZWxzZSBzRShyLGZ1bmN0aW9uKCl7fSxmfHwyRTMpO3JldHVybiEwfX19dmFyIGI9MDskYyhCLCJjbGljayIsYSwhMSk7JGMoQiwiYXV4Y2xpY2siLGEsITEpfTsKZnVuY3Rpb24gV0ooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7dmFyIGQ9VGQoYSk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiLGQpfV0pO3ZhciBlPWQmJiEhZC53YWl0Rm9yVGFncyxmPWQmJiEhZC5jaGVja1ZhbGlkYXRpb24sZz1kP2QuYWZmaWxpYXRlRG9tYWluczp2b2lkIDAsaD1aRihiKTtpZihlKXt2YXIgbD1OdW1iZXIoZC53YWl0Rm9yVGFnc1RpbWVvdXQpO2w+MCYmaXNGaW5pdGUobCl8fChsPTJFMyk7dmFyIG49ZnVuY3Rpb24ocSl7cmV0dXJuIE1hdGgubWF4KGwscSl9O2RHKCJsY2wiLCJtd3QiLG4sMCk7Znx8ZEcoImxjbCIsIm52Lm13dCIsbiwwKX12YXIgcD1mdW5jdGlvbihxKXtxLnB1c2goaCk7CnJldHVybiBxfTtkRygibGNsIiwiaWRzIixwLFtdKTtmfHxkRygibGNsIiwibnYuaWRzIixwLFtdKTtnJiZkRygibGNsIiwiYWZmLm1hcCIsZnVuY3Rpb24ocSl7cVtoXT1nO3JldHVybiBxfSx7fSk7JEYoImxjbCIsImluaXQiLCExKXx8KFZKKCksYUcoImxjbCIsImluaXQiLCEwKSk7cmV0dXJuIGh9V0ouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25MaW5rQ2xpY2siOwp2YXIgWEo9ZnVuY3Rpb24oYSl7cmV0dXJuICRGKCJzZGwiLGEse30pfSxZSj1mdW5jdGlvbihhLGIsYyl7aWYoYil7dmFyIGQ9QXJyYXkuaXNBcnJheShhKT9hOlthXTtkRygic2RsIixjLGZ1bmN0aW9uKGUpe2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1TdHJpbmcoZFtmXSk7ZS5oYXNPd25Qcm9wZXJ0eShnKXx8KGVbZ109W10pO2VbZ10ucHVzaChiKX1yZXR1cm4gZX0se30pfX0sYUs9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7WkooYSxiKTskSihjLCEwKX1yZXR1cm4gY30sYks9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7aD9nPUEuc2V0VGltZW91dChjLGUpOihnPTAsWkooYSxiKSwkSihkKSk7aD0hMX1mdW5jdGlvbiBkKCl7ZiYmYigpO2c/aD0hMDooZz1BLnNldFRpbWVvdXQoYyxlKSxhRygic2RsIiwicGVuZGluZyIsITApKX12YXIgZT0yNTAsZj0hMTtCLnNjcm9sbGluZ0VsZW1lbnQmJkIuZG9jdW1lbnRFbGVtZW50JiYoZT01MCxmPSEwKTt2YXIgZz0KMCxoPSExO3JldHVybiBkfSwkSj1mdW5jdGlvbihhLGIpeyRGKCJzZGwiLCJpbml0IiwhMSkmJiFjSygpJiYoYj9hZChBLCJzY3JvbGxlbmQiLGEpOmFkKEEsInNjcm9sbCIsYSksYWQoQSwicmVzaXplIixhKSxhRygic2RsIiwiaW5pdCIsITEpKX0sWko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKCksZD1jLmRlcHRoWCxlPWMuZGVwdGhZLGY9ZC9hLnNjcm9sbFdpZHRoKjEwMCxnPWUvYS5zY3JvbGxIZWlnaHQqMTAwO2RLKGQsImhvcml6LnBpeCIsIlBJWEVMUyIsImhvcml6b250YWwiKTtkSyhmLCJob3Jpei5wY3QiLCJQRVJDRU5UIiwiaG9yaXpvbnRhbCIpO2RLKGUsInZlcnQucGl4IiwiUElYRUxTIiwidmVydGljYWwiKTtkSyhnLCJ2ZXJ0LnBjdCIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbCIpO2FHKCJzZGwiLCJwZW5kaW5nIiwhMSl9LGRLPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVhKKGIpLGY9e30sZztmb3IoZyBpbiBlKWlmKGY9e3FmOmYucWZ9LGYucWY9ZyxlLmhhc093blByb3BlcnR5KGYucWYpKXt2YXIgaD0KTnVtYmVyKGYucWYpO2lmKCEoYTxoKSl7dmFyIGw9e307dUUoKGwuZXZlbnQ9Imd0bS5zY3JvbGxEZXB0aCIsbFsiZ3RtLnNjcm9sbFRocmVzaG9sZCJdPWgsbFsiZ3RtLnNjcm9sbFVuaXRzIl09Yy50b0xvd2VyQ2FzZSgpLGxbImd0bS5zY3JvbGxEaXJlY3Rpb24iXT1kLGxbImd0bS50cmlnZ2VycyJdPWVbZi5xZl0uam9pbigiLCIpLGwpKTtkRygic2RsIixiLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihwKXtkZWxldGUgcFtuLnFmXTtyZXR1cm4gcH19KGYpLHt9KX19fSxmSz1mdW5jdGlvbigpe3ZhciBhPWRHKCJzZGwiLCJzY3IiLGZ1bmN0aW9uKGMpe2N8fChjPUIuc2Nyb2xsaW5nRWxlbWVudHx8Qi5ib2R5JiZCLmJvZHkucGFyZW50Tm9kZSk7cmV0dXJuIGN9LG51bGwpLGI9ZEcoInNkbCIsImRlcHRoIixmdW5jdGlvbihjKXtjfHwoYz1lSyhhKSk7cmV0dXJuIGN9KTtyZXR1cm57c2Nyb2xsaW5nRWxlbWVudDphLHZyOmJ9fSxlSz1mdW5jdGlvbihhKXt2YXIgYj0wLGM9CjA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9c0koKSxlPWQuaGVpZ2h0O2I9TWF0aC5tYXgoYS5zY3JvbGxMZWZ0K2Qud2lkdGgsYik7Yz1NYXRoLm1heChhLnNjcm9sbFRvcCtlLGMpO3JldHVybntkZXB0aFg6YixkZXB0aFk6Y319fSxjSz1mdW5jdGlvbigpe3JldHVybiEhKE9iamVjdC5rZXlzKFhKKCJob3Jpei5waXgiKSkubGVuZ3RofHxPYmplY3Qua2V5cyhYSigiaG9yaXoucGN0IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGl4IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGN0IikpLmxlbmd0aCl9OwpmdW5jdGlvbiBnSyhhLGIpe3ZhciBjPXRoaXM7aWYoIWVoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3QiLCJhbnkiXSxhcmd1bWVudHMpO1RGKFtmdW5jdGlvbigpe0woYywiZGV0ZWN0X3Njcm9sbF9ldmVudHMiKX1dKTt2YXIgZD1mSygpLGU9ZC5zY3JvbGxpbmdFbGVtZW50LGY9ZC52cjtpZighZSlyZXR1cm47dmFyIGc9WkYoYiksaD1UZChhKTtzd2l0Y2goaC5ob3Jpem9udGFsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC5ob3Jpem9udGFsVGhyZXNob2xkcyxnLCJob3Jpei5waXgiKTticmVhaztjYXNlICJQRVJDRU5UIjpZSihoLmhvcml6b250YWxUaHJlc2hvbGRzLGcsImhvcml6LnBjdCIpfXN3aXRjaChoLnZlcnRpY2FsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsCmcsInZlcnQucGl4Iik7YnJlYWs7Y2FzZSAiUEVSQ0VOVCI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsZywidmVydC5wY3QiKX0kRigic2RsIiwiaW5pdCIsITEpPyRGKCJzZGwiLCJwZW5kaW5nIiwhMSl8fGJkKGZ1bmN0aW9uKCl7WkooZSxmKX0pOihhRygic2RsIiwiaW5pdCIsITApLGFHKCJzZGwiLCJwZW5kaW5nIiwhMCksYmQoZnVuY3Rpb24oKXtaSihlLGYpO2lmKGNLKCkpe3ZhciBsPWJLKGUsZik7Im9uc2Nyb2xsZW5kImluIEE/KGw9YUsoZSxmKSwkYyhBLCJzY3JvbGxlbmQiLGwpKTokYyhBLCJzY3JvbGwiLGwpOyRjKEEsInJlc2l6ZSIsbCl9ZWxzZSBhRygic2RsIiwiaW5pdCIsITEpfSkpO3JldHVybiBnfWdLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uU2Nyb2xsIjtmdW5jdGlvbiBoSyhhKXtyZXR1cm4gZnVuY3Rpb24oKXtpZihhLmxpbWl0JiZhLmdrPj1hLmxpbWl0KWEuYWkmJkEuY2xlYXJJbnRlcnZhbChhLmFpKTtlbHNle2EuZ2srKzt2YXIgYj1OYigpO3VFKHtldmVudDphLmV2ZW50TmFtZSwiZ3RtLnRpbWVySWQiOmEuYWksImd0bS50aW1lckV2ZW50TnVtYmVyIjphLmdrLCJndG0udGltZXJJbnRlcnZhbCI6YS5pbnRlcnZhbCwiZ3RtLnRpbWVyTGltaXQiOmEubGltaXQsImd0bS50aW1lclN0YXJ0VGltZSI6YS5NbywiZ3RtLnRpbWVyQ3VycmVudFRpbWUiOmIsImd0bS50aW1lckVsYXBzZWRUaW1lIjpiLWEuTW8sImd0bS50cmlnZ2VycyI6YS5MdH0pfX19CmZ1bmN0aW9uIGlLKGEsYil7CnJldHVybiBmfWlLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uVGltZXIiOwp2YXIgaks9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoKXt2YXIgZz1hKCk7Zis9ZT8oTmIoKS1lKSpnLnBsYXliYWNrUmF0ZS8xRTM6MDtlPU5iKCl9dmFyIGU9MCxmPTA7cmV0dXJue2NyZWF0ZUV2ZW50OmZ1bmN0aW9uKGcsaCxsKXt2YXIgbj1hKCkscD1uLlduLHE9bD9NYXRoLnJvdW5kKGwpOmg/TWF0aC5yb3VuZChuLlduKmgpOk1hdGgucm91bmQobi5Hcikscj1oIT09dm9pZCAwP01hdGgucm91bmQoaCoxMDApOnA8PTA/MDpNYXRoLnJvdW5kKHEvcCoxMDApLHQ9Qi5oaWRkZW4/ITE6dEkoYyk+PS41O2QoKTt2YXIgdT12b2lkIDA7YiE9PXZvaWQgMCYmKHU9W2JdKTt2YXIgdj1lRyhjLCJndG0udmlkZW8iLHUpO3ZbImd0bS52aWRlb1Byb3ZpZGVyIl09InlvdXR1YmUiO3ZbImd0bS52aWRlb1N0YXR1cyJdPWc7dlsiZ3RtLnZpZGVvVXJsIl09bi51cmw7dlsiZ3RtLnZpZGVvVGl0bGUiXT1uLnRpdGxlO3ZbImd0bS52aWRlb0R1cmF0aW9uIl09TWF0aC5yb3VuZChwKTt2WyJndG0udmlkZW9DdXJyZW50VGltZSJdPQpNYXRoLnJvdW5kKHEpO3ZbImd0bS52aWRlb0VsYXBzZWRUaW1lIl09TWF0aC5yb3VuZChmKTt2WyJndG0udmlkZW9QZXJjZW50Il09cjt2WyJndG0udmlkZW9WaXNpYmxlIl09dDtyZXR1cm4gdn0sbXQ6ZnVuY3Rpb24oKXtlPU5iKCl9LEJqOmZ1bmN0aW9uKCl7ZCgpfX19O3ZhciBBYz1BYShbImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iXSksa0s9WyJ3d3cueW91dHViZS5jb20iLCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iXSxsSzsKdmFyIG1LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLm1hcChmdW5jdGlvbihnKXtyZXR1cm57dGU6ZyxKbzpnLHdvOnZvaWQgMH19KTtpZighYi5sZW5ndGgpcmV0dXJuIGQ7dmFyIGU9Yi5tYXAoZnVuY3Rpb24oZyl7cmV0dXJue3RlOmcqYyxKbzp2b2lkIDAsd286Z319KTtpZighZC5sZW5ndGgpcmV0dXJuIGU7dmFyIGY9ZC5jb25jYXQoZSk7Zi5zb3J0KGZ1bmN0aW9uKGcsaCl7cmV0dXJuIGcudGUtaC50ZX0pO3JldHVybiBmfSxuSz1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/W106YTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWFbY108MHx8Yi5wdXNoKGFbY10pO2Iuc29ydChmdW5jdGlvbihkLGUpe3JldHVybiBkLWV9KTtyZXR1cm4gYn0sb0s9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP1tdOmE7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPjEwMHx8YVtjXTwwfHwoYltjXT1hW2NdLzEwMCk7Yi5zb3J0KGZ1bmN0aW9uKGQsZSl7cmV0dXJuIGQtCmV9KTtyZXR1cm4gYn0scEs9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO2Z1bmN0aW9uIGUoKXt0PWpLKGZ1bmN0aW9uKCl7cmV0dXJue3VybDp4LHRpdGxlOnksV246dixHcjphLmdldEN1cnJlbnRUaW1lKCkscGxheWJhY2tSYXRlOnp9fSxiLnJmLGEuZ2V0SWZyYW1lKCkpO3Y9MDt5PXg9IiI7ej0xO3JldHVybiBmfWZ1bmN0aW9uIGYoRyl7c3dpdGNoKEcpe2Nhc2UgMTp2PU1hdGgucm91bmQoYS5nZXREdXJhdGlvbigpKTt4PWEuZ2V0VmlkZW9VcmwoKTtpZihhLmdldFZpZGVvRGF0YSl7dmFyIE49YS5nZXRWaWRlb0RhdGEoKTt5PU4/Ti50aXRsZToiIn16PWEuZ2V0UGxheWJhY2tSYXRlKCk7Yi55cj91RSh0LmNyZWF0ZUV2ZW50KCJzdGFydCIpKTp0LkJqKCk7dT1tSyhiLmV0LGIuY3QsYS5nZXREdXJhdGlvbigpKTtyZXR1cm4gZyhHKTtkZWZhdWx0OnJldHVybiBmfX1mdW5jdGlvbiBnKCl7Qz1hLmdldEN1cnJlbnRUaW1lKCk7RD1NYigpLmdldFRpbWUoKTt0Lm10KCk7cigpO3JldHVybiBofQpmdW5jdGlvbiBoKEcpe3ZhciBOO3N3aXRjaChHKXtjYXNlIDA6cmV0dXJuIG4oRyk7Y2FzZSAyOk49InBhdXNlIjtjYXNlIDM6dmFyIFM9YS5nZXRDdXJyZW50VGltZSgpLUM7Tj1NYXRoLmFicygoTWIoKS5nZXRUaW1lKCktRCkvMUUzKnotUyk+MT8ic2VlayI6Tnx8ImJ1ZmZlcmluZyI7YS5nZXRDdXJyZW50VGltZSgpJiYoYi54cj91RSh0LmNyZWF0ZUV2ZW50KE4pKTp0LkJqKCkpO3EoKTtyZXR1cm4gbDtjYXNlIC0xOnJldHVybiBlKEcpO2RlZmF1bHQ6cmV0dXJuIGh9fWZ1bmN0aW9uIGwoRyl7c3dpdGNoKEcpe2Nhc2UgMDpyZXR1cm4gbihHKTtjYXNlIDE6cmV0dXJuIGcoRyk7Y2FzZSAtMTpyZXR1cm4gZShHKTtkZWZhdWx0OnJldHVybiBsfX1mdW5jdGlvbiBuKCl7Zm9yKDtkOyl7dmFyIEc9YztBLmNsZWFyVGltZW91dChkKTtHKCl9Yi53ciYmdUUodC5jcmVhdGVFdmVudCgiY29tcGxldGUiLDEpKTtyZXR1cm4gZSgtMSl9ZnVuY3Rpb24gcCgpe31mdW5jdGlvbiBxKCl7ZCYmCihBLmNsZWFyVGltZW91dChkKSxkPTAsYz1wKX1mdW5jdGlvbiByKCl7aWYodS5sZW5ndGgmJnohPT0wKXt2YXIgRz0tMSxOO2Rve049dVswXTtpZihOLnRlPmEuZ2V0RHVyYXRpb24oKSlyZXR1cm47Rz0oTi50ZS1hLmdldEN1cnJlbnRUaW1lKCkpL3o7aWYoRzwwJiYodS5zaGlmdCgpLHUubGVuZ3RoPT09MCkpcmV0dXJufXdoaWxlKEc8MCk7Yz1mdW5jdGlvbigpe2Q9MDtjPXA7dS5sZW5ndGg+MCYmdVswXS50ZT09PU4udGUmJih1LnNoaWZ0KCksdUUodC5jcmVhdGVFdmVudCgicHJvZ3Jlc3MiLE4ud28sTi5KbykpKTtyKCl9O2Q9QS5zZXRUaW1lb3V0KGMsRyoxRTMpfX12YXIgdCx1PVtdLHYseCx5LHosQyxELEk9ZSgtMSk7ZD0wO2M9cDtyZXR1cm57b25TdGF0ZUNoYW5nZTpmdW5jdGlvbihHKXtJPUkoRyl9LG9uUGxheWJhY2tSYXRlQ2hhbmdlOmZ1bmN0aW9uKEcpe0M9YS5nZXRDdXJyZW50VGltZSgpO0Q9TWIoKS5nZXRUaW1lKCk7dC5CaigpO3o9RztxKCk7cigpfX19LHJLPQpmdW5jdGlvbihhKXtiZChmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXtmb3IodmFyIGQ9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIiksZT1kLmxlbmd0aCxmPTA7ZjxlO2YrKylxSyhkW2ZdLGEpfXZhciBjPUI7YigpO29KLksoYil9KX0scUs9ZnVuY3Rpb24oYSxiKXtpZighYS5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iK2IucmYpJiYoQ2MoYSwiZGF0YS1ndG0teXQtaW5zcGVjdGVkLSIrYi5yZiksc0soYSxiLmNvKSkpe2EuaWR8fChhLmlkPXRLKCkpO3ZhciBjPUEuWVQsZD1jLmdldChhLmlkKTtkfHwoZD1uZXcgYy5QbGF5ZXIoYS5pZCkpO3ZhciBlPXBLKGQsYiksZj17fSxnO2ZvcihnIGluIGUpZj17TWc6Zi5NZ30sZi5NZz1nLGUuaGFzT3duUHJvcGVydHkoZi5NZykmJmQuYWRkRXZlbnRMaXN0ZW5lcihmLk1nLGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gZVtoLk1nXShsLmRhdGEpfX0oZikpfX0sc0s9ZnVuY3Rpb24oYSwKYil7dmFyIGM9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKHVLKGMsImVtYmVkLyIpKXtpZihjLmluZGV4T2YoImVuYWJsZWpzYXBpPTEiKT4wKXJldHVybiEwO2lmKGIpe3ZhciBkO3ZhciBlPWMuaW5kZXhPZigiPyIpIT09LTE/IiYiOiI/IjtjLmluZGV4T2YoIm9yaWdpbj0iKT4tMT9kPWMrZSsiZW5hYmxlanNhcGk9MSI6KGxLfHwobEs9Qi5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK0IubG9jYXRpb24uaG9zdG5hbWUsQi5sb2NhdGlvbi5wb3J0JiYobEsrPSI6IitCLmxvY2F0aW9uLnBvcnQpKSxkPWMrZSsiZW5hYmxlanNhcGk9MSZvcmlnaW49IitlbmNvZGVVUklDb21wb25lbnQobEspKTt2YXIgZjtmPWpjKGQpO2Euc3JjPWtjKGYpLnRvU3RyaW5nKCk7cmV0dXJuITB9fXJldHVybiExfSx1Sz1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO2Zvcih2YXIgYz0wO2M8a0subGVuZ3RoO2MrKylpZihhLmluZGV4T2YoIi8vIitrS1tjXSsiLyIrYik+PTApcmV0dXJuITA7cmV0dXJuITF9LAp0Sz1mdW5jdGlvbigpe3ZhciBhPSIiK01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTkpO3JldHVybiBCLmdldEVsZW1lbnRCeUlkKGEpP3RLKCk6YX07CmZ1bmN0aW9uIHZLKGEsYil7dmFyIGM9dGhpczt2YXIgZD1mdW5jdGlvbigpe3JLKHEpfTtpZighZWgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiLHtmaXhNaXNzaW5nQXBpOiEhYS5nZXQoImZpeE1pc3NpbmdBcGkiKX0pfV0pO3ZhciBlPVpGKGIpLGY9ISFhLmdldCgiY2FwdHVyZVN0YXJ0IiksZz0hIWEuZ2V0KCJjYXB0dXJlQ29tcGxldGUiKSxoPSEhYS5nZXQoImNhcHR1cmVQYXVzZSIpLGw9b0soVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1BlcmNlbnQiKSkpLG49bksoVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1RpbWVJblNlY29uZHMiKSkpLHA9ISFhLmdldCgiZml4TWlzc2luZ0FwaSIpOwppZighKGZ8fGd8fGh8fGwubGVuZ3RofHxuLmxlbmd0aCkpcmV0dXJuO3ZhciBxPXt5cjpmLHdyOmcseHI6aCxjdDpsLGV0Om4sY286cCxyZjplfSxyPUEuWVQ7aWYocilyZXR1cm4gci5yZWFkeSYmci5yZWFkeShkKSxlO3ZhciB0PUEsdT10Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5O3Qub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHk9ZnVuY3Rpb24oKXt1JiZ1KCk7ZCgpfTtiZChmdW5jdGlvbigpe2Zvcih2YXIgdj1CLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSx4PXYubGVuZ3RoLHk9MDt5PHg7eSsrKXt2YXIgej12W3ldLmdldEF0dHJpYnV0ZSgic3JjIik7aWYodUsoeiwiaWZyYW1lX2FwaSIpfHx1Syh6LCJwbGF5ZXJfYXBpIikpcmV0dXJuIGV9Zm9yKHZhciBDPUIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpLEQ9Qy5sZW5ndGgsST1hbCg1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxHPTA7RzxEO0crKylpZighSSYmc0soQ1tHXSxxLmNvKSlyZXR1cm4gVWMoImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGkiKSwKWmsoNSwhMCksZX0pO3JldHVybiBlfXZLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uWW91VHViZUFjdGl2aXR5IjtmdW5jdGlvbiB3SyhhLGIpe2lmKCFsaChhKXx8IWZoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3R8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTt2YXIgYz1iP1RkKGIpOnt9O2MucmVnZXhDYWNoZT1hbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KTtyZXR1cm4gR2goYSxjKX13Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIjtmdW5jdGlvbiB4SyhhKXt2YXIgYj0hMTtyZXR1cm4gYn14Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZU1hdGNoaW5nUnVsZXMiO3ZhciB5Sz1uZXcgTWFwKFtbImF3Iiw0XV0pO2Z1bmN0aW9uIHpLKGEpe3ZhciBiPXZyW2FdLGM9eUsuZ2V0KGEpO3JldHVybiBjPyh3cShiLGMpfHxbXSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gZC5tPT09IjAifHxkLm09PT12b2lkIDB9KTohMX0KZnVuY3Rpb24gQUsoYSxiKXtpZihNKDQ5NSkpe2Zvcih2YXIgYz1uZXcgTWFwLGQ9bSh5SyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPW0oZS52YWx1ZSksZz1mLm5leHQoKS52YWx1ZSxoPWYubmV4dCgpLnZhbHVlLGw9ZyxuPWFbbF0scD1BcnJheS5pc0FycmF5KG4pP25bMF06bjtpZihwIT09dm9pZCAwKXt2YXIgcT17fSxyPShxLms9cCxxLmk9U3RyaW5nKE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpKSxxLmI9W10scS5tPSIxIixxKSx0PWFxKHIsaCk7dCYmKHpLKGwpfHxjLnNldChsLHQpKX19aWYoYy5zaXplKXt2YXIgdSx2PVtdLHg9Yi5wYXRofHwiLyI7di5wdXNoKGVuY29kZVVSSUNvbXBvbmVudCgicCIpKyI9IitlbmNvZGVVUklDb21wb25lbnQoeCkpO2IuQXImJnYucHVzaChlbmNvZGVVUklDb21wb25lbnQoImNlIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYi5BcikpKTt2YXIgeT1iLmRvbWFpbiYmYi5kb21haW4hPT0iYXV0byI/CmIuZG9tYWluOiJhdXRvOiIrQS5sb2NhdGlvbi5ob3N0bmFtZTt2LnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCJkIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh5KSk7Zm9yKHZhciB6PW0oYyksQz16Lm5leHQoKTshQy5kb25lO0M9ei5uZXh0KCkpe3ZhciBEPW0oQy52YWx1ZSksST1ELm5leHQoKS52YWx1ZSxHPUQubmV4dCgpLnZhbHVlO3YucHVzaChlbmNvZGVVUklDb21wb25lbnQoSSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChHKSl9dT0iXy9zZXRfY29va2llPyIrdi5qb2luKCImIik7dmFyIE4sUz1FKDU4KTtOPUVmKHUsUyk7dmFyIFc9WGooKSsiLyIrTjttZChXKX19fTtmdW5jdGlvbiBCSyhhKXtyZXR1cm4iQ1dWV2ViVmlld01lc3NhZ2UiaW4gYX1mdW5jdGlvbiBDSyhhKXt2YXIgYj1BLGM9Yi53ZWJraXQ7ZGVsZXRlIGIud2Via2l0O2EoYi53ZWJraXQpO2Iud2Via2l0PWN9ZnVuY3Rpb24gREsoYSxiKXt2YXIgYz17YWN0aW9uOiJnY2xfc2V0dXAifTtpZihCSyhhLm1lc3NhZ2VIYW5kbGVycykpcmV0dXJuIGEubWVzc2FnZUhhbmRsZXJzLkNXVldlYlZpZXdNZXNzYWdlLnBvc3RNZXNzYWdlKHtjb21tYW5kOmIscGF5bG9hZDpjfSksITA7dmFyIGQ9YS5tZXNzYWdlSGFuZGxlcnNbYl07cmV0dXJuIGQ/KGQucG9zdE1lc3NhZ2UoYyksITApOiExfTt2YXIgRUs9e30sRks9KEVLLmF3Yj17bm90Rm91bmQ6MTc4fSxFSy55dGI9e25vdEZvdW5kOjE5NH0sRUspO2Z1bmN0aW9uIEdLKGEpe3ZhciBiLGM9KGI9RktbYV0pPT1udWxsP3ZvaWQgMDpiLm5vdEZvdW5kO2MmJlAoYyl9CmZ1bmN0aW9uIEhLKGEpe2lmKCFubShqbS5iYS5qbikmJiJ3ZWJraXQiaW4gQSYmQS53ZWJraXQubWVzc2FnZUhhbmRsZXJzKXt2YXIgYj1mdW5jdGlvbigpe3RyeXtDSyhmdW5jdGlvbihjKXtpZihjKXt2YXIgZDtkPUJLKGMubWVzc2FnZUhhbmRsZXJzKXx8ImF3YiJpbiBjLm1lc3NhZ2VIYW5kbGVycz97Y29tbWFuZDoiYXdiIixzb3VyY2U6NX06KEJLKGMubWVzc2FnZUhhbmRsZXJzKXx8Inl0YiJpbiBjLm1lc3NhZ2VIYW5kbGVycykmJk0oNDk5KT97Y29tbWFuZDoieXRiIixzb3VyY2U6OH06dm9pZCAwO2QmJihtbShqbS5iYS5qbixmdW5jdGlvbihlKXt2YXIgZj1kLnNvdXJjZTtlLmdjbGlkJiZscygiZ2NsX2F3IixlLmdjbGlkLGYsYSk7ZS53YnJhaWQmJmxzKCJnY2xfZ2IiLGUud2JyYWlkLGYsYSl9KSxESyhjLGQuY29tbWFuZCl8fEdLKGQuY29tbWFuZCkpfX0pfWNhdGNoKGMpe1AoMTkzKX19O0hsKGZ1bmN0aW9uKCl7QnIoZnApP2IoKTpJbChiLGZwKX0sZnApfX07dmFyIElLPVsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly9tLnlvdXR1YmUuY29tIl07ZnVuY3Rpb24gSksoYSl7cmV0dXJuIGEuZGF0YS5hY3Rpb24hPT0iZ2NsX3RyYW5zZmVyIj8oUCgxNzMpLCEwKTphLmRhdGEuZ2FkU291cmNlP2EuZGF0YS5nY2xpZD8hMTooUCgxODEpLCEwKTooUCgxODApLCEwKX0KZnVuY3Rpb24gS0soYSxiKXtpZighYXx8TShhKSl7aWYobm0oam0uYmEuVmUpKXJldHVybiBQKDE3Niksam0uYmEuVmU7aWYobm0oam0uYmEubW4pKXJldHVybiBQKDE3MCksam0uYmEuVmU7dmFyIGM9RnAoKTtpZighYylQKDE3MSk7ZWxzZSBpZihjLm9wZW5lcil7dmFyIGQ9ZnVuY3Rpb24oZyl7aWYoIUlLLmluY2x1ZGVzKGcub3JpZ2luKSlQKDE3Mik7ZWxzZSBpZighSksoZykpe3ZhciBoPXtnYWRTb3VyY2U6Zy5kYXRhLmdhZFNvdXJjZX07aC5nY2xpZD1nLmRhdGEuZ2NsaWQ7bW0oam0uYmEuVmUsaCk7YiYmZy5kYXRhLmdjbGlkJiZscygiZ2NsX2F3IixTdHJpbmcoZy5kYXRhLmdjbGlkKSw2LGIpO3ZhciBsOyhsPWcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKT09bnVsbHx8bC5jYWxsKGcpO250KGMsIm1lc3NhZ2UiLGQpfX07aWYobXQoYywibWVzc2FnZSIsZCkpe21tKGptLmJhLm1uLCEwKTtmb3IodmFyIGU9bShJSyksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpYy5vcGVuZXIucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZ2NsX3NldHVwIn0sCmYudmFsdWUpO1AoMTc0KTtyZXR1cm4gam0uYmEuVmV9UCgxNzUpfX19Owp2YXIgTEs9ZnVuY3Rpb24oYSl7dmFyIGI9e3ByZWZpeDpPKGEuTSxGLkQuRmQpfHxPKGEuTSxGLkQubmIpLGRvbWFpbjpPKGEuTSxGLkQuTGIpLHBkOk8oYS5NLEYuRC5DYiksZmxhZ3M6TyhhLk0sRi5ELlRiKX07YS5NLmlzR3RtRXZlbnQmJihiLnBhdGg9TyhhLk0sRi5ELnZjKSk7cmV0dXJuIGJ9LE1LPWZ1bmN0aW9uKGEsYil7aWYoIVEoYSxILkouV2UpKXt2YXIgYz1LSygxMTkpO2lmKGMpe3ZhciBkPW5tKGMpLGU9ZnVuY3Rpb24oZyl7VihhLEguSi5XZSwhMCk7dmFyIGg9UihhLEYuRC56ZiksbD1SKGEsRi5ELkFmKTtVKGEsRi5ELnpmLFN0cmluZyhnLmdhZFNvdXJjZSkpO1UoYSxGLkQuQWYsNik7VihhLEguSi5zYSk7VihhLEguSi51Zyk7VShhLEYuRC5zYSk7YigpO1UoYSxGLkQuemYsaCk7VShhLEYuRC5BZixsKTtWKGEsSC5KLldlLCExKX07aWYoZCllKGQpO2Vsc2V7dmFyIGY9dm9pZCAwO2Y9cG0oYyxmdW5jdGlvbihnLGgpe2UoaCk7cW0oYyxmKX0pfX19fSxQSz1mdW5jdGlvbihhKXt2YXIgYiwKYyxkLGU7Yj1hLlRuO2M9YS5tbztkPWEuUW87ZT1hLlVuO2lmKGIpe2lmKGRyKGNbRi5ELlhmXSwhIWNbRi5ELkFhXSkpe2lmKFdqKCkmJkJyKEFyKCkpKXtmb3IodmFyIGY9VXEoITApLGc9e30saD1tKE9iamVjdC5rZXlzKHZyKSksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpe3ZhciBuPWwudmFsdWUscD12cltuXSxxPWZbcF07aWYocSl7dmFyIHI9JHAocSw0KTtyJiYob3MoTWF0aC5taW4oTnIociksTmIoKSl8fE5iKCkscCw0KXx8KGdbbl09cSkpfX1mb3IodmFyIHQ9e30sdT1tKE9iamVjdC5rZXlzKGcpKSx2PXUubmV4dCgpOyF2LmRvbmU7dj11Lm5leHQoKSl7dmFyIHg9di52YWx1ZSx5PWdbeF07aWYoeSE9PXZvaWQgMCl7dmFyIHo9JHAoeSw0KTt6JiZ6Lm09PT0iMSImJih0W3hdPXouayl9fUFLKHQsZSl9cHMoZSk7dHMoZSk7UXYoZSl9aWYoT3AoKSE9PTIpe2dzKGUpO2lzKGUpO2lmKFlmKDE1KSl7dmFyIEM9ZSxEPWRzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7CkQubGVuZ3RofHwoRD1kcyhBLmRvY3VtZW50LnJlZmVycmVyLCExLCEwKSk7aWYoRC5sZW5ndGgpe0M9Q3x8e307dmFyIEk9RFswXTtJLnZhbHVlJiZtcygiZ2NsX2RjIixbe3ZlcnNpb246IiIsZ2NsaWQ6SS52YWx1ZSx0aW1lc3RhbXA6TmIoKSxxYTpJLnFhfV0sQyl9fUhLKGUpO0tLKHZvaWQgMCxlKX1lbHNlIGdzKGUpO2lmKFdqKCkmJkJyKEFyKCkpKXt2YXIgRz1mcygpO0FLKEcsZSl9eHMocXMsZSk7eXMoZSl9Y1tGLkQuQWFdJiYodnMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSksdXMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksd3MoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksUnYoR3YoZS5wcmVmaXgpLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSksUnYoIkZQQVUiLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSkpO2QmJkFzKE5LKTtDcyhPSyl9LHFzPVsiYXciLCJkYyIsCiJnYiJdLE9LPVsiYXciLCJkYyIsImdiIiwiYWciXSxOSz1bImF3IiwiZGMiLCJnYiIsImFnIiwiZ2FkX3NvdXJjZSJdO2Z1bmN0aW9uIFZLKCl7cmV0dXJuIE10KDcpJiZNdCg5KSYmTXQoMTApfTt2YXIgV0s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXt9O2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5vaiwoZFtiXT1jLGQpKX0sWEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1kSShhLEYuRC5GaSxhLk0uaWJbRi5ELkZpXSk7aWYoYyYmY1tifHxhLmV2ZW50TmFtZV0hPT12b2lkIDApcmV0dXJuIGNbYnx8YS5ldmVudE5hbWVdfSxZSz1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLllhKTtpZihDZChiKSlyZXR1cm4gYn0sWks9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5iZSl8fCFlayhhLk0pKXJldHVybiAxO2lmKCFPKGEuTSxGLkQuZGQpKXt2YXIgYj1PKGEuTSxGLkQuUWYpO2lmKGIhPT0hMCYmYiE9PSJ0cnVlIilyZXR1cm4gMX12YXIgYz1PKGEuTSxGLkQuT2kpO3JldHVybiBjPT09ITF8fGM9PT0iZmFsc2UiPzM6Mn07CnZhciBhTD1mdW5jdGlvbihhLGIpe2EmJigkSygic2lkIixhLnRhcmdldElkLGIpLCRLKCJjYyIsYS5jbGllbnRDb3VudCxiKSwkSygidGwiLGEudG90YWxMaWZlTXMsYiksJEsoImhjIixhLmhlYXJ0YmVhdENvdW50LGIpLCRLKCJjbCIsYS5jbGllbnRMaWZlTXMsYikpfSwkSz1mdW5jdGlvbihhLGIsYyl7YiE9bnVsbCYmYy5wdXNoKGErIj0iK2IpfSxiTD1mdW5jdGlvbigpe3ZhciBhPUIucmVmZXJyZXI7aWYoYSl7dmFyIGI7cmV0dXJuIExqKFJqKGEpLCJob3N0Iik9PT0oKGI9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmIuaG9zdCk/MToyfXJldHVybiAwfSxkTD1mdW5jdGlvbigpe3RoaXMuamE9Y0w7dGhpcy5OPTA7dGhpcy55YT1OZig1Nyw1KTt0aGlzLlI9TmYoNTgsNTApO3RoaXMuZmE9RGIoKTt0aGlzLkxhPSJodHRwczovLyIrRSgyMSkrIi9hPyJ9O2RMLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjLGQpewp2YXIgZT1iTCgpLGYsZz1bXTtmPUE9PT1BLnRvcCYmZSE9PTAmJmI/KGI9PW51bGw/dm9pZCAwOmIuY2xpZW50Q291bnQpPjE/ZT09PTI/MToyOmU9PT0yPzA6Mzo0O2EmJiRLKCJzaSIsYS5KZyxnKTskSygibSIsMCxnKTskSygiaXNzIixmLGcpOyRLKCJpZiIsYyxnKTthTChiLGcpO2QmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGQuc3Vic3RyaW5nKDAsdGhpcy5SKSksZyk7dGhpcy5aKGcpO307ZEwucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bXTskSygibSIsMSxmKTskSygicyIsYSxmKTskSygicG8iLGJMKCksZik7YiYmKCRLKCJzdCIsYi5zdGF0ZSxmKSwkSygic2kiLGIuSmcsZiksJEsoInNtIixiLlVnLGYpKTthTChjLGYpOyRLKCJjIixkLGYpO2UmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKDAsCnRoaXMuUikpLGYpO3RoaXMuWihmKTt9O2RMLnByb3RvdHlwZS5aPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphOyFmbi5OfHx0aGlzLk4+PXRoaXMueWF8fCgkSygicGlkIix0aGlzLmZhLGEpLCRLKCJiYyIsKyt0aGlzLk4sYSksYS51bnNoaWZ0KCJjdGlkPSIrRSg1KSsiJnQ9cyIpLHRoaXMuamEoIiIrdGhpcy5MYSthLmpvaW4oIiYiKSkpfTtmdW5jdGlvbiBlTChhKXtyZXR1cm4gYS5wZXJmb3JtYW5jZSYmYS5wZXJmb3JtYW5jZS5ub3coKXx8RGF0ZS5ub3coKX0KdmFyIGZMPWZ1bmN0aW9uKGEsYil7dmFyIGM9QSxkPU5mKDUzLDUwMCksZT1OZig1NCw1RTMpLGY9TmYoOCwyMCksZz1OZig1NSw1RTMpLGg7dmFyIGw9ZnVuY3Rpb24obixwLHEpe3E9cT09PXZvaWQgMD97cW86ZnVuY3Rpb24oKXt9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbigpe30sb25GYWlsdXJlOmZ1bmN0aW9uKCl7fX06cTt0aGlzLklqPW47dGhpcy5IPXA7dGhpcy5OPXE7dGhpcy5mYT10aGlzLmphPXRoaXMuaGVhcnRiZWF0Q291bnQ9dGhpcy5Eaj0wO3RoaXMuZmU9ITE7dGhpcy5LPXt9O3RoaXMuaWQ9U3RyaW5nKE1hdGguZmxvb3IoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIqTWF0aC5yYW5kb20oKSkpO3RoaXMuc3RhdGU9MDt0aGlzLkpnPWVMKHRoaXMuSCk7dGhpcy5VZz1lTCh0aGlzLkgpO3RoaXMuWj0xMH07bC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuUigxKTsKdGhpcy5MYSgpfTtsLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybntzdGF0ZTp0aGlzLnN0YXRlLEpnOk1hdGgucm91bmQoZUwodGhpcy5IKS10aGlzLkpnKSxVZzpNYXRoLnJvdW5kKGVMKHRoaXMuSCktdGhpcy5VZyl9fTtsLnByb3RvdHlwZS5SPWZ1bmN0aW9uKG4pe3RoaXMuc3RhdGUhPT1uJiYodGhpcy5zdGF0ZT1uLHRoaXMuVWc9ZUwodGhpcy5IKSl9O2wucHJvdG90eXBlLnZnPWZ1bmN0aW9uKCl7cmV0dXJuIFN0cmluZyh0aGlzLkRqKyspfTtsLnByb3RvdHlwZS5MYT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dGhpcy5oZWFydGJlYXRDb3VudCsrO3RoaXMueWEoe3R5cGU6MCxjbGllbnRJZDp0aGlzLmlkLHJlcXVlc3RJZDp0aGlzLnZnKCksbWF4RGVsYXk6dGhpcy5oZSgpfSxmdW5jdGlvbihwKXtpZihwLnR5cGU9PT0wKXt2YXIgcTtpZigoKHE9cC5mYWlsdXJlKT09bnVsbD92b2lkIDA6cS5mYWlsdXJlVHlwZSkhPW51bGwpaWYocC5zdGF0cyYmKG4uc3RhdHM9CnAuc3RhdHMpLG4uZmErKyxwLmlzRGVhZHx8bi5mYT5mKXt2YXIgcj1wLmlzRGVhZCYmcC5mYWlsdXJlLmZhaWx1cmVUeXBlO24uWj1yfHwxMDtuLlIoNCk7bi5BaigpO3ZhciB0LHU7KHU9KHQ9bi5OKS5wbyk9PW51bGx8fHUuY2FsbCh0LHtmYWlsdXJlVHlwZTpyfHwxMCxkYXRhOnAuZmFpbHVyZS5kYXRhfSl9ZWxzZSBuLlIoMyksbi5QaCgpO2Vsc2V7aWYobi5oZWFydGJlYXRDb3VudD5wLnN0YXRzLmhlYXJ0YmVhdENvdW50K2Ype24uaGVhcnRiZWF0Q291bnQ9cC5zdGF0cy5oZWFydGJlYXRDb3VudDt2YXIgdix4Oyh4PSh2PW4uTikub25GYWlsdXJlKT09bnVsbHx8eC5jYWxsKHYse2ZhaWx1cmVUeXBlOjEzfSl9bi5zdGF0cz1wLnN0YXRzO3ZhciB5PW4uc3RhdGU7bi5SKDIpO2lmKHkhPT0yKWlmKG4uZmUpe3ZhciB6LEM7KEM9KHo9bi5OKS5zbyk9PW51bGx8fEMuY2FsbCh6KX1lbHNle24uZmU9ITA7dmFyIEQsSTsoST0oRD1uLk4pLnFvKT09bnVsbHx8SS5jYWxsKEQpfW4uZmE9CjA7bi5OaigpO24uUGgoKX19fSl9O2wucHJvdG90eXBlLmhlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0yP2U6ZH07bC5wcm90b3R5cGUuUGg9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuSC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5MYSgpfSxNYXRoLm1heCgwLHRoaXMuaGUoKS0oZUwodGhpcy5IKS10aGlzLmphKSkpfTtsLnByb3RvdHlwZS5rcj1mdW5jdGlvbihuLHAscSl7dmFyIHI9dGhpczt0aGlzLnlhKHt0eXBlOjEsY2xpZW50SWQ6dGhpcy5pZCxyZXF1ZXN0SWQ6dGhpcy52ZygpLGNvbW1hbmQ6bn0sZnVuY3Rpb24odCl7aWYodC50eXBlPT09MSlpZih0LnJlc3VsdClwKHQucmVzdWx0KTtlbHNle3ZhciB1LHYseCx5PXtmYWlsdXJlVHlwZTooeD0odT10LmZhaWx1cmUpPT1udWxsP3ZvaWQgMDp1LmZhaWx1cmVUeXBlKSE9bnVsbD94OjEyLGRhdGE6KHY9dC5mYWlsdXJlKT09bnVsbD92b2lkIDA6di5kYXRhfSx6LEM7KEM9KHo9ci5OKS5vbkZhaWx1cmUpPT0KbnVsbHx8Qy5jYWxsKHoseSk7cSh5KX19KX07bC5wcm90b3R5cGUueWE9ZnVuY3Rpb24obixwKXt2YXIgcT10aGlzO2lmKHRoaXMuc3RhdGU9PT00KW4uZmFpbHVyZT17ZmFpbHVyZVR5cGU6dGhpcy5afSxwKG4pO2Vsc2V7dmFyIHI9dGhpcy5zdGF0ZSE9PTImJm4udHlwZSE9PTAsdD1uLnJlcXVlc3RJZCx1LHY9dGhpcy5ILnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgeT1xLktbdF07eSYmKGltKDYpLHEua2QoeSw3KSl9LCh1PW4ubWF4RGVsYXkpIT1udWxsP3U6ZykseD17cmVxdWVzdDpuLEhvOnAsem86cixOczp2fTt0aGlzLktbdF09eDtyfHx0aGlzLnNlbmRSZXF1ZXN0KHgpfX07bC5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24obil7dGhpcy5qYT1lTCh0aGlzLkgpO24uem89ITE7dGhpcy5JaihuLnJlcXVlc3QpfTtsLnByb3RvdHlwZS5Oaj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT0KdGhpcy5LW3AudmFsdWVdO3Euem8mJnRoaXMuc2VuZFJlcXVlc3QocSl9fTtsLnByb3RvdHlwZS5Baj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXRoaXMua2QodGhpcy5LW3AudmFsdWVdLHRoaXMuWil9O2wucHJvdG90eXBlLmtkPWZ1bmN0aW9uKG4scCl7dGhpcy5hYyhuKTt2YXIgcT1uLnJlcXVlc3Q7cS5mYWlsdXJlPXtmYWlsdXJlVHlwZTpwfTtuLkhvKHEpfTtsLnByb3RvdHlwZS5hYz1mdW5jdGlvbihuKXtkZWxldGUgdGhpcy5LW24ucmVxdWVzdC5yZXF1ZXN0SWRdO3RoaXMuSC5jbGVhclRpbWVvdXQobi5Ocyl9O2wucHJvdG90eXBlLmtzPWZ1bmN0aW9uKG4pe3RoaXMuamE9ZUwodGhpcy5IKTt2YXIgcD10aGlzLktbbi5yZXF1ZXN0SWRdO2lmKHApdGhpcy5hYyhwKSxwLkhvKG4pO2Vsc2V7dmFyIHEscjsocj0ocT10aGlzLk4pLm9uRmFpbHVyZSk9PW51bGx8fHIuY2FsbChxLHtmYWlsdXJlVHlwZToxNH0pfX07Cmg9bmV3IGwoYSxjLGIpO3JldHVybiBofTsKdmFyIGdMPWZ1bmN0aW9uKCl7cmV0dXJuIGFsKDE4LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBkTH0pfSxjTD1mdW5jdGlvbihhKXtpbyhsbyhjby5pYS5aYiksZnVuY3Rpb24oKXtaYyhhKX0pfSxoTD1mdW5jdGlvbihhKXt2YXIgYj1hLnN1YnN0cmluZygwLGEuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIiKSk7cmV0dXJuIiYxcD0xIisoYj8iJnBhdGg9IitlbmNvZGVVUklDb21wb25lbnQoYik6IiIpfSxpTD1mdW5jdGlvbihhKXt2YXIgYj1BLmxvY2F0aW9uLm9yaWdpbjtpZighYilyZXR1cm4gbnVsbDsoTSg0MzIpP1dqKCk6V2ooKSYmIWEpJiYoYT0iIitiK1hqKCkrIi9fL3NlcnZpY2Vfd29ya2VyIik7dmFyIGM9YSxkLGU9TGYoMTEpO2U9TGYoMTApO2Q9ZTtjPyhjLmNoYXJBdChjLmxlbmd0aC0xKSE9PSIvIiYmCihjKz0iLyIpLGE9YytkKTphPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9zdGF0aWMvc2VydmljZV93b3JrZXIvIitkKyIvIjt2YXIgZjt0cnl7Zj1uZXcgVVJMKGEpfWNhdGNoKGcpe3JldHVybiBudWxsfXJldHVybiBmLnByb3RvY29sIT09Imh0dHBzOiI/bnVsbDpmfSxqTD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5PaCk7cmV0dXJuIGImJmJbYV19LGtMPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dGhpcy5LPWdMKCk7dGhpcy5aPXRoaXMuUj0hMTt0aGlzLmZhPW51bGw7dGhpcy5pbml0VGltZT1NYXRoLnJvdW5kKE5iKCkpO3RoaXMuSD0xNTt0aGlzLk49dGhpcy5GcihhKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmluaXRpYWxpemUoKX0sMUUzKTtiZChmdW5jdGlvbigpe2IuenMoYSl9KX07az1rTC5wcm90b3R5cGU7ay5kZWxlZ2F0ZT1mdW5jdGlvbihhLGIsYyl7dGhpcy5nZXRTdGF0ZSgpIT09Mj8odGhpcy5LLkgodGhpcy5ILHtzdGF0ZTp0aGlzLmdldFN0YXRlKCksCkpnOnRoaXMuaW5pdFRpbWUsVWc6TWF0aC5yb3VuZChOYigpKS10aGlzLmluaXRUaW1lfSx2b2lkIDAsYS5jb21tYW5kVHlwZSksYyh7ZmFpbHVyZVR5cGU6dGhpcy5IfSkpOnRoaXMuTi5rcihhLGIsYyl9O2suZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OLmdldFN0YXRlKCkuc3RhdGV9O2suenM9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5vcmlnaW4sYz10aGlzLGQ9WGMoKTt0cnl7dmFyIGU9ZC5jb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksZj1hLnBhdGhuYW1lLGc9ZltmLmxlbmd0aC0xXT09PSIvIj9hLnRvU3RyaW5nKCk6YS50b1N0cmluZygpKyIvIixoPWEub3JpZ2luIT09Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIj9oTChmKToiIixsO00oMTMzKSYmKGw9e3NhbmRib3g6ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMifSk7WGMoZysic3dfaWZyYW1lLmh0bWw/b3JpZ2luPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKwpoLHZvaWQgMCxsLHZvaWQgMCxlKTt2YXIgbj1mdW5jdGlvbigpe2QuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSk7ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2MuZmE9ZS5jb250ZW50V2luZG93O2QuY29udGVudFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihwKXtwLm9yaWdpbj09PWEub3JpZ2luJiZjLk4ua3MocC5kYXRhKX0pO2MuaW5pdGlhbGl6ZSgpfSl9O2QuY29udGVudERvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiP24oKTpkLmNvbnRlbnRXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtuKCl9KX1jYXRjaChwKXtkLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZCksdGhpcy5IPTExLHRoaXMuSy5LKHZvaWQgMCx2b2lkIDAsdGhpcy5ILHAudG9TdHJpbmcoKSl9fTtrLkZyPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1mTChmdW5jdGlvbihkKXt2YXIgZTsoZT1iLmZhKT09Cm51bGx8fGUucG9zdE1lc3NhZ2UoZCxhLm9yaWdpbil9LHtxbzpmdW5jdGlvbigpe2IuUj0hMDtiLksuSyhjLmdldFN0YXRlKCksYy5zdGF0cyl9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbihkKXtiLlI/KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDEwLGIuSy5IKGIuSCxjLmdldFN0YXRlKCksYy5zdGF0cyx2b2lkIDAsZD09bnVsbD92b2lkIDA6ZC5kYXRhKSk6KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDQsYi5LLksoYy5nZXRTdGF0ZSgpLGMuc3RhdHMsYi5ILGQ9PW51bGw/dm9pZCAwOmQuZGF0YSkpfSxvbkZhaWx1cmU6ZnVuY3Rpb24oZCl7Yi5IPWQuZmFpbHVyZVR5cGU7Yi5LLkgoYi5ILGMuZ2V0U3RhdGUoKSxjLnN0YXRzLGQuY29tbWFuZCxkLmRhdGEpfX0pO3JldHVybiBjfTtrLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt0aGlzLlp8fHRoaXMuTi5pbml0KCk7dGhpcy5aPSEwfTsKdmFyIGxMPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO2lmKChlPWpMKGEpKT09bnVsbHx8IWUuZGVsZWdhdGUpe3ZhciBmPUljKCk/MTY6NjtnTCgpLkgoZix2b2lkIDAsdm9pZCAwLGIuY29tbWFuZFR5cGUpO2Qoe2ZhaWx1cmVUeXBlOmZ9KTtyZXR1cm59akwoYSkuZGVsZWdhdGUoYixjLGQpO307CmZ1bmN0aW9uIG1MKGEsYixjLGQpe3ZhciBlPWlMKGEpO2lmKGU9PT1udWxsKXtkKCJfaXNfc3c9ZiIrKEljKCk/MTY6NikrInRlIik7cmV0dXJufXZhciBmPWI/MTowLGc9TWF0aC5yb3VuZChOYigpKSxoLGw9KGg9akwoZS5vcmlnaW4pKT09bnVsbD92b2lkIDA6aC5pbml0VGltZSxuPWw/Zy1sOnZvaWQgMCxwO00oNDMyKT9wPVdqKCk/dm9pZCAwOkEubG9jYXRpb24uaHJlZjpwPUEubG9jYXRpb24uaHJlZjtsTChlLm9yaWdpbix7Y29tbWFuZFR5cGU6MCxwYXJhbXM6e3VybDphLG1ldGhvZDpmLHRlbXBsYXRlczpjLGJvZHk6Ynx8IiIscHJvY2Vzc1Jlc3BvbnNlOiEwLHNpbmNlSW5pdDpuLGF0dHJpYnV0aW9uUmVwb3J0aW5nOiEwLHJlZmVyZXI6cCxzdHJpY3Q6TSg1ODQpfX0sZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKHEpe3ZhciByPSJfaXNfc3c9ZiIrcS5mYWlsdXJlVHlwZSx0LHU9KHQ9akwoZS5vcmlnaW4pKT09Cm51bGw/dm9pZCAwOnQuZ2V0U3RhdGUoKTt1IT09dm9pZCAwJiYocis9InMiK3UpO2Qobj9yKygidCIrbik6cisidGUiKX0pO307ZnVuY3Rpb24gbkwoYSl7aWYoSWYoNDcpJiZkSShhLCJjY2RfYWRkXzFwX2RhdGEiLCExKSYmV2ooKSl7dmFyIGI9YS5NO2lmKEljKCkmJmJnKCJpbnRlcm5hbF9zd19hbGxvd2VkIiwiIikpe3ZhciBjPWVrKGIpLGQ9V2ooKT9YaigpOnZvaWQgMCxlO2U9ZD97cGF0aDpkLGVvOiJmdWxsIn06Yz97cGF0aDpjLGVvOiJsaXRlIn06dm9pZCAwO2lmKGUpe3ZhciBmPWUuZW8sZz1uZXcgVVJMKGUucGF0aCxBLmxvY2F0aW9uLm9yaWdpbik7aWYoZy5vcmlnaW49PT1BLmxvY2F0aW9uLm9yaWdpbiYmcHkoZik9PT12b2lkIDApe3ZhciBoPW9tKGptLmJhLk9oLHt9KTtoW2ZdfHwoaFtmXT1uZXcgbnkoZykpfX19fX07ZnVuY3Rpb24gc0woKXt2YXIgYTthPWE9PT12b2lkIDA/ZG9jdW1lbnQ6YTt2YXIgYjtyZXR1cm4hKChiPWEuZmVhdHVyZVBvbGljeSk9PW51bGx8fCFiLmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKSl9O2Z1bmN0aW9uIHdMKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlPUZwKCksZj1EcChlKTtpZihmLnVybClpZihkKXt2YXIgZz1jKGYudXJsKTtiIT09ZyYmVShhLEYuRC5QZSxnKX1lbHNle3ZhciBoPWYudXJsO2IhPT1oJiZVKGEsRi5ELlBlLGMoaCkpfX07CnZhciB4TD1mdW5jdGlvbihhKXtpZihhIT1udWxsKXt2YXIgYj1TdHJpbmcoYSkuc3Vic3RyaW5nKDAsNTEyKSxjPWIuaW5kZXhPZigiIyIpO3JldHVybiBjPT09LTE/YjpiLnN1YnN0cmluZygwLGMpfXJldHVybiIifSx5TD1mdW5jdGlvbigpe3ZhciBhPUIudGl0bGU7aWYoYT09PXZvaWQgMHx8YT09PSIiKXJldHVybiIiO2E9ZW5jb2RlVVJJQ29tcG9uZW50KGEpO2Zvcih2YXIgYj0yNTY7Yj4wJiZLaihhLnN1YnN0cmluZygwLGIpKT09PXZvaWQgMDspYi0tO3JldHVybiBLaihhLnN1YnN0cmluZygwLGIpKXx8IiJ9O2Z1bmN0aW9uIEFMKGEpe1YoYSxILkouSmEsITApO1YoYSxILkouRWIsTmIoKSk7VihhLEguSi55bixhLk0uZXZlbnRNZXRhZGF0YVtILkouSmFdKX07dmFyIFNMPWZ1bmN0aW9uKGEpe3ZhciBiPVhvKEYuRC5rYSk/bWooInBzY2RsIik6ImRlbmllZCI7YiE9bnVsbCYmVShhLEYuRC5qaCxiKX07dmFyIFRMPW5ldyBmdW5jdGlvbigpe3RoaXMuSD17fX07dmFyIFVMPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5NO2lmKGI9PT12b2lkIDA/MDpiKXt2YXIgZD1jLmdldE1lcmdlZFZhbHVlcyhGLkQuT2EpO1liKGQpJiZVKGEsRi5ELkxpLFliKGQpKX12YXIgZT1PbyhmRChGLkQuT2EpKSxmPWMuZ2V0TWVyZ2VkVmFsdWVzKEYuRC5PYSwxLGUpLGc9Yy5nZXRNZXJnZWRWYWx1ZXMoRi5ELk9hLDIpLGg9WWIobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxmLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sVEwuSCkpLCIuIiksbD1ZYihnLCIuIik7aCYmVShhLEYuRC5YYyxoKTtsJiZVKGEsRi5ELlZjLGwpfTt2YXIgVkw9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi50cSk7YiYmVShhLEYuRC5JbCxiKX07ZnVuY3Rpb24gV0woYSl7dmFyIGI9S0IoITEpO2lmKGIhPW51bGwmJmIuc3RhdHVzKXt2YXIgYz17Z3RiOmIuc3RhdHVzfTtiLmRlbGF5JiYoYy5ndGJkPWIuZGVsYXkpO2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxjKX19O3ZhciBYTD1mdW5jdGlvbihhKXt6bSgpPT09IlVTLUNPIiYmVShhLEYuRC5MZSwxKX07dmFyIFlMPXtSYTp7Q2s6MSx6bjoyLEhuOjMsSW46NCxKbjo1LHduOjZ9fTtZTC5SYVtZTC5SYS5Da109IkFET0JFX0NPTU1FUkNFIjtZTC5SYVtZTC5SYS56bl09IlNRVUFSRVNQQUNFIjtZTC5SYVtZTC5SYS5Ibl09IldPT19DT01NRVJDRSI7WUwuUmFbWUwuUmEuSW5dPSJXT09fQ09NTUVSQ0VfTEVHQUNZIjtZTC5SYVtZTC5SYS5Kbl09IldPUkRfUFJFU1MiO1lMLlJhW1lMLlJhLnduXT0iU0hPUElGWSI7ZnVuY3Rpb24gWkwoYSl7dmFyIGI9QTtyZXR1cm4gS2ooYi5lc2NhcGUoYi5hdG9iKGEpKSl9CmZ1bmN0aW9uICRMKCl7dHJ5e2lmKCFNKDQ5OCkmJiFNKDQyNSkpcmV0dXJuW107dmFyIGE9bm0oam0uYmEubG4pO2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE7dmFyIGI9W10sYzthOnt0cnl7Yz0hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W2RhdGEtcmVxdWlyZW1vZHVsZV49Im1hZ2UvIl0nKTticmVhayBhfWNhdGNoKHkpe31jPSExfWMmJmIucHVzaChZTC5SYS5Dayk7dmFyIGQ7YTp7dHJ5e3ZhciBlPVpMKCJZWE56WlhSekxuTnhkV0Z5WlhOd1lXTmxMbU52YlM4PSIpO2Q9ZT8hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyY149Ii8vJytlKyciXScpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fWQ9ITF9ZCYmYi5wdXNoKFlMLlJhLnpuKTt2YXIgZjthOntpZihNKDQyNSkpdHJ5e3ZhciBnPVpMKCJjMmh2Y0dsbWVTNWpiMjA9IiksaD1aTCgiYzJodmNHbG1lV05rYmk1amIyMD0iKTtmPWcmJmg/ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJjZG4uJytnKyciXSxtZXRhW3Byb3BlcnR5PSJvZzppbWFnZSJdW2NvbnRlbnQqPSJjZG4uJysKKGcrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9ImNkbi4nKSsoZysnIl0sbGlua1tyZWw9InByZWNvbm5lY3QiXVtocmVmKj0iZm9udHMuJykrKGgrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9Iml0ZXJhYmxlLXNob3BpZnkiXSxsaW5rW3JlbD0icHJlY29ubmVjdCJdW2hyZWYqPSJ2LicpKyhnKyciXScpKTohMTticmVhayBhfWNhdGNoKHkpe31mPSExfWYmJmIucHVzaChZTC5SYS53bik7dmFyIGw7YTp7dHJ5e2w9ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJ3b29jb21tZXJjZSJdLGxpbmtbaHJlZio9Indvb2NvbW1lcmNlIl0sW2NsYXNzfD0id29vY29tbWVyY2UiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fWw9ITF9bCYmYi5wdXNoKFlMLlJhLkluKTt2YXIgbjthOnt0cnl7dmFyIHAscT0oKHA9Qi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOnAuaG9zdG5hbWUpfHwiIixyLHQ9KChyPUIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpyLm9yaWdpbil8fAoiIix1PVpMKCJMbmR2Y21Sd2NtVnpjeTVqYjIwPSIpLHY9WkwoIkx5OXpMbmN1YjNKbiIpO249dSYmdj9UYihxLHUpfHwhIUIucXVlcnlTZWxlY3RvcignW3NyY149IicrdCsnL3dwLWNvbnRlbnQiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb3JkUHJlc3MgIl0sbGlua1tyZWw9ImRucy1wcmVmZXRjaCJdW2hyZWY9IicrKHYrJyJdJykpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fW49ITF9biYmYi5wdXNoKFlMLlJhLkpuKTt2YXIgeDthOnt0cnl7eD0hIUIucXVlcnlTZWxlY3RvcignW2NsYXNzKj0id29vY29tbWVyY2UiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb29Db21tZXJjZSAiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fXg9ITF9eCYmYi5wdXNoKFlMLlJhLkhuKTtVQigpJiZtbShqbS5iYS5sbixiKTtyZXR1cm4gYn1jYXRjaCh5KXt9cmV0dXJuW119O2Z1bmN0aW9uIHdNKGEpe2lmKE0oNDI1KSYmUShhLEguSi5GYykpe3ZhciBiPU5mKDY3LDE1MDApLGM9YS5tZXJnZUhpdERhdGFGb3JLZXksZD1GLkQuVGEsZT17fTtjLmNhbGwoYSxkLGUpfX07dmFyIHhNPSJwbGF0Zm9ybSBwbGF0Zm9ybVZlcnNpb24gYXJjaGl0ZWN0dXJlIG1vZGVsIHVhRnVsbFZlcnNpb24gYml0bmVzcyBmdWxsVmVyc2lvbkxpc3Qgd293NjQiLnNwbGl0KCIgIik7ZnVuY3Rpb24geU0oYSl7dmFyIGI7cmV0dXJuKGI9YS5nb29nbGVfdGFnX2RhdGEpIT1udWxsP2I6YS5nb29nbGVfdGFnX2RhdGE9e319ZnVuY3Rpb24gek0oYSl7dmFyIGIsYztyZXR1cm4oYz0oYj1hLmdvb2dsZV90YWdfZGF0YSk9PW51bGw/dm9pZCAwOmIudWFjaF9wcm9taXNlKSE9bnVsbD9jOm51bGx9ZnVuY3Rpb24gQU0oYSl7dmFyIGIsYztyZXR1cm4gdHlwZW9mKChiPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6KGM9Yi51c2VyQWdlbnREYXRhKT09bnVsbD92b2lkIDA6Yy5nZXRIaWdoRW50cm9weVZhbHVlcyk9PT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBCTShhKXtpZighQU0oYSkpcmV0dXJuIG51bGw7dmFyIGI9eU0oYSk7aWYoYi51YWNoX3Byb21pc2UpcmV0dXJuIGIudWFjaF9wcm9taXNlO3ZhciBjPWEubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMoeE0pLnRoZW4oZnVuY3Rpb24oZCl7Yi51YWNoIT1udWxsfHwoYi51YWNoPWQpO3JldHVybiBkfSk7cmV0dXJuIGIudWFjaF9wcm9taXNlPWN9Owp2YXIgQ009ZnVuY3Rpb24oKXt0aGlzLndpbmRvdz1BO3RoaXMuTj1OYn07Q00ucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtpZihBTSh0aGlzLndpbmRvdykmJih0aGlzLlo9dGhpcy5OKCksIXpNKHRoaXMud2luZG93KSkpe3ZhciBhPUJNKHRoaXMud2luZG93KTthJiZhLnRoZW4oZnVuY3Rpb24oKXtQKDk1KX0pLmNhdGNoKGZ1bmN0aW9uKCl7UCg5Nil9KX19O0NNLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy53aW5kb3cuZ29vZ2xlX3RhZ19kYXRhLGI7aWYoYSE9bnVsbCYmYS51YWNoKXt2YXIgYz1hLnVhY2gsZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGMpO2MuZnVsbFZlcnNpb25MaXN0JiYoZC5mdWxsVmVyc2lvbkxpc3Q9Yy5mdWxsVmVyc2lvbkxpc3Quc2xpY2UoMCkpO2I9ZH1lbHNlIGI9bnVsbDtyZXR1cm4gYn07Q00ucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz10aGlzLGQ9ZnVuY3Rpb24oaCxsKXt0cnl7YShoLGwpfWNhdGNoKG4pe319LAplPXRoaXMuSCgpO2lmKGUpZChlKTtlbHNle3ZhciBmPXpNKHRoaXMud2luZG93KTtpZihmKXtiPU1hdGgubWluKE1hdGgubWF4KGlzRmluaXRlKGIpP2I6MCwwKSwxRTMpO3ZhciBnPXRoaXMud2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLktnfHwoZC5LZz0hMCxQKDEwNiksZChudWxsLEVycm9yKCJUaW1lb3V0IikpKX0sYik7Zi50aGVuKGZ1bmN0aW9uKGgpe2QuS2d8fChkLktnPSEwLFAoMTA0KSxjLndpbmRvdy5jbGVhclRpbWVvdXQoZyksZChoKSl9KS5jYXRjaChmdW5jdGlvbihoKXtkLktnfHwoZC5LZz0hMCxQKDEwNSksYy53aW5kb3cuY2xlYXJUaW1lb3V0KGcpLGQobnVsbCxoKSl9KX1lbHNlIGQobnVsbCl9fTtDTS5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlohPT12b2lkIDB9O3ZhciBETT1mdW5jdGlvbigpe3ZhciBhO2E9YT09PXZvaWQgMD9BOmE7cmV0dXJuIEFNKGEpfSxFTT1mdW5jdGlvbihhKXt2YXIgYj17fTtiW0YuRC5jZ109YS5hcmNoaXRlY3R1cmU7CmJbRi5ELmRnXT1hLmJpdG5lc3M7YS5mdWxsVmVyc2lvbkxpc3QmJihiW0YuRC5lZ109YS5mdWxsVmVyc2lvbkxpc3QubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoYy5icmFuZHx8IiIpKyI7IitlbmNvZGVVUklDb21wb25lbnQoYy52ZXJzaW9ufHwiIil9KS5qb2luKCJ8IikpO2JbRi5ELmZnXT1hLm1vYmlsZT8iMSI6IjAiO2JbRi5ELmdnXT1hLm1vZGVsO2JbRi5ELmhnXT1hLnBsYXRmb3JtO2JbRi5ELmlnXT1hLnBsYXRmb3JtVmVyc2lvbjtiW0YuRC5qZ109YS53b3c2ND8iMSI6IjAiO3JldHVybiBifSxGTT1uZXcgQ007dmFyIEdNPWZ1bmN0aW9uKGEpe2lmKCFETSgpKVAoODcpO2Vsc2UgaWYoRk0uSygpKXtQKDg1KTt2YXIgYj1GTS5IKCk7aWYoYil7aWYoYilmb3IodmFyIGM9RU0oYiksZD1tKE9iamVjdC5rZXlzKGMpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtVKGEsZixjW2ZdKX19ZWxzZSBQKDg2KX19O2Z1bmN0aW9uIEhNKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9UShhLEguSi5zZyksZD1kSShhLCJjdXN0b21fZXZlbnRfYWNjZXB0X3J1bGVzIiwhMSkmJiFiO2lmKGMpe3ZhciBlPWMuaW5kZXhPZihhLnRhcmdldC5kZXN0aW5hdGlvbklkKT49MCxmPSEwO1EoYSxILkouQ2MpJiYoZj1RKGEsSC5KLk5iKT09PXZrKCkpO2UmJmY/VihhLEguSi5raSwhMCk6KFYoYSxILkoua2ksITEpLGR8fChhLmlzQWJvcnRlZD0hMCkpO2lmKGEuY2FuQmVBY2NlcHRlZCgpKXt2YXIgZz11aygpLmluZGV4T2YoYS50YXJnZXQuZGVzdGluYXRpb25JZCk+PTAsaD0hMTtpZighZyl7dmFyIGwsbj0obD1uayhhLnRhcmdldC5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOmwuY2Fub25pY2FsQ29udGFpbmVySWQ7biYmKGg9dmsoKT09PW4pfWd8fGg/UShhLEguSi5raSkmJmEuYWNjZXB0KCk6YS5pc0Fib3J0ZWQ9ITB9ZWxzZSBhLmlzQWJvcnRlZD0hMH19O3ZhciBJTT1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpLGM9TyhhLk0sRi5ELlljKTtiJiYhYz8oYS5ldmVudE5hbWUhPT1GLkQud2EmJmEuZXZlbnROYW1lIT09Ri5ELnlmJiZQKDEzMSksYS5pc0Fib3J0ZWQ9ITApOiFiJiZjJiYoUCgxMzIpLGEuaXNBYm9ydGVkPSEwKX07dmFyIEpNPWZ1bmN0aW9uKGEpe2lmKGEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1JZigxMSksYz1RKGEsSC5KLkhxKTshKCFNKDU1MCkmJmJ8fGMpfHxhLnRhcmdldC5KYygpfHxZRygiaWRjX2NvbmZpZ19wdiIsYS50YXJnZXQuZGVzdGluYXRpb25JZCl8fChhLmlzQWJvcnRlZD0hMCl9fTt2YXIgTE09ZnVuY3Rpb24oYSxiKXtLTS5OKGEsYil9LE1NPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fTtNTS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuSFthXTtjfHwoYz10aGlzLkhbYV09W10pO2MucHVzaChiKX07TU0ucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5IW2EudGFyZ2V0LmRlc3RpbmF0aW9uSWRdO2lmKCFhLmlzQWJvcnRlZCYmYilmb3IodmFyIGM9ZkkoYSksZD0wO2Q8Yi5sZW5ndGg7KytkKXt0cnl7YltkXShjKX1jYXRjaChlKXthLmlzQWJvcnRlZD0hMH1pZihhLmlzQWJvcnRlZClicmVha319O3ZhciBLTT1uZXcgTU07dmFyIE5NPWZ1bmN0aW9uKGEpe0tNLksoYSk7fTt2YXIgT009ZnVuY3Rpb24oYSl7YSYmKEFwKDQ5NSxhKSxBcCg1NjcsYSksQXAoNDUwLGEpLEFwKDQ0MyxhKSxBcCg1ODcsYSksQXAoNTc2LGEpLEFwKDU3MCxhKSxBcCg1ODEsYSksQXAoNjAyLGEpKX0sUE09ZnVuY3Rpb24oYSl7aWYoUShhLEguSi53ZikmJlhvKGZwKSl7dmFyIGI9UShhLEguSi5HYSksYz1RKGEsSC5KLmRhKSE9PVguVi51YiYmUShhLEguSi5kYSkhPT1YLlYuT2ImJlEoYSxILkouZGEpIT09WC5WLkZiJiZhLmV2ZW50TmFtZSE9PUYuRC5KYjtIdihiLGMpO3ZhciBkPUR2W0d2KGIucHJlZml4KV07T00oZCk7VShhLEYuRC5FZCxkKX19O2Z1bmN0aW9uIFFNKCl7cmV0dXJuIGtqKCJkZWR1cGVfZ2NsaWQiLGZ1bmN0aW9uKCl7cmV0dXJuIEF2KCl9KX07dmFyIFJNPS9eKHd3d1wuKT9nb29nbGUoXC5jb20/KT8oXC5bYS16XXsyfXQ/KT8kLyxTTT0vXnd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSQvO2Z1bmN0aW9uIFRNKGEpe2F8fChhPVVNKCkpO3JldHVybiBhLk50PyExOmEubnN8fGEucXN8fGEudnN8fGEucnN8fGEuRGd8fGEuVGh8fGEuVHJ8fGEuVmg9PT0iYXcuZHMifHxNKDIzNSkmJmEuVmg9PT0iYXcuZHYifHxhLllyPyEwOiExfQpmdW5jdGlvbiBVTSgpe3ZhciBhPXt9LGI9VXEoITApO2EuTnQ9ISFiLl91cDt2YXIgYz1lcygpLGQ9YXQoKTthLm5zPWMuYXchPT12b2lkIDA7YS5xcz1jLmRjIT09dm9pZCAwO2EudnM9Yy53YnJhaWQhPT12b2lkIDA7YS5ycz1jLmdicmFpZCE9PXZvaWQgMDthLlZoPXR5cGVvZiBjLmdjbHNyYz09PSJzdHJpbmciP2MuZ2Nsc3JjOnZvaWQgMDthLkRnPWQuRGc7YS5UaD1kLlRoO3ZhciBlPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjthLllyPVJNLnRlc3QoZSk7YS5Ucj1TTS50ZXN0KGUpO3JldHVybiBhfTtmdW5jdGlvbiBWTSgpe3ZhciBhPUEuX191c3BhcGk7aWYoeWIoYSkpe3ZhciBiPSIiO3RyeXthKCJnZXRVU1BEYXRhIiwxLGZ1bmN0aW9uKGMsZCl7aWYoZCYmYyl7dmFyIGU9Yy51c3BTdHJpbmc7ZSYmUmVnRXhwKCJeW1xcZGEtekEtWi1dezEsMjB9JCIpLnRlc3QoZSkmJihiPWUpfX0pfWNhdGNoKGMpe31yZXR1cm4gYn19Owp2YXIgV009ZnVuY3Rpb24oYSl7dmFyIGI9WG8oZnApO1YoYSxILkouWWUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExJiYhYik7dmFyIGM9UShhLEguSi5kaiksZD1PKGEuTSxGLkQudWMpIT09ITEsZT1MSyhhKTtkfHxVKGEsRi5ELkhkLCIxIik7dmFyIGY9SHIoZS5wcmVmaXgpLGc9UShhLEguSi5zYSl8fFEoYSxILkoudWcpfHxRKGEsSC5KLldlKTtjfHxnfHxVKGEsIl8mYXB2YyIsIjAiKTthLk0uaXNHdG1FdmVudCYmVShhLEYuRC5JbCwiZyIpO1UoYSxGLkQuRWQpO1UoYSxGLkQuTWIpO2lmKGImJihVKGEsRi5ELk1iLHlMKCkpLGQpKXtIdihlKTt2YXIgaD1EdltHdihlLnByZWZpeCldO1UoYSxGLkQuRWQsaCk7T00oaCl9aWYoYS5ldmVudE5hbWU9PT1GLkQud2EmJiFnKXt2YXIgbD1PKGEuTSxGLkQuemMpLG49TyhhLk0sRi5ELkRiKXx8e307UEsoe1RuOmQsbW86bixRbzpsLFVuOmV9KTshYyYmWXMoZikmJihWKGEsSC5KLnZkLCEwKSxVKGEsIl8mYXB2YyIsCiIxIikpfWlmKGMpYS5pc0Fib3J0ZWQ9ITA7ZWxzZXthLnRhcmdldC5kZXN0aW5hdGlvbklkJiZVKGEsRi5ELlFlLGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO1UoYSxGLkQuVWIsYS5ldmVudE5hbWUpO2EuZXZlbnROYW1lPT09Ri5ELndhJiZVKGEsRi5ELlViLEYuRC5zYyk7aWYoUShhLEguSi5zYSkpVShhLEYuRC5VYixGLkQud3ApLFUoYSxGLkQuc2EsIjEiKTtlbHNlIGlmKFEoYSxILkoudWcpKVUoYSxGLkQuVWIsRi5ELkhwKTtlbHNlIGlmKFEoYSxILkouV2UpKVUoYSxGLkQuVWIsRi5ELkVwKTtlbHNle3ZhciBwPWVzKCk7VShhLEYuRC5EZCxwLmdjbGlkKTtVKGEsRi5ELktkLHAuZGNsaWQpO1UoYSxGLkQuQWwscC5nY2xzcmMpO2lmKCFSKGEsRi5ELkRkKSYmIVIoYSxGLkQuS2QpfHxNKDQyMSkpVShhLEYuRC5FZSxwLndicmFpZCksVShhLEYuRC5CZixwLmdicmFpZCk7dmFyIHE9TSg1ODkpLHI9ZnVuY3Rpb24oZmEpe3JldHVybiBmYS5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpfSwKdD0hIU8oYS5NLEYuRC56YSksdT1xP3Q/ZnVuY3Rpb24oZmEpe3JldHVybiB4TChyKGZhKSl9OmZ1bmN0aW9uKGZhKXtyZXR1cm4geEwoZmEucmVwbGFjZSgvIy4qJC8sIiIpKX06cix2PWJ0KHUpO1UoYSxGLkQuemEsdik7dmFyIHg9ISFPKGEuTSxGLkQuVWEpLHk9Qi5yZWZlcnJlcjtVKGEsRi5ELlVhLHE/eD9yKHkpOnkucmVwbGFjZSgvIy4qJC8sIiIpOkIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIik7d0woYSx2LHUsITApO2lmKEtjKXt2YXIgej1MaihSaihLYyksImhvc3QiKTt6JiZVKGEsRi5ELmJtLHopfWlmKCFRKGEsSC5KLldlKSl7dmFyIEM9YXQoKTtVKGEsRi5ELnpmLEMuRGcpO1UoYSxGLkQuQWYsQy5Tcil9dmFyIEQ9VU0oKTtUTShEKSYmVShhLEYuRC5QZCwiMSIpO1UoYSxGLkQuRGwsUU0oKSk7VXEoITEpLl91cD09PSIxIiYmVShhLEYuRC5RbCwiMSIpfXdvLkg9ITA7VShhLEYuRC5TYik7VShhLEYuRC5sYik7aWYoTSg0MjEpKXt2YXIgST1GcihlKTsKSS5sZW5ndGg+MCYmVShhLEYuRC5TYixJLmpvaW4oIi4iKSk7dmFyIEc9RHIoZisiX2F3Iik7Ry5sZW5ndGg+MCYmVShhLEYuRC5sYixHLmpvaW4oIi4iKSl9ZWxzZSBpZighUihhLEYuRC5EZCkmJiFSKGEsRi5ELktkKSYmV3MoZikpe3ZhciBOPUZyKGUpO04ubGVuZ3RoPjAmJlUoYSxGLkQuU2IsTi5qb2luKCIuIikpfWVsc2UgaWYoIVIoYSxGLkQuRWUpJiZiKXt2YXIgUz1EcihmKyJfYXciKTtTLmxlbmd0aD4wJiZVKGEsRi5ELmxiLFMuam9pbigiLiIpKX1VKGEsRi5ELlVsLHFkKCkpO2EuTS5pc0d0bUV2ZW50JiYoYS5NLkVhW0YuRC5SY109ZkQoRi5ELlJjKSk7U3QoYS5NKT9VKGEsRi5ELmRlLCExKTpVKGEsRi5ELmRlLCEwKTtWKGEsSC5KLkJrLCEwKTt2YXIgVz1WTSgpO1chPT12b2lkIDAmJlUoYSxGLkQua2csV3x8ImVycm9yIik7dmFyIGVhPUx0KCk7ZWEmJlUoYSxGLkQuS2UsZWEpO3ZhciBqYT1LdCgpO2phJiZVKGEsRi5ELk9lLGphKTtRKGEsSC5KLlBjKXx8VihhLEguSi5KYSwKITEpfX07CnZhciBYTT1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPyEwOmI7Yz1jPT09dm9pZCAwP3t9OmM7aWYoYS5ldmVudE5hbWU9PT1GLkQuSmImJiFhLk0uaXNHdG1FdmVudCl7dmFyIGQ9TyhhLk0sRi5ELlNmKTtpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJiFRKGEsSC5KLnNhKSl7dmFyIGU9U3RyaW5nKE8oYS5NLEYuRC5UZikpLGY9ZTtjW2VdJiYoZj1jW2VdKTt2YXIgZz1SKGEsZil8fE8oYS5NLGUpO2lmKGIpe2lmKHR5cGVvZiBkPT09ImZ1bmN0aW9uIilpZihlPT09Ri5ELmxiJiZnIT09dm9pZCAwKXt2YXIgaD1nLnNwbGl0KCIuIik7aC5sZW5ndGg9PT0wP2Qodm9pZCAwKTpoLmxlbmd0aD09PTE/ZChoWzBdKTpkKGgpfWVsc2UgaWYoZT09PUYuRC5xcSYmTSgyNTgpKXt2YXIgbCxuPXt9O1hvKGZwKSYmKG4uYXVpZD1SKGEsRi5ELkVkKSk7dmFyIHA9VU0oKTtpZihUTShwKSluLmdhZF9zb3VyY2U9cC5EZyxuLmdhZF9jYW1wYWlnbmlkPXAuVGgsbi5zZXNzaW9uX3N0YXJ0X3RpbWVfdXNlYz0KKERhdGUubm93KCkqMUUzKS50b1N0cmluZygpLG4ubGFuZGluZ19wYWdlX3VybD1BLmxvY2F0aW9uLmhyZWYsbi5sYW5kaW5nX3BhZ2VfcmVmZXJyZXI9Qi5yZWZlcnJlcixuLmxhbmRpbmdfcGFnZV91c2VyX2FnZW50PUhjLnVzZXJBZ2VudDtlbHNle3ZhciBxPVEoYSxILkouR2EpO24uZ2FkX3NvdXJjZT1ScyhxLnByZWZpeCkuRWd9bD1idG9hKEpTT04uc3RyaW5naWZ5KG4pKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpO2QobCl9ZWxzZSBkKGcpfWVsc2UgZChnKX1hLmlzQWJvcnRlZD0hMH19O3ZhciBZTT1mdW5jdGlvbihhKXtpZihNKDQyNSkmJlEoYSxILkouRmMpKXtmb3IodmFyIGI9WyJfJmFwdmMiLCJ0aWRzIixGLkQuVGEsRi5ELlFpLEYuRC5VYixGLkQuUWUsRi5ELlZjLEYuRC5YY10sYz1tKGV1KGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtpZihlPT09Ri5ELnphKXt2YXIgZj1SKGEsZSk7ZiYmKGY9Zi5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpKTtVKGEsZSxmKX1lbHNlIGIuaW5jbHVkZXMoZSl8fFUoYSxlKX1WKGEsSC5KLlhnKTtWKGEsSC5KLmhkKX19O2Z1bmN0aW9uIFpNKGEpe2lmKGZuLkspaWYod28uSD0hMCxhLmV2ZW50TmFtZT09PUYuRC53YSl6byhhLk0sYS50YXJnZXQuaWQpO2Vsc2V7UShhLEguSi5QYyl8fCh3by5LW2EudGFyZ2V0LmlkXT0hMCk7dmFyIGI9UShhLEguSi5OYik7WkIoYil9fTt2YXIgJE09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1iPT09dm9pZCAwP3t9OmI7Yz1mLlNqPT09dm9pZCAwPyExOmYuU2o7ZD1mLk1qPT09dm9pZCAwPyExOmYuTWo7ZT1mLmtvPT09dm9pZCAwPyExOmYua287ZHx8KGEuTS5pc0d0bUV2ZW50P1EoYSxILkouZGEpIT09WC5WLnhhJiZhLmV2ZW50TmFtZSYmVShhLEYuRC5VYixhLmV2ZW50TmFtZSk6VShhLEYuRC5VYixhLmV2ZW50TmFtZSkpO0diKGEuTS5FYSxmdW5jdGlvbihnLGgpe016W2ddfHxjJiZCb1tnXXx8ZSYmT3pbZ118fFUoYSxnLGgpfSl9O3ZhciBhTj1mdW5jdGlvbihhKXtmb3IodmFyIGI9bShbRi5ELlBhLEYuRC5RYSxGLkQuZWIsRi5ELk5lLEYuRC5HZSxGLkQuVWQsRi5ELkllLEYuRC5UYyxGLkQuTGQsRi5ELmtoLEYuRC5GZixGLkQuRGYsRi5ELkVmLEYuRC5DZixGLkQud2ksRi5ELlNkLEYuRC5RZCxGLkQuUmQsRi5ELnRiXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5jb3B5VG9IaXREYXRhKGMudmFsdWUpfTtmdW5jdGlvbiBiTihhLGIpe3JldHVybiBrcigiZ3NpZF9kYyIse3ZhbHVlOntqb2luSWQ6YSxsYXN0Sm9pbmVkVGltZU1zOmJ9LGV4cGlyZXM6YiszRTV9KT09PTA/ITA6ITF9Owp2YXIgY049ZnVuY3Rpb24oYSl7aWYoWG8oZnApKXt2YXIgYjthOnt2YXIgYz1ucigiZ3NpZF9kYyIpO2lmKGMuZXJyb3I9PT0wJiZjLnZhbHVlJiZ0eXBlb2YgYy52YWx1ZT09PSJvYmplY3QiKXt2YXIgZD1jLnZhbHVlO2lmKGQudmFsdWUmJnR5cGVvZiBkLnZhbHVlPT09Im9iamVjdCIpe3ZhciBlPWQudmFsdWU7aWYoZS5qb2luSWQmJmUubGFzdEpvaW5lZFRpbWVNcyYmdHlwZW9mIGUuam9pbklkPT09InN0cmluZyImJnR5cGVvZiBlLmxhc3RKb2luZWRUaW1lTXM9PT0ibnVtYmVyIil7Yj1lO2JyZWFrIGF9fX1iPXZvaWQgMH12YXIgZj1iLGc9Zj09bnVsbD92b2lkIDA6Zi5qb2luSWQsaD1OYigpO2lmKCFmfHwhZ3x8Zi5sYXN0Sm9pbmVkVGltZU1zPGgtM0U1KXt2YXIgbD1jYygpO2c9bCYmYk4obCxOYigpKT9sOnZvaWQgMDtnJiZWKGEsSC5KLmhkLCEwKX1lbHNlIGcmJmYubGFzdEpvaW5lZFRpbWVNczxoLTZFNCYmYk4oZi5qb2luSWQsaCkmJlYoYSxILkouaGQsITApO2cmJk0oNDc0KSYmClYoYSxILkouWGcsZyl9fTt2YXIgZE49ZnVuY3Rpb24oYSl7VihhLEguSi53ZixPKGEuTSxGLkQudWMpIT09ITEpO1YoYSxILkouR2EsTEsoYSkpO1YoYSxILkouWGUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExKTtWKGEsSC5KLndkLFN0KGEuTSkpfTt2YXIgZU49e3pxOntVdDoiY2QiLGZwOiJjZSIsVnQ6ImNmIixXdDoiY3BmIixYdDoiY3UifX07dmFyIGZOPWZ1bmN0aW9uKGEpe3ZhciBiPWVOLnpxLmZwLGM9TyhhLk0sRi5ELkNiKTtSKGEsRi5ELmVkKXx8VShhLEYuRC5lZCx7fSk7UihhLEYuRC5lZClbYl09Y307ZnVuY3Rpb24gZ04oYSxiKXtiPWI9PT12b2lkIDA/ITA6Yjt2YXIgYz13YihyYi5HVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTHx8W10pO2MmJihVKGEsRi5ELlZmLGMpLGImJnViKCkpfTt2YXIgaE49ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLmdldE1lcmdlZFZhbHVlcyhGLkQuVGEpO2ImJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxiKX07dmFyIGlOPWZ1bmN0aW9uKGEpe3ZhciBiPU9wKCExKTtVKGEsRi5ELk1lLGIpfTt2YXIgak49ZnVuY3Rpb24oYSl7UShhLEguSi53ZCk/VShhLEYuRC5kZSwiMCIpOlUoYSxGLkQuZGUsIjEiKX07dmFyIGtOPWZ1bmN0aW9uKGEsYil7aWYoYj09PXZvaWQgMHx8Yil7dmFyIGM9Vk0oKTtjIT09dm9pZCAwJiZVKGEsRi5ELmtnLGN8fCJlcnJvciIpfXZhciBkPUx0KCk7ZCYmVShhLEYuRC5LZSxkKTt2YXIgZT1LdCgpO2UmJlUoYSxGLkQuT2UsZSl9O3ZhciBsTj1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5raiksYz1FKDUpO2ImJmJbY10mJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSx7cmV0cnk6IjEifSl9O3ZhciBtTj1mdW5jdGlvbihhKXtVcSghMSkuX3VwPT09IjEiJiZVKGEsRi5ELktpLCIxIil9Owp2YXIgbk49ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPT12b2lkIDApcmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZnVuY3Rpb24oKXtyZXR1cm57bW9kZToibSIsbG9jYXRpb246YixzZWxlY3RvcjpjfX0pOnttb2RlOiJtIixsb2NhdGlvbjpiLHNlbGVjdG9yOmN9fSxvTj1mdW5jdGlvbihhLGIsYyxkKXtpZighYylyZXR1cm4hMTtmb3IodmFyIGU9U3RyaW5nKGMudmFsdWUpLGYsZz12b2lkIDAsaD1lLnJlcGxhY2UoL1xbIj8nPy9nLCIuIikucmVwbGFjZSgvIj8nP1xdL2csIiIpLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB1LnRyaW0oKX0pLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdSYmIVNiKHUsIiMiKSYmIVNiKHUsIi4iKX0pLGw9MDtsPGgubGVuZ3RoO2wrKyl7dmFyIG49aFtsXTtpZihTYihuLCJkYXRhTGF5ZXIuIikpZj11QShuLnN1YnN0cmluZygxMCkpLGc9bk4oZiwiZCIsbik7ZWxzZXt2YXIgcD1uLnNwbGl0KCIuIik7Zj1BW3Auc2hpZnQoKV07CmZvcih2YXIgcT0wO3E8cC5sZW5ndGg7cSsrKWY9ZiYmZltwW3FdXTtnPW5OKGYsImoiLG4pfWlmKGYhPT12b2lkIDApYnJlYWt9aWYoZj09PXZvaWQgMCl0cnl7dmFyIHI9Qi5xdWVyeVNlbGVjdG9yQWxsKGUpO2lmKHImJnIubGVuZ3RoPjApe2Y9W107Zm9yKHZhciB0PTA7dDxyLmxlbmd0aCYmdDwoYj09PSJlbWFpbCJ8fGI9PT0icGhvbmVfbnVtYmVyIj81OjEpO3QrKylmLnB1c2goZmQoclt0XSl8fExiKHJbdF0udmFsdWUpKTtmPWYubGVuZ3RoPT09MT9mWzBdOmY7Zz1uTihmLCJjIixlKX19Y2F0Y2godSl7UCgxNDkpfXJldHVybiBmPyhhW2JdPWYsZCYmZyYmKGRbYl09ZyksITApOiExfTsKdmFyIHBOPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImNjZF9hZGRfMXBfZGF0YSIsITEpJiZYbyhmcCkpe3ZhciBiPWEuTS5pYltGLkQubG1dO2lmKENkKGIpJiZiLmVuYWJsZV9jb2RlKXt2YXIgYz1PKGEuTSxGLkQuQWMpO2lmKGM9PT1udWxsKVYoYSxILkouR24sbnVsbCk7ZWxzZSBpZihiLmVuYWJsZV9jb2RlJiZDZChjKSYmKFp2KGMpLFYoYSxILkouR24sYykpLENkKGIuc2VsZWN0b3JzKSl7dmFyIGQ9SC5KLmlyLGU7dmFyIGY9Yi5zZWxlY3RvcnMsZz1NKDUyMyk7Zz1nPT09dm9pZCAwPyExOmc7aWYoZil7dmFyIGg9e30sbD0hMSxuPXt9O2w9b04oaCwiZW1haWwiLGYuZW1haWwsbil8fGw7bD1vTihoLCJwaG9uZV9udW1iZXIiLGYucGhvbmUsbil8fGw7aC5hZGRyZXNzPVtdO2Zvcih2YXIgcD1mLm5hbWVfYW5kX2FkZHJlc3N8fFtdLHE9MDtxPHAubGVuZ3RoO3ErKyl7dmFyIHI9e30sdD17fTtsPW9OKHIsImZpcnN0X25hbWUiLHBbcV0uZmlyc3RfbmFtZSx0KXx8bDtsPW9OKHIsCiJsYXN0X25hbWUiLHBbcV0ubGFzdF9uYW1lLHQpfHxsO2w9b04ociwic3RyZWV0IixwW3FdLnN0cmVldCx0KXx8bDtsPW9OKHIsImNpdHkiLHBbcV0uY2l0eSx0KXx8bDtsPW9OKHIsInJlZ2lvbiIscFtxXS5yZWdpb24sdCl8fGw7bD1vTihyLCJjb3VudHJ5IixwW3FdLmNvdW50cnksdCl8fGw7bD1vTihyLCJwb3N0YWxfY29kZSIscFtxXS5wb3N0YWxfY29kZSx0KXx8bDtoLmFkZHJlc3MucHVzaChyKTtnJiYoci5fdGFnX21ldGFkYXRhPXQpfWcmJihoLl90YWdfbWV0YWRhdGE9bik7ZT1sP2g6dm9pZCAwfWVsc2UgZT12b2lkIDA7VihhLGQsZSl9fX19O2Z1bmN0aW9uIEZPKGEsYixjLGQpe31GTy5QPSJpbnRlcm5hbC5leGVjdXRlRXZlbnRQcm9jZXNzb3IiO2Z1bmN0aW9uIEdPKGEpe3ZhciBiO3JldHVybiBVZChiLHRoaXMuVCwxKX1HTy5QPSJpbnRlcm5hbC5leGVjdXRlSmF2YXNjcmlwdFN0cmluZyI7ZnVuY3Rpb24gSE8oYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPUE7dHJ5e2I9S2ooYy5lc2NhcGUoYy5hdG9iKGEpKSl9Y2F0Y2goZCl7cmV0dXJufXJldHVybiBifTtmdW5jdGlvbiBJTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1JTy5QPSJpbnRlcm5hbC5nZW5lcmF0ZUNsaWVudElkIjtmdW5jdGlvbiBKTyhhKXt2YXIgYj17fTtyZXR1cm4gVWQoYil9Sk8uUD0iaW50ZXJuYWwuZ2V0QWRzQ29va2llV3JpdGluZ09wdGlvbnMiO2Z1bmN0aW9uIEtPKGEsYil7dmFyIGM9ITE7cmV0dXJuIGN9S08uUD0iaW50ZXJuYWwuZ2V0QWxsb3dBZFBlcnNvbmFsaXphdGlvbiI7ZnVuY3Rpb24gTE8oKXt2YXIgYTtyZXR1cm4gYX1MTy5QPSJpbnRlcm5hbC5nZXRBbmRSZXNldEV2ZW50VXNhZ2UiO2Z1bmN0aW9uIE1PKGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM7cmV0dXJuIGN9TU8uUD0iaW50ZXJuYWwuZ2V0QXVpZCI7ZnVuY3Rpb24gTk8oKXt2YXIgYT1bXTtyZXR1cm4gVWQoYSl9Tk8uUD0iaW50ZXJuYWwuZ2V0Q29udGFpbmVySWRzIjtmdW5jdGlvbiBPTygpe3ZhciBhPW5ldyBrYjtMKHRoaXMsInJlYWRfY29udGFpbmVyX2RhdGEiKSxhLnNldCgiY29udGFpbmVySWQiLGlnKSxhLnNldCgidmVyc2lvbiIsa2cpLGEuc2V0KCJlbnZpcm9ubWVudE5hbWUiLGpnKSxhLnNldCgiZGVidWdNb2RlIixsZyksYS5zZXQoInByZXZpZXdNb2RlIixtZy5QbyksYS5zZXQoImVudmlyb25tZW50TW9kZSIsbWcuS3IpLGEuc2V0KCJmaXJzdFBhcnR5U2VydmluZyIsYWsoKSksYS5zZXQoImNvbnRhaW5lclVybCIsS2MpLGEuc2V0KCJpc0dvb2dsZU9ubHlNb2RlIixJZig2MikpLGEuWmEoKTtyZXR1cm4gYX1PTy5wdWJsaWNOYW1lPSJnZXRDb250YWluZXJWZXJzaW9uIjtmdW5jdGlvbiBQTyhhLGIpe2I9Yj09PXZvaWQgMD8hMDpiO3ZhciBjO3JldHVybiBjfVBPLnB1YmxpY05hbWU9ImdldENvb2tpZVZhbHVlcyI7ZnVuY3Rpb24gUU8oKXt2YXIgYT0iIjtyZXR1cm4gYX1RTy5QPSJpbnRlcm5hbC5nZXRDb3JlUGxhdGZvcm1TZXJ2aWNlc1BhcmFtIjtmdW5jdGlvbiBSTygpe3JldHVybiB5bSgpfVJPLlA9ImludGVybmFsLmdldENvdW50cnlDb2RlIjtmdW5jdGlvbiBTTygpe3ZhciBhPVtdO2E9dGsoKTtyZXR1cm4gVWQoYSl9U08uUD0iaW50ZXJuYWwuZ2V0RGVzdGluYXRpb25JZHMiO2Z1bmN0aW9uIFRPKGEpe3ZhciBiPW5ldyBrYjtyZXR1cm4gYn1UTy5QPSJpbnRlcm5hbC5nZXREZXZlbG9wZXJJZHMiO2Z1bmN0aW9uIFVPKGEpe3ZhciBiO3JldHVybiBifVVPLlA9ImludGVybmFsLmdldEVjc2lkQ29va2llVmFsdWUiO2Z1bmN0aW9uIFZPKGEsYil7dmFyIGM9bnVsbDtyZXR1cm4gY31WTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50QXR0cmlidXRlIjtmdW5jdGlvbiBXTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVdPLlA9ImludGVybmFsLmdldEVsZW1lbnRCeUlkIjtmdW5jdGlvbiBYTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1YTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50SW5uZXJUZXh0IjtmdW5jdGlvbiBZTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVlPLlA9ImludGVybmFsLmdldEVsZW1lbnRQYXJlbnQiO2Z1bmN0aW9uIFpPKGEpe3ZhciBiPW51bGw7cmV0dXJuIGJ9Wk8uUD0iaW50ZXJuYWwuZ2V0RWxlbWVudFByZXZpb3VzU2libGluZyI7ZnVuY3Rpb24gJE8oYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjKX0kTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50UHJvcGVydHkiO2Z1bmN0aW9uIGFQKGEpe3ZhciBiO3JldHVybiBifWFQLlA9ImludGVybmFsLmdldEVsZW1lbnRWYWx1ZSI7ZnVuY3Rpb24gYlAoYSl7dmFyIGI9MDtyZXR1cm4gYn1iUC5QPSJpbnRlcm5hbC5nZXRFbGVtZW50VmlzaWJpbGl0eVJhdGlvIjtmdW5jdGlvbiBjUChhKXt2YXIgYj1udWxsO3JldHVybiBifWNQLlA9ImludGVybmFsLmdldEVsZW1lbnRzQnlDc3NTZWxlY3RvciI7CmZ1bmN0aW9uIGRQKGEpe3ZhciBiO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZXZlbnRfZGF0YSIsYSk7dmFyIGM7YTp7dmFyIGQ9YSxlPVhGKHRoaXMpLm9yaWdpbmFsRXZlbnREYXRhO2lmKGUpe2Zvcih2YXIgZj1lLGc9e30saD17fSxsPXt9LG49W10scD1kLnNwbGl0KCJcXFxcIikscT0wO3E8cC5sZW5ndGg7cSsrKXtmb3IodmFyIHI9cFtxXS5zcGxpdCgiXFwuIiksdD0wO3Q8ci5sZW5ndGg7dCsrKXtmb3IodmFyIHU9clt0XS5zcGxpdCgiLiIpLHY9MDt2PHUubGVuZ3RoO3YrKyluLnB1c2godVt2XSksdiE9PXUubGVuZ3RoLTEmJm4ucHVzaChsKTt0IT09ci5sZW5ndGgtMSYmbi5wdXNoKGgpfXEhPT1wLmxlbmd0aC0xJiZuLnB1c2goZyl9Zm9yKHZhciB4PVtdLHk9IiIsej1tKG4pLEM9ei5uZXh0KCk7IUMuZG9uZTtDPQp6Lm5leHQoKSl7dmFyIEQ9Qy52YWx1ZTtEPT09bD8oeC5wdXNoKHkpLHk9IiIpOnk9RD09PWc/eSsiXFwiOkQ9PT1oP3krIi4iOnkrRH15JiZ4LnB1c2goeSk7Zm9yKHZhciBJPW0oeCksRz1JLm5leHQoKTshRy5kb25lO0c9SS5uZXh0KCkpe2lmKGY9PW51bGwpe2M9dm9pZCAwO2JyZWFrIGF9Zj1mW0cudmFsdWVdfWM9Zn1lbHNlIGM9dm9pZCAwfWI9VWQoYyx0aGlzLlQsMSk7cmV0dXJuIGJ9ZFAuUD0iaW50ZXJuYWwuZ2V0RXZlbnREYXRhIjtmdW5jdGlvbiBlUChhKXt2YXIgYj1udWxsO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZG9tX2VsZW1lbnRzIiwiY3NzIixhKTt0cnl7dmFyIGM9Qi5xdWVyeVNlbGVjdG9yKGEpO2MmJihiPW5ldyBQZChjKSl9Y2F0Y2goZCl7cmV0dXJuIG51bGx9cmV0dXJuIGJ9ZVAuUD0iaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciI7ZnVuY3Rpb24gZlAoKXt2YXIgYTtyZXR1cm4gYX1mUC5QPSJpbnRlcm5hbC5nZXRHc2FFeHBlcmltZW50SWQiO2Z1bmN0aW9uIGdQKCl7cmV0dXJuIG5ldyBQZChQayl9Z1AuUD0iaW50ZXJuYWwuZ2V0SHRtbElkIjtmdW5jdGlvbiBoUCgpe3ZhciBhO3JldHVybiBhfWhQLlA9ImludGVybmFsLmdldElmcmFtaW5nU3RhdGUiO2Z1bmN0aW9uIGlQKGEsYil7dmFyIGM9e307cmV0dXJuIFVkKGMpfWlQLlA9ImludGVybmFsLmdldExpbmtlclZhbHVlRnJvbUxvY2F0aW9uIjtmdW5jdGlvbiBqUCgpe3ZhciBhPW5ldyBrYjtyZXR1cm4gYX1qUC5QPSJpbnRlcm5hbC5nZXRQcml2YWN5U3RyaW5ncyI7ZnVuY3Rpb24ga1AoYSxiKXt2YXIgYztpZighbGgoYSl8fCFsaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nIl0sYXJndW1lbnRzKTt2YXIgZD0kSChhKXx8e307Yz1VZChkW2JdLHRoaXMuVCk7cmV0dXJuIGN9a1AuUD0iaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIjtmdW5jdGlvbiBsUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IXBoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJib29sZWFufHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7TCh0aGlzLCJnZXRfdXJsIiwicXVlcnkiLGEpO3ZhciBkPUxqKFJqKEEubG9jYXRpb24uaHJlZiksInF1ZXJ5IiksZT1JaihkLGEsYik7Yz1VZChlLHRoaXMuVCk7cmV0dXJuIGN9bFAucHVibGljTmFtZT0iZ2V0UXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBtUChhLGIpe3ZhciBjO3JldHVybiBjfW1QLnB1YmxpY05hbWU9ImdldFJlZmVycmVyUXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBuUChhKXt2YXIgYj0iIjtyZXR1cm4gYn1uUC5wdWJsaWNOYW1lPSJnZXRSZWZlcnJlclVybCI7ZnVuY3Rpb24gb1AoKXtyZXR1cm4gem0oKX1vUC5QPSJpbnRlcm5hbC5nZXRSZWdpb25Db2RlIjtmdW5jdGlvbiBwUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBkPWVEKGEpO2M9VWQoZFtiXSx0aGlzLlQpO3JldHVybiBjfXBQLlA9ImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gcVAoYSxiKXt2YXIgYz1udWxsOwpyZXR1cm4gY31xUC5QPSJpbnRlcm5hbC5nZXRTY29wZWRFbGVtZW50c0J5Q3NzU2VsZWN0b3IiO2Z1bmN0aW9uIHJQKCl7dmFyIGE9bmV3IGtiO2Euc2V0KCJ3aWR0aCIsMCk7YS5zZXQoImhlaWdodCIsMCk7cmV0dXJuIGF9clAuUD0iaW50ZXJuYWwuZ2V0U2NyZWVuRGltZW5zaW9ucyI7ZnVuY3Rpb24gc1AoKXt2YXIgYT0iIjtyZXR1cm4gYX1zUC5QPSJpbnRlcm5hbC5nZXRUb3BTYW1lRG9tYWluVXJsIjtmdW5jdGlvbiB0UCgpe3ZhciBhPSIiO3JldHVybiBhfXRQLlA9ImludGVybmFsLmdldFRvcFdpbmRvd1VybCI7ZnVuY3Rpb24gdVAoYSl7dmFyIGI9IiI7aWYoIW1oKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmd8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtMKHRoaXMsImdldF91cmwiLGEpO2I9TGooUmooQS5sb2NhdGlvbi5ocmVmKSxhKTtyZXR1cm4gYn11UC5wdWJsaWNOYW1lPSJnZXRVcmwiO2Z1bmN0aW9uIHZQKCl7TCh0aGlzLCJnZXRfdXNlcl9hZ2VudCIpO3JldHVybiBIYy51c2VyQWdlbnR9dlAucHVibGljTmFtZT0iZ2V0VXNlckFnZW50Ijt2UC5QPSJpbnRlcm5hbC5nZXRVc2VyQWdlbnQiO2Z1bmN0aW9uIHdQKCl7dmFyIGE7cmV0dXJuIGE/VWQoRU0oYSkpOmF9d1AuUD0iaW50ZXJuYWwuZ2V0VXNlckFnZW50Q2xpZW50SGludHMiO3ZhciB5UD1mdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50TmFtZT09PUYuRC5zYyYmRWwoKSYmYmsoWksoYSkpLGM9UShhLEguSi5kbiksZD1RKGEsSC5KLktrKSxlPVEoYSxILkoubWcpLGY9UShhLEguSi5UZSksZz1RKGEsSC5KLkZjKSxoPVEoYSxILkouaGQpLGw9UShhLEguSi5yZyksbj1RKGEsSC5KLk1oKSxwPVEoYSxILkouTmgpLHE9ISFZSyhhKXx8ISFRKGEsSC5KLnBwKTtyZXR1cm4hKCFuZCgpJiYha2QoKXx8ZXx8cXx8Znx8Z3x8aHx8bHx8cHx8bnx8Ynx8Y3x8IWQmJnhQKCkpfSx4UD1mdW5jdGlvbigpe3JldHVybiBhbCg5LGZ1bmN0aW9uKCl7cmV0dXJuITF9KX07ZnVuY3Rpb24gelAoKXt2YXIgYT1BO3JldHVybiBhLmdhR2xvYmFsPWEuZ2FHbG9iYWx8fHt9fWZ1bmN0aW9uIEFQKGEsYil7dmFyIGM9elAoKTtpZihjLnZpZD09PXZvaWQgMHx8YiYmIWMuZnJvbV9jb29raWUpYy52aWQ9YSxjLmZyb21fY29va2llPWJ9O3ZhciBCUD1bIkdBMSJdOwp2YXIgQ1A9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVEoYSxILkouUGspO2lmKGQ9PT12b2lkIDB8fGM8PWQpVShhLEYuRC5LYixiKSxWKGEsSC5KLlBrLGMpfSxFUD1mdW5jdGlvbihhLGIpe3ZhciBjPVIoYSxGLkQuS2IpO2lmKE8oYS5NLEYuRC5aYykmJk8oYS5NLEYuRC5ZYyl8fGImJmM9PT1iKXJldHVybiBjO2lmKGMpe2M9IiIrYztpZighRFAoYyxhKSlyZXR1cm4gUCgzMSksYS5pc0Fib3J0ZWQ9ITAsIiI7QVAoYyxYbyhGLkQucmEpKTtyZXR1cm4gY31QKDMyKTthLmlzQWJvcnRlZD0hMDtyZXR1cm4iIn0sRlA9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYz1iLnByZWZpeCsiX2dhIixkPUJ2KGIucHJlZml4KyJfZ2EiLGIuZG9tYWluLGIucGF0aCxCUCxGLkQucmEpO2lmKCFkKXt2YXIgZT1TdHJpbmcoTyhhLk0sRi5ELklkLCIiKSk7ZSYmZSE9PWMmJihkPUJ2KGUsYi5kb21haW4sYi5wYXRoLEJQLEYuRC5yYSkpfXJldHVybiBkfSxEUD1mdW5jdGlvbihhLGIpe3ZhciBjOwp2YXIgZD1RKGIsSC5KLkdhKSxlPWQucHJlZml4KyJfZ2EiLGY9dXEoZCx2b2lkIDAsdm9pZCAwLEYuRC5yYSk7aWYoTyhiLk0sRi5ELkpkKT09PSExJiZGUChiKT09PWEpYz0hMDtlbHNle3ZhciBnO2c9W0JQWzBdLHRxKGQuZG9tYWluLGQucGF0aCksYV0uam9pbigiLiIpO2M9b3EoZSxnLGYpIT09MX1yZXR1cm4gY307CnZhciBHUD1mdW5jdGlvbihhKXt2YXIgYj0wLGM9MDtyZXR1cm57c3RhcnQ6ZnVuY3Rpb24oKXtiPU5iKCl9LHN0b3A6ZnVuY3Rpb24oKXtjPXRoaXMuZ2V0KCl9LGdldDpmdW5jdGlvbigpe3ZhciBkPTA7YS5WaigpJiYoZD1OYigpLWIpO3JldHVybiBkK2N9fX0sSFA9ZnVuY3Rpb24oKXt0aGlzLkg9dm9pZCAwO3RoaXMuSz0wO3RoaXMuaXNBY3RpdmU9dGhpcy5pc1Zpc2libGU9dGhpcy5OPSExO3RoaXMuWj10aGlzLlI9dm9pZCAwfTtrPUhQLnByb3RvdHlwZTtrLktxPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYoIXRoaXMuSCl7dGhpcy5OPUIuaGFzRm9jdXMoKTt0aGlzLmlzVmlzaWJsZT0hQi5oaWRkZW47dGhpcy5pc0FjdGl2ZT0hMDt2YXIgYz1mdW5jdGlvbihlLGYsZyl7JGMoZSxmLGZ1bmN0aW9uKGgpe2IuSC5zdG9wKCk7ZyhoKTtiLlZqKCkmJmIuSC5zdGFydCgpfSl9LGQ9QTtjKGQsImZvY3VzIixmdW5jdGlvbigpe2IuTj0hMH0pO2MoZCwiYmx1ciIsZnVuY3Rpb24oKXtiLk49CiExfSk7YyhkLCJwYWdlc2hvdyIsZnVuY3Rpb24oZSl7Yi5pc0FjdGl2ZT0hMDtlLnBlcnNpc3RlZCYmUCg1Nik7Yi5aJiZiLlooKX0pO2MoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7Yi5pc0FjdGl2ZT0hMTtiLlImJmIuUigpfSk7YyhCLCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2IuaXNWaXNpYmxlPSFCLmhpZGRlbn0pO2JrKFpLKGEpKSYmIU9jKCkmJmMoZCwiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe1prKDksITApfSk7dGhpcy5xayghMCk7dGhpcy5LPTB9fTtrLnFrPWZ1bmN0aW9uKGEpe2lmKChhPT09dm9pZCAwPzA6YSl8fHRoaXMuSCl0aGlzLksrPXRoaXMuWWgoKSx0aGlzLkg9R1AodGhpcyksdGhpcy5WaigpJiZ0aGlzLkguc3RhcnQoKX07ay5LdD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLlloKCk7Yj4wJiZVKGEsRi5ELm5oLGIpfTtrLmxzPWZ1bmN0aW9uKGEpe1UoYSxGLkQubmgpO3RoaXMucWsoKTt0aGlzLks9MH07ay5Waj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4mJgp0aGlzLmlzVmlzaWJsZSYmdGhpcy5pc0FjdGl2ZX07ay5Ycj1mdW5jdGlvbigpe3JldHVybiB0aGlzLksrdGhpcy5ZaCgpfTtrLlloPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCYmdGhpcy5ILmdldCgpfHwwfTtrLmh0PWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLkNvPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfTt2YXIgSVA9ZnVuY3Rpb24oYSl7c2IoIkdBNF9FVkVOVCIsYSl9O3ZhciBKUD1mdW5jdGlvbihhKXt2YXIgYixjPVEoYSxILkoud20pO2lmKEFycmF5LmlzQXJyYXkoYykpZm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspSVAoY1tkXSk7KGI9d2IocmIuR0E0X0VWRU5UfHxbXSkpJiZVKGEsIl9ldSIsYil9Owp2YXIgTVA9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFJlZ0V4cCgiXiIrKCgoYT09bnVsbD92b2lkIDA6YS5wcmVmaXgpfHwiIikrIl9nYV9cXHcrJCIpKSxjPXlxKGZ1bmN0aW9uKHApe3JldHVybiBiLnRlc3QocCl9KSxkPXt9LGU7Zm9yKGUgaW4gYylpZihjLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1LUChjW2VdKTtpZihmKXt2YXIgZz1icShmLDIpO2lmKGcpe3ZhciBoPUxQKGcpO2lmKGgpe3ZhciBsPXZvaWQgMCxuPSgoKGw9YSk9PW51bGw/dm9pZCAwOmwucHJlZml4KXx8IiIpLmxlbmd0aCs0O2RbIkctIitlLnN1YnN0cmluZyhuKV09aH19fX1yZXR1cm4gZH0sTlA9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7YTp7dmFyIGM9KFNiKGEsInMiKSYmYS5pbmRleE9mKCIuIik9PT0tMT8iR1MyIjoiR1MxIikrIi4xLiIrYTt0cnl7Yj0kcChjLDIpO2JyZWFrIGF9Y2F0Y2goZCl7fWI9dm9pZCAwfXJldHVybiBifX0sS1A9ZnVuY3Rpb24oYSl7aWYoYSYmYS5sZW5ndGghPT0wKXtmb3IodmFyIGIsCmM9LUluZmluaXR5LGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtpZihmLnQhPT12b2lkIDApe3ZhciBnPU51bWJlcihmLnQpOyFpc05hTihnKSYmZz5jJiYoYz1nLGI9Zil9fXJldHVybiBifX0senE9ZnVuY3Rpb24oYSl7YSYmKGE9PT0iR1MxIj9JUChKLlUuS20pOmE9PT0iR1MyIiYmSVAoSi5VLkxtKSl9LExQPWZ1bmN0aW9uKGEpe3ZhciBiPU5QKGEpO2lmKGIpe3ZhciBjPU51bWJlcihiLm8pLGQ9TnVtYmVyKGIudCksZT1OdW1iZXIoYi5qfHwwKTtjfHxJUChKLlUuVW0pO2R8fElQKEouVS5UbSk7aXNOYU4oZSkmJklQKEouVS5TbSk7aWYoYyYmZCYmIWlzTmFOKGUpKXt2YXIgZj1iLmgsZz1mJiZmIT09IjAiP1N0cmluZyhmKTp2b2lkIDAsaD1iLmQ/U3RyaW5nKGIuZCk6dm9pZCAwLGw9e307cmV0dXJuIGwucz1TdHJpbmcoYi5zKSxsLm89YyxsLmc9ISFOdW1iZXIoYi5nKSxsLnQ9ZCxsLmQ9aCxsLmo9ZSxsLmw9Yi5sPT09IjEiLApsLmg9ZyxsfX19Owp2YXIgUFA9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiBhO2lmKCFhKXJldHVybiBiO3ZhciBkPUxQKGEpO2lmKCFkKXJldHVybiBiO3ZhciBlLGY9SWIoKGU9TyhjLk0sRi5ELnloKSkhPW51bGw/ZTozMCksZz1RKGMsSC5KLkViKTtpZighKE1hdGguZmxvb3IoZy8xRTMpPmQudCtmKjYwKSlyZXR1cm4gYTt2YXIgaD1MUChiKTtpZighaClyZXR1cm4gYTtoLm89ZC5vKzE7dmFyIGw7cmV0dXJuKGw9T1AoaCkpIT1udWxsP2w6Yn0sUlA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1RKGIsSC5KLkdhKSxkPVFQKGIsYyksZT1OUChhKTtpZighZSlyZXR1cm4hMTt2YXIgZj11cShjfHx7fSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSk7b3EoZCx2b2lkIDAsZik7cmV0dXJuIEFxKGQsZSwyLGMpIT09MX0sU1A9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYzt2YXIgZD1RUChhLGIpLGU7Yjp7dmFyIGY9enEsZz1acFsyXTtpZihnKXt2YXIgaCxsPXJxKGIuZG9tYWluKSxuPXNxKGIucGF0aCksCnA9T2JqZWN0LmtleXMoZy5qaSkscT12cS5nZXQoMikscjtpZihoPShyPWdxKGQsbCxuLHAscSkpPT1udWxsP3ZvaWQgMDpyLkJyKXt2YXIgdD0kcChoLDIsZik7ZT10P3hxKHQpOnZvaWQgMDticmVhayBifX1lPXZvaWQgMH1pZihlKXt2YXIgdT13cShkLDIsenEpO2lmKHUmJnUubGVuZ3RoPjEpe0lQKEouVS5KbSk7dmFyIHY9S1AodSk7diYmdi50IT09ZS50JiYoSVAoSi5VLk1tKSxlPXYpfWM9YnEoZSwyKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfSxUUD1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLkViKSxjPXt9O2Mucz1SKGEsRi5ELnhjKTtjLm89UihhLEYuRC5BaCk7dmFyIGQ7ZD1SKGEsRi5ELnpoKTt2YXIgZT0oYy5nPWQsYy50PU1hdGguZmxvb3IoYi8xRTMpLGMuZD1RKGEsSC5KLm9nKSxjLmo9UShhLEguSi5wZyl8fDAsYy5sPSEhUShhLEguSi5ybSksYy5oPVIoYSxGLkQub2gpLGMpO3JldHVybiBPUChlKX0sT1A9ZnVuY3Rpb24oYSl7aWYoYS5zJiZhLm8pe3ZhciBiPQp7fSxjPShiLnM9YS5zLGIubz1TdHJpbmcoYS5vKSxiLmc9SWIoYS5nKT8iMSI6IjAiLGIudD1TdHJpbmcoYS50KSxiLmo9U3RyaW5nKGEuaiksYi5sPWEubD8iMSI6IjAiLGIuaD1hLmh8fCIwIixiLmQ9YS5kLGIpO3JldHVybiBicShjLDIpfX0sUVA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5wcmVmaXgrIl9nYV8iK2EudGFyZ2V0Lmlkc1tkQ1s2XV19Owp2YXIgVVA9ZnVuY3Rpb24oKXtyZXR1cm4gYWwoMixmdW5jdGlvbigpe3JldHVybiExfSl9LFZQPWZ1bmN0aW9uKGEpe3ZhciBiPU8oYS5NLEYuRC5EYiksYz1hLk0uaWJbRi5ELkRiXTtpZihjPT09YilyZXR1cm4gYzt2YXIgZD1FZChiLG51bGwpO2MmJmNbRi5ELkFhXSYmKGRbRi5ELkFhXT0oZFtGLkQuQWFdfHxbXSkuY29uY2F0KGNbRi5ELkFhXSkpO3JldHVybiBkfSxXUD1mdW5jdGlvbihhLGIpe3ZhciBjPVVxKCEwKTtyZXR1cm4gYy5fdXAhPT0iMSI/e306e2NsaWVudElkOmNbYV0semI6Y1tiXX19LFhQPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1VcSghMCksZT1kW2JdO2UmJihDUChhLGUsMiksRFAoZSxhKSk7dmFyIGY9ZFtjXTtmJiZSUChmLGEpO3JldHVybntjbGllbnRJZDplLHpiOmZ9fSxZUD1mdW5jdGlvbigpe3ZhciBhPU5qKEEubG9jYXRpb24sImhvc3QiKSxiPU5qKFJqKEIucmVmZXJyZXIpLCJob3N0Iik7cmV0dXJuIGEmJmI/YT09PWJ8fGEuaW5kZXhPZigiLiIrYik+PQowfHxiLmluZGV4T2YoIi4iK2EpPj0wPyEwOiExOiExfSxaUD1mdW5jdGlvbihhKXtpZighTyhhLk0sRi5ELnpjKSlyZXR1cm57fTt2YXIgYj1RKGEsSC5KLkdhKSxjPWIucHJlZml4KyJfZ2EiLGQ9UVAoYSxiKTticihmdW5jdGlvbigpe3ZhciBlO2lmKFhvKCJhbmFseXRpY3Nfc3RvcmFnZSIpKWU9e307ZWxzZXt2YXIgZj17X3VwOiIxIn0sZztnPVIoYSxGLkQuS2IpO2U9KGZbY109ZyxmW2RdPVRQKGEpLGYpfXJldHVybiBlfSwxKTtyZXR1cm4hWG8oImFuYWx5dGljc19zdG9yYWdlIikmJllQKCk/V1AoYyxkKTp7fX0sJFA9ZnVuY3Rpb24oYSl7dmFyIGI9VlAoYSl8fHt9LGM9UShhLEguSi5HYSksZD1jLnByZWZpeCsiX2dhIixlPVFQKGEsYyksZj17fTtkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pJiYoZj1YUChhLGQsZSksZi5jbGllbnRJZCYmZi56YiYmWmsoMiwhMCkpO2JbRi5ELkFhXSYmYXIoZnVuY3Rpb24oKXt2YXIgZz17fSxoPUZQKGEpO2gmJihnW2RdPWgpO3ZhciBsPVNQKGEpOwpsJiYoZ1tlXT1sKTt2YXIgbj1jcSgiRlBMQyIsdm9pZCAwLHZvaWQgMCxGLkQucmEpO24ubGVuZ3RoJiYoZy5fZnBsYz1uWzBdKTtyZXR1cm4gZ30sYltGLkQuQWFdLGJbRi5ELmFkXSwhIWJbRi5ELndjXSk7cmV0dXJuIGZ9O3ZhciBhUT1mdW5jdGlvbihhKXtpZighUShhLEguSi5iZSkmJmVrKGEuTSkpe3ZhciBiPVZQKGEpfHx7fSxjPShkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pP1VxKCEwKS5fZnBsYzp2b2lkIDApfHwoY3EoIkZQTEMiLHZvaWQgMCx2b2lkIDAsRi5ELnJhKS5sZW5ndGg+MD92b2lkIDA6IjAiKTtVKGEsIl9mcGxjIixjKX19O2Z1bmN0aW9uIGJRKGEpeyhiayhaSyhhKSl8fFdqKCkpJiZVKGEsRi5ELm9tLHptKCl8fHltKCkpOyFiayhaSyhhKSkmJldqKCkmJlUoYSxGLkQuWWksIjo6Iil9ZnVuY3Rpb24gY1EoYSl7V2ooKSYmKGJrKFpLKGEpKXx8RG0oKXx8VShhLEYuRC5TbCwhMCkpfTt2YXIgZVE9ZnVuY3Rpb24oYSxiKXtraigiZ3JsIixmdW5jdGlvbigpe3JldHVybiBkUSgpfSkoYil8fChQKDM1KSxhLmlzQWJvcnRlZD0hMCl9LGRRPWZ1bmN0aW9uKCl7dmFyIGE9TmIoKSxiPWErODY0RTUsYz0yMCxkPTVFMztyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGY9TmIoKTtmPj1iJiYoYj1mKzg2NEU1LGQ9NUUzKTtjPU1hdGgubWluKGMrKGYtYSkvMUUzKjUsMjApO2E9Zjt2YXIgZz0hMTtkPDF8fGM8MXx8KGc9ITAsZC0tLGMtLSk7ZSYmKGUuSHI9ZCxlLnVyPWMpO3JldHVybiBnfX07CnZhciBmUT1mdW5jdGlvbihhKXt2YXIgYj1SKGEsRi5ELlVhKTtyZXR1cm4gTGooUmooYiksImhvc3QiLCEwKX0sZ1E9ZnVuY3Rpb24oYSl7aWYoTyhhLk0sRi5ELldmKSE9PXZvaWQgMClhLmNvcHlUb0hpdERhdGEoRi5ELldmKTtlbHNle3ZhciBiPU8oYS5NLEYuRC5hbSksYyxkO2E6e2lmKFVQKCkpe3ZhciBlPVZQKGEpfHx7fTtpZihlJiZlW0YuRC5BYV0pZm9yKHZhciBmPWZRKGEpLGc9ZVtGLkQuQWFdLGg9MDtoPGcubGVuZ3RoO2grKylpZihnW2hdaW5zdGFuY2VvZiBSZWdFeHApe2lmKGdbaF0udGVzdChmKSl7ZD0hMDticmVhayBhfX1lbHNlIGlmKGYuaW5kZXhPZihnW2hdKT49MCl7ZD0hMDticmVhayBhfX1kPSExfWlmKCEoYz1kKSl7dmFyIGw7aWYobD1iKWE6e2Zvcih2YXIgbj1iLmluY2x1ZGVfY29uZGl0aW9uc3x8W10scD1mUShhKSxxPTA7cTxuLmxlbmd0aDtxKyspaWYobltxXS50ZXN0KHApKXtsPSEwO2JyZWFrIGF9bD0hMX1jPWx9YyYmKFUoYSxGLkQuV2YsIjEiKSwKSVAoSi5VLm5uKSl9fTtmdW5jdGlvbiBoUShhLGIsYyxkKXt2YXIgZTtpZigobmQoKXx8a2QoKSkmJlhqKCkmJlhqKCkhPT0iLyIpe3ZhciBmPVJqKGEpO2U9SWYoNTApJiZkJiZUYihmLnBhdGhuYW1lLCIvZy9jb2xsZWN0Iik/MjooZHx8IVdqKCl8fERtKCk/MDpUYihmLnBhdGhuYW1lLCIvZ2EvZy9jIil8fFRiKGYucGF0aG5hbWUsIi9hZy9nL2MiKSk/MTowfWVsc2UgZT0wO3N3aXRjaChlKXtjYXNlIDI6dmFyIGc7aWYoTSg1NDYpKXt2YXIgaD1UYihhLCIvZy9jb2xsZWN0Iik/YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0xMCk6YSxsPWlRKCksbj1oK2wscD1qUSgiL2cvY29sbGVjdCIsYixjKTtnPXtJYzpuLGtmOiIiLGJvZHk6cH19ZWxzZSBnPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gZztjYXNlIDE6dmFyIHE7aWYoTSg1NDcpKXt2YXIgcj1pUSgpLHQ9YS5pbmRleE9mKHIpLHU9YS5zdWJzdHJpbmcoMCx0KStyLHY9alEoYS5zdWJzdHJpbmcodCtyLmxlbmd0aC0xKSxiLGMpO3E9e0ljOnUsa2Y6IiIsCmJvZHk6dn19ZWxzZSBxPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gcTtkZWZhdWx0OnJldHVybntJYzphLGtmOmIsYm9keTpjfX19ZnVuY3Rpb24gaVEoKXt2YXIgYT1YaigpO2lmKCFhKXJldHVybiIiO1NiKGEsIi8iKXx8KGE9Ii8iK2EpO1RiKGEsIi8iKXx8KGErPSIvIik7cmV0dXJuIGF9ZnVuY3Rpb24galEoYSxiLGMpe3ZhciBkPVthXTtiJiZkLnB1c2goIj8iLGIpO2MmJmQucHVzaCgiXHJcbiIsYyk7cmV0dXJuIGQuam9pbigiIil9Owp2YXIga1E9ZnVuY3Rpb24oYSxiKXtUdCgpJiYoYS5nY3M9VXQoKSxRKGIsSC5KLkdoKSYmKGEuZ2N1PSIxIikpO2EuZ2NkPVl0KGIuTSk7YS5ucGE9UShiLEguSi53ZCk/IjAiOiIxIjt6bSgpPT09IlVTLUNPIiYmKGEuX25nPSIxIil9LGxRPWZ1bmN0aW9uKGEpe2lmKFEoYSxILkouYmUpKXJldHVybnt1cmw6ZmsoImh0dHBzOi8vd3d3Lm1lcmNoYW50LWNlbnRlci1hbmFseXRpY3MuZ29vZyIsdm9pZCAwLCIiKSsiL21jL2NvbGxlY3QiLGVuZHBvaW50OjIwfTt2YXIgYj1ZaihlayhhLk0pLCIvZy9jb2xsZWN0Iik7aWYoYilyZXR1cm57dXJsOmIsZW5kcG9pbnQ6MTZ9O3ZhciBjO2M9UShhLEguSi5ybikmJiFRKGEsSC5KLkZjKT8xNzoxNjtyZXR1cm57dXJsOk1tW2NdKHZvaWQgMCksZW5kcG9pbnQ6Y319LG1RPXt9O21RW0YuRC5LYl09ImNpZCI7bVFbRi5ELnhpXT0iZ2N1dCI7bVFbRi5ELkZlXT0iYXJlIjttUVtGLkQuamhdPSJwc2NkbCI7bVFbRi5ELk5kXT0iZXhjaWQiO21RW0YuRC5HaV09CiJfZmlkIjttUVtGLkQuT2xdPSJfZ2VvIjttUVtGLkQuWGNdPSJnZGlkIjttUVtGLkQuTGVdPSJfbmciO21RW0YuRC5NZV09ImZybSI7bVFbRi5ELldmXT0iaXIiO21RW0YuRC5TbF09ImZwIjttUVtGLkQudGJdPSJ1bCI7bVFbRi5ELk1pXT0ibmkiO21RW0YuRC5tcV09InBhZSI7bVFbRi5ELnhoXT0iX3JkaSI7bVFbRi5ELmJkXT0ic3IiO21RW0YuRC5RaV09InRlc3Rvbmx5IjttUVtGLkQuUWVdPSJ0aWQiO21RW0YuRC5SaV09InR0IjttUVtGLkQuQmNdPSJlY19tb2RlIjttUVtGLkQuWm1dPSJndG1fdXAiO21RW0YuRC5jZ109InVhYSI7bVFbRi5ELmRnXT0idWFiIjttUVtGLkQuZWddPSJ1YWZ2bCI7bVFbRi5ELmZnXT0idWFtYiI7bVFbRi5ELmdnXT0idWFtIjsKbVFbRi5ELmhnXT0idWFwIjttUVtGLkQuaWddPSJ1YXB2IjttUVtGLkQuamddPSJ1YXciO21RW0YuRC5vbV09InVyIjttUVtGLkQuWWldPSJfdWlwIjttUVtGLkQubHFdPSJfcHJzIjttUVtGLkQuUGRdPSJscHMiO21RW0YuRC5CZV09ImdjbGdzIjttUVtGLkQuRGVdPSJnY2xzdCI7bVFbRi5ELkNlXT0iZ2NsbHAiO3ZhciBuUT17fTtuUVtGLkQuR2ZdPSJjYyI7blFbRi5ELkhmXT0iY2kiO25RW0YuRC5JZl09ImNtIjtuUVtGLkQuSmZdPSJjbiI7blFbRi5ELkxmXT0iY3MiO25RW0YuRC5NZl09ImNrIjtuUVtGLkQuZWJdPSJjdSI7blFbRi5ELlZmXT0iX3R1IjtuUVtGLkQuemFdPSJkbCI7blFbRi5ELllmXT0iZHAiO25RW0YuRC5VYV09ImRyIjtuUVtGLkQuTWJdPSJkdCI7blFbRi5ELnpoXT0ic2VnIjtuUVtGLkQueGNdPQoic2lkIjtuUVtGLkQuQWhdPSJzY3QiO25RW0YuRC5mYl09InVpZCI7dmFyIG9RPXt9O29RW0YuRC5uaF09Il9ldCI7b1FbRi5ELlZjXT0iZWRpZCI7b1FbRi5ELk1kXT0iZXZuaWQiO00oOTQpJiYob1EuX2V1PSJfZXUiKTt2YXIgcFE9e307cFFbRi5ELkdmXT0iY2MiO3BRW0YuRC5IZl09ImNpIjtwUVtGLkQuSWZdPSJjbSI7cFFbRi5ELkpmXT0iY24iO3BRW0YuRC5MZl09ImNzIjtwUVtGLkQuTWZdPSJjayI7dmFyIHFRPXt9LHJRPShxUVtGLkQuQWNdPTEscVEpLHNRPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGRhLG1hKXtpZihtYSE9PXZvaWQgMCYmIUJvLmhhc093blByb3BlcnR5KGRhKSl7bWE9PT1udWxsJiYobWE9IiIpO3ZhciBQYTt2YXIgRmE9bWE7ZGEhPT1GLkQub2g/UGE9ITE6UShhLEguSi5sZyl8fGJrKFpLKGEpKT8oZS5lY2lkPUZhLFBhPSEwKTpQYT12b2lkIDA7aWYoIVBhKXt2YXIgcWE9bWE7bWE9PT0hMCYmKHFhPSIxIik7bWE9PT0hMSYmKHFhPSIwIik7cWE9ClN0cmluZyhxYSk7dmFyIGliO2lmKGRhIT09Ri5ELk5kJiZkYSE9PUYuRC5NZHx8TSg1MDQpKWlmKG1RW2RhXSlpYj1tUVtkYV0sdltpYl09cWE7ZWxzZSBpZihuUVtkYV0paWI9blFbZGFdLGdbaWJdPXFhO2Vsc2UgaWYob1FbZGFdKWliPW9RW2RhXSxmW2liXT1xYTtlbHNlIGlmKFNiKGRhLCJfJiIpKWliPWRhLnN1YnN0cmluZygyKSx2W2liXT1xYTtlbHNlIGlmKGRhLmNoYXJBdCgwKT09PSJfIil2W2RhXT1xYTtlbHNle3ZhciBYYjtwUVtkYV0/WGI9ITA6ZGEhPT1GLkQuS2Y/WGI9ITE6KHR5cGVvZiBtYSE9PSJvYmplY3QiJiZ1KGRhLG1hKSxYYj0hMCk7WGJ8fHUoZGEsbWEpfWVsc2UgdShkYSxtYSl9fX12YXIgZT17fSxmPXt9LGc9e307ZS52PSIyIjtlLnRpZD1hLnRhcmdldC5kZXN0aW5hdGlvbklkO2UuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxlZjpRKGEsSC5KLkNjKX0pO2UuX3A9JGsoMjUpO2MmJihjLmhhc1VwZHx8Yy5oYWRFcnJvcikmJihlLmVtPWMucGFyYW0pO1EoYSwKSC5KLnJnKSYmKGUuX2dhej0xKTtrUShlLGEpO2F1KCkmJihlLmRtYV9jcHM9WnQoKSk7ZS5kbWE9JHQoKTt2dChFdCgpKSYmKGUudGNmZD1idSgpKTt2YXIgaD1DcChhKTtoJiYoZy50YWdfZXhwPWgpO3ZhciBsPVIoYSxGLkQuWGMpO2wmJihlLmdkaWQ9bCk7Zi5lbj1TdHJpbmcoYS5ldmVudE5hbWUpO2lmKFEoYSxILkoubmcpKXt2YXIgbj1RKGEsSC5KLlltKTtmLl9mdj1uPzI6MX1RKGEsSC5KLkhoKSYmKGYuX25zaT0xKTtpZihRKGEsSC5KLlRlKSl7dmFyIHA9UShhLEguSi5ibik7Zi5fc3M9cD8yOjF9UShhLEguSi5tZykmJihmLl9jPTEpO1EoYSxILkouYWUpJiYoZi5fZWU9MSk7aWYoUShhLEguSi5XbSkpe3ZhciBxPVIoYSxGLkQuSGEpfHxPKGEuTSxGLkQuSGEpO2lmKEFycmF5LmlzQXJyYXkocSkpZm9yKHZhciByPTA7cjxxLmxlbmd0aCYmcjwyMDA7cisrKWZbInByIisocisxKV09dGcocVtyXSl9dmFyIHQ9UihhLEYuRC5WYyk7dCYmKGYuZWRpZD10KTtodChhLGYpO2Zvcih2YXIgdT0KZnVuY3Rpb24oZGEsbWEpe2lmKHR5cGVvZiBtYSE9PSJvYmplY3QifHwhclFbZGFdKXt2YXIgUGE9ImVwLiIrZGEsRmE9ImVwbi4iK2RhO2RhPUFiKG1hKT9GYTpQYTt2YXIgcWE9QWIobWEpP1BhOkZhO2YuaGFzT3duUHJvcGVydHkocWEpJiZkZWxldGUgZltxYV07ZltkYV09U3RyaW5nKG1hKX19LHY9e30seD1tKGV1KGEpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT14Lm5leHQoKSl7dmFyIHo9eS52YWx1ZTtkKHosUihhLHopKX1mb3IodmFyIEM9bShPYmplY3Qua2V5cyh2KS5zb3J0KCkpLEQ9Qy5uZXh0KCk7IUQuZG9uZTtEPUMubmV4dCgpKXt2YXIgST1ELnZhbHVlO2VbSV09dltJXX0oZnVuY3Rpb24oZGEpe2JrKFpLKGEpKSYmdHlwZW9mIGRhPT09Im9iamVjdCImJkdiKGRhfHx7fSxmdW5jdGlvbihtYSxQYSl7dHlwZW9mIFBhIT09Im9iamVjdCImJihlWyJzc3QuIittYV09U3RyaW5nKFBhKSl9KX0pKFIoYSxGLkQub2opKTtidihlLFIoYSxGLkQuZWQpKTt2YXIgRz1SKGEsRi5ELldkKXx8Cnt9O0diKEcsZnVuY3Rpb24oZGEsbWEpe21hIT09dm9pZCAwJiYoKG1hPT09bnVsbCYmKG1hPSIiKSxkYSE9PUYuRC5mYnx8Zy51aWQpP2JbZGFdIT09bWEmJihmWyhBYihtYSk/InVwbi4iOiJ1cC4iKStTdHJpbmcoZGEpXT1TdHJpbmcobWEpLGJbZGFdPW1hKTpnLnVpZD1TdHJpbmcobWEpKX0pO2lmKFdqKCkmJiFEbSgpJiYhYmsoWksoYSkpKXt2YXIgTj1RKGEsSC5KLm9nKTtOP2UuX2dzaWQ9TjplLm5qaWQ9IjEifXZhciBTPVEoYSxILkouVmkpOyhTPT1udWxsP3ZvaWQgMDpTLnZhbHVlKT4wJiYoZS5nYWY9Uy5nZXQoKSk7dmFyIFc9UihhLEYuRC5XYyk7aWYoVylmb3IodmFyIGVhPW0oT2JqZWN0LmtleXMoVykpLGphPWVhLm5leHQoKTshamEuZG9uZTtqYT1lYS5uZXh0KCkpe3ZhciBmYT1qYS52YWx1ZTtmWyJleHQuIitmYV09V1tmYV18fCIifXZhciBzYT1sUShhKTt2Zy5jYWxsKHRoaXMse0JhOmUsdmU6ZyxMajpmfSxzYS51cmwsc2EuZW5kcG9pbnQsWksoYSksdm9pZCAwLAphLnRhcmdldC5kZXN0aW5hdGlvbklkLGEuTS5ldmVudElkLGEuTS5wcmlvcml0eUlkKX07d2Eoc1EsdmcpOwp2YXIgdFE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5yZXBsYWNlKC9cJFx7KFteXH1dKylcfS9nLGZ1bmN0aW9uKGMsZCl7cmV0dXJuIGJbZF18fGN9KX0sdVE9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz0iIixkPWEucGF0aG5hbWUuaW5kZXhPZigiL2cvY29sbGVjdCIpO2Q+PTAmJihjPWEucGF0aG5hbWUuc3Vic3RyaW5nKDAsZCkpO2IudHJhbnNwb3J0X3VybD1hLnByb3RvY29sKyIvLyIrYS5ob3N0bmFtZStjO3ZhciBlO3RyeXtlPWVuY29kZVVSSUNvbXBvbmVudChjfHwiLyIpfWNhdGNoKGYpe2U9ZW5jb2RlVVJJQ29tcG9uZW50KCIvIil9Yi5lbmNvZGVkX3BhdGg9ZTtyZXR1cm4gYn0sdlE9ZnVuY3Rpb24oYSxiKXtpZighTSg1NDYpKXJldHVybnt1cmw6YSxib2R5OmJ9O3ZhciBjPW0oYS5zcGxpdCgiPyIpKSxkPWMubmV4dCgpLnZhbHVlLGU9Yy5uZXh0KCkudmFsdWUsZj1oUShkLGV8fCIiLGJ8fCIiLCEwKSxnPWYuSWMsaD1mLmtmO2E9aCE9PSIiP2crIj8iK2g6ZztiPWYuYm9keTsKcmV0dXJue3VybDphLGJvZHk6Yn19LHhRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1SaihiKSxlPXVRKGQpLGY9dlEoWGcoZCksYyksZz1mdW5jdGlvbihoKXtxeChmLnVybCxmLmJvZHksbmV3IHdRKGUsaCkpJiZhJiZrbi5yZWdpc3RlcihhLDEsZi51cmwpfTshTSgxMzIpfHxOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpP2coKTptTChmLnVybCxmLmJvZHksZSxnKX0sd1E9ZnVuY3Rpb24oYSxiKXtDeC5jYWxsKHRoaXMpO3RoaXMudGVtcGxhdGVzPWE7dGhpcy5OPWJ9O3dhKHdRLEN4KTt3US5wcm90b3R5cGUuWj1mdW5jdGlvbihhKXt2YXIgYj10UShhLHRoaXMudGVtcGxhdGVzKTtyZXR1cm4gdGhpcy5OP2IucmVwbGFjZSgiX2lzX3N3PTAiLHRoaXMuTik6Yn07d1EucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLlooYSk7Q3gucHJvdG90eXBlLksuY2FsbCh0aGlzLGMsYil9O3dRLnByb3RvdHlwZS5IPWZ1bmN0aW9uKGEsYil7dmFyIGM9CnRoaXMuWihhKTtDeC5wcm90b3R5cGUuSC5jYWxsKHRoaXMsYyxiKX07CnZhciB5UT1mdW5jdGlvbihhKXtyZXR1cm4hU2IoYSxGbSgpKSYmIVNiKGEsR20oKSl9LEFRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighbmQoKSlyZXR1cm4gelEoYSxiLGMsZCksITA7WW4oYyxiIT09IiI/YSsiPyIrYjphLGQsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxlfHx7fSx7UWc6ITB9KSx2b2lkIDAsZil8fHpRKGEsYixjLGQpO3JldHVybiEwfSx6UT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iIT09IiI/YSsiPyIrYjphO2Q/V24oYyxlLGQpOlZuKGMsZSl9LENRPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YixnPXBkKCk7ZyE9PXZvaWQgMCYmKGYrPSImdGZkPSIrTWF0aC5yb3VuZChnKSk7Yj1mO3ZhciBoPWErIj8iK2I7aWYoIWJrKGQpfHxjayhkKXx8eFAoKSl7dmFyIGw9aFEoYSxiLGMsYmsoZCkpO2E9bC5JYztiPWwua2Y7Yz1sLmJvZHk7QVEoYSxiLGUsYyx2b2lkIDAsQlEoYSxiLGUsYykpfHx6UShhLGIsZSxjKX1lbHNlIHhRKGUsaCxjKTsKYmsoZCkmJk0oNTY0KSYmbmQoKSYmVGIoYSwiL2cvY29sbGVjdCIpJiZBLmZldGNoKGEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMTApLHttZXRob2Q6IlBPU1QiLGJvZHk6IkNqQU9BVHdjQ0JnTyIsY3JlZGVudGlhbHM6Im9taXQifSl9LEJRPWZ1bmN0aW9uKGEsYixjLGQpe2lmKCF5UShhKSl7dmFyIGU9TW1bNjddKHZvaWQgMCk7aWYoZSlyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZjt2YXIgZz1iLnJlcGxhY2UoL15cPy8sIiIpLGg9TnVtYmVyKElqKGcsImdhZiIsITEpKSxsPTA7TnVtYmVyLmlzSW50ZWdlcihoKSYmKGw9aCk7dmFyIG49bmV3IGVyKGwpO2ZyKG4sMSk7aWYobi52YWx1ZSE9PTApe3ZhciBwLHE9bi5nZXQoKSxyPVJlZ0V4cCgiKF58Wz8mXSlnYWY9W14mXSooJnwkKSIpO3A9ci50ZXN0KGcpP2cucmVwbGFjZShyLCIkMWdhZj0iK3ErIiQyIik6Zy5pbmRleE9mKCI/Iik+PTA/ZysiJmdhZj0iK3E6Z1swXT09PSIvInx8Zy5pbmRleE9mKCI6Ly8iKT49MD9nKyI/Z2FmPSIrCnE6Zy5sZW5ndGg+MD9nKyImZ2FmPSIrcToiZ2FmPSIrcTtmPWIuaW5kZXhPZigiPyIpPT09MD8iPyIrcDpwfWVsc2UgZj12b2lkIDA7QVEoZSxmfHxiLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZW5kcG9pbnQ6Njd9KSxkLGMuZW5kcG9pbnQ9PT0xNz92b2lkIDA6e2NyZWRlbnRpYWxzOiJvbWl0In0pfX19LERRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPWZ1bmN0aW9uKGgpe2QucHVzaChoKyI9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS5CYVtoXSkpfTtkLnB1c2goInY9MiIpO2UoIl9nc2lkIik7ZSgiZ3RtIik7YS5CYS5fZ2VvJiZlKCJfZ2VvIik7dmFyIGY9Imh0dHBzOi8ve2dhNENvbGxlY3Rpb25TdWJkb21haW4ufWdvb2dsZS1hbmFseXRpY3MuY29tL2cvcy9jb2xsZWN0Ii5yZXBsYWNlKCJ7Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59IiwoYnx8Ind3dyIpKyIuIiksZz1kLmpvaW4oIiYiKTt6UShmLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwKIiIsZW5kcG9pbnQ6NjIsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9KTtNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZisiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjYyfSxxYjpjfSl9LEVRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iaHR0cHM6Ly97Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59YW5hbHl0aWNzLmdvb2dsZS5jb20vZy9zL2NvbGxlY3QiLnJlcGxhY2UoIntnYTRDb2xsZWN0aW9uU3ViZG9tYWluLn0iLGI/YisiLiI6IiIpLGU9W10sZj1mdW5jdGlvbihoKXtlLnB1c2goaCsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK2EuQmFbaF0pKX07ZigiX2dzaWQiKTtmKCJndG0iKTthLkJhLl9nZW8mJmYoIl9nZW8iKTt2YXIgZz1lLmpvaW4oIiYiKTt6UShkLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOCxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pOwpNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjE4fSxxYjpjfSl9LEZRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtjJiZiLnB1c2goInRhZ19leHA9IitjKTtiLnB1c2goIno9IitEYigpKTtpZighZSl7dmFyIGc9ZCYmU2IoZCwiZ29vZ2xlLiIpJiZkIT09Imdvb2dsZS5jb20iPyJodHRwczovL3d3dy4lL2Fkcy9nYS1hdWRpZW5jZXM/dj0xJnQ9c3Imc2xmX3JkPTEmX3I9NCYiLnJlcGxhY2UoIiUiLGQpOnZvaWQgMDtpZihnKXt2YXIgaD1nK2Iuam9pbigiJiIpO1huKHtkZXN0aW5hdGlvbklkOmEuZGVzdGluYXRpb25JZHx8IiIsZW5kcG9pbnQ6NDcsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9LGgpO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDpoLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6NDd9LHFiOmZ9KX19fSxHUT0KZnVuY3Rpb24oYSxiLGMsZCl7YyYmYi5wdXNoKCJ0YWdfZXhwPSIrYyk7elEoImh0dHBzOi8vc3RhdHMuZy5kb3VibGVjbGljay5uZXQvZy9jb2xsZWN0Iiwidj0yJiIrYi5qb2luKCImIikse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOSxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDoiaHR0cHM6Ly9zdGF0cy5nLmRvdWJsZWNsaWNrLm5ldC9nL2NvbGxlY3Q/dj0yJiIrYi5qb2luKCImIikscGFyYW1ldGVyRW5jb2Rpbmc6MixlbmRwb2ludDoxOX0scWI6ZH0pfSxIUT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGModil7cS5wdXNoKHYrIj0iK2VuY29kZVVSSUNvbXBvbmVudCgiIithLkJhW3ZdKSl9dmFyIGQ9Yi54dCxlPWIuQnQsZj1iLkF0LGc9Yi56dCxoPWIuWnIsbD1iLkNzLG49Yi5QcixwPWIuR3Q7aWYoZHx8ZXx8Znx8Zyl7dmFyIHE9CltdO2EuQmEuX25nJiZjKCJfbmciKTthLkJhLm5ncyYmYygibmdzIik7YS5CYS5pYnQmJmMoImlidCIpO2MoInRpZCIpO2MoImNpZCIpO2MoImd0bSIpO2Zvcih2YXIgcj1tKE9GKSx0PXIubmV4dCgpOyF0LmRvbmU7dD1yLm5leHQoKSl7dmFyIHU9dC52YWx1ZTthLkJhW3VdIT1udWxsJiZjKHUpfXEucHVzaCgiYWlwPTEiKTthLnZlLnVpZCYmcS5wdXNoKCJ1aWQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS52ZS51aWQpKTtjKCJkbWEiKTthLkJhLmRtYV9jcHMhPW51bGwmJmMoImRtYV9jcHMiKTthLkJhLmdjcyE9bnVsbCYmYygiZ2NzIik7YygiZ2NkIik7YS5CYS5ucGEhPW51bGwmJmMoIm5wYSIpO2EuQmEuZnJtIT1udWxsJiZjKCJmcm0iKTtkJiZHUShhLHEuc2xpY2UoKSxwLGIucWIpO2UmJkZRKGEscS5zbGljZSgpLHAsaCxsLGIucWIpO2YmJkVRKGEsbixiLnFiKTtnJiZEUShhLG4sYi5xYil9fSxJUT1mdW5jdGlvbigpe3RoaXMuUj0xO3RoaXMuWj17fTt0aGlzLks9LTE7dGhpcy5IPQpuZXcgd2d9O0lRLnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcyxkPW5ldyBzUShhLHRoaXMuWixiKSxlPXtldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9LGY9eVAoYSksZyxoO2YmJnRoaXMuSC5SKGQpfHx0aGlzLmZsdXNoKCk7dmFyIGw9ZiYmdGhpcy5ILmFkZChkKTtpZihsKXtpZih0aGlzLks8MCl7dmFyIG49QSxwPW4uc2V0VGltZW91dCxxO2JrKFpLKGEpKT9KUT8oSlE9ITEscT1LUSk6cT1MUTpxPTVFMzt0aGlzLks9cC5jYWxsKG4sZnVuY3Rpb24oKXtjLmZsdXNoKCl9LHEpfX1lbHNle3ZhciByPXpnKGQsdGhpcy5SKyspLHQ9ci5wYXJhbXMsdT1yLmJvZHk7Zz10O2g9dTtGeSgzLGEuZXZlbnROYW1lKTtDUShkLmJhc2VVcmwsdCx1LGQuTix7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmQuZW5kcG9pbnQsZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTsKdmFyIHY9UShhLEguSi5oZCkseD1RKGEsSC5KLnJnKSx5PVEoYSxILkouTmgpLHo9UShhLEguSi5NaCksQz1PKGEuTSxGLkQudWkpIT09ITEsRD1TdChhLk0pLEk9e3h0OnYsQnQ6eCxBdDp5LHp0OnosWnI6RW0oKSxtdjpDLGx2OkQsQ3M6QW0oKSxxYjplLE06YS5NLFByOkRtKCksR3Q6Q3AoYSl9O0hRKGQsSSl9Zm4uSCYmQXooYS5NLmV2ZW50SWQpO05sKGZ1bmN0aW9uKCl7aWYobCl7dmFyIEc9emcoZCksTj1HLmJvZHk7Zz1HLnBhcmFtcztoPU59cmV0dXJue3RhcmdldElkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQscmVxdWVzdDp7dXJsOmQuYmFzZVVybCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLHBvc3RCb2R5OmgsZW5kcG9pbnQ6ZC5lbmRwb2ludH0scWI6ZSxpc0JhdGNoZWQ6ITF9fSl9O0lRLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7WUsoYSkmJiF4UCgpP3RoaXMuZmEoYSk6dGhpcy5OKGEpfTtJUS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLkguZXZlbnRzLmxlbmd0aCl7dmFyIGE9CkJnKHRoaXMuSCx0aGlzLlIrKyk7Q1EodGhpcy5ILmJhc2VVcmwsYS5wYXJhbXMsYS5ib2R5LHRoaXMuSC5LLHtkZXN0aW5hdGlvbklkOnRoaXMuSC5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDp0aGlzLkguZW5kcG9pbnQsZXZlbnRJZDp0aGlzLkguWixwcmlvcml0eUlkOnRoaXMuSC5mYX0pO3RoaXMuSD1uZXcgd2c7dGhpcy5LPj0wJiYoQS5jbGVhclRpbWVvdXQodGhpcy5LKSx0aGlzLks9LTEpfX07SVEucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1ZSyhhKTtNKDU2OCkmJiFNKDU4NikmJlIoYSxGLkQuQmMpPT09ImEiJiYoYz1jdyhjKSk7aWYoRXcoYykpe3ZhciBkPXN3KGMpO2Q/ZC50aGVuKGZ1bmN0aW9uKGYpe2IuTihhLGYpfSxmdW5jdGlvbigpe2IuTihhKX0pOnRoaXMuTihhKX1lbHNle3ZhciBlPUR3KGMpO3RoaXMuTihhLGUpfX07dmFyIEtRPU5mKDI0LDUwMCksTFE9TmYoNTYsNUUzKSxKUT0hMDt2YXIgTVE9ZnVuY3Rpb24oYSl7dmFyIGI9U3QoYS5NKTtPKGEuTSxGLkQuV2IpPT09ITAmJihiPSExKTtWKGEsSC5KLndkLGIpfTsKdmFyIE5RPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwJiYoYz17fSk7aWYoYj09bnVsbClyZXR1cm4gYztpZih0eXBlb2YgYj09PSJvYmplY3QiKWZvcih2YXIgZD1tKE9iamVjdC5rZXlzKGIpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtOUShhKyIuIitmLGJbZl0sYyl9ZWxzZSBjW2FdPWI7cmV0dXJuIGN9LE9RPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7YltlXT0hIVhvKGUpfXJldHVybiBifSxRUT1mdW5jdGlvbihhLGIpe3ZhciBjPVBRLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hWG8oZSl9KTtpZihjLmxlbmd0aCl7dmFyIGQ9T1EoYyk7JG8oYyxmdW5jdGlvbigpe2Zvcih2YXIgZT1PUShjKSxmPVtdLGc9bShjKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZTshZFtsXSYmZVtsXSYmZi5wdXNoKGwpO2VbbF0mJgooZFtsXT0hMCl9aWYoZi5sZW5ndGgpe1YoYixILkouR2gsITApO3ZhciBuPWYubWFwKGZ1bmN0aW9uKHApe3JldHVybiBMb1twXX0pLmpvaW4oIi4iKTtuJiZXSyhiLCJnY3V0IixuKTtNUShiKTthKGIpfX0pfX0sUlE9ZnVuY3Rpb24oYSl7UihhLEYuRC5XYykmJiFiayhaSyhhKSkmJlUoYSxGLkQuV2MpfSxTUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsIm5hdnQiLHFkKCkpfSxUUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsImxwYyIsaXIoKSl9LFVRPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9TyhhLk0sRi5ELldiKSxjO2I9PT0hMCYmKGM9IjEiKTtiPT09ITEmJihjPSIwIik7YyYmV0soYSwicmRwIixjKX19LFZRPWZ1bmN0aW9uKGEsYil7aWYoYmsoWksoYikpKXt2YXIgYz1RKGIsSC5KLm1nKTsoYi5ldmVudE5hbWU9PT0icGFnZV92aWV3Inx8YykmJlFRKGEsYil9fSxXUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkmJmEuZXZlbnROYW1lPT09Ri5ELnlmJiYKUShhLEguSi5HaCkpe3ZhciBiPVIoYSxGLkQueGkpO2ImJihXSyhhLCJnY3V0IixiKSxXSyhhLCJzeW4iLDEpKX19LFhRPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09YilyZXR1cm4gV2ooKSYmU2IoYysiLyIsWGooKSsiLyIpPyI3IjoiMSI7aWYoVGIoYSwiLiIrYikpcmV0dXJuIjIiO2lmKFRiKGIsIi4iK2EpKXJldHVybiIzIjt2YXIgZD1hLnNwbGl0KCIuIiksZT1iLnNwbGl0KCIuIiksZj1mdW5jdGlvbihnKXtpZihkLmxlbmd0aDxnfHxlLmxlbmd0aDxnKXJldHVybiExO2Zvcih2YXIgaD0xO2g8PWc7aCsrKWlmKGRbZC5sZW5ndGgtaF0hPT1lW2UubGVuZ3RoLWhdKXJldHVybiExO3JldHVybiEwfTtyZXR1cm4gZigzKT8iNiI6ZigyKT8iNSI6IjQifSxZUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe3ZhciBiPWVrKGEuTSk7aWYoYil7dmFyIGM9WWooYiwiLyIpLGQ9UmooYyksZT1OaihkLCJob3N0IiksZj1OaihBLmxvY2F0aW9uLCJob3N0Iik7aWYoZSYmZil7dmFyIGc9TmooZCwKInBhdGgiKTthLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEse3NzdGQ6WFEoZSxmLGcpfSl9fX19LFpRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmVihhLEguSi5KYSwhMSl9LCRRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmKFEoYSxILkouSmEpJiZXSyhhLCJzcCIsMSksUShhLEguSi5JcSkmJldLKGEsInN5biIsMSksUShhLEguSi5QYykmJihXSyhhLCJlbV9ldmVudCIsMSksV0soYSwic3AiLDEpKSl9LGFSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9JGsoMjUpO2ImJldLKGEsInRmdCIsTnVtYmVyKGIpKX19LGJSPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZSl7dmFyIGY9TlEoRi5ELkFjLGUpO0diKGYsZnVuY3Rpb24oZyxoKXtVKGEsZyxoKX0pfWlmKGJrKFpLKGEpKSl7dmFyIGM9ZEkoYSwiY2NkX2FkZF8xcF9kYXRhIiwhMSk/MTowO1dLKGEsInVkZSIsYyk7dmFyIGQ9TyhhLk0sRi5ELkFjKTtkIT09dm9pZCAwPyhadihkKSxiKGQpLFUoYSxGLkQuQmMsImMiKSk6CmIoUShhLEguSi5ZYSkpO1YoYSxILkouWWEpfX0sY1I9ZnVuY3Rpb24oYSl7aWYoYmsoWksoYSkpKXt2YXIgYj1WTSgpO2ImJldLKGEsInVzX3ByaXZhY3kiLGIpO3ZhciBjPUx0KCk7YyYmV0soYSwiZ2RwciIsYyk7dmFyIGQ9S3QoKTtkJiZXSyhhLCJnZHByX2NvbnNlbnQiLGQpO3ZhciBlPWtGLmdwcFN0cmluZztlJiZXSyhhLCJncHAiLGUpO3ZhciBmPWtGLkg7ZiYmV0soYSwiZ3BwX3NpZCIsZil9fSxkUj1mdW5jdGlvbihhKXtiayhaSyhhKSkmJkVsKCkmJk8oYS5NLEYuRC5tYikmJldLKGEsImFkciIsMSl9LGVSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9RG0oKTtiJiZXSyhhLCJnY3N1YiIsYil9fSxmUj1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe08oYS5NLEYuRC5TYyx2b2lkIDAsNCk9PT0hMSYmV0soYSwibmdzIiwxKTtBbSgpJiZXSyhhLCJnYV9yZCIsMSk7VksoKXx8V0soYSwibmdzdCIsMSk7dmFyIGI9RW0oKTtiJiZXSyhhLCJldGxkIixiKX19LGdSPQpmdW5jdGlvbihhKXt9LGhSPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmRWwoKSYmV0soYSwicm5kIixRTSgpKX0sUFE9W0YuRC5rYSxGLkQubWEsRi5ELlhhXTsKdmFyIGlSPWZ1bmN0aW9uKGEsYil7dmFyIGM7YTp7aWYoIVEoYSxILkouRmMpKXt2YXIgZD1UUChhKTtpZihkKXtpZihSUChkLGEpKXtjPWQ7YnJlYWsgYX1QKDI1KTthLmlzQWJvcnRlZD0hMH19Yz12b2lkIDB9dmFyIGU9YztyZXR1cm57Y2xpZW50SWQ6RVAoYSxiKSx6YjplfX0salI9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1RbyhPKGEuTSxGLkQuS2IpKTtpZihPKGEuTSxGLkQuWmMpJiZPKGEuTSxGLkQuWWMpKWY/Q1AoYSxmLDEpOihQKDEyNyksYS5pc0Fib3J0ZWQ9ITApO2Vsc2V7dmFyIGc9Zj8xOjg7VihhLEguSi5IaCwhMSk7Znx8KGY9RlAoYSksZz0zKTtmfHwoZj1iLGc9NSk7aWYoIWYpe3ZhciBoPVhvKEYuRC5yYSksbD16UCgpO2Y9IWwuZnJvbV9jb29raWV8fGg/bC52aWQ6dm9pZCAwO2c9Nn1mP2Y9IiIrZjooZj1BdigpLGc9NyxWKGEsSC5KLm5nLCEwKSxWKGEsSC5KLkhoLCEwKSk7Q1AoYSxmLGcpfVIoYSxGLkQuS2IpO2lmKCFRKGEsSC5KLkZjKSl7dmFyIG49ClEoYSxILkouRWIpLHA9TWF0aC5mbG9vcihuLzFFMykscT12b2lkIDA7UShhLEguSi5IaCl8fChxPVNQKGEpfHxjKTt2YXIgcj1JYihPKGEuTSxGLkQueWgsMzApKTtyPU1hdGgubWluKDQ3NSxyKTtyPU1hdGgubWF4KDUscik7dmFyIHQ9SWIoTyhhLk0sRi5ELlBpLDFFNCkpLHU9TFAocSk7VihhLEguSi5uZywhMSk7VihhLEguSi5UZSwhMSk7VihhLEguSi5wZywwKTt1JiZ1LmomJlYoYSxILkoucGcsTWF0aC5tYXgoMCx1LmotTWF0aC5tYXgoMCxwLXUudCkpKTt2YXIgdj0hMTtpZighdSl7VihhLEguSi5uZywhMCk7dj0hMDt2YXIgeD17fTt1PSh4LnM9U3RyaW5nKHApLHgubz0xLHguZz0hMSx4LnQ9cCx4Lmw9ITEseC5oPXZvaWQgMCx4KX1wPnUudCtyKjYwJiYodj0hMCx1LnM9U3RyaW5nKHApLHUubysrLHUuZz0hMSx1Lmg9dm9pZCAwKTtpZih2KVYoYSxILkouVGUsITApLGQubHMoYSk7ZWxzZSBpZihkLlhyKCk+dHx8YS5ldmVudE5hbWU9PT1GLkQuc2MpdS5nPSEwO1EoYSxILkoubGcpPwpPKGEuTSxGLkQuZmIpP3UubD0hMDp1Lmw9ITE6dS5sPSExO3ZhciB5PXUuaDtpZihRKGEsSC5KLmxnKXx8YmsoWksoYSkpKXt2YXIgej1PKGEuTSxGLkQub2gpLEM9ej8xOjg7enx8KHo9eSxDPTQpO3p8fCh6PXp2KCksQz03KTt2YXIgRD16LnRvU3RyaW5nKCksST1DLEc9UShhLEguSi50bCk7aWYoRz09PXZvaWQgMHx8STw9RylVKGEsRi5ELm9oLEQpLFYoYSxILkoudGwsSSl9ZT8oYS5jb3B5VG9IaXREYXRhKEYuRC54Yyx1LnMpLGEuY29weVRvSGl0RGF0YShGLkQuQWgsdS5vKSxhLmNvcHlUb0hpdERhdGEoRi5ELnpoLHUuZz8xOjApKTooVShhLEYuRC54Yyx1LnMpLFUoYSxGLkQuQWgsdS5vKSxVKGEsRi5ELnpoLHUuZz8xOjApKTtWKGEsSC5KLnJtLHUubD8xOjApO1dqKCkmJlYoYSxILkoub2csdS5kfHxjYygpKX19Owp2YXIga1I9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCI/IiksYz1iPT09LTE/YTphLnN1YnN0cmluZygwLGIpLGQ9S2ooYyk7ZCYmKGM9ZCk7cmV0dXJuIGI9PT0tMT9jOiIiK2MrYS5zdWJzdHJpbmcoYil9LGxSPWZ1bmN0aW9uKGEpe2lmKCFPKGEuTSxGLkQuWWMpfHwhTyhhLk0sRi5ELlpjKSl7dmFyIGI9YS5jb3B5VG9IaXREYXRhLGM9Ri5ELnphLGQ9IiIsZT1CLmxvY2F0aW9uO2lmKGUpe3ZhciBmPWUucGF0aG5hbWV8fCIiO2YuY2hhckF0KDApIT09Ii8iJiYoZj0iLyIrZik7dmFyIGc9ZS5zZWFyY2h8fCIiO2lmKGdbMF09PT0iPyIpZm9yKHZhciBoPWcuc3Vic3RyaW5nKDEpLnNwbGl0KCImIiksbD0wO2w8aC5sZW5ndGg7KytsKXt2YXIgbj1oW2xdLnNwbGl0KCI9Iik7biYmbi5sZW5ndGg9PT0yJiZuWzBdPT09IndicmFpZCImJihnPWcucmVwbGFjZSgvKFs/Jl0pd2JyYWlkPVteJl0rLywiJDF3YnJhaWQ9IiskYihuWzFdKSkpfWQ9ZS5wcm90b2NvbCsiLy8iK2UuaG9zdG5hbWUrCmYrZ31iLmNhbGwoYSxjLGQsa1IpO3ZhciBwPWEuY29weVRvSGl0RGF0YSxxPUYuRC5VYSxyPXVBKCJndG0uZ3RhZ1JlZmVycmVyLiIrYS50YXJnZXQuZGVzdGluYXRpb25JZCksdD1CLnJlZmVycmVyO3AuY2FsbChhLHEsKHI/IiIrcjp0KXx8dm9pZCAwLGtSKTthLmNvcHlUb0hpdERhdGEoRi5ELk1iLEIudGl0bGUpO2EuY29weVRvSGl0RGF0YShGLkQudGIsKEhjLmxhbmd1YWdlfHwiIikudG9Mb3dlckNhc2UoKSk7dmFyIHU9cUkoKTthLmNvcHlUb0hpdERhdGEoRi5ELmJkLHUud2lkdGgrIngiK3UuaGVpZ2h0KTthLmNvcHlUb0hpdERhdGEoRi5ELllmLHZvaWQgMCxrUik7VE0oKSYmYS5jb3B5VG9IaXREYXRhKEYuRC5QZCwiMSIpfX07dmFyIG5SPWZ1bmN0aW9uKGEpe3ZhciBiPXhDKGEuTSksYz1mdW5jdGlvbihkLGUpe21SW2RdJiZVKGEsZCxlKX07Q2QoYltGLkQuS2ZdKT9HYihiW0YuRC5LZl0sZnVuY3Rpb24oZCxlKXtjKChGLkQuS2YrIl8iK2QpLnRvTG93ZXJDYXNlKCksZSl9KTpHYihiLGMpfSxvUj17fSxtUj0ob1JbRi5ELkdmXT0xLG9SW0YuRC5IZl09MSxvUltGLkQuSWZdPTEsb1JbRi5ELkpmXT0xLG9SW0YuRC5MZl09MSxvUltGLkQuTWZdPTEsb1IpO3ZhciBwUj1mdW5jdGlvbihhKXtpZighYmsoWksoYSkpJiZRKGEsSC5KLm1nKSYmWG8oRi5ELmthKSYmZEkoYSwiZ2E0X2Fkc19saW5rZWQiLCExKSl7dmFyIGI9TEsoYSksYz1IcihiLnByZWZpeCksZD1ScyhjKTtVKGEsRi5ELkJlLGQuRWcpO1UoYSxGLkQuRGUsZC5XaCk7VShhLEYuRC5DZSxkLlVoKX19O3ZhciBxUj1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpO2ImJklQKEouVS54bik7UShhLEguSi5QYykmJklQKEouVS5Oayk7dmFyIGM9eWsoemsoKSk7KGJ8fE1rKGMpfHxjJiZjLnBhcmVudCYmYy5jb250ZXh0JiZjLmNvbnRleHQuc291cmNlPT09NSkmJklQKEouVS5mbik7UShhLEguSi5jaikmJklQKEouVS5JbSk7UShhLEguSi5iaikmJklQKEouVS5IbSl9O3ZhciByUj1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLlZpKXx8bmV3IGVyO1EoYSxILkouYmopJiZRKGEsSC5KLmNqKSYmZnIoYiwyKTtWKGEsSC5KLlZpLGIpfTtmdW5jdGlvbiBzUihhKXthLmNvcHlUb0hpdERhdGEoRi5ELmZiKTt2YXIgYj1PKGEuTSxGLkQuV2QpO2ImJihLQyhiLGZ1bmN0aW9uKCl7fSksVShhLEYuRC5XZCxiKSl9O3ZhciB1Uj1mdW5jdGlvbihhKXtpZih0Ui5Nci5yZXBsYWNlKC9ccysvZywiIikuc3BsaXQoIiwiKS5pbmRleE9mKGEuZXZlbnROYW1lKT49MClhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPVhLKGEpO2ImJmIuYmxhY2tsaXN0ZWQmJihhLmlzQWJvcnRlZD0hMCl9fSx0Uj17TXI6TGYoMzEpfTtmdW5jdGlvbiB2UihhKXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4hIWMmJmMuY29udmVyc2lvbn07VihhLEguSi5tZyxiKFhLKGEpKSk7UShhLEguSi5uZykmJlYoYSxILkouWW0sYihYSyhhLCJmaXJzdF92aXNpdCIpKSk7UShhLEguSi5UZSkmJlYoYSxILkouYm4sYihYSyhhLCJzZXNzaW9uX3N0YXJ0IikpKX07dmFyIHdSPWZ1bmN0aW9uKGEpe0ZvLmhhc093blByb3BlcnR5KGEuZXZlbnROYW1lKSYmKFYoYSxILkouV20sITApLGEuY29weVRvSGl0RGF0YShGLkQuSGEpLGEuY29weVRvSGl0RGF0YShGLkQuZWIpKX07dmFyIHhSPWZ1bmN0aW9uKGEpe1EoYSxILkouYmUpP1YoYSxILkoubGcsITEpOmRJKGEsImNjZF9hZGRfZWNfc3RpdGNoaW5nIiwhMSkmJlYoYSxILkoubGcsITApfTt2YXIgeVI9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5wZyk7Yj1ifHwwO3ZhciBjPSEhUShhLEguSi5zYSksZD1iPT09MHx8YztWKGEsSC5KLmVqLGQpO2QmJlYoYSxILkoucGcsNjApfTt2YXIgQVI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9U3RyaW5nKHpSLmNvb2tpZSkuc3BsaXQoIjsiKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF0uc3BsaXQoIj0iKSxmPWVbMF0udHJpbSgpO2lmKGYmJmEoZikpe3ZhciBnPWUuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtnJiYoZz1kZWNvZGVVUklDb21wb25lbnQoZykpO3ZhciBoPXZvaWQgMCxsPXZvaWQgMDsoKGg9YilbbD1mXXx8KGhbbF09W10pKS5wdXNoKGcpfX1yZXR1cm4gYn07dmFyIEJSPXdpbmRvdyx6Uj1kb2N1bWVudCxDUj1mdW5jdGlvbihhKXt2YXIgYj1CUi5fZ2FVc2VyUHJlZnM7aWYoYiYmYi5pb28mJmIuaW9vKCl8fHpSLmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhdGEtZ29vZ2xlLWFuYWx5dGljcy1vcHQtb3V0Iil8fGEmJkJSWyJnYS1kaXNhYmxlLSIrYV09PT0hMClyZXR1cm4hMDt0cnl7dmFyIGM9QlIuZXh0ZXJuYWw7aWYoYyYmYy5fZ2FVc2VyUHJlZnMmJmMuX2dhVXNlclByZWZzPT0ib28iKXJldHVybiEwfWNhdGNoKGYpe31mb3IodmFyIGQ9QVIoZnVuY3Rpb24oZil7cmV0dXJuIGY9PT0iQU1QX1RPS0VOIn0pLkFNUF9UT0tFTnx8W10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWlmKGRbZV09PSIkT1BUX09VVCIpcmV0dXJuITA7cmV0dXJuIHpSLmdldEVsZW1lbnRCeUlkKCJfX2dhT3B0T3V0RXh0ZW5zaW9uIik/ITA6ITF9O3ZhciBEUj1mdW5jdGlvbihhKXtpZihDUihhLnRhcmdldC5kZXN0aW5hdGlvbklkKSlQKDI4KSxhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPXhrKCk7aWYoYiYmQXJyYXkuaXNBcnJheShiLmRlc3RpbmF0aW9ucykpZm9yKHZhciBjPTA7YzxiLmRlc3RpbmF0aW9ucy5sZW5ndGg7YysrKWlmKENSKGIuZGVzdGluYXRpb25zW2NdKSl7UCgxMjUpO2EuaXNBYm9ydGVkPSEwO2JyZWFrfX19O3ZhciBFUj1mdW5jdGlvbihhKXt2YXIgYj1CLmxvY2F0aW9uLnByb3RvY29sO2IhPT0iaHR0cDoiJiZiIT09Imh0dHBzOiImJihQKDI5KSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBGUj1mdW5jdGlvbihhKXtIYyYmSGMubG9hZFB1cnBvc2U9PT0icHJldmlldyImJihQKDMwKSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBHUj1mdW5jdGlvbihhLGIpe2IuVGomJihWKGEsSC5KLnNhLCEwKSxiLlRqPSExLFdqKCkmJlYoYSxILkoub2csY2MoKSkpfTt2YXIgSFI9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjLGQpe0JvW2NdfHxkPT09dm9pZCAwfHxVKGEsYyxkKX1NKDU1MCkmJkdiKGEuTS5XYSxiKTtHYihhLk0uaGIsYik7R2IoYS5NLkVhLGIpfTt2YXIgSVI9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWU9PT1GLkQud2EmJihPKGEuTSxGLkQuVGQsITApPyhhLk0uRWFbRi5ELk9hXSYmKE0oNTUwKSYmKGEuTS5XYVtGLkQuT2FdPWEuTS5FYVtGLkQuT2FdKSxhLk0uaGJbRi5ELk9hXT1hLk0uRWFbRi5ELk9hXSxhLk0uRWFbRi5ELk9hXT12b2lkIDAsVShhLEYuRC5PYSkpLGEuZXZlbnROYW1lPUYuRC5zYyk6YS5pc0Fib3J0ZWQ9ITApfTsKdmFyIEpSPWZ1bmN0aW9uKGEpe2lmKE0oMTMyKSl7dmFyIGI9WksoYSk7aWYoYmsoYikpaWYoY2soYikpY2soWksoYSkpJiZhLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEseyIzcGQiOiIxIn0pO2Vsc2UgaWYoIShOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpKSYmWG8oRi5ELnJhKSl7VihhLEguSi5kbiwhMCk7YmsoWksoYSkpJiZXSyhhLCJzd19leHAiLDEpO2E6e2lmKCFNKDEzMil8fCFiayhaSyhhKSl8fGNrKFpLKGEpKSlicmVhayBhO2I6e3ZhciBjPXtvdDpZaihlayhhLk0pLCIvXy9zZXJ2aWNlX3dvcmtlciIpfSxkO2Q9KGM9PT12b2lkIDA/e306Yykub3Q7dmFyIGU9aUwoZCk7aWYoZT09PW51bGx8fCFiZygiaW50ZXJuYWxfc3dfYWxsb3dlZCIsIiIpfHxqTChlLm9yaWdpbikpYnJlYWsgYjsKaWYoIUljKCkpe2dMKCkuSyh2b2lkIDAsdm9pZCAwLDYpO2JyZWFrIGJ9dmFyIGY9bmV3IGtMKGUpO29tKGptLmJhLk9oLHt9KVtlLm9yaWdpbl09Zjt9fX19fTt2YXIgTFI9ZnVuY3Rpb24oYSl7YS5jb3B5VG9IaXREYXRhKEYuRC5PbCk7TyhhLk0sRi5ELnhoKSYmKFUoYSxGLkQueGgsITApLGJrKFpLKGEpKXx8S1IoYSkpfSxLUj1mdW5jdGlvbihhKXt2YXIgYj1GLkQuYmQsYztjfHwoYz1mdW5jdGlvbigpe30pO1IoYSxiKSE9PXZvaWQgMCYmVShhLGIsYyhSKGEsYikpKX07dmFyIE1SPSJnY2xpZCBkY2xpZCBnY2xzcmMgd2JyYWlkIGdicmFpZCBnYWRfc291cmNlIGdhZF9jYW1wYWlnbmlkIHV0bV9zb3VyY2UgdXRtX21lZGl1bSB1dG1fY2FtcGFpZ24gdXRtX3Rlcm0gdXRtX2NvbnRlbnQgdXRtX2lkIi5zcGxpdCgiICIpO2Z1bmN0aW9uIE5SKCl7dmFyIGE9Qi5sb2NhdGlvbixiLGM9YT09bnVsbD92b2lkIDA6KGI9YS5zZWFyY2gpPT1udWxsP3ZvaWQgMDpiLnJlcGxhY2UoIj8iLCIiKSxkO2lmKGMpe2Zvcih2YXIgZT1bXSxmPUpqKGMsITApLGc9bShNUiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWUsbj1mW2xdO2lmKG4pZm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07cSE9PXZvaWQgMCYmZS5wdXNoKHtuYW1lOmwsdmFsdWU6cX0pfX1kPWV9ZWxzZSBkPVtdO3JldHVybiBkfTt2YXIgT1I9ZnVuY3Rpb24oYSl7dmFyIGI9TSgyNjYpLGM9TSgyNjcpO2lmKGJ8fGMpe3ZhciBkPVIoYSxGLkQuemEpO2lmKGQmJmQuaW5kZXhPZigiPyIpPT09LTEpe3ZhciBlPU5SKCk7aWYoZS5sZW5ndGghPT0wJiYoYiYmSVAoSi5VLkdtKSxjKSl7SVAoSi5VLkZtKTt2YXIgZj1lLm1hcChmdW5jdGlvbihnKXtyZXR1cm4gZy5uYW1lKyI9IitnLnZhbHVlfSkuam9pbigiJiIpO1UoYSxGLkQuemEsZCsiPyIrZil9fX19O3ZhciBQUj1bRi5ELnJhLEYuRC5rYV0sUVI9W0YuRC5yYSxGLkQua2EsRi5ELm1hXTsKZnVuY3Rpb24gUlIoYSl7dmFyIGIsYz1NKDUwNikmJiFkSShhLCJjY2RfZ2FfYWRzX2lkc19vcHRfb3V0IiwhMSksZD0hIWRJKGEsImdvb2dsZV9uZyIsITEpLGU9WG8oYz9kP1FSOmZwOlBSKSxmO2Y9ZEkoYSxGLkQuVWYsTyhhLk0sRi5ELlVmKSl8fCEhZEkoYSwiZ29vZ2xlX25nIiwhMSk7Yj17aGY6YyxFczpkLEdvOmUsZmY6ZixMZzohIWRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSksYmk6QW0oKSxHajohVksoKSxGczpiayhaSyhhKSksRHM6ISFRKGEsSC5KLmJlKSxHczohIVEoYSxILkouVGUpLHVzOiEhTyhhLk0sRi5ELk5sKSxLczohIVEoYSxILkouZWopLHhnOk8oYS5NLEYuRC5TYyksbnI6TyhhLk0sRi5ELlNjLHZvaWQgMCw0KSxIczohIVEoYSxILkouRmMpfTtWKGEsSC5KLmNqLGIuZmYpO1YoYSxILkouYmosU1IoYikpO2IuaGYmJiFiLmZmJiZiLkxnJiZTUihiKSYmVShhLCJfJmlidCIsIjEiKTtTUihiKSYmYi5HbyYmKGIuaGY/Yi54ZyE9PSExfHxiLkxnOjEpJiZWKGEsCkguSi5ybiwhMCk7Yi5FcyYmIWIuYmkmJlUoYSxGLkQuTGUsMSk7KGIuaGY/Yi54ZzpiLm5yKT09PSExJiZVKGEsIl8mbmdzIiwiMSIpO1YoYSxILkouaGQsVFIoYikmJihiLkdzfHxiLnVzKSk7VihhLEguSi5yZyxUUihiKSYmYi5LcyYmIWIuYmkpfWZ1bmN0aW9uIFNSKGEpe3JldHVybiBhLmhmPyhhLkxnfHxhLmZmKSYmIWEuYmkmJiFhLkdqOmEuZmYmJmEueGchPT0hMSYmIWEuR2omJiFhLmJpfWZ1bmN0aW9uIFRSKGEpe2lmKGEuSHMpcmV0dXJuITE7aWYoYS5oZil7aWYoIWEuZmYmJiFhLkxnKXJldHVybiExfWVsc2UgaWYoIWEuZmYpcmV0dXJuITE7cmV0dXJuIGEuRnN8fGEuRHN8fGEuR2p8fChhLmhmP2EueGc9PT0hMSYmIWEuTGc6YS54Zz09PSExKXx8IWEuR28/ITE6ITB9O3ZhciBVUj1mdW5jdGlvbihhKXtzTCgpJiZVKGEsRi5ELkZlLCIxIil9O3ZhciBWUj1mdW5jdGlvbihhKXt2YXIgYj17cHJlZml4OlN0cmluZyhPKGEuTSxGLkQubmIsIiIpKSxwYXRoOlN0cmluZyhPKGEuTSxGLkQudmMsIi8iKSksZmxhZ3M6U3RyaW5nKE8oYS5NLEYuRC5UYiwiIikpLGRvbWFpbjpTdHJpbmcoTyhhLk0sRi5ELkxiLCJhdXRvIikpLHBkOk51bWJlcihPKGEuTSxGLkQuQ2IsNjMwNzJFMykpfTtWKGEsSC5KLkdhLGIpfTt2YXIgV1I9ZnVuY3Rpb24oYSl7aWYoTSg0MzUpfHxNKDU1Mykpe3ZhciBiPURtKCk7YiYmVihhLEguSi5BcSxiKX19O3ZhciBZUj1mdW5jdGlvbihhKXthLmNvcHlUb0hpdERhdGEoRi5ELlJpKTtmb3IodmFyIGI9TyhhLk0sRi5ELlJsKXx8W10sYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1iW2NdO2lmKGQucnVsZV9yZXN1bHQpe2EuY29weVRvSGl0RGF0YShGLkQuUmksZC50cmFmZmljX3R5cGUpO0lQKEouVS5Fbik7YnJlYWt9fX07dmFyIFpSPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSkmJmEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1PKGEuTSxGLkQudWMpIT09ITE7aWYoYil7dmFyIGM9TEsoYSk7Yy5wZCYmKGMucGQ9TWF0aC5taW4oYy5wZCw3Nzc2RTMpKTtQSyh7VG46YixtbzpPbyhPKGEuTSxGLkQuRGIpKSxRbzohIU8oYS5NLEYuRC56YyksVW46Y30pfX19O3ZhciAkUj1mdW5jdGlvbihhKXtWKGEsSC5KLk1oLCExKTtWKGEsSC5KLk5oLCExKTtpZighRG0oKSYmV2ooKSYmIWJrKFpLKGEpKSYmIVEoYSxILkouYmUpJiZRKGEsSC5KLmVqKSl7dmFyIGI9UShhLEguSi5yZyk7UShhLEguSi5vZykmJihiP1YoYSxILkouTmgsITApOlYoYSxILkouTWgsITApKX19O3ZhciBhUz1mdW5jdGlvbihhKXtPKGEuTSxGLkQuemMpJiYoWG8oRi5ELnJhKXx8TyhhLk0sRi5ELktiKXx8VShhLEYuRC5abSwhMCkpO3ZhciBiO3ZhciBjO2M9Yz09PXZvaWQgMD8zOmM7dmFyIGQ9QS5sb2NhdGlvbi5ocmVmO2lmKGQpe3ZhciBlPVJqKGQpLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZj1JaihlLCJfZ2wiLCExLCEwKXx8IiI7Yj1mP1ZxKGYsYykhPT12b2lkIDA6ITF9ZWxzZSBiPSExO2ImJmJrKFpLKGEpKSYmV0soYSwiZ2x2IiwxKTtpZihhLmV2ZW50TmFtZSE9PUYuRC53YSlyZXR1cm57fTtPKGEuTSxGLkQuemMpJiZBcyhbImF3IiwiZGMiXSk7Q3MoWyJhdyIsImRjIl0pO3ZhciBnPSRQKGEpLGg9WlAoYSk7cmV0dXJuIE9iamVjdC5rZXlzKGcpLmxlbmd0aD9nOmh9O3ZhciBiUz1mdW5jdGlvbihhKXt2YXIgYj0hMDtiPWI9PT12b2lkIDA/ITE6YjtpZihNKDQyNSkmJiEocGwoKXx8YiYmUShhLEguSi5kail8fGEuZXZlbnROYW1lIT09Ri5ELndhfHxRKGEsSC5KLkZjKSkpe3ZhciBjPXt9LGQ9e30sZT17ZXZlbnRNZXRhZGF0YTpuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGEuTS5ldmVudE1ldGFkYXRhLChjW0guSi5GY109ITAsYyksYj97fTooZFtILkouRGNdPVguVi5LYSxkKSksbm9HdG1FdmVudDohMH0sZj1zQyhhLnRhcmdldC5kZXN0aW5hdGlvbklkLCJzdHJ1Y3R1cmVkX2RhdGEiLGEuTS5FYSk7bUQoZixhLk0uZXZlbnRJZCxlKX19Owp2YXIgZFM9ZnVuY3Rpb24oYSl7cmV0dXJuIWF8fGNTLnRlc3QoYSl8fERvLmhhc093blByb3BlcnR5KGEpfSxjUz0vXihffGdhX3xnb29nbGVffGd0YWdcLnxmaXJlYmFzZV8pLiokLyxlUz1mdW5jdGlvbihhKXt0aGlzLnlhPWE7dGhpcy5IPXRoaXMuemI9dGhpcy5jbGllbnRJZD12b2lkIDA7dGhpcy5qYT10aGlzLlI9ITE7dGhpcy5MYT0wO3RoaXMuTj0hMTt0aGlzLlo9e1RqOiExfTt0aGlzLmZhPW5ldyBJUTt0aGlzLks9bmV3IEhQfTtrPWVTLnByb3RvdHlwZTtrLlpzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLGU9YkModGhpcy55YSk7aWYoZSlpZihjLmV2ZW50TWV0YWRhdGFbSC5KLmFlXSYmYS5jaGFyQXQoMCk9PT0iXyIpYy5vbkZhaWx1cmUoKTtlbHNle2EhPT1GLkQud2EmJmEhPT1GLkQuSmImJmRTKGEpJiZQKDU4KTt2YXIgZj1uZXcgYUkoZSxhLGMpO1YoZixILkouRWIsYik7dmFyIGc9W0YuRC5yYV0saD1iayhaSyhmKSk7VihmLEguSi5kaixoKTtpZihkSShmLEYuRC5VZiwKTyhmLk0sRi5ELlVmKSl8fGgpZy5wdXNoKEYuRC5rYSksZy5wdXNoKEYuRC5tYSk7Rk0uZmEoZnVuY3Rpb24oKXticChmdW5jdGlvbigpe2QuYnQoZil9LGcpfSl9ZWxzZSBjLm9uRmFpbHVyZSgpfTtrLmJ0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dHJ5e0hNKGEpO2lmKGEuaXNBYm9ydGVkKXt0YigpO3JldHVybn1KTShhKTtEUihhKTt1UihhKTtFUihhKTtGUihhKTtJTShhKTt2YXIgYz17fTtlUShhLGMpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5IPWE7dmFyIGQ9Yy51cjtjLkhyPT09MCYmSVAoSi5VLm5sKTtkPT09MCYmSVAoSi5VLkxrKTtaTShhKTtWKGEsSC5KLnRnLGNvLmlhLnhkKTtWUihhKTtIUihhKTt0aGlzLkxxKGEpO3RoaXMuSy5LdChhKTtVKGEsRi5ELnppLGFsKDgsTkYpKTt4UihhKTtwTihhKTtaUihhKTtNUShhKTt0aGlzLkFvKGFTKGEpKTtiUyhhKTt2YXIgZT1hLmV2ZW50TmFtZT09PUYuRC53YTtlJiYodGhpcy5OPQohMCk7SVIoYSk7ZSYmIWEuaXNBYm9ydGVkJiZ0aGlzLkxhKys+MCYmSVAoSi5VLmhuKTtVTChhKTtqUihhLHRoaXMuY2xpZW50SWQsdGhpcy56Yix0aGlzLkssIXRoaXMuamEpO25SKGEpO2xSKGEpO09SKGEpO1hMKGEpO0dSKGEsdGhpcy5aKTt5UihhKTt2UihhKTt3UihhKTtZUihhKTthUShhKTtnUShhKTt3TShhKTtoUihhKTtZUShhKTtnUihhKTtmUihhKTtlUihhKTtkUihhKTtjUihhKTthUihhKTskUShhKTtXUShhKTtVUShhKTtUUShhKTtTUShhKTtiUShhKTtjUShhKTtPKGEuTSxGLkQueGgpJiYhYmsoWksoYSkpfHxHTShhKTtVUihhKTtXUihhKTtpTihhKTtWTChhKTtTTChhKTtsTihhKTtoTihhKTtYTShhLCExKTtzUihhKTtSUihhKTskUihhKTtOTShhKTtyUihhKTtwUihhKTtiUihhKTtaUShhKTtSUShhKTtxUihhKTshdGhpcy5OJiZRKGEsSC5KLlBjKSYmSVAoSi5VLnNsKTtKUChhKTtpZihNKDU3NSkpe2lmKGEuaXNBYm9ydGVkKXtpZighUShhLEguSi5TbykpYS5NLm9uRmFpbHVyZSgpOwp0YigpO3JldHVybn1pZihRKGEsSC5KLkphKSl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufX1lbHNlIGlmKFEoYSxILkouSmEpfHxhLmlzQWJvcnRlZCl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufXRoaXMuQW8oaVIoYSx0aGlzLmNsaWVudElkKSk7dGhpcy5qYT0hMDt0aGlzLkh0KGEpO0pSKGEpO1ZRKGZ1bmN0aW9uKGYpe2IuTW4oZil9LGEpO3RoaXMuSy5xaygpO0xSKGEpO2dOKGEpO1dMKGEpO1lNKGEpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5NbihhKTthLk0ub25TdWNjZXNzKCl9Y2F0Y2goZil7YS5NLm9uRmFpbHVyZSgpfXRiKCl9O2suTW49ZnVuY3Rpb24oYSl7dGhpcy5mYS5hZGQoYSl9O2suQW89ZnVuY3Rpb24oYSl7dmFyIGI9YS5jbGllbnRJZCxjPWEuemI7YiYmYyYmKHRoaXMuY2xpZW50SWQ9Yix0aGlzLnpiPWMpfTtrLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5mYS5mbHVzaCgpfTtrLkh0PWZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzO2lmKCF0aGlzLlIpe3ZhciBjPVhvKEYuRC5tYSksZD1YbyhGLkQucmEpOyRvKFtGLkQubWEsRi5ELnJhLEYuRC5rYV0sZnVuY3Rpb24oZSl7dmFyIGY7Zj0oZT09PXZvaWQgMD97fTplKS5jb25zZW50RXZlbnRJZDt2YXIgZz1YbyhGLkQubWEpLGg9WG8oRi5ELnJhKSxsPSExLG49e30scD17fTtpZihkIT09aCYmYi5IJiZiLnpiJiZiLmNsaWVudElkKXt2YXIgcT1iLmNsaWVudElkLHI7dmFyIHQ9TFAoYi56Yik7cj10P3QuaDp2b2lkIDA7aWYoaCl7dmFyIHU9RlAoYi5IKTtpZih1KXtiLmNsaWVudElkPXU7dmFyIHY9U1AoYi5IKTt2JiYoYi56Yj1QUCh2LGIuemIsYi5IKSl9ZWxzZSBEUChiLmNsaWVudElkLGIuSCksQVAoYi5jbGllbnRJZCwhMCk7UlAoYi56YixiLkgpO2w9ITA7bltGLkQuTmxdPXE7ciYmKG5bRi5ELmJxXT1yKX1lbHNlIGIuemI9dm9pZCAwLGIuY2xpZW50SWQ9dm9pZCAwLEEuZ2FHbG9iYWw9e319ZyYmIWMmJihsPSEwLHBbSC5KLkdoXT0hMCxuW0YuRC54aV09CkxvW0YuRC5tYV0pO2lmKGwpe3ZhciB4PXNDKGIueWEsRi5ELnlmLG4pO21EKHgsZiE9bnVsbD9mOmEuTS5ldmVudElkLHtldmVudE1ldGFkYXRhOnB9KX1kPWg7Yz1nO2IuWi5Uaj0hMH0pO3RoaXMuUj0hMH19O2suTHE9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWUhPT1GLkQuSmImJnRoaXMuSy5LcShhKX07dmFyIGdTPWZ1bmN0aW9uKGEpe2lmKCFmUyhhKSl7dmFyIGI9ITEsYz1mdW5jdGlvbigpeyFiJiZmUyhhKSYmKGI9ITAsYWQoQiwidmlzaWJpbGl0eWNoYW5nZSIsYyksYWQoQiwicHJlcmVuZGVyaW5nY2hhbmdlIixjKSxQKDU1KSl9OyRjKEIsInZpc2liaWxpdHljaGFuZ2UiLGMpOyRjKEIsInByZXJlbmRlcmluZ2NoYW5nZSIsYyk7UCg1NCl9fSxmUz1mdW5jdGlvbihhKXtpZigicHJlcmVuZGVyaW5nImluIEI/Qi5wcmVyZW5kZXJpbmc6Qi52aXNpYmlsaXR5U3RhdGU9PT0icHJlcmVuZGVyIilyZXR1cm4hMTthKCk7cmV0dXJuITB9O2Z1bmN0aW9uIGhTKGEpe2dTKGZ1bmN0aW9uKCl7dmFyIGI9YkMoYSk7aWYoYil7dmFyIGM9aVMoYiksZD1jby5pYS54ZCxlPVlDKCksZj1iQyhhLCEwKTtmJiZlLkgucmVnaXN0ZXIoZixjLGQsdm9pZCAwKX19KTt9ZnVuY3Rpb24gaVMoYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O3ZhciBjPW5ldyBlUyhhLmlkKSxkPWEucHJlZml4PT09Ik1DIjtiPWZ1bmN0aW9uKGUsZixnLGgpe2QmJihoLmV2ZW50TWV0YWRhdGFbSC5KLmJlXT0hMCk7Yy5acyhmLGcsaCl9O2pTKGEsYyk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGpTKGEsYil7dmFyIGM9Yi5LO2MuaHQoZnVuY3Rpb24oKXtaayg5LCEwKTtZQygpLmZsdXNoKCk7aWYoYy5ZaCgpPj0xRTMmJmtkKCkpe3ZhciBkPXt9LGU9e2V2ZW50SWQ6cmooKSxldmVudE1ldGFkYXRhOihkW0guSi5La109ITAsZCksZGVmZXJyYWJsZTohMH07WkMoRi5ELnlmLHt9LGEuaWQsZSl9Yi5mbHVzaCgpO2MuQ28oZnVuY3Rpb24oKXtaayg5LCExKTtjLkNvKCl9KX0pO312YXIga1M9Si5VLnFsLGxTPUouVS5ybDtmdW5jdGlvbiBtUyhhLGIpe3ZhciBjPXRrKCk7YyYmYy5pbmRleE9mKGIpPi0xJiYoYVtILkouQ2NdPSEwKX1mdW5jdGlvbiBvUyhhLGIsYyl7dmFyIGQ9dGhpczt9b1MuUD0iaW50ZXJuYWwuZ3RhZ0NvbmZpZyI7ZnVuY3Rpb24gcFMoYSxiLGMsZCl7dmFyIGU9dGhpczt9cFMuUD0iaW50ZXJuYWwuZ3RhZ0Rlc3RpbmF0aW9uQ29uZmlnIjsKZnVuY3Rpb24gclMoYSxiKXt9CnJTLnB1YmxpY05hbWU9Imd0YWdTZXQiO2Z1bmN0aW9uIHNTKCl7dmFyIGE9e307cmV0dXJuIGF9O2Z1bmN0aW9uIHRTKGEpe310Uy5QPSJpbnRlcm5hbC5pbml0aWFsaXplU2VydmljZVdvcmtlciI7ZnVuY3Rpb24gdVMoYSxiKXt9dVMucHVibGljTmFtZT0iaW5qZWN0SGlkZGVuSWZyYW1lIjtmdW5jdGlvbiB2UyhhLGIsYyxkLGUpe312Uy5QPSJpbnRlcm5hbC5pbmplY3RIdG1sIjt2YXIgQVM9e2RsOjEsaWQ6MX07CmZ1bmN0aW9uIEJTKGEsYixjLGQpe31CUy5wdWJsaWNOYW1lPSJpbmplY3RTY3JpcHQiO2Z1bmN0aW9uIENTKCl7dmFyIGE9dm0sYj0hMTtiPSEhYS5IWyI1Il07cmV0dXJuIGJ9Q1MuUD0iaW50ZXJuYWwuaXNBdXRvUGlpRWxpZ2libGUiO2Z1bmN0aW9uIERTKGEpe3ZhciBiPSEwO3JldHVybiBifURTLnB1YmxpY05hbWU9ImlzQ29uc2VudEdyYW50ZWQiO2Z1bmN0aW9uIEVTKGEpe3ZhciBiPSExO3JldHVybiBifUVTLlA9ImludGVybmFsLmlzRGVidWdNb2RlIjtmdW5jdGlvbiBGUyhhKXt2YXIgYj0hMTtyZXR1cm4gYn1GUy5QPSJpbnRlcm5hbC5pc0Rlc3RpbmF0aW9uSW5pdGlhbGl6ZWQiO2Z1bmN0aW9uIEdTKCl7cmV0dXJuIEJtKCl9R1MuUD0iaW50ZXJuYWwuaXNEbWFSZWdpb24iO2Z1bmN0aW9uIEhTKCl7cmV0dXJuIFVCKCl9SFMuUD0iaW50ZXJuYWwuaXNEb21SZWFkeSI7ZnVuY3Rpb24gSVMoYSl7dmFyIGI9ITE7cmV0dXJuIGJ9SVMuUD0iaW50ZXJuYWwuaXNFbnRpdHlJbmZyYXN0cnVjdHVyZSI7ZnVuY3Rpb24gSlMoYSl7dmFyIGI9ITE7aWYoIXFoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJudW1iZXIiXSxbYV0pO2I9TShhKTtyZXR1cm4gYn1KUy5QPSJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIjtmdW5jdGlvbiBLUygpe3ZhciBhPSExO3JldHVybiBhfUtTLlA9ImludGVybmFsLmlzRnBmZSI7ZnVuY3Rpb24gTFMoKXt2YXIgYT0hMTtyZXR1cm4gYX1MUy5QPSJpbnRlcm5hbC5pc0djcEJyb3dzZXIiO2Z1bmN0aW9uIE1TKCl7dmFyIGE9ITE7cmV0dXJuIGF9TVMuUD0iaW50ZXJuYWwuaXNMYW5kaW5nUGFnZSI7ZnVuY3Rpb24gTlMoKXt2YXIgYT0hMTtyZXR1cm4gYX1OUy5QPSJpbnRlcm5hbC5pc09ndCI7ZnVuY3Rpb24gT1MoKXt2YXIgYTtyZXR1cm4gYX1PUy5QPSJpbnRlcm5hbC5pc1NhZmFyaVBjbUVsaWdpYmxlQnJvd3NlciI7ZnVuY3Rpb24gUFMoKXt2YXIgYT1RaChmdW5jdGlvbihiKXtYRih0aGlzKS5sb2coImVycm9yIixiKX0pO2EucHVibGljTmFtZT0iSlNPTiI7cmV0dXJuIGF9O2Z1bmN0aW9uIFFTKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYil9UVMuUD0iaW50ZXJuYWwubGVnYWN5UGFyc2VVcmwiO2Z1bmN0aW9uIFJTKCl7cmV0dXJuITF9CnZhciBTUz17Z2V0SXRlbTpmdW5jdGlvbihhKXt2YXIgYj1udWxsO3JldHVybiBifSxzZXRJdGVtOmZ1bmN0aW9uKGEsYil7cmV0dXJuITF9LHJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7fX07ZnVuY3Rpb24gVFMoKXt9VFMucHVibGljTmFtZT0ibG9nVG9Db25zb2xlIjtmdW5jdGlvbiBVUyhhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3QiXSxhcmd1bWVudHMpO3ZhciBjPWEsZD1UZChiLHRoaXMuVCksZT1ZQygpLGY9YkMoYywhMCk7ZiYmVEMoZS5ILGYsZCk7fVVTLlA9ImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIjtmdW5jdGlvbiBWUyhhLGIsYyl7Yz1jPT09dm9pZCAwPyEwOmM7dmFyIGQ9W107cmV0dXJuIFVkKGQpfVZTLlA9ImludGVybmFsLnBhcnNlQ29va2llVmFsdWVzRnJvbVN0cmluZyI7ZnVuY3Rpb24gV1MoYSl7dmFyIGI9dm9pZCAwO2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuO2EmJlNiKGEsIi8vIikmJihhPUIubG9jYXRpb24ucHJvdG9jb2wrYSk7aWYodHlwZW9mIFVSTD09PSJmdW5jdGlvbiIpe3ZhciBjO2E6e3ZhciBkO3RyeXtkPW5ldyBVUkwoYSl9Y2F0Y2goeCl7Yz12b2lkIDA7YnJlYWsgYX1mb3IodmFyIGU9e30sZj1BcnJheS5mcm9tKGQuc2VhcmNoUGFyYW1zKSxnPTA7ZzxmLmxlbmd0aDtnKyspe3ZhciBoPWZbZ11bMF0sbD1mW2ddWzFdO2UuaGFzT3duUHJvcGVydHkoaCk/dHlwZW9mIGVbaF09PT0ic3RyaW5nIj9lW2hdPVtlW2hdLGxdOmVbaF0ucHVzaChsKTplW2hdPWx9Yz17aHJlZjpkLmhyZWYsb3JpZ2luOmQub3JpZ2luLHByb3RvY29sOmQucHJvdG9jb2wsdXNlcm5hbWU6ZC51c2VybmFtZSxwYXNzd29yZDpkLnBhc3N3b3JkLGhvc3Q6ZC5ob3N0LGhvc3RuYW1lOmQuaG9zdG5hbWUsCnBvcnQ6ZC5wb3J0LHBhdGhuYW1lOmQucGF0aG5hbWUsc2VhcmNoOmQuc2VhcmNoLHNlYXJjaFBhcmFtczplLGhhc2g6ZC5oYXNofX1yZXR1cm4gVWQoYyl9dmFyIG47dHJ5e249UmooYSl9Y2F0Y2goeCl7cmV0dXJufWlmKCFuLnByb3RvY29sfHwhbi5ob3N0KXJldHVybjt2YXIgcD17fTtpZihuLnNlYXJjaClmb3IodmFyIHE9bi5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikscj0wO3I8cS5sZW5ndGg7cisrKXt2YXIgdD1xW3JdLnNwbGl0KCI9IiksdT10WzBdLHY9S2oodC5zcGxpY2UoMSkuam9pbigiPSIpKXx8IiI7dj12LnJlcGxhY2UoL1wrL2csIiAiKTtwLmhhc093blByb3BlcnR5KHUpP3R5cGVvZiBwW3VdPT09InN0cmluZyI/cFt1XT1bcFt1XSx2XTpwW3VdLnB1c2godik6cFt1XT12fW4uc2VhcmNoUGFyYW1zPXA7bi5vcmlnaW49bi5wcm90b2NvbCsiLy8iK24uaG9zdDtuLnVzZXJuYW1lPSIiO24ucGFzc3dvcmQ9IiI7Yj1VZChuKTsKcmV0dXJuIGJ9V1MucHVibGljTmFtZT0icGFyc2VVcmwiO2Z1bmN0aW9uIFhTKGEpe31YUy5QPSJpbnRlcm5hbC5wcm9jZXNzQXNOZXdFdmVudCI7ZnVuY3Rpb24gWVMoYSxiLGMpe3ZhciBkO3JldHVybiBkfVlTLlA9ImludGVybmFsLnB1c2hUb0RhdGFMYXllciI7ZnVuY3Rpb24gWlMoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpLGM9ITE7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO2Zvcih2YXIgZD1bdGhpcyxhXSxlPW0oYiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZC5wdXNoKFRkKGYudmFsdWUsdGhpcy5ULDEpKTt0cnl7TC5hcHBseShudWxsLGQpLGM9ITB9Y2F0Y2goZyl7cmV0dXJuITF9cmV0dXJuIGN9WlMucHVibGljTmFtZT0icXVlcnlQZXJtaXNzaW9uIjtmdW5jdGlvbiAkUyhhKXt2YXIgYj10aGlzO30kUy5QPSJpbnRlcm5hbC5xdWV1ZUFkc1RyYW5zbWlzc2lvbiI7ZnVuY3Rpb24gYVQoYSl7dmFyIGI9dm9pZCAwO3JldHVybiBifWFULnB1YmxpY05hbWU9InJlYWRBbmFseXRpY3NTdG9yYWdlIjtmdW5jdGlvbiBiVCgpe3ZhciBhPSIiO3JldHVybiBhfWJULnB1YmxpY05hbWU9InJlYWRDaGFyYWN0ZXJTZXQiO2Z1bmN0aW9uIGNUKCl7cmV0dXJuIEUoMTkpfWNULlA9ImludGVybmFsLnJlYWREYXRhTGF5ZXJOYW1lIjtmdW5jdGlvbiBkVCgpe3ZhciBhPSIiO3JldHVybiBhfWRULnB1YmxpY05hbWU9InJlYWRUaXRsZSI7ZnVuY3Rpb24gZVQoYSxiKXt2YXIgYz10aGlzO2lmKCFsaChhKXx8IWhoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJmdW5jdGlvbiJdLGFyZ3VtZW50cyk7TE0oYSxmdW5jdGlvbihkKXtiLmludm9rZShjLlQsVWQoZCxjLlQsMSkpfSk7fWVULlA9ImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siO2Z1bmN0aW9uIGZUKGEsYil7aWYoIWxoKGEpfHwhZWgoYikmJiFnaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoQmgoWEYodGhpcykuUGIoKSkpcmV0dXJuITE7dmFyIGMsZCxlPWJDKGEsITApO2lmKCFlKXJldHVybiExO3N3aXRjaChlLnByZWZpeCl7Y2FzZSAiQVciOmM9dE47ZD1jby5pYS5jYjticmVhaztjYXNlICJEQyI6Yz1JTjtkPWNvLmlhLmNiO2JyZWFrO2Nhc2UgIkdGIjpjPU5OO2Q9Y28uaWEuZ2Q7YnJlYWs7Y2FzZSAiSEEiOmM9UE47ZD1jby5pYS5nZDticmVhaztjYXNlICJVQSI6Yz1mTztkPWNvLmlhLmdkO2JyZWFrO2Nhc2UgIk1DIjpjPWlTKGUpO2Q9Y28uaWEueGQ7YnJlYWs7Y2FzZSAiRyI6cmV0dXJuIGhTKGEpLCEwO2RlZmF1bHQ6cmV0dXJuITF9dmFyIGY9YSwKZz1jLGg9ZCxsPVRkKGIsdGhpcy5ULDEpLG49WUMoKSxwPWJDKGYsITApO3AmJm4uSC5yZWdpc3RlcihwLGcsaCxsKTtyZXR1cm4hMH1mVC5QPSJpbnRlcm5hbC5yZWdpc3RlckRlc3RpbmF0aW9uIjt2YXIgZ1Q9WyJldmVudCJdO2Z1bmN0aW9uIGhUKGEsYixjKXt9aFQuUD0iaW50ZXJuYWwucmVnaXN0ZXJHdGFnQ29tbWFuZExpc3RlbmVyIjtmdW5jdGlvbiBpVChhLGIpe3ZhciBjPSExO3JldHVybiBjfWlULlA9ImludGVybmFsLnJlbW92ZURhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIGpUKGEsYil7fQpqVC5QPSJpbnRlcm5hbC5yZW1vdmVGb3JtRGF0YSI7ZnVuY3Rpb24ga1QoKXt9a1QucHVibGljTmFtZT0icmVzZXREYXRhTGF5ZXIiO2Z1bmN0aW9uIGxUKGEsYixjKXt2YXIgZD12b2lkIDA7cmV0dXJuIGR9bFQuUD0iaW50ZXJuYWwuc2NydWJVcmxQYXJhbXMiO2Z1bmN0aW9uIG1UKGEpe31tVC5QPSJpbnRlcm5hbC5zZW5kQWRzSGl0IjtmdW5jdGlvbiBuVChhLGIsYyxkKXtpZihhcmd1bWVudHMubGVuZ3RoPDJ8fCFmaChkKXx8IWZoKGMpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJhbnkiLCJhbnkiLCJPYmplY3R8dW5kZWZpbmVkIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGU9Yz9UZChjLHRoaXMuVCwxKTp7fSxmPVRkKGEpLGc9QXJyYXkuaXNBcnJheShmKT9mOltmXTtiPVN0cmluZyhiKTt2YXIgaD1kP1RkKGQpOnt9LGw9WEYodGhpcyk7aC5vcmlnaW5hdGluZ0VudGl0eT10RyhsKTtsLnByaW9yaXR5UXVldWUmJihoLnByaW9yaXR5UXVldWU9bC5wcmlvcml0eVF1ZXVlKTtmb3IodmFyIG49MDtuPGcubGVuZ3RoO24rKyl7dmFyIHA9Z1tuXTtpZih0eXBlb2YgcD09PSJzdHJpbmciKXt2YXIgcT17fTtFZChlLHEpO3ZhciByPXt9O0VkKGgscik7dmFyIHQ9c0MocCxiLHEpO21EKHQsCmguZXZlbnRJZHx8bC5ldmVudElkLHIpfX19blQuUD0iaW50ZXJuYWwuc2VuZEd0YWdFdmVudCI7ZnVuY3Rpb24gb1QoYSxiLGMpe31vVC5wdWJsaWNOYW1lPSJzZW5kUGl4ZWwiO2Z1bmN0aW9uIHBUKGEsYil7fXBULlA9ImludGVybmFsLnNldEFuY2hvckhyZWYiO2Z1bmN0aW9uIHFUKGEpe31xVC5QPSJpbnRlcm5hbC5zZXRDb250YWluZXJDb25zZW50RGVmYXVsdHMiO2Z1bmN0aW9uIHJUKGEsYixjLGQpe3ZhciBlPXRoaXM7ZD1kPT09dm9pZCAwPyEwOmQ7dmFyIGY9ITE7CnJldHVybiBmfXJULnB1YmxpY05hbWU9InNldENvb2tpZSI7ZnVuY3Rpb24gc1QoYSl7fXNULlA9ImludGVybmFsLnNldENvcmVQbGF0Zm9ybVNlcnZpY2VzIjtmdW5jdGlvbiB0VChhLGIpe310VC5QPSJpbnRlcm5hbC5zZXREYXRhTGF5ZXJWYWx1ZSI7ZnVuY3Rpb24gdVQoYSl7fXVULnB1YmxpY05hbWU9InNldERlZmF1bHRDb25zZW50U3RhdGUiO2Z1bmN0aW9uIHZUKGEsYil7fXZULlA9ImludGVybmFsLnNldERlbGVnYXRlZENvbnNlbnRUeXBlIjtmdW5jdGlvbiB3VChhLGIpe313VC5QPSJpbnRlcm5hbC5zZXRGb3JtQWN0aW9uIjtmdW5jdGlvbiB4VChhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aWYoIWxoKGEpfHwhb2goYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSIsImJvb2xlYW58dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtpZigha20oYSkpdGhyb3cgRXJyb3IoInNldEluQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTsoY3x8bm0oYSk9PT12b2lkIDApJiZtbShhLFRkKGIsdGhpcy5ULDEpKTt9eFQuUD0iaW50ZXJuYWwuc2V0SW5Dcm9zc0NvbnRhaW5lckRhdGEiO2Z1bmN0aW9uIHlUKGEsYixjKXtyZXR1cm4hMX15VC5wdWJsaWNOYW1lPSJzZXRJbldpbmRvdyI7ZnVuY3Rpb24gelQoYSxiLGMpe316VC5QPSJpbnRlcm5hbC5zZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiO2Z1bmN0aW9uIEFUKGEsYixjKXtpZighbGgoYSl8fCFsaChiKXx8YXJndW1lbnRzLmxlbmd0aCE9PTMpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7Zm9yKHZhciBkPWIuc3BsaXQoIi4iKSxlPWVEKGEpLGY9MDtmPGQubGVuZ3RoLTE7ZisrKXtpZihlW2RbZl1dPT09dm9pZCAwKWVbZFtmXV09e307ZWxzZSBpZighQ2QoZVtkW2ZdXSkpdGhyb3cgRXJyb3IoInNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciBmYWlsZWQsIHBhdGggY29udGFpbnMgYSBub24tb2JqZWN0IHR5cGU6ICIrZFtmXSk7ZT1lW2RbZl1dfWVbZFtmXV09VGQoYyx0aGlzLlQsMSk7fUFULlA9ImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gQlQoYSxiKXt9CkJULlA9ImludGVybmFsLnNldFRyYW5zbWlzc2lvbk1vZGUiO2Z1bmN0aW9uIENUKGEsYixjLGQpe3ZhciBlPXRoaXM7fUNULnB1YmxpY05hbWU9InNoYTI1NiI7ZnVuY3Rpb24gRFQoYSxiLGMpe30KRFQuUD0iaW50ZXJuYWwuc29ydFJlbW90ZUNvbmZpZ1BhcmFtZXRlcnMiO2Z1bmN0aW9uIEVUKGEpe31FVC5QPSJpbnRlcm5hbC5zdG9yZUFkc0JyYWlkTGFiZWxzIjtmdW5jdGlvbiBGVChhLGIpe3ZhciBjPXZvaWQgMDtyZXR1cm4gY31GVC5QPSJpbnRlcm5hbC5zdWJzY3JpYmVUb0Nyb3NzQ29udGFpbmVyRGF0YSI7ZnVuY3Rpb24gR1QoYSl7fUdULlA9ImludGVybmFsLnRhc2tTZW5kQWRzSGl0cyI7dmFyIEhUPXtnZXRJdGVtOmZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBjPVhGKHRoaXMpLlBiKCksZD1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtkW2NdJiYoYj1kW2NdLmhhc093blByb3BlcnR5KCJndG0uIithKT9kW2NdWyJndG0uIithXTpudWxsKTtyZXR1cm4gYn0sc2V0SXRlbTpmdW5jdGlvbihhLGIpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYz1YRih0aGlzKS5QYigpLGQ9YWwoNyxmdW5jdGlvbigpe3JldHVybnt9fSk7ZFtjXT1kW2NdfHx7fTtkW2NdWyJndG0uIithXT1iO30sCnJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBiPVhGKHRoaXMpLlBiKCksYz1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtpZighY1tiXXx8IWNbYl0uaGFzT3duUHJvcGVydHkoImd0bS4iK2EpKXJldHVybjtkZWxldGUgY1tiXVsiZ3RtLiIrYV07fSxjbGVhcjpmdW5jdGlvbigpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYT1YRih0aGlzKS5QYigpO2RlbGV0ZSBhbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KVthXTt9LApwdWJsaWNOYW1lOiJ0ZW1wbGF0ZVN0b3JhZ2UifTtmdW5jdGlvbiBJVChhLGIpe3ZhciBjPSExO3JldHVybiBjfUlULlA9ImludGVybmFsLnRlc3RSZWdleCI7ZnVuY3Rpb24gSlQoYSl7dmFyIGI7cmV0dXJuIGJ9O2Z1bmN0aW9uIEtUKGEsYil7fUtULlA9ImludGVybmFsLnRyYWNrVXNhZ2UiO2Z1bmN0aW9uIExUKGEsYil7dmFyIGM7cmV0dXJuIGN9TFQuUD0iaW50ZXJuYWwudW5zdWJzY3JpYmVGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBNVChhKXt9TVQucHVibGljTmFtZT0idXBkYXRlQ29uc2VudFN0YXRlIjtmdW5jdGlvbiBOVChhKXt2YXIgYj0hMTtyZXR1cm4gYn1OVC5QPSJpbnRlcm5hbC51c2VyRGF0YU5lZWRzRW5jcnlwdGlvbiI7dmFyIE9UPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBhaX0sUVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGI7dmFyIGM9UFQuSDtpZihjLmNvbnRhaW5zKGEpKWI9Yy5nZXQoYSx0aGlzKTtlbHNle3ZhciBkO2lmKGQ9Yy5ILmhhc093blByb3BlcnR5KGEpKXt2YXIgZT10aGlzLlQueGIoKTtpZihlKXt2YXIgZj0hMSxnPWUuUGIoKTtpZihnKXtCaChnKXx8KGY9ITApO31kPWZ9ZWxzZSBkPSEwfWlmKGQpe3ZhciBoPWMuSC5oYXNPd25Qcm9wZXJ0eShhKT9jLkhbYV06dm9pZCAwO2I9aH1lbHNlIHRocm93IEVycm9yKGErIiBpcyBub3QgYSB2YWxpZCBBUEkgbmFtZS4iKTt9cmV0dXJuIGJ9fSxQVDtmdW5jdGlvbiBSVChhLGIsYyl7UFR8fChQVD1uZXcgT1QpO1BULkguYWRkKGEsYixjKX1mdW5jdGlvbiBTVChhLGIpe1BUfHwoUFQ9bmV3IE9UKTt2YXIgYz1QVC5IO2lmKGMuSC5oYXNPd25Qcm9wZXJ0eShhKSl0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBhZGQgYSBwcml2YXRlIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZihjLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIHByaXZhdGUgZnVuY3Rpb24gd2l0aCBhbiBleGlzdGluZyBBUEkgbmFtZTogIithKyIuIik7Yy5IW2FdPXliKGIpP3RoKGEsYik6dWgoYSxiKX07ZnVuY3Rpb24gVFQoYSxiKXtmdW5jdGlvbiBjKGQpe2lmKCFlaChkKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0Il0sYXJndW1lbnRzKTt2YXIgZT1UZChkLHRoaXMuVCwxKS5yYigpO2EoZSl9Yy5QPSJpbnRlcm5hbC4iK2I7cmV0dXJuIGN9O2Z1bmN0aW9uIFVUKCl7dmFyIGE9ZnVuY3Rpb24oYyl7cmV0dXJuIHZvaWQgU1QoYy5QLGMpfSxiPWZ1bmN0aW9uKGMpe3JldHVybiB2b2lkIFJUKGMucHVibGljTmFtZSxjKX07YihSRik7YihZRik7YihSRyk7YihURyk7YihVRyk7YihkSCk7YihmSCk7YihoSSk7YihQUygpKTtiKGpJKTtiKE9PKTtiKFBPKTtiKGxQKTtiKG1QKTtiKG5QKTtiKHVQKTtiKHZQKTtiKHJTKTtiKHVTKTtiKEJTKTtiKERTKTtiKFRTKTtiKFdTKTtiKFpTKTtiKGFUKTtiKGJUKTtiKGRUKTtiKG9UKTtiKHJUKTtiKHVUKTtiKHlUKTtiKENUKTtiKEhUKTtiKE1UKTtSVCgiTWF0aCIsemgoKSk7UlQoIk9iamVjdCIsWmgpO1JUKCJUZXN0SGVscGVyIixjaSgpKTtSVCgiYXNzZXJ0QXBpIix3aCk7UlQoImFzc2VydFRoYXQiLHhoKTtSVCgiZGVjb2RlVXJpIixDaCk7UlQoImRlY29kZVVyaUNvbXBvbmVudCIsRGgpO1JUKCJlbmNvZGVVcmkiLEVoKTtSVCgiZW5jb2RlVXJpQ29tcG9uZW50IixGaCk7UlQoImZhaWwiLApMaCk7UlQoImdlbmVyYXRlUmFuZG9tIixOaCk7UlQoImdldFRpbWVzdGFtcCIsT2gpO1JUKCJnZXRUaW1lc3RhbXBNaWxsaXMiLE9oKTtSVCgiZ2V0VHlwZSIsUGgpO1JUKCJtYWtlSW50ZWdlciIsUmgpO1JUKCJtYWtlTnVtYmVyIixTaCk7UlQoIm1ha2VTdHJpbmciLFRoKTtSVCgibWFrZVRhYmxlTWFwIixVaCk7UlQoIm1vY2siLFhoKTtSVCgibW9ja09iamVjdCIsWWgpO1JUKCJmcm9tQmFzZTY0IixITywhKCJhdG9iImluIEEpKTtSVCgibG9jYWxTdG9yYWdlIixTUywhUlMoKSk7UlQoInRvQmFzZTY0IixKVCwhKCJidG9hImluIEEpKTthKFFGKTthKFVGKTthKG5HKTthKHNHKTthKElHKTthKFBHKTthKFNHKTthKFZHKTthKFdHKTthKFpHKTthKCRHKTthKGFIKTthKGJIKTthKGNIKTthKGVIKTthKGdIKTthKGdJKTthKGlJKTthKGtJKTthKGxJKTthKG1JKTthKG5JKTthKG9JKTthKGZKKTthKG1KKTthKHRKKTthKHVKKTthKEFKKTthKEZKKTthKEtKKTthKFJKKTthKFdKKTthKGdLKTsKYShpSyk7YSh2Syk7YSh3Syk7YSh4Syk7YShGTyk7YShHTyk7YShJTyk7YShKTyk7YShLTyk7YShMTyk7YShNTyk7YShOTyk7YShRTyk7YShSTyk7YShTTyk7YShUTyk7YShVTyk7YShWTyk7YShXTyk7YShYTyk7YShZTyk7YShaTyk7YSgkTyk7YShhUCk7YShiUCk7YShjUCk7YShkUCk7YShlUCk7YShmUCk7YShnUCk7YShoUCk7YShpUCk7YShqUCk7YShrUCk7YShvUCk7YShwUCk7YShxUCk7YShyUCk7YShzUCk7YSh0UCk7YSh3UCk7YShvUyk7YShwUyk7YSh0Uyk7YSh2Uyk7YShDUyk7YShFUyk7YShGUyk7YShHUyk7YShIUyk7YShJUyk7YShKUyk7YShLUyk7YShMUyk7YShNUyk7YShOUyk7YShPUyk7YShRUyk7YShHRyk7YShVUyk7YShWUyk7YShYUyk7YShZUyk7YSgkUyk7YShjVCk7YShlVCk7YShmVCk7YShoVCk7YShpVCk7YShqVCk7YShsVCk7YShtVCk7YShuVCk7YShwVCk7YShxVCk7YShzVCk7YSh0VCk7YSh2VCk7YSh3VCk7YSh4VCk7YSh6VCk7YShBVCk7YShCVCk7YShEVCk7CmEoRVQpO2EoRlQpO2EoR1QpO2EoSVQpO2EoS1QpO2EoTFQpO2EoTlQpO1NUKCJpbnRlcm5hbC5JZnJhbWluZ1N0YXRlU2NoZW1hIixzUygpKTtTVCgiaW50ZXJuYWwucXVpY2tIYXNoIixNaCk7YShUVChNRiwidGFza1NldEFkc1RyYW5zbWlzc2lvblR5cGUiKSksYShUVChQRiwidGFza1NldFVuaXZlcnNhbFBhcmFtcyIpKTtQVHx8KFBUPW5ldyBPVCk7cmV0dXJuIFFUKCl9O3ZhciBKRjtmdW5jdGlvbiBWVCgpe0pGLnNkKGZ1bmN0aW9uKGEsYixjKXtsaigpO3ZhciBkPWpqO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPWQuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFfHwwO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFKys7dHJ5e3JldHVybiBhLmFwcGx5KGIsYyl9ZmluYWxseXtsaigpLGpqLkguU0FOREJPWEVEX0pTX1NFTUFQSE9SRS0tfX0pfWZ1bmN0aW9uIFdUKGEpe2lmKGEmJmEubGVuZ3RoKWZvcih2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSksYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLnJlcGxhY2UoL15fKi8sIiIpO2JbZF09WyJzYW5kYm94ZWRTY3JpcHRzIl19fQpmdW5jdGlvbiBYVChhKXtpZihhKXt2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSk7R2IoYSxmdW5jdGlvbihjLGQpe2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdLnJlcGxhY2UoL15fKi8sIiIpO2JbZl09YltmXXx8W107YltmXS5wdXNoKGMpfX0pfX07ZnVuY3Rpb24gWlQoYSl7bUQocEMoImRldmVsb3Blcl9pZC4iK2EsITApLDAse30pfTtmdW5jdGlvbiAkVChhLGIpe3JldHVybiBFZChhLGJ8fG51bGwpfWZ1bmN0aW9uIFkoYSl7cmV0dXJuIHdpbmRvdy5lbmNvZGVVUklDb21wb25lbnQoYSl9ZnVuY3Rpb24gYVUoYSl7WmMoYSx2b2lkIDAsdm9pZCAwKX1mdW5jdGlvbiBiVShhKXt2YXIgYj1bInZlaW50ZXJhY3RpdmUuY29tIiwidmUtaW50ZXJhY3RpdmUuY24iXTtpZighYSlyZXR1cm4hMTt2YXIgYz1MaihSaihhKSwiaG9zdCIpO2lmKCFjKXJldHVybiExO2Zvcih2YXIgZD0wO2ImJmQ8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdJiZiW2RdLnRvTG93ZXJDYXNlKCk7aWYoZSl7dmFyIGY9Yy5sZW5ndGgtZS5sZW5ndGg7Zj4wJiZlLmNoYXJBdCgwKSE9PSIuIiYmKGYtLSxlPSIuIitlKTtpZihmPj0wJiZjLmluZGV4T2YoZSxmKT09PWYpcmV0dXJuITB9fXJldHVybiExfQpmdW5jdGlvbiBjVShhLGIsYyl7Zm9yKHZhciBkPXt9LGU9ITEsZj0wO2EmJmY8YS5sZW5ndGg7ZisrKWFbZl0mJmFbZl0uaGFzT3duUHJvcGVydHkoYikmJmFbZl0uaGFzT3duUHJvcGVydHkoYykmJihkW2FbZl1bYl1dPWFbZl1bY10sZT0hMCk7cmV0dXJuIGU/ZDpudWxsfWZ1bmN0aW9uIGRVKGEsYil7dmFyIGM9e307aWYoYSlmb3IodmFyIGQgaW4gYSlhLmhhc093blByb3BlcnR5KGQpJiYoY1tkXT1hW2RdKTtpZihiKXt2YXIgZT1jVShiLCJwYXJhbWV0ZXIiLCJwYXJhbWV0ZXJWYWx1ZSIpO2UmJihjPSRUKGUsYykpfXJldHVybiBjfWZ1bmN0aW9uIGVVKGEsYixjKXtyZXR1cm4gYT09PXZvaWQgMHx8YT09PWM/YjphfWZ1bmN0aW9uIGZVKGEsYixjKXtyZXR1cm4gVWMoYSxiLGMsdm9pZCAwKX1mdW5jdGlvbiBnVShhLGIpe0FbYV09Yn1mdW5jdGlvbiBoVShhLGIsYyl7dmFyIGQ9QTtiJiYoZFthXT09PXZvaWQgMHx8YyYmIWRbYV0pJiYoZFthXT1iKTtyZXR1cm4gZFthXX12YXIgaVU9e30salU9WC5WO3ZhciBaPXtzZWN1cml0eUdyb3Vwczp7fX07CgpaLnNlY3VyaXR5R3JvdXBzLmFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPVsiZ29vZ2xlIl0sWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPWZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSxaLl9fYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UuTz0iYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5pc1ZlbmRvclRlbXBsYXRlPSEwLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5wcmlvcml0eU92ZXJyaWRlPTAsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI1Il09ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI2Il09ITE7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9ldmVudF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2tleTpjfX0oZnVuY3Rpb24oYil7Wi5fX3JlYWRfZXZlbnRfZGF0YT1iO1ouX19yZWFkX2V2ZW50X2RhdGEuTz0icmVhZF9ldmVudF9kYXRhIjtaLl9fcmVhZF9ldmVudF9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5pc0luZnJhc3RydWN0dXJlPSExO1ouX19yZWFkX2V2ZW50X2RhdGFbIjUiXT0hMTtaLl9fcmVhZF9ldmVudF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9ldmVudERhdGFBY2Nlc3MsZD1iLnZ0cF9rZXlQYXR0ZXJuc3x8W10sZT1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihmLGcpe2lmKGchPW51bGwmJiF6YihnKSl0aHJvdyBlKGYse2tleTpnfSwiS2V5IG11c3QgYmUgYSBzdHJpbmcuIik7CmlmKGMhPT0iYW55Iil7dHJ5e2lmKGM9PT0ic3BlY2lmaWMiJiZnIT1udWxsJiZFZyhnLGQpKXJldHVybn1jYXRjaChoKXt0aHJvdyBlKGYse2tleTpnfSwiSW52YWxpZCBrZXkgZmlsdGVyLiIpO310aHJvdyBlKGYse2tleTpnfSwiUHJvaGliaXRlZCByZWFkIGZyb20gZXZlbnQgZGF0YS4iKTt9fSxhYTphfX0pfSgpOwoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczp7Zml4TWlzc2luZ0FwaTohIWMuZml4TWlzc2luZ0FwaX19fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzPWI7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cy5PPSJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50c1siNSJdPSExO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHNbIjYiXT0KITF9KShmdW5jdGlvbihiKXt2YXIgYz0hIWIudnRwX2FsbG93Rml4TWlzc2luZ0phdmFTY3JpcHRBcGksZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihlLGYpe2lmKCFjJiZmJiZmLmZpeE1pc3NpbmdBcGkpdGhyb3cgZChlLHt9LCJQcm9oaWJpdGVkIG9wdGlvbjogZml4TWlzc2luZ0FwaS4iKTt9LGFhOmF9fSl9KCk7CgoKCgoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1bImdvb2dsZSJdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3JldHVybnt9fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1iO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLk89ImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTphfX0pfSgpOwoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue29wdGlvbnM6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzLk89ImRldGVjdF9saW5rX2NsaWNrX2V2ZW50cyI7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWxsb3dXYWl0Rm9yVGFncyxkPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGUsCmYpe2lmKCFjJiZmJiZmLndhaXRGb3JUYWdzKXRocm93IGQoZSx7fSwiUHJvaGliaXRlZCBvcHRpb24gd2FpdEZvclRhZ3MuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczpjfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9YjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5PPSJkZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93V2FpdEZvclRhZ3MsZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7CnJldHVybnthc3NlcnQ6ZnVuY3Rpb24oZSxmKXtpZighYyYmZiYmZi53YWl0Rm9yVGFncyl0aHJvdyBkKGUse30sIlByb2hpYml0ZWQgb3B0aW9uIHdhaXRGb3JUYWdzLiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5yZWFkX2NvbnRhaW5lcl9kYXRhPVsiZ29vZ2xlIl0sWi5fX3JlYWRfY29udGFpbmVyX2RhdGE9ZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTpmdW5jdGlvbigpe3JldHVybnt9fX19LFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLk89InJlYWRfY29udGFpbmVyX2RhdGEiLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITAsWi5fX3JlYWRfY29udGFpbmVyX2RhdGEucHJpb3JpdHlPdmVycmlkZT0wLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX3JlYWRfY29udGFpbmVyX2RhdGFbIjUiXT0hMSxaLl9fcmVhZF9jb250YWluZXJfZGF0YVsiNiJdPSExOwpaLnNlY3VyaXR5R3JvdXBzLmxpc3Rlbl9kYXRhX2xheWVyPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2V2ZW50TmFtZTpjfX0oZnVuY3Rpb24oYil7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyPWI7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyLk89Imxpc3Rlbl9kYXRhX2xheWVyIjtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIucHJpb3JpdHlPdmVycmlkZT0wO1ouX19saXN0ZW5fZGF0YV9sYXllci5pc0luZnJhc3RydWN0dXJlPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNSJdPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWNjZXNzVHlwZSxkPWIudnRwX2FsbG93ZWRFdmVudHN8fFtdLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnKXtpZighemIoZykpdGhyb3cgZShmLHtldmVudE5hbWU6Z30sCiJFdmVudCBuYW1lIG11c3QgYmUgYSBzdHJpbmcuIik7aWYoIShjPT09ImFueSJ8fGM9PT0ic3BlY2lmaWMiJiZkLmluZGV4T2YoZyk+PTApKXRocm93IGUoZix7ZXZlbnROYW1lOmd9LCJQcm9oaWJpdGVkIGxpc3RlbiBvbiBkYXRhIGxheWVyIGV2ZW50LiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2RhdGFTb3VyY2U6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPWI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuTz0iZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YVsiNSJdPSExO1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihkLAplKXtpZihlIT09ImF1dG8iJiZlIT09Im1hbnVhbCImJmUhPT0iY29kZSIpdGhyb3cgYyhkLHt9LCJVbmtub3duIHVzZXIgcHJvdmlkZWQgZGF0YSBzb3VyY2UuIik7aWYoYi52dHBfbGltaXREYXRhU291cmNlcylpZihlIT09ImF1dG8ifHxiLnZ0cF9hbGxvd0F1dG9EYXRhU291cmNlcyl7aWYoZT09PSJtYW51YWwiJiYhYi52dHBfYWxsb3dNYW51YWxEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgdmlhIG1hbnVhbGx5IHNwZWNpZmllZCBDU1Mgc2VsZWN0b3JzIGlzIG5vdCBhbGxvd2VkLiIpO2lmKGU9PT0iY29kZSImJiFiLnZ0cF9hbGxvd0NvZGVEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgZnJvbSBhbiBpbi1wYWdlIHZhcmlhYmxlIGlzIG5vdCBhbGxvd2VkLiIpO31lbHNlIHRocm93IGMoZCx7fSwiQXV0b21hdGljIGRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgaXMgbm90IGFsbG93ZWQuIik7Cn0sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5nZXRfdXJsPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyxkKXtyZXR1cm57Y29tcG9uZW50OmMscXVlcnlLZXk6ZH19KGZ1bmN0aW9uKGIpe1ouX19nZXRfdXJsPWI7Wi5fX2dldF91cmwuTz0iZ2V0X3VybCI7Wi5fX2dldF91cmwuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZ2V0X3VybC5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2dldF91cmwuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZ2V0X3VybFsiNSJdPSExO1ouX19nZXRfdXJsWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF91cmxQYXJ0cz09PSJhbnkiP251bGw6W107YyYmKGIudnRwX3Byb3RvY29sJiZjLnB1c2goInByb3RvY29sIiksYi52dHBfaG9zdCYmYy5wdXNoKCJob3N0IiksYi52dHBfcG9ydCYmYy5wdXNoKCJwb3J0IiksYi52dHBfcGF0aCYmYy5wdXNoKCJwYXRoIiksYi52dHBfZXh0ZW5zaW9uJiZjLnB1c2goImV4dGVuc2lvbiIpLGIudnRwX3F1ZXJ5JiYKYy5wdXNoKCJxdWVyeSIpLGIudnRwX2ZyYWdtZW50JiZjLnB1c2goImZyYWdtZW50IikpO3ZhciBkPWMmJmIudnRwX3F1ZXJpZXNBbGxvd2VkIT09ImFueSI/Yi52dHBfcXVlcnlLZXlzfHxbXTpudWxsLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnLGgpe2lmKGcpe2lmKCF6YihnKSl0aHJvdyBlKGYse30sIlVSTCBjb21wb25lbnQgbXVzdCBiZSBhIHN0cmluZy4iKTtpZihjJiZjLmluZGV4T2YoZyk8MCl0aHJvdyBlKGYse30sIlByb2hpYml0ZWQgVVJMIGNvbXBvbmVudDogIitnKTtpZihnPT09InF1ZXJ5IiYmZCl7aWYoIWgpdGhyb3cgZShmLHt9LCJQcm9oaWJpdGVkIGZyb20gZ2V0dGluZyBlbnRpcmUgVVJMIHF1ZXJ5IHdoZW4gcXVlcnkga2V5cyBhcmUgc3BlY2lmaWVkLiIpO2lmKCF6YihoKSl0aHJvdyBlKGYse30sIlF1ZXJ5IGtleSBtdXN0IGJlIGEgc3RyaW5nLiIpO2lmKGQuaW5kZXhPZihoKTwwKXRocm93IGUoZix7fSwKIlByb2hpYml0ZWQgcXVlcnkga2V5OiAiK2gpO319ZWxzZSBpZihjKXRocm93IGUoZix7fSwiUHJvaGliaXRlZCBmcm9tIGdldHRpbmcgZW50aXJlIFVSTCB3aGVuIGNvbXBvbmVudHMgYXJlIHNwZWNpZmllZC4iKTt9LGFhOmF9fSl9KCk7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9kb21fZWxlbWVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnt0eXBlOmMsdmFsdWU6ZH19KGZ1bmN0aW9uKGIpe1ouX19yZWFkX2RvbV9lbGVtZW50cz1iO1ouX19yZWFkX2RvbV9lbGVtZW50cy5PPSJyZWFkX2RvbV9lbGVtZW50cyI7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fcmVhZF9kb21fZWxlbWVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjUiXT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93ZWRFbGVtZW50SWRzfHwibm9uZSIsZD1iLnZ0cF9hbGxvd2VkQ3NzU2VsZWN0b3JzfHwibm9uZSIsZT1iLnZ0cF9lbGVtZW50SWRzfHxbXSxmPWIudnRwX2Nzc1NlbGVjdG9yc3x8W10sZz0KYi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oaCxsLG4pe3N3aXRjaChsKXtjYXNlICJpZCI6aWYoYz09PSJub25lIilicmVhaztpZihjPT09ImFueSJ8fGUuaW5kZXhPZihuKT4tMSlyZXR1cm47YnJlYWs7Y2FzZSAiY3NzIjppZihkPT09Im5vbmUiKWJyZWFrO2lmKGQ9PT0iYW55Inx8Zi5pbmRleE9mKG4pPi0xKXJldHVybjticmVhaztkZWZhdWx0OnRocm93IGcoaCx7fSwiVW5rbm93biBzZWxlY3RvciB0eXBlICIrbCsiLiIpO310aHJvdyBnKGgse30sIlByb2hpYml0ZWQgc2VsZWN0b3IgdmFsdWUgIituKyIgZm9yIHNlbGVjdG9yIHR5cGUgIitsKyIuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9jbGlja19ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnttYXRjaENvbW1vbkJ1dHRvbnM6Yyxjc3NTZWxlY3RvcjpkfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5PPSJkZXRlY3RfY2xpY2tfZXZlbnRzIjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9jbGlja19ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGQsZSxmKXtpZihlIT09dm9pZCAwJiZ0eXBlb2YgZSE9PQoiYm9vbGVhbiIpdGhyb3cgYyhkLHt9LCJtYXRjaENvbW1vbkJ1dHRvbnMgbXVzdCBiZSBhIGJvb2xlYW4uIik7aWYoZiE9PXZvaWQgMCYmdHlwZW9mIGYhPT0ic3RyaW5nIil0aHJvdyBjKGQse30sImNzc1NlbGVjdG9yIG11c3QgYmUgYSBzdHJpbmcuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9zY3JvbGxfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7cmV0dXJue319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cz1iO1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cy5PPSJkZXRlY3Rfc2Nyb2xsX2V2ZW50cyI7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6YX19KX0oKTsKCgoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtyZXR1cm57fX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cz1iO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMuTz0iZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzWyI2Il09ITF9KShmdW5jdGlvbigpe3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oKXt9LAphYTphfX0pfSgpOwpmdW5jdGlvbiBrVSgpe3ZhciBhPXt9LGI9e2RhdGFMYXllcjp0QSxjYWxsYmFjazpmdW5jdGlvbihjKXthLmhhc093blByb3BlcnR5KGMpJiZ5YihhW2NdKSYmYVtjXSgpO2RlbGV0ZSBhW2NdfSxib290c3RyYXA6MH07cmV0dXJuIGJ9CmZ1bmN0aW9uIGxVKCl7dmFyIGE9a1UoKTtvaihhKTtDaygpO2pBKCk7dmFyIGI9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pO1FiKGIsWi5zZWN1cml0eUdyb3Vwcyk7dmFyIGM9eWsoemsoKSksZCxlPWM9PW51bGw/dm9pZCAwOihkPWMuY29udGV4dCk9PW51bGw/dm9pZCAwOmQuc291cmNlO0tsKGUsYz09bnVsbD92b2lkIDA6Yy5wYXJlbnQpO2UhPT0yJiZlIT09NCYmZSE9PTN8fFAoMTQyKTtyZXR1cm4gYX1mdW5jdGlvbiBtVSgpe3ZhciBhPUUoNjApO2lmKGEpZm9yKHZhciBiPWEuc3BsaXQoIi4iKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY10sZT1UTDtkJiYoZS5IW2RdPSEwKX19CmZ1bmN0aW9uIG5VKCl7enAoKTtsaigpO2Zvcih2YXIgYT1kYXRhLnJlc291cmNlfHx7fSxiPWNBLGM9YS5tYWNyb3N8fFtdLGQ9MDtkPGMubGVuZ3RoO2QrKyliLm1hY3Jvcy5wdXNoKG5ldyBVeihjW2RdLGQsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBlPWEudGFnc3x8W10sZj0wO2Y8ZS5sZW5ndGg7ZisrKWIudGFncy5wdXNoKG5ldyBZeihlW2ZdLGYsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBnPWEucHJlZGljYXRlc3x8W10saD0wO2g8Zy5sZW5ndGg7aCsrKWIucHJlZGljYXRlcy5wdXNoKG5ldyBWeihnW2hdLGIudGFncyxiLm1hY3JvcykpO2Zvcih2YXIgbD1hLnJ1bGVzfHxbXSxuPTA7bjxsLmxlbmd0aDtuKyspYi5ydWxlcy5wdXNoKG5ldyBXeihsW25dLG4pKTtRej1aO3ZhciBwPWRhdGEucGVybWlzc2lvbnN8fHt9LHE9WjtkZz1uZXcgZ2coRSg1KSxwLHEpO3ZhciByPWRhdGEuc2FuZGJveGVkX3NjcmlwdHMsdD1kYXRhLnNlY3VyaXR5X2dyb3Vwcyx1PWRhdGEucnVudGltZXx8CltdLHY9ZGF0YS5ydW50aW1lX2xpbmVzO0pGPW5ldyBwZjtWVCgpO1B6PUlGKCk7dmFyIHg9SkYseT1VVCgpLHo9bmV3IExkKCJyZXF1aXJlIix5KTt6LlphKCk7eC5ILkguc2V0KCJyZXF1aXJlIix6KTtkYi5zZXQoInJlcXVpcmUiLHopO2Zvcih2YXIgQz0wO0M8dS5sZW5ndGg7QysrKXt2YXIgRD11W0NdO2lmKCFBcnJheS5pc0FycmF5KEQpfHxELmxlbmd0aDwzKXtpZihELmxlbmd0aD09PTApY29udGludWU7YnJlYWt9diYmdltDXSYmdltDXS5sZW5ndGgmJlBmKEQsdltDXSk7dHJ5e0pGLmV4ZWN1dGUoRCl9Y2F0Y2gob1Upe319V1Qocik7WFQodCk7dmFyIEk9bFUoKTtpRigpO3ZtLmJpbmQoKTtpZighRGopZm9yKHZhciBHPUJtKCk/ZXAoTGYoNSkpOmVwKExmKDQpKSxOPW0oUm8pLFM9Ti5uZXh0KCk7IVMuZG9uZTtTPU4ubmV4dCgpKXt2YXIgVz1TLnZhbHVlLGVhPVcsamE9R1tXXT8iZ3JhbnRlZCI6ImRlbmllZCI7dGwoKS5pbXBsaWNpdChlYSxqYSl9aEUuYmluZCgpO1RCKCk7Ck9CKCk7Zm4uTiYmKGd6KCksZnooQUYpLGdBKCksY0I9bmV3IGJCLGZ6KGl6KSxPQygpLERGfHwoREY9bmV3IEJGKSxmQnx8KGZCPW5ldyBlQiksRkY9bmV3IEVGKTtpZihmbi5LKXtERS5iaW5kKCk7bUMuYmluZCgpO3dFLmJpbmQoKTt2YXIgZmE9QWsoKTtpZihmYSl7dmFyIHNhO2E6e3ZhciBkYSxtYT0oZGE9ZmEuc2NyaXB0RWxlbWVudCk9PW51bGw/dm9pZCAwOmRhLnNyYztpZihtYSl7dmFyIFBhO3RyeXt2YXIgRmE7UGE9KEZhPXJkKCkpPT1udWxsP3ZvaWQgMDpGYS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpfWNhdGNoKG9VKXt9aWYoUGEpe2Zvcih2YXIgcWE9LTEsaWI9bShQYSksWGI9aWIubmV4dCgpOyFYYi5kb25lO1hiPWliLm5leHQoKSl7dmFyIExjPVhiLnZhbHVlO2lmKExjLmluaXRpYXRvclR5cGU9PT0KInNjcmlwdCImJihxYSs9MSxMYy5uYW1lLnJlcGxhY2UoTkUsIiIpPT09bWEucmVwbGFjZShORSwiIikpKXtzYT1xYTticmVhayBhfX1QKDE0Nil9ZWxzZSBQKDE0NSl9c2E9dm9pZCAwfXZhciBRZD1zYTtRZCE9PXZvaWQgMCYmKGZhLmNhbm9uaWNhbENvbnRhaW5lcklkJiZVbSgicnRnIixTdHJpbmcoZmEuY2Fub25pY2FsQ29udGFpbmVySWQpKSxVbSgic2xvIixTdHJpbmcoUWQpKSxVbSgiaGxvIixmYS5odG1sTG9hZE9yZGVyfHwiLTEiKSxVbSgibHN0IixTdHJpbmcoZmEubG9hZFNjcmlwdFR5cGV8fCIwIikpKX1lbHNlIFAoMTQ0KTt2YXIgWWM7dmFyIERkPXhrKCk7aWYoRGQpaWYoRGQuY2Fub25pY2FsQ29udGFpbmVySWQpWWM9RGQuY2Fub25pY2FsQ29udGFpbmVySWQ7ZWxzZXt2YXIgamYsdmg9RGQuc2NyaXB0Q29udGFpbmVySWR8fCgoamY9RGQuZGVzdGluYXRpb25zKT09bnVsbD92b2lkIDA6amZbMF0pO1ljPXZoPyJfIit2aDp2b2lkIDB9ZWxzZSBZYz12b2lkIDA7dmFyIEpFPQpZYztKRSYmVW0oInBjaWQiLEpFKTtVbSgiYnQiLFN0cmluZyhJZig0Nyk/MjpJZig1MCk/MTowKSk7VW0oImN0IixTdHJpbmcoSWYoNDcpPzA6SWYoNTApPzE6MykpO0FFLmJpbmQoKTtmb3IodmFyIFdyPVtdLFhyPVtdLEtFPW0oT2JqZWN0LmtleXMoR0UpKSxZcj1LRS5uZXh0KCk7IVlyLmRvbmU7WXI9S0UubmV4dCgpKXt2YXIgcm09WXIudmFsdWU7aWYod2luZG93LmlzU2VjdXJlQ29udGV4dHx8IUlFW3JtXSl7dmFyIExFPUdFW3JtXSgpO2lmKHliKExFKSl7dmFyIE1FPUZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKExFKTtUYihNRSwieyBbbmF0aXZlIGNvZGVdIH0iKXx8VGIoTUUsIntcbiAgICBbbmF0aXZlIGNvZGVdXG59Iil8fFhyLnB1c2gocm0pfWVsc2UgV3IucHVzaChybSl9fVdyLmxlbmd0aD4wJiZVbSgianNtIixXci5qb2luKCJ+IikpO1hyLmxlbmd0aD4wJiZVbSgianNwIixYci5qb2luKCJ+IikpO0V5fHwoRXk9bmV3IER5KX1oRigpO2ltKDEpO0VHKCk7cmV0dXJuIEl9CmZ1bmN0aW9uIHVtKCl7dHJ5e2lmKCFoaygpJiYoSWYoNDcpfHwhTmsoKSkpe0lmKDY0KSYmd2ouSC5LLmFkZCgxMTg1MTc5MTcpO3pqKCk7Zm4uSCYmc3ooKTtXZls1XT0hMDt2YXIgYT1raigiZGVidWdHcm91cElkIixmdW5jdGlvbigpe3JldHVybiBTdHJpbmcoTWF0aC5mbG9vcihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUipNYXRoLnJhbmRvbSgpKSl9KTtTbChhKTtrdCgpO3pGKCk7RnQoKTtQQigpO2lmKERrKCkpe0UoNSk7REcoKTtpQigpLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zKHZrKCkpO31lbHNle0ZNLlIoKTtuVSgpLmJvb3RzdHJhcD1OYigpO0lmKDUxKSYmcEUoKTsKZm4uSCYmdHooKTt0eXBlb2YgQS5uYW1lPT09InN0cmluZyImJlNiKEEubmFtZSwid2ViLXBpeGVsLXNhbmRib3gtQ1VTVE9NIikmJnNkKCk/WlQoImRNRGcwWXoiKTpBLlNob3BpZnkmJihaVCgiZE4yWmtNaiIpLHNkKCkmJlpUKCJkTlRVMFl6IikpO21VKCl9fX1jYXRjaChiKXtpbSg1KSxoeigpfX0KKGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtuPUIuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS10YWctYXNzaXN0YW50LXByZXNlbnQiKTtnbChuKSYmKGw9aC54bSl9ZnVuY3Rpb24gYygpe2wmJktjP2cobCk6YSgpfWlmKCFBW0UoMzcpXSl7dmFyIGQ9ITE7aWYoQi5yZWZlcnJlcil7dmFyIGU9UmooQi5yZWZlcnJlcik7ZD1OaihlLCJob3N0Iik9PT1FKDM4KX1pZighZCl7dmFyIGY9Y3EoRSgzOSkpO2Q9ISghZi5sZW5ndGh8fCFmWzBdLmxlbmd0aCl9ZCYmKEFbRSgzNyldPSEwLFVjKEUoNDApKSl9dmFyIGc9ZnVuY3Rpb24odSl7dmFyIHY9IkdUTSIseD0iR1RNIjtJZig0NSkmJih2PSJPR1QiLHg9IkdUQUciKTt2YXIgeT1FKDIzKSx6PUFbeV07enx8KHo9W10sQVt5XT16LFVjKCJodHRwczovLyIrRSgzKSsiL2RlYnVnL2Jvb3RzdHJhcD9pZD0iK0UoNSkrIiZzcmM9Iit4KyImY29uZD0iK1N0cmluZyh1KSsiJmd0bT0iK2R1KCkpKTt2YXIgQz17bWVzc2FnZVR5cGU6IkNPTlRBSU5FUl9TVEFSVElORyIsCmRhdGE6e3NjcmlwdFNvdXJjZTpLYyxjb250YWluZXJQcm9kdWN0OnYsZGVidWc6ITEsaWQ6RSg1KSx0YXJnZXRSZWY6e2N0aWQ6RSg1KSxpc0Rlc3RpbmF0aW9uOnNrKCksY2Fub25pY2FsSWQ6RSg2KX0sYWxpYXNlczp3aygpLGRlc3RpbmF0aW9uczp0aygpfX0sRD1DLmRhdGE7RC5yZXN1bWU9ZnVuY3Rpb24oKXthKCl9O0QucmVzdW1lV2l0aE1lbW9zPWZ1bmN0aW9uKCl7c2woMSk7YSgpfTtJZigyKSYmKEMuZGF0YS5pbml0aWFsUHVibGlzaD0hMCk7ei5wdXNoKEMpfSxoPXtHcToxLFBtOjIsb246MyxqbDo0LHhtOjV9O2hbaC5HcV09IkdUTV9ERUJVR19MRUdBQ1lfUEFSQU0iO2hbaC5QbV09IkdUTV9ERUJVR19QQVJBTSI7aFtoLm9uXT0iUkVGRVJSRVIiO2hbaC5qbF09IkNPT0tJRSI7aFtoLnhtXT0iRVhURU5TSU9OX1BBUkFNIjt2YXIgbD12b2lkIDAsbj12b2lkIDAscD1MaihBLmxvY2F0aW9uLCJxdWVyeSIsITEsdm9pZCAwLCJndG1fZGVidWciKTtnbChwKSYmKGw9aC5QbSk7CmlmKCFsJiZCLnJlZmVycmVyKXt2YXIgcT1SaihCLnJlZmVycmVyKTtOaihxLCJob3N0Iik9PT1FKDI0KSYmKGw9aC5vbil9aWYoIWwpe3ZhciByPWNxKCJfX1RBR19BU1NJU1RBTlQiKTtyLmxlbmd0aCYmclswXS5sZW5ndGgmJihsPWguamwpfWx8fGIoKTtpZighbCYmZmwobikpe3ZhciB0PSExOyRjKEIsIlRBRGVidWdTaWduYWwiLGZ1bmN0aW9uKCl7dHx8KHQ9ITAsYigpLGMoKSl9LCExKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0fHwodD0hMCxiKCksYygpKX0sMjAwKX1lbHNlIGMoKX0pKGZ1bmN0aW9uKCl7IUlmKDQ3KXx8dG0oKVsiMCJdP3VtKCk6eG0oKX0pOwoKfSkoKQoK"}},"time_used":143,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":36,"receive":54,"ssl":35},"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.264Z","timestamp":1785124600264,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-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: 06c8071f8bd7e81dcae1e47da83df88a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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":"astroxcinvest.com/favicon.ico","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:41.478Z","timestamp":1785124601478,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:41 GMT\r\ncontent-type: image/x-icon\r\nlast-modified: Fri, 03 Feb 2023 05:40:07 GMT\r\netag: \"1-63dc9e37-4016376c9cad5392;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 1\r\ndate: Mon, 27 Jul 2026 03:56:41 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1,"size_decoded":324,"mime_type":"image/x-icon","magic":"very short file (no magic)","md5":"7215ee9c7d9dc229d2921a40e899ec5f","sha1":"b858cb282617fb0956d960215c8e84d1ccf909c6","sha256":"36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068","sha512":"f90ddd77e400dfe6a3fcf479b00b1ee29e7015c5bb8cd70f5f15b4886cc339275ff553fc8a053f8ddc7324f45168cffaf81f8c3ac93996f6536eef38e5e40768","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000000000000000000000000","first_seen":"2023-03-07T01:02:53Z","last_seen":"2026-08-04T03:45:22.74106Z","times_seen":39520,"resource_available":true,"data":"IA=="}},"time_used":142,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":142,"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":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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://astroxcinvest.com/","date":"2026-07-27T03:56:41.736Z","timestamp":1785124601736,"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: 247169\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-04T07:33:37.104909Z","times_seen":73918,"resource_available":false,"data":"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"}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/waypoints.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.624Z","timestamp":1785124599624,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/waypoints.min.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"1f6c-5aa839fc-4b9271b00f1aa945;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 2461\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":8044,"size_decoded":2838,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (7808)","md5":"dfe0eedf8da578f4a4c43b05448c51d9","sha1":"812d7071b4e44b1aa5d5ea6c7ce0b79eb9d46520","sha256":"a0fded691aed767f851011cd3185b928619298a21a0fbdad4808a9e88b490833","sha512":"9084433d6201a0aa45efd1c9bf7c413d08192a3871cea3061b637af2cbef21de39c3dbe9fe14d7a11edc0c44588551212c94ee4866ff737f991e07907cb9b41e","ssdeep":"96:uLBvpnG3nnRh+1pRVKmHyjyYfAPiQc954LT4KN/WzdBUVKdBJEdfdpu531v8L7:uPG3nC19KWssPVpX4KN/eU8Ju4e/","tlshash":"3bf1f9c9b4c7b4221befa0b5d43f060bb33a9e4561098064f194e4da3db4a2da567f38","first_seen":"2023-03-07T01:07:26Z","last_seen":"2026-08-04T04:02:31.554741Z","times_seen":12566,"resource_available":true,"data":"Ly8gR2VuZXJhdGVkIGJ5IENvZmZlZVNjcmlwdCAxLjYuMgovKgpqUXVlcnkgV2F5cG9pbnRzIC0gdjIuMC4zCkNvcHlyaWdodCAoYykgMjAxMS0yMDEzIENhbGViIFRyb3VnaHRvbgpEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBhbmQgR1BMIGxpY2Vuc2UuCmh0dHBzOi8vZ2l0aHViLmNvbS9pbWFrZXdlYnRoaW5ncy9qcXVlcnktd2F5cG9pbnRzL2Jsb2IvbWFzdGVyL2xpY2Vuc2VzLnR4dAoqLwooZnVuY3Rpb24oKXt2YXIgdD1bXS5pbmRleE9mfHxmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxuPXRoaXMubGVuZ3RoO2U8bjtlKyspe2lmKGUgaW4gdGhpcyYmdGhpc1tlXT09PXQpcmV0dXJuIGV9cmV0dXJuLTF9LGU9W10uc2xpY2U7KGZ1bmN0aW9uKHQsZSl7aWYodHlwZW9mIGRlZmluZT09PSJmdW5jdGlvbiImJmRlZmluZS5hbWQpe3JldHVybiBkZWZpbmUoIndheXBvaW50cyIsWyJqcXVlcnkiXSxmdW5jdGlvbihuKXtyZXR1cm4gZShuLHQpfSl9ZWxzZXtyZXR1cm4gZSh0LmpRdWVyeSx0KX19KSh0aGlzLGZ1bmN0aW9uKG4scil7dmFyIGksbyxsLHMsZix1LGEsYyxoLGQscCx5LHYsdyxnLG07aT1uKHIpO2M9dC5jYWxsKHIsIm9udG91Y2hzdGFydCIpPj0wO3M9e2hvcml6b250YWw6e30sdmVydGljYWw6e319O2Y9MTthPXt9O3U9IndheXBvaW50cy1jb250ZXh0LWlkIjtwPSJyZXNpemUud2F5cG9pbnRzIjt5PSJzY3JvbGwud2F5cG9pbnRzIjt2PTE7dz0id2F5cG9pbnRzLXdheXBvaW50LWlkcyI7Zz0id2F5cG9pbnQiO209IndheXBvaW50cyI7bz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dmFyIGU9dGhpczt0aGlzLiRlbGVtZW50PXQ7dGhpcy5lbGVtZW50PXRbMF07dGhpcy5kaWRSZXNpemU9ZmFsc2U7dGhpcy5kaWRTY3JvbGw9ZmFsc2U7dGhpcy5pZD0iY29udGV4dCIrZisrO3RoaXMub2xkU2Nyb2xsPXt4OnQuc2Nyb2xsTGVmdCgpLHk6dC5zY3JvbGxUb3AoKX07dGhpcy53YXlwb2ludHM9e2hvcml6b250YWw6e30sdmVydGljYWw6e319O3QuZGF0YSh1LHRoaXMuaWQpO2FbdGhpcy5pZF09dGhpczt0LmJpbmQoeSxmdW5jdGlvbigpe3ZhciB0O2lmKCEoZS5kaWRTY3JvbGx8fGMpKXtlLmRpZFNjcm9sbD10cnVlO3Q9ZnVuY3Rpb24oKXtlLmRvU2Nyb2xsKCk7cmV0dXJuIGUuZGlkU2Nyb2xsPWZhbHNlfTtyZXR1cm4gci5zZXRUaW1lb3V0KHQsblttXS5zZXR0aW5ncy5zY3JvbGxUaHJvdHRsZSl9fSk7dC5iaW5kKHAsZnVuY3Rpb24oKXt2YXIgdDtpZighZS5kaWRSZXNpemUpe2UuZGlkUmVzaXplPXRydWU7dD1mdW5jdGlvbigpe25bbV0oInJlZnJlc2giKTtyZXR1cm4gZS5kaWRSZXNpemU9ZmFsc2V9O3JldHVybiByLnNldFRpbWVvdXQodCxuW21dLnNldHRpbmdzLnJlc2l6ZVRocm90dGxlKX19KX10LnByb3RvdHlwZS5kb1Njcm9sbD1mdW5jdGlvbigpe3ZhciB0LGU9dGhpczt0PXtob3Jpem9udGFsOntuZXdTY3JvbGw6dGhpcy4kZWxlbWVudC5zY3JvbGxMZWZ0KCksb2xkU2Nyb2xsOnRoaXMub2xkU2Nyb2xsLngsZm9yd2FyZDoicmlnaHQiLGJhY2t3YXJkOiJsZWZ0In0sdmVydGljYWw6e25ld1Njcm9sbDp0aGlzLiRlbGVtZW50LnNjcm9sbFRvcCgpLG9sZFNjcm9sbDp0aGlzLm9sZFNjcm9sbC55LGZvcndhcmQ6ImRvd24iLGJhY2t3YXJkOiJ1cCJ9fTtpZihjJiYoIXQudmVydGljYWwub2xkU2Nyb2xsfHwhdC52ZXJ0aWNhbC5uZXdTY3JvbGwpKXtuW21dKCJyZWZyZXNoIil9bi5lYWNoKHQsZnVuY3Rpb24odCxyKXt2YXIgaSxvLGw7bD1bXTtvPXIubmV3U2Nyb2xsPnIub2xkU2Nyb2xsO2k9bz9yLmZvcndhcmQ6ci5iYWNrd2FyZDtuLmVhY2goZS53YXlwb2ludHNbdF0sZnVuY3Rpb24odCxlKXt2YXIgbixpO2lmKHIub2xkU2Nyb2xsPChuPWUub2Zmc2V0KSYmbjw9ci5uZXdTY3JvbGwpe3JldHVybiBsLnB1c2goZSl9ZWxzZSBpZihyLm5ld1Njcm9sbDwoaT1lLm9mZnNldCkmJmk8PXIub2xkU2Nyb2xsKXtyZXR1cm4gbC5wdXNoKGUpfX0pO2wuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0Lm9mZnNldC1lLm9mZnNldH0pO2lmKCFvKXtsLnJldmVyc2UoKX1yZXR1cm4gbi5lYWNoKGwsZnVuY3Rpb24odCxlKXtpZihlLm9wdGlvbnMuY29udGludW91c3x8dD09PWwubGVuZ3RoLTEpe3JldHVybiBlLnRyaWdnZXIoW2ldKX19KX0pO3JldHVybiB0aGlzLm9sZFNjcm9sbD17eDp0Lmhvcml6b250YWwubmV3U2Nyb2xsLHk6dC52ZXJ0aWNhbC5uZXdTY3JvbGx9fTt0LnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIHQsZSxyLGk9dGhpcztyPW4uaXNXaW5kb3codGhpcy5lbGVtZW50KTtlPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCk7dGhpcy5kb1Njcm9sbCgpO3Q9e2hvcml6b250YWw6e2NvbnRleHRPZmZzZXQ6cj8wOmUubGVmdCxjb250ZXh0U2Nyb2xsOnI/MDp0aGlzLm9sZFNjcm9sbC54LGNvbnRleHREaW1lbnNpb246dGhpcy4kZWxlbWVudC53aWR0aCgpLG9sZFNjcm9sbDp0aGlzLm9sZFNjcm9sbC54LGZvcndhcmQ6InJpZ2h0IixiYWNrd2FyZDoibGVmdCIsb2Zmc2V0UHJvcDoibGVmdCJ9LHZlcnRpY2FsOntjb250ZXh0T2Zmc2V0OnI/MDplLnRvcCxjb250ZXh0U2Nyb2xsOnI/MDp0aGlzLm9sZFNjcm9sbC55LGNvbnRleHREaW1lbnNpb246cj9uW21dKCJ2aWV3cG9ydEhlaWdodCIpOnRoaXMuJGVsZW1lbnQuaGVpZ2h0KCksb2xkU2Nyb2xsOnRoaXMub2xkU2Nyb2xsLnksZm9yd2FyZDoiZG93biIsYmFja3dhcmQ6InVwIixvZmZzZXRQcm9wOiJ0b3AifX07cmV0dXJuIG4uZWFjaCh0LGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4uZWFjaChpLndheXBvaW50c1t0XSxmdW5jdGlvbih0LHIpe3ZhciBpLG8sbCxzLGY7aT1yLm9wdGlvbnMub2Zmc2V0O2w9ci5vZmZzZXQ7bz1uLmlzV2luZG93KHIuZWxlbWVudCk/MDpyLiRlbGVtZW50Lm9mZnNldCgpW2Uub2Zmc2V0UHJvcF07aWYobi5pc0Z1bmN0aW9uKGkpKXtpPWkuYXBwbHkoci5lbGVtZW50KX1lbHNlIGlmKHR5cGVvZiBpPT09InN0cmluZyIpe2k9cGFyc2VGbG9hdChpKTtpZihyLm9wdGlvbnMub2Zmc2V0LmluZGV4T2YoIiUiKT4tMSl7aT1NYXRoLmNlaWwoZS5jb250ZXh0RGltZW5zaW9uKmkvMTAwKX19ci5vZmZzZXQ9by1lLmNvbnRleHRPZmZzZXQrZS5jb250ZXh0U2Nyb2xsLWk7aWYoci5vcHRpb25zLm9ubHlPblNjcm9sbCYmbCE9bnVsbHx8IXIuZW5hYmxlZCl7cmV0dXJufWlmKGwhPT1udWxsJiZsPChzPWUub2xkU2Nyb2xsKSYmczw9ci5vZmZzZXQpe3JldHVybiByLnRyaWdnZXIoW2UuYmFja3dhcmRdKX1lbHNlIGlmKGwhPT1udWxsJiZsPihmPWUub2xkU2Nyb2xsKSYmZj49ci5vZmZzZXQpe3JldHVybiByLnRyaWdnZXIoW2UuZm9yd2FyZF0pfWVsc2UgaWYobD09PW51bGwmJmUub2xkU2Nyb2xsPj1yLm9mZnNldCl7cmV0dXJuIHIudHJpZ2dlcihbZS5mb3J3YXJkXSl9fSl9KX07dC5wcm90b3R5cGUuY2hlY2tFbXB0eT1mdW5jdGlvbigpe2lmKG4uaXNFbXB0eU9iamVjdCh0aGlzLndheXBvaW50cy5ob3Jpem9udGFsKSYmbi5pc0VtcHR5T2JqZWN0KHRoaXMud2F5cG9pbnRzLnZlcnRpY2FsKSl7dGhpcy4kZWxlbWVudC51bmJpbmQoW3AseV0uam9pbigiICIpKTtyZXR1cm4gZGVsZXRlIGFbdGhpcy5pZF19fTtyZXR1cm4gdH0oKTtsPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUscil7dmFyIGksbztyPW4uZXh0ZW5kKHt9LG4uZm5bZ10uZGVmYXVsdHMscik7aWYoci5vZmZzZXQ9PT0iYm90dG9tLWluLXZpZXciKXtyLm9mZnNldD1mdW5jdGlvbigpe3ZhciB0O3Q9blttXSgidmlld3BvcnRIZWlnaHQiKTtpZighbi5pc1dpbmRvdyhlLmVsZW1lbnQpKXt0PWUuJGVsZW1lbnQuaGVpZ2h0KCl9cmV0dXJuIHQtbih0aGlzKS5vdXRlckhlaWdodCgpfX10aGlzLiRlbGVtZW50PXQ7dGhpcy5lbGVtZW50PXRbMF07dGhpcy5heGlzPXIuaG9yaXpvbnRhbD8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIjt0aGlzLmNhbGxiYWNrPXIuaGFuZGxlcjt0aGlzLmNvbnRleHQ9ZTt0aGlzLmVuYWJsZWQ9ci5lbmFibGVkO3RoaXMuaWQ9IndheXBvaW50cyIrdisrO3RoaXMub2Zmc2V0PW51bGw7dGhpcy5vcHRpb25zPXI7ZS53YXlwb2ludHNbdGhpcy5heGlzXVt0aGlzLmlkXT10aGlzO3NbdGhpcy5heGlzXVt0aGlzLmlkXT10aGlzO2k9KG89dC5kYXRhKHcpKSE9bnVsbD9vOltdO2kucHVzaCh0aGlzLmlkKTt0LmRhdGEodyxpKX10LnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLmVuYWJsZWQpe3JldHVybn1pZih0aGlzLmNhbGxiYWNrIT1udWxsKXt0aGlzLmNhbGxiYWNrLmFwcGx5KHRoaXMuZWxlbWVudCx0KX1pZih0aGlzLm9wdGlvbnMudHJpZ2dlck9uY2Upe3JldHVybiB0aGlzLmRlc3Ryb3koKX19O3QucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmFibGVkPWZhbHNlfTt0LnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQucmVmcmVzaCgpO3JldHVybiB0aGlzLmVuYWJsZWQ9dHJ1ZX07dC5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2RlbGV0ZSBzW3RoaXMuYXhpc11bdGhpcy5pZF07ZGVsZXRlIHRoaXMuY29udGV4dC53YXlwb2ludHNbdGhpcy5heGlzXVt0aGlzLmlkXTtyZXR1cm4gdGhpcy5jb250ZXh0LmNoZWNrRW1wdHkoKX07dC5nZXRXYXlwb2ludHNCeUVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGUscjtyPW4odCkuZGF0YSh3KTtpZighcil7cmV0dXJuW119ZT1uLmV4dGVuZCh7fSxzLmhvcml6b250YWwscy52ZXJ0aWNhbCk7cmV0dXJuIG4ubWFwKHIsZnVuY3Rpb24odCl7cmV0dXJuIGVbdF19KX07cmV0dXJuIHR9KCk7ZD17aW5pdDpmdW5jdGlvbih0LGUpe3ZhciByO2lmKGU9PW51bGwpe2U9e319aWYoKHI9ZS5oYW5kbGVyKT09bnVsbCl7ZS5oYW5kbGVyPXR9dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQscixpLHM7dD1uKHRoaXMpO2k9KHM9ZS5jb250ZXh0KSE9bnVsbD9zOm4uZm5bZ10uZGVmYXVsdHMuY29udGV4dDtpZighbi5pc1dpbmRvdyhpKSl7aT10LmNsb3Nlc3QoaSl9aT1uKGkpO3I9YVtpLmRhdGEodSldO2lmKCFyKXtyPW5ldyBvKGkpfXJldHVybiBuZXcgbCh0LHIsZSl9KTtuW21dKCJyZWZyZXNoIik7cmV0dXJuIHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZC5faW52b2tlKHRoaXMsImRpc2FibGUiKX0sZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGQuX2ludm9rZSh0aGlzLCJlbmFibGUiKX0sZGVzdHJveTpmdW5jdGlvbigpe3JldHVybiBkLl9pbnZva2UodGhpcywiZGVzdHJveSIpfSxwcmV2OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGQuX3RyYXZlcnNlLmNhbGwodGhpcyx0LGUsZnVuY3Rpb24odCxlLG4pe2lmKGU+MCl7cmV0dXJuIHQucHVzaChuW2UtMV0pfX0pfSxuZXh0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGQuX3RyYXZlcnNlLmNhbGwodGhpcyx0LGUsZnVuY3Rpb24odCxlLG4pe2lmKGU8bi5sZW5ndGgtMSl7cmV0dXJuIHQucHVzaChuW2UrMV0pfX0pfSxfdHJhdmVyc2U6ZnVuY3Rpb24odCxlLGkpe3ZhciBvLGw7aWYodD09bnVsbCl7dD0idmVydGljYWwifWlmKGU9PW51bGwpe2U9cn1sPWguYWdncmVnYXRlKGUpO289W107dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU7ZT1uLmluQXJyYXkodGhpcyxsW3RdKTtyZXR1cm4gaShvLGUsbFt0XSl9KTtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobyl9LF9pbnZva2U6ZnVuY3Rpb24odCxlKXt0LmVhY2goZnVuY3Rpb24oKXt2YXIgdDt0PWwuZ2V0V2F5cG9pbnRzQnlFbGVtZW50KHRoaXMpO3JldHVybiBuLmVhY2godCxmdW5jdGlvbih0LG4pe25bZV0oKTtyZXR1cm4gdHJ1ZX0pfSk7cmV0dXJuIHRoaXN9fTtuLmZuW2ddPWZ1bmN0aW9uKCl7dmFyIHQscjtyPWFyZ3VtZW50c1swXSx0PTI8PWFyZ3VtZW50cy5sZW5ndGg/ZS5jYWxsKGFyZ3VtZW50cywxKTpbXTtpZihkW3JdKXtyZXR1cm4gZFtyXS5hcHBseSh0aGlzLHQpfWVsc2UgaWYobi5pc0Z1bmN0aW9uKHIpKXtyZXR1cm4gZC5pbml0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1lbHNlIGlmKG4uaXNQbGFpbk9iamVjdChyKSl7cmV0dXJuIGQuaW5pdC5hcHBseSh0aGlzLFtudWxsLHJdKX1lbHNlIGlmKCFyKXtyZXR1cm4gbi5lcnJvcigialF1ZXJ5IFdheXBvaW50cyBuZWVkcyBhIGNhbGxiYWNrIGZ1bmN0aW9uIG9yIGhhbmRsZXIgb3B0aW9uLiIpfWVsc2V7cmV0dXJuIG4uZXJyb3IoIlRoZSAiK3IrIiBtZXRob2QgZG9lcyBub3QgZXhpc3QgaW4galF1ZXJ5IFdheXBvaW50cy4iKX19O24uZm5bZ10uZGVmYXVsdHM9e2NvbnRleHQ6cixjb250aW51b3VzOnRydWUsZW5hYmxlZDp0cnVlLGhvcml6b250YWw6ZmFsc2Usb2Zmc2V0OjAsdHJpZ2dlck9uY2U6ZmFsc2V9O2g9e3JlZnJlc2g6ZnVuY3Rpb24oKXtyZXR1cm4gbi5lYWNoKGEsZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5yZWZyZXNoKCl9KX0sdmlld3BvcnRIZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4odD1yLmlubmVySGVpZ2h0KSE9bnVsbD90OmkuaGVpZ2h0KCl9LGFnZ3JlZ2F0ZTpmdW5jdGlvbih0KXt2YXIgZSxyLGk7ZT1zO2lmKHQpe2U9KGk9YVtuKHQpLmRhdGEodSldKSE9bnVsbD9pLndheXBvaW50czp2b2lkIDB9aWYoIWUpe3JldHVybltdfXI9e2hvcml6b250YWw6W10sdmVydGljYWw6W119O24uZWFjaChyLGZ1bmN0aW9uKHQsaSl7bi5lYWNoKGVbdF0sZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5wdXNoKGUpfSk7aS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQub2Zmc2V0LWUub2Zmc2V0fSk7clt0XT1uLm1hcChpLGZ1bmN0aW9uKHQpe3JldHVybiB0LmVsZW1lbnR9KTtyZXR1cm4gclt0XT1uLnVuaXF1ZShyW3RdKX0pO3JldHVybiByfSxhYm92ZTpmdW5jdGlvbih0KXtpZih0PT1udWxsKXt0PXJ9cmV0dXJuIGguX2ZpbHRlcih0LCJ2ZXJ0aWNhbCIsZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5vZmZzZXQ8PXQub2xkU2Nyb2xsLnl9KX0sYmVsb3c6ZnVuY3Rpb24odCl7aWYodD09bnVsbCl7dD1yfXJldHVybiBoLl9maWx0ZXIodCwidmVydGljYWwiLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUub2Zmc2V0PnQub2xkU2Nyb2xsLnl9KX0sbGVmdDpmdW5jdGlvbih0KXtpZih0PT1udWxsKXt0PXJ9cmV0dXJuIGguX2ZpbHRlcih0LCJob3Jpem9udGFsIixmdW5jdGlvbih0LGUpe3JldHVybiBlLm9mZnNldDw9dC5vbGRTY3JvbGwueH0pfSxyaWdodDpmdW5jdGlvbih0KXtpZih0PT1udWxsKXt0PXJ9cmV0dXJuIGguX2ZpbHRlcih0LCJob3Jpem9udGFsIixmdW5jdGlvbih0LGUpe3JldHVybiBlLm9mZnNldD50Lm9sZFNjcm9sbC54fSl9LGVuYWJsZTpmdW5jdGlvbigpe3JldHVybiBoLl9pbnZva2UoImVuYWJsZSIpfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGguX2ludm9rZSgiZGlzYWJsZSIpfSxkZXN0cm95OmZ1bmN0aW9uKCl7cmV0dXJuIGguX2ludm9rZSgiZGVzdHJveSIpfSxleHRlbmRGbjpmdW5jdGlvbih0LGUpe3JldHVybiBkW3RdPWV9LF9pbnZva2U6ZnVuY3Rpb24odCl7dmFyIGU7ZT1uLmV4dGVuZCh7fSxzLnZlcnRpY2FsLHMuaG9yaXpvbnRhbCk7cmV0dXJuIG4uZWFjaChlLGZ1bmN0aW9uKGUsbil7blt0XSgpO3JldHVybiB0cnVlfSl9LF9maWx0ZXI6ZnVuY3Rpb24odCxlLHIpe3ZhciBpLG87aT1hW24odCkuZGF0YSh1KV07aWYoIWkpe3JldHVybltdfW89W107bi5lYWNoKGkud2F5cG9pbnRzW2VdLGZ1bmN0aW9uKHQsZSl7aWYocihpLGUpKXtyZXR1cm4gby5wdXNoKGUpfX0pO28uc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0Lm9mZnNldC1lLm9mZnNldH0pO3JldHVybiBuLm1hcChvLGZ1bmN0aW9uKHQpe3JldHVybiB0LmVsZW1lbnR9KX19O25bbV09ZnVuY3Rpb24oKXt2YXIgdCxuO249YXJndW1lbnRzWzBdLHQ9Mjw9YXJndW1lbnRzLmxlbmd0aD9lLmNhbGwoYXJndW1lbnRzLDEpOltdO2lmKGhbbl0pe3JldHVybiBoW25dLmFwcGx5KG51bGwsdCl9ZWxzZXtyZXR1cm4gaC5hZ2dyZWdhdGUuY2FsbChudWxsLG4pfX07blttXS5zZXR0aW5ncz17cmVzaXplVGhyb3R0bGU6MTAwLHNjcm9sbFRocm90dGxlOjMwfTtyZXR1cm4gaS5sb2FkKGZ1bmN0aW9uKCl7cmV0dXJuIG5bbV0oInJlZnJlc2giKX0pfSl9KS5jYWxsKHRoaXMpOw=="}},"time_used":157,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":157,"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":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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://astroxcinvest.com/","date":"2026-07-27T03:56:39.972Z","timestamp":1785124599972,"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://astroxcinvest.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 03:56: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: k26DftISMZUWGCalTy0EWzmnm/5KTxthnoKP/b2DCBQqwmUm44ztmPghSzL7Yhtn8j+Ir54\r\nx-77-nzt-ray: e2f75420acf00cfdfbd6666abf0cfd12\r\nx-77-cache: HIT\r\nx-77-age: 23\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6042,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-04T06:18:03.8209Z","times_seen":7979,"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":3351,"timings":{"blocked":-1,"dns":37,"connect":8,"send":0,"wait":9,"receive":0,"ssl":3296},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/coins/ripple/market_chart?vs_currency=usd\u0026days=max","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:40.896Z","timestamp":1785124600896,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/ripple/market_chart?vs_currency=usd\u0026days=max HTTP/1.1\r\nHost: api.coingecko.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://astroxcinvest.com/\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 401 \r\ndate: Mon, 27 Jul 2026 03:56:41 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 2.0\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\ncache-control: no-cache\r\nx-request-id: 74266867-71d3-463e-8dec-43e5100f0bd3\r\nx-runtime: 0.002303\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\npriority: u=4,i=?0\r\ncf-cache-status: BYPASS\r\ncf-ray: a218b733a956569b-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"401","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":335,"size_decoded":1385,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"70c6baa7344b1d24d54acd145d7e9e76","sha1":"51057cf21f206b5e89ffdbee55250bd835e4ee72","sha256":"372b2efd4f4b75f6ce6c668935bd5c3d030be96416c1293468231b9cae981129","sha512":"70f4ad8a68d1776dd91d05c0809c097ab28a4f23efe79725d9fd72a49e8691d78fd9e3ec1471e41b8cfdce7b3f4ab06bf0b04a10e9eb0e5d1f3e1e139784bd1f","ssdeep":"","tlshash":"b3e0204126d64d534fa213d0664ef2d57852e5dc97250686345c83184a5523ec658248","first_seen":"2026-07-27T03:57:26.070117Z","last_seen":"2026-07-27T03:57:26.070117Z","times_seen":1,"resource_available":false,"data":"eyJlcnJvciI6eyJzdGF0dXMiOnsidGltZXN0YW1wIjoiMjAyNi0wNy0yN1QwMzo1Njo0MC45NzQrMDA6MDAiLCJlcnJvcl9jb2RlIjoxMDAxMiwiZXJyb3JfbWVzc2FnZSI6IllvdXIgcmVxdWVzdCBleGNlZWRzIHRoZSBhbGxvd2VkIHRpbWUgcmFuZ2UuIFB1YmxpYyBBUEkgdXNlcnMgYXJlIGxpbWl0ZWQgdG8gcXVlcnlpbmcgaGlzdG9yaWNhbCBkYXRhIHdpdGhpbiB0aGUgcGFzdCAzNjUgZGF5cy4gVXBncmFkZSB0byBhIHBhaWQgcGxhbiB0byBlbmpveSBmdWxsIGhpc3RvcmljYWwgZGF0YSBhY2Nlc3M6IGh0dHBzOi8vd3d3LmNvaW5nZWNrby5jb20vZW4vYXBpL3ByaWNpbmcuICJ9fX0="}},"time_used":141,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":141,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps/api/mapsjs/gen_204?csp_test=true","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.115.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:41.743Z","timestamp":1785124601743,"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":"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 /maps/api/mapsjs/gen_204?csp_test=true HTTP/1.1\r\nHost: maps.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\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://astroxcinvest.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/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 03:56:41 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 23\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://astroxcinvest.com\r\naccess-control-expose-headers: vary,vary,vary,content-encoding,date,server,content-length\r\nserver-timing: gfet4t7; dur=9\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":3,"size_decoded":553,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"8a80554c91d9fca8acb82f023de02f11","sha1":"5f36b2ea290645ee34d943220a14b54ee5ea5be5","sha256":"ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356","sha512":"ca4b6defb8adcc010050bc8b1bb8f8092c4928b8a0fba32146abcfb256e4d91672f88ca2cdf6210e754e5b8ac5e23fb023806ccd749ac8b701f79a691f03c87a","ssdeep":"","tlshash":"c7200000000000000000000c00000000000000000c0000000000000000000000000000","first_seen":"2023-03-07T01:10:31Z","last_seen":"2026-08-04T07:29:50.267788Z","times_seen":429173,"resource_available":true,"data":"e30K"}},"time_used":39,"timings":{"blocked":-1,"dns":0,"connect":20,"send":0,"wait":18,"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://astroxcinvest.com/","date":"2026-07-27T03:56:39.615Z","timestamp":1785124599615,"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://astroxcinvest.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 03:56: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":75428,"size_decoded":27153,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"1833830743382d130652becb9f498826","sha1":"9408cb757bf3964ac68d17c1ac2dfc1cdfc963a4","sha256":"c07d5b91b890e3483e1800910322977007748ed06c18f09f68a3b0f7611b0023","sha512":"f522799bf698caab0e73f467345ad34b6d3ac423522726bd914c37ec2e17801206ef2e672b03dcdafdd029ca7616fc1e09594a8da18bbd649b51925ce20ffccf","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECitwNWF0:XDD4U6KKZgtBgtCiT0","tlshash":"1273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","first_seen":"2026-07-27T03:02:41.147556Z","last_seen":"2026-07-27T04:01:29.26053Z","times_seen":121,"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/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JzsgYy5fY2VmPSdceDViMCwxLDAsXHg1Ylx4MjJlc19lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5fZGVceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2VzXHgyMixceDIyZGVfZW5ceDIyXHg1ZCxudWxsLFx4NWIwLDMsMTAwLFx4NWJceDIyZW5faGlceDIyLFx4MjJoaV9lblx4MjIsXHgyMmVuX2VzXHgyMixceDIyZXNfZW5ceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmRlX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2FyXHgyMixceDIyZW5faWRceDIyXHg1ZFx4NWQsMCwxLDBceDVkJzsgYy5fY2FjPScnOyBjLl9jYW09Jyc7IGMuX2NlbnY9J3Byb2QnO2MuX2NsbD0nSU5GTyc7IGMuX2NnYWs9Jyc7IGMuX2N0a2s9JzQ5NTg2Ny4yNDI4MDIzMzk1JzsgY29uc3QgaD0ndHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tJzsgY29uc3Qgb3BoPSd0cmFuc2xhdGUtcGEuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzPSdodHRwcycrJzovLyc7IGMuX3BhaD1oOyBjLl9wYXM9czsgY29uc3QgYj1zKyd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzdGF0aWNQYXRoID0gJy90cmFuc2xhdGVfc3RhdGljLyc7IGMuX3BjaT1iK3N0YXRpY1BhdGgrJ2ltZy90ZV9jdHJsMy5naWYnOyBjLl9wbWk9YitzdGF0aWNQYXRoKydpbWcvbWluaV9nb29nbGUucG5nJzsgYy5fcGJpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2JrLmdpZic7IGMuX3BsaT1iK3N0YXRpY1BhdGgrJ2ltZy9sb2FkaW5nLmdpZic7IGMuX3BzPSdodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvc3NcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIuQjdEaWg5SnlqbncuTC5GNC5PXC9hbVx4M2RCSUFBQndcL2RceDNkMFwvcnNceDNkQU44U1BmcEMwNHZycnpRWGdzX1RDTTVFdHJ1d2ZQek50UVwvbVx4M2RlbF9tYWluX2Nzcyc7IGMuX3BsbGE9b3BoKydcL3YxXC9zdXBwb3J0ZWRMYW5ndWFnZXMnOyBjLl9wdWg9J3RyYW5zbGF0ZS5nb29nbGUuY29tJztjLl9jbmFsPXt9O19sb2FkQ3NzKGMuX3BzKTsgX2xvYWRKcygnaHR0cHM6XC9cL3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbVwvX1wvdHJhbnNsYXRlX2h0dHBcL19cL2pzXC9rXHgzZHRyYW5zbGF0ZV9odHRwLnRyLm5vLnNjcm5ZNlEyX3l3Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QxXC9leG1ceDNkZWxfY29uZlwvZWRceDNkMVwvcnNceDNkQU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1d1wvbVx4M2RlbF9tYWluJyk7X2V4cG9ydFZlcnNpb24oJ1RFXzIwMjYwNzIyJyk7CiAgICAgICAgfSkoKTsKICAgICAgfSkoKTsKICA="}},"time_used":164,"timings":{"blocked":-1,"dns":1,"connect":15,"send":0,"wait":118,"receive":0,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/bootstrap.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.620Z","timestamp":1785124599620,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/bootstrap.min.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"bf30-5aa839fc-5f2bc83607c53ef5;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 12542\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":48944,"size_decoded":12920,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (48664)","md5":"14d449eb8876fa55e1ef3c2cc52b0c17","sha1":"a9545831803b1359cfeed47e3b4d6bae68e40e99","sha256":"e7ed36ceee5450b4243bbc35188afabdfb4280c7c57597001de0ed167299b01b","sha512":"00d9069b9bd29ad0daa0503f341d67549cce28e888e1affd1a2a45b64a4c1bc460d81cfc4751857f991f2f4fb3d2572fd97fca651ba0c2b0255530209b182f22","ssdeep":"768:9VG5R15WbHVKZrycEHSYro34CrSLB6WU/6DqBf4l1B:9VIRuo53XiwWTvl1B","tlshash":"7523c84a7254b4a202dfa476913f450bb73b389aa60bc16cb95994ed1d7cd8c3227f3c","first_seen":"2023-03-07T01:02:44Z","last_seen":"2026-08-04T07:36:59.901326Z","times_seen":110518,"resource_available":true,"data":"LyohCiAgKiBCb290c3RyYXAgdjQuMC4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20pCiAgKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFRoZSBCb290c3RyYXAgQXV0aG9ycyAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2dyYXBocy9jb250cmlidXRvcnMpCiAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQogICovCiFmdW5jdGlvbih0LGUpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU/ZShleHBvcnRzLHJlcXVpcmUoImpxdWVyeSIpLHJlcXVpcmUoInBvcHBlci5qcyIpKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImV4cG9ydHMiLCJqcXVlcnkiLCJwb3BwZXIuanMiXSxlKTplKHQuYm9vdHN0cmFwPXt9LHQualF1ZXJ5LHQuUG9wcGVyKX0odGhpcyxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGkua2V5LGkpfX1mdW5jdGlvbiBzKHQsZSxuKXtyZXR1cm4gZSYmaSh0LnByb3RvdHlwZSxlKSxuJiZpKHQsbiksdH1mdW5jdGlvbiByKCl7cmV0dXJuKHI9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIG49YXJndW1lbnRzW2VdO2Zvcih2YXIgaSBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpJiYodFtpXT1uW2ldKX1yZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1lPWUmJmUuaGFzT3duUHJvcGVydHkoImRlZmF1bHQiKT9lLmRlZmF1bHQ6ZSxuPW4mJm4uaGFzT3duUHJvcGVydHkoImRlZmF1bHQiKT9uLmRlZmF1bHQ6bjt2YXIgbyxhLGwsaCxjLHUsZixkLF8sZyxwLG0sdixFLFQseSxDLEksQSxiLEQsUyx3LE4sTyxrLFA9ZnVuY3Rpb24odCl7dmFyIGU9ITE7ZnVuY3Rpb24gbihlKXt2YXIgbj10aGlzLHM9ITE7cmV0dXJuIHQodGhpcykub25lKGkuVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24oKXtzPSEwfSksc2V0VGltZW91dChmdW5jdGlvbigpe3N8fGkudHJpZ2dlclRyYW5zaXRpb25FbmQobil9LGUpLHRoaXN9dmFyIGk9e1RSQU5TSVRJT05fRU5EOiJic1RyYW5zaXRpb25FbmQiLGdldFVJRDpmdW5jdGlvbih0KXtkb3t0Kz1+figxZTYqTWF0aC5yYW5kb20oKSl9d2hpbGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCkpO3JldHVybiB0fSxnZXRTZWxlY3RvckZyb21FbGVtZW50OmZ1bmN0aW9uKGUpe3ZhciBuLGk9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtdGFyZ2V0Iik7aSYmIiMiIT09aXx8KGk9ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8IiIpLCIjIj09PWkuY2hhckF0KDApJiYobj1pLGk9bj0iZnVuY3Rpb24iPT10eXBlb2YgdC5lc2NhcGVTZWxlY3Rvcj90LmVzY2FwZVNlbGVjdG9yKG4pLnN1YnN0cigxKTpuLnJlcGxhY2UoLyg6fFwufFxbfFxdfCx8PXxAKS9nLCJcXCQxIikpO3RyeXtyZXR1cm4gdChkb2N1bWVudCkuZmluZChpKS5sZW5ndGg+MD9pOm51bGx9Y2F0Y2godCl7cmV0dXJuIG51bGx9fSxyZWZsb3c6ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0SGVpZ2h0fSx0cmlnZ2VyVHJhbnNpdGlvbkVuZDpmdW5jdGlvbihuKXt0KG4pLnRyaWdnZXIoZS5lbmQpfSxzdXBwb3J0c1RyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbihlKX0saXNFbGVtZW50OmZ1bmN0aW9uKHQpe3JldHVybih0WzBdfHx0KS5ub2RlVHlwZX0sdHlwZUNoZWNrQ29uZmlnOmZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIHMgaW4gbilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixzKSl7dmFyIHI9bltzXSxvPWVbc10sYT1vJiZpLmlzRWxlbWVudChvKT8iZWxlbWVudCI6KGw9byx7fS50b1N0cmluZy5jYWxsKGwpLm1hdGNoKC9ccyhbYS16QS1aXSspLylbMV0udG9Mb3dlckNhc2UoKSk7aWYoIW5ldyBSZWdFeHAocikudGVzdChhKSl0aHJvdyBuZXcgRXJyb3IodC50b1VwcGVyQ2FzZSgpKyc6IE9wdGlvbiAiJytzKyciIHByb3ZpZGVkIHR5cGUgIicrYSsnIiBidXQgZXhwZWN0ZWQgdHlwZSAiJytyKyciLicpfXZhciBsfX07cmV0dXJuIGU9KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93fHwhd2luZG93LlFVbml0KSYme2VuZDoidHJhbnNpdGlvbmVuZCJ9LHQuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9bixpLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiYodC5ldmVudC5zcGVjaWFsW2kuVFJBTlNJVElPTl9FTkRdPXtiaW5kVHlwZTplLmVuZCxkZWxlZ2F0ZVR5cGU6ZS5lbmQsaGFuZGxlOmZ1bmN0aW9uKGUpe2lmKHQoZS50YXJnZXQpLmlzKHRoaXMpKXJldHVybiBlLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KSxpfShlKSxMPShhPSJhbGVydCIsaD0iLiIrKGw9ImJzLmFsZXJ0IiksYz0obz1lKS5mblthXSx1PXtDTE9TRToiY2xvc2UiK2gsQ0xPU0VEOiJjbG9zZWQiK2gsQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitoKyIuZGF0YS1hcGkifSxmPSJhbGVydCIsZD0iZmFkZSIsXz0ic2hvdyIsZz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5fZWxlbWVudD10fXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLmNsb3NlPWZ1bmN0aW9uKHQpe3Q9dHx8dGhpcy5fZWxlbWVudDt2YXIgZT10aGlzLl9nZXRSb290RWxlbWVudCh0KTt0aGlzLl90cmlnZ2VyQ2xvc2VFdmVudChlKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dGhpcy5fcmVtb3ZlRWxlbWVudChlKX0sZS5kaXNwb3NlPWZ1bmN0aW9uKCl7by5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsbCksdGhpcy5fZWxlbWVudD1udWxsfSxlLl9nZXRSb290RWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCksbj0hMTtyZXR1cm4gZSYmKG49byhlKVswXSksbnx8KG49byh0KS5jbG9zZXN0KCIuIitmKVswXSksbn0sZS5fdHJpZ2dlckNsb3NlRXZlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9by5FdmVudCh1LkNMT1NFKTtyZXR1cm4gbyh0KS50cmlnZ2VyKGUpLGV9LGUuX3JlbW92ZUVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztvKHQpLnJlbW92ZUNsYXNzKF8pLFAuc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkmJm8odCkuaGFzQ2xhc3MoZCk/byh0KS5vbmUoUC5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbihuKXtyZXR1cm4gZS5fZGVzdHJveUVsZW1lbnQodCxuKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDE1MCk6dGhpcy5fZGVzdHJveUVsZW1lbnQodCl9LGUuX2Rlc3Ryb3lFbGVtZW50PWZ1bmN0aW9uKHQpe28odCkuZGV0YWNoKCkudHJpZ2dlcih1LkNMT1NFRCkucmVtb3ZlKCl9LHQuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49byh0aGlzKSxpPW4uZGF0YShsKTtpfHwoaT1uZXcgdCh0aGlzKSxuLmRhdGEobCxpKSksImNsb3NlIj09PWUmJmlbZV0odGhpcyl9KX0sdC5faGFuZGxlRGlzbWlzcz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLHQuY2xvc2UodGhpcyl9fSxzKHQsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19XSksdH0oKSxvKGRvY3VtZW50KS5vbih1LkNMSUNLX0RBVEFfQVBJLCdbZGF0YS1kaXNtaXNzPSJhbGVydCJdJyxnLl9oYW5kbGVEaXNtaXNzKG5ldyBnKSksby5mblthXT1nLl9qUXVlcnlJbnRlcmZhY2Usby5mblthXS5Db25zdHJ1Y3Rvcj1nLG8uZm5bYV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBvLmZuW2FdPWMsZy5falF1ZXJ5SW50ZXJmYWNlfSxnKSxSPShtPSJidXR0b24iLEU9Ii4iKyh2PSJicy5idXR0b24iKSxUPSIuZGF0YS1hcGkiLHk9KHA9ZSkuZm5bbV0sQz0iYWN0aXZlIixJPSJidG4iLEE9ImZvY3VzIixiPSdbZGF0YS10b2dnbGVePSJidXR0b24iXScsRD0nW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0nLFM9ImlucHV0Iix3PSIuYWN0aXZlIixOPSIuYnRuIixPPXtDTElDS19EQVRBX0FQSToiY2xpY2siK0UrVCxGT0NVU19CTFVSX0RBVEFfQVBJOiJmb2N1cyIrRStUKyIgYmx1ciIrRStUfSxrPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLl9lbGVtZW50PXR9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIHQ9ITAsZT0hMCxuPXAodGhpcy5fZWxlbWVudCkuY2xvc2VzdChEKVswXTtpZihuKXt2YXIgaT1wKHRoaXMuX2VsZW1lbnQpLmZpbmQoUylbMF07aWYoaSl7aWYoInJhZGlvIj09PWkudHlwZSlpZihpLmNoZWNrZWQmJnAodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQykpdD0hMTtlbHNle3ZhciBzPXAobikuZmluZCh3KVswXTtzJiZwKHMpLnJlbW92ZUNsYXNzKEMpfWlmKHQpe2lmKGkuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpfHxuLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8aS5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIil8fG4uY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpKXJldHVybjtpLmNoZWNrZWQ9IXAodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQykscChpKS50cmlnZ2VyKCJjaGFuZ2UiKX1pLmZvY3VzKCksZT0hMX19ZSYmdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIXAodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQykpLHQmJnAodGhpcy5fZWxlbWVudCkudG9nZ2xlQ2xhc3MoQyl9LGUuZGlzcG9zZT1mdW5jdGlvbigpe3AucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LHYpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sdC5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1wKHRoaXMpLmRhdGEodik7bnx8KG49bmV3IHQodGhpcykscCh0aGlzKS5kYXRhKHYsbikpLCJ0b2dnbGUiPT09ZSYmbltlXSgpfSl9LHModCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4wLjAifX1dKSx0fSgpLHAoZG9jdW1lbnQpLm9uKE8uQ0xJQ0tfREFUQV9BUEksYixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIGU9dC50YXJnZXQ7cChlKS5oYXNDbGFzcyhJKXx8KGU9cChlKS5jbG9zZXN0KE4pKSxrLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChwKGUpLCJ0b2dnbGUiKX0pLm9uKE8uRk9DVVNfQkxVUl9EQVRBX0FQSSxiLGZ1bmN0aW9uKHQpe3ZhciBlPXAodC50YXJnZXQpLmNsb3Nlc3QoTilbMF07cChlKS50b2dnbGVDbGFzcyhBLC9eZm9jdXMoaW4pPyQvLnRlc3QodC50eXBlKSl9KSxwLmZuW21dPWsuX2pRdWVyeUludGVyZmFjZSxwLmZuW21dLkNvbnN0cnVjdG9yPWsscC5mblttXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHAuZm5bbV09eSxrLl9qUXVlcnlJbnRlcmZhY2V9LGspLGo9ZnVuY3Rpb24odCl7dmFyIGU9ImNhcm91c2VsIixuPSJicy5jYXJvdXNlbCIsaT0iLiIrbixvPXQuZm5bZV0sYT17aW50ZXJ2YWw6NWUzLGtleWJvYXJkOiEwLHNsaWRlOiExLHBhdXNlOiJob3ZlciIsd3JhcDohMH0sbD17aW50ZXJ2YWw6IihudW1iZXJ8Ym9vbGVhbikiLGtleWJvYXJkOiJib29sZWFuIixzbGlkZToiKGJvb2xlYW58c3RyaW5nKSIscGF1c2U6IihzdHJpbmd8Ym9vbGVhbikiLHdyYXA6ImJvb2xlYW4ifSxoPSJuZXh0IixjPSJwcmV2Iix1PSJsZWZ0IixmPSJyaWdodCIsZD17U0xJREU6InNsaWRlIitpLFNMSUQ6InNsaWQiK2ksS0VZRE9XTjoia2V5ZG93biIraSxNT1VTRUVOVEVSOiJtb3VzZWVudGVyIitpLE1PVVNFTEVBVkU6Im1vdXNlbGVhdmUiK2ksVE9VQ0hFTkQ6InRvdWNoZW5kIitpLExPQURfREFUQV9BUEk6ImxvYWQiK2krIi5kYXRhLWFwaSIsQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitpKyIuZGF0YS1hcGkifSxfPSJjYXJvdXNlbCIsZz0iYWN0aXZlIixwPSJzbGlkZSIsbT0iY2Fyb3VzZWwtaXRlbS1yaWdodCIsdj0iY2Fyb3VzZWwtaXRlbS1sZWZ0IixFPSJjYXJvdXNlbC1pdGVtLW5leHQiLFQ9ImNhcm91c2VsLWl0ZW0tcHJldiIseT17QUNUSVZFOiIuYWN0aXZlIixBQ1RJVkVfSVRFTToiLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIixJVEVNOiIuY2Fyb3VzZWwtaXRlbSIsTkVYVF9QUkVWOiIuY2Fyb3VzZWwtaXRlbS1uZXh0LCAuY2Fyb3VzZWwtaXRlbS1wcmV2IixJTkRJQ0FUT1JTOiIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIsREFUQV9TTElERToiW2RhdGEtc2xpZGVdLCBbZGF0YS1zbGlkZS10b10iLERBVEFfUklERTonW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXSd9LEM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKGUsbil7dGhpcy5faXRlbXM9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2FjdGl2ZUVsZW1lbnQ9bnVsbCx0aGlzLl9pc1BhdXNlZD0hMSx0aGlzLl9pc1NsaWRpbmc9ITEsdGhpcy50b3VjaFRpbWVvdXQ9bnVsbCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKG4pLHRoaXMuX2VsZW1lbnQ9dChlKVswXSx0aGlzLl9pbmRpY2F0b3JzRWxlbWVudD10KHRoaXMuX2VsZW1lbnQpLmZpbmQoeS5JTkRJQ0FUT1JTKVswXSx0aGlzLl9hZGRFdmVudExpc3RlbmVycygpfXZhciBDPW8ucHJvdG90eXBlO3JldHVybiBDLm5leHQ9ZnVuY3Rpb24oKXt0aGlzLl9pc1NsaWRpbmd8fHRoaXMuX3NsaWRlKGgpfSxDLm5leHRXaGVuVmlzaWJsZT1mdW5jdGlvbigpeyFkb2N1bWVudC5oaWRkZW4mJnQodGhpcy5fZWxlbWVudCkuaXMoIjp2aXNpYmxlIikmJiJoaWRkZW4iIT09dCh0aGlzLl9lbGVtZW50KS5jc3MoInZpc2liaWxpdHkiKSYmdGhpcy5uZXh0KCl9LEMucHJldj1mdW5jdGlvbigpe3RoaXMuX2lzU2xpZGluZ3x8dGhpcy5fc2xpZGUoYyl9LEMucGF1c2U9ZnVuY3Rpb24oZSl7ZXx8KHRoaXMuX2lzUGF1c2VkPSEwKSx0KHRoaXMuX2VsZW1lbnQpLmZpbmQoeS5ORVhUX1BSRVYpWzBdJiZQLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiYoUC50cmlnZ2VyVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50KSx0aGlzLmN5Y2xlKCEwKSksY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksdGhpcy5faW50ZXJ2YWw9bnVsbH0sQy5jeWNsZT1mdW5jdGlvbih0KXt0fHwodGhpcy5faXNQYXVzZWQ9ITEpLHRoaXMuX2ludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksdGhpcy5faW50ZXJ2YWw9bnVsbCksdGhpcy5fY29uZmlnLmludGVydmFsJiYhdGhpcy5faXNQYXVzZWQmJih0aGlzLl9pbnRlcnZhbD1zZXRJbnRlcnZhbCgoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3RoaXMubmV4dFdoZW5WaXNpYmxlOnRoaXMubmV4dCkuYmluZCh0aGlzKSx0aGlzLl9jb25maWcuaW50ZXJ2YWwpKX0sQy50bz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3RoaXMuX2FjdGl2ZUVsZW1lbnQ9dCh0aGlzLl9lbGVtZW50KS5maW5kKHkuQUNUSVZFX0lURU0pWzBdO3ZhciBpPXRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9hY3RpdmVFbGVtZW50KTtpZighKGU+dGhpcy5faXRlbXMubGVuZ3RoLTF8fGU8MCkpaWYodGhpcy5faXNTbGlkaW5nKXQodGhpcy5fZWxlbWVudCkub25lKGQuU0xJRCxmdW5jdGlvbigpe3JldHVybiBuLnRvKGUpfSk7ZWxzZXtpZihpPT09ZSlyZXR1cm4gdGhpcy5wYXVzZSgpLHZvaWQgdGhpcy5jeWNsZSgpO3ZhciBzPWU+aT9oOmM7dGhpcy5fc2xpZGUocyx0aGlzLl9pdGVtc1tlXSl9fSxDLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0KHRoaXMuX2VsZW1lbnQpLm9mZihpKSx0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxuKSx0aGlzLl9pdGVtcz1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2lzUGF1c2VkPW51bGwsdGhpcy5faXNTbGlkaW5nPW51bGwsdGhpcy5fYWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2luZGljYXRvcnNFbGVtZW50PW51bGx9LEMuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1yKHt9LGEsdCksUC50eXBlQ2hlY2tDb25maWcoZSx0LGwpLHR9LEMuX2FkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9jb25maWcua2V5Ym9hcmQmJnQodGhpcy5fZWxlbWVudCkub24oZC5LRVlET1dOLGZ1bmN0aW9uKHQpe3JldHVybiBlLl9rZXlkb3duKHQpfSksImhvdmVyIj09PXRoaXMuX2NvbmZpZy5wYXVzZSYmKHQodGhpcy5fZWxlbWVudCkub24oZC5NT1VTRUVOVEVSLGZ1bmN0aW9uKHQpe3JldHVybiBlLnBhdXNlKHQpfSkub24oZC5NT1VTRUxFQVZFLGZ1bmN0aW9uKHQpe3JldHVybiBlLmN5Y2xlKHQpfSksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnQodGhpcy5fZWxlbWVudCkub24oZC5UT1VDSEVORCxmdW5jdGlvbigpe2UucGF1c2UoKSxlLnRvdWNoVGltZW91dCYmY2xlYXJUaW1lb3V0KGUudG91Y2hUaW1lb3V0KSxlLnRvdWNoVGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKHQpe3JldHVybiBlLmN5Y2xlKHQpfSw1MDArZS5fY29uZmlnLmludGVydmFsKX0pKX0sQy5fa2V5ZG93bj1mdW5jdGlvbih0KXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKSlzd2l0Y2godC53aGljaCl7Y2FzZSAzNzp0LnByZXZlbnREZWZhdWx0KCksdGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0LnByZXZlbnREZWZhdWx0KCksdGhpcy5uZXh0KCl9fSxDLl9nZXRJdGVtSW5kZXg9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2l0ZW1zPXQubWFrZUFycmF5KHQoZSkucGFyZW50KCkuZmluZCh5LklURU0pKSx0aGlzLl9pdGVtcy5pbmRleE9mKGUpfSxDLl9nZXRJdGVtQnlEaXJlY3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgbj10PT09aCxpPXQ9PT1jLHM9dGhpcy5fZ2V0SXRlbUluZGV4KGUpLHI9dGhpcy5faXRlbXMubGVuZ3RoLTE7aWYoKGkmJjA9PT1zfHxuJiZzPT09cikmJiF0aGlzLl9jb25maWcud3JhcClyZXR1cm4gZTt2YXIgbz0ocysodD09PWM/LTE6MSkpJXRoaXMuX2l0ZW1zLmxlbmd0aDtyZXR1cm4tMT09PW8/dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdOnRoaXMuX2l0ZW1zW29dfSxDLl90cmlnZ2VyU2xpZGVFdmVudD1mdW5jdGlvbihlLG4pe3ZhciBpPXRoaXMuX2dldEl0ZW1JbmRleChlKSxzPXRoaXMuX2dldEl0ZW1JbmRleCh0KHRoaXMuX2VsZW1lbnQpLmZpbmQoeS5BQ1RJVkVfSVRFTSlbMF0pLHI9dC5FdmVudChkLlNMSURFLHtyZWxhdGVkVGFyZ2V0OmUsZGlyZWN0aW9uOm4sZnJvbTpzLHRvOml9KTtyZXR1cm4gdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHIpLHJ9LEMuX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5faW5kaWNhdG9yc0VsZW1lbnQpe3QodGhpcy5faW5kaWNhdG9yc0VsZW1lbnQpLmZpbmQoeS5BQ1RJVkUpLnJlbW92ZUNsYXNzKGcpO3ZhciBuPXRoaXMuX2luZGljYXRvcnNFbGVtZW50LmNoaWxkcmVuW3RoaXMuX2dldEl0ZW1JbmRleChlKV07biYmdChuKS5hZGRDbGFzcyhnKX19LEMuX3NsaWRlPWZ1bmN0aW9uKGUsbil7dmFyIGkscyxyLG89dGhpcyxhPXQodGhpcy5fZWxlbWVudCkuZmluZCh5LkFDVElWRV9JVEVNKVswXSxsPXRoaXMuX2dldEl0ZW1JbmRleChhKSxjPW58fGEmJnRoaXMuX2dldEl0ZW1CeURpcmVjdGlvbihlLGEpLF89dGhpcy5fZ2V0SXRlbUluZGV4KGMpLEM9Qm9vbGVhbih0aGlzLl9pbnRlcnZhbCk7aWYoZT09PWg/KGk9dixzPUUscj11KTooaT1tLHM9VCxyPWYpLGMmJnQoYykuaGFzQ2xhc3MoZykpdGhpcy5faXNTbGlkaW5nPSExO2Vsc2UgaWYoIXRoaXMuX3RyaWdnZXJTbGlkZUV2ZW50KGMscikuaXNEZWZhdWx0UHJldmVudGVkKCkmJmEmJmMpe3RoaXMuX2lzU2xpZGluZz0hMCxDJiZ0aGlzLnBhdXNlKCksdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChjKTt2YXIgST10LkV2ZW50KGQuU0xJRCx7cmVsYXRlZFRhcmdldDpjLGRpcmVjdGlvbjpyLGZyb206bCx0bzpffSk7UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhwKT8odChjKS5hZGRDbGFzcyhzKSxQLnJlZmxvdyhjKSx0KGEpLmFkZENsYXNzKGkpLHQoYykuYWRkQ2xhc3MoaSksdChhKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbigpe3QoYykucmVtb3ZlQ2xhc3MoaSsiICIrcykuYWRkQ2xhc3MoZyksdChhKS5yZW1vdmVDbGFzcyhnKyIgIitzKyIgIitpKSxvLl9pc1NsaWRpbmc9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB0KG8uX2VsZW1lbnQpLnRyaWdnZXIoSSl9LDApfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoNjAwKSk6KHQoYSkucmVtb3ZlQ2xhc3MoZyksdChjKS5hZGRDbGFzcyhnKSx0aGlzLl9pc1NsaWRpbmc9ITEsdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKEkpKSxDJiZ0aGlzLmN5Y2xlKCl9fSxvLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykuZGF0YShuKSxzPXIoe30sYSx0KHRoaXMpLmRhdGEoKSk7Im9iamVjdCI9PXR5cGVvZiBlJiYocz1yKHt9LHMsZSkpO3ZhciBsPSJzdHJpbmciPT10eXBlb2YgZT9lOnMuc2xpZGU7aWYoaXx8KGk9bmV3IG8odGhpcyxzKSx0KHRoaXMpLmRhdGEobixpKSksIm51bWJlciI9PXR5cGVvZiBlKWkudG8oZSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGwpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgaVtsXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrbCsnIicpO2lbbF0oKX1lbHNlIHMuaW50ZXJ2YWwmJihpLnBhdXNlKCksaS5jeWNsZSgpKX0pfSxvLl9kYXRhQXBpQ2xpY2tIYW5kbGVyPWZ1bmN0aW9uKGUpe3ZhciBpPVAuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTtpZihpKXt2YXIgcz10KGkpWzBdO2lmKHMmJnQocykuaGFzQ2xhc3MoXykpe3ZhciBhPXIoe30sdChzKS5kYXRhKCksdCh0aGlzKS5kYXRhKCkpLGw9dGhpcy5nZXRBdHRyaWJ1dGUoImRhdGEtc2xpZGUtdG8iKTtsJiYoYS5pbnRlcnZhbD0hMSksby5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodChzKSxhKSxsJiZ0KHMpLmRhdGEobikudG8obCksZS5wcmV2ZW50RGVmYXVsdCgpfX19LHMobyxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4wLjAifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fV0pLG99KCk7cmV0dXJuIHQoZG9jdW1lbnQpLm9uKGQuQ0xJQ0tfREFUQV9BUEkseS5EQVRBX1NMSURFLEMuX2RhdGFBcGlDbGlja0hhbmRsZXIpLHQod2luZG93KS5vbihkLkxPQURfREFUQV9BUEksZnVuY3Rpb24oKXt0KHkuREFUQV9SSURFKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTtDLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChlLGUuZGF0YSgpKX0pfSksdC5mbltlXT1DLl9qUXVlcnlJbnRlcmZhY2UsdC5mbltlXS5Db25zdHJ1Y3Rvcj1DLHQuZm5bZV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiB0LmZuW2VdPW8sQy5falF1ZXJ5SW50ZXJmYWNlfSxDfShlKSxIPWZ1bmN0aW9uKHQpe3ZhciBlPSJjb2xsYXBzZSIsbj0iYnMuY29sbGFwc2UiLGk9Ii4iK24sbz10LmZuW2VdLGE9e3RvZ2dsZTohMCxwYXJlbnQ6IiJ9LGw9e3RvZ2dsZToiYm9vbGVhbiIscGFyZW50OiIoc3RyaW5nfGVsZW1lbnQpIn0saD17U0hPVzoic2hvdyIraSxTSE9XTjoic2hvd24iK2ksSElERToiaGlkZSIraSxISURERU46ImhpZGRlbiIraSxDTElDS19EQVRBX0FQSToiY2xpY2siK2krIi5kYXRhLWFwaSJ9LGM9InNob3ciLHU9ImNvbGxhcHNlIixmPSJjb2xsYXBzaW5nIixkPSJjb2xsYXBzZWQiLF89IndpZHRoIixnPSJoZWlnaHQiLHA9e0FDVElWRVM6Ii5zaG93LCAuY29sbGFwc2luZyIsREFUQV9UT0dHTEU6J1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXSd9LG09ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKGUsbil7dGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX2VsZW1lbnQ9ZSx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKG4pLHRoaXMuX3RyaWdnZXJBcnJheT10Lm1ha2VBcnJheSh0KCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrZS5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJytlLmlkKyciXScpKTtmb3IodmFyIGk9dChwLkRBVEFfVE9HR0xFKSxzPTA7czxpLmxlbmd0aDtzKyspe3ZhciByPWlbc10sbz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQocik7bnVsbCE9PW8mJnQobykuZmlsdGVyKGUpLmxlbmd0aD4wJiYodGhpcy5fc2VsZWN0b3I9byx0aGlzLl90cmlnZ2VyQXJyYXkucHVzaChyKSl9dGhpcy5fcGFyZW50PXRoaXMuX2NvbmZpZy5wYXJlbnQ/dGhpcy5fZ2V0UGFyZW50KCk6bnVsbCx0aGlzLl9jb25maWcucGFyZW50fHx0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy5fZWxlbWVudCx0aGlzLl90cmlnZ2VyQXJyYXkpLHRoaXMuX2NvbmZpZy50b2dnbGUmJnRoaXMudG9nZ2xlKCl9dmFyIG89aS5wcm90b3R5cGU7cmV0dXJuIG8udG9nZ2xlPWZ1bmN0aW9uKCl7dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhjKT90aGlzLmhpZGUoKTp0aGlzLnNob3coKX0sby5zaG93PWZ1bmN0aW9uKCl7dmFyIGUscyxyPXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmIXQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoYykmJih0aGlzLl9wYXJlbnQmJjA9PT0oZT10Lm1ha2VBcnJheSh0KHRoaXMuX3BhcmVudCkuZmluZChwLkFDVElWRVMpLmZpbHRlcignW2RhdGEtcGFyZW50PSInK3RoaXMuX2NvbmZpZy5wYXJlbnQrJyJdJykpKS5sZW5ndGgmJihlPW51bGwpLCEoZSYmKHM9dChlKS5ub3QodGhpcy5fc2VsZWN0b3IpLmRhdGEobikpJiZzLl9pc1RyYW5zaXRpb25pbmcpKSl7dmFyIG89dC5FdmVudChoLlNIT1cpO2lmKHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihvKSwhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmKGkuX2pRdWVyeUludGVyZmFjZS5jYWxsKHQoZSkubm90KHRoaXMuX3NlbGVjdG9yKSwiaGlkZSIpLHN8fHQoZSkuZGF0YShuLG51bGwpKTt2YXIgYT10aGlzLl9nZXREaW1lbnNpb24oKTt0KHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKHUpLmFkZENsYXNzKGYpLHRoaXMuX2VsZW1lbnQuc3R5bGVbYV09MCx0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoPjAmJnQodGhpcy5fdHJpZ2dlckFycmF5KS5yZW1vdmVDbGFzcyhkKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy5zZXRUcmFuc2l0aW9uaW5nKCEwKTt2YXIgbD1mdW5jdGlvbigpe3Qoci5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoZikuYWRkQ2xhc3ModSkuYWRkQ2xhc3MoYyksci5fZWxlbWVudC5zdHlsZVthXT0iIixyLnNldFRyYW5zaXRpb25pbmcoITEpLHQoci5fZWxlbWVudCkudHJpZ2dlcihoLlNIT1dOKX07aWYoUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSl7dmFyIF89InNjcm9sbCIrKGFbMF0udG9VcHBlckNhc2UoKSthLnNsaWNlKDEpKTt0KHRoaXMuX2VsZW1lbnQpLm9uZShQLlRSQU5TSVRJT05fRU5ELGwpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDYwMCksdGhpcy5fZWxlbWVudC5zdHlsZVthXT10aGlzLl9lbGVtZW50W19dKyJweCJ9ZWxzZSBsKCl9fX0sby5oaWRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZighdGhpcy5faXNUcmFuc2l0aW9uaW5nJiZ0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGMpKXt2YXIgbj10LkV2ZW50KGguSElERSk7aWYodCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKG4pLCFuLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgaT10aGlzLl9nZXREaW1lbnNpb24oKTtpZih0aGlzLl9lbGVtZW50LnN0eWxlW2ldPXRoaXMuX2VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbaV0rInB4IixQLnJlZmxvdyh0aGlzLl9lbGVtZW50KSx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKGYpLnJlbW92ZUNsYXNzKHUpLnJlbW92ZUNsYXNzKGMpLHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg+MClmb3IodmFyIHM9MDtzPHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg7cysrKXt2YXIgcj10aGlzLl90cmlnZ2VyQXJyYXlbc10sbz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQocik7aWYobnVsbCE9PW8pdChvKS5oYXNDbGFzcyhjKXx8dChyKS5hZGRDbGFzcyhkKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSl9dGhpcy5zZXRUcmFuc2l0aW9uaW5nKCEwKTt2YXIgYT1mdW5jdGlvbigpe2Uuc2V0VHJhbnNpdGlvbmluZyghMSksdChlLl9lbGVtZW50KS5yZW1vdmVDbGFzcyhmKS5hZGRDbGFzcyh1KS50cmlnZ2VyKGguSElEREVOKX07dGhpcy5fZWxlbWVudC5zdHlsZVtpXT0iIixQLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpP3QodGhpcy5fZWxlbWVudCkub25lKFAuVFJBTlNJVElPTl9FTkQsYSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoNjAwKTphKCl9fX0sby5zZXRUcmFuc2l0aW9uaW5nPWZ1bmN0aW9uKHQpe3RoaXMuX2lzVHJhbnNpdGlvbmluZz10fSxvLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxuKSx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9wYXJlbnQ9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fdHJpZ2dlckFycmF5PW51bGwsdGhpcy5faXNUcmFuc2l0aW9uaW5nPW51bGx9LG8uX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4odD1yKHt9LGEsdCkpLnRvZ2dsZT1Cb29sZWFuKHQudG9nZ2xlKSxQLnR5cGVDaGVja0NvbmZpZyhlLHQsbCksdH0sby5fZ2V0RGltZW5zaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoXyk/XzpnfSxvLl9nZXRQYXJlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49bnVsbDtQLmlzRWxlbWVudCh0aGlzLl9jb25maWcucGFyZW50KT8obj10aGlzLl9jb25maWcucGFyZW50LCJ1bmRlZmluZWQiIT10eXBlb2YgdGhpcy5fY29uZmlnLnBhcmVudC5qcXVlcnkmJihuPXRoaXMuX2NvbmZpZy5wYXJlbnRbMF0pKTpuPXQodGhpcy5fY29uZmlnLnBhcmVudClbMF07dmFyIHM9J1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXBhcmVudD0iJyt0aGlzLl9jb25maWcucGFyZW50KyciXSc7cmV0dXJuIHQobikuZmluZChzKS5lYWNoKGZ1bmN0aW9uKHQsbil7ZS5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKGkuX2dldFRhcmdldEZyb21FbGVtZW50KG4pLFtuXSl9KSxufSxvLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3M9ZnVuY3Rpb24oZSxuKXtpZihlKXt2YXIgaT10KGUpLmhhc0NsYXNzKGMpO24ubGVuZ3RoPjAmJnQobikudG9nZ2xlQ2xhc3MoZCwhaSkuYXR0cigiYXJpYS1leHBhbmRlZCIsaSl9fSxpLl9nZXRUYXJnZXRGcm9tRWxlbWVudD1mdW5jdGlvbihlKXt2YXIgbj1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQoZSk7cmV0dXJuIG4/dChuKVswXTpudWxsfSxpLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBzPXQodGhpcyksbz1zLmRhdGEobiksbD1yKHt9LGEscy5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBlJiZlKTtpZighbyYmbC50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoZSkmJihsLnRvZ2dsZT0hMSksb3x8KG89bmV3IGkodGhpcyxsKSxzLmRhdGEobixvKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG9bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtvW2VdKCl9fSl9LHMoaSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4wLjAifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fV0pLGl9KCk7cmV0dXJuIHQoZG9jdW1lbnQpLm9uKGguQ0xJQ0tfREFUQV9BUEkscC5EQVRBX1RPR0dMRSxmdW5jdGlvbihlKXsiQSI9PT1lLmN1cnJlbnRUYXJnZXQudGFnTmFtZSYmZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBpPXQodGhpcykscz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyk7dChzKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKSxzPWUuZGF0YShuKT8idG9nZ2xlIjppLmRhdGEoKTttLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChlLHMpfSl9KSx0LmZuW2VdPW0uX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPW0sdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09byxtLl9qUXVlcnlJbnRlcmZhY2V9LG19KGUpLFc9ZnVuY3Rpb24odCl7dmFyIGU9ImRyb3Bkb3duIixpPSJicy5kcm9wZG93biIsbz0iLiIraSxhPSIuZGF0YS1hcGkiLGw9dC5mbltlXSxoPW5ldyBSZWdFeHAoIjM4fDQwfDI3IiksYz17SElERToiaGlkZSIrbyxISURERU46ImhpZGRlbiIrbyxTSE9XOiJzaG93IitvLFNIT1dOOiJzaG93biIrbyxDTElDSzoiY2xpY2siK28sQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitvK2EsS0VZRE9XTl9EQVRBX0FQSToia2V5ZG93biIrbythLEtFWVVQX0RBVEFfQVBJOiJrZXl1cCIrbythfSx1PSJkaXNhYmxlZCIsZj0ic2hvdyIsZD0iZHJvcHVwIixfPSJkcm9wcmlnaHQiLGc9ImRyb3BsZWZ0IixwPSJkcm9wZG93bi1tZW51LXJpZ2h0IixtPSJkcm9wZG93bi1tZW51LWxlZnQiLHY9InBvc2l0aW9uLXN0YXRpYyIsRT0nW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJyxUPSIuZHJvcGRvd24gZm9ybSIseT0iLmRyb3Bkb3duLW1lbnUiLEM9Ii5uYXZiYXItbmF2IixJPSIuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKSIsQT0idG9wLXN0YXJ0IixiPSJ0b3AtZW5kIixEPSJib3R0b20tc3RhcnQiLFM9ImJvdHRvbS1lbmQiLHc9InJpZ2h0LXN0YXJ0IixOPSJsZWZ0LXN0YXJ0IixPPXtvZmZzZXQ6MCxmbGlwOiEwLGJvdW5kYXJ5OiJzY3JvbGxQYXJlbnQifSxrPXtvZmZzZXQ6IihudW1iZXJ8c3RyaW5nfGZ1bmN0aW9uKSIsZmxpcDoiYm9vbGVhbiIsYm91bmRhcnk6IihzdHJpbmd8ZWxlbWVudCkifSxMPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSh0LGUpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9wb3BwZXI9bnVsbCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX21lbnU9dGhpcy5fZ2V0TWVudUVsZW1lbnQoKSx0aGlzLl9pbk5hdmJhcj10aGlzLl9kZXRlY3ROYXZiYXIoKSx0aGlzLl9hZGRFdmVudExpc3RlbmVycygpfXZhciBsPWEucHJvdG90eXBlO3JldHVybiBsLnRvZ2dsZT1mdW5jdGlvbigpe2lmKCF0aGlzLl9lbGVtZW50LmRpc2FibGVkJiYhdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyh1KSl7dmFyIGU9YS5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCksaT10KHRoaXMuX21lbnUpLmhhc0NsYXNzKGYpO2lmKGEuX2NsZWFyTWVudXMoKSwhaSl7dmFyIHM9e3JlbGF0ZWRUYXJnZXQ6dGhpcy5fZWxlbWVudH0scj10LkV2ZW50KGMuU0hPVyxzKTtpZih0KGUpLnRyaWdnZXIociksIXIuaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKCF0aGlzLl9pbk5hdmJhcil7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCBkcm9wZG93biByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKSIpO3ZhciBvPXRoaXMuX2VsZW1lbnQ7dChlKS5oYXNDbGFzcyhkKSYmKHQodGhpcy5fbWVudSkuaGFzQ2xhc3MobSl8fHQodGhpcy5fbWVudSkuaGFzQ2xhc3MocCkpJiYobz1lKSwic2Nyb2xsUGFyZW50IiE9PXRoaXMuX2NvbmZpZy5ib3VuZGFyeSYmdChlKS5hZGRDbGFzcyh2KSx0aGlzLl9wb3BwZXI9bmV3IG4obyx0aGlzLl9tZW51LHRoaXMuX2dldFBvcHBlckNvbmZpZygpKX0ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmMD09PXQoZSkuY2xvc2VzdChDKS5sZW5ndGgmJnQoImJvZHkiKS5jaGlsZHJlbigpLm9uKCJtb3VzZW92ZXIiLG51bGwsdC5ub29wKSx0aGlzLl9lbGVtZW50LmZvY3VzKCksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCEwKSx0KHRoaXMuX21lbnUpLnRvZ2dsZUNsYXNzKGYpLHQoZSkudG9nZ2xlQ2xhc3MoZikudHJpZ2dlcih0LkV2ZW50KGMuU0hPV04scykpfX19fSxsLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxpKSx0KHRoaXMuX2VsZW1lbnQpLm9mZihvKSx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fbWVudT1udWxsLG51bGwhPT10aGlzLl9wb3BwZXImJih0aGlzLl9wb3BwZXIuZGVzdHJveSgpLHRoaXMuX3BvcHBlcj1udWxsKX0sbC51cGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl9pbk5hdmJhcj10aGlzLl9kZXRlY3ROYXZiYXIoKSxudWxsIT09dGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKX0sbC5fYWRkRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3QodGhpcy5fZWxlbWVudCkub24oYy5DTElDSyxmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxlLnRvZ2dsZSgpfSl9LGwuX2dldENvbmZpZz1mdW5jdGlvbihuKXtyZXR1cm4gbj1yKHt9LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCx0KHRoaXMuX2VsZW1lbnQpLmRhdGEoKSxuKSxQLnR5cGVDaGVja0NvbmZpZyhlLG4sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksbn0sbC5fZ2V0TWVudUVsZW1lbnQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fbWVudSl7dmFyIGU9YS5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7dGhpcy5fbWVudT10KGUpLmZpbmQoeSlbMF19cmV0dXJuIHRoaXMuX21lbnV9LGwuX2dldFBsYWNlbWVudD1mdW5jdGlvbigpe3ZhciBlPXQodGhpcy5fZWxlbWVudCkucGFyZW50KCksbj1EO3JldHVybiBlLmhhc0NsYXNzKGQpPyhuPUEsdCh0aGlzLl9tZW51KS5oYXNDbGFzcyhwKSYmKG49YikpOmUuaGFzQ2xhc3MoXyk/bj13OmUuaGFzQ2xhc3MoZyk/bj1OOnQodGhpcy5fbWVudSkuaGFzQ2xhc3MocCkmJihuPVMpLG59LGwuX2RldGVjdE5hdmJhcj1mdW5jdGlvbigpe3JldHVybiB0KHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoIi5uYXZiYXIiKS5sZW5ndGg+MH0sbC5fZ2V0UG9wcGVyQ29uZmlnPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXt9O3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9jb25maWcub2Zmc2V0P2UuZm49ZnVuY3Rpb24oZSl7cmV0dXJuIGUub2Zmc2V0cz1yKHt9LGUub2Zmc2V0cyx0Ll9jb25maWcub2Zmc2V0KGUub2Zmc2V0cyl8fHt9KSxlfTplLm9mZnNldD10aGlzLl9jb25maWcub2Zmc2V0LHtwbGFjZW1lbnQ6dGhpcy5fZ2V0UGxhY2VtZW50KCksbW9kaWZpZXJzOntvZmZzZXQ6ZSxmbGlwOntlbmFibGVkOnRoaXMuX2NvbmZpZy5mbGlwfSxwcmV2ZW50T3ZlcmZsb3c6e2JvdW5kYXJpZXNFbGVtZW50OnRoaXMuX2NvbmZpZy5ib3VuZGFyeX19fX0sYS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj10KHRoaXMpLmRhdGEoaSk7aWYobnx8KG49bmV3IGEodGhpcywib2JqZWN0Ij09dHlwZW9mIGU/ZTpudWxsKSx0KHRoaXMpLmRhdGEoaSxuKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG5bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtuW2VdKCl9fSl9LGEuX2NsZWFyTWVudXM9ZnVuY3Rpb24oZSl7aWYoIWV8fDMhPT1lLndoaWNoJiYoImtleXVwIiE9PWUudHlwZXx8OT09PWUud2hpY2gpKWZvcih2YXIgbj10Lm1ha2VBcnJheSh0KEUpKSxzPTA7czxuLmxlbmd0aDtzKyspe3ZhciByPWEuX2dldFBhcmVudEZyb21FbGVtZW50KG5bc10pLG89dChuW3NdKS5kYXRhKGkpLGw9e3JlbGF0ZWRUYXJnZXQ6bltzXX07aWYobyl7dmFyIGg9by5fbWVudTtpZih0KHIpLmhhc0NsYXNzKGYpJiYhKGUmJigiY2xpY2siPT09ZS50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGUudGFyZ2V0LnRhZ05hbWUpfHwia2V5dXAiPT09ZS50eXBlJiY5PT09ZS53aGljaCkmJnQuY29udGFpbnMocixlLnRhcmdldCkpKXt2YXIgdT10LkV2ZW50KGMuSElERSxsKTt0KHIpLnRyaWdnZXIodSksdS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZ0KCJib2R5IikuY2hpbGRyZW4oKS5vZmYoIm1vdXNlb3ZlciIsbnVsbCx0Lm5vb3ApLG5bc10uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSx0KGgpLnJlbW92ZUNsYXNzKGYpLHQocikucmVtb3ZlQ2xhc3MoZikudHJpZ2dlcih0LkV2ZW50KGMuSElEREVOLGwpKSl9fX19LGEuX2dldFBhcmVudEZyb21FbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciBuLGk9UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KGUpO3JldHVybiBpJiYobj10KGkpWzBdKSxufHxlLnBhcmVudE5vZGV9LGEuX2RhdGFBcGlLZXlkb3duSGFuZGxlcj1mdW5jdGlvbihlKXtpZigoL2lucHV0fHRleHRhcmVhL2kudGVzdChlLnRhcmdldC50YWdOYW1lKT8hKDMyPT09ZS53aGljaHx8MjchPT1lLndoaWNoJiYoNDAhPT1lLndoaWNoJiYzOCE9PWUud2hpY2h8fHQoZS50YXJnZXQpLmNsb3Nlc3QoeSkubGVuZ3RoKSk6aC50ZXN0KGUud2hpY2gpKSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkJiYhdCh0aGlzKS5oYXNDbGFzcyh1KSkpe3ZhciBuPWEuX2dldFBhcmVudEZyb21FbGVtZW50KHRoaXMpLGk9dChuKS5oYXNDbGFzcyhmKTtpZigoaXx8Mjc9PT1lLndoaWNoJiYzMj09PWUud2hpY2gpJiYoIWl8fDI3IT09ZS53aGljaCYmMzIhPT1lLndoaWNoKSl7dmFyIHM9dChuKS5maW5kKEkpLmdldCgpO2lmKDAhPT1zLmxlbmd0aCl7dmFyIHI9cy5pbmRleE9mKGUudGFyZ2V0KTszOD09PWUud2hpY2gmJnI+MCYmci0tLDQwPT09ZS53aGljaCYmcjxzLmxlbmd0aC0xJiZyKysscjwwJiYocj0wKSxzW3JdLmZvY3VzKCl9fWVsc2V7aWYoMjc9PT1lLndoaWNoKXt2YXIgbz10KG4pLmZpbmQoRSlbMF07dChvKS50cmlnZ2VyKCJmb2N1cyIpfXQodGhpcykudHJpZ2dlcigiY2xpY2siKX19fSxzKGEsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBPfX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBrfX1dKSxhfSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihjLktFWURPV05fREFUQV9BUEksRSxMLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKGMuS0VZRE9XTl9EQVRBX0FQSSx5LEwuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oYy5DTElDS19EQVRBX0FQSSsiICIrYy5LRVlVUF9EQVRBX0FQSSxMLl9jbGVhck1lbnVzKS5vbihjLkNMSUNLX0RBVEFfQVBJLEUsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksTC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodCh0aGlzKSwidG9nZ2xlIil9KS5vbihjLkNMSUNLX0RBVEFfQVBJLFQsZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKX0pLHQuZm5bZV09TC5falF1ZXJ5SW50ZXJmYWNlLHQuZm5bZV0uQ29uc3RydWN0b3I9TCx0LmZuW2VdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbltlXT1sLEwuX2pRdWVyeUludGVyZmFjZX0sTH0oZSksTT1mdW5jdGlvbih0KXt2YXIgZT0ibW9kYWwiLG49ImJzLm1vZGFsIixpPSIuIituLG89dC5mbi5tb2RhbCxhPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxmb2N1czohMCxzaG93OiEwfSxsPXtiYWNrZHJvcDoiKGJvb2xlYW58c3RyaW5nKSIsa2V5Ym9hcmQ6ImJvb2xlYW4iLGZvY3VzOiJib29sZWFuIixzaG93OiJib29sZWFuIn0saD17SElERToiaGlkZSIraSxISURERU46ImhpZGRlbiIraSxTSE9XOiJzaG93IitpLFNIT1dOOiJzaG93biIraSxGT0NVU0lOOiJmb2N1c2luIitpLFJFU0laRToicmVzaXplIitpLENMSUNLX0RJU01JU1M6ImNsaWNrLmRpc21pc3MiK2ksS0VZRE9XTl9ESVNNSVNTOiJrZXlkb3duLmRpc21pc3MiK2ksTU9VU0VVUF9ESVNNSVNTOiJtb3VzZXVwLmRpc21pc3MiK2ksTU9VU0VET1dOX0RJU01JU1M6Im1vdXNlZG93bi5kaXNtaXNzIitpLENMSUNLX0RBVEFfQVBJOiJjbGljayIraSsiLmRhdGEtYXBpIn0sYz0ibW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUiLHU9Im1vZGFsLWJhY2tkcm9wIixmPSJtb2RhbC1vcGVuIixkPSJmYWRlIixfPSJzaG93IixnPXtESUFMT0c6Ii5tb2RhbC1kaWFsb2ciLERBVEFfVE9HR0xFOidbZGF0YS10b2dnbGU9Im1vZGFsIl0nLERBVEFfRElTTUlTUzonW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsRklYRURfQ09OVEVOVDoiLmZpeGVkLXRvcCwgLmZpeGVkLWJvdHRvbSwgLmlzLWZpeGVkLCAuc3RpY2t5LXRvcCIsU1RJQ0tZX0NPTlRFTlQ6Ii5zdGlja3ktdG9wIixOQVZCQVJfVE9HR0xFUjoiLm5hdmJhci10b2dnbGVyIn0scD1mdW5jdGlvbigpe2Z1bmN0aW9uIG8oZSxuKXt0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKG4pLHRoaXMuX2VsZW1lbnQ9ZSx0aGlzLl9kaWFsb2c9dChlKS5maW5kKGcuRElBTE9HKVswXSx0aGlzLl9iYWNrZHJvcD1udWxsLHRoaXMuX2lzU2hvd249ITEsdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9ITEsdGhpcy5faWdub3JlQmFja2Ryb3BDbGljaz0hMSx0aGlzLl9vcmlnaW5hbEJvZHlQYWRkaW5nPTAsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9MH12YXIgcD1vLnByb3RvdHlwZTtyZXR1cm4gcC50b2dnbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2lzU2hvd24/dGhpcy5oaWRlKCk6dGhpcy5zaG93KHQpfSxwLnNob3c9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztpZighdGhpcy5faXNUcmFuc2l0aW9uaW5nJiYhdGhpcy5faXNTaG93bil7UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKSYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCk7dmFyIGk9dC5FdmVudChoLlNIT1cse3JlbGF0ZWRUYXJnZXQ6ZX0pO3QodGhpcy5fZWxlbWVudCkudHJpZ2dlcihpKSx0aGlzLl9pc1Nob3dufHxpLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5faXNTaG93bj0hMCx0aGlzLl9jaGVja1Njcm9sbGJhcigpLHRoaXMuX3NldFNjcm9sbGJhcigpLHRoaXMuX2FkanVzdERpYWxvZygpLHQoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoZiksdGhpcy5fc2V0RXNjYXBlRXZlbnQoKSx0aGlzLl9zZXRSZXNpemVFdmVudCgpLHQodGhpcy5fZWxlbWVudCkub24oaC5DTElDS19ESVNNSVNTLGcuREFUQV9ESVNNSVNTLGZ1bmN0aW9uKHQpe3JldHVybiBuLmhpZGUodCl9KSx0KHRoaXMuX2RpYWxvZykub24oaC5NT1VTRURPV05fRElTTUlTUyxmdW5jdGlvbigpe3Qobi5fZWxlbWVudCkub25lKGguTU9VU0VVUF9ESVNNSVNTLGZ1bmN0aW9uKGUpe3QoZS50YXJnZXQpLmlzKG4uX2VsZW1lbnQpJiYobi5faWdub3JlQmFja2Ryb3BDbGljaz0hMCl9KX0pLHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpe3JldHVybiBuLl9zaG93RWxlbWVudChlKX0pKX19LHAuaGlkZT1mdW5jdGlvbihlKXt2YXIgbj10aGlzO2lmKGUmJmUucHJldmVudERlZmF1bHQoKSwhdGhpcy5faXNUcmFuc2l0aW9uaW5nJiZ0aGlzLl9pc1Nob3duKXt2YXIgaT10LkV2ZW50KGguSElERSk7aWYodCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKGkpLHRoaXMuX2lzU2hvd24mJiFpLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt0aGlzLl9pc1Nob3duPSExO3ZhciBzPVAuc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkmJnQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoZCk7cyYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCksdGhpcy5fc2V0RXNjYXBlRXZlbnQoKSx0aGlzLl9zZXRSZXNpemVFdmVudCgpLHQoZG9jdW1lbnQpLm9mZihoLkZPQ1VTSU4pLHQodGhpcy5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoXyksdCh0aGlzLl9lbGVtZW50KS5vZmYoaC5DTElDS19ESVNNSVNTKSx0KHRoaXMuX2RpYWxvZykub2ZmKGguTU9VU0VET1dOX0RJU01JU1MpLHM/dCh0aGlzLl9lbGVtZW50KS5vbmUoUC5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbih0KXtyZXR1cm4gbi5faGlkZU1vZGFsKHQpfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoMzAwKTp0aGlzLl9oaWRlTW9kYWwoKX19fSxwLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxuKSx0KHdpbmRvdyxkb2N1bWVudCx0aGlzLl9lbGVtZW50LHRoaXMuX2JhY2tkcm9wKS5vZmYoaSksdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX2JhY2tkcm9wPW51bGwsdGhpcy5faXNTaG93bj1udWxsLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nPW51bGwsdGhpcy5faWdub3JlQmFja2Ryb3BDbGljaz1udWxsLHRoaXMuX3Njcm9sbGJhcldpZHRoPW51bGx9LHAuaGFuZGxlVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fYWRqdXN0RGlhbG9nKCl9LHAuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1yKHt9LGEsdCksUC50eXBlQ2hlY2tDb25maWcoZSx0LGwpLHR9LHAuX3Nob3dFbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMsaT1QLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiZ0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGQpO3RoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSYmdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREV8fGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudCksdGhpcy5fZWxlbWVudC5zdHlsZS5kaXNwbGF5PSJibG9jayIsdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksdGhpcy5fZWxlbWVudC5zY3JvbGxUb3A9MCxpJiZQLnJlZmxvdyh0aGlzLl9lbGVtZW50KSx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKF8pLHRoaXMuX2NvbmZpZy5mb2N1cyYmdGhpcy5fZW5mb3JjZUZvY3VzKCk7dmFyIHM9dC5FdmVudChoLlNIT1dOLHtyZWxhdGVkVGFyZ2V0OmV9KSxyPWZ1bmN0aW9uKCl7bi5fY29uZmlnLmZvY3VzJiZuLl9lbGVtZW50LmZvY3VzKCksbi5faXNUcmFuc2l0aW9uaW5nPSExLHQobi5fZWxlbWVudCkudHJpZ2dlcihzKX07aT90KHRoaXMuX2RpYWxvZykub25lKFAuVFJBTlNJVElPTl9FTkQscikuZW11bGF0ZVRyYW5zaXRpb25FbmQoMzAwKTpyKCl9LHAuX2VuZm9yY2VGb2N1cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dChkb2N1bWVudCkub2ZmKGguRk9DVVNJTikub24oaC5GT0NVU0lOLGZ1bmN0aW9uKG4pe2RvY3VtZW50IT09bi50YXJnZXQmJmUuX2VsZW1lbnQhPT1uLnRhcmdldCYmMD09PXQoZS5fZWxlbWVudCkuaGFzKG4udGFyZ2V0KS5sZW5ndGgmJmUuX2VsZW1lbnQuZm9jdXMoKX0pfSxwLl9zZXRFc2NhcGVFdmVudD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5faXNTaG93biYmdGhpcy5fY29uZmlnLmtleWJvYXJkP3QodGhpcy5fZWxlbWVudCkub24oaC5LRVlET1dOX0RJU01JU1MsZnVuY3Rpb24odCl7Mjc9PT10LndoaWNoJiYodC5wcmV2ZW50RGVmYXVsdCgpLGUuaGlkZSgpKX0pOnRoaXMuX2lzU2hvd258fHQodGhpcy5fZWxlbWVudCkub2ZmKGguS0VZRE9XTl9ESVNNSVNTKX0scC5fc2V0UmVzaXplRXZlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2lzU2hvd24/dCh3aW5kb3cpLm9uKGguUkVTSVpFLGZ1bmN0aW9uKHQpe3JldHVybiBlLmhhbmRsZVVwZGF0ZSh0KX0pOnQod2luZG93KS5vZmYoaC5SRVNJWkUpfSxwLl9oaWRlTW9kYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwhMCksdGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpe3QoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoZiksZS5fcmVzZXRBZGp1c3RtZW50cygpLGUuX3Jlc2V0U2Nyb2xsYmFyKCksdChlLl9lbGVtZW50KS50cmlnZ2VyKGguSElEREVOKX0pfSxwLl9yZW1vdmVCYWNrZHJvcD1mdW5jdGlvbigpe3RoaXMuX2JhY2tkcm9wJiYodCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlKCksdGhpcy5fYmFja2Ryb3A9bnVsbCl9LHAuX3Nob3dCYWNrZHJvcD1mdW5jdGlvbihlKXt2YXIgbj10aGlzLGk9dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKT9kOiIiO2lmKHRoaXMuX2lzU2hvd24mJnRoaXMuX2NvbmZpZy5iYWNrZHJvcCl7dmFyIHM9UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmaTtpZih0aGlzLl9iYWNrZHJvcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9iYWNrZHJvcC5jbGFzc05hbWU9dSxpJiZ0KHRoaXMuX2JhY2tkcm9wKS5hZGRDbGFzcyhpKSx0KHRoaXMuX2JhY2tkcm9wKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KSx0KHRoaXMuX2VsZW1lbnQpLm9uKGguQ0xJQ0tfRElTTUlTUyxmdW5jdGlvbih0KXtuLl9pZ25vcmVCYWNrZHJvcENsaWNrP24uX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITE6dC50YXJnZXQ9PT10LmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09PW4uX2NvbmZpZy5iYWNrZHJvcD9uLl9lbGVtZW50LmZvY3VzKCk6bi5oaWRlKCkpfSkscyYmUC5yZWZsb3codGhpcy5fYmFja2Ryb3ApLHQodGhpcy5fYmFja2Ryb3ApLmFkZENsYXNzKF8pLCFlKXJldHVybjtpZighcylyZXR1cm4gdm9pZCBlKCk7dCh0aGlzLl9iYWNrZHJvcCkub25lKFAuVFJBTlNJVElPTl9FTkQsZSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoMTUwKX1lbHNlIGlmKCF0aGlzLl9pc1Nob3duJiZ0aGlzLl9iYWNrZHJvcCl7dCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlQ2xhc3MoXyk7dmFyIHI9ZnVuY3Rpb24oKXtuLl9yZW1vdmVCYWNrZHJvcCgpLGUmJmUoKX07UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKT90KHRoaXMuX2JhY2tkcm9wKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxyKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOnIoKX1lbHNlIGUmJmUoKX0scC5fYWRqdXN0RGlhbG9nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZWxlbWVudC5zY3JvbGxIZWlnaHQ+ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDshdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcmJnQmJih0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0PXRoaXMuX3Njcm9sbGJhcldpZHRoKyJweCIpLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nJiYhdCYmKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0PXRoaXMuX3Njcm9sbGJhcldpZHRoKyJweCIpfSxwLl9yZXNldEFkanVzdG1lbnRzPWZ1bmN0aW9uKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdD0iIix0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodD0iIn0scC5fY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX2lzQm9keU92ZXJmbG93aW5nPXQubGVmdCt0LnJpZ2h0PHdpbmRvdy5pbm5lcldpZHRoLHRoaXMuX3Njcm9sbGJhcldpZHRoPXRoaXMuX2dldFNjcm9sbGJhcldpZHRoKCl9LHAuX3NldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcpe3QoZy5GSVhFRF9DT05URU5UKS5lYWNoKGZ1bmN0aW9uKG4saSl7dmFyIHM9dChpKVswXS5zdHlsZS5wYWRkaW5nUmlnaHQscj10KGkpLmNzcygicGFkZGluZy1yaWdodCIpO3QoaSkuZGF0YSgicGFkZGluZy1yaWdodCIscykuY3NzKCJwYWRkaW5nLXJpZ2h0IixwYXJzZUZsb2F0KHIpK2UuX3Njcm9sbGJhcldpZHRoKyJweCIpfSksdChnLlNUSUNLWV9DT05URU5UKS5lYWNoKGZ1bmN0aW9uKG4saSl7dmFyIHM9dChpKVswXS5zdHlsZS5tYXJnaW5SaWdodCxyPXQoaSkuY3NzKCJtYXJnaW4tcmlnaHQiKTt0KGkpLmRhdGEoIm1hcmdpbi1yaWdodCIscykuY3NzKCJtYXJnaW4tcmlnaHQiLHBhcnNlRmxvYXQociktZS5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9KSx0KGcuTkFWQkFSX1RPR0dMRVIpLmVhY2goZnVuY3Rpb24obixpKXt2YXIgcz10KGkpWzBdLnN0eWxlLm1hcmdpblJpZ2h0LHI9dChpKS5jc3MoIm1hcmdpbi1yaWdodCIpO3QoaSkuZGF0YSgibWFyZ2luLXJpZ2h0IixzKS5jc3MoIm1hcmdpbi1yaWdodCIscGFyc2VGbG9hdChyKStlLl9zY3JvbGxiYXJXaWR0aCsicHgiKX0pO3ZhciBuPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0LGk9dCgiYm9keSIpLmNzcygicGFkZGluZy1yaWdodCIpO3QoImJvZHkiKS5kYXRhKCJwYWRkaW5nLXJpZ2h0IixuKS5jc3MoInBhZGRpbmctcmlnaHQiLHBhcnNlRmxvYXQoaSkrdGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9fSxwLl9yZXNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3QoZy5GSVhFRF9DT05URU5UKS5lYWNoKGZ1bmN0aW9uKGUsbil7dmFyIGk9dChuKS5kYXRhKCJwYWRkaW5nLXJpZ2h0Iik7InVuZGVmaW5lZCIhPXR5cGVvZiBpJiZ0KG4pLmNzcygicGFkZGluZy1yaWdodCIsaSkucmVtb3ZlRGF0YSgicGFkZGluZy1yaWdodCIpfSksdChnLlNUSUNLWV9DT05URU5UKyIsICIrZy5OQVZCQVJfVE9HR0xFUikuZWFjaChmdW5jdGlvbihlLG4pe3ZhciBpPXQobikuZGF0YSgibWFyZ2luLXJpZ2h0Iik7InVuZGVmaW5lZCIhPXR5cGVvZiBpJiZ0KG4pLmNzcygibWFyZ2luLXJpZ2h0IixpKS5yZW1vdmVEYXRhKCJtYXJnaW4tcmlnaHQiKX0pO3ZhciBlPXQoImJvZHkiKS5kYXRhKCJwYWRkaW5nLXJpZ2h0Iik7InVuZGVmaW5lZCIhPXR5cGVvZiBlJiZ0KCJib2R5IikuY3NzKCJwYWRkaW5nLXJpZ2h0IixlKS5yZW1vdmVEYXRhKCJwYWRkaW5nLXJpZ2h0Iil9LHAuX2dldFNjcm9sbGJhcldpZHRoPWZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9Yyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpO3ZhciBlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgtdC5jbGllbnRXaWR0aDtyZXR1cm4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KSxlfSxvLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9dCh0aGlzKS5kYXRhKG4pLGE9cih7fSxvLkRlZmF1bHQsdCh0aGlzKS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBlJiZlKTtpZihzfHwocz1uZXcgbyh0aGlzLGEpLHQodGhpcykuZGF0YShuLHMpKSwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygc1tlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO3NbZV0oaSl9ZWxzZSBhLnNob3cmJnMuc2hvdyhpKX0pfSxzKG8sbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX1dKSxvfSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihoLkNMSUNLX0RBVEFfQVBJLGcuREFUQV9UT0dHTEUsZnVuY3Rpb24oZSl7dmFyIGkscz10aGlzLG89UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO28mJihpPXQobylbMF0pO3ZhciBhPXQoaSkuZGF0YShuKT8idG9nZ2xlIjpyKHt9LHQoaSkuZGF0YSgpLHQodGhpcykuZGF0YSgpKTsiQSIhPT10aGlzLnRhZ05hbWUmJiJBUkVBIiE9PXRoaXMudGFnTmFtZXx8ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBsPXQoaSkub25lKGguU0hPVyxmdW5jdGlvbihlKXtlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxsLm9uZShoLkhJRERFTixmdW5jdGlvbigpe3QocykuaXMoIjp2aXNpYmxlIikmJnMuZm9jdXMoKX0pfSk7cC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodChpKSxhLHRoaXMpfSksdC5mbi5tb2RhbD1wLl9qUXVlcnlJbnRlcmZhY2UsdC5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1wLHQuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiB0LmZuLm1vZGFsPW8scC5falF1ZXJ5SW50ZXJmYWNlfSxwfShlKSxVPWZ1bmN0aW9uKHQpe3ZhciBlPSJ0b29sdGlwIixpPSJicy50b29sdGlwIixvPSIuIitpLGE9dC5mbltlXSxsPW5ldyBSZWdFeHAoIihefFxccylicy10b29sdGlwXFxTKyIsImciKSxoPXthbmltYXRpb246ImJvb2xlYW4iLHRlbXBsYXRlOiJzdHJpbmciLHRpdGxlOiIoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pIix0cmlnZ2VyOiJzdHJpbmciLGRlbGF5OiIobnVtYmVyfG9iamVjdCkiLGh0bWw6ImJvb2xlYW4iLHNlbGVjdG9yOiIoc3RyaW5nfGJvb2xlYW4pIixwbGFjZW1lbnQ6IihzdHJpbmd8ZnVuY3Rpb24pIixvZmZzZXQ6IihudW1iZXJ8c3RyaW5nKSIsY29udGFpbmVyOiIoc3RyaW5nfGVsZW1lbnR8Ym9vbGVhbikiLGZhbGxiYWNrUGxhY2VtZW50OiIoc3RyaW5nfGFycmF5KSIsYm91bmRhcnk6IihzdHJpbmd8ZWxlbWVudCkifSxjPXtBVVRPOiJhdXRvIixUT1A6InRvcCIsUklHSFQ6InJpZ2h0IixCT1RUT006ImJvdHRvbSIsTEVGVDoibGVmdCJ9LHU9e2FuaW1hdGlvbjohMCx0ZW1wbGF0ZTonPGRpdiBjbGFzcz0idG9vbHRpcCIgcm9sZT0idG9vbHRpcCI+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxzZWxlY3RvcjohMSxwbGFjZW1lbnQ6InRvcCIsb2Zmc2V0OjAsY29udGFpbmVyOiExLGZhbGxiYWNrUGxhY2VtZW50OiJmbGlwIixib3VuZGFyeToic2Nyb2xsUGFyZW50In0sZj0ic2hvdyIsZD0ib3V0IixfPXtISURFOiJoaWRlIitvLEhJRERFTjoiaGlkZGVuIitvLFNIT1c6InNob3ciK28sU0hPV046InNob3duIitvLElOU0VSVEVEOiJpbnNlcnRlZCIrbyxDTElDSzoiY2xpY2siK28sRk9DVVNJTjoiZm9jdXNpbiIrbyxGT0NVU09VVDoiZm9jdXNvdXQiK28sTU9VU0VFTlRFUjoibW91c2VlbnRlciIrbyxNT1VTRUxFQVZFOiJtb3VzZWxlYXZlIitvfSxnPSJmYWRlIixwPSJzaG93IixtPSIudG9vbHRpcC1pbm5lciIsdj0iLmFycm93IixFPSJob3ZlciIsVD0iZm9jdXMiLHk9ImNsaWNrIixDPSJtYW51YWwiLEk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHQsZSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCB0b29sdGlwcyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKSIpO3RoaXMuX2lzRW5hYmxlZD0hMCx0aGlzLl90aW1lb3V0PTAsdGhpcy5faG92ZXJTdGF0ZT0iIix0aGlzLl9hY3RpdmVUcmlnZ2VyPXt9LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD10LHRoaXMuY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLnRpcD1udWxsLHRoaXMuX3NldExpc3RlbmVycygpfXZhciBJPWEucHJvdG90eXBlO3JldHVybiBJLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hMH0sSS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSExfSxJLnRvZ2dsZUVuYWJsZWQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9IXRoaXMuX2lzRW5hYmxlZH0sSS50b2dnbGU9ZnVuY3Rpb24oZSl7aWYodGhpcy5faXNFbmFibGVkKWlmKGUpe3ZhciBuPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksaT10KGUuY3VycmVudFRhcmdldCkuZGF0YShuKTtpfHwoaT1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksdChlLmN1cnJlbnRUYXJnZXQpLmRhdGEobixpKSksaS5fYWN0aXZlVHJpZ2dlci5jbGljaz0haS5fYWN0aXZlVHJpZ2dlci5jbGljayxpLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCk/aS5fZW50ZXIobnVsbCxpKTppLl9sZWF2ZShudWxsLGkpfWVsc2V7aWYodCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MocCkpcmV0dXJuIHZvaWQgdGhpcy5fbGVhdmUobnVsbCx0aGlzKTt0aGlzLl9lbnRlcihudWxsLHRoaXMpfX0sSS5kaXNwb3NlPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHQucmVtb3ZlRGF0YSh0aGlzLmVsZW1lbnQsdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSksdCh0aGlzLmVsZW1lbnQpLm9mZih0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSksdCh0aGlzLmVsZW1lbnQpLmNsb3Nlc3QoIi5tb2RhbCIpLm9mZigiaGlkZS5icy5tb2RhbCIpLHRoaXMudGlwJiZ0KHRoaXMudGlwKS5yZW1vdmUoKSx0aGlzLl9pc0VuYWJsZWQ9bnVsbCx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5faG92ZXJTdGF0ZT1udWxsLHRoaXMuX2FjdGl2ZVRyaWdnZXI9bnVsbCxudWxsIT09dGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuZGVzdHJveSgpLHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD1udWxsLHRoaXMuY29uZmlnPW51bGwsdGhpcy50aXA9bnVsbH0sSS5zaG93PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZigibm9uZSI9PT10KHRoaXMuZWxlbWVudCkuY3NzKCJkaXNwbGF5IikpdGhyb3cgbmV3IEVycm9yKCJQbGVhc2UgdXNlIHNob3cgb24gdmlzaWJsZSBlbGVtZW50cyIpO3ZhciBpPXQuRXZlbnQodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5TSE9XKTtpZih0aGlzLmlzV2l0aENvbnRlbnQoKSYmdGhpcy5faXNFbmFibGVkKXt0KHRoaXMuZWxlbWVudCkudHJpZ2dlcihpKTt2YXIgcz10LmNvbnRhaW5zKHRoaXMuZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLmVsZW1lbnQpO2lmKGkuaXNEZWZhdWx0UHJldmVudGVkKCl8fCFzKXJldHVybjt2YXIgcj10aGlzLmdldFRpcEVsZW1lbnQoKSxvPVAuZ2V0VUlEKHRoaXMuY29uc3RydWN0b3IuTkFNRSk7ci5zZXRBdHRyaWJ1dGUoImlkIixvKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IixvKSx0aGlzLnNldENvbnRlbnQoKSx0aGlzLmNvbmZpZy5hbmltYXRpb24mJnQocikuYWRkQ2xhc3MoZyk7dmFyIGw9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuY29uZmlnLnBsYWNlbWVudD90aGlzLmNvbmZpZy5wbGFjZW1lbnQuY2FsbCh0aGlzLHIsdGhpcy5lbGVtZW50KTp0aGlzLmNvbmZpZy5wbGFjZW1lbnQsaD10aGlzLl9nZXRBdHRhY2htZW50KGwpO3RoaXMuYWRkQXR0YWNobWVudENsYXNzKGgpO3ZhciBjPSExPT09dGhpcy5jb25maWcuY29udGFpbmVyP2RvY3VtZW50LmJvZHk6dCh0aGlzLmNvbmZpZy5jb250YWluZXIpO3QocikuZGF0YSh0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLHRoaXMpLHQuY29udGFpbnModGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMudGlwKXx8dChyKS5hcHBlbmRUbyhjKSx0KHRoaXMuZWxlbWVudCkudHJpZ2dlcih0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LklOU0VSVEVEKSx0aGlzLl9wb3BwZXI9bmV3IG4odGhpcy5lbGVtZW50LHIse3BsYWNlbWVudDpoLG1vZGlmaWVyczp7b2Zmc2V0OntvZmZzZXQ6dGhpcy5jb25maWcub2Zmc2V0fSxmbGlwOntiZWhhdmlvcjp0aGlzLmNvbmZpZy5mYWxsYmFja1BsYWNlbWVudH0sYXJyb3c6e2VsZW1lbnQ6dn0scHJldmVudE92ZXJmbG93Ontib3VuZGFyaWVzRWxlbWVudDp0aGlzLmNvbmZpZy5ib3VuZGFyeX19LG9uQ3JlYXRlOmZ1bmN0aW9uKHQpe3Qub3JpZ2luYWxQbGFjZW1lbnQhPT10LnBsYWNlbWVudCYmZS5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKHQpfSxvblVwZGF0ZTpmdW5jdGlvbih0KXtlLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UodCl9fSksdChyKS5hZGRDbGFzcyhwKSwib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmdCgiYm9keSIpLmNoaWxkcmVuKCkub24oIm1vdXNlb3ZlciIsbnVsbCx0Lm5vb3ApO3ZhciB1PWZ1bmN0aW9uKCl7ZS5jb25maWcuYW5pbWF0aW9uJiZlLl9maXhUcmFuc2l0aW9uKCk7dmFyIG49ZS5faG92ZXJTdGF0ZTtlLl9ob3ZlclN0YXRlPW51bGwsdChlLmVsZW1lbnQpLnRyaWdnZXIoZS5jb25zdHJ1Y3Rvci5FdmVudC5TSE9XTiksbj09PWQmJmUuX2xlYXZlKG51bGwsZSl9O1Auc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkmJnQodGhpcy50aXApLmhhc0NsYXNzKGcpP3QodGhpcy50aXApLm9uZShQLlRSQU5TSVRJT05fRU5ELHUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGEuX1RSQU5TSVRJT05fRFVSQVRJT04pOnUoKX19LEkuaGlkZT1mdW5jdGlvbihlKXt2YXIgbj10aGlzLGk9dGhpcy5nZXRUaXBFbGVtZW50KCkscz10LkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSElERSkscj1mdW5jdGlvbigpe24uX2hvdmVyU3RhdGUhPT1mJiZpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKSxuLl9jbGVhblRpcENsYXNzKCksbi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIpLHQobi5lbGVtZW50KS50cmlnZ2VyKG4uY29uc3RydWN0b3IuRXZlbnQuSElEREVOKSxudWxsIT09bi5fcG9wcGVyJiZuLl9wb3BwZXIuZGVzdHJveSgpLGUmJmUoKX07dCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIocykscy5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHQoaSkucmVtb3ZlQ2xhc3MocCksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnQoImJvZHkiKS5jaGlsZHJlbigpLm9mZigibW91c2VvdmVyIixudWxsLHQubm9vcCksdGhpcy5fYWN0aXZlVHJpZ2dlclt5XT0hMSx0aGlzLl9hY3RpdmVUcmlnZ2VyW1RdPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXJbRV09ITEsUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLnRpcCkuaGFzQ2xhc3MoZyk/dChpKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxyKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOnIoKSx0aGlzLl9ob3ZlclN0YXRlPSIiKX0sSS51cGRhdGU9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKX0sSS5pc1dpdGhDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5nZXRUaXRsZSgpKX0sSS5hZGRBdHRhY2htZW50Q2xhc3M9ZnVuY3Rpb24oZSl7dCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuYWRkQ2xhc3MoImJzLXRvb2x0aXAtIitlKX0sSS5nZXRUaXBFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGlwPXRoaXMudGlwfHx0KHRoaXMuY29uZmlnLnRlbXBsYXRlKVswXSx0aGlzLnRpcH0sSS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7dGhpcy5zZXRFbGVtZW50Q29udGVudChlLmZpbmQobSksdGhpcy5nZXRUaXRsZSgpKSxlLnJlbW92ZUNsYXNzKGcrIiAiK3ApfSxJLnNldEVsZW1lbnRDb250ZW50PWZ1bmN0aW9uKGUsbil7dmFyIGk9dGhpcy5jb25maWcuaHRtbDsib2JqZWN0Ij09dHlwZW9mIG4mJihuLm5vZGVUeXBlfHxuLmpxdWVyeSk/aT90KG4pLnBhcmVudCgpLmlzKGUpfHxlLmVtcHR5KCkuYXBwZW5kKG4pOmUudGV4dCh0KG4pLnRleHQoKSk6ZVtpPyJodG1sIjoidGV4dCJdKG4pfSxJLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC10aXRsZSIpO3JldHVybiB0fHwodD0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcudGl0bGU/dGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnRpdGxlKSx0fSxJLl9nZXRBdHRhY2htZW50PWZ1bmN0aW9uKHQpe3JldHVybiBjW3QudG9VcHBlckNhc2UoKV19LEkuX3NldExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5jb25maWcudHJpZ2dlci5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24obil7aWYoImNsaWNrIj09PW4pdChlLmVsZW1lbnQpLm9uKGUuY29uc3RydWN0b3IuRXZlbnQuQ0xJQ0ssZS5jb25maWcuc2VsZWN0b3IsZnVuY3Rpb24odCl7cmV0dXJuIGUudG9nZ2xlKHQpfSk7ZWxzZSBpZihuIT09Qyl7dmFyIGk9bj09PUU/ZS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUVOVEVSOmUuY29uc3RydWN0b3IuRXZlbnQuRk9DVVNJTixzPW49PT1FP2UuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VMRUFWRTplLmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTT1VUO3QoZS5lbGVtZW50KS5vbihpLGUuY29uZmlnLnNlbGVjdG9yLGZ1bmN0aW9uKHQpe3JldHVybiBlLl9lbnRlcih0KX0pLm9uKHMsZS5jb25maWcuc2VsZWN0b3IsZnVuY3Rpb24odCl7cmV0dXJuIGUuX2xlYXZlKHQpfSl9dChlLmVsZW1lbnQpLmNsb3Nlc3QoIi5tb2RhbCIpLm9uKCJoaWRlLmJzLm1vZGFsIixmdW5jdGlvbigpe3JldHVybiBlLmhpZGUoKX0pfSksdGhpcy5jb25maWcuc2VsZWN0b3I/dGhpcy5jb25maWc9cih7fSx0aGlzLmNvbmZpZyx7dHJpZ2dlcjoibWFudWFsIixzZWxlY3RvcjoiIn0pOnRoaXMuX2ZpeFRpdGxlKCl9LEkuX2ZpeFRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dHlwZW9mIHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiKTsodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgidGl0bGUiKXx8InN0cmluZyIhPT10KSYmKHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiLHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoInRpdGxlIil8fCIiKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIiIpKX0sSS5fZW50ZXI9ZnVuY3Rpb24oZSxuKXt2YXIgaT10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyhuPW58fHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKGkpKXx8KG49bmV3IHRoaXMuY29uc3RydWN0b3IoZS5jdXJyZW50VGFyZ2V0LHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKGksbikpLGUmJihuLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c2luIj09PWUudHlwZT9UOkVdPSEwKSx0KG4uZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhwKXx8bi5faG92ZXJTdGF0ZT09PWY/bi5faG92ZXJTdGF0ZT1mOihjbGVhclRpbWVvdXQobi5fdGltZW91dCksbi5faG92ZXJTdGF0ZT1mLG4uY29uZmlnLmRlbGF5JiZuLmNvbmZpZy5kZWxheS5zaG93P24uX3RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe24uX2hvdmVyU3RhdGU9PT1mJiZuLnNob3coKX0sbi5jb25maWcuZGVsYXkuc2hvdyk6bi5zaG93KCkpfSxJLl9sZWF2ZT1mdW5jdGlvbihlLG4pe3ZhciBpPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVk7KG49bnx8dChlLmN1cnJlbnRUYXJnZXQpLmRhdGEoaSkpfHwobj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksdChlLmN1cnJlbnRUYXJnZXQpLmRhdGEoaSxuKSksZSYmKG4uX2FjdGl2ZVRyaWdnZXJbImZvY3Vzb3V0Ij09PWUudHlwZT9UOkVdPSExKSxuLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCl8fChjbGVhclRpbWVvdXQobi5fdGltZW91dCksbi5faG92ZXJTdGF0ZT1kLG4uY29uZmlnLmRlbGF5JiZuLmNvbmZpZy5kZWxheS5oaWRlP24uX3RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe24uX2hvdmVyU3RhdGU9PT1kJiZuLmhpZGUoKX0sbi5jb25maWcuZGVsYXkuaGlkZSk6bi5oaWRlKCkpfSxJLl9pc1dpdGhBY3RpdmVUcmlnZ2VyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2FjdGl2ZVRyaWdnZXIpaWYodGhpcy5fYWN0aXZlVHJpZ2dlclt0XSlyZXR1cm4hMDtyZXR1cm4hMX0sSS5fZ2V0Q29uZmlnPWZ1bmN0aW9uKG4pe3JldHVybiJudW1iZXIiPT10eXBlb2Yobj1yKHt9LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCx0KHRoaXMuZWxlbWVudCkuZGF0YSgpLG4pKS5kZWxheSYmKG4uZGVsYXk9e3Nob3c6bi5kZWxheSxoaWRlOm4uZGVsYXl9KSwibnVtYmVyIj09dHlwZW9mIG4udGl0bGUmJihuLnRpdGxlPW4udGl0bGUudG9TdHJpbmcoKSksIm51bWJlciI9PXR5cGVvZiBuLmNvbnRlbnQmJihuLmNvbnRlbnQ9bi5jb250ZW50LnRvU3RyaW5nKCkpLFAudHlwZUNoZWNrQ29uZmlnKGUsbix0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSxufSxJLl9nZXREZWxlZ2F0ZUNvbmZpZz1mdW5jdGlvbigpe3ZhciB0PXt9O2lmKHRoaXMuY29uZmlnKWZvcih2YXIgZSBpbiB0aGlzLmNvbmZpZyl0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRbZV0hPT10aGlzLmNvbmZpZ1tlXSYmKHRbZV09dGhpcy5jb25maWdbZV0pO3JldHVybiB0fSxJLl9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLmdldFRpcEVsZW1lbnQoKSksbj1lLmF0dHIoImNsYXNzIikubWF0Y2gobCk7bnVsbCE9PW4mJm4ubGVuZ3RoPjAmJmUucmVtb3ZlQ2xhc3Mobi5qb2luKCIiKSl9LEkuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZT1mdW5jdGlvbih0KXt0aGlzLl9jbGVhblRpcENsYXNzKCksdGhpcy5hZGRBdHRhY2htZW50Q2xhc3ModGhpcy5fZ2V0QXR0YWNobWVudCh0LnBsYWNlbWVudCkpfSxJLl9maXhUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXRUaXBFbGVtZW50KCksbj10aGlzLmNvbmZpZy5hbmltYXRpb247bnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ4LXBsYWNlbWVudCIpJiYodChlKS5yZW1vdmVDbGFzcyhnKSx0aGlzLmNvbmZpZy5hbmltYXRpb249ITEsdGhpcy5oaWRlKCksdGhpcy5zaG93KCksdGhpcy5jb25maWcuYW5pbWF0aW9uPW4pfSxhLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuPXQodGhpcykuZGF0YShpKSxzPSJvYmplY3QiPT10eXBlb2YgZSYmZTtpZigobnx8IS9kaXNwb3NlfGhpZGUvLnRlc3QoZSkpJiYobnx8KG49bmV3IGEodGhpcyxzKSx0KHRoaXMpLmRhdGEoaSxuKSksInN0cmluZyI9PXR5cGVvZiBlKSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7bltlXSgpfX0pfSxzKGEsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiB1fX0se2tleToiTkFNRSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV9fSx7a2V5OiJEQVRBX0tFWSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSx7a2V5OiJFdmVudCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF99fSx7a2V5OiJFVkVOVF9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBofX1dKSxhfSgpO3JldHVybiB0LmZuW2VdPUkuX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPUksdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09YSxJLl9qUXVlcnlJbnRlcmZhY2V9LEl9KGUpLHg9ZnVuY3Rpb24odCl7dmFyIGU9InBvcG92ZXIiLG49ImJzLnBvcG92ZXIiLGk9Ii4iK24sbz10LmZuW2VdLGE9bmV3IFJlZ0V4cCgiKF58XFxzKWJzLXBvcG92ZXJcXFMrIiwiZyIpLGw9cih7fSxVLkRlZmF1bHQse3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGgzIGNsYXNzPSJwb3BvdmVyLWhlYWRlciI+PC9oMz48ZGl2IGNsYXNzPSJwb3BvdmVyLWJvZHkiPjwvZGl2PjwvZGl2Pid9KSxoPXIoe30sVS5EZWZhdWx0VHlwZSx7Y29udGVudDoiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKSJ9KSxjPSJmYWRlIix1PSJzaG93IixmPSIucG9wb3Zlci1oZWFkZXIiLGQ9Ii5wb3BvdmVyLWJvZHkiLF89e0hJREU6ImhpZGUiK2ksSElEREVOOiJoaWRkZW4iK2ksU0hPVzoic2hvdyIraSxTSE9XTjoic2hvd24iK2ksSU5TRVJURUQ6Imluc2VydGVkIitpLENMSUNLOiJjbGljayIraSxGT0NVU0lOOiJmb2N1c2luIitpLEZPQ1VTT1VUOiJmb2N1c291dCIraSxNT1VTRUVOVEVSOiJtb3VzZWVudGVyIitpLE1PVVNFTEVBVkU6Im1vdXNlbGVhdmUiK2l9LGc9ZnVuY3Rpb24ocil7dmFyIG8sZztmdW5jdGlvbiBwKCl7cmV0dXJuIHIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfWc9ciwobz1wKS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShnLnByb3RvdHlwZSksby5wcm90b3R5cGUuY29uc3RydWN0b3I9byxvLl9fcHJvdG9fXz1nO3ZhciBtPXAucHJvdG90eXBlO3JldHVybiBtLmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLl9nZXRDb250ZW50KCl9LG0uYWRkQXR0YWNobWVudENsYXNzPWZ1bmN0aW9uKGUpe3QodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKCJicy1wb3BvdmVyLSIrZSl9LG0uZ2V0VGlwRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpcD10aGlzLnRpcHx8dCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sdGhpcy50aXB9LG0uc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBlPXQodGhpcy5nZXRUaXBFbGVtZW50KCkpO3RoaXMuc2V0RWxlbWVudENvbnRlbnQoZS5maW5kKGYpLHRoaXMuZ2V0VGl0bGUoKSk7dmFyIG49dGhpcy5fZ2V0Q29udGVudCgpOyJmdW5jdGlvbiI9PXR5cGVvZiBuJiYobj1uLmNhbGwodGhpcy5lbGVtZW50KSksdGhpcy5zZXRFbGVtZW50Q29udGVudChlLmZpbmQoZCksbiksZS5yZW1vdmVDbGFzcyhjKyIgIit1KX0sbS5fZ2V0Q29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbnRlbnQiKXx8dGhpcy5jb25maWcuY29udGVudH0sbS5fY2xlYW5UaXBDbGFzcz1mdW5jdGlvbigpe3ZhciBlPXQodGhpcy5nZXRUaXBFbGVtZW50KCkpLG49ZS5hdHRyKCJjbGFzcyIpLm1hdGNoKGEpO251bGwhPT1uJiZuLmxlbmd0aD4wJiZlLnJlbW92ZUNsYXNzKG4uam9pbigiIikpfSxwLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykuZGF0YShuKSxzPSJvYmplY3QiPT10eXBlb2YgZT9lOm51bGw7aWYoKGl8fCEvZGVzdHJveXxoaWRlLy50ZXN0KGUpKSYmKGl8fChpPW5ldyBwKHRoaXMscyksdCh0aGlzKS5kYXRhKG4saSkpLCJzdHJpbmciPT10eXBlb2YgZSkpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgaVtlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO2lbZV0oKX19KX0scyhwLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjAuMCJ9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19LHtrZXk6Ik5BTUUiLGdldDpmdW5jdGlvbigpe3JldHVybiBlfX0se2tleToiREFUQV9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0se2tleToiRXZlbnQiLGdldDpmdW5jdGlvbigpe3JldHVybiBffX0se2tleToiRVZFTlRfS0VZIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX19LHtrZXk6IkRlZmF1bHRUeXBlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaH19XSkscH0oVSk7cmV0dXJuIHQuZm5bZV09Zy5falF1ZXJ5SW50ZXJmYWNlLHQuZm5bZV0uQ29uc3RydWN0b3I9Zyx0LmZuW2VdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbltlXT1vLGcuX2pRdWVyeUludGVyZmFjZX0sZ30oZSksSz1mdW5jdGlvbih0KXt2YXIgZT0ic2Nyb2xsc3B5IixuPSJicy5zY3JvbGxzcHkiLGk9Ii4iK24sbz10LmZuW2VdLGE9e29mZnNldDoxMCxtZXRob2Q6ImF1dG8iLHRhcmdldDoiIn0sbD17b2Zmc2V0OiJudW1iZXIiLG1ldGhvZDoic3RyaW5nIix0YXJnZXQ6IihzdHJpbmd8ZWxlbWVudCkifSxoPXtBQ1RJVkFURToiYWN0aXZhdGUiK2ksU0NST0xMOiJzY3JvbGwiK2ksTE9BRF9EQVRBX0FQSToibG9hZCIraSsiLmRhdGEtYXBpIn0sYz0iZHJvcGRvd24taXRlbSIsdT0iYWN0aXZlIixmPXtEQVRBX1NQWTonW2RhdGEtc3B5PSJzY3JvbGwiXScsQUNUSVZFOiIuYWN0aXZlIixOQVZfTElTVF9HUk9VUDoiLm5hdiwgLmxpc3QtZ3JvdXAiLE5BVl9MSU5LUzoiLm5hdi1saW5rIixOQVZfSVRFTVM6Ii5uYXYtaXRlbSIsTElTVF9JVEVNUzoiLmxpc3QtZ3JvdXAtaXRlbSIsRFJPUERPV046Ii5kcm9wZG93biIsRFJPUERPV05fSVRFTVM6Ii5kcm9wZG93bi1pdGVtIixEUk9QRE9XTl9UT0dHTEU6Ii5kcm9wZG93bi10b2dnbGUifSxkPSJvZmZzZXQiLF89InBvc2l0aW9uIixnPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyhlLG4pe3ZhciBpPXRoaXM7dGhpcy5fZWxlbWVudD1lLHRoaXMuX3Njcm9sbEVsZW1lbnQ9IkJPRFkiPT09ZS50YWdOYW1lP3dpbmRvdzplLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcobiksdGhpcy5fc2VsZWN0b3I9dGhpcy5fY29uZmlnLnRhcmdldCsiICIrZi5OQVZfTElOS1MrIiwiK3RoaXMuX2NvbmZpZy50YXJnZXQrIiAiK2YuTElTVF9JVEVNUysiLCIrdGhpcy5fY29uZmlnLnRhcmdldCsiICIrZi5EUk9QRE9XTl9JVEVNUyx0aGlzLl9vZmZzZXRzPVtdLHRoaXMuX3RhcmdldHM9W10sdGhpcy5fYWN0aXZlVGFyZ2V0PW51bGwsdGhpcy5fc2Nyb2xsSGVpZ2h0PTAsdCh0aGlzLl9zY3JvbGxFbGVtZW50KS5vbihoLlNDUk9MTCxmdW5jdGlvbih0KXtyZXR1cm4gaS5fcHJvY2Vzcyh0KX0pLHRoaXMucmVmcmVzaCgpLHRoaXMuX3Byb2Nlc3MoKX12YXIgZz1vLnByb3RvdHlwZTtyZXR1cm4gZy5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPXRoaXMuX3Njcm9sbEVsZW1lbnQ9PT10aGlzLl9zY3JvbGxFbGVtZW50LndpbmRvdz9kOl8saT0iYXV0byI9PT10aGlzLl9jb25maWcubWV0aG9kP246dGhpcy5fY29uZmlnLm1ldGhvZCxzPWk9PT1fP3RoaXMuX2dldFNjcm9sbFRvcCgpOjA7dGhpcy5fb2Zmc2V0cz1bXSx0aGlzLl90YXJnZXRzPVtdLHRoaXMuX3Njcm9sbEhlaWdodD10aGlzLl9nZXRTY3JvbGxIZWlnaHQoKSx0Lm1ha2VBcnJheSh0KHRoaXMuX3NlbGVjdG9yKSkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuLHI9UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KGUpO2lmKHImJihuPXQocilbMF0pLG4pe3ZhciBvPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoby53aWR0aHx8by5oZWlnaHQpcmV0dXJuW3QobilbaV0oKS50b3ArcyxyXX1yZXR1cm4gbnVsbH0pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdH0pLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXS1lWzBdfSkuZm9yRWFjaChmdW5jdGlvbih0KXtlLl9vZmZzZXRzLnB1c2godFswXSksZS5fdGFyZ2V0cy5wdXNoKHRbMV0pfSl9LGcuZGlzcG9zZT1mdW5jdGlvbigpe3QucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LG4pLHQodGhpcy5fc2Nyb2xsRWxlbWVudCkub2ZmKGkpLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9zY3JvbGxFbGVtZW50PW51bGwsdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fc2VsZWN0b3I9bnVsbCx0aGlzLl9vZmZzZXRzPW51bGwsdGhpcy5fdGFyZ2V0cz1udWxsLHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHRoaXMuX3Njcm9sbEhlaWdodD1udWxsfSxnLl9nZXRDb25maWc9ZnVuY3Rpb24obil7aWYoInN0cmluZyIhPXR5cGVvZihuPXIoe30sYSxuKSkudGFyZ2V0KXt2YXIgaT10KG4udGFyZ2V0KS5hdHRyKCJpZCIpO2l8fChpPVAuZ2V0VUlEKGUpLHQobi50YXJnZXQpLmF0dHIoImlkIixpKSksbi50YXJnZXQ9IiMiK2l9cmV0dXJuIFAudHlwZUNoZWNrQ29uZmlnKGUsbixsKSxufSxnLl9nZXRTY3JvbGxUb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz90aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0OnRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wfSxnLl9nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxnLl9nZXRPZmZzZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LGcuX3Byb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRTY3JvbGxUb3AoKSt0aGlzLl9jb25maWcub2Zmc2V0LGU9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksbj10aGlzLl9jb25maWcub2Zmc2V0K2UtdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7aWYodGhpcy5fc2Nyb2xsSGVpZ2h0IT09ZSYmdGhpcy5yZWZyZXNoKCksdD49bil7dmFyIGk9dGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aC0xXTt0aGlzLl9hY3RpdmVUYXJnZXQhPT1pJiZ0aGlzLl9hY3RpdmF0ZShpKX1lbHNle2lmKHRoaXMuX2FjdGl2ZVRhcmdldCYmdDx0aGlzLl9vZmZzZXRzWzBdJiZ0aGlzLl9vZmZzZXRzWzBdPjApcmV0dXJuIHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHZvaWQgdGhpcy5fY2xlYXIoKTtmb3IodmFyIHM9dGhpcy5fb2Zmc2V0cy5sZW5ndGg7cy0tOyl7dGhpcy5fYWN0aXZlVGFyZ2V0IT09dGhpcy5fdGFyZ2V0c1tzXSYmdD49dGhpcy5fb2Zmc2V0c1tzXSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgdGhpcy5fb2Zmc2V0c1tzKzFdfHx0PHRoaXMuX29mZnNldHNbcysxXSkmJnRoaXMuX2FjdGl2YXRlKHRoaXMuX3RhcmdldHNbc10pfX19LGcuX2FjdGl2YXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2FjdGl2ZVRhcmdldD1lLHRoaXMuX2NsZWFyKCk7dmFyIG49dGhpcy5fc2VsZWN0b3Iuc3BsaXQoIiwiKTtuPW4ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0KydbZGF0YS10YXJnZXQ9IicrZSsnIl0sJyt0KydbaHJlZj0iJytlKyciXSd9KTt2YXIgaT10KG4uam9pbigiLCIpKTtpLmhhc0NsYXNzKGMpPyhpLmNsb3Nlc3QoZi5EUk9QRE9XTikuZmluZChmLkRST1BET1dOX1RPR0dMRSkuYWRkQ2xhc3ModSksaS5hZGRDbGFzcyh1KSk6KGkuYWRkQ2xhc3ModSksaS5wYXJlbnRzKGYuTkFWX0xJU1RfR1JPVVApLnByZXYoZi5OQVZfTElOS1MrIiwgIitmLkxJU1RfSVRFTVMpLmFkZENsYXNzKHUpLGkucGFyZW50cyhmLk5BVl9MSVNUX0dST1VQKS5wcmV2KGYuTkFWX0lURU1TKS5jaGlsZHJlbihmLk5BVl9MSU5LUykuYWRkQ2xhc3ModSkpLHQodGhpcy5fc2Nyb2xsRWxlbWVudCkudHJpZ2dlcihoLkFDVElWQVRFLHtyZWxhdGVkVGFyZ2V0OmV9KX0sZy5fY2xlYXI9ZnVuY3Rpb24oKXt0KHRoaXMuX3NlbGVjdG9yKS5maWx0ZXIoZi5BQ1RJVkUpLnJlbW92ZUNsYXNzKHUpfSxvLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykuZGF0YShuKTtpZihpfHwoaT1uZXcgbyh0aGlzLCJvYmplY3QiPT10eXBlb2YgZSYmZSksdCh0aGlzKS5kYXRhKG4saSkpLCJzdHJpbmciPT10eXBlb2YgZSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBpW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7aVtlXSgpfX0pfSxzKG8sbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX1dKSxvfSgpO3JldHVybiB0KHdpbmRvdykub24oaC5MT0FEX0RBVEFfQVBJLGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXQubWFrZUFycmF5KHQoZi5EQVRBX1NQWSkpLG49ZS5sZW5ndGg7bi0tOyl7dmFyIGk9dChlW25dKTtnLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChpLGkuZGF0YSgpKX19KSx0LmZuW2VdPWcuX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPWcsdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09byxnLl9qUXVlcnlJbnRlcmZhY2V9LGd9KGUpLFY9ZnVuY3Rpb24odCl7dmFyIGU9ImJzLnRhYiIsbj0iLiIrZSxpPXQuZm4udGFiLHI9e0hJREU6ImhpZGUiK24sSElEREVOOiJoaWRkZW4iK24sU0hPVzoic2hvdyIrbixTSE9XTjoic2hvd24iK24sQ0xJQ0tfREFUQV9BUEk6ImNsaWNrLmJzLnRhYi5kYXRhLWFwaSJ9LG89ImRyb3Bkb3duLW1lbnUiLGE9ImFjdGl2ZSIsbD0iZGlzYWJsZWQiLGg9ImZhZGUiLGM9InNob3ciLHU9Ii5kcm9wZG93biIsZj0iLm5hdiwgLmxpc3QtZ3JvdXAiLGQ9Ii5hY3RpdmUiLF89Ij4gbGkgPiAuYWN0aXZlIixnPSdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXSwgW2RhdGEtdG9nZ2xlPSJsaXN0Il0nLHA9Ii5kcm9wZG93bi10b2dnbGUiLG09Ij4gLmRyb3Bkb3duLW1lbnUgLmFjdGl2ZSIsdj1mdW5jdGlvbigpe2Z1bmN0aW9uIG4odCl7dGhpcy5fZWxlbWVudD10fXZhciBpPW4ucHJvdG90eXBlO3JldHVybiBpLnNob3c9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKCEodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhhKXx8dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhsKSkpe3ZhciBuLGkscz10KHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoZilbMF0sbz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7aWYocyl7dmFyIGg9IlVMIj09PXMubm9kZU5hbWU/XzpkO2k9KGk9dC5tYWtlQXJyYXkodChzKS5maW5kKGgpKSlbaS5sZW5ndGgtMV19dmFyIGM9dC5FdmVudChyLkhJREUse3JlbGF0ZWRUYXJnZXQ6dGhpcy5fZWxlbWVudH0pLHU9dC5FdmVudChyLlNIT1cse3JlbGF0ZWRUYXJnZXQ6aX0pO2lmKGkmJnQoaSkudHJpZ2dlcihjKSx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIodSksIXUuaXNEZWZhdWx0UHJldmVudGVkKCkmJiFjLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtvJiYobj10KG8pWzBdKSx0aGlzLl9hY3RpdmF0ZSh0aGlzLl9lbGVtZW50LHMpO3ZhciBnPWZ1bmN0aW9uKCl7dmFyIG49dC5FdmVudChyLkhJRERFTix7cmVsYXRlZFRhcmdldDplLl9lbGVtZW50fSkscz10LkV2ZW50KHIuU0hPV04se3JlbGF0ZWRUYXJnZXQ6aX0pO3QoaSkudHJpZ2dlcihuKSx0KGUuX2VsZW1lbnQpLnRyaWdnZXIocyl9O24/dGhpcy5fYWN0aXZhdGUobixuLnBhcmVudE5vZGUsZyk6ZygpfX19LGkuZGlzcG9zZT1mdW5jdGlvbigpe3QucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LGUpLHRoaXMuX2VsZW1lbnQ9bnVsbH0saS5fYWN0aXZhdGU9ZnVuY3Rpb24oZSxuLGkpe3ZhciBzPXRoaXMscj0oIlVMIj09PW4ubm9kZU5hbWU/dChuKS5maW5kKF8pOnQobikuY2hpbGRyZW4oZCkpWzBdLG89aSYmUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmciYmdChyKS5oYXNDbGFzcyhoKSxhPWZ1bmN0aW9uKCl7cmV0dXJuIHMuX3RyYW5zaXRpb25Db21wbGV0ZShlLHIsaSl9O3ImJm8/dChyKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxhKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOmEoKX0saS5fdHJhbnNpdGlvbkNvbXBsZXRlPWZ1bmN0aW9uKGUsbixpKXtpZihuKXt0KG4pLnJlbW92ZUNsYXNzKGMrIiAiK2EpO3ZhciBzPXQobi5wYXJlbnROb2RlKS5maW5kKG0pWzBdO3MmJnQocykucmVtb3ZlQ2xhc3MoYSksInRhYiI9PT1uLmdldEF0dHJpYnV0ZSgicm9sZSIpJiZuLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsITEpfWlmKHQoZSkuYWRkQ2xhc3MoYSksInRhYiI9PT1lLmdldEF0dHJpYnV0ZSgicm9sZSIpJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsITApLFAucmVmbG93KGUpLHQoZSkuYWRkQ2xhc3MoYyksZS5wYXJlbnROb2RlJiZ0KGUucGFyZW50Tm9kZSkuaGFzQ2xhc3Mobykpe3ZhciByPXQoZSkuY2xvc2VzdCh1KVswXTtyJiZ0KHIpLmZpbmQocCkuYWRkQ2xhc3MoYSksZS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCEwKX1pJiZpKCl9LG4uX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9dCh0aGlzKSxyPXMuZGF0YShlKTtpZihyfHwocj1uZXcgbih0aGlzKSxzLmRhdGEoZSxyKSksInN0cmluZyI9PXR5cGVvZiBpKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHJbaV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2krJyInKTtyW2ldKCl9fSl9LHMobixudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4wLjAifX1dKSxufSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihyLkNMSUNLX0RBVEFfQVBJLGcsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHYuX2pRdWVyeUludGVyZmFjZS5jYWxsKHQodGhpcyksInNob3ciKX0pLHQuZm4udGFiPXYuX2pRdWVyeUludGVyZmFjZSx0LmZuLnRhYi5Db25zdHJ1Y3Rvcj12LHQuZm4udGFiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbi50YWI9aSx2Ll9qUXVlcnlJbnRlcmZhY2V9LHZ9KGUpOyFmdW5jdGlvbih0KXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkuIGpRdWVyeSBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSBCb290c3RyYXAncyBKYXZhU2NyaXB0LiIpO3ZhciBlPXQuZm4uanF1ZXJ5LnNwbGl0KCIgIilbMF0uc3BsaXQoIi4iKTtpZihlWzBdPDImJmVbMV08OXx8MT09PWVbMF0mJjk9PT1lWzFdJiZlWzJdPDF8fGVbMF0+PTQpdGhyb3cgbmV3IEVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGF0IGxlYXN0IGpRdWVyeSB2MS45LjEgYnV0IGxlc3MgdGhhbiB2NC4wLjAiKX0oZSksdC5VdGlsPVAsdC5BbGVydD1MLHQuQnV0dG9uPVIsdC5DYXJvdXNlbD1qLHQuQ29sbGFwc2U9SCx0LkRyb3Bkb3duPVcsdC5Nb2RhbD1NLHQuUG9wb3Zlcj14LHQuU2Nyb2xsc3B5PUssdC5UYWI9Vix0LlRvb2x0aXA9VSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9Ym9vdHN0cmFwLm1pbi5qcy5tYXA="}},"time_used":154,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":135,"receive":19,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/images/footer-bg.jpg","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.964Z","timestamp":1785124599964,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /images/footer-bg.jpg HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/css/style.css\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:40 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"2d0f4-5aa839fc-eade0427944cefef;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 184564\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":184564,"size_decoded":184894,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1600x550, components 3","md5":"ec1fa71aca8946dae19495bf1921dbb7","sha1":"b42b8a6d72426626bfcb1098c7d14f72e187cc61","sha256":"6c8b45a75d0571ae36a24695ee8aa778d9ca68e51eefc3f7c975050a64e451ac","sha512":"7b75506d90fd261ee5faafd5e2182866b1e0ecfd8645a5c547a7063ed15a4ab0f630fa405b91b2da3e65ea028fe026ee97070486beafdb8cf137291641dc4029","ssdeep":"3072:+ygZayWGeGkLNjzQ4RvEK+JIHFdtL6og8hJr26QrVfBw2c2M4Nu:cl1ktzQyTvxGKzQ/Pk","tlshash":"d204234ed31d9660e931198341f28a2c25b2bbefd192f293e93a2e034dd55ad0737229","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.139299Z","times_seen":376,"resource_available":false,"data":"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"}},"time_used":673,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":616,"receive":57,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/9df3b67b6061ea9e.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.032Z","timestamp":1785124600032,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/9df3b67b6061ea9e.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 7736005\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"9df3b67b6061ea9e.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"c678a91c2c6476c2f4253bbb2f68861b\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/9df3b67b6061ea9e.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::qglf9-1777388594160-6b3c36de26cf\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=cN70uFy%2FUzDSDKOOrQRKLKqHhcXFlPpvkAzIjqGxllZCR68leXrLYd7D2XAz501Gvpvt%2BfvqXHEFfOtCGMAGvW85vyVz1YG52JYhqHGnziiIX9NG4Pu2UZkhMSB3\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e398e56b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":33297,"size_decoded":9767,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (19585)","md5":"c678a91c2c6476c2f4253bbb2f68861b","sha1":"69b7933df2474b5a89bafec3ed00c63e7a38fd6c","sha256":"ee32b6de09c560980545699191b3ba6ebd9847bba1e07b95f5a5ddf359bfc353","sha512":"f3ae2a1ace9a1a1c354782702e328db28abd4864d69e33e7e6e72cc82ce93e5142093752a6b82a5d21f62e953ed27f5101956c00407e5d2d9527eb36435d1584","ssdeep":"384:EjUDGGRCRvBrTfIVZ/X+0o3NkOG4+Z47auBSwTNGFJl:4vB/8Z/X+0o3KZzZ47auJG","tlshash":"dce2c7b572d5faa2139340f0c83f2017f2784c7521ac7460a7e4cc9b765888da6bafd9","first_seen":"2026-02-04T14:24:19.872146Z","last_seen":"2026-08-04T06:18:34.225513Z","times_seen":2149,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQxMDYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJJbnZhcmlhbnRFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoYEludmFyaWFudDogJHtlLmVuZHNXaXRoKCIuIik/ZTplKyIuIn0gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzLmAsdCksdGhpcy5uYW1lPSJJbnZhcmlhbnRFcnJvciJ9fX0sODQwODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0JhaWxvdXRUb0NTUkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzQmFpbG91dFRvQ1NSRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgQmFpbCBvdXQgdG8gY2xpZW50LXNpZGUgcmVuZGVyaW5nOiAke2V9YCksdGhpcy5yZWFzb249ZSx0aGlzLmRpZ2VzdD1vfX1mdW5jdGlvbiB1KGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1vfX0sNTMxMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hUVFBBY2Nlc3NFcnJvclN0YXR1czpmdW5jdGlvbigpe3JldHVybiBvfSxIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZ2V0QWNjZXNzRmFsbGJhY2tFcnJvclR5cGVCeVN0YXR1czpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcjpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPXtOT1RfRk9VTkQ6NDA0LEZPUkJJRERFTjo0MDMsVU5BVVRIT1JJWkVEOjQwMX0saT1uZXcgU2V0KE9iamVjdC52YWx1ZXMobykpLHU9Ik5FWFRfSFRUUF9FUlJPUl9GQUxMQkFDSyI7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0W3Qscl09ZS5kaWdlc3Quc3BsaXQoIjsiKTtyZXR1cm4gdD09PXUmJmkuaGFzKE51bWJlcihyKSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IilbMV0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUpe2Nhc2UgNDAxOnJldHVybiJ1bmF1dGhvcml6ZWQiO2Nhc2UgNDAzOnJldHVybiJmb3JiaWRkZW4iO2Nhc2UgNDA0OnJldHVybiJub3QtZm91bmQiO2RlZmF1bHQ6cmV0dXJufX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0OTg0MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaXNOZXh0Um91dGVyRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1lLnIoOTA4NjIpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsYS5pc1JlZGlyZWN0RXJyb3IpKGUpfHwoMCxuLmlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDM5Mjc1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIk1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMiKX19Y2xhc3MgYSBleHRlbmRzIFVSTFNlYXJjaFBhcmFtc3thcHBlbmQoKXt0aHJvdyBuZXcgbn1kZWxldGUoKXt0aHJvdyBuZXcgbn1zZXQoKXt0aHJvdyBuZXcgbn1zb3J0KCl7dGhyb3cgbmV3IG59fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMxODk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtOYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBhdGhQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFBhdGhuYW1lQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfSxSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBpLlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxTZWFyY2hQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZURldlRvb2xzSW5zdHJ1bWVudGVkUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucig3NTIwMSksaT1lLnIoMzkyNzUpLHU9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKSxzPSgwLG8uY3JlYXRlQ29udGV4dCkobnVsbCksYz0oMCxvLmNyZWF0ZUNvbnRleHQpKG51bGwpLGQ9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKTtmdW5jdGlvbiBsKGUsdCl7bGV0IHI9UHJvbWlzZS5yZXNvbHZlKHQpO3JldHVybiByLnN0YXR1cz0iZnVsZmlsbGVkIixyLnZhbHVlPXQsci5kaXNwbGF5TmFtZT1gJHtlfSAoU1NSKWAscn19LDMzOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwid29ya1VuaXRBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sMTI5NjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldENhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LGdldERyYWZ0TW9kZVByb3ZpZGVyRm9yQ2FjaGVTY29wZTpmdW5jdGlvbigpe3JldHVybiBtfSxnZXRIbXJSZWZyZXNoSGFzaDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0UmVuZGVyUmVzdW1lRGF0YUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJ1bnRpbWVTdGFnZVByb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sZ2V0U2VydmVyQ29tcG9uZW50c0htckNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGlzSG1yUmVmcmVzaDpmdW5jdGlvbigpe3JldHVybiBwfSx0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gc30sdGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sd29ya1VuaXRBc3luY1N0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gby53b3JrVW5pdEFzeW5jU3RvcmFnZUluc3RhbmNlfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucigzMzkpLGk9ZS5yKDM0NjQxKSx1PWUucig0MTA2Mik7ZnVuY3Rpb24gcyhlKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgb3V0c2lkZSBhIHJlcXVlc3Qgc2NvcGUuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1keW5hbWljLWFwaS13cm9uZy1jb250ZXh0YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyNTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gYygpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1VuaXRBc3luY1N0b3JhZ2UgdG8gaGF2ZSBhIHN0b3JlLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNjk2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJyZXF1ZXN0IjppZihlLnByZXJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGwoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJyZXF1ZXN0IjpjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjppZihlLnJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5yZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItcHByIjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU/P251bGw7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGYoZSx0KXtpZihlLmRldilzd2l0Y2godC50eXBlKXtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjpyZXR1cm4gdC5obXJSZWZyZXNoSGFzaDtjYXNlInJlcXVlc3QiOnZhciByO3JldHVybiBudWxsPT0ocj10LmNvb2tpZXMuZ2V0KGkuTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRSkpP3ZvaWQgMDpyLnZhbHVlfX1mdW5jdGlvbiBwKGUsdCl7aWYoZS5kZXYpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInJlcXVlc3QiOnJldHVybiB0LmlzSG1yUmVmcmVzaD8/ITF9cmV0dXJuITF9ZnVuY3Rpb24gaChlLHQpe2lmKGUuZGV2KXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5zZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGV9fWZ1bmN0aW9uIG0oZSx0KXtpZihlLmlzRHJhZnRNb2RlKXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5kcmFmdE1vZGV9fWZ1bmN0aW9uIHkoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIGUuY2FjaGVTaWduYWw7Y2FzZSJyZXF1ZXN0IjppZihlLmNhY2hlU2lnbmFsKXJldHVybiBlLmNhY2hlU2lnbmFsO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGIoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlO2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fX0sMTg0NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1NlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sdXNlU2VydmVySW5zZXJ0ZWRIVE1MOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9by5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gdShlKXtsZXQgdD0oMCxvLnVzZUNvbnRleHQpKGkpO3QmJnQoZSl9fSw2NTk5NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm90Rm91bmQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1gJHtuLkhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07NDA0YDtmdW5jdGlvbiBvKCl7bGV0IGU9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGEpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IGUuZGlnZXN0PWEsZX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNzc2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImBmb3JiaWRkZW4oKWAgaXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5IGFsbG93ZWQgdG8gYmUgZW5hYmxlZCB3aGVuIGBleHBlcmltZW50YWwuYXV0aEludGVycnVwdHNgIGlzIGVuYWJsZWQuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0ODgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJmb3JiaWRkZW4iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLGUucig1MzEzMykuSFRUUF9FUlJPUl9GQUxMQkFDS19FUlJPUl9DT0RFLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc5NTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbigpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYHVuYXV0aG9yaXplZCgpYCBpcyBleHBlcmltZW50YWwgYW5kIG9ubHkgYWxsb3dlZCB0byBiZSB1c2VkIHdoZW4gYGV4cGVyaW1lbnRhbC5hdXRoSW50ZXJydXB0c2AgaXMgZW5hYmxlZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQxMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuYXV0aG9yaXplZCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksZS5yKDUzMTMzKS5IVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREUsKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTg3ODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGEuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxuLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDg0MDgyKSxhPWUucig0OTg0Myk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTU1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2lzSGFuZ2luZ1Byb21pc2VSZWplY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBvfSxtYWtlRGV2dG9vbHNJT0F3YXJlUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfSxtYWtlSGFuZ2luZ1Byb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1pfWxldCBpPSJIQU5HSU5HX1BST01JU0VfUkVKRUNUSU9OIjtjbGFzcyB1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihgRHVyaW5nIHByZXJlbmRlcmluZywgJHt0fSByZWplY3RzIHdoZW4gdGhlIHByZXJlbmRlciBpcyBjb21wbGV0ZS4gVHlwaWNhbGx5IHRoZXNlIGVycm9ycyBhcmUgaGFuZGxlZCBieSBSZWFjdCBidXQgaWYgeW91IG1vdmUgJHt0fSB0byBhIGRpZmZlcmVudCBjb250ZXh0IGJ5IHVzaW5nIFxgc2V0VGltZW91dFxgLCBcYGFmdGVyXGAsIG9yIHNpbWlsYXIgZnVuY3Rpb25zIHlvdSBtYXkgb2JzZXJ2ZSB0aGlzIGVycm9yIGFuZCB5b3Ugc2hvdWxkIGhhbmRsZSBpdCBpbiB0aGF0IGNvbnRleHQuIFRoaXMgb2NjdXJyZWQgYXQgcm91dGUgIiR7ZX0iLmApLHRoaXMucm91dGU9ZSx0aGlzLmV4cHJlc3Npb249dCx0aGlzLmRpZ2VzdD1pfX1sZXQgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBjKGUsdCxyKXtpZihlLmFib3J0ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyB1KHQscikpO3tsZXQgbj1uZXcgUHJvbWlzZSgobixhKT0+e2xldCBvPWEuYmluZChudWxsLG5ldyB1KHQscikpLGk9cy5nZXQoZSk7aWYoaSlpLnB1c2gobyk7ZWxzZXtsZXQgdD1bb107cy5zZXQoZSx0KSxlLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX0se29uY2U6ITB9KX19KTtyZXR1cm4gbi5jYXRjaChkKSxufX1mdW5jdGlvbiBkKCl7fWZ1bmN0aW9uIGwoZSx0LHIpe3JldHVybiB0LnN0YWdlZFJlbmRlcmluZz90LnN0YWdlZFJlbmRlcmluZy5kZWxheVVudGlsU3RhZ2Uocix2b2lkIDAsZSk6bmV3IFByb21pc2UodD0+e3NldFRpbWVvdXQoKCk9Pnt0KGUpfSwwKX0pfX0sMTc1NTYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzUG9zdHBvbmUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPVN5bWJvbC5mb3IoInJlYWN0LnBvc3Rwb25lIik7ZnVuY3Rpb24gYShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09bn19LDkzMjEzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gaX0saXNEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iRFlOQU1JQ19TRVJWRVJfVVNBR0UiO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgRHluYW1pYyBzZXJ2ZXIgdXNhZ2U6ICR7ZX1gKSx0aGlzLmRlc2NyaXB0aW9uPWUsdGhpcy5kaWdlc3Q9b319ZnVuY3Rpb24gdShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiZGlnZXN0ImluIGUmJiJzdHJpbmciPT10eXBlb2YgZS5kaWdlc3QmJmUuZGlnZXN0PT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjQzMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17U3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzU3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89Ik5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIjtjbGFzcyBpIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoLi4uZSksdGhpcy5jb2RlPW99fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImNvZGUiaW4gZSYmZS5jb2RlPT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1MzQ1OSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17TUVUQURBVEFfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiBvfSxPVVRMRVRfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiB1fSxST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LFZJRVdQT1JUX0JPVU5EQVJZX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iX19uZXh0X21ldGFkYXRhX2JvdW5kYXJ5X18iLGk9Il9fbmV4dF92aWV3cG9ydF9ib3VuZGFyeV9fIix1PSJfX25leHRfb3V0bGV0X2JvdW5kYXJ5X18iLHM9Il9fbmV4dF9yb290X2xheW91dF9ib3VuZGFyeV9fIn0sMjQzODYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lLmkoODI2MzcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17YXRMZWFzdE9uZVRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2NoZWR1bGVJbW1lZGlhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2NoZWR1bGVPbk5leHRUaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHdhaXRBdExlYXN0T25lUmVhY3RSZW5kZXJUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIG8gaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDphW29dfSk7bGV0IGk9ZT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntuLmRlZmF1bHQubmV4dFRpY2soZSl9KX0sdT1lPT57c2V0SW1tZWRpYXRlKGUpfTtmdW5jdGlvbiBzKCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnUoZSkpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+c2V0SW1tZWRpYXRlKGUpKX19LDY3NzgxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGEsbz17UG9zdHBvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gan0sUHJlbHVkZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFp9LGFib3J0QW5kVGhyb3dPblN5bmNocm9ub3VzUmVxdWVzdERhdGFBY2Nlc3M6ZnVuY3Rpb24oKXtyZXR1cm4gU30sYWJvcnRPblN5bmNocm9ub3VzUGxhdGZvcm1JT0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBQfSxhY2Nlc3NlZER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIE59LGFubm90YXRlRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBCfSxjb25zdW1lRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBJfSxjcmVhdGVEeW5hbWljVHJhY2tpbmdTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVEeW5hbWljVmFsaWRhdGlvblN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGNyZWF0ZUhhbmdpbmdJbnB1dEFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuICR9LGNyZWF0ZVJlbmRlckluQnJvd3NlckFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIEx9LGRlbGF5VW50aWxSdW50aW1lU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZXJ9LGZvcm1hdER5bmFtaWNBUElBY2Nlc3NlczpmdW5jdGlvbigpe3JldHVybiBVfSxnZXRGaXJzdER5bmFtaWNSZWFzb246ZnVuY3Rpb24oKXtyZXR1cm4gRX0sZ2V0U3RhdGljU2hlbGxEaXNhbGxvd2VkRHluYW1pY1JlYXNvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gZXR9LGlzRHluYW1pY1Bvc3Rwb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LGlzUHJlcmVuZGVySW50ZXJydXB0ZWRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBrfSxsb2dEaXNhbGxvd2VkRHluYW1pY0Vycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIFF9LG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6ZnVuY3Rpb24oKXtyZXR1cm4gUn0scG9zdHBvbmVXaXRoVHJhY2tpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gRH0sdGhyb3dJZkRpc2FsbG93ZWREeW5hbWljOmZ1bmN0aW9uKCl7cmV0dXJuIGVlfSx0aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbjpmdW5jdGlvbigpe3JldHVybiB2fSx0cmFja0FsbG93ZWREeW5hbWljQWNjZXNzOmZ1bmN0aW9uKCl7cmV0dXJuIFl9LHRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gT30sdHJhY2tEeW5hbWljSG9sZUluUnVudGltZVNoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LHRyYWNrRHluYW1pY0hvbGVJblN0YXRpY1NoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHVzZUR5bmFtaWNSb3V0ZVBhcmFtczpmdW5jdGlvbigpe3JldHVybiBIfSx1c2VEeW5hbWljU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIFh9fTtmb3IodmFyIGkgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLHtlbnVtZXJhYmxlOiEwLGdldDpvW2ldfSk7bGV0IHU9KG49ZS5yKDc1MjAxKSkmJm4uX19lc01vZHVsZT9uOntkZWZhdWx0Om59LHM9ZS5yKDkzMjEzKSxjPWUucigxNjQzMiksZD1lLnIoMTI5NjUpLGw9ZS5yKDg5NzkxKSxmPWUucigxNTUwOCkscD1lLnIoNTM0NTkpLGg9ZS5yKDI0Mzg2KSxtPWUucig4NDA4MikseT1lLnIoNDEwNjIpLGI9ImZ1bmN0aW9uIj09dHlwZW9mIHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZTtmdW5jdGlvbiBnKGUpe3JldHVybntpc0RlYnVnRHluYW1pY0FjY2Vzc2VzOmUsZHluYW1pY0FjY2Vzc2VzOltdLHN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s6bnVsbH19ZnVuY3Rpb24gXygpe3JldHVybntoYXNTdXNwZW5zZUFib3ZlQm9keTohMSxoYXNEeW5hbWljTWV0YWRhdGE6ITEsZHluYW1pY01ldGFkYXRhOm51bGwsaGFzRHluYW1pY1ZpZXdwb3J0OiExLGhhc0FsbG93ZWREeW5hbWljOiExLGR5bmFtaWNFcnJvcnM6W119fWZ1bmN0aW9uIEUoZSl7dmFyIHQ7cmV0dXJuIG51bGw9PSh0PWUuZHluYW1pY0FjY2Vzc2VzWzBdKT92b2lkIDA6dC5leHByZXNzaW9ufWZ1bmN0aW9uIFIoZSx0LHIpe2lmKHQpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59aWYoIWUuZm9yY2VEeW5hbWljJiYhZS5mb3JjZVN0YXRpYyl7aWYoZS5keW5hbWljU2hvdWxkRXJyb3IpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlLnJvdXRlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcYCR7cn1cYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlci1wcHIiOnJldHVybiBEKGUucm91dGUscix0LmR5bmFtaWNUcmFja2luZyk7Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp0LnJldmFsaWRhdGU9MDtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke2Uucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7cn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU1MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aHJvdyBlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uPXIsZS5keW5hbWljVXNhZ2VTdGFjaz1uLnN0YWNrLG59fX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke3Qucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIFxgJHtlfVxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2R5bmFtaWMtc2VydmVyLWVycm9yYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7dGhyb3cgci5yZXZhbGlkYXRlPTAsdC5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbj1lLHQuZHluYW1pY1VzYWdlU3RhY2s9bi5zdGFjayxufWZ1bmN0aW9uIE8oZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59fWZ1bmN0aW9uIHcoZSx0LHIpe2xldCBuPUMoYFJvdXRlICR7ZX0gbmVlZHMgdG8gYmFpbCBvdXQgb2YgcHJlcmVuZGVyaW5nIGF0IHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB1c2VkICR7dH0uYCk7ci5jb250cm9sbGVyLmFib3J0KG4pO2xldCBhPXIuZHluYW1pY1RyYWNraW5nO2EmJmEuZHluYW1pY0FjY2Vzc2VzLnB1c2goe3N0YWNrOmEuaXNEZWJ1Z0R5bmFtaWNBY2Nlc3Nlcz9FcnJvcigpLnN0YWNrOnZvaWQgMCxleHByZXNzaW9uOnR9KX1mdW5jdGlvbiBQKGUsdCxyLG4pe2xldCBhPW4uZHluYW1pY1RyYWNraW5nO3coZSx0LG4pLGEmJm51bGw9PT1hLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2smJihhLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s9cil9ZnVuY3Rpb24gUyhlLHQscixuKXtpZighMT09PW4uY29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7dyhlLHQsbik7bGV0IGE9bi5keW5hbWljVHJhY2tpbmc7YSYmbnVsbD09PWEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayYmKGEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaz1yKX10aHJvdyBDKGBSb3V0ZSAke2V9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke3R9LmApfWZ1bmN0aW9uIGooe3JlYXNvbjplLHJvdXRlOnR9KXtsZXQgcj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7RCh0LGUsciYmInByZXJlbmRlci1wcHIiPT09ci50eXBlP3IuZHluYW1pY1RyYWNraW5nOm51bGwpfWZ1bmN0aW9uIEQoZSx0LHIpeyhmdW5jdGlvbigpe2lmKCFiKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiBSZWFjdC51bnN0YWJsZV9wb3N0cG9uZSBpcyBub3QgZGVmaW5lZC4gVGhpcyBzdWdnZXN0cyB0aGUgd3JvbmcgdmVyc2lvbiBvZiBSZWFjdCB3YXMgbG9hZGVkLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX0pKCksciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246dH0pLHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShUKGUsdCkpfWZ1bmN0aW9uIFQoZSx0KXtyZXR1cm5gUm91dGUgJHtlfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHt0fS4gUmVhY3QgdGhyb3dzIHRoaXMgc3BlY2lhbCBvYmplY3QgdG8gaW5kaWNhdGUgd2hlcmUuIEl0IHNob3VsZCBub3QgYmUgY2F1Z2h0IGJ5IHlvdXIgb3duIHRyeS9jYXRjaC4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHByLWNhdWdodC1lcnJvcmB9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZSYmQShlLm1lc3NhZ2UpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuaW5jbHVkZXMoIm5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCIpJiZlLmluY2x1ZGVzKCJMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcHItY2F1Z2h0LWVycm9yIil9aWYoITE9PT1BKFQoIiUlJSIsIl5eXiIpKSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogaXNEeW5hbWljUG9zdHBvbmUgbWlzaWRlbnRpZmllZCBhIHBvc3Rwb25lIHJlYXNvbi4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyOTYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IE09Ik5FWFRfUFJFUkVOREVSX0lOVEVSUlVQVEVEIjtmdW5jdGlvbiBDKGUpe2xldCB0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihlKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gdC5kaWdlc3Q9TSx0fWZ1bmN0aW9uIGsoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS5kaWdlc3Q9PT1NJiYibmFtZSJpbiBlJiYibWVzc2FnZSJpbiBlJiZlIGluc3RhbmNlb2YgRXJyb3J9ZnVuY3Rpb24gTihlKXtyZXR1cm4gZS5sZW5ndGg+MH1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUuZHluYW1pY0FjY2Vzc2VzLnB1c2goLi4udC5keW5hbWljQWNjZXNzZXMpLGUuZHluYW1pY0FjY2Vzc2VzfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGUuZmlsdGVyKGU9PiJzdHJpbmciPT10eXBlb2YgZS5zdGFjayYmZS5zdGFjay5sZW5ndGg+MCkubWFwKCh7ZXhwcmVzc2lvbjplLHN0YWNrOnR9KT0+KHQ9dC5zcGxpdCgiXG4iKS5zbGljZSg0KS5maWx0ZXIoZT0+IShlLmluY2x1ZGVzKCJub2RlX21vZHVsZXMvbmV4dC8iKXx8ZS5pbmNsdWRlcygiICg8YW5vbnltb3VzPikiKXx8ZS5pbmNsdWRlcygiIChub2RlOiIpKSkuam9pbigiXG4iKSxgRHluYW1pYyBBUEkgVXNhZ2UgRGVidWcgLSAke2V9Ogoke3R9YCkpfWZ1bmN0aW9uIEwoKXtsZXQgZT1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiBlLmFib3J0KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgbS5CYWlsb3V0VG9DU1JFcnJvcigiUmVuZGVyIGluIEJyb3dzZXIiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTcyMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSksZS5zaWduYWx9ZnVuY3Rpb24gJChlKXtzd2l0Y2goZS50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6bGV0IHQ9bmV3IEFib3J0Q29udHJvbGxlcjtpZihlLmNhY2hlU2lnbmFsKWUuY2FjaGVTaWduYWwuaW5wdXRSZWFkeSgpLnRoZW4oKCk9Pnt0LmFib3J0KCl9KTtlbHNle2xldCByPSgwLGQuZ2V0UnVudGltZVN0YWdlUHJvbWlzZSkoZSk7cj9yLnRoZW4oKCk9PigwLGguc2NoZWR1bGVPbk5leHRUaWNrKSgoKT0+dC5hYm9ydCgpKSk6KDAsaC5zY2hlZHVsZU9uTmV4dFRpY2spKCgpPT50LmFib3J0KCkpfXJldHVybiB0LnNpZ25hbDtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6cmV0dXJufX1mdW5jdGlvbiBCKGUsdCl7bGV0IHI9dC5keW5hbWljVHJhY2tpbmc7ciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246ZX0pfWZ1bmN0aW9uIEgoZSl7bGV0IHQ9bC53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCkscj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodCYmcilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyIjp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO24mJm4uc2l6ZT4wJiZ1LmRlZmF1bHQudXNlKCgwLGYubWFrZUhhbmdpbmdQcm9taXNlKShyLnJlbmRlclNpZ25hbCx0LnJvdXRlLGUpKTticmVha31jYXNlInByZXJlbmRlci1wcHIiOntsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobiYmbi5zaXplPjApcmV0dXJuIEQodC5yb3V0ZSxlLHIuZHluYW1pY1RyYWNraW5nKTticmVha31jYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHkuSW52YXJpYW50RXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgZHVyaW5nIGEgcnVudGltZSBwcmVyZW5kZXIuIE5leHQuanMgc2hvdWxkIGJlIHByZXZlbnRpbmcgJHtlfSBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHNlcnZlciBjb21wb25lbnRzIHN0YXRpY2FsbHksIGJ1dCBkaWQgbm90IGluIHRoaXMgY2FzZS5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBpbnNpZGUgYSBjYWNoZSBzY29wZS4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzQ1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX1mdW5jdGlvbiBYKGUpe2xldCB0PWwud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpLHI9ZC53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHQpc3dpdGNoKCFyJiYoMCxkLnRocm93Rm9yTWlzc2luZ1JlcXVlc3RTdG9yZSkoZSksci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOnUuZGVmYXVsdC51c2UoKDAsZi5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsZSkpO2JyZWFrO2Nhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJwcmVyZW5kZXItcHByIjppZih0LmZvcmNlU3RhdGljKXJldHVybjt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IG0uQmFpbG91dFRvQ1NSRXJyb3IoZSksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBmcm9tIGEgU2VydmVyIENvbXBvbmVudC4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBcYCR7ZX1cYCB3YXMgY2FsbGVkIGluc2lkZSBhIGNhY2hlIHNjb3BlLiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZX0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm59fWxldCBGPS9cblxzK2F0IFN1c3BlbnNlIFwoPGFub255bW91cz5cKS8sVz1SZWdFeHAoYFxcblxccythdCBTdXNwZW5zZSBcXCg8YW5vbnltb3VzPlxcKSg/Oig/IVxcblxccythdCAoPzpib2R5fGRpdnxtYWlufHNlY3Rpb258YXJ0aWNsZXxhc2lkZXxoZWFkZXJ8Zm9vdGVyfG5hdnxmb3JtfHB8c3BhbnxoMXxoMnxoM3xoNHxoNXxoNikgXFwoPGFub255bW91cz5cXCkpW1xcc1xcU10pKj9cXG5cXHMrYXQgJHtwLlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUV9IFxcKFteXFxuXSpcXClgKSxxPVJlZ0V4cChgXFxuXFxzK2F0ICR7cC5NRVRBREFUQV9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCksRz1SZWdFeHAoYFxcblxccythdCAke3AuVklFV1BPUlRfQk9VTkRBUllfTkFNRX1bXFxuXFxzXWApLHo9UmVnRXhwKGBcXG5cXHMrYXQgJHtwLk9VVExFVF9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCk7ZnVuY3Rpb24gWShlLHQscixuKXtpZighei50ZXN0KHQpKXtpZihxLnRlc3QodCkpe3IuaGFzRHluYW1pY01ldGFkYXRhPSEwO3JldHVybn1pZihHLnRlc3QodCkpe3IuaGFzRHluYW1pY1ZpZXdwb3J0PSEwO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIDxTdXNwZW5zZT4uIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIFYoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFVuY2FjaGVkIGRhdGEgb3IgXGBjb25uZWN0aW9uKClcYCB3YXMgYWNjZXNzZWQgaW5zaWRlIFxgZ2VuZXJhdGVNZXRhZGF0YVxgLiBFeGNlcHQgZm9yIHRoaXMgaW5zdGFuY2UsIHRoZSBwYWdlIHdvdWxkIGhhdmUgYmVlbiBlbnRpcmVseSBwcmVyZW5kZXJhYmxlIHdoaWNoIG1heSBoYXZlIGJlZW4gdGhlIGludGVuZGVkIGJlaGF2aW9yLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtbWV0YWRhdGFgLHQpO3JldHVybn1pZihHLnRlc3QodCkpe2xldCBuPUooYFJvdXRlICIke2Uucm91dGV9IjogVW5jYWNoZWQgZGF0YSBvciBcYGNvbm5lY3Rpb24oKVxgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIG9yIFxgY29ubmVjdGlvbigpXGAgd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgXGA8U3VzcGVuc2U+XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIEsoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFJ1bnRpbWUgZGF0YSBzdWNoIGFzIFxgY29va2llcygpXGAsIFxgaGVhZGVycygpXGAsIFxgcGFyYW1zXGAsIG9yIFxgc2VhcmNoUGFyYW1zXGAgd2FzIGFjY2Vzc2VkIGluc2lkZSBcYGdlbmVyYXRlTWV0YWRhdGFcYCBvciB5b3UgaGF2ZSBmaWxlLWJhc2VkIG1ldGFkYXRhIHN1Y2ggYXMgaWNvbnMgdGhhdCBkZXBlbmQgb24gZHluYW1pYyBwYXJhbXMgc2VnbWVudHMuIEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWAsdCk7cmV0dXJufWlmKEcudGVzdCh0KSl7bGV0IG49SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIFxgPFN1c3BlbnNlPlxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ibG9ja2luZy1yb3V0ZWAsdCk7cmV0dXJuIHZvaWQgci5keW5hbWljRXJyb3JzLnB1c2goYSl9fX1mdW5jdGlvbiBKKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGUpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiByLnN0YWNrPXIubmFtZSsiOiAiK2UrdCxyfXZhciBaPSgoYT17fSlbYS5GdWxsPTBdPSJGdWxsIixhW2EuRW1wdHk9MV09IkVtcHR5IixhW2EuRXJyb3JlZD0yXT0iRXJyb3JlZCIsYSk7ZnVuY3Rpb24gUShlLHQpe2NvbnNvbGUuZXJyb3IodCksZS5kZXZ8fChlLmhhc1JlYWRhYmxlRXJyb3JTdGFja3M/Y29uc29sZS5lcnJvcihgVG8gZ2V0IGEgbW9yZSBkZXRhaWxlZCBzdGFjayB0cmFjZSBhbmQgcGlucG9pbnQgdGhlIGlzc3VlLCBzdGFydCB0aGUgYXBwIGluIGRldmVsb3BtZW50IG1vZGUgYnkgcnVubmluZyBcYG5leHQgZGV2XGAsIHRoZW4gb3BlbiAiJHtlLnJvdXRlfSIgaW4geW91ciBicm93c2VyIHRvIGludmVzdGlnYXRlIHRoZSBlcnJvci5gKTpjb25zb2xlLmVycm9yKGBUbyBnZXQgYSBtb3JlIGRldGFpbGVkIHN0YWNrIHRyYWNlIGFuZCBwaW5wb2ludCB0aGUgaXNzdWUsIHRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKICAtIFN0YXJ0IHRoZSBhcHAgaW4gZGV2ZWxvcG1lbnQgbW9kZSBieSBydW5uaW5nIFxgbmV4dCBkZXZcYCwgdGhlbiBvcGVuICIke2Uucm91dGV9IiBpbiB5b3VyIGJyb3dzZXIgdG8gaW52ZXN0aWdhdGUgdGhlIGVycm9yLgogIC0gUmVydW4gdGhlIHByb2R1Y3Rpb24gYnVpbGQgd2l0aCBcYG5leHQgYnVpbGQgLS1kZWJ1Zy1wcmVyZW5kZXJcYCB0byBnZW5lcmF0ZSBiZXR0ZXIgc3RhY2sgdHJhY2VzLmApKX1mdW5jdGlvbiBlZShlLHQscixuKXtpZihuLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spdGhyb3cgUShlLG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yO2lmKDAhPT10KXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybjtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MCl7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspUShlLG5bdF0pO3Rocm93IG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcn1pZihyLmhhc0R5bmFtaWNWaWV3cG9ydCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZVZpZXdwb3J0XGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aXRob3V0IGV4cGxpY2l0bHkgYWxsb3dpbmcgZnVsbHkgZHluYW1pYyByZW5kZXJpbmcuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy12aWV3cG9ydGApLG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcjtpZigxPT09dCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMuYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWVsc2UgaWYoITE9PT1yLmhhc0FsbG93ZWREeW5hbWljJiZyLmhhc0R5bmFtaWNNZXRhZGF0YSl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZU1ldGFkYXRhXGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aGVuIHRoZSByZXN0IG9mIHRoZSByb3V0ZSBkb2VzIG5vdC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXByZXJlbmRlci1keW5hbWljLW1ldGFkYXRhYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWZ1bmN0aW9uIGV0KGUsdCxyKXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybltdO2lmKDAhPT10KXtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MClyZXR1cm4gbjtpZigxPT09dClyZXR1cm5bT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFOTM2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pXX1lbHNlIGlmKCExPT09ci5oYXNBbGxvd2VkRHluYW1pYyYmMD09PXIuZHluYW1pY0Vycm9ycy5sZW5ndGgmJnIuZHluYW1pY01ldGFkYXRhKXJldHVybltyLmR5bmFtaWNNZXRhZGF0YV07cmV0dXJuW119ZnVuY3Rpb24gZXIoZSx0KXtyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlP2UucnVudGltZVN0YWdlUHJvbWlzZS50aGVuKCgpPT50KTp0fX0sNTIzMDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGkuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxvLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpfHwoMCxzLmlzRHluYW1pY1NlcnZlckVycm9yKSh0KXx8KDAsdS5pc0R5bmFtaWNQb3N0cG9uZSkodCl8fCgwLGEuaXNQb3N0cG9uZSkodCl8fCgwLG4uaXNIYW5naW5nUHJvbWlzZVJlamVjdGlvbkVycm9yKSh0KXx8KDAsdS5pc1ByZXJlbmRlckludGVycnVwdGVkRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDE1NTA4KSxhPWUucigxNzU1Niksbz1lLnIoODQwODIpLGk9ZS5yKDQ5ODQzKSx1PWUucig2Nzc4MSkscz1lLnIoOTMyMTMpOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYyOTU5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnN0YWJsZV9yZXRocm93Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNTIzMDUpLnVuc3RhYmxlX3JldGhyb3c6ZS5yKDE4NzgyKS51bnN0YWJsZV9yZXRocm93OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMyNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1JlYWRvbmx5VVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIG8uUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXN9LFJlZGlyZWN0VHlwZTpmdW5jdGlvbigpe3JldHVybiB1LlJlZGlyZWN0VHlwZX0sZm9yYmlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuIGMuZm9yYmlkZGVufSxub3RGb3VuZDpmdW5jdGlvbigpe3JldHVybiBzLm5vdEZvdW5kfSxwZXJtYW5lbnRSZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnBlcm1hbmVudFJlZGlyZWN0fSxyZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnJlZGlyZWN0fSx1bmF1dGhvcml6ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gZC51bmF1dGhvcml6ZWR9LHVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sdW5zdGFibGVfcmV0aHJvdzpmdW5jdGlvbigpe3JldHVybiBsLnVuc3RhYmxlX3JldGhyb3d9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDM5Mjc1KSxpPWUucig0MTcyMSksdT1lLnIoOTA4NjIpLHM9ZS5yKDY1OTk1KSxjPWUucigxNzc2MiksZD1lLnIoNzk1MzkpLGw9ZS5yKDYyOTU5KTtmdW5jdGlvbiBmKCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJgdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcmAgY2FuIG9ubHkgYmUgdXNlZCBvbiB0aGUgY2xpZW50LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzc2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI4OTk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB1LlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbC5SZWRpcmVjdFR5cGV9LFNlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5TZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0fSxmb3JiaWRkZW46ZnVuY3Rpb24oKXtyZXR1cm4gbC5mb3JiaWRkZW59LG5vdEZvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuIGwubm90Rm91bmR9LHBlcm1hbmVudFJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucGVybWFuZW50UmVkaXJlY3R9LHJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVkaXJlY3R9LHVuYXV0aG9yaXplZDpmdW5jdGlvbigpe3JldHVybiBsLnVuYXV0aG9yaXplZH0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBkLnVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3J9LHVuc3RhYmxlX3JldGhyb3c6ZnVuY3Rpb24oKXtyZXR1cm4gbC51bnN0YWJsZV9yZXRocm93fSx1c2VQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdXNlUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sdXNlUm91dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVzZVNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBofSx1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gX30sdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50czpmdW5jdGlvbigpe3JldHVybiBnfSx1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6ZnVuY3Rpb24oKXtyZXR1cm4gYy51c2VTZXJ2ZXJJbnNlcnRlZEhUTUx9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDE2ODcyKSx1PWUucigzMTg5OSkscz1lLnIoMjc0NTQpLGM9ZS5yKDE4NDYyKSxkPWUucig3NTA1MSksbD1lLnIoMzI1MiksZj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNSb3V0ZVBhcmFtczp2b2lkIDAscD0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNTZWFyY2hQYXJhbXM6dm9pZCAwO2Z1bmN0aW9uIGgoKXtwPy4oInVzZVNlYXJjaFBhcmFtcygpIik7bGV0IGU9KDAsby51c2VDb250ZXh0KSh1LlNlYXJjaFBhcmFtc0NvbnRleHQpO3JldHVybigwLG8udXNlTWVtbykoKCk9PmU/bmV3IHUuUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoZSk6bnVsbCxbZV0pfWZ1bmN0aW9uIG0oKXtyZXR1cm4gZj8uKCJ1c2VQYXRobmFtZSgpIiksKDAsby51c2VDb250ZXh0KSh1LlBhdGhuYW1lQ29udGV4dCl9ZnVuY3Rpb24geSgpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5BcHBSb3V0ZXJDb250ZXh0KTtpZihudWxsPT09ZSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBleHBlY3RlZCBhcHAgcm91dGVyIHRvIGJlIG1vdW50ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiBiKCl7cmV0dXJuIGY/LigidXNlUGFyYW1zKCkiKSwoMCxvLnVzZUNvbnRleHQpKHUuUGF0aFBhcmFtc0NvbnRleHQpfWZ1bmN0aW9uIGcoZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMoKSIpO2xldCB0PSgwLG8udXNlQ29udGV4dCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtyZXR1cm4gdD8oMCxzLmdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgpKHQucGFyZW50VHJlZSxlKTpudWxsfWZ1bmN0aW9uIF8oZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCgpIiksKDAsby51c2VDb250ZXh0KSh1Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpO2xldCB0PWcoZSk7cmV0dXJuKDAscy5jb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KSh0LGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/NZ.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.481Z","timestamp":1785124600481,"http_version":"HTTP/2","security_state":"secure","security_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 /country/NZ.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 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: \"5a0f74e16a6666e570491716f8789d90\"\r\nlast-modified: Wed, 20 Dec 2023 06:32:12 GMT\r\ncdn-cachedat: 08/14/2025 09:09:50\r\nx-amz-id-2: N/ssS1yQrIwyVRruwXzKYQq7p+abqRNv1ziIc+xu2gFI/3VSbIsmvpITQTt8qmGrXlSXyZI5ilk=\r\nx-amz-request-id: SKM9CRTCZWDD11DN\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 5a0f74e16a6666e570491716f8789d90\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: 43217cf070538b7778bd87ec4b5f03f8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":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":787,"size_decoded":1306,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (787), with no line terminators","md5":"5a0f74e16a6666e570491716f8789d90","sha1":"30ef3c67bbc2178d38d8c80f916604c7880135b6","sha256":"e99a9149573a35adb03587a50c3af9c0ef7287b7dda403619c23052b782f5311","sha512":"73d509f5e2f359d1c6dbe822a707209c049e0c439dee66ee051fbee68dc2604d1b8b0fecaef061ff987d6394356cfa5d7d419bccf0d7cfcc98c8d8fd130e3661","ssdeep":"","tlshash":"6e016bc1b124c307cd52c21de1781230a06d11d6b0ed55d968e3b75e251fad5fee417c","first_seen":"2023-12-22T15:34:58Z","last_seen":"2026-08-02T16:38:39.037135Z","times_seen":1805,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wIDE4aDE4VjBIMHYxOHoiIGZpbGw9IiMwRDQ3QTEiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPjxwYXRoIGQ9Ik0xMSA4LjEzbC4yNS41Mi41Ni0uMTMtLjI1LjUxLjQ1LjM2LS41Ni4xMnYuNThMMTEgOS43M2wtLjQ0LjM2VjkuNUwxMCA5LjRsLjQ1LS4zNi0uMjUtLjUxLjU2LjEzLjI0LS41MnpNMTMgMTIuMTNsLjI1LjUyLjU2LS4xMy0uMjUuNTEuNDUuMzYtLjU2LjEydi41OGwtLjQ1LS4zNi0uNDQuMzZ2LS41OEwxMiAxMy40bC40NS0uMzYtLjI1LS41MS41Ni4xMy4yNC0uNTJ6TTEzLjMgNWwuMjUuNTIuNTYtLjEzLS4yNS41MS40NC4zNi0uNTUuMTJ2LjU4bC0uNDUtLjM2LS40NS4zNnYtLjU4bC0uNTUtLjEyLjQ1LS4zNi0uMjUtLjUxLjU1LjEzLjI1LS41MnpNMTUuMyA4LjM1bC4yNS41MS41Ni0uMTItLjI1LjUxLjQ1LjM2LS41Ni4xMnYuNTdsLS40NC0uMzUtLjQ1LjM1di0uNTdsLS41Ni0uMTIuNDUtLjM2LS4yNS0uNTEuNTYuMTIuMjUtLjUxeiIgZmlsbD0iI0VGNTM1MCIvPjxwYXRoIGQ9Ik05IDRWMEgwdjloNFY2bDMgM2gyVjdMNiA0aDN6IiBmaWxsPSIjRjhGOUZEIi8+PHBhdGggZD0iTTMgMVYwSDF2MUgwdjJoMXY2aDJWM2g2VjFIM3oiIGZpbGw9IiNFRjUzNTAiLz48cGF0aCBkPSJNOSA4TDUgNEg0bDUgNVY4eiIgZmlsbD0iI0VGNTM1MCIvPjwvc3ZnPg=="}},"time_used":72,"timings":{"blocked":35,"dns":1,"connect":4,"send":0,"wait":2,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/images/slider/bg4.jpg","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:41.766Z","timestamp":1785124601766,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /images/slider/bg4.jpg HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 18 Oct 2022 09:35:43 GMT\r\netag: \"c9c85-634e736f-d4ac3eaaf812915f;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 826501\r\ndate: Mon, 27 Jul 2026 03:56:41 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":826501,"size_decoded":826831,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=7, orientation=upper-left, xresolution=98, yresolution=106, resolutionunit=2, software=Adobe Photoshop CS6 (Windows), datetime=2022:10:18 04:04:00], progressive, precision 8, 2426x1728, components 3","md5":"1ce3cbca153469673b0da7bddccac8e3","sha1":"953d9a395d5031cf5513792577160c959b949db6","sha256":"73988084b444d0263a802409e4e25cdf79065a4cd4190d32479f5db8a1d42d2d","sha512":"3b94e24b649148b07ef39f7499f3e634438e19cbb9f9d437764607dc31d949026b1f967f11bb6a20268dd110e359125acfeb5c28943b02b2612e5a03e163b4d0","ssdeep":"24576:VEyzYRj6pXEeSOWQMxNnrtIk5lsIvilnL:iyp0eGQqv/5lsqiB","tlshash":"c20533cb3d1bc951e844823ddaa1a0a406502e3cc0dcbe6af59fb1766b383f95f5e149","first_seen":"2026-07-27T03:16:24.59854Z","last_seen":"2026-07-27T03:58:10.318411Z","times_seen":3,"resource_available":false,"data":"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AAEAAThCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAHjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTScQAAAAAAAKAAEAAAAAAAAAAThCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADdQAAAAYAAAAAAAAAAAAABsAAAAl6AAAAIABjAGEAcgBsAG8AcwAtAG0AdQB6AGEALQBoAHAAagBTAGsAVQAyAFUAWQBTAFUALQB1AG4AcwBwAGwAYQBzAGgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAACXoAAAbAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAbAAAAAAFJnaHRsb25nAAAJegAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAGwAAAAABSZ2h0bG9uZwAACXoAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEAAAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAAB2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAtiZ0NvbG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25nAAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmlnaHRPdXRzZXRsb25nAAAAAAA4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBBQAAAAAAAQAAAABOEJJTQQMAAAAABQMAAAAAQAAAKAAAAByAAAB4AAA1cAAABPwABgAAf/Y/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAByAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwDns7qmPgXNpuZY5zmCyWgRtdOz6Tm/uoTOu9McdXWM/rVn/vm9T+sDKqz0zqVtTb6qLHY2RU/6LmA/aqmu/rMtyWf9aRQPqXkuDRRThGC4vstyGifbtYAz973e5E/y0UZUwb1TpjuMlg/rbm/9W0IjcjFs+hfU74Pb/ekOifVjIIbRk073QA1mbtJJ+iGtvpuU7vqTibg2uy9s9nGhxn+2MdL+WxKvcHZpdWZOKIE++ZGv5FmBscrcZ9Qssgmu66sjxoDv+niZNv8A1KDb9UOt1HTJd5b6spo+/wBC5iaY31rz0XxzRDkMY3YCT+KUVDwVyzonWKZm7HdHO5wZ/wC3NNKkegfWdrBYMAXMd9F9RrsB/qnHuTRAnYiXkbXjNBo7m9hPwCaXH80q0/p/Xq9belZAA5Iqtj/oixVrLL6v57Ftr+LXD/q62pcEh0T7kD1Wh0fRHzKiQ7c0mPpDhKu71t2zTbyHc6pyHbmyRG4aBCiN11gixqkdoYVRn847+uPyq48HcqbRFjv64SgtyfxdrLB9YT+4CFX9P/JOUf8Ah6/yOVrNP60B29NqGwf5Kyx/w1U/9JPy/L/hR/6TFj3+kvycY1AFXKcXdQ15ZJPdBfyfguq6LVWel07mh24HlBBcBmNPDR9yg3HIy7BEe0LsMXold+P6v0XFx0WBmY32bq99JO7a1pn4ojda/wD/0MrqmN9p6PnUAS5lYyq/62Od9n/spZlLAxhS/pNlw6jbVl1NcRjlx9NzWuYxlDBO71Lq7LLKn/zf6H0NjP5xddjmuu+t1omrdttHjW/9FcP+2XvXEHH+w51+BkMZY7GudS8vBMbHOq9uyyn2v+n9NPjv5qkyya8mwm45DMh1bZbYH1hw2+5u1gfud+97V6PjdRwnYOJkvf6bMyluQJlwl5/WP3v5vI9Vu3cvMrahW+AQ4HUER93tfb9H+svQvqBlsyOg2Yrhuswb3Ma2dvsv/T16/wDGeu1SLC7HpY/ojIBYaiA4PDQBtP52u1PTWyyXUkew7XbTBBHId6bldrqEFnpOa3sCdwP8nX6Ki3DqaQ8VbXMMtALeT9JySGqH2OO1tz58N7x32/nFCtrcdHOk/wAqHfi9jldf0/HscbXVHeHSNGkzzvbq5qhk9Nx8oA3tLiABJ0PO737D+/7klC+rnFuVS72loHg4tadP6jEvX6iGwHFgOgc17jE/nN3Oa32q7d09llTanOIDNGFvtIEent9v8hD/AGfFPpbtzQ7c0mSQZ3fScXe1BLxP1qwsqvIxs++513q/qtljmtbBM2VfzX0vdvWG6i4kbA55kQGtJ/Iu/wCrdEfkdEy8Jjza8tNtBcZcLK/0jAHfytmz+2uD9fJsqrtZkWNY+Pa0wAT9If5yhyAAg/2s2ImjEebdr6L1G7p13UGNYa8aTdXvAua0GHWmj6exqyrW1tDHMfuc/wB1g/dMxtW9j9N6qOkZGTQG+jcHG21389ZW0/pG7/8ARLnj/hPJwTBXRklda112djMdORP/AAbUzAR0zK8PVq/78oZDpukf6NoRW/8AJeUfB9X5SnZfl+sf+kxY/m+kv+i5Lu667ojT+y8f5/lXJOGpXW/Vxxf02udQ18D4aIBEnqa62MoaGCBE/NcT1iP+cOR/Uauy6iHU/WivGY4il2C2ws7btzm7lxnWtPrHkD+Q1O2K3o//0a5aCCDweVzv1opazrlOW8bq+oU12PBdsBsb+p5G6zXZ+mo9Z/8Axi6XafArJ+t2KbuiVZAB3YORtP8AxeS3/qW5GL/4MnXWqSNHnslzrAH72ua0at9auxxd9Fz2tY2qza79zY9b/wDi9z/R667DcSK+oUur/wCuVfrFB/zW3M/trDNbspjXEXvDgLCW108ulrzva6t+z1G2bGOUMe+zpfUqcpjXh2Hay5rXgNcQ0h/uDS5vvYpFlPr9XU6iL2WaZGM7a+sH6QP81bX/ACHtd+k/0SkzqOP9nsvtPpikbrG8mPojZ+/ud7Fzv1oZczPxs3D3llrN7LKwXGRGwnaD9Omxv0vprPyeo9RyKmVnGe0tcHWObXZD4+i3Zt9jU6mCWSQlXQPa4mbjZlPrY7tzQYc0iHNP7r2fmrL+sGZk42Rhux3lhAe4ifa4yxu21v57NqwsTqGbhWfaMbHuL3Da+k1v1af3vZ+Z9Op/76l1XPzcu2kspyLq62Gd1Lw4Fx3bfofm7UqAPgk5NK1t6H9q12Cq2ts0vaDYPzmO/Pr/AOt/9NLOczYy8Php03eqammdW8NfuXLYN+fRkPL8XINFxAeBU8lpHtbYPZ/24t3DyHkHHJsZXZqywNI2u55sZt22fykCiM5EkHY7N2mw+m1+4uJ90l4f/mv217mLzfq+CMHq2ZiAQxlovo8PTuO/aP8Ai3+xeiN9ZjDIssMz73MmI/eaGsXL/XbEAfh9SAiD9mvP8l/6Skn+paHpmQXEtjFKpBy39b6jV053SmWAYrpkR7gHfTY1/wC45YZ/wp7AhXbwQ+CqZ4uHmq8dm1kGv1P5N8tdYd44DQCrDQ89KzA0bodUTGvdVce1vpvG7WOFYofYzpma+t5Y8ekZH9ZOy/J9Y/8ASYMfz/SX/Rc70ch3FTz/AGStbpvVc3p+M3GbgPsj3bzI5WQc7PJ1yLPvXQ9HwsbM6cy+8vfaS4OO93ZNHH4JlweLq4n1js6r19mfnY37PqqxRQNztwcQS7cue6g/PyOoX5jq2F5cWNLSA1zQf0bhJ/dXTM6R0Z/TX3MxWuta10FznE7gPiuEDmuD3ObBDDprEpxEz1H2LQYdifq//9LgftWU7m+w/wBoq50k2ZN2R0973WftDGtpY1zif0rB9tw4n852Ti11f9dWWHI2Nl2YeRTmVfzmLYy5nxrcLR/1KIUhx66bWAue2vWPcx7uR9L9Eyz+on+jLQPbrGhEjxhyuZ9DMDrObjUEtoDzZj7bPS/RO/WcZ+//AMK2fo/5diFkuaWgu91h9rXnJbcQPpasa1SDZaX0v6o9Qdk/VzDuEvtxgcSwt+kPSOxn8r+YdStkPvJD3NIdGjtzSf6nG5cT/i4y5Of01ziN7WZVUEgy0+hft2Fru+OurzRm1vaMf1nVuZJDMa3IIMw7c/7XQyvd/g60VpNNybd27dBOhdOseH0VFz7w6Ggu3cu3RqP3vY7+yljtyGUNba/e867jX6cbtWtdUbbXbmfn/pFW6pnnA6XdmOqNzmBrRUfYHPe9uO3fBfsr3P3fSRiCSANyaVelpx63HHJMEnX/ADWINos2QDPIDdQ3yCqjIzC84vVMSnHyqvobXC2qxrvb+russrdW+uxvo31Wb/f/ADSsAVw19YbLhDnNbtkgbm/2dESFIz60awJ7S4n/AMiqPWcD9odNycSZdbWfT50sb+kqPP77VbdFd3tgNedRp3+iY3N939hCdvrvEMscG8Hc4iT+d7n7f7PpoUp88a718eq4/SIhw8HD2uVKPfkfAFbfVcQYfWczEaIrtIyqB/Js/nGj+pb7VjubF14/khVKqUg3b4scZfQ/4rXxmF95bu2ggyStfDY5nTOoMc8PhtZEf1ljVseXOc3hvPzWp0wO+w9RB/0TD/0kcvyfWP8A04sOP5/pL/olpGFu9G6rj4WH9ncNx3Tu4GqwitLF3Do7mFrdbAS4j3aeaMVs3rejZldmNZU/RxeZb5ELj8rEazqeXisMt9235+5Er6vlY17a64LHEbig57LvtrjWIfYC5PWv/9PzgApwFojo+R+/X95T/si/vZX+KKqYdRcXY/SuojaXGk4tpIDv0mG70m7mO9r/ANRswvpIP2qtlZFd0uHtaPs1Q0+j7rfc/d6fu/r/APbi1MPEx20jD6mHWYQvbkTjkCxp2+jksZ6u1m3Io2fney6iladvSfqDUxrvtGfUXMLtWstAcQCxrvQFm3+Wni9aQR3cL6tdYp6R1rGzrd5oZvZe1glxre0sdtaS3c5rtj112R9fvqza6ouwMm/0Hl9ZfXW3aSPpMnIdtfvaxZtPS/8AF5Y94/bNlTQRsN1LxIgTPsbs925XK/qr9Tbx+rfWPFk8by1h/wDBClZ8EEA7s7f8ZuCP5vplzvN9tbf+prsVLI/xhDJpuxndGrfj5ALbKn3OMh3059Gmt2/d7960m/4vca3XD61jWHtttZ/31rknf4sOskONWVVa13YPn/vqVyHWlUHn6vrl19t3rGpt7mVmqv1g92xpIdP6M0b3+zbvf9NT/wCef1l2lrK8asEh38yO3/G2uWuf8WfXKyC6o2EfnNtZPM9wnb/i56xtc77C4juDcwEx+63c1Cz3UABoB+1wLfrT9Z7dHZFTAOzaqhH/AEXoNnX/AKzPB3dSeP6m1v8A56qWhb03Hoea7Kg2xhhwcXEg+fuQy3Gr4ZUPi1p/6pIk9yn6OPZmZL8uq7Ly7Mq2sR+klxDT9OtrnuTP2WXWvaLBvbECuYjv9NaVuRjNdudaxhAiGw0fc1VbM/p4Jm4uPkSUwxBNrxMgVel2gq6fexrhtt98ETS4ac+KuYtLqKMup5JORWGMdtcACDu924blWd1XDboze6OIBTft2pohmM4mIJLyJ/syhKIIooiaNhg7DtmNzT9//kVdrkYjqZ9xduA7f5yp2dbzLqm0MxmNYx5sED3bnAM91n845m1v83u2IByOpO/MDPiP/JFEClE26mPi4jDuuscDM8Sh3t3ZotY7fWARPBH9lZw/aDzAsAPg2J/6AckacjdFlw3N+k10yP6zfakin//U5cgH854+Dj2TGe1tg/tf3hQlRc5FLHLvONjMtc42+pcGGt4aWljB6tsyz85xqYgnOxbKwLsMgMDtWtAaDH6P2tNW3a/6SD1R+52NSTo1heZ0E2O7/wDW2MVUuB9waHHk7tzj/aJhqcEF0sdnQ8m70y+yjftFf6Mu9xjfu22v2t+mtB/1c6Ntk9Vx2AmB61djPl+csTpjf1oPPFbS7/vv/flpWWPcG7CdJJIO3/qWuR07LS2h9SWWfzGdhWE6aWFp/wCkxSb9SuvV64tgdHenJA/i1VGTth8acDUmPMvTiw18OLfMGP8AqUqCm83pf19xP5q7PaB+5bv/ACWOVvEyv8aH2e1tF/UHVNad7nVNe4f1LbWmz/tpZdfUs+oAVZdrI/dcY/HctHE+uf1kxKX01Zzix4/Pa15Hmxzm+1LRTy97ep22OdfdY55PuLpme+5C+wl385cfucVqGyx7i953OcZc48klQuvdVU55P0QSm0m2izp2ITrbxyYj+9I14DDGyxxHyCJ0vKrxH+rbT6zgNATA3HX3/vtVWxwO53DyZAHEFNtfw6NoNxgxr20t937xmEXHdW71BtYwtrc5sD84cKu0j7PV4yZU8cNNrwRPscR8QEpfKUR3DF+Zea/S3AN3b5DQHTGyPUjfs/4NXOmRZQ9zwHuDuXAE/istzyUbFsG10zM9jCCi9NhbdrgwBpbyWgA6/BZnV62szaiGgbwS7Tk+JVJtr2yG2Obu5gqFr3usZueXHsSZhGkP/9Xjtyi53YcnhRlJrgHhx4ZLz/ZG/wD76ilo5j9+baW8M9jYjhoFQ+kgveTpJ0/lSogF0uMyTrA+ZTEAQB89QfyIodDpoIrsf3cQ0H4f+dK4XED3H71SE14dbRo53uPjr7lEVucNT7jwEVpLbdkVDQunxjVQdlsAkBxHjwq9bC50cAfSKJc1orMDgiElKOY8mGsGvE6qbX2OMF3mY0TYmO2z3OMeCvNpw6m+4z80lU1Q+fIfH+5V854NTax+cZd8BqrzrMUSGrMy7WOtc1vDdPmgdlwGrFpkITz71IH2hDefcEwMh2bTJ9BngCiYzv1gDxY4fghVn9WA8CiY4IvYTzB0+IRlsfJYNx5tUlFxoO74qs5yTXOGoMSgougQ2UrqnNbVcSNriQNddFSFlviVL1LHObuOgRQ//9bh1Gz+Zt/4t3CxEkUls9u3fnj5fykwVdJJDuO+nVxx8uAmZ9JYiSct6u8h3fzbv4/FYqSCXaH0e/HbhRP+srHSSU7H3qmfpv8A6xVNJA7Jju3G/RCg/kKskmhednSxv5r71Oj+kN55PPPCykkTsfJaN055Km1VUkFN0JiqaSKH/9k4QklNBCEAAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTADYAAAABADhCSU0EBgAAAAAABwAIAQEAAQEA/+ENvmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjItMTAtMThUMDM6NTY6MDctMDc6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIyLTEwLTE4VDA0OjA0LTA3OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIyLTEwLTE4VDA0OjA0LTA3OjAwIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJjMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyNURBMEY0RTQyNEVFRDExOTBBRDhBRTI5RkFGNzcyOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyNERBMEY0RTQyNEVFRDExOTBBRDhBRTI5RkFGNzcyOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI0REEwRjRFNDI0RUVEMTE5MEFEOEFFMjlGQUY3NzI5Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoyNERBMEY0RTQyNEVFRDExOTBBRDhBRTI5RkFGNzcyOSIgc3RFdnQ6d2hlbj0iMjAyMi0xMC0xOFQwMzo1NjowNy0wNzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjI1REEwRjRFNDI0RUVEMTE5MEFEOEFFMjlGQUY3NzI5IiBzdEV2dDp3aGVuPSIyMDIyLTEwLTE4VDA0OjA0LTA3OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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"}},"time_used":1528,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":119,"receive":1409,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/images/pages/about_2.png","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.654Z","timestamp":1785124599654,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /images/pages/about_2.png HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: image/png\r\nlast-modified: Mon, 17 Oct 2022 09:41:32 GMT\r\netag: \"7f291-634d234c-2bc93cd09e4c5901;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 520849\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":520849,"size_decoded":521178,"mime_type":"image/png","magic":"PNG image data, 509 x 339, 8-bit/color RGB, non-interlaced","md5":"22bc61e42891ebdc92ce5e3ed419fea1","sha1":"953cb4367189c2f7f8614868488edb795e6f68ca","sha256":"185e94ac6fcf76d7996a83aa53b8368b129eeaf30329e6409ded617dd910049a","sha512":"b9f2eb51ebbb1072572766d3e5241c5410a0310257052291417bc619f0e2d08961eeb90ae9dae1a1bc9ae8ac62a9d8b9b8def26bdcffb04c1f884a07620f8063","ssdeep":"6144:Cu3t75UA+M2rb1MZdQOO1DaVly29N7oVgP5RrQWLMm0:CstVUA+M2rbSZdvOh8nwERrQ8Mm0","tlshash":"aeb464033f05ec43d5a52eb64d69c7e81315bd489e21934739e6bb2ffeba5d28c12280","first_seen":"2026-07-27T03:16:24.589024Z","last_seen":"2026-07-27T03:58:10.245469Z","times_seen":3,"resource_available":false,"data":"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0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAB+e+SURBVHgBAP//AAABt9LZAAAAAQEBAgAAAAAAAQEBAAAAAgABAAL/AAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA////////AAAA///////////////9////////////////AAAA/////////gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAQEBAAAAAQEBAAAAAQEBAQEBAgABAgICAQEBAgICAQEBAQEBAQEBAQEBAAAAAQEBAAAA/////////////////v7+/v7+/f39/////f39/v7+/f/+///+/v7+/wD9////AAAAAAAAAQEBAQEBAQEBAQADAgICAwICAgICAgICAgICAgICAQEBAwMDAwABAf8AAQEBAgICAgICAAIBAgICAgICAQEBAwECAQEBAQEBAQEBAAAA////////////AQEB/f39/f/+/v7+/f39/f39/f37+/v7/Pz6/Pz8/Pz8/f77//3+////AQEBAQEBAgICAgICAQMCAgEEAgICAQEDAwMDAQEBAwMDAQEBAQEDAgICAQEBAAAAAQEBAQEBAAD+AAAAAAACAQEBAAAAAQEB////AAAAAAAAAAAAAAAA////AAD+////AAAA/////QD/Av8A/v7+////Af8A/////gD9////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAP/9AAAAAAAA////////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////////AAAA///////////+AAAA////AAAAAAAAAAAAAQEBAQEBAQEBAgICAgIDAgICAgICAQEBAgICAgIEAgICAQEBAQEBAAAAAQAFAAAAAAD+AAAA////AAH+/v7+/////f39/v7+/v7+/v78/Pz8/f38/f39/f39/f77/f37/f39//78/v7+////AQIEAwMDAgEGAgICBAQFAgICAQIEAQEBAgICAwMDAQEBAgICAwICAgICAQEBAgEEAgICAgICAQEBAAAAAQEBAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAAAAAAAAAQAA/wAC////AAAA///////9AAAA////////////////////AAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEDAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAA/v7+/v78/f/+/////v7+/v78/v7+//78/v7+/f38/v7+/////wD9AAAA////AAAAAAAAAQEBAP8CAQEBAQEBAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAAAAAQEBAQEBAQEBAf8BAgMBAQEBAQH/BwQFDAsLCwoNCAYGBgIFBAQDAwH/AgABBAIAAQEBAP4BAQEBAAD+AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAAAAAA////AAAAAgEBAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAP///wAAAP///wAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wEA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQEBAQAAAAEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAf///////wAAAP///////wAAAP////////////////8A/QAAAAAA/wAA/wAA/wEBAQEBAQAAAAEAAwEBAQAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAH/AAH/AAIAAQH/AAIAAQH/AAIAAQH/AAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAP///////wAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgEAAwEBAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQIBAQEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAIAAQAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQAAAAEBAQAAAAEBAQEBAQEBAQD/AgEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP////////////39/fr7+/z8/Pv9/f7+/f7+/v/////////////+AQAAAAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAABAQEAAAABAQEAAAD/AQABAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAD///8AAAD///////8AAAD///8AAAAAAAAAAAAAAAABAQEB/wAAAAAAAAAAAAEAAAAAAAAAAAAAAAD/AP8AAAAAAAAAAAAAAAAB/wABAgEBAQEBAQEAAAABAQEBAQEBAQEBAQEAAAABAQH///////8AAAD///////////////////8AAAAAAAD///8AAAD///8BAAD///0A//8BAAAAAAABAQEBAAEBAAEBAAEBAAACAQEAAAABAQEAAAAAAAABAQEAAAAAAAABAQEAAQEAAQEAAgEAAgECAAECAAECAAEBAAEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD/////////////////////AP3///////4AAAABAQEBAQEBAQABAQEBAQEAAAAAAAABAQMBAQEBAQEBAQEBAQEBAQEBAf8BAQIBAQEAAAAAAAABAQEBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAC/wD///8AAAAB/wAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAABAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8BAQEAAP4AAAAAAAAAAAABAQH/AAABAQH///8AAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAQEAAAAA/wIAAAD///8AAQD/AQD/AQAAAAAAAAAAAAABAQEAAAABAQMAAAEBAAMBAQEAAAAAAAAAAAABAQEBAQEAAAABAQEAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEAAAABAAAAAAAAAAABAQH///8AAAABAQH//wAAAAAAAAABAQEAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAABAQEAAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQH///8BAQEBAQEAAAABAQH/AAAAAAAAAAAAAAABAQH/AAABAQH///8AAAABAAMAAQAAAAABAQEAAAABAQEAAAABAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEAAAABAQEBAQEAAAAAAAABAQEAAAAAAAAAAgD/AAD///8CAP/8//77+/v6+voEBAT9AgMD///9/wIAAf/9/wIEAQD/AAAAAAAAAAD+AP8BAQEB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wH//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQEBAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAACAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAD+AAAA////AAAAAAAA///9AAAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAgABAQEBAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wD+////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAwABAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////////AAAAAAAA////AAAA/////////////wD9////AAD/Af8AAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAD+AAAA////AAAA////AAAAAAAAAf8AAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///+AAD/AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAAAAAAAAAAAAQEBAQEBAAD+AQEBAQEBAAABAAAAAQEBAQEBAQEBAAAAAP8CAQEBAQEBAAAAAAAA/wEAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAQAAAgEBAQAAAgEBAQAAAQAAAQAAAQAAAAAAAQEBAQEBAAAAAgEBAQEBAAAAAAAAAf8AAAAAAQEBAAD+AQEBAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAAAf8AAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAQADAAAAAQEBAQADAAAAAAAAAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAEDAAAC/f39+/38+/38/f/+/f/+////////AAAA/QD/AAAAAAAAAAAAAAAA/////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAIAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAP///wAAAP///////////////wAAAAAB//8A/gAB/wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAP///////f///////wH/AAH//wD+/wAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQAAAAEBAQAAAAEBAQAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAA/gAA/gAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAA/gAA/gAA/gAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAD/AgAAAAAAAAEBAwH/AAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAEAAAAAAAAAAAEBAQAAAAAB/gIB/wEA/gAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAH/AAEAAAAAAAAAAAAAAAEBAQEBAgEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAPz/APz8+vv7+f39/f3//v4A//4AAv7/Af////0A/wAAAP/+AQD/AgD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAICAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAEAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wEAAAIAAAD///8AAAAAAAAAAf8AAf////////////////////8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEAAAABAQEAAAABAQEC/wAAAAABAQEBAQEAAAABAQEBAQEAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAD///////////////////3///////8AAAAAAAAAAAABAQEAAAABAQEBAQEBAQEBAQEBAQMBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEAAAAAAP4AAP4AAAABAQEBAQEAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEB/wAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAABAQEBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAP4BAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAP8BAQEAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AP0AAf4AAf4AAAAAAAAAAAAAAAAAAAAAAP4AAP4AAAAAAAAAAAABAQEAAAEBAQL///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A/v8B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH/AAAAAQH/AAAAAQH/AAAAAQH/AAAAAQEAAAABAQEBAAABAQEAAAAAAAAAAAABAQEBAQEAAAAAAAACAQEAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAABAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAMAAAAAAAABAQEAAAAAAAAAAAABAQEAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD////9/f36+vr5+/v8/Pz+/v7////////////////9AP8AAAD///8AAAD//gH/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///////////////8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAA/wEA/wEA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA//////////////8A////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAf8AAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/////////////////v///v///wAAAAAAAAAAAAD+AAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAQEBAQEBAv8AAAIBAAAAAQEBAAAAAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQABAAAAAQEBAAAAAQEBAAAAAQEBAAAA////AAAAAAAAAAAA//8A//8A//4A////////////////////////AAAAAAAAAAAAAQEBAAAAAQECAQECAQEBAAACAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAABAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAQEB////AAAAAQEBAQAB////AgEB////AAAAAQEBAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAQAAAQAAAQAAAf8AAf8A////AQEBAAAAAAAA////AQEBAAAA////AQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQADAAD+AQEB/wAAAAAA////AQAD////AAEAAAAAAAAA////AgAAAQAAAQAAAQAAAQH/AAD+AQIBAQEBAQEBAQEBAQEBAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAQAAAQEBAAAAAQEBAAAA////AAAAAAAAAAAAAQEB////AQEBAAAAAAAAAAAA////AQEBAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQED///8AAAAAQEBAAABAAAA////AQADAAEAAAAAAAAAAQEBAQEBAAAAAQECAAAAAAABAAABAAABAAABAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQEBAQAAAP///wAAAQEB/f39+/v7+fv6AwMDAwMDAQECAQH/AP8BAgD/////AAABAAAAAAAAAAAAAAAA/wEAAAAAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAP8B//8AAAAAAAAAAAAAAP8BAAAAAAAAAQEAAAAAAAAAAAAA/wAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAABAEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAP///wAAAAAA/gAAAAAAAAAAAAAAAAAAAAAA/gAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAP///wAAAP///////////wAAAAAAAP////7//wD//wAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAEBAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAP//////////AP///////wEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQAA/gAAAAAAAAAAAP8BAAAAAAAAAAAAAAEBAf///wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAP///wEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAgAA/QAAAAAAAP///////wEAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAB/gABAAAAAgAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAEBAQAAAAEBAQAAAAAAAAEBAf///wAAAAEBAf///wAAAAEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAgEBAQAAAAEBAQEBAQEBAQEBAQAAAAEBAQAAAAEBAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEB////AQAAAP///wEBAQAAAP////7+/v39/f39/f79//4B/v8BAQABAQAAAAAA/gAAAwAAAAAAAAAAAAAAAAAAAAAAAP8BAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8BAAD/AP/+AAAAAAAAAAAAAQAAAAAA/wAAAAAAAP//AAEBAQAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAABAQEAAAABAQEAAAABAQEAAAAAAAAAAAABAQEAAAD//wIAAP///////wD//wD///7///////8AAP8AAP///////wD///8AAAAAAAAAAAAAAAABAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAP8AAAD+//8BAQECAQEBAQEBAQEBAQEBAQECAgIAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAP8AAP8AAAAAAAD//////////gD//gAA//8A//8BAP4BAP7/AP////8AAAABAQEAAAABAQEBAQEAAAAAAAABAQEBAQEAAAD+AQACAQEBAQEBAQECAgIBAAEBAQEBAQEBAQECAgICAgIBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAABAQH+/v7///4AAP8A//4A/v////3+/v79/fsAAAD+/v0AAP8BAv8A//8BAQABAAIBAQAAAP8BAQIBAf8CAQEBAQEBAQEBAQEAAAIBAQICAAIBAAEB/wABAP4AAAAAAAAAAAABAQEA/wIAAAAAAAAAAAAA//8BAAD///8BAAD///8AAAABAAD///8BAAD///8BAAAAAAD/AAABAQH///8AAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///////8AAAABAQEAAAABAQEAAAAAAAD///8AAP4AAAABAQH///8BAQH///8BAQH///////8AAAD///8AAAAAAAD///8AAAAAAAAAAAEAAP8AAAAAAAAAAP8AAAAAAAAAAAABAQIBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAP8AAAAAAP8BAAAAAAAAAAAAAAD/Af4AAAD/AAABAAMAAAD+/wACAP////8BAAH///////////0BAQQAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///////8AAAD//wEBAQMAAAAAAP4AAAABAQAAAP8BAQABAQEBAQEBAQEAAgEB/wEBAv8BAf0CAf/+AP0DAQUAAP8AAP8BAf8BAQH+//8CAQEAAAABAAAA/wIA/wIA/wIAAQABAQEAAAAAAAABAQEAAAABAQEBAQEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAABAQH///8CAQH/AAD/AAD+AAD///8BAQEAAAD///8AAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAD///8BAQH///8BAQEAAAABAQEAAAABAQEBAQEA/wABAQEAAAAAAAIAAP4AAP8AAAAAAAABAQH///8BAQEAAAABAQEAAAAAAAAAAP8AAAABAQEBAQEBAQEBAQEAAAABAQEAAAABAQEAAAAAAAEAAAAAAAEAAAAAAAABAQECAQEAAAD//wAA/wEAAAEAAAAAAQD////8AP/9/f8C+fcEAwEFBQUDAAL8/gEAAgAFAQP////9Af8C/wAAAAAAAAAA/gEBAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQH///8AAAD///8AAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+Af0B/gIC/gIAAQAAA/7+AP0A/gMCAAL//wH+/gD8AP//A/////3+/v7//P3//f4BBgIAAAACAgQCAgQA/wEB/v8BAQEDAwAC/gEA/f4DAwEAAQH+Af3/AAMCAAD//P8AAwAAAAAAAAD+/v8BAQEBAQD+/v8CAwD//gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAAD///8AAAAAAAAAAAAAAAAEAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAABAAD/AQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEB/v7+AAAA////AAAAAAAAAAAA////AAH/AP8AAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAv8AAAEAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA///////////9/////wD9AAAA////AAAAAQEBAAAAAQEBAQEBAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAD/AQECAAD/AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAAAAAAAAAA////AAAAAQEB////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAQEBAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AQEB////AQEBAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAD/AAAAAAAAAAAAAAAAAAH/AAABAAAAAAAAAAAAAAAAAAAA/Pz8+fr6BQT6BAICAgQB//8B////AAEC///+/gEBAwAAAAAAAAAAAP8BAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/sE/wT//QT+AAD+Af4AAAAF/v8A+wEA/QEA//75/frz+fPr+fDn+fLs/vf0Af36+vr8AwcKBgwSBw4WBg0UAgkQBAkOBAEIAf4AAAQC//8AA/4ABQEDAv/+/gL+/QQCAv7+AQEBAgEAAgMB/v3/AAABAQEB//4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQEBAQAAAAAAAAEBAQEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAP///wAAAP///////////wAB///+/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQEBAQAAAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////////////////////wAAAAAAAAAAAAEAAwAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/wH//gABAgEBAQAA/gEBAQAAAAAAAAAAAgEBAf///QAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAQAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAEBAf///wEBAQAAAAEBAP//AAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgAAAQD/AgAAAAAAAP///////////wAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQAAAAIBAQEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAEBAf///wEBAf///wAAAAEBAQEAAP///wEBAQAAAP///wEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAAAAAEBAf///wAAAAEBAQEBAf//AAEBAf///wEBAf///wAAAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQAAAAEBAQEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAQAAAAAAAAAAAP7+/vv7+/n7+gQEBAMDAwIAAv0A/wH//wIBAAAAAAAAAAAAAAAAAAAAAAD/AQAB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP4A//0A/P8ABQMCAQH+APz///3++Aj16PPx7e/s6fj18v/7+AD8+v38+vz8/AH9A/708vHt8v0C4AIEAwQGBgcJCAYJCAMMEQgOGAwSHgEJEPr9/QYEAgIABP77AAMF/v8A//8AAP///gABAQAAAwEBAP7+AAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAABAQEAAAABAQEAAAABAQEAAAAAAAAAAAABAQH///8AAAAAAAAAAAD///8AAAD///////8AAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQABAQEAAAABAQEAAAABAQEBAQEAAAAC/wABAQEA/wABAAAAAAAAAAAAAAD///8AAAAAAAD/////////////AP7///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEDAAEAAAABAQEBAQEBAQEBAQEAAAAAAAACAAEAAAAAAAAAAAAAAAAAAAABAQH///////8AAAAAAAAAAAAAAAAAAAD///////////3/////////AP0AAAAAAf4AAP8A/wAAAAAAAAABAQEBAQEBAQIAAAAAAAD/AAABAAABAQEBAQECAAEBAQEAAP4AAAEAAAEAAAAAAAABAQMAAAAAAAABAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8AAAABAQH///8BAQEAAAH///8AAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH//wAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAIAAQAAAAAAAf8AAAEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAABAQEAAAABAQEBAQEBAQEBAQEBAQEAAAABAQH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAAABAQEAAAABAQEAAAAAAAABAQEAAAABAQEAAAAAAAABAQEBAQEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQEAAAD///8BAAAAAQH///8AAAABAQH///8AAAAAAAABAQEAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAP4AAAAAAAEAAP8BAQH///8BAQEAAAEAAAAAAAABAQEBAQEAAAABAQEAAAABAQEBAQEBAQEAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD////+AQH7/v36+vgGBAUGBAQDAQL+AAH9AwEB//8AAAD9AQADAAH///8AAAEBAQD//gEBAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AvsCAAMB/gb6/QD8AgACAf/79+z28Ojo6OD9+/r/+fkB/vwD/wH+AQf7AAT9AfwAAfYAAwABAQMGAgIAAAH++Pr29/n2APEBAO7+A8/+Bf0OFiMXHj0LDhoBAgAIBfz/AAT//gAAAAABAv8AAP////0CAQMBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQEBAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAA////////AAAA////////AAD+////////AAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAEAAAAAAAAAAAD/AQIBAAAAAQEBAAAAAAAAAQEBAQABAAAAAQEBAAAAAAAAAAAA////AAAA////////AAAAAAAAAAH/AP8AAAAA////AAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAQEBAv8AAv8AAAEAAQEBAAAAAAAAAQEBAgABAQABAgABAAAAAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAA/////////////////gD//wEA/gD//gD/AP7/AP//Af8AAP7/AAAAAAAAAAAAAAAAAAAAAAAAAQECAQEBAAAAAAACAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAACAAAAAAAAAQEB//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAA////AAAAAQEB////AQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8CAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAQEBAAAAAAAAAAAA////AAEAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAA////AAAAAQEB////AQAAAAAAAAEB////AQEBAAAAAAAAAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAQEBAAAA//8AAAAAAQEBAQEBAP8AAAAAAAAAAAAAAAAAAQEBAAAB////AQEB//8AAAAAAQEBAQEBAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///9AAABAQEB/////v7+/Pz8+fv4BAUCAQEBAQEBAf4B/gIAAv8AAQEB////AQEBAAAA//8AAAAA/wEAAAAAAAAAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AD+A/8DAf8ABgIA+vv28/Po9e7p+/Px+v78AAD9AQH+/f36+/r7/f/+AAIDBQYCAP0Q/f39/f/+/P//AQH//wQCAQEBAAD+/fj5Bv0IAPf78vDY8ufhEyIpFh4z/wQaBf4AAQEAAAAAAQAB/wD//v7+AQEBAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAA/v///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAEBAQAAAAABAQEBAQEBAQEAAQEBAQEBAQEBAQAAAP4BAAAAAAEBAAAAAAAAAP///wABAP///wAAAAAAAP////8A/v///////////wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQL/AAECAQEBAQEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAB/v///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAQAAAAEBAQAAAAH/AAECAQEBAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAP8AAAAB//8B/wEAAAAAAAAAAP///wEBAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAgEB/gEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf///wAAAAEBAQAAAP///wEBAf///wEBAQD//wABAf///wAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wEBAf//AAAAAAAAAAAAAQEBAf///wEBAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA/wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wEBAf////z//vz8/Pv7+wUCBf4CA/4CA//+Af4C/wH///4BAQL//wAAAAEBAQAAAAAAAAAAAAAAAP8BAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wP/B/0AAP4B/gD78/jx5vfs6fv29wD/AgoA/vz9/vz7+wL+/wACAwD/BPwAA/79AQAE//4CAP/+AAP/AwEBAQH/AAD9//////v/9/b+BPr5/gMABAT09ufY0fPw9h0nMxIRHwICBf38AP3/AAEBAgIC/QEBAf//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAQEAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///////////8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAABAQEAAP8AAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAIAAP8BAQEAAAAAAAAAAAAAAAAAAAAAAAD/////////AP7///////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEAAAABAQEBAQEBAQEAAAABAQEAAAABAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///////////8AAP4AAAAAAAAAAAAAAAAAAAABAQEBAAEBAQEBAQEBAQEAAQMBAQEBAQEAAAABAQEBAQEAAAABAQEAAAABAQEBAQMBAQEAAAAAAAAAAP4AAP8BAQEAAAAAAAD///8BAQH///8BAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAQH/////AAAAAAAAAAAAAAD/AAAAAAABAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH///8AAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQH/AAAAAAAAAAAAAAD///8AAQD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEAAAAAAAABAQEAAAD///8BAQH///8AAAAAAAAAAAAAAAABAQH///8BAQH///8BAQH///8BAQEAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEAAAAAAAABAQEBAQEAAAABAQEAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAMBAQH///38/fr7+wT9BP3+A/7+/v7+AAEDAQMAAQD///8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD9/QACBQD8+fLv6uT68ewE//wFBQX6+fz6+wX//v7/AQX//v7+/vv+/QADAwEAAgQBAAP/Af/+Af7+Af////3/Af7/A/3///8GAAH4/PcBB/z//wL6+QX79PsB++Hn+fL/LkMSEBoBAQj//wACAgAAAAMBAAH+/wABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAf8AAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAA////AAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAA////////AAAAAAAA///////////////////////+AAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAgEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAAAAAAAAAQEBAAAAAQEBAQEBAAAAAAAAAQEBAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEB////AAD+Af///v7+/Pz8/Pz8/v7+/v7+AAAA//////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAgUA+vfy9O3q/Pf2/f8E+f0E+fz9AP/4AgH5AP/6/wD7/gT8AAQCAAcC/QMB/QH//AAC/QED/gIC/wEB/wIBAAH+AQEAAgAA+v8FBwADCPv2BfjuBgP2Bgb8/fjz9enp293S8vTrAwMABAQAAAAA/v7+/v4AAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEB/wAAAAEBAAAAAQEBAf///wAAAAH/AAAAAAAAAP8AAAAAAP///////////f///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAB/wEAAAAAAAEAAAEAAAAAAAECAAEAAQEBAQAAAAAA/gAAAQAAAAAAAAAAAAL/AP//AP///wD//wAB///+//////////////////////7+/v///QAA/wEBAf///wEBAf///wEBAQEBAQAAAAEBAQICAgEBAQEBAwEBAgMAAQIBAgAAAAEBAQEBAQAAAAEBAQIAAQIAAQIAAQEBAQICAgICAgAAAAAAAAAAAP///wD+/wACAQAAAAAAAAAAAP///wAAAP////7+/v///////////f//////////////AP//AAAAAAAAAAAAAAD/AgECAQEBAgEBAQEBAQEAAAEAAAIBAQIAAQEAAQEBAQEBAQAAAAEBAQAAAAAA/gAAAAEBAQAAAAAAAQAAAP///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf///////wAAAAAAAAAAAAAAAP///wABAAEBAQD//wEBAf///wEBAQAAAP///wAAAAEBAf///wAAAAAAAAAAAAEBAQAAAP///f//AAAAAAAAAAEBAf///wAAAP///wAAAAEBAf///wAAAAAAAAAAAP///wAAAAAA/wEBAP//AAAAAAEAAAAAAAAAAAAA/////wEBAQAAAP///wEBAf///wEBAQAAAAAAAP///wEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAEAAAEBAf///wAAAP8AAAAAAAAA/gAAAAAAAAAAAAECAQAA/wAAAwAAAAEAAAD//////wEBAQAAAAAAAAEB/wAAAAAAAAAAAP///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQEB/wAAAAAAAAEBAgEB/gEBAQAAAAAAAAH/AAH/AAAAAAAAAP////7+/gICA////wAAAAAAAf7+/gIC/QIAAAIBAQEAAP///wABAAAAAAEBAQAAAAAAAAEBAf///wEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wEBAf///wEBAf///wAAAAEBAf///wAAAAEBAQEAAAAAAAAAAAAAAAAAAAEBAf8AAgAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAB/gD/AAAA/v///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAEBAwEBAQAAAAEBAQAA/gAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAH/AAAAAAEBAQD/AAAB/wAAAAAAAAAAAAEBAQAAAQAA/v//AQAAAAEBAQAAAP7+/vz++/j7+AIEBAgEBAH//gYBAgIB/gABAf4A/gMBAf//AgEBAf/+AQEC/wAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4A/wIBAgEAAP/9/v8BAP8BAP3/AQABAQH77/Xy7vT09AH+/gMB/v7++f78+f/+/gD9+/3//v7/AQAABgAA/gD+/gIA/gEAAf8A/f4AAQAAAAEBAQEBAv//BAD+/P///wQA/vsAAP8DC/3/Bf/8+/7+/QEAA/z5+gbk2ekBBwYqDQoKDgEBAQEAA///AAL//f8CAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAABAQEAAAABAQEB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEAAP8AAAABAQEBAQEBAQEBAQEBAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAABAQEAAAABAQEAAAAAAAABAQEBAQEAAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///////////////////////8AAAD///8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAD/AAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAD///////8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAACAf8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAA/wIAAAAAAAAAAAIBAQEAAAIAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAABAQMBAQEAAAABAQEAAAABAQMBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAIAAAAAAAD////9/f38/Pz9/f3+/v3+/v78//7+/v7//////gH///////8AAAD//gEAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQL//v7///8BAwIAAAIA/wICAP79/Pry8PD59/cB//3///////8AAAABAf8AAAD///8AAAAAAAD/////AAAAAAD/AAL/AQD9//////4AAP////////8AAAAAAAD///4AAAAB/wAAAAAAAAD////////+/v79/f37/QD38u3t6eH6/Pz6/AACAQEEAwD/AgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQEBAAACAAAAAAAAAf8AAAAAAAAAAAD+////AAAAAAAA////AAAA////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAv8AAv8AAv8AAv8A/gEA/gEA/QD//gEA////////AAAAAAAA////////////AAAA////////AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAAAAAQEBAQEBAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAA////AAAAAAAA///////////////////////9////////////AAD/////AAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAA////AAH+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAQEBAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQEBAQADAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAAAAAQEBAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAACAAAAAP8CAAAA/////f39/P36/f38/v7+/f/+//4B//////8B/gEAAQEBAQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8A/v7+/wH+/wAA/v8AAAAA//76+Pbs9/Pz/fv5AP/9//38/vz7//78/////f38AAAA/////wEAAAAAAAAA/wAAAAAAAAAAAAAAAAAA/wEAAAIBAQEBAAAAAAD/AQEB/wD9AAAAAAAA/////////v7+/v/8/v/8//4B/fjy8e3k8/Tv/wAAAf/+AP7//QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAgEBAQAAAAEBAQAAAAH/AAAAAAAAAAAAAAAAAAAA/v///////wAAAP///wAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAA/wAAAAEBAQEBAQEBAQAAAAEBAQAAAAEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAP///////wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQAAAAAAAAEBAQEBAQEBAQH/AAEBAQAAAAAAAAAAAAAAAP///////wAAAAAAAP///////f///wD//////wAAAAAA/wAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAP8AAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wAAAAAAAAEAAAAAAAAAAAH/AAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQEA/gEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAD/AgD/AgEBAQEBAQEBAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAwAAAAAAAAEBAQAAAAEBAQEBAQAAAgEBAQEBAQAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQL/AgAAAAEAAwAAAP///f39/fz9+v4A//////////////8BAP///////wAAAP///wAAAAD/AgAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgEAAfz//v0AAP////n49fbz7P78+//+/AD+/f/9/Pz9+v39+/3+/P7+/P0AAf8CAQEBAQACAQACAQEDBAACAf8BAAEBAQACAQEBAQEB//8B/gAA/gAAAP8B/v////7+/P7+/v/////////////////////+/AEC/v359O/s5f/++v3/APv9/gABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAP8AAP8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAADAAEDAAEDAAEBAQEAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8A/v0A/v8A/v////////3///8AAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEAAAABAQEAAAABAQEAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8BAAAB/wAB/wAB/wAB/wAA/v8A/v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAB/wAB/wAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAD///8AAAL//wEAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAP4BAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEBAQMBAQMBAQECAgICAgIBAQEBAQMBAQMBAQEBAQEBAQEAAAABAQEAAAABAQEBAQEAAAIBAQMBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEBAQEBAQEAAAAAAAAAAAABAQEDAAEAAAABAQEBAQEA/wL+/v79/fv8/Pr6/Pz8/v39//79/wH+/QD////9AP/9AP8AAAAAAAAAAAAA/wEA/wH/AQD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wACAgL/AAEAAAICAgD7+vb39fH7+fgBAv///fz8/Pv+/vwB/v3+/v3+/vz/AP3+/v7/////AgEAAwICAgIAAwIAAwL/AgH/AQAAAAAAAAD////////////+/v79/f3//////////////////gH///8AAAD////++vX//wECAwH79O338+z8AAH9AgMEAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAACAQEBAQEDAf8AAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAD+///9AAAA////////AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAAAAAv8AAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAA////////////////AAAAAAAA////AAAAAAAA////////////AAAAAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAAAAAQEBAAAAAAAAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/////////////wD9////AAAAAAD/AAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQEBAAAAAAAAAAAAAAAAAAAAAQAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAA////////AAAA////AAD/AAAAAAACAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQD+AAABAAABAAAAAAAAAQEBAAAAAAD+AAD+AAAAAAD+AAD+AAAAAAAAAQEBAAAAAQEBAQEBAAAAAAAAAQEBAQEBAQEDAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEDAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAAEB/wAAAAAAAAAAAQEBAQEBAwABAv8AAQH/AQH/AAAA////AAAA/wAC/v4A+/v7/f39/P7+////////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAP8BAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA/v7+/v0AAwH/Af/7+Pjy+Pj1AgICAQH//gD//v7+///9/////f39/f37/f37/f/8/f/+/////////gEAAQH/AAEBAAEBAQEBAQEB/gEA/gEAAAAA/////v7+/v7+/////gAB/v7+/v4AAAAAAP8C////////AP77/fz+AwADBAH+8vDr+/34AQEAAPz+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8A/wAAAP///wAAAAAAAP///wAAAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEAAQEBAQAAAAAAAAAAAAAAAAAAAP////8A/////////////wAAAAAAAP///////wAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQIAAQABAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAP///////wAAAAAAAP///////////////////wAB/gAAAAEBAQEBAQEBAQAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAQAAAP///wEBAf///wAAAAAAAAAAAAEBAQAAAP///wEBAf///wAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///gAAAAEBAQAAAAAA/wAAAAAAAAEBAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAf///wEAAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAA/gAAAgAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAP///wEBAf///wAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAEBAf///wEB/wAAAf///wEBAQAAAP///wEBAQAAAP//AAEBAQAAAAAAAAAAAAAAAAAAAQAAAAAAAQAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAQAAAAAAAAAAAAEBAQAAAAD//wAAAAEBAQAAAAEBAQAAAAEAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAf7///7+APz+/QT9/f0DAwEBAgAAAP7/AQMBAP///wAAAQAAAAAAAP//AAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8A/P7/AwEBAQD+/vn48/n68gD//wEBBf4A+QEBAQIEA//7Af0B/gAB/v///////wAA/wEBAf4A//8A/wAAAAAAAAAAAQAAAP8BAv8A/gEAAf//Av///P7+/v7+/v7+/v39/f39/f3/AAAAAP8BAgEB/v7+Af0B/gMCBf/9/AH9/gMCB/n89/r37gYEF/7/BAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB/wIAAAABAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///////8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEAAAAAAAAAAAABAQEAAAABAQEBAQEAAAAAAAABAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAD///////8AAAD///////////////3///8AAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAf4AAf4BAQEAAAABAQEAAAABAQEBAQEBAQMBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQMBAQEAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAf4BAQEBAQEBAQEBAQECAgICAgL/AAD9/f39/f3+/f/////8//7///////8AAP7///8AAAD///8AAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AP4BAQECAgD9/f339vL+/PgCAgD+/QH///8AAgACAwD/AgEAAAABAQEEBAQEBAQCAgICAgIBAQEAAAAAAAAAAAAAAf7+AQD///8A/wH//////////gH////+/v7+/v79/f39/f3+/v7//wEAAAD+AQL+AQD////6/gAA/fwA+vz8/gAFBwj4+PAA/fj/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQEBAAAAAAAAAAAAAAAAAAAA////AAACAAD//wH/AP/////+AAAA//////8AAAAB////AQEBAAAA////AAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAD/AAAAAAAAAQEBAAAAAAAAAAAAAAAA/wAAAQEBAQEBAQEBAv4BAQEBAAAAAAAAAQEBAAAAAAAAAAAA/gEA/wAAAAD/AQIA//7////+///////////////////9////AAD/AAD/AAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAIBAAAAAQEDAAABAAAAAv8AAQIBAQEBAQEBAAAAAf8AAf8AAf8AAQIBAQEBAAAAAAIBAAAAAf8AAQEBAAAAAAAAAAAA////AQEB////////////////AAAAAAD+///9////////AAAAAAAAAAAA////////AAEA/v7+AQEBAQEBAAAAAAABAAAAAAAAAAACAQEBAAAAAQADAQEBAQEBAQEBAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAQEB////AAAAAAAAAAAA////AAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAC///9AAAAAAH+AAAAAQEAAAABAAAA////AAAAAQEB////AQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAACAAAAAAD8AAAA////AAABAAAAAAAAAQEB////AQEB////AAAAAQEB////AAAAAQEBAAAAAP//////AQAAAAAAAQEBAAAAAAAAAAAAAP8B//8AAQEAAAAAAAAAAAAAAAAAAAAAAf8BAAAAAP8AAAAAAQIAAAAAAAAA////////AAAA////AAAAAQEB///9AQEB////AAAAAAAAAQEBAAAAAAD+AAABAAACAAAAAQIAAAD/AAAAAAAAAAAAAf/+AQADAP7/AAIBAAAAAAAA////AAAAAAAAAAAAAf8A/wAAAAAAAAACAAD+AAAA////Af8BAf8BAQECAQH+/wEA/gD//wEAAgIC/v/8//////8DAQEA/////////////v7+AwMDAAAAAAAAAAAAAAAA////AAAAAAAAAAAA/////v//AgICAQEBAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAQEB////AQEB////AQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAP8CAAAAAwEC/////wEA////AAAAAAD+AP//AQAA/wAAAAAAAAAAAQEB////AAAAAQADAAD/AAH9AAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAACAgL/AAAAAAAAAAAAAQAAAAAAAAAAAAAAAQABAAAAAAH/AAAAAAAAAQEBAQADAAAAAAADAAD/AAAAAwICAAAAAP//AAAAAP//AP/7/f4C/P0BAgMBAgAB//////8A//8C/gEAAAD/AwABAAAA//8AAAAAAQEAAP8B/wH/Af8AAAAAAf8AAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f8GBQEAAPz7/fvu+/n2AwEM9/z1AgL6APwAAgAB/f8CAQMCAwUE/v/8/f/7/wIAAf8B////AAAAAgIAAAAA//8B////AgD++wD8AAAA/////v/+/wD8/gH//wIC/wAF//z5/gD9///9///8Af8AAQH+AgIA//8CCP4B+/v3+AD0Dv7+Avj2/AD8/PwGAgL/BwIB/wAAAAAAAAAAAAAAAAAAAAAAAQEA//8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEAAP7//wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAIBAQIBAQEAAAAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAP///wABAAAAAAAAAP///////wAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAH/AAECAQAAAAEBAQEBAQEBAQAAAAAAAAAAAAEBAQEBAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAf///wAAAP///wAAAAAAAAAAAAAAAP///////wAAAP///////////wAAAAAAAAAAAAAAAP///wEBAQEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf//AAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf//AAEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wEBAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAEBAQAAAAAAAAD/AgD///8A/////wABAAAAAP///wAAAP///////wAAAAAAAP///wAAAP///wAAAP///wEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wAA/////wAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAABAAAAAAAAAAAAAAEBAQAAAAAAAAAA/wEBAf8AAAEBAQAAAAEBAQAAAP7+/v39+/0CA/39/QMBAv0CAQIAA////wAAAAEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAP7+AAH//ff29AIDAP36+gUDA//+//4A/wAAAAAB/gH/AAABAf8CAQICAv8A/wD/AQAAAP///////////wAAAAEBAQAAAAEAA////f////////7+/v39/f/9/P7+/gAAAAH/AP8AAAAAAP///////gAAAAAAAP3+/v/9/f37/Pv79QH7AAMEAvr78gUGEv8AAf///wEBAQEBAAAAAP//AAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAP4AAAAAAAAAAAAAAP8AAAIAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAABAQEAAAAAAAAAAAAAAAABAQEA/wABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAD///8AAAD///////8AAAAAAAD///8AAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAABAQEBAQEAAAABAQEAAAAAAAAAAAABAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEBAAEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///////8AAAD////+/v7/////AP3///////////////8AAf4A/wAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAABAQEAAAABAQEAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAf///wABAQH/AAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQL///8AAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAf8BAQEAAP8AAAAAAQAAAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAD///8BAQEAAAD/AQD/AQAAAQAA//8AAAABAQEB/wAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQH/AAAAAAAAAAAAAAABAQEBAQEBAQH/AAAAAAD///8AAQAAAAD/AP3//wEAAAD///3//wMAAAD///////8AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAABAQEAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAD//wAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAABAQEA//8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAEBAQH///8BAQH///8AAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAA/wABAQEAAAAAAAEBAQEBAQEAAAAAAQH/AAABAQH///3+/gL7/v0D/fv+AgP/AQL////+AAEDAQAAAAD9AP8DAAH///8BAQH//wABAQAAAAD/AQAB/wD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAP3///77+/f6+voBAQAB//wEAgD5+/4B/wAB/wAB/wAAAAAAAAACAgT/A/0BAQH+////////AAD/AQH+/v///wAAAAAAAQEBAAD//wD///////3///////7+/v7+//wA//8AAP7///0A/////vwAAAAAAAAAAAD//wH+/v7/+/z69/ABAf//AAL29u0OChL///8AAAAAAAD//wABAQABAQD//wAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAH/AP8BAAAAAAAAAAAAAAAAAAAA////////AAAAAf8AAAD+AAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////////AAAA////AAAAAAAAAAAA////AAAAAAAA////AAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAQEBAwABAQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAQEBAf8AAAEAAAAAAQEBAAAAAAAAAAAA////AAAA////AAAAAAAA////////////////////AAAA////AAD/AAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAQEB////AAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAAEAAQAA////AAAAAQEBAf8AAQAAAAAAAAAAAAAAAAAA////AAEAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAA////AAAAAAAA/////wEA/wAA/v//AgAA/wAAAAAA////AAAA////AAAAAAAA////////AAEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEB////AAAAAAAAAf8A/wEAAAD+AQAA/wAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAQEBAAABAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAQEBAAAAAAAAAAAAAQEBAAAAAAEAAAAAAQEBAAAAAQAAAAAAAQEBAAABAAAAAAAAAQL/AQEAAQEAAAAAAQEB/////v78/v4E/v7+/gH+/AEBA/8CAQIAAv8AAQEBAAAAAAAA////AQEB//8AAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Af/8+Pf1BQID/f37AwIA//38Av7/AAD+///9Av/+/wD+/gEBAQEBAQEE/wMBAf/9AP//AP///v39/wAAAAH+AAAAAP8CAAD+AAAAAAD+////AAD/AgD+/gH+Af7+//79////AAH+///9////AAAAAQIAAQEB/wIBAQAA//z9/PfxAwEE/wAE9vfqC/4f/gMHAv8AAAAAAAAA//8AAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAD/AQAAAAAAAAAAAAAAAP///////wAAAAAA/v///////wH/AAD/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAH/AAABAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQAAAAEBAQD/AAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///////////////wAAAP///////////wAAAAAAAAAAAAEBAf///wAAAAAAAAEBAQAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAEBAQEBAQAAAAEBAQEBAQAAAAH/AAECAQAAAAEBAQAAAAAAAAAAAP8BAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP///wAB/gAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAEBAQEBAQAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgAB/gEBAf///wAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAQAAAgAA/f///////wEA/gAAAwAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wEBAf///wAAAAAAAAEBAf///wAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAB/gAAAQD//wAAAAAAAAAAAAEBAf///wAAAAEBAQAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AQAAAAAAAAABAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAAAAAAAAAAEC/wAAAAAAAP7+/v39+/wDAwICAgH+AQACAQL/AP4BAAMAAQAAAAAAAAAAAAAAAAAAAAD/AQAAAP8AAAAB/wH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAfv8/P36+QQDBf/9AP4B+v3+/gEAAv7//QAA/v///wH/AAH/AAAAAAEBAQD/AwMDAP////39+wICAgAAAP/+/v///wAB/gH//gD//QD//wD//gH//f8A/gH//gD//f4A/QEA/gL/AP7/AP8B/wH+/wH+AQADAf8AAAAAAP79+/z6+gIBB/4BAf70/f769f8EBv8CAgH/AAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAD///8AAAAAAP4AAP////8AAAAAAAAAAAAAAAAAAAAB/wD/AAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAD/////AP////////8AAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAABAQEBAQEDAAEBAQEBAQEAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEAAAABAQEBAAEAAAABAQEAAAAAAAAAAAD/AQAA/wAAAAAAAAAAAAD///////////////8AAAD///////////////8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEAAAAAAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAf4AAAAAAAAAAAAA/wIAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8AAAAAAAABAQH///8AAAAAAAABAQH//wAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQH///8BAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wABAAD///8BAQD///8AAAD+AQABAQEB/wAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAIAAAIAAAAA/v8AAwD/////AP//Af////////////8AAAAAAAD/AQAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8BAQH///8BAQH///8BAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAv////8AAP8BAAAAAAD/AAABAQH///8BAQH///8BAQEAAAD///8BAQEAAAAAAAAAAAMAAAAAAP8AAAAAAAAAAAAAAAAAAAABAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAP8BAQEAAAAAAAABAQEAAAAAAAAAAAMBAf8BAv8AAAABAQEBAQEAAAAAAAIAAAAAAAD////9/f39AfsCAgIB/////wAAAAD/AP/9AQADAAEAAAAAAAAAAAAA/wAAAQAAAAAA/wH/Af8B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8CAQH8+vYAAf/+/f8BAQH//P4CAgH/AgL//gEAAAACAf/+Af8BAgAD/v//AQEAAf4A/v////4BAQEBAgAC/wD+AQD///////8AAP8AAP8CAP3/AP7///4C/v3/AP7/AAH/AAD+AQD/AP8AAf8C/gD/AAD//////v4AAP4CAAD8/PoD/wP7APb9Av4C9f/49OwICQ8B/wH/AgEB/gD///8BAQEAAAD+AQAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAACAAAAAAAAAAD////9////////////////AAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA/QD/Av8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAA////////////AAAA////AAAAAAAA////AAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////AAD+AAAA////AAH+AP8AAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQEBAQEBAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAACAAAAAQEA///9AAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AQEBAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEAAAAAAAAAAf8AAP7/AQEBAAEAAAAAAAAA/wEAAAAAAf8AAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8CAAD9AAAAAAAAAQEBAAAA////AP/9//8B/wD//////////wD9/QACAQD/Af//////////AAAAAAAA////////AAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEB////AAAAAAAA////AAAAAQEB////AAAAAQEB////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAP8AAAAAAQEBAAAAAAD/AAAAAQEBAf8AAQAAAQAAAAECAAD/AAAA/QD/Av78/P4CA/7+AQMB/QABA/8A/wD/AAAA/wAAAQEB////AQEBAAAAAAAAAAAAAAAAAAAA/wEAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/f37+/r3AwL+AP0BAAAAAAL+AgAA/v4AAf8BAgIC/v8BAgMBAfz//gMA/v7/AP8B/wAAAAAAAQD/Af8AAAEBAAD+Af/9//0AAQH8AgD+/v/+Af/+AP/9//7/AP/9AQD/AAAAAAAAAQEBAQEBAAEB///9AAAAAv8B/wD9AAAC/f75AQAN/QH6/vr7AfUH9/LnDBEfAQUBAf8DAQAAAgEB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAD/AgAAAAAB/gAAAAAAAgAA/QAAAAAAAAAAAP///wAAAAAAAAAAAP///wEAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAf8AAAEAAAEBAQEBAQEBAQAAAAEBAQAAAAEBAQD/AAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQEBAQEBAQAAAAH/AAAAAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAD/AAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAf//AP///wAAAAAAAP////////4BAAMAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAf//AAAAAAAAAAAAAP///wAAAAEBAf///wEBAf///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAA/wEBAQAAAAEBAQEAAAAAAAAAAAAAAAAAAAH/AAEAAAAAAAAAAAAAAAAAAAAAAgAAAP7+/v3/AAEB/f0C+wEBAf8CAv8AAP4B/wMAAQAAAAAAAAAAAP///wEBAf//AAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP78+f3++QUBAAECAPv7/AIDAP79+///AgEBAQEBAQICAgD+Af4CAv/+AQIAAf8A/v4BAQIBAP4BAQICAP7+/wMBAf0BAQAB/f79+/////7//QD+/f7+/v7//AD+/wH+/wAAAAH+/////QAA/gEB/wEBAQAAAAAAAAIA/wAA//3//QMABP//+f/9/gD6/Pf08P39/QMDAwACAwEBAAD/AAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wQAAf4AAAD///8AAAAAAP4AAAAAAAAAAAD///8AAAAAAAD/AQD/AAD/AAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAA/wAAAAAAAAAA/wEAAAABAQABAQEBAQEAAAABAQEBAQEBAQEAAAAD/wIB/gEAAQAAAAAAAAABAQH/////////AP4AAQAAAP8AAf///v////////////////3+/v7///8AAP8AAAAAAAAAAAABAQH/AQAAAAD/AAAA//8BAQEAAAAAAAD///8CAgIBAQEBAQH/AgEBAQEBAQEBAQEAAgEBAQEBAQEAAAAAAAAAAAAAAAAAAAAB/wABAQEBAQEAAAAAAAAAAAAAAAAA/v8A//8AAAD///////////////8AAP7//////////gH///8B/wABAP8BAAAA/wABAAEA/wAA//8BAgMA/wIAAQAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAABAQEAAAD///8BAQEAAAD///8BAQH///8BAQH///8AAAAAAAAAAAAAAAD//gEAAAAAAAAAAAEAAAABAQH/AAAAAAD///8AAAAAAAABAQH///////8AAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAAAAAAAAP4BAQH///8BAQH///8BAQH///8AAAABAQEA/v8BAAH//////wAAAAD/AQAAAAAAAQEAAAAAAAAAAAABAQH///8AAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAD//gAAAQD///8AAAAAAAAAAAABAQEAAAD//wEBAQEAAAAAAAAAAAAAAAEAAAD///8BAQEAAAD/AP4BAAMAAAAAAAAAAP4AAAMAAAAAAAD///8BAQEAAAAAAAD///8AAQAA/wAAAAAAAAAAAAIAAP4AAAAAAAAAAAAAAAEBAQICAf7/AAP/AP7/Af8BAf8BAf//AP4B/wMA/v//Av8B/gAAAf8C/f8DAf4B//0AAQIBAP4AAAMAAAAAAAAAAAAAAAAAAAD///////8BAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD/AAABAQEAAAAA//8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAv8AAAAAAAEAAAABAQH///8AAAABAQH///8BAQEBAAAAAAAAAAAAAAAAAAD///8BAQEBAQH///8BAQH///8AAAAAAAAAAAAAAAAAAAABAAIAAAD/AP0AAAAAAAAAAAAAAAAAAAAB/wAAAAAAAQEAAAAAAAAAAAAB/wAA/wAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAQAC/wABAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAABAQEBAQEAAAAC//4BAAEC/wIBAAAAAQD+/vz8/gH//f4CAgoAAQH/AP8BAP0AAAEBAAMDAAEBAQEBAQAA/wAA/wAAAAACAQEAAAD/AP////8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA//3/AAAAAQP//wD+AP4CAAH89/EHAgb9/vv+/vsCAf0A/f///QECAf3+//wCAf39Af3+Af4AAAABAAMAAf0AAQAC/wD+Af8AAfwB/v4B/wD//v///fwA//wD/gD+//3//vz+/v0C//4B/v/+AP3+APwC/v/9//sB//0CAP3+AAAAAf///gEAAAABAAAB/P8EAgL+AfL/AQQC/wcHA/z78/H88+oCER0F/wAAAfr7/wYHAgAA/AD7BQAC/wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAA////AAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AQECAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAQEBAAAAAf8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////////AAH+AAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAH+AP8CAQEB////AAAAAAAAAAAAAAH+AQAB////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAA////AAAB////AQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAD////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAA////AAD//v7+AgH////+//8C////////AAAA////AAAAAAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AQEBAAAAAAAA////AQEBAQEB////AAAAAAAAAAAAAQEB////AAAAAQEB////AQEB////AAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAQEBAAAA////AQEB////AAAAAQEBAAAAAAAAAQAAAAAA/wAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEAAQAAAAAAAAAAAAAAAQEBAAAAAQAAAQEAAQEBAAAAAAAAAAAAAAAAAAAA////AQEB/////////f39AQEB/Pz8AAMBAAED/wID/wABAAD//wAAAAAAAAEBAAAAAAAAAAAA////AQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQAAAAAC//8AAAAAAf8A///8/v7+////AAAAAAAAAQEB/wAAAAAAAAAA////////AAAAAwAB/gEBAQEBAAEBAAAB/wAAAAAAAQEB/wAAAf/+AAD+AAH+Af39/wD+///+AQD+AQL/Av0A/gEBAP3/AP7/AgD+AAEB/QH/AP4AAgD//gEBAQMAAQAD/wAA/////v7+AAH8AAID/////v7+/f399vjvBv4Y/f4DAwMCAQH//v4BAgL+Af8B//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAP///////wAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AP8BAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wEBAQAAAAAAAAEBAQAAAAEBAQEBAQEBAQEBAQD/AAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAP///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAEBAQAAAAEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///////////////////wAAAAAB/v////////8BAP/+/wAAAP///wAAAAACAQEAAAEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAP///wAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///QEBAf//AAEBAQAAAAAAAQAAAQAAAQAAAwAAAAAAAP///wAAAAEBAQAAAAAAAAH/AAAAAAEAAAD//wAAAAAAAAEAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA/QAAAAAAAP///wEBAP8A/QAAAv///////////////wABAP///////////wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEBAQAAAAAAAP///wAAAAEBAf///wAAAAEBAf///wEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAEBAf///wAAAAEBAQIAAAAAAP///wEBAf8AAAAAAP8AAAAAAP8AAAAAAAEBAQD//wAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA/wAAAAEBAQAAAAAAAAEBAgEA/gAAAAAA/wAAAAAAAAAAAAAAAP0A/wEAAAIB/wEA/wAAAf7//gD9AAAAAAIB+QEABQEBAf7/AwACAQIA//4C/wEBAQL/AwAAAAAAAAAAAP///wAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP8A/wD//wECAQEAAf7//gIBAgAB//v7+v///wAAAAAAAAAAAAAA/wEBAQIBAf4BAQMAAf8BAQH/Af4AAAEBAQIB//8BAf////4AAAIA/gD//v4A/v8B/gIA/gIA/f0B/QD//QEA/QH//gD//v8BAP8A/gL/AAAAAP7+/QD+/gD+/wAB/wD/AAIA/wACAwEBAP8BAQECAP///gD/AQEA/gH/AP////////Pz6QwSHQUEB/4ABAAA//8A/QACAAD+AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAD///0AAAAAAAD///8AAAAAAAD/////AQAA/wAAAAABAQEA/v8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAf8BAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAQAAAAD///////////8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQEAAAAC/wAAAQAAAAABAQEBAQEBAQECAAEAAAABAQEAAAACAAEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///////////3/////AP3////+//////3/////AAD///0AAAD/AQABAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8AAAAAAAAAAAAAAAABAQH/AP4A/wIBAQH///8AAAAAAf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAABAQH//wAAAAABAQH///8BAQH///8BAQH///8AAAAAAAAAAAABAQH///8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAC/wAAAAEBAAEAAAAA/wAAAAABAAAA//8BAQAAAwAAAAAAAAAAAf8AAAEAAAAAAAAAAAD///8BAQH///8BAQEAAAAAAAAAAAAAAAAB/wD/AAAAAAAAAP4AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAD///0BAAL///8AAP////8AAAAAAAD///8AAAAAAAAAAAD///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAD///8BAQEAAAD///8BAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAABAAD/AAAAAAABAAD/AAAAAAAAAAAAAAD/AAAAAAABAQEAAAAAAAAAAAABAAAAAAABAAD/AQAAAAAB/wAAAQAAAAAAAP8BAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAf8AAAAAAAD///8AAP4AAAAB/wP/Af8BAQEAAAD///8AAAAAAAAAAAABAQH///3+/gEBAQEBAQEBAQEAAvwA/v79/QAB/wACAgL9A/8B///+Af8B/wAAAf7+/wIAAAABAQEBAP4AAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wD/AAAA/wIAAQAAAAABAAAAAP7+/PkAAAAAAAAAAAABAf///wAAAAAAAAAAAP4BAv8A/wABAf8CAQH+//0A/wD/AP8B//0CAP//AP4A//0C//7//v3///wA/v0A//0C//7///7/AP4BAP4A//8C/wD/AP4B//4D/wD+//4BAP///v8BAAAAAQIAAf8BAQIBAgIBAQEBAAAA/v4A/v8AAAAAAP////349u/7+PEJCRP+/wABAAAAAfz/AAQDAAIAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAEAAD+AAD/AAD/AAAA////////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAP//AAAAAAAAAAAAAAAAAAAAAP8AAAAA/wAAAAAAAAAAAAAAAAH/AQEBAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAwABAf8AAwABAQEBAQEBAQEBAAAAAAAAAgABAAAAAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAA////////AAAA////////AAAAAAAAAAAAAAAAAAAAAQEBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAA////AQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAAAAAAAA////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAQEBAAAAAAAB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8A//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+Af///wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAA//4BAAD/AAAA/v7+AAL8Af4B/////v7+Av///wD/////////AAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAQEBAAAAAAAA////AQEBAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAP//AAAAAQABAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA/wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAD/AAAAAAD+//8AAAAAAQEBAAAAAwH//gEBAQEBAgAB//8C//8C/P/+AAP/AQEBA/8D/gMAAgEA/QD/A/8A/wD9AQEBAAEB/wAAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAH+AP79/v35AgIC/v7+AQAB/wAAAgAA/gD+AQH/AwAB/v//AAD+AQD+/wD+AgH//wD9AAD+/wD+Av78/v79Af/+///8AP/9AP/9AQD+Af/+AgH//v///wD/Af7+AP//AQAAAQH/AgEA/wEAAwABAQH/AQH//gACAAIAAQABAAEBAf/+AP8A/wIBAAADAf/9Af/9////AAAA/vv6+fXu/w8c/QIIAwABAgIE/f8AAQEA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAP///wAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAB/wAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQAAAAEBAQAAAAEBAQD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///////////////////////////////wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAQAAAAL/AAECAQEBAQAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQAAAAAAAAH/AAABAAEBAQAAAAAAAAEBAQAAAP///////wAAAAAAAP///////wAAAP///wAAAAAAAP8A/f///////QD//f///////gEAAP8AAAAAAAH/AAACAQAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAEBAQEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAP///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEC///+AQAAAAEC////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQD//wAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAP///QL/AAAAAAAAAAAAAAAAAP///wEBAQAAAAEBAQAAAAAAAAEBAf8AAAAAAAAAAAAAAAAB/wAAAf///wAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAH/AAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAgEB/gEBAf///////wD//f//Af////////7+/v////8A/////wAAAP///////////////wAAAP///wAAAP///wEBAQAAAAAAAAAAAAAAAAEBAQAAAAEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAEBAQAAAP///wEBAf///wAAAAEBAf///wEBAQAAAAAAAP///wIBAQAAAAAAAAAAAAAAAAD///8AAAEBAQAAAAAAAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAIAAQAAAAABAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAAA/gAAAAAAAP7//AD/AAAA/gAAAAAA/gAAAAAAAAIAAAAB/wAAAP0A/wEBAQIBAf8BAf8AAgABA//8/f///gL/APsFAP8ABgQBBAMDA/7//wIA/wAAAAAAAAEBAf8BAAD//wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP////7++gD+/QEBAQEC/wH+AQABAQAB/wIBAf//AP8C/wD+/gD//gAA/gEA/f8A/wEC/wH9/P7//QEA/QD//AH++/7+/QL+/gD//gD//gD//wABAQMAAQAA/v8BAf4BAAEA/QIBAP4B//8AAAEC/wH+AQEBAQEAAQD/AAABAAH/AAED/////wH/AP8AAP//BAAAAAMAAQAAAAL+//fy6/oT8wQBCAUCAP8BAP7/AgUAAP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAD///////////8AAAAAAAAAAAAAAAD+AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAf8A/wAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEAAAADAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///////////////////////8AAAAAAAAAAAABAAD+//8AAAAAAAAAAAAB/wAAAQAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAABAQEAAAAAAAABAQEBAAAAAAABAQEAAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQH///8BAQH/AAD/////AAAAAAAAAAAAAAABAQH///8BAQH///8AAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//wABAQH//wAAAAAAAAAAAAAAAAACAAD9AAAAAAACAAH9AP8BAQH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAD////////+/v4BAv////////////8AAAAAAAAAAAD///8BAQH///8AAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAB/v8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD9AP8AAAABAQEAAAAAAAD///8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAABAQH///8BAQEAAAD///8BAQEAAAAAAAAAAAABAAABAAAAAAAAAAD///8AAAABAQEAAAABAAAAAAD//wAAAAAAAAABAQEAAAD///8BAQEAAAD///8AAAAAAAAAAAAAAAABAQEAAAEAAAD///8AAAAAAAD///8AAAABAQH///8AAAAAAAD///8A/wAAAP4AAAAAAAAA//8AAAAAAP4AAP7///8AAf4DAAH+AAAAAP8AAAAAAAADAgD+AQECAAH+/gEA/v0EAgL/AP77/wD/AP3///0BAQgBAQECAQT+Av4C//8AAAAAAAABAQEAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAEBAQEA//z+/fsB//7/Af4AAAAAAP4BAQAAAQH/AP4BAv///v8CAP/+AP4BAP3/AP4CAP////4B/v0CAP3+//sA//sB/v0B/v3///4A/gAC/wAAAAH//wD+AAABAQEAAQABAv8B/gAAAAACAAD/AQEBAAEBAQECAgIB/gH+AQABAQEAAQEAAAD///////8CAQIC//8BAf8AAf4AAf8C/f/79e/29e4MBxEAAAT9/f8AAgH//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////////////AAAAAAAA////AAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAwABAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////////AAD+////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAQEB/wAAAAAAAAAAAAH+AAD/AAAAAAAAAAAAAAAAAQEB////AQEBAAAA////AQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAv8AAAAA/gEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAAAAAAAAAAAAAAH+AP8BAQEBAAAAAAAAAAAAAAAA////AAAAAAD+AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAA//7+AQH//v7+/v7+AgICAAAAAAAAAAAA////AAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAQEBAAAA////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAQEB////AAAAAAAAAAAAAQAAAAAAAAAAAAAAAQEBAAAAAAAAAQAA////AAAAAQEB////AAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAA/////wD/////AAAAAAAA/v7/AAD+AAAAAAAAAP//AAD+AAAA///9AAH+Av4A/QAAAAAAAQEAAAAAAgH//v4BAgH//gEBAQAB//4BAgAF////////////AQEBAvwEAQAFAAP/AwIA/gAAAwAAAAAA////AQABAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAQABAAD///8AAgIB/v7//v7+AAH+////AAAAAQEB/wAAAAD+AQEB/wD/AQEBAAL/Af4AAQEBAwH//v/+/wD9AAH///79Av/+//8A/AD+AP/+AAAAAgD+/gAAAgEB/f8BAAD9AAAAAAD+Af8AAQEBAQH//wD+AQECAQABAQEBAQEB/wABAAEAAQECAP8B/gD+///9/v4AAAH+Af//Af8AAAAA/v7+AQD++vn2+PjwCgD8AQED/f7+AwMA/wD9AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAP///wAAAAAAAAAAAP///////wAAAAH/AAAAAAD/AAAAAAD/AAAAAAEBAQAAAP///wAAAAAAAAAAAP///wAAAP///wAAAP8A/gAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAEBAQMAAQH/AAEAAAL/AAEAAAAAAAAAAAAAAAAAAAAAAAEBAf8A/gAAAAAA/wD/AAAAAAL/AP4AAAAAAAAAAP///QAA/////wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAL/AAABAAAAAAAAAP4BAAIAAAAA/gEBAgEBAQIAAQIAAQIAAQEBAQEBAQEBAQH/AAECAQEBAQEBAQAAAAAAAAAAAP///////wAAAAAAAP8BAP7//////////////////f//////////AQAAAP///////v8AAAAA/gAAAAAAAAMAAQEAAf8AAgEBAQAAAAEBAgEBAQAAAAEBAwEBAQAAAAAAAP///////wEBAQAAAAEAAAEAAAAAAAEBAQAAAAEBAQAAAP///wAAAAAAAAAAAAEBAQAAAP///wEBAf////8AAP8AAAEAAAAAAAABAf///wAAAAAAAAAAAP///wIBAQAAAP////8BAAAAAAAAAAEBAQAAAP7+/gAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAEBAQAAAP///wAA/gAAAAAA/wAAAAAAAAH/AAD/AP8BAAEBAQAAAP///wAAAAH/AAABAQAAAAAAAP///wAAAP8CAQAAAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP////8B/gH/AP////8BAAH+//4BAAAAAAD/Af8A/wEAAAL/AAEBAQAAAAAAAAEBAQEBAf8AAgAAAAAAAAAAAAD/AQABAAAAAAAAAP///wEBAQEBAQAAAAAAAAAAAAAAAAAAAP3//wAAAAAAAAAAAAH/AAH/AAAAAAAAAAEAAAAB/gAC////AAAAAAAAAAAA/gIA/gICAv7+/v///wD+//8A/v4C/v////////79AAEA/v7//wIBAP8BAAAAAgAAAgIAAwD//wD//wAAAP///////wAAAAEBAQAAAP8AAAD//wEBAQAAAAAAAP8CAf8AAAAAAAL/AP///wEBAQAAAAEBAQAAAP///wAAAAL/AP0A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAQAAAAAAAP///wEBAQAAAP///wAAAAICAv///wAAAAAAAAAAAP///wAAAAAAAAEBAf///wAAAgEB/gAAAAAAAAAAAAAA/v//AQAAAAAAAAAAAAEBAf///wAAAAAAAAAAAP///////////wEBAQAAAP///////wEBAf8A/f///QIAAP//AgD//////f///QAAAAAAAAAAAAIA/gAA//4AAP///wEA/gIAAQEC//4AAAMAAf8BAQECAgEAAQEBAf0E+AMAA/7+AQED/vz7/wD+/gD//QICB/3+AwIBBP4BAwMA/wAA/v8BAQABAwH/Af///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wECAf4BAP///gAAAP/9+v/9+gEB/wAA/wAAAAD+//8B/gAAAAAA/gEB///++wAA/wIA/v///f///QL/+wH//Pz/+wL/AAAA/wEA/wIAAQACAAD+/v4C/gEA/v/9/gH+/wMA/wH/Af0A/v8B/gMB/wECAv7+BP8C/QH+AQQCA////f8CAAL//////wADAPz6/P/+/gD///8CAAIBAQIDAAEB//8A/vj7+QgEBPTv2g8SK/gMBAYB/wH9//8DAgD+/AAAAgD/AgAAAAAAAf//AAEB/wEBAf///wAAAP4B/gAAAP//AQAAAAAAAgAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAQAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAABAQH///8AAf8A/wD////////9AP//AP/+AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAADAAEAAAABAQEBAQEBAQEAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAD/AQAA/wAAAAD+AQABAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEAAAABAQEAAAAAAAABAQH///8BAQEAAAD///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAv8A/wAAAAD/AQAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAAC/wD+AQAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD///8AAAABAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEA/wAB/wL///0AAAAAAAABAQEBAQH+AQEAAAAAAAAAAAAAAAD///8A///////////+//wC/wL////////+/v4CAv3//wD+//8CAAMAAAD///8AAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQH///8AAAADAAEAAAD9AP8AAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQEAAAD///8AAAABAQEAAAD///8BAQEAAAAAAAABAQEAAAD///8AAAABAQEAAAD///8AAAABAQH///8AAAAAAAAAAAAAAAD///8BAQL///8AAAAAAAD///8AAAAAAAAAAAD///////////8AAAD///////8AAAD/AP4A/f8AAP4BAf///v8AAAD///8B/v4AAPwAAAAAAAAAAP/9//8BAP4AAAAAAP4AAAD9AP4B/wEDAQD+AQEBAAEA/QEAAgIBAAEA+/4AAwMCAgQC/f/+AP7+/wD8AgICAgAAAAcAAgIAAP7/AQEDAQEAAP8B////AP8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAACAAEA//z///8AAAAAAAABAQH///8AAAAC/wD+Af4CAP/+AAAAAAACAP7+AP4BAP4B//7+AAAAAAACAAH9AAABAQEBAQEBAf8DAQH+AQEBAQECAAH+AQECAv///wEBAv8B/wEDAP//AQEAAP0BAf8CAAEBAQL/AP0AAAEAAAEAAAAAAAH//f3///7///7//wACAQEBAQEA/wIB/wAA/wACAwP++/4A+Pz39OMGCSb+AwAD/wEA/v0A/wUAAAAAAAD//wAAAAAAAAAAAAD///8AAAAAAAAAAAIAAAABAQAAAAAAAP8AAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAEAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAQABAAAA////AAAA////////////////AAAA////AAAAAAAA////////AAAA////AAAA////AAAAAAAAAAAAAwABAAAAAP8A/gEBAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAA////////////AAAA////AAAA///9/////wD9////////AAAA////////////AAAA/wEAAf8AAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP//AQEB////AQEBAAAA////AQL///8AAAAA/wEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAP//AAAAAQEBAAAA////AAAAAAAAAQEB////AQEB////AQEBAAAA/wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAA////AAAAAAD/Af/9/v79/v4CAwAA/wD9//8E///9AAAC/////////wAA/////v//Af//Av//////AQEB////AQEBAAAAAAAAAAAAAAAAAv8AAQAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAwABAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEB////AAAAAAAAAQEBAAAA////AAAAAQEBAAAA////AAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAA////AQEBAAABAAAA////AAAAAAACAAAAAQEB////AAAAAAAA////AAAAAAAA/v7+////AAAA////////AgD/////AAAA//7/AAH+AAD+Af7////9/////gD9AAD+AAD/AP/9AAAA///9AQD+AAAAAgD//wAAAAD+AAEB/QH/AQAAAQEBAQEC/v4BAQEBAQEB/wD+Af/+/gEBAQD++//+AQH//QH9AwMFAQD+AQH/AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAD+/v79/v37////AQEBAP7/AP///wAAAAD+Af8AAAAAAQD+AQD+AP/7AP/+AAD+AAH/Af7+AAD+AAAAAwD//gAAAQH/AgAA/wEBAQH/AgD//QD+AQH/AgH//wD/AP7+AAD//gEAAYD+fwEBAP8AAgD+/wL///8AAP4B/wP8/v7//wEAAAD7/P79/f0A/vz//f0A/wIBBQEBAQEA/v////8B//8CAf79+/8D+v31898NECL9BAIEAgAC/wH+AP8AAAD///8BAQEAAf4BAf8AAP4AAAD//gUAAAAC/wD+AQD///8AAAAB/v8AAAAAAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAAAAAAAAAAAAAAAA////AAAAAAH/AP8AAAAAAAAA/gEA//7/AAAA////////AAAA/wAA/gD//wEAAP8AAQEB////Av8AAAAAAAEAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAgABAAAAAQEBAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAA///////9////AAAAAAAAAAAAAAAAAAAA/wEAAQAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAA////AAAAAQEBAQAA////AAAAAAAAAAAAAAAAAAAAAAH+AAAAAQEB/wD/AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAA////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8A/gEAAAAAAQEBAP8AAAAAAAAAAAAAAAAAAAAA////AQEB////AAAAAQEAAAAB////AQEBAAAAAAAAAAAA////AQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAf8CAAD+AAAA//////8B/////v7+/v7+/v7+AAAAAQH/AAAEAv///v7+/v7+AgIC////////////AAEAAAAA////AAAAAAAAAAAA/v//Af//////AQEB////AQEBAAAAAv8AAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAwABAAAA/gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAAAAAAAAAA////AQEBAAAA////AAAAAQEBAAAA////AAAAAAAAAQEB////AAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AQEBAAAA////AAAA////////////////AAAA/v7+////AAAAAf//AP/+/f//////AAAAAv7/AAD8AAH+/v/////////////8AQL/AP7////9////AP/9AAD/AgD+/gAAAgH/Av/+AAEB/wAAAQEAAAEB/QEBAwECAAEBAAEBAAAE/v/9AgID/gD+A/8A/QH5/AH+BAQIAAQAAgICAAACAAAAAAACAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAP78/v77AP/9AQAA/wD/AAAAAgD+/gAAAAD+AQD+AAD+AAD////9Av//AAD////+AAD+/wAAAv/+/gAAAQH/AwEBAAIA/v7/AgH//QH+AgH//wD//wD+AAD/AQD/AQD/AgEA/wAAAQEAAgMAAgABAAAD/v7+A////gEA//8BAAH+/f77APz5//4AAQIGAgH/AQEBAAAAAP7+AQIA/f39A/7/A/38+/Pu+ffqAwgb/gEAAgAAAAABAAAAAAABAAAAAP8D//8AAAD/////AgIBAAAA//8AAAD/AQEB////AQEBAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP///////////wAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAP4BAAD/AAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAEBAQAAAAEBAQEBAQEAAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf////8BAAABAAAAAAEBAQAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAP///wAAAAEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAB/gEAAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf//AQAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAEBAQD//wAAAAAAAAEBAf///wAAAAD/AQAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAP///wL/AAAAAAAAAAAAAAAAAAL/AP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAP///wAAAAAAAAAAAP//AQEBAQIAAAAAAAAAAP7///////7+/gEB/f/9/f4CAv7//P//A/7+/P4AAQEBAQEBAf///////////wAAAAAAAAAAAAAAAAAAAAL/AAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAAAAAEBAQAAAP///wAAAAEBAQAAAP///wAAAAAA/gAA/wAAAAAAAAAAAAAAAAAAAP///////////////////////////wAAAP7+/gIAAP////7//v///wD//f///wAAAPz//QAA/gH+/f///v////////8A/QD+/AH+Af///f///gH//wAA/P8A/gEBAQD//wD//gEBAQMB//8AAAABAQIBAv8BAQABAQIDA////AECAv8CBAEEBgD++f8A/v7//vwE9QQAAP8BAgABAf8CAgEBAf///wIAAf8BAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP8A/gAAAQAAAAD//f7/+gH/+wAB/wD/AAAAAAAB/gAAAAEA/gEA//8A/gAA/wIA/v8A//8B/wH+/v8B/gAAAAL//v8BAAABAAECAv3//QEBAQIB//8AAQABAf8BAP8AAP0BAQD//gAA/gIA/v8A//8A/wEB/wAAAgAEA////wAAAAAAAAD///7+/gH//gD+/f/9/gEA/wEA/gEBAQMAAQAAAAD+/wD9/gH//wEC/v38+P70BvX14QcOGfv/AgIA/P8EAgD/AgAAAAEAAAD/Av///wAAAQAAAfz//gAAAAAAAgD/AQAAAAAA//4BAAMAAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAQAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAf8A/wD///8AAAAAAAAAAAD///////////8AAAD///////8AAAAA//8B/wAA/wAAAQH///8AAAD/AgH///8C/wAAAAAAAAAAAAABAQEBAQEAAAABAQEAAAAAAAAAAAAAAAAAAAABAQECAAEBAQEAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///3///////////////////////////8AAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8BAQH///8AAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAf4A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wD/AAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAA/wEAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAMAAAAAAAAAAf8AAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///////////8A/wIAAP7/AQAAAAAAAAADAQH9AQEAAAD/////AAD+/v4A/vsBAQH+/v8C/f7/BP/+/v4CAgL+AP8DAAD////////////////////+//8B//////8BAQH+AQAC//8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAABAQH///8AAAABAQH///8AAAAAAAAAAAABAQH///8AAAAAAAABAQH///0AAAAAAAAAAAAAAAAAAAAAAAD////9//7///8B/wD+/v7///////0B//////8BAP/+//////8A//3///3///8B//3///////8AAP7+APwA/v////////0A//0AAf0A/P4AAAAAAP0A/v0BAP8AAP4BAf//AAAC/vwAAAAAAQABAQEBAf8BAgIBAQEBAQEB/wUBAgL+AQEDAwQAAP0BAwUA/P8AAP79+gEB/wD+AgP+AgIBAQX///8CAQD/AAEAAAAAAAD///8BAQEAAAD///8BAQEAAAD/AP8BAAEAAAD///7+/Pz/AP0BAQAA/wACAP7//wD+AP4AAAAB/wAA/wAB/wD+/wD/AAAAAAAAAAACAAEAAP/+AgD//v4BAf8A//4BAQECAf/+AQAAAQACAP7+Af8AAP8CAQD+AQEEAgL+/v3+//7//v4BAAIAAv8CAQH//wAAAAMBAQEB/v78/v4B//8C/v3//f0CAQIEBQMCAgIAAP4B//0A/gL/AQH////+Af39+wEBAf789+7/+/n/BwIAAgP+/f////0AAAL9AAABAf4C/wIAAAAAAAAAAv8AAAL//gAAAAAAAAAAAAIBAP79AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAf8AAP8A/wEAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAQEB/wEA/wAAAQEBAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAQEBAQABAAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAA////////////////AAAAAAAA/wD9AAAAAAD+////////Af8AAAAAAQAAAP8AAAAAAAAAAQAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQEBAQAA////AAAAAQEB/wD9AQABAAAA////AQEB////AAAAAAAAAAAAAAAAAAAA////Af8AAAAAAf8AAAAAAP8AAAAAAP8AAAAAAAAAAAAA/gD/AAAAAAAAAAAAAAAAAAAAAAAA////AAABAAAAAAAAAAAAAQEB/wD/AAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAA/////////////////v//AQEBAf0B/gH+/v7+/v7+/v0A/wL///8BAAAA////AAAA/////////////////////v//AP//Af//AQEB/gEAAQEAAv//AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAv8AAAAAAAAAAAAA////AAAAAAAB/////wIB////AAAAAAAAAQEB////AAAAAQEBAAAA////AAAAAAAAAQEB////AAAAAAAAAQEB////AAAAAAAA/////////////////v/+AAAA//7//v78/////v7+Af//AAAA///+AP/9/////v78AgD+/////f78AP7/AAAA/wD8AP/9///9Af7/AP/+///9AAH8Afz9////AAD+AP/9AAD+AgD9AAD+AAAA//7+AQL//wEBAAEAAQAB/gL/BAECAQEB/gIEAQMDAQICAAAE/wD7/f8HAwP9/gEE//v/AgEE/v37AAQFAAADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAf8AAP///v/8Af//AgAB/f/+AQAAAAD+AQAAAQD+/wH+AAH+AQD+AAD+AQEBAf8A/gEBAAAB/wAAAAD+AQEB/wD9AAAAAQD+AAD/Af8AAQD+/QAAAP7/AQAAAQEBAwH//wAB/wEBAf8AAAAAAQEBAgECAgMD/v7+AAAAAQEBAAAAAP7///v7//3+AP7/AgUCAgICAQEBAAAAAAAAAAAA//38Af/9/AEAAAEJCAP9//j/9/Tr/gIPAQEOBQYEAAAA/v8A//0A///9AQH+AQECAwAA/P/8/gEAAQEDAQADAQEBAv8A/wACAQEA//79AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAIAAf8BAP///wAAAP///////////////wL/AP7+/wH+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAAAAAIAAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAP///////wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAQAAAP///QEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAf8A/wAAAAEBAf///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAf4BAQAAAAAAAAAAAAAAAP4A//////////////////7+/gEAAP8A/f//Av7+/v7+/v7+/v7+/v7+/v7+/gEBAf8BAv7+/gICAgAAAAAAAP///wAAAAAAAAAAAP8AAAAAAAAAAAAAAP4BAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP4BAAAAAAAAAAL/AAAAAAAAAAEBAQAAAAEBAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf8AAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAEBAQAAAP///wAAAAAAAAAAAP////////////////7+/v8A/wAAAAD//////////////wD//v///wD//f////7+/AH+//0A/QD+/f8A/v7+/gD+//8A+wD9/AD//gL/AAD//f///QD//P79+v///wIA/gAA/f8A/v4A/gAA/gIA//0A/gD9AAMA/wEB/wACAgIBAf0CAgEBAQICAP//Bf8DA/7/BP///gP+//7//QEBBwEBAv0C+P/8+/4F/gH+/gEBAf8A/wAA/QEBAwAAAAAAAAAAAAAAAAAAAAAAAP////8A/wEAAQAA/////////QIC/wEAAAD9AP///wAAAAAA/gAAAAAAAAL/AP8AAAAAAAEBAQABAAEBAf//AAECAAH+Af8B/gEAAQAA/gABAQEBAQAC///+AAAA/gEC/////wAAAAAAAAAA/gIAAf4AAAH/AAEC/wICAgAAAP4BAP8BAQEBAQAAAP7+/P7+/gD+/f///wQBAQICAgEBAQAAAAAA/wH//f4BAAD+/f3/AgMECAQF/f/5A/Px6PoC/f0DCAT99v39/fz9+Pv7+f38+////QAAAAEBAQQGEwICBAQEBgMCBQMDBAMDAwMAAAEBAQIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT///8AAAAAAAAAAAABAQH///8AAAABAQH///8AAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAD///8AAf8AAQD///8BAQEBAQEAAAAAAAABAQEAAAABAQEC/wABAAAAAQABAQEAAAAAAAAAAAABAQH9//4AAAD/AQAAAAAAAAAAAAAC/wABAAH9/v3///8AAAD///////3///////8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAEB/wAAAQABAQEBAQEBAQEBAQEBAQEB/wIBAgMBAQEBAQEBAQH/AQADAAEBAAEB/wABAgEAAAAAAAAAAAAAAAABAQEAAAD+/v4AAAD+AP//AQD//v////3///3///////////8AAAAAAAIAAP3/////AP4AAAD///0AAAAAAAAAAAAAAAAAAAD/AAD/AAACAQEBAQEBAQEBAQEAAAAAAAAAAP4BAQQBAv8BAQECAQEBAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQH///8AAAD///8BAAAAAAD/AAABAQMA//8A//8BAAD/AP////8A//8BAP7///8A/wD///8BAAAAAQH///8AAAD///8AAAD/AQD///8AAQD///8B/wAAAAABAAABAAH/AAAAAAD///8AAAAB/wIAAAD/AQAAAAAAAP7/AQAAAAABAAH///8AAAABAQEAAAAAAQAA/wD///8BAAH///8BAQEAAAAAAAD///////8AAAEAAAAAAf8BAQEC/wD////+AQABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8C/wAAAAAAAAD///8AAAAAAAAAAAAAAf4DAAAAAP8BAgEA/wEBAQEBAQEAAAAAAAAAAAAAAAAAAP4AAAMAAAAAAAAAAAD/AP4BAAIAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAD8//7///8AAAD/AAD+/v7///8AAAD/AQD9AQL+AP/+AP0BAQH///3+//8A/QD/Af7+/QP+AgH//vz//gMA//0A/gL+Af4CAgL+/v4BAQH//////////v7/AAAAAQEA//////8BAQEAAAAC/wAAAQAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAC/wAAAAAAAAAAAAABAQEAAAAAAAAAAAAC/wAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAgH///8AAAD9AP8AAAAAAQEAAAAAAAAD/wD////9AAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAABAQH///8AAP7///////8AAAL//wD///7+/v7////+/v7///8AAAD+//7////+/v4A/v8B//0A//7//v/+//wA/fz/AP3///3//v/+/v7+//0A//sAAP4A/f7//vsB//sC//8A/v8A//0B/voAAP4A//8A//7/APwA//0A//wA/v0A//39/v8DAwEAAAD/AQEAAQD/AAH/AwD/AgIBAgIAAgL//fsAAwMBBAQB//wBBP0B/vwA+vwF/vwCAv78/QQD/wYCAQkA/wb/AP8CAf0AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEA/gAA/v4A/PcEAP8A/gX+//0AA/kB/QH/AP4AAP4B//8A//4AAf0AAfwBAv0A/QL/Av4CAAL+//8A//4D//4CAP/+//39AP8B//8EAP/+/gAAAAEBAAH+//7///8B/wD/AP//Af/+Av8EAgD+AAL/AAEB/wAAAgAD/wAAAgD9///+/PsC/v4F//39+/sD/wEDAgcBAwb//gMB/wIGAQD+/v7//f3/Av0IBA0EBwT/Ag37AgAF9vH6+PP7/9v6+fL6+vr9+/v///8A/v/////+/gD8/PwIAPsDAwMAAwIBBgoIERgLEx4HDxsBCQ0LAAACAAAAAPkAAQEB/wQB/v/////9AQICAf8AAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB/wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEB////////AAAA////AAAA////AAAA////AAAAAAAAAAAAAAAA///////9////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAABAP7/AAAA/wEAAQEB////AAAAAAAAAAAAAAAAAAAA/wEAAQAB////AAAAAAAAAAAAAQEBAAAA////AAAAAAAA/gEA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAH+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQAAAAAA////////AAAAAf8AAAAAAAAA/////////v/+AAH+Af0B/QP+Av7+/v7+/v7+/v7+AQH8Af4B/v7+AQEB////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAwAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8A/gEAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAACAAD9AAAA/v7+///////+/////v7+/////v7+AAD+//7+/v7+Af///v7+//7+/wD9Af79//7+//78///9/wD+//38AP7+AP/9AP/8///9AP3+/v/8AP/8AP/+AP79AP78AP/9///8//78Av8AAQD9Af/9AQD8//79AgD/AAAAAAAAAAD+AAABAQEBAAH/AP8CAAIC/wEAAQMDAQMDAQADAAH9Av8AAQAAAgD/AQT//v0BAPwDA/76//38AP78/wID/wD//wD/AQEA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAEA///9/v/7///+AP8A///+AAD/AAH/Af4AAQAA/wH+AAH+AP8AAAAAAv8A/gH/Af4A/gD9Av8A/wEB/wAA////////AQD+/wH/AAAAAAAAAAD+AQEBAQEB////AAAAAAH+AAAAAv8A/gEBAgIB/wEBAgIC/gAAAQEB/v7+//79//79/f37/f37AAH+BgUJAQIAAf8AAgMBAgH/+/v7AQIEAwUGAwgGAgUIAQUFAAIDAgD+/f77+vj5+/n6/fz2+/n6/f37AQAAAAAAAwADAAAA//399Pz1/vz6//78AgIC/efhAQXSEBQbFxsgARouCQUCBgEJ+fr+AgX+BQQC//v/BwQA+/0AAAAA////AAAAAQEBBAAAAP///wAAAAAAAP///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQAAAAEBAQEAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP////////////////4BAP/+/wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQAAAAEBAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAP///wAAAAEBAQAAAP///wEBAQAAAAAAAP///wEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAEBAf//AAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAA/wAAAAAAAAAAAAEBAwAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf////8BAAD/AAAAAAAAAAEBAQAAAP///wEBAf8A/wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wAB/gAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAIAAP4A/v///wH+//4B/gAAAAP+/v7+/v7+/v3//AP/BAH//wIB/gAAAP///////////////////////////////////wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAEBAf///wEBAQAA/wAAAAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAP///wAAAAEBAf///wAAAAAAAAAAAP//////////////AP////////7+/v///wD+/AH//////wH9/QH+/v7+/gH//f///QD+/P3+/v///f/+/f7+/AH//f/9/AH//wD9/f8A+//++///AP7+/QL++/7/+wD////++wD++gAA/wH9/P///v4A/QEA/QL//gEA/v8A/gEBAQD9/gL/AAABAQAAAQAC/wACAgACAgAB///+BQD+AQH/BgEA/P8D/wAB/wEA/wIA/QAD/gD9A//8+f/++P/++/8CAgAAAv8B/wD//wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAv///v//+f8A+wEA/gEA//8A///9/wAA/v///wD//gAA/gAA/wAA/gAA/gAB/wL///8B/wL/AQABAQABAQECAgD/Av///gH/AP//AP//AAMB//4B/wEA/gAA/gAA/gEAAAD/AAIA//4B/wEB/wEBAf8BAgICAAAAAQABAf/+/v/9/gH+/f/+/P8A/QICAAEDAgEC/wIB/gIB/gIA/P4BBQMFBgUJDAEHBwQFCAIGCf4BBP4AAP75+f36+f37+QD+/AL+/f/+/wD+/wAB//7//gIAAAD////8Afz6//75/AEA/gH+//r98fjr7PHg3Bgo4BAjQwYRCQkGAgX9Afv//wIEAPz6+wAFBf///wEAAQAAAAAAAAT///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQH///8AAAABAQEAAAABAQEAAAAAAAABAQEAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQD/AAAA/v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEAAAABAQEAAAABAQEBAQEAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD///////8AAAD/////////AP3///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAP8AAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAB/wD+AP8AAAAB/wD///8AAAAAAP8AAAD/AAAAAAABAQEAAAABAAAAAAD/AAAAAAAB/wAAAAABAQEA////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEA/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQACAP4AAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAB/wAB/wAB/wD/AAAAAAAAAAAAAAAAAAAAAAD////+/v79/vsD/gP+/v3+/gP+/v4CAgL////+AP0B/wH////////////+//8B//////////8AAAAAAAAAAAAAAAD+AQAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAADAAH+AQAAAAAAAAABAQAAAAAAAP8AAAAAAAAAAAABAQH///8AAAAAAAD///8AAAD////////+/v7////+/gD///3///8A/f4AAP3+/v7+/v7///8C/v4A/v4A/vz9/vwA//3+/vz//v3///8A/f7///v+/vsA/fwB/v0B//0A/vv///oB/gEB/vr///wA/fwA//0A/f3/APsAAfwB/P0AAP4BAP4B//0A//8AAP7/AQECAf8AAP8BAAEBAQECAgIB/gACAAICAAIBAQECAfwCAQMB//wC/QAAAPoBAQL/AQIB/gIAAfsB/foB/fsB/fwA//0A/v8AAwABAQEA/wD///8BAQEAAAAAAAAAAAAAAAAAAAAA/wH//vn//vkA/v4B//sA/wEC/v/+/v//AP0A//0A//3//vsB//3///0B//7+//8B//8A//0C//7+Af8BAQEAAQEBAQEBAQEAAQEA/v8BAP7+AP4BAAABAf8CAAEAAAH+Af4B/v7/Af8AAf8CAgL//wEAAQEBAQEA/wACAAEA/v0A/fwC/v0C/v0B//4EAwEBAf8EAgP/Av8B/v8CBQIGCQkCCAwEBwwBBwsCAwUCBAP7/f7//fv//foBAPwEAv4A/wIAAQIAAv4A///9/f7////8///+/v759/kCAAL//wP7+v7//wH/AAP++/32+PLvy84a7/AdLkT7EiUIBAEOAf77+QD6CAYE/v7/////AAACAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAA/////wD/////AQAA////////AAAAAAAA////AAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////////////////AAAA////////////AAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AgIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAA////AAAAAQH/AAD/////AAAAAAAAAAAAAAAA////AAAAAAAA////AAD+////AAAAAAD/AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB/wD/AAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAIBAAAA////////AAEAAAAAAAABAAAAAP//AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA/f//AAAAAgAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAQAAAQAA/wEAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAA/wD9//4C/vz9/QP7/f0DAf39/QL9AgIC/v7+/v7+AgL//////////////////wAA/wAA/wAA////AAAAAQEBAAAA/////gEBAAD/AwABAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAv8AAAAA/gEAAQEB////AQEB////AAAAAAAAAAAAAQEB////AAAAAAAA/v7+/////////v7+Af7//v/+Af7/AP///v/8//////39//7+/////f78/v7+/v7+//79/v76//79/v78Af/9//3+Af/9//34//78Af7+Af38//76/wD8//z7///9//77Af/9AP38///9Af/8AQL9Af39AAD/AQD+AAD+AQAAAf/+AgICAAEBAgIBAAEAAQAAAAD/AQECAQEBAQH/AgIBAQH/AQH/Af/+AAH/Av/+AP79Av/+Af79AAEB//78AP78//39AP38/gH+AgIE//4AAQEAAAAAAAAAAAAAAAAAAAAAAAAA////AAD//v/7Af/4//76Af7/Af/8//79AP8AAAD7AP/9AP/+Af/7AP/9Af/8//79Af/////9Af79/v/9AP7/AgAA/gAAAQEBAQECAgEC/gP+//8BAQAA/wD+AQD/AQIAAQAAA/8A/gIAAP0AAgAB/wAAAAEBAAEBAAAAAf8A/v/8Af3+Af38//78AP/9AQAAAQEBBAQEAQMBAQICAgUEBggKBQkMAwkNAQYKAwgM/v7+/v7+AP79A//+AQH9AP78/vz6/f4A/v/9/v78AP7+/v79/f39/v7+/v7+/f74/P3++/v9/vz8//8B/gAAAQEBAgQD//8A6Nja9u/rHTFBARox7gIFCQkD//0B/QABAf4AAAAA/gEBAgEBBAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP////4BAAD/AAAAAP0A/wEAAAAAAAAAAP4BAAD/AAAAAAAAAAAAAAAAAAL/AP4AAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///////wAB/v///////////wAAAP///wAAAAAAAP///wAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wEBAQAAAP///wAAAAAAAAEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAA/wAAAP///wEAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAH/AP8BAAIAAf4A/wAAAAEBAf///wAAAAEBAf///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAP8AAAABAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAgAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+//8CAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAP///////wAAAAAAAAAAAAAAAP///////QAAAP////////////8A///+/v7+/P78A/0C/QL+/v7//P7+A/7+/v////////7+/gICAv///////////////////////wAAAP///wAAAAEBAQAAAAAAAP4BAAL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAf///wAAAAAAAAL/AAEBAQAAAAAA/wAAAAAAAAAAAP///wAAAP///f//Af7+/v////7+/gH+/QD+/v7//wH///8A/f7//gD+///+/f7+/gD+/P/+/v7+/P7+/v/+/P/+/AD9/QD++gD+/P/+/f/9/v//+//9+v/++gD9/P///QD++wD+/f/8+f//+wD//QD//P/9/gH//QAB/AH9AP7//QAAAAMB/wEB/wD/AAIBAAIA/wIBAQEBAQEBAQIBAgICAgICAgICAgICAAICAgMDAwICAgICAgEBAQICAgECAgEBAQEBAQMBAgAA/wH/AAD//f/+/gH//////wAAAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAD//QH/+v///AL/AAL/AAD///8B/AAAAQD+/AD//wH/+///+wH//v/+/QEA/gAA/QD+/f8A/gH/AP8A/v///QEBAQABAQICAgACAQH9AwAB/AEB/wEA/wH/AAD/AAEAAf8A/wAA//0A/gEBAgEBAf8AAgEBAv4AAAICAP77/wH+/QH+/QH9/gH+/wQBAgEBAQEB/wAAAAIDBQYJDAcNDwQHDAAFCQMHC/4AAAEBAAEA/QEA/P7++v/8/P/+/AH//f7//////QAAAAAB/v/////+/v79/fz9///+A/3+AP/+/gMDAwICAv/+/Pz8+wH5+ggJDfgBAPjz++PHugwa1BQsQ/0CJQgC+wIEAwADAgL/AP////3+/gQAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAABAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAD///8AAAD///////////8AAAD/////////////AP8AAAD///////8AAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAD/////////////////AP3///8AAAAAAAD///////8AAAD///4BAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAACAAH+AP8AAAABAQH///8AAAABAQH///8BAQEAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wIAAAAAAf4AAAAB/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEAAAAAAAAAAAAAAAD///8AAAACAAD+AAAAAAAAAAAAAAAB/v/9//39/QIDA/z+//z//QT+/v7+/v7////////+/v4BAQH///////////////////////8AAAAAAAAAAAAAAAAAAAD///8BAQH///8AAAEAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAABAQH///8AAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAD////////+/v3////+/v7//////v7+/v7/AP0AAAD//f7//v7+/v0B//0A/v79/fv//v79/fn////+/fwB/fwA/vr//vsA/fz+//wC+/z/APsA/voB/Pz//fwA/vwA//z///0A/Pn/AP0A//wA/v0A//8A//4BAgAAAf0B/gEBAv8BAQICAAABAgEDAgECAgICAgICAgICAAEBAQECAgACAgACAgACAgICAgICAwABAf8BAv8DAQABAgAEAgABAQACAf8CAgAAAQABAP0B/v0B//wB//wBAAIAAQMAAAMAAAAAAAD///8BAQH///8AAAAAAAAA/fwA//sA//sAAAAAAAL/AP3/APwA//8B//0A//3//voB//4A//sA//z///8B//4AAP8BAAH+AP0CAAD/AAABAP7/AAABAQH+AQMBAwD/AAIB/gEAAAD///8B/wAA/wAAAQEDAQEAAQEA/wH/AgL/AAIBAQIAAAIA/f7+//3//v4B/////fwCAAECAgUAAgEAAf8DBQUECwwHDhAICxABBwn/AgcBBAX9+/oA//0A/v0C/vz+/fv+/fsA/vwBAQEA/vwB//0B//7//v///v79/f38+/79/f36+f0DAwMDAwD+/v3//wAAAQUEAwUAAwD3+fgGBw3+/v/3+/z54+L18a8XJTARHTEHCQ0FBQUBBAQB/gD///8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AQAAAAAA/gEAAP8A////AAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AQEB////AAAAAQEB////AAAAAAAAAAAAAQEB//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAAAAAAAAgAB/gD/AAAAAQEB////AAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAQEB////AQEB/////wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAP8CAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEAAAAAAAAAAAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAf7/Av8AAAAAAQEBAAAAAf8AAf8AAAAA////////AP7+/v7+//3+/QL9BP3+/gL+/v7+/v7+AgL/////////////////////////////////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQEB////AAAA////////////////////////AP3+/////wD9//////3+/v7+/v79AP7+/f78//78/f39/v7+//76AP7+AP38/v37AP37AP76//79Af38/vz7Af/7AP77//35//79//3+Af/7AP/9/v77/wD9Av/+///9AP7/AQD/AP//AQMAAQECAgEDAwEAAQH/AgICAwECAgICAgICAgH+AQEAAwIBAQEBAgICAgICAgICAAEBAf8AAgH/Af8AAAH+AgABAQEBAwH/AQEAAAD+AAD+///9/wD9///9///9/v79Av4BAAIAAAAAAAAAAAAA////AAAAAAAA////AP79AP/8//7+AP0C/v8A///+//78////Af38/wD9Af/+//38/wD8AAD+AP7+/wAAAAAAAAD+AAAA///9////AAD/AAAAAAAAAAAA/gEAAQEB/wIBAQEB/wAA////Av8AAAEB/QAAAQEBAAABAAEBAgAC/wEBAgEC/fz9/f39/v78/v7+AP3+Af4BAQQC/wEAAgMDCQwLBw8PAwkKBAcIAwcK/P8D/f//BAMB/Pr9/P35/v36/v78AgD++/7+/Pz8AgD+/QD+Af8AAP8AAgABAgABAwEC/wD+BgYA/v75+/78AAMBAAEE/P4B/f//AQEDBQAE/wD7/PwAAQMEBwIE9u/y39HG7+fYGjJYDAoLCQkJAwAB////BAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAMAAQEAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+//8A/wH///4A//////////4A//8A/wAA/gAA/wAA/gAA/wMAAf///wAAAAAAAAL/AAAAAAAAAQAAAP4AAAAAAAAAAAEBAQMAAQEAAQAAAAAAAAAAAAAAAAAAAgAAAQIAAwIAAgEBAQAAAAEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///////////f///v///f/////+Af/+AQAAAAAAAAAAAAAAAAAA/wAAAAAAAAEB/wAAAQAAAAAAAAEBAQEBAQAAAgEAAAEAAAD//wD+/wADAQEBAQEB/wEB/wAAA////wH/AAEBAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wAAAgAA/QAAAAAA/gAAAQAAAAAAAP///////f///////////wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP8BAAAAAAH/AAEBAQD/AAAAAAAAAAAAAAAA/gAAAAAAAAAAAP8BAAABAwAAAAAAAAD+/wAAAAAA/gIAAf4A/gAAAQEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAAAAQAAAAAAAAAA/////wEAAAEBAf///wAAAAAAAP7//wAAAAEAAAAAAAEBA////QAAAP///wEBA////////wAA/wAB/gEBAQAA/v///wEAAwAAAAAAAAEC/wAA/wD/AgAAAAAAAAAAAgAAAQEBAQAAAAL/AAEAAAEAAAEAAP4B//8A/wEBAQD/AQAAAAAAAAAAAgEBAf///QAAAAAAAAIAAP0AAAAAAAAAAP8BAAEBAQAAAAAAAP////////////4BAP4BAAL/AP7+AQAAAP8BAv8B/gD9/wH/AAP+AP///P78AvwC/AEEBfz+/QL+/v////7+/v8C/f7///39AQEBAQEBAf///////////////////wEBAf///wEBAQMAAQD/AAEBAf///wEBAf///wEBAQAAAAEBAQAAAAEBAf///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAL/AP0A//////7+/P////////7+/gL/AP/+/gD+/v////8A/f////7+/gH++/7//v39//7//AD9/AD++gD8/AH+/AH9/v79+QD++QL9/AD+/f79+//8+wD++v/7+/7//QD/+wD//gD++gD++v/+/f///QD//QEA/gD/AAECAAED/wICAgEB/wMBAQIA/wIC/wICAgEBAgQCAQICAgEB/wIA/gEBAQEBAQABAQECAgABAQEB/wEB/wIC/wEBAQEBBAICAgIAAwEBAQAA/v4B/gMA/v8DCAIBAwX//gP+/QD//f//////AAH//wAA/gAAAP//AAEBAwAAAAEA/gD++f/9+f/99f/9/QH//wEA9gD/+QH++AD+/AEA/wD99gAA/gD9/P//+gD+/wH//gH/Af///////gH/AAL//wIAAAAAAP3////+/v8A/wIDAP/8/v4AAgMCBQIDAP79///9/f///AP+Bv8AAP4CAAAAAAEAAQIBBAEBA/z9/QH9/AP//v38/QD7/QQDAwEA/f///gADAQYLDgQKEQQMFgIJDAICAQD+/QEBAQEBAv/+AgACAwMDBAIA/vv9/P7//QEB/QIC/v78/wIAA/0A/f8BAAACAQACAf0A+/39/QAD/v8BAAICBP/////+AAMA/wMCAQAA/gACAvz9/////wD++vf9+QICAgP5//Ln7fzMpRooQfkZKgUHAgkB/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD/////////AP3///////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQH///8AAAABAQH///8AAAABAQH///8BAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAD///8AAAAAAP79AAAD/wL/AP4AAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//wIAAAAAAAACAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD/////////////AQD+AP8AAAD//////////////f7+/v7+/v7+/v7///////////8AAAD///////////////////8AAAD///////8BAQH/////AAABAQEAAAABAQEBAQEAAAABAQEAAAD///8BAQH///8AAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////9AP///////////wH///7///8B/v/+///+/v7+/v7/////AP7//f7+/fwC/v7//v3//f0A/f7//vsA/v0A/Pv//fv+/v7+/fsA/voB/fv//Pv//fv9+/r/APwC/fr///4B//3//fwA/vr/AP4A/v0AAf4BAQEAAAECAgABAQEBAf8CAgADAQIBAQECAP8BAQEBAQEEAQIBAQABAQECAAABAQECAgIBAQECAgICAgICAf8BAQEBAQEBAQABAQEBAf8AAAAAAAAAAAABAAADAAEAAf4A//sBAAD///v+//oA/vsCAPsAAAb///8A//8BAQEAAAAAAAAA/v//Af3//vz///4B//8A//v//v0A//3///0A/vwA/v0AAP7/AQAA/gH+AQABAAP/APwA/wH/AAAAAAAAAAH9//7//f3/AAAAAAAAAAACAP4AAQAC///+AgIA//8BAQEAAwIBAwL+/gL/AAP9/f4AAP4DAQH+AAIA/wMBAQEAAAAAAf79AP/+/v7///0AAf0AAP//AAABBgQGCAoIDhIFDA8FCQoABggCAAAAAAD//wH+/wEAAQEAAAABAQH/AAABAv8BAQEBAQEB/wL///z+/v3+/v/+/v7+/v0AAAABAQECBQH9/f8AAAABAQEBAQEA/wIAAAD//wD///8CAgL+/v4AAAD9/f3+/P7/APoEBAP9/f0E7/bk18gY/fkVGyv7AwoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAA/////wEAAP8AAAAA////////AAAA////////AAAAAAAAAAAAAAAA////AAAAAAAAAAAA/gEAAQEB/wAAAAAAAv8AAAAAAQAAAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////AAAA////////////AAD+AAAAAAD/AAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAAAAAA////////////////AAAAAAAAAQEB////AAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAA////AAAAAQEBAP//AAAAAAAAAQEB////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAD+////AAAAAAAA////AQACAAH+AAAAAAAAAAAAAAAAAAAAAAAAAAH+AAADAAAAAAAA///9AAABAQEDAAAA////AAAAAAAAAAEBAAAA////AQAB////AAAAAQEBAAD+AAAAAAAAAAAAAAAAAgAA/QAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAAAAAAAAAAAAAA////AAAA/wEAAP7//v7+/f39A/7+/v7+/v/8/v4E/f39AwICAQEB/v7+AgIC/////////////////v7+AgIC////////AQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAQEB////AAAAAAAA/////////wD//////v7+/////v7+////Af////////////////78///+/f39/v/8AP38//39//39AP38AP78//36//z7//37/v38//76AP34/v76APv7//36//37AP/8Av75///////9Af/+///9AgAAAAH/AQEAAAIAAAACAgEAAQH/AQECAgIAAgEBAQEBAgD/AgICAQEBAgIBAQEBAgICAgD/AQEBAgICAQEBAwICAQH/AQEBAQEBAwH/AQABAwICAQEBAgABAAH/AQD+AAD/AP/9Av8CAP/8Af//AP8E//75Av74AP8KAgD8//8CAQAAAAAAAAH+//8AAAD/Af79AP/9/wD9AQH+AAH+AgD//wD+AgD+/gAAAAD+Af8AAAED/wL9Av8EAP0AAAMAAAH/Af7//wD/AP/8AAAAAAAA/v7+AAD+Af8AAAH+AP//AAIAAQD/BAEA/gEBAAEBAgQF/////QEC//33////AgEEAgEC/gEEAQED///9///9AP3+AP7/A///AQD//AD+AAMCBAgLCA8QCA8XBAoQAggM/wIG/wD9AP7/AP4AAQD//wH+AQH/AAD/AAD+AAAAAAAAAQAAAQL/AAAAAAAA///9/v7/////AAD+AgICAAAAAAD+/v7+//8B/v//AAEBAAAAAP8AAQABAf8BAQEB/v7+/////f39/f77/Pz8AgL6BAIM+fnj7AL+BP4GDBkkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wAAAP////////0A/wAAAP///////wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAAAAAP///////////////wAB/gD/AAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf//Av8B/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf//AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAL//wEAAgAAAAAB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v//AgEBAQAAAAAAAAAAAAAAAAAAAAAB/wD/AQAAAP///wAAAAEBAQIAAP8AAAAAAAEBAQD//wAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAP///wAAAAAAAP4BAP3///3//wD//wAAAAAAAAAAAP////7+/gH+/P3++wP8A/0DA/4D/v7+/v7//wH+/gIB//////////////////////7//wD//wH///////////0BAAQAAf///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP////////8A/////////////////wH+//7+/v8A/f/+/v/+/v7+/QH//wD+/P/9+/39/P7+/v/9+v/9/f/9+//8+f/9+v79/QD8+QD++//99wH9+wD9/AD9+wL++////f7++gAAAP///wAA/gEBAQIB/wEBAwEBAf8B/gH/AAECAAEB/wICAAMBAQICAgAAAAMBAAEBAQEBAQEBAAICAgIA/wEBAQEBAQIBAQEB/wEB/wEBAQMB/wEBAAEBAgEBAQEBAQEBAQEC/wH/AAAA/gEA/gAA/wD//QD/+wH/AQEA/gD9+QD8+AL++wD//f///wH//wAA/gD/AAAA/f///gD//f///gL//v///wAAAP4BAAEAAAEBAQEBAQECBP///QIAAv//Af7+/AADBAL+Af8C/wAA/wD//wIBAQEB/AABAv7+/QH//f/+/P/8/v/+/P8CAgEBAf///wAB/gEBAQEEA/8BBv78/P/79gD9AP///wIAAQECAQEBAf//AAD+/wD//wQA//0A/wEA/wADAwIFCAYMEAYOEwILEgMICgAECAABAQD/Av///QEB/gEAAAAA/gEA/gL/AP//AAH+/wD//f////7+/gIB//4B/gAAAAAA/v///f//AAAA/gAA/gMDAwICAv3+AAD+/v//Af///wEBAQAAAP/+//7+/v39/QAAAAMDA/////z9+vv7/vQF+QoEB+7q7PoBzhkF/gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAD///////8AAAAAAAD///////////////8AAAAAAAABAQH///8AAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////8AAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH///8BAQH///8BAQEAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAD///8AAAAAAAAAAAAAAAABAQEB/wAAAQAAAAAAAAAAAAAAAAAAAAD/AQAB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAQEA/wIAAAABAf7///8AAAAAAAAAAAABAQH///8BAQH///8BAQH///8BAQH///8AAAABAAL///8BAQD///8AAAAAAAAAAf4A/wD///8AAAAAAAAAAAAAAAD///0AAAAAAAIAAAAAAAD+AQABAQAC/wD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8C/wEAAAAAAAABAP////8AAAAAAAAAAAACAP/+Af8AAf8BAQEAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAAAAAAAAAAD/AQABAP7//////f7+A/7//f7+//z+/gL+/v4BAQH+AP/////+/v4BAQECAgL///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAD/////////////////AP/+/v7///3+/v4A/f7+/////vz////+/v4A/v0A/vz+/vz+/f3//PsA/vz+/fz+/fv//fn//PwA/Pn//fv//PwA+/j+/voB/vn+/vwB/f0A/fz///oBAP7///8AAAABAQEAAAEBAQEBAgMBAv8AAAAC/wEBAwABAQEBAf8BAf8CAgIBAQEBAf8BAAEBAQEBAQECAgEBAQEBAAABAQECAQEBAf8CAgIBAf8DAQABAQECAgICAgIBAQEAAAABAQEBAQECAgABAAEAAAABAP4A/gEC/wAAAAAB/v0A/v0A/voB/PgBAwoAAP0C//7+AP8AAAD/AP0B/v8AAPwCAP7/Af0AAAAA/wIA/wEAAgP+/QIAAQP/AAD/AAAA/wAA//8BAQP/AAAAAgIAAP4BAf8A//8C/gH/AQEAAf8CAgIA/gL+/wD9A/8CAAL//v7/AAAAAP7///8BAQEBAQMCAwIDAAIABQf8//v//f//A/4CAP7/AAEB/v8B/f4D/gAAAAH//wD+AAAEBQcDDBIHDxQHDBQACQ0ABQgBAwP/AAIB/f7/Av8B//8B//wBAP4C///+//sB//3//vz//////f4A/v////4A/v8AAf4AAf4AAAAAAP7///3///4BAQMBAQEDAwL/AgH+/f/+/v8A/wACAAD///////8BAQEAAAABAQECAgIB/QMAAP73+PIFBxL//wH7+PH07N4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/QD//wD/AAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAQEBAAAAAP8AAAAAAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAA////////AAAAAAAAAAAAAAAAAAAAAAH+AP8BAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQH+////AQEBAAAA////AQEB////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAP8BAAD/AAAAAQL///8AAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA/gEAAv8C/wD+AQEBAAAAAAAAAAAAAAH+AP8CAAAAAAAAAAAAAAAAAAD+AAACAAAAAAAAAAAAAAAAAAAAAAAAAv8AAAD/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AP7+/v78/v/8/v4E/v7+/gH+/v7+AQEB/////f/+Af8B/////////////////////v//Av//////AQEB/QD/AQEBBAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA///////////////9////AP7+Af////7+Af///v//AP///v79Af//AP7+//38//37/v78AP37//39//77APz7AP37APv5AP76//z5/vz7//37APv5Af/7AP77AP78AP/9//7+AP///wH/AQIDAgEAAAAAAQEDAQH/AAAAAQEAAAAAAgECAAH/AQH/AQEBBAIBAQH/AQEAAQEBAgECAAAAAgIBAQEBAgABAQEAAwICAAAAAQEAAAAAAQEBAQH/AQEAAQH/AQEBAQEBAQEBAQEBAgABAQEBAQABAgD/AAAAAAH+AQD+Af///wD+Af77Avz4APv1AAMJAQID/wAGAf/+AAD+AP//AQAAAgD/AAD+AP8AAAEBAAEBAAEBAf4A/wACAAACAAD/AAD/AAACAQEAAP8AAQED/wH9Av8D/wL9AP////8A/v//AQH//wD/AAL//wMEAgEAAAEE/vv3////////////AQEBAAAAAQEBAgIEAAYJAv4A/v78AP7//wH//v/+AP7+AP7/A//+/f///wEDAAQHBAkNBQ4RBg0UBAwRAAgLAAECAQEBAP4A/gH+AP///wD9AP79Av///QD9AAH+///9AAD/AP7+Av///v7+Af7////+AP7+Af8AAQL/AQD/Af4BAAAA/f39AQEBAAEBAQEBAAEAAAEB//7//P//AQH/AAIBAQEC/v7+/f39/f/+AAIBAwIG//z6/Pj0AAkGAgAPA///BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEAAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAL/AP//AP//AAAAAP4BAAAAAP8AAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAP///////////////wAAAAAAAP///f///wAA/////wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAP///////wECAAAA/wAAAAAAAAAAAAEBAQAA/wEBAQD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAP//AAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEB/gAAAf//Av//AAAAAAEBAf///wAAAQAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAEBAQMBAQH/Af0AAAAAAAAAAAAAAAAAAP///f7+A//9/v4D/v39/QIB/v7+/gICAv7+/gICAv////7+/v7+/gEBAf///////////////////////wEBAQAAAP///wEBAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP////////7+/v////7+/v////////7+/v8A/f/+/v/+/v///wD+/v7//f/9/v79+wD9/P/++/78/P7++wD8+f/+/QD7+AH8+gH8+f79+QH8+//9+wD9+f///gD/+wH//wAAAAEBAQICAwEBBAEC/wEBAQAA/wEB/wAB/wIAAQAA/wAAAAECAQAAAQEB/wEB/wEBAQICAQEBAQAAAAACAQIAAQEBAAEBAQEA/wEBAQEBAQEBAQEB/wEBAQEBAAEBAAEBAQAAAAAA/gAAAwEBAQEBAQACAQAAAAAAAAAAAAAAAAEBAQH/AP///QH+/QEC+v/99v/8Bf/8CQAFBQD+CAAB/gAA/gEAAAAAAP///wD////9/gH//f///QH//gD//QIA/v8A/gH//v//AAD/AAAAAAEBAwAAAAEAAQAA/QAAAwAA/wAB/wEDBP7+/gD+AAIBAQAAAAABAQAB/gP/BP79/f39/QIAAQD+/wAB/wABAAIAAv8DBgIB/P8B/QAA//7//AEAA/7//wP+AvsB/gABAQIFBQQGCQUOEwUQFQMMEgAJDQECAwAAAP///wEA/wH/AAEA/gD+/QD++//+/P/9/AD9/P/+/f/+/AH//f4A/QAAAP8A/QH//QD9/v8A/wIAAAAAAf8B/gACAP7+AP////0A/v8AAAEBAgEBAQABAP////4AAP8BAP8AAP4BAPz//vz+/f7+/gEBAQICBfn8+QX9Afn4/AH+BQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAABAQEAAAABAAAAAAAAAAABAQEBAQEAAAABAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///////////8AAAAAAAD///8AAAAAAf4A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEAAAAAAAABAQEAAAAAAAD///8AAAAAAAAAAAABAQH///8AAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAD//////wD///8AAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAD///8BAQH///8BAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wIAAP0AAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQH///8AAAAAAAABAQH///8AAAABAQH///8A/wEAAP8AAAABAQEA//8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//wABAQEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAf4A/wIAAAAAAAAAAAAAAAAAAAD///8BAf4AAAMAAAD///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAD9AAAAAAABAQEAAAAAAAAAAAD///////8B///+/v7+/v7////+/v7////+/v7////////+AP8B//////////////////8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAABAQEBAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAD///8AAAAAAAD///////////////////8A///////+//z/AP///f7///////8B/v/9/vwA/v/9/vv//v7//f3//v3//fv//f0B/Pz//fsA/Pv/+/oA/PoA/fsA+/oA//z//v3///0CAP0AAAACAAMBAwIBAQEBAf8AAf4AAAAB/wAAAP8BAAEBAf8CAAAAAP7/AQMAAAABAQABAQABAQEBAQABAQEAAAABAQEBAAEBAQABAQEBAAACAgIBAQEBAQECAgEBAf8CAwD/AAECAAABAQEBAQEBAQECAgIBAQEAAAAAAAAAAAAAAAABAQEAAAD///4B//3/AP0A/wAA/gEA/ff//vsB/vwB//3+AP4AAAAAAP8DAQEA//7+/fz+/v4D/fv///wB/vwA/v3///wB//0A//4BAAD+//8AAAAAAAAAAAABAQL/AP8AAP0AAAACAgL//wECBAL//wMA/v0BAQH+APv//wAFBAb7//kB/gEA//8AAAD+/vwBAQMAAQD/AAT/AQMBAQECAP7/AAD/AP4CAAICAgL9AwH+AAMEBgYGCw4HEBIBCw3+BwgCBQf+/v4A/v8BAP8AAP8AAP8AAAAAAf4AAf7+/vwB//3//v4A//0B/v////8A/v8A//0A/v//////AP3+/gABAQEAAAABAQEAAAADAwP9/f3+/v7/AQD/AQECAQEAAQABAQH+AP/+//3+/wD/AP8AAQP/AP79//z+/f4BBQ4B/fwKBAsB/gH5+P0EAAAAAAAAAAAAAAAA/////wEAAAAAAAAAAP7/AAAAAAAA////AAAAAQEB////AAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAQEBAwABAQABAP8AAP//AAIBAQEB////AQEBAAAAAAAAAQEB/////QD//wD/Av8A//8A//8A/v7/AP//AQAA///+/////v//AAAAAQEB////Av8AAAAAAAAAAAAB/gAAAAAA////AwADAAAAAQH/AQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAD+AgACAQEBAQEBAgICAQEBAf8AAf8AAgEBAQABAAAAAAAAAAAAAAAAAAAA////////AAAA/gD//gD//gD//gD///8B////////AAAAAAAAAAAA////////AQAAAAAAAP8CAP///gD/AAIBAAAA////AAEAAAAA/wEAAAH+AgEEAAAAAP8BAAEAAf8AAAAAAAACAQECAAAAAAAAAQEBAAD+AAACAAAA////AAAAAQEBAAAAAQEBAv8AAP8A/gEAAAAAAQEBAAAAAAAA////AAAAAQEBAAAA////AAAAAQEBAAAA////AAAAAAD+AQEB////AAACAAD+AAAA////////////AAAAAAH/AAD/////AAAAAAAAAAAAAAAAAQEB//4AAAAAAAH/AAAAAAAAgP9/AAAAAAAAAAABAQEB/wAAAAD/AP8AAgEAAAAAAAD///8AAP8AAAAAAAAAAAIAAAAAAAAAAf4BAAH///8AAAIAAAAAAP4AAAAAAAAAAAABAQH///8BAQH///8AAAAAAAAAAAD/AQAAAAD/AAAAAP8BAAEBAAP/////AP8BAf7///8BAQH///8AAAAAAAIAAP4AAAAAAP4CAAABAQEAAAAAAAAAAf4AAAAAAAD///8BAAMBAQEA/wAAAAAAAAAAAAAAAAD///8BAQH//wEBAQEAAAEC/wAAAAABAQEA/wABAQEAAAAAAAAAAAD///8BAQEAAAD///8AAAAAAAAAAAAAAAD///8AAAABAQECAgL+/gEBAQEBAQEBAQEAAAAAAP79///+AAD+AAT+AP7+Af3/Av8A/f4AAAL////+/vwA/QIC/AL+/AQAAgL+/QQDAgL//vz+/f8DAQIBBAH///////////////8AAAD+//8B//////////8AAAAAAAH///8CAgIAAAAAAAD///8BAQH///8BAQEAAAD///8BAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAD///////3////////+/v7//////////////vz/AP7//f7//wAA/f4B/v3+//r//QEB/fsB/fsA/Pv+/vz+/fkB/fsF/fr8+/kA/Pz//PgA/PkA/PoA/vwA//4A/v8EAP//AQIBAQcAAAABAv8AAAAB/wABAQAAAQEAAP8BAgABAAAAAAEAAP//AQIAAQEAAAABAQEBAQABAQIAAP7//wECAAABAQECAAABAQADAQECAAECAAICAQABAQEBAf8BAQIBAQIC//8CAgABAQECAAECAQQBAQECAAEBAAECAQABAQAAAv4BAQECAPwCAQL/AAQBAf4D//0C/QYB/wABBfsAAvkBAQL//f4BAv8CAwEA/v7+/vwB/fsA/fwD//3+/foA//3//PkC//wC/vv////+/v3///8CA/8AAAAA/wIAAAAAAAD/AQL/AQIAAAIAA/wA//3///3/AAEBAQMAAgMC/wT/AvsA/AIDBQIAAAD+/Pn+/v4C/wEA/wEA/wAC//8CAQD7AQH8/v4BAgQB/wP9//z+AfwC/PoBBgkACxIBDxcADRUCCAwBAwYA/v8B/wD/AP/+AP0A//3///sA/Pz//fr+/v4D//b+/vsA//wB/v3///0A/v0BAQECAgL9/fsCAAECAgIEAP7+/f/9///9/f3///8A/v0DAwP9+/38/gABAgD/AAD+AAEBAwT7+fn//wD9//z9/f38/fz//wD+AAAAAAAA/vcFBgj7/PwGAf76+fIEAAAAAAAAAAAAAAAAAAAAAf8AAAAAAAAA/wAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAAAAAAAQEBAQABAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB/gAAAQEBAf//AAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA///9AAAAAAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAQAAAP8AAAAAAP8AAQAAAQEBAf8AAQACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////AQABAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAf8A/wEAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAD+AAADAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEB//8AAAACAAAAAAAAAAAA/////////v7+/v7+/v7+/v7+/v7+AgIC/v7+/v7+AQEB/v7+AgICAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEB////////AAAA/v7+//////8B//8A/v79/////v7+//////7+//////7+/////v7/AP7+//78/v/+//79//78/v77///7AP/8AP/8/v35Af37/v36//37//35//36AP/6//7+/wD+/wD+AQEBAAAAAQEBAQL/AAABAAAAAgH/AAABAAEBAAAAAQD/AAAAAQEBAAABAAAAAAAAAAAAAQEBAQEAAQEBAQABAgICAQD/AgICAQEAAwEBAQEBAQABAQABAAD/AQEBAQEAAQEBAQH/AQEBAAD/AQEBAQABAQEBAAIBAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAH+AAAD////AAH8AQEDAQIGAgEHAAAAAAL/AQD///39AP7/Af4AAPz9//72/wD4Afv3///9AP7//wD+/P//AAAA/wEA/gH//f0AAv8A///9AQEBAQEBAQEBAgEB/wL+////AAAAAQEDAv///wEAAP8D/wP/AwAF/v8C/wEAAv//////Av/7AAH9Af/8//8BAAAEAAIDAQEDAQAAAQACAQIC/gEB/gD/AgcLAwoOAg4SBAsOAwgKAQQG/wEE/gD/AP7/AAAA//7/AP78Af39/f37APz7AP37/f39/v7+AP3+////Af8AAAAA////Af7/AQMCAQEAAgD/AAAA/gAAAf3+AQEB/gD//wEAAAEAAAMAAP7////+/P///f39AQEBAAAA/v/8//7+////AQAA/f7+AP7+AAAA/////////v7+//39/fv6BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wABAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAP///////////wABAAAAAP0A//8A//8BAP7//wABAP8AAP8AAP////8BAAAAAP///wABAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP8CAf8AAAAAAAQBAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAA/v///QAAAP////8A/f8A/gAAAAAA/v///////wD//////////////wAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAA/v///////wAAAP///////wAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAA////wEBAQAAAAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQL/AAABAf8AAAABAQEAAAD/AAD/AAD/AP4AAAAAAAAAAP///wD///////7+/v7+/v////////////7+/v8C//////7+/gEBAf///////////////////////////wAAAP8AAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAP////////////////////////////7+/v7+/v///wD+/v/+/v79+/7+/P3++wH9/QD9+f/9+gD9/AD9+QD9+fz8+AD8+wD9/P/++wD++gD//gAB/wEA/wMDAQIAAQABAQAAAAAB/gEBAQH/AAAA/gAAAAABAQH/AAABAQAAAQAAAAEBAQAAAAABAAEB/wEB/wEBAQMB/wAAAQIA/wICAgEBAQEBAAEBAQEBAQEAAQEAAQICAQEB/wEBAQEBAQEBAAEBAQICAQEBAQABAQACAQEBAQEAAQEBAQAA/wEBAQABAQEBAQAAAAAAAAEB/wH/AgAAAP8A/P8CCAMCCgEBCQAAAgAAAAAAAP/9/gH9/gH9+v39+AD99QD/9wD+/QIBAf8BBAABBgACAQAAAgD//QIAAAH9/v///wH+/QH+/wAA/v///gD//gD+AAEBAQECAgAAAAAB/gAAAv8C/QH/AgABAP4EAQD+AQECAQL///8AAP/6/wH/+wAA//wAAQIBAQICAwD9////AgD//wEBAQADAgUIEAMMEQQPFQIJD/8FCwEAAgD//wD+/QMBAP7+/gD+/f/9/QD8+QH8+P/8+wH8/QD+/gD9/v///QEA/gAAAAEBAQEB/v8B/gEAAQEBAP8CAf8AAQEBAQIBAf4A/wL+APz//wAC/wL/AgIA//3/AQD9/v////7+/gIAAPv+/v39/QAAAAAAAAH//f3+/wEBAQMCAgMDAwEBAf7+/v/9/QT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAIAAP8BAQEBAQEAAAAAAAABAQEBAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAP7///8AAAD///8AAf4AAAAAAAD///////8AAAAAAP8AAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAIBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAf8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAIAAP4AAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8AAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQH///8BAQH//wAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAD///8BAQEAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAIAAAAAAAD///8BAQEAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEA/wABAQEAAAAAAAABAQEA/wAAAAAAAAAAAAD///8AAAAB///+/v7//vz+/gT9//wC/gMC//8B///+AP/9//4AAAEBAP////////////////////////////8AAAD+AgEDAAD///8BAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAD////////////////////////////+/vz///7/AP0A/v7+/v7+/f0A/Pv///z//fwA/fr//foA/PkA/vz//Pn/+/j//PkB/fwA/fwC/v7//wAAAQEEAQIAAAEAAAIAAP4AAAAAAAABAgIB/wAAAf4AAAEAAAAA/wABAQEAAQEAAAEAAAABAQAAAAAAAQADAAABAAECAQIAAf4BAf8A/wAAAAADAQABAQEBAQECAAEBAQEBAf8BAQIBAQABAQEBAf8BAQECAgABAQEBAQECAgIBAQEBAQEBAAEBAQEBAQAAAAABAQEBAQEBAQEBAQEAAf8AAAAB/wD/Af4BAgMBAwoBAgoAAAP/AP4A/wAB//8B/fr//PUA/vYA/v0B/wYCBgoBAAP+AgQBAgb/AQAB/wAAAP4A//0B//z///3//vwA/vz//f0A//sA/vz///8BAAH//v4BAQAAAAIA//8BAQD/AAD/AQABAP8BAgEAAAACBP/+////BQD/+////vwC//4CAP7+AQECAAH//v39/wAAAgEHBgoBDRUEDA8CCQ/+BQv/AAMBAAABAf4AAP7////+//z+//v///oA//sB//wC/vv+AfwA//0A//0BAAD+//8AAf4CAP4AAAD+AQH+AP/+AQABAQEBAgIC/wH+//4BAgIA////Av4A////AQH+AAAAAP7/AQD/Af/+//7//f8A/f4B/v////8B//8AAAABAQEBAQEAAAAAAAAAAAD//f7+/P0EAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAD/AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAA////AAAAAAAAAAAA////AAH+//7/////////AAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAA////AAAAAAAAAAAA////AAAAAQEB////AQABAAAA////AQEB////AQEB////AQEB////AAAAAQEBAAAAAAAAAf8AAAAAAAEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQEA///9AAAAAQEB////AQEB////AQEB////AAAAAQEBAAAAAP//AQEB////AQEBAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAA////AQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAQEBAQEBAQEB/wAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB//////////////////7+/v7+/v/8/v4DAgIC/v78AgIC////////////////////////AAAAAAAAAAAAAAAAAAAA/gEAAQEAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////v7+/////////v78/v7+/////v7+AP/9Af7////+AP7+//78//7+Af37/v78Af77Af37//36APz5APz7/vz8AP37APz7Afz+Af3+AAD//wAAAgICAAAAAQAAAQECAAAA////AAAAAQAAAP//AAAAAAAAAAAAAQL/AP4BAAD/AAAAAQEBAAAAAAD/AAAAAQEBAQAAAQEBAQL/AAABAgAAAQIBAwEAAQEBAQEBAQEBAQABAQEBAQEAAQEBAQEAAQEBAQEAAwEBAAD/AQEBAQEBAQEBAQEBAQEBAQABAQEBAQEAAQEBAQEBAQEBAQEBAAAAAQEBAQH/AAH+AgIEAQUIAQQLAgMH/gIBAP7/AP8BAP4B///5/f/0AAD8AwQKAgIM/wgN/gED/wABAAEDAAD+///+Av79AAD+AP/8AQD9AP38AP/7Af79AP/7AP78////APz9/wD7/v/9AgD+AgICAAAD/QIB/v4AAgH8AAABAAAD/wEFAQT/AQAD/P8B/vz6A//+AP0AAwAA/wEA/f7+//8BAwQJBQ0NAQ4VAwgL/wYK/gEE//8BBAD9AP/+AwH9/P/8///9/v76AP76/v/7///7/wD9/v79Av8AAf7/AP39Af7+Af7+/v/////+///+AAEBAQEBAQEBAP///wEAAQEB/wIBAAACAQH//v0A/v78/wAA//8BAAD+AQEB//////79AAD/AAD////+//8AAgICAQEB////AAAAAAAAAgEBAQEBAQEBBP8BAAAAAAH/AAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAP///////////////////wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAgAAAAAAAAEBAQAAAAEBAwEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP/////////////////+Af///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAP///wAAAP///////wAAAAAAAAAAAP///wEBAQAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAABAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQD/AAAAAP///wAAAAEC/wAAAwAAAAAAAAAAAAAAAP///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQD/AAEBAQEBAQEBAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAH//f///////f/9/gAD/wD//QD/AwD//wD+/wAB/wAB//8C/////////////////////////wEBAf///wAAAAEBAf4BAAL//wEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////7+/gAAAP////////7+/P///wD////+/P/+/v///wH+/f/+/P///P78+wD9/v79+//9+v/++v/9/AH9+gD9+//8+gD9+wD8+//9/gD//QEBAQEABAAC/gD+AgAAAAIA/gAAAAAAAAAA/gAAAAEAAAAAAQAA/gAAAQAB/gAAAAEBAQAAAAABAQEBAAAAAAAAAQAAAAL//wECAQEBAQAA/wEBAQEAAAEBAQICAQEBAQAAAAH/AAECAQIAAQEBAAEBAQEBAAEBAQMBAAEB/wEBAQEBAQEBAQAAAAEBAQEBAQEAAQEBAQEBAAICAgABAQAAAAEBAQAAAAEBAwL//gACAgEDCAEEDQIECAADAwEAAgEA/gH//wD/+/3+/P4BAAIECQIEEgAED/4GBAAAAAAAAP///QL/AAD/AP8C/QH+//4BBQH+BP8BBAEABwH/+//+/AD+/QD///8B9wD+AgD++////v8AAAAA/gD/AwEAAQMAAP///f4AAQACAwAABv8D/wD/BwH/AwD89QACAQAAAAEBAQEBAQADBQIKDQQNEwAKDQADBwADBQP+Af8A/wEA/wD//f3+/QEA/wD/+wH/+/3++////f///////gH+///9/QD//gD//wD//wEAAAAA/wEBAQAAAAEBAQAAAQEBAQEBAQH+AAAAAAAAAAAAAAICAv79/gAAAgL//vv+/gD//wAA/gAA/gAAAAEBAQAAAAEAAAAA/wEAAf8CAv///wMBAgQBAAMDAwQEBAQGBQQAAAAAAAD/AQAAAAD/AAAB/wAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEAAAAAAAABAQEAAAAAAAD///8BAQEAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAABAQEC//8BAQEAAAABAQEBAQEBAQABAQEAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wH///////////////8AAAD///////////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAIAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD/AP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH//wAAAAAAAAABAQH///8AAAABAQH///4AAAAAAAAAAAAAAAAAAAABAQEA//8BAQH///8AAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAD///8BAAAAAAAAAAAAAAAAAAAAAf4A/wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQH/AAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQH///8AAAD////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v4CAgIAAAD////+/v4BAQEBAQH+/v4CAgL///////8BAQEAAAD///8AAAAAAAEAAAAAAAD///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////+/v7///////////3///8A//8A//3///7///8B//4A///+/v7//vz+/fv9/vsB/f7//fr+/fkA//4A/PkA/fsA/PkA/fj//f3//v4BAP0DAgAA/wIAAAAAAQAAAgAA/v////8CAAAAAP8AAAMBAP4AAAAB/wEAAAH/AQAAAQEAAAABAAAAAAAAAQEAAP8BAQEAAAEC/wAAAQABAQABAQEBAAICAP8BAQIDAP8BAAIBAQAB/wABAQEBAQEBAf8BAQEBAQEBAQABAQEBAf4BAQEBAQEAAP8BAQIBAQEBAQEBAQEBAAEBAQECAgEBAQEAAQEBAQEAAAABAQEBAAX+AvcDAQUCAggAAwr/AwUAAAAAAgEC/QD+/vkA/vkAAgEEAhEBBAsABw0ABAcBAAAB//3//vwB//4BAP3/Af0A//7+AQABAQH/AgAAAAL+//8B/wUBAQMAAf4A//8BAAAA/vv//QEB/v4A//0AAAMA/wIAAP3/AAH/Af7/AfoAAf8AAP0BAQMEAf7+AgD/AgT///7+Av0AAv4DBAcHBw0BDRQAChT/BQoAAQEAAP8BAP4BAP0A/vz//vv+//wB/vwB/fz//v0A//0B/v3///8A/f/+/v/+/f3+/P3//vz/AP8AAAACAQH9//4AAP8B/v8A/wD///8A/////wD+/v4B/v8AAAAA/wIAAP4AAAD///8A/v7/AAABAQECAgL9Av4A/f8BAQEBAgL+/v7//wAAAP4CAgMCAf8BAAABAQEDAwMDAgUEAAAAAAAAAAAAAAAAAAAA/wEA/wAAAf8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEB////////////////////AAAAAAAA////////////////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAwABAP8AAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAQEBAAAAAAAAAQEBAQEBAQABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAD9AAAAAAAA//4B////AAAAAAAAAAAAAAAA////AP//AAAAAAAAAAAA/wEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAA////AAAAAAAAAQEB////AAD/AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAf8A/wAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAADAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAQEAAAAAAQEBAQEB//8AAAAAAAAAAAAA////////AP3+/gP+/v79/v7+/v7+/////v7+AgH//v7+/v7+AgIC////////////AAAA////////////AAAAAAAAAAAAAAAA/gEAAwAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAA////////////////////////////////AP///////v7+/v7+AP79/v7+//////78/v7+/v/8AP3+/v79AP3+AP7/AP78AP77//76AP76//39AP7+AAH9AQD/AQD//wD+AAAAAAAAAAAAAQH/AAABAQD/AAABAAAAAQABAAAAAQABAAABAQAA/wEBAAAAAP//AAAAAQEBAAABAAAAAv8AAQEBAAEAAQEAAQEBAQEBAQEAAAAAAAAAAAAAAf8BAQEAAQEBAAAAAQEBAQEBAAD+AQECAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAQEAAQEB/wAAAAAAAQEBAQEBAAAAAQEAAAL/AAIIAwII/wEDAQIBAAAC///8/wD8AAD4AwMFAQQRAAUN/gQC/gL9BP4C//7/Av3/AP/+AAD/AQEA/wACAAECAAD8AAD/AAAAAAAA/wECAQEBAQEDAQAAAAL+//4BAwL/APz7//0AAP7/AQEAAQEB/gAEAf/7AQIAAP/9/wAAAQD+AQABAQEC/AIGAgH9/v7+AAAAAwUHBgsQ/gkQ/gYOAgME/gD+Af8AAAD+Af79AP79/P//AAAAAPz8//78Af38AP3+//7+AP3+AP7/AP4B//z9//37/v//AAAA///+//8AAAAAAAAA/v7+AAACAf7//////v7/////////AgAA/P7+/v7+Af8BAf8A/v7+/gAAAQEBAAAAAgIA/v7+AAAAAQEBAgIC/f7+AAAAAgICBQEDAwMDBQIDBAQEAQQDBAAAAAAAAP///wAAAP///wAAAP////8AAAABAAAAAP8AAAAAAP8AAAH/AAAB/wAAAAAAAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAEBAQD/AAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAP4BAP8AAP8AAAD/AP///wD/AQAA/wAAAAAAAP///QAAAgAAAgAAAAAA/gAAAAAAAAEBAwAA/gAAAAL/AAEBAf4AAgEBAQAAAP4AAAAA/gEBAQAAAAEBAAL//gAAAf//AQEBAQAAAAAAAAAA/v8BAAEBAwEBAQAAAAH/AAABAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////AQAAAP///wAB/gAAAP///QAAAAAAAAH/AQIBAf8AAP7+/v8AAAABAQH/AAAAAAEAAAAAAAAAAAEBAAEAAAEAAAEBAQAAAAAB/wAAAAAAAAH/AgIAAQH/AAIAAQIAAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAP8CAQAAAAEAAAEBAQL/AAD+//8BAAAAAf0A/////wAAAP///////wAAAAEBAf///wEBAf//AAAAAAAAAAAAAAAAAAAAAAAAAP///wD/Af///gL/AP////4A/QAAAAAAAAAAAv///wEBAQAB/wABAAABAAAAAAABAAD/AQAAAP///wEBAQAAAv7+/gAAAAEBAQAAAAAAAAAAAP8BAAEAAQD+/gAAAAAAAAAAAP8BAAAAAAAAAAAAAAAAAQAAAAAAAP//AQAAAQAAAP///gAAAQEB/v///wEBAf///wAAAAAAAP8AAQAAAAAA/wAAAAAAAAEBA////wAA/wEB/gAAAAAA/wAAAQIA/gAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAB/gAAAAAAAAAAAAD/AwAAAQAAAAABAAAAAP///wEBAQAAAP///QEBAQAAAAAAAQAAAgEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wL/AP//AAAAAQEAAQD/AP//AAEBAQEBAQAAAAAAAP4B/v7/AP8BAQAAAAAB/gAB/gAAAgAABAIBAv4A/P///wAAAQEBAf4AAvz/AAD9/wME//7+/f7+A/z9/QIDA/3//gL/AgAAAP7+/gICAgAAAP////7//wH////+/gABAQL//wAAAAEBAQAAAAL/AAABAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///////////////wAA/v///v///wD//f7+AP7+/v7+AAH+///+AP/9/v/+/AD9+v/++//7+wD+/AH9+gD++wH9+f78/AL99P/8/f39/QD//wEC/wL/AgMBAwAAAPz//gEBAQH//QAAAAD+/wAAAAEAAAAAAAAA/v//AAEA/v8B/gAAAAAB/gAAAAAAAAEDAf///gABAQEAAQAAAAEAAQEBAQIDAv4B/gH/AAAB/gAAAQEB/wEAAQECAAABAAEAAQEBAQEBAQABAAAC/wEAAQEBAQAA/v8CAQIAAQICAgEBAQEBAQEBAQEB/wEBAAIBAQEB//8BAQABAgEBAQEBAf8BAQABAwIC/QIAAgD/BgQDCQEDCf0CAgUCAgD9/AEB/P8AAf0DDgQHCgMECgABAgH+/wP//wD+9gD///4B/wEAAAAAAgEBAwAA/wD//wAAAgEBAAAAAAEBAP///wH//v8A/wAAAAABBf8DAgABAf8ABAAC+gH9+wD//wD+AgAA/AACAgH+Av4DBAD//v8B/v7++gD+/gP//v7+/wIDCQAJEP4GD/4JEAEKEQAFBwD+/QIAAf8B/QAA/P4B+v3++gD8+wH9/v8C/f37/P/+/AP//v7+/vn7+v7+/gMEAwD7APn6/f7+/AICAv///gH/AgEA///+/gIBAf39+v7+AAH//wEAAP/+/v/+/wABAf/+/AIB//0A/P8A/wIC/gD+AP3//wEAAAABAQACAgAA/v/9AP8AAAACAQEAAP/9/AAEAwAA/gMGBQQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////+AQAA/wAAAAD/////////////AP4AAAAAAAAAAAAAAAD///0AAAIAAAAAAAAAAAAAAAAAAAAAAAIBAf8BAAAAAAABAQEAAAABAQEAAAAAAAEAAAABAQEAAAABAQEBAQEBAQEAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///////8AAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAIAAAAAAAAAAAD///8BAQH///8BAAEAAAAAAAD///8BAf4AAAAAAAD///8BAQEAAAAAAAD///8AAAABAAAAAAAAAAD/AQAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8AAAABAQH///8AAAABAQH///8BAQEAAAD///8BAQH///8AAAAAAAABAQH///8AAAABAQH//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAQEAAAAAAAABAQEBAQH/AP4A/wAAAAAAAAD///8CAAAC//4B/v/+/v7+/v7+/v4C///+/v4CAv/////+/v4BAQH///////////////////8BAQH///////8BAQEAAAAAAAD///8AAAAAAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAAAAAD///////////////////3//////////////v7+/v7+/v7+/v4B//7//vz//vv+/v7//vv//f0A/vz//voB/vsA/fn+/fr+/fsD/f7///8BAQEAAQAAAQECAQH/AAAB/v8BAQEAAAABAQH///8AAAAAAAAAAAAAAAAAAAIBAf4BAAH//wAAAAAAAAAAAAABAQEAAP8AAAAAAAAAAAAAAAAAAAAAAAD///8CAAABAQEBAAIBAf8BAQIBAP8A/wEBAAABAgEBAQEBAQEBAQABAQABAAEAAAABAQEBAQABAAEBAQEBAQEBAQECAgIBAQEBAQEAAAD/AQABAAIBAQEBAQH/AQECAQMBAQEAAAABAQEAAgQBAwT/AgEBAQEBAQH+AAABAgMBAQUEAQMDAgQAAQMAAAAAAf8AAP4AAAAAAAAAAAAAAAAAAAD///8AAP4AAP8BAAMAAAAAAAAAAAABAv4AAAIA//0AAAAB/wQB/gMAAQD/AwIA/wD/AgAC/gL/Av8C/wL/AP3+AAAB/v4AAf4AAP8AAP3///3/AQD/AwQCBAgABQwDCA0BCAr/AwMBAQL+AP3///8A//0A/v3//f4B/fz+/vwB///9/P0A/vz//f4A//8A/v8A/v3//f39/v0BAQECAgIAAAIAAAD///////z/AAIAAAD///8AAAD///0AAAL///8AAAD///4A/wEB/v8A//8AAAAAAAABAQEBAf4BAAH///8AAf4BAQEBAQEBAgH///8AAP////8BAgEBAQECAgICAgABAQH///8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAAAAP8AAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA/gEA/////////////////////v7+AAAA///////////9AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAD/AAAAAQEBAf8AAQEBAP8AAAAAAAAAAQEBAP8AAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///9///+///9////////////AAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwABAAAAAAAAAAAAAQEB////AQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wD+AAAA////AAAAAf7/AAAAAAAAAAAAAQEAAQAAAQAAAP///wIB////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAD/AAAAAAAAAQEA////AQEAAAD/AAABAAAAAAAA////AQEBAAAA////AQEBAAABAAAA////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAAAAAADAAAAAAAAAAAAAAAAAAAA//8BAQEBAAAAAAAA////AAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wD9//8CAAD+//78/v4D/v7+//78/v4D/v7+/gH+/v7+AQEB////////////////////////AAAA////////////AAAAAAABAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA/////////////////////////v7+/////v7+AP/+///+/v79AP7+//79/v/8/v78//37//77AP78AP/7Af37AP34//z5Afz7Af78//3+AQAAAQABAAIBAQIBAf8A/////wIAAf8AAAAAAQABAAAAAAEBAAAAAQAAAAAAAAAAAAABAP8AAQEDAAD+AAEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQABAQEBAQEAAQECAAD+AgABAQEAAwABAQEAAQEBAQEBAQEBAQEBAQEBAQEAAQEAAQABAQEBAQEAAQEAAQABAAAAAQEBAQEBAAAAAQEBAQEBAAEBAQEDAQEBAQEBAQEBAQIEAQEBAgICAAAA/wEDAwMGAQIFAQID/wICAAAAAQEB/wEDAwEEAAIDAAEFAP8A/wH+AP/7///8AP//AAAAAQEBAP//AAAAAQEBAAABAQEBAAAAAAAAAAAAAAAAAAADAP8AAQEAAAAA/wACAQH/AAIBAQAC/wQAAfwB/wD+Af/9AAD6//4BAQABAQH/Av8A/gD/AAEF/gH8AAEFAgQGAQgOAQgQAgcNAAQHAAABAP/9AAD/AQD+//78/v37//v4/fz6APz6AP7/AgD9/v36Af39/wD///37AP78AP79/gIBAwAAAQH/AQEB///9///9/v8BAAD/AAD+Av8B/f//AQAA/v//Av8AAP7/Af8A/gD+AQD//wH/Af3/AAD+AQL/AAECAf7+AAD/AAABAQL+AgACAgIA//4CAQH+/v7/AQEB/gH+AgICAgIC////AP3+BAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAEBAQAAAAAAAAEBAQAAAAEBAQD/AAAAAAAAAAAAAAAAAAAAAP4BAAD/AP///////////wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA/gAAAgAAAAAAAAAAAAAAAAAAAAEBAwEAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAgEB/wAAAAEBAQEBAQAAAAEBAQIAAwEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAP///wAAAP///wH/AP7///8A/wAAAAAAAAEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AAABAAAAAAAAAAEBAf8AAAEBAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAA/gAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///QAAAwAAAAEBAf///wEBAQAAAP8A/gEAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQAAAAAAAf///wEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAB/gD/AgAAAAAAAAAAAAAAAgAAAAAAAP///wEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQABAQAAAAAAAAEBAQEBAQD+/QH//gD//wECBAEBAQAAAAAB/v7//AD+Av/+/v///v7+/v///////f8AAf//A/////7+/gEBAQEBAf///////////////////////////wEBAf4BAAMAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wAAAP///////////////////f7+/v////7+/v8A/QD//////wH///7//f///P78+//9+//9/f/9+//+/AD8+gD9+f/8+wD8+wH9+wIA/f8AAQAAAAEBAQEBAQEA/gABAAAAAAAAAAAAAAL/AP8AAAAAAAAAAAAAAP4BAAMAAf///wAAAAEBAwAA/gAAAQAAAwAB/gAAAAEBAf///wIBAQAA/gAAAP8BAQIAAQEBAAAAAAIAAwAA/wD/AgAB/wEBAwIB/wEBAQEBAQEBAQEBAQEBAAEBAAEAAQEBAQEBAAD/Af4BAQQBAgAAAQAAAQEBAgAAAQAAAQEBAgEBAQEBAQEBAf8BAwEAAAEBAQAAAAEBAwABAQEECQEECAACBgAAAgAAAAACAQABAP8CAwEBBv//Av///wAA/QD//f8A/QIBAwAAAAAAAAACAQD//wAAAAABAwABAP///wEBAQAAAAD/AAAAAAABAAD/AAAAAAAA/wACAP7/AAEAAAEAAP8DAv8B/P/+AQIB/wEA/QH/AAAABgD/AAEB/f8B+wEDBwADBQEGCgIJEf8ID/8DCAAAAgD//f/9/AAA/QD+/P/+/QD8+wH9/AL+/P78+/39+wAA/wD7/AD//P/+///+/AD+/wEA/gH/Af7+AAEA/gAA/gAAAAEBAQEAAf///gAA/gAAAwMAAP8BAQL/Af4A/QMB//4AAAH/AAEBAQH+/wAB/wD/AAAAAAAA/gAAAP8BAAEAAQEBAQABAQEAAAABAQICAgEBAAAAAAD/AP7+/v39/fz8+wEDAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAD///8AAAEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP4AAAD///8AAAABAQEAAP///wABAQEAAAABAQEAAAAAAAAAAAABAQMAAAAAAAABAQEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAEB/wAAAQAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAP7///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEC/wABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAD///8AAAAAAAABAQEAAP4AAAH//wIAAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAB/wAAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEB/wD///8BAAH///8BAAH/AAD///8AAAD/AAABAQH///8AAAAAAAAAAAABAQH///8BAQEAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///8BAAAAAAAAAAAAAAAAAP4AAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQMBAQEBAQEAAAD///////8AAAAAAP7+/v7//////v7/////////AP3//wL////////////////////////////+//8B//8AAAD///8AAAD/AAABAQEAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAD///////3///////////8A//0A//7//v7///8A/f/+/v7+/P3//v0B/fwA/f3//Pv//fsA/v0A/Pv++/sB/vsB/fwA//8BAAIBAgEAAAAAAAABAQEBAAH///8AAAABAQEB/v8AAAABAQEAAAD/AAABAQEAAQD+AAABAQEAAAEBAAAAAAEAAAEAAAAAAQEAAAAAAP8BAQEBAQEAAAEAAAAAAAEBAAEBAQAB/wABAQEBAQABAQEBAQABAQEAAQABAQEAAAAAAAABAQEAAP8AAAABAQEBAQEBAQABAQEBAQEBAQEBAQECAgIBAQECAgIBAQEBAQEBAQEBAQH+AAICAQEBAQEAAAD/AQACAQEAAwQBBQj/AwUBAgQCAgL+AQACAAP+Af4CAQMAAQL//v8AAf8AAP4BAQH//gL+AQABAQEBAAAAAQAA/wAAAAAAAQEAAAAAAQIA/wAAAAAAAQAAAAAAAAAAAQIAAf8B//8A/v0B/wQAAQEAAQEBAQEB/QH+AgH//f4AAAEB/wAA/v/+AQD/AQH/AwYAAgMEBQkABgoBCA39BAn+AAQA//0B/v0AAf8C//z+//wA/vr//voB//wC/v3+//3//Pz//vr+/v4B//////8A/vwCAP7//v4AAAD+AAAAAAAA//////8BAQECAP/9/wAAAAAAAf4BAQED///8Af4B/wAAAAADAf/+/gABAwD//wECAAECAP7//wACAAD+AP4B/wH///8AAAAB//0AAQMAAf4A/wECAQABAQEA/f/9/f38+fr/AAIBAwMEAAAA////AAAA////AAAAAAAAAAAA////AQAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAA////////AAAAAAAAAAAAAv8A/QAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAACAAD/AAAAAf8AAAAAAQEDAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////////////AAAAAAAAAAAA////AAH+//7/AAAAAAAAAP7/AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA////AAAAAAAAAAAA////AAAAAAAAAQH+AAAD////AQEBAAAAAAH/AAABAAAA////AQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAf8AAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAQEBAAAAAAAB////AQEBAAAAAAAAAAAA//8AAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AP8CAAAA////AAAAAQEB///9AQEBAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAAAAAQEBAQEB/wIBAAABAAABAQEBAAAAAAAAAAAAAAD+////////AP///v7+/v78//4D/v7+/////v7+/////////v7+AgIC/////////////////v//Av//AQEBAAAA/gEAAf//AAAAAQEB////AQEBAAAA////AAAA///////////9/////////v7+AP/9/v7+/v7+////AP3+/v/9//3+//7+Af38//38/v35//78A/37/v37/vz6Af76Af79AAAAAgICAAAAAAEBAAAA////AQAAAAAAAAAAAQEB////AQEBAAAA/wAAAAAAAQEB////AAAAAQEBAAD/AAACAAD+AAAAAAAAAAAAAP8CAAAAAgH+/wAAAAAAAAAAAQEBAAAB/gAAAgIBAv4AAQH/AQEBAQL/AQABAAD+AQECAAEBAQEAAQEBAAAAAQEBAQEAAAAAAAAAAAAAAQEBAQEB/gAABAEBAAAAAQEBAAAAAAAAAQEB/wEBAAEDAQEBAAAAAAIBAAEBAQADAAED/gIEAAQGAAMJAAEC/wIBAP///wIBAgECAAED////AAH/AAD+AQL/Af8BAgID////AAAB/wAAAAAAAAEBAAAAAAAAAQEDAP///wEAAQEBAAAAAAAAAAAAAAAA////AQH9AAIDAP//AP4A/wIAAQAA/wAAAf4A//7/AQL9AAL//gP8/gADAP8GAQQFAgEBAQcNAQQIAAQGAQED//3/Af/9AQD/Af/+/v77Af7+//38Af7+Af/9AAD+Av///AD9//37AQAA////AAAA/////v79/f39//78AgMGAv8A/P//////AwEB/QEAAAH9AAAAAAAAAAH+AAAA////AAAAAgD//wEBAQL+/gAAAQEBAQEBAQEBAP//AAAAAgAA/QAAAv/+/v4A/wAA////AP7/AP8A/wAA////AgAB/v78/Pz8AQT9/vz9BAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP8BAP///wABAAH/AAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAEBAQD/AAAAAAAAAAAAAP///wAAAP///////wAAAAAAAP////7+/gH+//////8A/wAAAAAAAP///wAAAAAAAP///wEBAQAAAAAAAAEBAwAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///////////////////////////wAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AAABAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wD/AP///wD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAA/wAAAAEBAf///wAAAAEBAQAAAP///wAAAP8AAAAAAAIBAf///wAAAAAAAAH/AAAAAAAAAAAAAAAAAAEAAf///wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAEBAf///wAAAAEBAQAAAAAAAQAAAAAAAAAAAAEAAQAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wEB/gABAQD/AgAAAAAAAAAAAAAAAP///QEBAQAAAAAAAP//AAAAAAAAAAAAAAAAAP///wAAAAAA/wAAAQAAAAAAAAEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAf8AAAEBAQEBAQEBAQEBAQEBAQEBA////wAAAAAAAAAAAAAAAAAAAAH//f//BP7+/gH+/f7+A/7+/v3+/gT///8A//7+/gEBAQEBAf////7+/gAAAAEBAQEBAf///////////wAAAAAAAAABAQAAAP///wAAAAAAAAAAAAAAAP////////////////////7+/v/////+/v7+/v7+/v///wH+/f/+/P79+gD9/AD++//++gH9+//9+//99v/+/gH++QD//AEA/wABAAABAQEBAf8BAAD+/wEBAQEAAP//AAL/AAAAAAAAAf4A/wAAAAAAAAAAAAAAAAEBAQABAAAAAAEBAQAAAAEAAQAAAQAAAQAAAP///wAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQAC/gEAAQEBAQEBAP8BAQABAAAAAAAB/wAAAQAAAAEBAQAA/wEBAQEAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAf8BAQEBAwEBAQEBAQEBAQEBAQEAAwICAgICAgABBAAEBwEDBAACAwEBA////AEBAQAA/////wAAAQEB/wAB/QAA/wAAAwEAAgAC/gAAAAEAAAAAAAAAAAAAAP8AAv8AAP8A/QEBA/8AAAAAAAH/AAAAAAAAAAEAAAABAf8A/wH///8BAQEBAwAA/QEAAP8AAgEDBP/9+f8C/QH/BAIA//8CBAIEBAEDBf8FDQECAgAAAAH+/gMA/f8A/f///f///P///QAA/AEA/v7+/AH+/////wAAAAICAv0A/wAAAAAAAP7+/v7+/QD//wD//f7+/gEA/gAAAAMAAf8A////Af8AAAD+/wEC/wH/Av///wAAAAAA/wAB/wEBAQEAAAICAv3/AAAA/gACAQIAAgH//gH+/wAAAAL/AP7//////gD+AQAA/f//Af7+/QH+AQAAAP7/AP8BAfsC+AADBAMEBQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD/AQAAAAAB/wAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8B/v////8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAEAAAABAQEAAAAAAAAAAAABAQEB/wABAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAD///////////8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH///8AAAABAQH///0BAQP///8BAQEAAAD///8BAQH///8BAQEAAAD///8BAQEAAAAAAAAAAAAAAAACAAD+AQH///8AAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8BAQEAAAD///8BAQH///8AAAABAQH///8BAQH///8BAQH///8BAQH///8BAQEAAAD///8AAAABAQH///8AAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAD//gEBAQH+Af4BAAABAgEAAAD///////3+/gL+/v7+/vwC/wP9/v4BAv////8AAAD////+/v4BAQH///////////////////////8AAAABAQH9AP8D/wABAQEAAAD///8AAAAAAAD/////////////////////////AP3///////////////////r9/v3+/vwA/fsA/vv//fr//vn//vwC/fkA//0A/vwA//3/AAABAQH/AQMAAQAAAAAAAgEB/wAA//8AAAABAQH///8BAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQEAAP8AAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAQEAAAABAQAAAAAAAAEBAQEBAQEBAAH/AAACAv8AAAAAAP4AAAH/AgAAAQEBAAEBAQEAAAABAQEAAP8AAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEAAAIAAAABAQEBAQEAAgEBAAMCAgIBAQEBAQH/AgEAAQP/AQICAQMAAAAAAAAAAAAAAAAAAAAAAP4AAP4AAP8AAAAAAAAAAAMBAf8AAAAAAAIAAAAAAAAAAAABAAAAAAABAQQAAAAAAAAAAAIAAQAAAP4AAAAA/wAAAQQB//4AAf8BAQMA/v0AAgEAAAABAf0A//0A//8A/vr/AgMBAAAAAgECBAgAAwT+BQn/AP8B/v0CAf0AAP4A///+AP78/vwB/vwA/v8AAP8AAAD///8AAAD/AgEB/QMCAgL////+/v3+/v7//v7///8CAAEAAQL///8BAAAAAAD//gH/Af8CAAD+AQMC//3+AAABAQEBAQABAQEBAQAAAQEBAP4AAAH//v4BAQEBAAEBAQEBAQEBAQEC/wP/Af/+//8BAAD/AAD//////wAB/v/+/v///////f7/AQEAAgQDBPr8BAQEAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAf8AAAAAAAAA////AAAAAAIAAQEBAAAAAAAAAAAAAQEBAgICAQEBAAAAAQEBAAAAAAAAAv8AAAAAAAAAAAAA////AAAAAAAAAv8A//8A/P//AAAAAAAA/wIB/v7/AAAA//79AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQEBAAD/AQED/wEBAQEBAP79AQEBAAABAAAAAAACAAAAAAD/AAAAAAD+AAABAf8CAQIBAAAAAQEDAQEBAQEBAgABAf8AAgEBAAAAAAAAAQEBAAAAAAAAAAAA////////AAAAAAAAAAAA/gD//wEAAAAAAAAAAAAAAAH+AP8AAAAAAAAAAAAA/wH//wD//v/+////AQAAAAAAAAAAAAAAAAD+AAAC////AQEBAAAAAAAAAQEBAQEBAAAAAAAAAP8B/wIA/wEAAAD+//8CAQEBAAAAAAAAAAAA////AQH+AAABAQECAQEA/gEAAAAAAwAA////AQEBAAAAAAAAAAAA/wEAAAAAAAAAAv8AAAAB/////QAAAAAAAAAAAAAAAQEB///9AAAAAAAAAAAAAAAAAQEB////Af/+Af7/Av8AAP/+/gAAAAAAAAH+AAAAAAAAAQEAAP8BAQEBAAAAAAAA////AAD/AQEBAAAAAAAAAAH/AAABAQEBAAAAAAAAAQEBAAAAAAAAAAAAAf8AAAAA/QD/AQEBAQEBAAAAAAAA////AAAAAAAA////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAA////AQEB////AAAAAAAAAAAAAP8BAQAB/wD+AAAAAQEBAAAA//8AAAAAAwABAAAAAAEB////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQADAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAQEBAAAA//8BAAAB////AAAB///8AAD/AQH/AQH/Av4A//8AAv8AAP8AAwADAP8AAwEB/QEBAQEBAQEBAAAAAQEBAAAAAQEBAQEBAAAAAP8BAQEBAgICAP8BAQEDAf7/AAMAAQEB///+////AQD+AP/9AAEB/wAB/v8AAQAD/wAA//8CAAAA/v7+AwMDAP///v7+AAAAAgIC/v7+AgIC/QEAA/8AAQEBAAAA////AAAA/////////////v/8//4B/v7+AP8A////AP3+AP/9//78AP38Afz9Af/9/gD8Af/6AP76APz6Af36APz7AQAA/wABAgEFAQEBAQEBAAAAAAAAAP/+AAAAAAAA/wAAAQEB/gD/Af8A/wAAAQEB////////AgAB/wEDAAD+AAEAAAAAAgACAAD/AAH/AAABAAADAAAAAAD+AAH+AP8AAQADAAH+AAABAAD+AQEBAQIAAAAAAQEBAAAA/wABAgABAQH/AQH/AwACAQEAAQABAQEBAQEBAAABAP8BAQIAAQEBAQEBAf/5AgEFAgADAQAC/wH//wEBAAMEAQADAAL7AAEDAAIBAQEEAQEBAAID/v8B/v8EAgH+BAQHAQAE/wEA/QL7/wH9AwMDAP8A/wAEAAAAAAAAAAAA//4CAQEB/wAAAQL8AAH+AP8CAAD+AAAC/gACAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAEAAQD+AAIB//8AAQD+AAICAP7/AAAD/v7/AgP/Af8C/gMEAAEDAAQBAgQH/gME/gIBAgAAAP8A/wACAAAC//8A///8//77AQD9AAAA/wD9AP78AP76/v38AAAA///9/wQAAfwCAAD/AwD+AP38//36AP///wH//QH9AP4AAgICAwMD/QD8/v7+/v8BAQEB//8CAgAB/wAA/gD/BAEC/AL//gEBAv4C/v7+AwT//fz/AgABAQIE/f/+///9AQH+/f7+AQEB//4B//8AAf4A//7+/v39/Pv+/fv9/P78AwME/wEDAQIE/P8ABAAAAAAAAAAAAAAAAP///wAAAAAAAP///wEAAAAAAP///wAAAAAB/wAAAQAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP0A/wH//////wAAAAAAAP///////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAA/wEBAQEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAP///f///////////////////////f///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEBAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEAAP///wEBAf///wABAQAA/gAAAwAAAP///wEBAQAAAP///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAEBAf///wEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQAAAAEBAQEBAQAAAAEBAwAA/////wAAAAAAAAL/AgAAAAAAAP8A/f//Af///wD//wAAAAEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQAAAP////////7+/gACAgH//wAAAP///wEBAf///wAAAP8AAAAAAAAAAP///////wAAAP////////////8A/v//AAD///7+/gAA/v7+/P/9/gD8/f/+/P79/AD9+wD9+wD8+wD9/AD+/P///gAAAQIAAQEBAQEBAQAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAQD//wAAAAAAAAAAAAAAAP8BAAH/AAAAAAAAAAAAAAAAAAAAAAEBAQABAAD/AAAAAAAAAAEBAQAA/wEBAQEBAQD//wEBAQEBAQEAAQEBAAEBAAAAAAAAAAEBAQAAAAEBAQEBAQEBAQAA/wAAAAAAAAACD/8C/P4C+wAB/gEAA/4AAQL/+wED+gH/CAEAAwH/AgEBAAIB/wIB/gACAwEB//0C/QEBAQIABQIACP8ABP//Af/+AAH+AwAE/wAA/gAAAAAAAAAAAAAB/gAAAAABAQAAAAAAAAAAAgAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAQEBAf///wAAAAAA/wAAAAAAAgAA/wEB/v//AgEA/gAAAP8BAAEBAwAA/f8CAQH/BgAC/gICBAACBAECAQAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAQD+/wEBAQD///4AAgD//P4A//4BAP4AAgEB/gEAAgEBAP8AAP////8A/wAAAAAAAAAA/gL/Av8BAQD/AP///wAB/gD/AQAAAAAAAAAA/gAAAAAAAAEBAf//AP///wL//vz///7+/v/+/v39/f79AP39/wD9/v39/f38/Pz5/fz8/f////4F/wECBPsC+v39/wQAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAQD+AQD/AAD//v////8AAAAAAAAC/wD//wD9AAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQEAAP4AAAMAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEBAQEAAAABAQEBAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAD///////3///////8AAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQH///8AAAABAQEAAAABAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAD///8BAQH///8BAQH///8AAAAAAP8AAAABAQH///8AAP8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAABAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAEAAAABAQD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQECAgL///8BAQEBAQEBAQEBAQECAgL+/v4BAQEAAAAAAAAA/wIAAQABAQEBAf//AQH///8AAv4AAAABAf8CAgICAgECAgICAgIDAwUDAwMDAwMDAwMCAgIBAAIBAQEAAAD+/v4AAAABAAABAQECAgL///8AAAAAAAD9AQAA//8C/wD///8AAAD////////////+//7////+//4A/v/+/v4A/v7//f7+//wB/vz//fwA/fkB/fsA/Pv//PoB/foA/vz/AAACAAEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH//wAAAAAAAAABAQEAAQAAAQEB/wAAAAAAAAAAAAEAAP8AAAAAAgEAAAEBAAAAAP8BAQEA/wEAAQABAQEBAQEBAQEAAQEBAQABAQIBAP8BAAEBAQIBAQABAQEBAQEBAQEBAQABAQEBAQH+A/MB/wYD/wkAAQIAAf4DAf4BAQgCAAQCA/kBAAEBAQEAAP79/wD//wAB/wEBAwL/Af7+/v3+/vwC/v8BAAMBAP7/AQAAAwH+Af0C/wABAQH///8BAv8AAAABAQEAAAAA/wIAAAAAAAAAAQEAAAAAAAABAQEAAAAAAAEAAAAAAAAAAAABAQEAAAD//wAAAAAAAQD/AAAB/wIBAQAAAAEAAgAB/gD/Af4AAQEBAgMAAQIBAQEAAQMAAQMAAf4B//3+/v0A//8A//8BAAAAAAD///8AAAABAQH+//////8A/wIBAQEAAAIAAf7//wAAAAABAQH+AgEA/gIAAgMBAf3/AQMB//8BAQH+//4BAQH///8C///+AAABAQH///4C///8//8AAAEB/wD/AAAAAAABAP4AAAABAf8C/wH+AP8BAQEAAP7////////////////+///+/v/8/P3++/z9/Pz7+fr6+fz8/P0BAQMF/gAAAfz9//oBAfsEAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAH/AAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAv8AAAAAAAAAAAAAAAAA/////gEA////////////////////////////AP//AAAA////AAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAD+AAABAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AAAAAAAA////AAH+//7/AAAAAAAA/////wD9AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQAAAAEB////AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAP8BAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAADAAAAAAAAAAAAAAAAAAD+AAAD////AQEBAAH/AAAB////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAQEB////AQEB////AQEBAAAA////AQEB/wD/AAAAAAAAAwAB/wAB/////wAAAQEB/wAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAEAAAAA////AAAAAQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAD/AAACAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEB/wIBAf4BAQEBAAAAAQEBAQEBAQEBAQEBAgIC/v7+AAAAAAABAAAAAQEBAQACAgH/AQEBAgICAwMDAwMDBAQEBQUFBQUFBAQEAwQEBQQEBAQEAwMDAgICAQADAgEBAQEB/v7+AQEBAAAA////////////AQEBAAAA////AAAA/QAA/wD/////AAAA/wD9/v/+Af////////////7+AP79//38//78//78//79//78//38//35AP36AP38AP78AP7+AgEBAQEAAQEBAQEB////AAAA///+AAAAAQAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAABAAEA////AQEBAAEAAAAAAP8AAAAAAAAA/wEAAf8AAAAAAQEBAAEBAAAAAAAAAAAA/wAAAgEBAQEAAQEBAQABAQH+AQEBAQEBAQEBAP8BAQIA/wECAgD//wAAAAABAQAAAQEBAQEBAAEAAQEBAQEBAf8CAQH/AgH+AgAFAf8IAP7/AQH9AP/7/P0BAwIDAgIGAAYGAAICAAQDAQMFAgIEAgAB/QEC/QL4AwD1AQAE/wD+AAEAAAD6Av8CAAAA////AAAAAP8CAAAAAP8AAAEBAAAAAAAAAAEBAAACAAAAAQECAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAQH+AAAAAAAAAAAA/wEBAAD/AQADAAAAAAIAAAECAP/9/wADAQEBAAIDAAACAP8AAP77AQH+AgAA/wAAAAAA///9AAD/AAAAAAAAAAAAAAACAP8CAAAA/wEDAQH9/gAA/wEAAP8AAgQFAPwA/gH+AAEBAAIDAP//AAD/AP//AQH/AAAAAQEBAQEBAQAAAP///wAAAAAAAQAA/wD+AAAAAAAAAwAA/AAAAAAAAAAAAAAAAP/////+//8A////Af79AP3+AP3+/f39/fz+/fr8+/r6+/n6+fn5/Pn8/v3/AAIGAP8CAQH6/f3/AgICBAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAP///wAB/wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQEBAQL/AAEAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAP///////wAAAAAAAAAAAAAA/gAA/////wAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQL/AAEBAQEAAQD/AAAAAAEBAQEAAQD/AAAAAgEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAB/v/+/wAAAP///////////////////////f///////////wD//wEAAAAAAP8AAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wAAAAAAAAAAAAEBAf///wAAAAAAAP8A/QEBAf8AAAL/AwEAAAEAAP4A/wEBAQAAAAAAAP8A/gEBAf8A/wEBAQD/Af///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAEBAf///wEBAf///wAAAAEBAf///wAAAAEBAQL/AP8A/wAAAAEBAQAAAP///wEBAf///wEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAA/gAA/wAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAEBAf4CAf//AQICAv///wEBAQEBAQEBAQEBAQEBAQD/AgABAAAAAAEBAQEBAQEAAgEB/wACBAMDAwQEBAUFBQQEBQUFBQQEBAQEBQMDAwQEBAMDAwICAgMBAgEBAQEBAwAAAP////7+/gAAAP7+/gAAAAAAAAICAv///wEBAQAAAP7+/gAAAP///////gH+//8A//7+/gD+/wH//v/+/f/+/AD++gH9/v3/+gD++//++AD9+v/9+QH++gD//gABAAIBAQEBAQEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf//AAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAA/wAAAAAAAAAAAAEBAQAAAAAA/wAAAgEBAAEBAf4BAgMAAQAAAQAA/wEBAQAA/wEBAf4AAQMA/wAAAAEBAgAAAAAAAAEBAQEBAQEBAQUADAEBAAAA/gEA+QAA+wACAAABAAACAAIHAwEDBwQHEAIEDwEEDQADDAMDCwACBwP+9f3/7/wB/P0B+AP9CP8ABP8C/wEB+f8ABQIAAQAAAAAAAgAAAAAAAAAAAwAAAQAB/gAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAA/gACAf///wH/Af8A/wEAAgABAAAA/wADBQEB//8AAQAAAgAAAAEAAAABAgD/AgAAAAAAAAAB/gAAAP///wIAAP8BAv///wEBAQABAf4CAgH+AQACAwD9/QAAAAAAAAACAgACAQACBAIC/v4C/gD+/v///wEAAAICAgAAAAAAAAEBAQEA////AAAAAAAAAAEBAQH//wAAAAAAAAAAAAAAAAEA/v8A/wH+Af////7+/v8AAf7//f7+/v39/fz8/Pv7+vv6/fv4+/r3+Pj4+Pv4+f39/wD/AQEDAAAAAP4A/wMD+wIEBQQAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAf8AAAAAAAAAAAABAQEBAQEBAQEAAAD///8BAQH///8BAQEC/wAAAAD///8AAAABAQEAAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAD///////////3///8A//8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAIAAP8AAAAAAAABAQEAAAAAAP4AAAIAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAABAQEBAQEBAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAf4A/wAAAAD///8AAAAAAAAAAf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAMAAAAAAAAAAf8AAAEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEA/wAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAD///8AAAACAP7+AAIAAAAAAAABAQEAAAAAAAD///8BAQAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAABAQEAAAD///8BAQEAAAEB/v8AAAAAAAABAQH///8AAAABAQH/AAABAQH///8AAAABAQEAAAD///8AAAAAAAAAAAAAAAAB/wAA//8BAQEAAAAAAAAAAAAB/wD/AQAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQEBAQEBAQEBAQEBAQEAAQECAgL///8BAQEBAQH/AQEBAQH/AAAAAAABAQEBAQEAAAAAAAAAAgQDAwMEBAQEBQcFBQUFBQUEBAQEBAQFBQUDAwMDAwMDAQICAgICAgIEAQIBAQEAAwT+/v79/f3+/v7////////+/v7+/v4BAQEBAQEAAAD///////8B/v0A///+////AP4A/v/+/v0A/v4A/vwA/fz+/PwA/vwA//z//vv//fwA/voA/voB//4AAAABAQECAgIAAAAAAP///wAAAAAAAP8AAAABAAAAAAAAAAAAAAAAAAAAAAABAQEA//8AAAAAAAAAAAAAAAABAQH///8BAQEAAQAAAAABAQAAAAAAAQEAAAD/AAAB/wAAAAABAQEAAAAAAAAAAAEAAP4AAgEBAAEAAP8AAAABAQH/AQECAAEBAQIBAP8BAAIAAP8BAQEBAAIBAf//AAACAQEBAQEAAP8AAQEAAQH+//kB/gP/Av8BAv4DBgEDBQoDBREEAg4CBxYBBQcEBAv/BgcAAwQAAID/f/8BA/8CAgEAAwD/EwL9CAL/7v//AP78+wEB/gH/AQICAv8A+gEBAwAAAAABA/8AAQEBAwAA/gAAAwAAAAAAAAAAAAAAAAEBAgAAAAAAAAAAAP8AAAAAAAAAAAAAAgEBAf///QAAAAAAAAAAAgD/AAEAAP8B/QH/Af8BAAH/AgEB/gABBQAB/gEAAAAAAP///wD//wAAAP8BAAEBAf///QAAAAAB/gEAAAAAAAH/AP8AAAEBAQABAQAAAAABA/4A/P8AAf///wAAAAAAAAAAAv8B/f8CAQICAv3//wEBAQEBAQABAv///wD//wEBAgEAAAEB/gD//wAAAAAAAAEAAwEB/gH/AP7//wAAAAAAAAD//wH/AQL/AP4AAAD+/f////39/f37/Pz7+/37+/r4+vj0+Pn29/f39/v5+v//AQICAwcIAvv8/wAB/v8FBwIA/wQAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAD///8AAAAAAAD9AP////8AAAAB/v8A//8AAAD///////8AAAD+AQD///8C/wAAAAD//wAAAAABAQEA/wABAAABAQEAAAAAAAAAAAABAQEAAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAP8AAAABAf8AAAABAQEBAQEBAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAf7//v////8AAAAAAAD///8AAf4A/wAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8BAQH///8BAQH///8BAQEAAAD///8AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAAAAAABAQEAAAD///8AAAABAQH///8BAQH///8AAAAAAAABAQEAAAAAAAEBAQAAAAAAAAD//wABAAAAAQEAAAAAAAH///8BAQH///8AAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQH///8AAAAAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEBAgL///8CAgL///8CAAECAgL+AAAC/wD///8BAQEBAQEBAQEAAAADAwMDBQQFBggHBwcGBgcGBgYGBggEBAQEBAQDAwMEAgMCAgICAgIEAQIBAQEBAQECAgL/AgH+AgH////8//7+/v79/f3//////wIBAQH///////8AAAAB/v4AAAD/AP3//f7///8A/v7//fwA/P3+/fsA/vz+/fv//voA/PsA/foC/PwA/v4B/wABAQECAQMAAAD///8AAAAAAAEAAAABAQEBAAAAAAAAAAD///8AAAABAQH//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAQH///8AAAAAAgEAAAEAAP8AAAAAAAABAQEAAAEBAAIAAv8AAQIBAP8BAQABAQEBAAEBAQEAAQIBAP8BAAIBAf8BAAEBAQIBAf8BAQIBAQABAQAAAAAAAAD9AQQCBP8DBwQDBg0EBRMCBhMEBg0CBQYBAA4AAgT/BgYAAgIAAv8BAf4AAAAB//7/APz/AgMC/QkB/vwB//QBAf7//wMA/gcAAgMAAQEAAQMA/wEBAQUAAP8AAQIAAf8AAAQAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAEAAAABAQEAAAAAAAAAAAAAAAD///8BAAMAAP0AAAH/AQAB/wL+AgACAAH///0BAP4B//8AAP//Af7//wABAAAAAAD///8BAAAAAP4AAAD///8AAAABAQH+/wEA/wIAAP0AAAAAAAAAAAABAQEA///+AAAAAAABAQEAAQECAQH+AQEA/wEBAgEAAAAAAAD+AQAB/gEAAAAAAAABAQEB/wL/AP4B/wAAAAAAAAAB/v/////////////////+/v79/f38/Pz7+/v5+fr6+vr39/f39/n38vb59/j6+vr+/v4DAwUCAgMCAgABAf8CAgACAgACAgAEAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAQEBAAAA////AAAAAAAA////////AAEAAAAA////AQAAAAAA////AAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAD+AAACAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAH+//7/AAAAAAAA////////AAAA////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQH+AAADAAAAAAAAAAD+AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AQEB////AQAA////AAAAAQEB////AAAAAAAAAAAAAQEBAAAAAAAA////AQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AQEB////AQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAQAAAAEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAQAA/gEAAAAAAAAAAAAAAf8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEB////AAAAAAAAAAAAAAAAAQEBAQEBAQEBAAEBAQEBAAAAAQEBAAEBAgEB/////gIAAv8BAQEBAAAAAQEBAQEBAgQDBAQEBQUFBQUFBAYFBAQEBAQEBQUFAgICBAIDBAQEAgICBAECAgICAgEBAQEBAAEBAAAAAAAA////BP7++/79AQEB/f39/f3/////AAAA////Af7//wD//////wD+//7+////AP7+//7+Af/9AP3+//3+//3+AP37APz7Afz8//37Af7+AAEBAQEBAQEB///+AAAAAAAAAAD/AAAAAgEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA/wAAAgEBAAAAAAAAAAAAAAAAAAAAAAAA/wECAgH/AAAAAQEBAQEBAQEBAQAAAQEBAQACAQH/AQEBAQEAAAAAAAAAAAAAAAAAAAAABQkIBAQNBAcSAwcSAgcN/wUJAAQH/gIDAgP/AQAC/wIAAAD+///8AP79Av/+AAAA+wL4AwD9AAAAAf/9//3z/wL5AP0D/wAMAAUHAAED/wEDAAIDAf//AAED/wEFAQEBAQIEAAAAAAAAAAAAAAAAAAAAAAAAAAACAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB/////wEAAf8AAAAAAAEBAAAD/v/8AgH+AP4AAAIAAP4AAQABAAAB////AAAAAAAA////AP//AQAAAAAAAAAA////AAAAAAAAAAAAAAACAAAAAQEB////////////AAAAAAAAAAAAAAAA////AQD//wABAAAA/gEAAP8AAAAA/wAAAQEB////AAAAAAAAAAAC///9AAAA////////////AP3+/vz9/f/9/f39+/v7+fn5+fn6+vj58/Pz9/X49/T3+/n6AgAAAwMDAwMDBgYGBAUDAwMDBQUFBQcEAgMFBAAAAAAAAAAAAAAAAAEBAf7+/v///wAAAAD/AQAAAAAAAAAAAAABAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAP///wAAAAEBAQL///7+/wD//////////wH+/wEAAP//Av0A/QAAAAAAAP0A/wAAAAABAAAAAAEBAAMAAQAAAAAAAAEB/wEBAQAAAAAAAAEBAQAAAAAAAAAAAAAA/gAAAAAAAQAAAAAAAAAAAQIAAQEAAgIAAQEAAQAAAAEBAQAAAgEBAQH/AAIBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAEBAf7+AQAAAP////7///8AAAAAAP/////+Af///wAAAAAAAAAAAAAAAAH/AAD/Af//AAAA/wAAAAAAAAAAAAEB/wAAAAAA/wEBAwAAAAEBAQAAAAEBAQEB/wEBAAEBAgD/AQAAAQABAAH/AAH/AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAL/AP//AP0AAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP//AP///wAAAAAAAAAB/gAA///9AQAB/wH/AAAAAP8BAAAAAP////8BAwIA/QEBAQABAQAAAwAA/gAAAQAAAQAAA////wAAAAEBAQAAAAAB/wD/Af///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wEBAf///wAAAAEBAQL/Af8BAAAAAAAAAP8AAf///wAAAAAAAAD/AgEAAAD//QEAAf///wAAAAABAQAAAAD+/wAAAAAAAAAAAP4BAAEB/gAAAv///wAAAAEBAQAAAAH/AAAAAAD//wEB/v8BAAABAQAAAP//AgAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAEBAQEBAQEBAQEBAQICAgP+/QEB/wABAf4BAQEBAQICAv////8CAQMAAP8CAgEBAf7+/gABAQEBAQD//QQFBQUGBgcGCQYGBgYGBwcGBwQEBgUDBAUDBAMDAwICAgYDBAEBAQICAgMCAAEBAQAAAAICAQEBAQAAAP////7+AAP+APwCAP39Afr5/Pz8/P39/f0A/wEBAQAAAAH//f///wD//wD+/QD9/AH9/P79+wAA/P//+QD9+AD99AD9/f79+wIA/wECAgEBAf8CAf4A/wEAAAAAAAAAAAEAAAAAAP///wAAAAL/AP0A/wAAAAAAAP///QL/AAAAAP8AAAAB/gEABP///QEAA/8B/QH//gAAAAMAAQAAAP8A/wAAAAEAA////wAB/gAAAAAAAAEBAwIA/wAAAAAA//4AAP8A/QEAAAIBAQICAv8CAgH/AP4BAAMA/gAAAQAAAwEBAgACAf4A+gMAAQD/AAABAAACAgIGDAMHCwQECgIHFAMEBwEFCwADCP8ECQMFBgMDAwEBAf4AAgEA+AD+/wD+/QD/9QH//QH/Av8A+AQBAf/8/wIAAQEB+gAA+QD9+v8AAv39+QH+BwMDAwICCAACCQAACgACBgEC/f8B/v8AAQABAwEAAv8BAgEAAv8AAgAA/gAAAAEAAgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAP///wAA/v///wIBAQABAP//AP8AAAEA/QEAAAAAAgAB/wD//gAA/gD+/wAA/wEBAQAAAwAB/QAAA/8B/gD//QAAAAH+//79AP///QIA/f8A/gIA/v8AA/0A/QAA/QAAAAMBAf0AAgEAA/8CAf/9/v8AAQADAwD//wAAAAL/AP0AAAEBAQIAA/7//gD//wAB/v////8B/wAA/v7+/////gH+/v/8/f3+/f7+/vz5/ff6+vv6/f74/Pfx8fXz8/f29fn5+vz5/gIBAQQEBAUIBggJCQcHCQMHBgMFBAUFBgIEBAICBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAD///8AAAD////+Af7//v8AAAAAAAAAAAAAAAAAAAAAAAAC/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAD///////////8AAAAAAAAAAAD///////////8AAAAAAAD/AP7///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAD///8CAAH/AQAAAAD///0AAAMBAQH///8BAQEAAAAAAf8A/wH///8AAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQH///8AAgEA/v8BAQH///8AAAAAAAABAQH///8AAAAAAP4BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEBAQH///8CAAD9AAABAQEBAQEBAQECAQICAgIFBAcFBQUFBQYEBAQEBAYFBQUFAwQEBAQDAwMEAQIDAwMCAgIDAgIBAf8CAgIC/wD/AgEDAAEAAAAAAAD+Af78Av4B/QECAAEABwADAwP7+/sA/v3//P3+//z+/////////gEB/v3//f3//v3//v0B/f0A//////8A/v7//v7///8A//8AAgEBAQEBAAEAAQEA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQEAAP8AAAAAAAAAAAAAAAABAQH/AAAAAAAAAAAAAAD+AP4AAAABAQECAQIBAQMBAv//AAD+/wEB/P4BAgIDAQEDAQEBAQEAAf0AAAD//wABAQIAAgUEBQcDBAUDBgkDBQgCBQ0CBAcCBAsCBAgDBAcBBQoCAwb/AQP+AAEAAP4C/fz+APsBAAMA//3//vkB/v4A/wEAAPn/AgD/AAIA/wEA//v//////wEBAAUEAgf/AwgAAPz+/vz//vYAAf0AAP4CAgT+AQMCAQMBAQP/AQEBAQP/AAABAQEAAAMAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAEAAP4AAAAAAAAAAAAAAAD///8BAAAA//8A//7/AP3///8A//////3///8BAf4BAAD///////8A//8AAAAB/wD///////8AAAD///0AAAAB/wABAAD9AAAAAP4AAAAAAAABAQEBAQEAAAAAAAD///8AAAAAAAAA/wL///z//////////wH///7/AP8AAAD////////+/v/9/f38/P77+/36+vr7+Pn39/f18/Tz8fH18/P19/b//wADAgcEBwYICAgHCAgFCAkFBAcFCQcEBAQBAwQDAwMBAQMEAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAQEBAP8AAAAAAAAAAAAAAAAA////AAAA////AAAA////////////////////////AAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAQABAQEBAQEBAQEBAQEBAAAAAQEBAQEBAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////wD9////////AAAAAAAAAAAA////AAH/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAAAAAAAA////AQD+////AP8AAAIBAAACAf//AAEBAAAA////AQAAAAAA////AAAAAQEBAAAA////AQEBAAAA////AQEBAAH/AP8B////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAQEB////AQEBAAAAAAABAAAAAAAAAAAA////AQEB/wAAAQEB////AQEBAAEA////AAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AQEBAQEBAQEBAQEBAQEBAQEBAgICAAAA/v7+AQEBBAAC/AD+AQEBAQEBAAECAQMDBwYGBgYGBQUFBQUHBQUFBQMEBAQEBAQEBAECAwMDAgICAwIAAgIBAwACAgICAAAAAQEBAQEBAQAAAAAA/gICAv7+/QAB/gECAgQD/AP8AgMAAvsA+wD+//wB//3+//79/gAAAf7+AAD9AP38/vz9AP77Av37//37//v8AP79Af//AAAAAgEBAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAA/////QAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAD/wD+AAAAAAAAAQEBAP8AAAAAAAAAAAAAAAAAAQEBAAD/AAAAAQEBAAAAAAABAAAAAAIBAAAA/wAA/wD/AwABAP8CAQEBAQADBQL8AQEBAf///v8AAAD9AQMCAgIAAgICBgULAgQIBgcKAwcMAQQHAgUJAQIJAQIFAgMFAQMFAQUGAQIF/wEDAQEBAAH+/////v36AAH9AAEAAf/8AP37/v35AwADAQH7/f/+AgAD/f//AgD8/wD+/v4BAgAFAgUIAAER/gD3AP73/wD7/wD7AQD7/wAGAQIHAQIGAAAAAQECAAEBAQACAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAACAAD+AAAA//8BAAD/AAAAAAAAAAD+AAAA////AQAAAP//AAAAAP79//38AAH+Af79AP/////9AAAA////AQAAAAD+AAAA////////AP//AAAAAf8A/gD9AQABAAAAAQEB/wD/AAAAAQEBAQEBAAAAAAAAAQEB////AAAA////AAAAAAAA//////8AAAAAAAAAAAACAQD+//7+/fv8/fv8+/z9/Pn8/Pj5+vb29vPz8u/w8/Lw+Pj4+/z+BQcHBgkICgkMCAoHBgkKBAUHAgQEBQUEAAMCAgEDAAAA/wEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAAEBAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP////////0A//8BAP8AAP///QAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAP///////wAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAB/////wAAAAAAAAAAAAAAAAAA/gAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAgAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAD+/wAC/gAAAgAAAP///wEBAQAB/v//AgIAAQEAAP4A/wEBAAAAAAAAAP///wEBAQAAAAAAAAAB/wEAAgAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAAB/wD/AAD+AAEBAf///wAAAAAAAgAA/wEB/v///wEBAf///wEBAf8A/wABAQD+/wAAAAAA/gAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAH/AP8BAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEAAP8AAAAAAAAAAAEBAQAAAAAAAAEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMBAgABAgABAAL/AAAAAAAAAAEBAwICAgQDBQQEBQUFBQQEBAQCAwMDAwUCAwQCAwMCAAICAAMDAQEBAQQBAgEBAQIBAQEBAQEBAQAAAAEBAQH/AAEB/wIBAQIBAfz9/f//AQAEAAEBAQICAgMBAvoAAfv//wIA//z8/P79/P/++wH++wH//AD//AD9+f779wH+/QH//wH/AAECAgAAAAEAAP///wH+AAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQD/AQAB/wIA/wAAAf8A/QAAAQEABAAA/v7+AAEBAAEEBAICAgEDAgUEBwQGBQMDAwQFDQIDBwIFDAAFBwACBv8DBgEBBgECBAACAgABA//+Av8AAAAA/gIDAAD//v///wEAAP8BAAECAQH+Af///QL+/P8A/gAC/QH+/wEC/v/+/v8A/QAAAP7+/v///QMD/wADBgH+AQAAAQIB/QADBAACCv8BCwIACAABAAAAAgABAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQEBAQAAAwD//QEBAf//AAAAAAEAAAAAAAH/AP8AAAAA/gAAAAD+/wAAAAIA/v/+/////f/+/QH+///+/f8A/gD//wH/AP4A/QAB/gH//f/+/wAAAP///QAAAP///QAA/gD+/wAAAAAB/gAAAAEBAQAAAP///wAAAP8CAQD9AQAA/gAAAP4A//8BAAD/AP/////+/v7/AP7+/v39/f38/Pv6+vj4/Pj4+PX19fT09PLw8fLy8vn29/7//AgKDQkJCgkLDQYKCwcJCAYHBwIFBgEAAgIDAQEBAQABAv/////+/wQBAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQD/AAD/AAD/////AP//AP//AQD/AAAA/wD///3///8AAAD///8AAAAAAAAAAAAAAAAC/wAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEBAAEBAQEAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///////////////8AAAD///8AAP4AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQMAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAB/wD/Af4AAAMAAAAAAAAAAAAAAAAAAAAAAAAC/wD///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAf8BAQEAAP8A/wEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAABAQEAAAD///8AAAAAAAABAQH///8BAQEAAAAAAAAAAAD//wABAQH///8BAQH/AAAAAAAAAAAAAgEA//8BAQEA//8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAB/wAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAQEBAQH///8A/wIA/wAA/wABAAABAAEBAAEBAAEBAAEAA/4B//8AAAACAQL///8BAQEBAQEDAwMEBAQGBAUGBAcFAwQEBAQEBAQEAwQDAwMDAgACAgIFAgMBAQECAQEBAQECAgIAAAAB//8BAQEBAQH/AP8DAAH/AAACAgIBAQD//gEAAAACAAEDAQICAAEBAQEDAQD8/Pz//fz/APz//vv//fv//voC/foA/fsB/foA/v7/AAACAQIAAAAA/wH+AP8BAQH///8BAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAQD//wAAAAAAAAAAAAAAAAABAQH///8BAv///wABAQEAAAABAAEAAP////8AAAABAQEAAAD/AAAAAAABAQEAAAD//v4CAgICAQIAAfwAAAEA/wAAAv4BAgIAAQUCBQYGBQcDBgcCAwcCBAYDAwQBAgQCBAYBAwYBAwkAAgUAAQEBAQMCAgIDAAH/AAEA//////8BAP4CAAAB/v8BAgAA//0AAQIAAgb/AgT///4AAP7///0AAAEA//8B/wAA/gEA//3/Af0BAQEB/////vr9/PYAAfEA/v8BAQMBAwgAAAUAAQcBAgT/AgEBAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAQEA//8BAQEAAAAA//8AAAAAAAAB//4A/wAA//3///0B//4AAAAA//0A/v8B/v3//vwA/v0C//7/AP////0B/v///v////8AAP4A//8AAAAB/v/+//8A/v8AAAD///8C/wD+AQEAAAAAAAD///8AAAL//v4AAP8AAAABAQEAAAD///8AAAH////+/v7+/f/+/P39+/z8+fr7+Pn69fr39vP08vL09PT29PT8+vgCBQQHBQkGCw0ICgsJCw4GCAcGBwcEBwgCAwQAAAIAAP0BAQIAAAD8/gABAf8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAA/////wAA///////////////////////////////9AAAAAAAA////AAAA////AAAAAAAAAv8AAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAA////AAAA////AAAAAAD/AAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AQAB/wD/AQEBAAAA////AQH+AAAD////AQEBAAD+//8CAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAQEB/wD/AQEBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAACAQEA///9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAQAA/wAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP//AAAAAAAAAgEB/f//AAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB//8CAQH+/gEAAf8AAQEBAAAABAECBAEEAwMDBAQEBAQEBAQEAwMDBQIDAwMDBAMDBAEAAgICAgICAgEBAQEBAgAAAQAAAQEBAgABAQEBAAAAAAEBAAAA/wD//QH/AP4ACAQD+wAB/P/8/gEAAAQEAAAAAQEAAwMDAwEA+gL++wD9/P/7//3+/v78Af35/vz7AgABAQEB/wD/AQEB/wEAAAAA////AQEBAQAAAAAAAAAA////AAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAD+AAAAAAABAAD/AAAAAAAAAAAAAQEBAAAAAAD/AQEBAgIFAAH+//////8AAQH/AgMFBAUFBQUHAwYJAwMFAgQIAwQHAgMIAAIEAQIEAgEEAAYCAQEGAQIDAQEBAAAAAgD9AP7/AAICAP0GAAQDAQH/AwEAAAH/AQIAAP7/////AQED/wEBAQEE/wEC////Av///gD9AQAAAAAA/wD9Af7/AAH/AAD/Av7+/v79/fr6//32Af8IAQQLAAENAAIDAP/9AQD7AQIBAP8FAAAA///9AQEBAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAD+AP//AAAAAAAA////AQAAAAAAAAH+AP8AAP//AAAAAv8A/v//AQAAAAAA////Af//Af/9///9//78AAAA////AAD/AAD+AAD+///////+Af///v//Af8A/wAAAAAAAAH+//7/AAAAAQEB/////gAC/wD/AAAA////AAAA/wEAAAAA////AP79AP7+AP7+//38/vv9/fr7+vn4+Pf29vX39fTy9fPy9/b2/Pz8AgQGCAkLCQsKAwkLBggJCAkLBAcIAwQEBAQEAQEC////AQEE/wIBAP8CAwH+//8BBAH/AAH/AAD/AAD/AAD/AAD/AAD/AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEBAQAB/gEBAQAA/wAAAAAAAAAAAAAA/wAA///+AAAAAP///////////////////////////wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAEBAQAAAAAAAAAB/wABAAAB/wAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAgAA/QAAAAAAAAAAAAAAAAAAAP//AQABAP///wAAAAEBAQAAAP///wEBAQAAAP///wEB/gAAAwAAAAAAAP///wEBAQAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wECAf///wAAAAEBAf///wAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAEBAQAAAP///wAAAAAAAAAAAgAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAD//wAAAAEBAQAAAP///wEAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQEBAf///wEBAQEBAQEBAQEBAQEBAQICAv///wICAv0A//8A/wEAAAEBAQAAAAL/AAEBAQEAAAICAgICAgMDAwICAgICAgMDAwMCAgICAgIBAAMCAgICAgEBAAH/AAEBAQEBAQMAAQABAAEBAQAAAAAAAAAAAAEBAf7//gICAgAAAQACAwEEAP7//wP+/gICAgICAf4EBAMFBQMFBAUGA/r4AvsB//4A/P36Av////8AAAAAAAEB/wAAAP///wAA/wEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAA/wAAAAAAAAAAAAAAAAAAAAEDAP8AAP/+AAAAAwIEBQUICQYHCwIEBgMCBgEDBAIDBgADBQADBwEDBQMEBQICAv8B/wEAAgL/AAH//////P4AAAEBA/7+AgIEBAMAAwAB//8BAAEAAAD/AQABAQABAAIAAv8BAAAAAgAAAAD//wD/+wIBBf7//wAAAP/+/QIB/////wD+/wD//wL+/v37+v7+/gEECwMBBf8F/f4A/wEA/wL//QH/AAAA/gAAAAABAAAAAwAA/gAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///QAAAAEAAAAA/v///wAAAAD//QAAAP///wH//wAA/v///wAA/gAAAP///////wIA//7//wH+/gD+/wD+/f8A/QH///7//////wH/AAAAAAD+//7//////wAA/QAB/wAB/v/+/wEAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAP////////////7+/v7+/v39+/v7+/z8/vr5+fj3+ff09fX09PLw8vf49vr49////wYGBgIGBwcKDQkLDAcNDQQDBgQHCAMEBAMDAwEC/wD/Af/9AP0BAAH/AgEBAQEDBAH+/wQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAD/////////AQD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP7///8AAAD///8A//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///0BAQX///8BAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAABAQEA/wAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAIAAP0AAAD///8BAQEAAAIAAAD///0BAQMAAAAAAAD///8BAAAAAAAAAAAAAAAAAAD///0AAAMAAAABAQEAAAAAAAD///8BAQH///8BAQEAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH//wABAQH///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQH///8AAAIAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD/AAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQH9//8AAAABAQH///8BAQEAAAABAQEBAQH///8BAQEAAAABAAABAQEAAAAAAAAAAAAA//8BAAAAAAACAgIDAwMCAgIDAwMEAQICAgICAgICAgADAQICAgICAgIB//8BAgEBAQEC/wABAQEBAQEAAAAAAAAAAAAAAAAAAAAEAAL8AP4B/gD+AQEEBAT+///+/v7//gEBAQH+/v3/AAMEBgADAwECAwMBAf/9AP4C/fn8/fr//PkAAAMAAAAAAAAAAAAAAAEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7/vwAAAAFAwMDBQYGBQoDBwsCBAgBAgUEAgQBAwQDBAYBBQgAAgMCAgIAAAD///8A/wAA//4A/wD///4AAPwAAgH+AwIAAQADAQH/Af7/AQP9AP8BAAACAQMBAQEAAAMC/gH+AQH/AP4B/wAB//8B//////0BAgD///7/AP0AAAEB/wD+/QADAAIB//z9/vz/+f8B/wEBBQIBAAMBAQH+AAEC/wQA/wMAAQAAAAAAAAAAAP4AAAIAAAAAAAAA/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAAA/v////8AAAD///8C//7/AAD///3/AP3//////v4A//0CAAD/AAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////9+/z9+/z9+/z7+vz5+fn59vX19fX18/T5+Pf9+/wDAQIGCQYDBwkCBwoFCQsECAkFBwcCBAUCAgMAAwL/AgECAQABAAH/AgH9/wABAgEAAgMB////AQIE////AAAAAAAA/wEA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAgICAAAAAf7/AgIC/gEAAAAA/QD/AAAAAgAA////Af//AQAA//8A/QAAAAAAAAAAAAAAAQEB//7/AQAA/wAA////AQEBAQEB////AAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAf8AAf8AAQIBAgICAQEBAQEBAAAAAAAAAQH/AgEAAAH+//8CAgEDAP8AAAH+AAAAAAAA////////////AAH/AAH+/v7//v//////////AAH+AAH+AP8A//////8BAAAAAf8AAgEB/wAA/v7+////AAAAAQEB//8AAAAAAAAAAAAAAQEDAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAA//4AAQIAAAAAAAAAAAAA///9//8CAAAA////AQEBAAAAAAAAAAAAAAAAAv8AAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAA////AAAAAAAAAAAA////////////AAAAAAAAAAAAAQEB/QH//gEA/gH+AAAAAAAAAAAAAgABAAAA/wEB////AAAA////AAD9AAAAAQABAQAA/wD/AAAAAQEBAAH+AAAD////AgABAQAAAQEBAP8A/wEA////AAAAAP8BAQIA////AQEB////AQABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AwEB/v8AAP8AAQEA////AQEBAAAAAAAA////AQL///4BAAAAAAAAAP8CAQAA/wD9AAAAAgADAAD+AAEA////AQEB///9AAAAAAAAAAD+AAAAAAAAAAAAAAAAAAADAAAA////AQEB////AAAA////AQH/AAAAAQEBAQAAAAACAQEBAAAA////AAAAAAAAAAAAAAAAAAD+AAD/AAD/AAD/AAD/AQD+AgH//wD//gH+AAD/AQL/AP//Af8BAQEBAgIC/////wD///8BAAAA////AAD+AgIBAAAAAAL//wH/AQMBAgIABAQEBAMEAwICBgMCAQIAAgEBAgAAAgAAAgABAQABAgABAQIBAAAAAQH/AAAAAAAAAAAAAAAA////AQEABQAA/gIBBf8C/QD/AgAA/gMDAgEB/AAB/wIDBAH9/PwB+gIDAAAE//8D/AEGAAME/QQIA/fw/Pv4/fz5AQAFBAIF/gAB/wH9/gD8A/8HAQEBAAAAAAAAAAAAAAAAAAAAAAAAAv8AAAAAAAAAAAAAAAEBAAAA////AAAAAAH+AAAAAAAAAQEBAP//AAAA/gAAAAIA///+AQEDAQEDAf79AQEBAAD+Af8B//4BAQH/BAYJBgcLAgUIAQMJAgQFAwMGAwMFAwQC/wIB/wEBAP/9Af4A///+AQEBAAEB/QD9AQD/AP7+//36/gEAAgEHAgACAgAI/wECAf8DAP8BAwAD/wEBAQEBAAAAAAAA+wEBAAAEAgH9AAH7/wIC/gAAAQD8AP0CAAIBAv8CAAD8/wD//wL+/v0BAf7+Af8AAAH7AAH8/gH/Af//AP8CA/4AAAMAAP//AAEAAAAAAf8BAAEAAAAAAAD+AAAAAAEA////AQEBAAAAAAAAAAAAAAAA////AAAAAQEBAP//AQAAAAAAAAAAAAD/AQD/AP/9AP8AAQD+/wD9AAH/AAAAAf7///7/AAH8Af/6AP3+///9/////v7+////Af7////7AP8B//8BAf8C///////+AAD9AAD+AQD+//8CAP//Av/+//8A/wAAAAAAAAAA/gAC/wEA/wD/AAL///4A/f39/v7+AP4BAP4B+/z5+/v9+/j7+fb3+Pb09fT0+PL1+vb4//v6BAQFBQsKAgYHBQYKBQcIAgYHAgQDBAYGAwMDAQMBAQEBAQEAAAAB/wD+AAMAAwACAAD///79/wABAQECBAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAP///wABAf///wAAAAAAAP///wAAAAAAAP////0A/////////////wAAAP///wAAAP///////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAD/AgAAAQEBAQAAAAAAAAD/AgAB/gAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAP///wAAAAAAAAL/AP4AAAEBAQAAAP8A/////////////wAAAAAAAAAAAAAAAAAAAAAA/gAAAgAAAAAAAAAAAP///wEBAf///wAAAAAAAP8CAAD//wEBAQAAAAAB/wAAAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMBAf///wAAAAEBAQD//wAAAAAAAAAAAAAAAAEBAf8AAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQAAAAEBAf///wEBAQEBAQAAAAAAAAD//wEB/wAAAAAA/wAAAQD//wEBAQAAAAEAAAEAAAEBAQMAAQICAgICAgEBAQIAAAIAAQEBAQAAAAEBAQAAAAEBAQAAAAAA/gAAAQAAAAAAAAAAAAAAAAEBAf///wEBAQEAAQAAAAP/AP0BAAL///8BAQMCAv7//wAAAP///wYAAPz/AAH//gQA/QIB/QEBAQEAAAIE9v/59f/8+/7+/gEBAgD/AgEBBQAAAP///wEBAQAAAAAAAAAAAAAAAAAA/v///wEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAH+/wAAAP///wAA//8AAAEAAQQFCwUGCAMECgQECQIDBgMDBQMDAwICAv7+/v8AAQICAv/+/gICAgAAAAAAAAAAAAD+/P//APz++wH//v8DA/4BAgIBA/8CAgIAAgEBAQEBAQAAAAAAAAAAAAAAAAAAAAAB/gAAA////wD//////wAAAAAAAAAAAP///wD//wAA/////wD+/////gD//////wL/AAH//QH//f/+/P/9+wACAwIC/wAB////AAEBAgAAAAD//wAA/wABAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAf///wD//wAAAAAAAAAAAP///wAA/wH//wAAAAD///8A/wH//////QD+//////////8A/wEAAP///f7+/AEA/QEA/gD//f7//wD/Av///gL//v4A/QAAAAAAAAAAAAAAAAAAAP7+/v///wD+/v///////v//AP////8A/gH/Af79/f7//AD//gAB/gD+/P78/fv5+f76AP36/fn3+Pb18/b08fX09Pf4+Pz8/QQGCAQIBgMKCQUGCgMEBgIGBgIEBgAEAgMFBQEBAQACAwEBAQAAAAAAAAAAAP7+/v8A/wAAAP//AP8AAAAB/QQAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAAD////////9AP////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAABAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQMAAAEBAAIBAQEBAQEBAQEAAAAAAAAAAAAA/wIAAAAAAP0AAAAAAAAAAAAAAAD///////////////8AAAD///8AAAAAAAAAAP7///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAP4AAAABAQEBAf8AAP4AAAD///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAQAAAAAAAAD///8BAAD///8BAQH9AP8BAAAB//8BAQH///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQECAAD///8BAQEA//8AAAAAAAABAQH///8BAQEAAAD///8A/wIBAQAAAAD///8BAQH///8BAQH///8BAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAIAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH///8BAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQH/AAABAQEAAAAAAAAD/wH/AQEAAAAAAAAAAAACAgEAAAAAAAD///8AAAAAAAABAQECAQEDAAECAQEBAQABAQEDAAEBAAEBAQEBAAD/AAABAv8AAAEBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAH/AQH/////AP////8AAP8BAQAC///+AQEAAAACAgICAgICAwH8AwACAgICAwf+AgcD+/b8AwX89vH++vsCAgAAAAIB/wIAAAAAAAD///8BAQEAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAADAAP///8AAAABAQH/AP4AAAABAQMCAgQGBw4DBQcEBQgEBQkCAgQCAgIBAf////8AAP8B/gL+/wACAgH/Af8AAAAAAAAA/v8AAP3//v/+/f0AAAACAwICAgYBAwcBAgQCAgEBAwIBAQP/AgEBAQEAAAAAAAAAAAADAAH9//3/AP8A//////8BAf//AAABAAAB/v8A////Af8B/wD/AAD///8A//////8BAAD+/v4D//4BAP7+/vwBAP4BAgL/AAAAAAD///8BAQEAAAAAAAAA////AAAAAAIBAP4AAAAAAAAAAAAAAAAAAAAAAAABAAAAAAD///8AAP4AAAAAAAAB//8AAP7///8A//8B//3/AP///f4A//8A//3///0B//8B/v/9/v4A/vz///wA//v///0A/v8A/wAB/v3+//8A//8A//////0A//0A/v//AP8AAAAAAf4AAAAAAAAAAAAAAAD///8B/v8BAP/+//0B/v8A/f0A/f39/f38+vn8+vn8+f379vX48/P48/D39fH6+vsBAQEHCgkEBgsECQcGCgsEBQcBBAUBAgMABAX/AwQDAwMAAAD/AQIAAAAA/wIAAAD+//4BAAEC///9AP//AP4AAAL//wIEAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/QD/AAAA////////////////////////AAAA////AAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAgABAAAAAQEBAQEBAQEBAQEDAAABAAAAAgABAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAP8C//7+//8A////////AAAA////AAAAAAAA////AAAA///////9AAAAAAAA/////wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP8AAv8A/gAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+//8CAAAAAQEBAAH+AP8C/QD/AQABAAAAAAD+//8CAQEBAAAAAAAAAAAAAAAA////AQEBAAH/AP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAgAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AAAAAAAAAQEB////AAAAAAAAAAAAAQEB//8CAAD9AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAD+//8CAAAAAQEBAAAAAAAAAAAAAAAA////AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAQEBAAAA////AAAAAQEBA/8B/gEAAAAAAAAA/wEAAv8AAAAAAAD+AAAAAgAAAAAAAQEBAQH/AgICAQEAA/8BAQEBAQEBAgEBAAAAAQH/AAEBAAAAAP8AAQEBAAAAAAAAAAAA////AQEBAAAAAAABAQAA/gAABAAB/QH/Af//AQEA/wD/AQP/AAAA/QEBAQEBAAAAAQEBAP8CBQEF/AAGAgUGAQH/Af/7/P/1//z7Af0AAQID/gH/AQEBAAAA////AAAAAAD+AAAAAAAAAgEBAAAAAAAAAAAAAAAAAAAAAAH+AAAAAQABAAAAAAAAAf8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AP8AAAAAAQMFBQYIAgUKBAUHAwQIAgEG/wEB/f//Av/9AAD+AQED/gH/Af//AAAAAAAAAAAAAf8A////AgAA///9////AQMEAAIIAQIIAAMFAQIEAAL+AQED/wIBAQAAAAAAAAAAAAAAAAAAAP79AQAB/gH/AQAA/wAAAQAAAAD+AAEBAP8AAAD+Af8A////////AQAA///9AP/+/f7+AP//AAAAAQEBAAD/AQEBAAEB/f/+AwECAAD/AAABAAAAAAD+AAACAAAAAAD+AAD+AAAA//8BAAAAAAAAAAAAAQH/AAAA////AAAAAAAA///+AgAAAAD+AP/9AP//Af//////AP/9AP/9Af//AAAAAQAAAAD+/v78AQD+/v/8AP36AP78AP/+Af/+AP8A///9AP///v78//79Af////7//wD9/////wD+Av8A/gAAAAAA//8A/////////////v7+AAAA/////f3++vr7/fv8/Pr7+/n6+PTz9vT08/Dv9/b0+vz5AwEFBQkKBgcNAQcIBAYGBQgJAQUGAQEC/wEDAQUDAAIEAQEBAAAC/gD///4BAAEA////AQEBAAMCAPz9AAD/AQEB//8AAAAABAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAA/wAAAQEBAQAAAAAAAAEBAQAAAAAAAAAAAP8CAQABAQL/AP//AP//AP////4BAP///wAAAP///////////////////f///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAH/AAAAAAIBAQAAAAEBAQAAAAEBAQEBAQAAAAIAAQIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAP///////wAAAP///wAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wMAAQEAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQH//wAAAf0AAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wEBAAAAAAAAAP///wAA/QL/AwEAAP8BAP///wEBAAAAAAAAAAAAAAH+//8CAQAAAAAAAP///wEBAP8A/wEBAQD/AQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAIAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf//AgAA/QAAAAEBAf///wAAAAAAAAD/AgAA/gAAAAAAAAEBAf///wAAAgAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAA/gAAAQAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAAAAAAAAAAAAAAD//wD/AgAAAAL/AAAAAP///////wAAAQAAAAIAAQEBAQEBAQIBAQAAAAEB/wEBAQD/AP8BAAMAAQD/AAAAAAAAAAAAAAAAAf///wAAAP4B/////wIBAP7/AQMAAf8AAAACAv///wH//wADAAEBAf0BAQAAAAH9AQAGAf8AA/4BAv/9/wIB/QMB/gEB//v29P38/QD+AAADAv///wAAAAEBAQAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf8AAAAAAAH/AAAAAAAAAP8AAAAAAAAAAAAAAAAAAP///wAAAAIB//8AAAAAAv8BAwMEBwMGCwIGCQEDBgIEBgABAgD///////0B/wAA/wIAAgH/Af8CAv8AAQH/AQEBAv8AAAAAAAAAAgAAAgEDAgIDBwMEBwIDCAICBAEBAQEBA/8CAQEAAAAAAAAAAP///wAA/gAAAP8A/wAAAQAA/wAAAAECAAEBAf//AP///wABAP/+/wAA/QAAAAAA/gAA/wAAAAAAAP/////8/P79+wL++gABAAD//QAB/gEAAwAAAAAAAP///gEBAQAAAQAA/gEAAAAAAgAAAAAAAAAA/gAAAAAAAAAAAAAAAQAAAAEA/wD//wAAAAEA/gAAAAD//QD+/wH//QD+/wAA/AD//QH+/QD//wH//P//+wD+/f/+/gIA/gECAv37/P79/AL//gD///78//8A/AD////+/QH//f7//////wAAAAH+/wH+/v7/AP///////wAAAP///////wD+//39/wAAAP7+APv7+/37/Pz7+vr49/by8/bz6/X09Pb19v39/QUFBwMGCgQJDwUGCQEIBgIGBAIGBwACBAEBAgACAQECBP0BAAD+AAAAAAEBAQABAf7+/v4BAP8AAAD/AAAAAAAAAQAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAP8AAAAAAAABAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAD///8AAAH///////8AAAD///////////////8AAAD///8AAP4AAAAAAAAB/v//AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEBAQEBAQECAAEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAf4AAP8AAAAA/wL///8AAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAf8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAC/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAP0AAAAAAAAAAAAAAAAAAAAAAAACAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAf4AAAAA/wIAAAAAAAAAAAAAAAAAAP4AAAP///8BAQEAAAAAAAAAAAAB/v8BAQH/Af7//wIAAAAAAAAAAAEB/v8BAQH+AP8BAQEAAAAAAAD///8BAAEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAABAQMAAP3///8AAAAAAAAAAAABAQEBAAH///8BAQH///8AAAABAQH///8AAAIAAAAAAP4AAAAAAAAAAAAAAAD///8BAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH/AAAAAAAAAAAAAAAAAAABAQEDAAD8AAEBAQEAAAD/Av0AAAAAAAD9AP////8AAf4AAAAAAAAAAP/+AAADAAEAAAAAAAABAf8AAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8C/wD+AQH///8CAf8AAAD+AAED/wD/AAD/AAD/AAEBAQAAAgH//wIAAAAAAAAAAAAAAf3+AgD/AAEBAQEDAP/8/PwA/fj+/fwBAgUAAAAAAAAAAP4AAAABAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAf4BAAEAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wL/AQACAwYDBQsEBQoAAwcBAgQAAQL/AAD+AP7/AP8BAAIBAQP/AQIAAQECAAL/AgP/AgIAAAEAAP4AAQH+/wQBAQEBAQEAAwYAAwgBAwT+AAAEAf/+AQECAAAAAAAAAAD///8BAf8C/wAAAAAAAP7/AAEAAAEBAQEAAQEAAAAB/wD///0AAAAA//0B//8AAf8AAAAAAAAAAP8AAP4BAPz+/vr9+vUAAwT/BQkA/AUA/AgDAwIA//8AAQMAAAAA/wD/AAIAAAAAAAAAAP8BAQAAAAABAQD//wAAAAAAAP////8AAAAB//0AAAD///8BAP7///8B//4A//4A//8A//0AAP0A/vsA//8B//3//fz//vwB//wA/voAAgEA/v3///8A/fz/AP4A/v8AAPwA//7///8B/v/+//4A/v0AAf4B/f/+/////////////wD///////////8A/v/+/v7////+/v77+/v8+vv8+/r8+Pf48/D18PD19Oz6+vwAAQAGCAkGCQ0ECgsDBgsCAwkCBwEBAwIABAQAAwIBAAMAAgL+//8BAAH+//8BAf4AAAIAAAAAAAD+/v4AAAH//wD9AAAAAAD+/wH///8AAP8EAQEB////AAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AAAAAAAA/////wD/////////////////AAAA////////Av8A/wAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAQABAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQABAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEB////AAH+AAD/AP8BAAAAAAAA////AAAA////////////////////////AAAA////////AAAA////////////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAD+//////8BAAACAAD+AAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAH+AAAAAAAAAAAAAAAAAAAA////AAEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAf7/AQEAAQAAAQAAAAEAAAAA////AAEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP//AQEBAAAA////AAAAAAAAAQEB////AAAAAAAAAQEB////AQEB//8BAAD+AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAACAAD+AAAAAAAAAAAAAAAA////AQEAAAAAAAAAAAAAAAAA////AQEBAAAA/wEAAAEAAAAAAAAA////AQEB/////wD/Af8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAACAQD+AQEBAAAAAAAD/gECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQH/AAAAAwABAP8AAQAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAQEBAAAAAv//AAAB/gEAAAAAAgD//wD//wAB/gABA////QEAAwACAAMA/gEAAQEBAAAAAQAG+wIE/QAF/gACBf//AP38+f7u/vkAAf7/AAAAAQH/AQABAAAAAQAAAAAAAAAAAAAA////AAAAAAAAAQEBAAAAAAAAAAD+AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8BAQH/AwMFAwYKAwUIAAMJBAMJAQH/AAD//wD+////AQAC/wEBAAEDAAH/AAEBAAMEAgICAQAD/wL/AQEEAAAAAf4B///7AQICAQMHAQMG/gACBAAAAAD+AAAD////AQEB////AAD+Av8B/wH/AAAAAP///gEBAQH+/wEAAAAA////Af/9AP8B/wAA///9/v/+AP8AAP///wAAAQH+AAH+Av/6/v8A/fn1AgEEAf7//QEBAgIEAQb+/wUGAP7/AQEBAAAAAQD/AAAAAAAAAAACAAD/AAACAAAAAQAAAAAAAAAAAP//AAD+AP/9AAAAAP///v/9Av8AAP/+///9AP7/Af/9AP/9//78Af/9//7///76AP77///9AAD//vz+/v39Af8CAAED//z8/v/7AgD+AP4B///8/wD/AP79AAAAAf7//v//AAD/AQAA/wABAAD/AAAC///+/v4A/v7+/v7+//v8/fz8+/r4/Pj4+vXy9/Tz9vLv+/Pz/fr4AgIICAkHBAkOBAgIAwcKAgYIAwIGAgQB/gIB/gMBAAABAQAB/wD/AAAAAAD+AAACAAAA/////wD+/QAAAAAA/////v7+AAAA////AAABAAAC/v//BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wABAAAAAAAAAAAAAP///////wAAAAL/AP///wAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAEBAQEBAQEBAQEBAQEBAQEC/wAA/wEBAQAAAAAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAP///gAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv///f///wAAAAAAAAAAAAAAAAEBAQAAAP8AAAAAAAAAAAAAAAAAAAAAAAAB/gD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA/v//AgEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AP8BAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAgAA/gAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wEBAQABAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAAAAP8BAQEBAQEB/wAAAP///wAAAP4CAAIB/gAAAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAf///wAAAAAAAAEBAQAAAAAA/wAAAAEBAQAAAAAA/wEAAgICAgH///0C/QD+AAEBAQEBAf8AAgMBAwEBBPr/Bf7/AP8H/Ab++QD7+Pr8/P/8/QAA/gAAAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAgMCBAYGCAUFCQEBBQMCBgAB/f///f/+/gEBAf8BAwIBBP8BAgAC+wECBAEDAgABAwECAgEBAQH/AAAB/gEDBgD/AgAC/wEDBAEAAwAAAQAA/QD//gL/Af8BA////wEB/wL/AAAC/wAAAAH/AP8A/QAAAgAAAP///wD//wD//wD//wAAAf8A/f///wD//wAA/v//AQEBAQAAAAAAAAD8+QAA/gD/A/4DBAICAQD5APoABAT+/wIDBQEB/v8AAAD/AgAA/QAAAAAAAgAA/QEAAQAA/QAAAAAAAgAAAP///QAAAAAAAAD//QAAAAH+/wD//wAA/////wD+/////wH//QD//v8A/QD//f///v/+/gH//wD//QEBAfz++v79/wMAAAIAAfwA/QH//QAB/f8AAgAAAP///wAAAP///wEAAAAAAP///wAAAAAAAAAAAP////7+/v7+/v39/fz8/P/8+/37+/36+f359vf08/Xy7/r08gD9+AcGCQQIDAQJDgAGCAAGBgAEBQQGBgMCAwEBAfwAAQACAP//Af///QAAAwAB/wEAAAAB/v7+Af8BAv///wAAAQEBAf///v4A/gEAAQABAwD///8AAAAAAAQAAAABAQEBAQEC/wD/AQH///8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///8AAAABAQH////8//8AAAAAAgEB/gAB/v4A///+AP////////////////7///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEAAAABAQEBAQEAAAAAAAAB/wABAQH/AQABAQH/AQABAAABAQECAgIBAQEAAAAAAAABAQEBAQEAAAAAAAAA/wIBAQEA/wAAAf7///8AAAD/////////////AP7+//7///////////8AAAD/AP3/AP7///////8AAAL///wA/v8B/wH//wAAAP8AAAABAQH///////8AAP4AAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAA/wEAAAEAAQD///8BAQH///3//wEBAQH///8BAQEAAAAAAAD+AQAAAQABAQABAQADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAAMBAf8AAAAAAAAAAAAAAf7//v////8AAAD///////8AAAL///8AAAABAQEAAAAAAAAAAAAB/wAA//8AAP0AAQH/AgMBAQH/AQAAAP4AAAMAAAAAAAIAAAAAAAD///0AAAMAAAABAQH9AP8B/wABAQH///8BAQH///8AAAABAQEAAAAAAAAAAAD///8AAAD/AgL+/v4AAAADAQEAAAD///8AAP8CAgIA/v8AAAD/AAEAAAD///4AAAAAAAAAAAAAAAABAQEAAAP///8BAf7///8BAQEAAP///wIAAAAAAP0AAAAAAAAAAAAAAAABAQH///0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//wABAQH//wABAQMAAAD///8AAAAA/wD/AP8BAQEBAAAAAAAAAAAAAAABAAH/AP////8AAAAAAAAAAAAAAAABAQEAAAD//v4BAAAB/wAA/wD/AAABAQEAAAAAAAD+AQD//wD///4CAQIC/wD//v0EAQEB/v0B/gEDAAECAAD+/v7///////8AAAECAAEC/wD//gH/AwAB/wD+AQADAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAC/wD+AQD///8AAAABAQECAP7/AP//AP8BAAT+AP78AP8AAP4FAwX8Af8BAv0FBP8CAwT7AAr+/f4CCgAAAgYA8eT/+wIC/QIAAwH9Afz/AP4CAAUE/wT/Af0AAAAAAAABAQEAAAAA/wEAAAAAAAIAAP8AAP4AAAAAAAABAf8AAAEAAAABAgEC/wAAAP7+/gEAAgMEBQkBAwj+AQYFBgn+Af3//////wEAAQX/Av4AAAD+Af0BAf4AAAABAf8BAQEBAQEBAQMAAQIAAgEAAAD//v8AAQQBAwUBAgP/Av8CAvz+AQH/AQMEAAAB/v0BAQEAAAD/AQEA/gEAAf//AAAB/wL/AfsBAAQC/wP+//sA/v0B/gH+/vkDAQD//////wH//wIBAP8B/f7//v4AAQMBBA0A/Pb8+vH///8GAAEAAfz/AP39/QAD/vYABxEABw7+AAIBAPkCAP4AAAL+/gEB/f8ABAEAAAAAAf8AAAAB/wEA/gAAAAD//f0AAAD/AAABAP////0B//0A//0A//8A/fsBAP4B//z//fwB//wA/vwB//0B///9/vkB//4DAfv///0AAPsBAQD/AAD+/AH/Af////8A/v3///8B//3///8AAAAAAAEA/wIBAf77/v38//0AAf/+/Pv9+foA/QD3/Pv/+vj79PL47+738e/59/X9AP8ACAgDCRUDBgUDCAgCBgkBBQYCAwQBAwQBAQH6Af////8B///+AP4AAAL/AQAA/wAA/f8AAAEAAAAA/v3/AAECAP/9/wH+/v///f8AAQACAv/+AAEA/v3//gAEAAAA////////AAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAA////AAAA////AAAA/gD/AQAAAAAA////////AAAA////////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP8AAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAP8AAAAAAAAAAAAAAf8AAQIBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///9AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAD/AAAAAAD/AAAAAAD+AAAAAQEAAAAAAAAAAv8AAQAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAQEBAAAAAAAAAAABAQAAAAABAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAwAA/QEAAAAA////AQEBAAAAAQEB/v8BAgICAv/+AAACAAD/AgAEBQAC/gD+AQMCAAQA/Qb9//76///9/QcM+//7/fr8BP8AAgAA/v8CAgAA///+AAEAAAAAAAAA////AAAAAAAAAAAAAAH+AQACAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAABAgIBAwQGAgQHBAQGAAQGAQIDAP/8AAAAAAAA/wEAAP8CAQEBAAD+/wAAAQAAAAACAP8CAQIDAAIBAgECAAAA/gEAAgD/AAECAQEB/wIBAQAA////AQEBAAAA////AAAAAAAAAQEBAAAA////AAD/AAAAAQAAAAAAAAAAAAAAAP8CAAAAAAAAAAAA////////////AAAA////AP//AAAA////AwICAQEBAf/+//r4/QDzAf/7AgcBAP/z+gADBP8DAgEDAAME/wAA/QD/AgL/AgIBAAAAAAAAAP//AP/+AAAAAP7//v7+AQEBAQAA///9AAAA/gD9Av8A///9AP/+///9Af/7////AP/9/wD8AAD9Af/8//78/wAAAP79///+//7+Av79///////////////9AAEBAAD/AAAA/wD9AP//AAAAAAAAAAAA/AH9////Af7/Av7//vz9//3+/v7+/f79Afn6+Pb09fLv9vXw+vz3AQQDBQUJBAYIAwoMAgQFAwcHAAQFAAQFAQID/wEDAQEBAv/9/////v7+Af8D/wD//////v3//////wAA//8A/gD///8AAAAA//8AAAAAAAAA/////f39//4B//7+//7+BAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP////////4A/wH//////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAEBAQEBAf8AAAIAAQEBAQEBAQEBAQEBAQEBAQICAgEB/wEBAAEC/wAA/wEBAQEBAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///////wAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAgAA/gAAAAAAAP//AQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///QAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wEBAQAAAP///wEAAP///wEBAQAAAAAAAAAAAAAA/gAAAQAAAQEBAf///wEBAf///wEBAQAAAAH+/wEBAQD///8BAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf//AAEBAf///wAAAAEBAf///wEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf//AAEBAf///wEBAQL/////AP//AAAAAP4BAP8AAAEBAAICAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAEAAQAAAAIBAgAA/wH///8BAwEBAQABAQMDAv8F/gABCv///f7/AQL+9/3/8Pv98v3//AL/BAMAAgABAP8A/QH/AQAAAAEBAQAAAAAAAAAAAAAA/gD/AAAA/gAAAAAAAAAAAAAAAP///wEBAf/+AAIA/v7/AQEDBAIGCQEEBwADBgMFBgACAwD//f/+//8AAAAAAAEBAQACAQAAAwEBAQAB//8AAAACAQACAQIBAwADAgAAAAH//wACAQD/AP8CAQEAAAAAAAAAAAH+/wEB/gAAAQEBAQD//wABAP8A/wECAAD/AAEBAf8A/wH//QAABAAAAAAAAAAAAP4BAP///////gAAAP///wAA/gH///8A/wD//wAA/v4CAQICAgIA/v77+P3+/wMB/f4AAAH///79BgD9/AP+/AMIDf8GB/8CAwD+/P79/gEBAQAAAP7+/gAAAAIAAf8A/QH+/wECAP4A/wAAAAH+/wEB//7//wD+/QH//QD//f7+/P8A/gD9/AAA/f///P/+/P/+/AD+/QH//QD+/v/+/f7//P/+/P////////7+/gEA/wAAAP8A/gH+/wAAAP0A//8A//4A//wA/wD+/gD+/v/7//77+/76+vz7+Pn59/zx9fj08Pbz7/n59gEDAQUFDAUKEAQGC/4EAAIEBQIEBgAEBf8CAgACBAABAAAAAAL/BP///////QAA/QAAAv///v////////8AAP4A/v7+AP//Af4AAAAAAv///gAAAAH+///////+/v8AAgAAAAQBAQEBAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD////////////////+AP////////////////3///8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAC/wAAAQABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEBAQEBAAEAAAACAAEAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAD///8AAAAAAAD///////8AAAD///8AAAAAAAAAAAAAAAAAAf8A/wD///8AAAAAAAAAAAAAAAAAAAIAAP4AAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA/38AAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAP8A/QAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAEAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAB/gD/AQEBAf///wAAAAAAAAEBAQAAAQAA/wAAAgAA/wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQL//wAAAf4BAP///wEBAf///wEA/gABAgL+//8BAAAAAAMBAgEBAAACAP///QECBAED/wAGCAD//QX+E/38///9+P/6/QD9/gEBAQADAf4B/gEAAwAAAP///wEBAQAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAQIDBwIDBv8DBv8DBgABAvz//gP/AQAAAgAA//8BAAECAAAAAAEBAQAAAAICBAICAv8BA/8BAf8CAQIBAf///wAAAP7+/gACAgL///8AAgAAAAAAAAAAAAH/AAABAP///wEBAf///wAAAAD/AAEB////AAEC/wAAAAAAAAAAAAAAAAAAAP////4BAAD9/gAAAAMB/////////QD+//////////4A//8AAgIBBAEB/v//+wH/Cf8AAv38/AQBAQD6/AD+/P//+gAADgACBgD9/AL++v0BAgAAAP/+AwEBAQEBA/8A/v8AAAEAAAH/AQAAAP///QAAAP8A/QH+/f///////QH++wD////+/AH//AD//f/9/P/+/AD+/P///P///wH//P/9/AD//gH//f7//QEBAQD9/AAAAAD+/v///wAAAf8A///////+AQL//vz9/P/9/v38+/z5+f35+Pz49Pr18/nw7/f59v78+wUHBwMHCgIHCwEGDAMGCQIC/wEDBAEDBQECAwACA/0BAAEAAP0A/wL/Af39/f////7+/gAAAgEAAgEB/v//Af3+/f////7+AP////4AAgAAAP7+/v//AAD//v39/v///wEB/wIBAwQAAAAAAAABAQEAAAAAAAEAAAD///8AAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAABAQEAAAD///////8AAAD///////////////0AAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wABAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAD///////8AAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AP8AAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wAA/wAA/wD+AAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAD///8BAQEAAAAAAAD///8BAQEAAf7//wIBAQH///8AAAABAQEAAP7//wIBAQEAAAAAAAAAAAAAAAAAAAAAAf8AAAAAAQAA/wEAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAP8AAAABAQH///8AAAABAQH///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQEA/wAAAAABAQH///8AAAAAAAAAAAAAAAABAQEAAAAAAAD///8BAQEAAAACAAAAAAAA////AQEAAAD///8BAQEAAAD///8AAAABAQEAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAv///v4AAP8BAQAA/gH///8BAf8BAAEAAAABAQABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wD//wD+AQAAAAABAQH//wABAQED/wD/AAACAQD8AgH//wECAAED/gEAAAP+/wYD/v4B/P8CCvkD/vf8/v78/PoEAP8A//8AAf7//wIBAQEAAAD///8BAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAQACAgIAAwT/AgYAAgUAAgP+AQL//v7/AQD+////AP8BAAEAAAIAAAAAAAEAAAAAAAD+AAIDAAAAAAEAAAAAAAAAAAD+/v4A//0C/wEAAAAAAAD/AQAA////AP7/AAEAAAABAQH///8AAAAAAf8A//8B/wEAAf7//wH/AP8BAAAAAf4AAf4AAAAAAAAAAAAC/wAAAf7//wAA/v0A////AP0BAAAAAAH+Af4AAgIAAwQA//0AAQQBBQcABQcAAQQA/fn9/f7++vkB/Pr++Pb/AwYFAQAFAv8BAgUBAQMBAQIAAAMAAwQB///+AP/+/gEAAAIAAAD///0AAAABAP7///0A/v//AP4B/////vwA/vz+/f0A//0B//wB//3//v8A//wB/v3///8BAP/9/vwA/v4B/wD/AAD///////////////8AAP8CAAH8/////wAA+vwA/Pz9/v38/fv7/Pf7+PX58/H68vL29+8AAAIFBgoDCQoCBwz+BAYCBgYABAIEBQkAAgEBAAIAAgH+AAICAP/8//7//v8AAAH+/v79/f39/f8BAf4AAQL//////wD///////8AAAH///8BAP/9//7////+/v4C/wD+/v3//wABAQEBAQEEAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAv8A/QAAAAAAAAAA////////////////////AAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwABAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAAAAAgEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////////AAAA////AAAA////////////////////////AAAAAAAAAAH/AP8AAAAAAAAAAAAA////AAAAAAD+AAAAAAD+AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8A/gAAAAAAAAAAAAD+AAAAAAAAAAAA////AAH+AP8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+//8AAAADAAAAAQEBAAAAAAAAAAAAAAAAAv8AAAD/AAABAgAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AQEB//8AAQEB////AQEB////AAAAAAAAAQEB////AAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA/gAAAAAA////AQEBAAAAAAAA////AQEBAAAAAAAA////AAAA////AAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB/wD/AAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAEBAAAAAAAAAAAA////AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAwAA/QEA////AgH//gABAAAAAAAAAAAAAgIA//4AA/8C/wMAAAAA/wAG/////fz+Av8NBP37/fz8APzz/f38Av/9/wD/AQAA////AQEBAAD+AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAgMGAQIFAAMGAAIDAAD+AQH////9AAD/AAD/AAAD////AQEB////AQEBAAACAgAAAAAAAAAAAAAA////AP3+Af7/AP8AAAAAAAAAAAAAAAAAAAAA/////wH/AP8CAAAAAAAAAAH/Af7+/wAA/wMAAQD/AP4A/wL////9////AAAA/wEAAAAAAAAAAAAA////Af/+////AP/9AP///wAA///+AQEB//8C/wAB/wL//wD+/wEABAEC/gH/Av/9/wEBAAH/AQD+BP/7AP//Av8C/wAC/P7+AwMBAgD/AAD9AQD9AQAAAQAC/wEAAf8AAAAAAQAAAAD+AAAAAv/+///9AP//AP76AP7+//39//78Af79///8/wD+/wD/AP38AP/+AAAA/v78Af///v/9AP//AAAAAAAA////AP//AP///wAAAAAAAf7//v7/Avz+//z7/vz5/Pj3+fXz+vLx+PLy+fX0AAcDAgMGAwYNAgcMAQQJ/gQEAQYCAQQDAQMEAAABAAAAAAACAQAAAQAAAP8AAAAA/Pz8/Pz8/Pz8/f39AAAC/wAB/////v4A/f/+AQEBAAABAAAA////Af4A//7+Af///wAAAAAA////AAAA///+BAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wH///4A/////////wAAAP///////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQAAAAEBAQEBAQEBAQAAAAEBAQEAAQEBAQAAAAEBAQAAAAEBAQEBAQEBAQMCAgEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAP///wAAAP///////wAAAP///////wAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAA/gAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wABAAAAAAAA/gAAAwAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAP4BAAAA/wEBAQEAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wEBAf///wEBAf///wAAAAEBAQAAAP///wIAAAABAf///wAAAAAAAP8AAAD//wEBAQAAAAAAAAAAAP///wABAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAB/gD/AQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAEBAf///wIB//8A//4B///9AAD/AgIB//8CAQP/AAAAAP////4D/v8F/QH+CQMHDgb9/Pv8/P738/7///8AAgIAAAAAAP///QEBAf///wAAAAEBAQAAAAAAAAAAAAAAAAEBAf//AAAAAAAAAAAAAAAAAAMDAwECAgADBAMDAwEBAQH+/wAA/v///////wAAAAAA/gAAAf//AgEBAQAAAAD+//8B/wD//////v7+AQAA/wD+/v/9/gH//gAA/gIB/wAB//8B/wAA//////8AAAAA/wAAAAAB/wD/AAD//wAB/v7+/wICAQEBAgAAAAH+/wAAAP7//wD//QEAAQAB/wAAAAD/Av7+/AD//QAAAP///wAAAP///wL/AP7//wAB/wH/+fz+/wL3BgIAAwAA//r7+AAECQIECQMAAgEAAAH/AP0CAvsABgEGDQEDAf/9+v78+QD8/gEB/wEBAwIBAQAAAP///wAAAAAA/gAAAP///f///wH//f39+gD//wD//QH//P/+/AH//gD//QAA/f/+/f///wH//QD//////wH/AP7//////wD/AAAAAf/+//8A/wD/Af4A/v39/f/9/fr//f38/Pz09fr18Pr08/j08/n6+P8EAQQJDgMFBwMGCP4ECAEEBQQDBQIEAwACAv4EBAAAAAH+Af///wD//////wD9/v3+/fr6+/7+/v///////////v7/AP7+/v//Af3+/QICAgEB/gAAAv7+/v//////Af///wAAAAAAAf4B/wD/AQAA/wQBAQEBAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wD8//////////////////////8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEC/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAABAQEBAQEBAQECAQEBAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAD///////8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP8AAAAA//8AAAAAAAAAAAAAAAABAQEAAAAAAAD9AP0BAAMB/wABAQH///8AAAABAQEAAAAAAAAAAAD///8AAQEAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEA/wABAQEAAAD///8AAAABAQEBAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAD///8BAQEAAAAAAQEAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAC/wD+AQAAAAAAAAAAAAAB/wABAQIBAP8A/wABAf4BAAMCAAEDAQD+Af3/BAQC/Af9BPsECA0C+/X4+/T/+/0AAAX///8AAP4BAQH///8BAQEAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAwIBAQMAAgH/AQL////+//4B//7/AP////8BAQH///8AAAABAQAAAAAAAAAAAAAAAAACAAD///////4B/////f79/f0D//wAAAL+Av4CAv8B/v//Af8AAAAAAAAAAAD/AP4BAAEA/v3/Af4A//4AAAEB/wAAAf////0AAf7//v0AAf4AAAAAAP4BAQEAAAH///7///8A//8AAAD///8AAAD//wH//v0A/v4B/wD+APz/+/r9/AUB/f79AP0EBQcBAwMDBggAAwX///4BAgEDCAwGCA//AQoBAv8A+/b8/vsA/PoCAf//AP4BAQEAAP4AAAD///8AAAAAAP7///8B//7+///+//wB//4A//8B/v0B//z/AP3+//wAAAACAP79/v39/v4AAAACAAH/AAAAAAD+/v4CAAL///z+AP///f8AAP/////9/f39/f34+/r/+vj59vP78fL99vT9+vcCAgEFCQv8BQwBBgUABgUCBAIAAgECAwMCAQQA/wH+AAD////8/f4A/v77/f38/Pz6/Pv6/fz//wEBAQECAgIDAAD9/f8AAP4AAAAAAP78/PwDAwMDAwP//v4A/gD//v7+/wEAAAD9AP//AAD///8A//8AAAAEAAAAAAAAAAH/AAD/AP8AAAAAAAAAAv8A/gEAAAAAAAAAAAAAAf7/AAAAAAAAAAAA/QEA/wD//wD////9////////AAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAQEBAP8AAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAgABAQEBAQEBAQEBAQEBAQEBAQEBAQEB/wAA/wAAAQAAAQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAEBAAAA/wAA/wAAAAAAAAH+AP8AAAD+Af/+Af/+//7/Af8A/v//AAEAAAAAAAAAAAAAAAACAAD9AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAQEBAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAA/gEA/gEAAP8AAAACAgD+AAAA/QD/AAD//gEAAQED//7/AAD+AgD//wAB/gEB////AAAAAQEB/wD9AAAAAAAAAAAA//4BAQEB////AQEB////AQEBAf/+AP8AAAIDAAAAAAAAAAH+AAEBAP8CAAAA////AAAAAQEBAAAAAv8AAQAAAQAAAQAAAQEB/gAA/////gEBAAD/AQEAAAAAAAD/AAAAAQACAf//AAAAAQEB////////AAAA/gABAgD/AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAQEB//////8B//8AAAD/AQEB////AAAA/wAC////AQD/AAAAAAAAAAAA/gAC/wD//wD9AAAAAgAAAQEBAAAAAAAAAf8AAAAAAAAAAAIBAQD+/gAAAAAA//8AAQEDAAAAAAAAAAAAAAAAAAD+AgD/AAAA/wEDAAAA////AAAA////////AAAAAQEBAAAA////////AAAAAgAB/gEAAgIC////////AQAD/wD+/gEAAAD+AAD/AAABAgIBAQH/AAAAAP8CAP8CAAAA/wD+AAACAAACAAAA////AP4BAAICAAD+AAAAAAAAAQEB////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP//AAAAAQEBAv///gEB/////wACAAEAAP/+Av///QAAAf8AAQL/AP/+/wH+AQICAQEEBAMDAgUF/f4J/QcTAgoAAPXw//fy/gQIAgEAAAAAAAAA/v8BAAAAAgH/AgD+/v8CAAAAAAD+AAAAAgAAAAEB////AP//AAEBAP8CAAIGAgEGAQEBAQEB/v8BAQABAAAB///+//8AAwEAAgEBAQD/AP//AP8A/gH+AgAC/wD/Av8C//0A/wAAAP7/AP7+/v/+AQH8AP8CAQAD/gABAf4B/wEA//8BAgIA//7/AP/8AQH9AAD/AAAAAQAB/v4BAwH9AAAB/v77AQD7AP8GAQEFAAD6/v3/BQIC//77Av/+AAEA/f39AP//AQEBAf79Af//AAD//gD/AfwDA/v7/v7p+gANAggQ/wAFBwYG/AEA/gcLBAoS/wULAwUL/f4AAwH7/Pr1BAcSBv4B+PfeAwUD//0B+wQGBv/1AAAE//4EAP7/AgH//wD8/f/8AAIBAvz6////AP7//gD+Af//AP//AP7/AP/+/f39/v78AP7//wD9AAABAQAAAf/+AwH//P8FAP/9Af7+AQEA/f7//f39//z6APr3A/j48+/t9/Hr/fb0+/v7AAQGBwoOAwcJAwMG/wID/wAFAgEIAQQGAAQEAAIB////Af7+//7+Af8A+/7+/////v7++/v7AQD+/wIF/wACAAAAAQID+ff1+/v9BgYG/v7/BQID/P7+/v0AAAID//4B/v4AAAH9AgICAv0A////AP8A/QD9AP8CBAL/AP4AAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAP4BAAL/AAAAAAAAAP///wAAAP///wAAAAAAAAAAAP///////wAAAP///wAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAH/AAABAAEBAQEBAQAAAAEBAQEBAQEBAQAAAAEBAQEAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAB/gAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQD/AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAAAAAEBAQAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAD//wEBAQAAAAAAAAAAAAH+//4BAAEBAQAAAAAAAAAAAv8BAAAAAP///wAAAAAAAAL/AP//AP0AAAAAAAAAAAEBAf///wAAAAAAAP///wABAP///////wAAAAAAAAAAAAL/AP8CAQAAAAAAAAAAAP///wAAAAAAAAAAAP////////////4B//4BAQMAAAAAAP///wEBAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQEAAAEBAQAAAAEBAQIDAwIDBf7+BgAE/QEFBwQGC/36+Pz9+f/9//8A/wH//f8BA/8A/wEBAf////8A/wABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICBAICBAEBAQAAAP///////////gD//wAAAAAAAAH//v8AAf///////wEBAQAAAAAAAP////7+/gAAAAAB/gH/AAH+/wD+/gEAAf///wAAAP///wD//wD/AP8A//8A/v7+AAAAAAD//wAA/wH//wAAAP8A/wABAf4B/wABAgAC/QH//v7//QEAAAAA/gAAAPz//QD///4A/wL//wD/AQAA/wD+/////wMB+vz/BPz9/f/99wH/+QIACAD+Bv78/wEQDwEOHAUMGAIGDAD8/AD++/z69QAEBP/9+gEGFP/78/4EBwYQIPvv4P8EAgf59vsBAgEB//4A+gEA/gD//wH//QH+/gD9AP///wD//v8A/wH+/QD//f7+/P/+/f///wD//wD+//7+/gIA//4A/wAAAP7+/v///wD++f/9/AD///39/f3+//7+/v77/Pz6+vfv7Pjz7/r3+AEBAgMHCgEGCAEHC/8EBwIEAwABA/8DA/4CAQEAAP///wH+AAABAAICAv39/fr8/fr6+gAAAP4A/wMDAwAAAwABBP////7+/vz9/f39/f7+/v7+/v/9/v3+/f79//3//wICAQECAgEBAQECAgEBAf//////AAAAAAL/AP4AAAQAAAABAQEBAAEAAAD///8BAQH///8AAAAAAAAAAAAAAAAAAAAAAAD+AQAAAAAAAAAA/wD///8AAAD///////////8AAAAAAAD///8AAAD///8AAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQECAQEBAQEBAQEAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAD///////////8AAAAAAAD///////8AAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAP4AAAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAD///8BAQEAAAD///8AAAABAQH///8BAAAAAAAAAAAAAAD///8AAAABAQH///8BAQEAAAAAAAAC/wAAAAABAAAAAAABAAAAAAAAAAAAAAD/Av8A/wAAAAAAAAAAAAAAAAAAAAAAAQAA/wAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8BAQH///8AAAABAQEAAAAAAAD///8AAAABAQEA/wABAQH///8AAAAAAAABAQEAAAH///8AAAAAAAAAAAAAAAD/AQAAAAAAAAAAAAD///8CAQEAAAAAAAAAAAADAAEA/wD+AQAAAAAAAAAAAAD///8AAAAAAAD///8BAAAAAAAAAAABAQH///////8AAAABAQH///8AAAD///8AAAAAAAABAQH//wABAQEAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAA/wH//wAAAAD/////AAABAQEAAAAAAAD9AP8BAQEBAQAC/wAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAD+AQD///8AAAAAAAAAAAAAAAABAQEA//8AAAAAAAAAAAABAQEBAQH/AgMBAgMAAQX/Af4AA/0ABvsBCPcA/fkA/fj/////AP8BAP0AAQAA/wL/AP8AAAL/AP8AAAABAQAAAAAAAAAAAAAAAAAAAAD/AQL/AQICAQIAAAD///////////8BAAAAAAAB//7///8AAAD+/v4BAQEAAAAAAAABAQH////+//z//gEB/wAC//7////////+AQEC/wH//f7/A////vwBAAAB//8BAQL+AQAA/v0CAP7///4BAP8C/wABAv8A/wD//v8AAQD+/QIAAPwAAAAAAAAAAAAAAf8AAAD/AQABAQEA///+AQAA/v8A//4B//3z/BIEAu4FAvH+/ff8+/z+Cf4JFB0IEDD4FRf+/fsC/P0A+PX/AgUBBggD/PoBAwP+AAUC/fn+Awf/AP0DBAf/CxcC9eUA+/r/AwoAAv0AAf7///v9AP8D/wAC/v/+/v//Af3///8B/v////3///3//v3+/vwA/v4CAAH/AAAAAAD///8AAAD///////////8A/v4BAP/9AP/9//79/v3/+vr69fL38vD47un6+vn//v4CBgkCCAoBBgr/BAf/AQQDBQP/AAEBAgP//wH9AP8A//0A/wABAQH8/f75+fn5+/37+/sBAwIEBAQDAwP+AQAA/QD9/f39/f3+/v8AAAACAAH//f7+/v4A/v8A/v///f78AgADAwMCAwP//gH/AAD////////+/v7///8AAAAEAQEBAv7//gAAAAAAAAAAAAAAAAAA/gEAAAAAAAAA////AQEBAAAA////AAAAAAAAAAAAAAAA////AAAAAAAA////////////AAAA////AAAAAAAAAAAAAAAAAAAA////AAAB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAf8AAAEAAQEBAQEBAAAAAQEBAQEBAQEBAAAAAgEBAAAAAQEBAQEBAAAAAQEBAAAAAwABAP8A/QAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAAAAAAAAAAAAAAAAH/AP8A////AAAA///9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////////AAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AP8CAAAAAAAAAAAAAAAAAAAAAAAA///9AQEBAAADAAAAAAAAAAH+//8CAQEBAAAAAAAAAAAAAAAAAAD+AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAQEB//8AAAAAAAAAAAAAAQEB////AQEB////AAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAA////AAAAAwEB////AQEBAQEBAQAB/wAAAAAAAAAAAAAA////AAAAAAAA////AAAAAv8AAAAAAAAAAv8A/gEAAAAAAv8A//8A/QAAAAAAAAAAAgAB/gEAAQEB////AQEB////AAAAAwAB/QEAAAAAAQEBAAAAAAAA/////////gD//QD/AwAA////AAEB/gEAAf//AAEB//8BAQH/AAAA////AAABAAAAAAAA////AQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAQEBAQEBAAAAAAD+AQEBAgIDAQAEAQIGAwQIAAQJ/wb2Avr8//76Af8AAQAAAgEB/gEBAAABAP8AAAAAAAAA////AwEBAAAAAAAAAAAAAAAAAAAC//8BAAAAAAAAAQEB////AAAAAQEB//38////////AAAAAAAAAAAAAAH+AAAA/wD/AAABAP8BAP79Af8A/v/+Af7/////AAEB/v8CAgL+AP38AAME/wAA/v/+AQL/Av3/////AAD+AgH/Af///wH+AP0AAQH/AP7+/wAAAgAB/wD8AAAA/gAAAAABAAAAAAIB//4BAQIB//4BAAD+AAAA////AP3+CP7pAvj4//n4/QYMAiQ3BxUvBAUP/f35BPn7AQUFAgoK/P34/fjz/fX4BQQJBQIN/wEKAf3t/v4JBAQG+f75AwwUBPz3+/nnAgL6AP3+AgH//gD+/////QAAA//+AP/+AP/9AQAAAP///v78AP///v7+Af///v/9/wAD////AgAA/v//AAAA////////////AAAA/f7//gAA/wAA/vz7/Pbx+PDu9vDt/Pn3BAIE/wgJAwkL/wQI/wMGAgUGAgMEAQMEAAAA/f8BAf8BAAD/////AAAA/v//+fv9+fv9/f39AAIBAQEB/gEA/gEC/////f39+fn5/f3+AgICAwIC/wH+/v7+AAAA//8BAAD/AgEB//8AAf7//wH+AAEBAAAA/v4A//8A////////Af/9BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAP///wAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAIAAQEAAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQAAAAIBAQEBAQEBAQAAAAAAAAEBAQAAAAEBAQD/AAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///////////////wAAAAAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wAAAAEBAf///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAP4BAAL+AAEAAf7/////APwAAP4AAAAAAAAAAAAAAAEBAf//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAAAD/AgEBAQAAAAAAAP///wEAAQEAAAEAAP8A/wEBAf///wEAAAAAAAAB/gD/AgAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAQEAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEAAAEAAP8AAAAAAP///wAAAAAAAAAAAAAA/gAAAAABAAAAAAAA/wAA/wAAAAAA/wAB/wAA/wD//wAAAQEBAf///wEBAf///wAAAAAAAAEBAQAAAAAAAAL/AAAAAAAAAAAAAP//AAAAAAAAAP/+Af8B/////wAAAP//AAAA/wABAf7//wIBAf///wAAAAEBAf///wAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP4BAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAEBAQIA/wABAAICAgICAf8CAv8DBAEFBgX9CvwE+QH8/v/++gEAAP8A/QH+//4BAAAAAQL/AAAAAAABAP///wEBAf///wAAAAAAAP7/AQAAAP///wIBAQAAAAAA/wIAAAD+//7+/v///wH/AP8A/wAC/wABAQD/AQEBAf4A/gIAAQAB/wEA////AAH//f/+/f7+/gEBAQIAAAD+AwD/BAH+/QAAAAAA///9//4BAQIA/v8AAP8A/////wH///8A/gAAAf/+/gEBAAD9/wAB/gAAAP8BAQD//wL/AP0BAAAAAAAAAP///////wEA/gH/+//++/n//QYUJgYNIAkIEAEBAf38/fsA8QEHBQj9Avv38Pvx8//79AUCAf39BAISEPsCCQP//f4CBf/w5gAOFQIEBAQAAP8NHP759wL67QD//QECAgMCBPv/AgAA/v0A/wH/+wD////////////+/v///gH//f///wAAAP7+/v///wD//wAAAP////////////////3+//7/AP7+/f77+vv18Pnw7fny8P759QEGCQIGBgIGCQAFCQAEB/0BAgIEAwMDAv8CBf4A/wH+AQEBAAQAAP8AAf3//gD//wEB/gEBAQMDAwMCAf0A////Af7+/f7/Af7+/vn6+/z8/AYGBgMBBAAA/v39/QMBAv7+/v//AQAA/wIAAQAAAAH+//8CAAABAf///wAAAAH/AAD/AAAAAAQBAQEBAQEBAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///////8AAAD///////////////8AAAAC/wAAAAAAAAD//wAAAAABAAAAAAAAAAAAAQABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAEAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEAAAACAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAC/wAAAAAAAAAC/wD9AP8AAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAD///////8AAAD///8AAf8AAP8A/wAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAQH///8AAAABAQEA/wAAAAABAQEBAQEA/wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAAMAAAAAAAAAAAD///8AAAAAAP0BAAP/AP8BAQEAAf7/AAAA/wEBAf4AAAP///8BAQEAAP4AAAP///8BAQH///8BAQEAAAD///8BAQEAAAAAAAD//////wABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8BAQH///8AAAABAQEA/wABAQH///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAD///3/AQAA/wL/AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAACAAD9AAABAQEAAAADAAD9AP///wEAAAAA/v8BAAD/AAAAAAAAAAAAAAABAQH///8AAAACAAAAAAAAAAD////+/gD//////wD////+//8BAf8C/wH9Af8D/wD+AAACAQIAAP////8AAAEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD+AQAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAAAAAP8CAgL8AgH/AQIAAgUBBAkBBff+///+/fsAAf8B/wAA//8B/wD/AQAAAAAAAAABAQAAAAD///8AAAAAAAAAAAAAAf7///////////8C//4AAAD+/v4B/wAA/v8BAAD///8BAQEAAAAC/wABAAABAP79/QEAAP8AAQH/AP8A//0A//4A//3//v4BAP7+AAAA/AMBAwUCAwEAAAD///7+AP4EAgD9AAACAf8AAAEAAQD/AP8AAP8AAf7//v4DAQH/AfwAAP4BAgL+AAQBAAL+AAEAAP8AAAD/AAD/AQABAv8B/f4BAP7//vsKIEIHBQj/+wD4+PYDCQoFCAgF/fv+9PH39u4DAQIB////Agb7Agz7AQEKBgED//EAAgz7+Pz//vn99egFDRv+AAEABP8EEB767e8B+v0A/v0DBAMA//7+AP8BAPwA//0A/gD///8A//////8B/v//AP8AAAAB/wD+///////+//8B//8AAAD///////////8AAP7+/vz++/v79fL38O358vD9/foCBgcACQ4CAwX/BQYAAwcCBQYDAwL/AAABAQH9AgP/////Av8BAAAAAQIAAQAA/wD//QABAf0BAQECBAMAAAD9/fz+///+/wH////+/wD+/v7+/v7+/v4BA//+/v77+/sAAwQAAAP///4B/wACAv///wH+//4A/gAAAgMA/v0AAAD///8AAAAAAAAEAAAAAAAAAv8A/gAAAAAAAAAAAAAAAAAAAv8AAAAAAAAA/gEAAAAA////AAAAAAAAAAAA////////AAAAAAAAAAAAAAAA////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAQEBAgEBAQEBAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////////////AAAAAAAA////AAAA////////AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAACAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AAD/AQEBAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AQEB////AAAAAQEB////AQEBAAABAAAAAP//AAAAAQEB////AgAAAAAAAAAAAAAAAAAAAAAA////AAAAAAEBAAAAAAH+AAAAAAAAAv8CAAAAAQEB/AAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAAAP//AAAAAAAAAQEB////AQEBAAABAAAAAAAAAAAAAQEBAAAAAAAA/////////v7+/////v7+/wIC/////////////wAA//8AAAEBAAAA/wAA/wD/AQEB/f//AQEBAAAAAAD/AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAEAAAAA////AAAAAAAAAAAAAAAA////AAAB////AAAA////AAAAAAAAAAAAAAAAAAAAAAAA/wID/P38/wEA/wH+AAEB/wAC/wIH/wL+AQQI//37AAED///7AAAAAP//AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8A///9/v79Af78Af4CAAAA//3+AP8BAf//AAAAAQAAAQD+AP4A/gD/AAD+AQEBAAAA/wEB/wD/AAD+AgD+AQD+AP79/wD+AP/+/v0AAf0E/vwF/wECAAAAAP79AgAA/wD/AAAAAAABAAEC/wIAAAD9AAH+//4AAAL//v//AQD+AAIBAAAAAAED/gACBAEBAAAB/wIBAP0AAQEB/wAAAAD+/v36/Pv3CwIO+fzx/AEBCAkSAgD5+OvZ/fb4CAIVAAoB/gQH/wEFBAEAAf33BwYJ//4C+gILBgD7/PfxAgQE//r1//Xv/gkTA/75AgcMBAwa+vPrAPrzAf73AAAB//8BAQD+AP3+AAABAP//////////AP////8B/wD9AP4A/gD/AQAAAAAAAAAA/////////v7+//////z6/vj5+vfz+PHu+/Py/f37AQYIAQUIAAUHAgQF/gID/wEEAQQEAAMCAP4BAAEBAAAAAQEBAAAA/gD/AP///v8B/v4A/f/+/f3/AAAAAAAA+/79/Pz8AQIEAAAA+/z9+/79/gEAAgUEAgICAAAA/////f39AgABBAYG/v7+/v7+AgICAwIA//0A/v7+//7/AQEB////AQEBAAAAAAAABAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAL/AP4BAAAAAAAAAP///////wAAAP///////////wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAgAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wD//wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAB/gD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wEAAAAAAP///wEBAQAA/gAAAwAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAAIAAAAB/gAAAAD/AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAP///wAAAP///wAAAAAAAAAAAAAAAAEBAf8A/wAAAAAAAAAAAAEBAf///wAAAAEBAf////////////////////////4BAAL//wAAAAAAAAAAAP///wAAAAAAAAEAAgAB/wAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAf4BBAAB/P4A/AACAwAC/P8CA/8BAgABBQEFBAH7BP4CAf79AAMAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAP////7+/gH////9/v8E/wAAAP///wEAAf7+/gAAAAAAAAEB/wH/AP8A/QAAAAEBAQICAv7//wAA/wIA/v4A/AEA/gEA/////////QEAAv39/QD9/QIB/QEBAQH//v3//wQAAAAAAP4BAQEBAAEAAAEB/wAA/wAA/v/+AAIBAf8A/wD/AAEAAwAAAgAAAQAAAgAA/gAAAAAAAP///////f/+/P38+vv7+vDiuw4QJQAAC/DyzwL99wkIEAUJF/gHBQIADAIC/wAB/P4CAvn9AwwJDv/+BAcB//33+vsDAAf9+gADCu/y7Qz/AAQMFv358QYNGfz5+P379QL++P7//gH/AwEBAQD+AP0A/gAAAP///////wD///////8A//8A//////8A/wD///4A/wH///7+/v7+/v7+/v758/n29vfx8vrz8gD7+gUFBwAKDP0ECAAAAAMFBwIAAv0CAgICAv0AAv0BAQEBAwEAAAAAAAEBAf7+/f3//v3/Af3/AP0AAf7+/gAAAP////39/fz8/AIDAfz+//j4+P0A/wEBAQMDAwEDAwL/AgEDAgAAAP3//gMAAP39/f/9/gMDAwICAgT/APv//wEAAQECAf0AAAD/AQAAAP8BAAT+AQD+AQD9//////8AAAAAAAAAAAD///8AAAH///8AAAAAAAAB/wABAAD///8A///+AP3///8AAP8C/wD//wD///8A//8BAAAAAAAAAAD///8AAAAAAAABAQEAAAIAAAEAAP4AAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgIAAQEAAQEAAQEBAQEBAQEBAQEAAAAAAAAC/wABAQEBAQH////9AP//AP8A/wIBAAD/APwAAAAAAAD/////AAD+///////+/v4AAf4AAf4AAf4A/wD////////+AP8AAAD///8AAAAAAAAAAAD///8AAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAA/wEAAAEBAgEBAQEAAAAAAAAAAAAAAP4AAAMAAAAAAAAAAAABAQEAAAABAQEAAAAC/wABAAD/AP8AAAAAAAABAQEAAAL//wABAQEAAAAAAAAAAAAAAAD///8AAAAAAP4AAP8BAf8C/gD//wD8AQD+AQD+AQD+AQAAAAIAAP4AAAAAAAADAP/9AP7///8A/wIAAAIAAP8AAP4AAAABAQH///8BAQH///8AAAAAAAAAAAAAAAABAQEAAAAAAAAAAf4A/wIBAQH///////8AAAAAAP8BAAEBAAAAAAAAAAIAAf8BAQEA/wAAAAAAAAAAAAAAAAD///0AAAMBAQEAAAAAAAD///8BAQH///8AAAACAAEAAAAAAAD///8BAQEAAAAAAAAC/wAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAABAQH///8AAAABAQH///8BAQH//wIAAAABAP0AAAABAQH/AAD//wIAAP8BAQD///8BAf7///8AAAAAAAAAAAAAAAAAAP4AAAAAAAEAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAACAAAAAAAAAAAAAAD/Af4A/wAAAAAAAAD///8AAAAAAAAAAAAAAAD+AAIAAAD/AP8AAP8AAP8AAAAAAAAAAAAB/wL///8AAAAAAAD///8BAQEAAAD//gH+AQL6/PwDBf39AP38/wID/wP9/f8DA//+/v4AAgIAAAEAAP8BAAAD/wAAAAAB/gH+Af4CAAH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAIAAAD+//8AAAD//wAAAAAAAAD9AP//AQAA/wD+AAD/////AAD////9AAEC//v+AP4BAQL9AP4AAAIAAAIBAQP/AQD+AQX/AwYBAgcA/AD+/v0AAAD/AgH+//4DAf8AAAABAAH///8BAQEAAAAAAAAA/wIB/v8A/vsA/ff//QT+/AQCAQUCAAAAAP8D//4AAAAA/v0AAf////0AAQD+AAACAgIA/AIBAwABAQH///0A//4A/wABAP8BAAAB/wP+AP7/Afb/+v/+/v8DAwX/AP7/APz8/gECAgIBAgMAAgAA/f8CAf0CAf0DAQAAAP4AAQH/AgEAAAX9AAMBAwICBvr9/PwCAAMA/P3+/gABAfwAAfn//fQA+fEH+vn46+Lv8u8GCRcJChUBChv/Bgj/BAQDAQIFA/r7/gT9AAYIAQIF/O38BSAG//r+/gP79+gF/f8A/gcCAfwLBf/69+z8AP0KDRb9/PAKDyX8AALz7tEGBwv//PwHAQX3APkD/gL/AQAA//8A////AP//AP////8AAP4AAP0C/QP//f//Af78AvsAA//++/7++AD88/D48fL69vX/AP4BCQYCBwkABQf/AAIBBQj+AAD/AQIBAQL+AAIAAAABAQEAAAD+AP///////gD//wD+/v7/AAIAAP/+/v3+AP36/PsGBAf79vr8/fwEBgQAAP/5+vj+AAEICAgA/f4B/f4CAgMCAAECAgT9/f0B/v8IBgf29vb////9//4BAgMCAQT//gH+AP4DAgMAAgEAAAABAQEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/QD/AgAAAAAAAAAAAAAA/////////gEA//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAABAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQEBAQEBAQAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8A/v//AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8BAAAAAAAAAAH+AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AAAAAAAAAAAAAAAAAAAA/wEAAAAAAQH+AAAB////AQAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAQEB////AQEB//8AAAAAAQED///9AAAAAAAAAQED///9AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAA/////////v7+/v7+/////v7+/wIC/v7+AgEB////AAAAAAAB////AAEBAAAA/v//AAD//gEAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAACAAD/AAAAAAAAAAAAAAAAAAAA/////wD/AAAAAAABAAD/AAAA////AAAC///9////////////AAAAAP8BAAAA/v///gAA/wIDAAICAAEBAAIB//8BAAAAAAD+Av8BAAEAAAAAAAAAAAAA////AQEBAAAAAAH+AAADAP/////9/wD+//3+AAP9AAEBAf7/AAAA/v7+AP7+/wD+AAD+AAAAAAEA/v7+AQECAgAC/wL/AAAAAP//AP/+/wAAAAAA/v7+/gH+Af0E/gD7AwH6/wAA/wEBAAEA/fz6/wIEAgL+AAIAAgMA/wH/AAH//gEA/gICAgEBAgMEAQMFAQEEAP/7AP8GAP/6/v/2AAIBAwMD//v8Aff4/Pj3/QADAAcMCA0kAQQHBAYPAAYMAQMI/wMGAAMCAQEBAAME//7/Av78//v+AwkNAwIA//0DAv/8APfyAQACAAAC/QIA/gECAQD/Afr1+PDkAQ8c/PjrBw4cBPns//XhAgAN8fz9BQb//f/+AP8AAAAA//4B/wD+////////Af8B/f4B/wD9AQL9/v39/v4BAP3//Pf3+vb1+fby/P35AAQCAwIEAAMCAAMHAQIF//4CAgEB/wECAgEB/wAB/v//AAED//8BAAD//wD//v7+AP8B/f/+/f8B/wH//gEAAAEDAgUEAPr6+/38AgQDBAACAQEB/fz8/v7+BAYHBgME/P/8//7+////AP7/Af8AAP7/AAAAAgICAwMDAAAAAAAA////AwMDAAMA/P4AAwMDAAIBAAAAAgICBAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP4BAP///wL/AAAAAP0A/wABAP///wAAAP///////wD//////////wAAAAAAAAAAAP///wAAAAAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQAAAAEAAAEBAQAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAP////////////8A/////////////////wH/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAP///wAAAAAAAAAAAAAAAgAA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEAAAAAAAAAAAAAAAAAAP8BAAABAAD//wEBAf///wEBAQAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAEBAQD/AAEBAf///wAAAAEBAf///wAAAAAAAAEBAQAAAP///wEBAQEAAP///wAAAAAAAgAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAAAAP///wEBAQAAAP//AAAAAAEBAQAAAAAAAP///wEBAQAAAP////7+/v7+/v7+/v7+/v4B/v7+/vwBAwL//wD//wH+/v8BAQIAAPwA/gQAAgAAAAEAAv//AAABAQD/AAEBAQAAAAAAAP///wEB/wAAAAAAAP///wAAAAAAAAAAAAAAAP7//wAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAf4A//////7/////Af0A/gAAAAAAAP8AAv8B/QAAAAAAAP8AAgEBAQAAAP8AAf8BAwACAwABAgIA/v///wL/AAAC/gAAAQAAAP///wEBAQAAAAAAAAAAAAAAAP8A/f/+AQD8/QAD+wIB/P8CAgAAAQEAAAAAAAH//v3//QH//gAAAP4A/f///wAAAAEDBQAA/gAAAQAA/gD//wIA//0AAAIA//z+/gAB/gH/+wIAAP0AAgD/AQEDBP8BAf4AAQD+/gAA/gH/////AP8DAgEDAwECAP8EBwACAgEEBAADBAABAQD8/QD/AwEABQD/Af7//f399QD58f/59AH+AQEGEv4HDgkiQAEBAwACBgABAgACAwAAAAH/AAAAAAH+9wMB9gL5+P/8/AMLGQH8/Pn+AwT58AD29P8EAv4CBf4DAwIBBQQBAP759Pz79gUKDgMCEPwE+A0WLfHh7gP+BAME9gD7Af8CAAD/Av///////gAAAQD//gD///7///////4A/P///gD//wH/Avz6+fv48vj07Pr38wD/BAMFBwEFBgACA/8CBf8BBQEBAgACAgEAAAABAv8AAgABAv3/AQAAAf8AAP7//v8AAf8A//4AAv8B/v4BAv8AAAAAAAICBP4BAv39/AQGBQEDAP4A//v5/P/+AAkGCQEBAv37+v/9/gIF/wUDA/sAAfv8/f3//gQCBAYGBv7+/gAAAAAAAAQCAv8BAP4AAAEDAgICAgEBAQEEAwQC/wD+AAABAQH///8AAAAAAAAAAAAAAAAAAAD///8AAAD+AQD///8AAAD///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQECAQECAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wD+//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD/AQAAAQABAP7//wIBAQEAAAAAAAD///8BAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8BAQH///8BAQH///8BAQH///8AAAABAQEAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8AAAAAAAAAAAAAAAL+AP4BAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQEAAAD///8AAAAAAAABAQEAAAAAAAAB/v//AP7+/v7+/v7+/v7/Av/9/v4CAgL+/gAAAP4AAAADAgL+AQEC///8AP4BAQED/wABAQH///8AAQH///8BAAAAAAAAAAD9/gAAAAAAAAAAAAEAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD////+AQEAAAAAAAAAAAEAAAD///8AAAAAAAIAAP7////////+/wH////////+AP/9AP8AAAD9AAH/AQH/AAL/AAL+AAQCAQL8/wEB//7/AP8C/v4CAgIBAQEAAAAAAAAAAP8AAAEAAAAAAAAAAAD////+//0B/fv/A/oA/gIBAQQAAv8BAQH/AAACAAH/AAAB//0AAP8A//8AAAD//vz9/wECAAAAAAAAAP7+/wAAAf8A/wD/AP8B//8C//4BAAEA//n+AAMBAQABAwUAAwYAAP7/AP/+AP///wEDAQT/BAcBBAMCBQcBAv8AAf8AAAD+/v4B//0BAf0CAPwC/QL7+/f8+e7//fQCBQcECBUCCBYABhD/BhL/AAAAAP4AAAACAP4A/v8A/wD/AP3+Agj///b/+/n///8ABQsB/fwCBQb77/D//v4A/f79//z+/AIAAgcCAgMA/vsA/fj75tYFGCv5+wP9//oMFzvt4rcK/v/+AQUAAAcAAP///////////////v0B/v//AP0AAf7+//7+/v4B/gD++vn99vT79vL9+vUBAQMCBQYBBgoAAwb/AQAAAQMAAgMC/wH/AAEAAAD+/wEAAgL+AAIBAQH+//8AAAL+Af7+//4AAAL/Af/+AAIA/wL/AP////7+////AAD//gECAQT/A/4B/v4A/wEEBAQEAgP+/v7//f7+/v4CAAAAAwMEBAQCAgL+/v4AAgEDBQT++/sCAgL+/QACAgL+AP8CBAMEBAQBAQEAAwICAgIEAAAAAv8AAP8A/gAAAAAA////AAAA////AAAAAAAAAAAA////AAAA///9////AAAA////AAAA////AP//////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAgEBAQAAAQEBAQEBAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAA////AAAA////AAAA////AAAA////AP7/AAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAQEBAQEBAAAAAQEB//8AAAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAA////AAD9AQEBAAAAAAADAAAAAAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAA/wAAAAAA/wAA/wAAAAAAAAEBAP8CAAD9AQEB////AAAC/gD9AAAA/wAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAv/+/wD/AAAA/QABAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAQEB////Af7//v7+/v7+/v7+/P/+Av8C/f7+AQEBAwADAf8B/v//AgAA/gEBAwAB/////QEAAv7/AQEBAAAAAAAA/wAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA/QD/AAAAAAAAAAAB/wAAAP//AAAAAAAA/gD/AAAAAAAA/v8B///+/QD/AAAA/v///////////f8B//4BAAAC/wABAAAAAP8C/QAB/gABAAEB/QECAQAB/wECAv79AAEAAP8C//8AAQL/AAAAAAAB////AQEBAAAAAf8AAAD9AP38AAL6//wH/wH8AAUCAAAB/v7+////////Af///v7+AP/9AQAAAAAA/gD+AgIC//3//wEAAQEBAAD/AP8A//8A///9AQEB//8B/v7+AgD9//35AAIDAQEDAAQI/wEBAQH/AQH/AAICAAUEAAUHAAQFAwQEAP/7/gD6AP79AP78AP74AP33/P33BPv1APv0AP//AQUQAAYZAAgZBAQQAgEGAv8A/wD9AAD+AAD+AP8AAAH///////8A/gACAP39/Pz6BAgL/QEEAv/7BAD9+PbwAgIEAAD9//34Af4B/wD9/QIDAAD9/wMFAvLw9AXQDRQz//////70AwAGAgL7/wAB/v///////////v7+AQD+////AAD9/////wH6/v4CAf4C/fv6+vbv+PPv+/j1AP8EBAcKAgQH/wQH/gID/wIAAQH///8BAgEB/P0D/////gAB//8BAQEB/wAC/wH//v0A/gD+//4BAAIA/gACAP/+/gD//////f3+/f3+AwMF/v77AAIBAf4C///+AgICBgYG////Af8AAgICAwEBAAAA////BQUFCQkJ+wAAAAAAAQADAQD+AP8C/wH+AQMCAwAAAQICAgUEAQEBAgICAgICBAEBAQAAAAAAAAL/AP0AAAAAAAAAAAAAAAAAAP///wAAAAAAAP///QAAAAAAAP///////wAAAP///wD//wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAQAAAAAAAwAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAEBAQEBAQEBAQEAAQAAAAEBAQEBAQAAAAEBAQEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAL/AAAAAAAAAAAAAP///wABAAAAAAAAAP////8A/wAAAAAAAP///wAAAP///wAAAP///wAAAP///wH/AP8AAAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAEBAQAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEBAv///wAAAAEBAf///wAAAgAA/QAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAgAA/QAAAAEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAD//wACAQAA/v//AgAAAAEBAQAAAP///wEAAAAAAAAAAP///wAAAAEBAQAAAP///wEBAf///QEBA////wEBAQAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQAAA////wAA/QAAAAAAAgAAAAAA/QEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wIA/v4BAv///wEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAP////7+/v7+/v39/f39/QMDBfsB/QEBAf4BAQEBAf0DAQD+AQAC/wIAAP0A/gEBAQH+/v8BAQEAAAD//wEBAQAAAAAAAP///wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AP8BAAAAAAAA//8A/wAAAAAAAP////8AAP//////Afz//v8A//7///3+/v//Af///v0A//////0A//3+/v/+/v7/Afz//v/+Af/+AAAAAgAAAv4BBAL/+/8AAv4A/wH//wAAAAD+AQAC/wEBAQAAAP///wAAAAEAAQAAAAD//f/9/P8D/AD+/P/9BAADAgEAAAAAAAAAAP///f/+/P///QAAAAEBAQH/AQD+/v4BAQAAAAACAAABAQL/AP7//wEA//7//wEAAQAAAPz//AP+AQH8+f7+AAECBgMCAgECAwADAwQEBAAFAwEDA/8BAQD+//8A/QD//QH/+///+wD//P/++//++/v+9wECCAQIDwAFEf4HGP8DDQABAf/++v4B/v//AAIAAAAAAv8B/gAAAf8BAP8A/wIA/v3++v4A/wMIDP3+/wAAAf/27/v69gMECAL9/wH+AAD/+v//+/z+Af8EAgIDA/8C+/np6gL9zgYDGfTt0AL9AvgFAP77AgME/f///////////f8AAAAAAAD////////8/QH/Af78+/v39ff07/n38QD/AQQICQIDCgECBP8BAwACAwMDAP///f//AAAAAAEDAv/+AP7+/gD///8A//8B//79AP7+/v7/AAAA/wD/Av8A//7/////AP7+/v7+/f78/QMDA///AAAAAQAA//7+/gUEBAUEBAL/Av0A/QMBAQABAQICAv4AAgIB/gMAAf79/AEBAf3+/gICAgEDAwQAAwEDBAMDA/4DAQMDAwEAAwACAQICAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAD///////8AAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQH/AQABAAABAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAQD///////8AAAD///8AAAAAAAAAAAAAAAAB/wD/AAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAIAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v8AAQAAAgAAAAD///8AAAABAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH///8AAAAAAAAAAAABAQH///8BAQH///8AAAIAAP8BAQH///8BAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEA/wAAAAAAAAABAQEAAAEAAAD///8AAAAAAAABAQEAAAAAAAD9/fv9/QQB/f0CAv39//79/f0BAQL7Af0BAQH/AAAAAAD/AgID/f//AgICAQEBAQEBAQEA//8BAAABAQEB/v8AAAAAAAAAAAD/Af8AAAAAAAAAAAAAAAAAAAD///8AAAD///8A/wAAAAD/AAD///8AAAD///8AAAAAAAAAAAL9AP/////9/v7+/v78/wD+//79//7+/gD+/v7+/v7+/v79/wD+//7+AAH+/v7//wH+AAEBAAMAAP7+/wEAAQIB//7+/wABAf8AAAAA/gEAAv8BAQEAAAAAAAD///4AAQEB//3//vz+/fv/Agb+AvwCAgMBAAAAAAD///8A//8AAAD///8AAAD///8B/wAAAQEAAgH+AQAB/gEBAQEA/wD///8D//z/AQX9AQIBAAD//v7/AP0DAPsC/wEB+vT/AwT/AAb/AQb9/v8C/f8AAP8BBAD9/wACAPsA//n+AP4A/f3/AP4B/wABAQL+Bg4BAgsCBRMAAw4BAgn/Af7+/v3/AgIIAPz/AP8B/v8AAAD/AP0AAAAA/v3+AP/+/v7++/f8/wABBgwC/vsBAwX67ekFAwL//vn+/f4B/wAC/wH///v9/f0A/gIBAgf7APoGAgP68Of1+ucMAwb4/e7+AQ4DAgD//Pv+AQD///8AAAAAAAAAAP7//v7+/vwA/gP9/vv5+PL79PD79/QA/gADBwcBBgf/AgX/AgT///8BAf8CAgP9/f///v8BAgP/AgP/Af4AAAL/AAH/AAEA/gH9AP7/AQL//gEAAAAA////AP8A//////4B/wEB/wAAAAEDAQMAAgD9//4BAQH///8CAgIDAwMB/P79+/z///0EBAYCBAYB//8AAgMD/wMAAv8CAgIBAf8FBwcBAwUAAAADBQUDBQUC//8DAwMAAgH///8CAgIEAAAAAAAAAAAAAAAAAv8A/gAA////AAAAAAAA////AAAAAv8AAAAA/QAAAAAA////AAAAAAAA////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAv8AAAEAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAA////AAAA////////AAAAAP7/AAAA////////AAAA////////AAAAAAAAAQEB////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQH/////AAAAAAAAAQEBAAAAAAAAAAAAAAAA////AAD+AAAAAAAAAP8CAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAH+AP8CAQEBAAAAAAAAAf8AAQAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AAAAAQEBAP//AQEBAAAA//8CAAD9AAAAAAAAAQEBAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAQEB////AAAAAAAAAAAAAQEBAAAAAAAA////AAAAAQEB/////v7+/v7+/v7+/v7+/v7+/v4CAQH+/QD9AAAA/gEBAAAAAQABAAD+AAEBAQEBAQEBAQEB////AQEBAQEBAAAA////AAAAAP8AAAAAAAAAAAAA////AAAAAAAAAAAA/v//AAAAAAAAAAAA////AAAA////AAAC/wIB///+/////f7+/////QAB///+//////////////////////8B/////v4A/v7+AP3//////////wD/Af8B/gABAP8AAf8BAgD///8BAAD/AQEBAAAA////AAAAAQEBAAAAAP7//wL+AP//AP38/gT9Av//AAAAAQEB/gEA//////7+AP//AAAAAP79AAAAAAEB/gEBAAABAQEBAQEAAQEA/wAA////AAAAAAAA/////wEBAQAC///9//78//8CAgD9AP4E/f/+//38//0F//4CAQQEA/4C/QD//wH7Af/8/v78AP//AQD+A/8EAQAHBAgM/wIP/AMQAQAEAwD5AwH7/QIC/gAJ+QIHAf//AAAA///+Av8AAP/9/wD7AAAABgH/+///AQIE/wUHAfn8/wMF9u7pAwgEA/75/v4E//8B/f8C///+///7Af0B/wL/APv69fz5CwMOBgT79P33BQIJCP35+v4AAAMEAP7//wEAAQEBAAD+/////f/8/v/+AfwE+vrz9vTt+vTyA/z/BQYKAQUI/QMABAQEAAAA//4BAQEBAf8A//4B//8B//4F/wH/AAAAAAIBAP4A////AP//AAAAAAAAAv8A/QD/AP8AAAEAAAAAAQAA/wH+AQL/AgICAQEBAQEBAP8AAgICAP7/AgICAwAE/f/5AQEBAwMDAgQEAgIC/P7/AQECBQcAAPr8AgICAgL/BwcHAgQG/v8BAAMCBAQF///9AgIC/wEA////AQEDBAEBAf////0A//8BAP7//wAAAAEBAf7+/gAAAAAAAP////0AAAAAAf//AP//AP//AAH+/gEAAP//AP///wAAAAAAAAAAAAAAAP///wAAAAAAAAEBAgAAAAAAAf//AAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAH/AAEAAAECAQEBAQEAAQEBAQEBAQEBAQEBAQABAf8AAAEAAAAAAAAAAAEBAQABAQAAAP4BAAMAAAAAAAAAAAAAAP0A/wABAAD/AP////8A/gAB/wD/AAAAAAAAAAAAAAEAAAEAAAAAAP///wAAAP///wAAAAAA/v///v///wAAAP////8A/wAAAAAAAAAAAAAA/v///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAP///wL/AP8BAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAAAA/gAA/wAAAgAAAAAAAAAAAAAAAAAAAAAAAAL/AP4AAP///wAAAAAA/gAAAAAAAQEBAgAAAgEB/v///wAB/gEBAf///wEBAf///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAAAD/AgAAAAAAAAAAAAAAAAAAAP///wD/AAECAQEAAAAC/gAAAP//AgEBAf///wAAAP///wEBAQAAAAAAAAEB/gAAAQAAAv///wAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wH/AQEAAQAB/gAAAP///wEAAP///wAAAAAAAAAAAAAAAAEB/wAAAf///wEBAQAAAAD/AAAAAAAAAAAAAAEBAf///wAAAAAAAAAA/gAAAAAAAAAAAAAAAgAAAP///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAA/gAAAgAAAAAAAAAA/gAA/wEAAgAAAP8AAgEBAAAAAAAAAQAAAfv+/QH9/QMD/P78BPsB+gABAf8AAwAA//4B//4B/wT///4CAQP/AAEAAAEAAAQAAQEAAQAAAAEAAf/+/wAAAAH/AAAAAP8BAAAAAAAAAP///wAAAAAAAAAAAAAAAP4BAf///////wAAAAAAAP///wAAAP///f/+AgAAAAAAAP0AAf7///7+/v7/Af7/Af3+/v3+/v3+AP7/Af0A/f3//Pz//Pr+/wD+//3//wEBAwEBBAH//QAAgP9/Av8CAAAC/QD8/gEBAwD/AgEA/wD/A///AQEBAAAAAAAA/wEA//8AAP0BBAH+/wD8/f73AP8EAf4EAP79AAAAAQMAAP7//f38Af/+//4AAQEB//78AAIBAP4AAAEB/wMCAAEB/wAAAQEB/P8AAQD8AQADAP8BAAACAAAC/v/+/wH7Av4AAQP+Av3+/wQDAP8GAf4BAPwB/gEB/P/+BwUD/fz5BQP+///9/wQC/wQI/wMR/wEMBAMGBAH//v75//8B/f8GAAAAAv/9BgD//v/+AP/9///9//7+AAD/A/8A/v7++gQCAvz8CQ0V/vr9/QMFBPXoBAD4APwF/f3+AAH9/f39/v/8AgH/AP0A/f36AAD9/Pz9BQAH+//7+/0AAwAB/v3/+AD/AAAAAP35AAIDAAAD/f4AAQEDAP//Avz+/fz8//jn9/Hw+vb0AQECAgkG/QQGAQQFAwMIAAEE////AQH/////+vv+/v4A/gAA/QD8AAAI/f79/////wEA/v39//7//gEAAAAC/gECAAH+AAAA////AAAAAf0BAP8BAv4AAQH//P39AQMCBAIB+Pn7BAUHAwEC/v7+////AQQDBQMFAgQFAQEBA/4A////AQEBAgIN/P7+Awn//wYEAAQEAgAAAwMBAQH+AP8C/v//AP8AAAAA/v78BAAAAAAAAAAAAAAAAP///////wAAAAAAAP///wAAAAAAAAAAAP///////////wAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAIBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///QEBAwAAAAAAAP///wD/AAEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wEBAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAAD+/wAAAAAAAAEBAf///wEBAQAAAP///wAAAAAAAAAAAgAA/QEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAEBAf///wAAAAEBAf//AAAAAAAAAAAAAAAAAAAA//4BAQL///7+/v7+/v39/QACAQIB/QAAAAEAAAAAAAAAAP8C/wT/////AgMBAQAA//8D/QEBAQEBAQD/AAL/AP///wAAAAAAAP8CAf///wAAAAAAAP///wAAAAAAAAAAAP8AAv///wAAAP///wAAAAAAAP////4BAAD9/AEBAf4BAP////7+/v79AP3//v7+/v7+/v7+/v7+/vz8/Pz8/Pz9/f39//39/QAA///+Af/+/gL///8A/wH/Af8A////AAIA//8AAf8AAAAA//8A/wAAAAEBAf///wEBAAAAAAAAAP7+/gL//QD+/wD9/f4C/gEBAQH/AP////0A/wAAAP/+AP/////9/gECAQD9/gACAQAAAP/+/gEBAQEBAQAAAAEBAQAAAP///wD/AAAA/wD+//4BAQEB//0BAgH9/f8C/wH9AP//+f8EAf38/wEBAQAA//j3/AIB/fz//v8DAQQICgcFCwECCAADCP8AAP3+/gD+AAEB/gIAAP7+/P77/P7+/v7+/AH/AP///////wAA////AP////78/f4BAwUGCwD///0CA/rx6vwAAQP//f4AAAD+/v7+/v8A//7//v7++wD8/f8BAf/+AQAB/wD9/gAAAgAAAAAA////AQAB/v/9/wAC/f4CAAABA/8A/f/9/P389/v5+Pjw7/n5+f3/AQUEBQEDBwIDBAABBAACAQAAAAEBAf/+AP79/v8AAf4A/wAAAgAAAP///wEBAf4A//7+/gEBAf8AAP7+AAAA/v///wD/Af4A/QEAAP4A/wEAAf///wEBAQAAAAMCAwACAfz8/AEA/gECAwEAAf7+/v4BAAH/AwECAQICAgEBAQECAgAAAP4BAP34+wMDAwQDAgUFCAIEA////wEBAf///wEBAAAAAP///wD+Af38/QT///8AAAAAAAD///////////8BAQEBAQH+/v4AAAAAAAD///////////8AAP7///8BAAD///////8AAAD///8AAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAABAQEBAQEAAAABAQECAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAD///////8AAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQAAAAAAAAAAAAAAAAAAAAIAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAL///8BAQEAAAD///8BAAAAAAAAAAD///8BAQH///8BAQEAAAD///8BAQH///8BAQH///8BAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAgH//wABAQH///8BAQH///8AAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH//wAAAAABAQH///8AAAABAQH///8AAP4AAAIAAAAAAAD////+/v79/f38/PwAAAL/AQAA/wL///8AAAD/AAAAAAD/////Av8E////Av8BAQH+/QEBAQABAQAAAAAAAAAB/wD///8AAAD9//8AAAAAAAD///8AAAAAAAAAAAAAAAAAAP3///////8AAAAAAAD+//////8AAAAA//8AAAAAAAAA/wL+AAD/AP/+/v79/f3+/gD+/gD9/wD+/v79//79/f3+/v7//gH+//7///4B/wEA/wEA/wEBAP//AAECAAL//v79Av8BAAABAAD///8AAAAAAAABAQH///8AAAEAAAD////9/f0CAvwCAP0A/fwABAQAAAAAAAIAAAL+/wEB///+/P3+/v4CAwEBAQEBAQEAAP8A/f/+AgECAgIAAAAAAAAAAAAA/////v8BAf8B/wEBAQEAAAABAf8BAQD///8C//8AAP//+wEBAP8AAP4FA//4+PcKBgX/AP8ECgwHBQ4CBQwAAAf/AgL9/f4BAAAAAAACAAAA/v0B/v4DAP0A/v0A/v/+//0BAAD///4C/wD/AAAAAAACAP79BQoABAYA/PoC/vv58ej9AAQB/v3///////z//wD//vwBAP3+/P0A/v4CAv///wH//wABAQAAAP4AAAD///0AAAABAQEAAAL//gABAAH/Av3//v39+vX29fH49PL68fAAAgMCBAYAAwX/AwcAAgUBAgQA/wIAAQMAAAD+AP39/wD+/v3/AQMAAQL//v/+AP4AAgH//v////8BAQEAAAD+/vwAAAIBAQEAAAAA/wL///8A/v/+//4AAAEB/wD/AAABAQH/AAD///8AAAADBAEAAAD/+/0EBAQA/wIAAgMBAQEBAgQCAgL+AQAC///5AfsGBAQDBQQDBAQAAgP////////+/v3////9/f3//f7++/z7+/sEAAAAAAAAAAAAAAAAAAAAAAAA////////AAAAAAAAAAAAAAAA///////9AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAgEBAAAAAQEBAQEBAQEBAAAAAQEBAAAAAAAAAwABAAAAAAAAAAAA////AAEAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAA////////////////AAAAAAAAAAAA////////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEB////AQH+AAAD////AP8AAQEB/wD9AQAD////AQEBAAAAAAAAAAAA////AQEBAAAAAAAA////AQEB////AQEBAAAA////AQEBAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////AAAA/wAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQED///9AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAP//AQEB////AAAAAAAAAAAAAAAAAQEBAAAA//8AAAAAAAAA////AAAA/v7+/Pz8AAIDAPwBAQEBAPwAAAAA/v7+////AgICAwIC/wMDAgD/AAAAAQEBAQEBAQEBAQEB////AAAA////AAAAAP0CAAAAAAAAAAAA////AAAAAAAAAAAA/wH+////AAAA////AAAA////////AAAAAAACAAAAAAAA///8AAAA/gD//v/+/gD//P79/P79/f39/P7//P3//f8A/P3+/v/+/v4A/v//Af/+Af/+Af8A/v//BAAB/v8ABAD/Av4B/wL//wD//wD/AAAAAAAAAQEB//8AAgIBAAAB////AP/9/wD+AP79/wL9//8D/gD/AAAAAAEDAQED/gH+AAD9AAAA/v7+AgICAP3+/wIBAQEBAf7//wH/AAAAAAAAAAAAAP//AP8A/wD/AAEC////AwAB/gH+AQH///8B//0B/wEAAv79Af/9////AAL9Afv6+fn2/wUHBAkQ/wMGAAEF/wIF/vz4Af//AP8AAgD+/vz8/v38AP78AAAA/v7+//3+AAH//wD/Af7//wH+AQEBAP7+AgEAAwoP/v79/wEC/fTtAfv3AwYL/////v////7+//7+Af///v79AP3+AP7////+AAAA////AP7/AAAA/gD/AAAAAAD+AAAAAgIE/wEAAP/9//39/Pv4+vby+fHu9/XxAv8BAwICAwQFAAQH/wEFAQEEAAECAAAB/P4AAQEBAP8C//4B/f8BAQECAQAB/QD//f79AwED/////v7+AwMDAAAAAf7////+AwQE/////wAA/v//////AAABAP7/AAEBAAAAAAAAAP7/////AwMDAwMDAAAAAwUEAwIFAQEBAAAC/f4AAQEBAQEBAQEC/v79AQICAwUEAgQGAAIB/wAA/v8BAP4A/fz///78+fn5+PX29/b2+fb3BP///wAAAAAAAAEBAQAAAP///wAAAP///////wEBAf///////wAA/gAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQIBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AP4CAAEBAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wEBAf///wAA/wEBAQAAAAAAAAAAAP8A/QEBAQABAf//AgEBAf///wEBAQAAAP///wAA/wEBAQAAAAAAAP///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAgAAAAEB/v7/AgAAAAAAAAEA/QAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAgAAAP///QAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQAAAP//AAAAAAAAAAEB/wAAAAAAAgAA//////7//QH+Afz8+gAAAAEBAf8CAf///wICAv///wICAv0CAgP+AAIC/wEBAQEBAQAAAAEBAQAAAAAAAP///wAAAAAAAAAA/QAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAP////////////8B/QAAAP////////4AAQAAAP////7+/vz9/P3+/f3+/fz+/fr9/v78/vz9/vz7/AP+AP3+AAH/AAH//wH+AP/+AAAAAAH/AAIBAQAB//0AAQD/AAABAgL//gEBAf///wAAAAAAAAAB/gAA/////wH+/f8A/QL//P7/AgICAgECAgD/AvwCAQD9AP8BAAAAAP////////8BAAH/AAAAAAAAAQL+Af8BAQEDAAAAAP///wAAAAAAAP///QMBAf7/AQAAAAEBAQIBAAAAAQAA/gD+/f/9/AD//v3+/AYEAf79/QYKDAUJCQEFBvwA/wMB/QL+/QAAAAH//wD/AP/+/v7+/gD9AAAB/gD//f8A/v/+/gL/AP8A/QL/AQD///////39/gAID//68AAGDPvv5v4CA//8+f4BBP8A/P79/wL+/f/+/v78+v79+wD/AgAA/f8CAAD+AP8AAP///gAAAP8BAAAAAf8BAP0B/wIBAQD+/Pr59vnz8fj18Pz29AP9/gMHCgIEBwEFCAACBv8CBAABBf4AAQL//v//AQAAAf4AAf0AAf//AQD/AP4B///+Af///gABAv////7+/gICAgAB/wAAAAAA/v/+/P8AAv8A/wD//wAAAf///wEAAAAAAAADAv/+/v///wMDAwEBAQMDAwAAAAEBAQEAAwAAAv3//gD9AP//Af4BAf///////wADA/8DAgACAf7/Afz8+/z6/fv7+/j4+Pr19Pb29vbz9PXz9Pn3+AQAAAD///8AAQD///8AAAAAAAD////+/v4AAAD///////////3///////8AAAD///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAACAgIBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQECAQEBAQEBAQEAAAABAQEAAAABAQEAAAAC/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAD///8AAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD//wABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wAC/wAAAQD///8AAAD/AAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAf4A/wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAD///8BAAD///8BAQH///8AAAABAQEAAAD///8AAAAAAAABAQEAAAD///8BAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAIBAf////8AAAD/AQMB//0BAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAEAAAD+/v7/AP0D/QAAAPwAAAD+A/7+AAYDAAP//QAC/wQC/wD+APwC/wIBAQEBAQEAAAAAAAAAAAAAAAD///8AAAAAAAAB/wAAAAAAAAABAQH///8AAAAAAAD///8AAAH/AAD///8AAAAAAAD////////////9Av///wD///////8AAAABAQH////////9/f79/f79/f78/f78/f38/fz+/f38/v///gD+/gAA/gAD/QD//v8DAAEBAAAA/wEBAAAEAAEA/v8AAgEB//7+AQL///8CAQEAAAAB//8CAAEA/wABAQD/AP0A/v0AAf3/Av////8AAgIA/gP/AAL/AAL+AQAAAQAAAQH+AP8CAAH///8AAAAAAAD/////AAD//wAAAAAAAAH///8AAAAAAAD9/v4AAAABAAIBAgAA//8AAAH///3//v3//v0A/v8A/v38AAL5+/0EAQb/BgoABgf//gD8/PoD//8A/v7//v////0BAAAC/wD+//39/P0B/v8B/v8A////Af4A/v//Af4AAAD+/v0BAwQDBQYD+gD8/f389e0AAwcA+vT/AwMA//8A/v3///8A/fv8+vsA//0BAgH9AP4B/gH/AP4A/v8AAP8AAAAAAQH/AQAAAAAAAAD///3++vj48vD18O369/cDAgIFBQsBBgkAAwUCAwf/AgUCAQT/AgEAAAL9/wH/AAH//wD//gABAAIAAQD+AAIB/wEAAv///P////8A/v0B//7+/PsBAQMCAf/+//78/P4BAQEAAAL/AP8B/wEA/wABAQEBAgAAAP8BAQH///8DAQIBAwICAQQAAAABBQQAAAIAAAAB/QD+Af79AAEAAAD9/f0AAAAFBQUCAgT9/f37+/r59/j19ff39PX18/T8+Pf29vb18/T29vb7+fkEAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAA///////9////AAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAQEBAQEBAQEBAgEBAQEBAAAAAQEBAQEBAAAAAQEBAAAAAQEBAQABAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAA////////AAAAAAAA////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAQAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AQEBAAAAAAAAAAH+AP8CAAAA////AQEB////AQEB////AAAAAAEBAAAA////AQEB////AQEB////AAAAAAAAAQEBAAAA////AQEAAAAAAAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA/wAAAAAAAQEBAAAAAAAA////AAAAAQEB////AQEB////AAAAAQEBAAAA////AAAAAAAAAQEB////AQEBAAAA////AAAAAAAAAAAA////AAAAAQEA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAP//AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA//7+//////8B/////f39BP8B/f39BAQEAgL/AgIC/f39AAMCAQACAgD/AAAA/gEAAAAA////AAAAAAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAA/gD/AAAA/////////QD/AAAA////////AAAAAAAA////AAAA/////Pz8/f39/f39+vz8/vz+/f3+/v39//z8//39//39/v7/Av4AAf8A/QEAAQAA/v8B/AD/A/8AAQD+/QAAAwL/AQEC/v4AAQH//wAA/wAAAQEB/wD///3+/QP8AQMEAP/+//8BAAAA/gEBAQIE/QL7AP4D/wL/Af4AAAAA//4AAQIA/////gAA////AP//AAEAAAAAAQAB////AAAAAf///v//AAAAAgIA//4AAAD/AAH/Af79/v//AP7+AP//AP//+vf2AAQH+gEGBf8HBP8GAwMCAv/7/QEBAQH/AP/7/v3/Avz7Af/7AP35Afv8AAAA///+AP/9AP8A///9AAAB////Af//AwgMAf36/wMD/fbu/P36/wEJBQAA//78/v79//7+Af39/vr7/Pv5AgICAwIAAAAA/////wD/AP//AAD/AAH+AP8B/wAC/gEAAP39/ff1+fPt+PPv+/f1//8BAAMGAAUI/wQLAQIC/wMFAgICAQEB/wACAAAAAQEB//8AAAAA/wEA/wEAAQAB/wAA/wEAAQADAQH7///9AQEB////////AgIAAQEB//////3//wIBAAEBAQIB//8AAQIAAAD/AAABAAAAAQEAAgICAQEBAgAEAAEB/wECAQAAAQEBAAAA/wEBAv8EAf///fz+//79/v8AAf8B+/f49vb29fT39fT09fLz9/P19fX19/X1/Pr7/f39/v7+////BAEBAQAAAAAAAP///////wAAAAAAAP///wAAAP///f///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAIBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AP8BAAAAAAAAAAAAAP////8A/wAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAP///wAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAB/gD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAP///wAAAAAAAAAA/wAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAP///////wABAAEBAQAA/f///wECAv3+AAMDA/39/QIC/QADAgICAgIBAwEBAQAB/wAAAP///////wAAAP///wEBAf8AAAEBAgAAAAAAAAAAAAAAAP///wAAAP////4BAAAAAP///wAAAAAAAAAAAP////////7+/gAAAAAAAP///wAAAP///wD/Av///wAB/vz9/f39/fz8/Pz7+//8/P79/P3+/f79/P79/AH9/QP+/f7+/f///gEBAAEA/v8BAf4AAAIA/v7/AAMBAP7/AQH//wAAAAEBAAAAAAAAAAAA///////+/AD+/v7+/gIDAAAAAAEBAQICAv8EAwT/BP0A/gD9/gD+/QAAAP////7/AQEBAAEAAP///wAAAP7+/wEBAf///gAAAAAAAAD//wAAAAD+//4A/gAA/gAA//4AAAEA/gH+/////gH+//79+v8BAhgYGw0YHQEPFQAGDAQA/gH7+fv//wIA/wD7+fz49f39+f/8+QH9+wMA/AD//gD//////wAAAP///wAAAAH///7//wUJDPv07/4ABPrz6/8AAv7+/gD/Av3+/f/9/QD+/gD8/fz8/Pz8/AQEBAMAAP8BAAAAAAD/AAAAAP///wEBAP////8A/f8AAvz3+ffy8PTv7P749AMDAQYHCgEGCfwDBgUEBwECAgEDAAABAQAAAAAA/gAAAgABAv8AAQH//wAA/gEBAf//AQAAAAAAAAABAQAAAAAAAAAAAAAAAP/+/gABAQEA/wD+/////QEABAEBAQH/AP4CAP//AAEBAQL/APwA/wICAgEBAQAAAAICAgACA/4A/wEBAf////4AAAEBAQAAAf////7+/vz+/fz8/Pb09/n5+e/v8fPw8fXz9Pr29/v5+vr3+AEBAQAAAAYDBAQHBAADAgT+/v7///8AAAD///////////////0AAP4AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQEAAAAAAAABAQEBAQEAAAABAQEBAQEBAQEBAQEAAAABAQH/AQACAQEBAQECAgL/AAABAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAD/AQAAAAD+AQD///8AAQD/AAAA/wD///////////////////8AAAAAAAABAQH////+////AAAAAf7///7+AP/+AP////////8AAAAAAf////7/AP8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAD///8BAQP///8AAAABAQEAAAAAAAD///8BAQEAAAAAAAAAAAD///8BAQH///8BAQEAAAD///////8BAQEA/v8AAgH////+AgEBAQAAAQAD/wABAAAAAQD///8AAAABAQMAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAIAAP8AAP/9APwBAAAAAAAC/wAA/wD+AAAAAAIAAAABAf4BAQABAQEAAAAAAAAAAAD///8AAAABAQH///8AAAAAAAAAAAAAAAAC/wAAAAD8AP8BAAAAAAAAAAAAAAAC/wAAAAAA///+AQABAQEAAAAAAf4A/wL///8BAQEAAAAAAP7//wAB/gEBAQEA/wIBAQH/AP8AAAABAAAAAAAAAAD///8AAAABAQH///0BAQH//wIAAAABAQEAAAD///8BAQH///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAEAAAABAP8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAA/wIAAP0AAAAAAAAAAAAAAP7///8AAAD///8AAAAAAAAAAAAAAP4AAAAAAAD//wAAAAABAQAAAAAAAAD+AAACAAAAAAAAAAADAQH9/wAAAAAAAAAAAAD/AQAAAP4AAAIBAAAAAAD///8AAAAAAAABAQH//gD/AP/////9//oB/QMAAAABBv8B/vwD/QUCAv0BAQEBAQEBAQEAAAACAgL//wD8//7/////AAIAAP4BAQEAAAAAAAIBAQEAAP4AAAD///8AAAAAAAIBAQH+/vwAAAAAAAAAAAAAAAD///8AAAAAAAD/AQL9/f3+/v4AAAABAQEAAAD9/f3+/v4BAQH//gH+/v79/f3+/f3+/fz++/z//v36+/oB/f8C/gD8/gEC//8DAf4A/wEEAAP6//wFAAL+AQIB/wD6Av0DAgAB/gAEAQL///0AAAP//wD/Af4BAQAAAP8A/PkBAgMBBPsBAQP/AAD/AwT/AP/9/gMBAAf+/wP/AvgAAAABAP4AAAD//wD///4AAgEBAQEC/gH/AAD/Af4BAf8AAAABAQAC/f////0B/gEAAAD+AAAAAAD/AP0D/gD//v4B/v8AAgP8+PX/ER0CCxACAwUDBAH9AAj/AwMD/v0A/QIDAwj79/L89/EG/v7+/P39//r/Afz9/fwDAf8B//4AAf/6+vsEBgkCBQn9/wAB/v8BBAD57uICAAz+//r5APsB/AX+/v0B+/r++vb++/sEAwIBAgT///8A/vz/AQUAAf8AA/0AAAD/AAP+/f/9+v79/fv68uL18PH39PUCAgICBgn+AQgBAgQCBAUCAgIAAAD9/wMDAgMAAgIAAAH+AQAAAAAC/wD9AAD9/wP+/wH/AP8AAgEBAQEAAP4BAQH//////v4BAAD+///9/gABAQH+AgAB/gMA/wIB/wEAAQMBAP4AAP8A/wD/AQMC//4B/gEBAwMDAwUAAgH9//4BAAH+AAIC//8B/wH9AP/7//76+fz59/f28fP08vP08/P49fbz8vD18vP4+Pr+/v4DAwMFCAcBAwIDAwMBAQEDAwMCAQQEAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA/QD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAf8AAAEAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8A/wAAAAAAAAAAAQEBAv4A/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA/gEAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAA////AAAAAQEBAAAA////AQEA////AAEB////AQL+AP8C////AQEB////AAAAAQEB////AQH+AAAC////AQEBAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAQEB//8A////AAAAAAAA////AAAC/wD9AAAAAAAAAAACAAD9AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAA/gD/AAAAAAAAAAAAAQEB////AQEB////AAAA/////////wEAAP8AAAAA/vj5AQMCAQD9AQEBAAAA/gEAAAAAAAAAAAAB/////v8B/////gD/AQEBAAAAAAAAAQEBAQEBAAAAAAD+////AAACAQEBAAAAAAAA////AAAA////AAAAAAAAAAAAAAAA/gAA/v7+////////AAAAAAAA/v7+//////////8B////AP3+AP/9/v37AP39//7+Af39Av7+//7/Af79AAEBAv8B/AH+AAD/BQEC/QD/AgACAQD9Av8B/////gAC/wD//////wD//wAAAgAAAAAAAAAAAAAA////////AAAAAAAAAQEBAgICAAMFAQD8AP7//P4CAf7//v//AAAAAAAAAAD/AP7/AQEBAQECAAAA/wAA//8AAAD+AQAA////Af8B///+////AAAAAQEBAQD//v7/AP//AP/////+/////////vz9AAX8Av3+AAL9Av8A/gAA/gD/Af7+//79APz9//z7//7+/wH9/vz9Af/9AP8B/v/+AAH/BAQE/f39CggG/f38AgUF9fDm/f4BBAH+Af7//P39AvwA/f37APz6//z8/////wABAwAA/v7+AP//AAD5AgQB/gEC/P4BAf8AAf79/Pfz9/Xx8e3r+/n6////AwUGAAIGAgQFAAMFBAQEAAAAAQEDAQIC/wAAAQAB/gEAAAAAAP8C/gD//v7+/v7/AAAAAQMC///////9AQEBAQEB////AAAA////AAAA////AAAAAAAAAAL/AQAB/wEAAgL/AQABAQIAAP8BAQEC//8AAAICAwMDAQMC/wEAAv8C/f8BAP//AQIC//z++Pn49fT29vP29vT18/Ly8/Dx8/Hy+Pj4+/n5AQEBCAgIAgQEAAID/f//BQUFAwMDAQEBAQEBAgIEBAAAAP///wAAAAAAAAAAAP///wAAAP///wAAAP///////wAAAP///wAAAAAAAP///wAAAP4BAAAAAAL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQAAAAAAAAEBAQAAAAEBAQEBAQAAAAEBAQAAAAEBAQEAAQEBAQAAAAEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAP///wAAAAAAAP///////wAAAP///wAAAAAAAAAAAAAAAP///////////wAAAP////8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wEBAQEBAQEBAQD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAQAAAP0A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEAAAAAAP///wAAAAEBAQAAAP///wEBAf///wEBAf///wEBAf///wAA/QEBAf//AgEBAQAAAP///wEBAf///wAA/QEBAf//AgEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAEBAf///wEBAQEBAP///wEAAwAB/v///wAAAAEBAf///wAAAAEBAQAAAP///wAAAAAAAP///wAAAAAAAP///wEBAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAf///wAAAAAAAAEBAQAAAAAAAAAAAP////////7////+/wAAAP0A/v/9AAD/Av0A//////7/AP///wAB//79Af////3//v3/AQAAAAAAAAAAAAAA/gEBAwEB/wAAAAAAAAAAAP///wEBAQAAAgEBAf///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAPz+/QAAAP///wH/AAH//QD+/QH9/f///wP++wD+/wMA/QP///4B/v8A//8A/gAAAAEB/gMCAAIAAQH//v8B/wAAAAMC//wA/wH+APwC/gMAAf8CAAABAAAAAP////////7+/gH+/gAEBAICAQEBAgL+Av//AgEDAgQBBf39/QD8AAH//f///wAAAAAAAP////7//v8BAAD/AAEBAQEBAAAAAP4BAAIAAAD+/////wAAAP///wEA/gH+/wD//v///QD+/v7+/v////v7+QUFCf4E/v4A/gIBAP4B/gAAAwEA/gD9/v/8+/79+wD+/QAA+wD+/gD+//8A/f///v8B/gMEBv3+/gIGBf3+/wIDBffs5P39BAQC+gAC/v38/wD8+v79+v/8+v///gECAQEBAQAAAv//AP//AAIB/AAABP//A//+//36+fz38/Xv5/bw6vX19QACAwUGCgIECAEDBv4BBAICAf/+AQABAf8CAAIAAAAAAf///wAAAwAAAP7+/gEBAf7+/gAAAQICAgACAf7+/v//AAAAAAEBAQEAAP4BAQEBAQAAAAEA/gAAAwIAAf8BAAEB/wABAP8BAQEB//8AAQECAgEBAgAB/wICAQAAAf8B/gAAAgIBBP4A/v////X49/bz9vPx8vLw8vXy9fTy8/Ty8vT09AEAAwICAgkJCQEDAwEDAv8BAwEDAgQEAwH9AQMDAwMDAwAAAAMDAQT///8AAAD///////////8AAAD///8AAAD///8AAAAAAAD///8AAAAAAAD///8AAAD///8BAQEAAAD+AQAC/wAAAAAAAAAAAAD+AQAAAAAAAAABAQAAAAABAQEAAQH+AQADAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAABAQEB/wABAgEBAQEBAQEBAQEAAAIBAQAAAAABAQEAAAAAAAAAAAABAQEAAAADAAEAAAAAAAAAAAD+AQD///8AAAAAAAD///////8AAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAD///////8AAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQH///8AAAAAAAAC/wD+AAAAAAAAAAAAAAAAAAABAQEBAAEAAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wAAAAD+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4A/wIAAAAAAAAAAAD///8BAQH///8BAQD///8AAQEAAAAAAAAAAAD///8BAf4AAAP///8BAQH///8BAQEAAAD///8BAf7//wIBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAP4AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH/////AgEB/gD///8A/wIAAP0AAAAAAAIAAP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wD+AQAAAAAAAAAAAAAB/wD/AAAAAAAAAAAAAAAAAAD/////////////////////AP///wD////+AAH+AP///v78//79/v/+/v7+AP/////+/gD8/gD+/v7+AP8AAAAAAAABAQEAAAAAAAAAAAABAQEAAP4AAAAAAAIAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4AAAAAAAAAAAD+/v7///8AAAD///8B/wAC/v0A//0B/v7+//4C/wAA////AP8CAf//AgAB/wD+AP4AAgD//f8AAf8AAQABAgAA//78/wAD/wECAgEA/wEBAgIB/v8AAv/+AP8DAAAAAAAAAP4AAP4AAAABAAMAAQD+Af0BAQMBAP/+AAIAAQAAAv79/P////8A/v0AAAABAQIAAAD/Af8AAAABAQEBAQEBAf8A///9AAAC//////////8AAAAA//0B//7+/v4A/v0AAAD//v7+//z7+/sD/fsA/vwA/wD/AgEBAwEAAf8AAAAB/wD//vz//fz//fz+APoA/v0A//0B/wABAAD8/v79Af0CBAgAAQIFAAD4+Pf89OwAAAYA/Pj/Af4A/P39/Pz//fv+/v4CAQECAQMBAgT///8AAAAAAAD/AAP7/P4AAPr/+/759PPz7uj08Oj79/MBAQQDBQUCBQYAAgX9AQQBAQIBAAL+AP///v8EAgH/AAEA///9/wECAv///wH+/gACAgEBAQP/Af8AAgECAgABAQH+/gL///8CAgL//v4BAQECAgL+/v4AAAAAAAABAQH/Af7//wAAAgEBAf8AAQEBAAABAQACAgADAwQBAQEAAAL+/v4AAP/8/Pv5+fv5+fny8PHw7u/y7vD08fLy8PP4+PgCBAMLCwv/AQMBAQECAgICAgIBAwL/AQEAAgH/AQIBAgAEBAQEBAQAAAAEBAIE////////AAAA////////////AAAA////AAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAf8AAf8AAQIBAAAAAAAAAQEBAAAAAQEBAAABAQACAAD/AAAAAAAAAAAAAAAAAwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAA////AAAAAAAAAAAA////////////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAAAAAAAA/gEAAAAAAAH+AAAAAAAAAAADAAAAAAAAAAAA////AQEBAAAAAAAA////AAAAAQEBAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA/////wEA/wAAAAAAAf8AAAAAAAAAAAACAAAAAAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAD/AAAAAAAAAAAAAAAAAQAAAQEB/v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////v///gD//v7+/f4A/f7//f/+/v7+/QD//fwB/////P79//4B////AQEBAAH+AAAAAQEBAAAAAQEBAAAAAAAAAAD9AAAAAQEB//4BAQEBAAAAAAAAAAAAAAAA////AAAAAAH+AAAAAAAA////AAAAAAAA////////////AAAA////AAAAAf8AAf/9AP79AP//BAD/Av/+///+AgAAAwEA///+AAH/BP8A+wD/AAEAAQAAAAAABP///f8BAv7/AAEB/wD/Af///v7+AAIAA///AAEBAAAAAQEBAgICAgICAAICAgIC/gD/AQMCAP/+/gEA/wED/wL/Af8CAQMCAP3+/gIBAf4AAAAA/f/+AP//AAAAAAAAAf8AAQL/////AAAAAfz8AAAAAP//////AAD+AP79////AP79AAAA/vv5/v7+/vz6/Pz7Bv79AQMEAP3+/gH/Af8CAAAA/wEAAAIB/////f77/v77AQAAAf7//wD/AQL///7//v3+Cg0L/v8AAgMD9vLrAfn2AAQE/Pv6/P75/vz+//v9AP77/wEA/wIBAAMCAP8CAP8B/wEAAAD+/AACAP78/vv4+/Xz8u/u8+/u+fr8/wEEBwQIAgMHAQIF/QEEAAIDBAIFAAMEAAMDAP4A/wEAAP///gACAAD///8BAAAAAAAA/gD/AAIBAgABAAD+AAACAgICAAD+/Pz9AAAAAAD/AQEAAgIBAgIC////AAEBAQEB///+AAH/AAEBAQICAQEB/wIBAQECAAEBAQEAAAAAAAAAAP4B+/v69vb48fDz8/Hy9fHy7Onr8e/wAf8CAgQDCQsKAgQEAgQDAgQI///9////AQICBAQEAwMDAAAA/////gABAwMDAgIC/f39/v7+BAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0A/wIAAAAAAAAAAAL/AAAAAAAAAAEAAAEBAQD/AAEAAAEAAAABAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQH/AAECAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQAAAAEAAwEB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///////////////////////wAAAAAAAAAAAP///////wAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP//AQAA/wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP4BAAD/AAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAf//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAL/AAAAAP4BAAAAAAAAAAAAAAAAAAL/AP4A/wEBAQAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAP///wEBAQAAAAAAAP///wEB/gAAAwAAAP///wAAAAAAAAEBAQAAAAAA/gAAAwAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBA////QAAAAEBAQAAAP///wEBAf///wEBAf///wAAAAAAAAAAAAAAAgAA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAL/AP4BAAAAAAAAAAAAAAAAAAAAAAEAAP8AAAAAAAL/AP4AAAAAAAAAAAAAAP////7+//z//v////3/AP7+/v3+AP3+//39/f3//v////z9////Afz+/f7+/gD/AgAB/gAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAP///wEBAQEBAQAAAAAAAAAAAP///////wEBAQAAAP///wAAAAAAAAAAAP///////////////wAAAP///wH/AAIA/gD+/wAA/v0A/wP//v4A/wP//v0B/gQA/gEBAP7/AAEE/wEAAQICAAAC/wD+AgAA/gMCAQAAAAD/Af0BAQD/AQD+/QACAAEAAP///////QAAAAAAAAEBAQACAQIABP4B/f4B/gABAgAAAgEAAwAB/QEBAf8CAQD8Af8BAP8AAAD//gAAAAD+/////wIA/v78/////////wH+/f///wAAAAH+/QAAAAAB///9/AAAAP4A//77+wH+/v38+/37+f38+gECBf7+/wH9/QD/BQACAf8EAv8DBP8D+wD7Av////7+/v7+/gD+/gIDAP//Af4AAgQFBvr+AgYEA/ny6v7+/gP79/v7+fz9+AD+AQH//f3+/gEEAwEDAwABAwD/AP/////+/f8B/v//BP78+fr28/Tv7PXy8fj7+v8CBAECBgAEBP4CBAABAgIBAAIBAP8CAQEAAv8AAQACAP////8BAwAAAP8BAP4A/wAAAP8BAAD+AQECAAAAAP7+/////QEBAgAAAAAAAAAB//7//wEAAAEBAQEBAf7//wEAAAEDAgD/AgD/BAABAQICAgADAgEAAAEBAgD/AgEBAP/9/vz8/fn3+Pbz9u7u7uzq7fDw8PPu8QD//wcFCAQGBQECBAADAv8DAv8BAAEBAQQECAMDAwEA/v7+/gMAAAQEBgICAv4AAAAAAP////z8+v//BQT///////8AAAAAAAAAAAAAAAAAAAAAAAD///////////8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAD+AQAAAP8DAAEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAD///8AAAD///////8AAAD///8AAAAAAAAAAAAAAAD/////AP8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAC/wAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAD///8BAQH///8AAP8AAAAA/wABAQEA/v8BAQEA//8BAQEBAAAAAP0BAQEAAAIAAAAAAAAAAAD///8BAQH///0AAAABAQMAAAAAAAAAAAD///8AAAABAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8BAQMAAP7///8BAQEAAAD///8BAQEA/wABAQH///8BAQH///8AAAABAQH///8B/wAAAAAA/wAAAAAAAAAAAAABAAAAAAD/AQAAAAAAAAAAAAAAAAAAAAABAQEAAP8AAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAC/wD+AAAAAAD////////9AP/////+/v7//gD+//4A/QD+/v7+/v7+/f3+/v7//wD+/v79/f/+/v7///8AAAABAQEAAAAAAAABAQEAAAABAQEAAAAAAAAAAAABAQH+AP8BAQEAAAABAQEAAAD///8AAAD///8CAAH///8AAAAAAAAAAAD///////8AAAD+/v4AAAD+AP8A/wIAAf4B/wACAP7///8BAP3+/gD+//4DAP8DAf4AAf//Af0E/wH7AAD/Af8B/wAA////Av4B/wD7AAAFAf8AAP8AAAABAAEBAgH///4AAAD+AP/+/v4CAP3///8A//8AAAIBAf8BAgIDAwMAA/7//v0A/v/9/gD///////8BAQH+/v7//wEDAQEA/v/+//8B///+/f3////+/v4A/v//AP0AAAAB/v8AAP4BAAAAAP////7////+AP/8/fwAAAD9/f36+PkFB/sHBP///vwA/v4AAQP+A///AwP/BQMA/QQBAwIA/gL+/v4AAAD////+/v//AAEFBQUAAAIAAAEA/f4A9+/7/f8G/vb7/fz//PwD/wD/AAECAQEBAgIAAQH+AP8B/gAA/f7///38//z++fb4+fX29PD39/b7//8DBgn/AQECAgL+AwIBAwMABAUCAQQAAAD////9/wAE/wQBAv39AP8B/v4AAgEBAAH///8AAAAAAAAAAgH/AP8AAAAAAgH/Af/+AP//AQAAAgEA//////8AAQEBAAEAAQEBAQEBAwADAwMA/wL//wH/AAP/AgICAQL/AQD+/gH//wD//P/59/ny8vLy7/Lw7u/x7vHy8fH39/cDAgYDBAMEBQcFBQUBBAMCBAMAAgL9/f0CAgICAgIDBAEBAQMBAQEBAQEDAAH///8AAQD+/QD////9+/wB/wIEAAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAv8AAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAAAAAAAAAP8CAQL/AAAAAAAAAAAAAAAAAAAAAAAA////AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAf8AAAAAAAAAAAAA/gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAAAAAAAv8A////AQEBAAAAAf8A/gD/AQEBAAAAAAAAAAAAAAAA////AQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA////AQH+//8CAQEB////AQEB////AQEBAAAA///9AAACAAAAAQEBAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8BAAD/////////AAAA////AQAAAAAAAAAAAAAAAAAAAAAAAAACAQH+AP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAA////AQAAAAEBAAD/AAAA////////AAAAAAAAAAAA/////v7+//8B/////v7//v7+/v39/v39/f7+/f8A/v7+//39/f4A////Av8A/wAAAQEB/wIBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAA/wAAAQEB/wAAAAAAAAAAAAAA/////P//AAAAAAAAAAAA////////////AAAAAf7//gEA//8B/wD9AAH+Af8A/P/9AgAAAAD+/v//AP7+/wH/AAD+AgH+AQEA/gD+/QD/AAIAA/8BAf//BAD//AL/Av4B/AABAwH+Af4C/QIAAf8AAf//AAAA////////////AAAAAAAAAAAA/wEDAwMD/wH//v7+CAAG/AIAAAD+AAIE///+//8A/v7+/v4A//v5AP//////Af79//////3+//7+/wD9////Av8A/v//AQD+/wAA///+///9AAAA/wEA////AQEB//78/Pz6/fr7/gf+//7+AP79/wL9/wID/AD//QECAwEC/gAC/wEA/wAAAQMCAP/+//4AAQMBBgYI/f39AwQF+fv9Av33+/39Bfr4/AAAA/78AP8AAAMEAf8D/wEA/wECAP0AAP39AP3+/f78+v34/fTz8vPw9ff2/gIBBAcKAgACAQEBAgAB+wEAAAMDAgEDAAL/AP7//v7+BAEBAAMC/gD9///////+AQECAAAAAAD/AAAAAQEBAQEB//8CAAD+AQEBAAD//v7+AAAAAgIC/f3+AQEBAAAAAAIBAQIAAf8BAgICAgICAAAA/f8AAf8C/wEBAAAA/////v7//v4A8vDz8/Pz7uvs7+3u9PLy+vj7AP7/CwYI/wUGAQADBAcGBQcGAP8C////AQD/AgMDBwcHBAQCAQQD///////9/v7+AAACAP//BP8A/wP//gEDBAQEBQUFBP8A/v4C///8/////wAAAAAA/v7+/gH+//4A/wAAAAAAAAAAAAAAAAAAAAAAAAL/AP4BAP///wAAAAAAAAAAAAAAAAAAAP///wAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAH/AAIAAAIDAgEBAQEBAQEBAQEBAQEBAQEAAAEAAAEAAQIAAQEBAQACAf8AAAAAAAEAAAAAAAAAAAAAAAAAAAAAAP4BAP///wAAAAD//////wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP7//////wAB/gD/AP///QD+/QD//wAA/////wEBAQAAAf39/QEBAQAA/v///////wAAAAL/AAAAAAAAAAAAAP4B/gAAAgEBAQAAAAEBAQAAAAAAAAAAAP///wEBAQAAAAEBAQAAAAAAAP///wAAAAAAAAAAAAEBAf///wEB/gAAAwAAAP///wICAgEBAQAAAAAAAAL/AAEAAAABAAAAAAAB/gAAAwAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AP7//////////wAAAAL/AAAAAQEAAf0AAQAAAAAAAP//AQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAL/AAAAAAEBAQABAAAAAAAAAP////8AAAEBAf4BAAAAAP///wEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAQH/AQD/AP4BAgEBAQABAP8A/wEAAAD/AgEBAf//AAEA/wAAAAEBAQEAAAAAAAD//wEBAQAAAP8AAAAAAP///wEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAP///QAAAAAAAAEAAAEBAf///wEBAf//AgEBAAAA/////QEBAQD/AAAAAAEBAf///wAAAAAAAAAAAP//AQD//gAAAAEBAf///wAAAAAAAP4A/QEBAQAAAgAAAAAAAAEBAQAAAAAB///+AQH+/wACAQAAAAAAAAAA/gAAAgAAAP8AAv////4B//4BAAAB/wD/AP7+/v7+AAD9/gH+/wEBA////v7+/v7+//7+/f///v7///7+/v3+//39/fz8/P79AP////wCAQEBAQAA/gP9BQAAAP4B/gEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP3//gH/AAAAAAAAAP///wH+/wAAAP////////4BAAAAAP8BAAAAAAD+/wAAAP7+/wEC/f7/AP0A/wT/////AP8AAP4C/v0CAP39/gX+AAEDAP8BAv7+AQYAAvsAAAAC/gL9//3//QD/AQICAQIDAgEAAQD+///++v//Cv7+/gYDAf7+/P//AwAABBwdIgIBBPz+/f/+/P/8+wAAAP//AQAA/gMCAe3p5uri2P4A/wABBP8AAAD+/QD+/AMA/v3+AP8AAv7+/gMBA///Av7+/AIDAgACAf8C/wH9AAEBA/v//wMAAv///Pf28QAEAwsKCQH/APz////59wb+/fwB/fkC/QAGAgL+BAMFBvn5+QgD//kCBwH/+wEHDwEB/f3+/v726/79BQL99vb//QL9+QAABfsDBQQCAf8CAgH+AwD/Av3+/wABAP8A/fn59fn49fTw7vj5+/7+AgQFCAQHCf8BAv4AAgACAwQB/QEBAwABAv8C//8C/gECAP0A/f/8/AICAf//AAAA/wD//wAAAAAA/QAAAAAAA//+/gICAgEBAv//Af7//////gEBAf4B/wEBAv4A/wAAAAIAAgECBQEA/v8BBP4CA/8DBAH///8BAP7////8/v78//r1+fTy9fDs6/Hv8u7u7vj4+gAAAQYDCAEEAQEDBP0BAAICAgICAgEBAQADAQD/AAEBBAQGBQEDAQEEAgMDAwEBAQAAAP8A/fz6+/z8/f/+/v8AAgACAwYJCwICAgQAAAD///8AAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQH/AAABAQEBAP8BAQEAAAAAAAAAAAAAAAD///8AAQAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAD////+/v7///8BAQEBAQH//wAAAAABAQEDAwP8/Pz///////////8AAf8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAABAQH//wABAQH/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAB/v/+AQAAAAD///8BAQEAAAD///8A//8BAQEAAAD///8BAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAf4AAAMAAAABAQEAAAAAAAD///8BAQEAAAD///8BAQEAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAAAAAAAAAAABAQH///8BAQH///8AAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQEAAQEAAAD///8AAAD///8BAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v/+/v7+/v79/f39/f39/v/9/f3+/v79/f8AAAAA/gD+Av8AAAAAAAAAAAD/AgEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAP7//wEAAAAAAAD///8AAAD///////8AAAAB/v/+AQAAAAD///8AAAAAAAD///8C/wAB//0B/wABAAABAP4BAP////0A/v7/AgD/AgAAAf8CAQACAP8A/wD8/wEB/wACAP8EAwT/AAL/AAD9/wAA/gIEAQABAAIAAQX//f7/Afv//P0CBQUBBAT9/f7+/v79/vv+AP///v3//f0AAAD+/v4AAAAAAwD8/Pz+/vsDAwUBAQL+AQIBAAP/AQH+/v4CBAEB/vkAAAEAAP8B/f4DAwIBAgD+/vwDAQD8AAD/AAL///8BAQEA/v/8/Pz6+fgFBAMFAgT/AgEA/QL++f3/+P8C/gEAAgMABQP+AAABAf/+AgP//fsECAkCA/7+/v8AAP38+vj8+/n+/P3///8CAAMBAQEDAQQDAAD9/wH+AQEA//8A//7+/P39+/j5+Pf19fX7/AD+/wIAAwEBAwcCAwcAAwMDAQP/AgH+//sDAAEBAQIAAP3/AQD////+/QACBAL///3+AP8BAQEA/wEAAAEAAAD///8AAP0BAgEAAAABAQH///7/AP8AAAL9AP4BAAECAgH+/v4AAAAAAgEDAQIAAgIAAgMBAQH8/f4FBQX+/v78+/r9+v759/fs6u3v7O/s6uv7+/v+/P8FBQUCAwQBAQMAAAAAAQMCAP8BAQECBAMCAgIAAgL///8CBAQFBQUEBAIDAwMDAwECAgIAAAD9/vsB/wABAQH+//sBAgT+AAICAP0EAwQE////AAAAAAAAAAAA////AAAA////AP///wD/AAAAAAAA////AAAAAv8AAAAAAAAAAv8AAAAAAAAAAAAAAAAAAQEBAP8AAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAAAAAA/////wAA/////v7+/v7+Af///Pz8/v7+AAAAAgIC/v7+/v7+////AgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEB//8AAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAAAAAAAAAA////AQEBAAAAAgAAAP//AQEB/gAAAAAA////AQEB////AQAAAP//AAEAAQEBAP//AQEBAAD9AQEDAAAAAAAA////AQEB////AAAAAQEBAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAA/////////////wD9/////v7+/v7+/v7+/f3+/v7+/f39/v/+//4BAAAAAf///gAAAAAAAAAA//8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAD+////Av8CAAAA/QD/AAAA////////AAAAAAAAAf/9AAAA/f//AAAA////AAAAAgAA/QAAAf//AP7/AgEB/////wD9/f/+/wL/BP4A/wMBAQH/Af7+AAP/BQMCAAAAAgEAAv3/+f/7AwMDBf8B/wL//v0A/gECAwD9/wL/CgAIAP/9/v38AgP8AP0B/v4AAQEBAgUE/vv7AAAAAAAAAAAAAAAA//////8AAAAA//7+AgT//Pv7+vr7BQUF/P78+v7/Af8BAv8AAQEA/P8A/v8ABwQF//38//z+BQMC/gAA////AAACAQEA/////fv5+vj2AwH9AAoP/wL/AgEA/vwAAvn/AAAD/wL+/QEA/wEAAwIB/gEBAAD8BQoOAAD+/QD///n2/fz5AP38AgD+/gECAgICAQED/gIDAAD//QABAgAAAP7///v6+/j39/j19vb2+Pj6AQADAgQFAgMFAgMGAgQHAQYGAQIE/v8BAv/2/v7+AP8AAwEC/wD9/QAAAf//AAEBAQMEAv//AAAAAAEBAAAAAP8C//7+/v7+AgT////9AgICAAD/AAACAAH+AQAD///9/gAD/gACAAAA//8B/v7+/wECAgAA/QD/AwME+fn5Af8A//j97uzs8O3w7u7w7+/v/vz/AgICBggEAgEDAAID/////wEDAAAABAIBAgICAQEBAgIC/wEB/wECBAQEBQcGBAIBAwMDAwMBAAIBAf8AAf0BAP8CAAAC/v8CAgUE/f4A/PoAAwQCBAAAAAAAAP///////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAEBAQEBAQAAAAEBAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQAAAAH/AAAAAAABAAAAAAL/AP8A/wAAAAAAAAAAAP///wAAAAAAAP///////wAAAP///////wAAAP///wAAAAAAAAEBAQEBAf8AAP39/f///wAAAAIAAf7//wEBAQAAAAEBAf///wAAAAICAv////7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAf///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAf//AAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AP4BAAAAAAAAAP///wAAAAAA/gAAAv///wIBAQD///8BAf///wAAAAAA/wEBAQAAAP///wEBAf///wEBAf///QAAAwEBAQAAAP///wEBAQAAAAAAAP////8A/wAAAAEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAABAQAAAAAAAP///wAAAAEBAf///wAAAAEBAf//AAEBAQD+AgAB/gAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAAAAP///wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////f///v////////7+/v7+/v7+/v7+/v7+/P39//7+/v39/QAAAAAAAAD9AP///wABAAAAAP//AQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAf///QAAAAIAAP3+/wAAAP///wAAAP0A/wAAAP///wAAAAIA/v////////4AAP///wIAAP0AAAAAAAAAAAH//v0AAAQAAP4A/gQA/wH///4B/wAAAv8B/f8B/wEAAAAAAAEBA/wA/wECAAEBAwP/AgAAAQAAAAEAAAAAAf//AP7+APn5+QUGAAME+//9AgACAQIABAECAv//AQEBAQECAv8CAv///wEBAQAB/wEBAQEBAQEBAQEBAQMDAwYHBBsfIgQFBwAAAQAA/wL/AAEDAv7/AP39/AIB/+7p5uzm5f79+/8B/P////4BAP///////////vv7+QEA/AMBBgIJAwQEAwEDAgD/BAD/+/39/P3+/P//AQL//vr/AQUBAAEFCP/++gMAA/b18QIA/wIDAAADAgIBAwL/A/4AA/8AAfz+/QABBf/+/v/8+vr59ff19fj4+Pv8+wIBBQAEBQUCAv8DA/8DBP0CAgUDB/8EAv7/AAL+CgL9+//++v4AAP//AgH/AQACAwEBAQECAwD//wAAAAAAAAAAAP8A/wAAAf//AP3//wQBAv///wEBAgEB//4BAwAA/gEAA/7+AAEBAwEBAf8BAP//AAAAAP4AAgD/APz8/Pz5/fby8/Pu8u/u7uvq7fX3+AUFBQQHBAQEBAMDAwAAAPz+AAIBAQEDBAEBAf4AAAMBAQEBAQICAv4AAP4AAQQEBAUFBQQCAQICAgEDAgEB/wAAAAAAAP///wAAAAMDAwQFBfr6/AP7/QMDAwT///////8AAAAAAAD///8AAAD///8A//8AAQAAAAD///8C/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgIBAQEAAAABAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAABAQEC/wAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAD+/v7///////8AAAABAQECAgP+//0AAAAEBAT+/v7+/v79/f3///8DBAICAgL8/PwBAQAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wAAAAD+AQAAAAAAAAAAAAAAAP4AAAAAAAMAAAAAAAAAAAAAAAAAAAD///8AAAABAQH///8BAQEAAAAAAAD///8AAAABAQEBAQEAAAAAAAD///8BAQEAAP4AAAD//wAAAAIBAQEAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAIAAAAAAP4AAAAAAAAAAAD///8AAAD/AAAAAAABAf4AAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH//wIBAAD/AP0AAAABAQH///8AAAAAAAAAAAAAAAABAQEAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAP8AAAAAAAAAAAAAAAABAQH//wAAAAAAAAAAAAAAAAAAAAD////////////////////////////+/v7////+/v7+/v79/f39/f39/f/9/f39/f0AAAAAAAAAAAD/////AQEAAAD//wEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAP4CAAD////9AAD///8AAAD///8AAAD9//8AAAD///8AAAD/AAD///8AAAD////////9AAAAAAAAAAAAAAAA/v8AAAD+Af8DAAD///7+Av4DAQIAAP4DAAABAv8C//4AAAABAQEBAAABAP8C/wMB//8B/gH/AgAA/wIAAgAA/wD+//8BBgECAgL///3//fwAAgP/AgEBAAD9/v4BAQH//wABAQEAAAABAQH//wAAAAAAAAABAAP//P/+///5/AAKCxABBAgAAAD+//z++wAAAgEBAQMEAv8GA/7+7Or6/vwF//wA/v8AAAD/////AAD+AQACAgL+/v/8+fn7//MA//4CCwr+A/7+BAAA/AD++/8A/v3+/P0D////+/8ECQYBAQP//P8DA//59PAHCQb/AgABAgT+AgL//wACAAX9/wEA/wL////8+vn7+fX69vb5+fj9/f0CAQQCBwX+AAIBAgP/AQL9AQL+/wH+AQABAgMDAQMBAAT9+wAA/Pv//wABAAEBAQMBAAMAAgH//wAAAAH9//8AAAAAAAACAAH/Af//AQABAAD9//8CAQIC////AgIBAf///wL+AP///wD+/wABAAEBAAECAQEAAAD+/f/9/f329vjw7u/z7vLv7fDw7u7//gEKCQn/AAEBAwQDAwQDAwP/AQEGAAABAwIBAQH9AP8DAAMBAQEDAQEDAwMAAAD8/gADBAQEBAQFAwIBAQEAAv8BAQIAAAAB/wAAAAACAgL///8EBAT//wH7+/sGBAMEAAAA////////AAAAAAAAAAAAAAAAAAAAAAAA////Av8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////v//AQEBAQEB//////3+/v7+/f39+/v7/f39AwMDAgIC/Pz8/v7+////AQEB///+AAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAD+AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAA////AQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAAAAAAAAAAAAAAAAAQEBAQEB//8AAAAAAAAAAAAAAAAA////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8A/gEAAAAAAAAAAAAAAAAA/gH+AP8CAP//AAAAAAAAAAD9AQEDAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAEBAAAAAAAAAAD+//8CAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAD/AAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AQEB////AAAAAQEB////AAAAAQEB////AP8CAAD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEAAAAAAAAAAAAAAAAA////AP//AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAD+/////////////v7+//////3+/v79/v7//v7+////AAAAAAAAAQEB/wH9AAAA/v4AAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEBAAD+AgAA/QAAAAAA////////AAAAAAAA////AAAA/////gAAAAAAAAAA////AAAAAP7//////wEAAAAAAAAAAP7//wEAAAAA/v4A/QD+AwAABf8B/wL/AAEABAD/Av8AAQEAAv4A/P7/AwH//P8AAQP4Af8CAP8A//8AAf4DAQMCAgED/wIA9fb2AAEEAQL9AAL+AP38//7/AAD+AwMG/f3+AQEBAAEBAAAAAAAAAQACAQEAAQEBAAICAgICAf//AAD+/wME/P8BAAAA/v3/BwYG+v38/P/7//3+AQH//P36AQL7AwQA+/j+AAACAv8C/QH9AAAAAgID//8B//7//Pr4/gD+AwH7+vj0+v/9AwMD/wIDAv4DAf4B/fwAAP/9BQYJ/f7+AQAE/vr3Avz5AAAIAAECAAECAAIDAP4AAAADAP/+/v78/fv++ff19/X0+/z5/wAAAQMFBAIGAAMD/wD/AQED/wACAAECAAED/wABAgIEAwUEAAAC///+/f74Af4BAQADAgIEAAAA/////v79AQEB/wAAAAAAAQEB/wED/wEB/wEAAP8BAAD//v7+/wEBAf7+AQEB/wABAAH/AQICAP39////AAAAAQEC/v7++ff69fX17ert8e/w7Ort9/f5BgMEBAcGAgMEBQcG/P4AAQICAQMDAgEBAgICAAIBAAAA///+AwMCAv8AAQEBBAIB/wEC/gD9AgICAwECBAQCAAAAAQECAAIBAf8A/gQBAgICAP///f7+AwMDAAACBwcHBQUFBP///wAAAAAAAP///////////wAAAAAAAP///wL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAL/AAAAAAAAAAAAAAAAAAAAAID/fwAA////AAEAAAAAAAAAAAAA////AAAA////AAAAAAAA////////////AAEBAP//////AQEB/v7+/v39/v7+BAQE/f39/Pz8AAAAAgICAQEB/v7+AAAAAQEBAf4AAAAAAAAAAAAA/QEAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///9AQEDAAAAAAAAAAAAAAAA////AAD/AQEB////AAAAAQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/QD/AAAAAQEBAP//AQAAAAAAAAAAAAAAAAAA///9AAADAAAAAQEBAAAAAAAA////AQEA////AAAAAAAAAAAAAAAAAQEBAAAA////AQEBAAAAAAAAAAAA////AAAAAQEBAQAAAAAAAAAA////AAAAAQAAAP8AAAAA/wEAAAAA/wAAAAAAAAAAAAAAAAAAAAAA////AgEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAQEBAP//AAAAAAAAAAAAAQEB////AQEB////AQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAA////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAH+AAAA////AAAA/////////////v7+/v7+//3+/f3+/v7+////AAAAAQEB////////AAAA/gAAAAAAAQEA////AAAAAAAAAQEBAAAAAAD+AAAA/wAAAAAAAAAAAAAA////////AAAAAAAA////AAAAAAAAAAAA/f//////Af8AAAAA/////////wEAAAAAAf8A/gD/AAAAAAAAAf/+/gEA/wD/BP4C/v7+/wEBAwP+AvwBAP7////9AP8B/wL/+fr4BgUFBQMCBAIABAL8A/wDBAIBBAQEBgYH+vv7AAH5CAMFBQEB+v7+/v7+AAH/AQEBAAABAAEBAQEB////////AQH/AgICAQEAAAMAAPz+AgIA///9/wID//3+BAIA/f76//8AAwAB/v4AA/8AAP7//fz/+f38BAAD/v/+AAAAAP8CAAAA/wD+AAABAgID+v/+Afv7/PX+/PX1/f39BQoO/gAAAP/8AgIC/AECBQL/AQYKAv8A/AIE+fDwBQMCAf8CAP4B//8BAP0D//79/v/8/fz9/vn5+vj3+fn5+/v7AAACAgME/wEDAAECAQEDAQECAQEBAgECAQEDAAMF//8D//8DAAAEAAIDAQMD/wEC////AwABAQEBAAAB/Pz9AQEBAgICAAEBAAAC/wEBAAEA/wEAAAIB//7/AAABAAD/AAAAAP4BAAL/AAEBAP8CAwMDAQEB/v7+/v7/+/v8+Pb38e7x8e/y7+7s7+7x+vr8BgYGAwQFBAYFBgYGAAMCBgADAAAAAQEBAgICAgICAgICAAIBBgH//QABAP38AP4AAAAAAgD/BAICAgEAAQEBAQEBAAAAAQEBAgECAAEAAAAAAgEB////AgMDAAAABAQABgYGBAQEBP///////////wAAAAAAAAAAAAAAAAAAAAL/AAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AP8BAAAAAAAAAAAAAP///wAAAAAAAP///wAAAP///wAAAP///////wAAAAAAAAAAAAEBAf///////wEBAQAAAP///wQEBAcHBQYGBu3t7fn5+QEBAQEBAQEBAv7+/v///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AP4BAAAAAAAAAP///wEBAf8A/QD/AgAAAAAAAAAAAAEBAQAA/gAAA////wEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAP///wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgAA/QAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP7+/v7+AP7+/v7+/v////7+/v7+/v////7+/v7+/v/9/v3+/f///wEBAQEBAQAAAAAAAAAAAP4AAAEBAQAA/gAAAgAAAAAAAAEBAQAA/gAAAAIAAP4AAAAAAAAAAAAAAPz+/gAAAP///wIAAAAAAP///wAAAAH/AP4A/wAAAAD+/wAAAP///wAAAP4A/wAAAAIAAf4A/////wAAAAAAAAL//gEBAQAA/P4B/wECAPv/AAAD////AgIAAgIA/wABADIxPgkHCAgGBAMBAAIBAAMAAQEBAQMDAwME9fT09vPw8fv8+QMFBAAABAEBAf8A/gAAAAAAAAAAAP///wAAAgAA/QAAAgAAAAADAgICAPr9+wEBBP7+/AIFB/7/AAMCAfv7/QH+AQEBAQD9AAICAwP/BwQBCAL/+gAA/f///////wECAf////7+/v4CAQMBAfwDAwT9/wD8+//5+wEBAgMIBwIAAP78+AADAgD8AwQE/wAGCAH///4ABPb39Q0GBP3+/wH+Af/9AP0B/f79/v78/fr6+/z49fz59v39/gEC/wIDBQACBv7/AP8BAgAAAwEDAwD/AgIBAgACBP3/Af38//4B/AABAgMGBP7/AQAAAP///wABAQD/Af7+/v7+/wQEBP///wABAQAAAP///wAAAP3///3+/gQAAQAAAAAAAv///gAAAAAAAgEAAAAAAPv7+wAAAP////r6+/Ty9fLv8uzq7e/t7vv39gICAwkJCQQFBgIEBQEDAwEDBAICAgEBAwEBAQICAAEBAQAAAAEC/wEBAAEBAQIBAf3/Av8A/gIA/gIBBP//AAEBAQMBAAEBAf///wEBAQEBAQEBAQAAAAD///////8AAP7+/gICAgQEBAMDAwT+AQD//v////////8AAAD/////////AQAB/wAAAAD+AQAAAQH///8AAAAC//8BAQEB/wAAAAD/AQABAQH///8AAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEAAAAB/wAAAQABAQEAAQEBAQEBAQECAgIBAQEBAQEBAAAAAAAAAAABAv8AAAAAAP8AAQEAAQH+AAAAAAAAAf4AAAIAAAD/////AP8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAACAQEBAgL+/v4BAv8CAgL8+foWDxEMCQfm6OYDBQMD/f/7AP7+//8B/v//Af4AAAD///8AAAAAAAACAAD+AQAAAAD///8AAAABAQEAAAIAAAAAAAD///8BAQEAAAIAAAD///8AAAABAQEAAAAA/wEAAQAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAQADAAAAAAAA/wIAAQAAAAAAAP4AAAAAAAP///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAD/AgH/AP8A/gAAAAEBAQEAAAAAAAAA/wIAAP4AAAABAQMAAP0AAAAAAAH///8BAQEA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAD///0AAAAAAAAAAAABAQEC/wD+AQAAAAAC/wAA//8BAQEAAAABAQEAAAD/AQMAAAAAAAH///8BAQEAAAD///8BAQH///0BAQEAAAMAAAD/AAD///8BAAABAQEAAAAAAAD///8BAQEAAP4AAAAAAAAAAAD8AAAC/wAAAAABAAAAAAAAAAAAAf4AAAAA/wAAAAD///8AAAAAAAAAAAAAAAABAQH+AP0B/wMBAAAAAAAAAAAA/wIBAQEAAAAAAAAAAAD/AP0AAAABAQH///8BAQP//gH+AfsAAAD/AAAAAQEB/v8BAQH///8AAAD+AAEAAf8AAQH///8AAAAAAAAB/wAAAAD/AP8AAAAAAAAAAAAAAAD/AQH/AP4AAAD//wEBAQH///8AAAIAAAD/AAAAAAAAAAAA/wEA/wH/AAAAAAAAAAAAAf4AAAAAAAAEAAT7/vsA/gH//QD//P3//wAA///+/f0BAP///v79/fv//v7/AQL///8AAAAAAAACAP//AQIAAAD/AAABAQEAAP4BAQEAAP4A/wIAAAAAAAD/AQH///8AAAAAAAD///8BAAD///8BAAD//v////8AAAD/AQD///8B/wAAAAD///////////8AAAAAAAAAAAD9AAAAAAAAAP7///8AAAD+AAD6AQABAQEI//76AAD//wH//wAABP4CAf8C/QL6/Pv+AQAMDg39/f0BAgACAwMA/v0CAwMBAgIDBAcB+gL49+MMDg7+/vwEAgL7/wIFAAD/AAAAAAABAQEAAAACAgH+/v7///8CAgIGAwT+/wAECAwB+ff9AggG/v4AAAH7/QACAgL+/wAA//wAA//6BAX/A/0C//j/AwgB/vsBAAYBAf8C/wP+Avv/AAQBAQD//wAF/gD/AP79AQP8BQwCBQn9BgoBAwQAAf4CAgIEBAcBChL8AP8C//0I9fP4/QH4AwUDAwL8/gD9+/z//wH9+vf8+fz5+/4B/f/8/wYAAwIEAQH+AAL/AAABAQIBAQEBAQEBAAT/AgH9AQL+AgAAAgL//wEA/v3++/sCAwH//vwAAAABAQP/AAH+AP8BAAMBAAL9//7/AQICAAQAAAD//gEAAf8B/gEB/gH8BAIB/wAC//4FAAIA/wAA//0CBQX///8BAAb5+fn6+vzz8/Tv6u7t6un28vMDAP8ECAkDAwMDAwUCAgIAAQIBAwMEAwMBAwMEAgAAAAACAgIBAQH///8BAQIDAQIAAf///gAEAgL9//8CAwL///0FBgP/AP0B//sCAQIAAQABAQEBAAABAAADAgL///8AAAD9/gADAwP+AP8DAfz///4E////AAAAAAAAAAAAAAAAAAAAAAAA////AQAAAAAA////AAAA////AQEBAAAAAAAA/gD/AQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQABAQEBAAAAAQEBAAAAAQEBAAAAAAAAAQAAAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAACAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/////////////////wD//gD//////QD//////////////////wD/////AQAA////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAQEBAAEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///9AAAAAAAAAAAAAAAAAAAA////AAAA/wAAAQEBAAAAAAAAAAAAAAD+//8CAAAA/wD9AQED////AQEBAAAA////AQEB////AQEBAAAA////AQEBAAAAAAAAAAAA////AQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAACAAEAAAAAAAAAAP8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAD+AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAgAAAAAAAP8C/gEAAAAAAQEB//8AAAAAAAAAAAAAAAAA////////////////////////AAAA/////f39/QD/////AAEBAQEBAQEAAQEBAQEB/f/+/v///////v4A///9/wEAAAAAAAAAAAEAAAAAAAIBAAAA////AAAAAQEBAAD+////AAAAAQEBAAAAAAAA////AAAA////AAAAAAAA////Af8A////AAAA/////wEAAf8A////////AAAA////AAAAAAAAAAAAAAAAAAAA///9AAAA////AAAAAgEAAQEB+///BAMBAAH/AgADAQD/Av//Av/+/v3+/f39+/79AP7+AQAAAQEBAf7+AQEBAAAA//8C/v7+/v7+/v7+Af7+AQH/AAAAAQEBAQAA//8AAQEBAAAA//8AAAAAAgABAQEBAgAC/wIA////AQEBAQEBAAAAAv8A//8A/wD/AAABAv8A/gEAAAAAAAAAAQEBAAACAQEBAQEBAf8AAAEAAAAAAAACAgD/Af///v/+AQEAAQICBAYIAgcIBAUGAAIAAAMGAQIDAQMCBAYH/f//AQEB+Pn5AQEB/v4AAf7+/Pz8+vr8/f7/APv8/P3+/gABAgEBAwMF/wEDAAAAAgECAAAA/wAC/wIBAQEB//8C/wEAAP8AAAAC//4B/v/+AAAAAAAAAvwD//3+/v0AAf8AAAEBAAACAAEDAgEBAAICAQEB////////AAAC///+/v7+////Afz+AgICAwIEAAIAAAAAAAAC/gD//f799/b49/b28/Dz7uru8e7v+vr6/QEAAgUGBgQGAgICAwMDAQECAAEBAgICAwQEAwMDAgIAAAAAAwMDAgIC/v7+AQEBAgEA/////gH+AAADAgICAQICAQEB/wIBAAABAgICAAAAAQEBAQH/AgIDAAAAAAAAAQEBAAAAAAEB/f/+Af8AAgIEAQEBBAAAAP///////wAAAP///wAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAwEBAgEBAgAAAQEAAgD/AQAAAQEBAQD/AQAAAAAAAQAAAAAB/wAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAP///////wAAAAAAAAAAAAAAAP7///8AAP8AAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///////////////wABAAAAAP///wABAP4BAAH/AP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQD/AAEBAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wABAf///wAAAQAAAP///wEBAQAA/gAAAgAAAP///QEBAf//AgAAAAEBAf///wEBAf///wAAAAEBAP////8AAAEBAf///wEBAf///wAAAAEBAQAAAP///wAAAAAAAAAAAAH/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQEBAf///wAAAAAAAAAAAAEBAQAAAf///wAAAAAAAAEBAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP8CAQD+AAAAAP////39/fz9/Pz8+/z8+/79//7+/v7+/v//AAAAAAH/AAAAAAAAAP7//gEBAf/+/wAAAAAAAAAAAAAAAAAA/gH/AgEBAf8A/wAAAAAAAP///////wAAAP8BAAAAAAD+//7//wAAAP///wAAAAAAAP7//QAAAP///wAAAP///wAAAP///wAAAP//AQEBAQAA/v///wAAAAAAAP8A/wAAAAAAAf//A/4BAAIA/QH/AAH/AAH/Av/9APz9//79AAD+/gAAAgEB/gAAAf///gL/AAP9//79AP7+//z+AAH+AAEB/gAAAAAAAAAAAAEAAwAAAAAA/wEB/wEBAQEAAAICBAICAgAAAP4B/wABAgIAAQMBAP4BAAAAAP//AAAAAAAAAAD/AgD/AQMAAQH/AgAAAAEBAwEBAwEBAwAAAgAAAQL/AP8BAAEBAwD+/v0A/gEDBAIF/gMHCAIHBwD6AAEFB/4CBQAFAgQFB/3+/AD+/vn5+QEDBAL//P//Af//Av3+////AQAAAwIDBP4CAwL//gADAQD/Av8BAP////4AAgEAAAECAgAAAAD/AQAAAQAA/wEBAwAAAAH9//7+/v7+//sBAQD+/AD//wD/Av8BAgABAwEBAf8BAwEA/f7+/gD/AAEBAQAAAAAAAgEBAQICAAEAAAMCAv////3+AQEBAQAAAP35/ff49vXw9O3r7u/p6/Xy9QICAggICP8GA/8DAgQAAQQCBAICAgEBAQEBAQABAQMCAQMCAQMEAgABAQMDBAICAv///wEA/wAAAP7+/gEBAQEBAQAA/gAAAAIDBf4BAAEBAf8AAAEDAgAAAAECAgAB/wEBAQD/AgAAAAAAAAL/Af7+/wAAAAMDAwADAgT///8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAD9AP////8AAAABAQEAAAD+AQAC/wAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAABAQEAAAAAAAABAQEAAAABAQEAAAAAAAACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wIAAAAAAf4AAAD///8AAAAAAAD///8AAAD///8AAAAAAAAAAAD////////+//////8AAAAAAAD/////////AAD/////AAD///8AAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAABAQEBAQH////+AQAB/wAAAAAAAAAC/wD+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wD/AP8BAQEAAAD///8BAQEAAP7//wIAAAAAAAABAf4AAAP///8BAQH///8BAQEAAAD///8BAQEAAAD///8BAQH///8BAQEAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQH///8BAQEA/wIAAAAAAAD///8BAQIAAP////8BAQAAAAAAAAAAAAAAAAAAAAAAAAIAAP8AAP0AAAAAAAAA/wIAAP0BAQH///8AAAAAAAIAAP0AAAAAAAAAAAAAAAAB/wAAAAAAAAD/AQAAAAABAAP/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAD////////////////////////+AP//AP39AP8AAAACAgICAgL+/vv+/v7+/v7+/gAAAAAAAAAAAAAAAAABAf////4AAAD/AQAAAAAAAAAAAAAAAP4CAAH///8AAAAAAAAAAAD///8AAAD////+AP8AAAAB/wD///////8AAAAAAAAAAAD///4AAAD///8AAAD///8AAAD///8AAAAAAAD//wAAAAAAAAD///8AAAAAAAABAAD8//4AAAD/AQAB/P//AwIAAAAAAf7//f3+/v79//4A/wEB///9/v8CAQH//wD////+AAD9//7+/v7+/v7///8AAAAAAAAAAf4A/wMAAP0AAAAAAAAAAAACAAMCAv8BAQECAgIAAAAB////AQEBAQEAAP8AAAAAAAACAAP+Af8BAQECAAECAQEAAAADAQH/AAH/AAAAAAAAAAAB/wAAAAAAAAL///7///8BAQMAAAD9//8AAwQBBQUBAgQAAv4AAgYAAQQDBwX/AgIEAAP9+fr//wAEAwP+/v//AAUCAQQEBAj/AAL/AwUA/wIAAAIB//z//wIAAAAA/////wEB///+AQAAAAL/AQD//wEBAAAC///+AAEA/////wD+/v4AAAD++PkBAv4CAQECAQMBAQIBAQP/AQIBAQH//wEA/wAAAQABAQMAAAD///8AAAABAQMB/wD/AAL/AP8A/wD//wD9+/z29PTu7u7u6Oru7O349fgFAwQKDgoGCgr8AP8BAwIB/wACAgIEAwMBAQEBAQEAAgADAwMCAgIDAwMCAgICAwMDAwMA//8AAAD///3//QD+AwEBAQEAAAP9/f0FBgP//gH/AgH+/v8BAQEBAQECAgIBAQEBAQEA/wIAAAAAAAD9/f8BAQEBAQECBQQDAwMEAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAgABAf8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8C////AAH/////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAA/wD9/////////wD9////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAQAAAQAA/gEAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAA////AAAAAQEBAQEBAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEDAAAC////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAQEBAf8AAAAAAAAA////AQEBAAAA/////gEAAQAAAAAAAAAA////AAD/AQEBAAAAAAAAAAAA////AQEA/////wAAAQEB////AQEB////AAAAAQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB/v//AgAA////AQEBAAAA/wEAAAD+AAAA//4CAAH/////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AQEB////AAAAAAACAAAAAAD+AAAAAAAAAAD+AAACAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAA/wEAAAAA/////////v7+/Pz8/Pz8AAH///////////8A////AQEBAAAAAAAAAAD/AAD/AAAAAP8AAAAA/wEAAAAAAAD//v/+AAAAAAAAAAAA////AAAA////AAAA/gD9Af8A/v//////AQAA/v//AAAAAAAAAAAA////AAAAAAAA////AAAA////AAAAAQAA/wAAAQEB////AAAA////AAAAAAAA//7+AAH+/gAB/wD//wACAP//AAED/v38/P3+/v7////+AP4CBAAA/wH+AQED//////8C/////f4A//8B/f8BAgABAAAAAAAAAQEB/wAAAQEBAAAA/////wEAAAAAAAAAAQEBAAACAAD/AgADAQAAAf8AAAAAAAAAAAAAAQAAAgEB/f8AAQEBAgABAQEBAAEB//8AAAAAAAAAAAABAAAAAAAAAAAAAP8CAQAA/wD/AAACAQEBAgICAAIEAAL9/wABAAIEBAUH/P3/BQMD+fn6AwUE//4AAgIA/gECAwMHAgMH/gABAgIE/f8A//8CAf4BAgAEAAAA/QD/Af//AAACAv///wEAAP//AP8AAAAA//7+//7+/v7+//3+AP////////78Av8AAAQCAgIBAgEEAP8B//8BAAD/AAEAAAAAAAAC////////////AAACAQEB/QEAAgACAQD//f39/Pf59fP17+7u7uvs7+fp+/38BQYHBwoJAQUF/P/+AQEBBQIDAAEDAwIAAwMDAgICAAEBAgMBAgICAgMDAwICAQEBAwQEAwMDAP//AAD+AAAD//78/wAAAAAAAAAC/Pz8BAQE//4B/wIC/v7+AAABAQABAQEBAgICAP8CAAEAAAAA////AAAAAgICAgICAwUFAgICBP///wAAAAAAAAAAAAAAAP///wAAAAAAAP0A/wAAAAAAAAAAAAAAAAAAAAAAAP4BAAEBAAAAAAEBAAAAAAL/AAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQEBAQEBAQAAAAAAAAEBAQEBAQIAAQAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAB/gAAAAAAAP///wAAAP///wAAAAAAAP///wAAAAAAAAAAAAEAAAAAAP8AAAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAA/gAAAAAAAP///////wAAAP////8A//////////8A/wAAAAAAAP4BAAMAAAAAAAAAAAL/AP4BAAAAAAAAAP///wIAAf4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAA/wAAAAAAAAAA/wAAAQAAAP///wEBAf///gAAAQEBAQAAAP///wAAAP8CAQAAAP///wEBAf///wEBAQAA/v//AgAAAAAAAAAAAAEBAf///wEBAQAAAP///wEBAQAAAAAAAAAAAP///wEBAQAAAP///wAAAAAAAAAAAAAAAAEAAP8AAAAAAAAAAP8AAAAAAAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAP///wEBAf8A/QAAAv///wACAQD//gEAAAAAAAAAAAD/AgD//wAB/gAAAAAAAAAAAAAAAAAAAgAA/QAAAAAAAAD/AgD//wAB/gAAAAAAAAAAAAAAAAAAAgAA/gAAAP8BAAAA/gAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAf///////////wAAAAEBAQEBAQICAgMDAQAAAAMAAwAAAAEB/wAAAP79AP7+/gAAAP7+/P39/f7//f39/f7+/gAAAgEBAQEBAQAAAP///gAAAAAAAAAAAAAAAAAAAP8BAAAA/gH/AAAAAAAAAP///wAAAP///wAAAAAAAP///v8AAP///wEAAP7//wAAAAAAAP8AAP///wAAAP///wAAAP///wAAAAAAAAAAAP///wAAAP8AAP8AAP///wAAAP///wIBAf0A//79AAMB/gAAAQD+/AIDAgEB/v78/fz/AP7//wD/AP7//v0CAQP///7//wD/Av3///z+AP7+/v3+AAQAAAAAAAAAAP8AAAACAgEAAv///wH+AAEBAwAA/f///wAAAAEBAwAAAAL/AP4BAQEBAQAA/wAAAAAAAAEBAf8AAQD//gEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAAAP////////3//v/+/QD+/AEABQH/AAEBAv8CBP8DBAQEBgADAv76+QAAA/76+QICAv7+AgD+/gIFBAECAwMCBP7/Av7//AAA/wECBAEAAf4BAgAAAAH//wABAQD//wEAAP3//wD/AQH+/v////////7+AP39/f7+/v4A/wMAAAEBAQID/wICAgIBAwEBAQAAAQH+//4BAAICAgAAAAD///4B/wAAAAEBAwEBAQEBAf//AP39/vz4+ff09/Pv8fPw8fX19/X1+AIDBgcFBwIHAwAFA/8DAgYFBQEBAQUBBQADAgIDAAMDAwIDAwMDAwEDAQICAgICAgMCAv8AAAMDAwMDA////wIB/wAAAP7+AQEBAQAAAP7+/gEBBQIDA/4DAgAAAQIDA/4BAAEBAwIBAgAAAQABAAAAAP///wAAAAICAgEDAgMDAwMCA/8CAQT///////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAf4AAAAAAAD///8AAAAAAAD///8AAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAAA//8BAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD+AAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wAAAAAAAAAAAAD///8AAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAP///wAAAAABAQEAAAD///8AAAABAAD///8BAQH///8AAAABAf7//wABAQMAAAD///8BAQD/////AAABAQH///8AAAAAAAAAAAABAQH///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD/AAAAAAABAAAAAAABAAAAAAAAAAAA//8AAAAAAAD/AAABAQH///8AAQEBAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAP4AAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAAEBAQECAgICAP//Av8AAAD+AQAAAAAAAgACAgIDAwMG/AT6BgT6BwXw8vQB/wD+A/76/v7///3+/v8AAAABAQEBAQEAAAAAAAAAAAAAAAAAAAD/AQAAAP4CAAH///8AAAAAAAD///8AAAD///8AAAAAAP8AAAAA////AAD///8AAAAAAAAAAAD///////8AAAD///////8AAAAAAAAAAAAC/v/+AQAAAAAAAAD///////8AAAD+AQEAAAABAQD//v4AAwEBAgEBAP7////9/P39/f38/wAB/v7/AQAB/gECAQL////+/v7+AAP9//77/v/+/gD+AAD/AQIAAQMBAQH/AAAAAAIBAAD/Af//Af4BAAECAQIA/wIAAAAAAAAAAAAAAAAAAAABAQEBAQAAAAD///8AAAD/AAAAAAAAAAAAAAD///////8AAAAAAAAAAAABAQEAAAD+AQAA/wD////+/v79/f39+fsAAP8EB/wBCf//AgEAAQMGAwT8//8BAQH9+Pf+/f3/Af7/AQAA//8BAQMCAgQAAwQC/gL//wD+Af8CAQMBAgABAAL///8BAAABAAD9/wH///8A//7/Af///wH9/f78/Pz9/f0AAP8BAQECAQIDBAEDAQQBAv8CAgEBAAEAAAEAAAD//wAB///+AAECAgAAAAABAQEBAQEBAQL////9+/36+/359/j08PH18PTz8fL3+foAAwIFCQsFCAn9+vkAAP4D/wMFBAQGBgYBAQEAAAAEBAMBAQEEBAQCAwMEBAQBAwEAAwIBAQEEAQIAAAACAgICAgIAAAAAAf4B//4CAgT///8BAQEAAAABAwIBAAMCAgL+/v4AAQMAAP8BAQECAgIAAAD/AAD///8AAAD//wEEBAQAAgEDAwMCAgIBAQEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAv8AAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAA////////////////AAAA/////////wD//////////////wAA///////////+AQEBAQEBAQEBAAD/AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AQEAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAA////AQEAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAD/AAAB////AAAAAAD/AAAAAQEAAAAB////AAAAAAEBAAAA////AQEB////AQEBAAAA////AQEB///9AAADAQEBAAAAAAAAAAAA////AQEBAAAAAAAAAAAA////AQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gH+AwADAAAA////AAD9AAEDAP//AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAD+AAAAAAAAAAAAAAAAAAAA/wIB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAAD/AAAAAQEBAAAAAf8A////AQEBAwMDBgYGAAAAERER+fn59/f3+Pj5+vv7/f39/f/+//////7+AAAAAAAAAQEBAAAAAAAAAP8A/wH//v/+AAAAAAAAAAAA////AAAA////AAAA///+AAAAAP//AAAA////AAAAAAAAAAAA/v//////////AAAA////AAAAAAAAAQEB////Af8A/gEA////AAAA////AAAAAAAA/v8BAf//Af/+AQACAf7/Av8CAgMA/PsA/f39/f39Av/+AAEA/f8CAQL9AQECAQEB//8C//8A/v0A/P7+Bv8BAAAAAAAAAAAA/wEB/wAAAwAAAQEBAgICAf//AP/+AgIC/wAAAgEBAQEAAQEBAAAAAAAAAAAA/gEAAf8AAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAIBAP//AQEB/wAA/wEA/gD///////78/fsA/v39Awj6Av39AQIAAAMCAQIA/v7+AgIA+/r6AP7//P/8BAQDAAAC/////v//AQADAgEC/wIAAAD//wEDAQAB/wAAAAAA//4B/gEAAv///f/+//8A//7//////f39/Pz+/v79AwMBAwQCAAEBAgQCBQIBAAH+AAD//v//Av8A////AAAAAAAAAQEBAQEAAQEBAAIBAQEB//8A+/r8+vn59/T39fHz9O/z+vj4+/j7AQECBwkKAwcI+Pr3AAMCAwD/CAQDBAMCAv8AAAMCBggHAP3+AgICAwMDAwQEAwUEAQQDAQICAAH/A/8BAAAAAwMDAgIC////AAEBAf8D/v78/v7+AgIC////AQME//4BAAMD/v8BAgICAf//AQEB/wEBAAAAAQAA/f8B///+AAD/AgICAgICAAEBAAD+AQECBP7+/v///wAAAP///f///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAEBAQEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAH/AAH/AAECAQAAAAEBAwAAAf8BAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAD/AgAAAAAAAP///wAB/wAAAAAAAAAAAAAAAAAAAAD/Av////8A/gAAAAAAAAAAAAAAAAAAAP8AAP8AAAD+/wEAAP/////+AQAB/wAAAgH//wAAAf///////////wAAAAAAAAAAAP///QABAQAAAAAAAAAAAP0A/wAAAAAAAAECAf8AAAAAAAAAAAEB/gAAAgEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAA/wEBAQAAAAAB/wAAAQAAAAEBAwAAAAEBAQAAAP///wEBAQAAAP///wEBAQAAAP///wABAQAAAAAA/gAAAQEBAgEBAgAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAA////gAA/QAAAAEBAQEBAQL+AAEAA/4B/wEBAQAAAQEBAQEBAwEB//4BAP8AAAEBAf//AgAA/QAAAAL/AP///wAAAAAAAAAA////AAAAAAAAAP///wAAAAAAAAAA/wEBAQAAAP///wAAAAAAAP///gAAAAAAAP4BAQAAAAAAAAAA/wAAAAEBAQD//wEBAQIAAP7//wAAAAAAAAAAAAAAAAAAAAAAAAEBAP///wAA/QAAAAAAAAEBAQD/AAAAAQAAAgAAAAABAf///wAAAAEBAQAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP///wAAAP0BAAL/AAAAAAAAAAEAAAAAAP8AAAEBAQP/AgAA/wAAAAABAf8AAAEA/gAAAv4BAAP+AgAAAAEBAP///wAAAAD/AgEB/v//AgAAAAEBAQAAAAAAAf4A//8AAAAAAAAB/wH/AAEBAf///wEBAf///wAAAP8BAAAAAgEAAQAAAAAAAAAAAAAAAAIA/gAAAv///wEBAf0A/wAAAgAAAAAAAAAAAP///////wECAAIBAf/9Af8BAAICAv/9/wMCAAABAAP9//8B/wEAAAD///r+/wD+///+AQACBP/8+wICAwUFBgABAgYHB/7+/vz8/P3//vv4+f////v8/AEBAvz+/QMDA/7+/gIBAv///f4AAQAAAAEBAf8A//78/QAA/gICAv7+/gAAAAAAAAEAAAAAAAAAAP////////7//wAAAAEAAAAAAAAAAAAAAP7///////7//wEBAf/+/wAAAP7//////wEBAQD//wEAAP8AAP8BAPwA//7+AP4B/v4AAfv8/vv/AgD/BP7+/AEBAPwC/wAAAv7+/wUEA/3//wH/AvsC/wEBAQIA/v4A/QP/APwAAQH//wICAgEAAP///wD/AP38AQMBAAEEAwADBP3//wL++wAC/wT9/gAGAgP9//8AAQEB/P8BBQH/AwEA/QH+/gQBBgD/Av8CAAL+BfwB9/3/AgQDAAD+BgD9+v8AAf39+P37+v/+CP0A+gD18/sHBgP9DQn+AvwHC/0EAQP7/QP9+/f28//9+wUBAf/6/P4AAQP/+wH/BP///wAEAQH9Av///AID/gH/BPz//AEBAQIBAP77/v3/AP//AP/+Af39/QD//fv79/r6+gICAgYGCAYGBgEDAf4BAAL//P4AAQAAAAEB/v7+/gH//wIBAQIAAv0CBwECAv8C//7+/v38/fz3+Pn19vj29/ny8vf3+fv7/AEDBQcJB/3/AAEABAQDCAkJAv0CAwD9+wUEAwEEBQIEAwUFBQMCAQED/wEBAQIEAwICAgMDAwEDAwICAgAAAAQBAgAAAAEBAAEC/wIBAf//Av///wICBQH9/v///wICA///AAICAv4AAAUEAgD/Av8CAP4BAAEAAAD/AgAAAAEB/gMDAwMDAwIEAQEBAQICAgEBAQAAAAQAAAAAAAAAAAAAAAIAAP3///8AAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAABAQEAAAAAAAAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD/////////////AP////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAP8AAAEAAAAAAAAAAAAAAAAAAAD///////0BAAL/AQH///8AAAABAQH///8BAQH///8AAAAAAAABAQEAAAD///8BAQH///8BAQAAAAD///8BAQEAAAD///8AAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAC/wD///8AAAABAAAAAQEAAAABAAD///8BAQEAAAAAAAD///8BAQH///8BAQD//////wAAAAAAAAAAAAAAAAD/AP0A/wAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD//wEBAP////8AAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAABAQH+AQAA/wAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAAIBAf4AAAABAQEAAAAAAAACAAEDAQL/Af8BAQEDAAH+AAAAAf4C/wAEAQEAAQH9AwMAAAD+/v7+//8CAgL+/v4IBQb8/f36+vr/////+fn++/z+/v4CBAT///8CAQH////9/P8AAf4DAwMC/wH9/Pz/AQEAAAD///8BAAAAAAAAAAD/////////AAABAAD/AAAAAAD///8AAAAA////AAAA//8AAAD///8AAAAA//8BAAD///8AAAD///8AAAAAAAAAAAL//v4BAAH8/wP7/fz+/v79//4B/v4AAgAB/v/+AwEA/gH+/v7//wT+///+/wH//////wD///8AAAAAAAABAQEA//8AAAAAAAAAAAAAAgEBAAMAAgEBAgYA//0CAf/9AgP+AAEC////AQD+AAAC/v//AAEA//8AAQD///8AAAABAQMBAQEBAQABAQEAAP/+/v/9/f/+/f39AAH//P0BAAD+//8AAAL4+PgE9PMK/Pz7/f8IEgv/AAD/AAH7+/3///8A/v0BAgL+/wABAP////8AAAABAQEAAQEBAQMBAP39AQAC/v//AAH+/gH+/v4AAQIA//7////9/Pr9/Pz99/f++/sCAP8FBQMCAgIAAgH///8B/wD/AP8DAAAAAAD///8AAAEBAwT+AQD+AQH/Av/9AP0B/P/8+/v69vX29Pf59Pb7+vr++/3+AQAEBgUDAgYB/wL8/v/9AwEBAQEHBgf8//4A/QEFAwQBBAMDBQQDAwMDAwEAAAACAgICAgIBAwICAgMBAgEDAwMBAQEEAQIAAAAAAP8BAv8AAAD///8AAAAAAAD9AAAA/gEBAAD9AP//AAECAQH+/wEAAQAAAgEDAQH///8AAAAA/wL//wAAAAACAgIEAgIBAQEBAQEBAQEAAAAE////////////AAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAv8AAAAAAAAAAAEAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAQEBAAACAQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AAAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAgAB///+AAAAAAABAQEBAP//AQEBAAAAAAAAAAD+/wAAAQAD////AAAAAQEB////AAD/AAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAEB////AAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAQAAAAAA////AAAAAAAAAQEB////AAAAAQEBAAAA////AQEB////Af8AAAABAAAAAAAAAAH+AAAAAQAB////AAAA////AAAAAAAA////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAAAQAAAQEBAQEAAQABAQEBAAAAAQEBAv8B/gEBAAAAAgEB/gAAAQD+Av8AA/4A/gD+BAD//wIABgIC/P///wEB/QAAAgIC/////wD+A/8DAwQCAP7/BgUE/v7++fb3+fn5/gMBAP8BAAAAAQIB//8A+/37////Af8AAQACAAAAAP///v//AAAAAAAAAAAA////AAAA/wAAAAAA////AAAA////AAAAAAAA////////AAAA////AAAAAAAAAAAAAAAA////AAAAAAAA/v7+////AP0A///8/P3//f4A/v7+//7+BQEBAAD//v7+AAAB/v0C/////////////gAA/gD/AwAAAAAAAQEBAAAAAAAAAAAAAQEBAAACAQH/AAIBAgEDAwIE/gADAQQAAP8DAAID/wEAAQH+AQAAAAACAAAA/gAB/wEAAAIBAQEBAQEBAQECAAD+/v78Af7/AAH9//z+//7+//4A////Av4B///9/AD/9/f3CP/yAvn6/QABBAkH/wEAAQEB+/n6AP7/AAAAAgAA/f79AAIBAAAAAAD+////AAAAAAAAAAACAAAB//8BAAEC//4A//4B/////v7+/Pn4+/n5+/v5Aff5AwEBBQcFBQUGAwUFAgEC/gD+AP//AgAAAAAAAf8AAf4CAAIB/wIC/wIA/f//Afz9/fv8+/n3+Pb3+/f4+vj7/vv8Af//AwUHBwUG/gECAQACAf4BAf4ABAMDAQMDAwUAAf38/wH/AgQEBAQEAwUEAgICAQH/AgIEAgICAQEBAQMAAgICAwEBAgMDAQEBAgABAAD///8AAQEA////AAAAAAAAAAAA/wEDAAMA////AgAC/wAAAAACAAIAAAAAAgEBAQEBAAAAAAAAAQEBAwACAAAAAwMDAgICAQEBAgICAQEBAAAABAAAAP///wAAAP//////AQAA/wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAB/gAAAAAAAAAAAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP///wAAAAAAAAAB/gD/AQAAAP///////wAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAP///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wEBAQAAAAAAAP///wEBAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf//AAAAAAAAAAAAAAAAAAAAAP///wAAAQAAAP///wAAAAAAAP///wAA/wAAAAAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAIAAf4B/QEAA////wAAAAAAAAAA/wEBAf///wAAAAAAAAEBAQAAAP///wAA/QEBA////wAAAAEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEAAP7//wAAAAAAAAAAAAAAAAEBAQAAAP///wEBAQAAAP////8AAAEBAf///wEBAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAgAA/gAAAAAAAAAAAP/+AQAAAQAB/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf//AAAAAP8AAAAAAAAAAAAAAAAAAAEBAQEBAAH+AAEBAQEBAQEBAQAAAP///wH/AAH//gIA/wH//gIBAP8B/wQA//0B/wQA/wAB/gEBAP0BAgH//wEDA/////7+AQABAAEDAf8C/wMEBQEAAAUFBgj8/Pb29vv8/P39/QAAAAAAAAD+AAD/AAABAP7+/gAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAP///wAAAAAAAAH+/wAAAAAAAAD///4BAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP////7//wEAAvv+//7+/vz+AAH+APwBAAECAAH9/wECAf////4A////Af4AAQAAAgEBA/8BAwEBAQABAQAAAAAAAAAAAAAAAP8BAQEBAwEB/gACAQIEBf///wP/AQL++wACBAAB/gABAAEBAAD/AQAAAgL/Av8C/wABAgEBAQH/AAH+//z8+/37/P7+/v0A/f7+/wD+/wD+AAH/AAAAAP///wACAfv7+wP+8vrz8gkSFwAAAAAAAAAAAPv+/QEBAQIBAQAAAAAAAP///wEA///////9/f4CAgH9AP4A/gEBAv//AAEAAAD//f79/P/9+/v5+vn49/34+v/9+wIBAgQGBAIIBwUHBQEEAv/+AAL+//////8AAQEC//8BAP4DAQEBAQIBAwH8/f79/f749vn4+Pj19vz6/f///wICAgMHCQEDAv8CA/7/AAAAAv7+/v77/wQAAQACAQACAgICAf8D+v//BQMDAgMFBAMCBQIDAAAA/gMCBQICAgEC/wEBAQECAAICAQMAAQIBAgH/AAABAP4AAAAA/wAAAAAAAAAAAAD/AgAA/wAAAAEBAQAAAAAAAgEBAQABAAEBAQAAAAEBAQAAAAABAQICAgEBAQEBAQMDAwACAQEBAQICAgEBAwEBAQT///8AAAD///8AAAAAAAAAAAIAAP8AAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQMBAQIAAAEAAAIAAP8AAAABAQEBAQEBAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A/wL/AP0AAAAAAAAAAAD///////8AAf8A/wAAAAAAAAD///8AAAAAAAD///8AAAD///8A//8AAAD/////AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///////8BAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAABAQH///8AAAABAQEAAAD///8CAAEAAP//AQEAAAAAAAD///0AAAMBAQH///8BAQH///8AAAABAQH/AQD/AP0B/wABAQMA//8AAAAAAAAAAAD/AAAAAAABAQEAAAAAAAABAAD/////AAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQH/////AAABAQEAAAAAAAAAAAD///8AAAD/AAAAAAAAAAAA/wEAAf4AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8AAAEAAAD///8AAAAAAAABAQEA//8AAAAAAf8BAgAC/QH/AAH+/wACAAH/AQD+Af8CAP//AP8DAQAA/v0BAP4BAP4BAP4CAf8AAQABAwEB/v7/AAEDAQD//wL9/gD///8EBAX+AQD7/Pz6/PsAAwQHBgcEAQT7+/v29vb4+Pb///8FBQUBAAH+/f77AP4BAQEAAAD///////8AAAAAAAAAAAAAAAAAAAAC/wABAAD///8BAAD9AP8AAAAA//8AAAAAAAD///8B/wABAQEAAAAA///+AP8BAQH///8AAAD////+/wD///38/f39/v/9//4B//4B/gEBAP/8AQMA/v4CAgL+/QD9AP8AAAIAAQEAAQMAAAD+AAACAAAAAAAAAAAAAAAAAAD///8BAAAA/wIAAAD/AQMBAv4A/wIBBAMBAgQBA/wB/v8AAP8BAQH//wIAAAAA/wIAAAD9/P78/Pz+/v77+fn7+vr+/f0CAP7//QEA/////wABAAL/AQAEAwECBAX/AAL59fT08O8UHSL7/f0FBAD///8BAQECBAP//wT//v3/////AAD//////f7///3//AAA/wIA//z+AAEB+wEAAP/+/Pr/+vv7+fj7+fn8+PcBAAAGAgMBCAcDBQQDBQUAAwL/////AP8B/v8CAAD7Af8CAAL+AgEAAAAB///++fr7+Pn9+Pz4+fT++/z//P4EAQIAAwQAAgP+AgIAAgEB/gEDAgL/AgP//gH/Bf39/f3+/v78AP8CAgIDAwMBAQEDAwEDAgUDAwMCAwAAAAMBAAEBAQECAgEBAQEBAP8BAQEBAQEBAQEBAAD/AP8CAQH/AAMAAP8AAP////8AAAADAAEAAAL+AAAAAAACAQH/AQAEAQMBAQH+Av8CAgIBAQEBAQEDAwMAAgEBAQECAgIBBAUBAQEBAQEAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEDAAAAAAAAAAAAAAAAAQEDAQECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAC/wD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAAAAAAAA/wEAAAAA////AQEBAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAD///8AAQEBAAAAAAAAAAAAAAAA////AQH+AgAD/v//AAAAAAAAAAD9AAABAAACAAAAAAAAAAAAAAAA/wAAAAAAAQAB///9AAACAQEBAAAAAAAAAAAAAAAA////AAAAAQAA/wAAAAAAAAAA////AAAAAAAAAAAAAAAAAQEBAAAA/////wAAAQEB////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAP8CAAAAAAAAAQH+////AAAAAAAAAAAAAAACAAD9AAAAAAAA/gEAAAAAAv8CAAD9AAAAAAAAAf8AAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEB/wAAAP//AAAAAAAAAAAAAwAB/v///gAAAAAAAAH/AAH/AQIAAP//AQH/AwD//gH/AgH/AgH//wH/AAH//wH//wH/AAH/BAIBAP/+AgAB/wEC/////v//BgUF/P79+/79/vv8AwMDCAYH/gD//Pz8BQsJAfwF/gQA/wUB+Pj4+fz8AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAv8A/wAAAAAA////AAAAAf///gEA/wEA////AAAAAgAAAAAA////AAAAAAAAAAEA////Af7/AQEA/////QAAAP8A+/79/P/+/v7///4AAQEAAf4AAgL//v8B/v7+////AP8CAAIBAAME/wIBAAEDAAAB////AgAAAAH+AP8A////AgAB/v///wAAAAAAAAD+AAAA/wAA/wAAAQEBAAAAAAAAAQAAAf8AAAD+/////v/+/wAA/Pz8+/r6/gEB/fv9//z9/v7+/wEBAAAAAQED/wH+AgIC//4BBQQDAwUHAQMF9PTpCfjzBAYG/Pz+AwYA+Pv7AQMCAQUG/////v0A/f78Av8AAP///wD9//3+AQEDAP78AP37/vz///oA/f77/fr5+vn5/Pn4/fz8Av//BQYGBwcI/AgGAgMFAQMCAf7//gEAAv8AAAEBAAAABQIF/gH+Af///f39/fj6/ff5+vb3/Pj6/wH+AQEDBQUHAAQF/wEC/gECAgIDAQICAf8CAAIBAQEB/v4A/fv8AP/8/gD7AgD/AQAAAwIFAgL9AwMDAAEBAAAAAP8CAQD+AAEA//////8AAQEBAQEBAf8AAf8A//////7/AAAA/gD+AQEB//////8A//8AAAAAAQED/gAAAgEBAAAAAAIDAgEBAQEB/wEBBQQDAwMDAQMCAgICBAQEAgICAAAA/wIBAQIEAQEB/////f39/v7+BP///////////////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAAAAAEBAAMAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAEBAQAAAAAAAAEBAQAAAAEBAQEBAAEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAEBAQAAAAEBAQAAAAD/AgAAAAAAAAAAAP///wAAAf///wAAAQAA/wAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wABAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAH+/wEBAf4BAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAP///wEBAQAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAEBAP///wAAAQAAAAAAAAAAAAEBAf///wAA/f8BAAEAAwAAAP///wAAAAEBAP///wEBAf///wAAAAABAQAAAP///wAAAAEBAP///wAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAEAAAAAAP///wAAAP8AAAEBAf///wAAAAAAAAEBAf///wAA/wEBAf//AAAA/wAAAAEBAQAAAAAAAAAAAAD/AgAA/f///wAAAAAAAP///wAAAAAAAAAAAAAAAgAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAf///wEBAQAAAP///QEB/wP//wEA/wEAAQAAAf//AAAAAQD/AP8BAQIBAQACAAQBAAEBAP4BAAEBAP4B/wICAAAAAAH/Af8BAQAAAPz//wL+APv++gIBAAgFAgQBAv0AAPr6+v/8/P77+/oCAv7+/gD//QUEAfwDAPb3+Pz8/AICBAcEBgABAQEBAf8BAAAAAAAAAAAAAAAAAAH+//8AAAAAAAAAAP///wAAAP///wH/AP4BAP///wAAAP0AAAAAAAL/AAAAAAAAAAIAAP//////AAAAAAL/AP4BAAAAAP//////Af7//wD/////AAAA//3+/gIBAv/+Af//Af8BAAEAAwIBBAIBBAEBAQAAAAAAAAAAAAL/AAD//QAAAv///wAAAP8A/f////7//P//AAD+/v7+/v7//AH//wD///8A///+/gAA/v7+/v4B/AH9BP/+/QD9/v4CAf/////+AQMAAQEBAAEBAAICAgMBAQMBAf4EAgUCAgABAwMFBPP49RkJB/z8/AICAQH9/Pv4+QH/Av4CAf8FAwEB/wP/Bv/+/gAA/v////8A/QD9AAD9/v78+v3//P76//v7+/36+//6+QH8/QUBAgIEBQEHBgEFBgMAAwL/AP/9/gECAgMBAQACAQADAf///f//AP/7/v75+P75+vv4+fv5+v39/f7+/gQGBQMEBgEGBP8DA/4CAwIBBQEBAwEBAQICAv3///z+/f///QACAf8CAQH/AwIB/gD9/QEAAAMDAwICAv8AAAAAAAIBAQAAAQEDAAEBAAEBAQEB/wAAAQEBAQAAAAD+//////////8BAP///wAAAP0A/wAAAgEBAQADBAEAAAICAv8BAQEBAQICAgEDAgEBAQIEBQQEBAEBAQEBAQEDAwEC//7+/v/////8/QICAgAAAAD+/wD+AAQAAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQABAQAC/wAAAAABAQEAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEAAAABAQMBAQABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///////8AAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAD///8AAAAAAP8BAQH///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8AAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8BAQEAAP///wAAAAABAQH///8BAQH///8CAAH+Af0A/wIBAQEAAAD///0BAQP///8BAQH///8A/wAAAAABAAEAAAD///0AAAIAAAAAAAAAAQEAAAAAAAABAAAAAAAAAAD///8AAAD9AQAC/wAAAAD/AAABAAAAAAAAAQEAAAD///8AAAABAQEAAAD///8BAQEAAAD//////v8AAAABAQH///4AAAAAAAAAAAAAAAAAAAEAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAAAAAAAAAAAAAAAAAP4AAP4BAQEB/wAAAf4AAf4AAP4DAAH/AQEDAgABAAABAAH+/gL9Af8AAP4B/wIAAAD+//8E/gL+Af4CBwT6+voCAQAEAwH/+/sHAf8oJiYoJSb8+Pv+AAD/AP3///0AAAD//P/4+Pj5+fmisLECAgICAgL+AQAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAD///8AAQEAAAD///8AAAAAAAD//wAAAAAAAAAAAAD//////wAAAAAAAAAAAAD////+/v79/v7+/v4A/v7+AQEBAf8BAQP+Af7+Af7/AQABAQIAAwIBAwICAgICAgQBAQEBAQEA/wAAAAAAAAAA/v8AAf////4AAQAA/v8B/v79Af8A//7+/v7+/v4DAf8A//7/AP8A////AP//////AP8BAf8BAQEBAQEDAQIAAP4BAAACAgMBAf4BAwICAQIBAQMDAwACAwUC/f7+AAICAwT8/vsJDgv3+fkEBAQA/P77+foEBgT/AQEBAwQBAAAC///+/AABAf8AAAD//f7+AP3//f79+/r9//z/+//++/3+/fsA/P4FAQICBAYDBgf8AwT8AAEE/QAB/v8AAgACAwAABQH/AQH+AQD9/wD9+Pz++Pn89Pf+9fb9+/sBAv8DBwQGBgoAAgQCBAMABAQABAUEAgQBAQX+/f/+/P/9Af/+AAAAAAEAAgIBAAIAAAAAAAD//wEAAAACAgIDAwECAgL///8AAQICAgIDAAEABAMAAAABAf8BAQEBAQEBAQIBAQAAAAAAAAD/AQABAAAAAAAAAAACAAMBAgEBAQP+AgEBAQEAAwIDAgICAgICBAMCAgICAgIBAAQDAwP+Af/////+/f3++/76/Pv+/v4B/P8FBQUEBAQAAAAB//8E//4AAAAAAAAAAAAAAAAAAAD+////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAA/wIBAAEB/gEAAwACAQECAAABAAACAAAAAAAAAgICAQEBAgABAgABAgICAQEBAAABAAAAAQEBAgICAf8AAQAAAQIBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AQL/AP////8A////AAAA////////AAAA/////////////wAA/wAA/v//////AP///wD9AAD////9AQIAAP3/AAD+/v79AgD/AAAA////////////AAEAAQEBAAAAAf7/AQAAAAAA/QD/AAAAAAAAAAAAAwABAAAA/QECAAAAAAAAAQEAAQEAAAAA////AAAAAQEBAAAAAAAAAAAAAP8BAAEAAAAAAAAAAP8BAAEAAAAAAAD+//8BAQEB////AQEBAAAAAAAAAAAAAAAAAAAA/////gIDAQEBAf//AQEBAAACAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAQED///+///8AAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAACAP8CAP8AAAD+/////////wD/AQAAAAAAAAAAAAAAAAAB////AAAA////AAAA///+AAAA////AAAAAAAA////AAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AQEBAAAAAAAAAAAAAAAA////AQEB/gEAAP8AAQAA////AAAAAAACAAD/AQEB////AAAAAf4AAAAA/wEA/wEAAAAAAf/9AQEBAAAAAP8CAAAAAAAA/gAAAAAAAQAAAAAAAAAAA//+////AAAAAAAA/wACAQEBAP//AAAAAAAAAQEBAP//AAAAAQEBAP//AAD9AQEB/QAADgwN+/f4BAQE/wEAAAIC/f39AwEBAf8AAwUE9PTy/wIB////AgID///8////AAD/AAAA////AAACAAH+/////wAAAAAAAP8AAQEBAAAAAAAA////AP8C/gH/AQEB////AQEBAAD+AAACAAAAAgEBAAD/Af///QAAAAAAAAAAAgEBAAEB/wEB/gD7AQL+BPwBAwAC/QD9/f/9AgH//gD+AQD9AQD+BAL9BAIB+/r9/wD/AQED/QD+AQMD/gEA/P/+AgIE/wEA+wL/AAIB/fz+BwUCBwQBAAcB/v7+//8CAP0AAQEB/wL/AwMJ/f37+Pj3Dw8P/v7/AAD/AAED+/38AgABAgAB/f7/AQMCAQIB+fn3CQUGAwEC9/n4AwYF/v7+AAAAAAAAAAAAAAAA/gEAAAAAAAAAAAAAAAEB/wD/AAD/////A/8BAQAAAv8BAP//AQEB/gEA+/8AAgEDAQAE+//8AwD/AgAB///8//4EAAIDAAQEAgQH///+BAEGAP/7AAAA/wAC/wH/AAAAAf8AAP8C/AAD/AMCAv7+AAEC/wAHAv76AAEG/QAD///8/wIEAf7+AQMCBP8GAgD9/gIC/AUIBP/+/AUDAwUPAAICAQEDAgMCAQEGAgD5AwEIAv7z+gUMAwQG/P/9CQgIChEf/Prx/wQN9/TvBwMB/Pz7AAAA/wAA/wACAAMDAQIBAAH//gYDAAIAA/8B/AMC/vz+Av0B/wIDBwEA+wEH/wcGAQQDAAIB/gADAwECA/8A/AIEBAD8BAL8/wb//QMJ/wEFAf38A/j6/fT1/vb2/fX3Af/9BQUDAgUH/gUFAQME/wMAAwUFAAQG/gID/gEFAAECAQH/AAH9AP7/Afz+Af39Avz8/Pz8AwH/BAUD/QD9A/0AAgQEAgQDAgABAgEAAAAAAQICAAIBAwIAAAEBAAAAAAH+AgIAAQEAAQEA////AwID//79/v7+/gACAgICAgMEAQEBAQADAwYCAQEDAQMCAgEDAQEB////Af4BAAAAAAH+/fz+AP7/AP78AP38APr7Afn6APv5+P4E+wUHBAgJBQcGAgMDBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wMAAQEAAAAAAAEAAAEAAAEAAAIBAQEAAQEBAQAAAAEBAQAAAAAAAAEBAQAAAAEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAP///wD//////wEAAAAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAAAA/wAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAf///wEBAQAAAP//////AAEBAf///wAAAP///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAP8AAAAAAAD/AAAAAAEBAf///wAAAAAAAAABAQAAAP///wAAAAAAAAAA/wAAAAAAAAAAAAAAAP///wEBAQAAAAAAAP///wEBAf///wAAAAAAAAEBAf///wUEAxoYFgUCA/////z9/QIEAwH/AAAAAP7+/v///+b+/Pf6+f39/f///wAAAgICAf///f///wEBAQAAAP8AAAEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBAf8AAAABAf7//wAAAAAA/gEBAQAAAAIB//4B/wEBAQEBAQIB//8BAQEBAQEB/wMAAf/9AAUEBAICAv3+AAD8/P//AAMDAwH+/gACAvr8/gP//goHB/P6+gIAAf37/AD+/gH//wH/Af4AAP///////wEBAQQEBAYJCPz8/P7+/wADAgIB/gIA/wD//gMCAwICAPz+/Pz+/gUEBP39/fz//wYJCPr7+wEAAAAAAAAAAAAAAAAAAP///wAAAAEBAf///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAP///wAAAP//AP3//gEAAf0A/wAAAQEBAwACAQAAAAAAAAEBAQEBAf///wEAAgAAAAAA/QAAAAAAAAAAAAAAAAEBAQAAAv8AAQAB/wAC/wEBAgACAQAAAQD+AwEA/f8CAAH+Av8A/f8BA/8DBAEDBwMA/QUAAQH8AAMDAwQCAv4CAQIBA/8AAwIAAAIBBwIBAgL/+wAAABEYHAIB//v+Af308vwAAwUHBgQDBv0A//39+wIA/v///gD//wICAQAA/gAAAAACAQIAAAMEBP///P4AAAMGBgAB+/7+/v8CAgAAAP8DAgEDAgABAQUEAwECAQECBf8FBgMFCQICAgD4/PsB+gH89gH//AQEAgABBwAFBQAEAwQDBAMDA/4EAgADAgADA/8BBAEAAQEBAP///wMAAf/9/f39/P/8/f79+wD//gIBAAECAQH/AgQHBgICAgIEAwEBAAH/AAEAAP8AAAACAf8A/gIBAQADAgEBAgEBAQEC/wD+/wAA//wAAf8BAwEDAwMCAQICBAACAgEBAwEBAQUGBgD/AQACAQICBP/////9/P///wH+AQD+/f////79/f77+v38/Pr49/v4+fv6+gECBPsD+AX7+f39CwUHCAT/AP7///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEAAAAAAAAAAAABAQEAAAABAQEBAQEAAAABAQEAAAAAAAAAAAABAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///////////8AAAAAAAD/AAAAAAD/AQD+AP8AAAD+//8AAAD////+AAAAAAAAAAAAAAAAAAAAAAD///8BAAAAAAD///8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8BAAH///8AAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAD///8AAAD///8AAP8AAAAAAAAAAAD///8AAAAAAAD///8AAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8AAAAAAAD//wAAAAAA//8AAAABAQEAAP7//wABAQP///8BAQH///8BAQH/////AAABAQEAAAD///8AAAAAAP8AAAAAAAD/AAAAAAABAAAAAAD///8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAD7+/sDAQIAAAD++/z+//4BAAD9/v4C/wACBQT/AQH9/f3++/wBAQEAAAD///8CAgL+/v8AAAD///8AAAAAAQD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAf8BAQECAP4AAf/+AP4AAP4BAf8CAf/+AQADAAABAf8CAgABA/36/PwD/wL//gAC/wEEAwD//wH+AP///gAAAP4FAgD+/P0BAgAGAQMC/v8JBAb0+fX/AAEBAgAA/gAAAAD+AQABAgICBQQEBAQBAgIFAgP4+Pj8+fn9/f38+/v8BQP+/gD+//8AAAD8AQH//v4CAwP++/oGBwcBAAD///8AAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAD+AQD/AAD+AQD/AAL+AQL/AAEA/wD9/v4AAAAAAv8F/gT+//8CAgIDAwMAAgEBAQECAgIBAQEAAAAAAAAAAAAAAAIAAP8AAAABAQEAAP8BAQH/AAQAAQACA/4BAgD/AwQCAwQBAf4BAfwA/gEA/////wAAAQMBAf0EBgcFCAgEAAADAQED/gIEBgcCAP8BAQABAAICAAIB/wH9/wP+AP8G//3+/PoVICj//fv+Awbv49kMEBn+/v4BCAAAAgEB//8A//8BAQAA/v8CA/8B/wAAAAACAgIBAwICAP/9AgL9/AAC/v8CAQIB+wEAAAD/AgP/AwECBAT+AwECBAMAAQL+AQH9AAUEAgYGBwUAAv7//vgDCQb8BAT9BwIAAQX+AgT+AP8AAgIDAwP/BQIAAQP/AgEC/gEAAP7//gEA/Pv9/f0B+/oB/Pz+/f0B/v4CAv8EAwQCBAL///8DAwEBAwEBBAMDAAEB/wAAAAAAAgH/AgEB/v0AAwIBAwIAAAAAAP4AAAD+Av/+/v7/AQMBAQEBAQECAgICAgICAgQAAgECAQMDAgX/AQABAQEA/wL///7//wH//v39AAAD/P3////+/f39+/79/Pz//P/9+/7//P8A/vYBBAX/AQD/AwP6//8E////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAA////////AAAAAAAAAAAA////AAAAAAAA/////wAAAAAAAAAA////AAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA/gEAAAAA////AAAAAwABAAAAAAAA////AQEBAAAA////AQEB////AQEBAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AQEB////AAAAAQEB////AQEBAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAA////AAAAAQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAD/AAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAQEB////AAAAAQAAAAAA////AAAAAQEB///9AQEB//8AAAACAAAAAAAAAAEB////AP8AAQEB////AAAAAAAAAAAA/wAAAAAAAP8AAAAAAAAAAAAAAAAA////AAAAAQH+AAAC////AAAAAAAAAQEB////AQEB////AAAAAAAAAAAAAQEB/v7++vv7Af7/AQQD////AP3+AAIC+vr4BQUF/v7+/gEAAwMD//////4BAAAAAAAAAAAAAAAAAAAA//4BAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQH////+AQH/Af7+AP8AAACA/3//AP7/AQEBAQEBAP8CAQAAAQABAAAAAP7/Af0A//8BAP8CAQMCBAEBAQH6+/38//4GAwX8/v0A/f0AAgIBAQL9AP0IBwP7/P4FA/8BAP7//vwCAQEA//8A/wEBAgD//gAAAAABAQEBAQEKCgv8/f33+Pb///4rKigqJyj7+vj9/f0B/wD/AQACAgL+/v4DAgXz9fa7v78AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAQEA///+//8C/gH/AQD//wEAAQICAQQBAQMBAQEBAQMCAgIAAAD/AQIAAP8BAAAAAAAAAAD/AgACAQMBAQMBAgUB//4AAAMAAgEBAwT/AQP/AQECAgD/Af0A/wEAAQH///8BAwUDBgkFCQwGAf7/Af8A/P0BAwUC//7+AP0A/wABAf///v/7/wABAAABAf4CBQQLExv+/PgCBQnm3dgkMhX7+fcA/vwCBAQEBAQDAgL////+AAD///8BAQECBAMDBAT/AwP+//3///8A/wD9APwBAgIABf4A/wIBAgMABAMABgQBAQD/AwD//f/8+/v8APz/AAIFCAUFCw4HBgX/BQUE+Pz9+Pr//wH9/gD7/wH+AAL+AgIBAgMAAAAA/v8A//8D/v39/f0A+/z//Pz//Pj//f0B//8AAAACAAICAgADAQD+AQACBAL/AgECAgIAAQEB/wABAQEBAQH/AgH/AgABAwL/AQEAAAD/AQL///8A/v8BAwMCAwQBAQEBAf8CAAMBAQEAAgECAQMBAwL//wEAAAEAAAP///8BAAAAAAIA/wIB//////////8CAAEAAwMBAAYC/wIB/wL7A/v89/L//f78+vv+AvgC/PsEAAAA////////AAAA/////wACAAAA/wD9AQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAA////////AAEAAAAA////AAAA/gEAAAAAAAAAAAAAAAAA////AQEBAAAAAAAA////AAAAAQEB////AQEB////AQEBAAAA////AQEBAAAAAAAA////AQEB////////AAAA////AAAAAAD/AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEA////AAEAAAAAAAAAAAAA////AQEBAAAA////AAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAQEAAAAAAAAAAAABAAAA////AAEBAAAA/v7+AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAQEB////AAAAAP8AAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAD9AQEBAAAAAAAC////AQEB////AQEB////AQEBAAAA/P39/wEAAQEBAQQCAwMD/f7+/gEABQMDAf7/BAQEAgIC////////////AQEBAQEBAP8CAAD+AQEB////AQEBAAEBAAAAAAAA////////AQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAA////Av8A//8A/gAAAAH+Af8AAf/+Af/+AQH/Af/+AAD+/gD+BP///gH/AgD+/wAA//39AwEBAAEDBgMBAv3///8ABQAEAwEC/AP/AP7+/P36AAEDAQD+/v37BwcF/gD9AwD//wAAAAD+Af8AAAIAAv0A/////v7+////CAkH/f789fbyCgUHGBIS+/z5/gAABQEC/////gD//vz9BgYI8/f4+ff4CQUEAAAAAAAA////AAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAA////AAAA/////wIBAAAC/QD/AAAAAAIBAgICAAIDAQEBAAAAAQEB////AAABAQABAAD//wD+AAAAAQEBAgICAwMFAf/+AAAAAQP+/wEDAQIBAf8B/wABAAEEAwAA/wEB////AwUCBAYFAwYFBQEB/v78/QQFAQEBAP8AAAAA////AAEA///9AQEDAf/9/f77EBQWAAYHAvn6/vj38evqAgIC+/v7/Pz8BgYGAf///wIBAQEBAQEBAP8CAQMCBQQGAgUE/AAB/gIDAAL/AAMBAwIB/wEBAv8AAAACAAEDAAIB/gEB/wD//fz8+fj2+vX1/f39CA4QBwkGBQoTAggNAAYL//b0AfX1//r3Av7+Av4A/AAEAQAD/vz9/v7+Af7+/v78//3+AP39Av37BP7+/f7+AgEBAAICAAMCAQMCAgQFAgQDAAAA/wMCAAIBAQEAAQEBAAAA/wAAAAEBAAEBAAMDAQICAQIDAQEB/gD/Af8AAAAA////AQMCAP7//////v7+////AQEC/wMAAwACAAH/AgADAQAAAQAB/wADAwH//gIEAf/9//8DAwAA/gH+AgICAQEC/wABAv8AAwIC//8N+/v7+/z9Afj4AwUCBP///wAAAAAAAP////8AAAAAAP///wAAAv8B/gAAAAH/AP///wEBAQAAAAL/AAEAAAAA/gAAAQAAAwAAAAAAAAAAAAAAAgAAAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAEBAQD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAgAAAAD//////wAAAf///wAAAf///wAAAP8AAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAP///wAAAP///wAAAAAAAAAAAP///wEBAQAAAP////8AAAEAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAP8A/wAAAAEBAf///wAAAAAAAAEBAf///wEBAQAAAAAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAP///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAEBAQAAAP///wAAAAAAAAAA/wAAAQAAAP//AAAAAAAB//8AAAEBAf//AgAAAAEBAf///wAAAAAA/wAAAAAAAP8AAAAAAAEAAf///wAAAAAAAAAAAAAAAP8AAAAAAAD/AAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAf///wAAAAAA/wEBAf///wEBAf///wEBAf///wAAAAEAAAMDA//9/v/+/v3+/v///wABAfv+/QH+AP//Af7+/v7+/gABAQAAAAECAAAA/gAAAAAAAv///QAAAAAAAP/+AQAB/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv///wAAAAAAAAAAAAAAAAAA/gL/AP8AAP///wEA/gH/AAEB/wEA/wEA/wIA/v///gH//gMB/f8B/wH/AAAA//8B/QIG//7+/fr89wICBAgGAvr8/v8A/wMDAP7+Avr6+gsJCPf5+gEEAQMEAP3++QICAAAAAAL//v4BAgIB//8AAv8C/wIBAAMBAAH+/gUFBQYGBvsHBAYFAwEAAPz6+wACAPn7/gMDAwAAAAMCAvz5+P77/AIA/wEBAf7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAP///wAAAP///f///f///wEBAf4BAAH///////4BAAAAAAAAAAEBAQEBAQIA/wAA/gAAAAAAAAAAAAAAAP4BAAH/AAEBAQAAAP8BAAACAQUFBQH//v////v9/AICAgEBA/4DAAH+AQAA/gAAAgAB/wD//wEBAQEBAQICAgEA/v4B/wAB/////QAAAAAAAP///wAAAAAAAAMAAf39/Pv+/hMZHvj9+wMFBu3j4P79/QEBAf////39/QAA/////gEBAQMDAwQEBAEBAv//Af4BAgEABAABAgAC/AIEAwIDAv7//AUCBAAAAP//Afz+/v4AAfz+/fv8/Pj4+Pj08/n18gD//v///wcLCwMKDQMKBgQMDwIEBv4DAf/3AP38+gH8/wD8AP79/AMA/QD//f37+/78+//9/gD//wABAAIBAAEEAgACAQMCBQADAv4DAQIDBAMDA/8BAP8BAQACAf4BAAAAAAIAAAIBAQABAQADAgACAQICAgEDAgAAAP/+AP////78/f///v79///9/v79/f/8/f///wICAgQEBAEFAgICAQAD/wABAQAAAAEBAQECBAAA/AD9AP8C//4AAP8BAgD+//8A/AEBBAIA/wICAAQCC//7+f76+v39/P/6/QQAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8BAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD///8AAAAAAAD///////8AAAD///8AAAD/////////AP////////////8AAAD///8AAAAAAAAAAAAA/v8A/v//AP8A//////////8CAAAAAAAAAAAAAAD///8AAQAAAAD///8BAQH///8AAAAAAAD///8AAAD//wABAQEBAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAD///8BAAEAAAAAAAAAAAD///8AAAD///8BAQEAAAAAAAAAAAAAAAD///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAD///////8AAAD///8AAAAAAAD///8AAAAAAAD///8AAAAAAAD///8AAAD///8BAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAAAAAABAQH///8BAf7/AAAA/wMBAQEAAAD///8AAAAAAAD/AAABAQH///8AAAABAQH///8AAAAAAAD/AAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQH///8AAAAAAAAAAAABAQH///8AAAAAAAAC/wD//f7+/f0A/f4ABAABAgICAgL//v4AAAAAAAAAAAABAgIBAQH///8AAAD7/v0BAQH///8BAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAf4AAP8BAP7/AAAAAP4BAAABAQEAAAACAAEAAAEAAP7//wABAQAAAP//Af/+/v73+fUICAj9/Pv9APsDAgT8/PsAAAL9/f3+AAUEAAD79/YA/v0DBQYIBgUA/f0EAwD9AgD//wEDAP/9AQEB/wH+/wABAAACAgIDAwP//f4AAAADAwP//P3++vkDAAH/AAADCAn9/fv//P3/AP4DAgQAAP4BBAP+/v4BAQH///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD/AAD/AAD+//8AAAAAAAABAgAA/wD/////AAD///8AAAABAQEBAQEBAQECAgIBAQEAAAD///8BAQAAAAAAAAAAAAAAAAD///////8BAQEAAAD///0BAP8BAQACAgIBAQEBAQEC/wH/AQD//wAAAAAAAAAB/v8AAf7///7+/vz+Af/+/v7///////////4AAQD///8AAAD+AAEA/vwB//4ABQcFChD58/EABgfs4NwDBAUAAAABAQEAAAD+/v77+/sAAAACAgL8/P0DBgT2+Pz49voDBQAABAL//QAD/wABAQH+/QD9AAH+/v78//38/P78/Pz8/Pz6+vr69/b6+Pn6/P0C//7+9PIA6+n/AQMKEBIDDg4DAwEECAz7AAP/+vcAAfkA/fj+/vv9AQECAP3/Afz/Af0AAf7+AgAAAQMBAQH/AQL/AQEBAwQAAwICAAECBAMCAwP+AAICAwD+AQACAAABAAADAAEAAAD/AgEBAQEBAwMBAQEA/wAAAAD///7+/P39/f3+/f3+///+/f3/+vz+/PwAAAAEBAT/AQIBAv4BAf3//wICAAIAAQH/////AAAAAAD+AQAB/wMAAAABAQD/A/0DAwYC/fwAAAAAAgL8//wGAwcCBAP5+fn7+foEAAAAAAAA////AAAAAAAA////AAAA////AQEA////AQAAAAAAAAAAAAAAAAAA/////wIAAQEAAQEAAAEAAQEAAgIBAAEBAAEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AQAA////AAEA////AAAAAAAA////AAAAAAAA////AAAAAAAA////AQAA////AAEA////AAAAAAAAAAAAAAAA////AAAA/wAAAQEBAAAAAAAAAAAA////AQEBAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQAAAAAA////AAAAAAAA////AAAAAAAAAAAA////AAAAAAAA////AAAAAAAA////AAAAAAAA////AAAAAAAA////AAAA////AAAA////AAAAAAAAAAAAAQEB////AAAAAAAAAAAA//8AAAAAAAAA////AQEB////AQEBAAD/////AQEBAAAB////AAAAAAEB////AP8AAQEB////AAAAAAAAAAAA/wAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAB////AQEB////AAAAAAAAAQEBAAAAAf8AAP//AwABAQQEAAAA/P39AgIC////Af8C/v0A////AAAA/gEAAf8AAQH/AAD+AAADAQEBAP8AAAAAAQEB////AP8CAAH+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA////AQAAAAAAAQEB////AQAA/wD/AAAAAgD+AgH//QH+Af8AAAD/Af/+AAH//wD+AAAAIB4qHR0fAQEB/v0AAgIC/Pz+BAQE/f39/wL6AAAAwMDABQME+v78/vr5BQQC//39AAAAAf8A/wEAAv8A/f//AP7/AAMBAf8AAwICAAAABAQECAgIAwMDAwIFAAQA+Pz6/P36AQL/BQYF/Pr5BQQC/QD//f39BwQC//3/AQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAEBAAABA/8AAAAA////////AQEBAQEBAgABAQH/AAAA/////wD9//8B//8AAQEB////AAD+AAAAAAAA////AAAA/Pz6AwECAQEB/v7+///9AAAB////Av8A/P//AAD/Af7//v//////AP//Af/9//4AAP78///9/wD9AAABAAAA////AP///v7+Av79AP/9BggO+gECBQH+/v8B8OvmAwMF/wEB/wEBAQEB/////v7+AAAA/P7/APz9Bv//9/f39fT0AgQFAAYGAgD+Av//A/8C/v/9/P/+/f7+/P79+/v7/Pr7/Pv7/Pn6Af38AAAABQYK/f379/j4/OzsAgD/A/35AP74BwYLBAQGAAUKAP8AA/7/BAP6AAL/+P///wQAAwACAAME/v3//QD//wACAQMCAQMFAAAAAAID/gIB/wEBBAQEAAIEAAAAAAIB/gH+/v///////v7+Av8A/v7+/wAAAQABAAAA///////9AAAA//3+//7+/v7++/v7//z9/fv8APz9AQEBAgABAAX+Av8AAQEBAwH/AQH/AAECAQEB/////wAEAAD8AQABAAD+AAAA//8BAAH+/gACA/8DAAAA/gX+AQEDAgICAAAAAwIFBAAAAAAAAAAAAP7//wAAAP///wAAAP4BAAL+AQAB//8BAAH/AAAAAAAAAAEBAQAAAAIAAgEAAQEAAQH/AAIBAwH/AQIBAQEAAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQAAAAAAAAEBAf///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///////wAB/v8AAP8A/wEAAAD/AQAAAP8AAAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAf3+/QACAQD//wAA/gAAAP7+/gEBAQAB/v7+/gICAgAAAP///wAAAAAAAv0A/QEAAQAAAAL/AAAAAAAAAAAAAP4BAP///wAAAf///wAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAEAAgAAAQABAP///wAAAAAAAAEBAQAAAAAAAv//AQAA/wAAAP////7+/gICAv///wAAAP///wEBAwAAAgAAAP////0CAgIBAQEBAAMAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAA/v///wAAAAAAAAAAAP4AAP4AAP4AAAEBAP//AAEBAQAAAAAAAAAAAAAAAAAAAAD/Av0A/f8A//8BAP8AAAL/AAAAAP///wAAAP///wAAAP///wAAAAEBAf///////wAAAP///wAAAAAAAP///wAAAP///wAAAAAAAAAAAP///wAAAAAAAAIBAQD//wAAAAAAAAABAAAAAQH+/wEBAAEBAQAAAAEAAAAAAAD//wEB/QAAAAEAAf4B/QAAAAD/AwH+AQAAAAABAf//AgAAAAAAAAAAAAAAAAEAAQAAAAAAAP///wAAAAMAAf////4BAAICAv7+/gMDA/v7+wMDAwIA/P/+AQADBAAAAAD/AgAAAP8A/gL/AP4AAP8AAAAAAP/9/gEDAgICAgL/AP//AP0C/gb//gIAAQAAAP35+gIGBf8DAwL8//4A/wAAAP4CAAAAAAAAAAD+AP///wEAAgQA//39/QMEBP4A///+Af4B/wAAAAICAgP+//4BAP//AQAAAP///wEBAf39+wQEBP77AAUEAvr89gD//wL/AP/+/wH//QAB/fv+/AQAAgMB+f8BAv0B+wAAAwAA+wT+AAH+9wYDBvf5+QAD/AD+BgAAAPz++f4CAv7+/gMCCvz/+QEAAQP/BAcE/wMAAQIBAwL/+v8D////Af7+/wMBAP8DAAEB/////wL//AP/A///Afr8/wEGBP8EAPz4/AQAAf8BAP/+AAD//f8DA/7+/gP/APwDAQD9AgAA/QAAAAAAAAMAAQAAAP4BAAAAAAAAAAH+/wAAAP4BAAAAAAEBAQAAAAL/AAQAAQD//wAAAP///wD/AP4BAAL/AAAAAAQBAgEBAQAAAAEBAQAAAgAAAgICBP/+Af8CAAMBAP///gEAAP8AAAAAAAAAAAH//v/9/AH/AAICAP39/AD+/QMB//7+/wAAAP0A/QP+Av7+/v4B/QABAP//AP/////9/v8A/P/9Afr/+wj9A/wCAPT/9g0BCvv9AwEB/wMAAPn+AAgUEv70/fwA//Pl3QIC+v4BEQAAAAD+/gICAv///////wICAgL//wAAAP////X29vP29QQFBgH6+AIAAAEBAQACAv78/P7+/v39/f38/P7+/v7+/v7+/v8CAQEBBf/8+v7++gAB/QICAvj7+u7v7Pn69g/59goJDAYJCgICAgMA/wIEAv8LDPwGCgT59AL/AP39/f79/f8AAAT///8CAwECAvwBBwAAAAICAgEBAf0A//////4A/f/////6/v4A//v+/f7+/gH+//7+/v///wADAgH+/gEBAQIAAgAAAP////7+AAD9/v///wEBAv/+/gMBAf4BAAEA///9/v/7/f0C/AQFCP8BBAAAAgD//wEDAgH+AP8BAQICAgEAAQAAAP////8CAQAAAgAAAP8FAgADAwMCA/39/QEBAgQABP8B+wT///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA/wIAAf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAQADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAD///8AAAD//////wAAAAD///8AAAD///////8AAAD///8AAAAAAAD///8AAAAAAAD///////////8AAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAABAQEAAAD///8AAAAAAAAAAAD///8BAQH///8AAAAAAAABAQEAAAAAAAD///8BAQH///8BAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD/AAABAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wD///8AAAAAAAD///8AAAAAAAAAAAAAAAD///////8AAAD///8AAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAD///8BAQAAAAH///8AAAABAQH///8BAQEAAAD///8BAQEAAAAAAAAA/wL/AP8AAAABAQH//wEBAQAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD8//4AAAABAgL8/v0AAAD8/v0BAwL////8/wABAQAA//////8AAAABAf8CAAH9AAADAAEAAAAAAAAAAAD/////AAD//wAAAAAAAAD/////AQADAwMBAAD/AQH8+vsF/f8BAgH9AP8AAP4AAAAAAAAB/v8BAAABAQD/AwAAAgH/AQAA/wACAgIB//8B/wH++/38////AgMBAQACAgIAAQEAAAADAAP++/z//wH+/vz///8BAAD+/v4BAQEBAQH+/AAEAQP9+v0C//8A/f//Af8D/wABAgP7/vv///7///0AAf4AAP4AAf4AAAD/AP0B/v8AAAAC/wADAf8BAQD/AQACAAEBAP4AAAAAAAAC/wD+AQEAAf0AAAIAAAAAAAAAAP4BAAABAQECAQAAAAACAAEAAAABAQEAAQH9AP8CAAEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAD+AQAAAAAAAAAAAAAAAAAAAAABAQEBAQAAAAAAAAABAQEBAQAAAAAAAAAAAAAAAAD/////AAAAAAEAAAAAAAABAQEAAAABAQEB/wAAAAAAAAABAQEBAQH///4AAAAAAAAAAAAAAAAAAAD///8AAAD///////////8A////////AP////8CAAD/AQD/Av4B/gAAAAABAAD////+AP/+/wEAAAAAAAD+AP//AQECAQQB/gEA/wD+/v76AQAFAwQGBAj5APMCCAnt5eIAAAcDAf8AAAD/AQEBAAAAAAABAQEAAAAAAAABAQEBAQEAAAD////8/Pz9/QICAP0B/wD/AAMBAP3////+/v7///////8BAQECAgL////++/wBAQEDBAH+/gIAAwAB//76+vr9/fz7/P0HB/IICAoFBQUEBAIFBAIDAgUDAAMCBgv/AAAB/v4B/v4CAQH/AAH+AP8AAgIE+/z9//79/vv9/fz8/Pz5/Pv9/f3+/v4GAwT/AgH8/f39/f7//f4A/v39AP8CAgL///8CAQMDAwMDAwMBAQECAAAAAQIBAQEAAQIAAAL//wEBAQH//v79/vz8/AMCAvoBBvsCAgIBAgL/AAAB/wD/AAAAAf4BAAEBAf///wAAAAAAAAAAAAAAAgMC/wIBAf////8DAAD+AQMD//3///8EAAAA////AAAAAAAAAAAAAAAAAAAAAv8AAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAAAAAQEBAQEBAQEBAQEBAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAA////AAAA////AAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAAA////AAAA/////wD//wAA/////wD/AAAAAAAAAQAAAAAA////AAAAAAEA////AAD/AAAAAQEB////AQEBAAAAAAAA////AAAAAQEBAAAA////AQEB////AAAAAQEB////AAAAAQEA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA////AAAAAQEB////AAAAAQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8A/wAAAAAA////AAAAAAAAAAAAAAAAAAAA////////AAAA////AAAAAAAAAAH+AAD/AAAAAP8B////AAAAAAAAAAAA////AAAAAAAAAQEBAAAA////AAAA/wAAAAAAAAD/AAABAAAAAAAAAAAAAAAAAAAAAQEB////AAAA//8CAAD/AQEB////AAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBAAAAAQEB////AQEB/v7+AwMD/v/+AQIB/wAAAQH+AP8BAAD+AgIDAgIC/////f7+AAAAAAAA/wEAAQAAAAAAAAAAAAAA/////gD//f39/Pz8AQAA//z9BQIDERAM+Pn5////AAH+AAAAAAAA////AQEBAgAB9Pr2AP///f39AAAABQME/v//BAMD/P//AQYH/////v7+////////////AwIC/f3/AgH+/Pz8AgEBCgcI+/v7Af8A//8G/AQFAv79AAP9AwMIAf0C7e/j/wEAAwH+AwL+AgH9AgIAAgIAAAH/AP/+AgAA/f7+/gD+AgEBAQD/AgEABAEB/AH/AwH/Af8AAQD/AQEBAAAAAwD//gEBAP4AAwD//gABAQAAAAD+Av/+/gECAwABAQEBAQEBAP8BAAD/AAAA/gEAA/8AAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAD/AQEB////AAAAAAAAAQEB/wAAAAAA////AAABAAAAAAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAP8A/gAB////AAABAf/+AAAAAAAAAAAA/////v7+AP3+/v7+AAAAAAD+AAD//////QD+AQAAAAD+Af8AAQABAf7//////v7+/f3/Av3/+//+/v4DAAH//v7+AP/9AAD++//+DQsMBQIF+gEA/Pv+9+nmBgUL/v/6AQEBAQEBAQAAAAAAAAAAAQEBAAAAAAAAAgICAgICAAEBAQEBAQEBAP8BAAD/AAAA/gD/AAEAAQEBAAAAAAIC////AP//AAAAAAD+AgIA/v8A/v7+AAAAAwMD//8C/f389PDw9wP0BAYIBwQFBQYDBQUFCAYHBQUH/vr7AwMDAgABAQEBAQEB/gD//P7+//8B//z3/v7+/Pz8+/v7+vr6+/v7/f39////8fr7AQQF/wIBAf7/Af8A////AQL/AgMDAwUI/wIAAQEBAwEBAQICAQICAAH/AQEB////AgIC//8C/wEB/f//Af///f39/Pz8Afz8AwMDAf8BAQIEAAAAAAAAAgABAAEAAQEAAAAA////AAAAAAAAAQEBAQEB/v//AgIE/gD+AgD+/gQABAACBP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgAA/gAAAAAAAP4BAAMAAAEBAQEBAf8CAQEAAgAAAP4BAAQBAQEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAv8A/QAAAAD+Af////////8A/wAAAP///////////////wAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAP///wAAAP0AAAL/AAAAAP8CAf///wAAAAAAAAAAAP///wEBAf///wAAAAAAAAEBAQAAAP///wAA/wAAAAAAAAAAAAEBAQAAAP///wEBAf///wEBAf///wEBAf///wAAAP///wAAAAEBAf///wEBAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA/gAAAAAAAAAAAAAAAAAAAAL/AP7//wAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAP///wAAAP8A/QAAAAD/AAAAAP//////AAAAAP///wEBAf///wAAAP///wEBAf///wAAAAAAAAAAAAABAf///wAAAAEBAP//AP///wEBAQAAAAAAAAAAAAEBAf////8A/wAAAAAAAAAAAAAAAgAA/wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAP/+//7+/v///wUDBP79/v39/f8D/v39/QMDA////wAAAAQEBv7+/gD///4CAv7+/gMCAv///wAAAAAAAAAAAAAAAP4BAAL/AAMDAwQEBAICAgAAAAEBAQEAAAkICBsYGf4BAAAAAAAA/v///wAAAAAAAAMAAQICAtXc1/0AAAEBAf/+Af8AAPz9/QECAv8AAPv7+wEBAQICAgEBAQH///z8/P4CAf///////P39+xAPDiEeHwH/Af77/P8A/v///QH+/wEBAQH9+QL/A8zN5QD+AP76/QH//AH+/wD+/wAAAAAAAAL/AP4A/gMB/wD/AQD//wIB/gP//gIA/gQAAvz//gMB/wIAAQIBAP8AAP7/AAL//v4CAgD+AAMA/wEBAQEA/wEAAAL//gEB/wAAAAEBAQEBAQAAAAD//wAAAP8AAP4AAAAAAAAAAP////////8BAAEAAAAAAAAAAAAAAAAAAAAAAP8AAP4BAAEBAAP/AQD/AAD/AAEAAP0BAP4BAAAAAAAAAAEBAf0AAAAAAP4BAAAAAAAAAAAAAP///////////wAAAAAAAP////////8AAQAAAAAAAP///wEAAP///wABAf///wEAAP///wAAAAAA/wD+/wICAP7//////wAB/v/+/gEAAP////8AAP//AP//Af4A/wD+/wUBAAACAQAAAAH9/v/+/AMCAQQCA/75/QgPFP7+/AQGBvng2wr9+wQKDvn5+QAAAAAAAP4AAAIBAf///wAAAAAAAP8BAf4AAf//AQAAAQAAAgEBAQEAAQEAAQAAAQEBAwAAAP8B/wH+/v////7+/v8BAf///wICAv///f////0A/wAAAQMDBf///QH+AQMDA/z8/fXy8/D7+/8A/QcFBgoKCgsICwAEAwcHBwUFBQMDAwICAvv+/f39/f7+/v4AAfz8/Pn5+ff39/j29/r6+vz8/AAAAAUFBwUGBgQGBQMDBAMBAQEBAQMCBAMEBAQDAwICAgMCAgICAgICAgEBAQIAAQAA//4BAQIA/v4CAv4BAQAAAP////3+/AL+AQH8+AMFAgH+AwMB/wABAQEC///9AAAA/gEA//8B/wEBAQAA/wAAAAAAAP/+AQEAAQICAv///wADAgMBA/4B/gQAAAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAP8BAQH+AAACAAIAAAEAAAEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAD///8AAAD/////AP8AAAAAAAD///8AAAEAAAD///8AAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH///8BAQEAAAD///8BAQH///8BAQD///8BAQH///8BAQEAAAAAAAAAAAD///8BAQH///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQD+AQD+AQAA/wIAAP4AAAAAAAAAAAAAAAAAAAAAAAL/AQAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAD///8AAQAAAAAAAAD///8AAAABAAD///8BAAAA//8BAAD///8BAAAA////AAAAAAAAAAABAQH///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAD///8BAQH///0BAQP///8AAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAADAQICAgEB/v8aFxj9/f0CAgL///8AAAACAgL////+/v4EBATy8/P39/n+AAADAgIAAAAAAAD///8AAAD/////AAAAAAAAAAH8/Pz9AQL////9AP8B/wD+/v78/PwDAQL7+vkAAAAAAP4AAAD///8AAAAAAQL/AgIA/gH//gEBAgIAAwH9AgD+AwH8Af8AAwECAAACAQMAAAAAAAD9/v4AAAD////+Af4IBQb29vr7+/v8+vv++/3///8DAgECAgD8+/4BAv0B//4FAgb6+fYHAgUB/fv8/Pb+/fsB/f0B/P4AA/////8CAAMAAAAAAf////8B//4B//4CAQAA/vwBAP0B//8CAP4AAP4AAAECAQD+AQEC/wD+AP4AAAMC//4D//4B//4BAAABAP4C/wAC/wABAAD/AAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH//////wABAQEAAAAAAAAAAAD///8AAAABAQH+AAABAQEAAAAAAAAAAAD+AQAAAAAAAAAAAAAAAAAAAAD////////+/v4AAAAAAAAAAAAAAAD+AAEBAP/+AAEAAAAAAAADAAH9Af4AAAAAAAD///8AAAAAAAD///8BAAAAAAAAAAAAAAD///4AAAAB/wAFAgECAAMB//4DAgECAQEFAAABAAH+AP4PAgYBCgr7APoDAQL/4NsOBgj3AgACBAMAAgEBAQEAAAD+//8CAQH/AQH/AAAAAAAAAAAAAgEBAQEAAQEAAAL///z+////AQEC//8AAAAAAAAAAgEB/gABAQEAAAAAAAAAAP79Af3/AgEDAAP/AQH+/v/////////7//7/AAIAAwQA+/36+fn49vnw8PIA/wIQEQwJCQkHBwcDAwMBAQH9//7+/v4AAAD2+f/9/f37+/v7+vr7+/v+/v4DAP8CAgIAAQICAwYCBAYCAwMDAQIBAv8CAgIBAwQAAAAAAAABAQEBAQECAAEBAAAAAP8BAQED/wH/AQEBAQEBAQIBAQH//////////P3//f39+/oDAwP+AQEEAgYBAAH9AAAB//////8A////AP4C/wL+AQAA/v8A//7+AP8B/wACAAH/AAD/AQECAgIE/wAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAACAAD/AQEBAQEB/wIBAQEBAAAAAAAAAQEB/gEABAEB/gEAAQEABAEBAQEBAQEBAAAAAf8AAf8AAQIBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAA////AAEC////AP///////////wD/////////////AAAA////AAAA////////AAAA////AAAA////////////////AAAAAAAA//////8AAAEA////////AAEAAAAA////AAAA/QD/AAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQAB////AQEBAAAA////AQEBAAAAAAAA////AQEB////AQEBAAAAAAAA////AAAAAQEBAAAAAAAA////AQEB////AAAA/wAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAA////AAAA////////AAAAAAAAAAAA/gEAAP8AAAAAAAAAAAAAAAACAAD+AAAAAAAAAAAAAAAAAAAAAAAA/wEAAAAAAAAA////AQAAAAAA////AAAA////AAAAAAAAAAAA////AAAA////////AAAAAAAAAP8CAAAA/wD9////AAAAAQABAAAA////AQEB////////AAAAAQEB///9AAACAQEB/////wAAAQEB////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAA/wH9AAAAAP8CAAAAAAAAAAD9AAACAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAA/Pz8AwAB////EhARAP3+BAQE/f39AgIC////AQEB////AAMC+ff49P32/gEAAgMDAP///////gEAAf7//wIBAAAAAAAA////AgICAf8AAAAAAQEBAgECAAAA/v7+/v7+AAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEB////AP///v7+/v8A/fz+AwMD+/v7AAAAAf8AAQH8//8BAv8AAAAAAwYF+/v5AgIC+fn5////AgICAgIC/gD9AgEB/f39+vn6AwMD+/r4AwMDA/78Af74AP38BQL////7A//9AgH/AgH+/wAAAP8A////AAD/AP//AAH+Af8AA//+Av7+//8CAf/+AgD+AQEBAQAAAAD+/wACAQD//wD/AQEBAAD+AAD+AwD/AgD9/v8BAP7/AAH+AAH/AQEAAAABAQAB////AQAAAf//AAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////QD//f/+/gD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8CAP/9AAAA/wEA/gAAAQEBAgD/AwICCf//AwEAAf/+Av8BBgICAwICAP/7/Pz9CwsV/QD+AgIC/vr1BvXsAQMC/f7+AgIDAQEB/wEAAgABAAAA/v//AQAAAAAAAAAAAQEBAQEBAgICAQICAAEA/gACAv///gABAP8AAAD/AAAAAf8A/v//////AAH+AAH+/gECAP4CAAD9AQEBAAEBAAD/AAAAAgICAQME/Pz+/vr6/Pz+/Pz+/v79AAACAQH/8vb7+v4DBfr9AQEBAQEBAAIBAQEBAQEBAgEF//8AAP4A////AAAAAQEBAQMEAgMDBAUHAgUEAgQDAQIC/wABAgAC/f/+//39BAUEAgIBAQEBAgABAQEBAQEBAAAAAAAAAQL/AP8BAQEBAgICAgID/v//AP3+/f8AAPz7AwMD+/v7BAEFAwP/AAABAAAAAAAAAAAAAAAAAf8AAAD+AgAA/wD//v/+Af0AAAH+AP7+/wACAAD/AAD/BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wIBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAP///////wABAAAAAAAAAAAAAP///wAAAP///wAAAP///////wAAAP///////////wAAAAAAAP///wAAAAAAAP////8A/wAAAAAAAP///wAAAAAAAP///wAAAAEBAQAAAP///wAAAAEBAAAAAP///wAAAAEBAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wEBAf///wEBAf///wEBAP///wEBAf///////wAAAAEBAQAAAAAAAP///wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///////wEAAP///wEAAP///wAAAAEAAgD///////8A/////wAAAP///////wAAAP///wAAAAAAAAAA/v//AgAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAAEB/v8AAAD/AgAAAAAA/QAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0A///8/AICAvz7/P39/fv7+wICAv/9/gMDA/8BAAQB//3//v///f8BA/4BAAH+/wAAAAAAAAAAAAAAAP///wEBAQAAAAD///7+/v7+/vz8/AABAgEBAQAAAP4A/////wEBAQAAAAAAAAAAAP////8A//////////8AAAIBAQMDAgsFCRYWFv79/QH/AAACAQMBAv7+/gEBAf///wACAeTl5fz8/AACBAIC/v//AP7+//7+/gMCAgIAAf4BAf76+f//+gEAB/79+vr28gH+AwACA//69P/89gD9+AH//v/+/wEAAgAAAgD//v7//v8AAAAC/gAA/gIB/wAB/QIA/gAAAP///QAAAAAAAAEA/gAAAAEAAAL//v4BAgEAAAAB/gIB/wABAAAA/gH//wAAAAAAAAAAAAEBAQL/AAEBAAAA/wAAAAAAAAAAAAEBAf8AAAAAAAAAAAEBAQAAAP///wAAAAEBAQEBAf///////wEBAQEBAQEBAQD//wAAAAAAAP///wAAAAAAAAAAAP////8AAP7+/v////7+/v7+/v39/f3//v////8BAAECAQD+/wAAAAAAAAAAAAAAAAAAAAAAAP8BAv7///0BAAAAAAAAAAAAAAAAAAAAAAEBAQL+AP7/Av8B/gACAQAAAQEBAQICAgT//gcBAQb/AQQBAAEAAAj9/wD//wMBAf0EAgMQDwD9+QICDPb34QoKAvf8AP/7//z/AwAAAAEBAQD/AAEBAQAAAAEBAQAAAAAAAP///////////wAA/f4AAv///wEAAAEBAQMCAv///////wD//wEC/wEA/wD9AAIAAf8CAv//Af//AP//////AAICAP//AgEC//r7+vv7//z8/AAA/gQDAf0AAgAAAAIBAwUEBgQDBQICAgABAQEBAQMDAwEBAQEBAf///wIBAAECAAEBAQEBAQEBAQICAgMDAwYGBgQFBQIDAwIAAQMB/wICAQQBA/8CAQQCAwIBAgICAQEDAQECAgAAAAAAAAEBAQD+AQAA/wEAAQECAAMD/gD+/wAB/f7+/gH9+/z8BAAC/AIB/PwCAgMDAwL/AAAAAwAB/QAAAAAAAP///wL9///////9/gIA/f/9AQAA/wEB/f8BAQAAAQT///8AAAD///8AAAAAAAD///8AAAAAAAABAAAAAAAAAAAAAAAAAAABAQEAAAEBAf/+AQABAAAAAAABAQEAAAAAAAAAAAD+AQABAAAAAAAAAAAAAAABAQEBAQEAAAABAQEBAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD///8AAAD///////8AAQD///8A//8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAD///////8AAAAAAAD///////8AAQAAAAD///8AAAAAAAD///8AAAAAAAD///8BAQAAAAAAAAAAAAD///8AAAABAQEAAAAAAAD///8AAP8BAQEAAAAAAAD///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH///8BAQH///8AAAABAQEAAAD/////AAABAQEAAAAAAAAAAAAAAAAAAAD///8BAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////8BAQEAAAD///8AAAAAAAD///8AAAD///8AAP8AAAAAAP0BAQMAAAD///8BAQEAAAAAAAD///8BAQH///8BAQH///8AAAABAQEAAAAAAAD///8AAAABAf7//wIBAQEAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAgEA/v/9/v7+/v7+/v4BAQEBAQECAgIAAAECAgL7/fr+/gT///8AAwL+AAD+/P4GAQAAAAAAAAAAAAD///8AAAD////+AQEAAAACAgIEBAQC/AIA/wAAAAAAAQECAgIAAAAAAAAAAAD+AQAB/wAAAAD/AQAAAAACAwP+///+/v7//f0ABAUPCQsA/P0A/v/8Af0BAAP9/f0EBAQBAQEBAwLnAAH7/vwAAQP+/v7+/v4BAQEBAQH////+/f0BAf8C/gABAf///fwDAQf++fgBAQT7+vz7/fT69vT6+fX8AAMABf8CAQMAAAEBAv8B/gEA//8AAAACAP8BAQECAQECAAEBAP4AAAAAAP4AAAH///8B/wD/AP8AAAAAAAAAAAAB//4AAAAC/wAAAf8AAAAAAAAAAAABAQAC/gD/AAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEC/wAAAAD+AQH///8AAAD/AAAAAAAAAAAB/wAAAAABAgEBAAH/AAD///8AAAAAAAAAAAAAAAAAAAD////////9/v7+/v79/f39/f39/f3+//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AP4AAAMAAAAAAAAAAAAAAAAAAAAAAP4C/wH/AQH+AQD+AQABAP7/Av8DAQADAQIF/v4IAgQGAwQA/gEC/v4B/gMIBQMBBQX3DQoH9u7+AwT/9/AGDwkB+P7+8wT//vsBAQEAAAAAAgEA/v8AAAAAAAAAAAAAAAAAAgICAgAAAgABAQEBAQEAAQEBAP//AAAAAAAAAAAB/wAAAv8A/wEBAQEDAQL/Av38/P8BAQEBAAEBAQEAAQEAAAD////9/f0EBAT8+vkA/fwA/v8B/v8A/fwCAgQDBQEGAgIFAf8CAQAAAP8DAgACAf4BAQMAAP/8AAAAAAD/AAAAAQEBAgIAAf4DBQIDBAIFBAIEAwEAAQAAAP8CAgIDAQEAAgEBAf//AP3+AAECAAAAAAAAAAACAgIAAAAAAAABAQH+AAAAAAACAgIAAwUA/v///wD+AP39/f0D/v79/f0C/f0B/P8CAv8AAAABAQEBAQL+/v4B/v///wD/Af4A/v4A//0A//8CAQAAAP/+AAIAAQH8//4EAAAB////AAAAAAAA////AAAAAAAAAAAAAAEB/wAAAQAAAAAAAAAAAAAAAAAA//8BAQEAAAAAAAAAAAAAAAAAAQEBAQEBAwABAQABAf8AAAEAAQEBAQEBAgABAQEBAAAAAAAAAAAAAAAA////AAAAAQECAAAB/v7/AwEBAAAA////AQEB////AAAAAAAA////AAAAAAAA////AAAAAAAAAAAA////AAAA////AAAAAAAAAP7/AQAA/wAAAAAAAAAA/v4AAAAB///+/////////////////////wAA////AP7//v/8AAAA////////////AP8C////AAAAAAAA/v78/wEAAAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAQEB/v78AQEBAAACAAAAAQEBAAAA////////AQEBAQEBAAAA////AAAAAQEBAAAA////AAACAAAB////AQEB////AAAA////AQEBAAACAAABAAAB//8BAQEA////AQEBAAAAAP///wAAAQEB/gEAAAD/AQAAAQEBAAD/Av8AAQEBAAAA////AAAAAAAA////AAAAAAAA/////QD//wECAP/////+Av8AAP8A/gAAAAAAAgAA/gAAAAAAAAAAAQEBAQEBAf4AAf8A/wACAAD+AAAAAAAAAAD/AAD/////////AAAA////AAAAAAAAAQAAAAAA/v//AAAA/////wD9AAAAAAEA/wD//wD///7/AAAA////AAAAAAAAAAAAAAAA////AgIC/f39AwMFAAAAAP//AQEBAwIC/Pz8/gIBAQEBAv//AQEB////AQEBAAAA////BAEF+fz7AgICAwMDAf7/////Av8AAAAA/gD8AQEBAQABAQEB/f//////AAAAAQEBAP0C/wEA/wIBAf7/AwEC/QD/AAIB//3+/QIAAv79AgADAAACAQEB/Pz8AwUEAf/9/v4CAQL//vv8AQEB////AAIBAf8AAAADAv/+/QIA+/79Af4BAQICAP7/Af3+/QD//wIB/wAAAAACAv/+AAEBAAAA////AQIB/////gEAAAMCAP7/AAAA/////P/+AAEAAAACAAEAAQMC/f/+Af4ABAMC/f/+AQMC//39AQH/AQEA/gD//gEAAv7/AAH+Af/9/QT///0FAv3//Af9A/4E+wL+AwP+//oAA/z8/AEC/vj0A/wD/gH/BQQC/gYHBAMB//sD/gL/BgH7AP0H+wH6A//9AQD7AQAAAv79////AAACAAD+/wABAP8AAwD/AgD9BAAAAf77AQACBP8B//8A//4AAQMC/gH+AfwA/vz/AAAA/gEAAQEBAAAAAAAAAwEB/QABAQEB/////gEA/v7+AgEC/wAAAgIE/////f77AwMD/f//Av8C+/r8AwYDAAH/AgH/AAAAAv8BAQEB+/79AAAAAQME/P0A/v4A/v8B9vr7+f38Cf7++/r6//8AAP8CAQEA////AAAAAAD/AAD+/gABAAAA/////v8A/gD///8BAgID/v7+AAIBAAAAAgAD+QL9A/8ABP0C/wIBAAQA/QEC/gAABQIBCf0LCQf1AwL9CPb+/AcFCiIf/Q0UAgD8CAD+AQke+Pr6Cfr/AREM/vX1Avn6CPoD/f8BAQEDAP79AQEBAAAA/gD/AgIAAf7/Af/9AAAAAAMC/wABAAAAAwEAAAABAAEBAP8AAQEBAAEA/v4B//8AAP8C/wH+/v8BAAIBAP8DAP7/AAEBAQH//v7+AQEBAwEF/Pz+/f39AQL9AAH8/gH+AAME/wIEBAUJAgQD/wECAQEB/wL//wID/wICAAEDAP8BAAD+/wAAAP//AgH//wH/AAABAwMDBgYGAQUEAAICAgICAQIAAQICAQABAAAAAgIDAgECAgECAgABAgABAQEBAAAA/wEBAAACAAMC//7+AQEAAv7/////AQMEAAACAv8E/P79+/v7/wEBAQMAAvwA/AIFAAQEAgH/BAABAgIC/f////8A//8DAAL/Af4B/v79//8B/wEA/wD9//4AAf8BBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAAAAAAEBAQAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAP///////wAAAP///////wAAAAAAAP///wAAAAL/AP//////////AP////8AAP//AP8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wEBAP///wAAAAEBAQAAAAAAAAAAAP///wEBAAAAAAAAAAAAAAAAAP///wEBAAAAAAAAAP///wEBAQAAAAAAAP///////wAAAAEBAQAAAP///wEBAQAAAAAAAAAAAAAAAP///wAAAAEBAQAAAP///wEBAf4BAAMAAAAAAAAAAAAAAAAAAAAAAP4BAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAL/AP8AAP///////wAAAAAAAP///wAAAP///wAAAP///wAAAAAAAP///////wAAAgAAAP8A/f///wAAAAAAAP///wAAAAAAAAAAAAAAAP////////39/QEBAf////39/QAAAAMDA/j4+AICAv38/wAAAAEBAQH/AAAAAAEBAQEBAQEBAfz8/QEBAQEAAf///fz9/QYGCAEBAf78/QECAQAAAPz+/v///wEBAQICAgEBAf///////f8AAv///////wAAAAAAAAAAAP///wAAAQAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////wD//wAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAP8BAAAAAP///wD/AAEAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAL/AAAAAAAAAAAAAP///wL/AAAAAP///////////////////////wAAAgAAAP////3/+wH8Af8AAgIDAQH/AAH/Af8A/QIA/gD//wD//QAA/gL/AAL/AP0AAAAA/gAAAAAAAAAA/gAAAwAAAP8A/QIABAIA/gIA/gIA/wIBAAD+/QAA/wEBAgEBAQD//wMBAQAAAAAAAP///////wMEA/f09QMDAgD///z8/AAAAP////3+/wICAgAA//wBAQMDAwMDBAcHCPr9+v7+/gACAQAAAP///wEBAQEBAQAAAP////39/f39/fz8/Pr6+vv7+/z8/AMBBAD+/wACAP7+/AAAAAAAAAAAAAAAAAAA/wMBAgEBAQQCAwH///z9+/z8/gEBAQECAv7+/v7+/gACAf/+//wB/f8AAAP9AAf//f8A/w7+AP4H8vwE+gYB/f0MDAsiIAAFCQP/AAD+BAAD/P0BAAsHBgAgI/fd7AP+/wgJ9vn3/AAAAAAAAAAAAAAAAP8BAAD/AAAAAP4BAAMBAQEBAQAAAAEBAQEAAQEBAQAAAAEBAQD/AAAAAAAAAAAAAAAAAAAB/gD/AAAAAAAAAAAA/gAAAAAAAAAAAAEBAf///wAAAP7+/v/////+AQAAAAEBAwIC/wECAgMDAwMDAwMDAwADAQIBAQICAgICAgEBAv7/AAD9AAAAAAAAAAAAAAEBAQICAgMDAwQDBgMDAwQEBAEBAQAAAAICAQABAQL/AAEBAQAAAAAAAAEBAQACAgEBAf8BAQEBAwAAAAAAAQICAv//Af/++wEBAQICAv//AP///wIA/wAA//39/QL7/vwB/AADBAIC/gAAAAADBgAA/wECAQD+/v///AAAAAAAAAEBAf7+//8AAP8AAP/+//8BAAT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEBAQEAAAABAQEBAQEBAQEAAAABAQEBAQEAAAAAAP8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQD///8AAQD///8AAAAAAQD///8AAQAAAAD/AAD///8AAQD/////AP//AP//AP////8AAAAAAAD///////8AAAD///////8AAAD///////8AAAD///////8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/v8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgEAAAD///8AAAAAAAAAAAAAAAABAQH///8BAQH///8AAAAAAAAAAAAAAAABAQH+AP8CAQH+AP8CAQH+AP8CAQH/AQAAAQAAAAAAAAD///8BAQEAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQP///z///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8BAAD///8A//8BAAAAAAAAAAD///8BAAIA//////////4AAAD///8AAAAAAAAAAAD///////////8BAQEBAf8CAgP///////8BAQEfHx8CAAIBAQEAAAABAQEAAAAAAAABAQECAgLs7e32+Pf+/v4BAQEAAAD+/v4AAAABAgH7/f0DAwMCAgL////////////+/v4B////AQEAAf7///0AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///////8C/wD/AQAAAAAAAAD///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD///8BAQEAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD///8BAQEAAAAAAAD///8BAQEAAAD///////8AAAAAAAD///8AAAAB/wAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD/AAD/AQAAAQMAAP///f79/v3+/wIE/QADAv8A/wEA/PsAAQIAAf8B//0B/v////8AAf8C/gD+AQD///8CAP/+AAD///8B/wAB//wCAAUB/wEBAf8CAP8BAP4BAAABAP7/AAIBAQEAAAAAAP8AAAABAQEBAQEAAAD8/PwFBQUtLCsXEhIBAAABAQH///////8AAQEAAAADBQLv7/HKzM/7+/n+AP8DAwMAAAAAAAAAAAAAAAABAQH////////8/Pz7+/36+vz6+vv8/P78/PwFA/4AAP//AP0BAQEBAQH///////8AAP/////+/v7///39/vwDAQABAQEBAQECAgL+//////8BAAAG/gEB/gD9AQL9Af//Af//AQABAQH//v4GAAT/CA0C+wUHFBYAAgsA/gAAAQD5A/8H/gP7AgAD/wAAFBgE7B37+/oFBfn3A/f/AQAAAAABAQEAAAAAAAABAQH/AP8BAQEAAAAAAAABAQEAAAABAQH/AgEC/wABAQEAAAAAAAD/AQAAAAAAAf4A/wABAQEBAQEBAQH//wAAAAABAQEAAQAAAAD///8AAAD9/f0A/f4BAAAAAAIAAP0CAQQDBAYEBAQDAwMBBAMDAwEBAQECAgIBAQEAAQIC/wD+/v4AAAD/AAABAQECAgICAwUEAwYDBQQEBAQDAwMAAgEAAAACAQABAQEB/v8BAQEAAQEAAgH/AQABAQEBAQEBAgIBAQL/AQD//gECAgL//v79AwQC//8BAAD/AgL//f7/AQD+//8A/v78/PwBAvwDA/3/AQD/AwD8AgABAQL/AgEA//8AAAIA/wIBAf4CAAL+AP0B/wACAQD/AAD9/v8EAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAABAAAAAAAAAAAAAAAA////AAAAAAAA////AAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA////////AAAA////////////AAAA////////AAAA////////AAAA////AAAAAQEBAAAAAAAAAgAAAAAAAAAAAAAAAf7/AAAA////AAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAD/AQEBAAAAAAAAAAAA////AQEB////AAD/AAAAAAAAAAAAAAAAAAAAAQAA////AQEBAAAAAAAA////////AQEB/v//AgAAAQEB////AQEB////AQEBAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AQEB/gEAAv//AQEBAAAA/////gEA////AQAA/gEAAP8AAAAAAAAAAAAA/gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAf///wACAAD9AAAA////////////////AAAA////AAAA////////AAAA////AAAA////AAAA////////AAAAAAAA////AAAA////AAAAAAAA////AAAAAgIC/////v7+AgIA/v4AAAAA/f39ExMTAfsBAQEBAQEBAAAAAAAA////AgICAwMD7/Dw+vj5AAIBBQUFBAQE/v7+AAAAAQEBAQEB/v7+////AAAAAAAAAwEBAwICAAEB/f//////AAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////Av4AAAAAAAAAAAAA////AP8AAP8AAQEAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/////////////AAAA////AAACAQEBAAAAAAAAAAAAAAAAAf/9/vz+AQQDAf36/v35AgECAgIA//38AQD+AP79Af8A/gD+Af4BAQD+/wAC////AQH+///9AgAA///9AAEDAQD+AQL/AQEBAAAAAP8C/wD/AAAAAQEBAAD/AAAAAAAAAQEBAQEB/v3+AgAAIBsbIBwb/v37//z9AgICAQED+//+/wD9BgYG4gfn+fr4BAgIAQICAgICAAAAAAAAAAAAAAAAAAAAAQEB/f//Av8A//4B+v389/n7+Pn7+Ab7AQD5/Pz8BAICAf//AAAAAAAA////AQEBAAAAAQH/AAAA/wEAAAIBAf4B/////gD///8AAP8CAAL/9vz7AQH/AgEB////Af3//v0C+/0B+P4BCAH3BggFAQb/AhYI/gH/Av8BAAAAAgD7AAAGAwD9AAAD+wAJBRYd+u7j/AX/BAUC+gAA/gAAAQD/AgABAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA/gEAAAAAAQEB////AAAAAQL/AP8B////AAD+AQH/AQH/AQEBAQEBAAAAAAEAAAAAAAAA/v7+Af79////////////AQADAwMDBQUFAgUEAQQDAwMBAgICAQEBAgICAAEDAAAAAAD/AAIBAAAAAAAAAAAAAQMCBAQEAwUEBAQFAwMDAgQDAAAAAQEBAQEBAQD//wH/AAEBAgABAQEBAQEBAAAA/wEBAgEDAAIBAgEB/wADAQEB/wH//////QMEAgH///78/v7/AwIFAf/8/gD//////v39/f39AgIAAAEB/vz8AwMDAwIC/gIDAf7+AAEBAAEDAAMAAgD/AAAA/////QD/AgD/BAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wABAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAP///////////////////wAAAAAAAP///wAAAP///wAAAP///////wAAAP///wAAAAAAAP///wAAAP////////////7+/v7+AP8A//8AAP//AP///wAAAAAAAAAAAP///wAAAAEBAQAAAP////8AAAAAAAEBAAAAAAAAAP///wAAAAAAAAAAAAEBAQAAAAAAAP///wAAAAEBAQAAAP///wEBAQAAAP///wAAAAEBAQAAAP///wEBAP8AAP7//wMBAQAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP//////AQAAAP4AAAEAAP//////AP///wAAAAAAAAAAAP///wAAAP///wEAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAP///wAAAP////7+/gICAgAAAPz+/QMBAgICBPr4+f78/gP/Av7+/gEBAQEBAQAAAP////8AAP8BAQMDAwEBAQMCA/z8/AMDAwAAAgICAv7+/gIDA/39/f///wICAgQCAv////39/QAAAP8BAQABAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAQAAAAAAAP///wAAAP///wAAAAAAAAAAAAL/AAABAAAAAAH/AAAAAAL/AP///////f////////7+/gEA/v//AwAAAAAAAP///wAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAP///wAAAAAAAP///wAAAAEAAAD/AP7//wD//wH/AP///wAAAAAAAP///////////////QAA/v///wAAAAAAAAICAgP//v3//gD//f/+/AD9AP/7+QACAgACAAD9/QH//QEA/////QH/Af4A/v///wAA/QL/AP8BAQEAAP///wH+/wAA///////+Af8AAv8AAv8B/wD//wAAAAAAAAAAAAAAAAAAAAEAAAAAAAMDA/bz8/z8/Pz7+f76+wAA//8CAwAA/P///wIDAfz6+v/9/gAAAAQFBfr6+v37/f///wEBAQEBAQAAAP///wAAAAAAAAEBAfn8/Pf4+vX39vX4+AYEBQIAA/8BAAEBAQMCAv///////wAAAAAAAAAAAP7+/v7+/gEAAv39/vr7/Pz8/fz8/AACBv8A/wP+AQYAAAL/AgIBBP4DAAMKCA4cAwwUEwwJBvYDEQ8E+QYGFv4BCwP/APv++gEDAgUAAgABAAMA/v0BA///AP8JCgMBAfkC//8CAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAQEAAQAAAf////4AAAABAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAf///wEBAQAAAAEBAf///////wEAAP///wH+/wABAgMDAwQEBAQEBAICAAICAgICAgEBAQEDAgD/AQAAAP///wAA/wAAAAEBAf8CAQIBBAICAgMDBAMDAwEDAgICAgEBAQEBAQICAgAAAAD+/wAB/wL/AAEBAQEBAf8BAQEAAP8BAAIBAf4AAgACAQECAgEAAAL/BQD/AgAA/P7+AwAC/gH+AQIBAgD/Af4BAAAAAP78/f0CAAECAv7//AEBAQMCAgICAv8CAv8ABAD/+///AgICAf////8B/QH+Af//AAQAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAABAQEAAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAD///8AAQD///8AAAAAAQAAAAD///8AAAAAAAD///8AAAAAAAD///8BAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///////////////8AAAD///////////8A////////AP////8AAAD///8AAAD///8AAAD////+AAH/////AAD//wD9AP8C/wAAAAAAAAAAAAAAAAD///8AAAAAAAD/AAABAQH///8AAAAAAAABAQH///8AAAABAQH///8AAP8AAAABAQEAAAD///8AAAABAAD///////8BAQEAAAD///////8BAQH///8AAAABAQEAAAD///8BAQH///8AAAABAQEAAAD///8AAAABAQH///8AAAABAQEAAAD////+AQEC/wAAAAD9AP8AAAAAAAD9AP8AAAAAAAAAAAD///8AAAAAAAD+AQAA/wAAAAAAAAAAAAAAAAAAAAAAAAD/////AAABAQEAAAAAAAL9//wBAAAAAAAAAAD//wAAAAEAAP8AAAAAAAAAAAD///0AAAD//wH///8AAAD///8AAAD/////////////Af//AP8BAAD///8AAAAAAAAA/v8A////AP/+/v4AAgEBAP8AAgH///3///8CAgIA/gAAAAD///8AAAAAAAD///////8AAAD8/Pz8/PwBAwIAAAD+/v7///8AAAABAQH9+/sAAAACAQECAAD9/f3///8BAQEDAwP8/v7///////////8AAf4AAAIAAAAAAAAAAAD///8BAAH///8AAAD///8AAAD//////wD///////8BAQEAAAAAAAAAAAD///8AAAAAAAD///////0BAQT///8AAAD///0AAAAAAAAAAAAAAAD+AQAB/wAAAAD///8AAAAAAAD///8BAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAD///////8AAAAC/wD9//8A//8AAAD+AAABAAAAAAD///////8AAAD///////0A/v/////////+/v4CAwP/AQABAAEAAAAAAAD//f7+A/v9+/oEBAT/AAH+/PwA//z///0A/v//AP4BAAACAAD+AAEAAf4B/gIAAP4C//8CAP4CAAEBAP4A//0A//0AAAAA/wEAAP8BAQEBAAABAAEAAAAAAAD///////8DBQYCAgIDAgIEAQL7AQACAAL9/v79/v79AP8E/wEHBwcDAwP9/v7+/v4DAwMCAgIAAAAAAAAAAAD9AP8AAAD/AQACAAEA/wD7/fz5+/z3+Pr5+vz6/Pv6/Pv8/PwBAQIAAwMAAAD//////wAAAAD///7/AQH//wH1+PkHBAUDBAUFBgkDBQkFBgcBAQEDAgEACAMDAAEFAgMA/gEDAwQFAwX4AwQAAwEI+P8A9Pf4E/cKAAYA/wUDAQT+AAIA/AD/AwAB/gH+AgAGAAD49fD//vsB/gD8/QEAAAAAAAABAQEA/wAAAAAAAAAAAAAC/wABAQEBAQEBAQEBAQEAAAEAAAEAAAABAAEA/gEAAP////8AAAIAAP0AAAAAAAAAAAD///////8AAAABAQEBAAAAAAD////+/gD//vz///0C/wD/AQEBAgIFBQUEBAQDAwMCAgACAgICAgIAAgEBAAMBAgH+/v7/AQD///8AAf4BAv8C/wIDAwECBAMDAwMCBAQCAgICAgIBAQEBAQECAgIAAAD+AP4CAAL/Af4AAQH/AgEBAAABAQMBAQH/AQMBAAAAAQIBAgIA/gEAAgABA///AAQBA/8CAAL/AAH/AQAB//8BAQABAQEAAAD//v79+/4CAwH/AwH+/gABAQEBAQEBAwP+AP7//P8A/f8AAQEA/gIAAP4BAQIEAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAQEBAAAAAQEBAQEBAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAA////AAAAAAAA////AAAAAAAA////////AAAA////////AAAAAAAA////////////////////AAAAAAAAAAAA////////////AAAAAAAA////AAAA////////////AAAA////AAAA////AQEB////AAAAAAAAAAAAAAAA/QD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAD/AAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AAAAAAAAAAAAAAAAAP//AAAA////////AAAAAAAA////////AAD/AAAA////////AQEB////AQEBAv8A////AAAAAQEBAAAA////AQEBAAAA////AAAAAQEB//////8AAAAAAAEA////AAAAAAAA////////////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAIBAP4AAAAA/gEA/gEAAQEC///+////////////AAAAAAAAAAAA//////8AAAAA////////AAAA///9////AAAA////////AP8A////AAAAAAAAAP//AAAAAgIC/f39AQEAAQEB/Pz6/fv+/v7+Af7/AAAB////AAAAAQEB/wAA/wAA/wAA/v//AQEBAAIB////BAQE+vr6AwEE+vj5AAAAAgICAgIC/wD/+/v8/wEAAwMDAQEB/f39/wAA/wAAAAAAAAAA/////wD9AQEB//8B//8AAAAB////AQAA////////////////AAABAAAAAAAA////AAEAAAAA////AAAAAQEBAQEBAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAEBAAAA////////AAAAAAAAAAAA////AAAAAAAA////AAAA////AAAA/wEAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAf8A///9///9AQEA////AAAAAP//////AAAA/v////8C/QH//wEBAAAAAP7/Af4A//39/wH9/wD+AP7+AP79Af///wD9AP4B/wEA//8AAQD/AP7/AAEAAv8ABf7+Av8AAgH+BAD+BAL+Av/+AQD+AQAB/wAAAAAAAAAAAAAAAQAAAv8AAAAAAAAA+/v7/////f7+/P/+/v7+AQMD/wICAQMEBAH+//v7/v3//////QD//f/+BQMEAP3+AAAAAAAAAAAAAAAA////AAEB//////8AAQIE+fv88/b38/X0BgUDAwEC+vz7AAAA//0DAQMDAwMDAQIBAQEBAgAEBQUF/f3+IyQoBwUEAQEBAAAADQ4R/QAB/v7+AwD//////wD+/f3/+/39Bv8AAAIAAQQBBAMC+w0E+fYC/wwGC/v9AAAFAgQCAQD+AAMCAAH+AQAEAwAAAP77/e7p/f32AfwA/f0DAgAAAQEBAf4AAQEBAf7//wEAAAAAAAAAAAAAAQEBAQEBAQEB/gABAf8AAQEBAP8AAAAA/f8AAQAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAQAA/////v7+/Pz8/v7+////AAAAAQEBBAMDBAQEAgUCAwMDAQH/AgICAQMCAQADAQEBAAAAAQMCAf3////9AAAAAQEBAQEBAwMDAwMDAQMDAwMDAQICAQEBAQEBAQEBAQEBAAAAAQEB/wAAAgEAAAABAQEBAQEBAAIBAgIC/wEBAQEBAAECAQEB/wIBAwAD/wAA/v/7//8CAgAG/QIA///9AAD+AQEAAAAC/wEA/f7+////////AQD+/f/9AgEEAgICAAMCAf8EAQIA/gH8AP7/AAECAP4EAP//BAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wEBAQAAAP///////wAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAAAAAP///////wAAAP///wAAAAAAAAAAAP///wAAAP0A//////7+/v//Af8A//8AAP//AP///wAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAP///wEBAP///wAAAAAAAAEBAQAAAAAAAP///wAA/wEBAf///wAAAAEBAQAAAP///wEBAQAAAP///wAAAAEBAQAAAP///wEBAAAAAAAAAP///////wEBAf////8AAAAAAQAAAP///wAAAAEBAf///wAAAAEBAQAAAP///wEBAf4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP////8BAAAAAP////////4A/wD//////wAAAAAAAAAAAP///wEAAAAAAAAAAP///////wAA/v///wAAAAAAAP////8A/wAAAP///wAAAAAAAP///wEAAP////79/gAAAAAAAPz8/AICAgYGBv4C//z8/AQCBQAAAAAAAP8AAAAAAAAAAAAAAAAAAP4A/wICAvv7+/7+/gEBARsbGwQEBAIAAf3//gEBAQAAAAAAAAMDA/z+/fHx8e7u7gIEBAABAf///////wAAAAAAAP///wAB/wAAAgAAAAAAAP///////////////wAAAP///////////wEBAQAAAP///wAAAAAAAP///////wAAAAAAAP///wD//////wAAAP8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wAAAP///////////wAAAAAAAAH/AP8AAP///////wEAAAAAAAAAAAAAAAAAAP///wAAAP///////wAAAAEBAQEBAf/+//7//v8CAwEAAAAAAAAAAP///QD//QD+AP7+/P7+/v///QAAAP8A/QAAAwH/AP8BAAAAAAAB/gAAAAYA/gIB/vwBBAYCAQQAAAIB/wL//v8AAf//AAEAAQAAAAAAAAAAAAEBAQEBAQEBAf8A/wICAgEBAQEBAf8BAAABAv3+//4B/v/+/QYEBf4BAPz+/QYGBv0A/wH8/AICAgEBAQEBAQAAAAAAAAACAQAAAP////7+//f6+fPz8+vs7AcHBQQBAAoFBgYGBgoKCgUDBQQEBAQEBAAAAP/+AQAB/ggGBwICAvj4+gIBAP/+/f8BAPn8+wMEBv8AAP0A//8BBAAC/wICAAEB/P39/PXt7vHp5vz29gzw5QkEAAYmLfb5AAovN/oB/wUA/wD/AgAB/gABAgD9AP3z7//y7vb79gb4/P39AgMBAQAAAAAAAAAAAAEBAQD//wMBAQD//wAAAAAAAAAAAAAAAAAAAP8AAP///////wEAAAAAAAAAAQAA/wD/Av///QAAAgAA/gEBAQAAAP///wAAAAAAAP////7+AP39/f39/AD9/gAAAAEBAQMDAwQEBAIDAwICAAEBAgEDAgICAgEAAgAAAAACAQH+/gEB//////8AAAEB/wEBAwEBAQICAgMDAwICAgABAQICAgEBAQEBAQADAgH+/wICAv///wAAAAEBAQAAAAACAQEBAQEBAQABAQEBAQADAgD+/wEBAQABAAABAQEBAQECAgEBAAD/AP//AP0AAAIAAAEBA/8AAv///f3//gH9/f4A/v///wED/QMFBwQAAgADAgD/AgL+Av8B///+/gEBAgD9/gT///8AAAAAAAH///4AAAAAAAAAAAAAAAD///8BAQH/AAABAQEAAAAAAAAAAAAAAAAA/wEAAAEAAAEBAQIBAAEA/wEBAQH/AQEBAQECAgIBAQEBAQEAAAD+AP8DAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAD///////////8AAAD///////////////8AAAAAAAD///8AAAD////////+/v7///8A/gH/AP7///3/AP/+/v7+/v7////+Af4EAQL9//4EAwT9/P4AAQD////+/v//AgAC/f8AAAD9AP8AAAAAAAAAAAAC/wAAAAD+AQABAQH///0BAQH//wIAAAD/AAABAQH//gAAAAD/Av8BAAABAQEAAQD/AQAAAQABAAD///////8AAAABAQEA/wL//gEAAQH/Av8AAAD/////AQH///////8BAQH+AQAC/wIAAAEAAAEAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAD///////8AAAD//wEAAAAC/wAA/wD+/wIAAP4AAAAAAAAAAAAAAAAAAAD//////gEA/v////8A/wIAAP4AAAAAAP8AAP//////AP0AAAAAAQD+//8AAQD//v0AAAAAAP////////////8AAAD///8BAAD///////8AAAD///8AAAD+//8AAAD/AQAB/wD//QACAAP//wD8/v/8/PsDAwP//v8AAAAAAAD//v4BAQEBAAD//v4BAwMB/wD+/P0EAwMAAQH9+/wUEhMDAAEB/wIAAf7///8AAQMB/wAAAAADBQL29PUAAgIEAP/6/v////8AAAIC/wD9/gD/AgEA/wH/AP3/AAABAAEBAQEBAQEAAAAB/wAAAAD/Av8AAAD/AgEBAQEBAQAAAAD//wH///8BAQD/AAIB/v////8BAQH/AAAAAAD+AP8BAAAAAAABAQH//wL///7/AQAAAAD/AgH9AAH/AAIB/wH///8AAAAAAAAAAAAAAAD9AAEEAQIAAP8B/wD+Af0AAP4B//4B//4BAP3+//3/////AgD9//0AAAABAQH//wQC/vn9/v37AfwK/wb+/P8IAP7+AP7+//v9AQAHAP70AAME//sBAAEAAwIAAPoB/gQAAfwB/wf9/fUAAAcAAv4EAfwA/QABAP79/P8EBAX6+vwBAwIBAQEA/vwEBAb+//sNA/4FAgEA+v0C/P8CBQD7AvwA//0EAAP7AgD//f0DAQMIAAP+/v78//4HAQP7//4EAgD/AQMA//8C/wIDAQP///8A//0CAQEC/gD7//wJBAoFAAT8/PwKBwj8+fv6AAD9+/z6+vr9+/v+/v4CAgICAQEICAgICAgNDAkaEREjISAjHR0QDAn/Av8VERb+AwQB/fwCAgIA/wEAAAAAAP///gH+/gD+/gAEBAICAP8FBgb2+PkFBQX4+Pf//fz9/fv++vn9/f38/P79/fsDAQDs5eHu5uYHAv8H+fYFAgMFAwX9BgT42NQHHx8ADAv9AvsCAAUA+gD/8ef25ND88+QB9v3z9v0AAwABAP7/AP0AAgH+////AP8CAQH9//8AAQEEAAAAAAAC/wD/AAAAAAAAAAEBAP8CAAAAAAABAgD+/v8A/fwAAf4AAv8B/v/+/v8A/v//AP8AAAACAgL+/v79/f3//PsC//77/v7+AP7//wADAwUEBgYEBgUDBQUBAQEEAQQAAQICAQL/AAAAAAAA/wD//f7+/P8DAgD+Af/9AAIB/wADAgUFBQYFAwP//wEEAwMCAgIBAQEBAQEA/wAAAQEBAQEAAP8A/wEAAAABAAIBAQEBAQH/AQEAAgH//wIDAAMAAgD///3/Av8BAQEDAQT//gAB/v/9/v3//v8EAAD+AAIAAQIAAgP//v//+/7/AAD9//8DAPsCAAMAAQD/Af8BAwUEBgX8+gD//v7/Af/+////AgEE////AAAAAAAAgP9/AAAAAAEAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAD///8AAAD///8AAAAAAAD///8AAAAAAAD///8AAAAAAAD///8AAAAAAAD///8AAAD///////8AAAD///8AAAD///8AAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAD/////////////////AP///v7//wD+/v8B/wD+AQAAAAD///8AAAAAAAD9AAAC/wD/AAAAAAAAAAAAAAAAAP8AAAAAAAAAAAD/AP8AAAAA/wAAAAAAAAAAAAD///8AAAABAQAAAAD///8BAQEAAAD///8BAQEAAAAAAAAAAAAAAAD///8AAQEAAAD///8AAAD/AP8AAAAAAf4BAAL///8BAQEAAAD///8BAQEAAAD///8BAQEAAAAAAAAAAAD///8AAAD///////8AAAAAAAAAAAAAAAAAAAD9AP8BAAAAAAAAAAAAAAD///////////8AAAAAAAAAAf4AAAAAAAD/AP3///8B/v//AAAAAAAAAAAA/wL/AP0AAAD///8B/wAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAB/wD///8AAQEB/wD+AP8AAQEAAAAA/v////4BAAP///8BAQEAAAAAAAAAAAD///8AAAD///////////8A/wD+/v7+/v4BAAECAf///v/+//8BAf8B/wIAAf4B/gT///8A/vz/AQQAAQEAAAAAAAAAAAABAf//AP8AAAEAAAAAAAAAAAAAAAD///////////8AAAAAAAAAAAAAAAD/////AAABAQEAAAAAAAD///8A//8AAAAAAAD///8AAAAAAAABAQEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAD///8BAQEBAQEBAQECAAABAQEA//0AAQEAAP7+AwUB/wIBAAAAAgP9AAH8AAH/AP/+/wD//gP//gMDAP4A/wIB/wEAAAL+/f8B/wMBAwMBAgT/AAT+////AAL9/wH+AQIAAQUDAfoCAAAB//sDAQf4+fgBAwT7+fkEAgMP+v4GBv75AP0SBwQG9/wI/AT2AAP7AQAFAP7/AgH9/f7+AAABAgIBAgL6+/sICQD/AgH6//0AAQH8//4AAAACAQEFAgP+AQD+APsBAQL6+vj19PL59/UBAf8JBQgPCwscGBgeGRoFBQUKCgoKBwgCAwACAgIBAQEBAQHy8PP9BAH9/f319fUEBwT7+PcCBgcCBAEAAf4AAQEA/wIAAAAA//38/Pr6+vjt6ef59/X6+vj5+fsbHR8DBQYCAP8A/vwBAQEAAAD//wACAgIDAgEBAwMBAwIAAf74Cgz79fT9/P4LBQP/+Pj84uYCAgIFBwb4//j9+gH+//kC9vn+8/369QD6/QT2AQUHAAAAAAAAAAAAAAABAQEA/wAAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP4AAAAAAAAAAAD///8AAAAAAAAAAAAAAAD+/v7//f79/f39/f39/f0DAQEBAAL+AgIEAwYCBAMCAgQCAgQBAf8AAgICAgIBAQEAAAAAAAAAAAABAQEAAAD+/v4AAAABAf8BAgMCAgICAgIBAQECAgIAAAAAAAABAQEAAAABAQEAAAAAAAAAAAEA//8AAAAAAAAAAAAAAAAAAAIBAAMAAQACAgIAAAD//wH///0A//8A/wD//wT/Av8CAQIAAAAB/v0CAgH/AAEAAQECAgQBA////Pv///8A/QD///8CAAD/AQIB//8BAwQBAQECAgIAAAQAAPwAAAAEAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQEAAAAAAAAA/////wAAAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQACAP8BAP8BAP8BAQECAP8BAAEBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAA////AAAAAAAA////AAAA////AAAAAAAA////////AAAA////////AAAA////////AAAA////AAAA////////////////////////AAAA/////wD/////AAAA////////////////////AP7/////AP7//wL///////8A/wD///8A/wAAAAAA////AQEB////AAAA//8A/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAA/wH+AQEBAAAA//8AAAAAAQEB////AAAA////AAAAAQEB////////AAD/////AAAA////AAAA////AQEB////////AQEBAAAA////AAH+AQAC////AAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/QD//gD/AP//////////////////////AP//Af8A/wD+AAAAAv8AAP8A/v/+/////////////////wD/Af8AAP///wAA////AAAA////////////////AAAA////AAAA////////AAAA////Af8AAP///wAAAAEAAP7//wAA/wD///7/AQH/////////AP//AAAAAAAA////AAAAAAAAAAAA////////////////AP8A/////wD9//8D/wAA/v//AAAA/////wD9Af8AAP//AP/9/////////wD+///////9AP8A/wD/AAEBAAAAAQEBAP8A////////AAAAAAAA////AAAAAAAAAAAA////AAEB////AAAAAAABAAAAAAAAAAAA////////AQEBAAAAAAAAAAAAAAAA////AQEB////AQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP7/AAAA////AAD+AAAAAP38Af7//f/8Af7+/v/7/wAB//76AQH//gH7AQD9/wD9Af/7AAD///78AgEG/wAA///9AAADAP4B/v/8/vz7/AH3/gAB/vz+AP38//38AgH+/Pv7BAQF/Pv5BgQF/P7/AQACAP3/Ef4AA/z6/wQB7Pn4CQQC/vz//vv8AwcF/vv/AQMBAQEB/wAA/wIB/gEAAP//AwEC+fn4/f38AAAA/Pz8/vr6AP7/AAIBAwMDBgkIBAkHEgsNHhobFhgVFxUWDQcJAQIEFxIODQ0N+Pj4AwH/AAD9/f3//v4B////AwUG////AgICAQQDAQQB/v7+AgIC+/z59/j8AQEBAAAAAAAA//39/Pz8Af//8PDu8/Dr/vz7//3+/f3+BgQCAgMC//37AAAB/f7+AQEBAAABAQEBAQEBAAIB/gEA/wAA+P0CBf8F/QED+QMB+wUACf37//v+/v34BP/4+f8E/QYBAvn+9u/3+v8C+gMG8fv9EgAAAAAAAAAAAAAA////AAEB/wAAAAAAAAAAAAAAAAAAAAAA////AQD/////////AAD+AAAA////AQAA////AAAAAAAAAAAA/wEAAP8A////AP7//f39//z9/v7+//7+////AAAABQIDBQUFBAQGAAMCAQEBAQIDAgIAAQH/AAECAQAAAAAA/v7+/wD9/wD9///9////AQEBAwMDBAQEAwMDAQMDAQH/AQECAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAEAAAAAAAAAAQED/wEDAgEBAQEBAAID/wEAAAAAAAEBAf4DAP///wMAAQAAAf7/AAABAQD+/wIAAP8BAQED/wIBAv8A/QP+/P78Af7//f39/P7+BAAA/wECAgAAAQABBAIDAAAAAgIC/wEE/v7+BAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAP///wAAAAAAAP///////////wAAAP///wAAAP///wAAAAAAAP////////8A//////8A/////////////////wD//wAAAP///////////wAAAP///wEAAP0A/wD/AAAAAAAAAP///wAAAAAAAP4BAQAAAP///wEBAQAAAAAAAAAAAAAAAP///wABAf///wAAAAEBAAAAAP///wEBAQAAAP///QAAAf//AQAAAP///wAB/f//AQAAAAAAAAAAAP////////4AAAH//////wAAAAAB/QD/Af///wAAAAEBAQAAAP///wAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAP3//wD//wAAAAAAAAAAAAD//////f///////////wD//////v///////////////////wAAAv///f///wAAAP///wAAAP///////wAAAAAAAP///wAAAP///////////wAAAAAAAP///////wAAAP8AAAAA/gAAAP///wD/AgABAP///////wEA/gAA////AAAAAAAAAQAAAAAAAP8B/gAAAAAB/wAB/wAAAAAAAAAAAAAAAP///wAAAP4BAAAAAAL/AAAAAAAAAAAAAAEBAf///wABAAAAAAAAAAAAAAAAAAAAAP///wAAAQAAAAAAAAAAAP///////wAAAP///wEBAQAAAAAAAAAAAAAAAP///wAA/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAL/AAAAAAAAAAAAAAAAAAAAAP0A/wAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAP///wAAAP7+/gAAAP///////wAAAAAAAAAAAAAAAAP//QL//P/++wEB/wEA/P///wH//gIA/AEDAP0A+/0B/QEB+gECAv4BAf8C/wAB/QH9AQD//AQDAQIB/wAC/wMBAAIC/AIA/f4A//r+/wQC/wEDBfj5/AsNDgwOEPv7+/QSF/Tu6AoC//r/AQYA/gQLBAIA+/wA9gMCBv8A/vz//wAAAAIAAfr29QP9+/nx8A0QDQkLCRYRDh8ZGAwJCgkICAQFBQMGBQn8APwCAAH+//f4+PUV9AUFBf39/Pj59hX+DPr6+v///wEEAwAAAAP///4A//79/vb29eTo58HLyfz4+P779///+05ERw0REAcDAwMDAwUFBQMDAwQCAwQCAAICAwcGBO/8+gQDAQABAf3/AAEB//8A/f7+/gQCA///AAH/AP0AAP////4AAP3/Af4A//wBAQH8/wADAwEEBfn///8CAP8EAQD/Af7+/Aj/BvYCBP8FAf78//T4/v0IAvwC/vv9+QAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAB/gD/AP///wAAAAAAAAAAAAAAAAH/AP7//////////wD//wAAAAH/AQABAAMDAwUFBQUFBQIDAwECAgMDAwIB/wEBAf8AAQAAAP////////7+/v///////wEBAQEBAQICAgIEAwEDAwICAgICAgEBAQICAgEBAQEBAwAAAAEBAQAA/gAAAAABAv8BAAEBAQAAAAEBAQABAwICBAACAQEAAgAAAP8A/gEBAf8CAAH+AwABAf8C/wAAAAH//wD+AAABAP4BAQIBBAIB/v//BAMD/P4B/v79/f/+/v39/QAC+/8BAQMAAPwAAAEBAQABAAEAAQICAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAP8AAAABAQEBAQEBAQEA/wEAAAEAAAEAAQAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///////8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAD///////8AAAD///////8AAAAAAAAAAAD///////////8AAAD///////8AAAD/////AP8AAAD///8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8BAAD///8AAAAAAAD///8AAAAAAAABAQEAAAD///8AAAABAQEAAAD///8BAQD///8AAAABAQH///8BAQEAAAAAAAAAAAAAAAD///8AAAABAQEAAAD///8BAQH///8BAQH///8BAQH///8AAAABAQEAAAAAAAD/AAD+//8BAAADAQEAAAAAAAAAAAD///8AAAABAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////8BAAAAAAABAQH///8AAAAAAAAAAAAAAAD/AAIAAP8AAP4AAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQH///8AAAD/AQAA/wAAAAABAQEBAAH///8AAAABAQEAAAAAAAD///8AAQAAAAAAAAAAAAAAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQH///8AAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAABAQEAAP8AAAAAAAABAQH/AAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQEA/wAAAAAAAAABAQEBAQEAAAAAAAD///////8AAAAAAAABAQEAAAAAAP8DAAH///8AAAABAQEBAQH/AgEB/gAAAAABAQEAAAAAAAABAf8BAAD///8AAAAAAAAAAAABAQEBAQECAgIAAwMCAgIBAQECAgQBAP7+AQEC//8D/wEEBP4C/wUIAwUPFBkFAwH///sA+/kNEhgFDBD//fwA/vgEAQn+AgP9APoE/wMD/gL/BwIRGyQEAgX+BAL9+gANFBUHDREB/voLAgT2+PoFBQgwJikDBAcABAUAAAAjLin06+O+pqYL/QAKFRcCBAMPEA35/vkE/QUDBAYCBQYBAQEKCgglIiEhHR0VFhkD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AAAAAQEB////AQEBAAAA////AAAA////AP3+/v37/v7+////AAAAAQICAgUEBAYFAgUEAgMDAgICAQEBAQEBAAIAAQAAAAAB/gD/AAIB//z/////////AgADAAIBAgMFBAQEAwMDAwMDAgQFAQICAgIAAQEBAQECAAAAAAAAAAAAAQEB////AQEBAAAAAP8C/wIBAgEBAQEDAQEBAQEBAQEA/wEAAv8AAQEB////AAMAAP//////AAACAAACAf3+AAACAQD/AQABAQABAQEB/wADAgIBAgL+//8BAAAA/v4A/f39//7+AgICAf8BAAICAgIEAAMCBAEBAQEBAf///wAAAAAAAAEBAAAAAAAAAAEBAgAAAAEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAP///wEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf8AAAEBAQEBAQEBAQEBAQEBAQICAgACAQEBAQACAQEBAQICAgL/AP4B/wECAQAAAP///wICAQAAAAICAQAAAAAAAAAAAAEBAQEBAQAAAAAAAQEBAQABAQEBAQH/AQEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/+AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAf4CAf8AAQH/AQEBAf8BAQACAQH/AwICAP7//gABAgH9AP8C/wD//wABAAP/AP///////wAAAP///wAAAgEAAP///wEAAP///////wEAAP///wEB/gAAAP///wH/AP///wAAAP///////wEBAf8C/wH/AP8BAAACAf/+Af8D/wMDAwH/AQAAAAEBAf///wABAQAAAAEBAQEBAQICAgICAgMDAwACAQICAgIBBAEAAAD//wICAgH///8CAQH+AQAB/gEBAQICBAADAgIAAgMDAwD+/AEBAwEC/v8BAAEBAAEBAAEBAQEAAAEAAQEBAQICAgICAgMDA////wAAAAICAgEBAQEAAQEBAAEBAf//AQEAAQAAAQEBAQEBAQMDAwEBAf///wICAgEBAQEBAQAAAAICAv///wEAAQAAAAAAAAAAAAMDA/8AAAABAAEA/wEBAQEBAQEBAQAAAP8AAAEBAQAAAAEAAAIBAgICAgMDAwAC/wAB/wADAAUFBQMDBf0AAgIAAQIDBQADAv8A/wT/Av//AP8ECQkTHAEDBv4DAQP7/gcNEf8ID///+gP/CAL/CP8AAQEC+wH+/gP/Av8ICAsUIwEEC/sC/gT6/wQNCAAFCgkGB/77/BAOCgIECAEAAAAAAAIDAwAAAAD+AP4EAv8JDzpNTvT3+AsFCAgCEfb5+AEA/wH/AAD+Af38/QAD/wIEBQkNC/8CBQAAAPz7+QMJCf0BAvj4+Pv7+P4A//v7+/wA//n9/QQCAvT3+PP4+wYFCgkTDg4Q/BEQEwoLCAAAAAH/AP7+/gICAv7+/gICAgEBAAsL/hQTFwEBAQkGBgQA/QYFCgMDAwMCAAEBAQMA///9/gIA/v/++wAA/gABAwQDAQMBAgEBAPsA+wD9/AACAgIDAAMBA/z//gL/AAAAAQH/AwAA/wAAAAAAAAAAAgL/AQMBAgf/BP7//vsD/gL/AgL//vv+/gH//AIABAIDAPj/+fP8+QIECAMCAvz+AgAAAAAAAAAAAP///wAAAAAAAP///wEBAQAAAP///////////v8AAAEAAP//////AAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAP////////39/f7+/v7+/gAAAAICAgICAgQFBQQHBgIEAQICAgICAgEC/wAB/gEABP///wAAAAAAAP/////////+Af/+AQAAAAEBAQMDAwIFBgMEBQIEAwICAgICAv8C/wABAQAAAQAAAAAAAgEBAf8AAAABAAEA/gAAAAEBAv8BAQABAQEBAQEBAf8CAQEA/wAAAAEBAP///wEAAAAAAQAAAQAA/wIC////BAAC/vz//gD/AQAAAAEBAQIDAP/+AQACAgMDAwEBAf////////7+/gD/AgAE/v8AAPz+/gEB/QH8AQQBAQEAAAABAQEAAP8AAAAAAAABAQEAAAABAQEAAAAAAAABAQEA/wABAQEBAQEBAQEAAAABAQEAAAAAAAABAQEBAQEAAAABAQEA/wAAAAAAAAAAAAAAAAD///8AAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAEBAQEBAAAAAAABAQEAAAABAQEBAQECAgICAgICAgAAAQD+AP8C/gACAf8B/wAAAAAB/v8AAQAAAAABAQH+AQAAAAAAAAABAQEAAAABAQEAAAIBAQEAAQEBAQEB/wEAAAAAAQEBAQEBAQEBAQECAgIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//gEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD/AgEB/gEBAQECAQT/Avz///8A/gT+APz+AgEBAAAAAAACAgL///8AAAEC/v////8BAQEAAAAAAAD///8AAAD///////8AAAD///8BAgH///////8AAAABAAAA/v////////8AAgEC/wAAAAAAAAAAAgH/AQH9AwICAgMB/wL+/v4BAQH/AAABAQEBAQH///8CAgIDAwMDAwMDAwMAAgH+Av0BAQEBAAAA/wIBAP8AAQECAAP/Af///wL/AgEAAgEBAAMCAgH/AgL/AgICAgIA/v8BAQIBAQABAf8BAf8BAAAA/wABAQEBAQECAgICAgL///////8BAQEBAQEBAAEBAQABAQEAAAEA/wABAQEBAQECAgIBAQECAgL///8CAgICAgL+Af8AAAAAAAAC/wABAQEAAAD///8BAQEBAQECAgIAAQABAP8CAgIBAQEBAQEAAAABAQABAQEAAAABAAABAAACAgIDAwMA/wEBAv4A/gAEBAQCAwMA/wIBAQEAAAACBAMCAPsF/wIB/wABBAQKDA//Awf+AQID/P8FCwoABAUCAgEDAAEC/gX/AAECAwEA/PwF/wT8BAQKChL/AgoCAfwGBQEIBv4FAwT//wEBBQUPDhIAAAAAAAD///8BAQEAAAD9Bvz/AAIB/f8J/P79AQADAwH3/PkBCgcF/P/9Av8CAQMAAAL+/v74/fzm7Oz6/QD5/Pv49fQbGBkOCgkC/wABAQEDAwYC/gEMBQMD+/oIBQgDAgcPDRAGBwgB/wL2/PoHCAUICAgA/v8A/f4AAAADAwP+/v4CAgIAAAD/CgQQDvgFBQcGAgH/+/kFAAUDAAH+AQACAQL/Af4BAAIC//wAAQT//f3//////f7/AP0BAAACAf8CAQADAP8A//79/fsAAwX////+/v8B/wACAgADAQECAgIFAQL4A//++gL8AAH9AwL6Bf8J+fwFAf//AQH7AgX4+f0DBAL+BwT+A/0A/fkE/wIAA/sAAAD///8BAQEAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH/AP8AAAABAQEAAAD///8A///+/v4C/wD/AgIBAQEBAwIFBQUEBAQDAwMBAwIAAQECAgEAAAD/////////AQAAAAAAAAD///////////8AAAABAQMBAQECAgIDAwMDAwUCAgICAQT+AfwBAQEBAAEAAAAAAAEBAQEBAQEAAAAA/v4BAQH/AQEBAQEBAQEAAgEAAAAAAAD/AQAB/wAAAAABAQEA//8AAAAAAgAA/gEBAQH///z/AAEB/gEAAAEBAAEBAQAAAQEBAQMAAP0DAwUBAfz////+/v7+/wH////9/f4AAAAAAAABAQH/AQEEAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAgIBAQEAAQEAAQEAAgIBAQEAAgIBAQEBAgIBAQEAAQEBAv8AAQIAAAH/AAH/AQIBAQEAAQEA/wH/AAEAAQAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///9AQEAAQEBAAAAAAAAAQEBAgIC/////gD9//0AAwMD//79AgIC/v7+AgUEAP8C/P/+BwED/gEBAQQDBP4C/AD//gL/Bf8A/QP+AAAAAAMAAAAAAAAA//8CAQAAAQEB/v7+AAEBAQEBAgEBAAAAAAEBAQEBAQEBAAABAQEBAQEBAAAAAQEBAQEBAgICAQEBAAACAQEBAQECAQEBAAAAAQEBAAAAAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAgEBAAAAAAAAAAAAAAAAAAAAAQL/AAD/AAEB//8AAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAD+AAD/AAD/AAAAAv8C/gD+AAAAAAACAQH///4BAwAB/wAA/QEBAQEBAgMA/gEC//7+AgACAP8CAQEB////AAEB+/v7AwQE/f39/wL/AwABAAAA//79AQIC/v7+AAAA/gEAAQAAAAAA/f39/v//AwQDAP3+AQEBAP///f/9AgIBAQEB/AD/Af7/AQAAAAAAAAEBAQQC/Pr8AAMCAf0BAwMD////BAICAAAA////AgICAQAAAgICAQMC/wUFAf8AAwP/Av8CAgIC///+/wAB/wIB/wAAAgABAQEBAAACBAMGBAQG/gQDAwAAA/4C/AH/AQQCAf7/AQEA/wQAAwID////Af8A/wIBAgMDAwUEAQEEAgEBAQD+AAAAAgICAP7/AgIC////AQH/AwIC/QIBA/8AAwMDAQQFBAID/v7+AQUEBP8D/QH8AQEBAAD/AAMAAAEC////AAAB/wIBAgIC/wAAAQIBAQH/BAQG//8BAgICAAAAAAEC/f//AQICAf/+BAAC/f0BBQYK/f37AwQCAP3+BAgLAwMFAQH+AP7/AwUE/v7+AwAHAAIBBAAAAQP+BAcSAgMDAAAAAggCAwYIBwMCAAAG//8FAgQCBf//AAAEAAQCAAL/AP7+AwoOAAEBA/8E/v39DQ0TCAgIBAIDBAIC/wD+AgACAAAAAQEBAAAA/wAAA/8EAP//AAMC/QED+/f3BAUA/P3//ff59P37/f/+//////3/AQIC9/v8+Pv+/gUFBwMECAMFDAkKCgcHAP//AAD/AAIBAAMEAwICDAMIAAECBf4DFg4M/AABAgIECfwDDQgKBAEDAgQB/wP/AAAAAAD/AAMCAQEBAAAABQb9EwkJAAUFAQH/BQcEAAUBBQME/QQBAP79AwIEAv8A/v4D/vz7BQYDBAQEAAYEAwD//vr7Af79/wMD/AMF/Pz/BgMB/vz+AQMEAgL//v78AwMFBAIDAf8A/f/7Bv8A/f4FAQD4AgEHCvoF/wP+AAH//QH+Av8F/QL6BAAA/v3/APwEBQYE/QL+//0A/gEA/v7+AwMDAQEB////AAAAAP7/AQIBBAID/f8B/QD/AwD8AAAB/AAAAv//BwD++P//AAD+/////wAAAAAAAwEBAAED///+AAL8//z9/f77/v77AAD//gH/AQABAQMCAwYMAgYHBAYFAwMDAgIAAQEAAAAAAAAAAAH+AP8BAf8A//////3+/v/8/wD9AQL/AgEBAwQEBQUIBAMHBAQEAAMA/wL//wH/AQIEAgABAAAAAAAAAQECAQMCAP8CAAAAAQIE////AQD+AAIBAAAAAQEBAAIDAQEDAgH//wD/AP7/AAAAAAEBAQEAAAD+AAL/AP7/AQED/wEBAAH+Af//AAAA/QD/AQMEAf/9AAAB/wAAAQMCAP//AgIB//z//v7+//78////AAACAAAAAAAABAEBAQAAAAAA/wAAAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQEBAQEBAQEBAQEBAQAAAAEBAQAAAAEBAQAAAAEBAQL/AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wAAAAEBAf///wAB/gD/AAEBAQEAAQEBAQICAv///wEBAQEBAQICAgICAv8BAQIBAf8B/wL//////wL/AAADAQAAAP///wD/AgAAAAECAQAAAAAAAAEBAQEBAQEBAQEAAAEBAf8AAAEBAQAAAAEBAgEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAAEBAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAP8C/wH+AQEBAQEBAf//AAEBAQABAQAAAAEBAQICAv7//gEBAQICAv4A/gL/Av///////////wQDAwICAgMCAgH+/////wIAAf4DAwAAAAEB/v0A/wIAAP///wAAAAMDAQICAQAAAP0AAAH/AAABAQMBAQICAv7+/gQCAQL/AAEBAf//AP0A/wMAAQMDA////wABAgAAAAAAAAABAQAAAAEBAQAAAAABAQMDAwEDBQICAgH/AAAEAwADAgEAAQADAgEAAP8CAf///wIBAQAAAAECAgICAgMDAwADAwIAAAD+AAICAgH/AAEA//8A/wAAAAAAAAAAAAEBAQEBAQICAgICAgIBAgEBAQD//wEBAQEBAQEBAAABAQAAAAAAAAEBAQAA/wEBAQICAgICAgICAv///wEBAQAAAAEBAQEBAf///wEBAQAAAAEBAQAAAAEBAQICAv8AAP8CAQEA/wEBAQEBAQABAQAAAAEBAQAAAAEB/wEAAQD/AAEB/wMDAwQB/wQEBAAB/AQEBAADAgMBAf8C/wICAgEBAwICAAH/AAAAAgIEAwUGBgIEAwAAAgH/AAMGBQMFBP///////wMBAv////4A/wEBAQIAAgL+AQoHCAYJCAkJCQMAAQkHBv39/QH//wAAAAH/AAABAAAAAAAAAAAAAP8A/wEB/wABAv8AAPT39vn7+v/5+P///////wECAQMAAgABAAACAAMDBAADBAsJCgAGBgL+//37+gYGBgQEBP/+/QAAAAACAQEBAQIAAQADAAABAgQE/wYGBgMBAgMDA/77BAMDAwMDAwIBAf///wEBAQAA/wAAAAEBAQEBAQX//wcIBQIDBQEBAQL//gUFBQMBAgUA/wICAv7+/v/+AQH/AgMBBAMB/gUDBgQBBv76+AYDBf8EBAH8AAICAgUFBvv5+AQEBv4A//3//wAAAvz8/Pz+/QAAAP8BA/4A//wB/fwA/wL//v/+AAIBAfz9/AEEAQH9/AMB/wEA/gEAAAAAAAD+/wH//v///wL/AAEBAf///wAAAAAAAAAAAAACAf4A//z8/P///////wH+AQIBAgMDAf/+/vv9/gABAP//AQAAAAAAAAEBAQAAAAEB/wEBAf/+/////wL/AP4AAAEBAQICAwACAQMDAwQFBQQEBAICAgICAgEBAQAAAAAAAP///wEBAf8A/QD/Av////7+/v///wEBAQICAgMCAAMDAwMDAwMFBAEEAwICAgICAgIBAv8BAAABAQH/AAEBAwEBAQABAQEBAgAAAAAAAAD//wABAAAAAAEBAQAAAP///wEBAAICAv///wEA/////wAAAAAAAAAAAQAAAP8CAAIAAgAAAP///wABAP///////////wEAAAEBAwAA/QAAAQAAAAAAAAICAf//Af3+/f//AP7+/QAAAP///wQBAQEAAP8AAAEAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEAAAABAQEAAAABAQEC/wABAgEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH///8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQH//wABAQH///8BAQEAAAAAAAABAv8A/wEBAAAAAQEBAAEBAQEBAQEAAAAA//4AAAABAQEAAwIDAwIC/wD/////AP8BAAAD/gAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAACAQEAAAD/AAABAQEAAAABAQIBAQEBAQEBAQEAAAABAQEBAQEAAAABAQEBAf8BAf8BAQIBAQEBAQEBAQEBAQEBAv8BAQABAQABAQABAQAAAf4BAgIBAAABAQIBAQEBAQEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAf8BAQEAAAAAAQEBAQH//wL///8A/gQAAvz//wEAAPz//wEB/v8DAv/9/f3/BQP///8AAAAA//7////+AP8AAwL+/v4AAwIEAQEAAAAAAAD///8CAgL8/f0AAAADAAEBAQH///8BAAABAgIA/f0A///+AP8DAwP//v4B/wACBAQFBwYCAgIB/gMBAQH///8AAAABAQH///8BAQECAgQBAwQEBAQCAwMBAQEB//8BAQECAQL///8AAAD+AQABAQEAAQEB/v8BAQECAgIDAwMAAwMCAAAA/gACAgIA/v//AgAB/wAAAAABAQEBAQECAAEBAgICAgIEBAQBAAMBAQEA/wABAQEBAQECAgH/AQEAAAAAAAABAQEBAQABAQECAgICAgICAgIAAAACAgIBAQEBAQMBAQEAAP8BAQEAAAAAAAAAAAABAQMDAwP/AAAAAwIAAP4CAgIBAQEAAQEAAAABAQEAAP4AAAAAAAABAQECAwMEBAT+/wEEBAT/BAQEAwYDAwMAAP7//wECAgP///8AAwIB/wABAQEBBAMGBggDBQT///8B/wAEAwYAAgQBAf4C/v8BAQEBAP4DAQQAAAAHAQMDBAMGBgYBAQEAAAD9/f3+/PwB/v8AAgEB/wD/AP8A/v8AAQEAAQD/AAABAAEAAP/+AP/8/v74+vn/AQMAAgEEAwT///8B/wD/////AQAA/v8DAgP/AAIIBwcBBAMCAAH9AwIGBQUEAwP/AAD///8AAQEBAwEB/wABAQEBAQIGAP8IBgf/AgMCAgL/A/4FBAQDAwMBAQH///4CAAEAAAD/AQABAQECAAEHBAUIBgcCAwUAAAAEAP8DAwICAAL+AvoA/wAAAgH/AQT/AAL9/gT9AP/9Cw4HCg36/wD7/Pv9/v0DAwX+///+/gAAAAD9/fv9//4AAAAAAAD9/f7+/v4AAgH/AP/+/f4C/wD//f7+APz//f8AAgL8+/oB/gIA+f0BAgAB/gD8/PsAAAAAAAAAAAAAAAD7+vn8+/oAAQEAAAAAAAADAwP///////8GBQQEBAQA/wH////8/fz/AgL//v4BAwIA/v4AAAABAQEAAAAAAAABAQH/AP8AAP7+/v4A///+/v7///8AAAACAgICBAMFBQUEBgYFBQUDAwICAgL///////8AAAD///8AAAAAAAD+/v7////+//z///8AAAABAQECAwUEBAQDBQUDAwMDAwMDAwMBAQEDAgP+AP8BAQEAAAICAAEAAgEBAAMBAQH/AQAB/wL///0AAAIAAf4AAQEAAAABAQEAAv8BAQIAAAD+Af8CAAH///8AAAAAAAAAAAABAQH/AQEAAQACAgD+AP0A/f8BAQH/////AQMAAf7//wH//wMAAQAA//8AAP4BAQAC+wT+//4A/wD+/v7/AP4EAQEAAAABAAAAAAAAAQEBAAAAAAAAAQAAAAEBAAAAAQEBAgEBAAAAAQEBAQEBAQEBAQEBAQEBAAAAAQEBAv8AAQIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AQEB////AQEBAAAAAAAAAAH+Af4BAAAAAQAAAAEBAQABAQEBAQEBAAAA/wICAgICAQEBAgICAQMDAv8A/v7+AAEAAAAAAwEA/wD/AAAAAAAAAAAAAAAAAAAAAAABAAAAAQEAAAAAAQEBAQAAAAAA/wAAAQEBAAABAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAgICAAAAAQEBAQH/AQECAQEBAgICAAAAAQEBAQEBAQEBAQEBAQEBAQEBAf8AAAEAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQEBAAAAAAAAAAAA////AAAAAQEBAQEBAQEB////AQEBAAAAAgIC/v7+AgICAP8C////AQED/////wL///7/AAIBAwIC/f39AQEBAQUBAv//AQEB/gD9AP39AQEB////AAAAAAAA/v39/f7+AwMD////AAICAgIC/v7+/v7+AQQDAwMCBAEC/f39AwIC/f7+//8BAQEBBQUAAQAD/wIBAAEB//8AAQEBAAEBAP//AAEB/wIBAgICAwUEAAMCAwADAAQBAAIB/gAAAAEBAv8AAQEAAAAAAQEBAQEAAgICAgICAgQDAQMDAgAA//3/AgIC///+AAAAAQEBAAAAAAAAAAAAAQABAQEBAgICAgICAgEDAQEB//7/AQEBAQEBAQAAAAEBAAAAAQEBAP8AAQEBAQEBAgICAwMDAgECAAAAAwMDAQEBAQEBAQEBAAAAAQEBAQEB////AAAAAQEBAgICAv//AAICAP8AAgICAQEB/QECAwD/AwD//QEBAQEBAf7/AQICAAMCAgQDA/8BAgMFAf8ABAQEAgIEAQD/////AgICAAAA/wIBAAAAAv8DAAACAwUEAwMDAAAAAf8BAwMDAQEBAwECAQIAAgIAAAACAgICAAAAAv8C/v7/AQEB////AgICAwMDAQACAQMB/v37/wEAAP7//gIAAgICAAEBAQAA/wAAAAAAAgAB+/v9////BgYGBwUG/////wD/AgAA/gIA/////wL/AQEAAgH/BwQD/wMEAgEBBAD/BQIBAQEAAQICAAAAAQEB/wEAAP7/AQEBAAIBBf8DBwQF/gMBAgIC/wIDAwMCBAQDAf8A//8BAAAAAAAA////AQABAgICAwICBwQFAQQDAAAAA//+AQEBAQH//wEM/gD+AQD+BAAAAAAAAv76A//8AQMA+AoL/f77+fX9AAcB+wD8/fz+/v35AQH/Afr9/P39AAAAAP/+AP78/vz7AQEBAP//BP8BAAAB+vLwAAID/v0AAQEB/f77AQEB//4BAAH++gD//Pn6AgIA/////v7+/v7+9/Pw/v7+AAAAAAAAAAIB/gMDAQEB////+wH9/P36/f39BQMDAgEA/QD//QD9AgEB////AAAAAAACAAD+AQEBAAAAAAD+AAD+/////v79///+/gD/AAABAQMBAgUEAwUHBAQEAgMAAQEBAAAAAAAAAAAA////AP7//wIA/////wD+/v/+/v7+////AQEBAQH/AgIEAwQGAwMDAwMDAQEBAQEBAQEBAQEBAgEDAQEBAAAAAQEBAQADAQEBAAIBAQAAAAACAP//AP7/AAEBAAEB/wEBAQIBAQEB/wEAAP8AAQEBAP//AQEB////AAAAAQEB/f8AAQD/AQEB/wEBAQEBAAMCAP//AAAAAAABAAEBAQEE///////9AAACAQEBAQH+AQQFAP39AAABAAH8//4ABAICAgAAAAAAAAAAAAAAAAEAAAAAAAAAAAEBAQAAAAEBAQEBAQAAAAEBAQEBAQEBAQAAAAAAAAEBAQL/AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEBAP///wAA/wEBAP///wAA/wAA/wEBAQAAAAAAAAAAAAAB/gD/AQICAv///wD///8AAAD+/wEBAQEBAQICAv8CAgICAgEBAQEBAQICAgL/AAAAAAABAAAAAAABAAMAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAA/wEBAQAAAAIBAQAAAP8AAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAP///wAA/gAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAEB/////gEBAQEBAQQCAv0AAP///wH/AQICAv7+/gIABP8B/f//Af///////f4A/gMDBP///wD/Af8AAAABAAABAf7//wICBAEBAwAAAP///wEBAQEBAQQE/////wAAAP////7+/gMDAwIC//39/QIBAv0B/wD/AAIAAAEAAgICAv8CAQL/AAD/AAEDAgH/AgAAAAEBAQAAAAEBAQAAAAEBAQICAgEDBQUFB/8BAQEBAQH/AAICAgIAAQAAAAL/AAABAP///wICAgEA/wEBAQMDAwQEBAACAgIAAP0E/wICAv7+/wEBAQAAAAAAAAAAAgAA/gIAAQABAQICAgMCBQICAgAAAAABAwABAQEBAQACAQEAAP8BAAEAAQEAAAICAQEBAQICAgICAgEAAQICAgICAgAAAAEBAQEBAQAAAAAAAAAAAAEBAQAAAAEBAQICAgL///8BAQECAgEBAQEBAQEBAf8BAAL/AAEAAAEBAQICAQEBAQEBAwICAgMAAQMDAwMBAgQEBgICAgEA/////wICAgAAAP8CAQMAAQD/Av8BAQUDBAEDAgIAAQIAAggEBQUDAgL/AAED/wEBAQH/AAICAv////8BAf8BAAUDBPz+/vv7+/z8/AIAAQcHBwIAAAD+/wABAf///////wH+AP8BAAAAAAD9/fv9/Pz5+gMBBAQDBAQBAv3/+wECAQH/AgIB/v//AAAAAQEAAgEDAgoGB/8DAv7+/v4ABAQDAwMBAQID/gAAAP8CAQD/Av8B/wEBAQAAAP8DAAYFAwABAwEBAf8B/wQCAwMBAgABAAH+/wEBAQAAAP0A/wEBAQMAAf0DAggEA/8EAgAAAAP+AgMBAgICAAT9+wMCAAAA/gAAAv3+AAEFB/4ABwD/BA8O9QQB/AUB//78/fHs7Pz+//3++vz6+QH9/v7+/v7+/v/9/AH///7+/P79/AH//gABAP///+no5/4A//n6+v///wMCAv/9/v3+/wAAAAMEAv76+QAAAv8BAP8BAgMDBenj4gICAgEBAQMDAwMFBAQEBAQEBAICAgD9+wD9/P8BAPz8/P4A/wEC/wEC//z8/QIAAwAAAAAAAAEBAwAA/gAAAAAAAP///wD//v///////wEBAQADAQICAgQDBgMFBAMDAwMDAQEBAf///////wH/AAD/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQICAQMDAwMDAwQEBgICAgEBAQABAQABAwAAAgEBAQEBAQEAAwAAAAEBAQICAgACAQAAAv3//wEAAQABAAABAQD/AAIB//8A/wAAAAAAAAACAQH+AP8CAAL/AAAAAAEBAv4AAAD9/v4BAP8AAAEBAQABAQAAAAAAAQAAAAACAgAAAgAA/v/+/gAAAwAA/wABAQABAQEBAQICAv///wAABAAA/AQBAQEAAAAAAAAAAAABAAAAAAAAAAABAf8AAP8AAAABAQABAQAAAAABAQABAQAAAP8BAQEBAQAC//4BAgQBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH//wAAAAAAAAABAQH///8BAQEAAAAAAAD///8BAQEAAAAAAf4A/wEAAAAAAAAAAAABAAAAAQEBAgICAP8BAQH/////AgIBAQEAAgECAgICAgIC/wAAAAAAAQABAQEB/v//AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAP8BAQEAAAACAQEAAAD/AAEBAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEBAQEAAAABAQEBAQEBAf8BAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQECAAEBAQEAAAABAf8BAQABAQABAQAAAP8BAQEAAP8BAQEAAAIAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAH///8AAAABAQH///8AAAAAAAABAQEBAf///wABAQECAAABAQH/AAABAAEAAAD+AgEB/gACAgL/////AP////////8AAAIAAv8BAQH+/PwHBwb9/f0BAQH+/v7+/v4A/gADAgP+/v4CAQEAAAD+//8CAgMAAAD9+/oDAgIAAP8A/v8DAgIBAgAAAAAB/wADAQEABAL/AQH//v0DAwYCAAD+AP0CAgQB/wAAAAAAAAAAAAABAQH///8BAQEBAQECAgIDAwP+AAADAwP//wABAQEBAAEAAAD/AQABAAAAAAABAQH/AgACAQEBAQEDAwP/AQMDAAH/AgABAAMBAQAAAAAAAAAAAAAAAAAAAAMBAP8AAQECAgICAgICAgIAAAABAAIBAQMBAf4CAgL///8B//8CAgL///8BAf8BAQECAgICAgICAAEAAAADAwMBAQEBAQEBAQEAAAAAAAABAQH///8BAQEAAAABAQEBAQEBAgQBAP8CAgIAAQEBAQEBAQIBAAABAP0BAQEBAAABAQMCAgICAgIDAQIEAgMDAwMCAgIAAAABAQEAAAABAQEAAAAB/wABAAABAf8CAQEHBQYDAwMCAgIEAQIFAQADAgIBAP8BAQL/////AP8AAAD+/gABAgD7+/z4+vn/AgEDAgUBBAMB/wD9//4DAQEBAAABAQECAAAB//8A////AAAAAAD7+Pn/AQIBAAAFBQUDAwMAAAADAQIDAwP+/v4AAgP+/v4BAQH///8B/wEFBAL+AgP/AgIAAQADAwICAf8C/wIAAAAAAAAAAf8AAQABAQD//gH+AgEHBAX+AQABAQEB/gECAgIBAQEC/wD/AQABAQEBAv8CAAEAAAAA/wEDAQIFBAQBAgL///8BA/8CAgIBAf8DBwAEAQABAAH7/P33+fj5+vzy8vTw8PAE8ef6+/fu7en89/sCAgQCAgT5+ff6/PcDAQQDAwMA/v7+/v4DAQAEBQP7+/sCAgL8/PwCAgL9/f0CBgP+AP8CAgIGBAX/+/wA/gH/AQAB+gEB//4DAAD8+Pz8/Pz+AP/z8uMEBAQAAAAEBAQEBAQCAwAEBAQEBAQBBQT79/gFBQf9/fr+//wA/v4FAwP8/v8A//4BAQMAAAAAAAABAQMA//3+/gD+/v7+/v4B/v8AAAABAQECAgIBBAMDBQQDAwMEBQICAgIAAAD+/v7///0AAAAAAAEAAAD///////8AAAAAAAABAQECAgIBAf8DAwMDBAYDBQYCBAMBAwMCAgEBAQECAgIBAgIAAQMCAAEBAQEAAAABAQEAAgMBAQEAAAADAgIA/gH///z/AAABAQH///8AAAD///8AAAAAAAAAAAABAQH+AP8AAQH///8AAAAAAgEB/gAAAAAAAP//AAEAAP//AAAAAAABAQEAAAD//wABAQH///8AAAAAAAAAAAD/AAAAAQEAAQEBAgIBAAQEAgICAAAA////AAAAAQAAAQEBAAD+AAABAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAQEBAwABAQEBAAD+AAABAAADAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQEA////AAAAAAAAAAAAAAD/AAAAAQEB////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAH+AP8BAAAAAAAAAAAAAAAAAQAAAQICAf8AAgD/AQEB/////wICAgICAQEBAwMDAgMDAf8AAQEBAQEAAAAAAgEA/v//AAAAAAAAAQEBAAAAAAAAAAAAAAABAAH9AP8CAQEBAQAAAAAA/wABAQEBAAAAAQEBAAAAAQEBAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAAAAAQEBAQH/AQEAAQECAgABAAEBAQEBAQEBAQEBAP8AAAAAAQEBAQEBAQEBAQEBAAAAAQEBAAAAAQEBAAAAAAD+AAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAQEB////AQEBAAAAAAAA////AAIBAf4AAAAAAQAAAgIC/////wAA/v7+AgIC/wH/Av7///////8BAAL+////////////BAIC+/z9EhARAwABAQEB////AAAAAQAAAgMD+/v7AgIC9/r58fPyAwMD////BAIJEBAQBQID/f39AwICAAAA/wAA////AQAAAQEB+Pn58fTz/wMCAf///f8AAAAAAQEBAQEB////AAAAAQEBAAAAAQEBAgICBAECAwMDAQAAAgICAAMDAQEBAQABAAAAAAAAAAAAAAAAAQEBAAAAAQEBAgICAgICAAIDAwAB/v39AQEBAAAAAQEBAAAAAAAAAAAAAAAAAQAAAQICAgIEAwMDAgIC////AgEBAQEBAQEBAQEBAAAAAQAAAQEBAAAAAAEAAQEBAgICAwMDAv8AAAAAAgICAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAQEBAwMD/v//AAICAQD/AgIEAQEBAAAAAAAAAAAAAQEDAQEBAQAAAQEBAQEBAwMFAAEAAwIEBgQDAgICAAAAAAAAAgICAQEBAQEBAgD/AgAAAgEDAgICCQX/AgQDAgACBAEA/wD+AAH///7/AAAA/v7+/v8B/wAA/f7+Af8BBAQEBgD/+/3//f39////BQUGBQUDAfz8AQIBAf8AAQAAAAAAAAAAAgAAAAAAAwMDAAID/wMA+v7/AQIC////AwIC/v78AQEDAQABAAICAAAAAP7/AwABAgICAQD/AQIB/wADAwECAf/9AgABAAAA////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/QAAAQICAgMDAwMDBgMDAwMDAwAAAAAAAAAAAP///////wEAAQAA/gAAAQAAAAAAAP///////wEBAQAAAAICAQMDAwMDBAICBAICAgABAQEBAQEBAQEBAQEBAQABAwEBAQEBAQABAQEBAQEBAQAAAAEAAP///wEAAAAAAAAAAAEAAAAAAAEBAQEBAQEBAQEBAf///wABAAAAAP///wEBAQAAAAEAAQAAAP4BAgAA/gAAAAEBAQAAAQAAAP///wEBAf///QAAAQAAAAAAAAAAAAAB/gD/AP////////8A/v//AQQCAf8AAAAAAQAAAAAAAAAAAAEAAAAAAAAAAgEAAAAB/wABAQEAAAABAQEAAAAAAAABAQMAAAABAQEBAQEBAQEBAf8BAQAAAP8AAAAAAAEAAAEAAAEAAAMAAAD9AP8BAAAEAAEAAAD///8BAQEAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQD///8AAAD///8BAQEBAQEAAAD///8AAAABAQH///8AAAAAAAABAQH///8AAf4BAQAA//8AAAD//v4BAAEBAQH///8AAAAAAAAAAAABAQEAAP3//f//AAADAwP/AQD//f4AAgQBAQIA/v8CBQQBAQIE/wD9BAL+AP8C////AQABAAAAAAAAAAAAAAAAAAAAAAAAAAACAQH/AAMAAAAAAAABAQEAAAAB/wEAAAAAAAAAAgEAAAAAAAABAQEAAAABAQEAAAABAQECAQEBAQEAAAABAQEAAAABAQEBAQEAAAABAf8CAQEA//4BAQEBAAIBAQEBAQEAAAACAgIAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAADAAH9AP8AAAABAQH///8BAQEAAAD///8BAQEE/wEAAgH/AQH+/v7///4AAAAD/wEDAgP+/vz/AAL/AP//Av////8BAQEAAAIAAQD9AP///v8CBQb+/QABBAL///8AAP4AAAD/AQD9+/wGAQP9/f4C/wACBAMBAQEA/wL/BgECAgL//P0D/gD+AQABAgH////////+AP8E/wIBAgT+BAQGAQP8//4ABAICAgIA/gEAAAABAQAAAAAAAAABAQABAQEAAAICAgIDAgICAwIB/v8CBgT//gEAAgIAAAAC/wD/AgEC//8AAP8EAQL//wEDAwUCAQQDAgP9AP8GAgf//vwEAQD8Af8AAAAE/wH8//4BAwL+AP8CAQEDAgAGAgH+AgL9AgAA/wECAgD/Af8A/fwCBQP+/v7/Af4C//4C/QEABwACAgAC/P4CBQb/+vwGAAIAA/4B/QEBAQH+//////8BAQEBAQEBAQECAgIBAf8DAgD///4AAQD/Av8DAwP//v4C//4CAgT//f0BAQH/AgACAwP/Af4DBAEAAQEAAQAAAgIFBQMFBQUD//4DAwMA/v8A/////wIAAQEBAv8AAAH9APwBAAP/AP8AAAAC/AABAQEBAQL//wABAAMDAAD+//8DAgACAQD9//8DAwMBAP////4CAQH//v0EAv8CAAEAAAD///8AAQEAAQEAAQAAAAAAAf79AQQAAf///v4GBQUB/v8EBAH+/f4CAgQBAQH///8CAAH//f4BAQEBAAEE/wEAAAH+AQACAgQA/f4CAgQBAAAAAP4CAgL//wEE//79AP8BAQMC/v4EAgP/AQEAAQD+//8CAf8BAP4BAQAAAQIAAAAAAAABAQEA/wAAAQECAgIDAAH/AAIAAAAAAf8A/wL8/P3n+/f+Eg8A9wTj7/AbFhgGAwT/Afr59vX++Pf/+fsOCAwGBAX09fL6+fz+AAEIBw75+vj8/Pr79/YEAAH+/P0A/vz39PP9Bgb/AwUA/wD7+/oG/wIF/wH99/oB//8AAwL8+foA9/wA/f7+/f0A/v8CBAMBAAD9//sNCwv9/f3/BQb9/f38/PwGBgYAAAD//f0DAgT/AgAFAAX7CQze4OgOFQ4NFw0K8PP4AwMAAAACAAAAAP4A///9//v+/vwA//3+/QABAAMCAwIAAwIBBAMCBAMCBAMAAf4CAQIAAAD///4AAAAAAAD9/f8AAAAAAP//AQEBAQECAgL///////0BAQECAwUDBAcCBAQCBAEAAwABAgIBAQQAAQIBAAQCAQIAAgIBAQEBAQEAAAABAQEBAQH+AAABAAEAAP4BAP4AAQH/AAMAAAAB/wAB//0A/gH/AgIBAQECAAH/AQAAAAAAAAD//wD///8BAP4A//8B//4AAQEBAgL+//8A/QIAAP4BAQH///////8A//wBAP8AAf7///4AAAAA/wIA/wABAAECAQL/Av8EAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAgABAAEAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAADAv8AAQAA////AQEBAAAA///9AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAQEB/wAAAAAAAQEBAAAAAQEBAAAA////AQEBAAAAAAAAAAAAAAAAAQABAQICAAAA////AQAA/gEBAQEBAQEBAQEBAQEBAgICAgAA/wEA///+AgEB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQEB/wAAAAAAAAAAAQEBAQAAAP8BAAAAAAAAAAIBAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQABAQEBAAAAAQEBAAAAAQEBAAAAAQEBAQEBAAAAAQEBAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAA////Av8AAAAAAQEBAAAA////AQEB////AAAAAQEB////AQEB////AAAAAQEBAAABAAAAAAAA////AQEBAAAAAAAAAQEB////////AAAAAAAAAgEBAP/+AQEBAQEBAQEBAAAAAAABAAAAAQEBAQAAAAAAAQEBAQEBAgICAQADAAEA/v8DAQEDAAACAQEBAQEAAQECAAD/AAD+AQAAAQEBAQEBAwECAgICAv8AAAAAAgAB/wEBAAAAAAAAAAAAAAAAAAAAAQEBAQEBAgICAgIC/gEBAgIBAQAAAQEBAQEBAAAA/wEAAQEBAAAAAQEAAQAAAAEBAQEBAQEBAQEBAQAAAQAAAQEDAQD+AQEA////AAAAAQEBAgAB/wEAAQEBAgICAQEDAgIC/wIAAf3+AQAAAwAB/wEAAQAB/wEBAwECAQMB//8B/wEAAQEBAgICAQEBAAMCAAIBAAACAv///wEAAgEBAAEBAQEB/////////v7+/gECAgL/AQIC////AQEB/v7+AAAAAQEBAAMCAQEAAAAAAv8AAP3+AgABCAMFAQMCDQsOAwECBgQCCAMD/v8BAQEB/gH/AAAAAQABAAAA/v7+AQEB/f39AQEA////AAAAAgIDAAAAAAAAAAAAAAAAAAAAAv8AAAAAAAEAAAAAAAAAAf8AAQABAQEBAQEBAQEAAP8CAAD+AAIBAP8AAAAAAAAAAAAA/wAC/wH+//8A/wIBAAH/AQL/AAABAQEBAAAAAAAAAAAAAQEBAAAAAQEB///+AQEBAAAAAQEBAAD/AAAAAgEB///9AAAAAAAAAAD+AQEBAQAAAQH/AQEBAQEBAQABAAIBAP7+AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAEA////AAAAAQEBAgICCgEKCg4RCBUDDiwOAAAC+/38+/v78vTx9f0JB/r5BAD9/fr1B/v4/vr4AP/9/Pr5+/z6/f39CBAP+vj5A/78/v37Dg8LAwMD/wEC/Pr5+/T/+/7/BAUDAv0E/f39+/3+BgUI//z99/X3AAIB/wEAAAIBBgkHBQUF9vr6AQcGAwMD/P38/QD+AwgH/wH++Pj4/wL/BwoTKSQuFCIjIxYbBwwHycK6583NAwD/AAAA/f//AgAA//7+/v7+/v7+/v7+AAAAAQEB/wIBAgEBAQICAgICAQEBAQEBAQEB////AAAAAQEBAQEBAAP/Af8AAAAA/gEBAAAAAAAAAQEB////AQEBAwMDAgICAgQDAwMDAQEEAAEBAgICAAEB/wEAAQEBAAEBAQEBAQEBAAAAAAAAAAAAAAABAAAAAQEBAQADAAH/AAAA////AAAAAAACAAAA/gEAAwAAAAIBAf4AAAAAAAAA////AAAAAAAA////AAAAAAAA/QD+AQAAAAAAAAAAAAAAAAAAAAAA/wEA/v//AAAAAAAAAP8CAAD+AAAAAAAA////AAAABAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEBAQAAAAL/AAEAAQAAAAEAAf4BAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAA/QAAAQAAAQEAAf//AAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQAAAP///wAAAAEBAf///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAf///wEAAQABAAH/AP4BAAAAAAICAgIC/wEBAQICAgICAgICAgIAAP8BAAAAAQL///8AAAAAAAAAAAAAAAAAAAAAAAIBAQAAAAAAAP7//wEBAQAAAAAAAAEAAAAAAQAAAAAAAAEAAQEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAEBAQEBAQAAAAEBAQEBAQEBAQAAAAEBAQAAAAEBAQAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAMAAf8A/wAAAAAA/gAAAAEBAP///wEBAAAA/////wEBAAD/AAEBAQAAAAAAAAAAAQAAAAAAAAEBAf7+/gEBAf///////wEBAf///wAAAAAAAAABAAEAAQEAAAICAgEBAQAAAAAAAQAAAAABAAEAAAEAAQEBAAICAgIBBAEBAQEBAQD+AQICBAICAgD//gEBAAEBAQAAAAAAAwEA/QH/AAEBAQMDAwMCAwL/AvsB/QEBAQAAAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQICAgICAgEDAgH+/wEAAAICAgICAv///wAAAAEBAQABAQEA/v8BAAEBAQICAgMDAwICAgABAAH+/wICAgL/AAEA/gEBAQH+AAIBAQEBAf8A/wEAAwABAwEEAwICBAAA/wMAAAD/AgICBP////8AAQD/AAABAv8CAP8AAAH/AgEBAwIC/gEBA/0CAP8BA/8AAgIC/wAAAP7+/v4BAAMAAQAAAQABAQIBAgECBP/+/gAAAQEBAAQBBAEBAQQBAgH//vr7+wICAAEBAQUDAwYEBAUEBwUDBAMFBAH/AgAA/gL+AAD/AP/9/gADAv4AAv8BAAL9/gAAAAAB//3//////wEBAAEBAQACAf8BAQABAQIAAf///wEAAAAAAP8AAAAAAAAAAAL/AP8BAQAAAAAAAAAAAAL/AAABAP8AAAAAAgEAAf8B/gAAAAAAAAAAAP///wABAf8BAAH/AAEAAAIAAQIAAQL/AP//AP8CAQIA/gEBAP8A//8BAgAAAAEC/wEAA/8A/wL/AQEC/wEB/wAAAQAAAAAAAAEBAf4AAAD/AAAAAAAB/gMAAQAAAP7//wIAAQAAAAAAAAAAAAEBAf///wEBAQAAAAAAAP//AAIBAQICAgEBAfwA/gL/AAEBAAICAgEGAP8E/v0EAvb69gICBAD/AgYKCQwCARQF/P//CQICBAACEfr8/vv8/fn8/fr7+wYD/vb29Pf39wL7+P/9/QIA/vLv7gEAAQIE+QYBCw36AwAAAAICAv///////wEBAfsB///9/v74+v///wAAAAcHB/n7+Pb6+vj9BwAAAgH/Avn4Avbz9v/4+A4NDw4aFwEG+wQICgUXF/H9/+z3+xEIBPr8+/j9+gsEBgAA/gAAAP////////7+/v///////wAAAAAAAQEBAQIBBAICBAICAgEBAQEBAf///////////wAAAAEBAQAAAAABAAH/AAEBAQAAAAAAAAAAAAICAwEDAgMDAwIFBAMDBQEDBQICAgACAwABAQEBAwEBAf8BAAECAgIBAQAAAAAAAAAAAP8BAQD/AAAAAAEBAQD//wAAAP///////wAAAAD//wEAAAEBAf8BAQABAQEAAP/+/wD/AAAAAAAAAP///wAAAP///////wAAAAAAAP8B/gH/AP8BAP8AAP/+////Af/////+Af8AAv8B/wAAAAAAAP8BAAACAf///wQBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEC/wAAAQABAQEAAAAAAAADAAEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQEAAAAAAAAAAAD///8AAAABAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAABAQEAAAD///8AAAABAQEAAf7//wABAQEAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAC/wH/AQABAAABAAABAQH/////Af4BAQEAAAABAQECAgIB//8BAQACAQEC////AAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAQEAAAAAAAABAQEAAAAA/wEAAAAAAAABAQEAAAABAQEAAAAAAAABAQEAAAABAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAABAQEAAAABAQEBAf8AAAEBAQEAAAABAQEAAAABAQEAAAABAQEAAAABAQEAAAAAAAAAAAAAAAABAQEC/wD/AP8BAQEAAAABAQEAAAD///8BAQH///8BAQEAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAACAgT///0BAQH///////8BAQEAAAD///8BAQACAgEA//8BAQEBAQEAAAAAAAEAAAAAAQABAAABAAEBAQABAQMCAgIBAQEBAQH/A/4BAf8AAAABAQEBAQAAAP4BAQAAAAADAAIBAAEDAQICAgIDAgL/AAAAAAAAAAACAgD///8AAAAAAAAAAAAAAAABAQABAf8CAgIDAwP+AgEBAP8BAAABAQEBAQEAAAAAAAABAQEAAAABAAEAAAABAQECAgICAgIDAgIAAQABAP8BAQEA/wIBAf8AAAABAQABAQABAQEC/wIBAQH/AgEAAQMBAQEEAAEEAwQBAAD+AQD/AAABAAACAQH/AAABAAAAAgMBAQAEAgMDAv3/AQECAgIBAQEBAQMAAPz+AQD/AgEBAAD/AgEC/wAAAAABAQECAgP+/v///wACAAACAgIBAAABAf///v8LBgYFBQUAAAAGBAQDAQL//wH8/Pz9/f0EBAEA/gD////9/v/9/gAB///9AP4AAgEB/wAAAAD+AP8CAgIBAQECAgL/AQABAQEA/wAAAAAAAAABAQEA//8BAQEBAAD///8AAAAAAAAAAAAAAAAAAAABAQEBAAEBAQAAAAEAAAD/AAAAAAIBAAD/AAD/AP0AAQD+Af4BAAIAAAABAQEBAQEC/wAAAAABAP4BAAEAAQEAAAAAAAABAf8AAAECAgIAAP8E/wIAAv4CAAEAAAAAAP4AAAABAQP///8AAP4BAQIAAAACAAH/Af7+/wEDAAH/AP8DAAEBAAEA/wAAAAAAAAEA/wAAAAAAAAAAAP/+AQIAAAABAQEEAAL/AP8AAAAA//3f4t/Y2NYQDg0oJiccGx8MCQwEAQQPDA0A//sEBAT7+fz+/v7/+vcEAQX7/f4B+/8A+/sOCAz79/j09fcAAf8IBQT49fYD//4DAwL+//z39/cEAgEBAQEAAAD29vb9/f0DCAYCAgQCAgL6+vr7+v39CwH2+fgAAAAA+wb7/f0AAP0EBQUJCQv9//8GCwYJDgkG/xAABQYGBAgMCw0FAP3Z1NDp3NoPBgL8AAD//wECAP/+///+/v7///8A//////8BAAEBAQEAAAMCAgIDAwMCAgICAAEB/wD///3///8AAP8AAAEAAAABAQEAAAD/AP8BAv8A/gEAAAABAQECAgACBAMEAwQCAwMBAwMCAgICAgT/AQABAAAAAAABAQEBAQEBAQL+AP8DAQEAAAD+AAAAAAEBAQD+AP8A//8BAAAAAAIAAP7//////wEDAwAAAAD/AAAAAAABAAD+AQABAQH+Af8AAAAAAAD///7//wAAAAAAAAAAAAAAAAAAAAD/AQAAAAD/////AQD//v8A/wL/Af8A/wAAAAD/AQD/AQAA/wAAAAAAAAAEAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAD/AAAAAQEBAAD/AQEBAAAAAAD/AAAAAQEBAAD/AQEBAAD/AAABAAABAAAA////AQEBAAABAAADAAAA////AAAAAAAAAQABAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQL/AAAAAAAA//8AAQEBAAAA////AAAAAQEBAAAAAAAA////AQEBAAAA////AQH/AAABAAAAAQAAAQAAAAAAAQEBAAEBAQEBAQEBAQEBAQEBAwEB/wIA/gD/AgEBAAAA/v//AAAAAAAAAQAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAP8BAAAAAAAAAAAAAQEBAAAAAQEB////AQEBAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBAAAAAQH/AQEAAAAAAAD/AQEBAAD/AQEBAQEAAAAAAAD/AAAAAQEBAAAAAAAAAgD/AAEAAQEA////AAAAAgAAAAAAAAEB////AAEB////AAEB////AAEB////AQEBAAAAAAABAAAAAAAAAAAAAAAAAQEE////AAD9AQEB////AAAAAQEBAAEAAv8A//7+AQEBAQEBAAAAAAABAAAAAAEAAQAAAQABAQECAQEBAgICAQEBAAAAAgIAAQH/AQH/AQH/AQEAAQH/////AQEBAAACAP8AAQEBAwMDAgEC/wAA////AQEBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAgICAgICAAIBAQD/AP//AQEBAQEBAAAAAAAAAQEBAP//AAAAAAAAAQEBAQEBAgICAgIC/wEAAf/+Av8AAQABAQADAAAAAgD+/wEAAv8A//8AAAAAAQADAQEBAwIAAv8ABAQEAQEBAQEBAAAAAwABAAEB/gEAAAAAAQABA///BwEB/gED+///AQEBAQEBAQEB/QD/AgECAAEBAQEBAQAA/f/+AAAAAf//Af8AAgABAgD/AQEBBAIDBAECBwgGAgICA/8AAgIC+/38/vz9AAL/AAED/QIA/gID9Pr4Af8AAwICCP4B/wD/AgEBAQABAP8AAQEBAAAAAQEBAQEBAQEB/////wAAAAAAAgECAQEBAP8AAAAAAQEBAAAAAAAAAQEBAP//AAEBAv7//gEB////Av8AAAEAAf8A/wH+AAAAAP8CAAAA/wAAAAAAAQAD/////wH+AAAAAAEBAP8AAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AgAA/QD+Af8AAAIBAAH/AAABAQEBAQH/AgAB////AQD+/QABAQEDAAAAAAAAAAAAAQEBAwEAAAAB/wAAAAAAAAAAAQEBAAAA////AQEBAAAA////AAAAAAD+AQD+AAACAAAAAQL/AP/+/v7+EgoRRj5FBQUF6+7txMPK8/X16uzuAQEB/QH9CgoKDwwMGBUUEA8NCQcFBAQCAQEAEAsI+vn6BQQCCAkHDAsH//38EhEO//37/v/4/PwBAAECCgkJ/f37BAQEBQn/AAAADgcK/v4A/////wEL/Pz8/wEADwwEBQUF+vr6BQUH+/3/+Pn98/X49fb48evv7Obr9e71AQcFA/n6JiYmCgwL9fbvA/r7//v//wX/Av8A//8B//3+/v7+/v39/f39////AgEB/wIBBAMDAgQFAgIEAQEBAQEBAAD+AAAAAAAAAAAAAAAAAgICAAAAAAAA////AAIB//8AAQEBAgIAAgICAgMDAgUEBAMFAQICAgIEAQEBAAEAAQADAAEBAAAAAQEB////AQEAAAAAAAAAAAAAAAAAAAAAAQEBAP//AAAA////////AAAAAQEBAAAAAQEB/wAAAAAA/wAA/wAA/wEAAAAAAAAA////AAAAAAD/AAD/AAD/AAAA/f//AQAAAAAA////AAAA/////wH+/wD/AP8BAAAAAQEB/gEA/wIB/v7/Af8AAQEBBAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///QEAAQEAAwEAAAD///8C/gAAAAEBAf8AAAEBAf//AgAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAf///wAAAAEBAf///wAAAAEBAQAAAAAAAAAAAP///wEBAf///wEB/wAA/wAAAQAAAAH/AAABAAL/AP8BAAAAAAECAgEBAQAAAAICAgMBAgEB/wEBAAIBAQIAAP///wIBAQAAAAEAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAQAAAQAAAAAAAAAAAAEBAQEBAQAAAAEBAQAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAEBAQAAAAAAAAAAAAMBAQAAAAAAAP///wEBAQAAAAAAAAAAAP///wEBAf///wEBAf///wEBAf///wEBAf///wEBAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEBBP///QEBAf///wAAAAEBAAEAAAICAgEBAQAAAAEBAQAAAf///wEBAQD//wAAAgEBAQEBAQEBAQEBAQEBAQD/AgEBAQEBAQEBAAEB/gEBAQAAAAEBAQAAAQEBAQEBAQICAgIBAv8AAP///wEBAQAAAgAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQICAgEA///+/gEBAQAAAAEBAQH+//8BAAEBAQAAAQL/AAABAQICAgEBAQEBAQEBAAEBAQEBAQD//wEBAf///wAAAgEB/wEAAgAA/wEAAwEBAQMCAAUBAAQAAQYCAgP+/gEA/wEAAAMBAAIAAf8BAP3///8A/wX//wgDAv/9AQAAAPv/AAIAAAIB//8CAgAAAP////7+/gEAAAAAAAMAAQIDAgP//wkICAoKCgcFBgcFAwcHBwH//v/9/QD+AP8B/wMDAwEBAf////n9++/z9Pr+/QMFBAMBAgcDAgQEBAP/AAEBAQAAAAAAAP/+/wEBAQMBAQABAQEBAQEBAQD///8A/wABAAL/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA/wEBAQD/AAAAAAAAAAAAAAAAAAEA/gAAAAAAAP8AAgAAAAEBAQD/AgAAAAH/AAAAAAL/AAABAAAAAP8AAgH/AQAB/gAAAAAAAP///wAAAAAAAAAAAAH/AAAAAAAB/gIAAv8AAAEBAQD/AgEBAAL/AP4BAAAAAAAAAAAAAAAAAAEBAf////4B/gICAv8A/wAAAAABAP8A/wAAAAABAAL/AgAA/wEBAQEC/wEAAP//AQEBAQEBAf0C/t7j3////RMRFCssJwkJCwsKDQcIBQABBPf39/Dv8uzs7vP2+Nvf5fb49/L19P/38/Pz8vT39vr6+P78+gYEAwD++/z7+wABBP7+/gIA/wYGBvX08wQEBPr6+gEBAfz8+gAAAvb49wUEBgACAff3+f8BAff39/v68gwMDP////37/AIBAQoKCBQREgkJCRoeGQsTCu/27MrR7f/5+wEEASEQFfnv7gL++////f/+/v7+/v78/f39/QH+/wD//wACAQEAAwICBAICAgEBAQAAAv///wAA/wD+AQABAQAA/wEBAAAAAAEBAQAAAAEBAQACAf//AAAAAAMDAQICAgMEBAIDAwIEAwEEBQICAgEBAf///wAC/wEAAgABAQEBAf8A/wIAAQAAAAAAAAIAAP8BAAAAAQD///8AAAAAAAAA/gEBAQAAAAAA/gEBBAAAAAD//wABAQAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAAAAAP///wAAAP///f///wAA/wAAAAAAAAAA/gAAAf///wAA/gAA/wEB//8C/wAAAAQBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAA/wAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD///8AAAABAQH///8AAf0AAAEBAAP///8BAQH///8BAQH///8BAf4A/wL///8BAv8AAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8BAQEAAAD///8AAAABAQEAAAAAAAAAAAAAAAD//wABAQEAAAAAAAABAgEAAAD+/v4BAgEAAAD/Af4BAQEBAQEBAQECAgIB/v4BAQABAAABAQAAAAAAAAABAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAEAAAAAAAAAAAABAQEBAQEBAQH///8AAAABAQEAAAAAAAABAQEAAAABAQEAAAAAAAABAQEAAAABAQEAAAABAQEAAAABAQEAAAABAQEAAAADAQEAAAABAQEAAAABAQEAAAAAAAAAAAD/AQECAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQH///8BAQH///8BAQH///8BAQH///8BAQH///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQL///8BAQEAAAD/AP8CAQH//v4BAQEBAQEAAAAAAAEAAAD/AAABAQMBAAEAAQEBAQECAgIBAQEBAQH//gMBAQMAAAIBAQABAQEAAAAAAP8BAQIAAAAAAAABAwICAgIBAAEAAAACAgIBAQEAAAEAAAAAAAAAAAAAAAD///8AAAAAAAABAQEBAQEAAQEBAQABAgIBAQEBAQH///8BAQECAAH9AP8C/wAAAAABAQECAAEDAgIBAQEBAQABAQEAAAAAAAAAAID/fwEAAAABAQEBAAAAAQEBAQH/AgABAQMB/wQBAAYBAQUAAQcAAQYBAP8AAQEBAAL9/wMAAP4BAAACAfsBAAX+/wj/AP8B//8AAgACAAIA/wH+/wMA/wAAAP8A/gMAAAICAgEBAQQCAwUFBRsaGAAAAAQBAv7+/gD+//37+gQCAgAAAAAEAvn8/P39/fv7+wEBA/8EAv4A/wMFBAQCBAQCAQQEBQQBAgAB/wAAAP///wAAAAEAAAAAAAAAAAIAAAAAAAEBAQEBAQAAAAL/AAABAAIBAP//AAAAAAEBAP8AAAAAAAEAAQD/AP8AAAL/AAAAAAEBAQEAAAAAAAH/AAAAAAAAAAAAAAAAAAEA/v8BAAD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAD/AgAB/wAAAAAAAAAAAAAAAAIAAf8A/wAAAAIAAAAAAAAAAAAAAAEBAQL//wAAAAL/AP4BAAAAAAAAAP7/AQEA//8AAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAEAAf8BAAEAAP///wAAAAACAQL/AggNBwv9CwD//fL48Pf69fPx8woHCAgIB/kA/w0KC/r6+vj4+A4NChYUG/4A/uvr6/TyCg0OIgMAAfn49uTi4gkKBwUCAfP08fX3+fz5+gYFAwEBAPr3CAYHBP////j4+Pv49QcHCf3+APj6+f38//n5BgQHBvn5+v34BwMEBvz8/gQGBf8BA/r8+wYGAAIG/OLj2xH7GOjm5RkUGiUkJAIE/wDq8vn69gcCBP/+AP7//v78//39/QD9/gAAAAICAgEBAQIDAwEDAgMCBQECAwEB/wAA/wEAAAABAQEAAP8CAQAAAAAAAAAAAAEBAQAAAAACAQAAAQEBAQICAAIEAwMDAwMEBAMEBP8CAgICAgAAAAAAAAD/AP8A/wL/Af///wMCAQEBAQAAAAAAAAAAAAIAAP4AAAAAAAAAAP///wAAAAAAAAAAAAEBAf///wD//wAAAAD//wABAQAAAAAAAP4BAAABAAAAAAAAAAAAAAAAAP////////8A/f4A/wL/AP///////////wD//wD//wAAAAAAAAAAAP8BAAEAAQAAAAAAAAAAAAQAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAD+AQAC/wAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAA//8AAQH///8AAAAAAf0BAAH///8BAQH///8BAQH///8BAf4A/wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8BAQH///8BAf8AAAH///8AAAABAQEBAAAAAAABAQEAAQEB/wD+AQEC/wABAQEBAQEBAQEBAQEBAQABAQED///9AQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQIAAAD+AQAAAAAAAAABAQIAAAAAAAD///8CAgIBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQEAAAABAQEAAAABAQEAAAABAQEAAAABAQEAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAH///8BAQEAAAAAAAD///8BAQEAAAD//wIBAf4AAAD///8BAQEBAAEBAQEAAAABAQH///8AAAABAQH//wEAAAAAAAAAAAABAQEBAQECAgIAAAABAAMBAQMBAAIA//8BAgEAAAAAAP8AAAEAAv8B/gEBAQEBAQEA/wABAQH/AgEBAQH//wAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEAAQEBAQD///8BAQEBAQEAAAABAAAAAAABAQEBAAEAAAAC/wABAQEBAQEBAQEBAQABAQEAAAABAQEBAQAAAAAAAP////8BAAEAAQECAAEBAQEBAQEDAgIG/wAFAAAG///+AgEA//8C/v4DAQEA/wD/AQL+AQAD//4FAQH8AAL7AgD8AQAA/wD///3+/P0CAgIHAwQDAwMFBQUDAQEAAAACAgL7+fj+/v79/wAAAAACAwMCAAD9/f37+/v6/v38//4EBAQBAgMBAgICAgX///b//wAB/f4B/wMCAf8B/wD/AAD///3/AQABAQEB/gIBAQEAAP8AAAAAAAD///8AAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAAEAAAAAAAAAAAAAAAAAAAAAAP4AAAIAAAAAAAAAAAAAAAAB/wD/Af4A/wAB/wAAAAAAAAL//wABAQAAAAAAAAAAAAAAAAAA/wIAAP4AAAAAAAIAAP4AAAAAAAAAAAAAAAAAAAAAAAAA/wIAAQAAAAAAAAAAAAADAAH8AP8AAAIBAQABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///0AAAL////////+/v4AAAAAAAABAf8I/Afq4On+AvwIDAv4Av71/Pzu+O8N/gsFAwP6/Pv08vMICAj98vzx8/Hw8/Dz8/H5+fnz9QkIBwf++/r6/Pvz6vENDwwAAwT39/L7+/sDAwn39vT39/cJ+QYKCgr//gEGBgj8/f0LCw37/P4BBP7+/v/7+fsFAgMADBX+/v77//kGBQkEBAQA+PYDAQEFAAMUExX9AAMODxIfGB4aEhjy8+v17OcHAPn9/Qn+/v7+/fz8/Pz++/wAAf8CAAECAQECAwMBAgIEBAQDAwMBAgICAf8AAAAA//8AAAEAAAACAQH+AP8AAAABAQMBAQEBAQH/Af4BAQAAAAICAgACAgICAgICAgQCAgL+Af8BAQEAAAD///////8AAP3/AP8A/wEBAQEBAQEAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAP4AAAD///8AAAD///8A//0A/wID/wD/AQABAAAAAQH+//8AAAAAAAAAAAD///////////8AAAD///////8AAAD9AP8A/v4AAAAA//0AAAAAAAEA//////7//wEBAgH/AP//AAAA/wABAQEEAAAAAAAAAAAAAQEB///9AAAAAAAAAAAAAAAAAAAAAv8AAQEBAAAAAAAAAAAAAAAA////AQEB////AQEBAAAA////AQEBAAAAAQEBAAAA////AAEBAAAAAgEBAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAH+AAABAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAf8AAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAQEBAAAA////Af8AAQAB/v//AAAAAAAAAAAAAP7/AQAAAQABAAAA/wEAAP//AAAAAQEB/v//AP8AAAD//gH/AAH+AwABAAAA/QEABAAA/QD//QEAA/8C/gH/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAQEBAAD/AAAAAAAAAQEA/wD+AAABAAAAAAEAAQEBAP8AAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAQEB/AABA/7+BQME/Pz8AQEA/wEAAQEBAAAAAv4A/gABBAYF9/n5BwcJ//z9/v7+AwIB/wEA////AAAAAAAAAAAAAQEB////AQEBAAD/////AAD/AAAAAAAAAQEB////////AAAAAQEB////AAAAAAD+AAAAAAAAAQEBAv//AQIBAQICAAIBAAAAAv8A/gEC/wAAAgIBAP//AP8AAAAAAAAAAAAAAAAAAAAAAQL/AAD+AAEAAQIA/v//AQEBAQEBAAAAAP4BAQEB/v7+////AgID/wAAAv4A//8BAv8AAAAAAAAAAAAAAAAAAQEBAQABAQABAAAAAAAAAQEDAAMAAv/+AAAAAv8A//8A/gEAAAAAAv8AAf8CAAAAAAAA/gD/AAEB/wH+A/8AAP/+/wL///3+Av8BAAAAAAIAAAH/AAABAf8B/P/+AQEBBQIDBP7+BgAABgED/QD/Bv8EAwEA+g0CAAYJBAAC/vwAAv3yA/4BBPz/DAAD/f37+f/9BQYIBwUICAkDAAAA/wEAAAAA////////AgABAf8AAgIE+f36+f789/f3Af7/EA0M/v7+Af7/AgIEBgME//7/AgIC////AP//AQEB/wD//gIA/gL//gEA/wEAAP8AAAACAf8AAQAB/QIAAf//BAAD//4AAQED/wEA////AwECAAAAAQEA/v79AAIB/////wADAgEA/gAABP8B/v8A/f39AQEDAAAA////AwMBAAEBAAEB/f39AgIC/v0AAwMC//8AAAIA/f4AAgD+/v/+//8BAgIAAQH/AQECAgIA/PwA/wD7BAQE/Pz7BAMF/v7/AAEAAgQD+/79A/4FAQH//gAB////AAD//wD9AP8AAQEDAAL//vz9AgEE/v7+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/wECAgACAQH/AAAAAP///wEBAQACAQEBAQAAAAEBAAAAAgICAAICAgIDAwAEAwEEBAECAgAAAAEBAQAB/gD/AAAAAAEBAQAB//8AAAAAAAAAAAEBAQAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///7+/gICAQD//wAAAAAAAP///wD//wAAAAAB/gD/AAAAAP///////////wAAAP///////wAA///+/gAAAP///////wEAAP4A/wEBAf8A/wEBAQAAAP4BAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD///8AAAABAQEAAAD///8BAQH///8BAQEAAAAAAAD///8BAQH///8BAQEAAAD///8BAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAABAQEBAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH//f0DAwUIBQUAAAABAQH+AP0B/wIAAAABBP//AAL+AP////8A/f0BAgICAgL///8AAAAAAAAAAAABAQH///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQH///8BAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEA//8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///4AAAAAAAAAAP4AAAAAAAABAQEA//8AAgEB/wAAAAAAAAAAAAD+AQAC/wAAAAAAAAAAAAD+AQAAAAAAAAAAAAD/AgEAAgADAgIDBAEA+/8C/QAAAPsF/wIGBgUCBgUAAQMAAAACAP7///8BAgEA/gQABwMKFxX9//z5/fwAAQEA/v/9/f0DBAP////7/f3+/v78/v39/f3////////8/f37AP4B/wL/AAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wD///////8AAAD///8A//8BAQEAAAAAAAAAAAAAAP7//wEBAQH//v8BAAEBAQEDAAH2Af0GAQEA/v8BAv8C/wIAAAECAQAA/wIA/wAAAQEAAQD+/////wABAgQDBAIAAAD+/gAAAQH8/f8AAAD///8GBgT9AAD8/f7+BgP2/AAEAAYEAgAA/f4DAf8FAQYB/gD5/fsCAQH9/QACAgICAgD7/vz/BAD7APz9/wYDAQEBAAUB/gEA/wAAAP78AfsA//4B/wUA/v75/f0FBAcABQX6+vr7/fwB/wAAAAMAAAAAAAAAAAD///8BAQEAAAAAAAAAAAIAAAD//gH/AwD+//8C/wICAgIBAQX7/fz09vUGCAcGBgb5+fcCAvv8/PwFBQX6/gEGDQsWCAT9+/oVEw8GBgT6+PkCAgL09/L29vb18/L+//wEAgL6+/j08fD+/v4ICQX8/Pzy8vL7+/sDAwEFBAT4+PYDAwMD//z///8CBAMBAQMCAgIAAgT+/v4CAgL5/QAGBgb4+fr+/v4GCAf///8GBgYPDw4LChL18/YMCPgEAgIJDAcD//738vH/+vgAAAb//QD///8B//8CAQH/AgEDAwMEBAYABQEEBAQDAwMBAQEAAAABAQEBAQH/Af8BAQEAAAAAAAAC/wD/AQACAgIAAAAAAAAAAP4BAQEBAQEBAwIAAgQCAQQDAwMCAgQAAAEAAAAAAQEAAQEAAAAA/wAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAA//8AAAABAQEAAP8AAf4AAAAAAAAAAP4B/wIB//0AAAIAAP////8BAQEAAAAAAAD+AQAA/gIAAP4AAAAAAAAAAAD////////+/v7///8A/f4AAP7///////8AAAAAAAD///8AAQD/AQAA/wAAAAD+AAIA/wAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AQEB////AQEB////AQEB////AQEBAAAAAAAA////AQEBAAAA////AQEBAAAA////AQEBAAAAAAAAAAAA/wEAAf8AAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAH/AAAAAQACAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAgAA/wEBAQIAAAAAAf/9/gAA////Af/+AQEB//z/AAP//wABAf//AAEBAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEB/wAAAf8AAQIBAP//AAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEB/wAAAAAAAAAAAQEBAP//AAAAAAAAAAAA/wIBAf8A/wEAAAIBAAAAAAAAAAACAAD+/gEAAAAAAAAAAAAAAAAAAAAA//8BAAD//wAAAf7+AP7/AgEBBAMBBQAEAvz8AwUF/wIC//0A/wEAAgICAAH9/wD+AQEC/wAAAgUE+vj6Af4BAAD+/wICAwYF9/f1/v7+/P79/v7+/QD/AQEBAQEBAgMCAQMEAf4B/wIBAgAAAgICAQEBAAD/////AgABAAAAAAAAAf8A/wAAAAAAAf8A/gD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AgIAAwICAP0AAAAA/f39AgAAB/8EA/8CAAL/Af8AAAAA//8BAAAA/f3+AgACAQMABAIA/gAB//8A/v4A/f0A/f3//wYB//8A/f7/AgIC/f/8A/8A/v7+AAD+//sG/gD5/wL++wADAgMG//8A/gD6BAMA/wQFAwAB+//7BQEC/gD///0DAwMB/v4AAAIEAP8AAv4AAQAAAQD+/wH+AQIG/gEAAP7/AwQEBQQA+/7++/r9/P/+BgME/vz9AAACAAABAAAA////AAAB//8AAAAAAAAAAAAA/gD//gEAAf///////QAA/wEAAQAB5+Xm1NbV9vb2CgoKDQ0NFxcXBQQHCAgIDgkE/ggGBAQEAgMB+Pj2+f4C9vn4BgYG/f7+/QD9AgcFA/8BAgD/BAEDAwgEBwIDAwD9BAMF/QoIAgIIAAAA/v7+/Pz6AwMDCwYM/Pz8AwUE+vr6BAQG/wIBAwMD/v0AAwf9/f8AAwMCBAYFAQADBAQDDg0PCQgKFhQV9vb2CAr/BwP+y8u80NLUF/f1FAYD+fz+/wEAAv8BAQICAQEBAQQDBQQHAwQEAQQEAwMDAgEDAQEB////AQABAAAAAgIBAAH+AQEBAAAAAAAAAAAAAQEBAAAAAAAAAP7/AAEBAgICAgICAQICAQQEAQIEAAEDAQAAAf/+/gAAAQEB/////wL/AQAAAAH+/wEAAAEAAQAAAAAAAAAAAAAAAwEB/////gAAAAAAAAAAAAAAAAAA////AAD9AP8BAP//////AAAA////AAAAAAAAAAAAAAAAAAAAAAAA///////////////9///+////AP8A///+AAAAAAAAAAAAAAAAAQEBAQEA/v//AAAA/gEAAQABAAIBBAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAP///wEBAQAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAAAAAAEAAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAEAAAAAAP8CAP8BAf8BAP7//wEAAQEBAQACAQIAAf7+/v8AAAAAAAEBAQABAf///////wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAEBAQAAAAEAAAAAAAAAAAAAAAL/AAABAQAAAAL/AAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAL/AAABAQL///4BAAAAAAL/AP4BAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAEBAQAAAAEBAQAAAAL/AP8BAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAgD/AAAAAAAAAAAAAAAAAAAAAAL/AAACAQAAAAEC//////7+/vz/AvsBAAABAv4A//8AAgICAAIBAAAAAAABAAAAAP8BAP/+/wQCAwL7/f/9/ff7/Pb7/PX6+gUAAP4A/wAAAP8CAQIBAgEBAQEBAQEBAfv9/f3+/QAAAgH+/v///wAAAAAAAAAAAP8BAAD//wAAAP8BAAD/AAAAAP8BAP8BAAAAAAAAAAAAAAEBAQABAAAAAAAAAAAAAAAAAAAAAAEBAf//AP///wQGBfz6+/8BAwUBAgAAAP79Af8CAP//AP3+//z//vv7/PkA+P39/fb2+Pb39/r6+v7+/gQEBAEBAfX1+AAAAAEBAQUDA/f39/7//AMDAwkJCe/u4AwKDw8NEff09PLv6AUEAgYDCP/8Afv98AEDBQYICQIGBQACAwoODvn6/AEEAwb7AQYHCQcLDQgJDQgGBwUDBAb+AAQA/vwCAvr7/QUEA/z9//r9/QIEBf8DA/z8/gX//wAAAAEBAQAAAAAAAAAAAAAAAAAAAP//////Af////8BAf4AAAD+/v79AAIB/xENDDQwLxASEgMFBvL09ujo6uTh5PPz8+rw9Pv4+fj38wsKBwkHAxIOCwQDAAsLCQYHBAMBAgAA/wMEAREPC/77+wH8+gYJCQcCBf7+/gEIBQEBAQMDA////wYC//39/QYIBgP8AgEBAQoNEP39//////b49wAAAvLy9vz9/vTz+Pf4+/T0+PHw9Pv7/fz8/Pb6+xAODygmJD49OhodLCguPPnY2s/BtQcE/QIBAf4DAgEBAQIDAAQFBwQEBgQDBQEFAwICAgICAgAAAAAAAP8BAAEBAQAAAAH/AgEBAQAAAAAB/gAAAAEBAQAAAP///wAC/wECAwEDAgACBAECBAICAgICBAECAgD//wD/AAEBAQD//wEBAf8AAAEBAQAAAAEBAQEBAQEBAf///wAAAAAAAAAAAAAAAAL/AP4AAAAAAAAAAAAA/gAAAQAAAAD//f/+Af4ABAIAAP8CAv///wAAAP///wD//////////////////f///gH+/wH+/wD///7/AAAAAP///wAAAAAAAAAAAP4BAAD/AAAB/v8CAwEAAAECAgACAQQAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAD///8BAQEAAAAAAAD///8BAQH///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQEAAAD/AP8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAf8AAAABAQEAAP8A/wEAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAD///////////0AAAD/AAAAAAAA///8AP8DAQH/AAAAAAAAAAAAAAD///8AAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQH///8AAAAAAAAAAAABAQH//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAABAQEBAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH/AAAAAAD9AP8CAAAAAAAAAAABAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgL+AAD///8A/gEC/wAAAAP/BAL8AwQKBggAAQT/AP8BAAEAAAD/AAAA/gEBAwL8AAAC/v8A/v727fD8/v76AgH+BAQFBgYB/fwC//8AAAD/AgH///////////8AAAADBAH+/AAAAgAB/wEB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQD+AQD///8AAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAD8/P0CBAP7/v0AAAIAAAD+AgD8/gD3+vn6+vr6/vz6/Pz8/v75+/v9/gQBAQH+/gL9/wn/Awf9Av7+AQH+/v4AAvwCAgD+/v74/Pz9AgADAwf+///y8/UG+gjt7unvAucJDA0MDRb/AQD09PP7/PQPDRv////09/j88voBAAP79Pb7+fr39/cKFREA/e789/H49PD9/f0JDBMQFRwNEBYPCwwQDg/9/f4CAgICBAMBAgL6+vsBAgIAAAAAAAD///8AAAD///8AAAABAQH///8AAAAAAAD///8BAP8AAP8AAAD///8AAQD39fbw8vHu8PAAAgP+AAISFBMfICANDQ4LCAMJCAv8/P7y9PXu7vDu7u7q6+38/Pzl6Ovm5ub39vX4+Pb08/H8/PoA/v319fX/Av39/f36+vr///8DBAECAgIDAwH+/v4G/wAEBAQCAgL6/f339/f/AAADAwUJCQkIAAUICAj+APsICwYWFxEcHw4NDQoQEQwaGCMVExgLCg4TERQVDBLz9/X5APj/Aff/AgcA/wQDAQMBAwIBBAEDBQUEBQYCAwQDAwIBAQEAAAABAQEAAAD/AQABAQEAAAAAAAABAQEB/wAAAAIAAAAAAf4AAAAAAAD/AAMBAQECAQQAAQMCAgMCAQQBAQEB/wL/AP0BAQMB//z+AAAAAAAAAAL/AQAB/wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wD/AAAAAP4AAAAAAP7//wEBAQEAAAAA/v//Af////////8AAP8B/v/+//////3///7///3+/v4B/v/+/v7////+/v4AAAL///////8AAAAAAAD+AQAA/wD/AQABAAD///0BAgQAAv8CAgMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAA////AQEB////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAB////AAAAAAAAAQEB/wD/AAAAAAAAAQEBAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AwEBAQEBAgIE//78AAAA/wAAAAAA/////QEA//8A/wAA////AQAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAQEBAQEAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEB/wAAAAAC///8AAAAAAACAAD9AAAAAAAAAAAAAAAA/gEAAgAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAD/v7+/f7+BAMDBQUHAgUGCQgIBQUDAP4B/wIEAv8AAP8A/gH//gD+AwICAP8AAAEAAgIA//H1Af//AgYDAAH//v//APz9AAEAAAAA////AP3/AQAAAAAAAgICAwEC/v7+////Av7/AAAAAAAAAf7//wAAAQEBAAAA/gEAAAAAAgAAAAAAAAAAAAAAAAAA////AAAAAAAA////AQAAAAAA////AQEBAAAAAAAAAAAA/gEA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AfH07gL+/f8A/fTx8f4ICAEBAfr4+fn19gUFBfv7+v/+/PX09AcHBQUDAf7+/vz6+gUFBff5AAYGBvv9/gMFC/X29wICAvX4+woKCgQBAPj4+gEAAgEBA//+/gYGBgcGBgIBAQsNEAkJDQ8TBvX+88DHv7C3uRTz9i4hFwP++gICBAEDBAIEAwMFAwQEBAEDBAAAAAIBAf///wAAAAEBAQICAv8BAP4BAAIAAAH/AQEBAQEA/wEBAf///wABAQAAAAAAAAABBAICAgACAgICAwEBBAICBAIAAQABAf//AAABAQD+AgAA/gAAAAAAAAD/AgABAAAAAAAAAAEBAQAAAAAAAP///wAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAH/AAAB/v///wL+//8B/wD//v//AP///v7+/v/9/v///////////////wD///////////8A/f//Af4A/wABAAAAAAEBAQACAQEAAAAAAAIDAgEBAQEDAgECAAACAAQAAAAAAAABAQH///0AAAABAQH///8AAAAAAAAAAAABAQEAAAD///8AAAABAQEAAAABAQEBAQEAAAAAAAAAAAD///8BAQH///8BAQEBAQEAAAAAAAD////+AAACAQEAAAD///8AAAAAAAABAQH///8AAAABAQEAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAD/AQAAAAAAAAAAAAAAAAAAAAAB/wABAAH///8AAAD//wEAAP8AAAABAQH+//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAABAQEC///+AgAAAAAD/wD+Af8BAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAf8AAAAAAAAAAAABAQEAAAAA/wEAAAABAQEAAAADAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAgIAAAD+AP8AAgEBAQH/AAABAAD+AQABAAH///8CAQEA/v4AAwMAAAAAAf4BAQAAAAABAQH///8AAAAAAAAAAAD///4AAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQH///////8AAAAAAAABAQMAAP7///8AAAD/AAABAAAAAAD/AQAAAAAAAAD/////AAABAQEAAAAAAAD/////AQABAQEBAQEAAAD+AgEF/wEB/wD8AgAD/gAC/gD9AgEBAAD/AAAAAAAB/wAAAAAAAAABAQEAAAAC/wAAAAAAAAAAAAAAAAD+AQAAAAAAAP8BAAAA/wMAAQQBAAIAAf4AAAAA//8AAP8BAP77/wIB/wIAAAABAAAC/wAAAAAA/v//////AP///wAAAgH//////vwFAgP//wACAgIJCQYFAwQBAQEC/wD0/f7+/v4CAgIGAQX//PP/9f34/wEICwoC/wQC//8AAv7/AP4BAAH59ff5/f38/wL7/gD9AQT+AgL7AP4AAAAAAAD///8BAQEAAAD/AQD/AP/7//7//////////wH///8AAf7/AgEA/QEC/gIAAf7/AQAAAAAB/v8AAAABAQEB////AAH//wAAAAD/AQAAAAAAAAAB/v8BAAAAAgH+/v8GBAQAAAD9//79AAEQFBMBAv/+/fXn7/v8/P76+fwKCgwDAwT6+voLCwsNDQ0PBfoEBAQFBAUAAAAAAAD8/P76+voCBQQDDgT9/f8DAwH9/f//AQD8/PwEBwX19fYDBgcGBgIDAgH4+PYEAf8CBP4CCgL7+/oEAv78/Pz6/P8RExT9/f0AAAAGBgYUJQH48ef49vf5+fj29e7y6+76+vr8+/739vb3//gLBw8bGSMBAwb8AP0B/gD//v0AAgH///8CAgIAAAD///8AAAAAAAD///8BAQEAAAABAQEAAAD+/v4BAQH+/f0BAQH8/PwFAv8RDw37/gc2IDAFAwfu7fTq7fXh5OjS0NcKCgrCwckWFhIMCgcREQoAAP0IBgQCAf////4CAv/9APoHBQP9+foBAvwFBgUF/wH59/wUEg75+fcAAP8JBwb/BgUGBgb5+/r8/PwMDQgGBwcF9QAKCQkPDw/o5+oAAgH+9f7x8vYEBQr6/ADX297w8vXw8fMJ/Afs+vX/AgE4KS8/Pz51Ymz7Cv3v3d3nysICBQIDBgUFBQYCAAMDAwMDAwP///0BAQH///////8BAQH+AAABAAEBAAEAAgEBAQb/AP3//v0CAP8B/gD+/gH//wAAAAEDAQEAAAIBAAL/AQMCAwQAAgEBAQP/////AAQA//3/AQAA/wABAQECAQABAf0AAQAB//4B/wAAAQMAAAAAAAAAAAAAAAAAAAD///8AAf4A/wABAQMAAP3+AP8AAAIBAAEAAP7//wEBAP/+/f////8AAAAA//0AAf0A/P4A/v4A/f4A/v7////+/v7/AP0AAAAAAfz/AAEAAAABAQEA/wAA//0BAQECAwP9A/8BAQMAAQP+/gEHBQcEAAAAAAAAAAAAAAACAAD+AAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB/wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEB////AAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAD/AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wD+///+AAAAAAAAAQEBAAEBAP///v//BAEA/wEB////AQEBAQEA/////wEA/wAAAwMD/vv6Av8AAAH+BgMEAwECBgQEBQUF/gAA/f39//z+BQcGAQMC/P789vXz+PX2CAP+Dg0E/////vcDAwP8AgICAwMB/Pz89/37Av79/AEC/AIC+v/7/P7/BAED/wAAAQAAAAAAAAAA////AAAAAAAAAQEBAQEBAAAAAAACAAAAAAAAAAAA////AQABAAAAAAAAAAAAAAAA////AQEBAAAA////////AAEA////AAAAAAAAAAAAAAAA/gEAAgAAAQEB/f39////BAUGAAAAAwMFBQQAAQEB/gH4AwYBDgsFAf/6//z3DQwGAwL08O7s6gMK/v7+/Pz8+vr6////AAAA/f39AwQECwcA9fX1AgABBwcF/f/+8/PzCAgIBQUF+fj/AAD+BgcE+vr6Af/+/Pz8/P79+fn7Bv/69fX1/gD99/f3AAAA7e3t+/v7+fn5/AH8+Pn2/fr5+/r6/vz7/f3/BgYGBAQEDgcHBwP8AgIC+/39////BwYH+vr6/Pz9AAYG////AAAA////AQEBAAAAAAAA////AQEB////AAAA////AAAA////AAAAAAAA///9CAgG7enoyMzl/Pf7EBAUDxIXLjEiRUYxCQkJBwcJ+vn88vDz+fn5/Pr69/f35e7v6+zp6Ojn/v37+/v3+/r4+/v7BgQD/v0B+/v5AgIC9PT0/fz7/////v7+/v78+/b/AQIC9Pf2+vz7BAQE/wEB//8BAQEB9vz6BgQCCgoICAcEDQkGDQwJKCYbBwQDFhYQBg4OGhcbJhomAgYJGxAV9/r29t/kAQEDCAgKAQIDBAQHAQEBAQEBAQIC/gD/AP3+AAAAAAAAAAAAAQEB/wEBAgIEAAIBAQABAf8BAQEBAP7//wAAAAAAAAAAAAAAAQICAAEBAQEBAQICAQEBAQADAAAAAQEBAf/+/wAAAAAAAAAAAAAA////AQEDAf8AAAEA////AP//AAAA////AAAAAAAAAf/+/v//AAAAAAAAAAAA/////wD/AQEAAAAA////AAD/AAD/AQAAAP///////v/+///+////////AAAAAAAA////AAAAAAAAAAAAAf0BAQEA/QIAAQEAAgD+AAAA/QIAAQL9AfsBAAX/AQL//wIB/wMABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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//8BAQEBAQEBAQEBAQEBAQMCAAMAAAABAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//7/AQIB//7/AAD///////////8A/v///vz///8AAAAAAAD///8BAQH/////APwB/QP///8AAAAA//8A//0BAAD///3//wD///8AAAD///8AAAAAAAAAAAD9AP8A/wD/AAAAAP8CAgIBAgIBAwL/AQD/Av7/AAIFCQwNFBgSGR0EAQEB////AAAAAQEB////AAACAAAAAAD+AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAQAAAQAA/wD9////AAABAQEBAQEBAQEBAQAAAAAB/gMA///+AP3/AwABAwEDDQoKCgoK/gEA/fj4BP3/AP79AwcBAAQE/P7+9/z69fX1AQH/AAAAAQEBAgQD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AwYLCAz8+fwNDhQCBwUFBgUD/APx8fIHAwUD//8AAwP6/v0AAgEA/gEBAQD//wMB/v8BAQAAAP4AAAIAAAAAAf4AAAP+/v4A///+/v7///4AAAAAAAAAAgEAAAD/AQMBAAAAAAIAAAAB/v//AgABAQEAAAAAAAAC/wD+AAAAAAAAAAD///8B//8AAwD///////8AAAD////+/v4A//////8A/vz+/v7//f7+/v7+AP8AAAAB///+/wD///8BAQEAAP4AAAD/////AQAAAAAAAAD//wEA//3//wH/////AP4AAAEAAAABAQEBAQH/////Af4AAAP/AQD+/wEBAwQGCwsJDQ0NGiQNDBAGCA3/AAMEA/8EAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAA////AQEBAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAEAAAAAAAEAAQEBAf8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAQEB////AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAD+AQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AQAABAQCCQQGAwQBAvsAAP8AAPz9AQEBBAQEAAEB8fPy7vPx9v4AAv8AAwD/AAQF///9AQEBA/3/////AQQEAv8A/v7+//7+////AQEBAAAA////BAEAAgAB/wEBAP///v7+AgIC/wAC/f38BAIC/gEA/f39/v7+AgMCAQEB/QIA/gD/Af//////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAEBAAAAAAAAAAAAAAAAAAAAAAAA/////v7/AwMD/wMA/f//Dw8P+/v7BQME2uHf9/XzDw8NAgH/AP3+EhIRCAcHAQEBAf8BAf4A//v89/f39fT0/Pn5AQL/AgMC/v/8AAAABgYG/v/8AAD/CQkHAQEIAAAAAf8D/AH2/f//AgYD+Pz8/wcL+fj4AwgDDwMD9vj3/////wD8BgYE/f36AQP+Af7+Avr7DAUI/fz3+PT1//f5EA0NBQQGBgkI+fb18evl9vb2Dv7+/v7+AQAAAgICBQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAEB////////AAAAAAAA//4D7u3yIB8k2NfX+/j1/Pr53d/eDA4NBwcD8wrvEA4MCggUExAQAAAACQUF+fn5AgUE9vf3/v7+/v7++fv6AwQA+vz5AAD+/gADAwMFCAoFAwYHAwQIBAQEAgICAQH/BwEB////BAMEAgIDAwID+AH7/Pn7BAgJ/wcK+P37/v7+AAAAAwQCCwgI+fn5BQX+/AMFCwQJDAYIBQsMAQMA8/f27Prp3ObiBe/wCgQEAPz9BAMD+//+/gMCAP//AP8DAv37AQD///////8CAAAAAAAA////AAD9AAAA///9////AP///wAAAQEBAAABAQEBAQEBAQEBAQEBAQEDAQEBAAEBAQEBAAAA////AAAA////Af8AAP8A/wEAAAAA////AQEB////AAAA////AP/9////Af/9/v////3+/v7+/v7+////AQEBAAEAAv8A/gEA////AAD/AAAA/////wAA////AAAA//8BAP/+/wACAAAAAAAAAAAAAAAAAAAAAQEBBAEA/wECAgICAQICAgMEAwgLEBYVEBYWBAoeBQUDAwQCBAMBCQYBBAAAAP///wAAAAAAAP///wAAAAAA/gAAAAL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD//wEBAQAAAP///wAAAAAAAAAAAAEBAQAAAAAAAP///wEBAQAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wH/AAAAAAAAAP4BAP4BAAEAAP///wABAAH//gAAAAAAAAIAAP7/AP8AAAH///8AAAAAAP8BAAAAAAEBAf/+AgAAAQAAAAAAAP/+AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAB/wAAAAAAAAEBAQAAAAEBAQD/AQAAAf3//wAAAAEAAAEBAQAAAAEBAf4BAAAAAAP/AP4AAAIAAQD/AP4A//8AAAABAQEAAAAA/gEAAv/+/////wABAf7////9/QYEBP39/f/+/gAAAAAAAAAAAP///wAAAAAAAAMDAPr7/QYGBvz8/AD+/wEAAAAAAP8B/gEBAv0A//7//QAAAAEBAQL/AAAAAAIBAf8BAf///////wIAAQMAAf/+/v8BAAECAv7//////wIAAQH/AAEBAf7//wIA/QIAAQL+//sDAP8B/wP/AP4A/wEBAQL/AAH/AAIA/gEA/wEC//////7+/gABAQD//wQCA/n//wECAgEA/v///////wH+/wICAgICAvr9+v7+/AcFBxAPEAwFCAwGCQH/AP/8//4DAAACAv////v9/Pv7+/v+/fL4+Pj9/gQCAgABAP7+AAAB/gL+AP7//gABAP0DAQP+Af/+/wIBA/8CAgAAAP7+/gEBAQEBAf4AAAP/AP/+AP0CAf4BAAD8/gEB/wMDAfwA/wT8/gMDA/7//QL9/gAAAP7//wT/A/z//wEBAgAAAAAAAAEBAf7+/gAAAQICAwL/AgEB/gH//AECAQAAAAEBAwAA/gAAAP4CAQD//wIBAQEBAQD+/wICAAEBAf7//wIAAP7+/v///wEBAQD//wEBAQAAAP////7//wUGBf/8/v38AAQAAggGBwgJBgkIBDApKf7+AvHz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8e/+/PsICQcAAff///8ODg79/f0EBAT6+/gA/f79/fsIBAMBAQH////5/PsBAQP4+fkAAAL+/v4F/wMICAj9/f3z8/MEBAT9/f0QEBD8/PwWFgoYGBYhHx8KA/Tu8O/Z6PkC/PwB+PsGAQEAAQEAAAAAAgEAAAABAAEB/v/+/v4AAQECAgH///////////0AAAD///8A//3///8A/v//AP8AAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAIAAP0AAAAAAAAAAQH///////8BAAD//v4AAf7///8AAAD///4A//z//f7+/v4B//////////////8B///+//8A/wD/AgD/AP////////8AAAAAAAAAAAAA//8AAf79AQMB/gD+/v0B//8BAwIAAQL+AgL9AQIGAv38AAECCQ0OExcPFxoHDBIDBwkFBgQGAQMCAgIDAwMBAQEAAf4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAA////AQEB////AQEB////AQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQABAAAAAgAAAQAAAAAA/wAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEAAQEBAAAA////AAAAAwICAwMDAv/+////////AP8AAAAAAQAA////AQEBAgICAAAA////AQEBAgQDAP4B//0A/wH///7/AgICAQEC/f39/v7+AgEBAgICAgIC/v//AAAAAAAAAAAAAAAAAAAAAAAA////Av8AAQEB/wEBAQEBAf8AAQAAAAACAAEBAQH+AgABAAAAAAAAAQEBAAAAAAAAAAAA+v38BQACAgQDAgIC/////QD//wIBAQQD//z9AQEBAQEBAP//////AwMBCQkHBgYG/fv+9/v6//0A/v38/wEAAgQE+vr69/n4AAAAAAAA/P/+Av8AAQEBAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wEDAAAAAAAAAQEBAAAAAAAAAAAA/gEAAQAAAAAAAAAA/wEAAQAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQAAAf8AAAD+AQEB////AAAAAAABAAD/AAAAAAABAQEBAQABAAAAAAAA////AAAAAAAAAAAAAQAA////AAEB////AAEA/gEAAAAA////AAEA////AAAA////AP//AAEBAAAAAAAA//3+AAAABwcF+Pz//f/+8fHx8fLtEA4NCQUECgwLBgYGAP769vr59vT+/f3/+vr6AAAACwQGChAQ+/76Egwl/v/7AP/7/Pv68O/1BwcHBgYE+fn38/Hx///+BAQC//7+6+zuCwsLCAcFBgYG/Pz8BAQE/P3//QD/+Pf5/Pz8/v/9CAgIAAAA/fz++fn5BQUFAf///v7+///+9Pf2BAIB8fHuCQkJAQAAAPr83NfZMC/wGBEc/QEBAAD/AAIC/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAA//////////8AAP8GFRYaHyAh6+zm8vXw9vX3+v76AwIA5eDe5+bj/QECDQ8OBggICgYICwcIDwwNKSMPIhwGAAAh7OzqDQ4M9fPy/v37+Pb0/vj5+fn5AQEB+Pj4CQkH9vT1AgMABwcH9/L0DA4N9fX1AQEB+vr6AAAAAQED9/f3+f/9AAAA//8D/hQRBQQHAAAABAQECwsL9/v9+/v96eXmBgMGExoa7vH1HBQUCgL//vLqAAAA/wEAAQAAAAAAAQEB/gD+AQECAP8D/wL/Af4B////AAAA///9AP//////AP7//wD+////Av8A/gEAAQAAAf8AAAAAAAAAAAAA////AQEBAv8A/wEAAQAA/wAAAAAAAAAC/gH+AAAAAAAAAAAA////////AAH8AP8AAAD+AAAAAP78/v7+///////9AP///////v7+////AAAA////AAAAAP3//wD9/gEAAP8CAAAAAAAAAAAA///////+/wACAAAAAgICAAIB/wIB/wAAAQH/AwMBAQH+DA4SCRQaChMZCQ8UBwcJBQMEAwIABAEEAQEBAgMAAf//AAABBAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAH/AAAAAAAAAAH/AAAAAAD/AAAA/v8BAAAAAAAAAP8AAAH/AAAAAAEBAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP8AAAAAAAL/AP//AP//AAAAAAAAAAAAAAAAAQD/AP39/QAAAAICAvz//v77+wEBAQAAAP7+/gIAAv///////v///wAAAP7//wEAAAEBAQAAAAEBAQAAAP///wAAAAEBAf8AAAAAAAAAAAAAAP8BAAD//////wD/AgAAAP0A/wEAAP////8A/wAAAAAAAAAAAAAAAP8BAAQDBAH9//78/f39/QEBAgADAgEBAf///wUDAv7+/gEAAAUGBQcFBQMDAwAAAP/9/vr7+wAAAAADAvn5+/T09Pv7+wAAAP8CAf7+/gICAgMDAwEBAQH+//8BAf///wD//wABAQAAAAAAAAAAAAAAAgAA/gAAAAAAAAAAAAAAAAAA/gAAAgAAAAAAAAAAAAAAAP8AAAAAAAAAAP///wABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///////wABAf///wEBAAAAAAAAAAAAAP///wAAAAAAAAAAAAMDA/j4+gMHBgH8ARMTEwkKBfz6+en0+ODX0Ovp5wD++xIPDBsXFgoICRIQEQgLBQICAvf2+QH//gH/AgkGDff29P78AAQF/AYHBwMEAQb/CAMF9gcFBAICAv39/QkH9wgGBwkFB/z8+gD9/vv/+wIBBAH///8A/gcIBvz8/P39/QMDAwcIBgMEAvf39/77/PT09Pf3+O/u8fb2+vn4+hcXCQYGBuHh2BUODvrx9AUBAPX7/P8CAAQHB/j29woEBAAAAAAAAAAAAAAAAAAAAP///wEBAf////////////8AAAAAAP///wAAAAAAAP//9fX28RcXGRoaHuPj4fr22PLz8fH38fsL9AkJCRAMEBACAP339wL//v4D/+nt8+rq/Pr7+/X29AMDAfDwAgIA//Px8Pv7+QcJDgQEBfT09Pf39wb8+wYEBPn5+P32+BAPCfT+9u327g4ODgAJAQIBBPz8/AEBAwUBCf39/QAAAAYCBP////z8/vH39wEICQkQBQcGCBEPFh0ZIBocIAgJBt7W09/k5CsYHf///wEAAP////8BAAD/AAEBAf////8CAQD9//8BAAEC/wD9AAEAAP7//wD+/////wH//wD///8A/gH/AgADAQAAAAH/AAABAQAAAAAAAP//AQAA////AAEBAQEAAACA/38A/gAAAAAAAAACAAD+AAAAAAAAAAAA////Af38AQEBAAAA/wD9//////38/v7+AP7+/v//////////////////AQAA/f//AQEB/wD/Af8AAAD9/gACAAAA////////AAH/BQD//AD+/P8BAQEFAAIDAAAAAQH/BAL+BhEZEhccCxQa/wgOAgQHAwUHBgIBAv79AwIAAAD/Af8BAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAL/AAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAP///wEBAQAAAP///wEBAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAA/wABAQH///8B/gD+AQAAAAD///8AAAAAAAD///////8AAf4AAAAAAf7/AAD//v8A/v/+/vwB///+///+/v7////+/v7///8AAAD////9//8AAAAAAAD/AAAAAAAAAAD/AP8AAAAAAAD/AQAAAAD7AgcFAf0CAf0EAv8GCAoFDhUMFx8OFBoCChEFAgEEBAMFAwMGAwEB/wAAAQACAQL+AQAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAQAAAAAAAwAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB/wAAAAAAAAAAAQEB////////////AQEBAAAA////AAAAAQEB//////////////////7+AQAABAICAP4B/fv9AgICAAD///3+AAD/AQEB//4A/P/8AwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAgAAAAD+Av8BBwEBCAEB/wD//AD+/gACAQEBAAAAAgAB/gD/AAAA////AQEBAP3+AP8ABgMEEw8ODgkLAwYF/Pz8//v8/gQDAQEBAwMD+/39/Pv7+vz9/v7+/gEABgMG+gT9/QD//////Pz9////AAAAAwMD/fr7AQQDAgICAAAAAP3+/wAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEA/wAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAv8A/gEAAAAA/gEAAwAAAAAAAAAAAAAA////AAAA////AQAAAAAAAAAA/////wEA///+BwMF/f//+fn58/Pz8u/rBgQDFBMQERMUAgIDAQEDAQYD+/398/fyAwMDAfr8/f7+9vb2AQMBEA0GFzAl+fn4AgH/7/Lx9vb0AAAAERAO+fn5/fv++/v7BAQG7OjkCAgIBwUDBQUDBQUFBwcH9/f58vX09/v89vX3AAAAAAAABQUFBQYE+fn5+fn3DQwSDQ/29PT0AwMD/Q0L9PLyAwIA/gT/Af7/5+XmCQYH//3+AQEB/v7+AwME//78////AAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////////AAAAAP//AAAAAQEB8vL04+Pl19fXLColBwcF8/j5BggK/wICDQcH6Onl5+rn5ezlFRQXAwICDQgMFRIJGgUO/P367xIL5OUCAh4X+/v6BgUD+PX2BQUDAgIC9PT0+vv49vb2DAgECwsL/f77ExAHAQEBBQcGBwYJ8PPy6Ojp9/b5CQkFBfkM////DQoJCAgKBAQEEBIR+vn8CQkJEA8PAAAABgYG+/f6CQsKAAQHAf8A/fD7/f7+AQEBAQEBAAAAAAAAAP7/////AAAAAgAA/v//AAAA////AP//AAAA/////wEAAAAAAP8BAAD/////AQEBAAAAAAACAAEB////AQEBAAAAAAAAAAAAAAAA////AP7//gEA////Af7//v/////////////+AAAAAgAB/v7+//////////////7+////AP7//v/+/////v7+AAAAAAAA////AAAA/wEAAP8AAAAA/gACAAD/AAAAAAIBAQEBAQEBBwUC/v4A/AQECg8QEBcaChIXAwoSAgcLBwQFBgUDBAICAwH/Af8AAQEBAAAA/gEAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP///wEBAf///wAAAAEBAQAAAP///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAD/AAAAAAAAAAAAAAAAAAAAAAIAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf4AAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////7+/gIAAP///wEBAf///wEBAQAAAAAAAAEBAQAAAAAAAP3//gICAgADA/39/QMBAQ8MDAsJCv///f//AQEBAQD//f7+/gQEBAABAfT29fHx8f0AAAAAAAAAAAAAAP///wEAAAAAAAAAAAL/AP4AAAAAAAQBAf4AAQcAAP8CAgL9//kCAgEBAQEAAQAAAAAAAAAAAP4BAAL//wQEBAsFBQgBCff8+gUAAv79/gMAAQcEBfr9/Pv9/Pv7+/v9/f4AAf8CAQIDAgMCAv/9/gQAAQEBAQAAAP4B/gEDAv/9/f7+/gQEBP////39/QL/AAEBAAEBAQEBAf7+/gMDAwAAAP8AAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQH//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAAAAAAAAAP///wABAf///wEBAQAAAAQEBPz//v8BAv7+/hkYGBUTDwoHBuTt+ebt9O7u8O/v7wIB/xUTDwYFAgwMCAkHBAICAgsQDvz8/Pnz+/4BBwgJBvb29AcFBgQNDQcHB/78+wD+Afv7+wsICwUFB/MNDAECAQEGBPn6+wEG//r49v8CAwEFBAwIDAcICwYFCAEBAff39wIDAP8AAwgJCu/v7vz8/ejo5unp7QD/AhYTFQYEBwMDCfHf5SojIwwABP77/v7+APz+/QIBA/4A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wEBAQAAAAAAAAAAAPf27xMTETg3PdfU1eLc5PXz8/wB/ff9+xQRDBgaGRQTFQgA/QT7+P////sA//z59P4BBPr7+PDw7QcKBwwKCfn39v38+gsLEwID//v7+/wA+w4GC/T0B/z6+AkJCQEB/wH9/gICAgMEB/f5/Q4OFgAACvz+//f39xMKCQICAgAAAAcHBwECBP///w0OBAEBAfsE+QsKDgb/CA8GDwMCCPf7+wX8+eXW0wwAAAAAAAAAAAAAAP///wD//////////wD//////wD//wAAAAAB/v8BAAEBAf///wAAAAAAAP8BAAEBAQD/AQAAAAAAAP//AQD//////wEBAQAAAAAAAAAAAP////////7//wAAAAEAAAAAAAEAAP///wD///8BAP7///////7+/v///////gH////9/v///////////////wAAAP4AAP////8BAAD/AAAAAAAAAAABAAAAAP8BAgEAAQEBAgECAgX99gcQEwgVHQkUGgUOEwQGCAYEBAcFBAX/AAICAAIBAgEBAQEC/wD+/wAAAAAA/gAAAgAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAABAf///wAAAAAAAAAAAAAAAAAAAAD+AQAAAAAAAAAAAAAC/wAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAABAAAAAAAAAf4A/wIBAAAAAAAAAAAAAAAAAAAAAP4BAQMAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAA/wEAAAEAAP4AAAAAAAAAAAD/////AAAAAAAAAgH8//8DAAD+/wD9Af//AgEB//8BAQADAgEAAAD9AQADAQH7///+AgEC/v/+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgAAAP8A/wEDAQEAAAAA////AAAAAAAAAAABAQH+Af8AAAD/AQD/AQAAAAABAAABAAAAAAAAAAIAAAAB/wD9AQEEAAACAAH7A/8D/wD///8AAAAAAAAAAAAAAAAAAAD///8BAQECAAEB///+//8BAQH+/f4BAQH//vz///0AAAL//wD///8C/wD/+vz/AQAFAwT7/v0CAwP+/v4FAgMA//8CAgL9/fsC/f8KBAMAAPwBAAEFAQIB/f39/v8CBQT9+vkAAf4AAQAF/fv+AgP6AAEDAP8D/wEHBwcGBggGAgH++vv9/f///wEAAwP+//73+fgHAvrz+/YAAAAAAAABAwEAAAABAP8AAP4A//8CBAH9+/3+AQEB/v8BAQH+/P0DAgIAAAD///3+AQD//v4AAwX+//8C/wIAAAIBAQP7/v8EAQIC/wD9/f0AAgACAP7///8BAf4C/gT/AwL9AP8DAwACBQL99vsFBwb+/v0E+v8DAwP+AQEFAAD+/v7/Av4CAgIDAAADAAH+AQD/Av8DAf/9Af4DAgIFAAL/BAIB+gIEBAT8/PoAAAABAQH+//8DAwP//v8BBAP/+fwDBAT+/vz//wABAf8DAAH+/fsAAwP+AQAAAAD/////////AQD+AAAAAAAAAAABAQH///8BAQEAAP/9//4DAQIAAAAC/QH8APwFBQUA/gAFAwT7//73+/wHBAMdEhAHFxP/Ih4CAgL+AAL2+Pjw9fbs7/Dz7fH4+Pj6/fz5+vrv8Ov6+/YBAv739fQB/f4LCAcCAQACAgIA//0AAAAHBPD4+Pr1+PUGBgYEAQIAAAAAAP7+AQD9/f/4+fn6+vz6+vv8/Pz3+Pr29PX////19PL6+vr+//sB/v8JCQkaFxgSFRL++/z08PED/gIYIhsKFhIAB/3+AP39AwEA/QUC//v9/gH///8AAAD+/v4AAAAAAAD+/v4BAQH////+AQAC/gL9//8DAQH+/v77/f0D/gAAA/4BBPzs6t3y8e4OCvgxMiQXGiEHCQ7l5+vr7PD29vbk6fj1+u0MDPcMDAoIBvISExEJBwj///wJBwf9/QICAQMGCAn49v4GBwn/APr8/f0NDg7+/v4HB/0BAQEMDhD8/PwEBAT+/v4JCwr9/f0EBQUBBwf+/v4O/f4IBwACAgQDAwP7+/0DBAYCAQX8/P77+/vw8/b38esBAQUHHQ4tIiIBAAMGAwQH/fwCBQIA/wH///8AAAAA//8A/v8A/v8C//3+//z//v39/f0A/f0AAAEB/wD/AAAAAP8BBAMA/f7/AP/////+Af8CAQD/AAAAAAAAAv8AAgH/AQABAAD///////8AAAD///8B//////////0A//////3///7///8A/wD9AP///fz+/v7///8B///+/f0A//8BAQH+/P/+AgH8AQT+/vwA/vsBAAACAgIBAAL+AAEBAAP+AAIAAgEBAQH/AP4EBAIJCQn/GycLDRALDxgFCw8CBAcGAwQFBAICAgEFAQEAAAABAf8BAQAC/gAAAAEAAAAA/wH+AQAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8CAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAA////AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AQAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f//AQEBAgAAAQEBAAAAAQEBAQEBAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAgEBAv4AAv8AAf/+BgIDAQD9BAD/AAMDAQEBAgQGAAAA/v/9+/gAAAECBgMEAP7+AP7/AgIDBgQECAgGBQMD/////fz++P7+BwMDBQYD/fb68fTz8/b1+Pv6AhD/AwYD////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB/QD/AQABBAYF/vz/////AAL++/v5////BQUG/fv7AP8BAwUGBAIB+/v7/wH9AwMF/f4E/vz+/f/+9/r9/PsDBQQMAf4B//39AgX/8/b3+vr6////AwMD/v7+/v78/////fv/BwgI+/oAAQEGAQEC/v79+fr99vf6AgL/9vj6BQUFAgMAAwECAgED+/z8BgcG+/z+BAUH/QD/AgIG/wEC+/7//v7/BQUIAP7/AAAAAAAAAAAAAQEBAf8AAAAAAAAA//////8A////////AQAAAAAAAAAAAQEBAgEA/wID+/v7BgYGDg4OAu/qAwMB+/v6/Qn29fj7+fb3BAID/f39AgMBCAUBGxUFAP8ZCQkJ/P3/+fn59vf04uLf+fr3ARMVAAP+8PDu/Pv5AgD++/v89PLy8v7+ERER6uDkBAQEBAQECQkIBAQE+Pj4+v38BwcHBgT/BwcF9/f9DQ0K9Qr/ERERCgcGCQkJ9/f6+/n68PDw8vLy8e/tAwECAf/+AwUDFxET+/f41dHQLzlL+Pb5/v79AQIC/wIAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AwYPCAkT8PDy7ezwBwf33t/fBAgLExQVExQOKhcmFhcbCQgMBgYIAP8C9fT08PDw8/j47+7w5+fl7u7t////CAYE/Pz6+vr6Af3+AgIC/////v78AQEB/v7+CQnrAQAABgIAAAAAAQQD/v7+/Pz8+vv7+vr6//8B+/oC/Pz8AQH/+/36AAD+AAH/CQkJDg4OFxUWJCEbEhMaDw4U+Pj4CgoKBgQE///8AAAG/wD+AAABAP////8AAP//////AP8B////AAAAAAAAAAAA////AP//AAAAAAAB/////wEAAf8AAAAAAAAAAAACAAAAAAAAAAAC////AQEBAAAAAAAAAAAA//////////3+/wD9///////9/v7+/v7+///9AAAA/v4A///+/////////v///wIAAP3///7++//+Afz/Av7+AwD+AQEB/QAB+/4D+wADBAH9AwL7BAD8AwIBAwgJAw4UBxQaChIXCAcKBwkJBggOAwQHAgEEBAMBBQICAQL/AP7/AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///wEBAf///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQD//wAAAAAAAAEBAQEBAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAQAAAP///wEBAf///wEBAQAAAP4AAAD//wMBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/gUBAgQA/wP//gP//gQAAQL//wL/AAQDBwQIBwAFA/8AAAYKCQwTEvnv8PHs7gUIBwsLDQcICv7+/v/+/P37/AICAgMEAf4CA/n5++3x7+nw7gP/AP0BAAAAAAUIB/7+/AEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAEBAQEBAP///wAAAAAAAAAAAAMDBfv8/P77/gEAAAEBAQMDAwYGBvv+/fv9+wcGBQD+//Dy8vj4+P7//P39/fj5+fv78/39/fz+/fr6+gAAAAICAv37/P////7/AAYGBv7+/vz8/AYGBv////3+/P///wUDAgAAAgEDAgMDA/n5+QUFBQcHB+jv4f37BAMDAwkJCQICAgMDAwUEAgMDAwwMDAcGBPn6+gMCAgECAQAB//8CAQcHB/z8/AMAAAAAAAAAAAEBAf///wAAAAH///8BAQAAAP///wAAAAAAAAAAAAAAAAEBAQAAAPn8+QUHCAEBAfz7/wsJCgkGB+Hg3gb+++32/QMDAQkKBh8fGwUHBAMAA/z6/fn4+wIC/fr6+P7+/vr7+fHx7woKAwYEBgUGA/z++wIBDQcGEvj4+PHu7REdGggICPn5+zIyL/7+/gMCAAICAgAAAAEDAv39/fn5+fv5/AwLDvL08wkJCf//AAH///Ly8vf1+P//APv7+wkGBwALDPT39vz9/Pj29+rx9NbNz/Lt8EZMTisyRAMDAwL/Afr6+P4BBQAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AP////////8AAAAAAP///wAAAAAAAO/y+Ofq7Pz9/wQGBfz8/AEC/wUEAPb08QMDB+r+6vb1+gkJCQgICAUFBQMB///++AwFBwkUECAaFAMDAfDv7vX18wMEAQAAAPLw7////wH//v39/f////r6+gEB/wAAAAAAAwAAAAEBAQAAAP39/QICAv///wQEBAYKCAAAAAMFBP///wgICAQEBQIBBAMDAwQABhkWEAkKDP/+/v36+QAKCOXm5gQFAv///wAAAP8A/gEAAQAAAP//AAH//////////////wAAAP4BAAH/AP8BAP/+/wAAAAAAAP////8BAAAAAAIBAQAAAAAAAP4BAAH//wEBAf///wAAAAAAAP///////////wAA/f////7+/P////7+/P7+/v///wIAAP/9/f////////3///////8A/v3+/v39/QYB/P3/Av7+AwEBBgIA/wAB/gQA/QME//4A/AQHBgcLEAoPFAkSFQcPFAIKDQEGCQkECgQEBAMDBAIAAQMAAAQBAQP//gH//wAAAgD/AAEBAQD/AP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAD///////8AAQAAAAAAAAAAAAAAAAAAAAAA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////AQMA/v0A9vr7/Pz6/P79/gEC////AgMCAgIC////////AP3+Av8AAgIC/v7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgUI+fn4BwkI+Pj58/HyDA0KEBAQ/vHw4dzr+vr6+/v9BAQHAwUHBgMDAAAAAv39AgH/BAQE/v7+AQEBAgAB/Pz8CwkJDw8P+/76+Pj4/////Pz4/v4AAAAB//8BAAACAQT9AQH99/jy/f4GBAQG/Pz58fT3////Av4EAQD///4BAQIEAgD+/v7+////////5+7w6vHz+fn5BQUDDAkK6+vtIB0eFRMU/fz8AAAA////AAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////v79AwQD/vz+AAEB/v7+BwcHBAQE0NDQzs3MAQUEDA8PUlRGCgkR9PL7Av8K9PP31tvY8fHvBQbw9vXt+/z2+Pfw/v/5AQL9CwYMAwIAAAD+BgMEBQYD/v7+/v71AP8C/fz6/f39BgYFAAIB/fv8AAAA+vr6+vr68fH6+Pj4BgYG+/v7AAAA9fX1AwMDAgUE+PnzERMQISMgCwsLBAQE8/P18e3vAP//BwcDJSEkBAgH+f78BgYG/fr9AAEABAIDAAAA////AAAAAAAAAAAA////AQEBAAAAAAAA////////AAEBAAAAAAAAAAAAAAAA/vr6/Pn49vjz9vb2ExMVGRsg7O/y+vz+6Of25eTb/f77FxUUDA0JExMRCgsGAwMDCQUGAQEBAgAAA/8FBQP+/wP+BQD9CAYC9/cAAAEDA/4CAgAB/v4AAwEEAAAA/////QX/AwAABQME/QMBAgIC/v7+//8B/QD/AwX5CQQCAAAC+Pn7/Pz9+Pf87ezo7fDx/P39CwgBJyYsNjQ7DA8PBwcJGQ8S5dDM/wEA////AAAAAAABAAD/////AP//////////AAAAAAAAAAACAAD9AAAA/wACAAL+AP0AAAAAAAAAAQEBAAIBAAEB/gEAAwAAAAAA////AAAAAAAA////AP/9//////78AP7//wD9//7+///////+/v7+/v7+/////f8AAf//////AP7/////////AP//Av///QEI///9//74AgP+BAcHCQ4VCxQbCREWAw4QAwUHBAQIAwQHBgUI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/v39/f38/v7+Av38AAAA//4B/////wD9Av8A///9AP/9/gIF//8A///+AAAAAP0B/wH9AAAA////AP7//////v7+Af/9/v7+/f37/v7+/v7+AAAA/////v7+/v/8/f///////wEAAAAAAAMBAwEBAwMDAwYIAQkLAwoLAwoQAgoPBQkKBQYIBgYIBgQGBAMEBAEBAQEBAQMAAf8BAQEBAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/+AQEC/wAAAAAAAAAAAP//AQEBAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP39/QQBAgIDA///AAcEAv0A/wEBAf//AAIAAf8BAAEDA/j5+QUEBAAAAAAAAAAAAAEBAQEBAQEBAAAAAAAAAAABAQEAAAD/AAAAAAEBAQEBAQEBAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////4BAAAAAAAAAAEAAQAAAAEBAQL/AgIB//7+AP/////+/wH/AAcDBAUGBAQEAgAAAAAAAAMBAf/9/gEBAfz//vz8/Pf8+vj3+vf39w8ODgsIBwUEA/7//vj8/QUFA/v5+QD4+AcAA/v39/f18/8CAQMIBvP8/gUBAAAAAv8CAQD+AAAA/gAAAv4BAAL/AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAP8AAP37/AQD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AAAA////Af8A9Pb1AQEB8vTzBAMFCwIM////AgMA/v78AQH/+v36ExMREBMSJCYgGR0fFxYb/gDz7/DoCAgIAAID/QIAAAQFAQL+/wECAAACAAAB/wACAAD9/wID/wEE/v78AAMDAAL9AfwC/gH+//4E/v7+AQH+Af7+AAL8//7+/v7+/v8A/////f4A+/v9/v7+/f37/f39/v7+/wD9AAAA/f//Av79AAAA/wEAAAAA//8BAgADAv4BAwEBAQABAgECBQIEAAUFAQUGAgUEBAQEBAQEAgICAQEBAAD//gEA/wH//v8AAgAAAQAAAAAA////AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAf///QEBAQAAAP//AAEBAf///wAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/gADAgAAAAICAv8C/wEBAQIAAQD//wH/Af7//v8AAP/+/gL/AQADAgICAwADAgEBAQAAAAAAAAAAAAEBAQAA/wAAAAAAAAAAAAAAAAEBAQEAAAABAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAQAAAP////8A//8A/wABAP/////+/gAAAAD//wQBAgICAgQCAwMDAwUCA/z//voB+v/8/f0BAAEDAgQGBf7+//T49/r8/f39/f8CAQQBAv8BAP4BAAAAAAEAAP//Af/+/wL+/f37/P8CAQAAAP8CAQEBAQEBAPwA/wADAgMDBP39+/f+9/z//gEFA/z9/v0A/wL/Av8A//8BAAD/AAAAAP8B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KTAFAPsOFBQPExQaJSX6BAH9+fgAAgT8/v3///8AAAAAAAABAQEAAAD///8BAQH///8AAAEAAAABAQEAAAAAAAAAAAABAQECAQLy7eIDAP4lIhzEwNXu7/Ds7vINDhEaGhoJDukoKCoFBhICAgEEBggDAgb59fn/+/0AA//6/v3/AwQODxIAAf/19fUHCQUaDRb++/cJ/PwRFgD5+fcFAwT7+/sPBw4NDgz++/wDAwMRCRL/AQD8/Pz9/gAODg77+/sBAv8CAQT///8BBAX+/QACAgMGBgj7/QAC/wz+/AEGBAfx8PXd2Nr69vccHCL8/PsBAQEBAQH+AP8BAAD///8CAAP+/v7///8A/gH/BP/+/vz//wQAAAD////9//7//////fz////////+/v7//////v7+/v7///8A/fz/////////////////AP7///////8BAf8AAAAAAAABAQH9AP0AAAABAQEBAQECAgACAgICAgICBAUDAwUBAQQBAQEB/QH+//z//QX9/f0CAgL+AgT+Av/9AP8C///+Af8C/wABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAAAAAAAAAAAAAAAAAAAAP8C//8AAQL/AP8CAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAD/AAAAAAAAAAAAAAAA////AAAA////AQEBAAAAAAAA////AQEB/////QD/AQICAAAA//7+AQEBAAAAAAEBAQAAAAAAAAAAAAAAAAAA////AAABAgABAAAAAAAAAAAAAQEBAQEB////AAAAAAAAAAAAAQEB/gAAAQAA+/39/Pz8AgICBQQFAfz+BgIECgYHBAEHAQL/////AAAA//3+/v8ABgMFAAIA+v0B9fn09vj4/f39CgoKCwYFAAAAAQEBAwID/////v///////////v7+////////AQEBAQEAAAAA//////7+AwICAf8B/wEB///+AAAA////////AwEB/P4AAf4AAf8C//8BAP8CAAP/////////AgACAQH/AQEB/gAAAAACAf8CAAAC//0AAP8C//0AAAMAAgIEAAAAAQAA//4BAf7/AAMAAAAAAAAAAAAAAQEBAv8AAAADAgICAP//AAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB/f39BAQEAAIC+Pb5BgYG9fX1BgUFAf/+JiMaAgIEBgcs+vr89PP1BgYG5eXn9vb28PTy+vv58PDu7/Dr/f37/f38/v7+/v72///9BwcH/v37/Pz6+/v7BAQGBAQE8/T5AQEB+vr6/Pz8BwcH/Pz88/Pz9PT0DAoK/v7+////8/TxCwsLEA0OKiglBQUFBAYI+Pn2BgYG9/f3ysrIAP/9BgYGBAEB8vT2/v3/BAQB+/r7Af4CBAcIAwYF/f8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+AAABAgQCBQcH9gD6/Pz+7Ovq9fX0CAUWAf7w7O7s6ey+CQoKGh0eHCIfKik8HhYU8fHx/v8B7/P26uzv6Onr4+Tq29/bAvbwBAQE+/z4/vz7/v7+AAAAAAAA/v7+////9vf0BgQFCAgIAQEA/f39+/v7AAH++PgA/Pz8+vr6/f37//78BwgECQkHCwgJHh8XBQYEBAQn9vP0AgIC/vz9CwgJ9PT0/fv//P/+9Pf2+P35BAYFBP8C+fr8/QEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////////AAAAAgICCgoK2NXT4tzX2NbXGRscFhYY7e7vzc3N/P8Iw8PQIiQmGBgYGx0aBgUDDw8OCQkH/v4AAwH//v78BAkHBQQEAwwN9vj3////BAYL+fn5AAD+CAgGAwMD/Pz8AAD//f39BwYGBAcG/v7+/wABCQsK+vr6/v7+AAAAAQL8+/z4AgEE9/X0/Pv99PT27uvu7+/x9PH4FBUXPz0/IB8cHDAw8+/w+fn/+fn3AwMDAAAAAQABAAAAAQEB////AwMD/f//AgH/AAAB//8F////AAAA////AwD/////AP4FAAAA/////////////////v7+////////AAD+////////////////AP/9////AQEB///+AAAAAAAA////////AAH+AQEB/wAAAgICAQEBAQMEBAQEAQMEAwEEAgIC/v7+/f39Av39AwMD/P39AQEAAQIA/AEBBP8A/gEAAQAAAgEBAf8AAAAA/QD/AQEBAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgAAAAAAAAAAAAAAAAD/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgAAAAAAAAAAAQAAAAAAAQAAAAAAAAAAAQAAAP//AAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAP8BAP///wL/AAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAEBAf///wEBAQAAAP4BAAABAQACAf/9/gD+/wIAAAAAAP8BAAH/AAAAAAAAAAAAAAEBAQD//wIBAQL/AP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/gIBAQEBAQIBAQL//QcFBgUFBQoICAoGCAYCAwUCAfz7+wAC//8BAQQCAv8BAP/+AfT59/f5++/z8fsBAf8BAAACAfv//wMDA/////////39/QAAAAAAAAEBAQEBAQMDAwAAAAH+/wD//wAAAP8BAP4A/wEAAP////0A//79/v39/f0BAf////v+/f4B/gICAwIBAQIBAQAC//8D/wMBBP////4A///9/gEDAgABAQEAAAICAAMFAgICA//9/gMDA/3//v3+/gAAAAAAAAACAQECAQECAgEDAAAAAAACAQACAf////3+/gL+//39/wMCAAAAAAAAAAAAAAAAAP///wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////4A/wIAAP///8nJyQYJCDYzNAAAAAL/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/foCAgIBAQH7/vsAAAABAQEICAYEBAQBAQEJCQkAAAAJBgkBAQEDAwMBAQP+/v7///8DAwMDAwP7/vkDAwMBAQMC/wAAAAIDAQICAgIAAAAAAP4EBAQEBAYEAgMCAgQCAgIA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD/AQD///8AAAAAAAACAAH/////AP7///8BAQH+//8AAAABAQEGBQUFBQMFAgMAAAD8/wD8/f36+vr5+fn19fX19fX4+fb8/Pzx8fECAgL5+ff8+vv+/v79/f3+/v7////9/f38/PwB//////////8CAgICAgL9/f0CCQIFBQUJCQkKCgoICAgHBwcEBAMDAwP6/P0CAgQCAgIBAQEBAQMDAwMCAgIAAAAE/wECAgICAgQDAwMEAwYEBAQBAQH//wABAP0AAAD///////////////8AAAAAAAD+/wH///8BAAAAAP7///8AAAD9//79/f38/Pr+/v7+/v4BAQECAgIDAwMDAwMEAgMGBgb5+fn19fX19fX39/f4+Pj29vb3+fj/+/j9/f319fX8/fsCAAH39/cEBAQCAgIHBP75+fn9/f0AAAAFBQX19fXz8/P4+PgDAgUKCgwJCQkCAgIAAAACBAMKCgoKCgoFCwwLCwsODg4ICAgAAAD+AAAEBAQFBQUEAgUDAgUDAwMEBgcMCw4DAQP///8AAAIEBQEBAQEBAQEBAQEBAAIBAQEBAQEBAQEAAAABAQH///8BAQEAAAAAAAD+AP/5+fno6+T29vYAAAAGBgYGBgYCAgAA/v8CAgL8/AD4+Pjx8fHx7/D39/X9/f0AAAAAAAAEA/n/AP3///8KCAn///4AAAD5+vcAAAAKBgP+/v729vYBAQD///8CAwD49vf///8GBwr4+Pj7+/v9/f38/P7+/v77+/v9/f3z8Pf5+fn8/v0FBQUCAwMICAgVFRcWFhYJDQ7///8AAAACAgQJCAobGx8KDBAEAwUB//z+/v7///8BAQEAAAD/////AP3//////f4AAgH///0AAAD//f7+/v78Af/4+fn2+fX7+/v8/PwDAwMHBQYBAQH49/r39/fq6Ov5+fn5+fkGBwQDAwMLCwkJCQkODg0FBPz8/Pzz8/MCAf/7+/kCAgL29PL8/PwKBwcAAAD9/P4B//8BAQAA//3+/v7///0LBw37/v34+Pj5+foAAgEEBAQBAQH9/f30+PYAAgH8/P319Pfv8vEBAQMLDA4MDAwVDxEmJiYkJCUYGBgJBAbZ19jv8fACBQMBAQICAgICAgIBAQECAgQCAgIBAQH+//8DAgIAAAABAQEBAQEBAQEAAQMAAAABAQMBAQEBAQEBAQEAAAAAAAAAAAABAAIBAQEAAf8AAAAAAAABAQEAAAABAQEAAAAAAAAB/wAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAgAAAAAAAAAA/wEAAAAAAAABAQEAAAD///8AAAABAQEAAAAAAAAAAAD/AQD///8BAQMAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAIAAAAAAAAAAAABAQEAAAAAAAIBAQH/AAABAQEAAAABAQEAAAABAQEBAQMAAAABAQEBAQEBAQIBvNTWAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAv8AAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQL/AAAAAAAAAP8CAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAgEBAAD+AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA//8BAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAQEBAAAAAAAA////AP/+AAAA/v///v7+AQEBBAMDBAQEAwMD/vv6AAAAAgIEAAAA/Pz8+/v5/v7+AAAA+AEA/v7+AQEB/v78AQEB/Pz8AQEB////Av8C/////v7+AAAA/v7+////AwMD/wD9+/75////AAAAAgICAgIEAQEBAQEBAAAAAgMFAQEBAQEDAf8AAwABAQEB//3+/v7+BAUCBAIDAwMDAQEDAgICAQACAQEBAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA/wD+/////v7+AwMDAgICAQEBAAAAAwABAwMDAwMD/P/+//////4A/gD//v7+/f39/gD/AAAAAf//AQMC/Pz8/Pz8/////////v7+AAAAAAL4/v7+////AP7//v7+AgICAQEB/f39/fwB//8B/gD//v7+////////AAD+AAAABAIFAQEBAQEBAQEBAgICAgICAP8C//7+AAL/AQEBAwMDAgEEBAQEAwMDAQEC////AP/8AAAA////////////////AAAAAAAA/wACAP//AAAAAAAA/////gD9/v7+/Pz8AAD+/v7+//8B////AQEBAgICAwUEAwMDAf8AAgICAAAA////AAAAAQEB/////f39/Pz6AwMD/v7+/v78AQAA9/f3/v7+/f39AAED/Pz8////AQEBAwMDAwMDAQEBAQEBAQYAAgIE/f39/v7+AwMF///9/f39AAIB//0AAP3+////AAAAAgICAQQDBAMGAwMDAv7/AwMDBAMGBgYGCAgJAgAB//8BAgIC/wD8AQEBAQEBAQACAAAAAQEBAQEBAQEBAAAAAgIC////AAAAAAAAAQEB/f/+9fX17fDp/f39AAAA////AQEBBwcHAwMFAAAAAgD/AwMDBAQEAgICAQEB/v7++/n6+fn59PT4+/v79/f3/Pz89/f1/vv8+Pj4/wD99fn6AAAA+fn5AAD+////AQEB+vr6/v78BP4A/f39BAYFAQEBAQEBBgYIBAQECAgIBQoDCwsLCAgIAAIB////AQEB//8A+vz8A/8AAAAA/v7+BQQHDQsOEhIUBwYKBAQG/wD8////AAAAAAAAAf7/////////AAAA/v78AAAA/QD/AgD+AP7//P79/P7++Pr59/n2////+v38/v7+AQEBBQUHBgYGBAQECwUM////AAAAAgIC8vPw8/Pz7+/t9fX1+ff8////+vr6+fn3/v7+/f37//39/////gL3AAAA/f39AAAABAQCAwEBAAD/AAAA+/j//f39/Pz8/f/+AAAAAgICAQED////BwUHBAYECgoKDQ8PDg8MEBIRERERCwsJDwYJDw8PCAYJAwMD+/n66uzr+vr6/f/+//4BAgICAgICAQAAAQEBAQH/AAAAAAAAAgIEAAAAAQEBAQEBAAAAAQEBAAECAAAAAf8AAQEBAQEBAAAAAAAAAQEBAAAAAQEDAAD+AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQEBAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gACAAAAAAAAAQEBAAAAAAAAAAACAQEBAAEBAAAAAAAAAQEBAQEBAAAAAQEBAAACAQEBAQEBAQEBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAQAA/gAAAgAAAAAA/gAAAAAAAAAAAP///wAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAQEBAQAAAP//AQEBAQMAAP7+/v7+/v3+/v76+gAAAAEDAP7+/v/8+gAAAAD/Av0A/v4A/v/////+/gD//wECAgH//wEAAAAAAP////////7+/gAAAAEBAQAAAAICAgEBAQICAv7+AQoGBwEBAQICAgEBAf//////////AP///wIAAQEAAQD/AP////8A/wAAAAIEAwQCBQD+/wEBAgEBAwEBAQD/AQABAAEBAQEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAQAAAAAAAP39/f///wMDAwICAv/+//39/f7+/gME//7+AP/+/gD+AP8A/wEA/wD+/v////r89wAAAAAAAP7+/v8BAAAAAP8A/v////79BwAAAAEBAQADAAIA/v////39/v39/QEA/QICAQIBAwEEAQAAAP////4B/gEBAQMDA////wEBAQMBAQAAAAAAAP7+/gEDAQQCBAICAgICAgICAgIBAwEBAQEA/wEBAP8AA////wEBAAAA/wAA/wEBAAAAAAAAAAAA/v//AAEBAQAAAP7+/wAAAgAAAAMDA/7+/QEBAQAA/wICAwEDAgICAgICAgAAAAMBAgIBAgEBAQAAAP4A//7+/gAAAAICAgMFBgEBAQEB/P7+AQMDAwcKCwMBAv7+/v3+AgAAAAICAv8CAfz8/AAAAP////7+/gMA/gIAAgEBAf4BAAH/AQAAAgAAAgIAAAIFBAAFAAAAAAICAgMDAwMCBf4BAP///wYEAgIAAQIBBAMDA/79/P8AAgEBAQEBAQD/AgEAAQEAAQEBAQAAAAEBAQEBAQAAAAAAAAAAAAEBAQAAAP///wAAAAAAAP39/QQCA/78/QAAAAIBAgICAgH/AP/9/AICAgIBAgH/AP78/f8B/gICAgMDAwIHBwUFBQoMC/z8/Pz8/AICAv7+/P///wD//wMDA/sBAf7+/vz8/AAAAP////////39+wEBAQQA//z8/AICAv7+/v7+/gEDAv7+/gAAAPr8/vz8/P///wIEAwD/Av39/QD//wgFAQH9/AICAv/9/gcHCQ4ODgICAggGBQEBAf3/BAEBAQAAAP////4C/QD//wD//wAAAAP9//////7//gMBBf8B/wMAAv8B/gED/QUDBPv9/AMAAQACAgAAAv////7+/v////r99QkJCQD+/wICABUVERUVEfv9HAQEBP7+/Pv7+/7+/vn69wMDA/n5+f7+/fz8/Pn8Af////z8/P7+/gIB/wAAAP///QEBAQIA/wICAgMDAwIFBAQEBAMCBAYEBAMDAwUACf7+/P8BAAACAQMDAf///wEBAQICAgQGCQD/BPz8/v39//3/AAECBP8D/wIAAAECBAIAAQEC/wMAAQAAAAAAAAEBAQAAAAAAAAEBAQAAAAEBAQEBAQAAAAEBAwAAAAAA/gAAAAEBAAAAAAEBAgAAAAAAAAEBAAAABAAAAAEBAQAAAAAAAAAAAAAAAAAAAAH//gAAAAAAAAAAAAAAAgAAAAAAAAAAAP8B/gAAAAAAAAAAAAAAAgAAAAAAAAAAAAD+/wAAAAAAAAAAAP8BAAEBAQAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAA/gAAAQABAQD/AgAAAAAAAP///wEBAf///wEBAAAAAP///wAAAAQAAAAAAAAAAP4AAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAABAAD///8BAQIAAP4AAAIAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAABAQH///8AAAAAAAABAQEBAQEBAQEAAAH////+/v4AAgEDAQMAAAD///8AAAD+/v///gD+AP8AAAAA/wL+/wL9/v/9/f4FAwX+//4A/QD+/P4CAgADAQMDAwMAAAD8//wAAAABAQEAAAAAAgECAgIBAQH+/v4C+wEBAQEA/wD//v8AAAACAQICAwIBAQH//v0AAAAAAQEBAgEAAAD+AP/////9/vsDAAQAAQH/AAACAAIBAQEBAQEAAAD///8AAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAABAQEAAAD///8AAAABAQEEBAT+/v4AAAD///8AAAADAwMCAgICAgL+//oBAv8BAP8CAAEB/wD8AP8BAP79//0EAwn+/v4AAAAAAf4AAAABAQH9AP3/AP8AAv8AAAD///8B/v8AAQADAwMBAQQAAAD7/vsAAAAAAAL////+AP8CAgIEAgICAgIC/v3///8AAAACAgIAAAD+/v4CAgICAgIA/v8CAgIDAwMBAQEBAf8CAAAAAAD///8BAQIAAAAAAAABAQH///8AAAAAAAAAAAD///8BAQEAAAAAAAABAQECAQEAAAD///8AAAIDAwMAAAAAAAD+/gAB/wAEAgMEBAIHAgb+/v79AP8AAAAB//8BAQD9/v0BAAH9AAD+/v4BAQEDAwMCAgICAgIBAQH//QIGAf7///8AAP0B/wEDAwABAQEAAAP////9/fsA/wACAAMBAf8CAgIAAAAEAgMAAAABAQEDAwMCAgL//////gH//f4EAwMBAwP///0AAQECAwAGBQUCAgICAgL///8CAgEA/wIAAAABAQEAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAD///8BAQEAAAD///8CAgICAgIBAQEDAwMCAgIDAwMB/wACAgL//wMBAQMCAgIAAAD//wD9/QH+/v/+/gD9//3+/v8CAgQDAwMCAgT8/Pr9/v3//f8A//7+/PwA/v4BAQH//vz+//4A//8BAgL7/gD+/gL+/wH+/gH+AQMB/gH+/gD9/f0D/gEJBAgAAgH8/Pz9/f8FAQQDBAMAAAADBwj////6+voEBAQFBQcCAgIBAQH9/fwDAwQBAQEBAQD8//8B/gEAAAAAAAAAAAABAgT9AP8C/vz/AQEC/wH///8BAAADAwMBBgb/+wAAAAICAQABAQEAAAD+/v77+/sEAQX5+fkDAQQEBAICAgP//////gH7+v//AgT9/wD8/fwCAwwBAgIFBgj8/PoCA/8HCf////////8AAAAEAQIAAAAAAAABAf8CAAEAAgEBAQEAAAD+/v7///8CAQIBAAL7/vUBAQEAAgH7/f4B/gMB/gEHBwcHBQr7/Pz2+fkEAAALCwv4+PgHCgoB+fz8/Pz/AQAAAAACAAH/AAADAQEAAP4BAQEBAQEAAAIAAAAAAAABAQEAAAD/AQH/AAAAAAADAQIAAAAAAAABAQAAAAEAAAABAQEAAAIAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgEAAAD/////AQABAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAf4A/wL///8BAQEAAAAAAAAAAP4AAAMAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB/gEAAAAAAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAA////AAEBAAAAAP//AAIAAAD+AP8CAAAAAAAAAAAAAAAAAAACAgH/AAAAAAAAAAD+AAAAAAABAAAAAAAAAAAAAAAAAQEBAAAAAQEBAf8AAQAAAQAAAwQD/////wIC/wAAAAAA/v7+AP//////AgIC/wEC/v7+/v4A/v7+BAACBAMCAQQG+v32AgMAAwMDAwQCAgIC/v7+AAD+////DAII/P/+AQEB/////v3+Af4B////Af8AAgQAAAD/AAAAAAAAAQEBAP8C/v7+/v7/BQQE/P39//7+AAAAAgICAwICAAEAAAADAAAAAAAAAAAA/wEAAQIBAQABAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAEAAAAA/v7+AQEBAQEBAgIC////+//9Av37AgIC/QD/AQEBAf4BAAAAAAAAAAAAAAD+AQH/AgEB/v/9AgIC/wD+////AQICAf/+AQAAAQEAAQEBAAAB////Af8AAAAA///+AAAACgEEAAAAAQEDAAAAAAAA/gEAAAAAAP4AAgIE/v7+/v4AAP0A////Af8BAQEBAgAC/v//AQADAQADAQABAgABAQEBAAAAAAD/AAAAAQEBAAAA////AQEBAAAA////AAAAAQEE////AQEB////AQEBAAH+AgIC/gD/AgAE////AAACAwMDBQUCAQEBAAAA/v7+AAIAAQEBAQAAAAAAAgICAgICAQMC////AwAE/Pz8AgIC/QH9AgIC/f39AQEBAQL+AgIC/v7+////AAAABAEC///////+AP//BAYHAQEBAQEB//4B/f39AQEBAgICAAH+AQEBAf8AAP8CAgIBAgQCAgICAAAA/v7+AwYGAwECAwEEAwMD/v7+AP8BAP8A//4AAgIBAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEB////AAAAAQEBAQEBAQEBAP8AAAAAAQMEBQcCAAAA/vz9/Pz8AQEBAwEC////BAX+AgIAAAD9////AAD+AQICBAMBAAAA/P7//f3+/f39/P3//v7+/v7+/wD/AAABAP4DAf8AAwECAAAAAAIEAP7+AAEAAAAAAAP7AgMA///+AgMA/v7+AAAABgYC/v4CAf4F/f39AP8CCQcK/gD/+/v7////AwMD+fv7AgICBgYIBwkKAAIBAwMF/wIBBAQGAP3+AQEAAAAAAwABAgEC/QH//////v7+AgIC/wD9AAACAgICAP3+AQEBAgECAwMDAP4GBAQC/gD8AAD/////AAD+BAMDBgMEBQQKAAAABAMFAP8A9/b5AAABBQcGAAAA/fz5Af//AP78AQEB+/v7AQL/AAH+BAQDAf79AAEB//8AAgABAgIC//////8BAwMDAAACAAAAAAAAAAAAAQH//wD/AQABAf8BAAH8AAIBAQEBAgICCQYI/v7+Af8A+/n4AAYDBf//BAUFAgABCwsL7vHx+fn6BQMD/wABAAAAAgAAAQEBAQEBAAADAQEBAAAAAQEBAAAAAQEB/gAAAAAAAQEBAAAAAAAAAQECAAD+AAAAAQEBAAAAAQEDAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AAIBAQAAAAAAAAAAAQEBAAAAAQEB////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAEAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEAAQAAAAAAAP/8/QEBAQEAAP4BAP7+/gD//wEBAQMDA/z8+gEBAAEBAQIC/wEA////AP7+/v7//QQFCv///wIAAf8A/QEAAgEA/gEBAf8A//sBAP7/AAIBAQABAQABAf4CAQAAAAEBAQD+/gAAAAAAAP//AP//AAEBAQEDAwD///z//gEDAgMCAgH/Af7+/v7+/wICAgMBAgACAAEBAQEBAQAAAAAAAP8BAAEBAQL/Af///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAP4AAAAAAAAAAAAAAAEBAQAAAAIBA/////8A//7+/gICAgEB/wIBAgAAAAABBP8AAAABAP7+/v7//f//AQACAwL/Av4A/f4A/wH//wAAAP///wAA/gEB/wEBAf79AgICAv/////+/gABAQEBAQEBAAIBAf4C/gD/AgAAAAAAAAEBAQH/AP////////3+AQAAAwIDAQAAAAAAAAAAAP4A//7//wMCAwICAgICAwIAAQAB/wAAAAL/AAAAAf4BAAAAAP///wEBAQAAAP///wEBAf///wIBA/8A/wAAAAEBAP8B/wAAAwAA/wEAAAECAAAAAAAAAAEAAwH/AQIBAAICAgMDBv3//wECAQMBAgAAAP4A///+/wEAAf///wD/Av/+AQACAAICAgEBAQEBAQD/AgIBAv8BAAAB/wIBAf7+/gECAv79/QIAAQICAv8A/f39/QAAAgIBAQECAwMDAwEBAf39/QABAQIDAgEBAQAAAAD+//8BAAEBAQICAwD9AAIFBAMDAwIBA/7//wEBAQEBAwACAf/+/QEBAQAAAAAAAAAAAAEBAQAAAAEBAQEBAf///wEBAQICAv///wAAAAEBAQEBAQACBP39+wEBAQED/wIBAwMDBAEBAQIAAQD/AgD/AgEBAQEBAAAAAAEAAf/+//7+/v7/AQD/AwIB//7//gIB/wAB/v//Af/+//8B+/8DAQEBAQAAAAH//wICAQAAAP///wP+CAAAAP7//gMDA/4A/v39/QL/A//+/f0C/gIEBf7///n9/f///wEEAwMCAgAAAAkGBf37/AICBAMCBf7/AQMEBP3+/gICAgICAgEBAf///wAAAAEBAQABAP7+/gAAAAH//gEAAQICAgEBAQABAQEBAQEBAAMDA//+AQIBAgMBAgH+/gAA/gEBAQMBAgACAvz9+AoICQIC/v39/QgJAgAAAP39+P0A/AH/AwEAAAUDAv4A/wcDAwAAAP4BAgAAAAEEAQAAAP///wAAAAEBAwD//wEAAgIDAwAA/v///////wEBAQIBAgAAAP///wAAAAH9CwICAwEC/wD/+gAAAAD+/wMD/gUDAAIDBgEBAQIAAf39+/0B/wYGBQEAA/78/AICAP///wAAAAEBAAIAAv8BAAAAAAAAAAEAAwAB/gAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAwAAAAEBAQAAAAEBAQD/AgAAAAEC/wAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQD/AAACAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAA/wAAAAAAAAT/AQAAAAAB/wIAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAABAQEAAAAAAAAAAAD//gEAAAAAAP8BAQEAAAAAAP4AAAAAAAD//wAAAAEBAf8AAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAD////+AQABAQEAAQD/AQH/AAAAAAAAAAACAgL///8AAAD///8BAQMAAAACAP//AAD+/gL///8BAAEBAQP///8BAAD///4CAgH///4BAQAAAP8BAQABAAACAgIAAAD///8BAAAA/gAAAAAAAP8AAAAAAAAAAAABAAAAAAAA//8BAQEAAQH//wAA/wAA/v//AP8CAgEAAAEAAAD/Af8CAQIAAAABAQEBAQAB/wABAAAA////AAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAA//8AAAAAAf8AAAAAAAEBAQEAAv8BAAEAAAEAAAAAAAD//wH9AQEAAAAA//4AAAD+//8AAQABAAEAAAAB/gIA//8A/v4DAAT///0BAQEDAwP///8BAQMAAAABAQH///8AAAACAgIAAAABAQEAAAAAAQEC/wMAAAAAAAABAQEAAAAAAQAAAAABAQEAAAAAAAD///8AAAD///8AAAABAAABAAABAQAAAP8A//4AAgIBAQEAAAD/AQAAAAAA//8AAAABAQEAAAAAAAABAQEAAAAAAAD///8BAQAAAAD///8CAgL////+//8DAQL9//0BAQEBAQEBAQACAAACAgICAgIAAAADAwMAAAAAAAAAAAAC/wAAAAH/AAABAQL/AP8GBQP+AP8BAQH///8CAgL///////8BAAABAQAAAP8DAgAAAP4EAwEAAAAAAP4BAAEEAwYAAAAAAAABAQEBAQEAAAAFBQUBAQEAAAAAAAAAAAABBAEAAAACAgIAAAADAgIDAwMCAQP///8DAwMAAAABAf8A//8BAgIAAAAAAAAAAAABAQEAAAABAQEAAAD///8CAgIAAAD///8BAQEAAAAA/v8CAgID//4CAwL+AP8AAAMAAAD+AP8DAAEAAgH/AQAAAAAAAAAAAAAAAAD///////0AAgAA/f4AAP////4AAAH///8AAAD/AP0AAQAC/wEBAAL+//8AAAAAAQEAAAAAAAAAAAAAAwAAAAADAwL///4AAv8DAgIAAP8CAQEDAQb9//8CAP8CAwAAAAAAAAD///8AAAAA/v8FBQUGBAQEAwEGBAUBAQEEAwMBAQEBAAAAAAABAQEBAQH///8C//8BAAECAQIAAQIB////AP3////9AgEBAQMB/v0EAgP/BP8A/QEDAQP+/gEAAAMA/wIBAQEBAQEGBwQBAQIBAQIGBgUAAAAAAAABAf8B//7/AP7///8BAf8C////Af4AAAABAQH///8AAAAAAAABAQAAAP4AAP8BAQIBAQEAAP7///8BAQECAgIBAQH///8AAAABAQEAAAABAwAAAP0AAAAFBQUCAAEDBQQBAQMAAQIFAQMBAAIAAwMEBgYC/v77AP76//8BAwf+//sBAgEAAAD/AAD9AAAAAAABAQEBAQH/AAEAAAMBAQECAP4AAAADAQEBAQEAAAABAQEAAAAAAAAAAAAAAAABAAMAAQAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAMAAAAB/wD/AQAAAAAAAAAAAAAAAAAAAAAAAAAA/wIAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAv4BAAAAAAD///8AAAAAAAAAAAAAAAAA/wIAAAABAAAAAAD//v8AAAABAQIBAQD+AQD///8BAAAAAAAAAAAAAAD///8AAAL/AAEAAAAA/gAAAAABAQAAAAD///8AAAD/AgEAAP8BAP0DAAEAAAMEAAAAAAAAAAAAAAAA////AAAAAAD/AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA/gEAAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//4AAAH/AQEBAAAA////AAAA////AAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/////////////////v//AAAAAAAAAAAAAAAAAAAAAQEBAAAA////AQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAAAAAAAAAAAA/wAAAAEBAP//AQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAAAAAAAA//8BAAD/AQH/////AAAAAQEBAAAAAgEB////AAAAAQEB////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQAAAAAAAAAAAQEBAQEBAQEBAQEBAAIBAQABAAAA////AAAA/wEAAAAAAQEBAAAAAQEBAAABAgIC/v7+AgICAAAAAP7//wEAAf8A/wEAAQAAAAAAAAAAAAAAAAAAAAAA////AQEBAQEB////AAAAAQEBAAABAwAA/gEB////AAAAAAAAAQEB////AgICAgICAwMDAwIFAQEBAgEBAQEBAQEBAQAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAgICAAAAAwADAQEB/f39AgIC////AQEBAQEBAgICAgICAgECAgICAQEBAQEB////AAAAAgEC//8A/////////////wEA////AAAAAQEB////AAAAAAAAAAADAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAACAQEAAAD+AAAAAAAAAQEBAAAAAQEBAQEBAgABAQEBAgIDAwECAwMDAgIBAwMDAgICAAAAAgICAgL///8BAAABAQEBAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEDAAD+/wEBAQAAAQEBAAAAAAAAAAAAAQEBAP8CAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAEBAAAA////AQEBAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEDAAAA/wAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAf8AAAAAAQAAAAEAAAAABAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AAAAAAAAAP4BAP4BAAAA/wMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEAAQD/Af//AAAB/wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEAAQAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAP8AAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAQAAAAAAAAAAAAAAAAEBAQAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAf///wABAQAAAAEAAAEBAQEBAQIABAEBAQEBAQEBAQIBAQICAgICAgEBAQEB/wAAAAAAAAAAAQAAAP//AAEBAQAAAP///wEBAf8A/wAAAAEBAf///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAD/AgEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAwAA/wEA/wAAAAEBAQAAAAEAAgEAAgEB/wEBAQEAAf///wEBAf///wAAAgAA/gAAAv///gAAAgAA/wAAAAEBAQAAAP///wACAwH//wEBAP4A/wAAAAEBAP///wEBAP///QAAAAEBAf///wAAAAEBAQAAAP///wAAAQAAAAEAAAEBAQAAAAAAAP///wEBAQICAgUDAwMDAwICAgICAgEBAQEBAQEBAQEAAAAAAAAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAQEBAf8A/////wD+AAACAAMBAAEBAQEBAf7+/v///wAAAAICAgICAgICAgIBAgICAgEBAQAAAAEBAf///wAA////AP////7+/gAAAAABAQAAAAEBAf///wEBAQAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAQEBAQAAAAAAAAAAAAEBAQEBAQD/AAEBAQEBAQICAgICAgICAQEBAQEBAQAAAAH/AAMAAf0B/wEBBAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAEBAQAAAQEBAf8AAAEAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEAAgAAAAD/AAAAAAEBAQAAAAAAAP///wEBAQAAAP///wAAAP4BAAAAAAAAAAAAAAIBAAAAAAAAAP///wAAAAAAAAAAAAAAAAD/AgAAAAD//wAAAAAAAAAAAAAAAAAAAP8CAAAAAAAAAP///wAAAAAAAAAAAAAAAAD/AAAAAAAAAAEBAQAAAP8AAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/wABAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAC/wAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAAAAAAD/AAABAQEAAAAAAAAAAAAA/wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQH///8AAAAAAAAA/wAAAAAAAQAAAAD///8AAAAAAAAAAAAAAQEBAAD///8BAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAP8BAQEAAAABAQEAAAAAAAAAAAEBAQEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8BAQEAAAAAAAAAAAAAAAABAQEAAAD///8AAAABAQEA//8AAAAAAAAAAAABAQEAAAEAAAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAABAQEAAAABAQEAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAQEA//8BAQEAAAABAQEBAQEAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAIAAP8AAAABAQMAAP0AAAD///8AAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8BAQEBAQEBAQEAAAADAAH/AQAAAAAB/wABAQEBAQECAgEBAQH/AAABAAMAAP7/AQAB/wD//wIAAP4AAAAAAAAAAAABAQH///8BAQEAAAAAAAAAAAD/AQACAAEAAAD///8BAQH///8BAQL///8AAAABAQEAAAD///8AAAABAQH//wEBAQEB///+AAAAAAAAAAABAQEAAAACAgIDAgUDAgQCAgICAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQL///8EAAH8AP4BAQECAQL//f8AAgIAAAAAAAD///8AAAACAgIDAQICAQICAgIBAQEBAQEAAAAAAAAAAAAC/wD+AQEAAAACAgL////+AAEAAP0AAAAAAAAAAAIAAP4BAQEAAAAAAAAAAAAAAAAB/wIAAv8AAAD//wEAAAABAQEBAQQAAP4AAAAAAAAAAAABAQEBAQEBAAAAAAACAgICAgIAAP4AAAMAAAD+/v7//gD/AQD+Af4A/wEBAQH///8AAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQMAAAABAQH/AAD/AAABAQEAAAAAAAD/AAABAQEAAAAAAAAB/wAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAD/AgEAAAABAAAAAAD///8AAAD+AQAAAAAAAAAAAQEAAAAAAAAAAAAAAAAB/v8AAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAA/wIAAAABAQEAAAD///8AAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAQEBAAAAAAAA/gEAAAAAAAAAAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAA/wD/AQEBAAAAAAAAAAAAAAAAAP//AQEBAAAAAAAAAAAAAAAAAAAA////AAEBAAAAAAAAAAAAAAAAAAAB////AAABAP7//wEAAAABAAAAAAAAAQEB////AQEB///+AQEBAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQEBAAD/AAAAAQEBAAAAAQEBAAAAAAABAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv8AAAAAAAABAAAAAAAAAAAAAAAAAAAA/QD/AQEBAAAAAAAA////AgEB/wEBAAAAAQAA////AQAD/wH+AAAAAAAAAAAA//4BAQEAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAQEBAQEBAAAAAAAAAQEBAAAAAQEBAQEBAAAAAAAAAQEBAAAA//8AAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAAAAAA////AQEBAAAAAP8CAAAAAAAAAAAAAP8AAQEBAAAAAAAAAAH+AAABAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAEAAAAAAQAAAQEBAAAAAQEBAQEBAAAAAQAB//8CAQAA/wD8AAAAAQEBAQEBAAAAAQEB////AgIC////AQEB////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAADAQEAAAAA////AAAAAQEAAAAAAAAA////AAAAAAAAAwAA/////wEBAAAAAAAABAEEAgICAwECAwMDAgICAgICAgICAgICAf8AAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAA//8AAQEBAAAAAQABAgICAP7+/gEBAQAAAgICAQEB////AAAAAQEBAQABAQEBAAAAAQEBAQEB////AAAAAAAAAAAAAgIC/////v7+AAAAAgEB//8B////AQEA////AAADAAAAAAD+AAAAAf8CAAAAAAEAAQIB////AAABAAAAAQEBAQEBAAABAAAAAQEDAAAAAQEBAAAAAQAAAQEBAQH/AQH/AgABAQEB//////4A/v7+AAACAgIC/gABAf8AAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAA/gEAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAP//AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAMC////AAAAAAAAAAABAAAAAAAAAAAAAf//AAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAAAAACAAEAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAACAAAAAAABAQEBAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAAAAAL/AAAAAAAAAAAAAAAAAAAAAAAAAP4BAAL//wEBAQAAAAAAAAAAAAAAAP4BAAL//wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEAAgAAAAAAAAAAAP//AAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP8BAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAQAA/////wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAEBAQAAAQAA/wEBAQAAAAAAAAAAAQEBAQEBAQAAAAAAAAEBAQD/AAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAP///wAAAAEBAQAAAP///wIBAf8AAP8AAAEBAf///wEAAf8BAAAAAAD/AgAB/wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQAA/wAAAgAA/wAAAAAAAAAAAAAAAgAA/QAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf//AAEBAQAAAAAAAAAAAAAAAAEBAQAAAAABAQAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAICAv///wAAAAEAAAAAAAABAAEBAQICAgEBAAEBAQH/AAABAQEBAf///wAABP4A/P///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAEBAf4A/wAAAAAAAAEBAf///wIAAf8BAAAAAP///wEBAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wEBAf4AAAEBAQIAAgICAgICAgMCAgICAgMAAQMAAQH/AAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAEBAQAAAf///wAAAAEBAf///wEBAQEAAwL///4B/QAAAAEBAf///wIAAQEBAQEBAQICAgEBAQIAAf8AAP8BAAAAAAEBAf7+/gAAAAEBAQAAAP8A/wEBAQAAAP///wEBAQAAAAAAAAAAAwH/AAABAAAAAAAAAAAA/wEBAwEBAAAAAAAAAAEBAQAAAwAA/gEBAQAAAAAAAAEBAQEAAAEBAQAAAP///wACAgEBAQAAAv//////AQAAAAEBAwIBAP/9/gEBAQAAAAAAAAAAAAEBAQAAAAAAAAACAQH/AAAAAAAAAAEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AP4BAAEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAEBAwAAAAAAAP///wEBAAAAAAAAAP///wEB/wAAAAAAAgD//wAAAP8AAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAP///wEBAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD9AAABAQEAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAP8DAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wEAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAQEAAAD///8AAAAAAAABAQH///8AAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAQH///8AAAABAQEAAAAAAAABAQEAAAEAAAAB/wABAQEAAAAA/wAAAgEAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAQABAQEBAQEBAQEBAAEAAAAAAAABAQEAAAAAAAD///8AAAAD/wAAAQH/AP/9AP8AAAACAgL///////////8AAAD///8AAAL/Af4AAAD//gEAAAABAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAD/AAAAAAAAAAABAQEAAAABAQEAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAABAQEBAQH///8AAAAAAAABAQEBAQEBAQEBAQABAQEBAAAAAAEAAAAAAAABAAAB/wMBAAH///4A//8BAf4AAAAAAAAAAAAAAAABAQH///8CAQEAAAAAAAAB/wD/AP8AAQD/AQAAAAD///8AAAAAAAD///8AAAABAQEA/wIAAAAAAAD///8BAQAAAAACAgEBAQECAAEDAQICAgIBAQECAgIBAQEAAAAAAAABAQEAAAAAAAD///8AAAABAQH///8BAQEAAAD///8AAAABAQEAAAAD/wD/AQEAAAABAQD///8A/wIBAAAAAAAAAf0BAAEBAQEBAQEBAQEBAQEA/wABAQEAAQAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAQEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEAAAAAAAD+AAH/Af/+AAD/AQD+AAACAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAQEAAQAB/wAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAA/wAC/wAAAAD+AQAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAABAQEAAP8AAAIAAAABAQEAAAABAAAAAAAAAAD+//8AAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAD+AQABAQAEAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA/QD/AQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAA//8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAgICAAAAAAD/AAAAAAAAAQEBAAABAAAAAQABAAAAAAAAAQEB/wAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQEBAQEBAQEBAQABAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEB////AAAAA/8AAAEB/QH//v7+AAAAAP8BAAH/AAAAAAAAAAEB//4BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAA////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAgEB/v//AQEB////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAQEB////AAACAQH+AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAAAAAAAAAAAQEBAQEBAQEAAf8AAQEBAAABAAAAAAAAAgAA/wEBAQEBAgIC////AAEA////AAAAAQEBAAAA////AAAAAQAA/wEAAf8AAAEAAQEB////AAACAAAAAQEA////AAAAAQEA////AAAAAAEAAQEBAAAA////AAAAAAAAAQEB/wIBAwECAwIDAgICAgICBAECAgICAQEBAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAAAAAB////AAAAAAAAAQEB////AQEBAQEBAQAA////AAAAAgEEAf8AAQH/AAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP8CAAH+AAAAAf8AAAEAAAAAAAAAAP8C/wD+AQEBAAAAAAAAAAAA////AQEBAAABAQEB////AQEBAQEBAQABAgICAgIAAQABAAACAQEDAQEBAQEBAAAAAQEDAAD8AAAAAAAAAQEBAAAAAAAA////AQEBAAAAAQEB/wAAAAAA/wEAAf8AAQEBAAAAAQEDAAAAAAAAAAAAAQH/AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQAAAAAAAAAAAwAA/gEAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAAAAAA////BP///wAAAAABAAH/AAAAAAAAAAL/AAAAAP4BAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+/wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAP/+AQAAAAEBAQAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAMCAv/////+AQAB/wEBAQEBAf///v///wABBAAAAAAA/v///wEBAQAAAP///wAAAAEB/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAQAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAQAAAAIAAQD/AAEBAQAAAAAAAAAAAAEBAQAAAAH/AAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAEBAQAAAAAAAQD/AAABAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAP0A/wD/AAEBAQAAAAAC////AAEBAf///wH/AgEBAP7//wAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEBAQEBAQAAAAEBAQAAAP///wEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAP8AAAABAf///wABAQEAAAAAAAEBAQEBAQIBAQEBAQAAAAAAAAEBAQMAAf0A/wEBAQAAAAAAAP///wEBAQAAAP//AP8BAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEBAQAAAP///wEBAQAAAAEAAgD/AQABAAEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAEBAQAAAP///wEBAQAAAAAAAAAAAAAAAP7+/gAAAAAAAP39/QMCAf4CAv7+/v///wAAAAEBAQEBAQIBAQIBAQIAAAECAQEBAf//AQAAAAAAAAAAAAIBAQADAP//AP//AP//AQEBAf///////wAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAEBAQD/Av4A/wAAAAEBAf///wAAAAEBAQAAAP8A/QAA/wD/AgEBAQAAAAEC/wEBAAEBAAMAAgICAgICAgEBAf4BAAMAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wABAQAAAwAA//////4B/wD//wAAAAAA/gEBAQL/AP8AAP///wD//wABAQD/AgEBAgEBAAEBAQABAAAAAAEAAP///wD/AgAA/gEBAQAAAAAAAAABAAAAAAAAAAAAAAAB/wAAAQAAAAABAAAAAAAAAAD+/wAB/gEBAQAAAAAAAAAAAAEBAQEB/wAA/wH/AAEAAgABAQACAQIAAQAAAAEBAQIAAgMDAwICAgICAAEBAf////3//wACAQL/AgL+//4CAP8AAAAAAAAAAAABAQABAQAAAP8AAAIAAwAAAAAAAAECAQAAAAAAAAAAAAAAAAEBAQAAAAAAAQAAAAAAAAEBAQAAAAAAAAEB/wAAAAAAAP///wEBAQAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAgAAAP///wAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAP///wEBAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEAAAAAAAAAAP8AAAAAAAEBAQAAAAAAAAAAAAMAAQAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD+AQAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+//8BAAAAAAAAAAAAAAD///8AAAEAAP8AAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAA/wAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEBAQAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAAD/AAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAABAQEAAAD///8AAQAAAAAAAAD///8AAAAAAAAAAAABAQEC/wD/AQAAAAAAAAAAAAAAAAABAQH//gAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEBAQEAAP8AAAAAAAABAQEAAAAAAAD///8BAQEBAAEAAAD///8BAQH///8BAQEAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAAH+AP8AAAAAAAD///8AAAAAAAACAAH/AQAAAAEAAAAAAAABAAIBAf8CAABoZ5eYAQICAgEBAQEBAQEBAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAAAAAAAP4BAAD/AAAAAAAAAAEBAf///wAAAAAAAAEBAQAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAEBAQAAAAABAQAAAAAAAAAAAAAAAAAAAAIAAQABAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQEBAwEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQABAQAC/wAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAD///8BAQEAAAAAAAAAAAD///8BAQEAAAD///8AAAABAQEAAAAAAAAAAAAAAAD/AAAAAQEAAP////8AAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH///8BAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAIAAP8A/wABAAD///8AAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEBAQEAAAABAQEBAQEBAQEAAAH///8BAQEBAQEAAP4A/wAAAAABAQH///8BAQH///8BAQEAAAAAAAAAAAAAAAAAAAD///8AAAAAAAABAQH/AP4AAAABAQD///8BAQABAAD///8AAAAB/wEAAQAAAAEAAAAAAAABAQEBAQABAAEBAQEBAQEBAQEBAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH///8BAQH///8AAAAAAAAAAAABAQEAAP8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH/AP8AAAAAAAABAQEAAAABAQH///8AAAAAAAAAAAABAQEAAAD/AAAAAAAAAAAAAAABAQEB/wMAAAABAQEAAAAAAAAAAQEBAAEBAQEBAQEBAQEBAQEAAAABAQEBAQH///8AAAIAAP0AAAAAAAABAAMAAAAAAAAAAAAA/wAAAAABAQEAAAAAAAD/AAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAEAAAABAQEAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAf4AAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8BAQEAAAAAAAAAAAAAAAD+//8AAAAAAAAAAAAAAQEAAAD///8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAEAAAAAAAAAAAA/wEAAf8AAAAAAAAAAAAA/wEAAf8A////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA/gEAAv8AAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAA////AQEBAAAAAAAA////AAAAAAAAAAAAAAAA////AQEBAAAAAAAA////AQEBAAAA/wACAQD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAABAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAA/wAAAf8AAQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAP//AAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQAA/wAAAQEB////AQEBAQEBAQAAAQEBAAAAAAAAAv8AAAAAAQEBAAD/AAAAAAAAAAAAAQEBAAAAAAAA////AQEBAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAQEB////AAAAAQEBAAAAAQEBAQEBAQEBAQEAAQEBAAAAAAAAAQEB////AAD+AAAAAgAB/gEAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAf8AAAEBAAAAAAAAAQEBAAAAAP7/AQAA/wEBAAAAAAAAAQEBAv8CAQEBAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAP8AAAAAAAAAAAEBAP//AAAAAQEB////AQEBAAAAAQEBAQEBAAAAAAAAAAAAAf8AAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AAAAAAAAAQEBAAAAAAAAAAAAAQABAAAA/wD/AAAAAAAAAQEBAf8AAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAQEBAAAAAAAAAP8CAP//AAD+AAAAAQEBAQID/f7+AAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAA/wAAAgEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAAAAAAAwAAAAAAAAAA/gEAAAAABAAAAAAAAAAAAAAAAP8BAAH/AAAAAAAAAAAAAP8BAAAAAAD//wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAgAA/gAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAP8AAAAAAAIAAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAEBAQIAAP///wABAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQEAAP8AAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQEC/wAA/gEBAgAAAQAAAAAAAAAAAAAA/gAA/wEBAf///wAAAAH/AAD/AP8AAAEBAf///wEBAf///wEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAP////8BAAAAAAAAAAEBAQAAAP//AAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAEBAQD//wEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAD/AgD//wD//wAB/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAD/AAAAAAEBAQAAAAAAAAH/AAAAAAAAAAAAAAAAAAEBAQAAAAABAQEAAQEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAP//AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBAQAAAAD/AP4BAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAAAAAAAAAAAAAD/AQAB/wD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD+AQEC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8BAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAABAAIAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH///8AAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8BAQEAAAABAAAAAAABAQEAAAABAQEBAQEDAAEBAQEAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8BAQEBAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQEAAAABAQEAAAABAQEBAQEAAAAAAAABAQEAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAv8AAAABAQEAAAAAAAAAAAABAQH///4AAAAAAAAAAAAAAP4AAAEAAAAAAAACAAH+AP8BAQH///8BAQH///8AAAABAQEAAAD///8AAAAAAAAAAAABAQH///8AAAAAAAAAAAAB/wD/AQAAAAAAAAAAAAACAAH+AP8BAQECAAEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD///8DAAH9AP8AAAABAQEB//8BAQH///8AAAABAQH///8AAAAAAAABAQEBAQEBAQACAAEAAAABAQEA////AAAAAAAAAAAAAAABAQH//wIAAf4BAQH///8BAQH///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAAA/wL///8BAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAD/AAACAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAD/AAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAAEA/wAAAAD+AQAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAAAv8A////AAAAAQEBAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AQEBAAAAAAAA/wAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAQEBAAAAAAAAAAAAAQEBAQEBAAAAAQABAQEBAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAA////AAAAAAAAAgEBAAAAAAAAAAAAAAAAAAAAAAAA////AAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAQEBAAAA////AQEBAAD/AQEBAQEBAQEBAQEBAQEBAAAAAQEB////AAAAAAD+AQEBAAABAAAAAAAA////AQEB////AQEB////AQEBAAAA////AAAAAQEB////AAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAQEBAAABAQECAAABAQEBAQEBAQEBAQEBAAAAAAAAAAAA////AAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAA/wAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAf8AAAAAAAAAAQEBAP8CAAAAAQEBAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEB/wAAAAAAAQAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAQEBAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAH/AAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAL/AAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAEBAf8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wEBAQAAAAEBAQEBAQAAAAEAAQEBAQAAAAEBAf8A/wAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAP///wAAAAEBAQAAAP8AAAD//wAAAAEBAQAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQD/AAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAEBAQAAAAEBAf///wAAAAEBAQAAAf///wAAAAAAAAAAAAAAAAH/AAABAf///wEBAf///wAAAAEBAf///wAAAAEBAQAAAAAAAP7+/gAAAAAAAAAAAAAAAAEBAQEAAP4A/wAAAAAAAAAAAAH/AAEBAQAAAAEBAQEBAgEBAQEBAQEBAQEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AP8BAAAAAAAAAAL/AP0AAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAP///wAAAAEAAQAAAAIAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP8AAAAAAAAAAAAAAAAAAAAAAP///wABAAAAAAAAAP8BAAEBAQABAQAAAP///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAEAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAEBAf///wAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAf7//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAP4AAAAAAAAAAAAB/wAAAAD//wEAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH///8AAAAAAAAAAAABAQL/AAAAAAAAAAAAAAAAAAAA//4AAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAQAAAAD/AAAAAAAB/wAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAABAQH///////8BAQEAAAAAAAAA/wEAAAEAAQAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAABAQH///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEC/wABAQEAAAABAQEAAAAC/wD+AQEAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAgL///8AAAAAAAAAAAABAQEAAAD///8BAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAABAAAB/wEB/wEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAABAQEAAAAAAAAAAAAAAAABAQEAAAD/////AP4BAQEBAAAAAAAAAAABAQEA/wEBAQEAAP8AAAAC/wAAAAABAAAAAAH9AQD///8AAAIBAQH///4AAAAAAAABAQH+AP8AAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAD///8AAAAA/wICAAD///8AAAABAQEAAAABAQABAQABAQABAQACAgIBAQEBAAAAAAABAQH+AQADAAAAAAAAAAD///8AAAAAAAAAAAABAQH///8AAAD+AP8A/wD9AP8AAQD/AAAA/wAAAAABAQEA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAB/wIAAQH/AAAAAAD//////wABAQD///8BAQEAAAD///8B/gL///8AAQEAAAAAAf4A/wIA//8B/wABAQEAAf4AAAD///8AAv8AAAAA/gEBAQEAAAABAQH///////8A/gEAAAABAQEAAQEAAAEAAf//AQAAAP4D/wL////9Af8AAQAC/wH/AQH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAABAQEAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAAAAAABAQEAAAD///8AAAAAAAAAAAD/AAABAQEAAAAAAAAAAAAAAAD///8AAAAAAAAAAAABAQEAAAAAAAAAAAD///8AAAAAAAIAAAABAQEAAAAAAAAAAAAC/wAAAAAAAAD+AQAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wIBAf8AAAAAAAAAAAAAAAAAAAAA/gEAAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQAAAQEBAAAAAAAAAAAAAQEBAAD/AAAAAQEBAAAA////AQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAQEBAAAA////AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEAAAEAAQAAAAAAAQEBAAABAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAQAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAP8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wEBAf///wEBAf///wAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQEAAAEBAQAAAAAAAAAAAP///wEBAQAAAP///wAAAAEBAf///wAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP7//wABAf///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAf///wAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAEBAf///wAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAD/AgAAAAEBAQAAAAAAAP8BAAEBAf///wEAAAAAAAEBAQD/AgAAAP8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAABAQD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAP4AAAAAAAD/AQAB/wAAAAABAQH//wAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH+AQAC/wAAAAAAAAAAAAD+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAD///8AAAAAAAAAAAD///8AAAAAAAD9AP8AAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAABAQH///8BAQEAAAAAAAAAAAAAAAD///8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAC/wD+AQABAQEAAAADAAEAAQAAAAABAQEAAAD///8BAQEAAP8AAAABAQEAAAD///8BAQEAAAAAAAAAAAD///8BAQEAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAABAQEAAAABAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAD///8BAQEAAAABAQEAAP8AAAAAAAAAAAAAAAD+AQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAD/AAABAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wIAAf8BAQEA/wIB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQH/AAABAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAD/AAAAAAABAQEA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAD+AAAAAAAA/wEAAAAAAAEAAP8AAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAEBAAAA/gEAAAAAAAAAAv//AAAAAQEBAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA/gEAAAAAAAD/AAAAAAEAAAAAAAAAAAAA/wAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAQEBAAAAAQEBAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAwABAAAAAAEAAwAAAP8AAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAA/gEAAAD/AQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAAABAP8BAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAA////AQEBAf8AAAAAAAAAAAAAAAAAAAAAAAAA/wEAAQAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA//8B////AAAAAAAAAAAAAP8CAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQEB/v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAD+AAAAAAAAAAAAAAAA/gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA/gAAAAAAAAAAAP///wEAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAL/AAAAAP4BAAEAAAAAAAAAAAAAAAAAAP4BAAL/AAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAEBAQAAAP///wEBAQAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQL/AAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAf///wEBAf///wAAAAAAAAAAAAEBAQAAAP///wAAAAEBAf///wAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAD/AQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAEAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAEAAgAB/////wEBAQAAAAAAAAAAAAAAAP8BAAEBAQD/AAEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAv///wAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAEAAAAAAAAAAAEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//wAAAAAAAAAAAAAAAAEBAQAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAQAAAAAAAD///8AAAAAAAAAAAABAQEAAAAA/wIAAf4AAAAAAAIAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAD///8AAAABAQEAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAD/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8BAAAAAAAAAAABAQEAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQH///8AAAAAAAABAQEAAAABAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAP8AAAABAQEAAAD///8AAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAQEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQEAAAAAAAD/AAAAAAAAAAAAAAABAQEBAQEBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAABAQEAAAD///8BAQEAAAABAQEBAQABAQEAAAIAAAAAAAEAAAAAAP8AAP8AAP8AAP8AAP4AAAAAAAAAAAABAQH///8AAAAAAAABAQH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD//wAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAD+AQAAAAD/AAAAAAAAAAAAAAD/AAAAAAAB/wAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAB/wABAAAB/wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAQEAAAAAAAD///8AAQH///////8AAAEAAAD//wEAAP8AAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH///8AAAAAAAAAAAABAQEAAAAAAAAAAAAAAAEAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB/gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAQEBAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAv8AAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAA////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEBAAAA////AAAAAQAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf8AAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAQEBAAAAAAAA////AQEB////AQEBAAAAAAAAAAAAAAAAAAAAAAACAAD+AAAAAAAAAAAAAAACAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAABAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAgAAAAAAAAAAAP8BAgAAAAAA/gH/AAAAAAAAAP///wAAAAACAQAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAP///wEBAQAAAAAAAAAAAAMAAf///wD//wEBAQAAAAAAAAAAAAAAAAD//wAAAP8CAQAAAP4BAAAAAAL//wAAAAEBAQAAAAAAAP///wAAAAAAAAEBAQAAAAAAAAAAAAAAAP///wEBAQAAAAAAAAAAAP///wAAAAAAAAEBAQAAAP8AAP8A/QEBAQH/AAAAAAAAAP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wEBAf8BAAAAAAH/AAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wEBAQAAAAAAAP///wEAAf//AAECAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAEBAf///wAAAP///wAAAAEBAQAAAAAAAAD/Af8A/wEBAQD+/wEBAQAB/wAAAAAAAAAAAAAAAAEBAQIAAAAAAP8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAEBAQAAAP///wEBAQAAAAAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAEBAQAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/AP4BAAAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAP///wEBAf///wAAAAAAAAEAAAAAAAAAAP7//wAAAAAAAAEAAAAAAP8AAAACAQD+/wAAAAL/AP4BAP7//wAAAAEAAAEBAQAAAAAAAAAAAAAB/wABAQD/AAEBAQAAAAAAAAAAAAAAAAAAAAEBAf///wEBAQAAAAAAAAAAAAEBAQAAAAEBAf///wAAAAAAAAEBAf///wAAAAAAAAEBAf///wEBAQAAAP///wEBAQAAAAAAAgAAAQEBAQAAAAAAAAAAAAAAAAAAAAAA/gAA/wAAAgAAAAAA/QAAAAAAAAAAAAEBAf/////+AQAAAQAAAP8A/QEBAQAAAP///wAAAAEBAf///wD/AgAAAAAAAP//AAAA/wEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQAAAQEBAAEBAAEBAAAB/wAAAf////8AAAEBAQD/Af8A/gAAAAAAAAAAAAAAAAAAAAD/Af4B//8AAAEAAQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAP8AAP8AAAABAQD/AAAAAP8B//8AAAABAQAAAAL/AP///wD/AAEBAf8AAAACAQAAAAAAAP8AAAAAAv8C/QH+Av//AAEBAP8C/gEBAQAA/wH+AgAAAAAAAAAAAAAAAAAAAAAAAAH/AP//Af0CAAH//wD//AEBAf8B/////gAAAQAA/v///wEBAQAAAP///wAAAAEBAQAAAAAAAAAAAAAAAAAAAP///wAAAAEBAQAAAP///wEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAEAAAAAAP7//wAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAEBAQAAAP///wAAAgAAAP7/AAAA/wAAAAAAAAAAAAEBAf///wAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AQAAAAAA//4BAAAAAAAAAAAAAAEBAf///wAAAP///wAAAAEBAQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAAAAAABAQEAAAABAQEAAAABAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAAAAAAABAQEAAAAAAAABAQEAAAAAAAABAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQEAAAAAAAABAQEAAAAAAAAAAAABAQEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAABAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEBAQEAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAABAQEAAAABAQEAAAABAQEBAQEAAAABAQEAAAAAAAAAAAABAQEAAAAAAAABAQEBAQEBAQEBAQEBAQEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAD///8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA//8AAAAAAQEBAP//AQEBAAD/AAAAAQEBAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAQEBAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAQEBAP8AAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEBAAD/AAAAAAAAAAAAAAAAAAAA////AAAA////AAAAAAAAAAAAAQEBAAAAAP//AAAAAAAAAAAAAQEBAAAAAP//AAAAAAAAAAAAAAAAAAAAAQEBAQEAAAAAAAAAAAAAAQEBAAAAAAAAAQEBAQEBAAEBAP8AAAAAAQEBAAAAAAAAAQEBAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB//8AAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AQEB////AQEBAAAAAQEB//8AAAAAAQEBAQEBAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8CAAABAAAAAAABAP8CAAH/AP8CAAABAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA//+TrTy3LVfL7QAAAABJRU5ErkJggg=="}},"time_used":433,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":188,"receive":245,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.233Z","timestamp":1785124600233,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 092fb57c4ac95149f020138ec649252e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-04T06:18:34.266662Z","times_seen":6066,"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.google.com/images/cleardot.gif","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:41.740Z","timestamp":1785124601740,"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 /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://astroxcinvest.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-type: image/gif\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: 43\r\ndate: Mon, 27 Jul 2026 03:56:42 GMT\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, no-store, must-revalidate\r\nlast-modified: Tue, 22 Oct 2019 18:30:00 GMT\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":43,"size_decoded":717,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 1","md5":"fc94fb0c3ed8a8f909dbc7630a0987ff","sha1":"56d45f8a17f5078a20af9962c992ca4678450765","sha256":"2dfe28cbdb83f01c940de6a88ab86200154fd772d568035ac568664e52068363","sha512":"c87bf81fd70cf6434ca3a6c05ad6e9bd3f1d96f77dddad8d45ee043b126b2cb07a5cf23b4137b9d8462cd8a9adf2b463ab6de2b38c93db72d2d511ca60e3b57e","ssdeep":"","tlshash":"cb900003cac8c022c2a2c0300a0c03002bbaa8300228030ec0bc30fcec2a3a38c02000","first_seen":"2023-04-05T02:54:04Z","last_seen":"2026-08-04T07:47:15.578375Z","times_seen":82332,"resource_available":true,"data":"R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}},"time_used":50,"timings":{"blocked":-1,"dns":2,"connect":29,"send":0,"wait":17,"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.115.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{4136faec-56fa-4f6b-b5ea-062578f32689}?https://astroxcinvest.com","date":"2026-07-27T03:56:41.870Z","timestamp":1785124601870,"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":"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://astroxcinvest.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\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 03:56: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=BFhVs1_1cwRDBVspqZ71YspO6-OOxzW6K0bCzLva7ahZw8pDcpsDmHx_zFo0OvYvWzuTkFTRKjTme0FL6X74lLOY4gRMWJtlCwksKCo2mIDpj5f6yeuWuvEEBPyW1vI52pf-3mt0fh-A9d7j6hqNHXfGKOBfOJyux9CtY1oQ5BpQ7jEB_Dk6OMWtbm_T6JZA2CW-dV4YVnz-fl1GezBY2JucazulPrdw1A; expires=Tue, 26-Jan-2027 03:56:41 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 03:56:41 GMT\r\ncache-control: private\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":31482,"size_decoded":3484,"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-04T07:33:37.032456Z","times_seen":9237,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":33,"timings":{"blocked":-1,"dns":2,"connect":8,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/images/features/feature2.jpg","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.837Z","timestamp":1785124599837,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /images/features/feature2.jpg HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"f690-5aa839fc-169db01c16c18ec6;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 63120\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":63120,"size_decoded":63448,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 534x360, components 3","md5":"1d79097559fa752cd9ec91ea8681c1e3","sha1":"7dc1db9baa6b4111bd86e4b69cfa986af6c2d166","sha256":"1e038c47a4a809e17194e22b56634ae09f0208cdf118f4d410cf3adf4516c826","sha512":"7b8c925052cd40dbb92b80850f602251c01ba779d09281d7e5020cefb2ca7bff77701e0cd647050bc2fb8996fcc3c1dca6059285ed45c4d70794cf00447daa5d","ssdeep":"1536:Iy5xAiY7ib/3XYJ8MP1/2qq7W1HDdWh3OU+1yKh:DsiL2nWK14OU+gKh","tlshash":"375302d791e7af32bede62b19ca34f4077928237438a79819f57d028542e41a89f0bd1","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.194507Z","times_seen":278,"resource_available":false,"data":"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"}},"time_used":691,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":551,"receive":140,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/api/v1/widget?top=50\u0026sparkline=0\u0026pref_coin_id=1505","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.400Z","timestamp":1785124600400,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /api/v1/widget?top=50\u0026sparkline=0\u0026pref_coin_id=1505 HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nage: 95\r\ncache-control: public, max-age=120, s-maxage=300, stale-while-revalidate=600\r\ncdn-cache-control: public, s-maxage=60, stale-while-revalidate=300\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/json\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"UqJ6tPj7BCzKTbsWLmC8X9dMn/0=\"\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /api/v1/widget\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::iad1::pkj6c-1785124600410-ed85b2ea1f57\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\npriority: u=4,i=?0\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=wJuMch7pSH%2FH9j%2FU3gEY8ywG1bsIDfTlDnekGIu9UeOcatgkSan9L%2FcZ1Tcc2jIdWzaRE%2FI3zX%2Flf85UcMxfJNROUH8He5OLChCw5JFop4Wsmn2RcGi2cwxwbZBd\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a218b730899b56b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":22272,"size_decoded":7609,"mime_type":"application/json","magic":"JSON text data","md5":"f16c926e963449567d772e179da6a005","sha1":"52a27ab4f8fb042cca4dbb162e60bc5fd74c9ffd","sha256":"398923e71e58f5da365847f131a1149f9a09bfcf08eaae811d0e8acbbaee4961","sha512":"a06e6e422df2421ffd703807bf09be2f8bc107336ae864b3859320efbfe8849127f05a0191f6d03eaec208b8755d53d777608a5f1bdae274a43efd35a0f1e0c5","ssdeep":"192:YIL46VdLiQqTKeqdmo9i4N9EPcwEHrw6NzrzLEtYKK:YO46TLiQqTqdmNlmc6xrF5","tlshash":"c3a20d8709315cefc67042b879a73b2c582e66ca48ee994ac1dd8dad04686f7131ff4d","first_seen":"2026-07-27T03:57:26.083883Z","last_seen":"2026-07-27T03:59:34.704707Z","times_seen":3,"resource_available":false,"data":"eyJkYXRhIjpbeyJpZCI6MSwic2x1ZyI6ImJpdGNvaW4iLCJzeW1ib2wiOiJCVEMiLCJuYW1lIjoiQml0Y29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzEucG5nIiwicHJpY2VfdXNkIjo2NTI1NS40OTIwOTQxNDYwNDQsIm1hcmtldF9jYXAiOjEzMDkxNDE1ODcyMDYuNDY1Niwidm9sdW1lXzI0aCI6MTU5MTk5ODAwOTIuMTIyMTAzLCJyYW5rIjoxLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4yNTY4MDU0LCJwZXJjZW50X2NoYW5nZV8yNGgiOjEuMTkzNzEzMjMsInBlcmNlbnRfY2hhbmdlXzdkIjowLjY3MDk4MTE3LCJjaXJjdWxhdGluZ19zdXBwbHkiOjIwMDYxNzg0LCJ0b3RhbF9zdXBwbHkiOjIwMDYxNzg0LCJtYXhfc3VwcGx5IjoyMTAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxMDI3LCJzbHVnIjoiZXRoZXJldW0iLCJzeW1ib2wiOiJFVEgiLCJuYW1lIjoiRXRoZXJldW0iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xMDI3LnBuZyIsInByaWNlX3VzZCI6MTk0NS41OTA5ODcwNDkxODMyLCJtYXJrZXRfY2FwIjoyMzQ3OTkwNDg2MDkuMTM3Miwidm9sdW1lXzI0aCI6NzU5OTE5MzE5OS43MTk3MSwicmFuayI6MiwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMjY4Mzg4NTgsInBlcmNlbnRfY2hhbmdlXzI0aCI6My40NjcwODA0NiwicGVyY2VudF9jaGFuZ2VfN2QiOjMuNjAyNzIzMDksImNpcmN1bGF0aW5nX3N1cHBseSI6MTIwNjgyNjM1Ljg1MzEwMzcxLCJ0b3RhbF9zdXBwbHkiOjEyMDY4MjYzNS44NTMxMDM3MSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo4MjUsInNsdWciOiJ0ZXRoZXIiLCJzeW1ib2wiOiJVU0RUIiwibmFtZSI6IlRldGhlciBVU0R0IiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvODI1LnBuZyIsInByaWNlX3VzZCI6MC45OTkwMzEzNTA1MTIzNzE0LCJtYXJrZXRfY2FwIjoxODM5NDgzNjc3MTEuNDYwMDIsInZvbHVtZV8yNGgiOjM5NTY0ODIwNzkzLjg4MTY2LCJyYW5rIjozLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDAzOTMxNTQsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDAzODI5NDMsInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wMTYyOTU2NSwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxODQxMjY3MjE5NjYuMzUxNDcsInRvdGFsX3N1cHBseSI6MTg5MTA2NzI0MDE4LjYzOTYsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTgzOSwic2x1ZyI6ImJuYiIsInN5bWJvbCI6IkJOQiIsIm5hbWUiOiJCTkIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xODM5LnBuZyIsInByaWNlX3VzZCI6NTcyLjYyNDczNTY3OTY5OTQsIm1hcmtldF9jYXAiOjc2MjUzOTQ0NzIwLjU3NTU1LCJ2b2x1bWVfMjRoIjo4MTY1ODM1OTkuNDYyNzQ0LCJyYW5rIjo0LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDQ0OTg5ODMsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC41MDQ0OTY2NSwicGVyY2VudF9jaGFuZ2VfN2QiOjAuNTI0NDM2OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMzMxNjU2NDkuMjgsInRvdGFsX3N1cHBseSI6MTMzMTY1NjQ5LjI4LCJtYXhfc3VwcGx5IjoxMzMxNjU2NDkuOTgsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzQwOCwic2x1ZyI6InVzZC1jb2luIiwic3ltYm9sIjoiVVNEQyIsIm5hbWUiOiJVU0RDIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzQwOC5wbmciLCJwcmljZV91c2QiOjAuOTk5OTY0OTA4MDE0MDQ2NSwibWFya2V0X2NhcCI6NzI1NjUwNzQ1MDIuNjc2MjcsInZvbHVtZV8yNGgiOjY1ODIxNTAyMDIuNjM0MzY5LCJyYW5rIjo1LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMDIxOTkxMywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAwNTkwNTMyLCJwZXJjZW50X2NoYW5nZV83ZCI6MC4wMjAyMDQ2NSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3MjU2NzYyMTA0NC42MTQ2NSwidG90YWxfc3VwcGx5Ijo3MjU2NzYyMTA0NC42MTQ2NSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo1Miwic2x1ZyI6InhycCIsInN5bWJvbCI6IlhSUCIsIm5hbWUiOiJYUlAiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81Mi5wbmciLCJwcmljZV91c2QiOjEuMTA2NDU5MDkxMzY0ODk2LCJtYXJrZXRfY2FwIjo2OTE5MDUwNzI2Ny40MDMyMywidm9sdW1lXzI0aCI6Njc1OTYyMTk2Ljg1MzA4MTYsInJhbmsiOjYsInBlcmNlbnRfY2hhbmdlXzFoIjowLjE0NjczNzY3LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNTQ1OTg0MDUsInBlcmNlbnRfY2hhbmdlXzdkIjowLjY0OTY2NzMxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjYyNTMzMjcxOTU1LCJ0b3RhbF9zdXBwbHkiOjk5OTg1NjM1NzA3LCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NTQyNiwic2x1ZyI6InNvbGFuYSIsInN5bWJvbCI6IlNPTCIsIm5hbWUiOiJTb2xhbmEiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81NDI2LnBuZyIsInByaWNlX3VzZCI6NzYuMzM0NDU5MDA5Nzk5NTksIm1hcmtldF9jYXAiOjQ0NTEwMjUzODc4LjU4NjczLCJ2b2x1bWVfMjRoIjoxMTY5MTU2MjE0LjMxNzkwMjYsInJhbmsiOjcsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4xMzgwNTM2MiwicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjkyMDQxMjMzLCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuNTQzMDM4MDcsImNpcmN1bGF0aW5nX3N1cHBseSI6NTgzMDk1MTYzLjc4Mjc1MDIsInRvdGFsX3N1cHBseSI6NjMxMTIzMTM1Ljc2MzkzODMsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTk1OCwic2x1ZyI6InRyb24iLCJzeW1ib2wiOiJUUlgiLCJuYW1lIjoiVFJPTiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE5NTgucG5nIiwicHJpY2VfdXNkIjowLjMzMTI0NDQ4NTk0MTQ2MzYsIm1hcmtldF9jYXAiOjMxNDI5NzkzODExLjEwMjMyLCJ2b2x1bWVfMjRoIjozMDkzNjM4OTUuMzEzMjI1ODcsInJhbmsiOjgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAzOTA1NTc0LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMDgxNDc1NzgsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjUzNzMyNTMsImNpcmN1bGF0aW5nX3N1cHBseSI6OTQ4ODM5NzU4NjkuODg1MDksInRvdGFsX3N1cHBseSI6OTQ4ODM5NzU3MDcuODE3MTgsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzIxOTYsInNsdWciOiJoeXBlcmxpcXVpZCIsInN5bWJvbCI6IkhZUEUiLCJuYW1lIjoiSHlwZXJsaXF1aWQiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMjE5Ni5wbmciLCJwcmljZV91c2QiOjU5Ljc2Mjk1MTc5NDA2MDMyLCJtYXJrZXRfY2FwIjoxNTEwMTIwNTIwOS45NTU1OTcsInZvbHVtZV8yNGgiOjE5Mjg4NzYzMi4zMDE2Mjk2NiwicmFuayI6OSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMzE3NTMzOTEsInBlcmNlbnRfY2hhbmdlXzI0aCI6Mi4yMDA1MzY2MiwicGVyY2VudF9jaGFuZ2VfN2QiOi0xLjAxMTY0NjAxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjI1MjY4NTA2Mi41MTE1Mjg1MiwidG90YWxfc3VwcGx5Ijo5NTMwNDY2NDcuOTM2MDA4MiwibWF4X3N1cHBseSI6OTUzMDQ3MTMyLjYyMDMzMTQsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NzQsInNsdWciOiJkb2dlY29pbiIsInN5bWJvbCI6IkRPR0UiLCJuYW1lIjoiRG9nZWNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC83NC5wbmciLCJwcmljZV91c2QiOjAuMDcyNzg5NTA1MjYyMzM3NzEsIm1hcmtldF9jYXAiOjEyNDQzMTczOTg3Ljg4NDg4NCwidm9sdW1lXzI0aCI6NTg3MDM3MzIyLjQ1NzU4NDUsInJhbmsiOjEwLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4yOTYzMTgwOSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjIyODA3MjY5LCJwZXJjZW50X2NoYW5nZV83ZCI6MC4xNzI3OTMyNiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNzA5NDczNjMxMjYuNTc5MDcsInRvdGFsX3N1cHBseSI6MTcwOTQ3MzYzMTI2LjU3OTA3LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM5NTcsInNsdWciOiJ1bnVzLXNlZC1sZW8iLCJzeW1ib2wiOiJMRU8iLCJuYW1lIjoiVU5VUyBTRUQgTEVPIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzk1Ny5wbmciLCJwcmljZV91c2QiOjkuNzE5OTgzMzUwNzcwNjY1LCJtYXJrZXRfY2FwIjo4OTQzNDk5OTA0LjAyNjc2NCwidm9sdW1lXzI0aCI6MTk4NjEzLjA1NjQxMTIyLCJyYW5rIjoxMSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDIwMTIwNDYsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMzE4MTkyMDEsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAzODYzMjQ0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjkyMDExNDczNC45LCJ0b3RhbF9zdXBwbHkiOjk4NTIzOTUwNCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxNDM3LCJzbHVnIjoiemNhc2giLCJzeW1ib2wiOiJaRUMiLCJuYW1lIjoiWmNhc2giLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xNDM3LnBuZyIsInByaWNlX3VzZCI6NTAzLjE0MjcxNDU4MDQ5MzUsIm1hcmtldF9jYXAiOjg0NDgyNzE5MTkuNTI3Mjk5LCJ2b2x1bWVfMjRoIjozMzM0Njc5MzUuMjQzNjkwMjUsInJhbmsiOjEyLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuNTAyNjg3MzIsInBlcmNlbnRfY2hhbmdlXzI0aCI6My4zNDE3NTg2MiwicGVyY2VudF9jaGFuZ2VfN2QiOi02LjI0MTg4NjA1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjE2NzkxMDA1LjE2NTU0NDgsInRvdGFsX3N1cHBseSI6MTY3OTEwMDUuMTY1NTQ0OCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzI4LCJzbHVnIjoibW9uZXJvIiwic3ltYm9sIjoiWE1SIiwibmFtZSI6Ik1vbmVybyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMyOC5wbmciLCJwcmljZV91c2QiOjM1Mi4wNDM1OTYyOTU2ODM3NiwibWFya2V0X2NhcCI6NjYxMjUzMDY2Ni4yNTExNzgsInZvbHVtZV8yNGgiOjcxMjY4MjM3LjEwNjkyOTgsInJhbmsiOjEzLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4yMDA5NTQzNiwicGVyY2VudF9jaGFuZ2VfMjRoIjotMy4yNjI0MTM0MiwicGVyY2VudF9jaGFuZ2VfN2QiOjUuMTkxNTYyMzgsImNpcmN1bGF0aW5nX3N1cHBseSI6MTg3ODMyNzIuMTE2OTQ5MDMsInRvdGFsX3N1cHBseSI6MTg3ODMyNzIuMTE2OTQ5MDMsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTk3NSwic2x1ZyI6ImNoYWlubGluayIsInN5bWJvbCI6IkxJTksiLCJuYW1lIjoiQ2hhaW5saW5rIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTk3NS5wbmciLCJwcmljZV91c2QiOjguNzY1NDYwMzE1MzA1OTgxLCJtYXJrZXRfY2FwIjo2NTU3NDQwNjAyLjY0MDg5OSwidm9sdW1lXzI0aCI6MjMxNzI2ODg3LjczMTE4NjQ1LCJyYW5rIjoxNCwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMzMzMjgxOCwicGVyY2VudF9jaGFuZ2VfMjRoIjo0LjEyNDY4MTAxLCJwZXJjZW50X2NoYW5nZV83ZCI6My44MDE2NzQyLCJjaXJjdWxhdGluZ19zdXBwbHkiOjc0ODA5OTk3MC40MjQ4ODQsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo1MTIsInNsdWciOiJzdGVsbGFyIiwic3ltYm9sIjoiWExNIiwibmFtZSI6IlN0ZWxsYXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81MTIucG5nIiwicHJpY2VfdXNkIjowLjE4MTQ5Njk1MzI0NDQ5NjQ0LCJtYXJrZXRfY2FwIjo2MjA2NDEwODU2LjI4MzM4LCJ2b2x1bWVfMjRoIjo4NzA1OTk1My4zNTM3ODMzMiwicmFuayI6MTUsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wNjE4Mjc2MiwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjE2NzAyNDgzLCJwZXJjZW50X2NoYW5nZV83ZCI6LTMuMDc1OTE0ODcsImNpcmN1bGF0aW5nX3N1cHBseSI6MzQxOTU2NzUxNjMuMzMyNjgsInRvdGFsX3N1cHBseSI6NTAwMDE3ODY4MzkuOTEyNDc2LCJtYXhfc3VwcGx5Ijo1MDAwMTgwNjgxMiwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoyMDEwLCJzbHVnIjoiY2FyZGFubyIsInN5bWJvbCI6IkFEQSIsIm5hbWUiOiJDYXJkYW5vIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjAxMC5wbmciLCJwcmljZV91c2QiOjAuMTY1MTU3NTU3NDcwOTU4MTQsIm1hcmtldF9jYXAiOjYwMjY1ODI2NTkuMjQyMjMsInZvbHVtZV8yNGgiOjEzODc3MjIyNC42NDQ4NDE2NCwicmFuayI6MTYsInBlcmNlbnRfY2hhbmdlXzFoIjowLjIxODI4MjU0LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjA3MDUwMTI4LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMTcxMjkyNSwiY2lyY3VsYXRpbmdfc3VwcGx5IjozNjQ4OTg5OTQxMS45NzE4OSwidG90YWxfc3VwcGx5Ijo0NDk5MzIwMjY1Mi4zODY1NjYsIm1heF9zdXBwbHkiOjQ1MDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM3MjYzLCJzbHVnIjoiY2FudG9uLW5ldHdvcmsiLCJzeW1ib2wiOiJDQyIsIm5hbWUiOiJDYW50b24iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNzI2My5wbmciLCJwcmljZV91c2QiOjAuMTI0MDA0NTA1Njk3MDQ4MDcsIm1hcmtldF9jYXAiOjQ4NTY0Nzk2ODcuOTI2NDY1LCJ2b2x1bWVfMjRoIjoxMDg0ODMyNC4yODkzNTM4MiwicmFuayI6MTcsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4yMzA2Nzk2OCwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjAwNjI0Nzg3LCJwZXJjZW50X2NoYW5nZV83ZCI6LTIuNTQ0MTMxMDYsImNpcmN1bGF0aW5nX3N1cHBseSI6MzkxNjM3MzU3MDkuNjYxOTksInRvdGFsX3N1cHBseSI6MzkxNjM3MzU3MDkuNjYxOTksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NDk0Mywic2x1ZyI6Im11bHRpLWNvbGxhdGVyYWwtZGFpIiwic3ltYm9sIjoiREFJIiwibmFtZSI6IkRhaSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzQ5NDMucG5nIiwicHJpY2VfdXNkIjowLjk5OTc5ODI0NDM3MjUwOTMsIm1hcmtldF9jYXAiOjQ2NDg3ODIxNTEuMjgxMzQ3LCJ2b2x1bWVfMjRoIjoyMjg3Mzg0Mi44MzUxNjU2MiwicmFuayI6MTgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAwMTQyMjgxLCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMDA5NTQ0MjEsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAwNTEyNzk0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjQ2NDk3MjAyNTguNTA5NzU5LCJ0b3RhbF9zdXBwbHkiOjQ2NDk3MjAyNTguNTA5NzU5LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjE4MzEsInNsdWciOiJiaXRjb2luLWNhc2giLCJzeW1ib2wiOiJCQ0giLCJuYW1lIjoiQml0Y29pbiBDYXNoIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTgzMS5wbmciLCJwcmljZV91c2QiOjIxNS41ODYwNTM3MTA5MTk5LCJtYXJrZXRfY2FwIjo0MzI2MTI0OTE3LjQzMTk1OSwidm9sdW1lXzI0aCI6ODQyMzMyMTMuNTA0Mjc5NjksInJhbmsiOjE5LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4yODg4NjkxMSwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjI0MjU2MjQ5LCJwZXJjZW50X2NoYW5nZV83ZCI6MC45NDE0NjcyOCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMDA2NjgxMi41LCJ0b3RhbF9zdXBwbHkiOjIwMDY2ODEyLjUsIm1heF9zdXBwbHkiOjIxMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjExNDE5LCJzbHVnIjoiZ3JhbSIsInN5bWJvbCI6IkdSQU0iLCJuYW1lIjoiR3JhbSAocHJldi4gVG9uY29pbikiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xMTQxOS5wbmciLCJwcmljZV91c2QiOjEuNTEwOTc5NDQyMTg2MjczNywibWFya2V0X2NhcCI6NDEyOTY3Njc1My4zOTUwNjg2LCJ2b2x1bWVfMjRoIjozNjQ1ODc3OC4xNzkyMjY3OCwicmFuayI6MjAsInBlcmNlbnRfY2hhbmdlXzFoIjowLjI5Njk2MDk5LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjUxMDI1MjUsInBlcmNlbnRfY2hhbmdlXzdkIjo0LjA3OTE5NTY3LCJjaXJjdWxhdGluZ19zdXBwbHkiOjI3MzMxMTI0NjguNzA0MjMxMywidG90YWxfc3VwcGx5Ijo1MjE5NDcwODExLjg1NzE1OCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozNjE0OCwic2x1ZyI6InVzZDEiLCJzeW1ib2wiOiJVU0QxIiwibmFtZSI6IldvcmxkIExpYmVydHkgRmluYW5jaWFsIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM2MTQ4LnBuZyIsInByaWNlX3VzZCI6MC45OTg3NDE3NzYxNDY0MDc4LCJtYXJrZXRfY2FwIjo0MTA0MDc5NzI2LjA2MTY3LCJ2b2x1bWVfMjRoIjo1MjkxNzcxNjUuMjczMDA4MDUsInJhbmsiOjIxLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDAyNzAzNzIsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDAzOTU0MDksInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wNDIxNTg4OCwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MTA5MjUwMDgyLjUzNTg5MjUsInRvdGFsX3N1cHBseSI6NDEwOTI1MDA4Mi41MzU4OTI1LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjI5NDcwLCJzbHVnIjoiZXRoZW5hLXVzZGUiLCJzeW1ib2wiOiJVU0RFIiwibmFtZSI6IkV0aGVuYSBVU0RlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjk0NzAucG5nIiwicHJpY2VfdXNkIjowLjk5OTgyNTAwODI0MzM5MDYsIm1hcmtldF9jYXAiOjM5NzA1ODU5MjQuMDUyMzQyLCJ2b2x1bWVfMjRoIjoyNDY2NDczMS43NjY4NzcwOCwicmFuayI6MjIsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAwMDYxNjM5LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjAwNjIyNTM4LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMDA1MDYxOTUsImNpcmN1bGF0aW5nX3N1cHBseSI6Mzk3MTI4MDg2NS40NjY5NzksInRvdGFsX3N1cHBseSI6Mzk3MTI4MDg2NS40NjY5NzksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Miwic2x1ZyI6ImxpdGVjb2luIiwic3ltYm9sIjoiTFRDIiwibmFtZSI6IkxpdGVjb2luIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMi5wbmciLCJwcmljZV91c2QiOjQ3LjM2NDQ3NDEzMjUzNzA1NSwibWFya2V0X2NhcCI6MzY2NzUyMjAwNS4xMzM0MTIsInZvbHVtZV8yNGgiOjIzMjYwODA2My4wMzM2Mzc5LCJyYW5rIjoyMywicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDk3MjcwNjgsInBlcmNlbnRfY2hhbmdlXzI0aCI6MS4zMzU5MjcwMSwicGVyY2VudF9jaGFuZ2VfN2QiOjAuNTI0MDgzMSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3NzQzMTkxNi40Nzk2NTU0NywidG90YWxfc3VwcGx5Ijo4NDAwMDAwMCwibWF4X3N1cHBseSI6ODQwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzM3OTMsInNsdWciOiJnbG9iYWwtZG9sbGFyLXVzZGciLCJzeW1ib2wiOiJVU0RHIiwibmFtZSI6Ikdsb2JhbCBEb2xsYXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMzc5My5wbmciLCJwcmljZV91c2QiOjEuMDAwMTg0MzMwNjk4NzE5NSwibWFya2V0X2NhcCI6MzI3OTY0MDg4MS44NDY5MjEsInZvbHVtZV8yNGgiOjEyNTY2NDQ0NS45NDc0MzE3OSwicmFuayI6MjQsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAyMjYwMTAyLCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMDI3NTcyMjUsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAyMDM2MTg2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjMyNzkwMzY0NTQuNzY2MDg3LCJ0b3RhbF9zdXBwbHkiOjMyNzkwMzY0NTQuNzY2MDg3LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjQ2NDIsInNsdWciOiJoZWRlcmEiLCJzeW1ib2wiOiJIQkFSIiwibmFtZSI6IkhlZGVyYSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzQ2NDIucG5nIiwicHJpY2VfdXNkIjowLjA2OTg3OTk1MjAzNDM3Mjc0LCJtYXJrZXRfY2FwIjozMDYwMTE5NzA1LjU2NjEwNzMsInZvbHVtZV8yNGgiOjMyMDQ0OTc5Ljg1MjYxNzEsInJhbmsiOjI1LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4yOTE2Mjk1MywicGVyY2VudF9jaGFuZ2VfMjRoIjotMC4yMjYxMDI1LCJwZXJjZW50X2NoYW5nZV83ZCI6NS43MjgzNTEwMywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0Mzc5MTA5NjI1MS4xOTUwMTUsInRvdGFsX3N1cHBseSI6NTAwMDAwMDAwMDAsIm1heF9zdXBwbHkiOjUwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjU5OTQsInNsdWciOiJzaGliYS1pbnUiLCJzeW1ib2wiOiJTSElCIiwibmFtZSI6IlNoaWJhIEludSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzU5OTQucG5nIiwicHJpY2VfdXNkIjowLjAwMDAwNTExNDIyNTkxMDQ2NTAxMSwibWFya2V0X2NhcCI6MzAxMzUwOTU5OS4yMzk4NDcsInZvbHVtZV8yNGgiOjUwNjg0MTM4OS41OTkyMDE3LCJyYW5rIjoyNiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjMzODAzMjYxLCJwZXJjZW50X2NoYW5nZV8yNGgiOi01LjE0NjkzMjUxLCJwZXJjZW50X2NoYW5nZV83ZCI6MjIuMjc1MTMwMzMsImNpcmN1bGF0aW5nX3N1cHBseSI6NTg5MjQwNjEwNzk3NzA0LCJ0b3RhbF9zdXBwbHkiOjU4OTQ5NzMxNjA1Mzc0Ni4yLCJtYXhfc3VwcGx5Ijo1ODk1NTI2OTUzMzM2ODMsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MjA5NDcsInNsdWciOiJzdWkiLCJzeW1ib2wiOiJTVUkiLCJuYW1lIjoiU3VpIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjA5NDcucG5nIiwicHJpY2VfdXNkIjowLjcxODI3NzgwOTYzNDE4MTksIm1hcmtldF9jYXAiOjI5MTA3MDE2NTAuNzI1NDU4Niwidm9sdW1lXzI0aCI6MTM3MTYzMDA0LjQ4MjgxNjc2LCJyYW5rIjoyNywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjE2MzEwNjMyLCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNDI2OTU4ODgsInBlcmNlbnRfY2hhbmdlXzdkIjotNC4yNDIzOTU4NiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MDUyMzM0MDg1LjM0MjA5OSwidG90YWxfc3VwcGx5IjoxMDAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NTgwNSwic2x1ZyI6ImF2YWxhbmNoZSIsInN5bWJvbCI6IkFWQVgiLCJuYW1lIjoiQXZhbGFuY2hlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTgwNS5wbmciLCJwcmljZV91c2QiOjYuNjgyNDg2OTY1MTkwMjM4LCJtYXJrZXRfY2FwIjoyODg1MzEwNTAyLjUwMTM0NCwidm9sdW1lXzI0aCI6MjE1NzgwNTM0LjM5MTk2MTc4LCJyYW5rIjoyOCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjEzNTg2MzQyLCJwZXJjZW50X2NoYW5nZV8yNGgiOi0xLjI4NTA2NDU1LCJwZXJjZW50X2NoYW5nZV83ZCI6MS4yNDU3MTk2MiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MzE3NzE5NjEuMTc3MjExOSwidG90YWxfc3VwcGx5Ijo0NjM0NDEwNjEuMTc3MjExOSwibWF4X3N1cHBseSI6NzE1NzQ4NzE5LCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM2MzUsInNsdWciOiJjcm9ub3MiLCJzeW1ib2wiOiJDUk8iLCJuYW1lIjoiQ3Jvbm9zIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzYzNS5wbmciLCJwcmljZV91c2QiOjAuMDU3MjYwNjUyMjQzMDExOTYsIm1hcmtldF9jYXAiOjI3MDczMjQzNDcuMDI4ODIsInZvbHVtZV8yNGgiOjYwMjA5NTMuNzg0NjQ4MjgsInJhbmsiOjI5LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuNTEzODY0NDEsInBlcmNlbnRfY2hhbmdlXzI0aCI6MS40NzQ2ODQ3OCwicGVyY2VudF9jaGFuZ2VfN2QiOi0xLjY0MDkxMDM1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjQ3MjgwNzEwOTQxLjU5MTEzLCJ0b3RhbF9zdXBwbHkiOjk4ODE0MDQ5MjYyLjY5MTI4LCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Mjc3NzIsInNsdWciOiJwYXlwYWwtdXNkIiwic3ltYm9sIjoiUFlVU0QiLCJuYW1lIjoiUGF5UGFsIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI3NzcyLnBuZyIsInByaWNlX3VzZCI6MC45OTk2NTYxNjU3MzIwMDEsIm1hcmtldF9jYXAiOjI2ODUzNzExNTYuMDg4ODg1LCJ2b2x1bWVfMjRoIjoxODYyMjgxNC41ODI3MTIxNCwicmFuayI6MzAsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAwMDU3Mzk0LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjAwMDY3OTY3LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMDA4ODYzMzgsImNpcmN1bGF0aW5nX3N1cHBseSI6MjY4NjI5NDc5Ni4yOTM3OTgsInRvdGFsX3N1cHBseSI6MjY4NjI5NDc5Ni4yOTM3OTgsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NTE3Niwic2x1ZyI6InRldGhlci1nb2xkIiwic3ltYm9sIjoiWEFVVCIsIm5hbWUiOiJUZXRoZXIgR29sZCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzUxNzYucG5nIiwicHJpY2VfdXNkIjo0MDc3LjM2MTczMTUyNDM5NiwibWFya2V0X2NhcCI6MjQ5ODcwMzczNy41NDg1MTI1LCJ2b2x1bWVfMjRoIjoxOTE0NDkwODkuOTc3ODk3NiwicmFuayI6MzEsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4xMTA0ODU2NSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjY0NjU1Mzc2LCJwZXJjZW50X2NoYW5nZV83ZCI6MS4zMzkyMzg3OSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo2MTI4MjMuNjU5NTMyLCJ0b3RhbF9zdXBwbHkiOjcwNzc0Ny4wODksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NzA4Mywic2x1ZyI6InVuaXN3YXAiLCJzeW1ib2wiOiJVTkkiLCJuYW1lIjoiVW5pc3dhcCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzcwODMucG5nIiwicHJpY2VfdXNkIjozLjkwNjQ4NTU3Mzk4MjY0NiwibWFya2V0X2NhcCI6MjQ0MjA5ODY3OC45MzYwNTg1LCJ2b2x1bWVfMjRoIjoxOTQyMjYzMzQuNTc3OTU0MDgsInJhbmsiOjMyLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4yMjU2NzY2OSwicGVyY2VudF9jaGFuZ2VfMjRoIjo2Ljc2NDU5MDg0LCJwZXJjZW50X2NoYW5nZV83ZCI6MTEuOTQ3NDExMjUsImNpcmN1bGF0aW5nX3N1cHBseSI6NjI1MTM5NTYxLjU1Mzg3NzUsInRvdGFsX3N1cHBseSI6ODkyMjc0NDIwLjAzMjk0NzksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NjUzNSwic2x1ZyI6Im5lYXItcHJvdG9jb2wiLCJzeW1ib2wiOiJORUFSIiwibmFtZSI6Ik5FQVIgUHJvdG9jb2wiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC82NTM1LnBuZyIsInByaWNlX3VzZCI6MS44NDYxMjY1MDI1ODAyMjE4LCJtYXJrZXRfY2FwIjoyNDAzNTI1MDc3LjUzOTgxNSwidm9sdW1lXzI0aCI6MTAwOTM5ODYwLjI4ODkxMzgyLCJyYW5rIjozMywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAxOTYyMTM5LCJwZXJjZW50X2NoYW5nZV8yNGgiOjIuODkwNTI2MTUsInBlcmNlbnRfY2hhbmdlXzdkIjotNC4wNTE4NTA2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjEzMDE5Mjg3MDAsInRvdGFsX3N1cHBseSI6MTMwMTkyODcwMCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoyMjk3NCwic2x1ZyI6ImJpdHRlbnNvciIsInN5bWJvbCI6IlRBTyIsIm5hbWUiOiJCaXR0ZW5zb3IiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yMjk3NC5wbmciLCJwcmljZV91c2QiOjE5OS4yMTU4Njg0MjU3MTYyLCJtYXJrZXRfY2FwIjoyMjI0NjIyNzU2LjkzMDcyODQsInZvbHVtZV8yNGgiOjExMjIwMTEyNy44NDg4MDIzOSwicmFuayI6MzQsInBlcmNlbnRfY2hhbmdlXzFoIjotMC40NTcxNDk4NywicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjQ0MDY5NTYyLCJwZXJjZW50X2NoYW5nZV83ZCI6MS4yNjI0NjgxNywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMTE2Njg5NS4zNjA4NDk0NywidG90YWxfc3VwcGx5IjoyMTAwMDAwMCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MjExNTksInNsdWciOiJvbmRvLWZpbmFuY2UiLCJzeW1ib2wiOiJPTkRPIiwibmFtZSI6Ik9uZG8iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yMTE1OS5wbmciLCJwcmljZV91c2QiOjAuNDA0NjgxMzk4NzU4MzM5NTMsIm1hcmtldF9jYXAiOjE5NzA1Mjc1MzcuMjQ0ODEwMywidm9sdW1lXzI0aCI6MTI0NzY2MjcwLjM5ODM2NzY0LCJyYW5rIjozNSwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjg5MTUwNTA2LCJwZXJjZW50X2NoYW5nZV8yNGgiOjUuNTM4OTQwOTEsInBlcmNlbnRfY2hhbmdlXzdkIjoxNi44OTU1NzQ5OCwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0ODY5MzMwNjQ3LCJ0b3RhbF9zdXBwbHkiOjEwMDAwMDAwMDAwLCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo0NzA1LCJzbHVnIjoicGF4LWdvbGQiLCJzeW1ib2wiOiJQQVhHIiwibmFtZSI6IlBBWCBHb2xkIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNDcwNS5wbmciLCJwcmljZV91c2QiOjQwODAuMDk5MzEzNDIwNzk2NSwibWFya2V0X2NhcCI6MTgxNTA5NDAyMS4wNjExNjA4LCJ2b2x1bWVfMjRoIjo3ODA1MzU1NS45NDU4NDQyMiwicmFuayI6MzYsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4xMjc3NDk4MiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjcwOTA5MzgxLCJwZXJjZW50X2NoYW5nZV83ZCI6MS40ODU0NjY1MywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0NDQ4NjUuMTU2ODU4LCJ0b3RhbF9zdXBwbHkiOjQ0NDg2NS4xNTY4NTgsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Mzg5Nywic2x1ZyI6Im9rYiIsInN5bWJvbCI6Ik9LQiIsIm5hbWUiOiJPS0IiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zODk3LnBuZyIsInByaWNlX3VzZCI6ODYuMzk2MDAxNDQzMTg2MDgsIm1hcmtldF9jYXAiOjE4MTQzMTYwMzAuMzA2OTA3Nywidm9sdW1lXzI0aCI6MjI5NzM4MTUuODcyNDA5NzIsInJhbmsiOjM3LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4zMTUwNTEyNCwicGVyY2VudF9jaGFuZ2VfMjRoIjozLjUzNzc3NjU0LCJwZXJjZW50X2NoYW5nZV83ZCI6Ny41Mzk0NzAzMiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMTAwMDAwMCwidG90YWxfc3VwcGx5IjoyMTAwMDAwMCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzMyNTEsInNsdWciOiJ3b3JsZC1saWJlcnR5LWZpbmFuY2lhbC13bGZpIiwic3ltYm9sIjoiV0xGSSIsIm5hbWUiOiJXb3JsZCBMaWJlcnR5IEZpbmFuY2lhbCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMzMjUxLnBuZyIsInByaWNlX3VzZCI6MC4wNTUwNjIxNDAxNDgzOTU1LCJtYXJrZXRfY2FwIjoxNzQ5NTg2NzIyLjg1MjA0MTUsInZvbHVtZV8yNGgiOjI5NDE3MzgxLjY1MTk5MTcsInJhbmsiOjM4LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMjA4MDAzNzUsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTEuNDA5MjkwOTYsInBlcmNlbnRfY2hhbmdlXzdkIjotMy4zODQwMTU5MSwiY2lyY3VsYXRpbmdfc3VwcGx5IjozMTc3NDc2Nzg5MiwidG90YWxfc3VwcGx5IjoxMDAwMDAwMDAwMDAsIm1heF9zdXBwbHkiOjEwMDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozNjM0MSwic2x1ZyI6ImFzdGVyIiwic3ltYm9sIjoiQVNURVIiLCJuYW1lIjoiQXN0ZXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNjM0MS5wbmciLCJwcmljZV91c2QiOjAuNjI4MDU1NTE1OTI0MzgwOCwibWFya2V0X2NhcCI6MTY5NTc2ODE2Ni4yNjI1NzM3LCJ2b2x1bWVfMjRoIjozODQ5OTY1Ny40Mzc4MDAzOSwicmFuayI6MzksInBlcmNlbnRfY2hhbmdlXzFoIjotMC4zMTc4MzI5OCwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjA0MDI4ODM2LCJwZXJjZW50X2NoYW5nZV83ZCI6MS4zMTY1Njk1OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyNzAwMDI5MDk0Ljk4NjQ4MTcsInRvdGFsX3N1cHBseSI6NzgxNjE5Nzg3NC41MTY3MjgsIm1heF9zdXBwbHkiOjgwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzU0OTEsInNsdWciOiJtZW1lY29yZSIsInN5bWJvbCI6Ik0iLCJuYW1lIjoiTWVtZUNvcmUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNTQ5MS5wbmciLCJwcmljZV91c2QiOjEuMjAzNTEwMTc0NjAzMzEyMywibWFya2V0X2NhcCI6MTU5ODg0MTYzNS44Mzk0NDczLCJ2b2x1bWVfMjRoIjoxNTA5NjQ1MS44MTAwOTk4NSwicmFuayI6NDAsInBlcmNlbnRfY2hhbmdlXzFoIjotMS4xMjM5MDM0NiwicGVyY2VudF9jaGFuZ2VfMjRoIjotMy4xMDYwNzgzMywicGVyY2VudF9jaGFuZ2VfN2QiOi0xLjEwODc2MzY2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjEzMjg0ODIwMjYuNjQwNDgwOCwidG90YWxfc3VwcGx5Ijo1Mzk1Nzk4Nzk5LjE0NzcwNiwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzQzODcsInNsdWciOiJyaXBwbGUtdXNkIiwic3ltYm9sIjoiUkxVU0QiLCJuYW1lIjoiUmlwcGxlIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM0Mzg3LnBuZyIsInByaWNlX3VzZCI6MS4wMDAxMTQ0OTU5NjEzNTA4LCJtYXJrZXRfY2FwIjoxNTg5NTI5OTgxLjA5ODQ2OTUsInZvbHVtZV8yNGgiOjk3NjE4MDAxLjU1MTMyNzI0LCJyYW5rIjo0MSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDM3NDA2NTIsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDAyNjMwNDMsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAxNzM0MzUxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjE1ODkzNDgwMDcuMTcwNDY3NiwidG90YWxfc3VwcGx5IjoxNTg5MzQ4MDA3LjE3MDQ2NzYsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTk4OTEsInNsdWciOiJ1c2RkIiwic3ltYm9sIjoiVVNERCIsIm5hbWUiOiJVU0REIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTk4OTEucG5nIiwicHJpY2VfdXNkIjowLjk5OTAxMTE0MjczNzYwMjYsIm1hcmtldF9jYXAiOjE1NTUzOTc3MTYuMjM4ODUzMiwidm9sdW1lXzI0aCI6OTk5NTM1MjMuMjY1NDU0OTIsInJhbmsiOjQyLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDE1MDE1MzEsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDAxNzMzNjMsInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wNTY2Mzk1NywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNTU2OTM3MzA1LCJ0b3RhbF9zdXBwbHkiOjE1NTY5MzczMDUsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NzI3OCwic2x1ZyI6ImFhdmUiLCJzeW1ib2wiOiJBQVZFIiwibmFtZSI6IkFhdmUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC83Mjc4LnBuZyIsInByaWNlX3VzZCI6OTkuODA4MTkzNTcyNDExODQsIm1hcmtldF9jYXAiOjE1Mzg4MTIwMDUuNzg0ODkyLCJ2b2x1bWVfMjRoIjozMDc0MjAxOTYuMDYwNTExMywicmFuayI6NDMsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4zMDQyNzA4MSwicGVyY2VudF9jaGFuZ2VfMjRoIjo4LjE2NzA2MzM5LCJwZXJjZW50X2NoYW5nZV83ZCI6MTEuMzM4ODcwNzEsImNpcmN1bGF0aW5nX3N1cHBseSI6MTU0MTc2OTIuMTgyNDQwNiwidG90YWxfc3VwcGx5IjoxNjAwMDAwMCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo2NjM2LCJzbHVnIjoicG9sa2Fkb3QtbmV3Iiwic3ltYm9sIjoiRE9UIiwibmFtZSI6IlBvbGthZG90IiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNjYzNi5wbmciLCJwcmljZV91c2QiOjAuODE2ODIwNDcyMzQ5MTM0NCwibWFya2V0X2NhcCI6MTM4NDY0NjcyMC43MjI5ODE3LCJ2b2x1bWVfMjRoIjo0NzYxMzk1My4yMjY0MDM5OCwicmFuayI6NDQsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAyNjg0MDU4LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjIzNTkzMzEyLCJwZXJjZW50X2NoYW5nZV83ZCI6MC4zNTk2MDY2MywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNjk1MTY2NTIzLjg1MTY5NSwidG90YWxfc3VwcGx5IjoxNjk1MTY2NTIzLjg1MTY5NSwibWF4X3N1cHBseSI6MjEwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoyNzA3NSwic2x1ZyI6Im1hbnRsZSIsInN5bWJvbCI6Ik1OVCIsIm5hbWUiOiJNYW50bGUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yNzA3NS5wbmciLCJwcmljZV91c2QiOjAuNDE1MDA3NTg2MDUzODU2NywibWFya2V0X2NhcCI6MTM3MDQ3NzIyMC4xMzU4MjUyLCJ2b2x1bWVfMjRoIjoxNzE5MjU2NS4wNDkwMDU1NiwicmFuayI6NDUsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wNDQ5NTMwNCwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjQ0NjQxMzk5LCJwZXJjZW50X2NoYW5nZV83ZCI6LTIuNDkzNDYxMTksImNpcmN1bGF0aW5nX3N1cHBseSI6MzMwMjI5NDM4Mi41MzY4NCwidG90YWxfc3VwcGx5Ijo2MjE5MzE2Nzk0Ljg4OTk5OSwibWF4X3N1cHBseSI6NjIxOTMxNjc5NSwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozMzAzOCwic2x1ZyI6InNreSIsInN5bWJvbCI6IlNLWSIsIm5hbWUiOiJTa3kiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMzAzOC5wbmciLCJwcmljZV91c2QiOjAuMDU3MTQ3OTYzNzM4MzEwMTcsIm1hcmtldF9jYXAiOjEzMzQ2OTQwMjkuMDkxNzE1Niwidm9sdW1lXzI0aCI6MTUzMjYyODUuNDc5ODcwMTIsInJhbmsiOjQ2LCJwZXJjZW50X2NoYW5nZV8xaCI6MC45MTM0MzMwMywicGVyY2VudF9jaGFuZ2VfMjRoIjotMi43MDYxMzU2NywicGVyY2VudF9jaGFuZ2VfN2QiOi02LjgxMzQwMjg2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjIzMzU1MDU4Mzc0LjQ5NDI2NywidG90YWxfc3VwcGx5IjoyMzQ2MjY2NTE0Ny4zNjU5NjcsIm1heF9zdXBwbHkiOjIzNDYyNjY1MTQ3LCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjEzNTAyLCJzbHVnIjoid29ybGRjb2luLW9yZyIsInN5bWJvbCI6IldMRCIsIm5hbWUiOiJXb3JsZGNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xMzUwMi5wbmciLCJwcmljZV91c2QiOjAuMzUyOTgyMDUzNjQ5NTk2NTYsIm1hcmtldF9jYXAiOjEzMjU0MzkwMTkuNjE5Njc5Nywidm9sdW1lXzI0aCI6MTk4NjY0NTI4LjczNDk2OTQsInJhbmsiOjQ3LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMTkyNjM3MTMsInBlcmNlbnRfY2hhbmdlXzI0aCI6NS4yNzEwNDExNywicGVyY2VudF9jaGFuZ2VfN2QiOi0zLjc1MTIyMjU1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjM3NTQ5NzU2NTkuMjg3ODY5LCJ0b3RhbF9zdXBwbHkiOjEwMDAwMDAwMDAwLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjg5MTYsInNsdWciOiJpbnRlcm5ldC1jb21wdXRlciIsInN5bWJvbCI6IklDUCIsIm5hbWUiOiJJbnRlcm5ldCBDb21wdXRlciIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0Lzg5MTYucG5nIiwicHJpY2VfdXNkIjoyLjE5MTQ2NjQ5MzMyODExMywibWFya2V0X2NhcCI6MTIxNjcyMjI2Ni42MDk0NjEzLCJ2b2x1bWVfMjRoIjozMDM5NjM0Mi4wMTQ5ODQ2LCJyYW5rIjo0OCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjA4MjA3ODM1LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMjAwMzk4OTgsInBlcmNlbnRfY2hhbmdlXzdkIjoyLjA0MjkwODU0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjU1NTIwOTE1OC4wMjg5OTc0LCJ0b3RhbF9zdXBwbHkiOjU1NTIwOTE1OC4wMjg5OTc0LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjI0NDc4LCJzbHVnIjoicGVwZSIsInN5bWJvbCI6IlBFUEUiLCJuYW1lIjoiUGVwZSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI0NDc4LnBuZyIsInByaWNlX3VzZCI6MC4wMDAwMDI5MzY4ODU4MjAwNDgwOTYsIm1hcmtldF9jYXAiOjEyMTUyMDI1MDguOTM5MTc1OCwidm9sdW1lXzI0aCI6MzUwNTQ1NzU1LjIxNDI5NDQsInJhbmsiOjQ5LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wNjk4MjA2MiwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjE3NTM2NzU5LCJwZXJjZW50X2NoYW5nZV83ZCI6MS44MzUxMDYzNSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MTM3NzI0NzMwODgyNzEuMSwidG90YWxfc3VwcGx5Ijo0MTM3NzI0NzMwODgyNzEuMSwibWF4X3N1cHBseSI6NDEzNzcyNDczMDg4MjcxLjEsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTEwOTIsInNsdWciOiJiaXRnZXQtdG9rZW4tbmV3Iiwic3ltYm9sIjoiQkdCIiwibmFtZSI6IkJpdGdldCBUb2tlbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzExMDkyLnBuZyIsInByaWNlX3VzZCI6MS42NzQ0NzMwMjQyMDM1ODQxLCJtYXJrZXRfY2FwIjoxMTY5NzIxMTAzLjYzMDI0NjksInZvbHVtZV8yNGgiOjU4NzcxOTcuMTQwMzUyMDEsInJhbmsiOjUwLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4yNzk4MjkwOCwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjI1MTAzMTYyLCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4zMDU1MjcxNywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo2OTg1NjA3MzMuMjcxMDQ5MSwidG90YWxfc3VwcGx5Ijo5MTA5MjA4NzQuNjQ4MTAzOCwibWF4X3N1cHBseSI6OTE5OTkyMDM1Ljk4LCJzcGFya2xpbmVfN2QiOm51bGx9XSwiY3VycmVuY3kiOnsiY29kZSI6IlVTRCIsInN5bWJvbCI6IiQiLCJyYXRlIjoxfSwiZXJyb3IiOm51bGx9"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/css/style3.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.402Z","timestamp":1785124599402,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/style3.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Mon, 17 Oct 2022 10:43:18 GMT\r\netag: \"427d-634d31c6-29a624e23d4cc865;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 2822\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":17021,"size_decoded":3185,"mime_type":"text/css","magic":"ASCII text, with very long lines (388), with CRLF line terminators","md5":"d5dcf34e69d57c62b2971a14e3dac31f","sha1":"9ecee90e7a97472f1f09239f4b534c75c4ca5bec","sha256":"4078183490906998fdc12fd83b08ce99b150dac7bac69113f34b3412b7cc942e","sha512":"4e5074f0cad1beae1a3fa132646ca20998d3ac61e3a8d4a40c56440c7e79bf9caa5a1ee4efc3cdb6329f0ff71de0c1b53c6a14bc53aac834b086561d7c5cf2a5","ssdeep":"192:TTpqLc41/R7C7IEYHijUfwuUoAP2fIDFpnxJHPFfyz:SEYHiiwozIDM","tlshash":"507226279a51101a3037b37efb53ca50fa985423db92119b7fea9210dfbd95c8622f4c","first_seen":"2026-07-27T03:16:24.50648Z","last_seen":"2026-07-27T03:58:10.29084Z","times_seen":3,"resource_available":false,"data":"I3ByaWNlLXBhcnQgew0KICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH0NCiAgI3ByaWNlLXBhcnQgLnNlY3Rpb24taGVhZCB7DQogICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfQ0KICAjcHJpY2UtcGFydCAucHJpY2UtaXRlbSB7DQogICAgYmFja2dyb3VuZDogI2ZmZmZmZjsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTsNCiAgICAtby1ib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7DQogICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzOw0KICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzOw0KICAgIHRyYW5zaXRpb246IGFsbCAwLjRzOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0NCiAgICAjcHJpY2UtcGFydCAucHJpY2UtaXRlbTpob3ZlciB7DQogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7DQogICAgICAtby1ib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMjUpLCAwIDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMjIpOw0KICAgICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjI1KSwgMCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIyKTsgfQ0KICAgICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIC5jb3N0LXZhbHVlIHsNCiAgICAgIGJhY2tncm91bmQ6ICMxN2EyYjg7DQogICAgICBjb2xvcjogI2ZmZmZmZjsNCiAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICAgIGZvbnQtZmFtaWx5OiAiTW9udHNlcnJhdCIsIHNhbnMtc2VyaWY7IH0NCiAgICAgICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIC5jb3N0LXZhbHVlIHNwYW4gew0KICAgICAgICBmb250LXNpemU6IDQwcHg7IH0NCiAgICAjcHJpY2UtcGFydCAucHJpY2UtaXRlbSAucGFja2FnZS1kZXMgew0KICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfQ0KICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsNCiAgICAgICAgI3ByaWNlLXBhcnQgLnByaWNlLWl0ZW0gLnBhY2thZ2UtZGVzIHsNCiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7DQogICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfSB9DQogICAgICAjcHJpY2UtcGFydCAucHJpY2UtaXRlbSAucGFja2FnZS1kZXMgbGkgew0KICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHJnYmEoOSwgMTc5LCAyMzksIDAuNSk7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBmb250LXNpemU6IDE0cHg7IH0NCiAgICAgICAgI3ByaWNlLXBhcnQgLnByaWNlLWl0ZW0gLnBhY2thZ2UtZGVzIGxpIHNwYW4gew0KICAgICAgICAgIGZsb2F0OiByaWdodDsgfQ0KICAgICAgICAjcHJpY2UtcGFydCAucHJpY2UtaXRlbSAucGFja2FnZS1kZXMgbGk6bGFzdC1jaGlsZCB7DQogICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgICAgICAgYm9yZGVyOiBub25lOyB9DQogICAgICAgICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIC5wYWNrYWdlLWRlcyBsaTpmaXJzdC1jaGlsZCB7DQogICAgICAgICAgcGFkZGluZy10b3A6IDA7IH0NCiAgICAgICAgI3ByaWNlLXBhcnQgLnByaWNlLWl0ZW0gLnBhY2thZ2UtZGVzIGxpLm5vdC1zZXJ2aWNlIHsNCiAgICAgICAgICBvcGFjaXR5OiAuNDsgfQ0KICAgICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIC5wYWNrLWZlYXR1cmUgew0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgdG9wOiAtMTJweDsNCiAgICAgIGxlZnQ6IDgyJTsNCiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfQ0KICAgICAgI3ByaWNlLXBhcnQgLnByaWNlLWl0ZW0gLnBhY2stZmVhdHVyZSBzcGFuIHsNCiAgICAgICAgY29sb3I6ICNmZmZmZmY7DQogICAgICAgIGJhY2tncm91bmQ6IHJlZDsNCiAgICAgICAgcGFkZGluZzogMnB4IDVweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4Ow0KICAgICAgICBmb250LXNpemU6IDE4cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH0NCg0KLnNlY3Rpb24tcC04LCAjcHJpY2UtcGFydCwgI2Vycm9yLXBhcnQgew0KICBwYWRkaW5nOiA4M3B4IDAgOTBweDsgfQ0KDQoucC0xMCB7DQogIHBhZGRpbmc6IDEwcHg7IH0NCg0KLnAtMjAgew0KICBwYWRkaW5nOiAyMHB4OyB9DQoNCi5wLTMwIHsNCiAgcGFkZGluZzogMzBweDsgfQ0KDQoucC10Yi0xMCwgI3ByaWNlLXBhcnQgLnByaWNlLWl0ZW0gLmNvc3QtdmFsdWUsICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIC5wYWNrYWdlLWRlcyBsaSB7DQogIHBhZGRpbmctdG9wOiAxMHB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfQ0KDQoucC10Yi0yMCwgI3ByaWNlLXBhcnQgLnByaWNlLWl0ZW0gew0KICBwYWRkaW5nLXRvcDogMjBweDsNCiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0NCg0KLnAtdGItMzAsICNzZXJ2aWNlLXBhcnQgLnNlcnZpY2UtaXRlbSwgI3ByaWNlLXBhcnQgLnByaWNlLWl0ZW0gLnBhY2thZ2UtZGVzLCAjZm9vdGVyLXBhcnQgLmZvb3Rlci1ib3R0b20gew0KICBwYWRkaW5nLXRvcDogMzBweDsNCiAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0NCg0KLnAtdGItNDAgew0KICBwYWRkaW5nLXRvcDogNDBweDsNCiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0NCg0KLnAtdGItNTAgew0KICBwYWRkaW5nLXRvcDogNTBweDsNCiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0NCg0KLnAtbHItMTAgew0KICBwYWRkaW5nLWxlZnQ6IDEwcHg7DQogIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0NCg0KLnAtbHItMjAsICNzZXJ2aWNlLXBhcnQgLnNlcnZpY2UtaXRlbSwgI3Rlc3RpbW9uaWFsLXBhcnQgLnRlc3RpbW9uaWFsLWl0ZW0gLmNsaW50LXNwZWVjaCBwLCAjcHJpY2UtcGFydCAucHJpY2UtaXRlbSAucGFja2FnZS1kZXMgew0KICBwYWRkaW5nLWxlZnQ6IDIwcHg7DQogIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0NCg0KLnAtbHItMzAgew0KICBwYWRkaW5nLWxlZnQ6IDMwcHg7DQogIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0NCg0KLnAtbHItNDAgew0KICBwYWRkaW5nLWxlZnQ6IDQwcHg7DQogIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0NCg0KLnAtbHItNTAgew0KICBwYWRkaW5nLWxlZnQ6IDUwcHg7DQogIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH0NCg0KLnAtdC0xMCB7DQogIHBhZGRpbmctdG9wOiAxMHB4OyB9DQoNCi5wLXQtMjAsIC5zZWN0aW9uLWhlYWQgcCwgI2Fib3V0LXBhcnQgLmFib3V0LWRldGFpbHMgLmFib3V0LWRlcyBwLCAjYWJvdXQtcGFydCAuYWJvdXQtZGV0YWlscyAuYWJvdXQtZGVzIHVsIGxpIHsNCiAgcGFkZGluZy10b3A6IDIwcHg7IH0NCg0KLnAtdC0zMCB7DQogIHBhZGRpbmctdG9wOiAzMHB4OyB9DQoNCi5wLXQtNDAsICNmb290ZXItcGFydCAuZm9vdGVyLXdpZGdldCAud2lkZ2V0LWl0ZW0tNCBoNCB7DQogIHBhZGRpbmctdG9wOiA0MHB4OyB9DQoNCi5wLXQtNTAgew0KICBwYWRkaW5nLXRvcDogNTBweDsgfQ0KDQoucC1iLTEwLCAuZmVhdHVyZS1pdGVtIC5mZWF0dXJlLWRlcyBoMywgI2Fib3V0LXBhcnQgLmFib3V0LWRldGFpbHMgLmFib3V0LWRlcyBwIHsNCiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0NCg0KLnAtYi0yMCB7DQogIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9DQoNCi5wLWItMzAgew0KICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfQ0KDQoucC1iLTQwIHsNCiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0NCg0KLnAtYi01MCB7DQogIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9DQoNCi5tLXQtMTAsICNzZXJ2aWNlLXBhcnQgLnNlcnZpY2UtaXRlbSBhLmJ0bi0yLCAjdGVzdGltb25pYWwtcGFydCAudGVzdGltb25pYWwtaXRlbSAuY2xpbnQtaW5mbyBoMyB7DQogIG1hcmdpbi10b3A6IDEwcHg7IH0NCg0KLm0tdC0yMCwgI2Fib3V0LXBhcnQgLmFib3V0LWRldGFpbHMgLmFib3V0LWRlcyB1bCB7DQogIG1hcmdpbi10b3A6IDIwcHg7IH0NCg0KLm0tdC0zMCwgI2Fib3V0LXBhcnQgLmFib3V0LXZpZGVvIC5hYm91dC12aWRlby1pbm5lciBoMywgI3NlcnZpY2UtcGFydCAuc2VydmljZS1pdGVtLCAjd29yay1wYXJ0IGEuYnRuLTIsICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIHsNCiAgbWFyZ2luLXRvcDogMzBweDsgfQ0KDQoubS10LTQwLCAuZmVhdHVyZS1pdGVtLCAjd29yay1wYXJ0IC5ncmlkIC5maWx0ZXItaXRlbXMgew0KICBtYXJnaW4tdG9wOiA0MHB4OyB9DQoNCi5tLXQtNTAgew0KICBtYXJnaW4tdG9wOiA1MHB4OyB9DQoNCi5tLXItMTAsICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIC5wYWNrYWdlLWRlcyBsaSBpIHsNCiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9DQoNCi5tLXItMjAsIC5mZWF0dXJlLWl0ZW0gLmZlYXR1cmUtaWNvbiwgI2Fib3V0LXBhcnQgLmFib3V0LWRldGFpbHMgLmFib3V0LWRlcyB1bCBsaSBpIHsNCiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9DQoNCi5tLXItMzAgew0KICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH0NCg0KLm0tci00MCB7DQogIG1hcmdpbi1yaWdodDogNDBweDsgfQ0KDQoubS1yLTUwIHsNCiAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9DQoNCi5tLWItMTAsICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIGgzLCAjY29taW5nLXBhcnQgLmNvbWluZy1kZXMgLmxvZ28tdGV4dCwgI2NvbWluZy1wYXJ0IC5jb21pbmctZGVzIGgzLCAjY29taW5nLXBhcnQgLmNvbWluZy1kZXMgaDQsICNicmVhZGNydW1iIC5icmVhZGNydW1iLWRldGFpbCBoMiB7DQogIG1hcmdpbi1ib3R0b206IDEwcHg7IH0NCg0KLm0tYi0yMCwgI2Vycm9yLXBhcnQgLmVycm9yLWRlcyBoMywgI2Vycm9yLXBhcnQgLmVycm9yLWRlcyBwIHsNCiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQ0KDQoubS1iLTMwLCAjZXJyb3ItcGFydCAuZXJyb3ItZGVzIGgyIHsNCiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfQ0KDQoubS1iLTQwIHsNCiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfQ0KDQoubS1iLTUwIHsNCiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfQ0KDQouc2VjdGlvbi1oZWFkIHsNCiAgbWFyZ2luOiBhdXRvOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIG1hcmdpbi1ib3R0b206IDQwcHg7IH0NCiAgLnNlY3Rpb24taGVhZCBoMiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0NCiAgICAuc2VjdGlvbi1oZWFkIGgyIHNwYW4gew0KICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5Iiwgc2VyaWY7DQogICAgICBmb250LXdlaWdodDogNzAwOyB9DQogIC5zZWN0aW9uLWhlYWQgcCB7DQogICAgbWF4LXdpZHRoOiA3MzJweDsNCiAgICBtYXJnaW46IGF1dG87IH0NCg0KDQoNCi5tLXQtMTAsICNzZXJ2aWNlLXBhcnQgLnNlcnZpY2UtaXRlbSBhLmJ0bi0yLCAjdGVzdGltb25pYWwtcGFydCAudGVzdGltb25pYWwtaXRlbSAuY2xpbnQtaW5mbyBoMyB7DQogIG1hcmdpbi10b3A6IDEwcHg7IH0NCg0KLm0tdC0yMCwgI2Fib3V0LXBhcnQgLmFib3V0LWRldGFpbHMgLmFib3V0LWRlcyB1bCB7DQogIG1hcmdpbi10b3A6IDIwcHg7IH0NCg0KLm0tdC0zMCwgI2Fib3V0LXBhcnQgLmFib3V0LXZpZGVvIC5hYm91dC12aWRlby1pbm5lciBoMywgI3NlcnZpY2UtcGFydCAuc2VydmljZS1pdGVtLCAjd29yay1wYXJ0IGEuYnRuLTIsICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIHsNCiAgbWFyZ2luLXRvcDogMzBweDsgfQ0KDQoubS10LTQwLCAuZmVhdHVyZS1pdGVtLCAjd29yay1wYXJ0IC5ncmlkIC5maWx0ZXItaXRlbXMgew0KICBtYXJnaW4tdG9wOiA0MHB4OyB9DQoNCi5tLXQtNTAgew0KICBtYXJnaW4tdG9wOiA1MHB4OyB9DQoNCi5tLXItMTAsICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIC5wYWNrYWdlLWRlcyBsaSBpIHsNCiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9DQoNCi5tLXItMjAsIC5mZWF0dXJlLWl0ZW0gLmZlYXR1cmUtaWNvbiwgI2Fib3V0LXBhcnQgLmFib3V0LWRldGFpbHMgLmFib3V0LWRlcyB1bCBsaSBpIHsNCiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9DQoNCi5tLXItMzAgew0KICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH0NCg0KLm0tci00MCB7DQogIG1hcmdpbi1yaWdodDogNDBweDsgfQ0KDQoubS1yLTUwIHsNCiAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9DQoNCi5tLWItMTAsICNwcmljZS1wYXJ0IC5wcmljZS1pdGVtIGgzLCAjY29taW5nLXBhcnQgLmNvbWluZy1kZXMgLmxvZ28tdGV4dCwgI2NvbWluZy1wYXJ0IC5jb21pbmctZGVzIGgzLCAjY29taW5nLXBhcnQgLmNvbWluZy1kZXMgaDQsICNicmVhZGNydW1iIC5icmVhZGNydW1iLWRldGFpbCBoMiB7DQogIG1hcmdpbi1ib3R0b206IDEwcHg7IH0NCg0KLm0tYi0yMCwgI2Vycm9yLXBhcnQgLmVycm9yLWRlcyBoMywgI2Vycm9yLXBhcnQgLmVycm9yLWRlcyBwIHsNCiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQ0KDQoubS1iLTMwLCAjZXJyb3ItcGFydCAuZXJyb3ItZGVzIGgyIHsNCiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfQ0KDQoubS1iLTQwIHsNCiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfQ0KDQoubS1iLTUwIHsNCiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfQ0KDQouc2VjdGlvbi1oZWFkIHsNCiAgbWFyZ2luOiBhdXRvOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIG1hcmdpbi1ib3R0b206IDQwcHg7IH0NCiAgLnNlY3Rpb24taGVhZCBoMiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0NCiAgICAuc2VjdGlvbi1oZWFkIGgyIHNwYW4gew0KICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5Iiwgc2VyaWY7DQogICAgICBmb250LXdlaWdodDogNzAwOyB9DQogIC5zZWN0aW9uLWhlYWQgcCB7DQogICAgbWF4LXdpZHRoOiA3MzJweDsNCiAgICBtYXJnaW46IGF1dG87IH0NCg0KLmJnLWRhcmssDQouYmctd2hpdGUgew0KICBiYWNrZ3JvdW5kOiAjZjhmOWZhOyB9DQogIC5iZy1kYXJrIC5zZWN0aW9uLWhlYWQgaDMsDQogIC5iZy13aGl0ZSAuc2VjdGlvbi1oZWFkIGgzIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9DQogIC5iZy1kYXJrIC5zZWN0aW9uLWhlYWQgaDIsDQogIC5iZy13aGl0ZSAuc2VjdGlvbi1oZWFkIGgyIHsNCiAgICBjb2xvcjogIzMzMzMzMzsgfQ0KICAuYmctZGFyayAuc2VjdGlvbi1oZWFkIHAsDQogIC5iZy13aGl0ZSAuc2VjdGlvbi1oZWFkIHAgew0KICAgIGNvbG9yOiAjODQ4NDg0OyB9DQoNCi5iZy1kYXJrIHsNCiAgYmFja2dyb3VuZDogIzExMTExMTsgfQ0KICAuYmctZGFyayAuc2VjdGlvbi1oZWFkIGgzIHsNCiAgICBjb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjkpOyB9DQogIC5iZy1kYXJrIC5zZWN0aW9uLWhlYWQgaDIgew0KICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH0NCiAgLmJnLWRhcmsgLnNlY3Rpb24taGVhZCBwIHsNCiAgICBjb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjgpOyB9DQoNCi5idG4tMSB7DQogIGhlaWdodDogNDBweDsNCiAgd2lkdGg6IDExNXB4Ow0KICBsaW5lLWhlaWdodDogNDBweDsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBmb250LXNpemU6IDE3cHg7DQogIGJhY2tncm91bmQ6ICMwMjM4NkU7DQogIGNvbG9yOiAjZmZmZmZmOw0KICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzOw0KICAtby10cmFuc2l0aW9uOiBhbGwgMC40czsNCiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7IH0NCiAgLmJ0bi0xOmhvdmVyIHsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTsNCiAgICAtby1ib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7DQogICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpOyB9DQoNCi5idG4tMiB7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogIGJvcmRlci1yYWRpdXM6IDIxcHg7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgcGFkZGluZzogMTJweCAyMnB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsZXR0ZXItc3BhY2luZzogMXB4Ow0KICBib3JkZXI6IDFweCBzb2xpZCAjMDliM2VmOw0KICBjb2xvcjogI2ZmZmZmZjsNCiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYmFja2dyb3VuZDogIzE3YTJiODsNCiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40czsNCiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHM7DQogIHRyYW5zaXRpb246IGFsbCAwLjRzOyB9DQogIC5idG4tMjpob3ZlciB7DQogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogICAgY29sb3I6ICMwOWIzZWY7DQogICAgYm9yZGVyOiAxcHggc29saWQgIzA5YjNlZjsgfQ0KDQphLnYtaWNvbiB7DQogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBib3JkZXItcmFkaXVzOiA1MCU7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgcGFkZGluZzogMTBweDsgfQ0KICBhLnYtaWNvbiBpIHsNCiAgICBoZWlnaHQ6IDcwcHg7DQogICAgd2lkdGg6IDcwcHg7DQogICAgbGluZS1oZWlnaHQ6IDYzcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7DQogICAgZm9udC1zaXplOiAzNXB4Ow0KICAgIGNvbG9yOiAjMDliM2VmOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7DQogICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHM7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7DQogICAgYm9yZGVyOiA0cHggc29saWQ7IH0NCg0KLm92ZXJsYXksIC5iYW5uZXItaXRlbSwgLmJhbm5lci1wYXJhLWltZywgI2Fib3V0LXBhcnQgLmFib3V0LXZpZGVvLCAjYWJvdXQtY29tcGFueSAuYWJvdXQtbGVmdCwgI3N0b3J5LXBhcnQgLnN0b3J5LXJpZ2h0IC5ncmV3LWltZywgI3NlcnZpY2UtYmFubmVyLCAjdGVzdGltb25pYWwtcGFydCwgI2NvbWluZy1wYXJ0LCAuY29udGFjdC1icmVhZGNydW1iLCAuYWJvdXQtYnJlYWRjcnVtYiwgI2NvdW50ZXItcGFydC5hYm91dC1hY2hpdmVtZW50IHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOyB9DQogIC5vdmVybGF5OjphZnRlciwgLmJhbm5lci1pdGVtOjphZnRlciwgLmJhbm5lci1wYXJhLWltZzo6YWZ0ZXIsICNhYm91dC1wYXJ0IC5hYm91dC12aWRlbzo6YWZ0ZXIsICNhYm91dC1jb21wYW55IC5hYm91dC1sZWZ0OjphZnRlciwgI3N0b3J5LXBhcnQgLnN0b3J5LXJpZ2h0IC5ncmV3LWltZzo6YWZ0ZXIsICNzZXJ2aWNlLWJhbm5lcjo6YWZ0ZXIsICN0ZXN0aW1vbmlhbC1wYXJ0OjphZnRlciwgI2NvbWluZy1wYXJ0OjphZnRlciwgLmNvbnRhY3QtYnJlYWRjcnVtYjo6YWZ0ZXIsIC5hYm91dC1icmVhZGNydW1iOjphZnRlciwgI2NvdW50ZXItcGFydC5hYm91dC1hY2hpdmVtZW50OjphZnRlciB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsgfQ0KICAub3ZlcmxheSAuY29udGFpbmVyLCAuYmFubmVyLWl0ZW0gLmNvbnRhaW5lciwgLmJhbm5lci1wYXJhLWltZyAuY29udGFpbmVyLCAjYWJvdXQtcGFydCAuYWJvdXQtdmlkZW8gLmNvbnRhaW5lciwgI2Fib3V0LWNvbXBhbnkgLmFib3V0LWxlZnQgLmNvbnRhaW5lciwgI3N0b3J5LXBhcnQgLnN0b3J5LXJpZ2h0IC5ncmV3LWltZyAuY29udGFpbmVyLCAjc2VydmljZS1iYW5uZXIgLmNvbnRhaW5lciwgI3Rlc3RpbW9uaWFsLXBhcnQgLmNvbnRhaW5lciwgI2NvbWluZy1wYXJ0IC5jb250YWluZXIsIC5jb250YWN0LWJyZWFkY3J1bWIgLmNvbnRhaW5lciwgLmFib3V0LWJyZWFkY3J1bWIgLmNvbnRhaW5lciwgI2NvdW50ZXItcGFydC5hYm91dC1hY2hpdmVtZW50IC5jb250YWluZXIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB6LWluZGV4OiA1OyB9DQoNCi5iZy1pbWcsIC5iYW5uZXItaXRlbSwgLmJhbm5lci1vd2wtbmF2IC5vd2wtYXJyb3dzLCAjYWJvdXQtcGFydCAuYWJvdXQtZGV0YWlscyAuYWJvdXQtbGVmdCwgI2Fib3V0LXBhcnQgLmFib3V0LXZpZGVvLCAjYWJvdXQtY29tcGFueSAuYWJvdXQtbGVmdCwgI3N0b3J5LXBhcnQgLnN0b3J5LXJpZ2h0IC5ncmV3LWltZywgI3NlcnZpY2UtYmFubmVyLCAjdGVzdGltb25pYWwtcGFydCwgI2NvbWluZy1wYXJ0LCAuY29udGFjdC1icmVhZGNydW1iLCAuYWJvdXQtYnJlYWRjcnVtYiwgI2NvdW50ZXItcGFydC5hYm91dC1hY2hpdmVtZW50IHsNCiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50Ow0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50Ow0KICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkICFpbXBvcnRhbnQ7IH0NCg0KLnNvY2lhbC1pY29uIGkgew0KICBoZWlnaHQ6IDM1cHg7DQogIHdpZHRoOiAzNXB4Ow0KICBsaW5lLWhlaWdodDogMzNweDsNCiAgYm9yZGVyOiAxcHggc29saWQ7DQogIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgdGV4dC1hbGlnbjogY2VudGVyOyB9DQoNCi5hcnJvdy1wcmltYXJ5LCAuYXJyb3ctMSB7DQogIGhlaWdodDogNDBweDsNCiAgd2lkdGg6IDQwcHg7DQogIGxpbmUtaGVpZ2h0OiAzNXB4Ow0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQtc2l6ZTogMzBweDsNCiAgYm9yZGVyOiAxcHggc29saWQ7DQogIGN1cnNvcjogcG9pbnRlcjsgfQ0KDQouYXJyb3ctMSB7DQogIGJvcmRlci1yYWRpdXM6IDUwJTsgfQ0KDQoucG9zaXRpb24tYSwgLnBvc2l0aW9uLXRsLTUwLCAuaXRlbS1jYXB0aW9uLTIsIC5iYW5uZXItcGFyYS1pbWcgLml0ZW0tY2FwdGlvbiwgI3dvcmstcGFydCAuZ3JpZCAuZmlsdGVyLWl0ZW1zIC5maWx0ZXItaXRlbXMtbGluaywgI2Jsb2ctcGFydCAuYmxvZy1pdGVtIC5ibG9nLWltZyAuYmxvZy1pbWctbGluaywgI2NvbWluZy1wYXJ0IC5jb21pbmctZGVzLCAuaXRlbS1jYXB0aW9uLCAuYmFubmVyLW93bC1uYXYgLm93bC1hcnJvd3MsIC5iYW5uZXItYWN0aXZlIC5vd2wtZG90cywgI2Jsb2ctcGFydCAuYmxvZy1pdGVtIC5ibG9nLWltZyAuYmxvZy1oZWFkaW5nIHsNCiAgcG9zaXRpb246IGFic29sdXRlOyB9DQoNCi5wb3NpdGlvbi10bC01MCwgLml0ZW0tY2FwdGlvbi0yLCAuYmFubmVyLXBhcmEtaW1nIC5pdGVtLWNhcHRpb24sICN3b3JrLXBhcnQgLmdyaWQgLmZpbHRlci1pdGVtcyAuZmlsdGVyLWl0ZW1zLWxpbmssICNibG9nLXBhcnQgLmJsb2ctaXRlbSAuYmxvZy1pbWcgLmJsb2ctaW1nLWxpbmssICNjb21pbmctcGFydCAuY29taW5nLWRlcyB7DQogIHRvcDogNTAlOw0KICBsZWZ0OiA1MCU7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9DQoNCi52ZXJ0aWNhbC1saXN0IGxpIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBjb2xvcjogIzMxMzEzMTsgfQ0KICAudmVydGljYWwtbGlzdCBsaSBhIHsNCiAgICBjb2xvcjogIzMxMzEzMTsNCiAgICBvcGFjaXR5OiAuODsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzOw0KICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzOw0KICAgIHRyYW5zaXRpb246IGFsbCAwLjRzOyB9DQogICAgLnZlcnRpY2FsLWxpc3QgbGkgYTpob3ZlciB7DQogICAgICBjb2xvcjogIzA5YjNlZjsgfQ0KDQouc29jaWFsLW1haW4gbGkgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0NCiAgLnNvY2lhbC1tYWluIGxpIGkgew0KICAgIGNvbG9yOiAjZmZmZmZmOw0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40czsNCiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40czsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsNCiAgICBoZWlnaHQ6IDQwcHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgd2lkdGg6IDQwcHg7DQogICAgbWFyZ2luOiAwIDVweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYm9yZGVyLXJhZGl1czogM3B4OyB9DQogICAgLnNvY2lhbC1tYWluIGxpIGk6aG92ZXIgew0KICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfQ0KICAuc29jaWFsLW1haW4gbGkgLmZiLWljb24gew0KICAgIGJhY2tncm91bmQ6ICMzYTU1OWY7IH0NCiAgICAuc29jaWFsLW1haW4gbGkgLmZiLWljb246aG92ZXIgew0KICAgICAgY29sb3I6ICMzYTU1OWY7IH0NCiAgLnNvY2lhbC1tYWluIGxpIC50d2l0dGVyLWljb24gew0KICAgIGJhY2tncm91bmQ6ICM1MGFiZjE7IH0NCiAgICAuc29jaWFsLW1haW4gbGkgLnR3aXR0ZXItaWNvbjpob3ZlciB7DQogICAgICBjb2xvcjogIzUwYWJmMTsgfQ0KICAuc29jaWFsLW1haW4gbGkgLmluc3RhZ3JhbS1pY29uIHsNCiAgICBiYWNrZ3JvdW5kOiAjY2MwMDAwOyB9DQogICAgLnNvY2lhbC1tYWluIGxpIC5pbnN0YWdyYW0taWNvbjpob3ZlciB7DQogICAgICBjb2xvcjogI2NjMDAwMDsgfQ0KICAuc29jaWFsLW1haW4gbGkgLnlvdXR1YmUtaWNvbiB7DQogICAgYmFja2dyb3VuZDogI2RjNDcyZTsgfQ0KICAgIC5zb2NpYWwtbWFpbiBsaSAueW91dHViZS1pY29uOmhvdmVyIHsNCiAgICAgIGNvbG9yOiAjZGM0NzJlOyB9DQogIC5zb2NpYWwtbWFpbiBsaSAuc2t5cGUtaWNvbiB7DQogICAgYmFja2dyb3VuZDogIzE1YWNlNTsgfQ0KICAgIC5zb2NpYWwtbWFpbiBsaSAuc2t5cGUtaWNvbjpob3ZlciB7DQogICAgICBjb2xvcjogIzE1YWNlNTsgfQ0KICAuc29jaWFsLW1haW4gbGkgLmxpbmtlZC1pY29uIHsNCiAgICBiYWNrZ3JvdW5kOiAjMDA4NGIxOyB9DQogICAgLnNvY2lhbC1tYWluIGxpIC5saW5rZWQtaWNvbjpob3ZlciB7DQogICAgICBjb2xvcjogIzAwODRiMTsgfQ0KICAuc29jaWFsLW1haW4gbGkgLmdvb2dsZS1wbHVzLWljb24gew0KICAgIGJhY2tncm91bmQ6ICNkZDRiMzk7IH0NCiAgICAuc29jaWFsLW1haW4gbGkgLmdvb2dsZS1wbHVzLWljb246aG92ZXIgew0KICAgICAgY29sb3I6ICNkZDRiMzk7IH0NCiAgLnNvY2lhbC1tYWluIGxpIC5waW50ZXJlc3QtaWNvbiB7DQogICAgYmFja2dyb3VuZDogI2NjMzMzMzsgfQ0KICAgIC5zb2NpYWwtbWFpbiBsaSAucGludGVyZXN0LWljb246aG92ZXIgew0KICAgICAgY29sb3I6ICNjYzMzMzM7IH0NCiAgLnNvY2lhbC1tYWluIGxpIC5mZWVkLWljb24gew0KICAgIGJhY2tncm91bmQ6ICNmZjk5MzM7IH0NCiAgICAuc29jaWFsLW1haW4gbGkgLmZlZWQtaWNvbjpob3ZlciB7DQogICAgICBjb2xvcjogI2ZmOTkzMzsgfQ0KDQojaXN0b3RvcCB7DQogIHBvc2l0aW9uOiBmaXhlZDsNCiAgYm90dG9tOiA0MHB4Ow0KICByaWdodDogNDBweDsNCiAgei1pbmRleDogNTA7DQogIGJhY2tncm91bmQ6ICMwMjM4NkU7DQogIGNvbG9yOiAjZmZmZmZmOw0KICBoZWlnaHQ6IDM1cHg7DQogIHdpZHRoOiAzNXB4Ow0KICBsaW5lLWhlaWdodDogMzVweDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICBib3JkZXItcmFkaXVzOiAzcHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgZGlzcGxheTogbm9uZTsgfQ0KICAjaXN0b3RvcCBpIHsNCiAgICBmb250LXNpemU6IDE4cHg7IH0NCiAgI2lzdG90b3A6aG92ZXIgew0KICAgIGxpbmUtaGVpZ2h0OiA1NXB4OyB9DQogICAgI2lzdG90b3A6aG92ZXIgaSB7DQogICAgICBhbmltYXRpb246IHRvdG9wYnRuIDEuMnMgaW5maW5pdGU7DQogICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzOyB9DQoNCkBrZXlmcmFtZXMgdG90b3BidG4gew0KICBmb3JtIHsNCiAgICBvcGFjaXR5OiAwOyB9DQogIHRvIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xOHB4LCAwKTsNCiAgICBvcGFjaXR5OiAxOyB9IH0NCiNwdXJjaGFzZS1maXhlZCB7DQogIGxlZnQ6IDA7DQogIHBvc2l0aW9uOiBmaXhlZDsNCiAgdG9wOiAzMCU7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsNCiAgei1pbmRleDogOTk7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40czsNCiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHM7DQogIHRyYW5zaXRpb246IGFsbCAwLjRzOyB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAjcHVyY2hhc2UtZml4ZWQgew0KICAgICAgZGlzcGxheTogbm9uZTsgfSB9DQogICNwdXJjaGFzZS1maXhlZCBhIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBjb2xvcjogI2ZmZmZmZjsNCiAgICBiYWNrZ3JvdW5kOiAjMDIzODZFOw0KICAgIHBhZGRpbmc6IDAgNXB4Ow0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7DQogICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHM7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7IH0NCiAgICAjcHVyY2hhc2UtZml4ZWQgYTpmaXJzdC1jaGlsZCB7DQogICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0NCiAgICAjcHVyY2hhc2UtZml4ZWQgYTpob3ZlciB7DQogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzOw0KICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHM7DQogICAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsNCiAgICAgIGNvbG9yOiAjMDliM2VmOw0KICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfQ0KICAgICNwdXJjaGFzZS1maXhlZCBhIGkgew0KICAgICAgY3Vyc29yOiBwb2ludGVyOw0KICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7DQogICAgICBoZWlnaHQ6IDI4cHg7DQogICAgICB3aWR0aDogMzJweDsNCiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9DQoNCi5wdXJjaGFzZS1kZXMsDQoucXVvdGUtZGVzIHsNCiAgcGFkZGluZzogMjVweCAwOyB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAucHVyY2hhc2UtZGVzLA0KICAgIC5xdW90ZS1kZXMgew0KICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH0NCiAgLnB1cmNoYXNlLWRlcyBoMywNCiAgLnF1b3RlLWRlcyBoMyB7DQogICAgZm9udC1zaXplOiAzMHB4OyB9DQogICAgLnB1cmNoYXNlLWRlcyBoMyBzcGFuLA0KICAgIC5xdW90ZS1kZXMgaDMgc3BhbiB7DQogICAgICBjb2xvcjogIzA5YjNlZjsgfQ0KICAucHVyY2hhc2UtZGVzIHAsDQogIC5xdW90ZS1kZXMgcCB7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIHBhZGRpbmctdG9wOiA1cHg7IH0NCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC5wdXJjaGFzZS1kZXMgaDMsDQogICAgLnF1b3RlLWRlcyBoMyB7DQogICAgICBmb250LXNpemU6IDI1cHg7IH0NCiAgICAucHVyY2hhc2UtZGVzIHAsDQogICAgLnF1b3RlLWRlcyBwIHsNCiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHsNCiAgICAucHVyY2hhc2UtZGVzLA0KICAgIC5xdW90ZS1kZXMgew0KICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0NCiAgICAgIC5wdXJjaGFzZS1kZXMgaDMsDQogICAgICAucXVvdGUtZGVzIGgzIHsNCiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9DQogICAgICAucHVyY2hhc2UtZGVzIHAsDQogICAgICAucXVvdGUtZGVzIHAgew0KICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfQ0KDQoucHVyY2hhc2UtcGxhY2UsDQoucXVvdGUtcGxhY2Ugew0KICB0ZXh0LWFsaWduOiByaWdodDsNCiAgcGFkZGluZzogMzBweCAwOyB9DQogIC5wdXJjaGFzZS1wbGFjZSBhLmJ0bi0xOmhvdmVyLA0KICAucXVvdGUtcGxhY2UgYS5idG4tMTpob3ZlciB7DQogICAgY29sb3I6ICNmZmZmZmY7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggNnB4IDEzcHggMXB4IHJnYmEoMCwgMCwgMCwgMC44KTsNCiAgICAtby1ib3gtc2hhZG93OiAwcHggNnB4IDEzcHggMXB4IHJnYmEoMCwgMCwgMCwgMC44KTsNCiAgICBib3gtc2hhZG93OiAwcHggNnB4IDEzcHggMXB4IHJnYmEoMCwgMCwgMCwgMC44KTsgfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLnB1cmNoYXNlLXBsYWNlLA0KICAgIC5xdW90ZS1wbGFjZSB7DQogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICBwYWRkaW5nOiAyMHB4IDAgMzBweDsgfSB9DQogIC5wdXJjaGFzZS1wbGFjZSBhLmJ0bi0yLA0KICAucXVvdGUtcGxhY2UgYS5idG4tMiB7DQogICAgbWFyZ2luLXRvcDogOHB4OyB9DQoNCiNxdW90ZSB7DQogIGJhY2tncm91bmQ6ICNmMWYxZjE7IH0NCg0KLnB1cmNoYXNlLXBsYWNlIGEuYnRuLTEgew0KICB3aWR0aDogMTU1cHg7IH0NCg0KLnNpbmdsZS1zbGlkZXItYXJyb3cgaSB7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgY29sb3I6ICMwOWIzZWY7DQogIGZvbnQtc2l6ZTogNTBweDsNCiAgei1pbmRleDogMTA7IH0="}},"time_used":129,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":106,"receive":23,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.243Z","timestamp":1785124600243,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: d96ad5f9c33cac6295d87c1313b5d9a8\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-04T06:18:34.207535Z","times_seen":5811,"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":"astroxcinvest.com/css/owl.theme.default.min.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.414Z","timestamp":1785124599414,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/owl.theme.default.min.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"3a8-5aa839fc-bc190676e2f35ff;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 333\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":936,"size_decoded":693,"mime_type":"text/css","magic":"ASCII text, with very long lines (846)","md5":"275048a23c69c24c6bd3316d9a45882e","sha1":"31f27f631d97f8564386f05fa2859683349d5fbc","sha256":"296b3d8e9fa36733999a69d6e630bc6361ea23dada8c98a0e48d34ba7f7d0ed2","sha512":"190cfa9c0a64753edc58dd429e3fc33809327f334ea2afadc4885210ad46e074c26d21d51a9b2bbe2ae9b5b00feb436eeea6f0d3e5e50003c65262d4d8be65e2","ssdeep":"","tlshash":"fd1157c4a18a221d3023c190579842cb6b1e687f425d0af6f89e9160c22dd052a6fbe9","first_seen":"2023-04-05T13:57:46Z","last_seen":"2026-08-04T04:45:23.960945Z","times_seen":6176,"resource_available":false,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4yLjEKICogQ29weXJpZ2h0IDIwMTMtMjAxNyBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyICAoKQogKi8KLm93bC10aGVtZSAub3dsLWRvdHMsLm93bC10aGVtZSAub3dsLW5hdnt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm93bC10aGVtZSAub3dsLW5hdnttYXJnaW4tdG9wOjEwcHh9Lm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1de2NvbG9yOiNGRkY7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjVweDtwYWRkaW5nOjRweCA3cHg7YmFja2dyb3VuZDojRDZENkQ2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6M3B4fS5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj1vd2wtXTpob3ZlcntiYWNrZ3JvdW5kOiM4Njk3OTE7Y29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZX0ub3dsLXRoZW1lIC5vd2wtbmF2IC5kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS5vd2wtdGhlbWUgLm93bC1uYXYuZGlzYWJsZWQrLm93bC1kb3Rze21hcmdpbi10b3A6MTBweH0ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdHtkaXNwbGF5OmlubGluZS1ibG9jazt6b29tOjF9Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgc3Bhbnt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O21hcmdpbjo1cHggN3B4O2JhY2tncm91bmQ6I0Q2RDZENjtkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtib3JkZXItcmFkaXVzOjMwcHh9Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXIgc3BhbntiYWNrZ3JvdW5kOiM4Njk3OTF9"}},"time_used":192,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":192,"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":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/custom.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.629Z","timestamp":1785124599629,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/custom.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 28 Mar 2018 01:36:18 GMT\r\netag: \"34c8-5abaf192-34871b4047fe098e;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 2377\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":13512,"size_decoded":2754,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"5c708b092eede4db18aa75ca18beb816","sha1":"139c07810e38a874f00873df7c50ee94f8c0eef9","sha256":"84aee81fef8e0e3d216104154002aeee11256a630a49d45d43d230a29542bb2c","sha512":"a38b91c6d5560fed72a7f487528a67c12b5f42d22ef1fe17c56ea0bff32ed3c54373bff40921cb760b521951e027442c8c6921e2df2fc343d2f06f3c0b903c78","ssdeep":"192:rBl/2yJo1k+0YrzHro/akKAXZ/Bfb/akKblto/akK4XQlWy8Cj9O:r8GkLo/akK4/hb/akKbDo/akKcym","tlshash":"1252ad0afcf4182351a7f03a5bef5205e924810b4e45ad517e9d42ac6f8c72e69bdbcc","first_seen":"2023-03-11T13:40:47Z","last_seen":"2026-07-29T06:17:13.138343Z","times_seen":250,"resource_available":true,"data":"LyoKCVRlbXBsYXRlIE5hbWU6IEJpemlQcmVzcyAtIEZpbmFuY2UsIENvbnN1bHRpbmcsIEJ1c2luZXNzIEhUTUwgVGVtcGxhdGUKCUF1dGhvcjogVHJpcHBsZXMKCUF1dGhvciBVUkk6IGh0dHBzOi8vdGhlbWVmb3Jlc3QubmV0L3VzZXIvdHJpcHBsZXMKCURlc2NyaXB0aW9uOiBCaXppUHJlc3MgLSBGaW5hbmNlLCBDb25zdWx0aW5nLCBCdXNpbmVzcyBIVE1MIFRlbXBsYXRlCglWZXJzaW9uOiAxLjAKCgkxLiBGaXhlZCBoZWFkZXIKCTIuIE1haW4gc2xpZGVzaG93CgkzLiBTaXRlIHNlYXJjaAoJNC4gT3dsIENhcm91c2VsCgk1LiBWaWRlbyBwb3B1cAoJNi4gQ291bnRlcgoJNy4gQ29udGFjdCBmb3JtCgk4LiBCYWNrIHRvIHRvcAogIAoqLwoKCmpRdWVyeShmdW5jdGlvbiAoJCkgewogICAidXNlIHN0cmljdCI7CgoKCiAgICQod2luZG93KS5vbignbG9hZCcsIGZ1bmN0aW9uICgpIHsKICAgICAgY2hlY2tTY3JlZW5TaXplKCk7CiAgICAgIG1lbnVGaXhlZCgpOwogICB9KTsKCiAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAgIC8qICBGaXhlZCBoZWFkZXIKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiAgIGZ1bmN0aW9uIG1lbnVGaXhlZCgpIHsKICAgICAgdmFyIHdXaWR0aCA9ICQod2luZG93KS53aWR0aCgpOwogICAgICBpZiAod1dpZHRoID4gOTc0KSB7CiAgICAgICAgIGlmICgkKCcjaGVhZGVyLCAjaGVhZGVyLTIgLnNpdGUtbmF2LWlubmVyJykubGVuZ3RoKSB7CiAgICAgICAgICAgIHZhciBzdGlja3kgPSAkKCcjaGVhZGVyLCAjaGVhZGVyLTIgLnNpdGUtbmF2LWlubmVyJyksCiAgICAgICAgICAgICAgIHNjcm9sbCA9ICQod2luZG93KS5zY3JvbGxUb3AoKTsKCiAgICAgICAgICAgIGlmIChzY3JvbGwgPj0gNDAwKSBzdGlja3kuYWRkQ2xhc3MoJ2ZpeGVkJyk7CiAgICAgICAgICAgIGVsc2Ugc3RpY2t5LnJlbW92ZUNsYXNzKCdmaXhlZCcpOwoKICAgICAgICAgfTsKICAgICAgfQogICB9CiAgICQoZG9jdW1lbnQpLm9uKCdzY3JvbGwnLCBmdW5jdGlvbiAoKSB7CiAgICAgIG1lbnVGaXhlZCgpOwogICB9KTsKCgogICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogICAvKiAgTW9iaWxlIE1lbnUKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiAgICQoIi5kcm9wZG93bi1tZW51IGxpIikub24oImNsaWNrIiwgZnVuY3Rpb24gKCkgewogICAgICAkKCIuZHJvcGRvd24tbWVudSBsaSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTsKICAgICAgJCh0aGlzKS5hZGRDbGFzcygiYWN0aXZlIik7CiAgIH0pOwoKICAgZnVuY3Rpb24gY2hlY2tTY3JlZW5TaXplKCkgewogICAgICB2YXIgbmV3V2luZG93V2lkdGggPSAkKHdpbmRvdykud2lkdGgoKTsKICAgICAgaWYgKG5ld1dpbmRvd1dpZHRoIDwgOTkxKSB7CiAgICAgICAgICQoImxpLm5hdi1pdGVtIGEiKS5vbigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICQodGhpcykucGFyZW50KCJsaSIpLmZpbmQoIi5kcm9wZG93bi1tZW51Iikuc2xpZGVUb2dnbGUoKTsKICAgICAgICAgICAgJCh0aGlzKS5maW5kKCJpIikudG9nZ2xlQ2xhc3MoImZhLWFuZ2xlLWRvd24gZmEtYW5nbGUtdXAiKTsKICAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgICQoImxpLm5hdi1pdGVtIGEiKS5vbigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdkbyBub3RoaW5nJyk7CiAgICAgICAgIH0pOwogICAgICB9CiAgIH0KICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KICAgLyogIENvbnRhY3QgTWFwIAogICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgogICBpZiAoJCgnI21hcCcpLmxlbmd0aCA+IDApIHsKCiAgICAgIHZhciBjb250YWN0bWFwID0gewogICAgICAgICBsYXQ6IC0zNy44MTYyMTgsCiAgICAgICAgIGxuZzogMTQ0Ljk2NDA2OAogICAgICB9OwoKICAgICAgJCgnI21hcCcpCiAgICAgICAgIC5nbWFwMyh7CiAgICAgICAgICAgIHpvb206IDEyLAogICAgICAgICAgICBjZW50ZXI6IGNvbnRhY3RtYXAsCiAgICAgICAgICAgIHNjcm9sbHdoZWVsOiBmYWxzZSwKICAgICAgICAgICAgbWFwVHlwZUlkOiAic2hhZGVPZkdyZXkiLAogICAgICAgICAgICBtYXBUeXBlQ29udHJvbE9wdGlvbnM6IHsKICAgICAgICAgICAgICAgbWFwVHlwZUlkczogW2dvb2dsZS5tYXBzLk1hcFR5cGVJZC5ST0FETUFQLCAic2hhZGVPZkdyZXkiXQogICAgICAgICAgICB9CiAgICAgICAgIH0pCgogICAgICAgICAuc3R5bGVkbWFwdHlwZSgKICAgICAgICAgICAgInNoYWRlT2ZHcmV5IiwgWwoKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZmVhdHVyZVR5cGUiOiAiYWRtaW5pc3RyYXRpdmUiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiOiAiZ2VvbWV0cnkuc3Ryb2tlIiwKICAgICAgICAgICAgICAgICAgInN0eWxlcnMiOiBbewogICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiAiI2ZlZmVmZSIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibGlnaHRuZXNzIjogMTcKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAid2VpZ2h0IjogMS4yCiAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImZlYXR1cmVUeXBlIjogImFkbWluaXN0cmF0aXZlIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIjogImdlb21ldHJ5LmZpbGwiLAogICAgICAgICAgICAgICAgICAic3R5bGVycyI6IFt7CiAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6ICIjZmVmZWZlIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsaWdodG5lc3MiOiAyMAogICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJmZWF0dXJlVHlwZSI6ICJ0cmFuc2l0IiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIjogImdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgInN0eWxlcnMiOiBbewogICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiAiI2YyZjJmMiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibGlnaHRuZXNzIjogMTkKICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZmVhdHVyZVR5cGUiOiAiYWxsIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIjogImxhYmVscy5pY29uIiwKICAgICAgICAgICAgICAgICAgInN0eWxlcnMiOiBbewogICAgICAgICAgICAgICAgICAgICAidmlzaWJpbGl0eSI6ICJvZmYiCiAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImZlYXR1cmVUeXBlIjogImFsbCIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSI6ICJsYWJlbHMudGV4dC5maWxsIiwKICAgICAgICAgICAgICAgICAgInN0eWxlcnMiOiBbewogICAgICAgICAgICAgICAgICAgICAic2F0dXJhdGlvbiI6IDM2CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImNvbG9yIjogIiMzMzMzMzMiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxpZ2h0bmVzcyI6IDQwCiAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImZlYXR1cmVUeXBlIjogImFsbCIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSI6ICJsYWJlbHMudGV4dC5zdHJva2UiLAogICAgICAgICAgICAgICAgICAic3R5bGVycyI6IFt7CiAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmlsaXR5IjogIm9uIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6ICIjZmZmZmZmIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsaWdodG5lc3MiOiAxNgogICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJmZWF0dXJlVHlwZSI6ICJwb2kiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiOiAiZ2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAic3R5bGVycyI6IFt7CiAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6ICIjZjVmNWY1IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsaWdodG5lc3MiOiAyMQogICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJmZWF0dXJlVHlwZSI6ICJyb2FkLmxvY2FsIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIjogImdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgInN0eWxlcnMiOiBbewogICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiAiI2ZmZmZmZiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibGlnaHRuZXNzIjogMTYKICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZmVhdHVyZVR5cGUiOiAicm9hZC5hcnRlcmlhbCIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSI6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgICAgICAgICJzdHlsZXJzIjogW3sKICAgICAgICAgICAgICAgICAgICAgImNvbG9yIjogIiNmZmZmZmYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxpZ2h0bmVzcyI6IDE4CiAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImZlYXR1cmVUeXBlIjogInJvYWQuaGlnaHdheSIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSI6ICJnZW9tZXRyeS5zdHJva2UiLAogICAgICAgICAgICAgICAgICAic3R5bGVycyI6IFt7CiAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6ICIjZmZmZmZmIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsaWdodG5lc3MiOiAyOQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ3ZWlnaHQiOiAwLjIKICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZmVhdHVyZVR5cGUiOiAicm9hZC5oaWdod2F5IiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIjogImdlb21ldHJ5LmZpbGwiLAogICAgICAgICAgICAgICAgICAic3R5bGVycyI6IFt7CiAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6ICIjZmZmZmZmIgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsaWdodG5lc3MiOiAxNwogICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJmZWF0dXJlVHlwZSI6ICJsYW5kc2NhcGUiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiOiAiZ2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAic3R5bGVycyI6IFt7CiAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6ICIjZjVmNWY1IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsaWdodG5lc3MiOiAyMAogICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJmZWF0dXJlVHlwZSI6ICJ3YXRlciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSI6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgICAgICAgICJzdHlsZXJzIjogW3sKICAgICAgICAgICAgICAgICAgICAgImNvbG9yIjogIiNlOWU5ZTkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxpZ2h0bmVzcyI6IDE3CiAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwgewogICAgICAgICAgICAgICBuYW1lOiAiSFEiCiAgICAgICAgICAgIH0KICAgICAgICAgKQoKICAgICAgICAgLm1hcmtlcih7CiAgICAgICAgICAgIHBvc2l0aW9uOiBjb250YWN0bWFwLAogICAgICAgICAgICBpY29uOiAnaW1hZ2VzL21hcC1pY29uLnBuZycKICAgICAgICAgfSkKCiAgICAgICAgIC5pbmZvd2luZG93KHsKICAgICAgICAgICAgcG9zaXRpb246IGNvbnRhY3RtYXAsCiAgICAgICAgICAgIGNvbnRlbnQ6ICIxNjEyMiBDb2xsaW5zIFN0cmVldCBXZXN0LiBWaWN0b3JpYSIKICAgICAgICAgfSkKCiAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChpbmZvd2luZG93KSB7CiAgICAgICAgICAgIHZhciBtYXAgPSB0aGlzLmdldCgwKTsKICAgICAgICAgICAgdmFyIG1hcmtlciA9IHRoaXMuZ2V0KDEpOwogICAgICAgICAgICBtYXJrZXIuYWRkTGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICBpbmZvd2luZG93Lm9wZW4obWFwLCBtYXJrZXIpOwogICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgIH0KCiAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAgIC8qICBNYWluIHNsaWRlc2hvdwogICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKICAgJCgnI21haW4tc2xpZGUnKS5jYXJvdXNlbCh7CiAgICAgIHBhdXNlOiB0cnVlLAogICAgICBpbnRlcnZhbDogNjAwMCwKICAgfSk7CgoKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KICAgLyogIFNpdGUgc2VhcmNoCiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKICAgJCgnLm5hdi1zZWFyY2gnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICQoJy5zZWFyY2gtYmxvY2snKS5mYWRlSW4oMzUwKTsKICAgICAgJCh0aGlzKS5mYWRlT3V0KDM1MCk7CiAgIH0pOwoKICAgJCgnLnNlYXJjaC1jbG9zZScpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgJCgnLnNlYXJjaC1ibG9jaycpLmZhZGVPdXQoMzUwKTsKICAgICAgJCgnLm5hdi1zZWFyY2gnKS5mYWRlSW4oMzUwKTsKICAgfSk7CgoKCiAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAgIC8qICBPd2wgQ2Fyb3VzZWwKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiAgIC8vVGVzdGltb25pYWwgc2xpZGUKCiAgICQoIi50ZXN0aW1vbmlhbC1zbGlkZSIpLm93bENhcm91c2VsKHsKCiAgICAgIGxvb3A6IHRydWUsCiAgICAgIGF1dG9wbGF5OiBmYWxzZSwKICAgICAgYXV0b3BsYXlIb3ZlclBhdXNlOiB0cnVlLAogICAgICBuYXY6IHRydWUsCiAgICAgIG1hcmdpbjogMCwKICAgICAgZG90czogZmFsc2UsCiAgICAgIG1vdXNlRHJhZzogdHJ1ZSwKICAgICAgdG91Y2hEcmFnOiB0cnVlLAogICAgICBzbWFydFNwZWVkOiA5MDAsCiAgICAgIG5hdlRleHQ6IFsiPGkgY2xhc3M9J2ljb24gaWNvbi1sZWZ0LWFycm93Mic+PC9pPiIsICI8aSBjbGFzcz0naWNvbiBpY29uLXJpZ2h0LWFycm93Mic+PC9pPiJdLAogICAgICBpdGVtczogMSwKICAgICAgcmVzcG9uc2l2ZTogewogICAgICAgICAwOiB7CiAgICAgICAgICAgIGl0ZW1zOiAxLAogICAgICAgICAgICBuYXY6IGZhbHNlLAogICAgICAgICB9LAogICAgICAgICA2MDA6IHsKICAgICAgICAgICAgaXRlbXM6IDEsCiAgICAgICAgICAgIG5hdjogZmFsc2UsCiAgICAgICAgIH0sCiAgICAgICAgIDEwMDA6IHsKICAgICAgICAgICAgbmF2OiB0cnVlLAogICAgICAgICB9CiAgICAgIH0KCiAgIH0pOwoKCgogICAvL1BhcnRuZXJzIHNsaWRlCgogICAkKCIjcGFydG5lcnMtY2Fyb3VzZWwiKS5vd2xDYXJvdXNlbCh7CiAgICAgIGxvb3A6IHRydWUsCiAgICAgIGF1dG9wbGF5OiBmYWxzZSwKICAgICAgYXV0b3BsYXlIb3ZlclBhdXNlOiB0cnVlLAogICAgICBuYXY6IHRydWUsCiAgICAgIG1hcmdpbjogLTUwLAogICAgICBkb3RzOiBmYWxzZSwKICAgICAgbW91c2VEcmFnOiB0cnVlLAogICAgICB0b3VjaERyYWc6IHRydWUsCiAgICAgIHNtYXJ0U3BlZWQ6IDkwMCwKICAgICAgbmF2VGV4dDogWyI8aSBjbGFzcz0naWNvbiBpY29uLWxlZnQtYXJyb3cyJz48L2k+IiwgIjxpIGNsYXNzPSdpY29uIGljb24tcmlnaHQtYXJyb3cyJz48L2k+Il0sCiAgICAgIGl0ZW1zOiA1LAogICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgIDA6IHsKICAgICAgICAgICAgaXRlbXM6IDIsCiAgICAgICAgICAgIG5hdjogZmFsc2UsCiAgICAgICAgIH0sCiAgICAgICAgIDYwMDogewogICAgICAgICAgICBpdGVtczogMiwKICAgICAgICAgICAgbmF2OiBmYWxzZSwKICAgICAgICAgfSwKICAgICAgICAgMTAwMDogewogICAgICAgICAgICBpdGVtczogNQogICAgICAgICB9CiAgICAgIH0KCiAgIH0pOwoKCiAgIC8vUGFnZSBzbGlkZQoKICAgJCgiLnBhZ2Utc2xpZGVyIikub3dsQ2Fyb3VzZWwoewogICAgICBsb29wOiB0cnVlLAogICAgICBhdXRvcGxheTogdHJ1ZSwKICAgICAgYXV0b3BsYXlIb3ZlclBhdXNlOiB0cnVlLAogICAgICBuYXY6IHRydWUsCiAgICAgIG1hcmdpbjogMCwKICAgICAgZG90czogZmFsc2UsCiAgICAgIG1vdXNlRHJhZzogdHJ1ZSwKICAgICAgdG91Y2hEcmFnOiB0cnVlLAogICAgICBzbWFydFNwZWVkOiA4MDAsCiAgICAgIG5hdlRleHQ6IFsiPGkgY2xhc3M9J2ljb24gaWNvbi1sZWZ0LWFycm93Mic+PC9pPiIsICI8aSBjbGFzcz0naWNvbiBpY29uLXJpZ2h0LWFycm93Mic+PC9pPiJdLAogICAgICBpdGVtczogMSwKICAgICAgcmVzcG9uc2l2ZTogewogICAgICAgICAwOiB7CiAgICAgICAgICAgIGl0ZW1zOiAxLAogICAgICAgICAgICBuYXY6IGZhbHNlLAogICAgICAgICB9LAogICAgICAgICA2MDA6IHsKICAgICAgICAgICAgaXRlbXM6IDEsCiAgICAgICAgICAgIG5hdjogZmFsc2UsCiAgICAgICAgIH0sCiAgICAgICAgIDEwMDA6IHsKICAgICAgICAgICAgaXRlbXM6IDEsCiAgICAgICAgICAgIG5hdjogdHJ1ZSwKICAgICAgICAgfQogICAgICB9CgogICB9KTsKCiAgIC8vUGFnZSBzbGlkZQogICAkKCIuZmVhdHVyZWQtY2FzZXMtc2xpZGUiKS5vd2xDYXJvdXNlbCh7CgogICAgICBsb29wOiB0cnVlLAogICAgICBhdXRvcGxheTogZmFsc2UsCiAgICAgIGF1dG9wbGF5SG92ZXJQYXVzZTogdHJ1ZSwKICAgICAgbmF2OiB0cnVlLAogICAgICBtYXJnaW46IDAsCiAgICAgIGRvdHM6IGZhbHNlLAogICAgICBtb3VzZURyYWc6IHRydWUsCiAgICAgIHRvdWNoRHJhZzogdHJ1ZSwKICAgICAgc21hcnRTcGVlZDogOTAwLAogICAgICBuYXZUZXh0OiBbIjxpIGNsYXNzPSdpY29uIGljb24tbGVmdC1hcnJvdzInPjwvaT4iLCAiPGkgY2xhc3M9J2ljb24gaWNvbi1yaWdodC1hcnJvdzInPjwvaT4iXSwKICAgICAgaXRlbXM6IDEsCiAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgMDogewogICAgICAgICAgICBpdGVtczogMSwKICAgICAgICAgICAgbmF2OiBmYWxzZSwKICAgICAgICAgfSwKICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgIGl0ZW1zOiAxLAogICAgICAgICAgICBuYXY6IGZhbHNlLAogICAgICAgICB9LAogICAgICAgICAxMDAwOiB7CiAgICAgICAgICAgIGFuaW1hdGVPdXQ6ICdmYWRlT3V0JywKICAgICAgICAgfQogICAgICB9CgogICB9KTsKCgoKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KICAgLyogIFZpZGVvIHBvcHVwCiAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKCiAgICAgICQoIi5nYWxsZXJ5LXBvcHVwIikuY29sb3Jib3goewogICAgICAgICByZWw6ICdnYWxsZXJ5LXBvcHVwJywKICAgICAgICAgdHJhbnNpdGlvbjogImZhZGUiLAogICAgICAgICBpbm5lckhlaWdodDogIjUwMCIKICAgICAgfSk7CgogICAgICAkKCIucG9wdXAiKS5jb2xvcmJveCh7CiAgICAgICAgIGlmcmFtZTogdHJ1ZSwKICAgICAgICAgaW5uZXJXaWR0aDogNjAwLAogICAgICAgICBpbm5lckhlaWdodDogNDAwCiAgICAgIH0pOwoKICAgfSk7CgoKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KICAgLyogIENvdW50ZXIKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiAgICQoJy5jb3VudGVyVXAnKS5jb3VudGVyVXAoewogICAgICBkZWxheTogMTAsCiAgICAgIHRpbWU6IDEwMDAKICAgfSk7CgoKCiAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAgIC8qICBDb250YWN0IGZvcm0KICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiAgICQoJyNjb250YWN0LWZvcm0nKS5zdWJtaXQoZnVuY3Rpb24gKCkgewoKICAgICAgdmFyICRmb3JtID0gJCh0aGlzKSwKICAgICAgICAgJGVycm9yID0gJGZvcm0uZmluZCgnLmVycm9yLWNvbnRhaW5lcicpLAogICAgICAgICBhY3Rpb24gPSAkZm9ybS5hdHRyKCdhY3Rpb24nKTsKCiAgICAgICRlcnJvci5zbGlkZVVwKDc1MCwgZnVuY3Rpb24gKCkgewogICAgICAgICAkZXJyb3IuaGlkZSgpOwoKICAgICAgICAgdmFyICRuYW1lID0gJGZvcm0uZmluZCgnLmZvcm0tbmFtZScpLAogICAgICAgICAgICAkcGhvbmUgPSAkZm9ybS5maW5kKCcuZm9ybS1waG9uZScpLAogICAgICAgICAgICAkZW1haWwgPSAkZm9ybS5maW5kKCcuZm9ybS1lbWFpbCcpLAogICAgICAgICAgICAkdXJsID0gJGZvcm0uZmluZCgnLmZvcm0td2Vic2l0ZScpLAogICAgICAgICAgICAkbWVzc2FnZSA9ICRmb3JtLmZpbmQoJy5mb3JtLW1lc3NhZ2UnKTsKCiAgICAgICAgICQucG9zdChhY3Rpb24sIHsKICAgICAgICAgICAgICAgbmFtZTogJG5hbWUudmFsKCksCiAgICAgICAgICAgICAgIHBob25lOiAkcGhvbmUudmFsKCksCiAgICAgICAgICAgICAgIGVtYWlsOiAkZW1haWwudmFsKCksCiAgICAgICAgICAgICAgIHVybDogJHVybC52YWwoKSwKICAgICAgICAgICAgICAgbWVzc2FnZTogJG1lc3NhZ2UudmFsKCkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgICAgJGVycm9yLmh0bWwoZGF0YSk7CiAgICAgICAgICAgICAgICRlcnJvci5zbGlkZURvd24oJ3Nsb3cnKTsKCiAgICAgICAgICAgICAgIGlmIChkYXRhLm1hdGNoKCdzdWNjZXNzJykgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAkbmFtZS52YWwoJycpOwogICAgICAgICAgICAgICAgICAkcGhvbmUudmFsKCcnKTsKICAgICAgICAgICAgICAgICAgJGVtYWlsLnZhbCgnJyk7CiAgICAgICAgICAgICAgICAgICR1cmwudmFsKCcnKTsKICAgICAgICAgICAgICAgICAgJG1lc3NhZ2UudmFsKCcnKTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICk7CgogICAgICB9KTsKCiAgICAgIHJldHVybiBmYWxzZTsKCiAgIH0pOwoKICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAgLyogRkFRIFBhZ2UKICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCiAgIGZ1bmN0aW9uIHRvZ2dsZUljb24oZSkgewogICAgICAkKGUudGFyZ2V0KQogICAgICAgICAucHJldignLnBhbmVsLWhlYWRpbmcnKQogICAgICAgICAuZmluZCgiLmZhIikKICAgICAgICAgLnRvZ2dsZUNsYXNzKCdmYS1wbHVzIGZhLW1pbnVzICcpOwogICB9CiAgICQoJy5wYW5lbC1ncm91cCcpLm9uKCdoaWRkZW4uYnMuY29sbGFwc2UnLCB0b2dnbGVJY29uKTsKICAgJCgnLnBhbmVsLWdyb3VwJykub24oJ3Nob3duLmJzLmNvbGxhcHNlJywgdG9nZ2xlSWNvbik7CgogICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogICAvKiAgQmFjayB0byB0b3AKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiAgICQod2luZG93KS5zY3JvbGwoZnVuY3Rpb24gKCkgewogICAgICBpZiAoJCh0aGlzKS5zY3JvbGxUb3AoKSA+IDUwKSB7CiAgICAgICAgICAgICAkKCcjYmFjay10by10b3AnKS5mYWRlSW4oKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICQoJyNiYWNrLXRvLXRvcCcpLmZhZGVPdXQoKTsKICAgICAgICAgICAgfQogICAgICB9KTsKCiAgICAgIC8vIHNjcm9sbCBib2R5IHRvIDBweCBvbiBjbGljawogICAgICAkKCcjYmFjay10by10b3AnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICQoJyNiYWNrLXRvLXRvcCcpLnRvb2x0aXAoJ2hpZGUnKTsKICAgICAgICAgICAgJCgnYm9keSxodG1sJykuYW5pbWF0ZSh7CiAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogMAogICAgICAgICAgICB9LCA4MDApOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0pOwoKICAgICAgJCgnI2JhY2stdG8tdG9wJykudG9vbHRpcCgnaGlkZScpOwoKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KICAgLyogIFBhY2tlcnkKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiAgIGlmICgkKCcuY2FycmVyLWdhbGxlcnktbGF5b3V0JykubGVuZ3RoID4gMCkgewogICAgICAkKCcuY2FycmVyLWdhbGxlcnktbGF5b3V0JykucGFja2VyeSh7CiAgICAgICAgIHBlcmNlbnRQb3NpdGlvbjogdHJ1ZSwKICAgICAgICAgZ3V0dGVyOiAxMCwKICAgICAgfSkKICAgfQoKfSk7"}},"time_used":164,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":164,"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":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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://astroxcinvest.com/","date":"2026-07-27T03:56:39.954Z","timestamp":1785124599954,"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://astroxcinvest.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: 398756\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-04T07:33:36.995174Z","times_seen":19356,"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":"api.coingecko.com/api/v3/coins/ethereum/market_chart?vs_currency=usd\u0026days=max","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.959Z","timestamp":1785124599959,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/ethereum/market_chart?vs_currency=usd\u0026days=max HTTP/1.1\r\nHost: api.coingecko.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://astroxcinvest.com/\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 401 \r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 2.0\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\ncache-control: no-cache\r\nx-request-id: 64ad75f1-4bad-479f-a04b-ca78fda77330\r\nx-runtime: 0.002337\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\ncf-cache-status: EXPIRED\r\npriority: u=4,i=?0\r\ncf-ray: a218b72e3924569b-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"401","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":335,"size_decoded":1385,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"7fec25f71256bf3376a952e7560101d7","sha1":"9f2fd3c5c25c7d02c713a1c04f868229e4361532","sha256":"387f63260b5b29c35cdb846744e182d13a79964e165db3a510f416a85552c874","sha512":"a4b03efd95212172abaad63254a0fa08e7f06499c0f8d8722153eec520c06b03c6fd2192e4ae7fafc70d0bdb60303a54346a00a95b01aa518f6796d8ea78721b","ssdeep":"","tlshash":"6de0205126e65d534fa213d0665ef2d57856f5dc97250686355c8328091522ec658248","first_seen":"2026-07-27T03:57:26.08948Z","last_seen":"2026-07-27T03:57:26.08948Z","times_seen":1,"resource_available":false,"data":"eyJlcnJvciI6eyJzdGF0dXMiOnsidGltZXN0YW1wIjoiMjAyNi0wNy0yN1QwMzo1Njo0MC4xMDYrMDA6MDAiLCJlcnJvcl9jb2RlIjoxMDAxMiwiZXJyb3JfbWVzc2FnZSI6IllvdXIgcmVxdWVzdCBleGNlZWRzIHRoZSBhbGxvd2VkIHRpbWUgcmFuZ2UuIFB1YmxpYyBBUEkgdXNlcnMgYXJlIGxpbWl0ZWQgdG8gcXVlcnlpbmcgaGlzdG9yaWNhbCBkYXRhIHdpdGhpbiB0aGUgcGFzdCAzNjUgZGF5cy4gVXBncmFkZSB0byBhIHBhaWQgcGxhbiB0byBlbmpveSBmdWxsIGhpc3RvcmljYWwgZGF0YSBhY2Nlc3M6IGh0dHBzOi8vd3d3LmNvaW5nZWNrby5jb20vZW4vYXBpL3ByaWNpbmcuICJ9fX0="}},"time_used":220,"timings":{"blocked":50,"dns":0,"connect":13,"send":0,"wait":157,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/EU.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.470Z","timestamp":1785124600470,"http_version":"HTTP/2","security_state":"secure","security_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 /country/EU.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 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: \"e9173ef4613c3da43c45885ea39c4b96\"\r\nlast-modified: Wed, 08 Sep 2021 09:01:40 GMT\r\ncdn-cachedat: 08/14/2025 09:10:20\r\nx-amz-id-2: IGvrac7MqHxUh1QiyHa7TlaNCW1ovet751MtaKlEOhnFUg/Ve+TJ7dFFdzEvBETD3+Js36nYc2s=\r\nx-amz-request-id: ECGH90GHNAD03QXR\r\nx-amz-meta-hash: e9173ef4613c3da43c45885ea39c4b96\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: 72136c80f2372bd0e91d19f3ac76b75a\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":870,"size_decoded":1356,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (870), with no line terminators","md5":"e9173ef4613c3da43c45885ea39c4b96","sha1":"218b28ec16584e3f2326b778d3cca1d5c6a682d1","sha256":"b47993af3ef9963a193ddc9d0bd10fc8f1f773fe0881ffa3c8d2151498fccf03","sha512":"00d7715020d6aff8cb33c0816f82fad776e93a11839ebf322e782d322c40e34b5f38cd0ec5fc20f5b9539d398fb7fe2a790779eabe23b473da197bead805c302","ssdeep":"","tlshash":"f8115c6b4308d6384885ca21edb658052653bcfaa8ce2adff1969960b5478c7b400f18","first_seen":"2023-04-19T07:58:06Z","last_seen":"2026-08-04T06:18:03.364034Z","times_seen":6281,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wIDBoMTh2MThIMFYweiIgZmlsbD0iIzE1NjVDMCIvPjxwYXRoIGQ9Ik04Ljk1IDJsLjM3IDEuMTRoMS4ybC0uOTcuNy4zNyAxLjE0LS45Ny0uNy0uOTYuNy4zNi0xLjEzLS45Ni0uN2gxLjJMOC45NCAyek00LjA0IDQuMDRsMS4wNy41NC44NC0uODQtLjE4IDEuMTggMS4wNi41NC0xLjE4LjE5LS4xOSAxLjE4LS41NC0xLjA2LTEuMTguMTguODQtLjg0LS41NC0xLjA3ek0yIDguOTVsMS4xNC0uMzd2LTEuMmwuNy45N0w0Ljk5IDhsLS43Ljk2LjcuOTctMS4xMy0uMzctLjcuOTd2LTEuMkwyIDguOTV6TTQuMDQgMTMuODZsLjU0LTEuMDYtLjg0LS44NSAxLjE4LjE5LjU0LTEuMDcuMTkgMS4xOSAxLjE4LjE4LTEuMDYuNTUuMTggMS4xOC0uODQtLjg1LTEuMDcuNTR6TTguOTUgMTUuOWwtLjM3LTEuMTRoLTEuMmwuOTctLjdMOCAxMi45MmwuOTYuNy45Ny0uNy0uMzcgMS4xNC45Ny43aC0xLjJsLS4zNyAxLjE0ek0xMy44NiAxMy44NmwtMS4wNi0uNTQtLjg1Ljg1LjE5LTEuMTgtMS4wNy0uNTUgMS4xOS0uMTguMTgtMS4xOS41NSAxLjA3IDEuMTgtLjE5LS44NS44NS41NCAxLjA2ek0xNS45IDguOTVsLTEuMTQuMzd2MS4ybC0uNy0uOTctMS4xNC4zNy43LS45Ny0uNy0uOTYgMS4xNC4zNi43LS45NnYxLjJsMS4xNC4zNnpNMTMuODYgNC4wNGwtLjU0IDEuMDcuODUuODQtMS4xOC0uMTgtLjU1IDEuMDYtLjE4LTEuMTgtMS4xOS0uMTkgMS4wNy0uNTQtLjE5LTEuMTguODUuODQgMS4wNi0uNTR6IiBmaWxsPSIjRkREODM1Ii8+PC9zdmc+"}},"time_used":142,"timings":{"blocked":-1,"dns":62,"connect":39,"send":0,"wait":7,"receive":-1,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/css/morris.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.404Z","timestamp":1785124599404,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/morris.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"1b1-5aa839fc-204c67cd738dbbc7;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 174\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":433,"size_decoded":535,"mime_type":"text/css","magic":"ASCII text, with very long lines (342)","md5":"36e70bf949fcdb7d0fe55fc16ce86445","sha1":"d3abba53f3750327f77066db2868de01382ce86b","sha256":"b331eeb1aa336d072d4e7e055fede5e44d00e73a31cfbfa77b87ebf0d816265c","sha512":"7e3cb87b8f3554403f393551e3e587325678c1c5fffa884d58aa557dbeeaf983673824befb86439f7562e84680d8727cf555c0449b7b56fb8029a43f82cd426d","ssdeep":"","tlshash":"10e05530af858c02e51641c2e509fefb7ac24988e29ba24ea0760420dd868b9f235b08","first_seen":"2023-04-07T03:13:50Z","last_seen":"2026-08-02T10:40:20.109757Z","times_seen":1256,"resource_available":false,"data":"Lm1vcnJpcy1ob3Zlcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9Lm1vcnJpcy1ob3Zlci5tb3JyaXMtZGVmYXVsdC1zdHlsZXtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzo2cHg7Y29sb3I6IzY2NjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC44KTtib3JkZXI6c29saWQgMnB4IHJnYmEoMjMwLDIzMCwyMzAsMC44KTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O3RleHQtYWxpZ246Y2VudGVyfS5tb3JyaXMtaG92ZXIubW9ycmlzLWRlZmF1bHQtc3R5bGUgLm1vcnJpcy1ob3Zlci1yb3ctbGFiZWx7Zm9udC13ZWlnaHQ6Ym9sZDttYXJnaW46MC4yNWVtIDB9Ci5tb3JyaXMtaG92ZXIubW9ycmlzLWRlZmF1bHQtc3R5bGUgLm1vcnJpcy1ob3Zlci1wb2ludHt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luOjAuMWVtIDB9Cg=="}},"time_used":127,"timings":{"blocked":-1,"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":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/asap/v34/KFO9CniXp96a4Tc2DaTeuDAoKsE615hJW34.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.843Z","timestamp":1785124599843,"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/asap/v34/KFO9CniXp96a4Tc2DaTeuDAoKsE615hJW34.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://astroxcinvest.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: 43432\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:35 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:35 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 04 Sep 2025 17:26:23 GMT\r\ncontent-type: font/woff2\r\nage: 398704\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":43432,"size_decoded":44245,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 43432, version 1.0","md5":"3e1800efc8e163fc672a9ec618301728","sha1":"0a59b8246fd479417f6d161db78f0fa80dd10de7","sha256":"4990095a31b381678bf429baf3f1320600830d366137a9053f5a89b0c2620a43","sha512":"580b2ee170dda348ceb586db6800ff206bfd03d2c298818b9e7891e46db307b9b3e03b94120c5de8030166e1b6238322bb48fad575f6df671b020f282ade3f9c","ssdeep":"768:TwOnk8j58wScpgE+fG0u6KLaW+IYK9mZAFg4vLjKCXVg+SIb1a66h8EhTh5ju:TLl8wnpgzGdNLk3+g4T0l9hThxu","tlshash":"e713f2a375f9451bb2d726a1e1e38d544bb4cdab0c0602fe5719ee5d0bce84e06182de","first_seen":"2025-06-25T22:49:48.742012Z","last_seen":"2026-08-04T00:16:47.518275Z","times_seen":4036,"resource_available":false,"data":"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"}},"time_used":95,"timings":{"blocked":-1,"dns":3,"connect":30,"send":0,"wait":18,"receive":43,"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.247Z","timestamp":1785124600247,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 34f978413e1e2d4c3860164de2003321\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-04T06:18:34.252878Z","times_seen":4549,"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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.263Z","timestamp":1785124600263,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-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: ed3331b928d7618f64ca1f8f498786a7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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":"astroxcinvest.com/images/slider/bg5.jpg","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:41.768Z","timestamp":1785124601768,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /images/slider/bg5.jpg HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:41 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 18 Oct 2022 09:35:54 GMT\r\netag: \"3efd0b-634e737a-49230215650dc08a;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 4128011\r\ndate: Mon, 27 Jul 2026 03:56:41 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"image/jpeg","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/jquery.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.616Z","timestamp":1785124599616,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/jquery.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 28 Mar 2018 01:33:40 GMT\r\netag: \"24722-5abaf0f4-2c263c8c65f9c867;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 38297\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":149282,"size_decoded":38676,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (847)","md5":"c5bd50ad014b50a9a389bab972c84f77","sha1":"d546c417dfe79dab0b0e72a8646f4ef4ba0d0ea0","sha256":"b7ddd98aecbc08b16b14d87e67ecbd632064a69aa9c533c85bce75d60f9c36d0","sha512":"7271e65106b77c9fb2d88caf0917ffa553543a4acc8be29b53987249286845e6bf99704f54477960003a41e48efebb9191284efb3a6bef853779cad80d63c47d","ssdeep":"3072:4dgwZUx3gxrFhEBJMqhJComyfEGyT/+Pr8z4aKNvDTa:tBJMqhJCdyfRa0DTa","tlshash":"07e36389b6e620395613f0798eafdc05b135485b1acddc957c0c91a4af548388bfafec","first_seen":"2023-03-13T16:57:02Z","last_seen":"2026-07-29T06:17:13.150334Z","times_seen":329,"resource_available":true,"data":"LyohIGpRdWVyeSB2Mi4wLjAgfCAoYykgMjAwNSwgMjAxMyBqUXVlcnkgRm91bmRhdGlvbiwgSW5jLiB8IGpxdWVyeS5vcmcvbGljZW5zZQovL0Agc291cmNlTWFwcGluZ1VSTD1qcXVlcnkubWluLm1hcAoqLwohIGZ1bmN0aW9uIChhLCBiKSB7CiAgICJvYmplY3QiID09IHR5cGVvZiBtb2R1bGUgJiYgIm9iamVjdCIgPT0gdHlwZW9mIG1vZHVsZS5leHBvcnRzID8gbW9kdWxlLmV4cG9ydHMgPSBhLmRvY3VtZW50ID8gYihhLCAhMCkgOiBmdW5jdGlvbiAoYSkgewogICAgICBpZiAoIWEuZG9jdW1lbnQpIHRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpOwogICAgICByZXR1cm4gYihhKQogICB9IDogYihhKQp9KCJ1bmRlZmluZWQiICE9IHR5cGVvZiB3aW5kb3cgPyB3aW5kb3cgOiB0aGlzLCBmdW5jdGlvbiAoYSwgYikgewogICB2YXIgYyA9IFtdLAogICAgICBkID0gYS5kb2N1bWVudCwKICAgICAgZSA9IGMuc2xpY2UsCiAgICAgIGYgPSBjLmNvbmNhdCwKICAgICAgZyA9IGMucHVzaCwKICAgICAgaCA9IGMuaW5kZXhPZiwKICAgICAgaSA9IHt9LAogICAgICBqID0gaS50b1N0cmluZywKICAgICAgayA9IGkuaGFzT3duUHJvcGVydHksCiAgICAgIGwgPSB7fSwKICAgICAgbSA9ICIxLjEyLjQiLAogICAgICBuID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgcmV0dXJuIG5ldyBuLmZuLmluaXQoYSwgYikKICAgICAgfSwKICAgICAgbyA9IC9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZywKICAgICAgcCA9IC9eLW1zLS8sCiAgICAgIHEgPSAvLShbXGRhLXpdKS9naSwKICAgICAgciA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgIHJldHVybiBiLnRvVXBwZXJDYXNlKCkKICAgICAgfTsKICAgbi5mbiA9IG4ucHJvdG90eXBlID0gewogICAgICBqcXVlcnk6IG0sCiAgICAgIGNvbnN0cnVjdG9yOiBuLAogICAgICBzZWxlY3RvcjogIiIsCiAgICAgIGxlbmd0aDogMCwKICAgICAgdG9BcnJheTogZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gZS5jYWxsKHRoaXMpCiAgICAgIH0sCiAgICAgIGdldDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIG51bGwgIT0gYSA/IDAgPiBhID8gdGhpc1thICsgdGhpcy5sZW5ndGhdIDogdGhpc1thXSA6IGUuY2FsbCh0aGlzKQogICAgICB9LAogICAgICBwdXNoU3RhY2s6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHZhciBiID0gbi5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksIGEpOwogICAgICAgICByZXR1cm4gYi5wcmV2T2JqZWN0ID0gdGhpcywgYi5jb250ZXh0ID0gdGhpcy5jb250ZXh0LCBiCiAgICAgIH0sCiAgICAgIGVhY2g6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiBuLmVhY2godGhpcywgYSkKICAgICAgfSwKICAgICAgbWFwOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gdGhpcy5wdXNoU3RhY2sobi5tYXAodGhpcywgZnVuY3Rpb24gKGIsIGMpIHsKICAgICAgICAgICAgcmV0dXJuIGEuY2FsbChiLCBjLCBiKQogICAgICAgICB9KSkKICAgICAgfSwKICAgICAgc2xpY2U6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIHRoaXMucHVzaFN0YWNrKGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSkKICAgICAgfSwKICAgICAgZmlyc3Q6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIHRoaXMuZXEoMCkKICAgICAgfSwKICAgICAgbGFzdDogZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gdGhpcy5lcSgtMSkKICAgICAgfSwKICAgICAgZXE6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHZhciBiID0gdGhpcy5sZW5ndGgsCiAgICAgICAgICAgIGMgPSArYSArICgwID4gYSA/IGIgOiAwKTsKICAgICAgICAgcmV0dXJuIHRoaXMucHVzaFN0YWNrKGMgPj0gMCAmJiBiID4gYyA/IFt0aGlzW2NdXSA6IFtdKQogICAgICB9LAogICAgICBlbmQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIHRoaXMucHJldk9iamVjdCB8fCB0aGlzLmNvbnN0cnVjdG9yKCkKICAgICAgfSwKICAgICAgcHVzaDogZywKICAgICAgc29ydDogYy5zb3J0LAogICAgICBzcGxpY2U6IGMuc3BsaWNlCiAgIH0sIG4uZXh0ZW5kID0gbi5mbi5leHRlbmQgPSBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBhLCBiLCBjLCBkLCBlLCBmLCBnID0gYXJndW1lbnRzWzBdIHx8IHt9LAogICAgICAgICBoID0gMSwKICAgICAgICAgaSA9IGFyZ3VtZW50cy5sZW5ndGgsCiAgICAgICAgIGogPSAhMTsKICAgICAgZm9yICgiYm9vbGVhbiIgPT0gdHlwZW9mIGcgJiYgKGogPSBnLCBnID0gYXJndW1lbnRzW2hdIHx8IHt9LCBoKyspLCAib2JqZWN0IiA9PSB0eXBlb2YgZyB8fCBuLmlzRnVuY3Rpb24oZykgfHwgKGcgPSB7fSksIGggPT09IGkgJiYgKGcgPSB0aGlzLCBoLS0pOyBpID4gaDsgaCsrKQogICAgICAgICBpZiAobnVsbCAhPSAoZSA9IGFyZ3VtZW50c1toXSkpCiAgICAgICAgICAgIGZvciAoZCBpbiBlKSBhID0gZ1tkXSwgYyA9IGVbZF0sIGcgIT09IGMgJiYgKGogJiYgYyAmJiAobi5pc1BsYWluT2JqZWN0KGMpIHx8IChiID0gbi5pc0FycmF5KGMpKSkgPyAoYiA/IChiID0gITEsIGYgPSBhICYmIG4uaXNBcnJheShhKSA/IGEgOiBbXSkgOiBmID0gYSAmJiBuLmlzUGxhaW5PYmplY3QoYSkgPyBhIDoge30sIGdbZF0gPSBuLmV4dGVuZChqLCBmLCBjKSkgOiB2b2lkIDAgIT09IGMgJiYgKGdbZF0gPSBjKSk7CiAgICAgIHJldHVybiBnCiAgIH0sIG4uZXh0ZW5kKHsKICAgICAgZXhwYW5kbzogImpRdWVyeSIgKyAobSArIE1hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csICIiKSwKICAgICAgaXNSZWFkeTogITAsCiAgICAgIGVycm9yOiBmdW5jdGlvbiAoYSkgewogICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYSkKICAgICAgfSwKICAgICAgbm9vcDogZnVuY3Rpb24gKCkge30sCiAgICAgIGlzRnVuY3Rpb246IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiAiZnVuY3Rpb24iID09PSBuLnR5cGUoYSkKICAgICAgfSwKICAgICAgaXNBcnJheTogQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gImFycmF5IiA9PT0gbi50eXBlKGEpCiAgICAgIH0sCiAgICAgIGlzV2luZG93OiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gbnVsbCAhPSBhICYmIGEgPT0gYS53aW5kb3cKICAgICAgfSwKICAgICAgaXNOdW1lcmljOiBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYiA9IGEgJiYgYS50b1N0cmluZygpOwogICAgICAgICByZXR1cm4gIW4uaXNBcnJheShhKSAmJiBiIC0gcGFyc2VGbG9hdChiKSArIDEgPj0gMAogICAgICB9LAogICAgICBpc0VtcHR5T2JqZWN0OiBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYjsKICAgICAgICAgZm9yIChiIGluIGEpIHJldHVybiAhMTsKICAgICAgICAgcmV0dXJuICEwCiAgICAgIH0sCiAgICAgIGlzUGxhaW5PYmplY3Q6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHZhciBiOwogICAgICAgICBpZiAoIWEgfHwgIm9iamVjdCIgIT09IG4udHlwZShhKSB8fCBhLm5vZGVUeXBlIHx8IG4uaXNXaW5kb3coYSkpIHJldHVybiAhMTsKICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKGEuY29uc3RydWN0b3IgJiYgIWsuY2FsbChhLCAiY29uc3RydWN0b3IiKSAmJiAhay5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCAiaXNQcm90b3R5cGVPZiIpKSByZXR1cm4gITEKICAgICAgICAgfSBjYXRjaCAoYykgewogICAgICAgICAgICByZXR1cm4gITEKICAgICAgICAgfQogICAgICAgICBpZiAoIWwub3duRmlyc3QpCiAgICAgICAgICAgIGZvciAoYiBpbiBhKSByZXR1cm4gay5jYWxsKGEsIGIpOwogICAgICAgICBmb3IgKGIgaW4gYSk7CiAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IGIgfHwgay5jYWxsKGEsIGIpCiAgICAgIH0sCiAgICAgIHR5cGU6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiBudWxsID09IGEgPyBhICsgIiIgOiAib2JqZWN0IiA9PSB0eXBlb2YgYSB8fCAiZnVuY3Rpb24iID09IHR5cGVvZiBhID8gaVtqLmNhbGwoYSldIHx8ICJvYmplY3QiIDogdHlwZW9mIGEKICAgICAgfSwKICAgICAgZ2xvYmFsRXZhbDogZnVuY3Rpb24gKGIpIHsKICAgICAgICAgYiAmJiBuLnRyaW0oYikgJiYgKGEuZXhlY1NjcmlwdCB8fCBmdW5jdGlvbiAoYikgewogICAgICAgICAgICBhLmV2YWwuY2FsbChhLCBiKQogICAgICAgICB9KShiKQogICAgICB9LAogICAgICBjYW1lbENhc2U6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiBhLnJlcGxhY2UocCwgIm1zLSIpLnJlcGxhY2UocSwgcikKICAgICAgfSwKICAgICAgbm9kZU5hbWU6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgIHJldHVybiBhLm5vZGVOYW1lICYmIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYi50b0xvd2VyQ2FzZSgpCiAgICAgIH0sCiAgICAgIGVhY2g6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgIHZhciBjLCBkID0gMDsKICAgICAgICAgaWYgKHMoYSkpIHsKICAgICAgICAgICAgZm9yIChjID0gYS5sZW5ndGg7IGMgPiBkOyBkKyspCiAgICAgICAgICAgICAgIGlmIChiLmNhbGwoYVtkXSwgZCwgYVtkXSkgPT09ICExKSBicmVhawogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgZm9yIChkIGluIGEpCiAgICAgICAgICAgICAgIGlmIChiLmNhbGwoYVtkXSwgZCwgYVtkXSkgPT09ICExKSBicmVhazsKICAgICAgICAgcmV0dXJuIGEKICAgICAgfSwKICAgICAgdHJpbTogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIG51bGwgPT0gYSA/ICIiIDogKGEgKyAiIikucmVwbGFjZShvLCAiIikKICAgICAgfSwKICAgICAgbWFrZUFycmF5OiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICB2YXIgYyA9IGIgfHwgW107CiAgICAgICAgIHJldHVybiBudWxsICE9IGEgJiYgKHMoT2JqZWN0KGEpKSA/IG4ubWVyZ2UoYywgInN0cmluZyIgPT0gdHlwZW9mIGEgPyBbYV0gOiBhKSA6IGcuY2FsbChjLCBhKSksIGMKICAgICAgfSwKICAgICAgaW5BcnJheTogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgdmFyIGQ7CiAgICAgICAgIGlmIChiKSB7CiAgICAgICAgICAgIGlmIChoKSByZXR1cm4gaC5jYWxsKGIsIGEsIGMpOwogICAgICAgICAgICBmb3IgKGQgPSBiLmxlbmd0aCwgYyA9IGMgPyAwID4gYyA/IE1hdGgubWF4KDAsIGQgKyBjKSA6IGMgOiAwOyBkID4gYzsgYysrKQogICAgICAgICAgICAgICBpZiAoYyBpbiBiICYmIGJbY10gPT09IGEpIHJldHVybiBjCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIC0xCiAgICAgIH0sCiAgICAgIG1lcmdlOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICB2YXIgYyA9ICtiLmxlbmd0aCwKICAgICAgICAgICAgZCA9IDAsCiAgICAgICAgICAgIGUgPSBhLmxlbmd0aDsKICAgICAgICAgd2hpbGUgKGMgPiBkKSBhW2UrK10gPSBiW2QrK107CiAgICAgICAgIGlmIChjICE9PSBjKQogICAgICAgICAgICB3aGlsZSAodm9pZCAwICE9PSBiW2RdKSBhW2UrK10gPSBiW2QrK107CiAgICAgICAgIHJldHVybiBhLmxlbmd0aCA9IGUsIGEKICAgICAgfSwKICAgICAgZ3JlcDogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgZm9yICh2YXIgZCwgZSA9IFtdLCBmID0gMCwgZyA9IGEubGVuZ3RoLCBoID0gIWM7IGcgPiBmOyBmKyspIGQgPSAhYihhW2ZdLCBmKSwgZCAhPT0gaCAmJiBlLnB1c2goYVtmXSk7CiAgICAgICAgIHJldHVybiBlCiAgICAgIH0sCiAgICAgIG1hcDogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgdmFyIGQsIGUsIGcgPSAwLAogICAgICAgICAgICBoID0gW107CiAgICAgICAgIGlmIChzKGEpKQogICAgICAgICAgICBmb3IgKGQgPSBhLmxlbmd0aDsgZCA+IGc7IGcrKykgZSA9IGIoYVtnXSwgZywgYyksIG51bGwgIT0gZSAmJiBoLnB1c2goZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgZm9yIChnIGluIGEpIGUgPSBiKGFbZ10sIGcsIGMpLCBudWxsICE9IGUgJiYgaC5wdXNoKGUpOwogICAgICAgICByZXR1cm4gZi5hcHBseShbXSwgaCkKICAgICAgfSwKICAgICAgZ3VpZDogMSwKICAgICAgcHJveHk6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgIHZhciBjLCBkLCBmOwogICAgICAgICByZXR1cm4gInN0cmluZyIgPT0gdHlwZW9mIGIgJiYgKGYgPSBhW2JdLCBiID0gYSwgYSA9IGYpLCBuLmlzRnVuY3Rpb24oYSkgPyAoYyA9IGUuY2FsbChhcmd1bWVudHMsIDIpLCBkID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gYS5hcHBseShiIHx8IHRoaXMsIGMuY29uY2F0KGUuY2FsbChhcmd1bWVudHMpKSkKICAgICAgICAgfSwgZC5ndWlkID0gYS5ndWlkID0gYS5ndWlkIHx8IG4uZ3VpZCsrLCBkKSA6IHZvaWQgMAogICAgICB9LAogICAgICBub3c6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuICtuZXcgRGF0ZQogICAgICB9LAogICAgICBzdXBwb3J0OiBsCiAgIH0pLCAiZnVuY3Rpb24iID09IHR5cGVvZiBTeW1ib2wgJiYgKG4uZm5bU3ltYm9sLml0ZXJhdG9yXSA9IGNbU3ltYm9sLml0ZXJhdG9yXSksIG4uZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksIGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIGlbIltvYmplY3QgIiArIGIgKyAiXSJdID0gYi50b0xvd2VyQ2FzZSgpCiAgIH0pOwoKICAgZnVuY3Rpb24gcyhhKSB7CiAgICAgIHZhciBiID0gISFhICYmICJsZW5ndGgiIGluIGEgJiYgYS5sZW5ndGgsCiAgICAgICAgIGMgPSBuLnR5cGUoYSk7CiAgICAgIHJldHVybiAiZnVuY3Rpb24iID09PSBjIHx8IG4uaXNXaW5kb3coYSkgPyAhMSA6ICJhcnJheSIgPT09IGMgfHwgMCA9PT0gYiB8fCAibnVtYmVyIiA9PSB0eXBlb2YgYiAmJiBiID4gMCAmJiBiIC0gMSBpbiBhCiAgIH0KICAgdmFyIHQgPSBmdW5jdGlvbiAoYSkgewogICAgICB2YXIgYiwgYywgZCwgZSwgZiwgZywgaCwgaSwgaiwgaywgbCwgbSwgbiwgbywgcCwgcSwgciwgcywgdCwgdSA9ICJzaXp6bGUiICsgMSAqIG5ldyBEYXRlLAogICAgICAgICB2ID0gYS5kb2N1bWVudCwKICAgICAgICAgdyA9IDAsCiAgICAgICAgIHggPSAwLAogICAgICAgICB5ID0gZ2EoKSwKICAgICAgICAgeiA9IGdhKCksCiAgICAgICAgIEEgPSBnYSgpLAogICAgICAgICBCID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIGEgPT09IGIgJiYgKGwgPSAhMCksIDAKICAgICAgICAgfSwKICAgICAgICAgQyA9IDEgPDwgMzEsCiAgICAgICAgIEQgPSB7fS5oYXNPd25Qcm9wZXJ0eSwKICAgICAgICAgRSA9IFtdLAogICAgICAgICBGID0gRS5wb3AsCiAgICAgICAgIEcgPSBFLnB1c2gsCiAgICAgICAgIEggPSBFLnB1c2gsCiAgICAgICAgIEkgPSBFLnNsaWNlLAogICAgICAgICBKID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgZm9yICh2YXIgYyA9IDAsIGQgPSBhLmxlbmd0aDsgZCA+IGM7IGMrKykKICAgICAgICAgICAgICAgaWYgKGFbY10gPT09IGIpIHJldHVybiBjOwogICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgfSwKICAgICAgICAgSyA9ICJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsCiAgICAgICAgIEwgPSAiW1xceDIwXFx0XFxyXFxuXFxmXSIsCiAgICAgICAgIE0gPSAiKD86XFxcXC58W1xcdy1dfFteXFx4MDAtXFx4YTBdKSsiLAogICAgICAgICBOID0gIlxcWyIgKyBMICsgIiooIiArIE0gKyAiKSg/OiIgKyBMICsgIiooWypeJHwhfl0/PSkiICsgTCArICIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIgKyBNICsgIikpfCkiICsgTCArICIqXFxdIiwKICAgICAgICAgTyA9ICI6KCIgKyBNICsgIikoPzpcXCgoKCcoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwiKXwoKD86XFxcXC58W15cXFxcKClbXFxdXXwiICsgTiArICIpKil8LiopXFwpfCkiLAogICAgICAgICBQID0gbmV3IFJlZ0V4cChMICsgIisiLCAiZyIpLAogICAgICAgICBRID0gbmV3IFJlZ0V4cCgiXiIgKyBMICsgIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIgKyBMICsgIiskIiwgImciKSwKICAgICAgICAgUiA9IG5ldyBSZWdFeHAoIl4iICsgTCArICIqLCIgKyBMICsgIioiKSwKICAgICAgICAgUyA9IG5ldyBSZWdFeHAoIl4iICsgTCArICIqKFs+K35dfCIgKyBMICsgIikiICsgTCArICIqIiksCiAgICAgICAgIFQgPSBuZXcgUmVnRXhwKCI9IiArIEwgKyAiKihbXlxcXSdcIl0qPykiICsgTCArICIqXFxdIiwgImciKSwKICAgICAgICAgVSA9IG5ldyBSZWdFeHAoTyksCiAgICAgICAgIFYgPSBuZXcgUmVnRXhwKCJeIiArIE0gKyAiJCIpLAogICAgICAgICBXID0gewogICAgICAgICAgICBJRDogbmV3IFJlZ0V4cCgiXiMoIiArIE0gKyAiKSIpLAogICAgICAgICAgICBDTEFTUzogbmV3IFJlZ0V4cCgiXlxcLigiICsgTSArICIpIiksCiAgICAgICAgICAgIFRBRzogbmV3IFJlZ0V4cCgiXigiICsgTSArICJ8WypdKSIpLAogICAgICAgICAgICBBVFRSOiBuZXcgUmVnRXhwKCJeIiArIE4pLAogICAgICAgICAgICBQU0VVRE86IG5ldyBSZWdFeHAoIl4iICsgTyksCiAgICAgICAgICAgIENISUxEOiBuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiICsgTCArICIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIiArIEwgKyAiKig/OihbKy1dfCkiICsgTCArICIqKFxcZCspfCkpIiArIEwgKyAiKlxcKXwpIiwgImkiKSwKICAgICAgICAgICAgYm9vbDogbmV3IFJlZ0V4cCgiXig/OiIgKyBLICsgIikkIiwgImkiKSwKICAgICAgICAgICAgbmVlZHNDb250ZXh0OiBuZXcgUmVnRXhwKCJeIiArIEwgKyAiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIiArIEwgKyAiKigoPzotXFxkKT9cXGQqKSIgKyBMICsgIipcXCl8KSg/PVteLV18JCkiLCAiaSIpCiAgICAgICAgIH0sCiAgICAgICAgIFggPSAvXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLAogICAgICAgICBZID0gL15oXGQkL2ksCiAgICAgICAgIFogPSAvXltee10rXHtccypcW25hdGl2ZSBcdy8sCiAgICAgICAgICQgPSAvXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLAogICAgICAgICBfID0gL1srfl0vLAogICAgICAgICBhYSA9IC8nfFxcL2csCiAgICAgICAgIGJhID0gbmV3IFJlZ0V4cCgiXFxcXChbXFxkYS1mXXsxLDZ9IiArIEwgKyAiP3woIiArIEwgKyAiKXwuKSIsICJpZyIpLAogICAgICAgICBjYSA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIHZhciBkID0gIjB4IiArIGIgLSA2NTUzNjsKICAgICAgICAgICAgcmV0dXJuIGQgIT09IGQgfHwgYyA/IGIgOiAwID4gZCA/IFN0cmluZy5mcm9tQ2hhckNvZGUoZCArIDY1NTM2KSA6IFN0cmluZy5mcm9tQ2hhckNvZGUoZCA+PiAxMCB8IDU1Mjk2LCAxMDIzICYgZCB8IDU2MzIwKQogICAgICAgICB9LAogICAgICAgICBkYSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgbSgpCiAgICAgICAgIH07CiAgICAgIHRyeSB7CiAgICAgICAgIEguYXBwbHkoRSA9IEkuY2FsbCh2LmNoaWxkTm9kZXMpLCB2LmNoaWxkTm9kZXMpLCBFW3YuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlCiAgICAgIH0gY2F0Y2ggKGVhKSB7CiAgICAgICAgIEggPSB7CiAgICAgICAgICAgIGFwcGx5OiBFLmxlbmd0aCA/IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgICAgIEcuYXBwbHkoYSwgSS5jYWxsKGIpKQogICAgICAgICAgICB9IDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgICAgdmFyIGMgPSBhLmxlbmd0aCwKICAgICAgICAgICAgICAgICAgZCA9IDA7CiAgICAgICAgICAgICAgIHdoaWxlIChhW2MrK10gPSBiW2QrK10pOwogICAgICAgICAgICAgICBhLmxlbmd0aCA9IGMgLSAxCiAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBmYShhLCBiLCBkLCBlKSB7CiAgICAgICAgIHZhciBmLCBoLCBqLCBrLCBsLCBvLCByLCBzLCB3ID0gYiAmJiBiLm93bmVyRG9jdW1lbnQsCiAgICAgICAgICAgIHggPSBiID8gYi5ub2RlVHlwZSA6IDk7CiAgICAgICAgIGlmIChkID0gZCB8fCBbXSwgInN0cmluZyIgIT0gdHlwZW9mIGEgfHwgIWEgfHwgMSAhPT0geCAmJiA5ICE9PSB4ICYmIDExICE9PSB4KSByZXR1cm4gZDsKICAgICAgICAgaWYgKCFlICYmICgoYiA/IGIub3duZXJEb2N1bWVudCB8fCBiIDogdikgIT09IG4gJiYgbShiKSwgYiA9IGIgfHwgbiwgcCkpIHsKICAgICAgICAgICAgaWYgKDExICE9PSB4ICYmIChvID0gJC5leGVjKGEpKSkKICAgICAgICAgICAgICAgaWYgKGYgPSBvWzFdKSB7CiAgICAgICAgICAgICAgICAgIGlmICg5ID09PSB4KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICghKGogPSBiLmdldEVsZW1lbnRCeUlkKGYpKSkgcmV0dXJuIGQ7CiAgICAgICAgICAgICAgICAgICAgIGlmIChqLmlkID09PSBmKSByZXR1cm4gZC5wdXNoKGopLCBkCiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodyAmJiAoaiA9IHcuZ2V0RWxlbWVudEJ5SWQoZikpICYmIHQoYiwgaikgJiYgai5pZCA9PT0gZikgcmV0dXJuIGQucHVzaChqKSwgZAogICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBpZiAob1syXSkgcmV0dXJuIEguYXBwbHkoZCwgYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKSksIGQ7CiAgICAgICAgICAgICAgICAgIGlmICgoZiA9IG9bM10pICYmIGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAmJiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpIHJldHVybiBILmFwcGx5KGQsIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShmKSksIGQKICAgICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYy5xc2EgJiYgIUFbYSArICIgIl0gJiYgKCFxIHx8ICFxLnRlc3QoYSkpKSB7CiAgICAgICAgICAgICAgIGlmICgxICE9PSB4KSB3ID0gYiwgcyA9IGE7CiAgICAgICAgICAgICAgIGVsc2UgaWYgKCJvYmplY3QiICE9PSBiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpIHsKICAgICAgICAgICAgICAgICAgKGsgPSBiLmdldEF0dHJpYnV0ZSgiaWQiKSkgPyBrID0gay5yZXBsYWNlKGFhLCAiXFwkJiIpOiBiLnNldEF0dHJpYnV0ZSgiaWQiLCBrID0gdSksIHIgPSBnKGEpLCBoID0gci5sZW5ndGgsIGwgPSBWLnRlc3QoaykgPyAiIyIgKyBrIDogIltpZD0nIiArIGsgKyAiJ10iOwogICAgICAgICAgICAgICAgICB3aGlsZSAoaC0tKSByW2hdID0gbCArICIgIiArIHFhKHJbaF0pOwogICAgICAgICAgICAgICAgICBzID0gci5qb2luKCIsIiksIHcgPSBfLnRlc3QoYSkgJiYgb2EoYi5wYXJlbnROb2RlKSB8fCBiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgaWYgKHMpIHRyeSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBILmFwcGx5KGQsIHcucXVlcnlTZWxlY3RvckFsbChzKSksIGQKICAgICAgICAgICAgICAgfSBjYXRjaCAoeSkge30gZmluYWxseSB7CiAgICAgICAgICAgICAgICAgIGsgPT09IHUgJiYgYi5yZW1vdmVBdHRyaWJ1dGUoImlkIikKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGkoYS5yZXBsYWNlKFEsICIkMSIpLCBiLCBkLCBlKQogICAgICB9CgogICAgICBmdW5jdGlvbiBnYSgpIHsKICAgICAgICAgdmFyIGEgPSBbXTsKCiAgICAgICAgIGZ1bmN0aW9uIGIoYywgZSkgewogICAgICAgICAgICByZXR1cm4gYS5wdXNoKGMgKyAiICIpID4gZC5jYWNoZUxlbmd0aCAmJiBkZWxldGUgYlthLnNoaWZ0KCldLCBiW2MgKyAiICJdID0gZQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBiCiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGhhKGEpIHsKICAgICAgICAgcmV0dXJuIGFbdV0gPSAhMCwgYQogICAgICB9CgogICAgICBmdW5jdGlvbiBpYShhKSB7CiAgICAgICAgIHZhciBiID0gbi5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcmV0dXJuICEhYShiKQogICAgICAgICB9IGNhdGNoIChjKSB7CiAgICAgICAgICAgIHJldHVybiAhMQogICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBiLnBhcmVudE5vZGUgJiYgYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLCBiID0gbnVsbAogICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGphKGEsIGIpIHsKICAgICAgICAgdmFyIGMgPSBhLnNwbGl0KCJ8IiksCiAgICAgICAgICAgIGUgPSBjLmxlbmd0aDsKICAgICAgICAgd2hpbGUgKGUtLSkgZC5hdHRySGFuZGxlW2NbZV1dID0gYgogICAgICB9CgogICAgICBmdW5jdGlvbiBrYShhLCBiKSB7CiAgICAgICAgIHZhciBjID0gYiAmJiBhLAogICAgICAgICAgICBkID0gYyAmJiAxID09PSBhLm5vZGVUeXBlICYmIDEgPT09IGIubm9kZVR5cGUgJiYgKH5iLnNvdXJjZUluZGV4IHx8IEMpIC0gKH5hLnNvdXJjZUluZGV4IHx8IEMpOwogICAgICAgICBpZiAoZCkgcmV0dXJuIGQ7CiAgICAgICAgIGlmIChjKQogICAgICAgICAgICB3aGlsZSAoYyA9IGMubmV4dFNpYmxpbmcpCiAgICAgICAgICAgICAgIGlmIChjID09PSBiKSByZXR1cm4gLTE7CiAgICAgICAgIHJldHVybiBhID8gMSA6IC0xCiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGxhKGEpIHsKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChiKSB7CiAgICAgICAgICAgIHZhciBjID0gYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICByZXR1cm4gImlucHV0IiA9PT0gYyAmJiBiLnR5cGUgPT09IGEKICAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBtYShhKSB7CiAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoYikgewogICAgICAgICAgICB2YXIgYyA9IGIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgcmV0dXJuICgiaW5wdXQiID09PSBjIHx8ICJidXR0b24iID09PSBjKSAmJiBiLnR5cGUgPT09IGEKICAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBuYShhKSB7CiAgICAgICAgIHJldHVybiBoYShmdW5jdGlvbiAoYikgewogICAgICAgICAgICByZXR1cm4gYiA9ICtiLCBoYShmdW5jdGlvbiAoYywgZCkgewogICAgICAgICAgICAgICB2YXIgZSwgZiA9IGEoW10sIGMubGVuZ3RoLCBiKSwKICAgICAgICAgICAgICAgICAgZyA9IGYubGVuZ3RoOwogICAgICAgICAgICAgICB3aGlsZSAoZy0tKSBjW2UgPSBmW2ddXSAmJiAoY1tlXSA9ICEoZFtlXSA9IGNbZV0pKQogICAgICAgICAgICB9KQogICAgICAgICB9KQogICAgICB9CgogICAgICBmdW5jdGlvbiBvYShhKSB7CiAgICAgICAgIHJldHVybiBhICYmICJ1bmRlZmluZWQiICE9IHR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lICYmIGEKICAgICAgfQogICAgICBjID0gZmEuc3VwcG9ydCA9IHt9LCBmID0gZmEuaXNYTUwgPSBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYiA9IGEgJiYgKGEub3duZXJEb2N1bWVudCB8fCBhKS5kb2N1bWVudEVsZW1lbnQ7CiAgICAgICAgIHJldHVybiBiID8gIkhUTUwiICE9PSBiLm5vZGVOYW1lIDogITEKICAgICAgfSwgbSA9IGZhLnNldERvY3VtZW50ID0gZnVuY3Rpb24gKGEpIHsKICAgICAgICAgdmFyIGIsIGUsIGcgPSBhID8gYS5vd25lckRvY3VtZW50IHx8IGEgOiB2OwogICAgICAgICByZXR1cm4gZyAhPT0gbiAmJiA5ID09PSBnLm5vZGVUeXBlICYmIGcuZG9jdW1lbnRFbGVtZW50ID8gKG4gPSBnLCBvID0gbi5kb2N1bWVudEVsZW1lbnQsIHAgPSAhZihuKSwgKGUgPSBuLmRlZmF1bHRWaWV3KSAmJiBlLnRvcCAhPT0gZSAmJiAoZS5hZGRFdmVudExpc3RlbmVyID8gZS5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLCBkYSwgITEpIDogZS5hdHRhY2hFdmVudCAmJiBlLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsIGRhKSksIGMuYXR0cmlidXRlcyA9IGlhKGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHJldHVybiBhLmNsYXNzTmFtZSA9ICJpIiwgIWEuZ2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKQogICAgICAgICB9KSwgYy5nZXRFbGVtZW50c0J5VGFnTmFtZSA9IGlhKGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHJldHVybiBhLmFwcGVuZENoaWxkKG4uY3JlYXRlQ29tbWVudCgiIikpLCAhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aAogICAgICAgICB9KSwgYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lID0gWi50ZXN0KG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksIGMuZ2V0QnlJZCA9IGlhKGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHJldHVybiBvLmFwcGVuZENoaWxkKGEpLmlkID0gdSwgIW4uZ2V0RWxlbWVudHNCeU5hbWUgfHwgIW4uZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RoCiAgICAgICAgIH0pLCBjLmdldEJ5SWQgPyAoZC5maW5kLklEID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgaWYgKCJ1bmRlZmluZWQiICE9IHR5cGVvZiBiLmdldEVsZW1lbnRCeUlkICYmIHApIHsKICAgICAgICAgICAgICAgdmFyIGMgPSBiLmdldEVsZW1lbnRCeUlkKGEpOwogICAgICAgICAgICAgICByZXR1cm4gYyA/IFtjXSA6IFtdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgZC5maWx0ZXIuSUQgPSBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICB2YXIgYiA9IGEucmVwbGFjZShiYSwgY2EpOwogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJpZCIpID09PSBiCiAgICAgICAgICAgIH0KICAgICAgICAgfSkgOiAoZGVsZXRlIGQuZmluZC5JRCwgZC5maWx0ZXIuSUQgPSBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICB2YXIgYiA9IGEucmVwbGFjZShiYSwgY2EpOwogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgdmFyIGMgPSAidW5kZWZpbmVkIiAhPSB0eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlICYmIGEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTsKICAgICAgICAgICAgICAgcmV0dXJuIGMgJiYgYy52YWx1ZSA9PT0gYgogICAgICAgICAgICB9CiAgICAgICAgIH0pLCBkLmZpbmQuVEFHID0gYy5nZXRFbGVtZW50c0J5VGFnTmFtZSA/IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZSA/IGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSkgOiBjLnFzYSA/IGIucXVlcnlTZWxlY3RvckFsbChhKSA6IHZvaWQgMAogICAgICAgICB9IDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgdmFyIGMsIGQgPSBbXSwKICAgICAgICAgICAgICAgZSA9IDAsCiAgICAgICAgICAgICAgIGYgPSBiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOwogICAgICAgICAgICBpZiAoIioiID09PSBhKSB7CiAgICAgICAgICAgICAgIHdoaWxlIChjID0gZltlKytdKSAxID09PSBjLm5vZGVUeXBlICYmIGQucHVzaChjKTsKICAgICAgICAgICAgICAgcmV0dXJuIGQKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZgogICAgICAgICB9LCBkLmZpbmQuQ0xBU1MgPSBjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUgJiYgZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuICJ1bmRlZmluZWQiICE9IHR5cGVvZiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUgJiYgcCA/IGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKSA6IHZvaWQgMAogICAgICAgICB9LCByID0gW10sIHEgPSBbXSwgKGMucXNhID0gWi50ZXN0KG4ucXVlcnlTZWxlY3RvckFsbCkpICYmIChpYShmdW5jdGlvbiAoYSkgewogICAgICAgICAgICBvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTCA9ICI8YSBpZD0nIiArIHUgKyAiJz48L2E+PHNlbGVjdCBpZD0nIiArIHUgKyAiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+IiwgYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCAmJiBxLnB1c2goIlsqXiRdPSIgKyBMICsgIiooPzonJ3xcIlwiKSIpLCBhLnF1ZXJ5U2VsZWN0b3JBbGwoIltzZWxlY3RlZF0iKS5sZW5ndGggfHwgcS5wdXNoKCJcXFsiICsgTCArICIqKD86dmFsdWV8IiArIEsgKyAiKSIpLCBhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49IiArIHUgKyAiLV0iKS5sZW5ndGggfHwgcS5wdXNoKCJ+PSIpLCBhLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RoIHx8IHEucHVzaCgiOmNoZWNrZWQiKSwgYS5xdWVyeVNlbGVjdG9yQWxsKCJhIyIgKyB1ICsgIisqIikubGVuZ3RoIHx8IHEucHVzaCgiLiMuK1srfl0iKQogICAgICAgICB9KSwgaWEoZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgdmFyIGIgPSBuLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CiAgICAgICAgICAgIGIuc2V0QXR0cmlidXRlKCJ0eXBlIiwgImhpZGRlbiIpLCBhLmFwcGVuZENoaWxkKGIpLnNldEF0dHJpYnV0ZSgibmFtZSIsICJEIiksIGEucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGggJiYgcS5wdXNoKCJuYW1lIiArIEwgKyAiKlsqXiR8IX5dPz0iKSwgYS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aCB8fCBxLnB1c2goIjplbmFibGVkIiwgIjpkaXNhYmxlZCIpLCBhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSwgcS5wdXNoKCIsLio6IikKICAgICAgICAgfSkpLCAoYy5tYXRjaGVzU2VsZWN0b3IgPSBaLnRlc3QocyA9IG8ubWF0Y2hlcyB8fCBvLndlYmtpdE1hdGNoZXNTZWxlY3RvciB8fCBvLm1vek1hdGNoZXNTZWxlY3RvciB8fCBvLm9NYXRjaGVzU2VsZWN0b3IgfHwgby5tc01hdGNoZXNTZWxlY3RvcikpICYmIGlhKGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIGMuZGlzY29ubmVjdGVkTWF0Y2ggPSBzLmNhbGwoYSwgImRpdiIpLCBzLmNhbGwoYSwgIltzIT0nJ106eCIpLCByLnB1c2goIiE9IiwgTykKICAgICAgICAgfSksIHEgPSBxLmxlbmd0aCAmJiBuZXcgUmVnRXhwKHEuam9pbigifCIpKSwgciA9IHIubGVuZ3RoICYmIG5ldyBSZWdFeHAoci5qb2luKCJ8IikpLCBiID0gWi50ZXN0KG8uY29tcGFyZURvY3VtZW50UG9zaXRpb24pLCB0ID0gYiB8fCBaLnRlc3Qoby5jb250YWlucykgPyBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICB2YXIgYyA9IDkgPT09IGEubm9kZVR5cGUgPyBhLmRvY3VtZW50RWxlbWVudCA6IGEsCiAgICAgICAgICAgICAgIGQgPSBiICYmIGIucGFyZW50Tm9kZTsKICAgICAgICAgICAgcmV0dXJuIGEgPT09IGQgfHwgISghZCB8fCAxICE9PSBkLm5vZGVUeXBlIHx8ICEoYy5jb250YWlucyA/IGMuY29udGFpbnMoZCkgOiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uICYmIDE2ICYgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpCiAgICAgICAgIH0gOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICBpZiAoYikKICAgICAgICAgICAgICAgd2hpbGUgKGIgPSBiLnBhcmVudE5vZGUpCiAgICAgICAgICAgICAgICAgIGlmIChiID09PSBhKSByZXR1cm4gITA7CiAgICAgICAgICAgIHJldHVybiAhMQogICAgICAgICB9LCBCID0gYiA/IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIGlmIChhID09PSBiKSByZXR1cm4gbCA9ICEwLCAwOwogICAgICAgICAgICB2YXIgZCA9ICFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIC0gIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247CiAgICAgICAgICAgIHJldHVybiBkID8gZCA6IChkID0gKGEub3duZXJEb2N1bWVudCB8fCBhKSA9PT0gKGIub3duZXJEb2N1bWVudCB8fCBiKSA/IGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikgOiAxLCAxICYgZCB8fCAhYy5zb3J0RGV0YWNoZWQgJiYgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSA9PT0gZCA/IGEgPT09IG4gfHwgYS5vd25lckRvY3VtZW50ID09PSB2ICYmIHQodiwgYSkgPyAtMSA6IGIgPT09IG4gfHwgYi5vd25lckRvY3VtZW50ID09PSB2ICYmIHQodiwgYikgPyAxIDogayA/IEooaywgYSkgLSBKKGssIGIpIDogMCA6IDQgJiBkID8gLTEgOiAxKQogICAgICAgICB9IDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgaWYgKGEgPT09IGIpIHJldHVybiBsID0gITAsIDA7CiAgICAgICAgICAgIHZhciBjLCBkID0gMCwKICAgICAgICAgICAgICAgZSA9IGEucGFyZW50Tm9kZSwKICAgICAgICAgICAgICAgZiA9IGIucGFyZW50Tm9kZSwKICAgICAgICAgICAgICAgZyA9IFthXSwKICAgICAgICAgICAgICAgaCA9IFtiXTsKICAgICAgICAgICAgaWYgKCFlIHx8ICFmKSByZXR1cm4gYSA9PT0gbiA/IC0xIDogYiA9PT0gbiA/IDEgOiBlID8gLTEgOiBmID8gMSA6IGsgPyBKKGssIGEpIC0gSihrLCBiKSA6IDA7CiAgICAgICAgICAgIGlmIChlID09PSBmKSByZXR1cm4ga2EoYSwgYik7CiAgICAgICAgICAgIGMgPSBhOwogICAgICAgICAgICB3aGlsZSAoYyA9IGMucGFyZW50Tm9kZSkgZy51bnNoaWZ0KGMpOwogICAgICAgICAgICBjID0gYjsKICAgICAgICAgICAgd2hpbGUgKGMgPSBjLnBhcmVudE5vZGUpIGgudW5zaGlmdChjKTsKICAgICAgICAgICAgd2hpbGUgKGdbZF0gPT09IGhbZF0pIGQrKzsKICAgICAgICAgICAgcmV0dXJuIGQgPyBrYShnW2RdLCBoW2RdKSA6IGdbZF0gPT09IHYgPyAtMSA6IGhbZF0gPT09IHYgPyAxIDogMAogICAgICAgICB9LCBuKSA6IG4KICAgICAgfSwgZmEubWF0Y2hlcyA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgIHJldHVybiBmYShhLCBudWxsLCBudWxsLCBiKQogICAgICB9LCBmYS5tYXRjaGVzU2VsZWN0b3IgPSBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICBpZiAoKGEub3duZXJEb2N1bWVudCB8fCBhKSAhPT0gbiAmJiBtKGEpLCBiID0gYi5yZXBsYWNlKFQsICI9JyQxJ10iKSwgYy5tYXRjaGVzU2VsZWN0b3IgJiYgcCAmJiAhQVtiICsgIiAiXSAmJiAoIXIgfHwgIXIudGVzdChiKSkgJiYgKCFxIHx8ICFxLnRlc3QoYikpKSB0cnkgewogICAgICAgICAgICB2YXIgZCA9IHMuY2FsbChhLCBiKTsKICAgICAgICAgICAgaWYgKGQgfHwgYy5kaXNjb25uZWN0ZWRNYXRjaCB8fCBhLmRvY3VtZW50ICYmIDExICE9PSBhLmRvY3VtZW50Lm5vZGVUeXBlKSByZXR1cm4gZAogICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgICAgICByZXR1cm4gZmEoYiwgbiwgbnVsbCwgW2FdKS5sZW5ndGggPiAwCiAgICAgIH0sIGZhLmNvbnRhaW5zID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgcmV0dXJuIChhLm93bmVyRG9jdW1lbnQgfHwgYSkgIT09IG4gJiYgbShhKSwgdChhLCBiKQogICAgICB9LCBmYS5hdHRyID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgKGEub3duZXJEb2N1bWVudCB8fCBhKSAhPT0gbiAmJiBtKGEpOwogICAgICAgICB2YXIgZSA9IGQuYXR0ckhhbmRsZVtiLnRvTG93ZXJDYXNlKCldLAogICAgICAgICAgICBmID0gZSAmJiBELmNhbGwoZC5hdHRySGFuZGxlLCBiLnRvTG93ZXJDYXNlKCkpID8gZShhLCBiLCAhcCkgOiB2b2lkIDA7CiAgICAgICAgIHJldHVybiB2b2lkIDAgIT09IGYgPyBmIDogYy5hdHRyaWJ1dGVzIHx8ICFwID8gYS5nZXRBdHRyaWJ1dGUoYikgOiAoZiA9IGEuZ2V0QXR0cmlidXRlTm9kZShiKSkgJiYgZi5zcGVjaWZpZWQgPyBmLnZhbHVlIDogbnVsbAogICAgICB9LCBmYS5lcnJvciA9IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIiArIGEpCiAgICAgIH0sIGZhLnVuaXF1ZVNvcnQgPSBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYiwgZCA9IFtdLAogICAgICAgICAgICBlID0gMCwKICAgICAgICAgICAgZiA9IDA7CiAgICAgICAgIGlmIChsID0gIWMuZGV0ZWN0RHVwbGljYXRlcywgayA9ICFjLnNvcnRTdGFibGUgJiYgYS5zbGljZSgwKSwgYS5zb3J0KEIpLCBsKSB7CiAgICAgICAgICAgIHdoaWxlIChiID0gYVtmKytdKSBiID09PSBhW2ZdICYmIChlID0gZC5wdXNoKGYpKTsKICAgICAgICAgICAgd2hpbGUgKGUtLSkgYS5zcGxpY2UoZFtlXSwgMSkKICAgICAgICAgfQogICAgICAgICByZXR1cm4gayA9IG51bGwsIGEKICAgICAgfSwgZSA9IGZhLmdldFRleHQgPSBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYiwgYyA9ICIiLAogICAgICAgICAgICBkID0gMCwKICAgICAgICAgICAgZiA9IGEubm9kZVR5cGU7CiAgICAgICAgIGlmIChmKSB7CiAgICAgICAgICAgIGlmICgxID09PSBmIHx8IDkgPT09IGYgfHwgMTEgPT09IGYpIHsKICAgICAgICAgICAgICAgaWYgKCJzdHJpbmciID09IHR5cGVvZiBhLnRleHRDb250ZW50KSByZXR1cm4gYS50ZXh0Q29udGVudDsKICAgICAgICAgICAgICAgZm9yIChhID0gYS5maXJzdENoaWxkOyBhOyBhID0gYS5uZXh0U2libGluZykgYyArPSBlKGEpCiAgICAgICAgICAgIH0gZWxzZSBpZiAoMyA9PT0gZiB8fCA0ID09PSBmKSByZXR1cm4gYS5ub2RlVmFsdWUKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgIHdoaWxlIChiID0gYVtkKytdKSBjICs9IGUoYik7CiAgICAgICAgIHJldHVybiBjCiAgICAgIH0sIGQgPSBmYS5zZWxlY3RvcnMgPSB7CiAgICAgICAgIGNhY2hlTGVuZ3RoOiA1MCwKICAgICAgICAgY3JlYXRlUHNldWRvOiBoYSwKICAgICAgICAgbWF0Y2g6IFcsCiAgICAgICAgIGF0dHJIYW5kbGU6IHt9LAogICAgICAgICBmaW5kOiB7fSwKICAgICAgICAgcmVsYXRpdmU6IHsKICAgICAgICAgICAgIj4iOiB7CiAgICAgICAgICAgICAgIGRpcjogInBhcmVudE5vZGUiLAogICAgICAgICAgICAgICBmaXJzdDogITAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIiAiOiB7CiAgICAgICAgICAgICAgIGRpcjogInBhcmVudE5vZGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICIrIjogewogICAgICAgICAgICAgICBkaXI6ICJwcmV2aW91c1NpYmxpbmciLAogICAgICAgICAgICAgICBmaXJzdDogITAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIn4iOiB7CiAgICAgICAgICAgICAgIGRpcjogInByZXZpb3VzU2libGluZyIKICAgICAgICAgICAgfQogICAgICAgICB9LAogICAgICAgICBwcmVGaWx0ZXI6IHsKICAgICAgICAgICAgQVRUUjogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGFbMV0gPSBhWzFdLnJlcGxhY2UoYmEsIGNhKSwgYVszXSA9IChhWzNdIHx8IGFbNF0gfHwgYVs1XSB8fCAiIikucmVwbGFjZShiYSwgY2EpLCAifj0iID09PSBhWzJdICYmIChhWzNdID0gIiAiICsgYVszXSArICIgIiksIGEuc2xpY2UoMCwgNCkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgQ0hJTEQ6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgIHJldHVybiBhWzFdID0gYVsxXS50b0xvd2VyQ2FzZSgpLCAibnRoIiA9PT0gYVsxXS5zbGljZSgwLCAzKSA/IChhWzNdIHx8IGZhLmVycm9yKGFbMF0pLCBhWzRdID0gKyhhWzRdID8gYVs1XSArIChhWzZdIHx8IDEpIDogMiAqICgiZXZlbiIgPT09IGFbM10gfHwgIm9kZCIgPT09IGFbM10pKSwgYVs1XSA9ICsoYVs3XSArIGFbOF0gfHwgIm9kZCIgPT09IGFbM10pKSA6IGFbM10gJiYgZmEuZXJyb3IoYVswXSksIGEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgUFNFVURPOiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICB2YXIgYiwgYyA9ICFhWzZdICYmIGFbMl07CiAgICAgICAgICAgICAgIHJldHVybiBXLkNISUxELnRlc3QoYVswXSkgPyBudWxsIDogKGFbM10gPyBhWzJdID0gYVs0XSB8fCBhWzVdIHx8ICIiIDogYyAmJiBVLnRlc3QoYykgJiYgKGIgPSBnKGMsICEwKSkgJiYgKGIgPSBjLmluZGV4T2YoIikiLCBjLmxlbmd0aCAtIGIpIC0gYy5sZW5ndGgpICYmIChhWzBdID0gYVswXS5zbGljZSgwLCBiKSwgYVsyXSA9IGMuc2xpY2UoMCwgYikpLCBhLnNsaWNlKDAsIDMpKQogICAgICAgICAgICB9CiAgICAgICAgIH0sCiAgICAgICAgIGZpbHRlcjogewogICAgICAgICAgICBUQUc6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgIHZhciBiID0gYS5yZXBsYWNlKGJhLCBjYSkudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgICAgcmV0dXJuICIqIiA9PT0gYSA/IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuICEwCiAgICAgICAgICAgICAgIH0gOiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICAgICByZXR1cm4gYS5ub2RlTmFtZSAmJiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IGIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBDTEFTUzogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgdmFyIGIgPSB5W2EgKyAiICJdOwogICAgICAgICAgICAgICByZXR1cm4gYiB8fCAoYiA9IG5ldyBSZWdFeHAoIihefCIgKyBMICsgIikiICsgYSArICIoIiArIEwgKyAifCQpIikpICYmIHkoYSwgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGIudGVzdCgic3RyaW5nIiA9PSB0eXBlb2YgYS5jbGFzc05hbWUgJiYgYS5jbGFzc05hbWUgfHwgInVuZGVmaW5lZCIgIT0gdHlwZW9mIGEuZ2V0QXR0cmlidXRlICYmIGEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpIHx8ICIiKQogICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LAogICAgICAgICAgICBBVFRSOiBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGQpIHsKICAgICAgICAgICAgICAgICAgdmFyIGUgPSBmYS5hdHRyKGQsIGEpOwogICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBlID8gIiE9IiA9PT0gYiA6IGIgPyAoZSArPSAiIiwgIj0iID09PSBiID8gZSA9PT0gYyA6ICIhPSIgPT09IGIgPyBlICE9PSBjIDogIl49IiA9PT0gYiA/IGMgJiYgMCA9PT0gZS5pbmRleE9mKGMpIDogIio9IiA9PT0gYiA/IGMgJiYgZS5pbmRleE9mKGMpID4gLTEgOiAiJD0iID09PSBiID8gYyAmJiBlLnNsaWNlKC1jLmxlbmd0aCkgPT09IGMgOiAifj0iID09PSBiID8gKCIgIiArIGUucmVwbGFjZShQLCAiICIpICsgIiAiKS5pbmRleE9mKGMpID4gLTEgOiAifD0iID09PSBiID8gZSA9PT0gYyB8fCBlLnNsaWNlKDAsIGMubGVuZ3RoICsgMSkgPT09IGMgKyAiLSIgOiAhMSkgOiAhMAogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIENISUxEOiBmdW5jdGlvbiAoYSwgYiwgYywgZCwgZSkgewogICAgICAgICAgICAgICB2YXIgZiA9ICJudGgiICE9PSBhLnNsaWNlKDAsIDMpLAogICAgICAgICAgICAgICAgICBnID0gImxhc3QiICE9PSBhLnNsaWNlKC00KSwKICAgICAgICAgICAgICAgICAgaCA9ICJvZi10eXBlIiA9PT0gYjsKICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IGQgJiYgMCA9PT0gZSA/IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiAhIWEucGFyZW50Tm9kZQogICAgICAgICAgICAgICB9IDogZnVuY3Rpb24gKGIsIGMsIGkpIHsKICAgICAgICAgICAgICAgICAgdmFyIGosIGssIGwsIG0sIG4sIG8sIHAgPSBmICE9PSBnID8gIm5leHRTaWJsaW5nIiA6ICJwcmV2aW91c1NpYmxpbmciLAogICAgICAgICAgICAgICAgICAgICBxID0gYi5wYXJlbnROb2RlLAogICAgICAgICAgICAgICAgICAgICByID0gaCAmJiBiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksCiAgICAgICAgICAgICAgICAgICAgIHMgPSAhaSAmJiAhaCwKICAgICAgICAgICAgICAgICAgICAgdCA9ICExOwogICAgICAgICAgICAgICAgICBpZiAocSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoZikgewogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAocCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBtID0gYjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG0gPSBtW3BdKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaCA/IG0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gciA6IDEgPT09IG0ubm9kZVR5cGUpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHAgPSAib25seSIgPT09IGEgJiYgIW8gJiYgIm5leHRTaWJsaW5nIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhMAogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChvID0gW2cgPyBxLmZpcnN0Q2hpbGQgOiBxLmxhc3RDaGlsZF0sIGcgJiYgcykgewogICAgICAgICAgICAgICAgICAgICAgICBtID0gcSwgbCA9IG1bdV0gfHwgKG1bdV0gPSB7fSksIGsgPSBsW20udW5pcXVlSURdIHx8IChsW20udW5pcXVlSURdID0ge30pLCBqID0ga1thXSB8fCBbXSwgbiA9IGpbMF0gPT09IHcgJiYgalsxXSwgdCA9IG4gJiYgalsyXSwgbSA9IG4gJiYgcS5jaGlsZE5vZGVzW25dOwogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAobSA9ICsrbiAmJiBtICYmIG1bcF0gfHwgKHQgPSBuID0gMCkgfHwgby5wb3AoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT09IG0ubm9kZVR5cGUgJiYgKyt0ICYmIG0gPT09IGIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1thXSA9IFt3LCBuLCB0XTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHMgJiYgKG0gPSBiLCBsID0gbVt1XSB8fCAobVt1XSA9IHt9KSwgayA9IGxbbS51bmlxdWVJRF0gfHwgKGxbbS51bmlxdWVJRF0gPSB7fSksIGogPSBrW2FdIHx8IFtdLCBuID0galswXSA9PT0gdyAmJiBqWzFdLCB0ID0gbiksIHQgPT09ICExKQogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAobSA9ICsrbiAmJiBtICYmIG1bcF0gfHwgKHQgPSBuID0gMCkgfHwgby5wb3AoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChoID8gbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSByIDogMSA9PT0gbS5ub2RlVHlwZSkgJiYgKyt0ICYmIChzICYmIChsID0gbVt1XSB8fCAobVt1XSA9IHt9KSwgayA9IGxbbS51bmlxdWVJRF0gfHwgKGxbbS51bmlxdWVJRF0gPSB7fSksIGtbYV0gPSBbdywgdF0pLCBtID09PSBiKSkgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0IC09IGUsIHQgPT09IGQgfHwgdCAlIGQgPT09IDAgJiYgdCAvIGQgPj0gMAogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgUFNFVURPOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICAgICB2YXIgYywgZSA9IGQucHNldWRvc1thXSB8fCBkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXSB8fCBmYS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiICsgYSk7CiAgICAgICAgICAgICAgIHJldHVybiBlW3VdID8gZShiKSA6IGUubGVuZ3RoID4gMSA/IChjID0gW2EsIGEsICIiLCBiXSwgZC5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGEudG9Mb3dlckNhc2UoKSkgPyBoYShmdW5jdGlvbiAoYSwgYykgewogICAgICAgICAgICAgICAgICB2YXIgZCwgZiA9IGUoYSwgYiksCiAgICAgICAgICAgICAgICAgICAgIGcgPSBmLmxlbmd0aDsKICAgICAgICAgICAgICAgICAgd2hpbGUgKGctLSkgZCA9IEooYSwgZltnXSksIGFbZF0gPSAhKGNbZF0gPSBmW2ddKQogICAgICAgICAgICAgICB9KSA6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBlKGEsIDAsIGMpCiAgICAgICAgICAgICAgIH0pIDogZQogICAgICAgICAgICB9CiAgICAgICAgIH0sCiAgICAgICAgIHBzZXVkb3M6IHsKICAgICAgICAgICAgbm90OiBoYShmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICB2YXIgYiA9IFtdLAogICAgICAgICAgICAgICAgICBjID0gW10sCiAgICAgICAgICAgICAgICAgIGQgPSBoKGEucmVwbGFjZShRLCAiJDEiKSk7CiAgICAgICAgICAgICAgIHJldHVybiBkW3VdID8gaGEoZnVuY3Rpb24gKGEsIGIsIGMsIGUpIHsKICAgICAgICAgICAgICAgICAgdmFyIGYsIGcgPSBkKGEsIG51bGwsIGUsIFtdKSwKICAgICAgICAgICAgICAgICAgICAgaCA9IGEubGVuZ3RoOwogICAgICAgICAgICAgICAgICB3aGlsZSAoaC0tKShmID0gZ1toXSkgJiYgKGFbaF0gPSAhKGJbaF0gPSBmKSkKICAgICAgICAgICAgICAgfSkgOiBmdW5jdGlvbiAoYSwgZSwgZikgewogICAgICAgICAgICAgICAgICByZXR1cm4gYlswXSA9IGEsIGQoYiwgbnVsbCwgZiwgYyksIGJbMF0gPSBudWxsLCAhYy5wb3AoKQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLAogICAgICAgICAgICBoYXM6IGhhKGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoYikgewogICAgICAgICAgICAgICAgICByZXR1cm4gZmEoYSwgYikubGVuZ3RoID4gMAogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLAogICAgICAgICAgICBjb250YWluczogaGEoZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGEgPSBhLnJlcGxhY2UoYmEsIGNhKSwKICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKGIpIHsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChiLnRleHRDb250ZW50IHx8IGIuaW5uZXJUZXh0IHx8IGUoYikpLmluZGV4T2YoYSkgPiAtMQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLAogICAgICAgICAgICBsYW5nOiBoYShmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICByZXR1cm4gVi50ZXN0KGEgfHwgIiIpIHx8IGZhLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiICsgYSksIGEgPSBhLnJlcGxhY2UoYmEsIGNhKS50b0xvd2VyQ2FzZSgpLAogICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoYikgewogICAgICAgICAgICAgICAgICAgICB2YXIgYzsKICAgICAgICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMgPSBwID8gYi5sYW5nIDogYi5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIikgfHwgYi5nZXRBdHRyaWJ1dGUoImxhbmciKSkgcmV0dXJuIGMgPSBjLnRvTG93ZXJDYXNlKCksIGMgPT09IGEgfHwgMCA9PT0gYy5pbmRleE9mKGEgKyAiLSIpOyB3aGlsZSAoKGIgPSBiLnBhcmVudE5vZGUpICYmIDEgPT09IGIubm9kZVR5cGUpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gITEKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwKICAgICAgICAgICAgdGFyZ2V0OiBmdW5jdGlvbiAoYikgewogICAgICAgICAgICAgICB2YXIgYyA9IGEubG9jYXRpb24gJiYgYS5sb2NhdGlvbi5oYXNoOwogICAgICAgICAgICAgICByZXR1cm4gYyAmJiBjLnNsaWNlKDEpID09PSBiLmlkCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJvb3Q6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgIHJldHVybiBhID09PSBvCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGZvY3VzOiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICByZXR1cm4gYSA9PT0gbi5hY3RpdmVFbGVtZW50ICYmICghbi5oYXNGb2N1cyB8fCBuLmhhc0ZvY3VzKCkpICYmICEhKGEudHlwZSB8fCBhLmhyZWYgfHwgfmEudGFiSW5kZXgpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVuYWJsZWQ6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgIHJldHVybiBhLmRpc2FibGVkID09PSAhMQogICAgICAgICAgICB9LAogICAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGEuZGlzYWJsZWQgPT09ICEwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNoZWNrZWQ6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgIHZhciBiID0gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICAgICByZXR1cm4gImlucHV0IiA9PT0gYiAmJiAhIWEuY2hlY2tlZCB8fCAib3B0aW9uIiA9PT0gYiAmJiAhIWEuc2VsZWN0ZWQKICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2VsZWN0ZWQ6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgIHJldHVybiBhLnBhcmVudE5vZGUgJiYgYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsIGEuc2VsZWN0ZWQgPT09ICEwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcHR5OiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICBmb3IgKGEgPSBhLmZpcnN0Q2hpbGQ7IGE7IGEgPSBhLm5leHRTaWJsaW5nKQogICAgICAgICAgICAgICAgICBpZiAoYS5ub2RlVHlwZSA8IDYpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgcmV0dXJuICEwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHBhcmVudDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuICFkLnBzZXVkb3MuZW1wdHkoYSkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgaGVhZGVyOiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICByZXR1cm4gWS50ZXN0KGEubm9kZU5hbWUpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICByZXR1cm4gWC50ZXN0KGEubm9kZU5hbWUpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGJ1dHRvbjogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgdmFyIGIgPSBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgICAgIHJldHVybiAiaW5wdXQiID09PSBiICYmICJidXR0b24iID09PSBhLnR5cGUgfHwgImJ1dHRvbiIgPT09IGIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgdGV4dDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgdmFyIGI7CiAgICAgICAgICAgICAgIHJldHVybiAiaW5wdXQiID09PSBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgJiYgInRleHQiID09PSBhLnR5cGUgJiYgKG51bGwgPT0gKGIgPSBhLmdldEF0dHJpYnV0ZSgidHlwZSIpKSB8fCAidGV4dCIgPT09IGIudG9Mb3dlckNhc2UoKSkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZmlyc3Q6IG5hKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgcmV0dXJuIFswXQogICAgICAgICAgICB9KSwKICAgICAgICAgICAgbGFzdDogbmEoZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgICAgcmV0dXJuIFtiIC0gMV0KICAgICAgICAgICAgfSksCiAgICAgICAgICAgIGVxOiBuYShmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICAgICAgICByZXR1cm4gWzAgPiBjID8gYyArIGIgOiBjXQogICAgICAgICAgICB9KSwKICAgICAgICAgICAgZXZlbjogbmEoZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgICAgZm9yICh2YXIgYyA9IDA7IGIgPiBjOyBjICs9IDIpIGEucHVzaChjKTsKICAgICAgICAgICAgICAgcmV0dXJuIGEKICAgICAgICAgICAgfSksCiAgICAgICAgICAgIG9kZDogbmEoZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgICAgZm9yICh2YXIgYyA9IDE7IGIgPiBjOyBjICs9IDIpIGEucHVzaChjKTsKICAgICAgICAgICAgICAgcmV0dXJuIGEKICAgICAgICAgICAgfSksCiAgICAgICAgICAgIGx0OiBuYShmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICAgICAgICBmb3IgKHZhciBkID0gMCA+IGMgPyBjICsgYiA6IGM7IC0tZCA+PSAwOykgYS5wdXNoKGQpOwogICAgICAgICAgICAgICByZXR1cm4gYQogICAgICAgICAgICB9KSwKICAgICAgICAgICAgZ3Q6IG5hKGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgICAgIGZvciAodmFyIGQgPSAwID4gYyA/IGMgKyBiIDogYzsgKytkIDwgYjspIGEucHVzaChkKTsKICAgICAgICAgICAgICAgcmV0dXJuIGEKICAgICAgICAgICAgfSkKICAgICAgICAgfQogICAgICB9LCBkLnBzZXVkb3MubnRoID0gZC5wc2V1ZG9zLmVxOwogICAgICBmb3IgKGIgaW4gewogICAgICAgICAgICByYWRpbzogITAsCiAgICAgICAgICAgIGNoZWNrYm94OiAhMCwKICAgICAgICAgICAgZmlsZTogITAsCiAgICAgICAgICAgIHBhc3N3b3JkOiAhMCwKICAgICAgICAgICAgaW1hZ2U6ICEwCiAgICAgICAgIH0pIGQucHNldWRvc1tiXSA9IGxhKGIpOwogICAgICBmb3IgKGIgaW4gewogICAgICAgICAgICBzdWJtaXQ6ICEwLAogICAgICAgICAgICByZXNldDogITAKICAgICAgICAgfSkgZC5wc2V1ZG9zW2JdID0gbWEoYik7CgogICAgICBmdW5jdGlvbiBwYSgpIHt9CiAgICAgIHBhLnByb3RvdHlwZSA9IGQuZmlsdGVycyA9IGQucHNldWRvcywgZC5zZXRGaWx0ZXJzID0gbmV3IHBhLCBnID0gZmEudG9rZW5pemUgPSBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICB2YXIgYywgZSwgZiwgZywgaCwgaSwgaiwgayA9IHpbYSArICIgIl07CiAgICAgICAgIGlmIChrKSByZXR1cm4gYiA/IDAgOiBrLnNsaWNlKDApOwogICAgICAgICBoID0gYSwgaSA9IFtdLCBqID0gZC5wcmVGaWx0ZXI7CiAgICAgICAgIHdoaWxlIChoKSB7CiAgICAgICAgICAgIGMgJiYgIShlID0gUi5leGVjKGgpKSB8fCAoZSAmJiAoaCA9IGguc2xpY2UoZVswXS5sZW5ndGgpIHx8IGgpLCBpLnB1c2goZiA9IFtdKSksIGMgPSAhMSwgKGUgPSBTLmV4ZWMoaCkpICYmIChjID0gZS5zaGlmdCgpLCBmLnB1c2goewogICAgICAgICAgICAgICB2YWx1ZTogYywKICAgICAgICAgICAgICAgdHlwZTogZVswXS5yZXBsYWNlKFEsICIgIikKICAgICAgICAgICAgfSksIGggPSBoLnNsaWNlKGMubGVuZ3RoKSk7CiAgICAgICAgICAgIGZvciAoZyBpbiBkLmZpbHRlcikgIShlID0gV1tnXS5leGVjKGgpKSB8fCBqW2ddICYmICEoZSA9IGpbZ10oZSkpIHx8IChjID0gZS5zaGlmdCgpLCBmLnB1c2goewogICAgICAgICAgICAgICB2YWx1ZTogYywKICAgICAgICAgICAgICAgdHlwZTogZywKICAgICAgICAgICAgICAgbWF0Y2hlczogZQogICAgICAgICAgICB9KSwgaCA9IGguc2xpY2UoYy5sZW5ndGgpKTsKICAgICAgICAgICAgaWYgKCFjKSBicmVhawogICAgICAgICB9CiAgICAgICAgIHJldHVybiBiID8gaC5sZW5ndGggOiBoID8gZmEuZXJyb3IoYSkgOiB6KGEsIGkpLnNsaWNlKDApCiAgICAgIH07CgogICAgICBmdW5jdGlvbiBxYShhKSB7CiAgICAgICAgIGZvciAodmFyIGIgPSAwLCBjID0gYS5sZW5ndGgsIGQgPSAiIjsgYyA+IGI7IGIrKykgZCArPSBhW2JdLnZhbHVlOwogICAgICAgICByZXR1cm4gZAogICAgICB9CgogICAgICBmdW5jdGlvbiByYShhLCBiLCBjKSB7CiAgICAgICAgIHZhciBkID0gYi5kaXIsCiAgICAgICAgICAgIGUgPSBjICYmICJwYXJlbnROb2RlIiA9PT0gZCwKICAgICAgICAgICAgZiA9IHgrKzsKICAgICAgICAgcmV0dXJuIGIuZmlyc3QgPyBmdW5jdGlvbiAoYiwgYywgZikgewogICAgICAgICAgICB3aGlsZSAoYiA9IGJbZF0pCiAgICAgICAgICAgICAgIGlmICgxID09PSBiLm5vZGVUeXBlIHx8IGUpIHJldHVybiBhKGIsIGMsIGYpCiAgICAgICAgIH0gOiBmdW5jdGlvbiAoYiwgYywgZykgewogICAgICAgICAgICB2YXIgaCwgaSwgaiwgayA9IFt3LCBmXTsKICAgICAgICAgICAgaWYgKGcpIHsKICAgICAgICAgICAgICAgd2hpbGUgKGIgPSBiW2RdKQogICAgICAgICAgICAgICAgICBpZiAoKDEgPT09IGIubm9kZVR5cGUgfHwgZSkgJiYgYShiLCBjLCBnKSkgcmV0dXJuICEwCiAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICB3aGlsZSAoYiA9IGJbZF0pCiAgICAgICAgICAgICAgICAgIGlmICgxID09PSBiLm5vZGVUeXBlIHx8IGUpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGogPSBiW3VdIHx8IChiW3VdID0ge30pLCBpID0galtiLnVuaXF1ZUlEXSB8fCAoaltiLnVuaXF1ZUlEXSA9IHt9KSwgKGggPSBpW2RdKSAmJiBoWzBdID09PSB3ICYmIGhbMV0gPT09IGYpIHJldHVybiBrWzJdID0gaFsyXTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlbZF0gPSBrLCBrWzJdID0gYShiLCBjLCBnKSkgcmV0dXJuICEwCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBzYShhKSB7CiAgICAgICAgIHJldHVybiBhLmxlbmd0aCA+IDEgPyBmdW5jdGlvbiAoYiwgYywgZCkgewogICAgICAgICAgICB2YXIgZSA9IGEubGVuZ3RoOwogICAgICAgICAgICB3aGlsZSAoZS0tKQogICAgICAgICAgICAgICBpZiAoIWFbZV0oYiwgYywgZCkpIHJldHVybiAhMTsKICAgICAgICAgICAgcmV0dXJuICEwCiAgICAgICAgIH0gOiBhWzBdCiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHRhKGEsIGIsIGMpIHsKICAgICAgICAgZm9yICh2YXIgZCA9IDAsIGUgPSBiLmxlbmd0aDsgZSA+IGQ7IGQrKykgZmEoYSwgYltkXSwgYyk7CiAgICAgICAgIHJldHVybiBjCiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHVhKGEsIGIsIGMsIGQsIGUpIHsKICAgICAgICAgZm9yICh2YXIgZiwgZyA9IFtdLCBoID0gMCwgaSA9IGEubGVuZ3RoLCBqID0gbnVsbCAhPSBiOyBpID4gaDsgaCsrKShmID0gYVtoXSkgJiYgKGMgJiYgIWMoZiwgZCwgZSkgfHwgKGcucHVzaChmKSwgaiAmJiBiLnB1c2goaCkpKTsKICAgICAgICAgcmV0dXJuIGcKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdmEoYSwgYiwgYywgZCwgZSwgZikgewogICAgICAgICByZXR1cm4gZCAmJiAhZFt1XSAmJiAoZCA9IHZhKGQpKSwgZSAmJiAhZVt1XSAmJiAoZSA9IHZhKGUsIGYpKSwgaGEoZnVuY3Rpb24gKGYsIGcsIGgsIGkpIHsKICAgICAgICAgICAgdmFyIGosIGssIGwsIG0gPSBbXSwKICAgICAgICAgICAgICAgbiA9IFtdLAogICAgICAgICAgICAgICBvID0gZy5sZW5ndGgsCiAgICAgICAgICAgICAgIHAgPSBmIHx8IHRhKGIgfHwgIioiLCBoLm5vZGVUeXBlID8gW2hdIDogaCwgW10pLAogICAgICAgICAgICAgICBxID0gIWEgfHwgIWYgJiYgYiA/IHAgOiB1YShwLCBtLCBhLCBoLCBpKSwKICAgICAgICAgICAgICAgciA9IGMgPyBlIHx8IChmID8gYSA6IG8gfHwgZCkgPyBbXSA6IGcgOiBxOwogICAgICAgICAgICBpZiAoYyAmJiBjKHEsIHIsIGgsIGkpLCBkKSB7CiAgICAgICAgICAgICAgIGogPSB1YShyLCBuKSwgZChqLCBbXSwgaCwgaSksIGsgPSBqLmxlbmd0aDsKICAgICAgICAgICAgICAgd2hpbGUgKGstLSkobCA9IGpba10pICYmIChyW25ba11dID0gIShxW25ba11dID0gbCkpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGYpIHsKICAgICAgICAgICAgICAgaWYgKGUgfHwgYSkgewogICAgICAgICAgICAgICAgICBpZiAoZSkgewogICAgICAgICAgICAgICAgICAgICBqID0gW10sIGsgPSByLmxlbmd0aDsKICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGstLSkobCA9IHJba10pICYmIGoucHVzaChxW2tdID0gbCk7CiAgICAgICAgICAgICAgICAgICAgIGUobnVsbCwgciA9IFtdLCBqLCBpKQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGsgPSByLmxlbmd0aDsKICAgICAgICAgICAgICAgICAgd2hpbGUgKGstLSkobCA9IHJba10pICYmIChqID0gZSA/IEooZiwgbCkgOiBtW2tdKSA+IC0xICYmIChmW2pdID0gIShnW2pdID0gbCkpCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHIgPSB1YShyID09PSBnID8gci5zcGxpY2Uobywgci5sZW5ndGgpIDogciksIGUgPyBlKG51bGwsIGcsIHIsIGkpIDogSC5hcHBseShnLCByKQogICAgICAgICB9KQogICAgICB9CgogICAgICBmdW5jdGlvbiB3YShhKSB7CiAgICAgICAgIGZvciAodmFyIGIsIGMsIGUsIGYgPSBhLmxlbmd0aCwgZyA9IGQucmVsYXRpdmVbYVswXS50eXBlXSwgaCA9IGcgfHwgZC5yZWxhdGl2ZVsiICJdLCBpID0gZyA/IDEgOiAwLCBrID0gcmEoZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGEgPT09IGIKICAgICAgICAgICAgfSwgaCwgITApLCBsID0gcmEoZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuIEooYiwgYSkgPiAtMQogICAgICAgICAgICB9LCBoLCAhMCksIG0gPSBbZnVuY3Rpb24gKGEsIGMsIGQpIHsKICAgICAgICAgICAgICAgdmFyIGUgPSAhZyAmJiAoZCB8fCBjICE9PSBqKSB8fCAoKGIgPSBjKS5ub2RlVHlwZSA/IGsoYSwgYywgZCkgOiBsKGEsIGMsIGQpKTsKICAgICAgICAgICAgICAgcmV0dXJuIGIgPSBudWxsLCBlCiAgICAgICAgICAgIH1dOyBmID4gaTsgaSsrKQogICAgICAgICAgICBpZiAoYyA9IGQucmVsYXRpdmVbYVtpXS50eXBlXSkgbSA9IFtyYShzYShtKSwgYyldOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgaWYgKGMgPSBkLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsIGFbaV0ubWF0Y2hlcyksIGNbdV0pIHsKICAgICAgICAgICAgICAgICAgZm9yIChlID0gKytpOyBmID4gZTsgZSsrKQogICAgICAgICAgICAgICAgICAgICBpZiAoZC5yZWxhdGl2ZVthW2VdLnR5cGVdKSBicmVhazsKICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhKGkgPiAxICYmIHNhKG0pLCBpID4gMSAmJiBxYShhLnNsaWNlKDAsIGkgLSAxKS5jb25jYXQoewogICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIiAiID09PSBhW2kgLSAyXS50eXBlID8gIioiIDogIiIKICAgICAgICAgICAgICAgICAgfSkpLnJlcGxhY2UoUSwgIiQxIiksIGMsIGUgPiBpICYmIHdhKGEuc2xpY2UoaSwgZSkpLCBmID4gZSAmJiB3YShhID0gYS5zbGljZShlKSksIGYgPiBlICYmIHFhKGEpKQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIG0ucHVzaChjKQogICAgICAgICAgICB9CiAgICAgICAgIHJldHVybiBzYShtKQogICAgICB9CgogICAgICBmdW5jdGlvbiB4YShhLCBiKSB7CiAgICAgICAgIHZhciBjID0gYi5sZW5ndGggPiAwLAogICAgICAgICAgICBlID0gYS5sZW5ndGggPiAwLAogICAgICAgICAgICBmID0gZnVuY3Rpb24gKGYsIGcsIGgsIGksIGspIHsKICAgICAgICAgICAgICAgdmFyIGwsIG8sIHEsIHIgPSAwLAogICAgICAgICAgICAgICAgICBzID0gIjAiLAogICAgICAgICAgICAgICAgICB0ID0gZiAmJiBbXSwKICAgICAgICAgICAgICAgICAgdSA9IFtdLAogICAgICAgICAgICAgICAgICB2ID0gaiwKICAgICAgICAgICAgICAgICAgeCA9IGYgfHwgZSAmJiBkLmZpbmQuVEFHKCIqIiwgayksCiAgICAgICAgICAgICAgICAgIHkgPSB3ICs9IG51bGwgPT0gdiA/IDEgOiBNYXRoLnJhbmRvbSgpIHx8IC4xLAogICAgICAgICAgICAgICAgICB6ID0geC5sZW5ndGg7CiAgICAgICAgICAgICAgIGZvciAoayAmJiAoaiA9IGcgPT09IG4gfHwgZyB8fCBrKTsgcyAhPT0geiAmJiBudWxsICE9IChsID0geFtzXSk7IHMrKykgewogICAgICAgICAgICAgICAgICBpZiAoZSAmJiBsKSB7CiAgICAgICAgICAgICAgICAgICAgIG8gPSAwLCBnIHx8IGwub3duZXJEb2N1bWVudCA9PT0gbiB8fCAobShsKSwgaCA9ICFwKTsKICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHEgPSBhW28rK10pCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxKGwsIGcgfHwgbiwgaCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgaS5wdXNoKGwpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGsgJiYgKHcgPSB5KQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGMgJiYgKChsID0gIXEgJiYgbCkgJiYgci0tLCBmICYmIHQucHVzaChsKSkKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBpZiAociArPSBzLCBjICYmIHMgIT09IHIpIHsKICAgICAgICAgICAgICAgICAgbyA9IDA7CiAgICAgICAgICAgICAgICAgIHdoaWxlIChxID0gYltvKytdKSBxKHQsIHUsIGcsIGgpOwogICAgICAgICAgICAgICAgICBpZiAoZikgewogICAgICAgICAgICAgICAgICAgICBpZiAociA+IDApCiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChzLS0pIHRbc10gfHwgdVtzXSB8fCAodVtzXSA9IEYuY2FsbChpKSk7CiAgICAgICAgICAgICAgICAgICAgIHUgPSB1YSh1KQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIEguYXBwbHkoaSwgdSksIGsgJiYgIWYgJiYgdS5sZW5ndGggPiAwICYmIHIgKyBiLmxlbmd0aCA+IDEgJiYgZmEudW5pcXVlU29ydChpKQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIHJldHVybiBrICYmICh3ID0geSwgaiA9IHYpLCB0CiAgICAgICAgICAgIH07CiAgICAgICAgIHJldHVybiBjID8gaGEoZikgOiBmCiAgICAgIH0KICAgICAgcmV0dXJuIGggPSBmYS5jb21waWxlID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgdmFyIGMsIGQgPSBbXSwKICAgICAgICAgICAgZSA9IFtdLAogICAgICAgICAgICBmID0gQVthICsgIiAiXTsKICAgICAgICAgaWYgKCFmKSB7CiAgICAgICAgICAgIGIgfHwgKGIgPSBnKGEpKSwgYyA9IGIubGVuZ3RoOwogICAgICAgICAgICB3aGlsZSAoYy0tKSBmID0gd2EoYltjXSksIGZbdV0gPyBkLnB1c2goZikgOiBlLnB1c2goZik7CiAgICAgICAgICAgIGYgPSBBKGEsIHhhKGUsIGQpKSwgZi5zZWxlY3RvciA9IGEKICAgICAgICAgfQogICAgICAgICByZXR1cm4gZgogICAgICB9LCBpID0gZmEuc2VsZWN0ID0gZnVuY3Rpb24gKGEsIGIsIGUsIGYpIHsKICAgICAgICAgdmFyIGksIGosIGssIGwsIG0sIG4gPSAiZnVuY3Rpb24iID09IHR5cGVvZiBhICYmIGEsCiAgICAgICAgICAgIG8gPSAhZiAmJiBnKGEgPSBuLnNlbGVjdG9yIHx8IGEpOwogICAgICAgICBpZiAoZSA9IGUgfHwgW10sIDEgPT09IG8ubGVuZ3RoKSB7CiAgICAgICAgICAgIGlmIChqID0gb1swXSA9IG9bMF0uc2xpY2UoMCksIGoubGVuZ3RoID4gMiAmJiAiSUQiID09PSAoayA9IGpbMF0pLnR5cGUgJiYgYy5nZXRCeUlkICYmIDkgPT09IGIubm9kZVR5cGUgJiYgcCAmJiBkLnJlbGF0aXZlW2pbMV0udHlwZV0pIHsKICAgICAgICAgICAgICAgaWYgKGIgPSAoZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGJhLCBjYSksIGIpIHx8IFtdKVswXSwgIWIpIHJldHVybiBlOwogICAgICAgICAgICAgICBuICYmIChiID0gYi5wYXJlbnROb2RlKSwgYSA9IGEuc2xpY2Uoai5zaGlmdCgpLnZhbHVlLmxlbmd0aCkKICAgICAgICAgICAgfQogICAgICAgICAgICBpID0gVy5uZWVkc0NvbnRleHQudGVzdChhKSA/IDAgOiBqLmxlbmd0aDsKICAgICAgICAgICAgd2hpbGUgKGktLSkgewogICAgICAgICAgICAgICBpZiAoayA9IGpbaV0sIGQucmVsYXRpdmVbbCA9IGsudHlwZV0pIGJyZWFrOwogICAgICAgICAgICAgICBpZiAoKG0gPSBkLmZpbmRbbF0pICYmIChmID0gbShrLm1hdGNoZXNbMF0ucmVwbGFjZShiYSwgY2EpLCBfLnRlc3QoalswXS50eXBlKSAmJiBvYShiLnBhcmVudE5vZGUpIHx8IGIpKSkgewogICAgICAgICAgICAgICAgICBpZiAoai5zcGxpY2UoaSwgMSksIGEgPSBmLmxlbmd0aCAmJiBxYShqKSwgIWEpIHJldHVybiBILmFwcGx5KGUsIGYpLCBlOwogICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICByZXR1cm4gKG4gfHwgaChhLCBvKSkoZiwgYiwgIXAsIGUsICFiIHx8IF8udGVzdChhKSAmJiBvYShiLnBhcmVudE5vZGUpIHx8IGIpLCBlCiAgICAgIH0sIGMuc29ydFN0YWJsZSA9IHUuc3BsaXQoIiIpLnNvcnQoQikuam9pbigiIikgPT09IHUsIGMuZGV0ZWN0RHVwbGljYXRlcyA9ICEhbCwgbSgpLCBjLnNvcnREZXRhY2hlZCA9IGlhKGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiAxICYgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuLmNyZWF0ZUVsZW1lbnQoImRpdiIpKQogICAgICB9KSwgaWEoZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIGEuaW5uZXJIVE1MID0gIjxhIGhyZWY9JyMnPjwvYT4iLCAiIyIgPT09IGEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKQogICAgICB9KSB8fCBqYSgidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsIGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgIHJldHVybiBjID8gdm9pZCAwIDogYS5nZXRBdHRyaWJ1dGUoYiwgInR5cGUiID09PSBiLnRvTG93ZXJDYXNlKCkgPyAxIDogMikKICAgICAgfSksIGMuYXR0cmlidXRlcyAmJiBpYShmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gYS5pbm5lckhUTUwgPSAiPGlucHV0Lz4iLCBhLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICIiKSwgIiIgPT09IGEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIikKICAgICAgfSkgfHwgamEoInZhbHVlIiwgZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgcmV0dXJuIGMgfHwgImlucHV0IiAhPT0gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID8gdm9pZCAwIDogYS5kZWZhdWx0VmFsdWUKICAgICAgfSksIGlhKGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiBudWxsID09IGEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpCiAgICAgIH0pIHx8IGphKEssIGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgIHZhciBkOwogICAgICAgICByZXR1cm4gYyA/IHZvaWQgMCA6IGFbYl0gPT09ICEwID8gYi50b0xvd2VyQ2FzZSgpIDogKGQgPSBhLmdldEF0dHJpYnV0ZU5vZGUoYikpICYmIGQuc3BlY2lmaWVkID8gZC52YWx1ZSA6IG51bGwKICAgICAgfSksIGZhCiAgIH0oYSk7CiAgIG4uZmluZCA9IHQsIG4uZXhwciA9IHQuc2VsZWN0b3JzLCBuLmV4cHJbIjoiXSA9IG4uZXhwci5wc2V1ZG9zLCBuLnVuaXF1ZVNvcnQgPSBuLnVuaXF1ZSA9IHQudW5pcXVlU29ydCwgbi50ZXh0ID0gdC5nZXRUZXh0LCBuLmlzWE1MRG9jID0gdC5pc1hNTCwgbi5jb250YWlucyA9IHQuY29udGFpbnM7CiAgIHZhciB1ID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgdmFyIGQgPSBbXSwKICAgICAgICAgICAgZSA9IHZvaWQgMCAhPT0gYzsKICAgICAgICAgd2hpbGUgKChhID0gYVtiXSkgJiYgOSAhPT0gYS5ub2RlVHlwZSkKICAgICAgICAgICAgaWYgKDEgPT09IGEubm9kZVR5cGUpIHsKICAgICAgICAgICAgICAgaWYgKGUgJiYgbihhKS5pcyhjKSkgYnJlYWs7CiAgICAgICAgICAgICAgIGQucHVzaChhKQogICAgICAgICAgICB9CiAgICAgICAgIHJldHVybiBkCiAgICAgIH0sCiAgICAgIHYgPSBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICBmb3IgKHZhciBjID0gW107IGE7IGEgPSBhLm5leHRTaWJsaW5nKSAxID09PSBhLm5vZGVUeXBlICYmIGEgIT09IGIgJiYgYy5wdXNoKGEpOwogICAgICAgICByZXR1cm4gYwogICAgICB9LAogICAgICB3ID0gbi5leHByLm1hdGNoLm5lZWRzQ29udGV4dCwKICAgICAgeCA9IC9ePChbXHctXSspXHMqXC8/Pig/OjxcL1wxPnwpJC8sCiAgICAgIHkgPSAvXi5bXjojXFtcLixdKiQvOwoKICAgZnVuY3Rpb24geihhLCBiLCBjKSB7CiAgICAgIGlmIChuLmlzRnVuY3Rpb24oYikpIHJldHVybiBuLmdyZXAoYSwgZnVuY3Rpb24gKGEsIGQpIHsKICAgICAgICAgcmV0dXJuICEhYi5jYWxsKGEsIGQsIGEpICE9PSBjCiAgICAgIH0pOwogICAgICBpZiAoYi5ub2RlVHlwZSkgcmV0dXJuIG4uZ3JlcChhLCBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gYSA9PT0gYiAhPT0gYwogICAgICB9KTsKICAgICAgaWYgKCJzdHJpbmciID09IHR5cGVvZiBiKSB7CiAgICAgICAgIGlmICh5LnRlc3QoYikpIHJldHVybiBuLmZpbHRlcihiLCBhLCBjKTsKICAgICAgICAgYiA9IG4uZmlsdGVyKGIsIGEpCiAgICAgIH0KICAgICAgcmV0dXJuIG4uZ3JlcChhLCBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gbi5pbkFycmF5KGEsIGIpID4gLTEgIT09IGMKICAgICAgfSkKICAgfQogICBuLmZpbHRlciA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgIHZhciBkID0gYlswXTsKICAgICAgcmV0dXJuIGMgJiYgKGEgPSAiOm5vdCgiICsgYSArICIpIiksIDEgPT09IGIubGVuZ3RoICYmIDEgPT09IGQubm9kZVR5cGUgPyBuLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsIGEpID8gW2RdIDogW10gOiBuLmZpbmQubWF0Y2hlcyhhLCBuLmdyZXAoYiwgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIDEgPT09IGEubm9kZVR5cGUKICAgICAgfSkpCiAgIH0sIG4uZm4uZXh0ZW5kKHsKICAgICAgZmluZDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgdmFyIGIsIGMgPSBbXSwKICAgICAgICAgICAgZCA9IHRoaXMsCiAgICAgICAgICAgIGUgPSBkLmxlbmd0aDsKICAgICAgICAgaWYgKCJzdHJpbmciICE9IHR5cGVvZiBhKSByZXR1cm4gdGhpcy5wdXNoU3RhY2sobihhKS5maWx0ZXIoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBmb3IgKGIgPSAwOyBlID4gYjsgYisrKQogICAgICAgICAgICAgICBpZiAobi5jb250YWlucyhkW2JdLCB0aGlzKSkgcmV0dXJuICEwCiAgICAgICAgIH0pKTsKICAgICAgICAgZm9yIChiID0gMDsgZSA+IGI7IGIrKykgbi5maW5kKGEsIGRbYl0sIGMpOwogICAgICAgICByZXR1cm4gYyA9IHRoaXMucHVzaFN0YWNrKGUgPiAxID8gbi51bmlxdWUoYykgOiBjKSwgYy5zZWxlY3RvciA9IHRoaXMuc2VsZWN0b3IgPyB0aGlzLnNlbGVjdG9yICsgIiAiICsgYSA6IGEsIGMKICAgICAgfSwKICAgICAgZmlsdGVyOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gdGhpcy5wdXNoU3RhY2soeih0aGlzLCBhIHx8IFtdLCAhMSkpCiAgICAgIH0sCiAgICAgIG5vdDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIHRoaXMucHVzaFN0YWNrKHoodGhpcywgYSB8fCBbXSwgITApKQogICAgICB9LAogICAgICBpczogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuICEheih0aGlzLCAic3RyaW5nIiA9PSB0eXBlb2YgYSAmJiB3LnRlc3QoYSkgPyBuKGEpIDogYSB8fCBbXSwgITEpLmxlbmd0aAogICAgICB9CiAgIH0pOwogICB2YXIgQSwgQiA9IC9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKikpJC8sCiAgICAgIEMgPSBuLmZuLmluaXQgPSBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICB2YXIgZSwgZjsKICAgICAgICAgaWYgKCFhKSByZXR1cm4gdGhpczsKICAgICAgICAgaWYgKGMgPSBjIHx8IEEsICJzdHJpbmciID09IHR5cGVvZiBhKSB7CiAgICAgICAgICAgIGlmIChlID0gIjwiID09PSBhLmNoYXJBdCgwKSAmJiAiPiIgPT09IGEuY2hhckF0KGEubGVuZ3RoIC0gMSkgJiYgYS5sZW5ndGggPj0gMyA/IFtudWxsLCBhLCBudWxsXSA6IEIuZXhlYyhhKSwgIWUgfHwgIWVbMV0gJiYgYikgcmV0dXJuICFiIHx8IGIuanF1ZXJ5ID8gKGIgfHwgYykuZmluZChhKSA6IHRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTsKICAgICAgICAgICAgaWYgKGVbMV0pIHsKICAgICAgICAgICAgICAgaWYgKGIgPSBiIGluc3RhbmNlb2YgbiA/IGJbMF0gOiBiLCBuLm1lcmdlKHRoaXMsIG4ucGFyc2VIVE1MKGVbMV0sIGIgJiYgYi5ub2RlVHlwZSA/IGIub3duZXJEb2N1bWVudCB8fCBiIDogZCwgITApKSwgeC50ZXN0KGVbMV0pICYmIG4uaXNQbGFpbk9iamVjdChiKSkKICAgICAgICAgICAgICAgICAgZm9yIChlIGluIGIpIG4uaXNGdW5jdGlvbih0aGlzW2VdKSA/IHRoaXNbZV0oYltlXSkgOiB0aGlzLmF0dHIoZSwgYltlXSk7CiAgICAgICAgICAgICAgIHJldHVybiB0aGlzCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGYgPSBkLmdldEVsZW1lbnRCeUlkKGVbMl0pLCBmICYmIGYucGFyZW50Tm9kZSkgewogICAgICAgICAgICAgICBpZiAoZi5pZCAhPT0gZVsyXSkgcmV0dXJuIEEuZmluZChhKTsKICAgICAgICAgICAgICAgdGhpcy5sZW5ndGggPSAxLCB0aGlzWzBdID0gZgogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQgPSBkLCB0aGlzLnNlbGVjdG9yID0gYSwgdGhpcwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBhLm5vZGVUeXBlID8gKHRoaXMuY29udGV4dCA9IHRoaXNbMF0gPSBhLCB0aGlzLmxlbmd0aCA9IDEsIHRoaXMpIDogbi5pc0Z1bmN0aW9uKGEpID8gInVuZGVmaW5lZCIgIT0gdHlwZW9mIGMucmVhZHkgPyBjLnJlYWR5KGEpIDogYShuKSA6ICh2b2lkIDAgIT09IGEuc2VsZWN0b3IgJiYgKHRoaXMuc2VsZWN0b3IgPSBhLnNlbGVjdG9yLCB0aGlzLmNvbnRleHQgPSBhLmNvbnRleHQpLCBuLm1ha2VBcnJheShhLCB0aGlzKSkKICAgICAgfTsKICAgQy5wcm90b3R5cGUgPSBuLmZuLCBBID0gbihkKTsKICAgdmFyIEQgPSAvXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLywKICAgICAgRSA9IHsKICAgICAgICAgY2hpbGRyZW46ICEwLAogICAgICAgICBjb250ZW50czogITAsCiAgICAgICAgIG5leHQ6ICEwLAogICAgICAgICBwcmV2OiAhMAogICAgICB9OwogICBuLmZuLmV4dGVuZCh7CiAgICAgIGhhczogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgdmFyIGIsIGMgPSBuKGEsIHRoaXMpLAogICAgICAgICAgICBkID0gYy5sZW5ndGg7CiAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGZvciAoYiA9IDA7IGQgPiBiOyBiKyspCiAgICAgICAgICAgICAgIGlmIChuLmNvbnRhaW5zKHRoaXMsIGNbYl0pKSByZXR1cm4gITAKICAgICAgICAgfSkKICAgICAgfSwKICAgICAgY2xvc2VzdDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgZm9yICh2YXIgYywgZCA9IDAsIGUgPSB0aGlzLmxlbmd0aCwgZiA9IFtdLCBnID0gdy50ZXN0KGEpIHx8ICJzdHJpbmciICE9IHR5cGVvZiBhID8gbihhLCBiIHx8IHRoaXMuY29udGV4dCkgOiAwOyBlID4gZDsgZCsrKQogICAgICAgICAgICBmb3IgKGMgPSB0aGlzW2RdOyBjICYmIGMgIT09IGI7IGMgPSBjLnBhcmVudE5vZGUpCiAgICAgICAgICAgICAgIGlmIChjLm5vZGVUeXBlIDwgMTEgJiYgKGcgPyBnLmluZGV4KGMpID4gLTEgOiAxID09PSBjLm5vZGVUeXBlICYmIG4uZmluZC5tYXRjaGVzU2VsZWN0b3IoYywgYSkpKSB7CiAgICAgICAgICAgICAgICAgIGYucHVzaChjKTsKICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgfQogICAgICAgICByZXR1cm4gdGhpcy5wdXNoU3RhY2soZi5sZW5ndGggPiAxID8gbi51bmlxdWVTb3J0KGYpIDogZikKICAgICAgfSwKICAgICAgaW5kZXg6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiBhID8gInN0cmluZyIgPT0gdHlwZW9mIGEgPyBuLmluQXJyYXkodGhpc1swXSwgbihhKSkgOiBuLmluQXJyYXkoYS5qcXVlcnkgPyBhWzBdIDogYSwgdGhpcykgOiB0aGlzWzBdICYmIHRoaXNbMF0ucGFyZW50Tm9kZSA/IHRoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoIDogLTEKICAgICAgfSwKICAgICAgYWRkOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICByZXR1cm4gdGhpcy5wdXNoU3RhY2sobi51bmlxdWVTb3J0KG4ubWVyZ2UodGhpcy5nZXQoKSwgbihhLCBiKSkpKQogICAgICB9LAogICAgICBhZGRCYWNrOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gdGhpcy5hZGQobnVsbCA9PSBhID8gdGhpcy5wcmV2T2JqZWN0IDogdGhpcy5wcmV2T2JqZWN0LmZpbHRlcihhKSkKICAgICAgfQogICB9KTsKCiAgIGZ1bmN0aW9uIEYoYSwgYikgewogICAgICBkbyBhID0gYVtiXTsgd2hpbGUgKGEgJiYgMSAhPT0gYS5ub2RlVHlwZSk7CiAgICAgIHJldHVybiBhCiAgIH0KICAgbi5lYWNoKHsKICAgICAgcGFyZW50OiBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYiA9IGEucGFyZW50Tm9kZTsKICAgICAgICAgcmV0dXJuIGIgJiYgMTEgIT09IGIubm9kZVR5cGUgPyBiIDogbnVsbAogICAgICB9LAogICAgICBwYXJlbnRzOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gdShhLCAicGFyZW50Tm9kZSIpCiAgICAgIH0sCiAgICAgIHBhcmVudHNVbnRpbDogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgcmV0dXJuIHUoYSwgInBhcmVudE5vZGUiLCBjKQogICAgICB9LAogICAgICBuZXh0OiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gRihhLCAibmV4dFNpYmxpbmciKQogICAgICB9LAogICAgICBwcmV2OiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gRihhLCAicHJldmlvdXNTaWJsaW5nIikKICAgICAgfSwKICAgICAgbmV4dEFsbDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIHUoYSwgIm5leHRTaWJsaW5nIikKICAgICAgfSwKICAgICAgcHJldkFsbDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIHUoYSwgInByZXZpb3VzU2libGluZyIpCiAgICAgIH0sCiAgICAgIG5leHRVbnRpbDogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgcmV0dXJuIHUoYSwgIm5leHRTaWJsaW5nIiwgYykKICAgICAgfSwKICAgICAgcHJldlVudGlsOiBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICByZXR1cm4gdShhLCAicHJldmlvdXNTaWJsaW5nIiwgYykKICAgICAgfSwKICAgICAgc2libGluZ3M6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiB2KChhLnBhcmVudE5vZGUgfHwge30pLmZpcnN0Q2hpbGQsIGEpCiAgICAgIH0sCiAgICAgIGNoaWxkcmVuOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gdihhLmZpcnN0Q2hpbGQpCiAgICAgIH0sCiAgICAgIGNvbnRlbnRzOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gbi5ub2RlTmFtZShhLCAiaWZyYW1lIikgPyBhLmNvbnRlbnREb2N1bWVudCB8fCBhLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQgOiBuLm1lcmdlKFtdLCBhLmNoaWxkTm9kZXMpCiAgICAgIH0KICAgfSwgZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgbi5mblthXSA9IGZ1bmN0aW9uIChjLCBkKSB7CiAgICAgICAgIHZhciBlID0gbi5tYXAodGhpcywgYiwgYyk7CiAgICAgICAgIHJldHVybiAiVW50aWwiICE9PSBhLnNsaWNlKC01KSAmJiAoZCA9IGMpLCBkICYmICJzdHJpbmciID09IHR5cGVvZiBkICYmIChlID0gbi5maWx0ZXIoZCwgZSkpLCB0aGlzLmxlbmd0aCA+IDEgJiYgKEVbYV0gfHwgKGUgPSBuLnVuaXF1ZVNvcnQoZSkpLCBELnRlc3QoYSkgJiYgKGUgPSBlLnJldmVyc2UoKSkpLCB0aGlzLnB1c2hTdGFjayhlKQogICAgICB9CiAgIH0pOwogICB2YXIgRyA9IC9cUysvZzsKCiAgIGZ1bmN0aW9uIEgoYSkgewogICAgICB2YXIgYiA9IHt9OwogICAgICByZXR1cm4gbi5lYWNoKGEubWF0Y2goRykgfHwgW10sIGZ1bmN0aW9uIChhLCBjKSB7CiAgICAgICAgIGJbY10gPSAhMAogICAgICB9KSwgYgogICB9CiAgIG4uQ2FsbGJhY2tzID0gZnVuY3Rpb24gKGEpIHsKICAgICAgYSA9ICJzdHJpbmciID09IHR5cGVvZiBhID8gSChhKSA6IG4uZXh0ZW5kKHt9LCBhKTsKICAgICAgdmFyIGIsIGMsIGQsIGUsIGYgPSBbXSwKICAgICAgICAgZyA9IFtdLAogICAgICAgICBoID0gLTEsCiAgICAgICAgIGkgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGZvciAoZSA9IGEub25jZSwgZCA9IGIgPSAhMDsgZy5sZW5ndGg7IGggPSAtMSkgewogICAgICAgICAgICAgICBjID0gZy5zaGlmdCgpOwogICAgICAgICAgICAgICB3aGlsZSAoKytoIDwgZi5sZW5ndGgpIGZbaF0uYXBwbHkoY1swXSwgY1sxXSkgPT09ICExICYmIGEuc3RvcE9uRmFsc2UgJiYgKGggPSBmLmxlbmd0aCwgYyA9ICExKQogICAgICAgICAgICB9CiAgICAgICAgICAgIGEubWVtb3J5IHx8IChjID0gITEpLCBiID0gITEsIGUgJiYgKGYgPSBjID8gW10gOiAiIikKICAgICAgICAgfSwKICAgICAgICAgaiA9IHsKICAgICAgICAgICAgYWRkOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHJldHVybiBmICYmIChjICYmICFiICYmIChoID0gZi5sZW5ndGggLSAxLCBnLnB1c2goYykpLCBmdW5jdGlvbiBkKGIpIHsKICAgICAgICAgICAgICAgICAgbi5lYWNoKGIsIGZ1bmN0aW9uIChiLCBjKSB7CiAgICAgICAgICAgICAgICAgICAgIG4uaXNGdW5jdGlvbihjKSA/IGEudW5pcXVlICYmIGouaGFzKGMpIHx8IGYucHVzaChjKSA6IGMgJiYgYy5sZW5ndGggJiYgInN0cmluZyIgIT09IG4udHlwZShjKSAmJiBkKGMpCiAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgIH0oYXJndW1lbnRzKSwgYyAmJiAhYiAmJiBpKCkpLCB0aGlzCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJlbW92ZTogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gbi5lYWNoKGFyZ3VtZW50cywgZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgICAgICAgdmFyIGM7CiAgICAgICAgICAgICAgICAgIHdoaWxlICgoYyA9IG4uaW5BcnJheShiLCBmLCBjKSkgPiAtMSkgZi5zcGxpY2UoYywgMSksIGggPj0gYyAmJiBoLS0KICAgICAgICAgICAgICAgfSksIHRoaXMKICAgICAgICAgICAgfSwKICAgICAgICAgICAgaGFzOiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICByZXR1cm4gYSA/IG4uaW5BcnJheShhLCBmKSA+IC0xIDogZi5sZW5ndGggPiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcHR5OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHJldHVybiBmICYmIChmID0gW10pLCB0aGlzCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRpc2FibGU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGUgPSBnID0gW10sIGYgPSBjID0gIiIsIHRoaXMKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgcmV0dXJuICFmCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGxvY2s6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGUgPSAhMCwgYyB8fCBqLmRpc2FibGUoKSwgdGhpcwogICAgICAgICAgICB9LAogICAgICAgICAgICBsb2NrZWQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgcmV0dXJuICEhZQogICAgICAgICAgICB9LAogICAgICAgICAgICBmaXJlV2l0aDogZnVuY3Rpb24gKGEsIGMpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGUgfHwgKGMgPSBjIHx8IFtdLCBjID0gW2EsIGMuc2xpY2UgPyBjLnNsaWNlKCkgOiBjXSwgZy5wdXNoKGMpLCBiIHx8IGkoKSksIHRoaXMKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZmlyZTogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gai5maXJlV2l0aCh0aGlzLCBhcmd1bWVudHMpLCB0aGlzCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGZpcmVkOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHJldHVybiAhIWQKICAgICAgICAgICAgfQogICAgICAgICB9OwogICAgICByZXR1cm4gagogICB9LCBuLmV4dGVuZCh7CiAgICAgIERlZmVycmVkOiBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYiA9IFsKICAgICAgICAgICAgICAgWyJyZXNvbHZlIiwgImRvbmUiLCBuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwgInJlc29sdmVkIl0sCiAgICAgICAgICAgICAgIFsicmVqZWN0IiwgImZhaWwiLCBuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwgInJlamVjdGVkIl0sCiAgICAgICAgICAgICAgIFsibm90aWZ5IiwgInByb2dyZXNzIiwgbi5DYWxsYmFja3MoIm1lbW9yeSIpXQogICAgICAgICAgICBdLAogICAgICAgICAgICBjID0gInBlbmRpbmciLAogICAgICAgICAgICBkID0gewogICAgICAgICAgICAgICBzdGF0ZTogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICByZXR1cm4gYwogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICBhbHdheXM6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSwgdGhpcwogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICB0aGVuOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgIHZhciBhID0gYXJndW1lbnRzOwogICAgICAgICAgICAgICAgICByZXR1cm4gbi5EZWZlcnJlZChmdW5jdGlvbiAoYykgewogICAgICAgICAgICAgICAgICAgICBuLmVhY2goYiwgZnVuY3Rpb24gKGIsIGYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGcgPSBuLmlzRnVuY3Rpb24oYVtiXSkgJiYgYVtiXTsKICAgICAgICAgICAgICAgICAgICAgICAgZVtmWzFdXShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhID0gZyAmJiBnLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgJiYgbi5pc0Z1bmN0aW9uKGEucHJvbWlzZSkgPyBhLnByb21pc2UoKS5wcm9ncmVzcyhjLm5vdGlmeSkuZG9uZShjLnJlc29sdmUpLmZhaWwoYy5yZWplY3QpIDogY1tmWzBdICsgIldpdGgiXSh0aGlzID09PSBkID8gYy5wcm9taXNlKCkgOiB0aGlzLCBnID8gW2FdIDogYXJndW1lbnRzKQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICB9KSwgYSA9IG51bGwKICAgICAgICAgICAgICAgICAgfSkucHJvbWlzZSgpCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIHByb21pc2U6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsICE9IGEgPyBuLmV4dGVuZChhLCBkKSA6IGQKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBlID0ge307CiAgICAgICAgIHJldHVybiBkLnBpcGUgPSBkLnRoZW4sIG4uZWFjaChiLCBmdW5jdGlvbiAoYSwgZikgewogICAgICAgICAgICB2YXIgZyA9IGZbMl0sCiAgICAgICAgICAgICAgIGggPSBmWzNdOwogICAgICAgICAgICBkW2ZbMV1dID0gZy5hZGQsIGggJiYgZy5hZGQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICBjID0gaAogICAgICAgICAgICB9LCBiWzEgXiBhXVsyXS5kaXNhYmxlLCBiWzJdWzJdLmxvY2spLCBlW2ZbMF1dID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gZVtmWzBdICsgIldpdGgiXSh0aGlzID09PSBlID8gZCA6IHRoaXMsIGFyZ3VtZW50cyksIHRoaXMKICAgICAgICAgICAgfSwgZVtmWzBdICsgIldpdGgiXSA9IGcuZmlyZVdpdGgKICAgICAgICAgfSksIGQucHJvbWlzZShlKSwgYSAmJiBhLmNhbGwoZSwgZSksIGUKICAgICAgfSwKICAgICAgd2hlbjogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgdmFyIGIgPSAwLAogICAgICAgICAgICBjID0gZS5jYWxsKGFyZ3VtZW50cyksCiAgICAgICAgICAgIGQgPSBjLmxlbmd0aCwKICAgICAgICAgICAgZiA9IDEgIT09IGQgfHwgYSAmJiBuLmlzRnVuY3Rpb24oYS5wcm9taXNlKSA/IGQgOiAwLAogICAgICAgICAgICBnID0gMSA9PT0gZiA/IGEgOiBuLkRlZmVycmVkKCksCiAgICAgICAgICAgIGggPSBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGQpIHsKICAgICAgICAgICAgICAgICAgYlthXSA9IHRoaXMsIGNbYV0gPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGUuY2FsbChhcmd1bWVudHMpIDogZCwgYyA9PT0gaSA/IGcubm90aWZ5V2l0aChiLCBjKSA6IC0tZiB8fCBnLnJlc29sdmVXaXRoKGIsIGMpCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgaSwgaiwgazsKICAgICAgICAgaWYgKGQgPiAxKQogICAgICAgICAgICBmb3IgKGkgPSBuZXcgQXJyYXkoZCksIGogPSBuZXcgQXJyYXkoZCksIGsgPSBuZXcgQXJyYXkoZCk7IGQgPiBiOyBiKyspIGNbYl0gJiYgbi5pc0Z1bmN0aW9uKGNbYl0ucHJvbWlzZSkgPyBjW2JdLnByb21pc2UoKS5wcm9ncmVzcyhoKGIsIGosIGkpKS5kb25lKGgoYiwgaywgYykpLmZhaWwoZy5yZWplY3QpIDogLS1mOwogICAgICAgICByZXR1cm4gZiB8fCBnLnJlc29sdmVXaXRoKGssIGMpLCBnLnByb21pc2UoKQogICAgICB9CiAgIH0pOwogICB2YXIgSTsKICAgbi5mbi5yZWFkeSA9IGZ1bmN0aW9uIChhKSB7CiAgICAgIHJldHVybiBuLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLCB0aGlzCiAgIH0sIG4uZXh0ZW5kKHsKICAgICAgaXNSZWFkeTogITEsCiAgICAgIHJlYWR5V2FpdDogMSwKICAgICAgaG9sZFJlYWR5OiBmdW5jdGlvbiAoYSkgewogICAgICAgICBhID8gbi5yZWFkeVdhaXQrKyA6IG4ucmVhZHkoITApCiAgICAgIH0sCiAgICAgIHJlYWR5OiBmdW5jdGlvbiAoYSkgewogICAgICAgICAoYSA9PT0gITAgPyAtLW4ucmVhZHlXYWl0IDogbi5pc1JlYWR5KSB8fCAobi5pc1JlYWR5ID0gITAsIGEgIT09ICEwICYmIC0tbi5yZWFkeVdhaXQgPiAwIHx8IChJLnJlc29sdmVXaXRoKGQsIFtuXSksIG4uZm4udHJpZ2dlckhhbmRsZXIgJiYgKG4oZCkudHJpZ2dlckhhbmRsZXIoInJlYWR5IiksIG4oZCkub2ZmKCJyZWFkeSIpKSkpCiAgICAgIH0KICAgfSk7CgogICBmdW5jdGlvbiBKKCkgewogICAgICBkLmFkZEV2ZW50TGlzdGVuZXIgPyAoZC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgSyksIGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsIEspKSA6IChkLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLCBLKSwgYS5kZXRhY2hFdmVudCgib25sb2FkIiwgSykpCiAgIH0KCiAgIGZ1bmN0aW9uIEsoKSB7CiAgICAgIChkLmFkZEV2ZW50TGlzdGVuZXIgfHwgImxvYWQiID09PSBhLmV2ZW50LnR5cGUgfHwgImNvbXBsZXRlIiA9PT0gZC5yZWFkeVN0YXRlKSAmJiAoSigpLCBuLnJlYWR5KCkpCiAgIH0KICAgbi5yZWFkeS5wcm9taXNlID0gZnVuY3Rpb24gKGIpIHsKICAgICAgaWYgKCFJKQogICAgICAgICBpZiAoSSA9IG4uRGVmZXJyZWQoKSwgImNvbXBsZXRlIiA9PT0gZC5yZWFkeVN0YXRlIHx8ICJsb2FkaW5nIiAhPT0gZC5yZWFkeVN0YXRlICYmICFkLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCkgYS5zZXRUaW1lb3V0KG4ucmVhZHkpOwogICAgICAgICBlbHNlIGlmIChkLmFkZEV2ZW50TGlzdGVuZXIpIGQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIEspLCBhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBLKTsKICAgICAgZWxzZSB7CiAgICAgICAgIGQuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsIEspLCBhLmF0dGFjaEV2ZW50KCJvbmxvYWQiLCBLKTsKICAgICAgICAgdmFyIGMgPSAhMTsKICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgYyA9IG51bGwgPT0gYS5mcmFtZUVsZW1lbnQgJiYgZC5kb2N1bWVudEVsZW1lbnQKICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgYyAmJiBjLmRvU2Nyb2xsICYmICEgZnVuY3Rpb24gZigpIHsKICAgICAgICAgICAgaWYgKCFuLmlzUmVhZHkpIHsKICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgYy5kb1Njcm9sbCgibGVmdCIpCiAgICAgICAgICAgICAgIH0gY2F0Y2ggKGIpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGEuc2V0VGltZW91dChmLCA1MCkKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBKKCksIG4ucmVhZHkoKQogICAgICAgICAgICB9CiAgICAgICAgIH0oKQogICAgICB9CiAgICAgIHJldHVybiBJLnByb21pc2UoYikKICAgfSwgbi5yZWFkeS5wcm9taXNlKCk7CiAgIHZhciBMOwogICBmb3IgKEwgaW4gbihsKSkgYnJlYWs7CiAgIGwub3duRmlyc3QgPSAiMCIgPT09IEwsIGwuaW5saW5lQmxvY2tOZWVkc0xheW91dCA9ICExLCBuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIGEsIGIsIGMsIGU7CiAgICAgICAgIGMgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sIGMgJiYgYy5zdHlsZSAmJiAoYiA9IGQuY3JlYXRlRWxlbWVudCgiZGl2IiksIGUgPSBkLmNyZWF0ZUVsZW1lbnQoImRpdiIpLCBlLnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLCBjLmFwcGVuZENoaWxkKGUpLmFwcGVuZENoaWxkKGIpLCAidW5kZWZpbmVkIiAhPSB0eXBlb2YgYi5zdHlsZS56b29tICYmIChiLnN0eWxlLmNzc1RleHQgPSAiZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsIGwuaW5saW5lQmxvY2tOZWVkc0xheW91dCA9IGEgPSAzID09PSBiLm9mZnNldFdpZHRoLCBhICYmIChjLnN0eWxlLnpvb20gPSAxKSksIGMucmVtb3ZlQ2hpbGQoZSkpCiAgICAgIH0pLAogICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHZhciBhID0gZC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgbC5kZWxldGVFeHBhbmRvID0gITA7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGRlbGV0ZSBhLnRlc3QKICAgICAgICAgfSBjYXRjaCAoYikgewogICAgICAgICAgICBsLmRlbGV0ZUV4cGFuZG8gPSAhMQogICAgICAgICB9CiAgICAgICAgIGEgPSBudWxsCiAgICAgIH0oKTsKICAgdmFyIE0gPSBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYiA9IG4ubm9EYXRhWyhhLm5vZGVOYW1lICsgIiAiKS50b0xvd2VyQ2FzZSgpXSwKICAgICAgICAgICAgYyA9ICthLm5vZGVUeXBlIHx8IDE7CiAgICAgICAgIHJldHVybiAxICE9PSBjICYmIDkgIT09IGMgPyAhMSA6ICFiIHx8IGIgIT09ICEwICYmIGEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIikgPT09IGIKICAgICAgfSwKICAgICAgTiA9IC9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sCiAgICAgIE8gPSAvKFtBLVpdKS9nOwoKICAgZnVuY3Rpb24gUChhLCBiLCBjKSB7CiAgICAgIGlmICh2b2lkIDAgPT09IGMgJiYgMSA9PT0gYS5ub2RlVHlwZSkgewogICAgICAgICB2YXIgZCA9ICJkYXRhLSIgKyBiLnJlcGxhY2UoTywgIi0kMSIpLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgIGlmIChjID0gYS5nZXRBdHRyaWJ1dGUoZCksICJzdHJpbmciID09IHR5cGVvZiBjKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgIGMgPSAidHJ1ZSIgPT09IGMgPyAhMCA6ICJmYWxzZSIgPT09IGMgPyAhMSA6ICJudWxsIiA9PT0gYyA/IG51bGwgOiArYyArICIiID09PSBjID8gK2MgOiBOLnRlc3QoYykgPyBuLnBhcnNlSlNPTihjKSA6IGMKICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgbi5kYXRhKGEsIGIsIGMpCiAgICAgICAgIH0gZWxzZSBjID0gdm9pZCAwOwogICAgICB9CiAgICAgIHJldHVybiBjCiAgIH0KCiAgIGZ1bmN0aW9uIFEoYSkgewogICAgICB2YXIgYjsKICAgICAgZm9yIChiIGluIGEpCiAgICAgICAgIGlmICgoImRhdGEiICE9PSBiIHx8ICFuLmlzRW1wdHlPYmplY3QoYVtiXSkpICYmICJ0b0pTT04iICE9PSBiKSByZXR1cm4gITE7CiAgICAgIHJldHVybiAhMAogICB9CgogICBmdW5jdGlvbiBSKGEsIGIsIGQsIGUpIHsKICAgICAgaWYgKE0oYSkpIHsKICAgICAgICAgdmFyIGYsIGcsIGggPSBuLmV4cGFuZG8sCiAgICAgICAgICAgIGkgPSBhLm5vZGVUeXBlLAogICAgICAgICAgICBqID0gaSA/IG4uY2FjaGUgOiBhLAogICAgICAgICAgICBrID0gaSA/IGFbaF0gOiBhW2hdICYmIGg7CiAgICAgICAgIGlmIChrICYmIGpba10gJiYgKGUgfHwgaltrXS5kYXRhKSB8fCB2b2lkIDAgIT09IGQgfHwgInN0cmluZyIgIT0gdHlwZW9mIGIpIHJldHVybiBrIHx8IChrID0gaSA/IGFbaF0gPSBjLnBvcCgpIHx8IG4uZ3VpZCsrIDogaCksIGpba10gfHwgKGpba10gPSBpID8ge30gOiB7CiAgICAgICAgICAgIHRvSlNPTjogbi5ub29wCiAgICAgICAgIH0pLCAib2JqZWN0IiAhPSB0eXBlb2YgYiAmJiAiZnVuY3Rpb24iICE9IHR5cGVvZiBiIHx8IChlID8galtrXSA9IG4uZXh0ZW5kKGpba10sIGIpIDogaltrXS5kYXRhID0gbi5leHRlbmQoaltrXS5kYXRhLCBiKSksIGcgPSBqW2tdLCBlIHx8IChnLmRhdGEgfHwgKGcuZGF0YSA9IHt9KSwgZyA9IGcuZGF0YSksIHZvaWQgMCAhPT0gZCAmJiAoZ1tuLmNhbWVsQ2FzZShiKV0gPSBkKSwgInN0cmluZyIgPT0gdHlwZW9mIGIgPyAoZiA9IGdbYl0sIG51bGwgPT0gZiAmJiAoZiA9IGdbbi5jYW1lbENhc2UoYildKSkgOiBmID0gZywgZgogICAgICB9CiAgIH0KCiAgIGZ1bmN0aW9uIFMoYSwgYiwgYykgewogICAgICBpZiAoTShhKSkgewogICAgICAgICB2YXIgZCwgZSwgZiA9IGEubm9kZVR5cGUsCiAgICAgICAgICAgIGcgPSBmID8gbi5jYWNoZSA6IGEsCiAgICAgICAgICAgIGggPSBmID8gYVtuLmV4cGFuZG9dIDogbi5leHBhbmRvOwogICAgICAgICBpZiAoZ1toXSkgewogICAgICAgICAgICBpZiAoYiAmJiAoZCA9IGMgPyBnW2hdIDogZ1toXS5kYXRhKSkgewogICAgICAgICAgICAgICBuLmlzQXJyYXkoYikgPyBiID0gYi5jb25jYXQobi5tYXAoYiwgbi5jYW1lbENhc2UpKSA6IGIgaW4gZCA/IGIgPSBbYl0gOiAoYiA9IG4uY2FtZWxDYXNlKGIpLCBiID0gYiBpbiBkID8gW2JdIDogYi5zcGxpdCgiICIpKSwgZSA9IGIubGVuZ3RoOwogICAgICAgICAgICAgICB3aGlsZSAoZS0tKSBkZWxldGUgZFtiW2VdXTsKICAgICAgICAgICAgICAgaWYgKGMgPyAhUShkKSA6ICFuLmlzRW1wdHlPYmplY3QoZCkpIHJldHVybgogICAgICAgICAgICB9KGMgfHwgKGRlbGV0ZSBnW2hdLmRhdGEsIFEoZ1toXSkpKSAmJiAoZiA/IG4uY2xlYW5EYXRhKFthXSwgITApIDogbC5kZWxldGVFeHBhbmRvIHx8IGcgIT0gZy53aW5kb3cgPyBkZWxldGUgZ1toXSA6IGdbaF0gPSB2b2lkIDApCiAgICAgICAgIH0KICAgICAgfQogICB9CiAgIG4uZXh0ZW5kKHsKICAgICAgICAgY2FjaGU6IHt9LAogICAgICAgICBub0RhdGE6IHsKICAgICAgICAgICAgImFwcGxldCAiOiAhMCwKICAgICAgICAgICAgImVtYmVkICI6ICEwLAogICAgICAgICAgICAib2JqZWN0ICI6ICJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiCiAgICAgICAgIH0sCiAgICAgICAgIGhhc0RhdGE6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHJldHVybiBhID0gYS5ub2RlVHlwZSA/IG4uY2FjaGVbYVtuLmV4cGFuZG9dXSA6IGFbbi5leHBhbmRvXSwgISFhICYmICFRKGEpCiAgICAgICAgIH0sCiAgICAgICAgIGRhdGE6IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIHJldHVybiBSKGEsIGIsIGMpCiAgICAgICAgIH0sCiAgICAgICAgIHJlbW92ZURhdGE6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBTKGEsIGIpCiAgICAgICAgIH0sCiAgICAgICAgIF9kYXRhOiBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICAgICByZXR1cm4gUihhLCBiLCBjLCAhMCkKICAgICAgICAgfSwKICAgICAgICAgX3JlbW92ZURhdGE6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBTKGEsIGIsICEwKQogICAgICAgICB9CiAgICAgIH0pLCBuLmZuLmV4dGVuZCh7CiAgICAgICAgIGRhdGE6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHZhciBjLCBkLCBlLCBmID0gdGhpc1swXSwKICAgICAgICAgICAgICAgZyA9IGYgJiYgZi5hdHRyaWJ1dGVzOwogICAgICAgICAgICBpZiAodm9pZCAwID09PSBhKSB7CiAgICAgICAgICAgICAgIGlmICh0aGlzLmxlbmd0aCAmJiAoZSA9IG4uZGF0YShmKSwgMSA9PT0gZi5ub2RlVHlwZSAmJiAhbi5fZGF0YShmLCAicGFyc2VkQXR0cnMiKSkpIHsKICAgICAgICAgICAgICAgICAgYyA9IGcubGVuZ3RoOwogICAgICAgICAgICAgICAgICB3aGlsZSAoYy0tKSBnW2NdICYmIChkID0gZ1tjXS5uYW1lLCAwID09PSBkLmluZGV4T2YoImRhdGEtIikgJiYgKGQgPSBuLmNhbWVsQ2FzZShkLnNsaWNlKDUpKSwgUChmLCBkLCBlW2RdKSkpOwogICAgICAgICAgICAgICAgICBuLl9kYXRhKGYsICJwYXJzZWRBdHRycyIsICEwKQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICJvYmplY3QiID09IHR5cGVvZiBhID8gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgbi5kYXRhKHRoaXMsIGEpCiAgICAgICAgICAgIH0pIDogYXJndW1lbnRzLmxlbmd0aCA+IDEgPyB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICBuLmRhdGEodGhpcywgYSwgYikKICAgICAgICAgICAgfSkgOiBmID8gUChmLCBhLCBuLmRhdGEoZiwgYSkpIDogdm9pZCAwCiAgICAgICAgIH0sCiAgICAgICAgIHJlbW92ZURhdGE6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICBuLnJlbW92ZURhdGEodGhpcywgYSkKICAgICAgICAgICAgfSkKICAgICAgICAgfQogICAgICB9KSwgbi5leHRlbmQoewogICAgICAgICBxdWV1ZTogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgICAgdmFyIGQ7CiAgICAgICAgICAgIHJldHVybiBhID8gKGIgPSAoYiB8fCAiZngiKSArICJxdWV1ZSIsIGQgPSBuLl9kYXRhKGEsIGIpLCBjICYmICghZCB8fCBuLmlzQXJyYXkoYykgPyBkID0gbi5fZGF0YShhLCBiLCBuLm1ha2VBcnJheShjKSkgOiBkLnB1c2goYykpLCBkIHx8IFtdKSA6IHZvaWQgMAogICAgICAgICB9LAogICAgICAgICBkZXF1ZXVlOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICBiID0gYiB8fCAiZngiOwogICAgICAgICAgICB2YXIgYyA9IG4ucXVldWUoYSwgYiksCiAgICAgICAgICAgICAgIGQgPSBjLmxlbmd0aCwKICAgICAgICAgICAgICAgZSA9IGMuc2hpZnQoKSwKICAgICAgICAgICAgICAgZiA9IG4uX3F1ZXVlSG9va3MoYSwgYiksCiAgICAgICAgICAgICAgIGcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgIG4uZGVxdWV1ZShhLCBiKQogICAgICAgICAgICAgICB9OwogICAgICAgICAgICAiaW5wcm9ncmVzcyIgPT09IGUgJiYgKGUgPSBjLnNoaWZ0KCksIGQtLSksIGUgJiYgKCJmeCIgPT09IGIgJiYgYy51bnNoaWZ0KCJpbnByb2dyZXNzIiksIGRlbGV0ZSBmLnN0b3AsIGUuY2FsbChhLCBnLCBmKSksICFkICYmIGYgJiYgZi5lbXB0eS5maXJlKCkKICAgICAgICAgfSwKICAgICAgICAgX3F1ZXVlSG9va3M6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHZhciBjID0gYiArICJxdWV1ZUhvb2tzIjsKICAgICAgICAgICAgcmV0dXJuIG4uX2RhdGEoYSwgYykgfHwgbi5fZGF0YShhLCBjLCB7CiAgICAgICAgICAgICAgIGVtcHR5OiBuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICBuLl9yZW1vdmVEYXRhKGEsIGIgKyAicXVldWUiKSwgbi5fcmVtb3ZlRGF0YShhLCBjKQogICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgICB9CiAgICAgIH0pLCBuLmZuLmV4dGVuZCh7CiAgICAgICAgIHF1ZXVlOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICB2YXIgYyA9IDI7CiAgICAgICAgICAgIHJldHVybiAic3RyaW5nIiAhPSB0eXBlb2YgYSAmJiAoYiA9IGEsIGEgPSAiZngiLCBjLS0pLCBhcmd1bWVudHMubGVuZ3RoIDwgYyA/IG4ucXVldWUodGhpc1swXSwgYSkgOiB2b2lkIDAgPT09IGIgPyB0aGlzIDogdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgdmFyIGMgPSBuLnF1ZXVlKHRoaXMsIGEsIGIpOwogICAgICAgICAgICAgICBuLl9xdWV1ZUhvb2tzKHRoaXMsIGEpLCAiZngiID09PSBhICYmICJpbnByb2dyZXNzIiAhPT0gY1swXSAmJiBuLmRlcXVldWUodGhpcywgYSkKICAgICAgICAgICAgfSkKICAgICAgICAgfSwKICAgICAgICAgZGVxdWV1ZTogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIG4uZGVxdWV1ZSh0aGlzLCBhKQogICAgICAgICAgICB9KQogICAgICAgICB9LAogICAgICAgICBjbGVhclF1ZXVlOiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5xdWV1ZShhIHx8ICJmeCIsIFtdKQogICAgICAgICB9LAogICAgICAgICBwcm9taXNlOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICB2YXIgYywgZCA9IDEsCiAgICAgICAgICAgICAgIGUgPSBuLkRlZmVycmVkKCksCiAgICAgICAgICAgICAgIGYgPSB0aGlzLAogICAgICAgICAgICAgICBnID0gdGhpcy5sZW5ndGgsCiAgICAgICAgICAgICAgIGggPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgIC0tZCB8fCBlLnJlc29sdmVXaXRoKGYsIFtmXSkKICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgInN0cmluZyIgIT0gdHlwZW9mIGEgJiYgKGIgPSBhLCBhID0gdm9pZCAwKSwgYSA9IGEgfHwgImZ4IjsKICAgICAgICAgICAgd2hpbGUgKGctLSkgYyA9IG4uX2RhdGEoZltnXSwgYSArICJxdWV1ZUhvb2tzIiksIGMgJiYgYy5lbXB0eSAmJiAoZCsrLCBjLmVtcHR5LmFkZChoKSk7CiAgICAgICAgICAgIHJldHVybiBoKCksIGUucHJvbWlzZShiKQogICAgICAgICB9CiAgICAgIH0pLAogICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHZhciBhOwogICAgICAgICBsLnNocmlua1dyYXBCbG9ja3MgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmIChudWxsICE9IGEpIHJldHVybiBhOwogICAgICAgICAgICBhID0gITE7CiAgICAgICAgICAgIHZhciBiLCBjLCBlOwogICAgICAgICAgICByZXR1cm4gYyA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSwgYyAmJiBjLnN0eWxlID8gKGIgPSBkLmNyZWF0ZUVsZW1lbnQoImRpdiIpLCBlID0gZC5jcmVhdGVFbGVtZW50KCJkaXYiKSwgZS5zdHlsZS5jc3NUZXh0ID0gInBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IiwgYy5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZChiKSwgInVuZGVmaW5lZCIgIT0gdHlwZW9mIGIuc3R5bGUuem9vbSAmJiAoYi5zdHlsZS5jc3NUZXh0ID0gIi13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLCBiLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpLnN0eWxlLndpZHRoID0gIjVweCIsIGEgPSAzICE9PSBiLm9mZnNldFdpZHRoKSwgYy5yZW1vdmVDaGlsZChlKSwgYSkgOiB2b2lkIDAKICAgICAgICAgfQogICAgICB9KCk7CiAgIHZhciBUID0gL1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsCiAgICAgIFUgPSBuZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIgKyBUICsgIikoW2EteiVdKikkIiwgImkiKSwKICAgICAgViA9IFsiVG9wIiwgIlJpZ2h0IiwgIkJvdHRvbSIsICJMZWZ0Il0sCiAgICAgIFcgPSBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICByZXR1cm4gYSA9IGIgfHwgYSwgIm5vbmUiID09PSBuLmNzcyhhLCAiZGlzcGxheSIpIHx8ICFuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCwgYSkKICAgICAgfTsKCiAgIGZ1bmN0aW9uIFgoYSwgYiwgYywgZCkgewogICAgICB2YXIgZSwgZiA9IDEsCiAgICAgICAgIGcgPSAyMCwKICAgICAgICAgaCA9IGQgPyBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBkLmN1cigpCiAgICAgICAgIH0gOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBuLmNzcyhhLCBiLCAiIikKICAgICAgICAgfSwKICAgICAgICAgaSA9IGgoKSwKICAgICAgICAgaiA9IGMgJiYgY1szXSB8fCAobi5jc3NOdW1iZXJbYl0gPyAiIiA6ICJweCIpLAogICAgICAgICBrID0gKG4uY3NzTnVtYmVyW2JdIHx8ICJweCIgIT09IGogJiYgK2kpICYmIFUuZXhlYyhuLmNzcyhhLCBiKSk7CiAgICAgIGlmIChrICYmIGtbM10gIT09IGopIHsKICAgICAgICAgaiA9IGogfHwga1szXSwgYyA9IGMgfHwgW10sIGsgPSAraSB8fCAxOwogICAgICAgICBkbyBmID0gZiB8fCAiLjUiLCBrIC89IGYsIG4uc3R5bGUoYSwgYiwgayArIGopOyB3aGlsZSAoZiAhPT0gKGYgPSBoKCkgLyBpKSAmJiAxICE9PSBmICYmIC0tZykKICAgICAgfQogICAgICByZXR1cm4gYyAmJiAoayA9ICtrIHx8ICtpIHx8IDAsIGUgPSBjWzFdID8gayArIChjWzFdICsgMSkgKiBjWzJdIDogK2NbMl0sIGQgJiYgKGQudW5pdCA9IGosIGQuc3RhcnQgPSBrLCBkLmVuZCA9IGUpKSwgZQogICB9CiAgIHZhciBZID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQsIGUsIGYsIGcpIHsKICAgICAgICAgdmFyIGggPSAwLAogICAgICAgICAgICBpID0gYS5sZW5ndGgsCiAgICAgICAgICAgIGogPSBudWxsID09IGM7CiAgICAgICAgIGlmICgib2JqZWN0IiA9PT0gbi50eXBlKGMpKSB7CiAgICAgICAgICAgIGUgPSAhMDsKICAgICAgICAgICAgZm9yIChoIGluIGMpIFkoYSwgYiwgaCwgY1toXSwgITAsIGYsIGcpCiAgICAgICAgIH0gZWxzZSBpZiAodm9pZCAwICE9PSBkICYmIChlID0gITAsIG4uaXNGdW5jdGlvbihkKSB8fCAoZyA9ICEwKSwgaiAmJiAoZyA/IChiLmNhbGwoYSwgZCksIGIgPSBudWxsKSA6IChqID0gYiwgYiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgICAgIHJldHVybiBqLmNhbGwobihhKSwgYykKICAgICAgICAgICAgfSkpLCBiKSkKICAgICAgICAgICAgZm9yICg7IGkgPiBoOyBoKyspIGIoYVtoXSwgYywgZyA/IGQgOiBkLmNhbGwoYVtoXSwgaCwgYihhW2hdLCBjKSkpOwogICAgICAgICByZXR1cm4gZSA/IGEgOiBqID8gYi5jYWxsKGEpIDogaSA/IGIoYVswXSwgYykgOiBmCiAgICAgIH0sCiAgICAgIFogPSAvXig/OmNoZWNrYm94fHJhZGlvKSQvaSwKICAgICAgJCA9IC88KFtcdzotXSspLywKICAgICAgXyA9IC9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSwKICAgICAgYWEgPSAvXlxzKy8sCiAgICAgIGJhID0gImFiYnJ8YXJ0aWNsZXxhc2lkZXxhdWRpb3xiZGl8Y2FudmFzfGRhdGF8ZGF0YWxpc3R8ZGV0YWlsc3xkaWFsb2d8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFpbnxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8cGljdHVyZXxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGVtcGxhdGV8dGltZXx2aWRlbyI7CgogICBmdW5jdGlvbiBjYShhKSB7CiAgICAgIHZhciBiID0gYmEuc3BsaXQoInwiKSwKICAgICAgICAgYyA9IGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwogICAgICBpZiAoYy5jcmVhdGVFbGVtZW50KQogICAgICAgICB3aGlsZSAoYi5sZW5ndGgpIGMuY3JlYXRlRWxlbWVudChiLnBvcCgpKTsKICAgICAgcmV0dXJuIGMKICAgfSEgZnVuY3Rpb24gKCkgewogICAgICB2YXIgYSA9IGQuY3JlYXRlRWxlbWVudCgiZGl2IiksCiAgICAgICAgIGIgPSBkLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSwKICAgICAgICAgYyA9IGQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKICAgICAgYS5pbm5lckhUTUwgPSAiICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IiwgbC5sZWFkaW5nV2hpdGVzcGFjZSA9IDMgPT09IGEuZmlyc3RDaGlsZC5ub2RlVHlwZSwgbC50Ym9keSA9ICFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCwgbC5odG1sU2VyaWFsaXplID0gISFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLCBsLmh0bWw1Q2xvbmUgPSAiPDpuYXY+PC86bmF2PiIgIT09IGQuY3JlYXRlRWxlbWVudCgibmF2IikuY2xvbmVOb2RlKCEwKS5vdXRlckhUTUwsIGMudHlwZSA9ICJjaGVja2JveCIsIGMuY2hlY2tlZCA9ICEwLCBiLmFwcGVuZENoaWxkKGMpLCBsLmFwcGVuZENoZWNrZWQgPSBjLmNoZWNrZWQsIGEuaW5uZXJIVE1MID0gIjx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iLCBsLm5vQ2xvbmVDaGVja2VkID0gISFhLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSwgYi5hcHBlbmRDaGlsZChhKSwgYyA9IGQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSwgYy5zZXRBdHRyaWJ1dGUoInR5cGUiLCAicmFkaW8iKSwgYy5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiY2hlY2tlZCIpLCBjLnNldEF0dHJpYnV0ZSgibmFtZSIsICJ0IiksIGEuYXBwZW5kQ2hpbGQoYyksIGwuY2hlY2tDbG9uZSA9IGEuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLCBsLm5vQ2xvbmVFdmVudCA9ICEhYS5hZGRFdmVudExpc3RlbmVyLCBhW24uZXhwYW5kb10gPSAxLCBsLmF0dHJpYnV0ZXMgPSAhYS5nZXRBdHRyaWJ1dGUobi5leHBhbmRvKQogICB9KCk7CiAgIHZhciBkYSA9IHsKICAgICAgb3B0aW9uOiBbMSwgIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCAiPC9zZWxlY3Q+Il0sCiAgICAgIGxlZ2VuZDogWzEsICI8ZmllbGRzZXQ+IiwgIjwvZmllbGRzZXQ+Il0sCiAgICAgIGFyZWE6IFsxLCAiPG1hcD4iLCAiPC9tYXA+Il0sCiAgICAgIHBhcmFtOiBbMSwgIjxvYmplY3Q+IiwgIjwvb2JqZWN0PiJdLAogICAgICB0aGVhZDogWzEsICI8dGFibGU+IiwgIjwvdGFibGU+Il0sCiAgICAgIHRyOiBbMiwgIjx0YWJsZT48dGJvZHk+IiwgIjwvdGJvZHk+PC90YWJsZT4iXSwKICAgICAgY29sOiBbMiwgIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwgIjwvY29sZ3JvdXA+PC90YWJsZT4iXSwKICAgICAgdGQ6IFszLCAiPHRhYmxlPjx0Ym9keT48dHI+IiwgIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLAogICAgICBfZGVmYXVsdDogbC5odG1sU2VyaWFsaXplID8gWzAsICIiLCAiIl0gOiBbMSwgIlg8ZGl2PiIsICI8L2Rpdj4iXQogICB9OwogICBkYS5vcHRncm91cCA9IGRhLm9wdGlvbiwgZGEudGJvZHkgPSBkYS50Zm9vdCA9IGRhLmNvbGdyb3VwID0gZGEuY2FwdGlvbiA9IGRhLnRoZWFkLCBkYS50aCA9IGRhLnRkOwoKICAgZnVuY3Rpb24gZWEoYSwgYikgewogICAgICB2YXIgYywgZCwgZSA9IDAsCiAgICAgICAgIGYgPSAidW5kZWZpbmVkIiAhPSB0eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZSA/IGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYiB8fCAiKiIpIDogInVuZGVmaW5lZCIgIT0gdHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCA/IGEucXVlcnlTZWxlY3RvckFsbChiIHx8ICIqIikgOiB2b2lkIDA7CiAgICAgIGlmICghZikKICAgICAgICAgZm9yIChmID0gW10sIGMgPSBhLmNoaWxkTm9kZXMgfHwgYTsgbnVsbCAhPSAoZCA9IGNbZV0pOyBlKyspICFiIHx8IG4ubm9kZU5hbWUoZCwgYikgPyBmLnB1c2goZCkgOiBuLm1lcmdlKGYsIGVhKGQsIGIpKTsKICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gYiB8fCBiICYmIG4ubm9kZU5hbWUoYSwgYikgPyBuLm1lcmdlKFthXSwgZikgOiBmCiAgIH0KCiAgIGZ1bmN0aW9uIGZhKGEsIGIpIHsKICAgICAgZm9yICh2YXIgYywgZCA9IDA7IG51bGwgIT0gKGMgPSBhW2RdKTsgZCsrKSBuLl9kYXRhKGMsICJnbG9iYWxFdmFsIiwgIWIgfHwgbi5fZGF0YShiW2RdLCAiZ2xvYmFsRXZhbCIpKQogICB9CiAgIHZhciBnYSA9IC88fCYjP1x3KzsvLAogICAgICBoYSA9IC88dGJvZHkvaTsKCiAgIGZ1bmN0aW9uIGlhKGEpIHsKICAgICAgWi50ZXN0KGEudHlwZSkgJiYgKGEuZGVmYXVsdENoZWNrZWQgPSBhLmNoZWNrZWQpCiAgIH0KCiAgIGZ1bmN0aW9uIGphKGEsIGIsIGMsIGQsIGUpIHsKICAgICAgZm9yICh2YXIgZiwgZywgaCwgaSwgaiwgaywgbSwgbyA9IGEubGVuZ3RoLCBwID0gY2EoYiksIHEgPSBbXSwgciA9IDA7IG8gPiByOyByKyspCiAgICAgICAgIGlmIChnID0gYVtyXSwgZyB8fCAwID09PSBnKQogICAgICAgICAgICBpZiAoIm9iamVjdCIgPT09IG4udHlwZShnKSkgbi5tZXJnZShxLCBnLm5vZGVUeXBlID8gW2ddIDogZyk7CiAgICAgICAgICAgIGVsc2UgaWYgKGdhLnRlc3QoZykpIHsKICAgICAgICAgaSA9IGkgfHwgcC5hcHBlbmRDaGlsZChiLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSwgaiA9ICgkLmV4ZWMoZykgfHwgWyIiLCAiIl0pWzFdLnRvTG93ZXJDYXNlKCksIG0gPSBkYVtqXSB8fCBkYS5fZGVmYXVsdCwgaS5pbm5lckhUTUwgPSBtWzFdICsgbi5odG1sUHJlZmlsdGVyKGcpICsgbVsyXSwgZiA9IG1bMF07CiAgICAgICAgIHdoaWxlIChmLS0pIGkgPSBpLmxhc3RDaGlsZDsKICAgICAgICAgaWYgKCFsLmxlYWRpbmdXaGl0ZXNwYWNlICYmIGFhLnRlc3QoZykgJiYgcS5wdXNoKGIuY3JlYXRlVGV4dE5vZGUoYWEuZXhlYyhnKVswXSkpLCAhbC50Ym9keSkgewogICAgICAgICAgICBnID0gInRhYmxlIiAhPT0gaiB8fCBoYS50ZXN0KGcpID8gIjx0YWJsZT4iICE9PSBtWzFdIHx8IGhhLnRlc3QoZykgPyAwIDogaSA6IGkuZmlyc3RDaGlsZCwgZiA9IGcgJiYgZy5jaGlsZE5vZGVzLmxlbmd0aDsKICAgICAgICAgICAgd2hpbGUgKGYtLSkgbi5ub2RlTmFtZShrID0gZy5jaGlsZE5vZGVzW2ZdLCAidGJvZHkiKSAmJiAhay5jaGlsZE5vZGVzLmxlbmd0aCAmJiBnLnJlbW92ZUNoaWxkKGspCiAgICAgICAgIH0KICAgICAgICAgbi5tZXJnZShxLCBpLmNoaWxkTm9kZXMpLCBpLnRleHRDb250ZW50ID0gIiI7CiAgICAgICAgIHdoaWxlIChpLmZpcnN0Q2hpbGQpIGkucmVtb3ZlQ2hpbGQoaS5maXJzdENoaWxkKTsKICAgICAgICAgaSA9IHAubGFzdENoaWxkCiAgICAgIH0gZWxzZSBxLnB1c2goYi5jcmVhdGVUZXh0Tm9kZShnKSk7CiAgICAgIGkgJiYgcC5yZW1vdmVDaGlsZChpKSwgbC5hcHBlbmRDaGVja2VkIHx8IG4uZ3JlcChlYShxLCAiaW5wdXQiKSwgaWEpLCByID0gMDsKICAgICAgd2hpbGUgKGcgPSBxW3IrK10pCiAgICAgICAgIGlmIChkICYmIG4uaW5BcnJheShnLCBkKSA+IC0xKSBlICYmIGUucHVzaChnKTsKICAgICAgICAgZWxzZSBpZiAoaCA9IG4uY29udGFpbnMoZy5vd25lckRvY3VtZW50LCBnKSwgaSA9IGVhKHAuYXBwZW5kQ2hpbGQoZyksICJzY3JpcHQiKSwgaCAmJiBmYShpKSwgYykgewogICAgICAgICBmID0gMDsKICAgICAgICAgd2hpbGUgKGcgPSBpW2YrK10pIF8udGVzdChnLnR5cGUgfHwgIiIpICYmIGMucHVzaChnKQogICAgICB9CiAgICAgIHJldHVybiBpID0gbnVsbCwgcAogICB9ISBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBiLCBjLCBlID0gZC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgZm9yIChiIGluIHsKICAgICAgICAgICAgc3VibWl0OiAhMCwKICAgICAgICAgICAgY2hhbmdlOiAhMCwKICAgICAgICAgICAgZm9jdXNpbjogITAKICAgICAgICAgfSkgYyA9ICJvbiIgKyBiLCAobFtiXSA9IGMgaW4gYSkgfHwgKGUuc2V0QXR0cmlidXRlKGMsICJ0IiksIGxbYl0gPSBlLmF0dHJpYnV0ZXNbY10uZXhwYW5kbyA9PT0gITEpOwogICAgICBlID0gbnVsbAogICB9KCk7CiAgIHZhciBrYSA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhKSQvaSwKICAgICAgbGEgPSAvXmtleS8sCiAgICAgIG1hID0gL14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLAogICAgICBuYSA9IC9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLywKICAgICAgb2EgPSAvXihbXi5dKikoPzpcLiguKyl8KS87CgogICBmdW5jdGlvbiBwYSgpIHsKICAgICAgcmV0dXJuICEwCiAgIH0KCiAgIGZ1bmN0aW9uIHFhKCkgewogICAgICByZXR1cm4gITEKICAgfQoKICAgZnVuY3Rpb24gcmEoKSB7CiAgICAgIHRyeSB7CiAgICAgICAgIHJldHVybiBkLmFjdGl2ZUVsZW1lbnQKICAgICAgfSBjYXRjaCAoYSkge30KICAgfQoKICAgZnVuY3Rpb24gc2EoYSwgYiwgYywgZCwgZSwgZikgewogICAgICB2YXIgZywgaDsKICAgICAgaWYgKCJvYmplY3QiID09IHR5cGVvZiBiKSB7CiAgICAgICAgICJzdHJpbmciICE9IHR5cGVvZiBjICYmIChkID0gZCB8fCBjLCBjID0gdm9pZCAwKTsKICAgICAgICAgZm9yIChoIGluIGIpIHNhKGEsIGgsIGMsIGQsIGJbaF0sIGYpOwogICAgICAgICByZXR1cm4gYQogICAgICB9CiAgICAgIGlmIChudWxsID09IGQgJiYgbnVsbCA9PSBlID8gKGUgPSBjLCBkID0gYyA9IHZvaWQgMCkgOiBudWxsID09IGUgJiYgKCJzdHJpbmciID09IHR5cGVvZiBjID8gKGUgPSBkLCBkID0gdm9pZCAwKSA6IChlID0gZCwgZCA9IGMsIGMgPSB2b2lkIDApKSwgZSA9PT0gITEpIGUgPSBxYTsKICAgICAgZWxzZSBpZiAoIWUpIHJldHVybiBhOwogICAgICByZXR1cm4gMSA9PT0gZiAmJiAoZyA9IGUsIGUgPSBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gbigpLm9mZihhKSwgZy5hcHBseSh0aGlzLCBhcmd1bWVudHMpCiAgICAgIH0sIGUuZ3VpZCA9IGcuZ3VpZCB8fCAoZy5ndWlkID0gbi5ndWlkKyspKSwgYS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgbi5ldmVudC5hZGQodGhpcywgYiwgZSwgZCwgYykKICAgICAgfSkKICAgfQogICBuLmV2ZW50ID0gewogICAgICBnbG9iYWw6IHt9LAogICAgICBhZGQ6IGZ1bmN0aW9uIChhLCBiLCBjLCBkLCBlKSB7CiAgICAgICAgIHZhciBmLCBnLCBoLCBpLCBqLCBrLCBsLCBtLCBvLCBwLCBxLCByID0gbi5fZGF0YShhKTsKICAgICAgICAgaWYgKHIpIHsKICAgICAgICAgICAgYy5oYW5kbGVyICYmIChpID0gYywgYyA9IGkuaGFuZGxlciwgZSA9IGkuc2VsZWN0b3IpLCBjLmd1aWQgfHwgKGMuZ3VpZCA9IG4uZ3VpZCsrKSwgKGcgPSByLmV2ZW50cykgfHwgKGcgPSByLmV2ZW50cyA9IHt9KSwgKGsgPSByLmhhbmRsZSkgfHwgKGsgPSByLmhhbmRsZSA9IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgIHJldHVybiAidW5kZWZpbmVkIiA9PSB0eXBlb2YgbiB8fCBhICYmIG4uZXZlbnQudHJpZ2dlcmVkID09PSBhLnR5cGUgPyB2b2lkIDAgOiBuLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSwgYXJndW1lbnRzKQogICAgICAgICAgICB9LCBrLmVsZW0gPSBhKSwgYiA9IChiIHx8ICIiKS5tYXRjaChHKSB8fCBbIiJdLCBoID0gYi5sZW5ndGg7CiAgICAgICAgICAgIHdoaWxlIChoLS0pIGYgPSBvYS5leGVjKGJbaF0pIHx8IFtdLCBvID0gcSA9IGZbMV0sIHAgPSAoZlsyXSB8fCAiIikuc3BsaXQoIi4iKS5zb3J0KCksIG8gJiYgKGogPSBuLmV2ZW50LnNwZWNpYWxbb10gfHwge30sIG8gPSAoZSA/IGouZGVsZWdhdGVUeXBlIDogai5iaW5kVHlwZSkgfHwgbywgaiA9IG4uZXZlbnQuc3BlY2lhbFtvXSB8fCB7fSwgbCA9IG4uZXh0ZW5kKHsKICAgICAgICAgICAgICAgdHlwZTogbywKICAgICAgICAgICAgICAgb3JpZ1R5cGU6IHEsCiAgICAgICAgICAgICAgIGRhdGE6IGQsCiAgICAgICAgICAgICAgIGhhbmRsZXI6IGMsCiAgICAgICAgICAgICAgIGd1aWQ6IGMuZ3VpZCwKICAgICAgICAgICAgICAgc2VsZWN0b3I6IGUsCiAgICAgICAgICAgICAgIG5lZWRzQ29udGV4dDogZSAmJiBuLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoZSksCiAgICAgICAgICAgICAgIG5hbWVzcGFjZTogcC5qb2luKCIuIikKICAgICAgICAgICAgfSwgaSksIChtID0gZ1tvXSkgfHwgKG0gPSBnW29dID0gW10sIG0uZGVsZWdhdGVDb3VudCA9IDAsIGouc2V0dXAgJiYgai5zZXR1cC5jYWxsKGEsIGQsIHAsIGspICE9PSAhMSB8fCAoYS5hZGRFdmVudExpc3RlbmVyID8gYS5hZGRFdmVudExpc3RlbmVyKG8sIGssICExKSA6IGEuYXR0YWNoRXZlbnQgJiYgYS5hdHRhY2hFdmVudCgib24iICsgbywgaykpKSwgai5hZGQgJiYgKGouYWRkLmNhbGwoYSwgbCksIGwuaGFuZGxlci5ndWlkIHx8IChsLmhhbmRsZXIuZ3VpZCA9IGMuZ3VpZCkpLCBlID8gbS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssIDAsIGwpIDogbS5wdXNoKGwpLCBuLmV2ZW50Lmdsb2JhbFtvXSA9ICEwKTsKICAgICAgICAgICAgYSA9IG51bGwKICAgICAgICAgfQogICAgICB9LAogICAgICByZW1vdmU6IGZ1bmN0aW9uIChhLCBiLCBjLCBkLCBlKSB7CiAgICAgICAgIHZhciBmLCBnLCBoLCBpLCBqLCBrLCBsLCBtLCBvLCBwLCBxLCByID0gbi5oYXNEYXRhKGEpICYmIG4uX2RhdGEoYSk7CiAgICAgICAgIGlmIChyICYmIChrID0gci5ldmVudHMpKSB7CiAgICAgICAgICAgIGIgPSAoYiB8fCAiIikubWF0Y2goRykgfHwgWyIiXSwgaiA9IGIubGVuZ3RoOwogICAgICAgICAgICB3aGlsZSAoai0tKQogICAgICAgICAgICAgICBpZiAoaCA9IG9hLmV4ZWMoYltqXSkgfHwgW10sIG8gPSBxID0gaFsxXSwgcCA9IChoWzJdIHx8ICIiKS5zcGxpdCgiLiIpLnNvcnQoKSwgbykgewogICAgICAgICAgICAgICAgICBsID0gbi5ldmVudC5zcGVjaWFsW29dIHx8IHt9LCBvID0gKGQgPyBsLmRlbGVnYXRlVHlwZSA6IGwuYmluZFR5cGUpIHx8IG8sIG0gPSBrW29dIHx8IFtdLCBoID0gaFsyXSAmJiBuZXcgUmVnRXhwKCIoXnxcXC4pIiArIHAuam9pbigiXFwuKD86LipcXC58KSIpICsgIihcXC58JCkiKSwgaSA9IGYgPSBtLmxlbmd0aDsKICAgICAgICAgICAgICAgICAgd2hpbGUgKGYtLSkgZyA9IG1bZl0sICFlICYmIHEgIT09IGcub3JpZ1R5cGUgfHwgYyAmJiBjLmd1aWQgIT09IGcuZ3VpZCB8fCBoICYmICFoLnRlc3QoZy5uYW1lc3BhY2UpIHx8IGQgJiYgZCAhPT0gZy5zZWxlY3RvciAmJiAoIioqIiAhPT0gZCB8fCAhZy5zZWxlY3RvcikgfHwgKG0uc3BsaWNlKGYsIDEpLCBnLnNlbGVjdG9yICYmIG0uZGVsZWdhdGVDb3VudC0tLCBsLnJlbW92ZSAmJiBsLnJlbW92ZS5jYWxsKGEsIGcpKTsKICAgICAgICAgICAgICAgICAgaSAmJiAhbS5sZW5ndGggJiYgKGwudGVhcmRvd24gJiYgbC50ZWFyZG93bi5jYWxsKGEsIHAsIHIuaGFuZGxlKSAhPT0gITEgfHwgbi5yZW1vdmVFdmVudChhLCBvLCByLmhhbmRsZSksIGRlbGV0ZSBrW29dKQogICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgZm9yIChvIGluIGspIG4uZXZlbnQucmVtb3ZlKGEsIG8gKyBiW2pdLCBjLCBkLCAhMCk7CiAgICAgICAgICAgIG4uaXNFbXB0eU9iamVjdChrKSAmJiAoZGVsZXRlIHIuaGFuZGxlLCBuLl9yZW1vdmVEYXRhKGEsICJldmVudHMiKSkKICAgICAgICAgfQogICAgICB9LAogICAgICB0cmlnZ2VyOiBmdW5jdGlvbiAoYiwgYywgZSwgZikgewogICAgICAgICB2YXIgZywgaCwgaSwgaiwgbCwgbSwgbywgcCA9IFtlIHx8IGRdLAogICAgICAgICAgICBxID0gay5jYWxsKGIsICJ0eXBlIikgPyBiLnR5cGUgOiBiLAogICAgICAgICAgICByID0gay5jYWxsKGIsICJuYW1lc3BhY2UiKSA/IGIubmFtZXNwYWNlLnNwbGl0KCIuIikgOiBbXTsKICAgICAgICAgaWYgKGkgPSBtID0gZSA9IGUgfHwgZCwgMyAhPT0gZS5ub2RlVHlwZSAmJiA4ICE9PSBlLm5vZGVUeXBlICYmICFuYS50ZXN0KHEgKyBuLmV2ZW50LnRyaWdnZXJlZCkgJiYgKHEuaW5kZXhPZigiLiIpID4gLTEgJiYgKHIgPSBxLnNwbGl0KCIuIiksIHEgPSByLnNoaWZ0KCksIHIuc29ydCgpKSwgaCA9IHEuaW5kZXhPZigiOiIpIDwgMCAmJiAib24iICsgcSwgYiA9IGJbbi5leHBhbmRvXSA/IGIgOiBuZXcgbi5FdmVudChxLCAib2JqZWN0IiA9PSB0eXBlb2YgYiAmJiBiKSwgYi5pc1RyaWdnZXIgPSBmID8gMiA6IDMsIGIubmFtZXNwYWNlID0gci5qb2luKCIuIiksIGIucm5hbWVzcGFjZSA9IGIubmFtZXNwYWNlID8gbmV3IFJlZ0V4cCgiKF58XFwuKSIgKyByLmpvaW4oIlxcLig/Oi4qXFwufCkiKSArICIoXFwufCQpIikgOiBudWxsLCBiLnJlc3VsdCA9IHZvaWQgMCwgYi50YXJnZXQgfHwgKGIudGFyZ2V0ID0gZSksIGMgPSBudWxsID09IGMgPyBbYl0gOiBuLm1ha2VBcnJheShjLCBbYl0pLCBsID0gbi5ldmVudC5zcGVjaWFsW3FdIHx8IHt9LCBmIHx8ICFsLnRyaWdnZXIgfHwgbC50cmlnZ2VyLmFwcGx5KGUsIGMpICE9PSAhMSkpIHsKICAgICAgICAgICAgaWYgKCFmICYmICFsLm5vQnViYmxlICYmICFuLmlzV2luZG93KGUpKSB7CiAgICAgICAgICAgICAgIGZvciAoaiA9IGwuZGVsZWdhdGVUeXBlIHx8IHEsIG5hLnRlc3QoaiArIHEpIHx8IChpID0gaS5wYXJlbnROb2RlKTsgaTsgaSA9IGkucGFyZW50Tm9kZSkgcC5wdXNoKGkpLCBtID0gaTsKICAgICAgICAgICAgICAgbSA9PT0gKGUub3duZXJEb2N1bWVudCB8fCBkKSAmJiBwLnB1c2gobS5kZWZhdWx0VmlldyB8fCBtLnBhcmVudFdpbmRvdyB8fCBhKQogICAgICAgICAgICB9CiAgICAgICAgICAgIG8gPSAwOwogICAgICAgICAgICB3aGlsZSAoKGkgPSBwW28rK10pICYmICFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpIGIudHlwZSA9IG8gPiAxID8gaiA6IGwuYmluZFR5cGUgfHwgcSwgZyA9IChuLl9kYXRhKGksICJldmVudHMiKSB8fCB7fSlbYi50eXBlXSAmJiBuLl9kYXRhKGksICJoYW5kbGUiKSwgZyAmJiBnLmFwcGx5KGksIGMpLCBnID0gaCAmJiBpW2hdLCBnICYmIGcuYXBwbHkgJiYgTShpKSAmJiAoYi5yZXN1bHQgPSBnLmFwcGx5KGksIGMpLCBiLnJlc3VsdCA9PT0gITEgJiYgYi5wcmV2ZW50RGVmYXVsdCgpKTsKICAgICAgICAgICAgaWYgKGIudHlwZSA9IHEsICFmICYmICFiLmlzRGVmYXVsdFByZXZlbnRlZCgpICYmICghbC5fZGVmYXVsdCB8fCBsLl9kZWZhdWx0LmFwcGx5KHAucG9wKCksIGMpID09PSAhMSkgJiYgTShlKSAmJiBoICYmIGVbcV0gJiYgIW4uaXNXaW5kb3coZSkpIHsKICAgICAgICAgICAgICAgbSA9IGVbaF0sIG0gJiYgKGVbaF0gPSBudWxsKSwgbi5ldmVudC50cmlnZ2VyZWQgPSBxOwogICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICBlW3FdKCkKICAgICAgICAgICAgICAgfSBjYXRjaCAocykge30KICAgICAgICAgICAgICAgbi5ldmVudC50cmlnZ2VyZWQgPSB2b2lkIDAsIG0gJiYgKGVbaF0gPSBtKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBiLnJlc3VsdAogICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRpc3BhdGNoOiBmdW5jdGlvbiAoYSkgewogICAgICAgICBhID0gbi5ldmVudC5maXgoYSk7CiAgICAgICAgIHZhciBiLCBjLCBkLCBmLCBnLCBoID0gW10sCiAgICAgICAgICAgIGkgPSBlLmNhbGwoYXJndW1lbnRzKSwKICAgICAgICAgICAgaiA9IChuLl9kYXRhKHRoaXMsICJldmVudHMiKSB8fCB7fSlbYS50eXBlXSB8fCBbXSwKICAgICAgICAgICAgayA9IG4uZXZlbnQuc3BlY2lhbFthLnR5cGVdIHx8IHt9OwogICAgICAgICBpZiAoaVswXSA9IGEsIGEuZGVsZWdhdGVUYXJnZXQgPSB0aGlzLCAhay5wcmVEaXNwYXRjaCB8fCBrLnByZURpc3BhdGNoLmNhbGwodGhpcywgYSkgIT09ICExKSB7CiAgICAgICAgICAgIGggPSBuLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcywgYSwgaiksIGIgPSAwOwogICAgICAgICAgICB3aGlsZSAoKGYgPSBoW2IrK10pICYmICFhLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpIHsKICAgICAgICAgICAgICAgYS5jdXJyZW50VGFyZ2V0ID0gZi5lbGVtLCBjID0gMDsKICAgICAgICAgICAgICAgd2hpbGUgKChnID0gZi5oYW5kbGVyc1tjKytdKSAmJiAhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSBhLnJuYW1lc3BhY2UgJiYgIWEucm5hbWVzcGFjZS50ZXN0KGcubmFtZXNwYWNlKSB8fCAoYS5oYW5kbGVPYmogPSBnLCBhLmRhdGEgPSBnLmRhdGEsIGQgPSAoKG4uZXZlbnQuc3BlY2lhbFtnLm9yaWdUeXBlXSB8fCB7fSkuaGFuZGxlIHx8IGcuaGFuZGxlcikuYXBwbHkoZi5lbGVtLCBpKSwgdm9pZCAwICE9PSBkICYmIChhLnJlc3VsdCA9IGQpID09PSAhMSAmJiAoYS5wcmV2ZW50RGVmYXVsdCgpLCBhLnN0b3BQcm9wYWdhdGlvbigpKSkKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gay5wb3N0RGlzcGF0Y2ggJiYgay5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLCBhKSwgYS5yZXN1bHQKICAgICAgICAgfQogICAgICB9LAogICAgICBoYW5kbGVyczogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgdmFyIGMsIGQsIGUsIGYsIGcgPSBbXSwKICAgICAgICAgICAgaCA9IGIuZGVsZWdhdGVDb3VudCwKICAgICAgICAgICAgaSA9IGEudGFyZ2V0OwogICAgICAgICBpZiAoaCAmJiBpLm5vZGVUeXBlICYmICgiY2xpY2siICE9PSBhLnR5cGUgfHwgaXNOYU4oYS5idXR0b24pIHx8IGEuYnV0dG9uIDwgMSkpCiAgICAgICAgICAgIGZvciAoOyBpICE9IHRoaXM7IGkgPSBpLnBhcmVudE5vZGUgfHwgdGhpcykKICAgICAgICAgICAgICAgaWYgKDEgPT09IGkubm9kZVR5cGUgJiYgKGkuZGlzYWJsZWQgIT09ICEwIHx8ICJjbGljayIgIT09IGEudHlwZSkpIHsKICAgICAgICAgICAgICAgICAgZm9yIChkID0gW10sIGMgPSAwOyBoID4gYzsgYysrKSBmID0gYltjXSwgZSA9IGYuc2VsZWN0b3IgKyAiICIsIHZvaWQgMCA9PT0gZFtlXSAmJiAoZFtlXSA9IGYubmVlZHNDb250ZXh0ID8gbihlLCB0aGlzKS5pbmRleChpKSA+IC0xIDogbi5maW5kKGUsIHRoaXMsIG51bGwsIFtpXSkubGVuZ3RoKSwgZFtlXSAmJiBkLnB1c2goZik7CiAgICAgICAgICAgICAgICAgIGQubGVuZ3RoICYmIGcucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgIGVsZW06IGksCiAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXJzOiBkCiAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGggPCBiLmxlbmd0aCAmJiBnLnB1c2goewogICAgICAgICAgICBlbGVtOiB0aGlzLAogICAgICAgICAgICBoYW5kbGVyczogYi5zbGljZShoKQogICAgICAgICB9KSwgZwogICAgICB9LAogICAgICBmaXg6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIGlmIChhW24uZXhwYW5kb10pIHJldHVybiBhOwogICAgICAgICB2YXIgYiwgYywgZSwgZiA9IGEudHlwZSwKICAgICAgICAgICAgZyA9IGEsCiAgICAgICAgICAgIGggPSB0aGlzLmZpeEhvb2tzW2ZdOwogICAgICAgICBoIHx8ICh0aGlzLmZpeEhvb2tzW2ZdID0gaCA9IG1hLnRlc3QoZikgPyB0aGlzLm1vdXNlSG9va3MgOiBsYS50ZXN0KGYpID8gdGhpcy5rZXlIb29rcyA6IHt9KSwgZSA9IGgucHJvcHMgPyB0aGlzLnByb3BzLmNvbmNhdChoLnByb3BzKSA6IHRoaXMucHJvcHMsIGEgPSBuZXcgbi5FdmVudChnKSwgYiA9IGUubGVuZ3RoOwogICAgICAgICB3aGlsZSAoYi0tKSBjID0gZVtiXSwgYVtjXSA9IGdbY107CiAgICAgICAgIHJldHVybiBhLnRhcmdldCB8fCAoYS50YXJnZXQgPSBnLnNyY0VsZW1lbnQgfHwgZCksIDMgPT09IGEudGFyZ2V0Lm5vZGVUeXBlICYmIChhLnRhcmdldCA9IGEudGFyZ2V0LnBhcmVudE5vZGUpLCBhLm1ldGFLZXkgPSAhIWEubWV0YUtleSwgaC5maWx0ZXIgPyBoLmZpbHRlcihhLCBnKSA6IGEKICAgICAgfSwKICAgICAgcHJvcHM6ICJhbHRLZXkgYnViYmxlcyBjYW5jZWxhYmxlIGN0cmxLZXkgY3VycmVudFRhcmdldCBkZXRhaWwgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLAogICAgICBmaXhIb29rczoge30sCiAgICAgIGtleUhvb2tzOiB7CiAgICAgICAgIHByb3BzOiAiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSwKICAgICAgICAgZmlsdGVyOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBhLndoaWNoICYmIChhLndoaWNoID0gbnVsbCAhPSBiLmNoYXJDb2RlID8gYi5jaGFyQ29kZSA6IGIua2V5Q29kZSksIGEKICAgICAgICAgfQogICAgICB9LAogICAgICBtb3VzZUhvb2tzOiB7CiAgICAgICAgIHByb3BzOiAiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLAogICAgICAgICBmaWx0ZXI6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHZhciBjLCBlLCBmLCBnID0gYi5idXR0b24sCiAgICAgICAgICAgICAgIGggPSBiLmZyb21FbGVtZW50OwogICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBhLnBhZ2VYICYmIG51bGwgIT0gYi5jbGllbnRYICYmIChlID0gYS50YXJnZXQub3duZXJEb2N1bWVudCB8fCBkLCBmID0gZS5kb2N1bWVudEVsZW1lbnQsIGMgPSBlLmJvZHksIGEucGFnZVggPSBiLmNsaWVudFggKyAoZiAmJiBmLnNjcm9sbExlZnQgfHwgYyAmJiBjLnNjcm9sbExlZnQgfHwgMCkgLSAoZiAmJiBmLmNsaWVudExlZnQgfHwgYyAmJiBjLmNsaWVudExlZnQgfHwgMCksIGEucGFnZVkgPSBiLmNsaWVudFkgKyAoZiAmJiBmLnNjcm9sbFRvcCB8fCBjICYmIGMuc2Nyb2xsVG9wIHx8IDApIC0gKGYgJiYgZi5jbGllbnRUb3AgfHwgYyAmJiBjLmNsaWVudFRvcCB8fCAwKSksICFhLnJlbGF0ZWRUYXJnZXQgJiYgaCAmJiAoYS5yZWxhdGVkVGFyZ2V0ID0gaCA9PT0gYS50YXJnZXQgPyBiLnRvRWxlbWVudCA6IGgpLCBhLndoaWNoIHx8IHZvaWQgMCA9PT0gZyB8fCAoYS53aGljaCA9IDEgJiBnID8gMSA6IDIgJiBnID8gMyA6IDQgJiBnID8gMiA6IDApLCBhCiAgICAgICAgIH0KICAgICAgfSwKICAgICAgc3BlY2lhbDogewogICAgICAgICBsb2FkOiB7CiAgICAgICAgICAgIG5vQnViYmxlOiAhMAogICAgICAgICB9LAogICAgICAgICBmb2N1czogewogICAgICAgICAgICB0cmlnZ2VyOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIGlmICh0aGlzICE9PSByYSgpICYmIHRoaXMuZm9jdXMpIHRyeSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvY3VzKCksICExCiAgICAgICAgICAgICAgIH0gY2F0Y2ggKGEpIHt9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRlbGVnYXRlVHlwZTogImZvY3VzaW4iCiAgICAgICAgIH0sCiAgICAgICAgIGJsdXI6IHsKICAgICAgICAgICAgdHJpZ2dlcjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gcmEoKSAmJiB0aGlzLmJsdXIgPyAodGhpcy5ibHVyKCksICExKSA6IHZvaWQgMAogICAgICAgICAgICB9LAogICAgICAgICAgICBkZWxlZ2F0ZVR5cGU6ICJmb2N1c291dCIKICAgICAgICAgfSwKICAgICAgICAgY2xpY2s6IHsKICAgICAgICAgICAgdHJpZ2dlcjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gbi5ub2RlTmFtZSh0aGlzLCAiaW5wdXQiKSAmJiAiY2hlY2tib3giID09PSB0aGlzLnR5cGUgJiYgdGhpcy5jbGljayA/ICh0aGlzLmNsaWNrKCksICExKSA6IHZvaWQgMAogICAgICAgICAgICB9LAogICAgICAgICAgICBfZGVmYXVsdDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuIG4ubm9kZU5hbWUoYS50YXJnZXQsICJhIikKICAgICAgICAgICAgfQogICAgICAgICB9LAogICAgICAgICBiZWZvcmV1bmxvYWQ6IHsKICAgICAgICAgICAgcG9zdERpc3BhdGNoOiBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICB2b2lkIDAgIT09IGEucmVzdWx0ICYmIGEub3JpZ2luYWxFdmVudCAmJiAoYS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlID0gYS5yZXN1bHQpCiAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICB9LAogICAgICBzaW11bGF0ZTogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgdmFyIGQgPSBuLmV4dGVuZChuZXcgbi5FdmVudCwgYywgewogICAgICAgICAgICB0eXBlOiBhLAogICAgICAgICAgICBpc1NpbXVsYXRlZDogITAKICAgICAgICAgfSk7CiAgICAgICAgIG4uZXZlbnQudHJpZ2dlcihkLCBudWxsLCBiKSwgZC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSAmJiBjLnByZXZlbnREZWZhdWx0KCkKICAgICAgfQogICB9LCBuLnJlbW92ZUV2ZW50ID0gZC5yZW1vdmVFdmVudExpc3RlbmVyID8gZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgYS5yZW1vdmVFdmVudExpc3RlbmVyICYmIGEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLCBjKQogICB9IDogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgdmFyIGQgPSAib24iICsgYjsKICAgICAgYS5kZXRhY2hFdmVudCAmJiAoInVuZGVmaW5lZCIgPT0gdHlwZW9mIGFbZF0gJiYgKGFbZF0gPSBudWxsKSwgYS5kZXRhY2hFdmVudChkLCBjKSkKICAgfSwgbi5FdmVudCA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2Ygbi5FdmVudCA/IChhICYmIGEudHlwZSA/ICh0aGlzLm9yaWdpbmFsRXZlbnQgPSBhLCB0aGlzLnR5cGUgPSBhLnR5cGUsIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gYS5kZWZhdWx0UHJldmVudGVkIHx8IHZvaWQgMCA9PT0gYS5kZWZhdWx0UHJldmVudGVkICYmIGEucmV0dXJuVmFsdWUgPT09ICExID8gcGEgOiBxYSkgOiB0aGlzLnR5cGUgPSBhLCBiICYmIG4uZXh0ZW5kKHRoaXMsIGIpLCB0aGlzLnRpbWVTdGFtcCA9IGEgJiYgYS50aW1lU3RhbXAgfHwgbi5ub3coKSwgdm9pZCh0aGlzW24uZXhwYW5kb10gPSAhMCkpIDogbmV3IG4uRXZlbnQoYSwgYikKICAgfSwgbi5FdmVudC5wcm90b3R5cGUgPSB7CiAgICAgIGNvbnN0cnVjdG9yOiBuLkV2ZW50LAogICAgICBpc0RlZmF1bHRQcmV2ZW50ZWQ6IHFhLAogICAgICBpc1Byb3BhZ2F0aW9uU3RvcHBlZDogcWEsCiAgICAgIGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOiBxYSwKICAgICAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIGEgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7CiAgICAgICAgIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gcGEsIGEgJiYgKGEucHJldmVudERlZmF1bHQgPyBhLnByZXZlbnREZWZhdWx0KCkgOiBhLnJldHVyblZhbHVlID0gITEpCiAgICAgIH0sCiAgICAgIHN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24gKCkgewogICAgICAgICB2YXIgYSA9IHRoaXMub3JpZ2luYWxFdmVudDsKICAgICAgICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IHBhLCBhICYmICF0aGlzLmlzU2ltdWxhdGVkICYmIChhLnN0b3BQcm9wYWdhdGlvbiAmJiBhLnN0b3BQcm9wYWdhdGlvbigpLCBhLmNhbmNlbEJ1YmJsZSA9ICEwKQogICAgICB9LAogICAgICBzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246IGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIGEgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7CiAgICAgICAgIHRoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQgPSBwYSwgYSAmJiBhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiAmJiBhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCB0aGlzLnN0b3BQcm9wYWdhdGlvbigpCiAgICAgIH0KICAgfSwgbi5lYWNoKHsKICAgICAgbW91c2VlbnRlcjogIm1vdXNlb3ZlciIsCiAgICAgIG1vdXNlbGVhdmU6ICJtb3VzZW91dCIsCiAgICAgIHBvaW50ZXJlbnRlcjogInBvaW50ZXJvdmVyIiwKICAgICAgcG9pbnRlcmxlYXZlOiAicG9pbnRlcm91dCIKICAgfSwgZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgbi5ldmVudC5zcGVjaWFsW2FdID0gewogICAgICAgICBkZWxlZ2F0ZVR5cGU6IGIsCiAgICAgICAgIGJpbmRUeXBlOiBiLAogICAgICAgICBoYW5kbGU6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHZhciBjLCBkID0gdGhpcywKICAgICAgICAgICAgICAgZSA9IGEucmVsYXRlZFRhcmdldCwKICAgICAgICAgICAgICAgZiA9IGEuaGFuZGxlT2JqOwogICAgICAgICAgICByZXR1cm4gZSAmJiAoZSA9PT0gZCB8fCBuLmNvbnRhaW5zKGQsIGUpKSB8fCAoYS50eXBlID0gZi5vcmlnVHlwZSwgYyA9IGYuaGFuZGxlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpLCBhLnR5cGUgPSBiKSwgYwogICAgICAgICB9CiAgICAgIH0KICAgfSksIGwuc3VibWl0IHx8IChuLmV2ZW50LnNwZWNpYWwuc3VibWl0ID0gewogICAgICBzZXR1cDogZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gbi5ub2RlTmFtZSh0aGlzLCAiZm9ybSIpID8gITEgOiB2b2lkIG4uZXZlbnQuYWRkKHRoaXMsICJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLCBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICB2YXIgYiA9IGEudGFyZ2V0LAogICAgICAgICAgICAgICBjID0gbi5ub2RlTmFtZShiLCAiaW5wdXQiKSB8fCBuLm5vZGVOYW1lKGIsICJidXR0b24iKSA/IG4ucHJvcChiLCAiZm9ybSIpIDogdm9pZCAwOwogICAgICAgICAgICBjICYmICFuLl9kYXRhKGMsICJzdWJtaXQiKSAmJiAobi5ldmVudC5hZGQoYywgInN1Ym1pdC5fc3VibWl0IiwgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgYS5fc3VibWl0QnViYmxlID0gITAKICAgICAgICAgICAgfSksIG4uX2RhdGEoYywgInN1Ym1pdCIsICEwKSkKICAgICAgICAgfSkKICAgICAgfSwKICAgICAgcG9zdERpc3BhdGNoOiBmdW5jdGlvbiAoYSkgewogICAgICAgICBhLl9zdWJtaXRCdWJibGUgJiYgKGRlbGV0ZSBhLl9zdWJtaXRCdWJibGUsIHRoaXMucGFyZW50Tm9kZSAmJiAhYS5pc1RyaWdnZXIgJiYgbi5ldmVudC5zaW11bGF0ZSgic3VibWl0IiwgdGhpcy5wYXJlbnROb2RlLCBhKSkKICAgICAgfSwKICAgICAgdGVhcmRvd246IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIG4ubm9kZU5hbWUodGhpcywgImZvcm0iKSA/ICExIDogdm9pZCBuLmV2ZW50LnJlbW92ZSh0aGlzLCAiLl9zdWJtaXQiKQogICAgICB9CiAgIH0pLCBsLmNoYW5nZSB8fCAobi5ldmVudC5zcGVjaWFsLmNoYW5nZSA9IHsKICAgICAgc2V0dXA6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIGthLnRlc3QodGhpcy5ub2RlTmFtZSkgPyAoImNoZWNrYm94IiAhPT0gdGhpcy50eXBlICYmICJyYWRpbyIgIT09IHRoaXMudHlwZSB8fCAobi5ldmVudC5hZGQodGhpcywgInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLCBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAiY2hlY2tlZCIgPT09IGEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUgJiYgKHRoaXMuX2p1c3RDaGFuZ2VkID0gITApCiAgICAgICAgIH0pLCBuLmV2ZW50LmFkZCh0aGlzLCAiY2xpY2suX2NoYW5nZSIsIGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHRoaXMuX2p1c3RDaGFuZ2VkICYmICFhLmlzVHJpZ2dlciAmJiAodGhpcy5fanVzdENoYW5nZWQgPSAhMSksIG4uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsIHRoaXMsIGEpCiAgICAgICAgIH0pKSwgITEpIDogdm9pZCBuLmV2ZW50LmFkZCh0aGlzLCAiYmVmb3JlYWN0aXZhdGUuX2NoYW5nZSIsIGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHZhciBiID0gYS50YXJnZXQ7CiAgICAgICAgICAgIGthLnRlc3QoYi5ub2RlTmFtZSkgJiYgIW4uX2RhdGEoYiwgImNoYW5nZSIpICYmIChuLmV2ZW50LmFkZChiLCAiY2hhbmdlLl9jaGFuZ2UiLCBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICAhdGhpcy5wYXJlbnROb2RlIHx8IGEuaXNTaW11bGF0ZWQgfHwgYS5pc1RyaWdnZXIgfHwgbi5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIiwgdGhpcy5wYXJlbnROb2RlLCBhKQogICAgICAgICAgICB9KSwgbi5fZGF0YShiLCAiY2hhbmdlIiwgITApKQogICAgICAgICB9KQogICAgICB9LAogICAgICBoYW5kbGU6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHZhciBiID0gYS50YXJnZXQ7CiAgICAgICAgIHJldHVybiB0aGlzICE9PSBiIHx8IGEuaXNTaW11bGF0ZWQgfHwgYS5pc1RyaWdnZXIgfHwgInJhZGlvIiAhPT0gYi50eXBlICYmICJjaGVja2JveCIgIT09IGIudHlwZSA/IGEuaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHZvaWQgMAogICAgICB9LAogICAgICB0ZWFyZG93bjogZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gbi5ldmVudC5yZW1vdmUodGhpcywgIi5fY2hhbmdlIiksICFrYS50ZXN0KHRoaXMubm9kZU5hbWUpCiAgICAgIH0KICAgfSksIGwuZm9jdXNpbiB8fCBuLmVhY2goewogICAgICBmb2N1czogImZvY3VzaW4iLAogICAgICBibHVyOiAiZm9jdXNvdXQiCiAgIH0sIGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIHZhciBjID0gZnVuY3Rpb24gKGEpIHsKICAgICAgICAgbi5ldmVudC5zaW11bGF0ZShiLCBhLnRhcmdldCwgbi5ldmVudC5maXgoYSkpCiAgICAgIH07CiAgICAgIG4uZXZlbnQuc3BlY2lhbFtiXSA9IHsKICAgICAgICAgc2V0dXA6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIGQgPSB0aGlzLm93bmVyRG9jdW1lbnQgfHwgdGhpcywKICAgICAgICAgICAgICAgZSA9IG4uX2RhdGEoZCwgYik7CiAgICAgICAgICAgIGUgfHwgZC5hZGRFdmVudExpc3RlbmVyKGEsIGMsICEwKSwgbi5fZGF0YShkLCBiLCAoZSB8fCAwKSArIDEpCiAgICAgICAgIH0sCiAgICAgICAgIHRlYXJkb3duOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBkID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsCiAgICAgICAgICAgICAgIGUgPSBuLl9kYXRhKGQsIGIpIC0gMTsKICAgICAgICAgICAgZSA/IG4uX2RhdGEoZCwgYiwgZSkgOiAoZC5yZW1vdmVFdmVudExpc3RlbmVyKGEsIGMsICEwKSwgbi5fcmVtb3ZlRGF0YShkLCBiKSkKICAgICAgICAgfQogICAgICB9CiAgIH0pLCBuLmZuLmV4dGVuZCh7CiAgICAgIG9uOiBmdW5jdGlvbiAoYSwgYiwgYywgZCkgewogICAgICAgICByZXR1cm4gc2EodGhpcywgYSwgYiwgYywgZCkKICAgICAgfSwKICAgICAgb25lOiBmdW5jdGlvbiAoYSwgYiwgYywgZCkgewogICAgICAgICByZXR1cm4gc2EodGhpcywgYSwgYiwgYywgZCwgMSkKICAgICAgfSwKICAgICAgb2ZmOiBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICB2YXIgZCwgZTsKICAgICAgICAgaWYgKGEgJiYgYS5wcmV2ZW50RGVmYXVsdCAmJiBhLmhhbmRsZU9iaikgcmV0dXJuIGQgPSBhLmhhbmRsZU9iaiwgbihhLmRlbGVnYXRlVGFyZ2V0KS5vZmYoZC5uYW1lc3BhY2UgPyBkLm9yaWdUeXBlICsgIi4iICsgZC5uYW1lc3BhY2UgOiBkLm9yaWdUeXBlLCBkLnNlbGVjdG9yLCBkLmhhbmRsZXIpLCB0aGlzOwogICAgICAgICBpZiAoIm9iamVjdCIgPT0gdHlwZW9mIGEpIHsKICAgICAgICAgICAgZm9yIChlIGluIGEpIHRoaXMub2ZmKGUsIGIsIGFbZV0pOwogICAgICAgICAgICByZXR1cm4gdGhpcwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBiICE9PSAhMSAmJiAiZnVuY3Rpb24iICE9IHR5cGVvZiBiIHx8IChjID0gYiwgYiA9IHZvaWQgMCksIGMgPT09ICExICYmIChjID0gcWEpLCB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICBuLmV2ZW50LnJlbW92ZSh0aGlzLCBhLCBjLCBiKQogICAgICAgICB9KQogICAgICB9LAogICAgICB0cmlnZ2VyOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgbi5ldmVudC50cmlnZ2VyKGEsIGIsIHRoaXMpCiAgICAgICAgIH0pCiAgICAgIH0sCiAgICAgIHRyaWdnZXJIYW5kbGVyOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICB2YXIgYyA9IHRoaXNbMF07CiAgICAgICAgIHJldHVybiBjID8gbi5ldmVudC50cmlnZ2VyKGEsIGIsIGMsICEwKSA6IHZvaWQgMAogICAgICB9CiAgIH0pOwogICB2YXIgdGEgPSAvIGpRdWVyeVxkKz0iKD86bnVsbHxcZCspIi9nLAogICAgICB1YSA9IG5ldyBSZWdFeHAoIjwoPzoiICsgYmEgKyAiKVtcXHMvPl0iLCAiaSIpLAogICAgICB2YSA9IC88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzotXSspW14+XSopXC8+L2dpLAogICAgICB3YSA9IC88c2NyaXB0fDxzdHlsZXw8bGluay9pLAogICAgICB4YSA9IC9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLAogICAgICB5YSA9IC9edHJ1ZVwvKC4qKS8sCiAgICAgIHphID0gL15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLAogICAgICBBYSA9IGNhKGQpLAogICAgICBCYSA9IEFhLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwoKICAgZnVuY3Rpb24gQ2EoYSwgYikgewogICAgICByZXR1cm4gbi5ub2RlTmFtZShhLCAidGFibGUiKSAmJiBuLm5vZGVOYW1lKDExICE9PSBiLm5vZGVUeXBlID8gYiA6IGIuZmlyc3RDaGlsZCwgInRyIikgPyBhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdIHx8IGEuYXBwZW5kQ2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpIDogYQogICB9CgogICBmdW5jdGlvbiBEYShhKSB7CiAgICAgIHJldHVybiBhLnR5cGUgPSAobnVsbCAhPT0gbi5maW5kLmF0dHIoYSwgInR5cGUiKSkgKyAiLyIgKyBhLnR5cGUsIGEKICAgfQoKICAgZnVuY3Rpb24gRWEoYSkgewogICAgICB2YXIgYiA9IHlhLmV4ZWMoYS50eXBlKTsKICAgICAgcmV0dXJuIGIgPyBhLnR5cGUgPSBiWzFdIDogYS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSwgYQogICB9CgogICBmdW5jdGlvbiBGYShhLCBiKSB7CiAgICAgIGlmICgxID09PSBiLm5vZGVUeXBlICYmIG4uaGFzRGF0YShhKSkgewogICAgICAgICB2YXIgYywgZCwgZSwgZiA9IG4uX2RhdGEoYSksCiAgICAgICAgICAgIGcgPSBuLl9kYXRhKGIsIGYpLAogICAgICAgICAgICBoID0gZi5ldmVudHM7CiAgICAgICAgIGlmIChoKSB7CiAgICAgICAgICAgIGRlbGV0ZSBnLmhhbmRsZSwgZy5ldmVudHMgPSB7fTsKICAgICAgICAgICAgZm9yIChjIGluIGgpCiAgICAgICAgICAgICAgIGZvciAoZCA9IDAsIGUgPSBoW2NdLmxlbmd0aDsgZSA+IGQ7IGQrKykgbi5ldmVudC5hZGQoYiwgYywgaFtjXVtkXSkKICAgICAgICAgfQogICAgICAgICBnLmRhdGEgJiYgKGcuZGF0YSA9IG4uZXh0ZW5kKHt9LCBnLmRhdGEpKQogICAgICB9CiAgIH0KCiAgIGZ1bmN0aW9uIEdhKGEsIGIpIHsKICAgICAgdmFyIGMsIGQsIGU7CiAgICAgIGlmICgxID09PSBiLm5vZGVUeXBlKSB7CiAgICAgICAgIGlmIChjID0gYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLCAhbC5ub0Nsb25lRXZlbnQgJiYgYltuLmV4cGFuZG9dKSB7CiAgICAgICAgICAgIGUgPSBuLl9kYXRhKGIpOwogICAgICAgICAgICBmb3IgKGQgaW4gZS5ldmVudHMpIG4ucmVtb3ZlRXZlbnQoYiwgZCwgZS5oYW5kbGUpOwogICAgICAgICAgICBiLnJlbW92ZUF0dHJpYnV0ZShuLmV4cGFuZG8pCiAgICAgICAgIH0KICAgICAgICAgInNjcmlwdCIgPT09IGMgJiYgYi50ZXh0ICE9PSBhLnRleHQgPyAoRGEoYikudGV4dCA9IGEudGV4dCwgRWEoYikpIDogIm9iamVjdCIgPT09IGMgPyAoYi5wYXJlbnROb2RlICYmIChiLm91dGVySFRNTCA9IGEub3V0ZXJIVE1MKSwgbC5odG1sNUNsb25lICYmIGEuaW5uZXJIVE1MICYmICFuLnRyaW0oYi5pbm5lckhUTUwpICYmIChiLmlubmVySFRNTCA9IGEuaW5uZXJIVE1MKSkgOiAiaW5wdXQiID09PSBjICYmIFoudGVzdChhLnR5cGUpID8gKGIuZGVmYXVsdENoZWNrZWQgPSBiLmNoZWNrZWQgPSBhLmNoZWNrZWQsIGIudmFsdWUgIT09IGEudmFsdWUgJiYgKGIudmFsdWUgPSBhLnZhbHVlKSkgOiAib3B0aW9uIiA9PT0gYyA/IGIuZGVmYXVsdFNlbGVjdGVkID0gYi5zZWxlY3RlZCA9IGEuZGVmYXVsdFNlbGVjdGVkIDogImlucHV0IiAhPT0gYyAmJiAidGV4dGFyZWEiICE9PSBjIHx8IChiLmRlZmF1bHRWYWx1ZSA9IGEuZGVmYXVsdFZhbHVlKQogICAgICB9CiAgIH0KCiAgIGZ1bmN0aW9uIEhhKGEsIGIsIGMsIGQpIHsKICAgICAgYiA9IGYuYXBwbHkoW10sIGIpOwogICAgICB2YXIgZSwgZywgaCwgaSwgaiwgaywgbSA9IDAsCiAgICAgICAgIG8gPSBhLmxlbmd0aCwKICAgICAgICAgcCA9IG8gLSAxLAogICAgICAgICBxID0gYlswXSwKICAgICAgICAgciA9IG4uaXNGdW5jdGlvbihxKTsKICAgICAgaWYgKHIgfHwgbyA+IDEgJiYgInN0cmluZyIgPT0gdHlwZW9mIHEgJiYgIWwuY2hlY2tDbG9uZSAmJiB4YS50ZXN0KHEpKSByZXR1cm4gYS5lYWNoKGZ1bmN0aW9uIChlKSB7CiAgICAgICAgIHZhciBmID0gYS5lcShlKTsKICAgICAgICAgciAmJiAoYlswXSA9IHEuY2FsbCh0aGlzLCBlLCBmLmh0bWwoKSkpLCBIYShmLCBiLCBjLCBkKQogICAgICB9KTsKICAgICAgaWYgKG8gJiYgKGsgPSBqYShiLCBhWzBdLm93bmVyRG9jdW1lbnQsICExLCBhLCBkKSwgZSA9IGsuZmlyc3RDaGlsZCwgMSA9PT0gay5jaGlsZE5vZGVzLmxlbmd0aCAmJiAoayA9IGUpLCBlIHx8IGQpKSB7CiAgICAgICAgIGZvciAoaSA9IG4ubWFwKGVhKGssICJzY3JpcHQiKSwgRGEpLCBoID0gaS5sZW5ndGg7IG8gPiBtOyBtKyspIGcgPSBrLCBtICE9PSBwICYmIChnID0gbi5jbG9uZShnLCAhMCwgITApLCBoICYmIG4ubWVyZ2UoaSwgZWEoZywgInNjcmlwdCIpKSksIGMuY2FsbChhW21dLCBnLCBtKTsKICAgICAgICAgaWYgKGgpCiAgICAgICAgICAgIGZvciAoaiA9IGlbaS5sZW5ndGggLSAxXS5vd25lckRvY3VtZW50LCBuLm1hcChpLCBFYSksIG0gPSAwOyBoID4gbTsgbSsrKSBnID0gaVttXSwgXy50ZXN0KGcudHlwZSB8fCAiIikgJiYgIW4uX2RhdGEoZywgImdsb2JhbEV2YWwiKSAmJiBuLmNvbnRhaW5zKGosIGcpICYmIChnLnNyYyA/IG4uX2V2YWxVcmwgJiYgbi5fZXZhbFVybChnLnNyYykgOiBuLmdsb2JhbEV2YWwoKGcudGV4dCB8fCBnLnRleHRDb250ZW50IHx8IGcuaW5uZXJIVE1MIHx8ICIiKS5yZXBsYWNlKHphLCAiIikpKTsKICAgICAgICAgayA9IGUgPSBudWxsCiAgICAgIH0KICAgICAgcmV0dXJuIGEKICAgfQoKICAgZnVuY3Rpb24gSWEoYSwgYiwgYykgewogICAgICBmb3IgKHZhciBkLCBlID0gYiA/IG4uZmlsdGVyKGIsIGEpIDogYSwgZiA9IDA7IG51bGwgIT0gKGQgPSBlW2ZdKTsgZisrKSBjIHx8IDEgIT09IGQubm9kZVR5cGUgfHwgbi5jbGVhbkRhdGEoZWEoZCkpLCBkLnBhcmVudE5vZGUgJiYgKGMgJiYgbi5jb250YWlucyhkLm93bmVyRG9jdW1lbnQsIGQpICYmIGZhKGVhKGQsICJzY3JpcHQiKSksIGQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkKSk7CiAgICAgIHJldHVybiBhCiAgIH0KICAgbi5leHRlbmQoewogICAgICBodG1sUHJlZmlsdGVyOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gYS5yZXBsYWNlKHZhLCAiPCQxPjwvJDI+IikKICAgICAgfSwKICAgICAgY2xvbmU6IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgIHZhciBkLCBlLCBmLCBnLCBoLCBpID0gbi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsIGEpOwogICAgICAgICBpZiAobC5odG1sNUNsb25lIHx8IG4uaXNYTUxEb2MoYSkgfHwgIXVhLnRlc3QoIjwiICsgYS5ub2RlTmFtZSArICI+IikgPyBmID0gYS5jbG9uZU5vZGUoITApIDogKEJhLmlubmVySFRNTCA9IGEub3V0ZXJIVE1MLCBCYS5yZW1vdmVDaGlsZChmID0gQmEuZmlyc3RDaGlsZCkpLCAhKGwubm9DbG9uZUV2ZW50ICYmIGwubm9DbG9uZUNoZWNrZWQgfHwgMSAhPT0gYS5ub2RlVHlwZSAmJiAxMSAhPT0gYS5ub2RlVHlwZSB8fCBuLmlzWE1MRG9jKGEpKSkKICAgICAgICAgICAgZm9yIChkID0gZWEoZiksIGggPSBlYShhKSwgZyA9IDA7IG51bGwgIT0gKGUgPSBoW2ddKTsgKytnKSBkW2ddICYmIEdhKGUsIGRbZ10pOwogICAgICAgICBpZiAoYikKICAgICAgICAgICAgaWYgKGMpCiAgICAgICAgICAgICAgIGZvciAoaCA9IGggfHwgZWEoYSksIGQgPSBkIHx8IGVhKGYpLCBnID0gMDsgbnVsbCAhPSAoZSA9IGhbZ10pOyBnKyspIEZhKGUsIGRbZ10pOwogICAgICAgICAgICBlbHNlIEZhKGEsIGYpOwogICAgICAgICByZXR1cm4gZCA9IGVhKGYsICJzY3JpcHQiKSwgZC5sZW5ndGggPiAwICYmIGZhKGQsICFpICYmIGVhKGEsICJzY3JpcHQiKSksIGQgPSBoID0gZSA9IG51bGwsIGYKICAgICAgfSwKICAgICAgY2xlYW5EYXRhOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICBmb3IgKHZhciBkLCBlLCBmLCBnLCBoID0gMCwgaSA9IG4uZXhwYW5kbywgaiA9IG4uY2FjaGUsIGsgPSBsLmF0dHJpYnV0ZXMsIG0gPSBuLmV2ZW50LnNwZWNpYWw7IG51bGwgIT0gKGQgPSBhW2hdKTsgaCsrKQogICAgICAgICAgICBpZiAoKGIgfHwgTShkKSkgJiYgKGYgPSBkW2ldLCBnID0gZiAmJiBqW2ZdKSkgewogICAgICAgICAgICAgICBpZiAoZy5ldmVudHMpCiAgICAgICAgICAgICAgICAgIGZvciAoZSBpbiBnLmV2ZW50cykgbVtlXSA/IG4uZXZlbnQucmVtb3ZlKGQsIGUpIDogbi5yZW1vdmVFdmVudChkLCBlLCBnLmhhbmRsZSk7CiAgICAgICAgICAgICAgIGpbZl0gJiYgKGRlbGV0ZSBqW2ZdLCBrIHx8ICJ1bmRlZmluZWQiID09IHR5cGVvZiBkLnJlbW92ZUF0dHJpYnV0ZSA/IGRbaV0gPSB2b2lkIDAgOiBkLnJlbW92ZUF0dHJpYnV0ZShpKSwgYy5wdXNoKGYpKQogICAgICAgICAgICB9CiAgICAgIH0KICAgfSksIG4uZm4uZXh0ZW5kKHsKICAgICAgZG9tTWFuaXA6IEhhLAogICAgICBkZXRhY2g6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiBJYSh0aGlzLCBhLCAhMCkKICAgICAgfSwKICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gSWEodGhpcywgYSkKICAgICAgfSwKICAgICAgdGV4dDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIFkodGhpcywgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gYSA/IG4udGV4dCh0aGlzKSA6IHRoaXMuZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0gJiYgdGhpc1swXS5vd25lckRvY3VtZW50IHx8IGQpLmNyZWF0ZVRleHROb2RlKGEpKQogICAgICAgICB9LCBudWxsLCBhLCBhcmd1bWVudHMubGVuZ3RoKQogICAgICB9LAogICAgICBhcHBlbmQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIEhhKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgaWYgKDEgPT09IHRoaXMubm9kZVR5cGUgfHwgMTEgPT09IHRoaXMubm9kZVR5cGUgfHwgOSA9PT0gdGhpcy5ub2RlVHlwZSkgewogICAgICAgICAgICAgICB2YXIgYiA9IENhKHRoaXMsIGEpOwogICAgICAgICAgICAgICBiLmFwcGVuZENoaWxkKGEpCiAgICAgICAgICAgIH0KICAgICAgICAgfSkKICAgICAgfSwKICAgICAgcHJlcGVuZDogZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gSGEodGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICBpZiAoMSA9PT0gdGhpcy5ub2RlVHlwZSB8fCAxMSA9PT0gdGhpcy5ub2RlVHlwZSB8fCA5ID09PSB0aGlzLm5vZGVUeXBlKSB7CiAgICAgICAgICAgICAgIHZhciBiID0gQ2EodGhpcywgYSk7CiAgICAgICAgICAgICAgIGIuaW5zZXJ0QmVmb3JlKGEsIGIuZmlyc3RDaGlsZCkKICAgICAgICAgICAgfQogICAgICAgICB9KQogICAgICB9LAogICAgICBiZWZvcmU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIEhhKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgdGhpcy5wYXJlbnROb2RlICYmIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgdGhpcykKICAgICAgICAgfSkKICAgICAgfSwKICAgICAgYWZ0ZXI6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIEhhKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgdGhpcy5wYXJlbnROb2RlICYmIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgdGhpcy5uZXh0U2libGluZykKICAgICAgICAgfSkKICAgICAgfSwKICAgICAgZW1wdHk6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgZm9yICh2YXIgYSwgYiA9IDA7IG51bGwgIT0gKGEgPSB0aGlzW2JdKTsgYisrKSB7CiAgICAgICAgICAgIDEgPT09IGEubm9kZVR5cGUgJiYgbi5jbGVhbkRhdGEoZWEoYSwgITEpKTsKICAgICAgICAgICAgd2hpbGUgKGEuZmlyc3RDaGlsZCkgYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpOwogICAgICAgICAgICBhLm9wdGlvbnMgJiYgbi5ub2RlTmFtZShhLCAic2VsZWN0IikgJiYgKGEub3B0aW9ucy5sZW5ndGggPSAwKQogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0aGlzCiAgICAgIH0sCiAgICAgIGNsb25lOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICByZXR1cm4gYSA9IG51bGwgPT0gYSA/ICExIDogYSwgYiA9IG51bGwgPT0gYiA/IGEgOiBiLCB0aGlzLm1hcChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBuLmNsb25lKHRoaXMsIGEsIGIpCiAgICAgICAgIH0pCiAgICAgIH0sCiAgICAgIGh0bWw6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiBZKHRoaXMsIGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHZhciBiID0gdGhpc1swXSB8fCB7fSwKICAgICAgICAgICAgICAgYyA9IDAsCiAgICAgICAgICAgICAgIGQgPSB0aGlzLmxlbmd0aDsKICAgICAgICAgICAgaWYgKHZvaWQgMCA9PT0gYSkgcmV0dXJuIDEgPT09IGIubm9kZVR5cGUgPyBiLmlubmVySFRNTC5yZXBsYWNlKHRhLCAiIikgOiB2b2lkIDA7CiAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgYSAmJiAhd2EudGVzdChhKSAmJiAobC5odG1sU2VyaWFsaXplIHx8ICF1YS50ZXN0KGEpKSAmJiAobC5sZWFkaW5nV2hpdGVzcGFjZSB8fCAhYWEudGVzdChhKSkgJiYgIWRhWygkLmV4ZWMoYSkgfHwgWyIiLCAiIl0pWzFdLnRvTG93ZXJDYXNlKCldKSB7CiAgICAgICAgICAgICAgIGEgPSBuLmh0bWxQcmVmaWx0ZXIoYSk7CiAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgIGZvciAoOyBkID4gYzsgYysrKSBiID0gdGhpc1tjXSB8fCB7fSwgMSA9PT0gYi5ub2RlVHlwZSAmJiAobi5jbGVhbkRhdGEoZWEoYiwgITEpKSwgYi5pbm5lckhUTUwgPSBhKTsKICAgICAgICAgICAgICAgICAgYiA9IDAKICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgfQogICAgICAgICAgICBiICYmIHRoaXMuZW1wdHkoKS5hcHBlbmQoYSkKICAgICAgICAgfSwgbnVsbCwgYSwgYXJndW1lbnRzLmxlbmd0aCkKICAgICAgfSwKICAgICAgcmVwbGFjZVdpdGg6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIGEgPSBbXTsKICAgICAgICAgcmV0dXJuIEhhKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24gKGIpIHsKICAgICAgICAgICAgdmFyIGMgPSB0aGlzLnBhcmVudE5vZGU7CiAgICAgICAgICAgIG4uaW5BcnJheSh0aGlzLCBhKSA8IDAgJiYgKG4uY2xlYW5EYXRhKGVhKHRoaXMpKSwgYyAmJiBjLnJlcGxhY2VDaGlsZChiLCB0aGlzKSkKICAgICAgICAgfSwgYSkKICAgICAgfQogICB9KSwgbi5lYWNoKHsKICAgICAgYXBwZW5kVG86ICJhcHBlbmQiLAogICAgICBwcmVwZW5kVG86ICJwcmVwZW5kIiwKICAgICAgaW5zZXJ0QmVmb3JlOiAiYmVmb3JlIiwKICAgICAgaW5zZXJ0QWZ0ZXI6ICJhZnRlciIsCiAgICAgIHJlcGxhY2VBbGw6ICJyZXBsYWNlV2l0aCIKICAgfSwgZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgbi5mblthXSA9IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIGZvciAodmFyIGMsIGQgPSAwLCBlID0gW10sIGYgPSBuKGEpLCBoID0gZi5sZW5ndGggLSAxOyBoID49IGQ7IGQrKykgYyA9IGQgPT09IGggPyB0aGlzIDogdGhpcy5jbG9uZSghMCksIG4oZltkXSlbYl0oYyksIGcuYXBwbHkoZSwgYy5nZXQoKSk7CiAgICAgICAgIHJldHVybiB0aGlzLnB1c2hTdGFjayhlKQogICAgICB9CiAgIH0pOwogICB2YXIgSmEsIEthID0gewogICAgICBIVE1MOiAiYmxvY2siLAogICAgICBCT0RZOiAiYmxvY2siCiAgIH07CgogICBmdW5jdGlvbiBMYShhLCBiKSB7CiAgICAgIHZhciBjID0gbihiLmNyZWF0ZUVsZW1lbnQoYSkpLmFwcGVuZFRvKGIuYm9keSksCiAgICAgICAgIGQgPSBuLmNzcyhjWzBdLCAiZGlzcGxheSIpOwogICAgICByZXR1cm4gYy5kZXRhY2goKSwgZAogICB9CgogICBmdW5jdGlvbiBNYShhKSB7CiAgICAgIHZhciBiID0gZCwKICAgICAgICAgYyA9IEthW2FdOwogICAgICByZXR1cm4gYyB8fCAoYyA9IExhKGEsIGIpLCAibm9uZSIgIT09IGMgJiYgYyB8fCAoSmEgPSAoSmEgfHwgbigiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksIGIgPSAoSmFbMF0uY29udGVudFdpbmRvdyB8fCBKYVswXS5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50LCBiLndyaXRlKCksIGIuY2xvc2UoKSwgYyA9IExhKGEsIGIpLCBKYS5kZXRhY2goKSksIEthW2FdID0gYyksIGMKICAgfQogICB2YXIgTmEgPSAvXm1hcmdpbi8sCiAgICAgIE9hID0gbmV3IFJlZ0V4cCgiXigiICsgVCArICIpKD8hcHgpW2EteiVdKyQiLCAiaSIpLAogICAgICBQYSA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7CiAgICAgICAgIHZhciBlLCBmLCBnID0ge307CiAgICAgICAgIGZvciAoZiBpbiBiKSBnW2ZdID0gYS5zdHlsZVtmXSwgYS5zdHlsZVtmXSA9IGJbZl07CiAgICAgICAgIGUgPSBjLmFwcGx5KGEsIGQgfHwgW10pOwogICAgICAgICBmb3IgKGYgaW4gYikgYS5zdHlsZVtmXSA9IGdbZl07CiAgICAgICAgIHJldHVybiBlCiAgICAgIH0sCiAgICAgIFFhID0gZC5kb2N1bWVudEVsZW1lbnQ7CiAgICEgZnVuY3Rpb24gKCkgewogICAgICB2YXIgYiwgYywgZSwgZiwgZywgaCwgaSA9IGQuY3JlYXRlRWxlbWVudCgiZGl2IiksCiAgICAgICAgIGogPSBkLmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICBpZiAoai5zdHlsZSkgewogICAgICAgICBqLnN0eWxlLmNzc1RleHQgPSAiZmxvYXQ6bGVmdDtvcGFjaXR5Oi41IiwgbC5vcGFjaXR5ID0gIjAuNSIgPT09IGouc3R5bGUub3BhY2l0eSwgbC5jc3NGbG9hdCA9ICEhai5zdHlsZS5jc3NGbG9hdCwgai5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICJjb250ZW50LWJveCIsIGouY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICIiLCBsLmNsZWFyQ2xvbmVTdHlsZSA9ICJjb250ZW50LWJveCIgPT09IGouc3R5bGUuYmFja2dyb3VuZENsaXAsIGkgPSBkLmNyZWF0ZUVsZW1lbnQoImRpdiIpLCBpLnN0eWxlLmNzc1RleHQgPSAiYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxcHg7cG9zaXRpb246YWJzb2x1dGUiLCBqLmlubmVySFRNTCA9ICIiLCBpLmFwcGVuZENoaWxkKGopLCBsLmJveFNpemluZyA9ICIiID09PSBqLnN0eWxlLmJveFNpemluZyB8fCAiIiA9PT0gai5zdHlsZS5Nb3pCb3hTaXppbmcgfHwgIiIgPT09IGouc3R5bGUuV2Via2l0Qm94U2l6aW5nLCBuLmV4dGVuZChsLCB7CiAgICAgICAgICAgIHJlbGlhYmxlSGlkZGVuT2Zmc2V0czogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBiICYmIGsoKSwgZgogICAgICAgICAgICB9LAogICAgICAgICAgICBib3hTaXppbmdSZWxpYWJsZTogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBiICYmIGsoKSwgZQogICAgICAgICAgICB9LAogICAgICAgICAgICBwaXhlbE1hcmdpblJpZ2h0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IGIgJiYgaygpLCBjCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHBpeGVsUG9zaXRpb246IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gYiAmJiBrKCksIGIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcmVsaWFibGVNYXJnaW5SaWdodDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBiICYmIGsoKSwgZwogICAgICAgICAgICB9LAogICAgICAgICAgICByZWxpYWJsZU1hcmdpbkxlZnQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gYiAmJiBrKCksIGgKICAgICAgICAgICAgfQogICAgICAgICB9KTsKCiAgICAgICAgIGZ1bmN0aW9uIGsoKSB7CiAgICAgICAgICAgIHZhciBrLCBsLCBtID0gZC5kb2N1bWVudEVsZW1lbnQ7CiAgICAgICAgICAgIG0uYXBwZW5kQ2hpbGQoaSksIGouc3R5bGUuY3NzVGV4dCA9ICItd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3RvcDoxJTt3aWR0aDo1MCUiLCBiID0gZSA9IGggPSAhMSwgYyA9IGcgPSAhMCwgYS5nZXRDb21wdXRlZFN0eWxlICYmIChsID0gYS5nZXRDb21wdXRlZFN0eWxlKGopLCBiID0gIjElIiAhPT0gKGwgfHwge30pLnRvcCwgaCA9ICIycHgiID09PSAobCB8fCB7fSkubWFyZ2luTGVmdCwgZSA9ICI0cHgiID09PSAobCB8fCB7CiAgICAgICAgICAgICAgIHdpZHRoOiAiNHB4IgogICAgICAgICAgICB9KS53aWR0aCwgai5zdHlsZS5tYXJnaW5SaWdodCA9ICI1MCUiLCBjID0gIjRweCIgPT09IChsIHx8IHsKICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICI0cHgiCiAgICAgICAgICAgIH0pLm1hcmdpblJpZ2h0LCBrID0gai5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSwgay5zdHlsZS5jc3NUZXh0ID0gai5zdHlsZS5jc3NUZXh0ID0gIi13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MCIsIGsuc3R5bGUubWFyZ2luUmlnaHQgPSBrLnN0eWxlLndpZHRoID0gIjAiLCBqLnN0eWxlLndpZHRoID0gIjFweCIsIGcgPSAhcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGspIHx8IHt9KS5tYXJnaW5SaWdodCksIGoucmVtb3ZlQ2hpbGQoaykpLCBqLnN0eWxlLmRpc3BsYXkgPSAibm9uZSIsIGYgPSAwID09PSBqLmdldENsaWVudFJlY3RzKCkubGVuZ3RoLCBmICYmIChqLnN0eWxlLmRpc3BsYXkgPSAiIiwgai5pbm5lckhUTUwgPSAiPHRhYmxlPjx0cj48dGQ+PC90ZD48dGQ+dDwvdGQ+PC90cj48L3RhYmxlPiIsIGouY2hpbGROb2Rlc1swXS5zdHlsZS5ib3JkZXJDb2xsYXBzZSA9ICJzZXBhcmF0ZSIsIGsgPSBqLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpLCBrWzBdLnN0eWxlLmNzc1RleHQgPSAibWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowO2Rpc3BsYXk6bm9uZSIsIGYgPSAwID09PSBrWzBdLm9mZnNldEhlaWdodCwgZiAmJiAoa1swXS5zdHlsZS5kaXNwbGF5ID0gIiIsIGtbMV0uc3R5bGUuZGlzcGxheSA9ICJub25lIiwgZiA9IDAgPT09IGtbMF0ub2Zmc2V0SGVpZ2h0KSksIG0ucmVtb3ZlQ2hpbGQoaSkKICAgICAgICAgfQogICAgICB9CiAgIH0oKTsKICAgdmFyIFJhLCBTYSwgVGEgPSAvXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87CiAgIGEuZ2V0Q29tcHV0ZWRTdHlsZSA/IChSYSA9IGZ1bmN0aW9uIChiKSB7CiAgICAgIHZhciBjID0gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3OwogICAgICByZXR1cm4gYyAmJiBjLm9wZW5lciB8fCAoYyA9IGEpLCBjLmdldENvbXB1dGVkU3R5bGUoYikKICAgfSwgU2EgPSBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICB2YXIgZCwgZSwgZiwgZywgaCA9IGEuc3R5bGU7CiAgICAgIHJldHVybiBjID0gYyB8fCBSYShhKSwgZyA9IGMgPyBjLmdldFByb3BlcnR5VmFsdWUoYikgfHwgY1tiXSA6IHZvaWQgMCwgIiIgIT09IGcgJiYgdm9pZCAwICE9PSBnIHx8IG4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LCBhKSB8fCAoZyA9IG4uc3R5bGUoYSwgYikpLCBjICYmICFsLnBpeGVsTWFyZ2luUmlnaHQoKSAmJiBPYS50ZXN0KGcpICYmIE5hLnRlc3QoYikgJiYgKGQgPSBoLndpZHRoLCBlID0gaC5taW5XaWR0aCwgZiA9IGgubWF4V2lkdGgsIGgubWluV2lkdGggPSBoLm1heFdpZHRoID0gaC53aWR0aCA9IGcsIGcgPSBjLndpZHRoLCBoLndpZHRoID0gZCwgaC5taW5XaWR0aCA9IGUsIGgubWF4V2lkdGggPSBmKSwgdm9pZCAwID09PSBnID8gZyA6IGcgKyAiIgogICB9KSA6IFFhLmN1cnJlbnRTdHlsZSAmJiAoUmEgPSBmdW5jdGlvbiAoYSkgewogICAgICByZXR1cm4gYS5jdXJyZW50U3R5bGUKICAgfSwgU2EgPSBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICB2YXIgZCwgZSwgZiwgZywgaCA9IGEuc3R5bGU7CiAgICAgIHJldHVybiBjID0gYyB8fCBSYShhKSwgZyA9IGMgPyBjW2JdIDogdm9pZCAwLCBudWxsID09IGcgJiYgaCAmJiBoW2JdICYmIChnID0gaFtiXSksIE9hLnRlc3QoZykgJiYgIVRhLnRlc3QoYikgJiYgKGQgPSBoLmxlZnQsIGUgPSBhLnJ1bnRpbWVTdHlsZSwgZiA9IGUgJiYgZS5sZWZ0LCBmICYmIChlLmxlZnQgPSBhLmN1cnJlbnRTdHlsZS5sZWZ0KSwgaC5sZWZ0ID0gImZvbnRTaXplIiA9PT0gYiA/ICIxZW0iIDogZywgZyA9IGgucGl4ZWxMZWZ0ICsgInB4IiwgaC5sZWZ0ID0gZCwgZiAmJiAoZS5sZWZ0ID0gZikpLCB2b2lkIDAgPT09IGcgPyBnIDogZyArICIiIHx8ICJhdXRvIgogICB9KTsKCiAgIGZ1bmN0aW9uIFVhKGEsIGIpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBhKCkgPyB2b2lkIGRlbGV0ZSB0aGlzLmdldCA6ICh0aGlzLmdldCA9IGIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykKICAgICAgICAgfQogICAgICB9CiAgIH0KICAgdmFyIFZhID0gL2FscGhhXChbXildKlwpL2ksCiAgICAgIFdhID0gL29wYWNpdHlccyo9XHMqKFteKV0qKS9pLAogICAgICBYYSA9IC9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLywKICAgICAgWWEgPSBuZXcgUmVnRXhwKCJeKCIgKyBUICsgIikoLiopJCIsICJpIiksCiAgICAgIFphID0gewogICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIsCiAgICAgICAgIGRpc3BsYXk6ICJibG9jayIKICAgICAgfSwKICAgICAgJGEgPSB7CiAgICAgICAgIGxldHRlclNwYWNpbmc6ICIwIiwKICAgICAgICAgZm9udFdlaWdodDogIjQwMCIKICAgICAgfSwKICAgICAgX2EgPSBbIldlYmtpdCIsICJPIiwgIk1veiIsICJtcyJdLAogICAgICBhYiA9IGQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGU7CgogICBmdW5jdGlvbiBiYihhKSB7CiAgICAgIGlmIChhIGluIGFiKSByZXR1cm4gYTsKICAgICAgdmFyIGIgPSBhLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgYS5zbGljZSgxKSwKICAgICAgICAgYyA9IF9hLmxlbmd0aDsKICAgICAgd2hpbGUgKGMtLSkKICAgICAgICAgaWYgKGEgPSBfYVtjXSArIGIsIGEgaW4gYWIpIHJldHVybiBhCiAgIH0KCiAgIGZ1bmN0aW9uIGNiKGEsIGIpIHsKICAgICAgZm9yICh2YXIgYywgZCwgZSwgZiA9IFtdLCBnID0gMCwgaCA9IGEubGVuZ3RoOyBoID4gZzsgZysrKSBkID0gYVtnXSwgZC5zdHlsZSAmJiAoZltnXSA9IG4uX2RhdGEoZCwgIm9sZGRpc3BsYXkiKSwgYyA9IGQuc3R5bGUuZGlzcGxheSwgYiA/IChmW2ddIHx8ICJub25lIiAhPT0gYyB8fCAoZC5zdHlsZS5kaXNwbGF5ID0gIiIpLCAiIiA9PT0gZC5zdHlsZS5kaXNwbGF5ICYmIFcoZCkgJiYgKGZbZ10gPSBuLl9kYXRhKGQsICJvbGRkaXNwbGF5IiwgTWEoZC5ub2RlTmFtZSkpKSkgOiAoZSA9IFcoZCksIChjICYmICJub25lIiAhPT0gYyB8fCAhZSkgJiYgbi5fZGF0YShkLCAib2xkZGlzcGxheSIsIGUgPyBjIDogbi5jc3MoZCwgImRpc3BsYXkiKSkpKTsKICAgICAgZm9yIChnID0gMDsgaCA+IGc7IGcrKykgZCA9IGFbZ10sIGQuc3R5bGUgJiYgKGIgJiYgIm5vbmUiICE9PSBkLnN0eWxlLmRpc3BsYXkgJiYgIiIgIT09IGQuc3R5bGUuZGlzcGxheSB8fCAoZC5zdHlsZS5kaXNwbGF5ID0gYiA/IGZbZ10gfHwgIiIgOiAibm9uZSIpKTsKICAgICAgcmV0dXJuIGEKICAgfQoKICAgZnVuY3Rpb24gZGIoYSwgYiwgYykgewogICAgICB2YXIgZCA9IFlhLmV4ZWMoYik7CiAgICAgIHJldHVybiBkID8gTWF0aC5tYXgoMCwgZFsxXSAtIChjIHx8IDApKSArIChkWzJdIHx8ICJweCIpIDogYgogICB9CgogICBmdW5jdGlvbiBlYihhLCBiLCBjLCBkLCBlKSB7CiAgICAgIGZvciAodmFyIGYgPSBjID09PSAoZCA/ICJib3JkZXIiIDogImNvbnRlbnQiKSA/IDQgOiAid2lkdGgiID09PSBiID8gMSA6IDAsIGcgPSAwOyA0ID4gZjsgZiArPSAyKSAibWFyZ2luIiA9PT0gYyAmJiAoZyArPSBuLmNzcyhhLCBjICsgVltmXSwgITAsIGUpKSwgZCA/ICgiY29udGVudCIgPT09IGMgJiYgKGcgLT0gbi5jc3MoYSwgInBhZGRpbmciICsgVltmXSwgITAsIGUpKSwgIm1hcmdpbiIgIT09IGMgJiYgKGcgLT0gbi5jc3MoYSwgImJvcmRlciIgKyBWW2ZdICsgIldpZHRoIiwgITAsIGUpKSkgOiAoZyArPSBuLmNzcyhhLCAicGFkZGluZyIgKyBWW2ZdLCAhMCwgZSksICJwYWRkaW5nIiAhPT0gYyAmJiAoZyArPSBuLmNzcyhhLCAiYm9yZGVyIiArIFZbZl0gKyAiV2lkdGgiLCAhMCwgZSkpKTsKICAgICAgcmV0dXJuIGcKICAgfQoKICAgZnVuY3Rpb24gZmIoYSwgYiwgYykgewogICAgICB2YXIgZCA9ICEwLAogICAgICAgICBlID0gIndpZHRoIiA9PT0gYiA/IGEub2Zmc2V0V2lkdGggOiBhLm9mZnNldEhlaWdodCwKICAgICAgICAgZiA9IFJhKGEpLAogICAgICAgICBnID0gbC5ib3hTaXppbmcgJiYgImJvcmRlci1ib3giID09PSBuLmNzcyhhLCAiYm94U2l6aW5nIiwgITEsIGYpOwogICAgICBpZiAoMCA+PSBlIHx8IG51bGwgPT0gZSkgewogICAgICAgICBpZiAoZSA9IFNhKGEsIGIsIGYpLCAoMCA+IGUgfHwgbnVsbCA9PSBlKSAmJiAoZSA9IGEuc3R5bGVbYl0pLCBPYS50ZXN0KGUpKSByZXR1cm4gZTsKICAgICAgICAgZCA9IGcgJiYgKGwuYm94U2l6aW5nUmVsaWFibGUoKSB8fCBlID09PSBhLnN0eWxlW2JdKSwgZSA9IHBhcnNlRmxvYXQoZSkgfHwgMAogICAgICB9CiAgICAgIHJldHVybiBlICsgZWIoYSwgYiwgYyB8fCAoZyA/ICJib3JkZXIiIDogImNvbnRlbnQiKSwgZCwgZikgKyAicHgiCiAgIH0KICAgbi5leHRlbmQoewogICAgICBjc3NIb29rczogewogICAgICAgICBvcGFjaXR5OiB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgICAgaWYgKGIpIHsKICAgICAgICAgICAgICAgICAgdmFyIGMgPSBTYShhLCAib3BhY2l0eSIpOwogICAgICAgICAgICAgICAgICByZXR1cm4gIiIgPT09IGMgPyAiMSIgOiBjCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgIH0sCiAgICAgIGNzc051bWJlcjogewogICAgICAgICBhbmltYXRpb25JdGVyYXRpb25Db3VudDogITAsCiAgICAgICAgIGNvbHVtbkNvdW50OiAhMCwKICAgICAgICAgZmlsbE9wYWNpdHk6ICEwLAogICAgICAgICBmbGV4R3JvdzogITAsCiAgICAgICAgIGZsZXhTaHJpbms6ICEwLAogICAgICAgICBmb250V2VpZ2h0OiAhMCwKICAgICAgICAgbGluZUhlaWdodDogITAsCiAgICAgICAgIG9wYWNpdHk6ICEwLAogICAgICAgICBvcmRlcjogITAsCiAgICAgICAgIG9ycGhhbnM6ICEwLAogICAgICAgICB3aWRvd3M6ICEwLAogICAgICAgICB6SW5kZXg6ICEwLAogICAgICAgICB6b29tOiAhMAogICAgICB9LAogICAgICBjc3NQcm9wczogewogICAgICAgICAiZmxvYXQiOiBsLmNzc0Zsb2F0ID8gImNzc0Zsb2F0IiA6ICJzdHlsZUZsb2F0IgogICAgICB9LAogICAgICBzdHlsZTogZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsKICAgICAgICAgaWYgKGEgJiYgMyAhPT0gYS5ub2RlVHlwZSAmJiA4ICE9PSBhLm5vZGVUeXBlICYmIGEuc3R5bGUpIHsKICAgICAgICAgICAgdmFyIGUsIGYsIGcsIGggPSBuLmNhbWVsQ2FzZShiKSwKICAgICAgICAgICAgICAgaSA9IGEuc3R5bGU7CiAgICAgICAgICAgIGlmIChiID0gbi5jc3NQcm9wc1toXSB8fCAobi5jc3NQcm9wc1toXSA9IGJiKGgpIHx8IGgpLCBnID0gbi5jc3NIb29rc1tiXSB8fCBuLmNzc0hvb2tzW2hdLCB2b2lkIDAgPT09IGMpIHJldHVybiBnICYmICJnZXQiIGluIGcgJiYgdm9pZCAwICE9PSAoZSA9IGcuZ2V0KGEsICExLCBkKSkgPyBlIDogaVtiXTsKICAgICAgICAgICAgaWYgKGYgPSB0eXBlb2YgYywgInN0cmluZyIgPT09IGYgJiYgKGUgPSBVLmV4ZWMoYykpICYmIGVbMV0gJiYgKGMgPSBYKGEsIGIsIGUpLCBmID0gIm51bWJlciIpLCBudWxsICE9IGMgJiYgYyA9PT0gYyAmJiAoIm51bWJlciIgPT09IGYgJiYgKGMgKz0gZSAmJiBlWzNdIHx8IChuLmNzc051bWJlcltoXSA/ICIiIDogInB4IikpLCBsLmNsZWFyQ2xvbmVTdHlsZSB8fCAiIiAhPT0gYyB8fCAwICE9PSBiLmluZGV4T2YoImJhY2tncm91bmQiKSB8fCAoaVtiXSA9ICJpbmhlcml0IiksICEoZyAmJiAic2V0IiBpbiBnICYmIHZvaWQgMCA9PT0gKGMgPSBnLnNldChhLCBjLCBkKSkpKSkgdHJ5IHsKICAgICAgICAgICAgICAgaVtiXSA9IGMKICAgICAgICAgICAgfSBjYXRjaCAoaikge30KICAgICAgICAgfQogICAgICB9LAogICAgICBjc3M6IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7CiAgICAgICAgIHZhciBlLCBmLCBnLCBoID0gbi5jYW1lbENhc2UoYik7CiAgICAgICAgIHJldHVybiBiID0gbi5jc3NQcm9wc1toXSB8fCAobi5jc3NQcm9wc1toXSA9IGJiKGgpIHx8IGgpLCBnID0gbi5jc3NIb29rc1tiXSB8fCBuLmNzc0hvb2tzW2hdLCBnICYmICJnZXQiIGluIGcgJiYgKGYgPSBnLmdldChhLCAhMCwgYykpLCB2b2lkIDAgPT09IGYgJiYgKGYgPSBTYShhLCBiLCBkKSksICJub3JtYWwiID09PSBmICYmIGIgaW4gJGEgJiYgKGYgPSAkYVtiXSksICIiID09PSBjIHx8IGMgPyAoZSA9IHBhcnNlRmxvYXQoZiksIGMgPT09ICEwIHx8IGlzRmluaXRlKGUpID8gZSB8fCAwIDogZikgOiBmCiAgICAgIH0KICAgfSksIG4uZWFjaChbImhlaWdodCIsICJ3aWR0aCJdLCBmdW5jdGlvbiAoYSwgYikgewogICAgICBuLmNzc0hvb2tzW2JdID0gewogICAgICAgICBnZXQ6IGZ1bmN0aW9uIChhLCBjLCBkKSB7CiAgICAgICAgICAgIHJldHVybiBjID8gWGEudGVzdChuLmNzcyhhLCAiZGlzcGxheSIpKSAmJiAwID09PSBhLm9mZnNldFdpZHRoID8gUGEoYSwgWmEsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGZiKGEsIGIsIGQpCiAgICAgICAgICAgIH0pIDogZmIoYSwgYiwgZCkgOiB2b2lkIDAKICAgICAgICAgfSwKICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYSwgYywgZCkgewogICAgICAgICAgICB2YXIgZSA9IGQgJiYgUmEoYSk7CiAgICAgICAgICAgIHJldHVybiBkYihhLCBjLCBkID8gZWIoYSwgYiwgZCwgbC5ib3hTaXppbmcgJiYgImJvcmRlci1ib3giID09PSBuLmNzcyhhLCAiYm94U2l6aW5nIiwgITEsIGUpLCBlKSA6IDApCiAgICAgICAgIH0KICAgICAgfQogICB9KSwgbC5vcGFjaXR5IHx8IChuLmNzc0hvb2tzLm9wYWNpdHkgPSB7CiAgICAgIGdldDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgcmV0dXJuIFdhLnRlc3QoKGIgJiYgYS5jdXJyZW50U3R5bGUgPyBhLmN1cnJlbnRTdHlsZS5maWx0ZXIgOiBhLnN0eWxlLmZpbHRlcikgfHwgIiIpID8gLjAxICogcGFyc2VGbG9hdChSZWdFeHAuJDEpICsgIiIgOiBiID8gIjEiIDogIiIKICAgICAgfSwKICAgICAgc2V0OiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICB2YXIgYyA9IGEuc3R5bGUsCiAgICAgICAgICAgIGQgPSBhLmN1cnJlbnRTdHlsZSwKICAgICAgICAgICAgZSA9IG4uaXNOdW1lcmljKGIpID8gImFscGhhKG9wYWNpdHk9IiArIDEwMCAqIGIgKyAiKSIgOiAiIiwKICAgICAgICAgICAgZiA9IGQgJiYgZC5maWx0ZXIgfHwgYy5maWx0ZXIgfHwgIiI7CiAgICAgICAgIGMuem9vbSA9IDEsIChiID49IDEgfHwgIiIgPT09IGIpICYmICIiID09PSBuLnRyaW0oZi5yZXBsYWNlKFZhLCAiIikpICYmIGMucmVtb3ZlQXR0cmlidXRlICYmIChjLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIiksICIiID09PSBiIHx8IGQgJiYgIWQuZmlsdGVyKSB8fCAoYy5maWx0ZXIgPSBWYS50ZXN0KGYpID8gZi5yZXBsYWNlKFZhLCBlKSA6IGYgKyAiICIgKyBlKQogICAgICB9CiAgIH0pLCBuLmNzc0hvb2tzLm1hcmdpblJpZ2h0ID0gVWEobC5yZWxpYWJsZU1hcmdpblJpZ2h0LCBmdW5jdGlvbiAoYSwgYikgewogICAgICByZXR1cm4gYiA/IFBhKGEsIHsKICAgICAgICAgZGlzcGxheTogImlubGluZS1ibG9jayIKICAgICAgfSwgU2EsIFthLCAibWFyZ2luUmlnaHQiXSkgOiB2b2lkIDAKICAgfSksIG4uY3NzSG9va3MubWFyZ2luTGVmdCA9IFVhKGwucmVsaWFibGVNYXJnaW5MZWZ0LCBmdW5jdGlvbiAoYSwgYikgewogICAgICByZXR1cm4gYiA/IChwYXJzZUZsb2F0KFNhKGEsICJtYXJnaW5MZWZ0IikpIHx8IChuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCwgYSkgPyBhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLSBQYShhLCB7CiAgICAgICAgIG1hcmdpbkxlZnQ6IDAKICAgICAgfSwgZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0CiAgICAgIH0pIDogMCkpICsgInB4IiA6IHZvaWQgMAogICB9KSwgbi5lYWNoKHsKICAgICAgbWFyZ2luOiAiIiwKICAgICAgcGFkZGluZzogIiIsCiAgICAgIGJvcmRlcjogIldpZHRoIgogICB9LCBmdW5jdGlvbiAoYSwgYikgewogICAgICBuLmNzc0hvb2tzW2EgKyBiXSA9IHsKICAgICAgICAgZXhwYW5kOiBmdW5jdGlvbiAoYykgewogICAgICAgICAgICBmb3IgKHZhciBkID0gMCwgZSA9IHt9LCBmID0gInN0cmluZyIgPT0gdHlwZW9mIGMgPyBjLnNwbGl0KCIgIikgOiBbY107IDQgPiBkOyBkKyspIGVbYSArIFZbZF0gKyBiXSA9IGZbZF0gfHwgZltkIC0gMl0gfHwgZlswXTsKICAgICAgICAgICAgcmV0dXJuIGUKICAgICAgICAgfQogICAgICB9LCBOYS50ZXN0KGEpIHx8IChuLmNzc0hvb2tzW2EgKyBiXS5zZXQgPSBkYikKICAgfSksIG4uZm4uZXh0ZW5kKHsKICAgICAgY3NzOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICByZXR1cm4gWSh0aGlzLCBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICAgICB2YXIgZCwgZSwgZiA9IHt9LAogICAgICAgICAgICAgICBnID0gMDsKICAgICAgICAgICAgaWYgKG4uaXNBcnJheShiKSkgewogICAgICAgICAgICAgICBmb3IgKGQgPSBSYShhKSwgZSA9IGIubGVuZ3RoOyBlID4gZzsgZysrKSBmW2JbZ11dID0gbi5jc3MoYSwgYltnXSwgITEsIGQpOwogICAgICAgICAgICAgICByZXR1cm4gZgogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB2b2lkIDAgIT09IGMgPyBuLnN0eWxlKGEsIGIsIGMpIDogbi5jc3MoYSwgYikKICAgICAgICAgfSwgYSwgYiwgYXJndW1lbnRzLmxlbmd0aCA+IDEpCiAgICAgIH0sCiAgICAgIHNob3c6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIGNiKHRoaXMsICEwKQogICAgICB9LAogICAgICBoaWRlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHJldHVybiBjYih0aGlzKQogICAgICB9LAogICAgICB0b2dnbGU6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiAiYm9vbGVhbiIgPT0gdHlwZW9mIGEgPyBhID8gdGhpcy5zaG93KCkgOiB0aGlzLmhpZGUoKSA6IHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIFcodGhpcykgPyBuKHRoaXMpLnNob3coKSA6IG4odGhpcykuaGlkZSgpCiAgICAgICAgIH0pCiAgICAgIH0KICAgfSk7CgogICBmdW5jdGlvbiBnYihhLCBiLCBjLCBkLCBlKSB7CiAgICAgIHJldHVybiBuZXcgZ2IucHJvdG90eXBlLmluaXQoYSwgYiwgYywgZCwgZSkKICAgfQogICBuLlR3ZWVuID0gZ2IsIGdiLnByb3RvdHlwZSA9IHsKICAgICAgY29uc3RydWN0b3I6IGdiLAogICAgICBpbml0OiBmdW5jdGlvbiAoYSwgYiwgYywgZCwgZSwgZikgewogICAgICAgICB0aGlzLmVsZW0gPSBhLCB0aGlzLnByb3AgPSBjLCB0aGlzLmVhc2luZyA9IGUgfHwgbi5lYXNpbmcuX2RlZmF1bHQsIHRoaXMub3B0aW9ucyA9IGIsIHRoaXMuc3RhcnQgPSB0aGlzLm5vdyA9IHRoaXMuY3VyKCksIHRoaXMuZW5kID0gZCwgdGhpcy51bml0ID0gZiB8fCAobi5jc3NOdW1iZXJbY10gPyAiIiA6ICJweCIpCiAgICAgIH0sCiAgICAgIGN1cjogZnVuY3Rpb24gKCkgewogICAgICAgICB2YXIgYSA9IGdiLnByb3BIb29rc1t0aGlzLnByb3BdOwogICAgICAgICByZXR1cm4gYSAmJiBhLmdldCA/IGEuZ2V0KHRoaXMpIDogZ2IucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKQogICAgICB9LAogICAgICBydW46IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHZhciBiLCBjID0gZ2IucHJvcEhvb2tzW3RoaXMucHJvcF07CiAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24gPyB0aGlzLnBvcyA9IGIgPSBuLmVhc2luZ1t0aGlzLmVhc2luZ10oYSwgdGhpcy5vcHRpb25zLmR1cmF0aW9uICogYSwgMCwgMSwgdGhpcy5vcHRpb25zLmR1cmF0aW9uKSA6IHRoaXMucG9zID0gYiA9IGEsIHRoaXMubm93ID0gKHRoaXMuZW5kIC0gdGhpcy5zdGFydCkgKiBiICsgdGhpcy5zdGFydCwgdGhpcy5vcHRpb25zLnN0ZXAgJiYgdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sIHRoaXMubm93LCB0aGlzKSwgYyAmJiBjLnNldCA/IGMuc2V0KHRoaXMpIDogZ2IucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSwgdGhpcwogICAgICB9CiAgIH0sIGdiLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZSA9IGdiLnByb3RvdHlwZSwgZ2IucHJvcEhvb2tzID0gewogICAgICBfZGVmYXVsdDogewogICAgICAgICBnZXQ6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHZhciBiOwogICAgICAgICAgICByZXR1cm4gMSAhPT0gYS5lbGVtLm5vZGVUeXBlIHx8IG51bGwgIT0gYS5lbGVtW2EucHJvcF0gJiYgbnVsbCA9PSBhLmVsZW0uc3R5bGVbYS5wcm9wXSA/IGEuZWxlbVthLnByb3BdIDogKGIgPSBuLmNzcyhhLmVsZW0sIGEucHJvcCwgIiIpLCBiICYmICJhdXRvIiAhPT0gYiA/IGIgOiAwKQogICAgICAgICB9LAogICAgICAgICBzZXQ6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIG4uZnguc3RlcFthLnByb3BdID8gbi5meC5zdGVwW2EucHJvcF0oYSkgOiAxICE9PSBhLmVsZW0ubm9kZVR5cGUgfHwgbnVsbCA9PSBhLmVsZW0uc3R5bGVbbi5jc3NQcm9wc1thLnByb3BdXSAmJiAhbi5jc3NIb29rc1thLnByb3BdID8gYS5lbGVtW2EucHJvcF0gPSBhLm5vdyA6IG4uc3R5bGUoYS5lbGVtLCBhLnByb3AsIGEubm93ICsgYS51bml0KQogICAgICAgICB9CiAgICAgIH0KICAgfSwgZ2IucHJvcEhvb2tzLnNjcm9sbFRvcCA9IGdiLnByb3BIb29rcy5zY3JvbGxMZWZ0ID0gewogICAgICBzZXQ6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIGEuZWxlbS5ub2RlVHlwZSAmJiBhLmVsZW0ucGFyZW50Tm9kZSAmJiAoYS5lbGVtW2EucHJvcF0gPSBhLm5vdykKICAgICAgfQogICB9LCBuLmVhc2luZyA9IHsKICAgICAgbGluZWFyOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gYQogICAgICB9LAogICAgICBzd2luZzogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIC41IC0gTWF0aC5jb3MoYSAqIE1hdGguUEkpIC8gMgogICAgICB9LAogICAgICBfZGVmYXVsdDogInN3aW5nIgogICB9LCBuLmZ4ID0gZ2IucHJvdG90eXBlLmluaXQsIG4uZnguc3RlcCA9IHt9OwogICB2YXIgaGIsIGliLCBqYiA9IC9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLywKICAgICAga2IgPSAvcXVldWVIb29rcyQvOwoKICAgZnVuY3Rpb24gbGIoKSB7CiAgICAgIHJldHVybiBhLnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICBoYiA9IHZvaWQgMAogICAgICB9KSwgaGIgPSBuLm5vdygpCiAgIH0KCiAgIGZ1bmN0aW9uIG1iKGEsIGIpIHsKICAgICAgdmFyIGMsIGQgPSB7CiAgICAgICAgICAgIGhlaWdodDogYQogICAgICAgICB9LAogICAgICAgICBlID0gMDsKICAgICAgZm9yIChiID0gYiA/IDEgOiAwOyA0ID4gZTsgZSArPSAyIC0gYikgYyA9IFZbZV0sIGRbIm1hcmdpbiIgKyBjXSA9IGRbInBhZGRpbmciICsgY10gPSBhOwogICAgICByZXR1cm4gYiAmJiAoZC5vcGFjaXR5ID0gZC53aWR0aCA9IGEpLCBkCiAgIH0KCiAgIGZ1bmN0aW9uIG5iKGEsIGIsIGMpIHsKICAgICAgZm9yICh2YXIgZCwgZSA9IChxYi50d2VlbmVyc1tiXSB8fCBbXSkuY29uY2F0KHFiLnR3ZWVuZXJzWyIqIl0pLCBmID0gMCwgZyA9IGUubGVuZ3RoOyBnID4gZjsgZisrKQogICAgICAgICBpZiAoZCA9IGVbZl0uY2FsbChjLCBiLCBhKSkgcmV0dXJuIGQKICAgfQoKICAgZnVuY3Rpb24gb2IoYSwgYiwgYykgewogICAgICB2YXIgZCwgZSwgZiwgZywgaCwgaSwgaiwgaywgbSA9IHRoaXMsCiAgICAgICAgIG8gPSB7fSwKICAgICAgICAgcCA9IGEuc3R5bGUsCiAgICAgICAgIHEgPSBhLm5vZGVUeXBlICYmIFcoYSksCiAgICAgICAgIHIgPSBuLl9kYXRhKGEsICJmeHNob3ciKTsKICAgICAgYy5xdWV1ZSB8fCAoaCA9IG4uX3F1ZXVlSG9va3MoYSwgImZ4IiksIG51bGwgPT0gaC51bnF1ZXVlZCAmJiAoaC51bnF1ZXVlZCA9IDAsIGkgPSBoLmVtcHR5LmZpcmUsIGguZW1wdHkuZmlyZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgaC51bnF1ZXVlZCB8fCBpKCkKICAgICAgfSksIGgudW5xdWV1ZWQrKywgbS5hbHdheXMoZnVuY3Rpb24gKCkgewogICAgICAgICBtLmFsd2F5cyhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGgudW5xdWV1ZWQtLSwgbi5xdWV1ZShhLCAiZngiKS5sZW5ndGggfHwgaC5lbXB0eS5maXJlKCkKICAgICAgICAgfSkKICAgICAgfSkpLCAxID09PSBhLm5vZGVUeXBlICYmICgiaGVpZ2h0IiBpbiBiIHx8ICJ3aWR0aCIgaW4gYikgJiYgKGMub3ZlcmZsb3cgPSBbcC5vdmVyZmxvdywgcC5vdmVyZmxvd1gsIHAub3ZlcmZsb3dZXSwgaiA9IG4uY3NzKGEsICJkaXNwbGF5IiksIGsgPSAibm9uZSIgPT09IGogPyBuLl9kYXRhKGEsICJvbGRkaXNwbGF5IikgfHwgTWEoYS5ub2RlTmFtZSkgOiBqLCAiaW5saW5lIiA9PT0gayAmJiAibm9uZSIgPT09IG4uY3NzKGEsICJmbG9hdCIpICYmIChsLmlubGluZUJsb2NrTmVlZHNMYXlvdXQgJiYgImlubGluZSIgIT09IE1hKGEubm9kZU5hbWUpID8gcC56b29tID0gMSA6IHAuZGlzcGxheSA9ICJpbmxpbmUtYmxvY2siKSksIGMub3ZlcmZsb3cgJiYgKHAub3ZlcmZsb3cgPSAiaGlkZGVuIiwgbC5zaHJpbmtXcmFwQmxvY2tzKCkgfHwgbS5hbHdheXMoZnVuY3Rpb24gKCkgewogICAgICAgICBwLm92ZXJmbG93ID0gYy5vdmVyZmxvd1swXSwgcC5vdmVyZmxvd1ggPSBjLm92ZXJmbG93WzFdLCBwLm92ZXJmbG93WSA9IGMub3ZlcmZsb3dbMl0KICAgICAgfSkpOwogICAgICBmb3IgKGQgaW4gYikKICAgICAgICAgaWYgKGUgPSBiW2RdLCBqYi5leGVjKGUpKSB7CiAgICAgICAgICAgIGlmIChkZWxldGUgYltkXSwgZiA9IGYgfHwgInRvZ2dsZSIgPT09IGUsIGUgPT09IChxID8gImhpZGUiIDogInNob3ciKSkgewogICAgICAgICAgICAgICBpZiAoInNob3ciICE9PSBlIHx8ICFyIHx8IHZvaWQgMCA9PT0gcltkXSkgY29udGludWU7CiAgICAgICAgICAgICAgIHEgPSAhMAogICAgICAgICAgICB9CiAgICAgICAgICAgIG9bZF0gPSByICYmIHJbZF0gfHwgbi5zdHlsZShhLCBkKQogICAgICAgICB9IGVsc2UgaiA9IHZvaWQgMDsKICAgICAgaWYgKG4uaXNFbXB0eU9iamVjdChvKSkgImlubGluZSIgPT09ICgibm9uZSIgPT09IGogPyBNYShhLm5vZGVOYW1lKSA6IGopICYmIChwLmRpc3BsYXkgPSBqKTsKICAgICAgZWxzZSB7CiAgICAgICAgIHIgPyAiaGlkZGVuIiBpbiByICYmIChxID0gci5oaWRkZW4pIDogciA9IG4uX2RhdGEoYSwgImZ4c2hvdyIsIHt9KSwgZiAmJiAoci5oaWRkZW4gPSAhcSksIHEgPyBuKGEpLnNob3coKSA6IG0uZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIG4oYSkuaGlkZSgpCiAgICAgICAgIH0pLCBtLmRvbmUoZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgYjsKICAgICAgICAgICAgbi5fcmVtb3ZlRGF0YShhLCAiZnhzaG93Iik7CiAgICAgICAgICAgIGZvciAoYiBpbiBvKSBuLnN0eWxlKGEsIGIsIG9bYl0pCiAgICAgICAgIH0pOwogICAgICAgICBmb3IgKGQgaW4gbykgZyA9IG5iKHEgPyByW2RdIDogMCwgZCwgbSksIGQgaW4gciB8fCAocltkXSA9IGcuc3RhcnQsIHEgJiYgKGcuZW5kID0gZy5zdGFydCwgZy5zdGFydCA9ICJ3aWR0aCIgPT09IGQgfHwgImhlaWdodCIgPT09IGQgPyAxIDogMCkpCiAgICAgIH0KICAgfQoKICAgZnVuY3Rpb24gcGIoYSwgYikgewogICAgICB2YXIgYywgZCwgZSwgZiwgZzsKICAgICAgZm9yIChjIGluIGEpCiAgICAgICAgIGlmIChkID0gbi5jYW1lbENhc2UoYyksIGUgPSBiW2RdLCBmID0gYVtjXSwgbi5pc0FycmF5KGYpICYmIChlID0gZlsxXSwgZiA9IGFbY10gPSBmWzBdKSwgYyAhPT0gZCAmJiAoYVtkXSA9IGYsIGRlbGV0ZSBhW2NdKSwgZyA9IG4uY3NzSG9va3NbZF0sIGcgJiYgImV4cGFuZCIgaW4gZykgewogICAgICAgICAgICBmID0gZy5leHBhbmQoZiksIGRlbGV0ZSBhW2RdOwogICAgICAgICAgICBmb3IgKGMgaW4gZikgYyBpbiBhIHx8IChhW2NdID0gZltjXSwgYltjXSA9IGUpCiAgICAgICAgIH0gZWxzZSBiW2RdID0gZQogICB9CgogICBmdW5jdGlvbiBxYihhLCBiLCBjKSB7CiAgICAgIHZhciBkLCBlLCBmID0gMCwKICAgICAgICAgZyA9IHFiLnByZWZpbHRlcnMubGVuZ3RoLAogICAgICAgICBoID0gbi5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGRlbGV0ZSBpLmVsZW0KICAgICAgICAgfSksCiAgICAgICAgIGkgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmIChlKSByZXR1cm4gITE7CiAgICAgICAgICAgIGZvciAodmFyIGIgPSBoYiB8fCBsYigpLCBjID0gTWF0aC5tYXgoMCwgai5zdGFydFRpbWUgKyBqLmR1cmF0aW9uIC0gYiksIGQgPSBjIC8gai5kdXJhdGlvbiB8fCAwLCBmID0gMSAtIGQsIGcgPSAwLCBpID0gai50d2VlbnMubGVuZ3RoOyBpID4gZzsgZysrKSBqLnR3ZWVuc1tnXS5ydW4oZik7CiAgICAgICAgICAgIHJldHVybiBoLm5vdGlmeVdpdGgoYSwgW2osIGYsIGNdKSwgMSA+IGYgJiYgaSA/IGMgOiAoaC5yZXNvbHZlV2l0aChhLCBbal0pLCAhMSkKICAgICAgICAgfSwKICAgICAgICAgaiA9IGgucHJvbWlzZSh7CiAgICAgICAgICAgIGVsZW06IGEsCiAgICAgICAgICAgIHByb3BzOiBuLmV4dGVuZCh7fSwgYiksCiAgICAgICAgICAgIG9wdHM6IG4uZXh0ZW5kKCEwLCB7CiAgICAgICAgICAgICAgIHNwZWNpYWxFYXNpbmc6IHt9LAogICAgICAgICAgICAgICBlYXNpbmc6IG4uZWFzaW5nLl9kZWZhdWx0CiAgICAgICAgICAgIH0sIGMpLAogICAgICAgICAgICBvcmlnaW5hbFByb3BlcnRpZXM6IGIsCiAgICAgICAgICAgIG9yaWdpbmFsT3B0aW9uczogYywKICAgICAgICAgICAgc3RhcnRUaW1lOiBoYiB8fCBsYigpLAogICAgICAgICAgICBkdXJhdGlvbjogYy5kdXJhdGlvbiwKICAgICAgICAgICAgdHdlZW5zOiBbXSwKICAgICAgICAgICAgY3JlYXRlVHdlZW46IGZ1bmN0aW9uIChiLCBjKSB7CiAgICAgICAgICAgICAgIHZhciBkID0gbi5Ud2VlbihhLCBqLm9wdHMsIGIsIGMsIGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdIHx8IGoub3B0cy5lYXNpbmcpOwogICAgICAgICAgICAgICByZXR1cm4gai50d2VlbnMucHVzaChkKSwgZAogICAgICAgICAgICB9LAogICAgICAgICAgICBzdG9wOiBmdW5jdGlvbiAoYikgewogICAgICAgICAgICAgICB2YXIgYyA9IDAsCiAgICAgICAgICAgICAgICAgIGQgPSBiID8gai50d2VlbnMubGVuZ3RoIDogMDsKICAgICAgICAgICAgICAgaWYgKGUpIHJldHVybiB0aGlzOwogICAgICAgICAgICAgICBmb3IgKGUgPSAhMDsgZCA+IGM7IGMrKykgai50d2VlbnNbY10ucnVuKDEpOwogICAgICAgICAgICAgICByZXR1cm4gYiA/IChoLm5vdGlmeVdpdGgoYSwgW2osIDEsIDBdKSwgaC5yZXNvbHZlV2l0aChhLCBbaiwgYl0pKSA6IGgucmVqZWN0V2l0aChhLCBbaiwgYl0pLCB0aGlzCiAgICAgICAgICAgIH0KICAgICAgICAgfSksCiAgICAgICAgIGsgPSBqLnByb3BzOwogICAgICBmb3IgKHBiKGssIGoub3B0cy5zcGVjaWFsRWFzaW5nKTsgZyA+IGY7IGYrKykKICAgICAgICAgaWYgKGQgPSBxYi5wcmVmaWx0ZXJzW2ZdLmNhbGwoaiwgYSwgaywgai5vcHRzKSkgcmV0dXJuIG4uaXNGdW5jdGlvbihkLnN0b3ApICYmIChuLl9xdWV1ZUhvb2tzKGouZWxlbSwgai5vcHRzLnF1ZXVlKS5zdG9wID0gbi5wcm94eShkLnN0b3AsIGQpKSwgZDsKICAgICAgcmV0dXJuIG4ubWFwKGssIG5iLCBqKSwgbi5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkgJiYgai5vcHRzLnN0YXJ0LmNhbGwoYSwgaiksIG4uZngudGltZXIobi5leHRlbmQoaSwgewogICAgICAgICBlbGVtOiBhLAogICAgICAgICBhbmltOiBqLAogICAgICAgICBxdWV1ZTogai5vcHRzLnF1ZXVlCiAgICAgIH0pKSwgai5wcm9ncmVzcyhqLm9wdHMucHJvZ3Jlc3MpLmRvbmUoai5vcHRzLmRvbmUsIGoub3B0cy5jb21wbGV0ZSkuZmFpbChqLm9wdHMuZmFpbCkuYWx3YXlzKGoub3B0cy5hbHdheXMpCiAgIH0KICAgbi5BbmltYXRpb24gPSBuLmV4dGVuZChxYiwgewogICAgICAgICB0d2VlbmVyczogewogICAgICAgICAgICAiKiI6IFtmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICAgICB2YXIgYyA9IHRoaXMuY3JlYXRlVHdlZW4oYSwgYik7CiAgICAgICAgICAgICAgIHJldHVybiBYKGMuZWxlbSwgYSwgVS5leGVjKGIpLCBjKSwgYwogICAgICAgICAgICB9XQogICAgICAgICB9LAogICAgICAgICB0d2VlbmVyOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICBuLmlzRnVuY3Rpb24oYSkgPyAoYiA9IGEsIGEgPSBbIioiXSkgOiBhID0gYS5tYXRjaChHKTsKICAgICAgICAgICAgZm9yICh2YXIgYywgZCA9IDAsIGUgPSBhLmxlbmd0aDsgZSA+IGQ7IGQrKykgYyA9IGFbZF0sIHFiLnR3ZWVuZXJzW2NdID0gcWIudHdlZW5lcnNbY10gfHwgW10sIHFiLnR3ZWVuZXJzW2NdLnVuc2hpZnQoYikKICAgICAgICAgfSwKICAgICAgICAgcHJlZmlsdGVyczogW29iXSwKICAgICAgICAgcHJlZmlsdGVyOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICBiID8gcWIucHJlZmlsdGVycy51bnNoaWZ0KGEpIDogcWIucHJlZmlsdGVycy5wdXNoKGEpCiAgICAgICAgIH0KICAgICAgfSksIG4uc3BlZWQgPSBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICB2YXIgZCA9IGEgJiYgIm9iamVjdCIgPT0gdHlwZW9mIGEgPyBuLmV4dGVuZCh7fSwgYSkgOiB7CiAgICAgICAgICAgIGNvbXBsZXRlOiBjIHx8ICFjICYmIGIgfHwgbi5pc0Z1bmN0aW9uKGEpICYmIGEsCiAgICAgICAgICAgIGR1cmF0aW9uOiBhLAogICAgICAgICAgICBlYXNpbmc6IGMgJiYgYiB8fCBiICYmICFuLmlzRnVuY3Rpb24oYikgJiYgYgogICAgICAgICB9OwogICAgICAgICByZXR1cm4gZC5kdXJhdGlvbiA9IG4uZngub2ZmID8gMCA6ICJudW1iZXIiID09IHR5cGVvZiBkLmR1cmF0aW9uID8gZC5kdXJhdGlvbiA6IGQuZHVyYXRpb24gaW4gbi5meC5zcGVlZHMgPyBuLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXSA6IG4uZnguc3BlZWRzLl9kZWZhdWx0LCBudWxsICE9IGQucXVldWUgJiYgZC5xdWV1ZSAhPT0gITAgfHwgKGQucXVldWUgPSAiZngiKSwgZC5vbGQgPSBkLmNvbXBsZXRlLCBkLmNvbXBsZXRlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICBuLmlzRnVuY3Rpb24oZC5vbGQpICYmIGQub2xkLmNhbGwodGhpcyksIGQucXVldWUgJiYgbi5kZXF1ZXVlKHRoaXMsIGQucXVldWUpCiAgICAgICAgIH0sIGQKICAgICAgfSwgbi5mbi5leHRlbmQoewogICAgICAgICBmYWRlVG86IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlcihXKS5jc3MoIm9wYWNpdHkiLCAwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7CiAgICAgICAgICAgICAgIG9wYWNpdHk6IGIKICAgICAgICAgICAgfSwgYSwgYywgZCkKICAgICAgICAgfSwKICAgICAgICAgYW5pbWF0ZTogZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsKICAgICAgICAgICAgdmFyIGUgPSBuLmlzRW1wdHlPYmplY3QoYSksCiAgICAgICAgICAgICAgIGYgPSBuLnNwZWVkKGIsIGMsIGQpLAogICAgICAgICAgICAgICBnID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICB2YXIgYiA9IHFiKHRoaXMsIG4uZXh0ZW5kKHt9LCBhKSwgZik7CiAgICAgICAgICAgICAgICAgIChlIHx8IG4uX2RhdGEodGhpcywgImZpbmlzaCIpKSAmJiBiLnN0b3AoITApCiAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIHJldHVybiBnLmZpbmlzaCA9IGcsIGUgfHwgZi5xdWV1ZSA9PT0gITEgPyB0aGlzLmVhY2goZykgOiB0aGlzLnF1ZXVlKGYucXVldWUsIGcpCiAgICAgICAgIH0sCiAgICAgICAgIHN0b3A6IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIHZhciBkID0gZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgdmFyIGIgPSBhLnN0b3A7CiAgICAgICAgICAgICAgIGRlbGV0ZSBhLnN0b3AsIGIoYykKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuICJzdHJpbmciICE9IHR5cGVvZiBhICYmIChjID0gYiwgYiA9IGEsIGEgPSB2b2lkIDApLCBiICYmIGEgIT09ICExICYmIHRoaXMucXVldWUoYSB8fCAiZngiLCBbXSksIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHZhciBiID0gITAsCiAgICAgICAgICAgICAgICAgIGUgPSBudWxsICE9IGEgJiYgYSArICJxdWV1ZUhvb2tzIiwKICAgICAgICAgICAgICAgICAgZiA9IG4udGltZXJzLAogICAgICAgICAgICAgICAgICBnID0gbi5fZGF0YSh0aGlzKTsKICAgICAgICAgICAgICAgaWYgKGUpIGdbZV0gJiYgZ1tlXS5zdG9wICYmIGQoZ1tlXSk7CiAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgZm9yIChlIGluIGcpIGdbZV0gJiYgZ1tlXS5zdG9wICYmIGtiLnRlc3QoZSkgJiYgZChnW2VdKTsKICAgICAgICAgICAgICAgZm9yIChlID0gZi5sZW5ndGg7IGUtLTspIGZbZV0uZWxlbSAhPT0gdGhpcyB8fCBudWxsICE9IGEgJiYgZltlXS5xdWV1ZSAhPT0gYSB8fCAoZltlXS5hbmltLnN0b3AoYyksIGIgPSAhMSwgZi5zcGxpY2UoZSwgMSkpOwogICAgICAgICAgICAgICAhYiAmJiBjIHx8IG4uZGVxdWV1ZSh0aGlzLCBhKQogICAgICAgICAgICB9KQogICAgICAgICB9LAogICAgICAgICBmaW5pc2g6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgIHJldHVybiBhICE9PSAhMSAmJiAoYSA9IGEgfHwgImZ4IiksIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHZhciBiLCBjID0gbi5fZGF0YSh0aGlzKSwKICAgICAgICAgICAgICAgICAgZCA9IGNbYSArICJxdWV1ZSJdLAogICAgICAgICAgICAgICAgICBlID0gY1thICsgInF1ZXVlSG9va3MiXSwKICAgICAgICAgICAgICAgICAgZiA9IG4udGltZXJzLAogICAgICAgICAgICAgICAgICBnID0gZCA/IGQubGVuZ3RoIDogMDsKICAgICAgICAgICAgICAgZm9yIChjLmZpbmlzaCA9ICEwLCBuLnF1ZXVlKHRoaXMsIGEsIFtdKSwgZSAmJiBlLnN0b3AgJiYgZS5zdG9wLmNhbGwodGhpcywgITApLCBiID0gZi5sZW5ndGg7IGItLTspIGZbYl0uZWxlbSA9PT0gdGhpcyAmJiBmW2JdLnF1ZXVlID09PSBhICYmIChmW2JdLmFuaW0uc3RvcCghMCksIGYuc3BsaWNlKGIsIDEpKTsKICAgICAgICAgICAgICAgZm9yIChiID0gMDsgZyA+IGI7IGIrKykgZFtiXSAmJiBkW2JdLmZpbmlzaCAmJiBkW2JdLmZpbmlzaC5jYWxsKHRoaXMpOwogICAgICAgICAgICAgICBkZWxldGUgYy5maW5pc2gKICAgICAgICAgICAgfSkKICAgICAgICAgfQogICAgICB9KSwgbi5lYWNoKFsidG9nZ2xlIiwgInNob3ciLCAiaGlkZSJdLCBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICB2YXIgYyA9IG4uZm5bYl07CiAgICAgICAgIG4uZm5bYl0gPSBmdW5jdGlvbiAoYSwgZCwgZSkgewogICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBhIHx8ICJib29sZWFuIiA9PSB0eXBlb2YgYSA/IGMuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHRoaXMuYW5pbWF0ZShtYihiLCAhMCksIGEsIGQsIGUpCiAgICAgICAgIH0KICAgICAgfSksIG4uZWFjaCh7CiAgICAgICAgIHNsaWRlRG93bjogbWIoInNob3ciKSwKICAgICAgICAgc2xpZGVVcDogbWIoImhpZGUiKSwKICAgICAgICAgc2xpZGVUb2dnbGU6IG1iKCJ0b2dnbGUiKSwKICAgICAgICAgZmFkZUluOiB7CiAgICAgICAgICAgIG9wYWNpdHk6ICJzaG93IgogICAgICAgICB9LAogICAgICAgICBmYWRlT3V0OiB7CiAgICAgICAgICAgIG9wYWNpdHk6ICJoaWRlIgogICAgICAgICB9LAogICAgICAgICBmYWRlVG9nZ2xlOiB7CiAgICAgICAgICAgIG9wYWNpdHk6ICJ0b2dnbGUiCiAgICAgICAgIH0KICAgICAgfSwgZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgbi5mblthXSA9IGZ1bmN0aW9uIChhLCBjLCBkKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmFuaW1hdGUoYiwgYSwgYywgZCkKICAgICAgICAgfQogICAgICB9KSwgbi50aW1lcnMgPSBbXSwgbi5meC50aWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgICB2YXIgYSwgYiA9IG4udGltZXJzLAogICAgICAgICAgICBjID0gMDsKICAgICAgICAgZm9yIChoYiA9IG4ubm93KCk7IGMgPCBiLmxlbmd0aDsgYysrKSBhID0gYltjXSwgYSgpIHx8IGJbY10gIT09IGEgfHwgYi5zcGxpY2UoYy0tLCAxKTsKICAgICAgICAgYi5sZW5ndGggfHwgbi5meC5zdG9wKCksIGhiID0gdm9pZCAwCiAgICAgIH0sIG4uZngudGltZXIgPSBmdW5jdGlvbiAoYSkgewogICAgICAgICBuLnRpbWVycy5wdXNoKGEpLCBhKCkgPyBuLmZ4LnN0YXJ0KCkgOiBuLnRpbWVycy5wb3AoKQogICAgICB9LCBuLmZ4LmludGVydmFsID0gMTMsIG4uZnguc3RhcnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGliIHx8IChpYiA9IGEuc2V0SW50ZXJ2YWwobi5meC50aWNrLCBuLmZ4LmludGVydmFsKSkKICAgICAgfSwgbi5meC5zdG9wID0gZnVuY3Rpb24gKCkgewogICAgICAgICBhLmNsZWFySW50ZXJ2YWwoaWIpLCBpYiA9IG51bGwKICAgICAgfSwgbi5meC5zcGVlZHMgPSB7CiAgICAgICAgIHNsb3c6IDYwMCwKICAgICAgICAgZmFzdDogMjAwLAogICAgICAgICBfZGVmYXVsdDogNDAwCiAgICAgIH0sIG4uZm4uZGVsYXkgPSBmdW5jdGlvbiAoYiwgYykgewogICAgICAgICByZXR1cm4gYiA9IG4uZnggPyBuLmZ4LnNwZWVkc1tiXSB8fCBiIDogYiwgYyA9IGMgfHwgImZ4IiwgdGhpcy5xdWV1ZShjLCBmdW5jdGlvbiAoYywgZCkgewogICAgICAgICAgICB2YXIgZSA9IGEuc2V0VGltZW91dChjLCBiKTsKICAgICAgICAgICAgZC5zdG9wID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICBhLmNsZWFyVGltZW91dChlKQogICAgICAgICAgICB9CiAgICAgICAgIH0pCiAgICAgIH0sCiAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIGEsIGIgPSBkLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksCiAgICAgICAgICAgIGMgPSBkLmNyZWF0ZUVsZW1lbnQoImRpdiIpLAogICAgICAgICAgICBlID0gZC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSwKICAgICAgICAgICAgZiA9IGUuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSk7CiAgICAgICAgIGMgPSBkLmNyZWF0ZUVsZW1lbnQoImRpdiIpLCBjLnNldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIiwgInQiKSwgYy5pbm5lckhUTUwgPSAiICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IiwgYSA9IGMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSwgYi5zZXRBdHRyaWJ1dGUoInR5cGUiLCAiY2hlY2tib3giKSwgYy5hcHBlbmRDaGlsZChiKSwgYSA9IGMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSwgYS5zdHlsZS5jc3NUZXh0ID0gInRvcDoxcHgiLCBsLmdldFNldEF0dHJpYnV0ZSA9ICJ0IiAhPT0gYy5jbGFzc05hbWUsIGwuc3R5bGUgPSAvdG9wLy50ZXN0KGEuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSwgbC5ocmVmTm9ybWFsaXplZCA9ICIvYSIgPT09IGEuZ2V0QXR0cmlidXRlKCJocmVmIiksIGwuY2hlY2tPbiA9ICEhYi52YWx1ZSwgbC5vcHRTZWxlY3RlZCA9IGYuc2VsZWN0ZWQsIGwuZW5jdHlwZSA9ICEhZC5jcmVhdGVFbGVtZW50KCJmb3JtIikuZW5jdHlwZSwgZS5kaXNhYmxlZCA9ICEwLCBsLm9wdERpc2FibGVkID0gIWYuZGlzYWJsZWQsIGIgPSBkLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksIGIuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICIiKSwgbC5pbnB1dCA9ICIiID09PSBiLmdldEF0dHJpYnV0ZSgidmFsdWUiKSwgYi52YWx1ZSA9ICJ0IiwgYi5zZXRBdHRyaWJ1dGUoInR5cGUiLCAicmFkaW8iKSwgbC5yYWRpb1ZhbHVlID0gInQiID09PSBiLnZhbHVlCiAgICAgIH0oKTsKICAgdmFyIHJiID0gL1xyL2csCiAgICAgIHNiID0gL1tceDIwXHRcclxuXGZdKy9nOwogICBuLmZuLmV4dGVuZCh7CiAgICAgIHZhbDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgdmFyIGIsIGMsIGQsIGUgPSB0aGlzWzBdOyB7CiAgICAgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZCA9IG4uaXNGdW5jdGlvbihhKSwgdGhpcy5lYWNoKGZ1bmN0aW9uIChjKSB7CiAgICAgICAgICAgICAgIHZhciBlOwogICAgICAgICAgICAgICAxID09PSB0aGlzLm5vZGVUeXBlICYmIChlID0gZCA/IGEuY2FsbCh0aGlzLCBjLCBuKHRoaXMpLnZhbCgpKSA6IGEsIG51bGwgPT0gZSA/IGUgPSAiIiA6ICJudW1iZXIiID09IHR5cGVvZiBlID8gZSArPSAiIiA6IG4uaXNBcnJheShlKSAmJiAoZSA9IG4ubWFwKGUsIGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IGEgPyAiIiA6IGEgKyAiIgogICAgICAgICAgICAgICB9KSksIGIgPSBuLnZhbEhvb2tzW3RoaXMudHlwZV0gfHwgbi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLCBiICYmICJzZXQiIGluIGIgJiYgdm9pZCAwICE9PSBiLnNldCh0aGlzLCBlLCAidmFsdWUiKSB8fCAodGhpcy52YWx1ZSA9IGUpKQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgaWYgKGUpIHJldHVybiBiID0gbi52YWxIb29rc1tlLnR5cGVdIHx8IG4udmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSwgYiAmJiAiZ2V0IiBpbiBiICYmIHZvaWQgMCAhPT0gKGMgPSBiLmdldChlLCAidmFsdWUiKSkgPyBjIDogKGMgPSBlLnZhbHVlLCAic3RyaW5nIiA9PSB0eXBlb2YgYyA/IGMucmVwbGFjZShyYiwgIiIpIDogbnVsbCA9PSBjID8gIiIgOiBjKQogICAgICAgICB9CiAgICAgIH0KICAgfSksIG4uZXh0ZW5kKHsKICAgICAgdmFsSG9va3M6IHsKICAgICAgICAgb3B0aW9uOiB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgdmFyIGIgPSBuLmZpbmQuYXR0cihhLCAidmFsdWUiKTsKICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgIT0gYiA/IGIgOiBuLnRyaW0obi50ZXh0KGEpKS5yZXBsYWNlKHNiLCAiICIpCiAgICAgICAgICAgIH0KICAgICAgICAgfSwKICAgICAgICAgc2VsZWN0OiB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgZm9yICh2YXIgYiwgYywgZCA9IGEub3B0aW9ucywgZSA9IGEuc2VsZWN0ZWRJbmRleCwgZiA9ICJzZWxlY3Qtb25lIiA9PT0gYS50eXBlIHx8IDAgPiBlLCBnID0gZiA/IG51bGwgOiBbXSwgaCA9IGYgPyBlICsgMSA6IGQubGVuZ3RoLCBpID0gMCA+IGUgPyBoIDogZiA/IGUgOiAwOyBoID4gaTsgaSsrKQogICAgICAgICAgICAgICAgICBpZiAoYyA9IGRbaV0sIChjLnNlbGVjdGVkIHx8IGkgPT09IGUpICYmIChsLm9wdERpc2FibGVkID8gIWMuZGlzYWJsZWQgOiBudWxsID09PSBjLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKSkgJiYgKCFjLnBhcmVudE5vZGUuZGlzYWJsZWQgfHwgIW4ubm9kZU5hbWUoYy5wYXJlbnROb2RlLCAib3B0Z3JvdXAiKSkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGIgPSBuKGMpLnZhbCgpLCBmKSByZXR1cm4gYjsKICAgICAgICAgICAgICAgICAgICAgZy5wdXNoKGIpCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgcmV0dXJuIGcKICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICAgICB2YXIgYywgZCwgZSA9IGEub3B0aW9ucywKICAgICAgICAgICAgICAgICAgZiA9IG4ubWFrZUFycmF5KGIpLAogICAgICAgICAgICAgICAgICBnID0gZS5sZW5ndGg7CiAgICAgICAgICAgICAgIHdoaWxlIChnLS0pCiAgICAgICAgICAgICAgICAgIGlmIChkID0gZVtnXSwgbi5pbkFycmF5KG4udmFsSG9va3Mub3B0aW9uLmdldChkKSwgZikgPiAtMSkgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgZC5zZWxlY3RlZCA9IGMgPSAhMAogICAgICAgICAgICAgICAgICB9IGNhdGNoIChoKSB7CiAgICAgICAgICAgICAgICAgICAgIGQuc2Nyb2xsSGVpZ2h0CiAgICAgICAgICAgICAgICAgIH0gZWxzZSBkLnNlbGVjdGVkID0gITE7CiAgICAgICAgICAgICAgIHJldHVybiBjIHx8IChhLnNlbGVjdGVkSW5kZXggPSAtMSksIGUKICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgIH0KICAgfSksIG4uZWFjaChbInJhZGlvIiwgImNoZWNrYm94Il0sIGZ1bmN0aW9uICgpIHsKICAgICAgbi52YWxIb29rc1t0aGlzXSA9IHsKICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICByZXR1cm4gbi5pc0FycmF5KGIpID8gYS5jaGVja2VkID0gbi5pbkFycmF5KG4oYSkudmFsKCksIGIpID4gLTEgOiB2b2lkIDAKICAgICAgICAgfQogICAgICB9LCBsLmNoZWNrT24gfHwgKG4udmFsSG9va3NbdGhpc10uZ2V0ID0gZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIG51bGwgPT09IGEuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpID8gIm9uIiA6IGEudmFsdWUKICAgICAgfSkKICAgfSk7CiAgIHZhciB0YiwgdWIsIHZiID0gbi5leHByLmF0dHJIYW5kbGUsCiAgICAgIHdiID0gL14oPzpjaGVja2VkfHNlbGVjdGVkKSQvaSwKICAgICAgeGIgPSBsLmdldFNldEF0dHJpYnV0ZSwKICAgICAgeWIgPSBsLmlucHV0OwogICBuLmZuLmV4dGVuZCh7CiAgICAgIGF0dHI6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgIHJldHVybiBZKHRoaXMsIG4uYXR0ciwgYSwgYiwgYXJndW1lbnRzLmxlbmd0aCA+IDEpCiAgICAgIH0sCiAgICAgIHJlbW92ZUF0dHI6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICBuLnJlbW92ZUF0dHIodGhpcywgYSkKICAgICAgICAgfSkKICAgICAgfQogICB9KSwgbi5leHRlbmQoewogICAgICBhdHRyOiBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICB2YXIgZCwgZSwgZiA9IGEubm9kZVR5cGU7CiAgICAgICAgIGlmICgzICE9PSBmICYmIDggIT09IGYgJiYgMiAhPT0gZikgcmV0dXJuICJ1bmRlZmluZWQiID09IHR5cGVvZiBhLmdldEF0dHJpYnV0ZSA/IG4ucHJvcChhLCBiLCBjKSA6ICgxID09PSBmICYmIG4uaXNYTUxEb2MoYSkgfHwgKGIgPSBiLnRvTG93ZXJDYXNlKCksIGUgPSBuLmF0dHJIb29rc1tiXSB8fCAobi5leHByLm1hdGNoLmJvb2wudGVzdChiKSA/IHViIDogdGIpKSwgdm9pZCAwICE9PSBjID8gbnVsbCA9PT0gYyA/IHZvaWQgbi5yZW1vdmVBdHRyKGEsIGIpIDogZSAmJiAic2V0IiBpbiBlICYmIHZvaWQgMCAhPT0gKGQgPSBlLnNldChhLCBjLCBiKSkgPyBkIDogKGEuc2V0QXR0cmlidXRlKGIsIGMgKyAiIiksIGMpIDogZSAmJiAiZ2V0IiBpbiBlICYmIG51bGwgIT09IChkID0gZS5nZXQoYSwgYikpID8gZCA6IChkID0gbi5maW5kLmF0dHIoYSwgYiksIG51bGwgPT0gZCA/IHZvaWQgMCA6IGQpKQogICAgICB9LAogICAgICBhdHRySG9va3M6IHsKICAgICAgICAgdHlwZTogewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgICAgIGlmICghbC5yYWRpb1ZhbHVlICYmICJyYWRpbyIgPT09IGIgJiYgbi5ub2RlTmFtZShhLCAiaW5wdXQiKSkgewogICAgICAgICAgICAgICAgICB2YXIgYyA9IGEudmFsdWU7CiAgICAgICAgICAgICAgICAgIHJldHVybiBhLnNldEF0dHJpYnV0ZSgidHlwZSIsIGIpLCBjICYmIChhLnZhbHVlID0gYyksIGIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgfSwKICAgICAgcmVtb3ZlQXR0cjogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgdmFyIGMsIGQsIGUgPSAwLAogICAgICAgICAgICBmID0gYiAmJiBiLm1hdGNoKEcpOwogICAgICAgICBpZiAoZiAmJiAxID09PSBhLm5vZGVUeXBlKQogICAgICAgICAgICB3aGlsZSAoYyA9IGZbZSsrXSkgZCA9IG4ucHJvcEZpeFtjXSB8fCBjLCBuLmV4cHIubWF0Y2guYm9vbC50ZXN0KGMpID8geWIgJiYgeGIgfHwgIXdiLnRlc3QoYykgPyBhW2RdID0gITEgOiBhW24uY2FtZWxDYXNlKCJkZWZhdWx0LSIgKyBjKV0gPSBhW2RdID0gITEgOiBuLmF0dHIoYSwgYywgIiIpLCBhLnJlbW92ZUF0dHJpYnV0ZSh4YiA/IGMgOiBkKQogICAgICB9CiAgIH0pLCB1YiA9IHsKICAgICAgc2V0OiBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICByZXR1cm4gYiA9PT0gITEgPyBuLnJlbW92ZUF0dHIoYSwgYykgOiB5YiAmJiB4YiB8fCAhd2IudGVzdChjKSA/IGEuc2V0QXR0cmlidXRlKCF4YiAmJiBuLnByb3BGaXhbY10gfHwgYywgYykgOiBhW24uY2FtZWxDYXNlKCJkZWZhdWx0LSIgKyBjKV0gPSBhW2NdID0gITAsIGMKICAgICAgfQogICB9LCBuLmVhY2gobi5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksIGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIHZhciBjID0gdmJbYl0gfHwgbi5maW5kLmF0dHI7CiAgICAgIHliICYmIHhiIHx8ICF3Yi50ZXN0KGIpID8gdmJbYl0gPSBmdW5jdGlvbiAoYSwgYiwgZCkgewogICAgICAgICB2YXIgZSwgZjsKICAgICAgICAgcmV0dXJuIGQgfHwgKGYgPSB2YltiXSwgdmJbYl0gPSBlLCBlID0gbnVsbCAhPSBjKGEsIGIsIGQpID8gYi50b0xvd2VyQ2FzZSgpIDogbnVsbCwgdmJbYl0gPSBmKSwgZQogICAgICB9IDogdmJbYl0gPSBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICByZXR1cm4gYyA/IHZvaWQgMCA6IGFbbi5jYW1lbENhc2UoImRlZmF1bHQtIiArIGIpXSA/IGIudG9Mb3dlckNhc2UoKSA6IG51bGwKICAgICAgfQogICB9KSwgeWIgJiYgeGIgfHwgKG4uYXR0ckhvb2tzLnZhbHVlID0gewogICAgICBzZXQ6IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgIHJldHVybiBuLm5vZGVOYW1lKGEsICJpbnB1dCIpID8gdm9pZChhLmRlZmF1bHRWYWx1ZSA9IGIpIDogdGIgJiYgdGIuc2V0KGEsIGIsIGMpCiAgICAgIH0KICAgfSksIHhiIHx8ICh0YiA9IHsKICAgICAgc2V0OiBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICB2YXIgZCA9IGEuZ2V0QXR0cmlidXRlTm9kZShjKTsKICAgICAgICAgcmV0dXJuIGQgfHwgYS5zZXRBdHRyaWJ1dGVOb2RlKGQgPSBhLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSwgZC52YWx1ZSA9IGIgKz0gIiIsICJ2YWx1ZSIgPT09IGMgfHwgYiA9PT0gYS5nZXRBdHRyaWJ1dGUoYykgPyBiIDogdm9pZCAwCiAgICAgIH0KICAgfSwgdmIuaWQgPSB2Yi5uYW1lID0gdmIuY29vcmRzID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgdmFyIGQ7CiAgICAgIHJldHVybiBjID8gdm9pZCAwIDogKGQgPSBhLmdldEF0dHJpYnV0ZU5vZGUoYikpICYmICIiICE9PSBkLnZhbHVlID8gZC52YWx1ZSA6IG51bGwKICAgfSwgbi52YWxIb29rcy5idXR0b24gPSB7CiAgICAgIGdldDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgdmFyIGMgPSBhLmdldEF0dHJpYnV0ZU5vZGUoYik7CiAgICAgICAgIHJldHVybiBjICYmIGMuc3BlY2lmaWVkID8gYy52YWx1ZSA6IHZvaWQgMAogICAgICB9LAogICAgICBzZXQ6IHRiLnNldAogICB9LCBuLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGUgPSB7CiAgICAgIHNldDogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgdGIuc2V0KGEsICIiID09PSBiID8gITEgOiBiLCBjKQogICAgICB9CiAgIH0sIG4uZWFjaChbIndpZHRoIiwgImhlaWdodCJdLCBmdW5jdGlvbiAoYSwgYikgewogICAgICBuLmF0dHJIb29rc1tiXSA9IHsKICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYSwgYykgewogICAgICAgICAgICByZXR1cm4gIiIgPT09IGMgPyAoYS5zZXRBdHRyaWJ1dGUoYiwgImF1dG8iKSwgYykgOiB2b2lkIDAKICAgICAgICAgfQogICAgICB9CiAgIH0pKSwgbC5zdHlsZSB8fCAobi5hdHRySG9va3Muc3R5bGUgPSB7CiAgICAgIGdldDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIGEuc3R5bGUuY3NzVGV4dCB8fCB2b2lkIDAKICAgICAgfSwKICAgICAgc2V0OiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICByZXR1cm4gYS5zdHlsZS5jc3NUZXh0ID0gYiArICIiCiAgICAgIH0KICAgfSk7CiAgIHZhciB6YiA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbnxvYmplY3QpJC9pLAogICAgICBBYiA9IC9eKD86YXxhcmVhKSQvaTsKICAgbi5mbi5leHRlbmQoewogICAgICBwcm9wOiBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICByZXR1cm4gWSh0aGlzLCBuLnByb3AsIGEsIGIsIGFyZ3VtZW50cy5sZW5ndGggPiAxKQogICAgICB9LAogICAgICByZW1vdmVQcm9wOiBmdW5jdGlvbiAoYSkgewogICAgICAgICByZXR1cm4gYSA9IG4ucHJvcEZpeFthXSB8fCBhLCB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICB0aGlzW2FdID0gdm9pZCAwLCBkZWxldGUgdGhpc1thXQogICAgICAgICAgICB9IGNhdGNoIChiKSB7fQogICAgICAgICB9KQogICAgICB9CiAgIH0pLCBuLmV4dGVuZCh7CiAgICAgIHByb3A6IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgIHZhciBkLCBlLCBmID0gYS5ub2RlVHlwZTsKICAgICAgICAgaWYgKDMgIT09IGYgJiYgOCAhPT0gZiAmJiAyICE9PSBmKSByZXR1cm4gMSA9PT0gZiAmJiBuLmlzWE1MRG9jKGEpIHx8IChiID0gbi5wcm9wRml4W2JdIHx8IGIsIGUgPSBuLnByb3BIb29rc1tiXSksIHZvaWQgMCAhPT0gYyA/IGUgJiYgInNldCIgaW4gZSAmJiB2b2lkIDAgIT09IChkID0gZS5zZXQoYSwgYywgYikpID8gZCA6IGFbYl0gPSBjIDogZSAmJiAiZ2V0IiBpbiBlICYmIG51bGwgIT09IChkID0gZS5nZXQoYSwgYikpID8gZCA6IGFbYl0KICAgICAgfSwKICAgICAgcHJvcEhvb2tzOiB7CiAgICAgICAgIHRhYkluZGV4OiB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgdmFyIGIgPSBuLmZpbmQuYXR0cihhLCAidGFiaW5kZXgiKTsKICAgICAgICAgICAgICAgcmV0dXJuIGIgPyBwYXJzZUludChiLCAxMCkgOiB6Yi50ZXN0KGEubm9kZU5hbWUpIHx8IEFiLnRlc3QoYS5ub2RlTmFtZSkgJiYgYS5ocmVmID8gMCA6IC0xCiAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICB9LAogICAgICBwcm9wRml4OiB7CiAgICAgICAgICJmb3IiOiAiaHRtbEZvciIsCiAgICAgICAgICJjbGFzcyI6ICJjbGFzc05hbWUiCiAgICAgIH0KICAgfSksIGwuaHJlZk5vcm1hbGl6ZWQgfHwgbi5lYWNoKFsiaHJlZiIsICJzcmMiXSwgZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgbi5wcm9wSG9va3NbYl0gPSB7CiAgICAgICAgIGdldDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgcmV0dXJuIGEuZ2V0QXR0cmlidXRlKGIsIDQpCiAgICAgICAgIH0KICAgICAgfQogICB9KSwgbC5vcHRTZWxlY3RlZCB8fCAobi5wcm9wSG9va3Muc2VsZWN0ZWQgPSB7CiAgICAgIGdldDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgdmFyIGIgPSBhLnBhcmVudE5vZGU7CiAgICAgICAgIHJldHVybiBiICYmIChiLnNlbGVjdGVkSW5kZXgsIGIucGFyZW50Tm9kZSAmJiBiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksIG51bGwKICAgICAgfSwKICAgICAgc2V0OiBmdW5jdGlvbiAoYSkgewogICAgICAgICB2YXIgYiA9IGEucGFyZW50Tm9kZTsKICAgICAgICAgYiAmJiAoYi5zZWxlY3RlZEluZGV4LCBiLnBhcmVudE5vZGUgJiYgYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpCiAgICAgIH0KICAgfSksIG4uZWFjaChbInRhYkluZGV4IiwgInJlYWRPbmx5IiwgIm1heExlbmd0aCIsICJjZWxsU3BhY2luZyIsICJjZWxsUGFkZGluZyIsICJyb3dTcGFuIiwgImNvbFNwYW4iLCAidXNlTWFwIiwgImZyYW1lQm9yZGVyIiwgImNvbnRlbnRFZGl0YWJsZSJdLCBmdW5jdGlvbiAoKSB7CiAgICAgIG4ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldID0gdGhpcwogICB9KSwgbC5lbmN0eXBlIHx8IChuLnByb3BGaXguZW5jdHlwZSA9ICJlbmNvZGluZyIpOwogICB2YXIgQmIgPSAvW1x0XHJcblxmXS9nOwoKICAgZnVuY3Rpb24gQ2IoYSkgewogICAgICByZXR1cm4gbi5hdHRyKGEsICJjbGFzcyIpIHx8ICIiCiAgIH0KICAgbi5mbi5leHRlbmQoewogICAgICBhZGRDbGFzczogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgdmFyIGIsIGMsIGQsIGUsIGYsIGcsIGgsIGkgPSAwOwogICAgICAgICBpZiAobi5pc0Z1bmN0aW9uKGEpKSByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uIChiKSB7CiAgICAgICAgICAgIG4odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsIGIsIENiKHRoaXMpKSkKICAgICAgICAgfSk7CiAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgYSAmJiBhKSB7CiAgICAgICAgICAgIGIgPSBhLm1hdGNoKEcpIHx8IFtdOwogICAgICAgICAgICB3aGlsZSAoYyA9IHRoaXNbaSsrXSkKICAgICAgICAgICAgICAgaWYgKGUgPSBDYihjKSwgZCA9IDEgPT09IGMubm9kZVR5cGUgJiYgKCIgIiArIGUgKyAiICIpLnJlcGxhY2UoQmIsICIgIikpIHsKICAgICAgICAgICAgICAgICAgZyA9IDA7CiAgICAgICAgICAgICAgICAgIHdoaWxlIChmID0gYltnKytdKSBkLmluZGV4T2YoIiAiICsgZiArICIgIikgPCAwICYmIChkICs9IGYgKyAiICIpOwogICAgICAgICAgICAgICAgICBoID0gbi50cmltKGQpLCBlICE9PSBoICYmIG4uYXR0cihjLCAiY2xhc3MiLCBoKQogICAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRoaXMKICAgICAgfSwKICAgICAgcmVtb3ZlQ2xhc3M6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHZhciBiLCBjLCBkLCBlLCBmLCBnLCBoLCBpID0gMDsKICAgICAgICAgaWYgKG4uaXNGdW5jdGlvbihhKSkgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoYikgewogICAgICAgICAgICBuKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLCBiLCBDYih0aGlzKSkpCiAgICAgICAgIH0pOwogICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0aGlzLmF0dHIoImNsYXNzIiwgIiIpOwogICAgICAgICBpZiAoInN0cmluZyIgPT0gdHlwZW9mIGEgJiYgYSkgewogICAgICAgICAgICBiID0gYS5tYXRjaChHKSB8fCBbXTsKICAgICAgICAgICAgd2hpbGUgKGMgPSB0aGlzW2krK10pCiAgICAgICAgICAgICAgIGlmIChlID0gQ2IoYyksIGQgPSAxID09PSBjLm5vZGVUeXBlICYmICgiICIgKyBlICsgIiAiKS5yZXBsYWNlKEJiLCAiICIpKSB7CiAgICAgICAgICAgICAgICAgIGcgPSAwOwogICAgICAgICAgICAgICAgICB3aGlsZSAoZiA9IGJbZysrXSkKICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGQuaW5kZXhPZigiICIgKyBmICsgIiAiKSA+IC0xKSBkID0gZC5yZXBsYWNlKCIgIiArIGYgKyAiICIsICIgIik7CiAgICAgICAgICAgICAgICAgIGggPSBuLnRyaW0oZCksIGUgIT09IGggJiYgbi5hdHRyKGMsICJjbGFzcyIsIGgpCiAgICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICByZXR1cm4gdGhpcwogICAgICB9LAogICAgICB0b2dnbGVDbGFzczogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgdmFyIGMgPSB0eXBlb2YgYTsKICAgICAgICAgcmV0dXJuICJib29sZWFuIiA9PSB0eXBlb2YgYiAmJiAic3RyaW5nIiA9PT0gYyA/IGIgPyB0aGlzLmFkZENsYXNzKGEpIDogdGhpcy5yZW1vdmVDbGFzcyhhKSA6IG4uaXNGdW5jdGlvbihhKSA/IHRoaXMuZWFjaChmdW5jdGlvbiAoYykgewogICAgICAgICAgICBuKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLCBjLCBDYih0aGlzKSwgYiksIGIpCiAgICAgICAgIH0pIDogdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIGIsIGQsIGUsIGY7CiAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PT0gYykgewogICAgICAgICAgICAgICBkID0gMCwgZSA9IG4odGhpcyksIGYgPSBhLm1hdGNoKEcpIHx8IFtdOwogICAgICAgICAgICAgICB3aGlsZSAoYiA9IGZbZCsrXSkgZS5oYXNDbGFzcyhiKSA/IGUucmVtb3ZlQ2xhc3MoYikgOiBlLmFkZENsYXNzKGIpCiAgICAgICAgICAgIH0gZWxzZSB2b2lkIDAgIT09IGEgJiYgImJvb2xlYW4iICE9PSBjIHx8IChiID0gQ2IodGhpcyksIGIgJiYgbi5fZGF0YSh0aGlzLCAiX19jbGFzc05hbWVfXyIsIGIpLCBuLmF0dHIodGhpcywgImNsYXNzIiwgYiB8fCBhID09PSAhMSA/ICIiIDogbi5fZGF0YSh0aGlzLCAiX19jbGFzc05hbWVfXyIpIHx8ICIiKSkKICAgICAgICAgfSkKICAgICAgfSwKICAgICAgaGFzQ2xhc3M6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHZhciBiLCBjLCBkID0gMDsKICAgICAgICAgYiA9ICIgIiArIGEgKyAiICI7CiAgICAgICAgIHdoaWxlIChjID0gdGhpc1tkKytdKQogICAgICAgICAgICBpZiAoMSA9PT0gYy5ub2RlVHlwZSAmJiAoIiAiICsgQ2IoYykgKyAiICIpLnJlcGxhY2UoQmIsICIgIikuaW5kZXhPZihiKSA+IC0xKSByZXR1cm4gITA7CiAgICAgICAgIHJldHVybiAhMQogICAgICB9CiAgIH0pLCBuLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksIGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIG4uZm5bYl0gPSBmdW5jdGlvbiAoYSwgYykgewogICAgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLm9uKGIsIG51bGwsIGEsIGMpIDogdGhpcy50cmlnZ2VyKGIpCiAgICAgIH0KICAgfSksIG4uZm4uZXh0ZW5kKHsKICAgICAgaG92ZXI6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgIHJldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShiIHx8IGEpCiAgICAgIH0KICAgfSk7CiAgIHZhciBEYiA9IGEubG9jYXRpb24sCiAgICAgIEViID0gbi5ub3coKSwKICAgICAgRmIgPSAvXD8vLAogICAgICBHYiA9IC8oLCl8KFxbfHspfCh9fF0pfCIoPzpbXiJcXFxyXG5dfFxcWyJcXFwvYmZucnRdfFxcdVtcZGEtZkEtRl17NH0pKiJccyo6P3x0cnVlfGZhbHNlfG51bGx8LT8oPyEwXGQpXGQrKD86XC5cZCt8KSg/OltlRV1bKy1dP1xkK3wpL2c7CiAgIG4ucGFyc2VKU09OID0gZnVuY3Rpb24gKGIpIHsKICAgICAgaWYgKGEuSlNPTiAmJiBhLkpTT04ucGFyc2UpIHJldHVybiBhLkpTT04ucGFyc2UoYiArICIiKTsKICAgICAgdmFyIGMsIGQgPSBudWxsLAogICAgICAgICBlID0gbi50cmltKGIgKyAiIik7CiAgICAgIHJldHVybiBlICYmICFuLnRyaW0oZS5yZXBsYWNlKEdiLCBmdW5jdGlvbiAoYSwgYiwgZSwgZikgewogICAgICAgICByZXR1cm4gYyAmJiBiICYmIChkID0gMCksIDAgPT09IGQgPyBhIDogKGMgPSBlIHx8IGIsIGQgKz0gIWYgLSAhZSwgIiIpCiAgICAgIH0pKSA/IEZ1bmN0aW9uKCJyZXR1cm4gIiArIGUpKCkgOiBuLmVycm9yKCJJbnZhbGlkIEpTT046ICIgKyBiKQogICB9LCBuLnBhcnNlWE1MID0gZnVuY3Rpb24gKGIpIHsKICAgICAgdmFyIGMsIGQ7CiAgICAgIGlmICghYiB8fCAic3RyaW5nIiAhPSB0eXBlb2YgYikgcmV0dXJuIG51bGw7CiAgICAgIHRyeSB7CiAgICAgICAgIGEuRE9NUGFyc2VyID8gKGQgPSBuZXcgYS5ET01QYXJzZXIsIGMgPSBkLnBhcnNlRnJvbVN0cmluZyhiLCAidGV4dC94bWwiKSkgOiAoYyA9IG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSwgYy5hc3luYyA9ICJmYWxzZSIsIGMubG9hZFhNTChiKSkKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICBjID0gdm9pZCAwCiAgICAgIH0KICAgICAgcmV0dXJuIGMgJiYgYy5kb2N1bWVudEVsZW1lbnQgJiYgIWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RoIHx8IG4uZXJyb3IoIkludmFsaWQgWE1MOiAiICsgYiksIGMKICAgfTsKICAgdmFyIEhiID0gLyMuKiQvLAogICAgICBJYiA9IC8oWz8mXSlfPVteJl0qLywKICAgICAgSmIgPSAvXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLAogICAgICBLYiA9IC9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLAogICAgICBMYiA9IC9eKD86R0VUfEhFQUQpJC8sCiAgICAgIE1iID0gL15cL1wvLywKICAgICAgTmIgPSAvXihbXHcuKy1dKzopKD86XC9cLyg/OlteXC8/I10qQHwpKFteXC8/IzpdKikoPzo6KFxkKyl8KXwpLywKICAgICAgT2IgPSB7fSwKICAgICAgUGIgPSB7fSwKICAgICAgUWIgPSAiKi8iLmNvbmNhdCgiKiIpLAogICAgICBSYiA9IERiLmhyZWYsCiAgICAgIFNiID0gTmIuZXhlYyhSYi50b0xvd2VyQ2FzZSgpKSB8fCBbXTsKCiAgIGZ1bmN0aW9uIFRiKGEpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIChiLCBjKSB7CiAgICAgICAgICJzdHJpbmciICE9IHR5cGVvZiBiICYmIChjID0gYiwgYiA9ICIqIik7CiAgICAgICAgIHZhciBkLCBlID0gMCwKICAgICAgICAgICAgZiA9IGIudG9Mb3dlckNhc2UoKS5tYXRjaChHKSB8fCBbXTsKICAgICAgICAgaWYgKG4uaXNGdW5jdGlvbihjKSkKICAgICAgICAgICAgd2hpbGUgKGQgPSBmW2UrK10pICIrIiA9PT0gZC5jaGFyQXQoMCkgPyAoZCA9IGQuc2xpY2UoMSkgfHwgIioiLCAoYVtkXSA9IGFbZF0gfHwgW10pLnVuc2hpZnQoYykpIDogKGFbZF0gPSBhW2RdIHx8IFtdKS5wdXNoKGMpCiAgICAgIH0KICAgfQoKICAgZnVuY3Rpb24gVWIoYSwgYiwgYywgZCkgewogICAgICB2YXIgZSA9IHt9LAogICAgICAgICBmID0gYSA9PT0gUGI7CgogICAgICBmdW5jdGlvbiBnKGgpIHsKICAgICAgICAgdmFyIGk7CiAgICAgICAgIHJldHVybiBlW2hdID0gITAsIG4uZWFjaChhW2hdIHx8IFtdLCBmdW5jdGlvbiAoYSwgaCkgewogICAgICAgICAgICB2YXIgaiA9IGgoYiwgYywgZCk7CiAgICAgICAgICAgIHJldHVybiAic3RyaW5nIiAhPSB0eXBlb2YgaiB8fCBmIHx8IGVbal0gPyBmID8gIShpID0gaikgOiB2b2lkIDAgOiAoYi5kYXRhVHlwZXMudW5zaGlmdChqKSwgZyhqKSwgITEpCiAgICAgICAgIH0pLCBpCiAgICAgIH0KICAgICAgcmV0dXJuIGcoYi5kYXRhVHlwZXNbMF0pIHx8ICFlWyIqIl0gJiYgZygiKiIpCiAgIH0KCiAgIGZ1bmN0aW9uIFZiKGEsIGIpIHsKICAgICAgdmFyIGMsIGQsIGUgPSBuLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9ucyB8fCB7fTsKICAgICAgZm9yIChkIGluIGIpIHZvaWQgMCAhPT0gYltkXSAmJiAoKGVbZF0gPyBhIDogYyB8fCAoYyA9IHt9KSlbZF0gPSBiW2RdKTsKICAgICAgcmV0dXJuIGMgJiYgbi5leHRlbmQoITAsIGEsIGMpLCBhCiAgIH0KCiAgIGZ1bmN0aW9uIFdiKGEsIGIsIGMpIHsKICAgICAgdmFyIGQsIGUsIGYsIGcsIGggPSBhLmNvbnRlbnRzLAogICAgICAgICBpID0gYS5kYXRhVHlwZXM7CiAgICAgIHdoaWxlICgiKiIgPT09IGlbMF0pIGkuc2hpZnQoKSwgdm9pZCAwID09PSBlICYmIChlID0gYS5taW1lVHlwZSB8fCBiLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKSk7CiAgICAgIGlmIChlKQogICAgICAgICBmb3IgKGcgaW4gaCkKICAgICAgICAgICAgaWYgKGhbZ10gJiYgaFtnXS50ZXN0KGUpKSB7CiAgICAgICAgICAgICAgIGkudW5zaGlmdChnKTsKICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgfQogICAgICBpZiAoaVswXSBpbiBjKSBmID0gaVswXTsKICAgICAgZWxzZSB7CiAgICAgICAgIGZvciAoZyBpbiBjKSB7CiAgICAgICAgICAgIGlmICghaVswXSB8fCBhLmNvbnZlcnRlcnNbZyArICIgIiArIGlbMF1dKSB7CiAgICAgICAgICAgICAgIGYgPSBnOwogICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICB9CiAgICAgICAgICAgIGQgfHwgKGQgPSBnKQogICAgICAgICB9CiAgICAgICAgIGYgPSBmIHx8IGQKICAgICAgfQogICAgICByZXR1cm4gZiA/IChmICE9PSBpWzBdICYmIGkudW5zaGlmdChmKSwgY1tmXSkgOiB2b2lkIDAKICAgfQoKICAgZnVuY3Rpb24gWGIoYSwgYiwgYywgZCkgewogICAgICB2YXIgZSwgZiwgZywgaCwgaSwgaiA9IHt9LAogICAgICAgICBrID0gYS5kYXRhVHlwZXMuc2xpY2UoKTsKICAgICAgaWYgKGtbMV0pCiAgICAgICAgIGZvciAoZyBpbiBhLmNvbnZlcnRlcnMpIGpbZy50b0xvd2VyQ2FzZSgpXSA9IGEuY29udmVydGVyc1tnXTsKICAgICAgZiA9IGsuc2hpZnQoKTsKICAgICAgd2hpbGUgKGYpCiAgICAgICAgIGlmIChhLnJlc3BvbnNlRmllbGRzW2ZdICYmIChjW2EucmVzcG9uc2VGaWVsZHNbZl1dID0gYiksICFpICYmIGQgJiYgYS5kYXRhRmlsdGVyICYmIChiID0gYS5kYXRhRmlsdGVyKGIsIGEuZGF0YVR5cGUpKSwgaSA9IGYsIGYgPSBrLnNoaWZ0KCkpCiAgICAgICAgICAgIGlmICgiKiIgPT09IGYpIGYgPSBpOwogICAgICAgICAgICBlbHNlIGlmICgiKiIgIT09IGkgJiYgaSAhPT0gZikgewogICAgICAgICBpZiAoZyA9IGpbaSArICIgIiArIGZdIHx8IGpbIiogIiArIGZdLCAhZykKICAgICAgICAgICAgZm9yIChlIGluIGopCiAgICAgICAgICAgICAgIGlmIChoID0gZS5zcGxpdCgiICIpLCBoWzFdID09PSBmICYmIChnID0galtpICsgIiAiICsgaFswXV0gfHwgalsiKiAiICsgaFswXV0pKSB7CiAgICAgICAgICAgICAgICAgIGcgPT09ICEwID8gZyA9IGpbZV0gOiBqW2VdICE9PSAhMCAmJiAoZiA9IGhbMF0sIGsudW5zaGlmdChoWzFdKSk7CiAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgIH0KICAgICAgICAgaWYgKGcgIT09ICEwKQogICAgICAgICAgICBpZiAoZyAmJiBhWyJ0aHJvd3MiXSkgYiA9IGcoYik7CiAgICAgICAgICAgIGVsc2UgdHJ5IHsKICAgICAgICAgICAgICAgYiA9IGcoYikKICAgICAgICAgICAgfSBjYXRjaCAobCkgewogICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICBzdGF0ZTogInBhcnNlcmVycm9yIiwKICAgICAgICAgICAgICAgICAgZXJyb3I6IGcgPyBsIDogIk5vIGNvbnZlcnNpb24gZnJvbSAiICsgaSArICIgdG8gIiArIGYKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHsKICAgICAgICAgc3RhdGU6ICJzdWNjZXNzIiwKICAgICAgICAgZGF0YTogYgogICAgICB9CiAgIH0KICAgbi5leHRlbmQoewogICAgICBhY3RpdmU6IDAsCiAgICAgIGxhc3RNb2RpZmllZDoge30sCiAgICAgIGV0YWc6IHt9LAogICAgICBhamF4U2V0dGluZ3M6IHsKICAgICAgICAgdXJsOiBSYiwKICAgICAgICAgdHlwZTogIkdFVCIsCiAgICAgICAgIGlzTG9jYWw6IEtiLnRlc3QoU2JbMV0pLAogICAgICAgICBnbG9iYWw6ICEwLAogICAgICAgICBwcm9jZXNzRGF0YTogITAsCiAgICAgICAgIGFzeW5jOiAhMCwKICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLAogICAgICAgICBhY2NlcHRzOiB7CiAgICAgICAgICAgICIqIjogUWIsCiAgICAgICAgICAgIHRleHQ6ICJ0ZXh0L3BsYWluIiwKICAgICAgICAgICAgaHRtbDogInRleHQvaHRtbCIsCiAgICAgICAgICAgIHhtbDogImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLAogICAgICAgICAgICBqc29uOiAiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0IgogICAgICAgICB9LAogICAgICAgICBjb250ZW50czogewogICAgICAgICAgICB4bWw6IC9cYnhtbFxiLywKICAgICAgICAgICAgaHRtbDogL1xiaHRtbC8sCiAgICAgICAgICAgIGpzb246IC9cYmpzb25cYi8KICAgICAgICAgfSwKICAgICAgICAgcmVzcG9uc2VGaWVsZHM6IHsKICAgICAgICAgICAgeG1sOiAicmVzcG9uc2VYTUwiLAogICAgICAgICAgICB0ZXh0OiAicmVzcG9uc2VUZXh0IiwKICAgICAgICAgICAganNvbjogInJlc3BvbnNlSlNPTiIKICAgICAgICAgfSwKICAgICAgICAgY29udmVydGVyczogewogICAgICAgICAgICAiKiB0ZXh0IjogU3RyaW5nLAogICAgICAgICAgICAidGV4dCBodG1sIjogITAsCiAgICAgICAgICAgICJ0ZXh0IGpzb24iOiBuLnBhcnNlSlNPTiwKICAgICAgICAgICAgInRleHQgeG1sIjogbi5wYXJzZVhNTAogICAgICAgICB9LAogICAgICAgICBmbGF0T3B0aW9uczogewogICAgICAgICAgICB1cmw6ICEwLAogICAgICAgICAgICBjb250ZXh0OiAhMAogICAgICAgICB9CiAgICAgIH0sCiAgICAgIGFqYXhTZXR1cDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgcmV0dXJuIGIgPyBWYihWYihhLCBuLmFqYXhTZXR0aW5ncyksIGIpIDogVmIobi5hamF4U2V0dGluZ3MsIGEpCiAgICAgIH0sCiAgICAgIGFqYXhQcmVmaWx0ZXI6IFRiKE9iKSwKICAgICAgYWpheFRyYW5zcG9ydDogVGIoUGIpLAogICAgICBhamF4OiBmdW5jdGlvbiAoYiwgYykgewogICAgICAgICAib2JqZWN0IiA9PSB0eXBlb2YgYiAmJiAoYyA9IGIsIGIgPSB2b2lkIDApLCBjID0gYyB8fCB7fTsKICAgICAgICAgdmFyIGQsIGUsIGYsIGcsIGgsIGksIGosIGssIGwgPSBuLmFqYXhTZXR1cCh7fSwgYyksCiAgICAgICAgICAgIG0gPSBsLmNvbnRleHQgfHwgbCwKICAgICAgICAgICAgbyA9IGwuY29udGV4dCAmJiAobS5ub2RlVHlwZSB8fCBtLmpxdWVyeSkgPyBuKG0pIDogbi5ldmVudCwKICAgICAgICAgICAgcCA9IG4uRGVmZXJyZWQoKSwKICAgICAgICAgICAgcSA9IG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLAogICAgICAgICAgICByID0gbC5zdGF0dXNDb2RlIHx8IHt9LAogICAgICAgICAgICBzID0ge30sCiAgICAgICAgICAgIHQgPSB7fSwKICAgICAgICAgICAgdSA9IDAsCiAgICAgICAgICAgIHYgPSAiY2FuY2VsZWQiLAogICAgICAgICAgICB3ID0gewogICAgICAgICAgICAgICByZWFkeVN0YXRlOiAwLAogICAgICAgICAgICAgICBnZXRSZXNwb25zZUhlYWRlcjogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgICAgdmFyIGI7CiAgICAgICAgICAgICAgICAgIGlmICgyID09PSB1KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICghaykgewogICAgICAgICAgICAgICAgICAgICAgICBrID0ge307CiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChiID0gSmIuZXhlYyhnKSkga1tiWzFdLnRvTG93ZXJDYXNlKCldID0gYlsyXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGIgPSBrW2EudG9Mb3dlckNhc2UoKV0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBiID8gbnVsbCA6IGIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiAyID09PSB1ID8gZyA6IG51bGwKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgc2V0UmVxdWVzdEhlYWRlcjogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgICAgICAgdmFyIGMgPSBhLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgICAgICAgIHJldHVybiB1IHx8IChhID0gdFtjXSA9IHRbY10gfHwgYSwgc1thXSA9IGIpLCB0aGlzCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIG92ZXJyaWRlTWltZVR5cGU6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiB1IHx8IChsLm1pbWVUeXBlID0gYSksIHRoaXMKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgc3RhdHVzQ29kZTogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgICAgdmFyIGI7CiAgICAgICAgICAgICAgICAgIGlmIChhKQogICAgICAgICAgICAgICAgICAgICBpZiAoMiA+IHUpCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYiBpbiBhKSByW2JdID0gW3JbYl0sIGFbYl1dOwogICAgICAgICAgICAgICAgICAgICBlbHNlIHcuYWx3YXlzKGFbdy5zdGF0dXNdKTsKICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgYWJvcnQ6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgICAgICAgICAgIHZhciBiID0gYSB8fCB2OwogICAgICAgICAgICAgICAgICByZXR1cm4gaiAmJiBqLmFib3J0KGIpLCB5KDAsIGIpLCB0aGlzCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICAgaWYgKHAucHJvbWlzZSh3KS5jb21wbGV0ZSA9IHEuYWRkLCB3LnN1Y2Nlc3MgPSB3LmRvbmUsIHcuZXJyb3IgPSB3LmZhaWwsIGwudXJsID0gKChiIHx8IGwudXJsIHx8IFJiKSArICIiKS5yZXBsYWNlKEhiLCAiIikucmVwbGFjZShNYiwgU2JbMV0gKyAiLy8iKSwgbC50eXBlID0gYy5tZXRob2QgfHwgYy50eXBlIHx8IGwubWV0aG9kIHx8IGwudHlwZSwgbC5kYXRhVHlwZXMgPSBuLnRyaW0obC5kYXRhVHlwZSB8fCAiKiIpLnRvTG93ZXJDYXNlKCkubWF0Y2goRykgfHwgWyIiXSwgbnVsbCA9PSBsLmNyb3NzRG9tYWluICYmIChkID0gTmIuZXhlYyhsLnVybC50b0xvd2VyQ2FzZSgpKSwgbC5jcm9zc0RvbWFpbiA9ICEoIWQgfHwgZFsxXSA9PT0gU2JbMV0gJiYgZFsyXSA9PT0gU2JbMl0gJiYgKGRbM10gfHwgKCJodHRwOiIgPT09IGRbMV0gPyAiODAiIDogIjQ0MyIpKSA9PT0gKFNiWzNdIHx8ICgiaHR0cDoiID09PSBTYlsxXSA/ICI4MCIgOiAiNDQzIikpKSksIGwuZGF0YSAmJiBsLnByb2Nlc3NEYXRhICYmICJzdHJpbmciICE9IHR5cGVvZiBsLmRhdGEgJiYgKGwuZGF0YSA9IG4ucGFyYW0obC5kYXRhLCBsLnRyYWRpdGlvbmFsKSksIFViKE9iLCBsLCBjLCB3KSwgMiA9PT0gdSkgcmV0dXJuIHc7CiAgICAgICAgIGkgPSBuLmV2ZW50ICYmIGwuZ2xvYmFsLCBpICYmIDAgPT09IG4uYWN0aXZlKysgJiYgbi5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSwgbC50eXBlID0gbC50eXBlLnRvVXBwZXJDYXNlKCksIGwuaGFzQ29udGVudCA9ICFMYi50ZXN0KGwudHlwZSksIGYgPSBsLnVybCwgbC5oYXNDb250ZW50IHx8IChsLmRhdGEgJiYgKGYgPSBsLnVybCArPSAoRmIudGVzdChmKSA/ICImIiA6ICI/IikgKyBsLmRhdGEsIGRlbGV0ZSBsLmRhdGEpLCBsLmNhY2hlID09PSAhMSAmJiAobC51cmwgPSBJYi50ZXN0KGYpID8gZi5yZXBsYWNlKEliLCAiJDFfPSIgKyBFYisrKSA6IGYgKyAoRmIudGVzdChmKSA/ICImIiA6ICI/IikgKyAiXz0iICsgRWIrKykpLCBsLmlmTW9kaWZpZWQgJiYgKG4ubGFzdE1vZGlmaWVkW2ZdICYmIHcuc2V0UmVxdWVzdEhlYWRlcigiSWYtTW9kaWZpZWQtU2luY2UiLCBuLmxhc3RNb2RpZmllZFtmXSksIG4uZXRhZ1tmXSAmJiB3LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLCBuLmV0YWdbZl0pKSwgKGwuZGF0YSAmJiBsLmhhc0NvbnRlbnQgJiYgbC5jb250ZW50VHlwZSAhPT0gITEgfHwgYy5jb250ZW50VHlwZSkgJiYgdy5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCBsLmNvbnRlbnRUeXBlKSwgdy5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLCBsLmRhdGFUeXBlc1swXSAmJiBsLmFjY2VwdHNbbC5kYXRhVHlwZXNbMF1dID8gbC5hY2NlcHRzW2wuZGF0YVR5cGVzWzBdXSArICgiKiIgIT09IGwuZGF0YVR5cGVzWzBdID8gIiwgIiArIFFiICsgIjsgcT0wLjAxIiA6ICIiKSA6IGwuYWNjZXB0c1siKiJdKTsKICAgICAgICAgZm9yIChlIGluIGwuaGVhZGVycykgdy5zZXRSZXF1ZXN0SGVhZGVyKGUsIGwuaGVhZGVyc1tlXSk7CiAgICAgICAgIGlmIChsLmJlZm9yZVNlbmQgJiYgKGwuYmVmb3JlU2VuZC5jYWxsKG0sIHcsIGwpID09PSAhMSB8fCAyID09PSB1KSkgcmV0dXJuIHcuYWJvcnQoKTsKICAgICAgICAgdiA9ICJhYm9ydCI7CiAgICAgICAgIGZvciAoZSBpbiB7CiAgICAgICAgICAgICAgIHN1Y2Nlc3M6IDEsCiAgICAgICAgICAgICAgIGVycm9yOiAxLAogICAgICAgICAgICAgICBjb21wbGV0ZTogMQogICAgICAgICAgICB9KSB3W2VdKGxbZV0pOwogICAgICAgICBpZiAoaiA9IFViKFBiLCBsLCBjLCB3KSkgewogICAgICAgICAgICBpZiAody5yZWFkeVN0YXRlID0gMSwgaSAmJiBvLnRyaWdnZXIoImFqYXhTZW5kIiwgW3csIGxdKSwgMiA9PT0gdSkgcmV0dXJuIHc7CiAgICAgICAgICAgIGwuYXN5bmMgJiYgbC50aW1lb3V0ID4gMCAmJiAoaCA9IGEuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHcuYWJvcnQoInRpbWVvdXQiKQogICAgICAgICAgICB9LCBsLnRpbWVvdXQpKTsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgdSA9IDEsIGouc2VuZChzLCB5KQogICAgICAgICAgICB9IGNhdGNoICh4KSB7CiAgICAgICAgICAgICAgIGlmICghKDIgPiB1KSkgdGhyb3cgeDsKICAgICAgICAgICAgICAgeSgtMSwgeCkKICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgeSgtMSwgIk5vIFRyYW5zcG9ydCIpOwoKICAgICAgICAgZnVuY3Rpb24geShiLCBjLCBkLCBlKSB7CiAgICAgICAgICAgIHZhciBrLCBzLCB0LCB2LCB4LCB5ID0gYzsKICAgICAgICAgICAgMiAhPT0gdSAmJiAodSA9IDIsIGggJiYgYS5jbGVhclRpbWVvdXQoaCksIGogPSB2b2lkIDAsIGcgPSBlIHx8ICIiLCB3LnJlYWR5U3RhdGUgPSBiID4gMCA/IDQgOiAwLCBrID0gYiA+PSAyMDAgJiYgMzAwID4gYiB8fCAzMDQgPT09IGIsIGQgJiYgKHYgPSBXYihsLCB3LCBkKSksIHYgPSBYYihsLCB2LCB3LCBrKSwgayA/IChsLmlmTW9kaWZpZWQgJiYgKHggPSB3LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIiksIHggJiYgKG4ubGFzdE1vZGlmaWVkW2ZdID0geCksIHggPSB3LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksIHggJiYgKG4uZXRhZ1tmXSA9IHgpKSwgMjA0ID09PSBiIHx8ICJIRUFEIiA9PT0gbC50eXBlID8geSA9ICJub2NvbnRlbnQiIDogMzA0ID09PSBiID8geSA9ICJub3Rtb2RpZmllZCIgOiAoeSA9IHYuc3RhdGUsIHMgPSB2LmRhdGEsIHQgPSB2LmVycm9yLCBrID0gIXQpKSA6ICh0ID0geSwgIWIgJiYgeSB8fCAoeSA9ICJlcnJvciIsIDAgPiBiICYmIChiID0gMCkpKSwgdy5zdGF0dXMgPSBiLCB3LnN0YXR1c1RleHQgPSAoYyB8fCB5KSArICIiLCBrID8gcC5yZXNvbHZlV2l0aChtLCBbcywgeSwgd10pIDogcC5yZWplY3RXaXRoKG0sIFt3LCB5LCB0XSksIHcuc3RhdHVzQ29kZShyKSwgciA9IHZvaWQgMCwgaSAmJiBvLnRyaWdnZXIoayA/ICJhamF4U3VjY2VzcyIgOiAiYWpheEVycm9yIiwgW3csIGwsIGsgPyBzIDogdF0pLCBxLmZpcmVXaXRoKG0sIFt3LCB5XSksIGkgJiYgKG8udHJpZ2dlcigiYWpheENvbXBsZXRlIiwgW3csIGxdKSwgLS1uLmFjdGl2ZSB8fCBuLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKQogICAgICAgICB9CiAgICAgICAgIHJldHVybiB3CiAgICAgIH0sCiAgICAgIGdldEpTT046IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgIHJldHVybiBuLmdldChhLCBiLCBjLCAianNvbiIpCiAgICAgIH0sCiAgICAgIGdldFNjcmlwdDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgcmV0dXJuIG4uZ2V0KGEsIHZvaWQgMCwgYiwgInNjcmlwdCIpCiAgICAgIH0KICAgfSksIG4uZWFjaChbImdldCIsICJwb3N0Il0sIGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIG5bYl0gPSBmdW5jdGlvbiAoYSwgYywgZCwgZSkgewogICAgICAgICByZXR1cm4gbi5pc0Z1bmN0aW9uKGMpICYmIChlID0gZSB8fCBkLCBkID0gYywgYyA9IHZvaWQgMCksIG4uYWpheChuLmV4dGVuZCh7CiAgICAgICAgICAgIHVybDogYSwKICAgICAgICAgICAgdHlwZTogYiwKICAgICAgICAgICAgZGF0YVR5cGU6IGUsCiAgICAgICAgICAgIGRhdGE6IGMsCiAgICAgICAgICAgIHN1Y2Nlc3M6IGQKICAgICAgICAgfSwgbi5pc1BsYWluT2JqZWN0KGEpICYmIGEpKQogICAgICB9CiAgIH0pLCBuLl9ldmFsVXJsID0gZnVuY3Rpb24gKGEpIHsKICAgICAgcmV0dXJuIG4uYWpheCh7CiAgICAgICAgIHVybDogYSwKICAgICAgICAgdHlwZTogIkdFVCIsCiAgICAgICAgIGRhdGFUeXBlOiAic2NyaXB0IiwKICAgICAgICAgY2FjaGU6ICEwLAogICAgICAgICBhc3luYzogITEsCiAgICAgICAgIGdsb2JhbDogITEsCiAgICAgICAgICJ0aHJvd3MiOiAhMAogICAgICB9KQogICB9LCBuLmZuLmV4dGVuZCh7CiAgICAgIHdyYXBBbGw6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIGlmIChuLmlzRnVuY3Rpb24oYSkpIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKGIpIHsKICAgICAgICAgICAgbih0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLCBiKSkKICAgICAgICAgfSk7CiAgICAgICAgIGlmICh0aGlzWzBdKSB7CiAgICAgICAgICAgIHZhciBiID0gbihhLCB0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTsKICAgICAgICAgICAgdGhpc1swXS5wYXJlbnROb2RlICYmIGIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLCBiLm1hcChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHZhciBhID0gdGhpczsKICAgICAgICAgICAgICAgd2hpbGUgKGEuZmlyc3RDaGlsZCAmJiAxID09PSBhLmZpcnN0Q2hpbGQubm9kZVR5cGUpIGEgPSBhLmZpcnN0Q2hpbGQ7CiAgICAgICAgICAgICAgIHJldHVybiBhCiAgICAgICAgICAgIH0pLmFwcGVuZCh0aGlzKQogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0aGlzCiAgICAgIH0sCiAgICAgIHdyYXBJbm5lcjogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIG4uaXNGdW5jdGlvbihhKSA/IHRoaXMuZWFjaChmdW5jdGlvbiAoYikgewogICAgICAgICAgICBuKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcywgYikpCiAgICAgICAgIH0pIDogdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIGIgPSBuKHRoaXMpLAogICAgICAgICAgICAgICBjID0gYi5jb250ZW50cygpOwogICAgICAgICAgICBjLmxlbmd0aCA/IGMud3JhcEFsbChhKSA6IGIuYXBwZW5kKGEpCiAgICAgICAgIH0pCiAgICAgIH0sCiAgICAgIHdyYXA6IGZ1bmN0aW9uIChhKSB7CiAgICAgICAgIHZhciBiID0gbi5pc0Z1bmN0aW9uKGEpOwogICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uIChjKSB7CiAgICAgICAgICAgIG4odGhpcykud3JhcEFsbChiID8gYS5jYWxsKHRoaXMsIGMpIDogYSkKICAgICAgICAgfSkKICAgICAgfSwKICAgICAgdW53cmFwOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHJldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICBuLm5vZGVOYW1lKHRoaXMsICJib2R5IikgfHwgbih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpCiAgICAgICAgIH0pLmVuZCgpCiAgICAgIH0KICAgfSk7CgogICBmdW5jdGlvbiBZYihhKSB7CiAgICAgIHJldHVybiBhLnN0eWxlICYmIGEuc3R5bGUuZGlzcGxheSB8fCBuLmNzcyhhLCAiZGlzcGxheSIpCiAgIH0KCiAgIGZ1bmN0aW9uIFpiKGEpIHsKICAgICAgaWYgKCFuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCB8fCBkLCBhKSkgcmV0dXJuICEwOwogICAgICB3aGlsZSAoYSAmJiAxID09PSBhLm5vZGVUeXBlKSB7CiAgICAgICAgIGlmICgibm9uZSIgPT09IFliKGEpIHx8ICJoaWRkZW4iID09PSBhLnR5cGUpIHJldHVybiAhMDsKICAgICAgICAgYSA9IGEucGFyZW50Tm9kZQogICAgICB9CiAgICAgIHJldHVybiAhMQogICB9CiAgIG4uZXhwci5maWx0ZXJzLmhpZGRlbiA9IGZ1bmN0aW9uIChhKSB7CiAgICAgIHJldHVybiBsLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpID8gYS5vZmZzZXRXaWR0aCA8PSAwICYmIGEub2Zmc2V0SGVpZ2h0IDw9IDAgJiYgIWEuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggOiBaYihhKQogICB9LCBuLmV4cHIuZmlsdGVycy52aXNpYmxlID0gZnVuY3Rpb24gKGEpIHsKICAgICAgcmV0dXJuICFuLmV4cHIuZmlsdGVycy5oaWRkZW4oYSkKICAgfTsKICAgdmFyICRiID0gLyUyMC9nLAogICAgICBfYiA9IC9cW1xdJC8sCiAgICAgIGFjID0gL1xyP1xuL2csCiAgICAgIGJjID0gL14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLAogICAgICBjYyA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTsKCiAgIGZ1bmN0aW9uIGRjKGEsIGIsIGMsIGQpIHsKICAgICAgdmFyIGU7CiAgICAgIGlmIChuLmlzQXJyYXkoYikpIG4uZWFjaChiLCBmdW5jdGlvbiAoYiwgZSkgewogICAgICAgICBjIHx8IF9iLnRlc3QoYSkgPyBkKGEsIGUpIDogZGMoYSArICJbIiArICgib2JqZWN0IiA9PSB0eXBlb2YgZSAmJiBudWxsICE9IGUgPyBiIDogIiIpICsgIl0iLCBlLCBjLCBkKQogICAgICB9KTsKICAgICAgZWxzZSBpZiAoYyB8fCAib2JqZWN0IiAhPT0gbi50eXBlKGIpKSBkKGEsIGIpOwogICAgICBlbHNlCiAgICAgICAgIGZvciAoZSBpbiBiKSBkYyhhICsgIlsiICsgZSArICJdIiwgYltlXSwgYywgZCkKICAgfQogICBuLnBhcmFtID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgdmFyIGMsIGQgPSBbXSwKICAgICAgICAgZSA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIGIgPSBuLmlzRnVuY3Rpb24oYikgPyBiKCkgOiBudWxsID09IGIgPyAiIiA6IGIsIGRbZC5sZW5ndGhdID0gZW5jb2RlVVJJQ29tcG9uZW50KGEpICsgIj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KGIpCiAgICAgICAgIH07CiAgICAgIGlmICh2b2lkIDAgPT09IGIgJiYgKGIgPSBuLmFqYXhTZXR0aW5ncyAmJiBuLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksIG4uaXNBcnJheShhKSB8fCBhLmpxdWVyeSAmJiAhbi5pc1BsYWluT2JqZWN0KGEpKSBuLmVhY2goYSwgZnVuY3Rpb24gKCkgewogICAgICAgICBlKHRoaXMubmFtZSwgdGhpcy52YWx1ZSkKICAgICAgfSk7CiAgICAgIGVsc2UKICAgICAgICAgZm9yIChjIGluIGEpIGRjKGMsIGFbY10sIGIsIGUpOwogICAgICByZXR1cm4gZC5qb2luKCImIikucmVwbGFjZSgkYiwgIisiKQogICB9LCBuLmZuLmV4dGVuZCh7CiAgICAgIHNlcmlhbGl6ZTogZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gbi5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpCiAgICAgIH0sCiAgICAgIHNlcmlhbGl6ZUFycmF5OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBhID0gbi5wcm9wKHRoaXMsICJlbGVtZW50cyIpOwogICAgICAgICAgICByZXR1cm4gYSA/IG4ubWFrZUFycmF5KGEpIDogdGhpcwogICAgICAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgYSA9IHRoaXMudHlwZTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSAmJiAhbih0aGlzKS5pcygiOmRpc2FibGVkIikgJiYgY2MudGVzdCh0aGlzLm5vZGVOYW1lKSAmJiAhYmMudGVzdChhKSAmJiAodGhpcy5jaGVja2VkIHx8ICFaLnRlc3QoYSkpCiAgICAgICAgIH0pLm1hcChmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICB2YXIgYyA9IG4odGhpcykudmFsKCk7CiAgICAgICAgICAgIHJldHVybiBudWxsID09IGMgPyBudWxsIDogbi5pc0FycmF5KGMpID8gbi5tYXAoYywgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgbmFtZTogYi5uYW1lLAogICAgICAgICAgICAgICAgICB2YWx1ZTogYS5yZXBsYWNlKGFjLCAiXHJcbiIpCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkgOiB7CiAgICAgICAgICAgICAgIG5hbWU6IGIubmFtZSwKICAgICAgICAgICAgICAgdmFsdWU6IGMucmVwbGFjZShhYywgIlxyXG4iKQogICAgICAgICAgICB9CiAgICAgICAgIH0pLmdldCgpCiAgICAgIH0KICAgfSksIG4uYWpheFNldHRpbmdzLnhociA9IHZvaWQgMCAhPT0gYS5BY3RpdmVYT2JqZWN0ID8gZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gdGhpcy5pc0xvY2FsID8gaWMoKSA6IGQuZG9jdW1lbnRNb2RlID4gOCA/IGhjKCkgOiAvXihnZXR8cG9zdHxoZWFkfHB1dHxkZWxldGV8b3B0aW9ucykkL2kudGVzdCh0aGlzLnR5cGUpICYmIGhjKCkgfHwgaWMoKQogICB9IDogaGM7CiAgIHZhciBlYyA9IDAsCiAgICAgIGZjID0ge30sCiAgICAgIGdjID0gbi5hamF4U2V0dGluZ3MueGhyKCk7CiAgIGEuYXR0YWNoRXZlbnQgJiYgYS5hdHRhY2hFdmVudCgib251bmxvYWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgIGZvciAodmFyIGEgaW4gZmMpIGZjW2FdKHZvaWQgMCwgITApCiAgIH0pLCBsLmNvcnMgPSAhIWdjICYmICJ3aXRoQ3JlZGVudGlhbHMiIGluIGdjLCBnYyA9IGwuYWpheCA9ICEhZ2MsIGdjICYmIG4uYWpheFRyYW5zcG9ydChmdW5jdGlvbiAoYikgewogICAgICBpZiAoIWIuY3Jvc3NEb21haW4gfHwgbC5jb3JzKSB7CiAgICAgICAgIHZhciBjOwogICAgICAgICByZXR1cm4gewogICAgICAgICAgICBzZW5kOiBmdW5jdGlvbiAoZCwgZSkgewogICAgICAgICAgICAgICB2YXIgZiwgZyA9IGIueGhyKCksCiAgICAgICAgICAgICAgICAgIGggPSArK2VjOwogICAgICAgICAgICAgICBpZiAoZy5vcGVuKGIudHlwZSwgYi51cmwsIGIuYXN5bmMsIGIudXNlcm5hbWUsIGIucGFzc3dvcmQpLCBiLnhockZpZWxkcykKICAgICAgICAgICAgICAgICAgZm9yIChmIGluIGIueGhyRmllbGRzKSBnW2ZdID0gYi54aHJGaWVsZHNbZl07CiAgICAgICAgICAgICAgIGIubWltZVR5cGUgJiYgZy5vdmVycmlkZU1pbWVUeXBlICYmIGcub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKSwgYi5jcm9zc0RvbWFpbiB8fCBkWyJYLVJlcXVlc3RlZC1XaXRoIl0gfHwgKGRbIlgtUmVxdWVzdGVkLVdpdGgiXSA9ICJYTUxIdHRwUmVxdWVzdCIpOwogICAgICAgICAgICAgICBmb3IgKGYgaW4gZCkgdm9pZCAwICE9PSBkW2ZdICYmIGcuc2V0UmVxdWVzdEhlYWRlcihmLCBkW2ZdICsgIiIpOwogICAgICAgICAgICAgICBnLnNlbmQoYi5oYXNDb250ZW50ICYmIGIuZGF0YSB8fCBudWxsKSwgYyA9IGZ1bmN0aW9uIChhLCBkKSB7CiAgICAgICAgICAgICAgICAgIHZhciBmLCBpLCBqOwogICAgICAgICAgICAgICAgICBpZiAoYyAmJiAoZCB8fCA0ID09PSBnLnJlYWR5U3RhdGUpKQogICAgICAgICAgICAgICAgICAgICBpZiAoZGVsZXRlIGZjW2hdLCBjID0gdm9pZCAwLCBnLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG4ubm9vcCwgZCkgNCAhPT0gZy5yZWFkeVN0YXRlICYmIGcuYWJvcnQoKTsKICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGogPSB7fSwgZiA9IGcuc3RhdHVzLCAic3RyaW5nIiA9PSB0eXBlb2YgZy5yZXNwb25zZVRleHQgJiYgKGoudGV4dCA9IGcucmVzcG9uc2VUZXh0KTsKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGcuc3RhdHVzVGV4dAogICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAiIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGYgfHwgIWIuaXNMb2NhbCB8fCBiLmNyb3NzRG9tYWluID8gMTIyMyA9PT0gZiAmJiAoZiA9IDIwNCkgOiBmID0gai50ZXh0ID8gMjAwIDogNDA0CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgaiAmJiBlKGYsIGksIGosIGcuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpCiAgICAgICAgICAgICAgIH0sIGIuYXN5bmMgPyA0ID09PSBnLnJlYWR5U3RhdGUgPyBhLnNldFRpbWVvdXQoYykgOiBnLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZjW2hdID0gYyA6IGMoKQogICAgICAgICAgICB9LAogICAgICAgICAgICBhYm9ydDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICBjICYmIGModm9pZCAwLCAhMCkKICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgIH0KICAgfSk7CgogICBmdW5jdGlvbiBoYygpIHsKICAgICAgdHJ5IHsKICAgICAgICAgcmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0CiAgICAgIH0gY2F0Y2ggKGIpIHt9CiAgIH0KCiAgIGZ1bmN0aW9uIGljKCkgewogICAgICB0cnkgewogICAgICAgICByZXR1cm4gbmV3IGEuQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKQogICAgICB9IGNhdGNoIChiKSB7fQogICB9CiAgIG4uYWpheFNldHVwKHsKICAgICAgYWNjZXB0czogewogICAgICAgICBzY3JpcHQ6ICJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCIKICAgICAgfSwKICAgICAgY29udGVudHM6IHsKICAgICAgICAgc2NyaXB0OiAvXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvCiAgICAgIH0sCiAgICAgIGNvbnZlcnRlcnM6IHsKICAgICAgICAgInRleHQgc2NyaXB0IjogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgcmV0dXJuIG4uZ2xvYmFsRXZhbChhKSwgYQogICAgICAgICB9CiAgICAgIH0KICAgfSksIG4uYWpheFByZWZpbHRlcigic2NyaXB0IiwgZnVuY3Rpb24gKGEpIHsKICAgICAgdm9pZCAwID09PSBhLmNhY2hlICYmIChhLmNhY2hlID0gITEpLCBhLmNyb3NzRG9tYWluICYmIChhLnR5cGUgPSAiR0VUIiwgYS5nbG9iYWwgPSAhMSkKICAgfSksIG4uYWpheFRyYW5zcG9ydCgic2NyaXB0IiwgZnVuY3Rpb24gKGEpIHsKICAgICAgaWYgKGEuY3Jvc3NEb21haW4pIHsKICAgICAgICAgdmFyIGIsIGMgPSBkLmhlYWQgfHwgbigiaGVhZCIpWzBdIHx8IGQuZG9jdW1lbnRFbGVtZW50OwogICAgICAgICByZXR1cm4gewogICAgICAgICAgICBzZW5kOiBmdW5jdGlvbiAoZSwgZikgewogICAgICAgICAgICAgICBiID0gZC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSwgYi5hc3luYyA9ICEwLCBhLnNjcmlwdENoYXJzZXQgJiYgKGIuY2hhcnNldCA9IGEuc2NyaXB0Q2hhcnNldCksIGIuc3JjID0gYS51cmwsIGIub25sb2FkID0gYi5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoYSwgYykgewogICAgICAgICAgICAgICAgICAoYyB8fCAhYi5yZWFkeVN0YXRlIHx8IC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkgJiYgKGIub25sb2FkID0gYi5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsLCBiLnBhcmVudE5vZGUgJiYgYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLCBiID0gbnVsbCwgYyB8fCBmKDIwMCwgInN1Y2Nlc3MiKSkKICAgICAgICAgICAgICAgfSwgYy5pbnNlcnRCZWZvcmUoYiwgYy5maXJzdENoaWxkKQogICAgICAgICAgICB9LAogICAgICAgICAgICBhYm9ydDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICBiICYmIGIub25sb2FkKHZvaWQgMCwgITApCiAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICB9CiAgIH0pOwogICB2YXIgamMgPSBbXSwKICAgICAga2MgPSAvKD0pXD8oPz0mfCQpfFw/XD8vOwogICBuLmFqYXhTZXR1cCh7CiAgICAgIGpzb25wOiAiY2FsbGJhY2siLAogICAgICBqc29ucENhbGxiYWNrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHZhciBhID0gamMucG9wKCkgfHwgbi5leHBhbmRvICsgIl8iICsgRWIrKzsKICAgICAgICAgcmV0dXJuIHRoaXNbYV0gPSAhMCwgYQogICAgICB9CiAgIH0pLCBuLmFqYXhQcmVmaWx0ZXIoImpzb24ganNvbnAiLCBmdW5jdGlvbiAoYiwgYywgZCkgewogICAgICB2YXIgZSwgZiwgZywgaCA9IGIuanNvbnAgIT09ICExICYmIChrYy50ZXN0KGIudXJsKSA/ICJ1cmwiIDogInN0cmluZyIgPT0gdHlwZW9mIGIuZGF0YSAmJiAwID09PSAoYi5jb250ZW50VHlwZSB8fCAiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikgJiYga2MudGVzdChiLmRhdGEpICYmICJkYXRhIik7CiAgICAgIHJldHVybiBoIHx8ICJqc29ucCIgPT09IGIuZGF0YVR5cGVzWzBdID8gKGUgPSBiLmpzb25wQ2FsbGJhY2sgPSBuLmlzRnVuY3Rpb24oYi5qc29ucENhbGxiYWNrKSA/IGIuanNvbnBDYWxsYmFjaygpIDogYi5qc29ucENhbGxiYWNrLCBoID8gYltoXSA9IGJbaF0ucmVwbGFjZShrYywgIiQxIiArIGUpIDogYi5qc29ucCAhPT0gITEgJiYgKGIudXJsICs9IChGYi50ZXN0KGIudXJsKSA/ICImIiA6ICI/IikgKyBiLmpzb25wICsgIj0iICsgZSksIGIuY29udmVydGVyc1sic2NyaXB0IGpzb24iXSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIGcgfHwgbi5lcnJvcihlICsgIiB3YXMgbm90IGNhbGxlZCIpLCBnWzBdCiAgICAgIH0sIGIuZGF0YVR5cGVzWzBdID0gImpzb24iLCBmID0gYVtlXSwgYVtlXSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgZyA9IGFyZ3VtZW50cwogICAgICB9LCBkLmFsd2F5cyhmdW5jdGlvbiAoKSB7CiAgICAgICAgIHZvaWQgMCA9PT0gZiA/IG4oYSkucmVtb3ZlUHJvcChlKSA6IGFbZV0gPSBmLCBiW2VdICYmIChiLmpzb25wQ2FsbGJhY2sgPSBjLmpzb25wQ2FsbGJhY2ssIGpjLnB1c2goZSkpLCBnICYmIG4uaXNGdW5jdGlvbihmKSAmJiBmKGdbMF0pLCBnID0gZiA9IHZvaWQgMAogICAgICB9KSwgInNjcmlwdCIpIDogdm9pZCAwCiAgIH0pLCBuLnBhcnNlSFRNTCA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgIGlmICghYSB8fCAic3RyaW5nIiAhPSB0eXBlb2YgYSkgcmV0dXJuIG51bGw7CiAgICAgICJib29sZWFuIiA9PSB0eXBlb2YgYiAmJiAoYyA9IGIsIGIgPSAhMSksIGIgPSBiIHx8IGQ7CiAgICAgIHZhciBlID0geC5leGVjKGEpLAogICAgICAgICBmID0gIWMgJiYgW107CiAgICAgIHJldHVybiBlID8gW2IuY3JlYXRlRWxlbWVudChlWzFdKV0gOiAoZSA9IGphKFthXSwgYiwgZiksIGYgJiYgZi5sZW5ndGggJiYgbihmKS5yZW1vdmUoKSwgbi5tZXJnZShbXSwgZS5jaGlsZE5vZGVzKSkKICAgfTsKICAgdmFyIGxjID0gbi5mbi5sb2FkOwogICBuLmZuLmxvYWQgPSBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICBpZiAoInN0cmluZyIgIT0gdHlwZW9mIGEgJiYgbGMpIHJldHVybiBsYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICB2YXIgZCwgZSwgZiwgZyA9IHRoaXMsCiAgICAgICAgIGggPSBhLmluZGV4T2YoIiAiKTsKICAgICAgcmV0dXJuIGggPiAtMSAmJiAoZCA9IG4udHJpbShhLnNsaWNlKGgsIGEubGVuZ3RoKSksIGEgPSBhLnNsaWNlKDAsIGgpKSwgbi5pc0Z1bmN0aW9uKGIpID8gKGMgPSBiLCBiID0gdm9pZCAwKSA6IGIgJiYgIm9iamVjdCIgPT0gdHlwZW9mIGIgJiYgKGUgPSAiUE9TVCIpLCBnLmxlbmd0aCA+IDAgJiYgbi5hamF4KHsKICAgICAgICAgdXJsOiBhLAogICAgICAgICB0eXBlOiBlIHx8ICJHRVQiLAogICAgICAgICBkYXRhVHlwZTogImh0bWwiLAogICAgICAgICBkYXRhOiBiCiAgICAgIH0pLmRvbmUoZnVuY3Rpb24gKGEpIHsKICAgICAgICAgZiA9IGFyZ3VtZW50cywgZy5odG1sKGQgPyBuKCI8ZGl2PiIpLmFwcGVuZChuLnBhcnNlSFRNTChhKSkuZmluZChkKSA6IGEpCiAgICAgIH0pLmFsd2F5cyhjICYmIGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgIGcuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGMuYXBwbHkodGhpcywgZiB8fCBbYS5yZXNwb25zZVRleHQsIGIsIGFdKQogICAgICAgICB9KQogICAgICB9KSwgdGhpcwogICB9LCBuLmVhY2goWyJhamF4U3RhcnQiLCAiYWpheFN0b3AiLCAiYWpheENvbXBsZXRlIiwgImFqYXhFcnJvciIsICJhamF4U3VjY2VzcyIsICJhamF4U2VuZCJdLCBmdW5jdGlvbiAoYSwgYikgewogICAgICBuLmZuW2JdID0gZnVuY3Rpb24gKGEpIHsKICAgICAgICAgcmV0dXJuIHRoaXMub24oYiwgYSkKICAgICAgfQogICB9KSwgbi5leHByLmZpbHRlcnMuYW5pbWF0ZWQgPSBmdW5jdGlvbiAoYSkgewogICAgICByZXR1cm4gbi5ncmVwKG4udGltZXJzLCBmdW5jdGlvbiAoYikgewogICAgICAgICByZXR1cm4gYSA9PT0gYi5lbGVtCiAgICAgIH0pLmxlbmd0aAogICB9OwoKICAgZnVuY3Rpb24gbWMoYSkgewogICAgICByZXR1cm4gbi5pc1dpbmRvdyhhKSA/IGEgOiA5ID09PSBhLm5vZGVUeXBlID8gYS5kZWZhdWx0VmlldyB8fCBhLnBhcmVudFdpbmRvdyA6ICExCiAgIH0KICAgbi5vZmZzZXQgPSB7CiAgICAgIHNldE9mZnNldDogZnVuY3Rpb24gKGEsIGIsIGMpIHsKICAgICAgICAgdmFyIGQsIGUsIGYsIGcsIGgsIGksIGosIGsgPSBuLmNzcyhhLCAicG9zaXRpb24iKSwKICAgICAgICAgICAgbCA9IG4oYSksCiAgICAgICAgICAgIG0gPSB7fTsKICAgICAgICAgInN0YXRpYyIgPT09IGsgJiYgKGEuc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiKSwgaCA9IGwub2Zmc2V0KCksIGYgPSBuLmNzcyhhLCAidG9wIiksIGkgPSBuLmNzcyhhLCAibGVmdCIpLCBqID0gKCJhYnNvbHV0ZSIgPT09IGsgfHwgImZpeGVkIiA9PT0gaykgJiYgbi5pbkFycmF5KCJhdXRvIiwgW2YsIGldKSA+IC0xLCBqID8gKGQgPSBsLnBvc2l0aW9uKCksIGcgPSBkLnRvcCwgZSA9IGQubGVmdCkgOiAoZyA9IHBhcnNlRmxvYXQoZikgfHwgMCwgZSA9IHBhcnNlRmxvYXQoaSkgfHwgMCksIG4uaXNGdW5jdGlvbihiKSAmJiAoYiA9IGIuY2FsbChhLCBjLCBuLmV4dGVuZCh7fSwgaCkpKSwgbnVsbCAhPSBiLnRvcCAmJiAobS50b3AgPSBiLnRvcCAtIGgudG9wICsgZyksIG51bGwgIT0gYi5sZWZ0ICYmIChtLmxlZnQgPSBiLmxlZnQgLSBoLmxlZnQgKyBlKSwgInVzaW5nIiBpbiBiID8gYi51c2luZy5jYWxsKGEsIG0pIDogbC5jc3MobSkKICAgICAgfQogICB9LCBuLmZuLmV4dGVuZCh7CiAgICAgIG9mZnNldDogZnVuY3Rpb24gKGEpIHsKICAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB2b2lkIDAgPT09IGEgPyB0aGlzIDogdGhpcy5lYWNoKGZ1bmN0aW9uIChiKSB7CiAgICAgICAgICAgIG4ub2Zmc2V0LnNldE9mZnNldCh0aGlzLCBhLCBiKQogICAgICAgICB9KTsKICAgICAgICAgdmFyIGIsIGMsIGQgPSB7CiAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgbGVmdDogMAogICAgICAgICAgICB9LAogICAgICAgICAgICBlID0gdGhpc1swXSwKICAgICAgICAgICAgZiA9IGUgJiYgZS5vd25lckRvY3VtZW50OwogICAgICAgICBpZiAoZikgcmV0dXJuIGIgPSBmLmRvY3VtZW50RWxlbWVudCwgbi5jb250YWlucyhiLCBlKSA/ICgidW5kZWZpbmVkIiAhPSB0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QgJiYgKGQgPSBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSwgYyA9IG1jKGYpLCB7CiAgICAgICAgICAgIHRvcDogZC50b3AgKyAoYy5wYWdlWU9mZnNldCB8fCBiLnNjcm9sbFRvcCkgLSAoYi5jbGllbnRUb3AgfHwgMCksCiAgICAgICAgICAgIGxlZnQ6IGQubGVmdCArIChjLnBhZ2VYT2Zmc2V0IHx8IGIuc2Nyb2xsTGVmdCkgLSAoYi5jbGllbnRMZWZ0IHx8IDApCiAgICAgICAgIH0pIDogZAogICAgICB9LAogICAgICBwb3NpdGlvbjogZnVuY3Rpb24gKCkgewogICAgICAgICBpZiAodGhpc1swXSkgewogICAgICAgICAgICB2YXIgYSwgYiwgYyA9IHsKICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICBsZWZ0OiAwCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIGQgPSB0aGlzWzBdOwogICAgICAgICAgICByZXR1cm4gImZpeGVkIiA9PT0gbi5jc3MoZCwgInBvc2l0aW9uIikgPyBiID0gZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSA6IChhID0gdGhpcy5vZmZzZXRQYXJlbnQoKSwgYiA9IHRoaXMub2Zmc2V0KCksIG4ubm9kZU5hbWUoYVswXSwgImh0bWwiKSB8fCAoYyA9IGEub2Zmc2V0KCkpLCBjLnRvcCArPSBuLmNzcyhhWzBdLCAiYm9yZGVyVG9wV2lkdGgiLCAhMCksIGMubGVmdCArPSBuLmNzcyhhWzBdLCAiYm9yZGVyTGVmdFdpZHRoIiwgITApKSwgewogICAgICAgICAgICAgICB0b3A6IGIudG9wIC0gYy50b3AgLSBuLmNzcyhkLCAibWFyZ2luVG9wIiwgITApLAogICAgICAgICAgICAgICBsZWZ0OiBiLmxlZnQgLSBjLmxlZnQgLSBuLmNzcyhkLCAibWFyZ2luTGVmdCIsICEwKQogICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgfSwKICAgICAgb2Zmc2V0UGFyZW50OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBhID0gdGhpcy5vZmZzZXRQYXJlbnQ7CiAgICAgICAgICAgIHdoaWxlIChhICYmICFuLm5vZGVOYW1lKGEsICJodG1sIikgJiYgInN0YXRpYyIgPT09IG4uY3NzKGEsICJwb3NpdGlvbiIpKSBhID0gYS5vZmZzZXRQYXJlbnQ7CiAgICAgICAgICAgIHJldHVybiBhIHx8IFFhCiAgICAgICAgIH0pCiAgICAgIH0KICAgfSksIG4uZWFjaCh7CiAgICAgIHNjcm9sbExlZnQ6ICJwYWdlWE9mZnNldCIsCiAgICAgIHNjcm9sbFRvcDogInBhZ2VZT2Zmc2V0IgogICB9LCBmdW5jdGlvbiAoYSwgYikgewogICAgICB2YXIgYyA9IC9ZLy50ZXN0KGIpOwogICAgICBuLmZuW2FdID0gZnVuY3Rpb24gKGQpIHsKICAgICAgICAgcmV0dXJuIFkodGhpcywgZnVuY3Rpb24gKGEsIGQsIGUpIHsKICAgICAgICAgICAgdmFyIGYgPSBtYyhhKTsKICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gZSA/IGYgPyBiIGluIGYgPyBmW2JdIDogZi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbZF0gOiBhW2RdIDogdm9pZChmID8gZi5zY3JvbGxUbyhjID8gbihmKS5zY3JvbGxMZWZ0KCkgOiBlLCBjID8gZSA6IG4oZikuc2Nyb2xsVG9wKCkpIDogYVtkXSA9IGUpCiAgICAgICAgIH0sIGEsIGQsIGFyZ3VtZW50cy5sZW5ndGgsIG51bGwpCiAgICAgIH0KICAgfSksIG4uZWFjaChbInRvcCIsICJsZWZ0Il0sIGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIG4uY3NzSG9va3NbYl0gPSBVYShsLnBpeGVsUG9zaXRpb24sIGZ1bmN0aW9uIChhLCBjKSB7CiAgICAgICAgIHJldHVybiBjID8gKGMgPSBTYShhLCBiKSwgT2EudGVzdChjKSA/IG4oYSkucG9zaXRpb24oKVtiXSArICJweCIgOiBjKSA6IHZvaWQgMAogICAgICB9KQogICB9KSwgbi5lYWNoKHsKICAgICAgSGVpZ2h0OiAiaGVpZ2h0IiwKICAgICAgV2lkdGg6ICJ3aWR0aCIKICAgfSwgZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgbi5lYWNoKHsKICAgICAgICAgcGFkZGluZzogImlubmVyIiArIGEsCiAgICAgICAgIGNvbnRlbnQ6IGIsCiAgICAgICAgICIiOiAib3V0ZXIiICsgYQogICAgICB9LCBmdW5jdGlvbiAoYywgZCkgewogICAgICAgICBuLmZuW2RdID0gZnVuY3Rpb24gKGQsIGUpIHsKICAgICAgICAgICAgdmFyIGYgPSBhcmd1bWVudHMubGVuZ3RoICYmIChjIHx8ICJib29sZWFuIiAhPSB0eXBlb2YgZCksCiAgICAgICAgICAgICAgIGcgPSBjIHx8IChkID09PSAhMCB8fCBlID09PSAhMCA/ICJtYXJnaW4iIDogImJvcmRlciIpOwogICAgICAgICAgICByZXR1cm4gWSh0aGlzLCBmdW5jdGlvbiAoYiwgYywgZCkgewogICAgICAgICAgICAgICB2YXIgZTsKICAgICAgICAgICAgICAgcmV0dXJuIG4uaXNXaW5kb3coYikgPyBiLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IiArIGFdIDogOSA9PT0gYi5ub2RlVHlwZSA/IChlID0gYi5kb2N1bWVudEVsZW1lbnQsIE1hdGgubWF4KGIuYm9keVsic2Nyb2xsIiArIGFdLCBlWyJzY3JvbGwiICsgYV0sIGIuYm9keVsib2Zmc2V0IiArIGFdLCBlWyJvZmZzZXQiICsgYV0sIGVbImNsaWVudCIgKyBhXSkpIDogdm9pZCAwID09PSBkID8gbi5jc3MoYiwgYywgZykgOiBuLnN0eWxlKGIsIGMsIGQsIGcpCiAgICAgICAgICAgIH0sIGIsIGYgPyBkIDogdm9pZCAwLCBmLCBudWxsKQogICAgICAgICB9CiAgICAgIH0pCiAgIH0pLCBuLmZuLmV4dGVuZCh7CiAgICAgIGJpbmQ6IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgIHJldHVybiB0aGlzLm9uKGEsIG51bGwsIGIsIGMpCiAgICAgIH0sCiAgICAgIHVuYmluZDogZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgcmV0dXJuIHRoaXMub2ZmKGEsIG51bGwsIGIpCiAgICAgIH0sCiAgICAgIGRlbGVnYXRlOiBmdW5jdGlvbiAoYSwgYiwgYywgZCkgewogICAgICAgICByZXR1cm4gdGhpcy5vbihiLCBhLCBjLCBkKQogICAgICB9LAogICAgICB1bmRlbGVnYXRlOiBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICByZXR1cm4gMSA9PT0gYXJndW1lbnRzLmxlbmd0aCA/IHRoaXMub2ZmKGEsICIqKiIpIDogdGhpcy5vZmYoYiwgYSB8fCAiKioiLCBjKQogICAgICB9CiAgIH0pLCBuLmZuLnNpemUgPSBmdW5jdGlvbiAoKSB7CiAgICAgIHJldHVybiB0aGlzLmxlbmd0aAogICB9LCBuLmZuLmFuZFNlbGYgPSBuLmZuLmFkZEJhY2ssICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kICYmIGRlZmluZSgianF1ZXJ5IiwgW10sIGZ1bmN0aW9uICgpIHsKICAgICAgcmV0dXJuIG4KICAgfSk7CiAgIHZhciBuYyA9IGEualF1ZXJ5LAogICAgICBvYyA9IGEuJDsKICAgcmV0dXJuIG4ubm9Db25mbGljdCA9IGZ1bmN0aW9uIChiKSB7CiAgICAgIHJldHVybiBhLiQgPT09IG4gJiYgKGEuJCA9IG9jKSwgYiAmJiBhLmpRdWVyeSA9PT0gbiAmJiAoYS5qUXVlcnkgPSBuYyksIG4KICAgfSwgYiB8fCAoYS5qUXVlcnkgPSBhLiQgPSBuKSwgbgp9KTs="}},"time_used":140,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":100,"receive":40,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/smoothscroll.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.626Z","timestamp":1785124599626,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/smoothscroll.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"1aa8-5aa839fc-7b770d954681a866;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 2785\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":6824,"size_decoded":3162,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (6808)","md5":"e03feb87da130faf3c3351a17366dc39","sha1":"71ee955904a3ce5ab0720d4524f67fc6516f1d24","sha256":"d73c0ce55fc249f7026f8e511709e8714970869c0963493c8f235053e39eeeee","sha512":"bdbc2a891c61ae617e3362a534b564a6a8a285fac5ca415514c5d9f7c8a6e4f8190bf8c50be5910b2f77b62c926c7eabf3b6433953657b204d3fc7ffe102a6cd","ssdeep":"96:damZT/mslXmbZ9ptU4jl0kdafRP9VXPUO7f5yxdooknvXRGwZ50xRROwJYy:dac/mslXy7p+JVPsef5aeXRGTUwmy","tlshash":"29e1eaec7643f0a5e2ea51bbb16f830a71314110640b9491a239d894bc7cdfb9367e9f","first_seen":"2023-03-11T13:40:47Z","last_seen":"2026-07-29T06:17:13.170059Z","times_seen":328,"resource_available":true,"data":"Ly9TbW1vdGggU2Nyb2xsCiFmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt6LmtleWJvYXJkU3VwcG9ydCYmbSgia2V5ZG93biIsYSl9ZnVuY3Rpb24gdCgpe2lmKCFBJiZkb2N1bWVudC5ib2R5KXtBPSEwO3ZhciB0PWRvY3VtZW50LmJvZHksbz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj13aW5kb3cuaW5uZXJIZWlnaHQscj10LnNjcm9sbEhlaWdodDtpZihCPWRvY3VtZW50LmNvbXBhdE1vZGUuaW5kZXhPZigiQ1NTIik+PTA/bzp0LEQ9dCxlKCksdG9wIT1zZWxmKVg9ITA7ZWxzZSBpZihyPm4mJih0Lm9mZnNldEhlaWdodDw9bnx8by5vZmZzZXRIZWlnaHQ8PW4pKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlOyB6LWluZGV4Oi0xMDAwMDsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgaGVpZ2h0OiIrQi5zY3JvbGxIZWlnaHQrInB4Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO3ZhciBpO1Q9ZnVuY3Rpb24oKXtpfHwoaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7THx8KGEuc3R5bGUuaGVpZ2h0PSIwIixhLnN0eWxlLmhlaWdodD1CLnNjcm9sbEhlaWdodCsicHgiLGk9bnVsbCl9LDUwMCkpfSxzZXRUaW1lb3V0KFQsMTApLG0oInJlc2l6ZSIsVCk7dmFyIGw9e2F0dHJpYnV0ZXM6ITAsY2hpbGRMaXN0OiEwLGNoYXJhY3RlckRhdGE6ITF9O2lmKE09bmV3IFcoVCksTS5vYnNlcnZlKHQsbCksQi5vZmZzZXRIZWlnaHQ8PW4pe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Muc3R5bGUuY2xlYXI9ImJvdGgiLHQuYXBwZW5kQ2hpbGQoYyl9fXouZml4ZWRCYWNrZ3JvdW5kfHxMfHwodC5zdHlsZS5iYWNrZ3JvdW5kQXR0YWNobWVudD0ic2Nyb2xsIixvLnN0eWxlLmJhY2tncm91bmRBdHRhY2htZW50PSJzY3JvbGwiKX19ZnVuY3Rpb24gbygpe00mJk0uZGlzY29ubmVjdCgpLHcoXyxyKSx3KCJtb3VzZWRvd24iLGkpLHcoImtleWRvd24iLGEpLHcoInJlc2l6ZSIsVCksdygibG9hZCIsdCl9ZnVuY3Rpb24gbihlLHQsbyl7aWYocCh0LG8pLDEhPXouYWNjZWxlcmF0aW9uTWF4KXt2YXIgbj1EYXRlLm5vdygpLHI9bi1qO2lmKHI8ei5hY2NlbGVyYXRpb25EZWx0YSl7dmFyIGE9KDErNTAvcikvMjthPjEmJihhPU1hdGgubWluKGEsei5hY2NlbGVyYXRpb25NYXgpLHQqPWEsbyo9YSl9aj1EYXRlLm5vdygpfWlmKHEucHVzaCh7eDp0LHk6byxsYXN0WDowPnQ/Ljk5Oi0uOTksbGFzdFk6MD5vPy45OTotLjk5LHN0YXJ0OkRhdGUubm93KCl9KSwhUCl7dmFyIGk9ZT09PWRvY3VtZW50LmJvZHksbD1mdW5jdGlvbihuKXtmb3IodmFyIHI9RGF0ZS5ub3coKSxhPTAsYz0wLHU9MDt1PHEubGVuZ3RoO3UrKyl7dmFyIGQ9cVt1XSxzPXItZC5zdGFydCxmPXM+PXouYW5pbWF0aW9uVGltZSxtPWY/MTpzL3ouYW5pbWF0aW9uVGltZTt6LnB1bHNlQWxnb3JpdGhtJiYobT14KG0pKTt2YXIgdz1kLngqbS1kLmxhc3RYPj4wLGg9ZC55Km0tZC5sYXN0WT4+MDthKz13LGMrPWgsZC5sYXN0WCs9dyxkLmxhc3RZKz1oLGYmJihxLnNwbGljZSh1LDEpLHUtLSl9aT93aW5kb3cuc2Nyb2xsQnkoYSxjKTooYSYmKGUuc2Nyb2xsTGVmdCs9YSksYyYmKGUuc2Nyb2xsVG9wKz1jKSksdHx8b3x8KHE9W10pLHEubGVuZ3RoP1YobCxlLDFlMy96LmZyYW1lUmF0ZSsxKTpQPSExfTtWKGwsZSwwKSxQPSEwfX1mdW5jdGlvbiByKGUpe0F8fHQoKTt2YXIgbz1lLnRhcmdldCxyPXUobyk7aWYoIXJ8fGUuZGVmYXVsdFByZXZlbnRlZHx8ZS5jdHJsS2V5KXJldHVybiEwO2lmKGgoRCwiZW1iZWQiKXx8aChvLCJlbWJlZCIpJiYvXC5wZGYvaS50ZXN0KG8uc3JjKXx8aChELCJvYmplY3QiKXx8by5zaGFkb3dSb290KXJldHVybiEwO3ZhciBhPS1lLndoZWVsRGVsdGFYfHxlLmRlbHRhWHx8MCxpPS1lLndoZWVsRGVsdGFZfHxlLmRlbHRhWXx8MDtyZXR1cm4gTyYmKGUud2hlZWxEZWx0YVgmJmIoZS53aGVlbERlbHRhWCwxMjApJiYoYT0tMTIwKihlLndoZWVsRGVsdGFYL01hdGguYWJzKGUud2hlZWxEZWx0YVgpKSksZS53aGVlbERlbHRhWSYmYihlLndoZWVsRGVsdGFZLDEyMCkmJihpPS0xMjAqKGUud2hlZWxEZWx0YVkvTWF0aC5hYnMoZS53aGVlbERlbHRhWSkpKSksYXx8aXx8KGk9LWUud2hlZWxEZWx0YXx8MCksMT09PWUuZGVsdGFNb2RlJiYoYSo9NDAsaSo9NDApLCF6LnRvdWNocGFkU3VwcG9ydCYmdihpKT8hMDooTWF0aC5hYnMoYSk+MS4yJiYoYSo9ei5zdGVwU2l6ZS8xMjApLE1hdGguYWJzKGkpPjEuMiYmKGkqPXouc3RlcFNpemUvMTIwKSxuKHIsYSxpKSxlLnByZXZlbnREZWZhdWx0KCksdm9pZCBsKCkpfWZ1bmN0aW9uIGEoZSl7dmFyIHQ9ZS50YXJnZXQsbz1lLmN0cmxLZXl8fGUuYWx0S2V5fHxlLm1ldGFLZXl8fGUuc2hpZnRLZXkmJmUua2V5Q29kZSE9PUsuc3BhY2ViYXI7ZG9jdW1lbnQuYm9keS5jb250YWlucyhEKXx8KEQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7dmFyIHI9L14odGV4dGFyZWF8c2VsZWN0fGVtYmVkfG9iamVjdCkkL2ksYT0vXihidXR0b258c3VibWl0fHJhZGlvfGNoZWNrYm94fGZpbGV8Y29sb3J8aW1hZ2UpJC9pO2lmKGUuZGVmYXVsdFByZXZlbnRlZHx8ci50ZXN0KHQubm9kZU5hbWUpfHxoKHQsImlucHV0IikmJiFhLnRlc3QodC50eXBlKXx8aChELCJ2aWRlbyIpfHxnKGUpfHx0LmlzQ29udGVudEVkaXRhYmxlfHxvKXJldHVybiEwO2lmKChoKHQsImJ1dHRvbiIpfHxoKHQsImlucHV0IikmJmEudGVzdCh0LnR5cGUpKSYmZS5rZXlDb2RlPT09Sy5zcGFjZWJhcilyZXR1cm4hMDtpZihoKHQsImlucHV0IikmJiJyYWRpbyI9PXQudHlwZSYmUltlLmtleUNvZGVdKXJldHVybiEwO3ZhciBpLGM9MCxkPTAscz11KEQpLGY9cy5jbGllbnRIZWlnaHQ7c3dpdGNoKHM9PWRvY3VtZW50LmJvZHkmJihmPXdpbmRvdy5pbm5lckhlaWdodCksZS5rZXlDb2RlKXtjYXNlIEsudXA6ZD0tei5hcnJvd1Njcm9sbDticmVhaztjYXNlIEsuZG93bjpkPXouYXJyb3dTY3JvbGw7YnJlYWs7Y2FzZSBLLnNwYWNlYmFyOmk9ZS5zaGlmdEtleT8xOi0xLGQ9LWkqZiouOTticmVhaztjYXNlIEsucGFnZXVwOmQ9LjkqLWY7YnJlYWs7Y2FzZSBLLnBhZ2Vkb3duOmQ9LjkqZjticmVhaztjYXNlIEsuaG9tZTpkPS1zLnNjcm9sbFRvcDticmVhaztjYXNlIEsuZW5kOnZhciBtPXMuc2Nyb2xsSGVpZ2h0LXMuc2Nyb2xsVG9wLWY7ZD1tPjA/bSsxMDowO2JyZWFrO2Nhc2UgSy5sZWZ0OmM9LXouYXJyb3dTY3JvbGw7YnJlYWs7Y2FzZSBLLnJpZ2h0OmM9ei5hcnJvd1Njcm9sbDticmVhaztkZWZhdWx0OnJldHVybiEwfW4ocyxjLGQpLGUucHJldmVudERlZmF1bHQoKSxsKCl9ZnVuY3Rpb24gaShlKXtEPWUudGFyZ2V0fWZ1bmN0aW9uIGwoKXtjbGVhclRpbWVvdXQoRSksRT1zZXRJbnRlcnZhbChmdW5jdGlvbigpe0k9e319LDFlMyl9ZnVuY3Rpb24gYyhlLHQpe2Zvcih2YXIgbz1lLmxlbmd0aDtvLS07KUlbRihlW29dKV09dDtyZXR1cm4gdH1mdW5jdGlvbiB1KGUpe3ZhciB0PVtdLG89ZG9jdW1lbnQuYm9keSxuPUIuc2Nyb2xsSGVpZ2h0O2Rve3ZhciByPUlbRihlKV07aWYocilyZXR1cm4gYyh0LHIpO2lmKHQucHVzaChlKSxuPT09ZS5zY3JvbGxIZWlnaHQpe3ZhciBhPXMoQikmJnMobyksaT1hfHxmKEIpO2lmKFgmJmQoQil8fCFYJiZpKXJldHVybiBjKHQsJCgpKX1lbHNlIGlmKGQoZSkmJmYoZSkpcmV0dXJuIGModCxlKX13aGlsZShlPWUucGFyZW50RWxlbWVudCl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5jbGllbnRIZWlnaHQrMTA8ZS5zY3JvbGxIZWlnaHR9ZnVuY3Rpb24gcyhlKXt2YXIgdD1nZXRDb21wdXRlZFN0eWxlKGUsIiIpLmdldFByb3BlcnR5VmFsdWUoIm92ZXJmbG93LXkiKTtyZXR1cm4iaGlkZGVuIiE9PXR9ZnVuY3Rpb24gZihlKXt2YXIgdD1nZXRDb21wdXRlZFN0eWxlKGUsIiIpLmdldFByb3BlcnR5VmFsdWUoIm92ZXJmbG93LXkiKTtyZXR1cm4ic2Nyb2xsIj09PXR8fCJhdXRvIj09PXR9ZnVuY3Rpb24gbShlLHQpe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsdCwhMSl9ZnVuY3Rpb24gdyhlLHQpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGUsdCwhMSl9ZnVuY3Rpb24gaChlLHQpe3JldHVybihlLm5vZGVOYW1lfHwiIikudG9Mb3dlckNhc2UoKT09PXQudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBwKGUsdCl7ZT1lPjA/MTotMSx0PXQ+MD8xOi0xLChZLnghPT1lfHxZLnkhPT10KSYmKFkueD1lLFkueT10LHE9W10saj0wKX1mdW5jdGlvbiB2KGUpe3JldHVybiBlPyhOLmxlbmd0aHx8KE49W2UsZSxlXSksZT1NYXRoLmFicyhlKSxOLnB1c2goZSksTi5zaGlmdCgpLGNsZWFyVGltZW91dChDKSxDPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYWxTdG9yYWdlJiYobG9jYWxTdG9yYWdlLlNTX2RlbHRhQnVmZmVyPU4uam9pbigiLCIpKX0sMWUzKSwheSgxMjApJiYheSgxMDApKTp2b2lkIDB9ZnVuY3Rpb24gYihlLHQpe3JldHVybiBNYXRoLmZsb29yKGUvdCk9PWUvdH1mdW5jdGlvbiB5KGUpe3JldHVybiBiKE5bMF0sZSkmJmIoTlsxXSxlKSYmYihOWzJdLGUpfWZ1bmN0aW9uIGcoZSl7dmFyIHQ9ZS50YXJnZXQsbz0hMTtpZigtMSE9ZG9jdW1lbnQuVVJMLmluZGV4T2YoInd3dy55b3V0dWJlLmNvbS93YXRjaCIpKWRvIGlmKG89dC5jbGFzc0xpc3QmJnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJodG1sNS12aWRlby1jb250cm9scyIpKWJyZWFrO3doaWxlKHQ9dC5wYXJlbnROb2RlKTtyZXR1cm4gb31mdW5jdGlvbiBTKGUpe3ZhciB0LG8sbjtyZXR1cm4gZSo9ei5wdWxzZVNjYWxlLDE+ZT90PWUtKDEtTWF0aC5leHAoLWUpKToobz1NYXRoLmV4cCgtMSksZS09MSxuPTEtTWF0aC5leHAoLWUpLHQ9bytuKigxLW8pKSx0KnoucHVsc2VOb3JtYWxpemV9ZnVuY3Rpb24geChlKXtyZXR1cm4gZT49MT8xOjA+PWU/MDooMT09ei5wdWxzZU5vcm1hbGl6ZSYmKHoucHVsc2VOb3JtYWxpemUvPVMoMSkpLFMoZSkpfWZ1bmN0aW9uIGsoZSl7Zm9yKHZhciB0IGluIGUpSC5oYXNPd25Qcm9wZXJ0eSh0KSYmKHpbdF09ZVt0XSl9dmFyIEQsTSxULEUsQyxIPXtmcmFtZVJhdGU6MTUwLGFuaW1hdGlvblRpbWU6NDAwLHN0ZXBTaXplOjEwMCxwdWxzZUFsZ29yaXRobTohMCxwdWxzZVNjYWxlOjQscHVsc2VOb3JtYWxpemU6MSxhY2NlbGVyYXRpb25EZWx0YTo1MCxhY2NlbGVyYXRpb25NYXg6MyxrZXlib2FyZFN1cHBvcnQ6ITAsYXJyb3dTY3JvbGw6NTAsdG91Y2hwYWRTdXBwb3J0OiExLGZpeGVkQmFja2dyb3VuZDohMCxleGNsdWRlZDoiIn0sej1ILEw9ITEsWD0hMSxZPXt4OjAseTowfSxBPSExLEI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LE49W10sTz0vXk1hYy8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLEs9e2xlZnQ6MzcsdXA6MzgscmlnaHQ6MzksZG93bjo0MCxzcGFjZWJhcjozMixwYWdldXA6MzMscGFnZWRvd246MzQsZW5kOjM1LGhvbWU6MzZ9LFI9ezM3OjEsMzg6MSwzOToxLDQwOjF9LHE9W10sUD0hMSxqPURhdGUubm93KCksRj1mdW5jdGlvbigpe3ZhciBlPTA7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LnVuaXF1ZUlEfHwodC51bmlxdWVJRD1lKyspfX0oKSxJPXt9O3dpbmRvdy5sb2NhbFN0b3JhZ2UmJmxvY2FsU3RvcmFnZS5TU19kZWx0YUJ1ZmZlciYmKE49bG9jYWxTdG9yYWdlLlNTX2RlbHRhQnVmZmVyLnNwbGl0KCIsIikpO3ZhciBfLFY9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZXx8ZnVuY3Rpb24oZSx0LG8pe3dpbmRvdy5zZXRUaW1lb3V0KGUsb3x8MWUzLzYwKX19KCksVz13aW5kb3cuTXV0YXRpb25PYnNlcnZlcnx8d2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXJ8fHdpbmRvdy5Nb3pNdXRhdGlvbk9ic2VydmVyLCQ9ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gZnVuY3Rpb24oKXtpZighZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5jc3NUZXh0PSJoZWlnaHQ6MTAwMDBweDt3aWR0aDoxcHg7Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpO3ZhciBvPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7d2luZG93LnNjcm9sbEJ5KDAsMyksZT1kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCE9bz9kb2N1bWVudC5ib2R5OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx3aW5kb3cuc2Nyb2xsQnkoMCwtMyksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KX1yZXR1cm4gZX19KCksVT13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCxHPS9FZGdlLy50ZXN0KFUpLEo9L2Nocm9tZS9pLnRlc3QoVSkmJiFHLFE9L3NhZmFyaS9pLnRlc3QoVSkmJiFHLFo9L21vYmlsZS9pLnRlc3QoVSksZWU9L1dpbmRvd3MgTlQgNi4xL2kudGVzdChVKSYmL3J2OjExL2kudGVzdChVKSx0ZT0oSnx8UXx8ZWUpJiYhWjsib253aGVlbCJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKT9fPSJ3aGVlbCI6Im9ubW91c2V3aGVlbCJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSYmKF89Im1vdXNld2hlZWwiKSxfJiZ0ZSYmKG0oXyxyKSxtKCJtb3VzZWRvd24iLGkpLG0oImxvYWQiLHQpKSxrLmRlc3Ryb3k9byx3aW5kb3cuU21vb3RoU2Nyb2xsT3B0aW9ucyYmayh3aW5kb3cuU21vb3RoU2Nyb2xsT3B0aW9ucyksImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoZnVuY3Rpb24oKXtyZXR1cm4ga30pOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1rOndpbmRvdy5TbW9vdGhTY3JvbGw9a30oKTs="}},"time_used":157,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":148,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T03:56:38.389Z","timestamp":1785124598389,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nset-cookie: CameFrom=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; secure\nPHPSESSID=465rm3pnnammbighkgbt3dctv0; path=/; domain=astroxcinvest.com; HttpOnly; secure\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"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":"Google Maps","description":"Google Maps is a web mapping service. It offers satellite imagery, aerial photography, street maps, 360° interactive panoramic views of streets, real-time traffic conditions, and route planning for traveling by foot, car, bicycle and air, or public transportation.","website":"https://maps.google.com","common_platform_enumeration":"","icon":"Google Maps.svg","categories":["Maps"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Font Awesome","description":"Font Awesome is a font and icon toolkit based on CSS and Less.","website":"https://fontawesome.com/","common_platform_enumeration":"","icon":"Font Awesome.svg","categories":["Font scripts"]},{"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":"jQuery","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]}],"data":{"size":36144,"size_decoded":8177,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text","md5":"a04ed7772084d3302f9a9a1f5708dede","sha1":"5bcf11dad8bbb02175cbabed5241a0d7a1824f06","sha256":"10b2008b01e15742ff89cfa270e67871ea63235047db4c7c1cf0e9f1329ff5a1","sha512":"0f2ec25245bd271fe671c99012356d69440b9ca02c7d450b6a9e7a6ae9d562373386ac11d4df1a0df5f3e76eb011435b9a6a4d994f1f8dbb34dfe469580311a1","ssdeep":"384:CZ6nrtoLaRfRxqiJQLLB4qzPMUFb0jIH5vySZgybO2D4uSM:CZaoLQJQLLBzvFBgyK2Mm","tlshash":"fef2643b9cf21023114390e56bb25b1a7fe29507c64ace6436ed57989fc3f968c1768c","first_seen":"2026-07-27T03:16:24.559762Z","last_seen":"2026-07-27T03:58:10.250621Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPHRpdGxlPmFzdHJveGNpbnZlc3QuY29tPC90aXRsZT4KICAgIAoKICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0iaW5pdGlhbC1zY2FsZT0xLCB3aWR0aD1kZXZpY2Utd2lkdGgsIG1heGltdW0tc2NhbGU9MSwgbWluaW11bS1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KICAgIDwhLS0KICAgIENTUwogICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC0tPgogICAgPCEtLSBCb290c3RyYXAtLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL2Jvb3RzdHJhcC5taW4uY3NzIj4KICAgIDwhLS0gQW5pbWF0aW9uLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9hbmltYXRlLmNzcyI+CiAgICA8IS0tIFRlbXBsYXRlIHN0eWxlcy0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3Mvc3R5bGUuY3NzIj4KICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3Mvc3R5bGUzLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9tb3JyaXMuY3NzIj4KICAgIDwhLS0gUmVzcG9uc2l2ZSBzdHlsZXMtLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL3Jlc3BvbnNpdmUuY3NzIj4KICAgIDwhLS0gRm9udEF3ZXNvbWUtLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIj4KICAgIDwhLS0gSWNvbiBmb250LS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9pY29uLWZvbnQuY3NzIj4KICAgIDwhLS0gT3dsIENhcm91c2VsLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9vd2wuY2Fyb3VzZWwubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9vd2wudGhlbWUuZGVmYXVsdC5taW4uY3NzIj4KICAgIDwhLS0gQ29sb3Jib3gtLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL2NvbG9yYm94LmNzcyI+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8va2l0LmZvbnRhd2Vzb21lLmNvbS9hMDc2ZDA1Mzk5LmpzIj48L3NjcmlwdD4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyI+CgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9ub3JtYWxpemUvNS4wLjAvbm9ybWFsaXplLm1pbi5jc3MiPgogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2ljb24/ZmFtaWx5PU1hdGVyaWFsK0ljb25zJz4KICAgIAogICAgPHN0eWxlPgogICAgICAgIC5sZWFkIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogMzAwOwogICAgICAgIH0KCiAgICAgICAgc3BhbiB7fQoKICAgICAgICAuYnRuLWN1c3RvbSB7CiAgICAgICAgICAgIGNvbG9yOiAjYmRjM2M3OwogICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiZGMzYzc7CiAgICAgICAgfQoKICAgICAgICAuYnRuLWN1c3RvbTpob3ZlciB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmOwogICAgICAgIH0KCiAgICAgICAgLnJvdW5kZWQtbGcgewogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICAudGV4dC1zbWFsbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICAuY3VzdG9tLXNlcGFyYXRvciB7CiAgICAgICAgICAgIHdpZHRoOiA1cmVtOwogICAgICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTsKICAgICAgICB9CgoKCgogICAgICAgIC5jYWgyIHsKICAgICAgICAgICAgY29sb3I6ICMwOTk4ZWM7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICAuY2FoMjo6YWZ0ZXIgewogICAgICAgICAgICBjb250ZW50OiAiIjsKICAgICAgICAgICAgd2lkdGg6IDEwMHB4OwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDk5OGVjOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICByaWdodDogMDsKICAgICAgICAgICAgYm90dG9tOiAtMjBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJvdXNlbF90ZXN0IHsKICAgICAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG87CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJvdXNlbF90ZXN0IC5pdGVtIHsKICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQoKICAgICAgICAuY2Fyb3VzZWxfdGVzdCAubWVkaWEgaW1nIHsKICAgICAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICB9CgogICAgICAgIC5jYXJvdXNlbF90ZXN0IC50ZXN0aW1vbmlhbCB7CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CgogICAgICAgIC5jYXJvdXNlbF90ZXN0IC5vdmVydmlldyBiIHsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgY29sb3I6ICMwOTk4ZWM7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogICAgICAgICAgICAubWVfdGFibGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLnJlbS1ob21lIHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlyZW0gMCA1cmVtIDA7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgICAgICAgICAgICAgICAucmVtLWhvbWUgewogICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZyZW0gMCA1cmVtIDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8qIEhpZGUgc2Nyb2xsYmFyIGZvciBJRSBhbmQgRWRnZSAqLwogICAgICAgICAgICAubWUtdGFibGUgewogICAgICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC5tZV9pY29uIHsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgfQoKICAgICAgICAudG9rZW5fcnRpbmZvIHsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IC04MHB4OwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDE1cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgICAgICB9CgogICAgICAgIC50b2tlbl9ydF92YWx1ZSB7CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDsKICAgICAgICB9CgogICAgICAgIC5tZV9iaWcgewogICAgICAgICAgICBmb250LXNpemU6ICAhaW1wb3J0YW50OwogICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCB7CiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgICB9CgogICAgICAgIC5iYWRnZSB7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbSAxcmVtOwogICAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLnByaWNpbmctcmF0ZSBzdXAgewogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgbGVmdDogLTIwcHg7CiAgICAgICAgICAgIHRvcDogLTMwcHg7CiAgICAgICAgfQoKICAgICAgICAucHJpY2luZy1yYXRlIHNwYW4gewogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGNvbG9yOiAjNzA3MDcwOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICByaWdodDogLTYwMHB4OwogICAgICAgIH0KCiAgICAgICAgLnByaWNpbmctcmF0ZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzBweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgY29sb3I6ICMxYTJjNzk7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCgogICAgICAgIC50aGF0d2hhdCB7CiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5OwogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIGJvdHRvbTogMDsKICAgICAgICAgICAgbGVmdDogMDsKICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsKICAgICAgICB9CgogICAgICAgIC50aGF0d2hhdCBpbWcgewogICAgICAgICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgIH0KCiAgICA8L3N0eWxlPgoKICAgIDxzdHlsZT4KICAgICAgICAqIHsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgICNnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQgewogICAgICAgICAgICB6LWluZGV4OiA5OTk5OTk5OwogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIGJvdHRvbTogMjVweDsKICAgICAgICAgICAgbGVmdDogMTVweDsKICAgICAgICB9CgogICAgICAgIC5nb29nLXRlLWdhZGdldCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sICJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgfQoKICAgICAgICAuZ29vZy10ZS1nYWRnZXQtc2ltcGxlIHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50OwogICAgICAgICAgICBwYWRkaW5nOiAzcHggIWltcG9ydGFudDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICB6b29tOiAxOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAuZ29vZy10ZS1tZW51MiB7CiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICB9CgogICAgICAgIC5nb29nLXRlLW1lbnUtdmFsdWUgewogICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgLmdvb2ctdGUtbWVudS12YWx1ZTpiZWZvcmUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJzsKICAgICAgICAgICAgY29udGVudDogIlxFOTI3IjsKICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OwogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMTBweDsKICAgICAgICB9CgogICAgICAgIC5nb29nLXRlLW1lbnUtdmFsdWUgc3BhbjpudGgtY2hpbGQoNSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIH0KCiAgICAgICAgLmdvb2ctdGUtbWVudS12YWx1ZSBzcGFuOm50aC1jaGlsZCgzKSB7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwogICAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJzsKICAgICAgICB9CgogICAgICAgIC5nb29nLXRlLW1lbnUtdmFsdWUgc3BhbjpudGgtY2hpbGQoMyk6YWZ0ZXIgewogICAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJzsKICAgICAgICAgICAgY29udGVudDogIlxFNUM1IjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtNnB4OwogICAgICAgIH0KCiAgICAgICAgLmdvb2ctdGUtZ2FkZ2V0LWljb24gewogICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4OwogICAgICAgICAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDsKICAgICAgICAgICAgd2lkdGg6IDMycHggIWltcG9ydGFudDsKICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDsKICAgICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5nb29nLXRlLWJhbm5lci1mcmFtZS5za2lwdHJhbnNsYXRlIHsKICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIH0KCgogICAgICAgIGJvZHkgewogICAgICAgICAgICB0b3A6IDBweCAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXAogICAgTWVkaWFxdWVyaWVzClwqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjY3cHgpIHsKICAgICAgICAgICAgI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCB7fQoKICAgICAgICAgICAgI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCBnb29nLXRlLWdhZGdldCB7fQoKICAgICAgICAgICAgI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCAuc2tpcHRyYW5zbGF0ZSB7fQoKICAgICAgICAgICAgI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCAuZ29vZy10ZS1nYWRnZXQtc2ltcGxlIHsKICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICA8L3N0eWxlPgoKICAgIDxzdHlsZT4KICAgICAgICAueHAgewogICAgICAgICAgICB0b3A6IDYwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB9CgogICAgICAgIC54bG9hZGVyIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDUwJTsKICAgICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgICBib3R0b206IDA7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zNXB4OwogICAgICAgICAgICBtYXJnaW4tbGVmdDogLTM1cHg7CiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICMyMTU0Y2Y7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNmZWMxMDc7CiAgICAgICAgICAgIHdpZHRoOiA3MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDcwcHg7CiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICAgICAgLyogU2FmYXJpICovCiAgICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICAvKiBTYWZhcmkgKi8KICAgICAgICBALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDEwMCUgewogICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgMTAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgIDwvc3R5bGU+CiAgICAKICAgIAogICAgCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgZnVuY3Rpb24gaGlkZV9sb2FkZXIoKSB7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2FkZXIiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgIH0KCiAgICAgICAgd2luZG93Lm9ubG9hZCA9IGhpZGVfbG9hZGVyOwoKICAgIDwvc2NyaXB0PgogICAgCjwvaGVhZD4KCjxib2R5PgoKICAgIDxkaXYgY2xhc3M9ImJvZHktaW5uZXIiPgogICAgICAgIDxkaXYgaWQ9ImxvYWRlciI+CgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaXRlLXRvcCI+CiAgICAgICAgICAgIDxoZWFkZXIgY2xhc3M9ImhlYWRlciBuYXYtZG93biBoZWFkZXItc29saWQiICBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODsiIGlkPSJoZWFkZXItMiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ28tYXJlYSBjbGVhcmZpeCBsb2dvLXdyYXBwZXIgbG9nby1hYnNvbHV0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvIGNvbC1sZy0zIGNvbC1tZC0xMiIgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvIiBzdHlsZT0iei1pbmRleDogOTk5OTk5OTk5OyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvbG9nby5wbmciIGFsdD0iIiBzdHlsZT0id2lkdGg6IDIzMHB4OyAgbWFyZ2luLXRvcDogLTEwcHg7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbG9nbyBlbmQtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy05IGNvbC1tZC0xMiBwdWxsLXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcC1pbmZvIHRvcC1pbmZvLXdycmFwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9ImluZm8taWNvbiI+PGkgY2xhc3M9Imljb24gaWNvbi1lbnZlbG9wZSI+PC9pPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8td3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImluZm8tdGl0bGUiPmFkbWluQGFzdHJveGNpbnZlc3QuY29tPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJpbmZvLXN1YnRpdGxlIj5TZW5kIHVzIG1haWw8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoZWFkZXItZ2V0LWEtcXVvdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIiBocmVmPSI/YT1sb2dpbiI+TG9naW48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29sIEVuZC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBMb2dvIEFyZWEgRW5kLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gQ29udGFpbmVyIGVuZC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2l0ZS1uYXYtaW5uZXIgc2l0ZS1uYXZpZ2F0aW9uIG5hdmRvd24gbmF2LXRyYW5zcGFyZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBqdXN0aWZ5LWNvbnRlbnQtZW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgZC1tZC1ub25lIiBzdHlsZT0ncGFkZGluZzogNnB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDVweDsgbWFyZ2luLXJpZ2h0OiAzcHg7JyBocmVmPSI/YT1sb2dpbiI+PGkgY2xhc3M9J2ZhIGZhLXNpZ24taW4nPjwvaT4gTG9naW48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIGQtbWQtbm9uZSIgc3R5bGU9J3BhZGRpbmc6IDZweCAxMHB4OyBib3JkZXItcmFkaXVzOiA1cHg7JyBocmVmPSI/YT1zaWdudXAiPjxpIGNsYXNzPSdmYSBmYS11c2VyLXBsdXMnPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXZiYXItdG9nZ2xlciIgdHlwZT0iYnV0dG9uIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmF2YmFyU3VwcG9ydGVkQ29udGVudCIgYXJpYS1jb250cm9scz0ibmF2YmFyU3VwcG9ydGVkQ29udGVudCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtbGFiZWw9IlRvZ2dsZSBuYXZpZ2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmF2YmFyLXRvZ2dsZXItaWNvbiI+PGkgY2xhc3M9Imljb24gaWNvbi1tZW51Ij48L2k+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEVuZCBvZiBOYXZiYXIgdG9nZ2xlci0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIiBpZD0ibmF2YmFyU3VwcG9ydGVkQ29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXZiYXItbmF2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvIj5Ib21lPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWFib3V0Ij5BYm91dCBVczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWZhcSI+RkFRczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9c3VwcG9ydCI+U3VwcG9ydDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbGkgZW5kLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9cHJpdmFjeSI+UG9saWN5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9c2lnbnVwIj5TaWduIFVwPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLU5hdiB1bCBlbmQtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBTaXRlIG5hdiBpbm5lciBlbmQtLT4KICAgICAgICAgICAgPC9oZWFkZXI+CiAgICAgICAgICAgIDwhLS0gSGVhZGVyIGVuZC0tPgogICAgICAgIDwvZGl2Pgo8ZGl2IGlkPSJib3gtc2xpZGUiIGNsYXNzPSJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIHBhZ2Utc2xpZGVyIG1ydC0xMTAiPgogICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3NsaWRlci9iZzQuanBnKSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveC1zbGlkZXItY29udGVudCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveC1zbGlkZXItdGV4dCBhbmltYXRlZCI+CiAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYm94LXNsaWRlLXRpdGxlIj5UYWtlIEEgQm9sZCBTdGVwPC9oMj4KICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJib3gtc2xpZGUtc3ViLXRpdGxlIj5UbyBDaGFuZ2UgWW91ciBXb3JsZDwvaDM+CiAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJib3gtc2xpZGUtZGVzY3JpcHRpb24iPllvdSBoYXZlIGRyZWFtcy4gV2UgaGF2ZSBhIGN1bHR1cmFsbHkgZGl2ZXJzZSwgZm9yd2FyZCB0aGlua2luZyB0ZWFtIHJlYWR5IHRvIGhlbHAgeW91IGFjaGlldmUgeW91ciBkcmVhbXMuCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1zaWdudXAiIGNsYXNzPSJzbGlkZXIgYnRuIGJ0bi1zdWNjZXNzIj5HZXQgU3RhcnRlZDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWFib3V0IiBjbGFzcz0ic2xpZGVyIGJ0biBidG4tYm9yZGVyIj5Lbm93IE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgIDwvZGl2PgogICAgICAgICA8IS0tIEl0ZW0gMSBlbmQgLS0+CgogICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL3NsaWRlci9iZzUuanBnKSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveC1zbGlkZXItY29udGVudCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveC1zbGlkZXItdGV4dCBhbmltYXRlZCI+CiAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYm94LXNsaWRlLXRpdGxlIj5XZSBhcmUgdGhlIExlYWRlcnM8L2gyPgogICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImJveC1zbGlkZS1zdWItdGl0bGUiPkluIEJpdGNvaW4gVHJhZGU8L2gzPgogICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYm94LXNsaWRlLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgIFdlIGhlbHAgb3VyIGludmVzdG9ycyBtYWtlIHRoZSBiZXN0IG91dCBvZiBjcnlwdG9jdXJyZW5jeSBpbm5vdmF0aW9uIHRocm91Z2ggb3VyIHRlYW0gb2YgZXhwZXJ0IHRyYWRlcnMuCiAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1zaWdudXAiIGNsYXNzPSJzbGlkZXIgYnRuIGJ0bi13YXJuaW5nIj5HZXQgU3RhcnRlZDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIzAiIGNsYXNzPSJzbGlkZXIgYnRuIGJ0bi1ib3JkZXIiPktub3cgTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICA8L2Rpdj4KICAgICAgICAgPCEtLSBJdGVtIDIgZW5kIC0tPgoKICAgICAgICAKICAgICAgICAgPCEtLSBJdGVtIDMgZW5kIC0tPgogICAgICA8L2Rpdj4KCjxzZWN0aW9uIGNsYXNzPSJ0cy1mZWF0dXJlcy1jb2wiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwcHg7Ij4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIj4KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9IiB3aWR0aDogMTAwJTsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyBvdmVyZmxvdzpoaWRkZW47IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHRleHQtYWxpZ246IHJpZ2h0OyBsaW5lLWhlaWdodDoxNHB4OyBmb250LXNpemU6IDEycHg7IGJveC1zaXppbmc6Y29udGVudC1ib3g7IGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyBwYWRkaW5nOjFweDtwYWRkaW5nOiAwcHg7IG1hcmdpbjogMHB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDo0MHB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW1iZWQgc3JjPSJodHRwczovL3dpZGdldC5jb2lubGliLmlvL3dpZGdldD90eXBlPWhvcml6b250YWxfdjImdGhlbWU9bGlnaHQmcHJlZl9jb2luX2lkPTE1MDUmaW52ZXJ0X2hvdmVyPSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMzYiIHNjcm9sbGluZz0iYXV0byIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCIgZnJhbWVib3JkZXI9IjAiIGJvcmRlcj0iMCIgc3R5bGU9ImJvcmRlcjowO21hcmdpbjowO3BhZGRpbmc6MDsiIC8+CgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CgoKPHNlY3Rpb24gY2xhc3M9InRzLWZlYXR1cmVzLWNvbCIgc3R5bGU9J3BhZGRpbmctYm90dG9tOiAycHg7Jz4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS10ZXh0LWJveCI+CiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJjb2x1bW4tdGl0bGUiPjxzcGFuPmFzdHJveGNpbnZlc3QuY29tPC9zcGFuPldlIGFyZSB0aGUgYmVzdCBpbiBGaW5hbmNlCiAgICAgICAgICAgICAgICAgICAgPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij4KICAgICAgICAgICAgICAgICAgICBXZSBhcmUgZXZlcnl0aGluZyBhIHRyYWRpdGlvbmFsIGZpbmFuY2lhbCBpbnN0aXR1dGlvbiBpcyBub3QuCiAgICAgICAgICAgICAgICAgICAgV2Ugc2V0IG91dCB0byBnaXZlIGludmVzdG9ycyBiZXR0ZXIsIHNpbXBsZXIgYW5kIG1vcmUgcHJvZml0YWJsZSB3YXlzIHRvIGJlY29tZQogICAgICAgICAgICAgICAgICAgIGZpbmFuY2lhbGx5IHN1Y2Nlc3NmdWwgYW5kIHNlY3VyZS4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWFib3V0IiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5Ij5SZWFkIE1vcmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIENvbCBlbmQtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHMtZmVhdHVyZSB0ZXh0LWNlbnRlciBib3gtcHJpbWFyeSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHMtZmVhdHVyZS1pbmZvIj48aSBjbGFzcz0iaWNvbiBpY29uLWNoYXJ0MiI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRzLWZlYXR1cmUtdGl0bGUiPlRyYWRlIEFuIEFzc2V0PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij5XZSBvZmZlciB2YXJpb3VzIGFzc2V0cyByYW5naW5nIGZyb20gY3J5cHRvY3VycmVuY2llcywgdG8gZm9yZXgsIGNvbW1vZGl0aWVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhlcywgc3RvY2tzLCBFVEZzLCBhbmQgdGhlIGFsbCBuZXcgUHJlLUlQT3MuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIGZlYXR1cmUgMiBlbmQtLT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gQ29sIGVuZC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cy1mZWF0dXJlIHRleHQtY2VudGVyIGJveC1zZWNvbmRhcnkiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRzLWZlYXR1cmUtaW5mbyI+PGkgY2xhc3M9Imljb24gaWNvbi1sYXllcnMiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0cy1mZWF0dXJlLXRpdGxlIj5CdWlsZCBBIFBvcnRmb2xpbzwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+V2UgYWxzbyBvZmZlciBwb3J0Zm9saW9zIHdoaWNoIGFsbG93IHlvdSB0byBpbnZlc3QgaW4gbW9yZSB0aGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmUgYXNzZXQgY2xhc3MgYXQgYSB0aW1lLiBQb3J0Zm9saW9zIGFyZSBhIGdyZWF0IG9wdGlvbnMgaWYgeW91IHdhbnQgbW9yZS48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gZmVhdHVyZSAzIGVuZC0tPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBDb2wgZW5kLS0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPCEtLSBSb3cgZW5kLS0+CiAgICA8L2Rpdj4KICAgIDwhLS0gQ29udGFpbmVyIGVuZC0tPgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBpZD0iYWJvdXQtdXMiIGNsYXNzPSJhYm91dC11cyI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02Ij4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iY29sdW1uLXRpdGxlIHRpdGxlLXNtYWxsIj48c3Bhbj5BYm91dCB1czwvc3Bhbj5XZSBoYXZlIGJlZW4ga25vd24gdG8gZ2l2ZSBpbnZlc3RvcnMgdGhlIGJldHRlciBjaG9pY2UuPC9oMj4KICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+V2l0aCBvdmVyIDE1MywwMDAgaW52ZXN0bWVudHMgdW5kZXIgb3VyIG1hbmFnZW1lbnQsICQ1IGJpbGxpb24rIGluIGFzc2V0cyB1bmRlciBvdXIgYWRtaW5pc3RyYXRpb24sIG92ZXIgMTEgaW5kdXN0cnkgYXdhcmRzLAogICAgICAgICAgICAgICAgICAgIHdlIGhhdmUgbWFkZSBhc3Ryb3hjaW52ZXN0LmNvbSB0aGUgc2FmZSBoYXZlbiBmb3IgaW52ZXN0b3JzIHdobyB3YW50IHRvIHRydXN0IHRoZWlyIGZpbmFuY2lhbCBwYXJ0bmVyIHRvIGJlIGNhcGFibGUgb2YKICAgICAgICAgICAgICAgICAgICBoZWxwaW5nIHRoZW0gcmVhY2ggdGhlaXIgZmluYW5jaWFsIGdvYWxzLCBhbmQgaW4gZHVlIHRpbWUsIHdpdGhvdXQgdGhlIGZlYXIgb2YgZGlzYXBwb2ludG1lbnRzLjwvcD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdhcC0xNSI+PC9kaXY+CiAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBDb2wgZW5kLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02IGFsaWduLXNlbGYtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImltZy1mbHVpZCIgc3JjPSJpbWFnZXMvcGFnZXMvYWJvdXRfMi5wbmciIGFsdD0iIj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIgYWxpZ24tc2VsZi1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgaHJlZj0iP2E9YWJvdXQiPiBSZWFkIE1vcmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIENvbCBlbmQtLT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8IS0tIE1haW4gcm93IGVuZC0tPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KCgoKCgoKCjwhLS0gU2VjdGlvbiBGZWF0dXJlcyAtLT4KCgoKPHNlY3Rpb24gY2xhc3M9InRzLWZlYXR1cmVzIG5vLXBhZGRpbmciPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSdyb3cnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPgogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJjb2x1bW4tdGl0bGUgdGl0bGUtc21hbGwgdGV4dC1jZW50ZXIiPjMgU2ltcGxlIFN0ZXBzPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgZmVhdHVyZS1ib3gxIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9mZWF0dXJlcy9mZWF0dXJlMS5qcGcpOyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cy1mZWF0dXJlIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cy1mZWF0dXJlLWluZm8iPjxpIGNsYXNzPSJpY29uIGljb24tdXNlcnMiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0cy1mZWF0dXJlLXRpdGxlIj5DcmVhdGUgQW4gQWNjb3VudDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGhyZWY9Jz9hPXNpZ251cCcgY2xhc3M9InRleHQtd2FybmluZyI+U2lnbiB1cDwvYT4gZm9yIGFuIGFjY291bnQgd2l0aCB1cyB0byBnZXQgc3RhcnRlZCwgaXQgaXMgZWFzeSBhbmQgc2ltcGxlLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBmZWF0dXJlIDEgZW5kLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIENvbCBlbmQtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgZmVhdHVyZS1ib3gyIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9mZWF0dXJlcy9mZWF0dXJlMi5qcGcpOyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cy1mZWF0dXJlIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cy1mZWF0dXJlLWluZm8iPjxpIGNsYXNzPSJpY29uIGljb24tdXBsb2FkIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idHMtZmVhdHVyZS10aXRsZSI+TWFrZSBEZXBvc2l0PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+RGVwb3NpdCBpbnRvIGFueSBvZiBvdXIgaW52ZXN0bWVudCBwbGFucyBvZiB5b3VyIGNob2ljZS48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gZmVhdHVyZSAyIGVuZC0tPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBDb2wgZW5kLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGZlYXR1cmUtYm94MyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvZmVhdHVyZXMvZmVhdHVyZTMuanBnKTsiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHMtZmVhdHVyZSB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHMtZmVhdHVyZS1pbmZvIj48aSBjbGFzcz0iaWNvbiBpY29uLXdhbGxldCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRzLWZlYXR1cmUtdGl0bGUiPk1ha2UgV2l0aGRyYXdhbDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPllvdSBjYW4gd2l0aGRyYXcgYXMgc29vbiBhcyB5b3VyIGludmVzdG1lbnQgZHVyYXRpb24gaXMgY29tcGxldGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBmZWF0dXJlIDMgZW5kLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIENvbCBlbmQtLT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8IS0tIFJvdyBlbmQtLT4KICAgIDwvZGl2PgogICAgPCEtLSBDb250YWluZXIgZW5kLS0+Cjwvc2VjdGlvbj4KCjwhLS0gU2VjdGlvbiBUZWFtIC0tPgoKCgoKCjxzZWN0aW9uIGlkPSJjYWxsLXRvLWFjdGlvbiIgY2xhc3M9ImNhbGwtdG8tYWN0aW9uIHNvbGlkLWJnIiBzdHlsZT0icGFkZGluZy1ib3R0b206IDBweDsiPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctOCBhbGlnbi1zZWxmLWNlbnRlciI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImNhbGwtdG8tYWN0aW9uLXRpdGxlIj5XZSBPZmZlciBGaW5hbmNpYWwgU3RyYXRlZ2llcyAmYW1wOyBTdXBlcmlvciBTZXJ2aWNlczwvaDM+CiAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICBPdXIgbWlzc2lvbiBpcyB0byBwcm92aWRlIHF1YWxpdHkgZ3VpZGFuY2UsIGJ1aWxkIHJlbGF0aW9uc2hpcHMgb2YKICAgICAgICAgICAgICAgICAgICA8YnI+IHRydXN0LCBhbmQgZGV2ZWxvcCBpbm5vdmF0aXZlIHNvbHV0aW9ucwogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgdGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IiBocmVmPSI/YT1zaWdudXAiPk9wZW4gQWNjb3VudDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCjwhLS0gIFByaWNlIHBhcnQgU3RhcnQgIC0tPgogICAgPHNlY3Rpb24gaWQ9InByaWNlLXBhcnQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPgogICAgICAgICAgICAgICAgICAgIDxoMj5JbnZlc3RtZW50PHNwYW4gc3R5bGU9ImNvbG9yOiAjMTdhMmI4OyI+IFBsYW5zPC9zcGFuPjwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6YmxhY2s7Ij5TdGFuZGFyZCBQbGFuIDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvc3QtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IDEwJSBBZnRlciAyNCBIb3Vyczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGFja2FnZS1kZXMiIHN0eWxlPSJjb2xvcjpibGFjazsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1pbmltdW0gRGVwb3NpdCAtIDxiPiQyMDA8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NYXhpbXVtIERlcG9zaXQgLSA8Yj4kMTAwMDwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkR1cmF0aW9uIC0gPGI+MjQgSG91cnM8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4xMCUgPGI+UmVmZXJyYWwgQ29tbWlzc2lvbjwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjI0LzcgPGI+SW5zdGFudCB3aXRoZHJhd2FsPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9ImJ0bi0yIj5JbnZlc3QgTm93PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6YmxhY2s7Ij5BZHZhbmNlIFBsYW4gPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29zdC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4xNSUgQWZ0ZXIgMyBEYXlzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGFja2FnZS1kZXMiIHN0eWxlPSJjb2xvcjpibGFjazsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1pbmltdW0gRGVwb3NpdCAtIDxiPiQxMDAwPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+TWF4aW11bSBEZXBvc2l0IC0gPGI+JDEwMDAwPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+RHVyYXRpb24gLSA8Yj4zIERheXM8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjEwJSA8Yj5SZWZlcnJhbCBDb21taXNzaW9uPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+MjQvNyA8Yj5JbnN0YW50IFdpdGhkcmF3YWw8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9c2lnbnVwIiBjbGFzcz0iYnRuLTIiPkludmVzdCBOb3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6YmxhY2s7Ij5Qb2Zlc3Npb25hbCBQbGFuIDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvc3QtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MjAlIEFmdGVyIDUgRGF5czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InBhY2thZ2UtZGVzIiBzdHlsZT0iY29sb3I6YmxhY2s7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NaW5pbXVtIERlcG9zaXQgLSA8Yj4kMTAwMDA8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NYXhpbXVtIERlcG9zaXQgLSA8Yj5VbmxpbWl0ZWQ8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5EdXJhdGlvbiAtIDxiPjUgRGF5czwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+MTAlIDxiPlJlZmVycmFsIENvbW1pc3Npb248L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4yNC83IDxiPkluc3RhbnQgd2l0aGRyYXdhbDwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1zaWdudXAiIGNsYXNzPSJidG4tMiI+SW52ZXN0IE5vdzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6YmxhY2s7Ij5TcGVjaWFsIFBsYW4gPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29zdC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj41MCUgQWZ0ZXIgNyBEYXlzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGFja2FnZS1kZXMiIHN0eWxlPSJjb2xvcjpibGFjazsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1pbmltdW0gRGVwb3NpdCAtIDxiPjEgQlRDPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+TWF4aW11bSBEZXBvc2l0IC0gPGI+VW5saW1pdGVkPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+RHVyYXRpb24gLSA8Yj4gNyBEYXlzPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4xMCUgPGI+UmVmZXJyYWwgQ29tbWlzc2lvbjwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjI0LzcgPGI+SW5zdGFudCB3aXRoZHJhd2FsPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9ImJ0bi0yIj5JbnZlc3QgTm93PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8IS0tICBQcmljZSBwYXJ0IGVuZCAgLS0+CgoKCgogPHNlY3Rpb24gY2xhc3M9ImNvbXBhcmlzb25zLWFyZWEgcHRiLTcwIGJnLWY2ZjRmOCI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZCI+CiAgICAgICAgICAgICAgICAgICAgPGgyPlRSQURJTkc8c3BhbiBzdHlsZT0iY29sb3I6ICMxN2EyYjg7Ij4gVklFVzwvc3Bhbj48L2gyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICA8IS0tIFRyYWRpbmdWaWV3IFdpZGdldCBCRUdJTiAtLT4KPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+CiAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Ij48L2Rpdj4KICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0Ij48YSBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vbWFya2V0cy9jdXJyZW5jaWVzL2ZvcmV4LWNyb3NzLXJhdGVzLyIgcmVsPSJub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJibHVlLXRleHQiPkZvcmV4IFJhdGVzPC9zcGFuPjwvYT48L2Rpdj4KICAKICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9leHRlcm5hbC1lbWJlZGRpbmcvZW1iZWQtd2lkZ2V0LWZvcmV4LWNyb3NzLXJhdGVzLmpzIiBhc3luYz4KICB7CiAgIndpZHRoIjogIjEwMCUiLAogICJoZWlnaHQiOiA0MDAsCiAgImN1cnJlbmNpZXMiOiBbCiAgICAiRVVSIiwKICAgICJVU0QiLAogICAgIkpQWSIsCiAgICAiR0JQIiwKICAgICJDSEYiLAogICAgIkFVRCIsCiAgICAiQ0FEIiwKICAgICJOWkQiLAogICAgIkNOWSIKICBdLAogICJpc1RyYW5zcGFyZW50IjogZmFsc2UsCiAgImNvbG9yVGhlbWUiOiAibGlnaHQiLAogICJsb2NhbGUiOiAiZW4iCn0KICA8L3NjcmlwdD4KICAKPC9kaXY+CjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4KPC9kaXY+Cjwvc2VjdGlvbj4KCgoKPHNlY3Rpb24gY2xhc3M9ImNvbXBhcmlzb25zLWFyZWEgcHRiLTcwIGJnLWY2ZjRmOCI+CiA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZCI+CiAgICAgICAgICAgICAgICAgICAgPGgyPlRFU1RJTU9OSUVTIEZST00gT1VSIDxzcGFuIHN0eWxlPSJjb2xvcjogIzE3YTJiODsiPklOVkVTVE9SUzwvc3Bhbj48L2gyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgIAo8ZGl2IGNsYXNzPSJ0ZXN0aW1vbnkiPgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxkaXYgY2xhc3M9ImNvbHVtbiI+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgPGltZyBzcmM9ImltZy9pbWcxLnBuZyIgYWx0PSJKYW5lIiBzdHlsZT0id2lkdGg6MTAwJSI+CiAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9ueSI+CiAgICAgICAgPGgyIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRyZTsgY29sb3I6IzE3YTJiODsiPkx1YyBQYXRyaWNrPC9oMj4KICAgICAgICA8cCBjbGFzcz0idGl0bGUiPkludmVzdG9yPC9wPgogICAgICAgIDxwIHN0eWxlPSJhbGlnbjpqdXN0aWZ5OyBjb2xvcjogYmxhY2s7Ij5IZSBpcyBvbmUgb2YgdGhlIGdyZWF0IGludmVzdG9ycyBhbmQgd2UgaG9ub3VyIHlvdSBTaXIuIFdlIGFyZSBzdXBlciBpbXByZXNzaXZlIGZvciB5b3VyIHBlcmZvcm1hbmNlIGFuZCB0cnVzdC4gKEJlbGdpdW0pPC9wPgogICAgICAKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iY29sdW1uIj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICA8aW1nIHNyYz0iaW1nL2ltZzMucG5nIiAgYWx0PSJNaWtlIiBzdHlsZT0id2lkdGg6MTAwJSI+CiAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9ueSI+CiAgICAgICAgPGgyIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRyZTsgY29sb3I6IzE3YTJiODsiPk1pa2UgQ2F0aGVyaW5lPC9oMj4KICAgICAgICA8cCBjbGFzcz0idGl0bGUiPkludmVzdG9yPC9wPgogICAgICAgIDxwIHN0eWxlPSJhbGlnbjpqdXN0aWZ5OyBjb2xvcjogYmxhY2s7Ij5UaGFuayB5b3Ugc28gbXVjaCBhbmQgSSBhcHByZWNpYXRlIHlvdXIgCgkJaGVscCBJIGxvb2sgZm9yd2FyZCB0byBrZWVwIGludmVzdGluZy4KCQkoVVNBKTwvcD4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iY29sdW1uIj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICA8aW1nIHNyYz0iaW1nL2ltZzIucG5nIiBhbHQ9IkpvaG4iIHN0eWxlPSJ3aWR0aDoxMDAlIj4KICAgICAgPGRpdiBjbGFzcz0idGVzdGltb255Ij4KICAgICAgICA8aDIgc3R5bGU9InRleHQtYWxpZ246Y2VudHJlOyBjb2xvcjojMTdhMmI4OyI+U2Ftc29uIFBldGVyczwvaDI+CiAgICAgICAgPHAgY2xhc3M9InRpdGxlIj5JbnZlc3RvcjwvcD4KICAgICAgICA8cCBzdHlsZT0iYWxpZ246anVzdGlmeTsgY29sb3I6IGJsYWNrOyI+SSBhbSBuZXcgdG8gQml0Y29pbiBhbmQgeW91IGRpZAoJCWEgZ3JlYXQgam9iIGhlbHBpbmcgbWUgcHVyY2hhc2UgQml0Y29pbiBzdGVwIGJ5IHN0ZXAuIAoJCUknbSBhIHNhdGlzZmllZCBjdXN0b21lci4oUGFyaXMpPC9wPgogICAgICAgCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJjb21wYXJpc29ucy1hcmVhIHB0Yi03MCBiZy1mNmY0ZjgiPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPgogICAgICAgICAgICAgICAgICAgIDxoMj5DUllQVE9DVVJSRU5DWSA8c3BhbiBzdHlsZT0iY29sb3I6ICMxN2EyYjg7Ij4gQ0hBUlQgPC9zcGFuPjwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgCSA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93aWRnZXRzLmNvaW5nZWNrby5jb20vY29pbmdlY2tvLWNvaW4tY29tcGFyZS1jaGFydC13aWRnZXQuanMiPjwvc2NyaXB0Pgo8Y29pbmdlY2tvLWNvaW4tY29tcGFyZS1jaGFydC13aWRnZXQgIGNvaW4taWRzPSJiaXRjb2luLGV0aGVyZXVtLGVvcyxyaXBwbGUsbGl0ZWNvaW4iIGN1cnJlbmN5PSJ1c2QiIGxvY2FsZT0iZW4iPjwvY29pbmdlY2tvLWNvaW4tY29tcGFyZS1jaGFydC13aWRnZXQ+CjwvZGl2Pgo8L3NlY3Rpb24+CgoKCgoKCgoKICAgICAgICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiIGlkPSJmb290ZXIiPgogICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItbWFpbiBiZy1vdmVybGF5Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTcgY29sLW1kLTEyIGZvb3Rlci13aWRnZXQgZm9vdGVyLWFib3V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2xvZ28ucG5nIiBhbHQ9IiIgc3R5bGU9IndpZHRoOiAyMzBweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPldlIGFyZSBldmVyeXRoaW5nIGEgdHJhZGl0aW9uYWwgZmluYW5jaWFsIGluc3RpdHV0aW9uIGlzIG5vdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBzZXQgb3V0IHRvIGdpdmUgaW52ZXN0b3JzIGJldHRlciwgc2ltcGxlciBhbmQgbW9yZSBwcm9maXRhYmxlIHdheXMgdG8gYmVjb21lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluYW5jaWFsbHkgc3VjY2Vzc2Z1bCBhbmQgc2VjdXJlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1zb2NpYWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRm9vdGVyIHNvY2lhbCBlbmQtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWJvdXQgdXMgZW5kLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IGNvbC1tZC0xMiBmb290ZXItd2lkZ2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj5Vc2VmdWwgTGlua3M8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LWRhc2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvIj5Ib21lPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWFib3V0Ij5BYm91dCBVczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zaWdudXAiPlNpZ24gVXA8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9bG9naW4iPkxvZ2luPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9c3VwcG9ydCI+R2V0IFN1cHBvcnQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXByaXZhY3kiPlByaXZhY3k8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgIAoKCiAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICA8IS0tIENvbnRlbnQgcm93IGVuZC0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIENvbnRhaW5lciBlbmQtLT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gRm9vdGVyIE1haW4tLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29weXJpZ2h0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTYgY29sLW1kLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvcHlyaWdodC1pbmZvIj48c3Bhbj5Db3B5cmlnaHQgwqkgMjAyMiBhc3Ryb3hjaW52ZXN0LmNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNiBjb2wtbWQtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHVuc3R5bGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWFib3V0Ij5BYm91dDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9cHJpdmFjeSI+UHJpdmFjeSBQb2xpY3k8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWNvbnRhY3QiPkNvbnRhY3Q8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gUm93IGVuZC0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIENvbnRhaW5lciBlbmQtLT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gQ29weXJpZ2h0IGVuZC0tPgogICAgICAgIDwvZm9vdGVyPgogICAgICAgIDwhLS1mb290ZXIgc2VjdGlvbiBlbmQtLT4KCiAgICAgICAgPCEtLWJvdHRvbSB0byB0b3AgYnV0dG9uIGVuZC0tPgogICAgICAgIDxkaXYgaWQ9Imdvb2dsZV90cmFuc2xhdGVfZWxlbWVudCI+PC9kaXY+CiAgICAgICAgCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICBmdW5jdGlvbiBnb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCgpIHsKICAgICAgICAgICAgICAgIG5ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoewogICAgICAgICAgICAgICAgICAgIHBhZ2VMYW5ndWFnZTogJ2VuJywKICAgICAgICAgICAgICAgICAgICBsYXlvdXQ6IGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudC5JbmxpbmVMYXlvdXQuU0lNUExFLAogICAgICAgICAgICAgICAgICAgIGF1dG9EaXNwbGF5OiBmYWxzZQogICAgICAgICAgICAgICAgfSwgJ2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCcpOwogICAgICAgICAgICB9CgogICAgICAgIDwvc2NyaXB0PgogICAgICAgIAogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vdHJhbnNsYXRlLmdvb2dsZS5jb20vdHJhbnNsYXRlX2EvZWxlbWVudC5qcz9jYj1nb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LmpzIj48L3NjcmlwdD4KICAgICAgICA8IS0tIFBvcHBlci0tPgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3BvcHBlci5taW4uanMiPjwvc2NyaXB0PgogICAgICAgIDwhLS0gQm9vdHN0cmFwIGpRdWVyeS0tPgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgogICAgICAgIDwhLS0gT3dsIENhcm91c2VsLS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvb3dsLmNhcm91c2VsLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPCEtLSBDb3VudGVyLS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LmNvdW50ZXJ1cC5taW4uanMiPjwvc2NyaXB0PgogICAgICAgIDwhLS0gV2F5cG9pbnRzLS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvd2F5cG9pbnRzLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPCEtLSBDb2xvciBib3gtLT4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnkuY29sb3Jib3guanMiPjwvc2NyaXB0PgogICAgICAgIDwhLS0gU21vb3Roc2Nyb2xsLS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvc21vb3Roc2Nyb2xsLmpzIj48L3NjcmlwdD4KICAgICAgICA8IS0tIEdvb2dsZSBNYXAgQVBJIEtleS0tPgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP2tleT1BSXphU3lDc2EyTWkySHF5RWNFbk0xdXJGU0lHRXB2dWFsWWp3d00iPjwvc2NyaXB0PgogICAgICAgIDwhLS0gR29vZ2xlIE1hcCBQbHVnaW4tLT4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9nbWFwMy5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPCEtLSBUZW1wbGF0ZSBjdXN0b20tLT4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9jdXN0b20uanMiPjwvc2NyaXB0PgogICAgICAgIAogICAgICAgIAogICAgPC9kaXY+CiAgICAKICAgIAo8IS0tIFNtYXJ0c3VwcCBMaXZlIENoYXQgc2NyaXB0IC0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBfc21hcnRzdXBwID0gX3NtYXJ0c3VwcCB8fCB7fTsKX3NtYXJ0c3VwcC5rZXkgPSAnMDc1NDI2MTFkOGVlMTk3ODM4ZjQ1ZGQxNzlmZGY3Y2FmNDFlYmY0Yic7CndpbmRvdy5zbWFydHN1cHB8fChmdW5jdGlvbihkKSB7CiAgdmFyIHMsYyxvPXNtYXJ0c3VwcD1mdW5jdGlvbigpeyBvLl8ucHVzaChhcmd1bWVudHMpfTtvLl89W107CiAgcz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtjPWQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgYy50eXBlPSd0ZXh0L2phdmFzY3JpcHQnO2MuY2hhcnNldD0ndXRmLTgnO2MuYXN5bmM9dHJ1ZTsKICBjLnNyYz0naHR0cHM6Ly93d3cuc21hcnRzdXBwY2hhdC5jb20vbG9hZGVyLmpzPyc7cy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLHMpOwp9KShkb2N1bWVudCk7Cjwvc2NyaXB0Pgo8bm9zY3JpcHQ+IFBvd2VyZWQgYnkgPGEgaHJlZj3igJxodHRwczovL3d3dy5zbWFydHN1cHAuY29t4oCdIHRhcmdldD3igJxfYmxhbmvigJ0+U21hcnRzdXBwPC9hPjwvbm9zY3JpcHQ+CiAgICAKICAgIAo8L2JvZHk+Cgo8L2h0bWw+"}},"time_used":814,"timings":{"blocked":-1,"dns":210,"connect":102,"send":0,"wait":294,"receive":0,"ssl":208},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.260Z","timestamp":1785124600260,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-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: accb2ef008d7d8d1cf957b3f441f6f2c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.867Z","timestamp":1785124600867,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?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 03:56: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-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: 19061221f212171ecaecc19fb728f018\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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":"fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:41.738Z","timestamp":1785124601738,"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://astroxcinvest.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: 323192\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-04T07:33:37.047736Z","times_seen":78863,"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":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:51.673Z","timestamp":1785124611673,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"OPTIONS /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-encoding,content-type,x-goog-authuser\r\nReferer: https://astroxcinvest.com/\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://astroxcinvest.com\r\naccess-control-allow-methods: GET, POST, OPTIONS\r\naccess-control-max-age: 86400\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web,authorization,content-encoding,content-type,x-goog-authuser,origin\r\ncontent-type: text/plain; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 03:56:51 GMT\r\nserver: Playlog\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":525,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":""}},"time_used":60,"timings":{"blocked":0,"dns":0,"connect":29,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/css/animate.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.400Z","timestamp":1785124599400,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/animate.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Thu, 15 Mar 2018 19:02:44 GMT\r\netag: \"defe-5aaac354-c51152622d33a251;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 4126\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":57086,"size_decoded":4489,"mime_type":"text/css","magic":"ASCII text, with very long lines (460)","md5":"3af576a2735e682e292978c748ac0b1c","sha1":"301bb5ac867a7d9cee1a61199385ca2ccb243ff6","sha256":"9678a2de8039f8977b25bd645d488ca03b3148f0ffa7cb40803492f15a48c3fc","sha512":"11e50ab1a362a079ed16ca13f5236e229925eb9e65d07461c82b131e39c09795493a9e8398e66a00ebe0aceda58d270d93f97c943d25824b0191a957cf0a64c6","ssdeep":"192:LIQHnIwf2T/awfDZUiduG+MONjnbimZbHMxymDSVbyPiVEzfukrWL7XU+qLmfRvx:LIWBy+","tlshash":"e643d96929a1104466370a15c7df9e78663ce2a31866ecffb3d2548b8f41fac23cd617","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.179686Z","times_seen":303,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsKCgovKiEKQW5pbWF0ZS5jc3MgLSBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlCkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQoKQ29weXJpZ2h0IChjKSAyMDEzIERhbmllbCBFZGVuCgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgoqLwoKLmFuaW1hdGVkIHsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7CiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsKfQoKLmFuaW1hdGVkLmhpbmdlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7CiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsKICB9CgogIDYwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2UgewogIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOwogIH0KfQoKLmJvdW5jZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7CiAgMCUsIDUwJSwgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMjUlLCA3NSUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgZmxhc2ggewogIDAlLCA1MCUsIDEwMCUgewogICAgb3BhY2l0eTogMTsKICB9CgogIDI1JSwgNzUlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouZmxhc2ggewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoOwogIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDsKfQoKLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovCgpALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2UgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQoKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQp9CgpAa2V5ZnJhbWVzIHB1bHNlIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQoKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQp9CgoucHVsc2UgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlOwogIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHsKICAwJSwgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9CgogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7CiAgfQoKICAyMCUsIDQwJSwgNjAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNoYWtlIHsKICAwJSwgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgfQoKICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7CiAgfQoKICAyMCUsIDQwJSwgNjAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOwogIH0KfQoKLnNoYWtlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTsKICBhbmltYXRpb24tbmFtZTogc2hha2U7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7CiAgMjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgfQp9CgpAa2V5ZnJhbWVzIHN3aW5nIHsKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsKICB9CgogIDYwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgfQp9Cgouc3dpbmcgewogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsKICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOwogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nOwogIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQoKICAxMCUsIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7CiAgfQoKICAzMCUsIDUwJSwgNzAlLCA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsKICB9CgogIDQwJSwgNjAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHRhZGEgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB9CgogIDEwJSwgMjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsKICB9CgogIDMwJSwgNTAlLCA3MCUsIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7CiAgfQoKICA0MCUsIDYwJSwgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOwogIH0KfQoKLnRhZGEgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7CiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7Cn0KCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLwoKQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsKICB9CgogIDE1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7CiAgfQoKICAzMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7CiAgfQoKICA0NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7CiAgfQp9CgpAa2V5ZnJhbWVzIHdvYmJsZSB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOwogIH0KCiAgMTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTsKICB9CgogIDMwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7CiAgfQoKICA0NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsKICB9Cn0KCi53b2JibGUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTsKICBhbmltYXRpb24tbmFtZTogd29iYmxlOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7CiAgfQoKICA1MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2VJbiB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTsKICB9CgogIDUwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogIH0KCiAgNzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguOSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIH0KfQoKLmJvdW5jZUluIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjsKICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KfQoKLmJvdW5jZUluRG93biB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KfQoKLmJvdW5jZUluTGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KfQoKLmJvdW5jZUluUmlnaHQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KfQoKLmJvdW5jZUluVXAgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQoKICAyNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45NSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSk7CiAgfQoKICA1MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoLjMpOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2VPdXQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB9CgogIDI1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjk1KTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKC45NSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSk7CiAgfQoKICA1MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTsKICB9Cn0KCi5ib3VuY2VPdXQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsKICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQoKICAyMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dERvd24gewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9CgogIDIwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOwogIH0KfQoKLmJvdW5jZU91dERvd24gewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9CgogIDIwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KCiAgMjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgfQp9CgouYm91bmNlT3V0TGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsKICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9CgogIDIwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9CgogIDIwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogIH0KfQoKLmJvdW5jZU91dFJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsKICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQoKICAyMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQoKICAyMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICB9Cn0KCi5ib3VuY2VPdXRVcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgouZmFkZUluIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkRvd24gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQp9CgouZmFkZUluRG93biB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsKICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KfQoKLmZhZGVJbkRvd25CaWcgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KfQoKLmZhZGVJbkxlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCi5mYWRlSW5MZWZ0QmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQgewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCi5mYWRlSW5SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcgewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcgewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgfQp9CgouZmFkZUluUmlnaHRCaWcgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluVXAgewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQp9CgouZmFkZUluVXAgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KfQoKLmZhZGVJblVwQmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsKICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLmZhZGVPdXQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVPdXREb3duIHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogIH0KfQoKLmZhZGVPdXREb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsKICB9Cn0KCi5mYWRlT3V0RG93bkJpZyB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogIH0KfQoKLmZhZGVPdXRMZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOwogIH0KfQoKLmZhZGVPdXRMZWZ0QmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgfQp9CgouZmFkZU91dFJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7CiAgfQp9CgouZmFkZU91dFJpZ2h0QmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dFVwIHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOwogIH0KfQoKLmZhZGVPdXRVcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgfQp9CgouZmFkZU91dFVwQmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KCiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9Cn0KCkBrZXlmcmFtZXMgZmxpcCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMCkgc2NhbGUoMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpOwogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsKICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTsKICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMSk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgouYW5pbWF0ZWQuZmxpcCB7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlOwogIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDsKICBhbmltYXRpb24tbmFtZTogZmxpcDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblggewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCkBrZXlmcmFtZXMgZmxpcEluWCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLmZsaXBJblggewogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7CiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpOwogIH0KCiAgNzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIGZsaXBJblkgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpOwogIH0KCiAgNzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCi5mbGlwSW5ZIHsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOwogIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFggewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBmbGlwT3V0WCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5mbGlwT3V0WCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7CiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBmbGlwT3V0WSB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5mbGlwT3V0WSB7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7CiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDYwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgoubGlnaHRTcGVlZEluIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47CiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgoubGlnaHRTcGVlZE91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDsKICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZUluIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLnJvdGF0ZUluIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsKICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDApOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDApOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCi5yb3RhdGVJbkRvd25MZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLnJvdGF0ZUluRG93blJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsKICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDApOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCi5yb3RhdGVJblVwTGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDApOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCi5yb3RhdGVJblVwUmlnaHQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsKICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDApOwogICAgb3BhY2l0eTogMTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVPdXQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgoucm90YXRlT3V0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLnJvdGF0ZU91dERvd25MZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsKICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDApOwogICAgb3BhY2l0eTogMTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLnJvdGF0ZU91dERvd25SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgoucm90YXRlT3V0VXBMZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDApOwogICAgb3BhY2l0eTogMTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgoucm90YXRlT3V0VXBSaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDsKICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZUluRG93biB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIH0KfQoKLnNsaWRlSW5Eb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjsKICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQgewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCi5zbGlkZUluTGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KfQoKLnNsaWRlSW5SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOwogIH0KfQoKLnNsaWRlT3V0TGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICB9Cn0KCkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOwogIH0KfQoKLnNsaWRlT3V0UmlnaHQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZU91dFVwIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7CiAgfQp9Cgouc2xpZGVPdXRVcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDsKICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQoKICAyMCUsIDYwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgaGluZ2UgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDIwJSwgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApOwogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5oaW5nZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7CiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlOwp9CgovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi8KCkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsKICB9Cn0KCkBrZXlmcmFtZXMgcm9sbEluIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOwogIH0KfQoKLnJvbGxJbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluOwogIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47Cn0KCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLwoKQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOwogIH0KfQoKQGtleWZyYW1lcyByb2xsT3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOwogIH0KfQoKLnJvbGxPdXQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7Cn0="}},"time_used":115,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":109,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/css/colorbox.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.601Z","timestamp":1785124599601,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/colorbox.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"bfd-5aa839fc-2e5adaa2dbaae3b0;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 936\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3069,"size_decoded":1297,"mime_type":"text/css","magic":"ASCII text","md5":"c934deeceb3b0050aeeb4427b9bafdd8","sha1":"b43076b9161283b37a383b983ada78c2ff1d4754","sha256":"8d89e03f0ec821db1ab56b0617828ba8858a4c2ea1093021b0f2270d2e5463f1","sha512":"3abc09c7d560af1990fcaf9320ae3760a9a37eb70ade3505cb81cf5ab2741fe0f707cc2d5b652af40292808317dcc0ac841fcc9e85910cce231fa5ac151188cc","ssdeep":"","tlshash":"5d51213606d1360da15bf374aba4f3bc5131940ba7834d9fb61ca874ebce24940b759b","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.155957Z","times_seen":282,"resource_available":false,"data":"LyoKICAgIENvbG9yYm94IENvcmUgU3R5bGU6CiAgICBUaGUgZm9sbG93aW5nIENTUyBpcyBjb25zaXN0ZW50IGJldHdlZW4gZXhhbXBsZSB0aGVtZXMgYW5kIHNob3VsZCBub3QgYmUgYWx0ZXJlZC4KKi8KI2NvbG9yYm94LCAjY2JveE92ZXJsYXksICNjYm94V3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgei1pbmRleDo5OTk5OyBvdmVyZmxvdzpoaWRkZW47IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7fQojY2JveFdyYXBwZXIge21heC13aWR0aDpub25lO30KI2Nib3hPdmVybGF5e3Bvc2l0aW9uOmZpeGVkOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTt9CiNjYm94TWlkZGxlTGVmdCwgI2Nib3hCb3R0b21MZWZ0e2NsZWFyOmxlZnQ7fQojY2JveENvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7fQojY2JveExvYWRlZENvbnRlbnR7b3ZlcmZsb3c6YXV0bzsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO30KI2Nib3hUaXRsZXttYXJnaW46MDt9CiNjYm94TG9hZGluZ092ZXJsYXksICNjYm94TG9hZGluZ0dyYXBoaWN7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO30KI2Nib3hQcmV2aW91cywgI2Nib3hOZXh0LCAjY2JveENsb3NlLCAjY2JveFNsaWRlc2hvd3tjdXJzb3I6cG9pbnRlcjt9Ci5jYm94UGhvdG97ZmxvYXQ6bGVmdDsgbWFyZ2luOmF1dG87IGJvcmRlcjowOyBkaXNwbGF5OmJsb2NrOyBtYXgtd2lkdGg6bm9uZTsgLW1zLWludGVycG9sYXRpb24tbW9kZTpiaWN1YmljO30KLmNib3hJZnJhbWV7d2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGRpc3BsYXk6YmxvY2s7IGJvcmRlcjowOyBwYWRkaW5nOjA7IG1hcmdpbjowO30KI2NvbG9yYm94LCAjY2JveENvbnRlbnQsICNjYm94TG9hZGVkQ29udGVudHtib3gtc2l6aW5nOmNvbnRlbnQtYm94OyAtbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7IC13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDt9CgovKiAKICAgIFVzZXIgU3R5bGU6CiAgICBDaGFuZ2UgdGhlIGZvbGxvd2luZyBzdHlsZXMgdG8gbW9kaWZ5IHRoZSBhcHBlYXJhbmNlIG9mIENvbG9yYm94LiAgVGhleSBhcmUKICAgIG9yZGVyZWQgJiB0YWJiZWQgaW4gYSB3YXkgdGhhdCByZXByZXNlbnRzIHRoZSBuZXN0aW5nIG9mIHRoZSBnZW5lcmF0ZWQgSFRNTC4KKi8KI2Nib3hPdmVybGF5e2JhY2tncm91bmQ6IzAwMDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuOSk7IG9wYWNpdHk6IDAuOTsgZmlsdGVyOiBhbHBoYShvcGFjaXR5ID0gOTApO30KI2NvbG9yYm94e291dGxpbmU6MDt9CiAgICAjY2JveENvbnRlbnR7bWFyZ2luLXRvcDoyMHB4O2JhY2tncm91bmQ6IzAwMDt9CiAgICAgICAgLmNib3hJZnJhbWV7YmFja2dyb3VuZDojZmZmO30KICAgICAgICAjY2JveEVycm9ye3BhZGRpbmc6NTBweDsgYm9yZGVyOjFweCBzb2xpZCAjY2NjO30KICAgICAgICAjY2JveExvYWRlZENvbnRlbnR7Ym9yZGVyOjVweCBzb2xpZCAjMDAwOyBiYWNrZ3JvdW5kOiNmZmY7fQogICAgICAgICNjYm94VGl0bGV7cG9zaXRpb246YWJzb2x1dGU7IHRvcDotMjBweDsgbGVmdDowOyBjb2xvcjojY2NjO30KICAgICAgICAjY2JveEN1cnJlbnR7cG9zaXRpb246YWJzb2x1dGU7IHRvcDotMjBweDsgcmlnaHQ6MHB4OyBjb2xvcjojY2NjO30KICAgICAgICAjY2JveExvYWRpbmdHcmFwaGlje2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9sb2FkaW5nLmh0bWwpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO30KCiAgICAgICAgLyogdGhlc2UgZWxlbWVudHMgYXJlIGJ1dHRvbnMsIGFuZCBtYXkgbmVlZCB0byBoYXZlIGFkZGl0aW9uYWwgc3R5bGVzIHJlc2V0IHRvIGF2b2lkIHVud2FudGVkIGJhc2Ugc3R5bGVzICovCiAgICAgICAgI2Nib3hQcmV2aW91cywgI2Nib3hOZXh0LCAjY2JveFNsaWRlc2hvdywgI2Nib3hDbG9zZSB7Ym9yZGVyOjA7IHBhZGRpbmc6MDsgbWFyZ2luOjA7IG92ZXJmbG93OnZpc2libGU7IHdpZHRoOmF1dG87IGJhY2tncm91bmQ6bm9uZTsgfQogICAgICAgIAogICAgICAgIC8qIGF2b2lkIG91dGxpbmVzIG9uIDphY3RpdmUgKG1vdXNlY2xpY2spLCBidXQgcHJlc2VydmUgb3V0bGluZXMgb24gOmZvY3VzICh0YWJiZWQgbmF2aWdhdGluZykgKi8KICAgICAgICAjY2JveFByZXZpb3VzOmFjdGl2ZSwgI2Nib3hOZXh0OmFjdGl2ZSwgI2Nib3hTbGlkZXNob3c6YWN0aXZlLCAjY2JveENsb3NlOmFjdGl2ZSB7b3V0bGluZTowO30KICAgICAgICAKICAgICAgICAjY2JveFNsaWRlc2hvd3twb3NpdGlvbjphYnNvbHV0ZTsgdG9wOi0yMHB4OyByaWdodDo5MHB4OyBjb2xvcjojZmZmO30KICAgICAgICAjY2JveFByZXZpb3Vze3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NTAlOyBsZWZ0OjVweDsgbWFyZ2luLXRvcDotMzJweDsgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2NvbnRyb2xzLmh0bWwpIG5vLXJlcGVhdCB0b3AgbGVmdDsgd2lkdGg6MjhweDsgaGVpZ2h0OjY1cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fQogICAgICAgICNjYm94UHJldmlvdXM6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpib3R0b20gbGVmdDt9CiAgICAgICAgI2Nib3hOZXh0e3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NTAlOyByaWdodDo1cHg7IG1hcmdpbi10b3A6LTMycHg7IGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9jb250cm9scy5odG1sKSBuby1yZXBlYXQgdG9wIHJpZ2h0OyB3aWR0aDoyOHB4OyBoZWlnaHQ6NjVweDsgdGV4dC1pbmRlbnQ6LTk5OTlweDt9CiAgICAgICAgI2Nib3hOZXh0OmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246Ym90dG9tIHJpZ2h0O30KICAgICAgICAjY2JveENsb3Nle3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NXB4OyByaWdodDo1cHg7IGRpc3BsYXk6YmxvY2s7IGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9jb250cm9scy5odG1sKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgd2lkdGg6MzhweDsgaGVpZ2h0OjE5cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fQogICAgICAgICNjYm94Q2xvc2U6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpib3R0b20gY2VudGVyO30K"}},"time_used":98,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":98,"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":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.609Z","timestamp":1785124599609,"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://astroxcinvest.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 03:56:39 GMT\r\ndate: Mon, 27 Jul 2026 03:56: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-04T07:30:05.144849Z","times_seen":59684,"resource_available":false,"data":"LyogZmFsbGJhY2sgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21hdGVyaWFsaWNvbnMvdjE0NS9mbFVoUnE2dHpaY2xRRUotVmRnLUl1aWFEc05jLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7Cn0KCi5tYXRlcmlhbC1pY29ucyB7CiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC1zaXplOiAyNHB4OwogIGxpbmUtaGVpZ2h0OiAxOwogIGxldHRlci1zcGFjaW5nOiBub3JtYWw7CiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgd29yZC13cmFwOiBub3JtYWw7CiAgZGlyZWN0aW9uOiBsdHI7CiAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJzsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Cg=="}},"time_used":83,"timings":{"blocked":-1,"dns":0,"connect":16,"send":0,"wait":33,"receive":0,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/owl.carousel.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.621Z","timestamp":1785124599621,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/owl.carousel.min.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"a70e-5aa839fc-6ac196f822ed731e;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 10649\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":42766,"size_decoded":11027,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32000)","md5":"b7b9c97cd68ec336d01a79d5be48c58d","sha1":"1a99890b57c9859a622337ed0b2f989d6e30cc0e","sha256":"b394d33b2a7ec654a6b037ebfda6618341b3f897a362be624c923c2711b54a43","sha512":"968e18822c24c6c54827999ec766fe54750a9489d22b6a45b641854731ec00beb8fd93b9bda8823e67463f7a99ab587d333673821ae90cfdf7e92716ba050c4e","ssdeep":"768:JBA7PMMFA0tdlXKNSR4vlGRep2lcwJeL+C2jQdc7/CORUQuFBt33:HAIMFFdYMxAcLQDV","tlshash":"cb137346b3202d2a869b61a0663f160bb23a291ce414507d7d7da6de6d7dc4c213fbfc","first_seen":"2023-03-07T01:03:18Z","last_seen":"2026-08-04T07:36:59.922435Z","times_seen":20474,"resource_available":true,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4yLjEKICogQ29weXJpZ2h0IDIwMTMtMjAxNyBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyICAoKQogKi8KIWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoYixjKXt0aGlzLnNldHRpbmdzPW51bGwsdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsYyksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuX2hhbmRsZXJzPXt9LHRoaXMuX3BsdWdpbnM9e30sdGhpcy5fc3VwcmVzcz17fSx0aGlzLl9jdXJyZW50PW51bGwsdGhpcy5fc3BlZWQ9bnVsbCx0aGlzLl9jb29yZGluYXRlcz1bXSx0aGlzLl9icmVha3BvaW50PW51bGwsdGhpcy5fd2lkdGg9bnVsbCx0aGlzLl9pdGVtcz1bXSx0aGlzLl9jbG9uZXM9W10sdGhpcy5fbWVyZ2Vycz1bXSx0aGlzLl93aWR0aHM9W10sdGhpcy5faW52YWxpZGF0ZWQ9e30sdGhpcy5fcGlwZT1bXSx0aGlzLl9kcmFnPXt0aW1lOm51bGwsdGFyZ2V0Om51bGwscG9pbnRlcjpudWxsLHN0YWdlOntzdGFydDpudWxsLGN1cnJlbnQ6bnVsbH0sZGlyZWN0aW9uOm51bGx9LHRoaXMuX3N0YXRlcz17Y3VycmVudDp7fSx0YWdzOntpbml0aWFsaXppbmc6WyJidXN5Il0sYW5pbWF0aW5nOlsiYnVzeSJdLGRyYWdnaW5nOlsiaW50ZXJhY3RpbmciXX19LGEuZWFjaChbIm9uUmVzaXplIiwib25UaHJvdHRsZWRSZXNpemUiXSxhLnByb3h5KGZ1bmN0aW9uKGIsYyl7dGhpcy5faGFuZGxlcnNbY109YS5wcm94eSh0aGlzW2NdLHRoaXMpfSx0aGlzKSksYS5lYWNoKGUuUGx1Z2lucyxhLnByb3h5KGZ1bmN0aW9uKGEsYil7dGhpcy5fcGx1Z2luc1thLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpK2Euc2xpY2UoMSldPW5ldyBiKHRoaXMpfSx0aGlzKSksYS5lYWNoKGUuV29ya2VycyxhLnByb3h5KGZ1bmN0aW9uKGIsYyl7dGhpcy5fcGlwZS5wdXNoKHtmaWx0ZXI6Yy5maWx0ZXIscnVuOmEucHJveHkoYy5ydW4sdGhpcyl9KX0sdGhpcykpLHRoaXMuc2V0dXAoKSx0aGlzLmluaXRpYWxpemUoKX1lLkRlZmF1bHRzPXtpdGVtczozLGxvb3A6ITEsY2VudGVyOiExLHJld2luZDohMSxtb3VzZURyYWc6ITAsdG91Y2hEcmFnOiEwLHB1bGxEcmFnOiEwLGZyZWVEcmFnOiExLG1hcmdpbjowLHN0YWdlUGFkZGluZzowLG1lcmdlOiExLG1lcmdlRml0OiEwLGF1dG9XaWR0aDohMSxzdGFydFBvc2l0aW9uOjAscnRsOiExLHNtYXJ0U3BlZWQ6MjUwLGZsdWlkU3BlZWQ6ITEsZHJhZ0VuZFNwZWVkOiExLHJlc3BvbnNpdmU6e30scmVzcG9uc2l2ZVJlZnJlc2hSYXRlOjIwMCxyZXNwb25zaXZlQmFzZUVsZW1lbnQ6YixmYWxsYmFja0Vhc2luZzoic3dpbmciLGluZm86ITEsbmVzdGVkSXRlbVNlbGVjdG9yOiExLGl0ZW1FbGVtZW50OiJkaXYiLHN0YWdlRWxlbWVudDoiZGl2IixyZWZyZXNoQ2xhc3M6Im93bC1yZWZyZXNoIixsb2FkZWRDbGFzczoib3dsLWxvYWRlZCIsbG9hZGluZ0NsYXNzOiJvd2wtbG9hZGluZyIscnRsQ2xhc3M6Im93bC1ydGwiLHJlc3BvbnNpdmVDbGFzczoib3dsLXJlc3BvbnNpdmUiLGRyYWdDbGFzczoib3dsLWRyYWciLGl0ZW1DbGFzczoib3dsLWl0ZW0iLHN0YWdlQ2xhc3M6Im93bC1zdGFnZSIsc3RhZ2VPdXRlckNsYXNzOiJvd2wtc3RhZ2Utb3V0ZXIiLGdyYWJDbGFzczoib3dsLWdyYWIifSxlLldpZHRoPXtEZWZhdWx0OiJkZWZhdWx0IixJbm5lcjoiaW5uZXIiLE91dGVyOiJvdXRlciJ9LGUuVHlwZT17RXZlbnQ6ImV2ZW50IixTdGF0ZToic3RhdGUifSxlLlBsdWdpbnM9e30sZS5Xb3JrZXJzPVt7ZmlsdGVyOlsid2lkdGgiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbigpe3RoaXMuX3dpZHRoPXRoaXMuJGVsZW1lbnQud2lkdGgoKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7YS5jdXJyZW50PXRoaXMuX2l0ZW1zJiZ0aGlzLl9pdGVtc1t0aGlzLnJlbGF0aXZlKHRoaXMuX2N1cnJlbnQpXX19LHtmaWx0ZXI6WyJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dGhpcy4kc3RhZ2UuY2hpbGRyZW4oIi5jbG9uZWQiKS5yZW1vdmUoKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5zZXR0aW5ncy5tYXJnaW58fCIiLGM9IXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLGQ9dGhpcy5zZXR0aW5ncy5ydGwsZT17d2lkdGg6ImF1dG8iLCJtYXJnaW4tbGVmdCI6ZD9iOiIiLCJtYXJnaW4tcmlnaHQiOmQ/IiI6Yn07IWMmJnRoaXMuJHN0YWdlLmNoaWxkcmVuKCkuY3NzKGUpLGEuY3NzPWV9fSx7ZmlsdGVyOlsid2lkdGgiLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiPSh0aGlzLndpZHRoKCkvdGhpcy5zZXR0aW5ncy5pdGVtcykudG9GaXhlZCgzKS10aGlzLnNldHRpbmdzLm1hcmdpbixjPW51bGwsZD10aGlzLl9pdGVtcy5sZW5ndGgsZT0hdGhpcy5zZXR0aW5ncy5hdXRvV2lkdGgsZj1bXTtmb3IoYS5pdGVtcz17bWVyZ2U6ITEsd2lkdGg6Yn07ZC0tOyljPXRoaXMuX21lcmdlcnNbZF0sYz10aGlzLnNldHRpbmdzLm1lcmdlRml0JiZNYXRoLm1pbihjLHRoaXMuc2V0dGluZ3MuaXRlbXMpfHxjLGEuaXRlbXMubWVyZ2U9Yz4xfHxhLml0ZW1zLm1lcmdlLGZbZF09ZT9iKmM6dGhpcy5faXRlbXNbZF0ud2lkdGgoKTt0aGlzLl93aWR0aHM9Zn19LHtmaWx0ZXI6WyJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dmFyIGI9W10sYz10aGlzLl9pdGVtcyxkPXRoaXMuc2V0dGluZ3MsZT1NYXRoLm1heCgyKmQuaXRlbXMsNCksZj0yKk1hdGguY2VpbChjLmxlbmd0aC8yKSxnPWQubG9vcCYmYy5sZW5ndGg/ZC5yZXdpbmQ/ZTpNYXRoLm1heChlLGYpOjAsaD0iIixpPSIiO2ZvcihnLz0yO2ctLTspYi5wdXNoKHRoaXMubm9ybWFsaXplKGIubGVuZ3RoLzIsITApKSxoKz1jW2JbYi5sZW5ndGgtMV1dWzBdLm91dGVySFRNTCxiLnB1c2godGhpcy5ub3JtYWxpemUoYy5sZW5ndGgtMS0oYi5sZW5ndGgtMSkvMiwhMCkpLGk9Y1tiW2IubGVuZ3RoLTFdXVswXS5vdXRlckhUTUwraTt0aGlzLl9jbG9uZXM9YixhKGgpLmFkZENsYXNzKCJjbG9uZWQiKS5hcHBlbmRUbyh0aGlzLiRzdGFnZSksYShpKS5hZGRDbGFzcygiY2xvbmVkIikucHJlcGVuZFRvKHRoaXMuJHN0YWdlKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5zZXR0aW5ncy5ydGw/MTotMSxiPXRoaXMuX2Nsb25lcy5sZW5ndGgrdGhpcy5faXRlbXMubGVuZ3RoLGM9LTEsZD0wLGU9MCxmPVtdOysrYzxiOylkPWZbYy0xXXx8MCxlPXRoaXMuX3dpZHRoc1t0aGlzLnJlbGF0aXZlKGMpXSt0aGlzLnNldHRpbmdzLm1hcmdpbixmLnB1c2goZCtlKmEpO3RoaXMuX2Nvb3JkaW5hdGVzPWZ9fSx7ZmlsdGVyOlsid2lkdGgiLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmcsYj10aGlzLl9jb29yZGluYXRlcyxjPXt3aWR0aDpNYXRoLmNlaWwoTWF0aC5hYnMoYltiLmxlbmd0aC0xXSkpKzIqYSwicGFkZGluZy1sZWZ0IjphfHwiIiwicGFkZGluZy1yaWdodCI6YXx8IiJ9O3RoaXMuJHN0YWdlLmNzcyhjKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fY29vcmRpbmF0ZXMubGVuZ3RoLGM9IXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLGQ9dGhpcy4kc3RhZ2UuY2hpbGRyZW4oKTtpZihjJiZhLml0ZW1zLm1lcmdlKWZvcig7Yi0tOylhLmNzcy53aWR0aD10aGlzLl93aWR0aHNbdGhpcy5yZWxhdGl2ZShiKV0sZC5lcShiKS5jc3MoYS5jc3MpO2Vsc2UgYyYmKGEuY3NzLndpZHRoPWEuaXRlbXMud2lkdGgsZC5jc3MoYS5jc3MpKX19LHtmaWx0ZXI6WyJpdGVtcyJdLHJ1bjpmdW5jdGlvbigpe3RoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aDwxJiZ0aGlzLiRzdGFnZS5yZW1vdmVBdHRyKCJzdHlsZSIpfX0se2ZpbHRlcjpbIndpZHRoIiwiaXRlbXMiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbihhKXthLmN1cnJlbnQ9YS5jdXJyZW50P3RoaXMuJHN0YWdlLmNoaWxkcmVuKCkuaW5kZXgoYS5jdXJyZW50KTowLGEuY3VycmVudD1NYXRoLm1heCh0aGlzLm1pbmltdW0oKSxNYXRoLm1pbih0aGlzLm1heGltdW0oKSxhLmN1cnJlbnQpKSx0aGlzLnJlc2V0KGEuY3VycmVudCl9fSx7ZmlsdGVyOlsicG9zaXRpb24iXSxydW46ZnVuY3Rpb24oKXt0aGlzLmFuaW1hdGUodGhpcy5jb29yZGluYXRlcyh0aGlzLl9jdXJyZW50KSl9fSx7ZmlsdGVyOlsid2lkdGgiLCJwb3NpdGlvbiIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlPXRoaXMuc2V0dGluZ3MucnRsPzE6LTEsZj0yKnRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nLGc9dGhpcy5jb29yZGluYXRlcyh0aGlzLmN1cnJlbnQoKSkrZixoPWcrdGhpcy53aWR0aCgpKmUsaT1bXTtmb3IoYz0wLGQ9dGhpcy5fY29vcmRpbmF0ZXMubGVuZ3RoO2M8ZDtjKyspYT10aGlzLl9jb29yZGluYXRlc1tjLTFdfHwwLGI9TWF0aC5hYnModGhpcy5fY29vcmRpbmF0ZXNbY10pK2YqZSwodGhpcy5vcChhLCI8PSIsZykmJnRoaXMub3AoYSwiPiIsaCl8fHRoaXMub3AoYiwiPCIsZykmJnRoaXMub3AoYiwiPiIsaCkpJiZpLnB1c2goYyk7dGhpcy4kc3RhZ2UuY2hpbGRyZW4oIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy4kc3RhZ2UuY2hpbGRyZW4oIjplcSgiK2kuam9pbigiKSwgOmVxKCIpKyIpIikuYWRkQ2xhc3MoImFjdGl2ZSIpLHRoaXMuc2V0dGluZ3MuY2VudGVyJiYodGhpcy4kc3RhZ2UuY2hpbGRyZW4oIi5jZW50ZXIiKS5yZW1vdmVDbGFzcygiY2VudGVyIiksdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5lcSh0aGlzLmN1cnJlbnQoKSkuYWRkQ2xhc3MoImNlbnRlciIpKX19XSxlLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7aWYodGhpcy5lbnRlcigiaW5pdGlhbGl6aW5nIiksdGhpcy50cmlnZ2VyKCJpbml0aWFsaXplIiksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLnNldHRpbmdzLnJ0bENsYXNzLHRoaXMuc2V0dGluZ3MucnRsKSx0aGlzLnNldHRpbmdzLmF1dG9XaWR0aCYmIXRoaXMuaXMoInByZS1sb2FkaW5nIikpe3ZhciBiLGMsZTtiPXRoaXMuJGVsZW1lbnQuZmluZCgiaW1nIiksYz10aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3Rvcj8iLiIrdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3I6ZCxlPXRoaXMuJGVsZW1lbnQuY2hpbGRyZW4oYykud2lkdGgoKSxiLmxlbmd0aCYmZTw9MCYmdGhpcy5wcmVsb2FkQXV0b1dpZHRoSW1hZ2VzKGIpfXRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcyksdGhpcy4kc3RhZ2U9YSgiPCIrdGhpcy5zZXR0aW5ncy5zdGFnZUVsZW1lbnQrJyBjbGFzcz0iJyt0aGlzLnNldHRpbmdzLnN0YWdlQ2xhc3MrJyIvPicpLndyYXAoJzxkaXYgY2xhc3M9IicrdGhpcy5zZXR0aW5ncy5zdGFnZU91dGVyQ2xhc3MrJyIvPicpLHRoaXMuJGVsZW1lbnQuYXBwZW5kKHRoaXMuJHN0YWdlLnBhcmVudCgpKSx0aGlzLnJlcGxhY2UodGhpcy4kZWxlbWVudC5jaGlsZHJlbigpLm5vdCh0aGlzLiRzdGFnZS5wYXJlbnQoKSkpLHRoaXMuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIik/dGhpcy5yZWZyZXNoKCk6dGhpcy5pbnZhbGlkYXRlKCJ3aWR0aCIpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcykuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRlZENsYXNzKSx0aGlzLnJlZ2lzdGVyRXZlbnRIYW5kbGVycygpLHRoaXMubGVhdmUoImluaXRpYWxpemluZyIpLHRoaXMudHJpZ2dlcigiaW5pdGlhbGl6ZWQiKX0sZS5wcm90b3R5cGUuc2V0dXA9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnZpZXdwb3J0KCksYz10aGlzLm9wdGlvbnMucmVzcG9uc2l2ZSxkPS0xLGU9bnVsbDtjPyhhLmVhY2goYyxmdW5jdGlvbihhKXthPD1iJiZhPmQmJihkPU51bWJlcihhKSl9KSxlPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyxjW2RdKSwiZnVuY3Rpb24iPT10eXBlb2YgZS5zdGFnZVBhZGRpbmcmJihlLnN0YWdlUGFkZGluZz1lLnN0YWdlUGFkZGluZygpKSxkZWxldGUgZS5yZXNwb25zaXZlLGUucmVzcG9uc2l2ZUNsYXNzJiZ0aGlzLiRlbGVtZW50LmF0dHIoImNsYXNzIix0aGlzLiRlbGVtZW50LmF0dHIoImNsYXNzIikucmVwbGFjZShuZXcgUmVnRXhwKCIoIit0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUNsYXNzKyItKVxcUytcXHMiLCJnIiksIiQxIitkKSkpOmU9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zKSx0aGlzLnRyaWdnZXIoImNoYW5nZSIse3Byb3BlcnR5OntuYW1lOiJzZXR0aW5ncyIsdmFsdWU6ZX19KSx0aGlzLl9icmVha3BvaW50PWQsdGhpcy5zZXR0aW5ncz1lLHRoaXMuaW52YWxpZGF0ZSgic2V0dGluZ3MiKSx0aGlzLnRyaWdnZXIoImNoYW5nZWQiLHtwcm9wZXJ0eTp7bmFtZToic2V0dGluZ3MiLHZhbHVlOnRoaXMuc2V0dGluZ3N9fSl9LGUucHJvdG90eXBlLm9wdGlvbnNMb2dpYz1mdW5jdGlvbigpe3RoaXMuc2V0dGluZ3MuYXV0b1dpZHRoJiYodGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmc9ITEsdGhpcy5zZXR0aW5ncy5tZXJnZT0hMSl9LGUucHJvdG90eXBlLnByZXBhcmU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy50cmlnZ2VyKCJwcmVwYXJlIix7Y29udGVudDpifSk7cmV0dXJuIGMuZGF0YXx8KGMuZGF0YT1hKCI8Iit0aGlzLnNldHRpbmdzLml0ZW1FbGVtZW50KyIvPiIpLmFkZENsYXNzKHRoaXMub3B0aW9ucy5pdGVtQ2xhc3MpLmFwcGVuZChiKSksdGhpcy50cmlnZ2VyKCJwcmVwYXJlZCIse2NvbnRlbnQ6Yy5kYXRhfSksYy5kYXRhfSxlLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MCxjPXRoaXMuX3BpcGUubGVuZ3RoLGQ9YS5wcm94eShmdW5jdGlvbihhKXtyZXR1cm4gdGhpc1thXX0sdGhpcy5faW52YWxpZGF0ZWQpLGU9e307YjxjOykodGhpcy5faW52YWxpZGF0ZWQuYWxsfHxhLmdyZXAodGhpcy5fcGlwZVtiXS5maWx0ZXIsZCkubGVuZ3RoPjApJiZ0aGlzLl9waXBlW2JdLnJ1bihlKSxiKys7dGhpcy5faW52YWxpZGF0ZWQ9e30sIXRoaXMuaXMoInZhbGlkIikmJnRoaXMuZW50ZXIoInZhbGlkIil9LGUucHJvdG90eXBlLndpZHRoPWZ1bmN0aW9uKGEpe3N3aXRjaChhPWF8fGUuV2lkdGguRGVmYXVsdCl7Y2FzZSBlLldpZHRoLklubmVyOmNhc2UgZS5XaWR0aC5PdXRlcjpyZXR1cm4gdGhpcy5fd2lkdGg7ZGVmYXVsdDpyZXR1cm4gdGhpcy5fd2lkdGgtMip0aGlzLnNldHRpbmdzLnN0YWdlUGFkZGluZyt0aGlzLnNldHRpbmdzLm1hcmdpbn19LGUucHJvdG90eXBlLnJlZnJlc2g9ZnVuY3Rpb24oKXt0aGlzLmVudGVyKCJyZWZyZXNoaW5nIiksdGhpcy50cmlnZ2VyKCJyZWZyZXNoIiksdGhpcy5zZXR1cCgpLHRoaXMub3B0aW9uc0xvZ2ljKCksdGhpcy4kZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKSx0aGlzLnVwZGF0ZSgpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcyksdGhpcy5sZWF2ZSgicmVmcmVzaGluZyIpLHRoaXMudHJpZ2dlcigicmVmcmVzaGVkIil9LGUucHJvdG90eXBlLm9uVGhyb3R0bGVkUmVzaXplPWZ1bmN0aW9uKCl7Yi5jbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lciksdGhpcy5yZXNpemVUaW1lcj1iLnNldFRpbWVvdXQodGhpcy5faGFuZGxlcnMub25SZXNpemUsdGhpcy5zZXR0aW5ncy5yZXNwb25zaXZlUmVmcmVzaFJhdGUpfSxlLnByb3RvdHlwZS5vblJlc2l6ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5faXRlbXMubGVuZ3RoJiYodGhpcy5fd2lkdGghPT10aGlzLiRlbGVtZW50LndpZHRoKCkmJighIXRoaXMuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikmJih0aGlzLmVudGVyKCJyZXNpemluZyIpLHRoaXMudHJpZ2dlcigicmVzaXplIikuaXNEZWZhdWx0UHJldmVudGVkKCk/KHRoaXMubGVhdmUoInJlc2l6aW5nIiksITEpOih0aGlzLmludmFsaWRhdGUoIndpZHRoIiksdGhpcy5yZWZyZXNoKCksdGhpcy5sZWF2ZSgicmVzaXppbmciKSx2b2lkIHRoaXMudHJpZ2dlcigicmVzaXplZCIpKSkpKX0sZS5wcm90b3R5cGUucmVnaXN0ZXJFdmVudEhhbmRsZXJzPWZ1bmN0aW9uKCl7YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJHN0YWdlLm9uKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCsiLm93bC5jb3JlIixhLnByb3h5KHRoaXMub25UcmFuc2l0aW9uRW5kLHRoaXMpKSx0aGlzLnNldHRpbmdzLnJlc3BvbnNpdmUhPT0hMSYmdGhpcy5vbihiLCJyZXNpemUiLHRoaXMuX2hhbmRsZXJzLm9uVGhyb3R0bGVkUmVzaXplKSx0aGlzLnNldHRpbmdzLm1vdXNlRHJhZyYmKHRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcyksdGhpcy4kc3RhZ2Uub24oIm1vdXNlZG93bi5vd2wuY29yZSIsYS5wcm94eSh0aGlzLm9uRHJhZ1N0YXJ0LHRoaXMpKSx0aGlzLiRzdGFnZS5vbigiZHJhZ3N0YXJ0Lm93bC5jb3JlIHNlbGVjdHN0YXJ0Lm93bC5jb3JlIixmdW5jdGlvbigpe3JldHVybiExfSkpLHRoaXMuc2V0dGluZ3MudG91Y2hEcmFnJiYodGhpcy4kc3RhZ2Uub24oInRvdWNoc3RhcnQub3dsLmNvcmUiLGEucHJveHkodGhpcy5vbkRyYWdTdGFydCx0aGlzKSksdGhpcy4kc3RhZ2Uub24oInRvdWNoY2FuY2VsLm93bC5jb3JlIixhLnByb3h5KHRoaXMub25EcmFnRW5kLHRoaXMpKSl9LGUucHJvdG90eXBlLm9uRHJhZ1N0YXJ0PWZ1bmN0aW9uKGIpe3ZhciBkPW51bGw7MyE9PWIud2hpY2gmJihhLnN1cHBvcnQudHJhbnNmb3JtPyhkPXRoaXMuJHN0YWdlLmNzcygidHJhbnNmb3JtIikucmVwbGFjZSgvLipcKHxcKXwgL2csIiIpLnNwbGl0KCIsIiksZD17eDpkWzE2PT09ZC5sZW5ndGg/MTI6NF0seTpkWzE2PT09ZC5sZW5ndGg/MTM6NV19KTooZD10aGlzLiRzdGFnZS5wb3NpdGlvbigpLGQ9e3g6dGhpcy5zZXR0aW5ncy5ydGw/ZC5sZWZ0K3RoaXMuJHN0YWdlLndpZHRoKCktdGhpcy53aWR0aCgpK3RoaXMuc2V0dGluZ3MubWFyZ2luOmQubGVmdCx5OmQudG9wfSksdGhpcy5pcygiYW5pbWF0aW5nIikmJihhLnN1cHBvcnQudHJhbnNmb3JtP3RoaXMuYW5pbWF0ZShkLngpOnRoaXMuJHN0YWdlLnN0b3AoKSx0aGlzLmludmFsaWRhdGUoInBvc2l0aW9uIikpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcywibW91c2Vkb3duIj09PWIudHlwZSksdGhpcy5zcGVlZCgwKSx0aGlzLl9kcmFnLnRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCksdGhpcy5fZHJhZy50YXJnZXQ9YShiLnRhcmdldCksdGhpcy5fZHJhZy5zdGFnZS5zdGFydD1kLHRoaXMuX2RyYWcuc3RhZ2UuY3VycmVudD1kLHRoaXMuX2RyYWcucG9pbnRlcj10aGlzLnBvaW50ZXIoYiksYShjKS5vbigibW91c2V1cC5vd2wuY29yZSB0b3VjaGVuZC5vd2wuY29yZSIsYS5wcm94eSh0aGlzLm9uRHJhZ0VuZCx0aGlzKSksYShjKS5vbmUoIm1vdXNlbW92ZS5vd2wuY29yZSB0b3VjaG1vdmUub3dsLmNvcmUiLGEucHJveHkoZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlcix0aGlzLnBvaW50ZXIoYikpO2EoYykub24oIm1vdXNlbW92ZS5vd2wuY29yZSB0b3VjaG1vdmUub3dsLmNvcmUiLGEucHJveHkodGhpcy5vbkRyYWdNb3ZlLHRoaXMpKSxNYXRoLmFicyhkLngpPE1hdGguYWJzKGQueSkmJnRoaXMuaXMoInZhbGlkIil8fChiLnByZXZlbnREZWZhdWx0KCksdGhpcy5lbnRlcigiZHJhZ2dpbmciKSx0aGlzLnRyaWdnZXIoImRyYWciKSl9LHRoaXMpKSl9LGUucHJvdG90eXBlLm9uRHJhZ01vdmU9ZnVuY3Rpb24oYSl7dmFyIGI9bnVsbCxjPW51bGwsZD1udWxsLGU9dGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlcix0aGlzLnBvaW50ZXIoYSkpLGY9dGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcuc3RhZ2Uuc3RhcnQsZSk7dGhpcy5pcygiZHJhZ2dpbmciKSYmKGEucHJldmVudERlZmF1bHQoKSx0aGlzLnNldHRpbmdzLmxvb3A/KGI9dGhpcy5jb29yZGluYXRlcyh0aGlzLm1pbmltdW0oKSksYz10aGlzLmNvb3JkaW5hdGVzKHRoaXMubWF4aW11bSgpKzEpLWIsZi54PSgoZi54LWIpJWMrYyklYytiKTooYj10aGlzLnNldHRpbmdzLnJ0bD90aGlzLmNvb3JkaW5hdGVzKHRoaXMubWF4aW11bSgpKTp0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKSxjPXRoaXMuc2V0dGluZ3MucnRsP3RoaXMuY29vcmRpbmF0ZXModGhpcy5taW5pbXVtKCkpOnRoaXMuY29vcmRpbmF0ZXModGhpcy5tYXhpbXVtKCkpLGQ9dGhpcy5zZXR0aW5ncy5wdWxsRHJhZz8tMSplLngvNTowLGYueD1NYXRoLm1heChNYXRoLm1pbihmLngsYitkKSxjK2QpKSx0aGlzLl9kcmFnLnN0YWdlLmN1cnJlbnQ9Zix0aGlzLmFuaW1hdGUoZi54KSl9LGUucHJvdG90eXBlLm9uRHJhZ0VuZD1mdW5jdGlvbihiKXt2YXIgZD10aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5wb2ludGVyLHRoaXMucG9pbnRlcihiKSksZT10aGlzLl9kcmFnLnN0YWdlLmN1cnJlbnQsZj1kLng+MF50aGlzLnNldHRpbmdzLnJ0bD8ibGVmdCI6InJpZ2h0IjthKGMpLm9mZigiLm93bC5jb3JlIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuZ3JhYkNsYXNzKSwoMCE9PWQueCYmdGhpcy5pcygiZHJhZ2dpbmciKXx8IXRoaXMuaXMoInZhbGlkIikpJiYodGhpcy5zcGVlZCh0aGlzLnNldHRpbmdzLmRyYWdFbmRTcGVlZHx8dGhpcy5zZXR0aW5ncy5zbWFydFNwZWVkKSx0aGlzLmN1cnJlbnQodGhpcy5jbG9zZXN0KGUueCwwIT09ZC54P2Y6dGhpcy5fZHJhZy5kaXJlY3Rpb24pKSx0aGlzLmludmFsaWRhdGUoInBvc2l0aW9uIiksdGhpcy51cGRhdGUoKSx0aGlzLl9kcmFnLmRpcmVjdGlvbj1mLChNYXRoLmFicyhkLngpPjN8fChuZXcgRGF0ZSkuZ2V0VGltZSgpLXRoaXMuX2RyYWcudGltZT4zMDApJiZ0aGlzLl9kcmFnLnRhcmdldC5vbmUoImNsaWNrLm93bC5jb3JlIixmdW5jdGlvbigpe3JldHVybiExfSkpLHRoaXMuaXMoImRyYWdnaW5nIikmJih0aGlzLmxlYXZlKCJkcmFnZ2luZyIpLHRoaXMudHJpZ2dlcigiZHJhZ2dlZCIpKX0sZS5wcm90b3R5cGUuY2xvc2VzdD1mdW5jdGlvbihiLGMpe3ZhciBkPS0xLGU9MzAsZj10aGlzLndpZHRoKCksZz10aGlzLmNvb3JkaW5hdGVzKCk7cmV0dXJuIHRoaXMuc2V0dGluZ3MuZnJlZURyYWd8fGEuZWFjaChnLGEucHJveHkoZnVuY3Rpb24oYSxoKXtyZXR1cm4ibGVmdCI9PT1jJiZiPmgtZSYmYjxoK2U/ZD1hOiJyaWdodCI9PT1jJiZiPmgtZi1lJiZiPGgtZitlP2Q9YSsxOnRoaXMub3AoYiwiPCIsaCkmJnRoaXMub3AoYiwiPiIsZ1thKzFdfHxoLWYpJiYoZD0ibGVmdCI9PT1jP2ErMTphKSxkPT09LTF9LHRoaXMpKSx0aGlzLnNldHRpbmdzLmxvb3B8fCh0aGlzLm9wKGIsIj4iLGdbdGhpcy5taW5pbXVtKCldKT9kPWI9dGhpcy5taW5pbXVtKCk6dGhpcy5vcChiLCI8IixnW3RoaXMubWF4aW11bSgpXSkmJihkPWI9dGhpcy5tYXhpbXVtKCkpKSxkfSxlLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuc3BlZWQoKT4wO3RoaXMuaXMoImFuaW1hdGluZyIpJiZ0aGlzLm9uVHJhbnNpdGlvbkVuZCgpLGMmJih0aGlzLmVudGVyKCJhbmltYXRpbmciKSx0aGlzLnRyaWdnZXIoInRyYW5zbGF0ZSIpKSxhLnN1cHBvcnQudHJhbnNmb3JtM2QmJmEuc3VwcG9ydC50cmFuc2l0aW9uP3RoaXMuJHN0YWdlLmNzcyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGUzZCgiK2IrInB4LDBweCwwcHgpIix0cmFuc2l0aW9uOnRoaXMuc3BlZWQoKS8xZTMrInMifSk6Yz90aGlzLiRzdGFnZS5hbmltYXRlKHtsZWZ0OmIrInB4In0sdGhpcy5zcGVlZCgpLHRoaXMuc2V0dGluZ3MuZmFsbGJhY2tFYXNpbmcsYS5wcm94eSh0aGlzLm9uVHJhbnNpdGlvbkVuZCx0aGlzKSk6dGhpcy4kc3RhZ2UuY3NzKHtsZWZ0OmIrInB4In0pfSxlLnByb3RvdHlwZS5pcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fc3RhdGVzLmN1cnJlbnRbYV0mJnRoaXMuX3N0YXRlcy5jdXJyZW50W2FdPjB9LGUucHJvdG90eXBlLmN1cnJlbnQ9ZnVuY3Rpb24oYSl7aWYoYT09PWQpcmV0dXJuIHRoaXMuX2N1cnJlbnQ7aWYoMD09PXRoaXMuX2l0ZW1zLmxlbmd0aClyZXR1cm4gZDtpZihhPXRoaXMubm9ybWFsaXplKGEpLHRoaXMuX2N1cnJlbnQhPT1hKXt2YXIgYj10aGlzLnRyaWdnZXIoImNoYW5nZSIse3Byb3BlcnR5OntuYW1lOiJwb3NpdGlvbiIsdmFsdWU6YX19KTtiLmRhdGEhPT1kJiYoYT10aGlzLm5vcm1hbGl6ZShiLmRhdGEpKSx0aGlzLl9jdXJyZW50PWEsdGhpcy5pbnZhbGlkYXRlKCJwb3NpdGlvbiIpLHRoaXMudHJpZ2dlcigiY2hhbmdlZCIse3Byb3BlcnR5OntuYW1lOiJwb3NpdGlvbiIsdmFsdWU6dGhpcy5fY3VycmVudH19KX1yZXR1cm4gdGhpcy5fY3VycmVudH0sZS5wcm90b3R5cGUuaW52YWxpZGF0ZT1mdW5jdGlvbihiKXtyZXR1cm4ic3RyaW5nIj09PWEudHlwZShiKSYmKHRoaXMuX2ludmFsaWRhdGVkW2JdPSEwLHRoaXMuaXMoInZhbGlkIikmJnRoaXMubGVhdmUoInZhbGlkIikpLGEubWFwKHRoaXMuX2ludmFsaWRhdGVkLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGJ9KX0sZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oYSl7YT10aGlzLm5vcm1hbGl6ZShhKSxhIT09ZCYmKHRoaXMuX3NwZWVkPTAsdGhpcy5fY3VycmVudD1hLHRoaXMuc3VwcHJlc3MoWyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVkIl0pLHRoaXMuYW5pbWF0ZSh0aGlzLmNvb3JkaW5hdGVzKGEpKSx0aGlzLnJlbGVhc2UoWyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVkIl0pKX0sZS5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5faXRlbXMubGVuZ3RoLGU9Yj8wOnRoaXMuX2Nsb25lcy5sZW5ndGg7cmV0dXJuIXRoaXMuaXNOdW1lcmljKGEpfHxjPDE/YT1kOihhPDB8fGE+PWMrZSkmJihhPSgoYS1lLzIpJWMrYyklYytlLzIpLGF9LGUucHJvdG90eXBlLnJlbGF0aXZlPWZ1bmN0aW9uKGEpe3JldHVybiBhLT10aGlzLl9jbG9uZXMubGVuZ3RoLzIsdGhpcy5ub3JtYWxpemUoYSwhMCl9LGUucHJvdG90eXBlLm1heGltdW09ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9dGhpcy5zZXR0aW5ncyxmPXRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aDtpZihlLmxvb3ApZj10aGlzLl9jbG9uZXMubGVuZ3RoLzIrdGhpcy5faXRlbXMubGVuZ3RoLTE7ZWxzZSBpZihlLmF1dG9XaWR0aHx8ZS5tZXJnZSl7Zm9yKGI9dGhpcy5faXRlbXMubGVuZ3RoLGM9dGhpcy5faXRlbXNbLS1iXS53aWR0aCgpLGQ9dGhpcy4kZWxlbWVudC53aWR0aCgpO2ItLSYmKGMrPXRoaXMuX2l0ZW1zW2JdLndpZHRoKCkrdGhpcy5zZXR0aW5ncy5tYXJnaW4sIShjPmQpKTspO2Y9YisxfWVsc2UgZj1lLmNlbnRlcj90aGlzLl9pdGVtcy5sZW5ndGgtMTp0aGlzLl9pdGVtcy5sZW5ndGgtZS5pdGVtcztyZXR1cm4gYSYmKGYtPXRoaXMuX2Nsb25lcy5sZW5ndGgvMiksTWF0aC5tYXgoZiwwKX0sZS5wcm90b3R5cGUubWluaW11bT1mdW5jdGlvbihhKXtyZXR1cm4gYT8wOnRoaXMuX2Nsb25lcy5sZW5ndGgvMn0sZS5wcm90b3R5cGUuaXRlbXM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1kP3RoaXMuX2l0ZW1zLnNsaWNlKCk6KGE9dGhpcy5ub3JtYWxpemUoYSwhMCksdGhpcy5faXRlbXNbYV0pfSxlLnByb3RvdHlwZS5tZXJnZXJzPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09ZD90aGlzLl9tZXJnZXJzLnNsaWNlKCk6KGE9dGhpcy5ub3JtYWxpemUoYSwhMCksdGhpcy5fbWVyZ2Vyc1thXSl9LGUucHJvdG90eXBlLmNsb25lcz1mdW5jdGlvbihiKXt2YXIgYz10aGlzLl9jbG9uZXMubGVuZ3RoLzIsZT1jK3RoaXMuX2l0ZW1zLmxlbmd0aCxmPWZ1bmN0aW9uKGEpe3JldHVybiBhJTI9PT0wP2UrYS8yOmMtKGErMSkvMn07cmV0dXJuIGI9PT1kP2EubWFwKHRoaXMuX2Nsb25lcyxmdW5jdGlvbihhLGIpe3JldHVybiBmKGIpfSk6YS5tYXAodGhpcy5fY2xvbmVzLGZ1bmN0aW9uKGEsYyl7cmV0dXJuIGE9PT1iP2YoYyk6bnVsbH0pfSxlLnByb3RvdHlwZS5zcGVlZD1mdW5jdGlvbihhKXtyZXR1cm4gYSE9PWQmJih0aGlzLl9zcGVlZD1hKSx0aGlzLl9zcGVlZH0sZS5wcm90b3R5cGUuY29vcmRpbmF0ZXM9ZnVuY3Rpb24oYil7dmFyIGMsZT0xLGY9Yi0xO3JldHVybiBiPT09ZD9hLm1hcCh0aGlzLl9jb29yZGluYXRlcyxhLnByb3h5KGZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuY29vcmRpbmF0ZXMoYil9LHRoaXMpKToodGhpcy5zZXR0aW5ncy5jZW50ZXI/KHRoaXMuc2V0dGluZ3MucnRsJiYoZT0tMSxmPWIrMSksYz10aGlzLl9jb29yZGluYXRlc1tiXSxjKz0odGhpcy53aWR0aCgpLWMrKHRoaXMuX2Nvb3JkaW5hdGVzW2ZdfHwwKSkvMiplKTpjPXRoaXMuX2Nvb3JkaW5hdGVzW2ZdfHwwLGM9TWF0aC5jZWlsKGMpKX0sZS5wcm90b3R5cGUuZHVyYXRpb249ZnVuY3Rpb24oYSxiLGMpe3JldHVybiAwPT09Yz8wOk1hdGgubWluKE1hdGgubWF4KE1hdGguYWJzKGItYSksMSksNikqTWF0aC5hYnMoY3x8dGhpcy5zZXR0aW5ncy5zbWFydFNwZWVkKX0sZS5wcm90b3R5cGUudG89ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmN1cnJlbnQoKSxkPW51bGwsZT1hLXRoaXMucmVsYXRpdmUoYyksZj0oZT4wKS0oZTwwKSxnPXRoaXMuX2l0ZW1zLmxlbmd0aCxoPXRoaXMubWluaW11bSgpLGk9dGhpcy5tYXhpbXVtKCk7dGhpcy5zZXR0aW5ncy5sb29wPyghdGhpcy5zZXR0aW5ncy5yZXdpbmQmJk1hdGguYWJzKGUpPmcvMiYmKGUrPWYqLTEqZyksYT1jK2UsZD0oKGEtaCklZytnKSVnK2gsZCE9PWEmJmQtZTw9aSYmZC1lPjAmJihjPWQtZSxhPWQsdGhpcy5yZXNldChjKSkpOnRoaXMuc2V0dGluZ3MucmV3aW5kPyhpKz0xLGE9KGElaStpKSVpKTphPU1hdGgubWF4KGgsTWF0aC5taW4oaSxhKSksdGhpcy5zcGVlZCh0aGlzLmR1cmF0aW9uKGMsYSxiKSksdGhpcy5jdXJyZW50KGEpLHRoaXMuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikmJnRoaXMudXBkYXRlKCl9LGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oYSl7YT1hfHwhMSx0aGlzLnRvKHRoaXMucmVsYXRpdmUodGhpcy5jdXJyZW50KCkpKzEsYSl9LGUucHJvdG90eXBlLnByZXY9ZnVuY3Rpb24oYSl7YT1hfHwhMSx0aGlzLnRvKHRoaXMucmVsYXRpdmUodGhpcy5jdXJyZW50KCkpLTEsYSl9LGUucHJvdG90eXBlLm9uVHJhbnNpdGlvbkVuZD1mdW5jdGlvbihhKXtpZihhIT09ZCYmKGEuc3RvcFByb3BhZ2F0aW9uKCksKGEudGFyZ2V0fHxhLnNyY0VsZW1lbnR8fGEub3JpZ2luYWxUYXJnZXQpIT09dGhpcy4kc3RhZ2UuZ2V0KDApKSlyZXR1cm4hMTt0aGlzLmxlYXZlKCJhbmltYXRpbmciKSx0aGlzLnRyaWdnZXIoInRyYW5zbGF0ZWQiKX0sZS5wcm90b3R5cGUudmlld3BvcnQ9ZnVuY3Rpb24oKXt2YXIgZDtyZXR1cm4gdGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlRWxlbWVudCE9PWI/ZD1hKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQmFzZUVsZW1lbnQpLndpZHRoKCk6Yi5pbm5lcldpZHRoP2Q9Yi5pbm5lcldpZHRoOmMuZG9jdW1lbnRFbGVtZW50JiZjLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aD9kPWMuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoOmNvbnNvbGUud2FybigiQ2FuIG5vdCBkZXRlY3Qgdmlld3BvcnQgd2lkdGguIiksZH0sZS5wcm90b3R5cGUucmVwbGFjZT1mdW5jdGlvbihiKXt0aGlzLiRzdGFnZS5lbXB0eSgpLHRoaXMuX2l0ZW1zPVtdLGImJihiPWIgaW5zdGFuY2VvZiBqUXVlcnk/YjphKGIpKSx0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvciYmKGI9Yi5maW5kKCIuIit0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvcikpLGIuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLm5vZGVUeXBlfSkuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGEsYil7Yj10aGlzLnByZXBhcmUoYiksdGhpcy4kc3RhZ2UuYXBwZW5kKGIpLHRoaXMuX2l0ZW1zLnB1c2goYiksdGhpcy5fbWVyZ2Vycy5wdXNoKDEqYi5maW5kKCJbZGF0YS1tZXJnZV0iKS5hZGRCYWNrKCJbZGF0YS1tZXJnZV0iKS5hdHRyKCJkYXRhLW1lcmdlIil8fDEpfSx0aGlzKSksdGhpcy5yZXNldCh0aGlzLmlzTnVtZXJpYyh0aGlzLnNldHRpbmdzLnN0YXJ0UG9zaXRpb24pP3RoaXMuc2V0dGluZ3Muc3RhcnRQb3NpdGlvbjowKSx0aGlzLmludmFsaWRhdGUoIml0ZW1zIil9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihiLGMpe3ZhciBlPXRoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCk7Yz1jPT09ZD90aGlzLl9pdGVtcy5sZW5ndGg6dGhpcy5ub3JtYWxpemUoYywhMCksYj1iIGluc3RhbmNlb2YgalF1ZXJ5P2I6YShiKSx0aGlzLnRyaWdnZXIoImFkZCIse2NvbnRlbnQ6Yixwb3NpdGlvbjpjfSksYj10aGlzLnByZXBhcmUoYiksMD09PXRoaXMuX2l0ZW1zLmxlbmd0aHx8Yz09PXRoaXMuX2l0ZW1zLmxlbmd0aD8oMD09PXRoaXMuX2l0ZW1zLmxlbmd0aCYmdGhpcy4kc3RhZ2UuYXBwZW5kKGIpLDAhPT10aGlzLl9pdGVtcy5sZW5ndGgmJnRoaXMuX2l0ZW1zW2MtMV0uYWZ0ZXIoYiksdGhpcy5faXRlbXMucHVzaChiKSx0aGlzLl9tZXJnZXJzLnB1c2goMSpiLmZpbmQoIltkYXRhLW1lcmdlXSIpLmFkZEJhY2soIltkYXRhLW1lcmdlXSIpLmF0dHIoImRhdGEtbWVyZ2UiKXx8MSkpOih0aGlzLl9pdGVtc1tjXS5iZWZvcmUoYiksdGhpcy5faXRlbXMuc3BsaWNlKGMsMCxiKSx0aGlzLl9tZXJnZXJzLnNwbGljZShjLDAsMSpiLmZpbmQoIltkYXRhLW1lcmdlXSIpLmFkZEJhY2soIltkYXRhLW1lcmdlXSIpLmF0dHIoImRhdGEtbWVyZ2UiKXx8MSkpLHRoaXMuX2l0ZW1zW2VdJiZ0aGlzLnJlc2V0KHRoaXMuX2l0ZW1zW2VdLmluZGV4KCkpLHRoaXMuaW52YWxpZGF0ZSgiaXRlbXMiKSx0aGlzLnRyaWdnZXIoImFkZGVkIix7Y29udGVudDpiLHBvc2l0aW9uOmN9KX0sZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2E9dGhpcy5ub3JtYWxpemUoYSwhMCksYSE9PWQmJih0aGlzLnRyaWdnZXIoInJlbW92ZSIse2NvbnRlbnQ6dGhpcy5faXRlbXNbYV0scG9zaXRpb246YX0pLHRoaXMuX2l0ZW1zW2FdLnJlbW92ZSgpLHRoaXMuX2l0ZW1zLnNwbGljZShhLDEpLHRoaXMuX21lcmdlcnMuc3BsaWNlKGEsMSksdGhpcy5pbnZhbGlkYXRlKCJpdGVtcyIpLHRoaXMudHJpZ2dlcigicmVtb3ZlZCIse2NvbnRlbnQ6bnVsbCxwb3NpdGlvbjphfSkpfSxlLnByb3RvdHlwZS5wcmVsb2FkQXV0b1dpZHRoSW1hZ2VzPWZ1bmN0aW9uKGIpe2IuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGIsYyl7dGhpcy5lbnRlcigicHJlLWxvYWRpbmciKSxjPWEoYyksYShuZXcgSW1hZ2UpLm9uZSgibG9hZCIsYS5wcm94eShmdW5jdGlvbihhKXtjLmF0dHIoInNyYyIsYS50YXJnZXQuc3JjKSxjLmNzcygib3BhY2l0eSIsMSksdGhpcy5sZWF2ZSgicHJlLWxvYWRpbmciKSwhdGhpcy5pcygicHJlLWxvYWRpbmciKSYmIXRoaXMuaXMoImluaXRpYWxpemluZyIpJiZ0aGlzLnJlZnJlc2goKX0sdGhpcykpLmF0dHIoInNyYyIsYy5hdHRyKCJzcmMiKXx8Yy5hdHRyKCJkYXRhLXNyYyIpfHxjLmF0dHIoImRhdGEtc3JjLXJldGluYSIpKX0sdGhpcykpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5vZmYoIi5vd2wuY29yZSIpLHRoaXMuJHN0YWdlLm9mZigiLm93bC5jb3JlIiksYShjKS5vZmYoIi5vd2wuY29yZSIpLHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZSE9PSExJiYoYi5jbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lciksdGhpcy5vZmYoYiwicmVzaXplIix0aGlzLl9oYW5kbGVycy5vblRocm90dGxlZFJlc2l6ZSkpO2Zvcih2YXIgZCBpbiB0aGlzLl9wbHVnaW5zKXRoaXMuX3BsdWdpbnNbZF0uZGVzdHJveSgpO3RoaXMuJHN0YWdlLmNoaWxkcmVuKCIuY2xvbmVkIikucmVtb3ZlKCksdGhpcy4kc3RhZ2UudW53cmFwKCksdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jb250ZW50cygpLnVud3JhcCgpLHRoaXMuJHN0YWdlLmNoaWxkcmVuKCkudW53cmFwKCksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGVkQ2xhc3MpLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ydGxDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcykuYXR0cigiY2xhc3MiLHRoaXMuJGVsZW1lbnQuYXR0cigiY2xhc3MiKS5yZXBsYWNlKG5ldyBSZWdFeHAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVDbGFzcysiLVxcUytcXHMiLCJnIiksIiIpKS5yZW1vdmVEYXRhKCJvd2wuY2Fyb3VzZWwiKX0sZS5wcm90b3R5cGUub3A9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuc2V0dGluZ3MucnRsO3N3aXRjaChiKXtjYXNlIjwiOnJldHVybiBkP2E+YzphPGM7Y2FzZSI+IjpyZXR1cm4gZD9hPGM6YT5jO2Nhc2UiPj0iOnJldHVybiBkP2E8PWM6YT49YztjYXNlIjw9IjpyZXR1cm4gZD9hPj1jOmE8PWN9fSxlLnByb3RvdHlwZS5vbj1mdW5jdGlvbihhLGIsYyxkKXthLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGIsYyxkKTphLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrYixjKX0sZS5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKGEsYixjLGQpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj9hLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLGQpOmEuZGV0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoIm9uIitiLGMpfSxlLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKGIsYyxkLGYsZyl7dmFyIGg9e2l0ZW06e2NvdW50OnRoaXMuX2l0ZW1zLmxlbmd0aCxpbmRleDp0aGlzLmN1cnJlbnQoKX19LGk9YS5jYW1lbENhc2UoYS5ncmVwKFsib24iLGIsZF0sZnVuY3Rpb24oYSl7cmV0dXJuIGF9KS5qb2luKCItIikudG9Mb3dlckNhc2UoKSksaj1hLkV2ZW50KFtiLCJvd2wiLGR8fCJjYXJvdXNlbCJdLmpvaW4oIi4iKS50b0xvd2VyQ2FzZSgpLGEuZXh0ZW5kKHtyZWxhdGVkVGFyZ2V0OnRoaXN9LGgsYykpO3JldHVybiB0aGlzLl9zdXByZXNzW2JdfHwoYS5lYWNoKHRoaXMuX3BsdWdpbnMsZnVuY3Rpb24oYSxiKXtiLm9uVHJpZ2dlciYmYi5vblRyaWdnZXIoail9KSx0aGlzLnJlZ2lzdGVyKHt0eXBlOmUuVHlwZS5FdmVudCxuYW1lOmJ9KSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksdGhpcy5zZXR0aW5ncyYmImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuc2V0dGluZ3NbaV0mJnRoaXMuc2V0dGluZ3NbaV0uY2FsbCh0aGlzLGopKSxqfSxlLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXthLmVhY2goW2JdLmNvbmNhdCh0aGlzLl9zdGF0ZXMudGFnc1tiXXx8W10pLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9zdGF0ZXMuY3VycmVudFtiXT09PWQmJih0aGlzLl9zdGF0ZXMuY3VycmVudFtiXT0wKSx0aGlzLl9zdGF0ZXMuY3VycmVudFtiXSsrfSx0aGlzKSl9LGUucHJvdG90eXBlLmxlYXZlPWZ1bmN0aW9uKGIpe2EuZWFjaChbYl0uY29uY2F0KHRoaXMuX3N0YXRlcy50YWdzW2JdfHxbXSksYS5wcm94eShmdW5jdGlvbihhLGIpe3RoaXMuX3N0YXRlcy5jdXJyZW50W2JdLS19LHRoaXMpKX0sZS5wcm90b3R5cGUucmVnaXN0ZXI9ZnVuY3Rpb24oYil7aWYoYi50eXBlPT09ZS5UeXBlLkV2ZW50KXtpZihhLmV2ZW50LnNwZWNpYWxbYi5uYW1lXXx8KGEuZXZlbnQuc3BlY2lhbFtiLm5hbWVdPXt9KSwhYS5ldmVudC5zcGVjaWFsW2IubmFtZV0ub3dsKXt2YXIgYz1hLmV2ZW50LnNwZWNpYWxbYi5uYW1lXS5fZGVmYXVsdDthLmV2ZW50LnNwZWNpYWxbYi5uYW1lXS5fZGVmYXVsdD1mdW5jdGlvbihhKXtyZXR1cm4hY3x8IWMuYXBwbHl8fGEubmFtZXNwYWNlJiZhLm5hbWVzcGFjZS5pbmRleE9mKCJvd2wiKSE9PS0xP2EubmFtZXNwYWNlJiZhLm5hbWVzcGFjZS5pbmRleE9mKCJvd2wiKT4tMTpjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYS5ldmVudC5zcGVjaWFsW2IubmFtZV0ub3dsPSEwfX1lbHNlIGIudHlwZT09PWUuVHlwZS5TdGF0ZSYmKHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV0/dGhpcy5fc3RhdGVzLnRhZ3NbYi5uYW1lXT10aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdLmNvbmNhdChiLnRhZ3MpOnRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV09Yi50YWdzLHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV09YS5ncmVwKHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV0sYS5wcm94eShmdW5jdGlvbihjLGQpe3JldHVybiBhLmluQXJyYXkoYyx0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdKT09PWR9LHRoaXMpKSl9LGUucHJvdG90eXBlLnN1cHByZXNzPWZ1bmN0aW9uKGIpe2EuZWFjaChiLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9zdXByZXNzW2JdPSEwfSx0aGlzKSl9LGUucHJvdG90eXBlLnJlbGVhc2U9ZnVuY3Rpb24oYil7YS5lYWNoKGIsYS5wcm94eShmdW5jdGlvbihhLGIpe2RlbGV0ZSB0aGlzLl9zdXByZXNzW2JdfSx0aGlzKSl9LGUucHJvdG90eXBlLnBvaW50ZXI9ZnVuY3Rpb24oYSl7dmFyIGM9e3g6bnVsbCx5Om51bGx9O3JldHVybiBhPWEub3JpZ2luYWxFdmVudHx8YXx8Yi5ldmVudCxhPWEudG91Y2hlcyYmYS50b3VjaGVzLmxlbmd0aD9hLnRvdWNoZXNbMF06YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTphLGEucGFnZVg/KGMueD1hLnBhZ2VYLGMueT1hLnBhZ2VZKTooYy54PWEuY2xpZW50WCxjLnk9YS5jbGllbnRZKSxjfSxlLnByb3RvdHlwZS5pc051bWVyaWM9ZnVuY3Rpb24oYSl7cmV0dXJuIWlzTmFOKHBhcnNlRmxvYXQoYSkpfSxlLnByb3RvdHlwZS5kaWZmZXJlbmNlPWZ1bmN0aW9uKGEsYil7cmV0dXJue3g6YS54LWIueCx5OmEueS1iLnl9fSxhLmZuLm93bENhcm91c2VsPWZ1bmN0aW9uKGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxmPWQuZGF0YSgib3dsLmNhcm91c2VsIik7Znx8KGY9bmV3IGUodGhpcywib2JqZWN0Ij09dHlwZW9mIGImJmIpLGQuZGF0YSgib3dsLmNhcm91c2VsIixmKSxhLmVhY2goWyJuZXh0IiwicHJldiIsInRvIiwiZGVzdHJveSIsInJlZnJlc2giLCJyZXBsYWNlIiwiYWRkIiwicmVtb3ZlIl0sZnVuY3Rpb24oYixjKXtmLnJlZ2lzdGVyKHt0eXBlOmUuVHlwZS5FdmVudCxuYW1lOmN9KSxmLiRlbGVtZW50Lm9uKGMrIi5vd2wuY2Fyb3VzZWwuY29yZSIsYS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmYS5yZWxhdGVkVGFyZ2V0IT09dGhpcyYmKHRoaXMuc3VwcHJlc3MoW2NdKSxmW2NdLmFwcGx5KHRoaXMsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpLHRoaXMucmVsZWFzZShbY10pKX0sZikpfSkpLCJzdHJpbmciPT10eXBlb2YgYiYmIl8iIT09Yi5jaGFyQXQoMCkmJmZbYl0uYXBwbHkoZixjKX0pfSxhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX3Zpc2libGU9bnVsbCx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaCYmdGhpcy53YXRjaCgpfSx0aGlzKX0sdGhpcy5fY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5fY29yZS5vcHRpb25zKSx0aGlzLl9jb3JlLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKX07ZS5EZWZhdWx0cz17YXV0b1JlZnJlc2g6ITAsYXV0b1JlZnJlc2hJbnRlcnZhbDo1MDB9LGUucHJvdG90eXBlLndhdGNoPWZ1bmN0aW9uKCl7dGhpcy5faW50ZXJ2YWx8fCh0aGlzLl92aXNpYmxlPXRoaXMuX2NvcmUuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIiksdGhpcy5faW50ZXJ2YWw9Yi5zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMucmVmcmVzaCx0aGlzKSx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9SZWZyZXNoSW50ZXJ2YWwpKX0sZS5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3RoaXMuX2NvcmUuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikhPT10aGlzLl92aXNpYmxlJiYodGhpcy5fdmlzaWJsZT0hdGhpcy5fdmlzaWJsZSx0aGlzLl9jb3JlLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCJvd2wtaGlkZGVuIiwhdGhpcy5fdmlzaWJsZSksdGhpcy5fdmlzaWJsZSYmdGhpcy5fY29yZS5pbnZhbGlkYXRlKCJ3aWR0aCIpJiZ0aGlzLl9jb3JlLnJlZnJlc2goKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxjO2IuY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7Zm9yKGEgaW4gdGhpcy5faGFuZGxlcnMpdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLl9oYW5kbGVyc1thXSk7Zm9yKGMgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXNbY10mJih0aGlzW2NdPW51bGwpfSxhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuQXV0b1JlZnJlc2g9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX2xvYWRlZD1bXSx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCBjaGFuZ2Uub3dsLmNhcm91c2VsIHJlc2l6ZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGIpe2lmKGIubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkJiYoYi5wcm9wZXJ0eSYmInBvc2l0aW9uIj09Yi5wcm9wZXJ0eS5uYW1lfHwiaW5pdGlhbGl6ZWQiPT1iLnR5cGUpKWZvcih2YXIgYz10aGlzLl9jb3JlLnNldHRpbmdzLGU9Yy5jZW50ZXImJk1hdGguY2VpbChjLml0ZW1zLzIpfHxjLml0ZW1zLGY9Yy5jZW50ZXImJmUqLTF8fDAsZz0oYi5wcm9wZXJ0eSYmYi5wcm9wZXJ0eS52YWx1ZSE9PWQ/Yi5wcm9wZXJ0eS52YWx1ZTp0aGlzLl9jb3JlLmN1cnJlbnQoKSkrZixoPXRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoLGk9YS5wcm94eShmdW5jdGlvbihhLGIpe3RoaXMubG9hZChiKX0sdGhpcyk7ZisrPGU7KXRoaXMubG9hZChoLzIrdGhpcy5fY29yZS5yZWxhdGl2ZShnKSksaCYmYS5lYWNoKHRoaXMuX2NvcmUuY2xvbmVzKHRoaXMuX2NvcmUucmVsYXRpdmUoZykpLGkpLGcrK30sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyl9O2UuRGVmYXVsdHM9e2xhenlMb2FkOiExfSxlLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCkuZXEoYyksZT1kJiZkLmZpbmQoIi5vd2wtbGF6eSIpOyFlfHxhLmluQXJyYXkoZC5nZXQoMCksdGhpcy5fbG9hZGVkKT4tMXx8KGUuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hKGQpLGc9Yi5kZXZpY2VQaXhlbFJhdGlvPjEmJmYuYXR0cigiZGF0YS1zcmMtcmV0aW5hIil8fGYuYXR0cigiZGF0YS1zcmMiKTt0aGlzLl9jb3JlLnRyaWdnZXIoImxvYWQiLHtlbGVtZW50OmYsdXJsOmd9LCJsYXp5IiksZi5pcygiaW1nIik/Zi5vbmUoImxvYWQub3dsLmxhenkiLGEucHJveHkoZnVuY3Rpb24oKXtmLmNzcygib3BhY2l0eSIsMSksdGhpcy5fY29yZS50cmlnZ2VyKCJsb2FkZWQiLHtlbGVtZW50OmYsdXJsOmd9LCJsYXp5Iil9LHRoaXMpKS5hdHRyKCJzcmMiLGcpOihlPW5ldyBJbWFnZSxlLm9ubG9hZD1hLnByb3h5KGZ1bmN0aW9uKCl7Zi5jc3MoeyJiYWNrZ3JvdW5kLWltYWdlIjondXJsKCInK2crJyIpJyxvcGFjaXR5OiIxIn0pLHRoaXMuX2NvcmUudHJpZ2dlcigibG9hZGVkIix7ZWxlbWVudDpmLHVybDpnfSwibGF6eSIpfSx0aGlzKSxlLnNyYz1nKX0sdGhpcykpLHRoaXMuX2xvYWRlZC5wdXNoKGQuZ2V0KDApKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO2ZvcihhIGluIHRoaXMuaGFuZGxlcnMpdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLmhhbmRsZXJzW2FdKTtmb3IoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tiXSYmKHRoaXNbYl09bnVsbCl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5MYXp5PWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCByZWZyZXNoZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQmJnRoaXMudXBkYXRlKCl9LHRoaXMpLCJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvSGVpZ2h0JiYicG9zaXRpb24iPT1hLnByb3BlcnR5Lm5hbWUmJnRoaXMudXBkYXRlKCl9LHRoaXMpLCJsb2FkZWQub3dsLmxhenkiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodCYmYS5lbGVtZW50LmNsb3Nlc3QoIi4iK3RoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKS5pbmRleCgpPT09dGhpcy5fY29yZS5jdXJyZW50KCkmJnRoaXMudXBkYXRlKCl9LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpfTtlLkRlZmF1bHRzPXthdXRvSGVpZ2h0OiExLGF1dG9IZWlnaHRDbGFzczoib3dsLWhlaWdodCJ9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBiPXRoaXMuX2NvcmUuX2N1cnJlbnQsYz1iK3RoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbXMsZD10aGlzLl9jb3JlLiRzdGFnZS5jaGlsZHJlbigpLnRvQXJyYXkoKS5zbGljZShiLGMpLGU9W10sZj0wO2EuZWFjaChkLGZ1bmN0aW9uKGIsYyl7ZS5wdXNoKGEoYykuaGVpZ2h0KCkpfSksZj1NYXRoLm1heC5hcHBseShudWxsLGUpLHRoaXMuX2NvcmUuJHN0YWdlLnBhcmVudCgpLmhlaWdodChmKS5hZGRDbGFzcyh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHRDbGFzcyl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkF1dG9IZWlnaHQ9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX3ZpZGVvcz17fSx0aGlzLl9wbGF5aW5nPW51bGwsdGhpcy5faGFuZGxlcnM9eyJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUucmVnaXN0ZXIoe3R5cGU6InN0YXRlIixuYW1lOiJwbGF5aW5nIix0YWdzOlsiaW50ZXJhY3RpbmciXX0pfSx0aGlzKSwicmVzaXplLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy52aWRlbyYmdGhpcy5pc0luRnVsbFNjcmVlbigpJiZhLnByZXZlbnREZWZhdWx0KCl9LHRoaXMpLCJyZWZyZXNoZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLmlzKCJyZXNpemluZyIpJiZ0aGlzLl9jb3JlLiRzdGFnZS5maW5kKCIuY2xvbmVkIC5vd2wtdmlkZW8tZnJhbWUiKS5yZW1vdmUoKX0sdGhpcyksImNoYW5nZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiYicG9zaXRpb24iPT09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLl9wbGF5aW5nJiZ0aGlzLnN0b3AoKX0sdGhpcyksInByZXBhcmVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihiKXtpZihiLm5hbWVzcGFjZSl7dmFyIGM9YShiLmNvbnRlbnQpLmZpbmQoIi5vd2wtdmlkZW8iKTtjLmxlbmd0aCYmKGMuY3NzKCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMuZmV0Y2goYyxhKGIuY29udGVudCkpKX19LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24oImNsaWNrLm93bC52aWRlbyIsIi5vd2wtdmlkZW8tcGxheS1pY29uIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMucGxheShhKX0sdGhpcykpfTtlLkRlZmF1bHRzPXt2aWRlbzohMSx2aWRlb0hlaWdodDohMSx2aWRlb1dpZHRoOiExfSxlLnByb3RvdHlwZS5mZXRjaD1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXR0cigiZGF0YS12aW1lby1pZCIpPyJ2aW1lbyI6YS5hdHRyKCJkYXRhLXZ6YWFyLWlkIik/InZ6YWFyIjoieW91dHViZSJ9KCksZD1hLmF0dHIoImRhdGEtdmltZW8taWQiKXx8YS5hdHRyKCJkYXRhLXlvdXR1YmUtaWQiKXx8YS5hdHRyKCJkYXRhLXZ6YWFyLWlkIiksZT1hLmF0dHIoImRhdGEtd2lkdGgiKXx8dGhpcy5fY29yZS5zZXR0aW5ncy52aWRlb1dpZHRoLGY9YS5hdHRyKCJkYXRhLWhlaWdodCIpfHx0aGlzLl9jb3JlLnNldHRpbmdzLnZpZGVvSGVpZ2h0LGc9YS5hdHRyKCJocmVmIik7aWYoIWcpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHZpZGVvIFVSTC4iKTtpZihkPWcubWF0Y2goLyhodHRwOnxodHRwczp8KVwvXC8ocGxheWVyLnx3d3cufGFwcC4pPyh2aW1lb1wuY29tfHlvdXR1KGJlXC5jb218XC5iZXxiZVwuZ29vZ2xlYXBpc1wuY29tKXx2emFhclwuY29tKVwvKHZpZGVvXC98dmlkZW9zXC98ZW1iZWRcL3xjaGFubmVsc1wvLitcL3xncm91cHNcLy4rXC98d2F0Y2hcP3Y9fHZcLyk/KFtBLVphLXowLTkuXyUtXSopKFwmXFMrKT8vKSxkWzNdLmluZGV4T2YoInlvdXR1Iik+LTEpYz0ieW91dHViZSI7ZWxzZSBpZihkWzNdLmluZGV4T2YoInZpbWVvIik+LTEpYz0idmltZW8iO2Vsc2V7aWYoIShkWzNdLmluZGV4T2YoInZ6YWFyIik+LTEpKXRocm93IG5ldyBFcnJvcigiVmlkZW8gVVJMIG5vdCBzdXBwb3J0ZWQuIik7Yz0idnphYXIifWQ9ZFs2XSx0aGlzLl92aWRlb3NbZ109e3R5cGU6YyxpZDpkLHdpZHRoOmUsaGVpZ2h0OmZ9LGIuYXR0cigiZGF0YS12aWRlbyIsZyksdGhpcy50aHVtYm5haWwoYSx0aGlzLl92aWRlb3NbZ10pfSxlLnByb3RvdHlwZS50aHVtYm5haWw9ZnVuY3Rpb24oYixjKXt2YXIgZCxlLGYsZz1jLndpZHRoJiZjLmhlaWdodD8nc3R5bGU9IndpZHRoOicrYy53aWR0aCsicHg7aGVpZ2h0OiIrYy5oZWlnaHQrJ3B4OyInOiIiLGg9Yi5maW5kKCJpbWciKSxpPSJzcmMiLGo9IiIsaz10aGlzLl9jb3JlLnNldHRpbmdzLGw9ZnVuY3Rpb24oYSl7ZT0nPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXBsYXktaWNvbiI+PC9kaXY+JyxkPWsubGF6eUxvYWQ/JzxkaXYgY2xhc3M9Im93bC12aWRlby10biAnK2orJyIgJytpKyc9IicrYSsnIj48L2Rpdj4nOic8ZGl2IGNsYXNzPSJvd2wtdmlkZW8tdG4iIHN0eWxlPSJvcGFjaXR5OjE7YmFja2dyb3VuZC1pbWFnZTp1cmwoJythKycpIj48L2Rpdj4nLGIuYWZ0ZXIoZCksYi5hZnRlcihlKX07aWYoYi53cmFwKCc8ZGl2IGNsYXNzPSJvd2wtdmlkZW8td3JhcHBlciInK2crIj48L2Rpdj4iKSx0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkJiYoaT0iZGF0YS1zcmMiLGo9Im93bC1sYXp5IiksaC5sZW5ndGgpcmV0dXJuIGwoaC5hdHRyKGkpKSxoLnJlbW92ZSgpLCExOyJ5b3V0dWJlIj09PWMudHlwZT8oZj0iLy9pbWcueW91dHViZS5jb20vdmkvIitjLmlkKyIvaHFkZWZhdWx0LmpwZyIsbChmKSk6InZpbWVvIj09PWMudHlwZT9hLmFqYXgoe3R5cGU6IkdFVCIsdXJsOiIvL3ZpbWVvLmNvbS9hcGkvdjIvdmlkZW8vIitjLmlkKyIuanNvbiIsanNvbnA6ImNhbGxiYWNrIixkYXRhVHlwZToianNvbnAiLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7Zj1hWzBdLnRodW1ibmFpbF9sYXJnZSxsKGYpfX0pOiJ2emFhciI9PT1jLnR5cGUmJmEuYWpheCh7dHlwZToiR0VUIix1cmw6Ii8vdnphYXIuY29tL2FwaS92aWRlb3MvIitjLmlkKyIuanNvbiIsanNvbnA6ImNhbGxiYWNrIixkYXRhVHlwZToianNvbnAiLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7Zj1hLmZyYW1lZ3JhYl91cmwsbChmKX19KX0sZS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuX2NvcmUudHJpZ2dlcigic3RvcCIsbnVsbCwidmlkZW8iKSx0aGlzLl9wbGF5aW5nLmZpbmQoIi5vd2wtdmlkZW8tZnJhbWUiKS5yZW1vdmUoKSx0aGlzLl9wbGF5aW5nLnJlbW92ZUNsYXNzKCJvd2wtdmlkZW8tcGxheWluZyIpLHRoaXMuX3BsYXlpbmc9bnVsbCx0aGlzLl9jb3JlLmxlYXZlKCJwbGF5aW5nIiksdGhpcy5fY29yZS50cmlnZ2VyKCJzdG9wcGVkIixudWxsLCJ2aWRlbyIpfSxlLnByb3RvdHlwZS5wbGF5PWZ1bmN0aW9uKGIpe3ZhciBjLGQ9YShiLnRhcmdldCksZT1kLmNsb3Nlc3QoIi4iK3RoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKSxmPXRoaXMuX3ZpZGVvc1tlLmF0dHIoImRhdGEtdmlkZW8iKV0sZz1mLndpZHRofHwiMTAwJSIsaD1mLmhlaWdodHx8dGhpcy5fY29yZS4kc3RhZ2UuaGVpZ2h0KCk7dGhpcy5fcGxheWluZ3x8KHRoaXMuX2NvcmUuZW50ZXIoInBsYXlpbmciKSx0aGlzLl9jb3JlLnRyaWdnZXIoInBsYXkiLG51bGwsInZpZGVvIiksZT10aGlzLl9jb3JlLml0ZW1zKHRoaXMuX2NvcmUucmVsYXRpdmUoZS5pbmRleCgpKSksdGhpcy5fY29yZS5yZXNldChlLmluZGV4KCkpLCJ5b3V0dWJlIj09PWYudHlwZT9jPSc8aWZyYW1lIHdpZHRoPSInK2crJyIgaGVpZ2h0PSInK2grJyIgc3JjPSIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8nK2YuaWQrIj9hdXRvcGxheT0xJnJlbD0wJnY9IitmLmlkKyciIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+JzoidmltZW8iPT09Zi50eXBlP2M9JzxpZnJhbWUgc3JjPSIvL3BsYXllci52aW1lby5jb20vdmlkZW8vJytmLmlkKyc/YXV0b3BsYXk9MSIgd2lkdGg9IicrZysnIiBoZWlnaHQ9IicraCsnIiBmcmFtZWJvcmRlcj0iMCIgd2Via2l0YWxsb3dmdWxsc2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+JzoidnphYXIiPT09Zi50eXBlJiYoYz0nPGlmcmFtZSBmcmFtZWJvcmRlcj0iMCJoZWlnaHQ9IicraCsnIndpZHRoPSInK2crJyIgYWxsb3dmdWxsc2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiB3ZWJraXRBbGxvd0Z1bGxTY3JlZW4gc3JjPSIvL3ZpZXcudnphYXIuY29tLycrZi5pZCsnL3BsYXllcj9hdXRvcGxheT10cnVlIj48L2lmcmFtZT4nKSxhKCc8ZGl2IGNsYXNzPSJvd2wtdmlkZW8tZnJhbWUiPicrYysiPC9kaXY+IikuaW5zZXJ0QWZ0ZXIoZS5maW5kKCIub3dsLXZpZGVvIikpLHRoaXMuX3BsYXlpbmc9ZS5hZGRDbGFzcygib3dsLXZpZGVvLXBsYXlpbmciKSl9LGUucHJvdG90eXBlLmlzSW5GdWxsU2NyZWVuPWZ1bmN0aW9uKCl7dmFyIGI9Yy5mdWxsc2NyZWVuRWxlbWVudHx8Yy5tb3pGdWxsU2NyZWVuRWxlbWVudHx8Yy53ZWJraXRGdWxsc2NyZWVuRWxlbWVudDtyZXR1cm4gYiYmYShiKS5wYXJlbnQoKS5oYXNDbGFzcygib3dsLXZpZGVvLWZyYW1lIil9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO3RoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKCJjbGljay5vd2wudmlkZW8iKTtmb3IoYSBpbiB0aGlzLl9oYW5kbGVycyl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihhLHRoaXMuX2hhbmRsZXJzW2FdKTtmb3IoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tiXSYmKHRoaXNbYl09bnVsbCl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5WaWRlbz1lfSh3aW5kb3cuWmVwdG98fHdpbmRvdy5qUXVlcnksd2luZG93LGRvY3VtZW50KSxmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1mdW5jdGlvbihiKXt0aGlzLmNvcmU9Yix0aGlzLmNvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuY29yZS5vcHRpb25zKSx0aGlzLnN3YXBwaW5nPSEwLHRoaXMucHJldmlvdXM9ZCx0aGlzLm5leHQ9ZCx0aGlzLmhhbmRsZXJzPXsiY2hhbmdlLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmInBvc2l0aW9uIj09YS5wcm9wZXJ0eS5uYW1lJiYodGhpcy5wcmV2aW91cz10aGlzLmNvcmUuY3VycmVudCgpLHRoaXMubmV4dD1hLnByb3BlcnR5LnZhbHVlKX0sdGhpcyksImRyYWcub3dsLmNhcm91c2VsIGRyYWdnZWQub3dsLmNhcm91c2VsIHRyYW5zbGF0ZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiYodGhpcy5zd2FwcGluZz0idHJhbnNsYXRlZCI9PWEudHlwZSl9LHRoaXMpLCJ0cmFuc2xhdGUub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLnN3YXBwaW5nJiYodGhpcy5jb3JlLm9wdGlvbnMuYW5pbWF0ZU91dHx8dGhpcy5jb3JlLm9wdGlvbnMuYW5pbWF0ZUluKSYmdGhpcy5zd2FwKCl9LHRoaXMpfSx0aGlzLmNvcmUuJGVsZW1lbnQub24odGhpcy5oYW5kbGVycyl9O2UuRGVmYXVsdHM9e2FuaW1hdGVPdXQ6ITEsYW5pbWF0ZUluOiExfSxlLnByb3RvdHlwZS5zd2FwPWZ1bmN0aW9uKCl7aWYoMT09PXRoaXMuY29yZS5zZXR0aW5ncy5pdGVtcyYmYS5zdXBwb3J0LmFuaW1hdGlvbiYmYS5zdXBwb3J0LnRyYW5zaXRpb24pe3RoaXMuY29yZS5zcGVlZCgwKTt2YXIgYixjPWEucHJveHkodGhpcy5jbGVhcix0aGlzKSxkPXRoaXMuY29yZS4kc3RhZ2UuY2hpbGRyZW4oKS5lcSh0aGlzLnByZXZpb3VzKSxlPXRoaXMuY29yZS4kc3RhZ2UuY2hpbGRyZW4oKS5lcSh0aGlzLm5leHQpLGY9dGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVJbixnPXRoaXMuY29yZS5zZXR0aW5ncy5hbmltYXRlT3V0O3RoaXMuY29yZS5jdXJyZW50KCkhPT10aGlzLnByZXZpb3VzJiYoZyYmKGI9dGhpcy5jb3JlLmNvb3JkaW5hdGVzKHRoaXMucHJldmlvdXMpLXRoaXMuY29yZS5jb29yZGluYXRlcyh0aGlzLm5leHQpLGQub25lKGEuc3VwcG9ydC5hbmltYXRpb24uZW5kLGMpLmNzcyh7bGVmdDpiKyJweCJ9KS5hZGRDbGFzcygiYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLW91dCIpLmFkZENsYXNzKGcpKSxmJiZlLm9uZShhLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCxjKS5hZGRDbGFzcygiYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLWluIikuYWRkQ2xhc3MoZikpfX0sZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oYil7YShiLnRhcmdldCkuY3NzKHtsZWZ0OiIifSkucmVtb3ZlQ2xhc3MoImFuaW1hdGVkIG93bC1hbmltYXRlZC1vdXQgb3dsLWFuaW1hdGVkLWluIikucmVtb3ZlQ2xhc3ModGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVJbikucmVtb3ZlQ2xhc3ModGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVPdXQpLHRoaXMuY29yZS5vblRyYW5zaXRpb25FbmQoKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBhLGI7Zm9yKGEgaW4gdGhpcy5oYW5kbGVycyl0aGlzLmNvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5oYW5kbGVyc1thXSk7Zm9yKGIgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXNbYl0mJih0aGlzW2JdPW51bGwpfSwKYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkFuaW1hdGU9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9wYXVzZWQ9ITEsdGhpcy5faGFuZGxlcnM9eyJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmInNldHRpbmdzIj09PWEucHJvcGVydHkubmFtZT90aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5P3RoaXMucGxheSgpOnRoaXMuc3RvcCgpOmEubmFtZXNwYWNlJiYicG9zaXRpb24iPT09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5JiZ0aGlzLl9zZXRBdXRvUGxheUludGVydmFsKCl9LHRoaXMpLCJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXkmJnRoaXMucGxheSgpfSx0aGlzKSwicGxheS5vd2wuYXV0b3BsYXkiOmEucHJveHkoZnVuY3Rpb24oYSxiLGMpe2EubmFtZXNwYWNlJiZ0aGlzLnBsYXkoYixjKX0sdGhpcyksInN0b3Aub3dsLmF1dG9wbGF5IjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLnN0b3AoKX0sdGhpcyksIm1vdXNlb3Zlci5vd2wuYXV0b3BsYXkiOmEucHJveHkoZnVuY3Rpb24oKXt0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSYmdGhpcy5fY29yZS5pcygicm90YXRpbmciKSYmdGhpcy5wYXVzZSgpfSx0aGlzKSwibW91c2VsZWF2ZS5vd2wuYXV0b3BsYXkiOmEucHJveHkoZnVuY3Rpb24oKXt0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSYmdGhpcy5fY29yZS5pcygicm90YXRpbmciKSYmdGhpcy5wbGF5KCl9LHRoaXMpLCJ0b3VjaHN0YXJ0Lm93bC5jb3JlIjphLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UmJnRoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJnRoaXMucGF1c2UoKX0sdGhpcyksInRvdWNoZW5kLm93bC5jb3JlIjphLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UmJnRoaXMucGxheSgpfSx0aGlzKX0sdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyksdGhpcy5fY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5fY29yZS5vcHRpb25zKX07ZS5EZWZhdWx0cz17YXV0b3BsYXk6ITEsYXV0b3BsYXlUaW1lb3V0OjVlMyxhdXRvcGxheUhvdmVyUGF1c2U6ITEsYXV0b3BsYXlTcGVlZDohMX0sZS5wcm90b3R5cGUucGxheT1mdW5jdGlvbihhLGIpe3RoaXMuX3BhdXNlZD0hMSx0aGlzLl9jb3JlLmlzKCJyb3RhdGluZyIpfHwodGhpcy5fY29yZS5lbnRlcigicm90YXRpbmciKSx0aGlzLl9zZXRBdXRvUGxheUludGVydmFsKCkpfSxlLnByb3RvdHlwZS5fZ2V0TmV4dFRpbWVvdXQ9ZnVuY3Rpb24oZCxlKXtyZXR1cm4gdGhpcy5fdGltZW91dCYmYi5jbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksYi5zZXRUaW1lb3V0KGEucHJveHkoZnVuY3Rpb24oKXt0aGlzLl9wYXVzZWR8fHRoaXMuX2NvcmUuaXMoImJ1c3kiKXx8dGhpcy5fY29yZS5pcygiaW50ZXJhY3RpbmciKXx8Yy5oaWRkZW58fHRoaXMuX2NvcmUubmV4dChlfHx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5U3BlZWQpfSx0aGlzKSxkfHx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5VGltZW91dCl9LGUucHJvdG90eXBlLl9zZXRBdXRvUGxheUludGVydmFsPWZ1bmN0aW9uKCl7dGhpcy5fdGltZW91dD10aGlzLl9nZXROZXh0VGltZW91dCgpfSxlLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5fY29yZS5pcygicm90YXRpbmciKSYmKGIuY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX2NvcmUubGVhdmUoInJvdGF0aW5nIikpfSxlLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3RoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJih0aGlzLl9wYXVzZWQ9ITApfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGEsYjt0aGlzLnN0b3AoKTtmb3IoYSBpbiB0aGlzLl9oYW5kbGVycyl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihhLHRoaXMuX2hhbmRsZXJzW2FdKTtmb3IoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tiXSYmKHRoaXNbYl09bnVsbCl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5hdXRvcGxheT1lfSh3aW5kb3cuWmVwdG98fHdpbmRvdy5qUXVlcnksd2luZG93LGRvY3VtZW50KSxmdW5jdGlvbihhLGIsYyxkKXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX2luaXRpYWxpemVkPSExLHRoaXMuX3BhZ2VzPVtdLHRoaXMuX2NvbnRyb2xzPXt9LHRoaXMuX3RlbXBsYXRlcz1bXSx0aGlzLiRlbGVtZW50PXRoaXMuX2NvcmUuJGVsZW1lbnQsdGhpcy5fb3ZlcnJpZGVzPXtuZXh0OnRoaXMuX2NvcmUubmV4dCxwcmV2OnRoaXMuX2NvcmUucHJldix0bzp0aGlzLl9jb3JlLnRvfSx0aGlzLl9oYW5kbGVycz17InByZXBhcmVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihiKXtiLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSYmdGhpcy5fdGVtcGxhdGVzLnB1c2goJzxkaXYgY2xhc3M9IicrdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RDbGFzcysnIj4nK2EoYi5jb250ZW50KS5maW5kKCJbZGF0YS1kb3RdIikuYWRkQmFjaygiW2RhdGEtZG90XSIpLmF0dHIoImRhdGEtZG90IikrIjwvZGl2PiIpfSx0aGlzKSwiYWRkZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhJiZ0aGlzLl90ZW1wbGF0ZXMuc3BsaWNlKGEucG9zaXRpb24sMCx0aGlzLl90ZW1wbGF0ZXMucG9wKCkpfSx0aGlzKSwicmVtb3ZlLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSYmdGhpcy5fdGVtcGxhdGVzLnNwbGljZShhLnBvc2l0aW9uLDEpfSx0aGlzKSwiY2hhbmdlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJiJwb3NpdGlvbiI9PWEucHJvcGVydHkubmFtZSYmdGhpcy5kcmF3KCl9LHRoaXMpLCJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJiF0aGlzLl9pbml0aWFsaXplZCYmKHRoaXMuX2NvcmUudHJpZ2dlcigiaW5pdGlhbGl6ZSIsbnVsbCwibmF2aWdhdGlvbiIpLHRoaXMuaW5pdGlhbGl6ZSgpLHRoaXMudXBkYXRlKCksdGhpcy5kcmF3KCksdGhpcy5faW5pdGlhbGl6ZWQ9ITAsdGhpcy5fY29yZS50cmlnZ2VyKCJpbml0aWFsaXplZCIsbnVsbCwibmF2aWdhdGlvbiIpKX0sdGhpcyksInJlZnJlc2hlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2luaXRpYWxpemVkJiYodGhpcy5fY29yZS50cmlnZ2VyKCJyZWZyZXNoIixudWxsLCJuYXZpZ2F0aW9uIiksdGhpcy51cGRhdGUoKSx0aGlzLmRyYXcoKSx0aGlzLl9jb3JlLnRyaWdnZXIoInJlZnJlc2hlZCIsbnVsbCwibmF2aWdhdGlvbiIpKX0sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyl9O2UuRGVmYXVsdHM9e25hdjohMSxuYXZUZXh0OlsicHJldiIsIm5leHQiXSxuYXZTcGVlZDohMSxuYXZFbGVtZW50OiJkaXYiLG5hdkNvbnRhaW5lcjohMSxuYXZDb250YWluZXJDbGFzczoib3dsLW5hdiIsbmF2Q2xhc3M6WyJvd2wtcHJldiIsIm93bC1uZXh0Il0sc2xpZGVCeToxLGRvdENsYXNzOiJvd2wtZG90Iixkb3RzQ2xhc3M6Im93bC1kb3RzIixkb3RzOiEwLGRvdHNFYWNoOiExLGRvdHNEYXRhOiExLGRvdHNTcGVlZDohMSxkb3RzQ29udGFpbmVyOiExfSxlLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7dmFyIGIsYz10aGlzLl9jb3JlLnNldHRpbmdzO3RoaXMuX2NvbnRyb2xzLiRyZWxhdGl2ZT0oYy5uYXZDb250YWluZXI/YShjLm5hdkNvbnRhaW5lcik6YSgiPGRpdj4iKS5hZGRDbGFzcyhjLm5hdkNvbnRhaW5lckNsYXNzKS5hcHBlbmRUbyh0aGlzLiRlbGVtZW50KSkuYWRkQ2xhc3MoImRpc2FibGVkIiksdGhpcy5fY29udHJvbHMuJHByZXZpb3VzPWEoIjwiK2MubmF2RWxlbWVudCsiPiIpLmFkZENsYXNzKGMubmF2Q2xhc3NbMF0pLmh0bWwoYy5uYXZUZXh0WzBdKS5wcmVwZW5kVG8odGhpcy5fY29udHJvbHMuJHJlbGF0aXZlKS5vbigiY2xpY2siLGEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy5wcmV2KGMubmF2U3BlZWQpfSx0aGlzKSksdGhpcy5fY29udHJvbHMuJG5leHQ9YSgiPCIrYy5uYXZFbGVtZW50KyI+IikuYWRkQ2xhc3MoYy5uYXZDbGFzc1sxXSkuaHRtbChjLm5hdlRleHRbMV0pLmFwcGVuZFRvKHRoaXMuX2NvbnRyb2xzLiRyZWxhdGl2ZSkub24oImNsaWNrIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMubmV4dChjLm5hdlNwZWVkKX0sdGhpcykpLGMuZG90c0RhdGF8fCh0aGlzLl90ZW1wbGF0ZXM9W2EoIjxkaXY+IikuYWRkQ2xhc3MoYy5kb3RDbGFzcykuYXBwZW5kKGEoIjxzcGFuPiIpKS5wcm9wKCJvdXRlckhUTUwiKV0pLHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZT0oYy5kb3RzQ29udGFpbmVyP2EoYy5kb3RzQ29udGFpbmVyKTphKCI8ZGl2PiIpLmFkZENsYXNzKGMuZG90c0NsYXNzKS5hcHBlbmRUbyh0aGlzLiRlbGVtZW50KSkuYWRkQ2xhc3MoImRpc2FibGVkIiksdGhpcy5fY29udHJvbHMuJGFic29sdXRlLm9uKCJjbGljayIsImRpdiIsYS5wcm94eShmdW5jdGlvbihiKXt2YXIgZD1hKGIudGFyZ2V0KS5wYXJlbnQoKS5pcyh0aGlzLl9jb250cm9scy4kYWJzb2x1dGUpP2EoYi50YXJnZXQpLmluZGV4KCk6YShiLnRhcmdldCkucGFyZW50KCkuaW5kZXgoKTtiLnByZXZlbnREZWZhdWx0KCksdGhpcy50byhkLGMuZG90c1NwZWVkKX0sdGhpcykpO2ZvcihiIGluIHRoaXMuX292ZXJyaWRlcyl0aGlzLl9jb3JlW2JdPWEucHJveHkodGhpc1tiXSx0aGlzKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBhLGIsYyxkO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIHRoaXMuX2NvbnRyb2xzKXRoaXMuX2NvbnRyb2xzW2JdLnJlbW92ZSgpO2ZvcihkIGluIHRoaXMub3ZlcmlkZXMpdGhpcy5fY29yZVtkXT10aGlzLl9vdmVycmlkZXNbZF07Zm9yKGMgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXNbY10mJih0aGlzW2NdPW51bGwpfSxlLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZD10aGlzLl9jb3JlLmNsb25lcygpLmxlbmd0aC8yLGU9ZCt0aGlzLl9jb3JlLml0ZW1zKCkubGVuZ3RoLGY9dGhpcy5fY29yZS5tYXhpbXVtKCEwKSxnPXRoaXMuX2NvcmUuc2V0dGluZ3MsaD1nLmNlbnRlcnx8Zy5hdXRvV2lkdGh8fGcuZG90c0RhdGE/MTpnLmRvdHNFYWNofHxnLml0ZW1zO2lmKCJwYWdlIiE9PWcuc2xpZGVCeSYmKGcuc2xpZGVCeT1NYXRoLm1pbihnLnNsaWRlQnksZy5pdGVtcykpLGcuZG90c3x8InBhZ2UiPT1nLnNsaWRlQnkpZm9yKHRoaXMuX3BhZ2VzPVtdLGE9ZCxiPTAsYz0wO2E8ZTthKyspe2lmKGI+PWh8fDA9PT1iKXtpZih0aGlzLl9wYWdlcy5wdXNoKHtzdGFydDpNYXRoLm1pbihmLGEtZCksZW5kOmEtZCtoLTF9KSxNYXRoLm1pbihmLGEtZCk9PT1mKWJyZWFrO2I9MCwrK2N9Yis9dGhpcy5fY29yZS5tZXJnZXJzKHRoaXMuX2NvcmUucmVsYXRpdmUoYSkpfX0sZS5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbigpe3ZhciBiLGM9dGhpcy5fY29yZS5zZXR0aW5ncyxkPXRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGg8PWMuaXRlbXMsZT10aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSxmPWMubG9vcHx8Yy5yZXdpbmQ7dGhpcy5fY29udHJvbHMuJHJlbGF0aXZlLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsIWMubmF2fHxkKSxjLm5hdiYmKHRoaXMuX2NvbnRyb2xzLiRwcmV2aW91cy50b2dnbGVDbGFzcygiZGlzYWJsZWQiLCFmJiZlPD10aGlzLl9jb3JlLm1pbmltdW0oITApKSx0aGlzLl9jb250cm9scy4kbmV4dC50b2dnbGVDbGFzcygiZGlzYWJsZWQiLCFmJiZlPj10aGlzLl9jb3JlLm1heGltdW0oITApKSksdGhpcy5fY29udHJvbHMuJGFic29sdXRlLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsIWMuZG90c3x8ZCksYy5kb3RzJiYoYj10aGlzLl9wYWdlcy5sZW5ndGgtdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkubGVuZ3RoLGMuZG90c0RhdGEmJjAhPT1iP3RoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5odG1sKHRoaXMuX3RlbXBsYXRlcy5qb2luKCIiKSk6Yj4wP3RoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5hcHBlbmQobmV3IEFycmF5KGIrMSkuam9pbih0aGlzLl90ZW1wbGF0ZXNbMF0pKTpiPDAmJnRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5jaGlsZHJlbigpLnNsaWNlKGIpLnJlbW92ZSgpLHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5jaGlsZHJlbigpLmVxKGEuaW5BcnJheSh0aGlzLmN1cnJlbnQoKSx0aGlzLl9wYWdlcykpLmFkZENsYXNzKCJhY3RpdmUiKSl9LGUucHJvdG90eXBlLm9uVHJpZ2dlcj1mdW5jdGlvbihiKXt2YXIgYz10aGlzLl9jb3JlLnNldHRpbmdzO2IucGFnZT17aW5kZXg6YS5pbkFycmF5KHRoaXMuY3VycmVudCgpLHRoaXMuX3BhZ2VzKSxjb3VudDp0aGlzLl9wYWdlcy5sZW5ndGgsc2l6ZTpjJiYoYy5jZW50ZXJ8fGMuYXV0b1dpZHRofHxjLmRvdHNEYXRhPzE6Yy5kb3RzRWFjaHx8Yy5pdGVtcyl9fSxlLnByb3RvdHlwZS5jdXJyZW50PWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fY29yZS5yZWxhdGl2ZSh0aGlzLl9jb3JlLmN1cnJlbnQoKSk7cmV0dXJuIGEuZ3JlcCh0aGlzLl9wYWdlcyxhLnByb3h5KGZ1bmN0aW9uKGEsYyl7cmV0dXJuIGEuc3RhcnQ8PWImJmEuZW5kPj1ifSx0aGlzKSkucG9wKCl9LGUucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe3ZhciBjLGQsZT10aGlzLl9jb3JlLnNldHRpbmdzO3JldHVybiJwYWdlIj09ZS5zbGlkZUJ5PyhjPWEuaW5BcnJheSh0aGlzLmN1cnJlbnQoKSx0aGlzLl9wYWdlcyksZD10aGlzLl9wYWdlcy5sZW5ndGgsYj8rK2M6LS1jLGM9dGhpcy5fcGFnZXNbKGMlZCtkKSVkXS5zdGFydCk6KGM9dGhpcy5fY29yZS5yZWxhdGl2ZSh0aGlzLl9jb3JlLmN1cnJlbnQoKSksZD10aGlzLl9jb3JlLml0ZW1zKCkubGVuZ3RoLGI/Yys9ZS5zbGlkZUJ5OmMtPWUuc2xpZGVCeSksY30sZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihiKXthLnByb3h5KHRoaXMuX292ZXJyaWRlcy50byx0aGlzLl9jb3JlKSh0aGlzLmdldFBvc2l0aW9uKCEwKSxiKX0sZS5wcm90b3R5cGUucHJldj1mdW5jdGlvbihiKXthLnByb3h5KHRoaXMuX292ZXJyaWRlcy50byx0aGlzLl9jb3JlKSh0aGlzLmdldFBvc2l0aW9uKCExKSxiKX0sZS5wcm90b3R5cGUudG89ZnVuY3Rpb24oYixjLGQpe3ZhciBlOyFkJiZ0aGlzLl9wYWdlcy5sZW5ndGg/KGU9dGhpcy5fcGFnZXMubGVuZ3RoLGEucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLHRoaXMuX2NvcmUpKHRoaXMuX3BhZ2VzWyhiJWUrZSklZV0uc3RhcnQsYykpOmEucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLHRoaXMuX2NvcmUpKGIsYyl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5OYXZpZ2F0aW9uPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1mdW5jdGlvbihjKXt0aGlzLl9jb3JlPWMsdGhpcy5faGFzaGVzPXt9LHRoaXMuJGVsZW1lbnQ9dGhpcy5fY29yZS4kZWxlbWVudCx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihjKXtjLm5hbWVzcGFjZSYmIlVSTEhhc2giPT09dGhpcy5fY29yZS5zZXR0aW5ncy5zdGFydFBvc2l0aW9uJiZhKGIpLnRyaWdnZXIoImhhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24iKX0sdGhpcyksInByZXBhcmVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihiKXtpZihiLm5hbWVzcGFjZSl7dmFyIGM9YShiLmNvbnRlbnQpLmZpbmQoIltkYXRhLWhhc2hdIikuYWRkQmFjaygiW2RhdGEtaGFzaF0iKS5hdHRyKCJkYXRhLWhhc2giKTtpZighYylyZXR1cm47dGhpcy5faGFzaGVzW2NdPWIuY29udGVudH19LHRoaXMpLCJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihjKXtpZihjLm5hbWVzcGFjZSYmInBvc2l0aW9uIj09PWMucHJvcGVydHkubmFtZSl7dmFyIGQ9dGhpcy5fY29yZS5pdGVtcyh0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSksZT1hLm1hcCh0aGlzLl9oYXNoZXMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWQ/YjpudWxsfSkuam9pbigpO2lmKCFlfHxiLmxvY2F0aW9uLmhhc2guc2xpY2UoMSk9PT1lKXJldHVybjtiLmxvY2F0aW9uLmhhc2g9ZX19LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLGEoYikub24oImhhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24iLGEucHJveHkoZnVuY3Rpb24oYSl7dmFyIGM9Yi5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSxlPXRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCksZj10aGlzLl9oYXNoZXNbY10mJmUuaW5kZXgodGhpcy5faGFzaGVzW2NdKTtmIT09ZCYmZiE9PXRoaXMuX2NvcmUuY3VycmVudCgpJiZ0aGlzLl9jb3JlLnRvKHRoaXMuX2NvcmUucmVsYXRpdmUoZiksITEsITApfSx0aGlzKSl9O2UuRGVmYXVsdHM9e1VSTGhhc2hMaXN0ZW5lcjohMX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBjLGQ7YShiKS5vZmYoImhhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24iKTtmb3IoYyBpbiB0aGlzLl9oYW5kbGVycyl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihjLHRoaXMuX2hhbmRsZXJzW2NdKTtmb3IoZCBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tkXSYmKHRoaXNbZF09bnVsbCl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5IYXNoPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoYixjKXt2YXIgZT0hMSxmPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKTtyZXR1cm4gYS5lYWNoKChiKyIgIitoLmpvaW4oZisiICIpK2YpLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtpZihnW2JdIT09ZClyZXR1cm4gZT0hY3x8YiwhMX0pLGV9ZnVuY3Rpb24gZihhKXtyZXR1cm4gZShhLCEwKX12YXIgZz1hKCI8c3VwcG9ydD4iKS5nZXQoMCkuc3R5bGUsaD0iV2Via2l0IE1veiBPIG1zIi5zcGxpdCgiICIpLGk9e3RyYW5zaXRpb246e2VuZDp7V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn19LGFuaW1hdGlvbjp7ZW5kOntXZWJraXRBbmltYXRpb246IndlYmtpdEFuaW1hdGlvbkVuZCIsTW96QW5pbWF0aW9uOiJhbmltYXRpb25lbmQiLE9BbmltYXRpb246Im9BbmltYXRpb25FbmQiLGFuaW1hdGlvbjoiYW5pbWF0aW9uZW5kIn19fSxqPXtjc3N0cmFuc2Zvcm1zOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJ0cmFuc2Zvcm0iKX0sY3NzdHJhbnNmb3JtczNkOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJwZXJzcGVjdGl2ZSIpfSxjc3N0cmFuc2l0aW9uczpmdW5jdGlvbigpe3JldHVybiEhZSgidHJhbnNpdGlvbiIpfSxjc3NhbmltYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJhbmltYXRpb24iKX19O2ouY3NzdHJhbnNpdGlvbnMoKSYmKGEuc3VwcG9ydC50cmFuc2l0aW9uPW5ldyBTdHJpbmcoZigidHJhbnNpdGlvbiIpKSxhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQ9aS50cmFuc2l0aW9uLmVuZFthLnN1cHBvcnQudHJhbnNpdGlvbl0pLGouY3NzYW5pbWF0aW9ucygpJiYoYS5zdXBwb3J0LmFuaW1hdGlvbj1uZXcgU3RyaW5nKGYoImFuaW1hdGlvbiIpKSxhLnN1cHBvcnQuYW5pbWF0aW9uLmVuZD1pLmFuaW1hdGlvbi5lbmRbYS5zdXBwb3J0LmFuaW1hdGlvbl0pLGouY3NzdHJhbnNmb3JtcygpJiYoYS5zdXBwb3J0LnRyYW5zZm9ybT1uZXcgU3RyaW5nKGYoInRyYW5zZm9ybSIpKSxhLnN1cHBvcnQudHJhbnNmb3JtM2Q9ai5jc3N0cmFuc2Zvcm1zM2QoKSl9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpOw=="}},"time_used":156,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":147,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/jquery.counterup.min.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.622Z","timestamp":1785124599622,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/jquery.counterup.min.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"42b-5aa839fc-2d5f608955c3101f;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 496\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1067,"size_decoded":871,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (917)","md5":"ef36cca760bf1cd76cfcd0e4dc10cef1","sha1":"ef38469f60d58850fe55c4de2ec7e289a2415d71","sha256":"26d40f8ffdf1b9bf286a954c6888a33cda0cd031e802d821fe0c0562e379ae29","sha512":"77c175276932891a30041ffcfe9016b2a525d304843a41b92804e4555e2c95f6e5abd55143a3320d95715a5dad59dfa63e1b826e94c1e0ceee53fc7d165810f5","ssdeep":"","tlshash":"37118cb93a0a298daa80e459f1efb0989176bdbc0c80884b91c558401fa5abc3b5b730","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-04T04:02:31.54107Z","times_seen":12979,"resource_available":true,"data":"LyohCioganF1ZXJ5LmNvdW50ZXJ1cC5qcyAxLjAKKgoqIENvcHlyaWdodCAyMDEzLCBCZW5qYW1pbiBJbnRhbCBodHRwOi8vZ2FtYml0LnBoIEBiZmludGFsCiogUmVsZWFzZWQgdW5kZXIgdGhlIEdQTCB2MiBMaWNlbnNlCioKKiBEYXRlOiBOb3YgMjYsIDIwMTMKKi8oZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2UuZm4uY291bnRlclVwPWZ1bmN0aW9uKHQpe3ZhciBuPWUuZXh0ZW5kKHt0aW1lOjQwMCxkZWxheToxMH0sdCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcykscj1uLGk9ZnVuY3Rpb24oKXt2YXIgZT1bXSxuPXIudGltZS9yLmRlbGF5LGk9dC50ZXh0KCkscz0vWzAtOV0rLFswLTldKy8udGVzdChpKTtpPWkucmVwbGFjZSgvLC9nLCIiKTt2YXIgbz0vXlswLTldKyQvLnRlc3QoaSksdT0vXlswLTldK1wuWzAtOV0rJC8udGVzdChpKSxhPXU/KGkuc3BsaXQoIi4iKVsxXXx8W10pLmxlbmd0aDowO2Zvcih2YXIgZj1uO2Y+PTE7Zi0tKXt2YXIgbD1wYXJzZUludChpL24qZik7dSYmKGw9cGFyc2VGbG9hdChpL24qZikudG9GaXhlZChhKSk7aWYocyl3aGlsZSgvKFxkKykoXGR7M30pLy50ZXN0KGwudG9TdHJpbmcoKSkpbD1sLnRvU3RyaW5nKCkucmVwbGFjZSgvKFxkKykoXGR7M30pLywiJDEsJDIiKTtlLnVuc2hpZnQobCl9dC5kYXRhKCJjb3VudGVydXAtbnVtcyIsZSk7dC50ZXh0KCIwIik7dmFyIGM9ZnVuY3Rpb24oKXt0LnRleHQodC5kYXRhKCJjb3VudGVydXAtbnVtcyIpLnNoaWZ0KCkpO2lmKHQuZGF0YSgiY291bnRlcnVwLW51bXMiKS5sZW5ndGgpc2V0VGltZW91dCh0LmRhdGEoImNvdW50ZXJ1cC1mdW5jIiksci5kZWxheSk7ZWxzZXtkZWxldGUgdC5kYXRhKCJjb3VudGVydXAtbnVtcyIpO3QuZGF0YSgiY291bnRlcnVwLW51bXMiLG51bGwpO3QuZGF0YSgiY291bnRlcnVwLWZ1bmMiLG51bGwpfX07dC5kYXRhKCJjb3VudGVydXAtZnVuYyIsYyk7c2V0VGltZW91dCh0LmRhdGEoImNvdW50ZXJ1cC1mdW5jIiksci5kZWxheSl9O3Qud2F5cG9pbnQoaSx7b2Zmc2V0OiIxMDAlIix0cmlnZ2VyT25jZTohMH0pfSl9fSkoalF1ZXJ5KTs="}},"time_used":154,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":154,"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":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/fonts/gilroy/gilroy-light-webfont.woff2","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.845Z","timestamp":1785124599845,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /fonts/gilroy/gilroy-light-webfont.woff2 HTTP/1.1\r\nHost: astroxcinvest.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://astroxcinvest.com/css/style.css\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: font/woff2\r\nlast-modified: Thu, 15 Mar 2018 14:03:14 GMT\r\netag: \"971f-5aaa7d22-b9af8228ef8d5f68;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 38687\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":38687,"size_decoded":39015,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 38687, version 1.0","md5":"b6b48e95e9fae5385237c93dfd1dc1c9","sha1":"00440e7483453cdd855717941313785f8c2af7ad","sha256":"7cd5b98695176dd2399e73d4249e416efbe51c3eaff0dd903aea25f5202c5632","sha512":"c1abf2b88136250b616ddbd2d1f59291d66aea5a69de0d79e3843f775e1280a521d53282b2cb434b814029a30e33893318f1fde1e7da8e9997c31c8e6997b517","ssdeep":"768:jGlm0glrjwANaWQbMI5m012D8gAOUE20KqZ6dwS1rRUFTMrkeSU2X:qY0crjHNadMIU0b/nErKrdRUKkF1X","tlshash":"3e03f1830892664a772275db2eb6f052828eef2d74243b2df627f394b7d919571203b4","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.193826Z","times_seen":294,"resource_available":false,"data":"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"}},"time_used":731,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":682,"receive":49,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/81a298ddc7471070.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.030Z","timestamp":1785124600030,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/81a298ddc7471070.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 3812116\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"81a298ddc7471070.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"19fc6352b3bef54383c8770d74131cfa\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/81a298ddc7471070.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::wcw4z-1781312483461-776bf6c194f6\r\nx-xss-protection: 1; mode=block\r\npriority: u=4,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=P2q2v0P9hkgznko%2B83hZEv9kg6%2BnYJ%2BoSKxcTwzJKVi15jp9AunooIMnUjQ1kKYWlt1n1sS2Yb8ozHNmmmGCwj8c43xeMr5%2Bx%2Bgu3VistBVioI0gQL6OCwzA%2FMJp\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e398d56b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":8114,"size_decoded":4396,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8114), with no line terminators","md5":"19fc6352b3bef54383c8770d74131cfa","sha1":"c67ec295996975fd662c06e0b614bd3b9f97d7bd","sha256":"9f43d8db2c14631ecaeb7f7ea5d8823bbfe41eeee26f6893c816d0aa348e9605","sha512":"64eba4d08add14b4c9728e2e5026234cf522dd62e2da45df50d967e4d337e6b38cbeaf471dbfba3420a5d3c992bb47c628f60618fca6d84114f7250b7407c5cd","ssdeep":"96:76gC8v2YWBRNY6v28COSXTnv2IDESf3vZ8kM2Lv2kyIWwzysv2hv2zthN1Vm5w7b:cjYWG8COJIDEiikyBwuzkx/T+AP","tlshash":"e4f1536636d4f9d1168b44d5c83b5006f22e0d3a216d70a8b7e5cefa369044ef472fea","first_seen":"2026-02-06T09:43:19.169507Z","last_seen":"2026-08-04T06:18:34.21556Z","times_seen":1756,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDk0OTQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sODk3OTEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoOTQ5NCl9LDcxMjM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYW5kbGVJU1JFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49InUiPHR5cGVvZiB3aW5kb3c/ZS5yKDg5NzkxKS53b3JrQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBvKHtlcnJvcjplfSl7aWYobil7bGV0IHQ9bi5nZXRTdG9yZSgpO2lmKHQ/LmlzU3RhdGljR2VuZXJhdGlvbil0aHJvdyBlJiZjb25zb2xlLmVycm9yKGUpLGV9cmV0dXJuIG51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQwODQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVVudHJhY2tlZFBhdGhuYW1lIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoNzUyMDEpLG89ZS5yKDMxODk5KTtmdW5jdGlvbiB1KCl7cmV0dXJuIWZ1bmN0aW9uKCl7aWYoInUiPHR5cGVvZiB3aW5kb3cpe2xldHt3b3JrVW5pdEFzeW5jU3RvcmFnZTp0fT1lLnIoMTI5NjUpLHI9dC5nZXRTdG9yZSgpO2lmKCFyKXJldHVybiExO3N3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO3JldHVybiEhbiYmbi5zaXplPjB9fXJldHVybiExfSgpPygwLG4udXNlQ29udGV4dCkoby5QYXRobmFtZUNvbnRleHQpOm51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODMzOTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2hhbmRsZUhhcmROYXZFcnJvcjpmdW5jdGlvbigpe3JldHVybiBsfSx1c2VOYXZGYWlsdXJlSGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2Uucig3NTIwMSk7bGV0IHU9ZS5yKDg1NTk0KTtmdW5jdGlvbiBsKGUpe3JldHVybiEhKGUmJiJ1Ij50eXBlb2Ygd2luZG93KSYmISF3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwmJigwLHUuY3JlYXRlSHJlZkZyb21VcmwpKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSE9PSgwLHUuY3JlYXRlSHJlZkZyb21VcmwpKHdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybCkmJihjb25zb2xlLmVycm9yKCJFcnJvciBvY2N1cnJlZCBkdXJpbmcgbmF2aWdhdGlvbiwgZmFsbGluZyBiYWNrIHRvIGhhcmQgbmF2aWdhdGlvbiIsZSksd2luZG93LmxvY2F0aW9uLmhyZWY9d2luZG93Lm5leHQuX19wZW5kaW5nVXJsLnRvU3RyaW5nKCksITApfWZ1bmN0aW9uIGkoKXt9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQ4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0Vycm9yQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gX30sRXJyb3JCb3VuZGFyeUhhbmRsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoODEyNTgpLGw9ZS5yKDk4MTM0KSxpPXUuXyhlLnIoNzUyMDEpKSxhPWUucig3NDA4NCkscz1lLnIoNDk4NDMpO2Uucig4MzM5OCk7bGV0IGQ9ZS5yKDcxMjM0KSxjPWUucigzNDY1KSxmPSJ1Ij50eXBlb2Ygd2luZG93JiYoMCxjLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7Y2xhc3MgcCBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5yZXNldD0oKT0+e3RoaXMuc2V0U3RhdGUoe2Vycm9yOm51bGx9KX0sdGhpcy5zdGF0ZT17ZXJyb3I6bnVsbCxwcmV2aW91c1BhdGhuYW1lOnRoaXMucHJvcHMucGF0aG5hbWV9fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc05leHRSb3V0ZXJFcnJvcikoZSkpdGhyb3cgZTtyZXR1cm57ZXJyb3I6ZX19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe2xldHtlcnJvcjpyfT10O3JldHVybiBlLnBhdGhuYW1lIT09dC5wcmV2aW91c1BhdGhuYW1lJiZ0LmVycm9yP3tlcnJvcjpudWxsLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e2Vycm9yOnQuZXJyb3IscHJldmlvdXNQYXRobmFtZTplLnBhdGhuYW1lfX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5zdGF0ZS5lcnJvciYmIWY/KDAsbC5qc3hzKShsLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsbC5qc3gpKGQuSGFuZGxlSVNSRXJyb3Ise2Vycm9yOnRoaXMuc3RhdGUuZXJyb3J9KSx0aGlzLnByb3BzLmVycm9yU3R5bGVzLHRoaXMucHJvcHMuZXJyb3JTY3JpcHRzLCgwLGwuanN4KSh0aGlzLnByb3BzLmVycm9yQ29tcG9uZW50LHtlcnJvcjp0aGlzLnN0YXRlLmVycm9yLHJlc2V0OnRoaXMucmVzZXR9KV19KTp0aGlzLnByb3BzLmNoaWxkcmVufX1mdW5jdGlvbiBfKHtlcnJvckNvbXBvbmVudDplLGVycm9yU3R5bGVzOnQsZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46bn0pe2xldCBvPSgwLGEudXNlVW50cmFja2VkUGF0aG5hbWUpKCk7cmV0dXJuIGU/KDAsbC5qc3gpKHAse3BhdGhuYW1lOm8sZXJyb3JDb21wb25lbnQ6ZSxlcnJvclN0eWxlczp0LGVycm9yU2NyaXB0czpyLGNoaWxkcmVuOm59KTooMCxsLmpzeCkobC5GcmFnbWVudCx7Y2hpbGRyZW46bn0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDU3MjQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWRpcmVjdEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LFJlZGlyZWN0RXJyb3JCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PWUucig0NDA2NiksbD1lLnIoOTgxMzQpLGk9dS5fKGUucig3NTIwMSkpLGE9ZS5yKDI4OTk1KSxzPWUucig0MTcyMSksZD1lLnIoOTA4NjIpO2Z1bmN0aW9uIGMoe3JlZGlyZWN0OmUscmVzZXQ6dCxyZWRpcmVjdFR5cGU6cn0pe2xldCBuPSgwLGEudXNlUm91dGVyKSgpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKT0+e2kuZGVmYXVsdC5zdGFydFRyYW5zaXRpb24oKCk9PntyPT09ZC5SZWRpcmVjdFR5cGUucHVzaD9uLnB1c2goZSx7fSk6bi5yZXBsYWNlKGUse30pLHQoKX0pfSxbZSxyLHQsbl0pLG51bGx9Y2xhc3MgZiBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17cmVkaXJlY3Q6bnVsbCxyZWRpcmVjdFR5cGU6bnVsbH19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlKXtpZigoMCxkLmlzUmVkaXJlY3RFcnJvcikoZSkpe2xldCB0PSgwLHMuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKGUpLHI9KDAscy5nZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IpKGUpO3JldHVybiJoYW5kbGVkImluIGU/e3JlZGlyZWN0Om51bGwscmVkaXJlY3RUeXBlOm51bGx9OntyZWRpcmVjdDp0LHJlZGlyZWN0VHlwZTpyfX10aHJvdyBlfXJlbmRlcigpe2xldHtyZWRpcmVjdDplLHJlZGlyZWN0VHlwZTp0fT10aGlzLnN0YXRlO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/KDAsbC5qc3gpKGMse3JlZGlyZWN0OmUscmVkaXJlY3RUeXBlOnQscmVzZXQ6KCk9PnRoaXMuc2V0U3RhdGUoe3JlZGlyZWN0Om51bGx9KX0pOnRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIHAoe2NoaWxkcmVuOmV9KXtsZXQgdD0oMCxhLnVzZVJvdXRlcikoKTtyZXR1cm4oMCxsLmpzeCkoZix7cm91dGVyOnQsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDUwMDk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnJlc29sdmVkVGhlbmFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPXt0aGVuOigpPT57fX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzYzNDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e01ldGFkYXRhQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sT3V0bGV0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sUm9vdExheW91dEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFZpZXdwb3J0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoNTM0NTkpLGw9e1t1Lk1FVEFEQVRBX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1LlZJRVdQT1JUX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1Lk9VVExFVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfSxbdS5ST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfX0saT1sW3UuTUVUQURBVEFfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0sYT1sW3UuVklFV1BPUlRfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0scz1sW3UuT1VUTEVUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldLGQ9bFt1LlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldfSw0NDkzNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSGVhZE1hbmFnZXJDb250ZXh0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODEyNTgpLl8oZS5yKDc1MjAxKSkuZGVmYXVsdC5jcmVhdGVDb250ZXh0KHt9KX0sMTYxNTMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig5ODEzNCksbz1lLnIoNzEyMzQpLHU9e2ZvbnRGYW1pbHk6J3N5c3RlbS11aSwiU2Vnb2UgVUkiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSInLGhlaWdodDoiMTAwdmgiLHRleHRBbGlnbjoiY2VudGVyIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGw9e2ZvbnRTaXplOiIxNHB4Iixmb250V2VpZ2h0OjQwMCxsaW5lSGVpZ2h0OiIyOHB4IixtYXJnaW46IjAgOHB4In0saT1mdW5jdGlvbih7ZXJyb3I6ZX0pe2xldCB0PWU/LmRpZ2VzdDtyZXR1cm4oMCxuLmpzeHMpKCJodG1sIix7aWQ6Il9fbmV4dF9lcnJvcl9fIixjaGlsZHJlbjpbKDAsbi5qc3gpKCJoZWFkIix7fSksKDAsbi5qc3hzKSgiYm9keSIse2NoaWxkcmVuOlsoMCxuLmpzeCkoby5IYW5kbGVJU1JFcnJvcix7ZXJyb3I6ZX0pLCgwLG4uanN4KSgiZGl2Iix7c3R5bGU6dSxjaGlsZHJlbjooMCxuLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsbi5qc3hzKSgiaDIiLHtzdHlsZTpsLGNoaWxkcmVuOlsiQXBwbGljYXRpb24gZXJyb3I6IGEgIix0PyJzZXJ2ZXIiOiJjbGllbnQiLCItc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgIix3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIiAoc2VlIHRoZSIsIiAiLHQ/InNlcnZlciBsb2dzIjoiYnJvd3NlciBjb25zb2xlIiwiIGZvciBtb3JlIGluZm9ybWF0aW9uKS4iXX0pLHQ/KDAsbi5qc3gpKCJwIix7c3R5bGU6bCxjaGlsZHJlbjpgRGlnZXN0OiAke3R9YH0pOm51bGxdfSl9KV19KV19KX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.39147.30b888a5ea9796cb7d58.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.249Z","timestamp":1785124600249,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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.39147.30b888a5ea9796cb7d58.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-f3b\"\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:44:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 15435915e13b9c0ebbe53fb8c65d7e62\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3899,"size_decoded":2345,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3054)","md5":"ad61195f03f12e78d238d4a9203f0449","sha1":"1784e4e0de4f473231a8eccb06846ed523cd8e14","sha256":"7673dd94cc13d2dc00d5937cc5b1bc5a0bb64b94e0bcfa8d28cd0ea6291c58dc","sha512":"d681a2b3b386af653697765f91b39eff665af151cb0bd4d4b20f31481f4a2d08f02f3a135c00977ace846dfd67df5ba1464fd1c421cdf3f958a72106b95218c6","ssdeep":"","tlshash":"ce813f27d010c1f22f73ca19b791edc6b5f4b2a111f2e8cab7862f69c617c8019396b4","first_seen":"2026-07-23T13:38:20.401292Z","last_seen":"2026-07-29T06:14:13.933383Z","times_seen":283,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNzg1OSwzNzg2NSwzOTE0Nyw0MDI0MCw0NzAzMCw1NzE4NCw2MzE5NSw5NDM4OF0sezU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sODU5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sODkyMzYzKGUpe2UuZXhwb3J0cz1bIkQiXX0sMzk0NTAxKGUpe2UuZXhwb3J0cz1bIkQiXX0sNTcwOTM5KGUpe2UuZXhwb3J0cz1bIkUiXX0sMzk0OTIxKGUpe2UuZXhwb3J0cz1bIkYiXX0sODY2NDQoZSl7ZS5leHBvcnRzPVsiUiJdfSw3NTY0NTcoZSl7ZS5leHBvcnRzPVsiUiJdfSwyNTczMjYoZSl7ZS5leHBvcnRzPVsiUyJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpe2UuZXhwb3J0cz1bIk1hcmtldCBvcGVuIl19LDkxNDU3MihlKXtlLmV4cG9ydHM9WyJNYXJrZXQgY2xvc2VkIl19LDg2NzQ1NShlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCJdfSw5MTg4NDIoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCJdfSwzODQ1OTcoZSl7ZS5leHBvcnRzPVsiQ0ZEIl19LDY1NTIzNShlKXtlLmV4cG9ydHM9WyJDcnlwdG8iXX0sMzUwMTQ2KGUpe2UuZXhwb3J0cz1bIkFsbCJdfSw3NjU0NDAoZSl7ZS5leHBvcnRzPVsiQm9uZHMiXX0sNTQ4MzIyKGUpe2UuZXhwb3J0cz1bIkVjb25vbXkiXX0sOTc5OTcoZSl7ZS5leHBvcnRzPVsiRm9yZXgiXX0sNTA1MDc5KGUpe2UuZXhwb3J0cz1bIkZ1dHVyZXMiXX0sNTY0OTE3KGUpe2UuZXhwb3J0cz1bIkZ1bmRzIl19LDkyNzQxMShlKXtlLmV4cG9ydHM9WyJJbmRpY2VzIl19LDc5NjAwKGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMiXX0sNTU1NTEwKGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw1NzA2MihlKXtlLmV4cG9ydHM9WyJOL0EiXX0sMTExOTc2KGUpe2UuZXhwb3J0cz1bIjEgeWVhciJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sMTM1ODY3KGUpe2UuZXhwb3J0cz1bIkNvbG9tYmlhIl19LDE5NDE5NChlKXtlLmV4cG9ydHM9WyJDb25uZWN0aW5nIl19LDEwODAwMShlKXtlLmV4cG9ydHM9WyJDYW5hZGlhbiBEb2xsYXIiXX0sOTA0MzM4KGUpe2UuZXhwb3J0cz1bIkNoaWxlIl19LDg1NzU4NyhlKXtlLmV4cG9ydHM9WyJBcmdlbnRpbmEiXX0sNzIzMzQyKGUpe2UuZXhwb3J0cz1bIkF1c3RyYWxpYW4gRG9sbGFyIl19LDEwNDgzMShlKXtlLmV4cG9ydHM9WyJCYWh0Il19LDg2ODgxMChlKXtlLmV4cG9ydHM9WyJCaWxsZWQgZXZlcnkgbW9udGguIl19LDkxMzk1NShlKXtlLmV4cG9ydHM9WyJCaWxsZWQgZXZlcnkgeWVhci4iXX0sNTIwMDAyKGUpe2UuZXhwb3J0cz1bIkJyYXppbGlhbiBSZWFsIl19LDcxNzAzMyhlKXtlLmV4cG9ydHM9WyJCcml0aXNoIFBvdW5kIl19LDI0MTU4NShlKXtlLmV4cG9ydHM9WyJEYW5pc2ggS3JvbmUiXX0sMjI5NTI1KGUpe2UuZXhwb3J0cz1bIkRlbGF5ZWQiXX0sNjAxNzY0KGUpe2UuZXhwb3J0cz1bIkVuZCBvZiBEYXkiXX0sNTYxNjUoZSl7ZS5leHBvcnRzPVsiRXVybyJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSw5MjIyNDQoZSl7ZS5leHBvcnRzPVsiS3V3YWl0aSBEaW5hciJdfSw3MDI5MjQoZSl7ZS5leHBvcnRzPVsiSG9uZyBLb25nIERvbGxhciJdfSwxNTk4MzAoZSl7ZS5leHBvcnRzPVsiSW5kaWFuIFJ1cGVlIl19LDMyODMxMyhlKXtlLmV4cG9ydHM9WyJJbnN0cnVtZW50IGlzIG5vdCBhbGxvd2VkIl19LDc0NzI4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQgS3JvbmEiXX0sODE2ODM2KGUpe2UuZXhwb3J0cz1bIklzcmFlbGkgU2hla2VsIl19LDY4OTExNyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYW4gUmluZ2dpdCJdfSwyMjA3NDAoZSl7ZS5leHBvcnRzPVsiTWV4aWNhbiBQZXNvIl19LDk5Mzk5OShlKXtlLmV4cG9ydHM9WyJOb3J3ZWdpYW4gS3JvbmUiXX0sODU0ODcwKGUpe2UuZXhwb3J0cz1bIk5ldyBJc3JhZWxpIFNoZXFlbCJdfSw1ODA4MDIoZSl7ZS5leHBvcnRzPVsiTmV3IFRhaXdhbiBEb2xsYXIiXX0sOTA0NDAwKGUpe2UuZXhwb3J0cz1bIk5ldyBaZWFsYW5kIERvbGxhciJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sOTk1OTY2KGUpe2UuZXhwb3J0cz1bIlNhdWRpIFJpeWFsIl19LDg1MDI5OChlKXtlLmV4cG9ydHM9WyJTZWNvbmQgZnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwyNTE3MChlKXtlLmV4cG9ydHM9WyJTaW5nYXBvcmUgRG9sbGFyIl19LDk5MjM2MihlKXtlLmV4cG9ydHM9WyJTdHVkaWVzIGxpbWl0IGV4Y2VlZGVkOiB7bnVtYmVyfSBzdHVkaWVzIHBlciBsYXlvdXQuXG5QbGVhc2UsIHJlbW92ZSBzb21lIHN0dWRpZXMuIl19LDc3NzEyMChlKXtlLmV4cG9ydHM9WyJTd2VkaXNoIEtyb25hIl19LDYwODYzMShlKXtlLmV4cG9ydHM9WyJTd2lzcyBGcmFuYyJdfSw4NTExMTEoZSl7ZS5leHBvcnRzPVsiUGVydSJdfSw0MjUyNzYoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZSBQZXNvIl19LDYxNjE4KGUpe2UuZXhwb3J0cz1bIlByaWNlIGZvcm1hdCBpcyBpbnZhbGlkLiJdfSw4MTQ2MShlKXtlLmV4cG9ydHM9WyJRdW90ZXMgYXJlIGRlbGF5ZWQgYnkge251bWJlcn0gbWluIl19LDc5MDUyNChlKXtlLmV4cG9ydHM9WyJRdW90ZXMgYXJlIGRlbGF5ZWQgYnkge251bWJlcn0gbWluIGFuZCB1cGRhdGVkIGV2ZXJ5IDMwIHNlY29uZHMiXX0sMTgwOTMxKGUpe2UuZXhwb3J0cz1bIlJhbmQiXX0sODgzOTI4KGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSJdfSw5NzcyNyhlKXtlLmV4cG9ydHM9WyJSZXBsYXkgTW9kZSJdfSwzOTAzNjAoZSl7CmUuZXhwb3J0cz1bIlJ1cGlhaCJdfSwzMzMyOChlKXtlLmV4cG9ydHM9WyJSdXNzaWFuIFJ1YmxlIl19LDU4OTA3MShlKXtlLmV4cG9ydHM9WyJXb24iXX0sOTM3MDE3KGUpe2UuZXhwb3J0cz1bIldhcm5pbmciXX0sMjg2OTIxKGUpe2UuZXhwb3J0cz1bIlR1cmtpc2ggTGlyYSJdfSw5ODMxMDcoZSl7ZS5leHBvcnRzPVsiVS5BLkUuIERpcmhhbSJdfSwyMjkxMTAoZSl7ZS5leHBvcnRzPVsiVVMgRG9sbGFyIl19LDkyODU1MyhlKXtlLmV4cG9ydHM9WyJVcnVndWF5Il19LDU4OTQwOChlKXtlLmV4cG9ydHM9WyJWaWV0bmFtZXNlIERvbmciXX0sNTE3ODU5KGUpe2UuZXhwb3J0cz1bIlZpc2l0IFRyYWRpbmdWaWV3IOKAlCBmaW5hbmNpYWwgY2hhcnRpbmcgcGxhdGZvcm0gYW5kIHRyYWRpbmcgY29tbXVuaXR5Il19LDMwNzMzNihlKXtlLmV4cG9ydHM9WyJZZW4iXX0sMjM0NzgyKGUpe2UuZXhwb3J0cz1bIll1YW4gUmVubWluYmkiXX0sNDc3NjUwKGUpe2UuZXhwb3J0cz1bIlpsb3R5Il19LDcyMTExOChlKXtlLmV4cG9ydHM9WyJhbm51YWxseSJdfSw2NTM2OShlKXtlLmV4cG9ydHM9WyJiaWxsZWQgbW9udGhseSJdfSwyNjAxOTMoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIGFubnVhbGx5Il19LDU1NjU2OChlKXtlLmV4cG9ydHM9WyJtb250aGx5Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sODM1OChlKXtlLmV4cG9ydHM9WyJ0cmlhbCJdfSwxNTM3NjYoZSl7ZS5leHBvcnRzPVsie3Byb1BsYW5OYW1lfSBUcmlhbCJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sNDQyNjY2KGUpe2UuZXhwb3J0cz1bInllYXIiLCJ5ZWFycyJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/css/bootstrap.min.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.398Z","timestamp":1785124599398,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/bootstrap.min.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Mon, 17 Oct 2022 11:11:42 GMT\r\netag: \"235ed-634d386e-6ce1aa3349662a2f;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 18586\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":144877,"size_decoded":19129,"mime_type":"text/css","magic":"ASCII text, with very long lines (65325)","md5":"450fc463b8b1a349df717056fbb3e078","sha1":"895125a4522a3b10ee7ada06ee6503587cbf95c5","sha256":"2c0f3dcfe93d7e380c290fe4ab838ed8cadff1596d62697f5444be460d1f876d","sha512":"93bf1ed5f6d8b34f53413a86efd4a925d578c97abc757ea871f3f46f340745e4126c48219d2e8040713605b64a9ecf7ad986aa8102f5ea5ecf9228801d962f5d","ssdeep":"1536:GcoqwrUPyDHU7c7TcDEBi82NcuSELL4d/+oENM6HN26Q:VoPgPard2oENM6HN26Q","tlshash":"f6e37667f591322da097ca1851c0bbfa466f8156d6221ffbf4273b604b8a6c70a73d0d","first_seen":"2023-04-05T03:09:34Z","last_seen":"2026-08-04T03:04:16.826476Z","times_seen":59435,"resource_available":false,"data":"LyohCiAqIEJvb3RzdHJhcCB2NC4wLjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbSkKICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUaGUgQm9vdHN0cmFwIEF1dGhvcnMKICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUd2l0dGVyLCBJbmMuCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpCiAqLzpyb290ey0tYmx1ZTojMDA3YmZmOy0taW5kaWdvOiM2NjEwZjI7LS1wdXJwbGU6IzZmNDJjMTstLXBpbms6I2U4M2U4YzstLXJlZDojZGMzNTQ1Oy0tb3JhbmdlOiNmZDdlMTQ7LS15ZWxsb3c6I2ZmYzEwNzstLWdyZWVuOiMyOGE3NDU7LS10ZWFsOiMyMGM5OTc7LS1jeWFuOiMxN2EyYjg7LS13aGl0ZTojZmZmOy0tZ3JheTojNmM3NTdkOy0tZ3JheS1kYXJrOiMzNDNhNDA7LS1wcmltYXJ5OiMwMDdiZmY7LS1zZWNvbmRhcnk6IzZjNzU3ZDstLXN1Y2Nlc3M6IzI4YTc0NTstLWluZm86IzE3YTJiODstLXdhcm5pbmc6I2ZmYzEwNzstLWRhbmdlcjojZGMzNTQ1Oy0tbGlnaHQ6I2Y4ZjlmYTstLWRhcms6IzM0M2E0MDstLWJyZWFrcG9pbnQteHM6MDstLWJyZWFrcG9pbnQtc206NTc2cHg7LS1icmVha3BvaW50LW1kOjc2OHB4Oy0tYnJlYWtwb2ludC1sZzo5OTJweDstLWJyZWFrcG9pbnQteGw6MTIwMHB4Oy0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90bywiSGVsdmV0aWNhIE5ldWUiLEFyaWFsLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiOy0tZm9udC1mYW1pbHktbW9ub3NwYWNlOlNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcywiTGliZXJhdGlvbiBNb25vIiwiQ291cmllciBOZXciLG1vbm9zcGFjZX0qLDo6YWZ0ZXIsOjpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWx7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxLjE1Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLW92ZXJmbG93LXN0eWxlOnNjcm9sbGJhcjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9QC1tcy12aWV3cG9ydHt3aWR0aDpkZXZpY2Utd2lkdGh9YXJ0aWNsZSxhc2lkZSxkaWFsb2csZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixuYXYsc2VjdGlvbntkaXNwbGF5OmJsb2NrfWJvZHl7bWFyZ2luOjA7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIjtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6I2ZmZn1bdGFiaW5kZXg9Ii0xIl06Zm9jdXN7b3V0bGluZTowIWltcG9ydGFudH1ocntib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowO292ZXJmbG93OnZpc2libGV9aDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LjVyZW19cHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxcmVtfWFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0sYWJiclt0aXRsZV17dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO2N1cnNvcjpoZWxwO2JvcmRlci1ib3R0b206MH1hZGRyZXNze21hcmdpbi1ib3R0b206MXJlbTtmb250LXN0eWxlOm5vcm1hbDtsaW5lLWhlaWdodDppbmhlcml0fWRsLG9sLHVse21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW19b2wgb2wsb2wgdWwsdWwgb2wsdWwgdWx7bWFyZ2luLWJvdHRvbTowfWR0e2ZvbnQtd2VpZ2h0OjcwMH1kZHttYXJnaW4tYm90dG9tOi41cmVtO21hcmdpbi1sZWZ0OjB9YmxvY2txdW90ZXttYXJnaW46MCAwIDFyZW19ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19YXtjb2xvcjojMDA3YmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDpvYmplY3RzfWE6aG92ZXJ7Y29sb3I6IzAwNTZiMzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6Zm9jdXMsYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXJ7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZX1hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1c3tvdXRsaW5lOjB9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfXByZXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxcmVtO292ZXJmbG93OmF1dG87LW1zLW92ZXJmbG93LXN0eWxlOnNjcm9sbGJhcn1maWd1cmV7bWFyZ2luOjAgMCAxcmVtfWltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyLXN0eWxlOm5vbmV9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX1jYXB0aW9ue3BhZGRpbmctdG9wOi43NXJlbTtwYWRkaW5nLWJvdHRvbTouNzVyZW07Y29sb3I6IzZjNzU3ZDt0ZXh0LWFsaWduOmxlZnQ7Y2FwdGlvbi1zaWRlOmJvdHRvbX10aHt0ZXh0LWFsaWduOmluaGVyaXR9bGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTouNXJlbX1idXR0b257Ym9yZGVyLXJhZGl1czowfWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjFweCBkb3R0ZWQ7b3V0bGluZTo1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3J9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXttYXJnaW46MDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXR9YnV0dG9uLGlucHV0e292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfVt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdLGJ1dHRvbixodG1sIFt0eXBlPWJ1dHRvbl17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyLGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntwYWRkaW5nOjA7Ym9yZGVyLXN0eWxlOm5vbmV9aW5wdXRbdHlwZT1jaGVja2JveF0saW5wdXRbdHlwZT1yYWRpb117Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH1pbnB1dFt0eXBlPWRhdGVdLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLGlucHV0W3R5cGU9bW9udGhdLGlucHV0W3R5cGU9dGltZV17LXdlYmtpdC1hcHBlYXJhbmNlOmxpc3Rib3h9dGV4dGFyZWF7b3ZlcmZsb3c6YXV0bztyZXNpemU6dmVydGljYWx9ZmllbGRzZXR7bWluLXdpZHRoOjA7cGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowfWxlZ2VuZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzowO21hcmdpbi1ib3R0b206LjVyZW07Zm9udC1zaXplOjEuNXJlbTtsaW5lLWhlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7d2hpdGUtc3BhY2U6bm9ybWFsfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfVt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hde291dGxpbmUtb2Zmc2V0Oi0ycHg7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257Zm9udDppbmhlcml0Oy13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259b3V0cHV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW07Y3Vyc29yOnBvaW50ZXJ9dGVtcGxhdGV7ZGlzcGxheTpub25lfVtoaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmgxLC5oMiwuaDMsLmg0LC5oNSwuaDYsaDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luLWJvdHRvbTouNXJlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7Y29sb3I6aW5oZXJpdH0uaDEsaDF7Zm9udC1zaXplOjIuNXJlbX0uaDIsaDJ7Zm9udC1zaXplOjJyZW19LmgzLGgze2ZvbnQtc2l6ZToxLjc1cmVtfS5oNCxoNHtmb250LXNpemU6MS41cmVtfS5oNSxoNXtmb250LXNpemU6MS4yNXJlbX0uaDYsaDZ7Zm9udC1zaXplOjFyZW19LmxlYWR7Zm9udC1zaXplOjEuMjVyZW07Zm9udC13ZWlnaHQ6MzAwfS5kaXNwbGF5LTF7Zm9udC1zaXplOjZyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn0uZGlzcGxheS0ye2ZvbnQtc2l6ZTo1LjVyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn0uZGlzcGxheS0ze2ZvbnQtc2l6ZTo0LjVyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn0uZGlzcGxheS00e2ZvbnQtc2l6ZTozLjVyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn1ocnttYXJnaW4tdG9wOjFyZW07bWFyZ2luLWJvdHRvbToxcmVtO2JvcmRlcjowO2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpfS5zbWFsbCxzbWFsbHtmb250LXNpemU6ODAlO2ZvbnQtd2VpZ2h0OjQwMH0ubWFyayxtYXJre3BhZGRpbmc6LjJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9Lmxpc3QtdW5zdHlsZWR7cGFkZGluZy1sZWZ0OjA7bGlzdC1zdHlsZTpub25lfS5saXN0LWlubGluZXtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtaW5saW5lLWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2t9Lmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tcmlnaHQ6LjVyZW19LmluaXRpYWxpc217Zm9udC1zaXplOjkwJTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LmJsb2NrcXVvdGV7bWFyZ2luLWJvdHRvbToxcmVtO2ZvbnQtc2l6ZToxLjI1cmVtfS5ibG9ja3F1b3RlLWZvb3RlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTo4MCU7Y29sb3I6IzZjNzU3ZH0uYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZXtjb250ZW50OiJcMjAxNCBcMDBBMCJ9LmltZy1mbHVpZHttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30uaW1nLXRodW1ibmFpbHtwYWRkaW5nOi4yNXJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci1yYWRpdXM6LjI1cmVtO21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfS5maWd1cmV7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZpZ3VyZS1pbWd7bWFyZ2luLWJvdHRvbTouNXJlbTtsaW5lLWhlaWdodDoxfS5maWd1cmUtY2FwdGlvbntmb250LXNpemU6OTAlO2NvbG9yOiM2Yzc1N2R9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6U0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlfWNvZGV7Zm9udC1zaXplOjg3LjUlO2NvbG9yOiNlODNlOGM7d29yZC1icmVhazpicmVhay13b3JkfWE+Y29kZXtjb2xvcjppbmhlcml0fWtiZHtwYWRkaW5nOi4ycmVtIC40cmVtO2ZvbnQtc2l6ZTo4Ny41JTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIxMjUyOTtib3JkZXItcmFkaXVzOi4ycmVtfWtiZCBrYmR7cGFkZGluZzowO2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OjcwMH1wcmV7ZGlzcGxheTpibG9jaztmb250LXNpemU6ODcuNSU7Y29sb3I6IzIxMjUyOX1wcmUgY29kZXtmb250LXNpemU6aW5oZXJpdDtjb2xvcjppbmhlcml0O3dvcmQtYnJlYWs6bm9ybWFsfS5wcmUtc2Nyb2xsYWJsZXttYXgtaGVpZ2h0OjM0MHB4O292ZXJmbG93LXk6c2Nyb2xsfS5jb250YWluZXJ7d2lkdGg6MTAwJTtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NTQwcHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuY29udGFpbmVye21heC13aWR0aDo3MjBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjk2MHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjExNDBweH19LmNvbnRhaW5lci1mbHVpZHt3aWR0aDoxMDAlO3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfS5yb3d7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1sZWZ0Oi0xNXB4fS5uby1ndXR0ZXJze21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9Lm5vLWd1dHRlcnM+LmNvbCwubm8tZ3V0dGVycz5bY2xhc3MqPWNvbC1de3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uY29sLC5jb2wtMSwuY29sLTEwLC5jb2wtMTEsLmNvbC0xMiwuY29sLTIsLmNvbC0zLC5jb2wtNCwuY29sLTUsLmNvbC02LC5jb2wtNywuY29sLTgsLmNvbC05LC5jb2wtYXV0bywuY29sLWxnLC5jb2wtbGctMSwuY29sLWxnLTEwLC5jb2wtbGctMTEsLmNvbC1sZy0xMiwuY29sLWxnLTIsLmNvbC1sZy0zLC5jb2wtbGctNCwuY29sLWxnLTUsLmNvbC1sZy02LC5jb2wtbGctNywuY29sLWxnLTgsLmNvbC1sZy05LC5jb2wtbGctYXV0bywuY29sLW1kLC5jb2wtbWQtMSwuY29sLW1kLTEwLC5jb2wtbWQtMTEsLmNvbC1tZC0xMiwuY29sLW1kLTIsLmNvbC1tZC0zLC5jb2wtbWQtNCwuY29sLW1kLTUsLmNvbC1tZC02LC5jb2wtbWQtNywuY29sLW1kLTgsLmNvbC1tZC05LC5jb2wtbWQtYXV0bywuY29sLXNtLC5jb2wtc20tMSwuY29sLXNtLTEwLC5jb2wtc20tMTEsLmNvbC1zbS0xMiwuY29sLXNtLTIsLmNvbC1zbS0zLC5jb2wtc20tNCwuY29sLXNtLTUsLmNvbC1zbS02LC5jb2wtc20tNywuY29sLXNtLTgsLmNvbC1zbS05LC5jb2wtc20tYXV0bywuY29sLXhsLC5jb2wteGwtMSwuY29sLXhsLTEwLC5jb2wteGwtMTEsLmNvbC14bC0xMiwuY29sLXhsLTIsLmNvbC14bC0zLC5jb2wteGwtNCwuY29sLXhsLTUsLmNvbC14bC02LC5jb2wteGwtNywuY29sLXhsLTgsLmNvbC14bC05LC5jb2wteGwtYXV0b3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6MXB4O3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweH0uY29sey1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjA7ZmxleC1iYXNpczowOy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5jb2wtYXV0b3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDpub25lfS5jb2wtMXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDguMzMzMzMzJTtmbGV4OjAgMCA4LjMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzJX0uY29sLTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC0zey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wtNHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDMzLjMzMzMzMyU7ZmxleDowIDAgMzMuMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzJX0uY29sLTV7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA0MS42NjY2NjclO2ZsZXg6MCAwIDQxLjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NyV9LmNvbC02ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wtN3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDU4LjMzMzMzMyU7ZmxleDowIDAgNTguMzMzMzMzJTttYXgtd2lkdGg6NTguMzMzMzMzJX0uY29sLTh7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA2Ni42NjY2NjclO2ZsZXg6MCAwIDY2LjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NyV9LmNvbC05ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNzUlO2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wtMTB7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA4My4zMzMzMzMlO2ZsZXg6MCAwIDgzLjMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMyV9LmNvbC0xMXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDkxLjY2NjY2NyU7ZmxleDowIDAgOTEuNjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY3JX0uY29sLTEyey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci1maXJzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjA7LW1zLWZsZXgtb3JkZXI6LTE7b3JkZXI6LTF9Lm9yZGVyLWxhc3R7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxNDstbXMtZmxleC1vcmRlcjoxMztvcmRlcjoxM30ub3JkZXItMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE7LW1zLWZsZXgtb3JkZXI6MDtvcmRlcjowfS5vcmRlci0xey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MjstbXMtZmxleC1vcmRlcjoxO29yZGVyOjF9Lm9yZGVyLTJ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDozOy1tcy1mbGV4LW9yZGVyOjI7b3JkZXI6Mn0ub3JkZXItM3std2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjQ7LW1zLWZsZXgtb3JkZXI6MztvcmRlcjozfS5vcmRlci00ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NTstbXMtZmxleC1vcmRlcjo0O29yZGVyOjR9Lm9yZGVyLTV7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo2Oy1tcy1mbGV4LW9yZGVyOjU7b3JkZXI6NX0ub3JkZXItNnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjc7LW1zLWZsZXgtb3JkZXI6NjtvcmRlcjo2fS5vcmRlci03ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ODstbXMtZmxleC1vcmRlcjo3O29yZGVyOjd9Lm9yZGVyLTh7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo5Oy1tcy1mbGV4LW9yZGVyOjg7b3JkZXI6OH0ub3JkZXItOXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEwOy1tcy1mbGV4LW9yZGVyOjk7b3JkZXI6OX0ub3JkZXItMTB7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMTstbXMtZmxleC1vcmRlcjoxMDtvcmRlcjoxMH0ub3JkZXItMTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMjstbXMtZmxleC1vcmRlcjoxMTtvcmRlcjoxMX0ub3JkZXItMTJ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMzstbXMtZmxleC1vcmRlcjoxMjtvcmRlcjoxMn0ub2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMlfS5vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjclfS5vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMyV9Lm9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NyV9Lm9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzJX0ub2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY3JX0ub2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzJX0ub2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NyV9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5jb2wtc217LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC1zbS1hdXRvey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC1zbS0xey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtc20tMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLXNtLTN7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1zbS00ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtc20tNXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLXNtLTZ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1zbS03ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtc20tOHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLXNtLTl7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1zbS0xMHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLXNtLTExey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtc20tMTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLXNtLWZpcnN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MDstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItc20tbGFzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE0Oy1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci1zbS0wey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLXNtLTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItc20tMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjM7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci1zbS0zey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NDstbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLXNtLTR7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo1Oy1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItc20tNXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjY7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci1zbS02ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NzstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLXNtLTd7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo4Oy1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItc20tOHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjk7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci1zbS05ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTA7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci1zbS0xMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjExOy1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci1zbS0xMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEyOy1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci1zbS0xMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEzOy1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtc20tMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtc20tMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC1zbS0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC1zbS0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LXNtLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LXNtLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LXNtLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtc20tN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtc20tOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtc20tOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1zbS0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtc20tMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb2wtbWR7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC1tZC1hdXRvey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC1tZC0xey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtbWQtMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLW1kLTN7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1tZC00ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtbWQtNXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLW1kLTZ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1tZC03ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtbWQtOHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLW1kLTl7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1tZC0xMHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLW1kLTExey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtbWQtMTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLW1kLWZpcnN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MDstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbWQtbGFzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE0Oy1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci1tZC0wey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLW1kLTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItbWQtMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjM7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci1tZC0zey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NDstbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLW1kLTR7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo1Oy1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItbWQtNXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjY7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci1tZC02ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NzstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLW1kLTd7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo4Oy1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItbWQtOHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjk7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci1tZC05ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTA7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci1tZC0xMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjExOy1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci1tZC0xMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEyOy1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci1tZC0xMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEzOy1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtbWQtMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtbWQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC1tZC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC1tZC0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LW1kLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LW1kLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LW1kLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtbWQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtbWQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtbWQtOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1tZC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtbWQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb2wtbGd7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC1sZy1hdXRvey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC1sZy0xey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtbGctMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLWxnLTN7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1sZy00ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtbGctNXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLWxnLTZ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1sZy03ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtbGctOHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLWxnLTl7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1sZy0xMHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLWxnLTExey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtbGctMTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLWxnLWZpcnN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MDstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbGctbGFzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE0Oy1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci1sZy0wey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLWxnLTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItbGctMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjM7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci1sZy0zey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NDstbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLWxnLTR7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo1Oy1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItbGctNXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjY7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci1sZy02ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NzstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLWxnLTd7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo4Oy1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItbGctOHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjk7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci1sZy05ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTA7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci1sZy0xMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjExOy1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci1sZy0xMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEyOy1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci1sZy0xMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEzOy1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtbGctMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtbGctMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC1sZy0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC1sZy0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LWxnLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LWxnLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LWxnLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtbGctN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtbGctOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtbGctOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1sZy0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtbGctMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuY29sLXhsey1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjA7ZmxleC1iYXNpczowOy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5jb2wteGwtYXV0b3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDpub25lfS5jb2wteGwtMXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDguMzMzMzMzJTtmbGV4OjAgMCA4LjMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzJX0uY29sLXhsLTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC14bC0zey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wteGwtNHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDMzLjMzMzMzMyU7ZmxleDowIDAgMzMuMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzJX0uY29sLXhsLTV7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA0MS42NjY2NjclO2ZsZXg6MCAwIDQxLjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NyV9LmNvbC14bC02ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wteGwtN3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDU4LjMzMzMzMyU7ZmxleDowIDAgNTguMzMzMzMzJTttYXgtd2lkdGg6NTguMzMzMzMzJX0uY29sLXhsLTh7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA2Ni42NjY2NjclO2ZsZXg6MCAwIDY2LjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NyV9LmNvbC14bC05ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNzUlO2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wteGwtMTB7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA4My4zMzMzMzMlO2ZsZXg6MCAwIDgzLjMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMyV9LmNvbC14bC0xMXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDkxLjY2NjY2NyU7ZmxleDowIDAgOTEuNjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY3JX0uY29sLXhsLTEyey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci14bC1maXJzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjA7LW1zLWZsZXgtb3JkZXI6LTE7b3JkZXI6LTF9Lm9yZGVyLXhsLWxhc3R7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxNDstbXMtZmxleC1vcmRlcjoxMztvcmRlcjoxM30ub3JkZXIteGwtMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE7LW1zLWZsZXgtb3JkZXI6MDtvcmRlcjowfS5vcmRlci14bC0xey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MjstbXMtZmxleC1vcmRlcjoxO29yZGVyOjF9Lm9yZGVyLXhsLTJ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDozOy1tcy1mbGV4LW9yZGVyOjI7b3JkZXI6Mn0ub3JkZXIteGwtM3std2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjQ7LW1zLWZsZXgtb3JkZXI6MztvcmRlcjozfS5vcmRlci14bC00ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NTstbXMtZmxleC1vcmRlcjo0O29yZGVyOjR9Lm9yZGVyLXhsLTV7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo2Oy1tcy1mbGV4LW9yZGVyOjU7b3JkZXI6NX0ub3JkZXIteGwtNnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjc7LW1zLWZsZXgtb3JkZXI6NjtvcmRlcjo2fS5vcmRlci14bC03ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ODstbXMtZmxleC1vcmRlcjo3O29yZGVyOjd9Lm9yZGVyLXhsLTh7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo5Oy1tcy1mbGV4LW9yZGVyOjg7b3JkZXI6OH0ub3JkZXIteGwtOXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEwOy1tcy1mbGV4LW9yZGVyOjk7b3JkZXI6OX0ub3JkZXIteGwtMTB7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMTstbXMtZmxleC1vcmRlcjoxMDtvcmRlcjoxMH0ub3JkZXIteGwtMTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMjstbXMtZmxleC1vcmRlcjoxMTtvcmRlcjoxMX0ub3JkZXIteGwtMTJ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMzstbXMtZmxleC1vcmRlcjoxMjtvcmRlcjoxMn0ub2Zmc2V0LXhsLTB7bWFyZ2luLWxlZnQ6MH0ub2Zmc2V0LXhsLTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMlfS5vZmZzZXQteGwtMnttYXJnaW4tbGVmdDoxNi42NjY2NjclfS5vZmZzZXQteGwtM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC14bC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMyV9Lm9mZnNldC14bC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NyV9Lm9mZnNldC14bC02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LXhsLTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzJX0ub2Zmc2V0LXhsLTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY3JX0ub2Zmc2V0LXhsLTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQteGwtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzJX0ub2Zmc2V0LXhsLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NyV9fS50YWJsZXt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MXJlbTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS50YWJsZSB0ZCwudGFibGUgdGh7cGFkZGluZzouNzVyZW07dmVydGljYWwtYWxpZ246dG9wO2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlIHRoZWFkIHRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZSB0Ym9keSt0Ym9keXtib3JkZXItdG9wOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZSAudGFibGV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS50YWJsZS1zbSB0ZCwudGFibGUtc20gdGh7cGFkZGluZzouM3JlbX0udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1ib3JkZXJlZCB0aGVhZCB0ZCwudGFibGUtYm9yZGVyZWQgdGhlYWQgdGh7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNzUpfS50YWJsZS1wcmltYXJ5LC50YWJsZS1wcmltYXJ5PnRkLC50YWJsZS1wcmltYXJ5PnRoe2JhY2tncm91bmQtY29sb3I6I2I4ZGFmZn0udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOWZjZGZmfS50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojOWZjZGZmfS50YWJsZS1zZWNvbmRhcnksLnRhYmxlLXNlY29uZGFyeT50ZCwudGFibGUtc2Vjb25kYXJ5PnRoe2JhY2tncm91bmQtY29sb3I6I2Q2ZDhkYn0udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjOGNiY2Z9LnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmfS50YWJsZS1zdWNjZXNzLC50YWJsZS1zdWNjZXNzPnRkLC50YWJsZS1zdWNjZXNzPnRoe2JhY2tncm91bmQtY29sb3I6I2MzZTZjYn0udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYjFkZmJifS50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYjFkZmJifS50YWJsZS1pbmZvLC50YWJsZS1pbmZvPnRkLC50YWJsZS1pbmZvPnRoe2JhY2tncm91bmQtY29sb3I6I2JlZTVlYn0udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS50YWJsZS13YXJuaW5nLC50YWJsZS13YXJuaW5nPnRkLC50YWJsZS13YXJuaW5nPnRoe2JhY2tncm91bmQtY29sb3I6I2ZmZWViYX0udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZlOGExfS50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZmZlOGExfS50YWJsZS1kYW5nZXIsLnRhYmxlLWRhbmdlcj50ZCwudGFibGUtZGFuZ2VyPnRoe2JhY2tncm91bmQtY29sb3I6I2Y1YzZjYn0udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMWIwYjd9LnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZjFiMGI3fS50YWJsZS1saWdodCwudGFibGUtbGlnaHQ+dGQsLnRhYmxlLWxpZ2h0PnRoe2JhY2tncm91bmQtY29sb3I6I2ZkZmRmZX0udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VjZWNmNn0udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZWNlY2Y2fS50YWJsZS1kYXJrLC50YWJsZS1kYXJrPnRkLC50YWJsZS1kYXJrPnRoe2JhY2tncm91bmQtY29sb3I6I2M2YzhjYX0udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYjliYmJlfS50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYjliYmJlfS50YWJsZS1hY3RpdmUsLnRhYmxlLWFjdGl2ZT50ZCwudGFibGUtYWN0aXZlPnRoe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDc1KX0udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSl9LnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNzUpfS50YWJsZSAudGhlYWQtZGFyayB0aHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIxMjUyOTtib3JkZXItY29sb3I6IzMyMzgzZX0udGFibGUgLnRoZWFkLWxpZ2h0IHRoe2NvbG9yOiM0OTUwNTc7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1jb2xvcjojZGVlMmU2fS50YWJsZS1kYXJre2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5fS50YWJsZS1kYXJrIHRkLC50YWJsZS1kYXJrIHRoLC50YWJsZS1kYXJrIHRoZWFkIHRoe2JvcmRlci1jb2xvcjojMzIzODNlfS50YWJsZS1kYXJrLnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjA1KX0udGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjA3NSl9QG1lZGlhIChtYXgtd2lkdGg6NTc1Ljk4cHgpey50YWJsZS1yZXNwb25zaXZlLXNte2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0udGFibGUtcmVzcG9uc2l2ZS1zbT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9fUBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS1tZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmUtbWQ+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX1AbWVkaWEgKG1heC13aWR0aDo5OTEuOThweCl7LnRhYmxlLXJlc3BvbnNpdmUtbGd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDstbXMtb3ZlcmZsb3ctc3R5bGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyfS50YWJsZS1yZXNwb25zaXZlLWxnPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH19QG1lZGlhIChtYXgtd2lkdGg6MTE5OS45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS14bHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmUteGw+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX0udGFibGUtcmVzcG9uc2l2ZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS5mb3JtLWNvbnRyb2x7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM0OTUwNTc7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW07dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXR9LmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5mb3JtLWNvbnRyb2w6Zm9jdXN7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiM4MGJkZmY7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDo6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsLmZvcm0tY29udHJvbFtyZWFkb25seV17YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO29wYWNpdHk6MX1zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKXtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KX1zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWV7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmZvcm0tY29udHJvbC1maWxlLC5mb3JtLWNvbnRyb2wtcmFuZ2V7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5jb2wtZm9ybS1sYWJlbHtwYWRkaW5nLXRvcDpjYWxjKC4zNzVyZW0gKyAxcHgpO3BhZGRpbmctYm90dG9tOmNhbGMoLjM3NXJlbSArIDFweCk7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OjEuNX0uY29sLWZvcm0tbGFiZWwtbGd7cGFkZGluZy10b3A6Y2FsYyguNXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguNXJlbSArIDFweCk7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41fS5jb2wtZm9ybS1sYWJlbC1zbXtwYWRkaW5nLXRvcDpjYWxjKC4yNXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguMjVyZW0gKyAxcHgpO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNX0uZm9ybS1jb250cm9sLXBsYWludGV4dHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZy10b3A6LjM3NXJlbTtwYWRkaW5nLWJvdHRvbTouMzc1cmVtO21hcmdpbi1ib3R0b206MDtsaW5lLWhlaWdodDoxLjU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6c29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjFweCAwfS5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1sZywuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc20sLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmJ0biwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9LmZvcm0tY29udHJvbC1zbSwuaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dHtwYWRkaW5nOi4yNXJlbSAuNXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouMnJlbX0uaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPnNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLXNtPnNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLHNlbGVjdC5mb3JtLWNvbnRyb2wtc206bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pe2hlaWdodDpjYWxjKDEuODEyNXJlbSArIDJweCl9LmZvcm0tY29udHJvbC1sZywuaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dHtwYWRkaW5nOi41cmVtIDFyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6LjNyZW19LmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+c2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+c2VsZWN0LmlucHV0LWdyb3VwLXRleHQ6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD5zZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLXByZXBlbmQ+c2VsZWN0LmlucHV0LWdyb3VwLXRleHQ6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1sZz5zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSxzZWxlY3QuZm9ybS1jb250cm9sLWxnOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKXtoZWlnaHQ6Y2FsYygyLjg3NXJlbSArIDJweCl9LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxcmVtfS5mb3JtLXRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4yNXJlbX0uZm9ybS1yb3d7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7bWFyZ2luLXJpZ2h0Oi01cHg7bWFyZ2luLWxlZnQ6LTVweH0uZm9ybS1yb3c+LmNvbCwuZm9ybS1yb3c+W2NsYXNzKj1jb2wtXXtwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLWxlZnQ6NXB4fS5mb3JtLWNoZWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1sZWZ0OjEuMjVyZW19LmZvcm0tY2hlY2staW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDouM3JlbTttYXJnaW4tbGVmdDotMS4yNXJlbX0uZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZH4uZm9ybS1jaGVjay1sYWJlbHtjb2xvcjojNmM3NTdkfS5mb3JtLWNoZWNrLWxhYmVse21hcmdpbi1ib3R0b206MH0uZm9ybS1jaGVjay1pbmxpbmV7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3g7ZGlzcGxheTppbmxpbmUtZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tcmlnaHQ6Ljc1cmVtfS5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dHtwb3NpdGlvbjpzdGF0aWM7bWFyZ2luLXRvcDowO21hcmdpbi1yaWdodDouMzEyNXJlbTttYXJnaW4tbGVmdDowfS52YWxpZC1mZWVkYmFja3tkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTttYXJnaW4tdG9wOi4yNXJlbTtmb250LXNpemU6ODAlO2NvbG9yOiMyOGE3NDV9LnZhbGlkLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7ei1pbmRleDo1O2Rpc3BsYXk6bm9uZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOi41cmVtO21hcmdpbi10b3A6LjFyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCwxNjcsNjksLjgpO2JvcmRlci1yYWRpdXM6LjJyZW19LmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQsLmZvcm0tY29udHJvbC5pcy12YWxpZCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlke2JvcmRlci1jb2xvcjojMjhhNzQ1fS5jdXN0b20tc2VsZWN0LmlzLXZhbGlkOmZvY3VzLC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQ6Zm9jdXMsLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1c3tib3JkZXItY29sb3I6IzI4YTc0NTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC4yNSl9LmN1c3RvbS1zZWxlY3QuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkfi52YWxpZC10b29sdGlwLC5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLC5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkfi52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR+LnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4uZm9ybS1jaGVjay1sYWJlbCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4uZm9ybS1jaGVjay1sYWJlbHtjb2xvcjojMjhhNzQ1fS5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWR+LnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6IzI4YTc0NX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzcxZGQ4YX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4udmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzM0Y2U1N30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjI1KX0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWx7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZXtib3JkZXItY29sb3I6aW5oZXJpdH0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4udmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbHtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC4yNSl9LmludmFsaWQtZmVlZGJhY2t7ZGlzcGxheTpub25lO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDouMjVyZW07Zm9udC1zaXplOjgwJTtjb2xvcjojZGMzNTQ1fS5pbnZhbGlkLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7ei1pbmRleDo1O2Rpc3BsYXk6bm9uZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOi41cmVtO21hcmdpbi10b3A6LjFyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyMjAsNTMsNjksLjgpO2JvcmRlci1yYWRpdXM6LjJyZW19LmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCwuZm9ybS1jb250cm9sLmlzLWludmFsaWQsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWR7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZDpmb2N1cywuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOiNkYzM1NDU7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuMjUpfS5jdXN0b20tc2VsZWN0LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuZm9ybS1jb250cm9sLmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWR+LmZvcm0tY2hlY2stbGFiZWx7Y29sb3I6I2RjMzU0NX0uZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6I2RjMzU0NX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiNlZmEyYTl9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uaW52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6I2U0NjA2ZH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3gtc2hhZG93OjAgMCAwIDFweCAjZmZmLDAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC4yNSl9LmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItY29sb3I6I2RjMzU0NX0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZXtib3JkZXItY29sb3I6aW5oZXJpdH0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVse2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjI1KX0uZm9ybS1pbmxpbmV7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5mb3JtLWlubGluZSAuZm9ybS1jaGVja3t3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZm9ybS1pbmxpbmUgbGFiZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MH0uZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXB7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206MH0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cHt3aWR0aDphdXRvfS5mb3JtLWlubGluZSAuZm9ybS1jaGVja3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDowO21hcmdpbi1yaWdodDouMjVyZW07bWFyZ2luLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjB9fS5idG57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NDAwO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzouMzc1cmVtIC43NXJlbTtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouMjVyZW07dHJhbnNpdGlvbjpjb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXR9LmJ0bjpmb2N1cywuYnRuOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5idG4uZm9jdXMsLmJ0bjpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5idG4uZGlzYWJsZWQsLmJ0bjpkaXNhYmxlZHtvcGFjaXR5Oi42NX0uYnRuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpe2N1cnNvcjpwb2ludGVyfS5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZle2JhY2tncm91bmQtaW1hZ2U6bm9uZX1hLmJ0bi5kaXNhYmxlZCxmaWVsZHNldDpkaXNhYmxlZCBhLmJ0bntwb2ludGVyLWV2ZW50czpub25lfS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDY5ZDk7Ym9yZGVyLWNvbG9yOiMwMDYyY2N9LmJ0bi1wcmltYXJ5LmZvY3VzLC5idG4tcHJpbWFyeTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC41KX0uYnRuLXByaW1hcnkuZGlzYWJsZWQsLmJ0bi1wcmltYXJ5OmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA2MmNjO2JvcmRlci1jb2xvcjojMDA1Y2JmfS5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjUpfS5idG4tc2Vjb25kYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkO2JvcmRlci1jb2xvcjojNmM3NTdkfS5idG4tc2Vjb25kYXJ5OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNWE2MjY4O2JvcmRlci1jb2xvcjojNTQ1YjYyfS5idG4tc2Vjb25kYXJ5LmZvY3VzLC5idG4tc2Vjb25kYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgxMDgsMTE3LDEyNSwuNSl9LmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQsLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2Q7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1NDViNjI7Ym9yZGVyLWNvbG9yOiM0ZTU1NWJ9LmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEwOCwxMTcsMTI1LC41KX0uYnRuLXN1Y2Nlc3N7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDU7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmJ0bi1zdWNjZXNzOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjE4ODM4O2JvcmRlci1jb2xvcjojMWU3ZTM0fS5idG4tc3VjY2Vzcy5mb2N1cywuYnRuLXN1Y2Nlc3M6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQwLDE2Nyw2OSwuNSl9LmJ0bi1zdWNjZXNzLmRpc2FibGVkLC5idG4tc3VjY2VzczpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzFlN2UzNDtib3JkZXItY29sb3I6IzFjNzQzMH0uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC41KX0uYnRuLWluZm97Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjg7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1pbmZvOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTM4NDk2O2JvcmRlci1jb2xvcjojMTE3YThifS5idG4taW5mby5mb2N1cywuYnRuLWluZm86Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIzLDE2MiwxODQsLjUpfS5idG4taW5mby5kaXNhYmxlZCwuYnRuLWluZm86ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjg7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxMTdhOGI7Ym9yZGVyLWNvbG9yOiMxMDcwN2Z9LmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIzLDE2MiwxODQsLjUpfS5idG4td2FybmluZ3tjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2ZmYzEwNztib3JkZXItY29sb3I6I2ZmYzEwN30uYnRuLXdhcm5pbmc6aG92ZXJ7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNlMGE4MDA7Ym9yZGVyLWNvbG9yOiNkMzllMDB9LmJ0bi13YXJuaW5nLmZvY3VzLC5idG4td2FybmluZzpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjU1LDE5Myw3LC41KX0uYnRuLXdhcm5pbmcuZGlzYWJsZWQsLmJ0bi13YXJuaW5nOmRpc2FibGVke2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZDM5ZTAwO2JvcmRlci1jb2xvcjojYzY5NTAwfS5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNTUsMTkzLDcsLjUpfS5idG4tZGFuZ2Vye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZGMzNTQ1O2JvcmRlci1jb2xvcjojZGMzNTQ1fS5idG4tZGFuZ2VyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYzgyMzMzO2JvcmRlci1jb2xvcjojYmQyMTMwfS5idG4tZGFuZ2VyLmZvY3VzLC5idG4tZGFuZ2VyOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjUpfS5idG4tZGFuZ2VyLmRpc2FibGVkLC5idG4tZGFuZ2VyOmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZGMzNTQ1O2JvcmRlci1jb2xvcjojZGMzNTQ1fS5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYmQyMTMwO2JvcmRlci1jb2xvcjojYjIxZjJkfS5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjUpfS5idG4tbGlnaHR7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1saWdodDpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2UyZTZlYTtib3JkZXItY29sb3I6I2RhZTBlNX0uYnRuLWxpZ2h0LmZvY3VzLC5idG4tbGlnaHQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI0OCwyNDksMjUwLC41KX0uYnRuLWxpZ2h0LmRpc2FibGVkLC5idG4tbGlnaHQ6ZGlzYWJsZWR7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNkYWUwZTU7Ym9yZGVyLWNvbG9yOiNkM2Q5ZGZ9LmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI0OCwyNDksMjUwLC41KX0uYnRuLWRhcmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1kYXJrOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjMyNzJiO2JvcmRlci1jb2xvcjojMWQyMTI0fS5idG4tZGFyay5mb2N1cywuYnRuLWRhcms6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDUyLDU4LDY0LC41KX0uYnRuLWRhcmsuZGlzYWJsZWQsLmJ0bi1kYXJrOmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwO2JvcmRlci1jb2xvcjojMzQzYTQwfS5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWQyMTI0O2JvcmRlci1jb2xvcjojMTcxYTFkfS5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1Miw1OCw2NCwuNSl9LmJ0bi1vdXRsaW5lLXByaW1hcnl7Y29sb3I6IzAwN2JmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLW91dGxpbmUtcHJpbWFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cywuYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC41KX0uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZCwuYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZHtjb2xvcjojMDA3YmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyLWNvbG9yOiMwMDdiZmZ9LmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuNSl9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeXtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojNmM3NTdkfS5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2Q7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgxMDgsMTE3LDEyNSwuNSl9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZH0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMTA4LDExNywxMjUsLjUpfS5idG4tb3V0bGluZS1zdWNjZXNze2NvbG9yOiMyOGE3NDU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDU7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMsLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQwLDE2Nyw2OSwuNSl9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWR7Y29sb3I6IzI4YTc0NTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1O2JvcmRlci1jb2xvcjojMjhhNzQ1fS5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjUpfS5idG4tb3V0bGluZS1pbmZve2NvbG9yOiMxN2EyYjg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1vdXRsaW5lLWluZm86aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjg7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIzLDE2MiwxODQsLjUpfS5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLC5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVke2NvbG9yOiMxN2EyYjg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjMsMTYyLDE4NCwuNSl9LmJ0bi1vdXRsaW5lLXdhcm5pbmd7Y29sb3I6I2ZmYzEwNztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6I2ZmYzEwN30uYnRuLW91dGxpbmUtd2FybmluZzpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2ZmYzEwNztib3JkZXItY29sb3I6I2ZmYzEwN30uYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cywuYnRuLW91dGxpbmUtd2FybmluZzpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjU1LDE5Myw3LC41KX0uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZCwuYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZHtjb2xvcjojZmZjMTA3O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmMxMDc7Ym9yZGVyLWNvbG9yOiNmZmMxMDd9LmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI1NSwxOTMsNywuNSl9LmJ0bi1vdXRsaW5lLWRhbmdlcntjb2xvcjojZGMzNTQ1O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojZGMzNTQ1fS5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cywuYnRuLW91dGxpbmUtZGFuZ2VyOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjUpfS5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLWRhbmdlcjpkaXNhYmxlZHtjb2xvcjojZGMzNTQ1O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJ0bi1vdXRsaW5lLWxpZ2h0e2NvbG9yOiNmOGY5ZmE7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVye2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlci1jb2xvcjojZjhmOWZhfS5idG4tb3V0bGluZS1saWdodC5mb2N1cywuYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI0OCwyNDksMjUwLC41KX0uYnRuLW91dGxpbmUtbGlnaHQuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLWxpZ2h0OmRpc2FibGVke2NvbG9yOiNmOGY5ZmE7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tb3V0bGluZS1kYXJre2NvbG9yOiMzNDNhNDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1vdXRsaW5lLWRhcms6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1vdXRsaW5lLWRhcmsuZm9jdXMsLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDUyLDU4LDY0LC41KX0uYnRuLW91dGxpbmUtZGFyay5kaXNhYmxlZCwuYnRuLW91dGxpbmUtZGFyazpkaXNhYmxlZHtjb2xvcjojMzQzYTQwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDUyLDU4LDY0LC41KX0uYnRuLWxpbmt7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMwMDdiZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWxpbms6aG92ZXJ7Y29sb3I6IzAwNTZiMzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGluay5mb2N1cywuYnRuLWxpbms6Zm9jdXN7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lfS5idG4tbGluay5kaXNhYmxlZCwuYnRuLWxpbms6ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZH0uYnRuLWdyb3VwLWxnPi5idG4sLmJ0bi1sZ3twYWRkaW5nOi41cmVtIDFyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6LjNyZW19LmJ0bi1ncm91cC1zbT4uYnRuLC5idG4tc217cGFkZGluZzouMjVyZW0gLjVyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6LjJyZW19LmJ0bi1ibG9ja3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9LmJ0bi1ibG9jaysuYnRuLWJsb2Nre21hcmdpbi10b3A6LjVyZW19aW5wdXRbdHlwZT1idXR0b25dLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXJlc2V0XS5idG4tYmxvY2ssaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bi1ibG9ja3t3aWR0aDoxMDAlfS5mYWRle29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXJ9LmZhZGUuc2hvd3tvcGFjaXR5OjF9LmNvbGxhcHNle2Rpc3BsYXk6bm9uZX0uY29sbGFwc2Uuc2hvd3tkaXNwbGF5OmJsb2NrfXRyLmNvbGxhcHNlLnNob3d7ZGlzcGxheTp0YWJsZS1yb3d9dGJvZHkuY29sbGFwc2Uuc2hvd3tkaXNwbGF5OnRhYmxlLXJvdy1ncm91cH0uY29sbGFwc2luZ3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpoZWlnaHQgLjM1cyBlYXNlfS5kcm9wZG93biwuZHJvcHVwe3Bvc2l0aW9uOnJlbGF0aXZlfS5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbTtjb250ZW50OiIiO2JvcmRlci10b3A6LjNlbSBzb2xpZDtib3JkZXItcmlnaHQ6LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjA7Ym9yZGVyLWxlZnQ6LjNlbSBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MDt6LWluZGV4OjEwMDA7ZGlzcGxheTpub25lO2Zsb2F0OmxlZnQ7bWluLXdpZHRoOjEwcmVtO3BhZGRpbmc6LjVyZW0gMDttYXJnaW46LjEyNXJlbSAwIDA7Zm9udC1zaXplOjFyZW07Y29sb3I6IzIxMjUyOTt0ZXh0LWFsaWduOmxlZnQ7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czouMjVyZW19LmRyb3B1cCAuZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouMTI1cmVtfS5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDowO2JvcmRlci1yaWdodDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206LjNlbSBzb2xpZDtib3JkZXItbGVmdDouM2VtIHNvbGlkIHRyYW5zcGFyZW50fS5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcHJpZ2h0IC5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6MDttYXJnaW4tbGVmdDouMTI1cmVtfS5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDouM2VtIHNvbGlkfS5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVye3ZlcnRpY2FsLWFsaWduOjB9LmRyb3BsZWZ0IC5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6MDttYXJnaW4tcmlnaHQ6LjEyNXJlbX0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiJ9LmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6bm9uZX0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLXJpZ2h0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW07Y29udGVudDoiIjtib3JkZXItdG9wOi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0Oi4zZW0gc29saWQ7Ym9yZGVyLWJvdHRvbTouM2VtIHNvbGlkIHRyYW5zcGFyZW50fS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmV7dmVydGljYWwtYWxpZ246MH0uZHJvcGRvd24tZGl2aWRlcntoZWlnaHQ6MDttYXJnaW46LjVyZW0gMDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXRvcDoxcHggc29saWQgI2U5ZWNlZn0uZHJvcGRvd24taXRlbXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzouMjVyZW0gMS41cmVtO2NsZWFyOmJvdGg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjppbmhlcml0O3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5kcm9wZG93bi1pdGVtOmZvY3VzLC5kcm9wZG93bi1pdGVtOmhvdmVye2NvbG9yOiMxNjE4MWI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfS5kcm9wZG93bi1pdGVtLmFjdGl2ZSwuZHJvcGRvd24taXRlbTphY3RpdmV7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5kcm9wZG93bi1tZW51LnNob3d7ZGlzcGxheTpibG9ja30uZHJvcGRvd24taGVhZGVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAxLjVyZW07bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZTouODc1cmVtO2NvbG9yOiM2Yzc1N2Q7d2hpdGUtc3BhY2U6bm93cmFwfS5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4sLmJ0bi1ncm91cD4uYnRue3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDEgYXV0bztmbGV4OjAgMSBhdXRvfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpob3ZlciwuYnRuLWdyb3VwPi5idG46aG92ZXJ7ei1pbmRleDoxfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi5hY3RpdmUsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmFjdGl2ZSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46Zm9jdXMsLmJ0bi1ncm91cD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwPi5idG46YWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjpmb2N1c3t6LWluZGV4OjF9LmJ0bi1ncm91cCAuYnRuKy5idG4sLmJ0bi1ncm91cCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLWxlZnQ6LTFweH0uYnRuLXRvb2xiYXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXB7d2lkdGg6YXV0b30uYnRuLWdyb3VwPi5idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5idG4tZ3JvdXA+LmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmRyb3Bkb3duLXRvZ2dsZS1zcGxpdHtwYWRkaW5nLXJpZ2h0Oi41NjI1cmVtO3BhZGRpbmctbGVmdDouNTYyNXJlbX0uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlcnttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXAtc20+LmJ0bisuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LC5idG4tc20rLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdHtwYWRkaW5nLXJpZ2h0Oi4zNzVyZW07cGFkZGluZy1sZWZ0Oi4zNzVyZW19LmJ0bi1ncm91cC1sZz4uYnRuKy5kcm9wZG93bi10b2dnbGUtc3BsaXQsLmJ0bi1sZysuZHJvcGRvd24tdG9nZ2xlLXNwbGl0e3BhZGRpbmctcmlnaHQ6Ljc1cmVtO3BhZGRpbmctbGVmdDouNzVyZW19LmJ0bi1ncm91cC12ZXJ0aWNhbHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstbXMtZmxleC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cHt3aWR0aDoxMDAlfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bisuYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bisuYnRuLWdyb3VwLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCsuYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCsuYnRuLWdyb3Vwe21hcmdpbi10b3A6LTFweDttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwLXRvZ2dsZT4uYnRuLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0bnttYXJnaW4tYm90dG9tOjB9LmJ0bi1ncm91cC10b2dnbGU+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSwuYnRuLWdyb3VwLXRvZ2dsZT4uYnRuIGlucHV0W3R5cGU9cmFkaW9dLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSwuYnRuLWdyb3VwLXRvZ2dsZT4uYnRuLWdyb3VwPi5idG4gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmV9LmlucHV0LWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LW1zLWZsZXgtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNoO3dpZHRoOjEwMCV9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2x7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG87d2lkdGg6MSU7bWFyZ2luLWJvdHRvbTowfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6Zm9jdXMsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0OmZvY3VzLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOmZvY3Vze3otaW5kZXg6M30uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUrLmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmN1c3RvbS1maWxlLC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCsuY3VzdG9tLWZpbGUsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmZvcm0tY29udHJvbHttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGV7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cC1hcHBlbmQsLmlucHV0LWdyb3VwLXByZXBlbmR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4sLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjJ9LmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuKy5idG4sLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuKy5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmJ0biwuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4rLmJ0biwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuKy5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5idG4sLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmlucHV0LWdyb3VwLXRleHR7bWFyZ2luLWxlZnQ6LTFweH0uaW5wdXQtZ3JvdXAtcHJlcGVuZHttYXJnaW4tcmlnaHQ6LTFweH0uaW5wdXQtZ3JvdXAtYXBwZW5ke21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWdyb3VwLXRleHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM0OTUwNTc7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW19LmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1jaGVja2JveF0sLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1yYWRpb117bWFyZ2luLXRvcDowfS5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQ+LmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmJ0biwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uY3VzdG9tLWNvbnRyb2x7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttaW4taGVpZ2h0OjEuNXJlbTtwYWRkaW5nLWxlZnQ6MS41cmVtfS5jdXN0b20tY29udHJvbC1pbmxpbmV7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3g7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tcmlnaHQ6MXJlbX0uY3VzdG9tLWNvbnRyb2wtaW5wdXR7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtvcGFjaXR5OjB9LmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYjNkN2ZmfS5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6IzZjNzU3ZH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmfS5jdXN0b20tY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjB9LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yNXJlbTtsZWZ0OjA7ZGlzcGxheTpibG9jazt3aWR0aDoxcmVtO2hlaWdodDoxcmVtO3BvaW50ZXItZXZlbnRzOm5vbmU7Y29udGVudDoiIjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7YmFja2dyb3VuZC1jb2xvcjojZGVlMmU2fS5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yNXJlbTtsZWZ0OjA7ZGlzcGxheTpibG9jazt3aWR0aDoxcmVtO2hlaWdodDoxcmVtO2NvbnRlbnQ6IiI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6NTAlIDUwJX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JvcmRlci1yYWRpdXM6LjI1cmVtfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRSIpfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRSIpfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTIzLDI1NSwuNSl9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMjMsMjU1LC41KX0uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlfS5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRSIpfS5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTIzLDI1NSwuNSl9LmN1c3RvbS1zZWxlY3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KTtwYWRkaW5nOi4zNzVyZW0gMS43NXJlbSAuMzc1cmVtIC43NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1Nzt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzQzYTQwJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFIikgbm8tcmVwZWF0IHJpZ2h0IC43NXJlbSBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjhweCAxMHB4O2JvcmRlcjoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOi4yNXJlbTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmN1c3RvbS1zZWxlY3Q6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM4MGJkZmY7b3V0bGluZTowO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDVweCByZ2JhKDEyOCwxODksMjU1LC41KX0uY3VzdG9tLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVle2NvbG9yOiM0OTUwNTc7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5jdXN0b20tc2VsZWN0W211bHRpcGxlXSwuY3VzdG9tLXNlbGVjdFtzaXplXTpub3QoW3NpemU9IjEiXSl7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDouNzVyZW07YmFja2dyb3VuZC1pbWFnZTpub25lfS5jdXN0b20tc2VsZWN0OmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmfS5jdXN0b20tc2VsZWN0OjotbXMtZXhwYW5ke29wYWNpdHk6MH0uY3VzdG9tLXNlbGVjdC1zbXtoZWlnaHQ6Y2FsYygxLjgxMjVyZW0gKyAycHgpO3BhZGRpbmctdG9wOi4zNzVyZW07cGFkZGluZy1ib3R0b206LjM3NXJlbTtmb250LXNpemU6NzUlfS5jdXN0b20tc2VsZWN0LWxne2hlaWdodDpjYWxjKDIuODc1cmVtICsgMnB4KTtwYWRkaW5nLXRvcDouMzc1cmVtO3BhZGRpbmctYm90dG9tOi4zNzVyZW07Zm9udC1zaXplOjEyNSV9LmN1c3RvbS1maWxle3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OmNhbGMoMi4yNXJlbSArIDJweCk7bWFyZ2luLWJvdHRvbTowfS5jdXN0b20tZmlsZS1pbnB1dHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7d2lkdGg6MTAwJTtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KTttYXJnaW46MDtvcGFjaXR5OjB9LmN1c3RvbS1maWxlLWlucHV0OmZvY3Vzfi5jdXN0b20tZmlsZS1jb250cm9se2JvcmRlci1jb2xvcjojODBiZGZmO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXN+LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZXtib3JkZXItY29sb3I6IzgwYmRmZn0uY3VzdG9tLWZpbGUtaW5wdXQ6bGFuZyhlbil+LmN1c3RvbS1maWxlLWxhYmVsOjphZnRlcntjb250ZW50OiJCcm93c2UifS5jdXN0b20tZmlsZS1sYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2xlZnQ6MDt6LWluZGV4OjE7aGVpZ2h0OmNhbGMoMi4yNXJlbSArIDJweCk7cGFkZGluZzouMzc1cmVtIC43NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjM7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYyhjYWxjKDIuMjVyZW0gKyAycHgpIC0gMXB4ICogMik7cGFkZGluZzouMzc1cmVtIC43NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1Nztjb250ZW50OiJCcm93c2UiO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItbGVmdDoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOjAgLjI1cmVtIC4yNXJlbSAwfS5uYXZ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGU6bm9uZX0ubmF2LWxpbmt7ZGlzcGxheTpibG9jaztwYWRkaW5nOi41cmVtIDFyZW19Lm5hdi1saW5rOmZvY3VzLC5uYXYtbGluazpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0ubmF2LWxpbmsuZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZH0ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNn0ubmF2LXRhYnMgLm5hdi1pdGVte21hcmdpbi1ib3R0b206LTFweH0ubmF2LXRhYnMgLm5hdi1saW5re2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5uYXYtdGFicyAubmF2LWxpbms6Zm9jdXMsLm5hdi10YWJzIC5uYXYtbGluazpob3Zlcntib3JkZXItY29sb3I6I2U5ZWNlZiAjZTllY2VmICNkZWUyZTZ9Lm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmssLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmV7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZWUyZTYgI2RlZTJlNiAjZmZmfS5uYXYtdGFicyAuZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm5hdi1waWxscyAubmF2LWxpbmt7Ym9yZGVyLXJhZGl1czouMjVyZW19Lm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLC5uYXYtcGlsbHMgLnNob3c+Lm5hdi1saW5re2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5uYXYtZmlsbCAubmF2LWl0ZW17LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG87dGV4dC1hbGlnbjpjZW50ZXJ9Lm5hdi1qdXN0aWZpZWQgLm5hdi1pdGVtey1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjA7ZmxleC1iYXNpczowOy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO3RleHQtYWxpZ246Y2VudGVyfS50YWItY29udGVudD4udGFiLXBhbmV7ZGlzcGxheTpub25lfS50YWItY29udGVudD4uYWN0aXZle2Rpc3BsYXk6YmxvY2t9Lm5hdmJhcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6LjVyZW0gMXJlbX0ubmF2YmFyPi5jb250YWluZXIsLm5hdmJhcj4uY29udGFpbmVyLWZsdWlke2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lm5hdmJhci1icmFuZHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDouMzEyNXJlbTtwYWRkaW5nLWJvdHRvbTouMzEyNXJlbTttYXJnaW4tcmlnaHQ6MXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDppbmhlcml0O3doaXRlLXNwYWNlOm5vd3JhcH0ubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItYnJhbmQ6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdmJhci1uYXZ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7bGlzdC1zdHlsZTpub25lfS5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246c3RhdGljO2Zsb2F0Om5vbmV9Lm5hdmJhci10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5uYXZiYXItY29sbGFwc2V7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MTAwJTtmbGV4LWJhc2lzOjEwMCU7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5hdmJhci10b2dnbGVye3BhZGRpbmc6LjI1cmVtIC43NXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOi4yNXJlbX0ubmF2YmFyLXRvZ2dsZXI6Zm9jdXMsLm5hdmJhci10b2dnbGVyOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn0ubmF2YmFyLXRvZ2dsZXItaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxLjVlbTtoZWlnaHQ6MS41ZW07dmVydGljYWwtYWxpZ246bWlkZGxlO2NvbnRlbnQ6IiI7YmFja2dyb3VuZDpuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfUBtZWRpYSAobWF4LXdpZHRoOjU3NS45OHB4KXsubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm5hdmJhci1leHBhbmQtc217LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1mbHVpZHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItZXhwYW5kLXNtIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KXsubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1leHBhbmQtbWR7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci1mbHVpZHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItZXhwYW5kLW1kIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KXsubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm5hdmJhci1leHBhbmQtbGd7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1mbHVpZHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItZXhwYW5kLWxnIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjExOTkuOThweCl7Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsubmF2YmFyLWV4cGFuZC14bHstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXZ7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9Lm5hdmJhci1leHBhbmQteGwgLmRyb3B1cCAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJX19Lm5hdmJhci1leHBhbmR7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXZ7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9Lm5hdmJhci1leHBhbmQgLmRyb3B1cCAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmR7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3Zlcntjb2xvcjpyZ2JhKDAsMCwwLC45KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGlua3tjb2xvcjpyZ2JhKDAsMCwwLC41KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3Zlcntjb2xvcjpyZ2JhKDAsMCwwLC43KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zKX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmU+Lm5hdi1saW5rLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3c+Lm5hdi1saW5re2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVye2NvbG9yOnJnYmEoMCwwLDAsLjUpO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgwLCAwLCAwLCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRSIpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0e2NvbG9yOnJnYmEoMCwwLDAsLjUpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGF7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cywubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5ke2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6aG92ZXJ7Y29sb3I6I2ZmZn0ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5re2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMsLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3Zlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5hY3RpdmU+Lm5hdi1saW5rLC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdywubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLnNob3c+Lm5hdi1saW5re2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRSIpfS5uYXZiYXItZGFyayAubmF2YmFyLXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhe2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzLC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3Zlcntjb2xvcjojZmZmfS5jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpib3JkZXItYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KTtib3JkZXItcmFkaXVzOi4yNXJlbX0uY2FyZD5ocnttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5jYXJkPi5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5jYXJkPi5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0uY2FyZC1ib2R5ey13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDEgYXV0bztmbGV4OjEgMSBhdXRvO3BhZGRpbmc6MS4yNXJlbX0uY2FyZC10aXRsZXttYXJnaW4tYm90dG9tOi43NXJlbX0uY2FyZC1zdWJ0aXRsZXttYXJnaW4tdG9wOi0uMzc1cmVtO21hcmdpbi1ib3R0b206MH0uY2FyZC10ZXh0Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5jYXJkLWxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmNhcmQtbGluaysuY2FyZC1saW5re21hcmdpbi1sZWZ0OjEuMjVyZW19LmNhcmQtaGVhZGVye3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07bWFyZ2luLWJvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDMpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSl9LmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpIGNhbGMoLjI1cmVtIC0gMXB4KSAwIDB9LmNhcmQtaGVhZGVyKy5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcDowfS5jYXJkLWZvb3RlcntwYWRkaW5nOi43NXJlbSAxLjI1cmVtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDMpO2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSl9LmNhcmQtZm9vdGVyOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDAgY2FsYyguMjVyZW0gLSAxcHgpIGNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1oZWFkZXItdGFic3ttYXJnaW4tcmlnaHQ6LS42MjVyZW07bWFyZ2luLWJvdHRvbTotLjc1cmVtO21hcmdpbi1sZWZ0Oi0uNjI1cmVtO2JvcmRlci1ib3R0b206MH0uY2FyZC1oZWFkZXItcGlsbHN7bWFyZ2luLXJpZ2h0Oi0uNjI1cmVtO21hcmdpbi1sZWZ0Oi0uNjI1cmVtfS5jYXJkLWltZy1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3BhZGRpbmc6MS4yNXJlbX0uY2FyZC1pbWd7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1pbWctdG9we3dpZHRoOjEwMCU7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpfS5jYXJkLWltZy1ib3R0b217d2lkdGg6MTAwJTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCl9LmNhcmQtZGVja3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jYXJkLWRlY2sgLmNhcmR7bWFyZ2luLWJvdHRvbToxNXB4fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY2FyZC1kZWNrey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZmxvdzpyb3cgd3JhcDtmbGV4LWZsb3c6cm93IHdyYXA7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1sZWZ0Oi0xNXB4fS5jYXJkLWRlY2sgLmNhcmR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAwIDAlO2ZsZXg6MSAwIDAlOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1yaWdodDoxNXB4O21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDoxNXB4fX0uY2FyZC1ncm91cHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jYXJkLWdyb3VwPi5jYXJke21hcmdpbi1ib3R0b206MTVweH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNhcmQtZ3JvdXB7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcH0uY2FyZC1ncm91cD4uY2FyZHstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAwIDAlO2ZsZXg6MSAwIDAlO21hcmdpbi1ib3R0b206MH0uY2FyZC1ncm91cD4uY2FyZCsuY2FyZHttYXJnaW4tbGVmdDowO2JvcmRlci1sZWZ0OjB9LmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWhlYWRlciwuY2FyZC1ncm91cD4uY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1pbWctdG9we2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b217Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1oZWFkZXIsLmNhcmQtZ3JvdXA+LmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWZvb3RlciwuY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b217Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm9ubHktY2hpbGR7Ym9yZGVyLXJhZGl1czouMjVyZW19LmNhcmQtZ3JvdXA+LmNhcmQ6b25seS1jaGlsZCAuY2FyZC1oZWFkZXIsLmNhcmQtZ3JvdXA+LmNhcmQ6b25seS1jaGlsZCAuY2FyZC1pbWctdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbX0uY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWZvb3RlciwuY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy1ib3R0b217Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKXtib3JkZXItcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWZvb3RlciwuY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtaGVhZGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctdG9we2JvcmRlci1yYWRpdXM6MH19LmNhcmQtY29sdW1ucyAuY2FyZHttYXJnaW4tYm90dG9tOi43NXJlbX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNhcmQtY29sdW1uc3std2Via2l0LWNvbHVtbi1jb3VudDozOy1tb3otY29sdW1uLWNvdW50OjM7Y29sdW1uLWNvdW50OjM7LXdlYmtpdC1jb2x1bW4tZ2FwOjEuMjVyZW07LW1vei1jb2x1bW4tZ2FwOjEuMjVyZW07Y29sdW1uLWdhcDoxLjI1cmVtfS5jYXJkLWNvbHVtbnMgLmNhcmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJX19LmJyZWFkY3J1bWJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7cGFkZGluZzouNzVyZW0gMXJlbTttYXJnaW4tYm90dG9tOjFyZW07bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItcmFkaXVzOi4yNXJlbX0uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0Oi41cmVtO3BhZGRpbmctbGVmdDouNXJlbTtjb2xvcjojNmM3NTdkO2NvbnRlbnQ6Ii8ifS5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3Jle3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmV7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJyZWFkY3J1bWItaXRlbS5hY3RpdmV7Y29sb3I6IzZjNzU3ZH0ucGFnaW5hdGlvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOi4yNXJlbX0ucGFnZS1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAuNzVyZW07bWFyZ2luLWxlZnQ6LTFweDtsaW5lLWhlaWdodDoxLjI1O2NvbG9yOiMwMDdiZmY7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RlZTJlNn0ucGFnZS1saW5rOmhvdmVye2NvbG9yOiMwMDU2YjM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1jb2xvcjojZGVlMmU2fS5wYWdlLWxpbms6Zm9jdXN7ei1pbmRleDoyO291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC4yNSl9LnBhZ2UtbGluazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn0ucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmt7bWFyZ2luLWxlZnQ6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtfS5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmt7ei1pbmRleDoxO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGlua3tjb2xvcjojNmM3NTdkO3BvaW50ZXItZXZlbnRzOm5vbmU7Y3Vyc29yOmF1dG87YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjojZGVlMmU2fS5wYWdpbmF0aW9uLWxnIC5wYWdlLWxpbmt7cGFkZGluZzouNzVyZW0gMS41cmVtO2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNX0ucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouM3JlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4zcmVtfS5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4zcmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4zcmVtfS5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmt7cGFkZGluZzouMjVyZW0gLjVyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS41fS5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4ycmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjJyZW19LnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjJyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjJyZW19LmJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6LjI1ZW0gLjRlbTtmb250LXNpemU6NzUlO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtib3JkZXItcmFkaXVzOi4yNXJlbX0uYmFkZ2U6ZW1wdHl7ZGlzcGxheTpub25lfS5idG4gLmJhZGdle3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4fS5iYWRnZS1waWxse3BhZGRpbmctcmlnaHQ6LjZlbTtwYWRkaW5nLWxlZnQ6LjZlbTtib3JkZXItcmFkaXVzOjEwcmVtfS5iYWRnZS1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5iYWRnZS1wcmltYXJ5W2hyZWZdOmZvY3VzLC5iYWRnZS1wcmltYXJ5W2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMDA2MmNjfS5iYWRnZS1zZWNvbmRhcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2R9LmJhZGdlLXNlY29uZGFyeVtocmVmXTpmb2N1cywuYmFkZ2Utc2Vjb25kYXJ5W2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojNTQ1YjYyfS5iYWRnZS1zdWNjZXNze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1fS5iYWRnZS1zdWNjZXNzW2hyZWZdOmZvY3VzLC5iYWRnZS1zdWNjZXNzW2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMWU3ZTM0fS5iYWRnZS1pbmZve2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4fS5iYWRnZS1pbmZvW2hyZWZdOmZvY3VzLC5iYWRnZS1pbmZvW2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMTE3YThifS5iYWRnZS13YXJuaW5ne2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3fS5iYWRnZS13YXJuaW5nW2hyZWZdOmZvY3VzLC5iYWRnZS13YXJuaW5nW2hyZWZdOmhvdmVye2NvbG9yOiMyMTI1Mjk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZDM5ZTAwfS5iYWRnZS1kYW5nZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDV9LmJhZGdlLWRhbmdlcltocmVmXTpmb2N1cywuYmFkZ2UtZGFuZ2VyW2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojYmQyMTMwfS5iYWRnZS1saWdodHtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYX0uYmFkZ2UtbGlnaHRbaHJlZl06Zm9jdXMsLmJhZGdlLWxpZ2h0W2hyZWZdOmhvdmVye2NvbG9yOiMyMTI1Mjk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZGFlMGU1fS5iYWRnZS1kYXJre2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwfS5iYWRnZS1kYXJrW2hyZWZdOmZvY3VzLC5iYWRnZS1kYXJrW2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMWQyMTI0fS5qdW1ib3Ryb257cGFkZGluZzoycmVtIDFyZW07bWFyZ2luLWJvdHRvbToycmVtO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItcmFkaXVzOi4zcmVtfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuanVtYm90cm9ue3BhZGRpbmc6NHJlbSAycmVtfX0uanVtYm90cm9uLWZsdWlke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MDtib3JkZXItcmFkaXVzOjB9LmFsZXJ0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07bWFyZ2luLWJvdHRvbToxcmVtO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czouMjVyZW19LmFsZXJ0LWhlYWRpbmd7Y29sb3I6aW5oZXJpdH0uYWxlcnQtbGlua3tmb250LXdlaWdodDo3MDB9LmFsZXJ0LWRpc21pc3NpYmxle3BhZGRpbmctcmlnaHQ6NHJlbX0uYWxlcnQtZGlzbWlzc2libGUgLmNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7cGFkZGluZzouNzVyZW0gMS4yNXJlbTtjb2xvcjppbmhlcml0fS5hbGVydC1wcmltYXJ5e2NvbG9yOiMwMDQwODU7YmFja2dyb3VuZC1jb2xvcjojY2NlNWZmO2JvcmRlci1jb2xvcjojYjhkYWZmfS5hbGVydC1wcmltYXJ5IGhye2JvcmRlci10b3AtY29sb3I6IzlmY2RmZn0uYWxlcnQtcHJpbWFyeSAuYWxlcnQtbGlua3tjb2xvcjojMDAyNzUyfS5hbGVydC1zZWNvbmRhcnl7Y29sb3I6IzM4M2Q0MTtiYWNrZ3JvdW5kLWNvbG9yOiNlMmUzZTU7Ym9yZGVyLWNvbG9yOiNkNmQ4ZGJ9LmFsZXJ0LXNlY29uZGFyeSBocntib3JkZXItdG9wLWNvbG9yOiNjOGNiY2Z9LmFsZXJ0LXNlY29uZGFyeSAuYWxlcnQtbGlua3tjb2xvcjojMjAyMzI2fS5hbGVydC1zdWNjZXNze2NvbG9yOiMxNTU3MjQ7YmFja2dyb3VuZC1jb2xvcjojZDRlZGRhO2JvcmRlci1jb2xvcjojYzNlNmNifS5hbGVydC1zdWNjZXNzIGhye2JvcmRlci10b3AtY29sb3I6I2IxZGZiYn0uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGlua3tjb2xvcjojMGIyZTEzfS5hbGVydC1pbmZve2NvbG9yOiMwYzU0NjA7YmFja2dyb3VuZC1jb2xvcjojZDFlY2YxO2JvcmRlci1jb2xvcjojYmVlNWVifS5hbGVydC1pbmZvIGhye2JvcmRlci10b3AtY29sb3I6I2FiZGRlNX0uYWxlcnQtaW5mbyAuYWxlcnQtbGlua3tjb2xvcjojMDYyYzMzfS5hbGVydC13YXJuaW5ne2NvbG9yOiM4NTY0MDQ7YmFja2dyb3VuZC1jb2xvcjojZmZmM2NkO2JvcmRlci1jb2xvcjojZmZlZWJhfS5hbGVydC13YXJuaW5nIGhye2JvcmRlci10b3AtY29sb3I6I2ZmZThhMX0uYWxlcnQtd2FybmluZyAuYWxlcnQtbGlua3tjb2xvcjojNTMzZjAzfS5hbGVydC1kYW5nZXJ7Y29sb3I6IzcyMWMyNDtiYWNrZ3JvdW5kLWNvbG9yOiNmOGQ3ZGE7Ym9yZGVyLWNvbG9yOiNmNWM2Y2J9LmFsZXJ0LWRhbmdlciBocntib3JkZXItdG9wLWNvbG9yOiNmMWIwYjd9LmFsZXJ0LWRhbmdlciAuYWxlcnQtbGlua3tjb2xvcjojNDkxMjE3fS5hbGVydC1saWdodHtjb2xvcjojODE4MTgyO2JhY2tncm91bmQtY29sb3I6I2ZlZmVmZTtib3JkZXItY29sb3I6I2ZkZmRmZX0uYWxlcnQtbGlnaHQgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZWNlY2Y2fS5hbGVydC1saWdodCAuYWxlcnQtbGlua3tjb2xvcjojNjg2ODY4fS5hbGVydC1kYXJre2NvbG9yOiMxYjFlMjE7YmFja2dyb3VuZC1jb2xvcjojZDZkOGQ5O2JvcmRlci1jb2xvcjojYzZjOGNhfS5hbGVydC1kYXJrIGhye2JvcmRlci10b3AtY29sb3I6I2I5YmJiZX0uYWxlcnQtZGFyayAuYWxlcnQtbGlua3tjb2xvcjojMDQwNTA1fUAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246MXJlbSAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX1Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjoxcmVtIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fS5wcm9ncmVzc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoxcmVtO292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6Ljc1cmVtO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItcmFkaXVzOi4yNXJlbX0ucHJvZ3Jlc3MtYmFye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjt0cmFuc2l0aW9uOndpZHRoIC42cyBlYXNlfS5wcm9ncmVzcy1iYXItc3RyaXBlZHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1zaXplOjFyZW0gMXJlbX0ucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkey13ZWJraXQtYW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlfS5tZWRpYXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lm1lZGlhLWJvZHl7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxfS5saXN0LWdyb3Vwe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbTowfS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9ue3dpZHRoOjEwMCU7Y29sb3I6IzQ5NTA1Nzt0ZXh0LWFsaWduOmluaGVyaXR9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzQ5NTA1Nzt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmF9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246YWN0aXZle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmfS5saXN0LWdyb3VwLWl0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOi43NXJlbSAxLjI1cmVtO21hcmdpbi1ib3R0b206LTFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpfS5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtfS5saXN0LWdyb3VwLWl0ZW06Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbTpob3Zlcnt6LWluZGV4OjE7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwubGlzdC1ncm91cC1pdGVtOmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZle3otaW5kZXg6Mjtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0ubGlzdC1ncm91cC1mbHVzaCAubGlzdC1ncm91cC1pdGVte2JvcmRlci1yaWdodDowO2JvcmRlci1sZWZ0OjA7Ym9yZGVyLXJhZGl1czowfS5saXN0LWdyb3VwLWZsdXNoOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcDowfS5saXN0LWdyb3VwLWZsdXNoOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206MH0ubGlzdC1ncm91cC1pdGVtLXByaW1hcnl7Y29sb3I6IzAwNDA4NTtiYWNrZ3JvdW5kLWNvbG9yOiNiOGRhZmZ9Lmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzAwNDA4NTtiYWNrZ3JvdW5kLWNvbG9yOiM5ZmNkZmZ9Lmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA0MDg1O2JvcmRlci1jb2xvcjojMDA0MDg1fS5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5e2NvbG9yOiMzODNkNDE7YmFja2dyb3VuZC1jb2xvcjojZDZkOGRifS5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMzgzZDQxO2JhY2tncm91bmQtY29sb3I6I2M4Y2JjZn0ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM4M2Q0MTtib3JkZXItY29sb3I6IzM4M2Q0MX0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3N7Y29sb3I6IzE1NTcyNDtiYWNrZ3JvdW5kLWNvbG9yOiNjM2U2Y2J9Lmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzE1NTcyNDtiYWNrZ3JvdW5kLWNvbG9yOiNiMWRmYmJ9Lmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTU1NzI0O2JvcmRlci1jb2xvcjojMTU1NzI0fS5saXN0LWdyb3VwLWl0ZW0taW5mb3tjb2xvcjojMGM1NDYwO2JhY2tncm91bmQtY29sb3I6I2JlZTVlYn0ubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMGM1NDYwO2JhY2tncm91bmQtY29sb3I6I2FiZGRlNX0ubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwYzU0NjA7Ym9yZGVyLWNvbG9yOiMwYzU0NjB9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5ne2NvbG9yOiM4NTY0MDQ7YmFja2dyb3VuZC1jb2xvcjojZmZlZWJhfS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiM4NTY0MDQ7YmFja2dyb3VuZC1jb2xvcjojZmZlOGExfS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6Izg1NjQwNDtib3JkZXItY29sb3I6Izg1NjQwNH0ubGlzdC1ncm91cC1pdGVtLWRhbmdlcntjb2xvcjojNzIxYzI0O2JhY2tncm91bmQtY29sb3I6I2Y1YzZjYn0ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzcyMWMyNDtiYWNrZ3JvdW5kLWNvbG9yOiNmMWIwYjd9Lmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM3MjFjMjQ7Ym9yZGVyLWNvbG9yOiM3MjFjMjR9Lmxpc3QtZ3JvdXAtaXRlbS1saWdodHtjb2xvcjojODE4MTgyO2JhY2tncm91bmQtY29sb3I6I2ZkZmRmZX0ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiM4MTgxODI7YmFja2dyb3VuZC1jb2xvcjojZWNlY2Y2fS5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM4MTgxODI7Ym9yZGVyLWNvbG9yOiM4MTgxODJ9Lmxpc3QtZ3JvdXAtaXRlbS1kYXJre2NvbG9yOiMxYjFlMjE7YmFja2dyb3VuZC1jb2xvcjojYzZjOGNhfS5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiMxYjFlMjE7YmFja2dyb3VuZC1jb2xvcjojYjliYmJlfS5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzFiMWUyMTtib3JkZXItY29sb3I6IzFiMWUyMX0uY2xvc2V7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjEuNXJlbTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojMDAwO3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjtvcGFjaXR5Oi41fS5jbG9zZTpmb2N1cywuY2xvc2U6aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtvcGFjaXR5Oi43NX0uY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCl7Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uLmNsb3Nle3BhZGRpbmc6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5tb2RhbC1vcGVue292ZXJmbG93OmhpZGRlbn0ubW9kYWx7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDUwO2Rpc3BsYXk6bm9uZTtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTowfS5tb2RhbC1vcGVuIC5tb2RhbHtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG99Lm1vZGFsLWRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDphdXRvO21hcmdpbjouNXJlbTtwb2ludGVyLWV2ZW50czpub25lfS5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2d7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlLW91dCwtd2Via2l0LXRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0yNSUpfS5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2d7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfS5tb2RhbC1kaWFsb2ctY2VudGVyZWR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4taGVpZ2h0OmNhbGMoMTAwJSAtICguNXJlbSAqIDIpKX0ubW9kYWwtY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXJhZGl1czouM3JlbTtvdXRsaW5lOjB9Lm1vZGFsLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTA0MDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1vZGFsLWJhY2tkcm9wLmZhZGV7b3BhY2l0eTowfS5tb2RhbC1iYWNrZHJvcC5zaG93e29wYWNpdHk6LjV9Lm1vZGFsLWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy1tcy1mbGV4LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjFyZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U5ZWNlZjtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4zcmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4zcmVtfS5tb2RhbC1oZWFkZXIgLmNsb3Nle3BhZGRpbmc6MXJlbTttYXJnaW46LTFyZW0gLTFyZW0gLTFyZW0gYXV0b30ubW9kYWwtdGl0bGV7bWFyZ2luLWJvdHRvbTowO2xpbmUtaGVpZ2h0OjEuNX0ubW9kYWwtYm9keXtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bztwYWRkaW5nOjFyZW19Lm1vZGFsLWZvb3RlcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6ZW5kOy1tcy1mbGV4LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nOjFyZW07Ym9yZGVyLXRvcDoxcHggc29saWQgI2U5ZWNlZn0ubW9kYWwtZm9vdGVyPjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDouMjVyZW19Lm1vZGFsLWZvb3Rlcj46bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tcmlnaHQ6LjI1cmVtfS5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTk5OTlweDt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OnNjcm9sbH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm1vZGFsLWRpYWxvZ3ttYXgtd2lkdGg6NTAwcHg7bWFyZ2luOjEuNzVyZW0gYXV0b30ubW9kYWwtZGlhbG9nLWNlbnRlcmVke21pbi1oZWlnaHQ6Y2FsYygxMDAlIC0gKDEuNzVyZW0gKiAyKSl9Lm1vZGFsLXNte21heC13aWR0aDozMDBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5tb2RhbC1sZ3ttYXgtd2lkdGg6ODAwcHh9fS50b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTA3MDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsQXJpYWwsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNTt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXNoYWRvdzpub25lO3RleHQtdHJhbnNmb3JtOm5vbmU7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7d2hpdGUtc3BhY2U6bm9ybWFsO2xpbmUtYnJlYWs6YXV0bztmb250LXNpemU6Ljg3NXJlbTt3b3JkLXdyYXA6YnJlYWstd29yZDtvcGFjaXR5OjB9LnRvb2x0aXAuc2hvd3tvcGFjaXR5Oi45fS50b29sdGlwIC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOi44cmVtO2hlaWdodDouNHJlbX0udG9vbHRpcCAuYXJyb3c6OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSwuYnMtdG9vbHRpcC10b3B7cGFkZGluZzouNHJlbSAwfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93LC5icy10b29sdGlwLXRvcCAuYXJyb3d7Ym90dG9tOjB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmV7dG9wOjA7Ym9yZGVyLXdpZHRoOi40cmVtIC40cmVtIDA7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwuYnMtdG9vbHRpcC1yaWdodHtwYWRkaW5nOjAgLjRyZW19LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdywuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3d7bGVmdDowO3dpZHRoOi40cmVtO2hlaWdodDouOHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUsLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmV7cmlnaHQ6MDtib3JkZXItd2lkdGg6LjRyZW0gLjRyZW0gLjRyZW0gMDtib3JkZXItcmlnaHQtY29sb3I6IzAwMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dLC5icy10b29sdGlwLWJvdHRvbXtwYWRkaW5nOi40cmVtIDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3csLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvd3t0b3A6MH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzo6YmVmb3JlLC5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZXtib3R0b206MDtib3JkZXItd2lkdGg6MCAuNHJlbSAuNHJlbTtib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0sLmJzLXRvb2x0aXAtbGVmdHtwYWRkaW5nOjAgLjRyZW19LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93LC5icy10b29sdGlwLWxlZnQgLmFycm93e3JpZ2h0OjA7d2lkdGg6LjRyZW07aGVpZ2h0Oi44cmVtfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YmVmb3JlLC5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmV7bGVmdDowO2JvcmRlci13aWR0aDouNHJlbSAwIC40cmVtIC40cmVtO2JvcmRlci1sZWZ0LWNvbG9yOiMwMDB9LnRvb2x0aXAtaW5uZXJ7bWF4LXdpZHRoOjIwMHB4O3BhZGRpbmc6LjI1cmVtIC41cmVtO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwNjA7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6Mjc2cHg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1icmVhazphdXRvO2ZvbnQtc2l6ZTouODc1cmVtO3dvcmQtd3JhcDpicmVhay13b3JkO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOi4zcmVtfS5wb3BvdmVyIC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07aGVpZ2h0Oi41cmVtO21hcmdpbjowIC4zcmVtfS5wb3BvdmVyIC5hcnJvdzo6YWZ0ZXIsLnBvcG92ZXIgLmFycm93OjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztjb250ZW50OiIiO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSwuYnMtcG9wb3Zlci10b3B7bWFyZ2luLWJvdHRvbTouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdywuYnMtcG9wb3Zlci10b3AgLmFycm93e2JvdHRvbTpjYWxjKCguNXJlbSArIDFweCkgKiAtMSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YmVmb3Jle2JvcmRlci13aWR0aDouNXJlbSAuNXJlbSAwfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YmVmb3Jle2JvdHRvbTowO2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlcntib3R0b206MXB4O2JvcmRlci10b3AtY29sb3I6I2ZmZn0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0sLmJzLXBvcG92ZXItcmlnaHR7bWFyZ2luLWxlZnQ6LjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdywuYnMtcG9wb3Zlci1yaWdodCAuYXJyb3d7bGVmdDpjYWxjKCguNXJlbSArIDFweCkgKiAtMSk7d2lkdGg6LjVyZW07aGVpZ2h0OjFyZW07bWFyZ2luOi4zcmVtIDB9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YmVmb3JlLC5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmV7Ym9yZGVyLXdpZHRoOi41cmVtIC41cmVtIC41cmVtIDB9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YmVmb3JlLC5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YmVmb3Jle2xlZnQ6MDtib3JkZXItcmlnaHQtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXJ7bGVmdDoxcHg7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNmZmZ9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSwuYnMtcG9wb3Zlci1ib3R0b217bWFyZ2luLXRvcDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdywuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93e3RvcDpjYWxjKCguNXJlbSArIDFweCkgKiAtMSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YmVmb3Jle2JvcmRlci13aWR0aDowIC41cmVtIC41cmVtIC41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YmVmb3Jle3RvcDowO2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlcnt0b3A6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLC5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjUwJTtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07bWFyZ2luLWxlZnQ6LS41cmVtO2NvbnRlbnQ6IiI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Y3ZjdmN30uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSwuYnMtcG9wb3Zlci1sZWZ0e21hcmdpbi1yaWdodDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3csLmJzLXBvcG92ZXItbGVmdCAuYXJyb3d7cmlnaHQ6Y2FsYygoLjVyZW0gKyAxcHgpICogLTEpO3dpZHRoOi41cmVtO2hlaWdodDoxcmVtO21hcmdpbjouM3JlbSAwfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWxlZnQgLmFycm93OjpiZWZvcmV7Ym9yZGVyLXdpZHRoOi41cmVtIDAgLjVyZW0gLjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmJlZm9yZXtyaWdodDowO2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjI1KX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlcntyaWdodDoxcHg7Ym9yZGVyLWxlZnQtY29sb3I6I2ZmZn0ucG9wb3Zlci1oZWFkZXJ7cGFkZGluZzouNXJlbSAuNzVyZW07bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxcmVtO2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KX0ucG9wb3Zlci1oZWFkZXI6ZW1wdHl7ZGlzcGxheTpub25lfS5wb3BvdmVyLWJvZHl7cGFkZGluZzouNXJlbSAuNzVyZW07Y29sb3I6IzIxMjUyOX0uY2Fyb3VzZWx7cG9zaXRpb246cmVsYXRpdmV9LmNhcm91c2VsLWlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jYXJvdXNlbC1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2U7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2U7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2UsLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2U7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXBlcnNwZWN0aXZlOjEwMDBweDtwZXJzcGVjdGl2ZToxMDAwcHh9LmNhcm91c2VsLWl0ZW0tbmV4dCwuY2Fyb3VzZWwtaXRlbS1wcmV2LC5jYXJvdXNlbC1pdGVtLmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5jYXJvdXNlbC1pdGVtLW5leHQsLmNhcm91c2VsLWl0ZW0tcHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0uY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkpey5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19LmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0LC5jYXJvdXNlbC1pdGVtLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkpey5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCwuY2Fyb3VzZWwtaXRlbS1uZXh0ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfX0uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtaXRlbS1wcmV2ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkpey5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXZ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19LmNhcm91c2VsLWNvbnRyb2wtbmV4dCwuY2Fyb3VzZWwtY29udHJvbC1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNSU7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtvcGFjaXR5Oi41fS5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMsLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3ZlciwuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLC5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtvdXRsaW5lOjA7b3BhY2l0eTouOX0uY2Fyb3VzZWwtY29udHJvbC1wcmV2e2xlZnQ6MH0uY2Fyb3VzZWwtY29udHJvbC1uZXh0e3JpZ2h0OjB9LmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJX0uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRSIpfS5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM0UlM0Mvc3ZnJTNFIil9LmNhcm91c2VsLWluZGljYXRvcnN7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MTBweDtsZWZ0OjA7ei1pbmRleDoxNTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjE1JTttYXJnaW4tbGVmdDoxNSU7bGlzdC1zdHlsZTpub25lfS5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpe3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDEgYXV0bztmbGV4OjAgMSBhdXRvO3dpZHRoOjMwcHg7aGVpZ2h0OjNweDttYXJnaW4tcmlnaHQ6M3B4O21hcmdpbi1sZWZ0OjNweDt0ZXh0LWluZGVudDotOTk5cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTBweDtsZWZ0OjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTBweDtjb250ZW50OiIifS5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTEwcHg7bGVmdDowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwcHg7Y29udGVudDoiIn0uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY2Fyb3VzZWwtY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNSU7Ym90dG9tOjIwcHg7bGVmdDoxNSU7ei1pbmRleDoxMDtwYWRkaW5nLXRvcDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcn0uYWxpZ24tYmFzZWxpbmV7dmVydGljYWwtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi10b3B7dmVydGljYWwtYWxpZ246dG9wIWltcG9ydGFudH0uYWxpZ24tbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZSFpbXBvcnRhbnR9LmFsaWduLWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b20haW1wb3J0YW50fS5hbGlnbi10ZXh0LWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbSFpbXBvcnRhbnR9LmFsaWduLXRleHQtdG9we3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wIWltcG9ydGFudH0uYmctcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmYhaW1wb3J0YW50fWEuYmctcHJpbWFyeTpmb2N1cyxhLmJnLXByaW1hcnk6aG92ZXIsYnV0dG9uLmJnLXByaW1hcnk6Zm9jdXMsYnV0dG9uLmJnLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDA2MmNjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZCFpbXBvcnRhbnR9YS5iZy1zZWNvbmRhcnk6Zm9jdXMsYS5iZy1zZWNvbmRhcnk6aG92ZXIsYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyxidXR0b24uYmctc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzU0NWI2MiFpbXBvcnRhbnR9LmJnLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1IWltcG9ydGFudH1hLmJnLXN1Y2Nlc3M6Zm9jdXMsYS5iZy1zdWNjZXNzOmhvdmVyLGJ1dHRvbi5iZy1zdWNjZXNzOmZvY3VzLGJ1dHRvbi5iZy1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzFlN2UzNCFpbXBvcnRhbnR9LmJnLWluZm97YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4IWltcG9ydGFudH1hLmJnLWluZm86Zm9jdXMsYS5iZy1pbmZvOmhvdmVyLGJ1dHRvbi5iZy1pbmZvOmZvY3VzLGJ1dHRvbi5iZy1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzExN2E4YiFpbXBvcnRhbnR9LmJnLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3IWltcG9ydGFudH1hLmJnLXdhcm5pbmc6Zm9jdXMsYS5iZy13YXJuaW5nOmhvdmVyLGJ1dHRvbi5iZy13YXJuaW5nOmZvY3VzLGJ1dHRvbi5iZy13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QzOWUwMCFpbXBvcnRhbnR9LmJnLWRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDUhaW1wb3J0YW50fWEuYmctZGFuZ2VyOmZvY3VzLGEuYmctZGFuZ2VyOmhvdmVyLGJ1dHRvbi5iZy1kYW5nZXI6Zm9jdXMsYnV0dG9uLmJnLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNiZDIxMzAhaW1wb3J0YW50fS5iZy1saWdodHtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmEhaW1wb3J0YW50fWEuYmctbGlnaHQ6Zm9jdXMsYS5iZy1saWdodDpob3ZlcixidXR0b24uYmctbGlnaHQ6Zm9jdXMsYnV0dG9uLmJnLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RhZTBlNSFpbXBvcnRhbnR9LmJnLWRhcmt7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwIWltcG9ydGFudH1hLmJnLWRhcms6Zm9jdXMsYS5iZy1kYXJrOmhvdmVyLGJ1dHRvbi5iZy1kYXJrOmZvY3VzLGJ1dHRvbi5iZy1kYXJrOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzFkMjEyNCFpbXBvcnRhbnR9LmJnLXdoaXRle2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLXRyYW5zcGFyZW50e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50fS5ib3JkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLXRvcHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLXJpZ2h0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci1ib3R0b217Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLTB7Ym9yZGVyOjAhaW1wb3J0YW50fS5ib3JkZXItdG9wLTB7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0uYm9yZGVyLXJpZ2h0LTB7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5ib3JkZXItYm90dG9tLTB7Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudH0uYm9yZGVyLWxlZnQtMHtib3JkZXItbGVmdDowIWltcG9ydGFudH0uYm9yZGVyLXByaW1hcnl7Ym9yZGVyLWNvbG9yOiMwMDdiZmYhaW1wb3J0YW50fS5ib3JkZXItc2Vjb25kYXJ5e2JvcmRlci1jb2xvcjojNmM3NTdkIWltcG9ydGFudH0uYm9yZGVyLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiMyOGE3NDUhaW1wb3J0YW50fS5ib3JkZXItaW5mb3tib3JkZXItY29sb3I6IzE3YTJiOCFpbXBvcnRhbnR9LmJvcmRlci13YXJuaW5ne2JvcmRlci1jb2xvcjojZmZjMTA3IWltcG9ydGFudH0uYm9yZGVyLWRhbmdlcntib3JkZXItY29sb3I6I2RjMzU0NSFpbXBvcnRhbnR9LmJvcmRlci1saWdodHtib3JkZXItY29sb3I6I2Y4ZjlmYSFpbXBvcnRhbnR9LmJvcmRlci1kYXJre2JvcmRlci1jb2xvcjojMzQzYTQwIWltcG9ydGFudH0uYm9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjojZmZmIWltcG9ydGFudH0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW0haW1wb3J0YW50fS5yb3VuZGVkLXJpZ2h0e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC1ib3R0b217Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtbGVmdHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW0haW1wb3J0YW50fS5yb3VuZGVkLWNpcmNsZXtib3JkZXItcmFkaXVzOjUwJSFpbXBvcnRhbnR9LnJvdW5kZWQtMHtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50fS5jbGVhcmZpeDo6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjbGVhcjpib3RoO2NvbnRlbnQ6IiJ9LmQtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtaW5saW5lLWZsZXh7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmQtc20tbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLXNtLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtc20taW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1zbS1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC1zbS10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC1zbS10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXNtLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1zbS1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtc20taW5saW5lLWZsZXh7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5kLW1kLW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC1tZC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLW1kLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQtbWQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQtbWQtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQtbWQtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC1tZC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQtbWQtZmxleHtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLW1kLWlubGluZS1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZC1sZy1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtbGctaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1sZy1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLWxnLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLWxnLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLWxnLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtbGctdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLWxnLWZsZXh7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1sZy1pbmxpbmUtZmxleHtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5kLXhsLW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC14bC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLXhsLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQteGwtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQteGwtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQteGwtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC14bC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQteGwtZmxleHtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLXhsLWlubGluZS1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSBwcmludHsuZC1wcmludC1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtcHJpbnQtaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1wcmludC1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLXByaW50LWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLXByaW50LXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLXByaW50LXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtcHJpbnQtdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLXByaW50LWZsZXh7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1wcmludC1pbmxpbmUtZmxleHtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX0uZW1iZWQtcmVzcG9uc2l2ZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbn0uZW1iZWQtcmVzcG9uc2l2ZTo6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7Y29udGVudDoiIn0uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSwuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjB9LmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZXtwYWRkaW5nLXRvcDo0Mi44NTcxNDMlfS5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5OjpiZWZvcmV7cGFkZGluZy10b3A6NTYuMjUlfS5lbWJlZC1yZXNwb25zaXZlLTRieTM6OmJlZm9yZXtwYWRkaW5nLXRvcDo3NSV9LmVtYmVkLXJlc3BvbnNpdmUtMWJ5MTo6YmVmb3Jle3BhZGRpbmctdG9wOjEwMCV9LmZsZXgtcm93ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LWNvbHVtbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgtcm93LXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1jb2x1bW4tcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgtd3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXN0YXJ0ey13ZWJraXQtYm94LXBhY2s6c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWVuZHstd2Via2l0LWJveC1wYWNrOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1jZW50ZXJ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWJldHdlZW57LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5IWltcG9ydGFudDstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zdGFydHstd2Via2l0LWJveC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1lbmR7LXdlYmtpdC1ib3gtYWxpZ246ZW5kIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtY2VudGVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1iYXNlbGluZXstd2Via2l0LWJveC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc3RyZXRjaHstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmZsZXgtc20tcm93ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LXNtLWNvbHVtbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgtc20tcm93LXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS1jb2x1bW4tcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LXNtLW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgtc20td3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0ey13ZWJraXQtYm94LXBhY2s6c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWVuZHstd2Via2l0LWJveC1wYWNrOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1zbS1jZW50ZXJ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWJldHdlZW57LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5IWltcG9ydGFudDstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1zdGFydHstd2Via2l0LWJveC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1lbmR7LXdlYmtpdC1ib3gtYWxpZ246ZW5kIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tY2VudGVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1iYXNlbGluZXstd2Via2l0LWJveC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tc3RyZXRjaHstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc20tZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mbGV4LW1kLXJvd3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC1tZC1jb2x1bW57LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LW1kLXJvdy1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbWQtY29sdW1uLXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbWQtd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC1tZC1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LW1kLXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1zdGFydHstd2Via2l0LWJveC1wYWNrOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1wYWNrOnN0YXJ0IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1lbmR7LXdlYmtpdC1ib3gtcGFjazplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyey13ZWJraXQtYm94LXBhY2s6Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuey13ZWJraXQtYm94LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtc3RhcnR7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtZW5key13ZWJraXQtYm94LWFsaWduOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLWNlbnRlcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtYmFzZWxpbmV7LXdlYmtpdC1ib3gtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2h7LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1tZC1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZmxleC1sZy1yb3d7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LmZsZXgtbGctY29sdW1uey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC1sZy1yb3ctcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2UhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LWxnLWNvbHVtbi1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2UhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LWxnLXdyYXB7LW1zLWZsZXgtd3JhcDp3cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtbGctbm93cmFwey1tcy1mbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC1sZy13cmFwLXJldmVyc2V7LW1zLWZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnR7LXdlYmtpdC1ib3gtcGFjazpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpzdGFydCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctZW5key13ZWJraXQtYm94LXBhY2s6ZW5kIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmVuZCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWxnLWNlbnRlcnstd2Via2l0LWJveC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2Vlbnstd2Via2l0LWJveC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctYXJvdW5key1tcy1mbGV4LXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLXN0YXJ0ey13ZWJraXQtYm94LWFsaWduOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLWVuZHstd2Via2l0LWJveC1hbGlnbjplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1jZW50ZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLWJhc2VsaW5ley13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1zdHJldGNoey13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLXN0YXJ0ey1tcy1mbGV4LWxpbmUtcGFjazpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1lbmR7LW1zLWZsZXgtbGluZS1wYWNrOmVuZCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctY2VudGVyey1tcy1mbGV4LWxpbmUtcGFjazpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuey1tcy1mbGV4LWxpbmUtcGFjazpqdXN0aWZ5IWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWFyb3VuZHstbXMtZmxleC1saW5lLXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLXN0cmV0Y2h7LW1zLWZsZXgtbGluZS1wYWNrOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctYXV0b3stbXMtZmxleC1pdGVtLWFsaWduOmF1dG8haW1wb3J0YW50O2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctc3RhcnR7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1lbmR7LW1zLWZsZXgtaXRlbS1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWNlbnRlcnstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWJhc2VsaW5ley1tcy1mbGV4LWl0ZW0tYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLXN0cmV0Y2h7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5mbGV4LXhsLXJvd3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC14bC1jb2x1bW57LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LXhsLXJvdy1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtY29sdW1uLXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC14bC1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LXhsLXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1zdGFydHstd2Via2l0LWJveC1wYWNrOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1wYWNrOnN0YXJ0IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1lbmR7LXdlYmtpdC1ib3gtcGFjazplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyey13ZWJraXQtYm94LXBhY2s6Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1iZXR3ZWVuey13ZWJraXQtYm94LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtc3RhcnR7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtZW5key13ZWJraXQtYm94LWFsaWduOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLWNlbnRlcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtYmFzZWxpbmV7LXdlYmtpdC1ib3gtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2h7LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXhsLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fS5mbG9hdC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mbG9hdC1zbS1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1zbS1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LXNtLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZmxvYXQtbWQtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQtbWQtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC1tZC1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmZsb2F0LWxnLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmZsb2F0LWxnLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uZmxvYXQtbGctbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuZmxvYXQteGwtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQteGwtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC14bC1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX0ucG9zaXRpb24tc3RhdGlje3Bvc2l0aW9uOnN0YXRpYyFpbXBvcnRhbnR9LnBvc2l0aW9uLXJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlIWltcG9ydGFudH0ucG9zaXRpb24tYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50fS5wb3NpdGlvbi1maXhlZHtwb3NpdGlvbjpmaXhlZCFpbXBvcnRhbnR9LnBvc2l0aW9uLXN0aWNreXtwb3NpdGlvbjotd2Via2l0LXN0aWNreSFpbXBvcnRhbnQ7cG9zaXRpb246c3RpY2t5IWltcG9ydGFudH0uZml4ZWQtdG9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7bGVmdDowO3otaW5kZXg6MTAzMH0uZml4ZWQtYm90dG9te3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTAzMH1Ac3VwcG9ydHMgKChwb3NpdGlvbjotd2Via2l0LXN0aWNreSkgb3IgKHBvc2l0aW9uOnN0aWNreSkpey5zdGlja3ktdG9we3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5O3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjEwMjB9fS5zci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LWNsaXAtcGF0aDppbnNldCg1MCUpO2NsaXAtcGF0aDppbnNldCg1MCUpO2JvcmRlcjowfS5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsLnNyLW9ubHktZm9jdXNhYmxlOmZvY3Vze3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO292ZXJmbG93OnZpc2libGU7Y2xpcDphdXRvO3doaXRlLXNwYWNlOm5vcm1hbDstd2Via2l0LWNsaXAtcGF0aDpub25lO2NsaXAtcGF0aDpub25lfS53LTI1e3dpZHRoOjI1JSFpbXBvcnRhbnR9LnctNTB7d2lkdGg6NTAlIWltcG9ydGFudH0udy03NXt3aWR0aDo3NSUhaW1wb3J0YW50fS53LTEwMHt3aWR0aDoxMDAlIWltcG9ydGFudH0uaC0yNXtoZWlnaHQ6MjUlIWltcG9ydGFudH0uaC01MHtoZWlnaHQ6NTAlIWltcG9ydGFudH0uaC03NXtoZWlnaHQ6NzUlIWltcG9ydGFudH0uaC0xMDB7aGVpZ2h0OjEwMCUhaW1wb3J0YW50fS5tdy0xMDB7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50fS5taC0xMDB7bWF4LWhlaWdodDoxMDAlIWltcG9ydGFudH0ubS0we21hcmdpbjowIWltcG9ydGFudH0ubXQtMCwubXktMHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS5tci0wLC5teC0we21hcmdpbi1yaWdodDowIWltcG9ydGFudH0ubWItMCwubXktMHttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS5tbC0wLC5teC0we21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50fS5tLTF7bWFyZ2luOi4yNXJlbSFpbXBvcnRhbnR9Lm10LTEsLm15LTF7bWFyZ2luLXRvcDouMjVyZW0haW1wb3J0YW50fS5tci0xLC5teC0xe21hcmdpbi1yaWdodDouMjVyZW0haW1wb3J0YW50fS5tYi0xLC5teS0xe21hcmdpbi1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ubWwtMSwubXgtMXttYXJnaW4tbGVmdDouMjVyZW0haW1wb3J0YW50fS5tLTJ7bWFyZ2luOi41cmVtIWltcG9ydGFudH0ubXQtMiwubXktMnttYXJnaW4tdG9wOi41cmVtIWltcG9ydGFudH0ubXItMiwubXgtMnttYXJnaW4tcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5tYi0yLC5teS0ye21hcmdpbi1ib3R0b206LjVyZW0haW1wb3J0YW50fS5tbC0yLC5teC0ye21hcmdpbi1sZWZ0Oi41cmVtIWltcG9ydGFudH0ubS0ze21hcmdpbjoxcmVtIWltcG9ydGFudH0ubXQtMywubXktM3ttYXJnaW4tdG9wOjFyZW0haW1wb3J0YW50fS5tci0zLC5teC0ze21hcmdpbi1yaWdodDoxcmVtIWltcG9ydGFudH0ubWItMywubXktM3ttYXJnaW4tYm90dG9tOjFyZW0haW1wb3J0YW50fS5tbC0zLC5teC0ze21hcmdpbi1sZWZ0OjFyZW0haW1wb3J0YW50fS5tLTR7bWFyZ2luOjEuNXJlbSFpbXBvcnRhbnR9Lm10LTQsLm15LTR7bWFyZ2luLXRvcDoxLjVyZW0haW1wb3J0YW50fS5tci00LC5teC00e21hcmdpbi1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5tYi00LC5teS00e21hcmdpbi1ib3R0b206MS41cmVtIWltcG9ydGFudH0ubWwtNCwubXgtNHttYXJnaW4tbGVmdDoxLjVyZW0haW1wb3J0YW50fS5tLTV7bWFyZ2luOjNyZW0haW1wb3J0YW50fS5tdC01LC5teS01e21hcmdpbi10b3A6M3JlbSFpbXBvcnRhbnR9Lm1yLTUsLm14LTV7bWFyZ2luLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5tYi01LC5teS01e21hcmdpbi1ib3R0b206M3JlbSFpbXBvcnRhbnR9Lm1sLTUsLm14LTV7bWFyZ2luLWxlZnQ6M3JlbSFpbXBvcnRhbnR9LnAtMHtwYWRkaW5nOjAhaW1wb3J0YW50fS5wdC0wLC5weS0we3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fS5wci0wLC5weC0we3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LnBiLTAsLnB5LTB7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LnBsLTAsLnB4LTB7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50fS5wLTF7cGFkZGluZzouMjVyZW0haW1wb3J0YW50fS5wdC0xLC5weS0xe3BhZGRpbmctdG9wOi4yNXJlbSFpbXBvcnRhbnR9LnByLTEsLnB4LTF7cGFkZGluZy1yaWdodDouMjVyZW0haW1wb3J0YW50fS5wYi0xLC5weS0xe3BhZGRpbmctYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9LnBsLTEsLnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9LnAtMntwYWRkaW5nOi41cmVtIWltcG9ydGFudH0ucHQtMiwucHktMntwYWRkaW5nLXRvcDouNXJlbSFpbXBvcnRhbnR9LnByLTIsLnB4LTJ7cGFkZGluZy1yaWdodDouNXJlbSFpbXBvcnRhbnR9LnBiLTIsLnB5LTJ7cGFkZGluZy1ib3R0b206LjVyZW0haW1wb3J0YW50fS5wbC0yLC5weC0ye3BhZGRpbmctbGVmdDouNXJlbSFpbXBvcnRhbnR9LnAtM3twYWRkaW5nOjFyZW0haW1wb3J0YW50fS5wdC0zLC5weS0ze3BhZGRpbmctdG9wOjFyZW0haW1wb3J0YW50fS5wci0zLC5weC0ze3BhZGRpbmctcmlnaHQ6MXJlbSFpbXBvcnRhbnR9LnBiLTMsLnB5LTN7cGFkZGluZy1ib3R0b206MXJlbSFpbXBvcnRhbnR9LnBsLTMsLnB4LTN7cGFkZGluZy1sZWZ0OjFyZW0haW1wb3J0YW50fS5wLTR7cGFkZGluZzoxLjVyZW0haW1wb3J0YW50fS5wdC00LC5weS00e3BhZGRpbmctdG9wOjEuNXJlbSFpbXBvcnRhbnR9LnByLTQsLnB4LTR7cGFkZGluZy1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5wYi00LC5weS00e3BhZGRpbmctYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9LnBsLTQsLnB4LTR7cGFkZGluZy1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9LnAtNXtwYWRkaW5nOjNyZW0haW1wb3J0YW50fS5wdC01LC5weS01e3BhZGRpbmctdG9wOjNyZW0haW1wb3J0YW50fS5wci01LC5weC01e3BhZGRpbmctcmlnaHQ6M3JlbSFpbXBvcnRhbnR9LnBiLTUsLnB5LTV7cGFkZGluZy1ib3R0b206M3JlbSFpbXBvcnRhbnR9LnBsLTUsLnB4LTV7cGFkZGluZy1sZWZ0OjNyZW0haW1wb3J0YW50fS5tLWF1dG97bWFyZ2luOmF1dG8haW1wb3J0YW50fS5tdC1hdXRvLC5teS1hdXRve21hcmdpbi10b3A6YXV0byFpbXBvcnRhbnR9Lm1yLWF1dG8sLm14LWF1dG97bWFyZ2luLXJpZ2h0OmF1dG8haW1wb3J0YW50fS5tYi1hdXRvLC5teS1hdXRve21hcmdpbi1ib3R0b206YXV0byFpbXBvcnRhbnR9Lm1sLWF1dG8sLm14LWF1dG97bWFyZ2luLWxlZnQ6YXV0byFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5tLXNtLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC1zbS0wLC5teS1zbS0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLXNtLTAsLm14LXNtLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi1zbS0wLC5teS1zbS0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLXNtLTAsLm14LXNtLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tc20tMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtc20tMSwubXktc20tMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTEsLm14LXNtLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTEsLm15LXNtLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC1zbS0xLC5teC1zbS0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tc20tMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC1zbS0yLC5teS1zbS0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci1zbS0yLC5teC1zbS0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTIsLm15LXNtLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTIsLm14LXNtLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLXNtLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC1zbS0zLC5teS1zbS0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTMsLm14LXNtLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi1zbS0zLC5teS1zbS0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTMsLm14LXNtLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tc20tNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtc20tNCwubXktc20tNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTQsLm14LXNtLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTQsLm15LXNtLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC1zbS00LC5teC1zbS00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tc20tNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LXNtLTUsLm15LXNtLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItc20tNSwubXgtc20tNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLXNtLTUsLm15LXNtLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtc20tNSwubXgtc20tNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC1zbS0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LXNtLTAsLnB5LXNtLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLXNtLTAsLnB4LXNtLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItc20tMCwucHktc20tMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtc20tMCwucHgtc20tMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtc20tMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTEsLnB5LXNtLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItc20tMSwucHgtc20tMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLXNtLTEsLnB5LXNtLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtc20tMSwucHgtc20tMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1zbS0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1zbS0yLC5weS1zbS0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItc20tMiwucHgtc20tMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItc20tMiwucHktc20tMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLXNtLTIsLnB4LXNtLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1zbS0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LXNtLTMsLnB5LXNtLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLXNtLTMsLnB4LXNtLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItc20tMywucHktc20tM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtc20tMywucHgtc20tM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtc20tNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTQsLnB5LXNtLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItc20tNCwucHgtc20tNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLXNtLTQsLnB5LXNtLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtc20tNCwucHgtc20tNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1zbS01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LXNtLTUsLnB5LXNtLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLXNtLTUsLnB4LXNtLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItc20tNSwucHktc20tNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtc20tNSwucHgtc20tNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tc20tYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LXNtLWF1dG8sLm15LXNtLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItc20tYXV0bywubXgtc20tYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLXNtLWF1dG8sLm15LXNtLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtc20tYXV0bywubXgtc20tYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5tLW1kLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC1tZC0wLC5teS1tZC0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLW1kLTAsLm14LW1kLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi1tZC0wLC5teS1tZC0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLW1kLTAsLm14LW1kLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tbWQtMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtbWQtMSwubXktbWQtMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTEsLm14LW1kLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTEsLm15LW1kLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC1tZC0xLC5teC1tZC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tbWQtMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC1tZC0yLC5teS1tZC0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci1tZC0yLC5teC1tZC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTIsLm15LW1kLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTIsLm14LW1kLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLW1kLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC1tZC0zLC5teS1tZC0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTMsLm14LW1kLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi1tZC0zLC5teS1tZC0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTMsLm14LW1kLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tbWQtNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtbWQtNCwubXktbWQtNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTQsLm14LW1kLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTQsLm15LW1kLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC1tZC00LC5teC1tZC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tbWQtNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LW1kLTUsLm15LW1kLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItbWQtNSwubXgtbWQtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLW1kLTUsLm15LW1kLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtbWQtNSwubXgtbWQtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC1tZC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LW1kLTAsLnB5LW1kLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLW1kLTAsLnB4LW1kLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItbWQtMCwucHktbWQtMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtbWQtMCwucHgtbWQtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtbWQtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTEsLnB5LW1kLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItbWQtMSwucHgtbWQtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLW1kLTEsLnB5LW1kLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtbWQtMSwucHgtbWQtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1tZC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1tZC0yLC5weS1tZC0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItbWQtMiwucHgtbWQtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItbWQtMiwucHktbWQtMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLW1kLTIsLnB4LW1kLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1tZC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LW1kLTMsLnB5LW1kLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLW1kLTMsLnB4LW1kLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItbWQtMywucHktbWQtM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtbWQtMywucHgtbWQtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtbWQtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTQsLnB5LW1kLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItbWQtNCwucHgtbWQtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLW1kLTQsLnB5LW1kLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtbWQtNCwucHgtbWQtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1tZC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LW1kLTUsLnB5LW1kLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLW1kLTUsLnB4LW1kLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItbWQtNSwucHktbWQtNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtbWQtNSwucHgtbWQtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tbWQtYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LW1kLWF1dG8sLm15LW1kLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItbWQtYXV0bywubXgtbWQtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLW1kLWF1dG8sLm15LW1kLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtbWQtYXV0bywubXgtbWQtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5tLWxnLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC1sZy0wLC5teS1sZy0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLWxnLTAsLm14LWxnLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi1sZy0wLC5teS1sZy0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLWxnLTAsLm14LWxnLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tbGctMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtbGctMSwubXktbGctMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTEsLm14LWxnLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTEsLm15LWxnLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC1sZy0xLC5teC1sZy0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tbGctMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC1sZy0yLC5teS1sZy0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci1sZy0yLC5teC1sZy0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTIsLm15LWxnLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTIsLm14LWxnLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLWxnLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC1sZy0zLC5teS1sZy0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTMsLm14LWxnLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi1sZy0zLC5teS1sZy0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTMsLm14LWxnLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tbGctNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtbGctNCwubXktbGctNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTQsLm14LWxnLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTQsLm15LWxnLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC1sZy00LC5teC1sZy00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tbGctNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LWxnLTUsLm15LWxnLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItbGctNSwubXgtbGctNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLWxnLTUsLm15LWxnLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtbGctNSwubXgtbGctNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC1sZy0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LWxnLTAsLnB5LWxnLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLWxnLTAsLnB4LWxnLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItbGctMCwucHktbGctMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtbGctMCwucHgtbGctMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtbGctMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTEsLnB5LWxnLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItbGctMSwucHgtbGctMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLWxnLTEsLnB5LWxnLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtbGctMSwucHgtbGctMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1sZy0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1sZy0yLC5weS1sZy0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItbGctMiwucHgtbGctMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItbGctMiwucHktbGctMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLWxnLTIsLnB4LWxnLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1sZy0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LWxnLTMsLnB5LWxnLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLWxnLTMsLnB4LWxnLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItbGctMywucHktbGctM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtbGctMywucHgtbGctM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtbGctNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTQsLnB5LWxnLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItbGctNCwucHgtbGctNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLWxnLTQsLnB5LWxnLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtbGctNCwucHgtbGctNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1sZy01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LWxnLTUsLnB5LWxnLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLWxnLTUsLnB4LWxnLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItbGctNSwucHktbGctNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtbGctNSwucHgtbGctNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tbGctYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LWxnLWF1dG8sLm15LWxnLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItbGctYXV0bywubXgtbGctYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLWxnLWF1dG8sLm15LWxnLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtbGctYXV0bywubXgtbGctYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsubS14bC0we21hcmdpbjowIWltcG9ydGFudH0ubXQteGwtMCwubXkteGwtMHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS5tci14bC0wLC5teC14bC0we21hcmdpbi1yaWdodDowIWltcG9ydGFudH0ubWIteGwtMCwubXkteGwtMHttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS5tbC14bC0wLC5teC14bC0we21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50fS5tLXhsLTF7bWFyZ2luOi4yNXJlbSFpbXBvcnRhbnR9Lm10LXhsLTEsLm15LXhsLTF7bWFyZ2luLXRvcDouMjVyZW0haW1wb3J0YW50fS5tci14bC0xLC5teC14bC0xe21hcmdpbi1yaWdodDouMjVyZW0haW1wb3J0YW50fS5tYi14bC0xLC5teS14bC0xe21hcmdpbi1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ubWwteGwtMSwubXgteGwtMXttYXJnaW4tbGVmdDouMjVyZW0haW1wb3J0YW50fS5tLXhsLTJ7bWFyZ2luOi41cmVtIWltcG9ydGFudH0ubXQteGwtMiwubXkteGwtMnttYXJnaW4tdG9wOi41cmVtIWltcG9ydGFudH0ubXIteGwtMiwubXgteGwtMnttYXJnaW4tcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5tYi14bC0yLC5teS14bC0ye21hcmdpbi1ib3R0b206LjVyZW0haW1wb3J0YW50fS5tbC14bC0yLC5teC14bC0ye21hcmdpbi1sZWZ0Oi41cmVtIWltcG9ydGFudH0ubS14bC0ze21hcmdpbjoxcmVtIWltcG9ydGFudH0ubXQteGwtMywubXkteGwtM3ttYXJnaW4tdG9wOjFyZW0haW1wb3J0YW50fS5tci14bC0zLC5teC14bC0ze21hcmdpbi1yaWdodDoxcmVtIWltcG9ydGFudH0ubWIteGwtMywubXkteGwtM3ttYXJnaW4tYm90dG9tOjFyZW0haW1wb3J0YW50fS5tbC14bC0zLC5teC14bC0ze21hcmdpbi1sZWZ0OjFyZW0haW1wb3J0YW50fS5tLXhsLTR7bWFyZ2luOjEuNXJlbSFpbXBvcnRhbnR9Lm10LXhsLTQsLm15LXhsLTR7bWFyZ2luLXRvcDoxLjVyZW0haW1wb3J0YW50fS5tci14bC00LC5teC14bC00e21hcmdpbi1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5tYi14bC00LC5teS14bC00e21hcmdpbi1ib3R0b206MS41cmVtIWltcG9ydGFudH0ubWwteGwtNCwubXgteGwtNHttYXJnaW4tbGVmdDoxLjVyZW0haW1wb3J0YW50fS5tLXhsLTV7bWFyZ2luOjNyZW0haW1wb3J0YW50fS5tdC14bC01LC5teS14bC01e21hcmdpbi10b3A6M3JlbSFpbXBvcnRhbnR9Lm1yLXhsLTUsLm14LXhsLTV7bWFyZ2luLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5tYi14bC01LC5teS14bC01e21hcmdpbi1ib3R0b206M3JlbSFpbXBvcnRhbnR9Lm1sLXhsLTUsLm14LXhsLTV7bWFyZ2luLWxlZnQ6M3JlbSFpbXBvcnRhbnR9LnAteGwtMHtwYWRkaW5nOjAhaW1wb3J0YW50fS5wdC14bC0wLC5weS14bC0we3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fS5wci14bC0wLC5weC14bC0we3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LnBiLXhsLTAsLnB5LXhsLTB7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LnBsLXhsLTAsLnB4LXhsLTB7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50fS5wLXhsLTF7cGFkZGluZzouMjVyZW0haW1wb3J0YW50fS5wdC14bC0xLC5weS14bC0xe3BhZGRpbmctdG9wOi4yNXJlbSFpbXBvcnRhbnR9LnByLXhsLTEsLnB4LXhsLTF7cGFkZGluZy1yaWdodDouMjVyZW0haW1wb3J0YW50fS5wYi14bC0xLC5weS14bC0xe3BhZGRpbmctYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTEsLnB4LXhsLTF7cGFkZGluZy1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9LnAteGwtMntwYWRkaW5nOi41cmVtIWltcG9ydGFudH0ucHQteGwtMiwucHkteGwtMntwYWRkaW5nLXRvcDouNXJlbSFpbXBvcnRhbnR9LnByLXhsLTIsLnB4LXhsLTJ7cGFkZGluZy1yaWdodDouNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTIsLnB5LXhsLTJ7cGFkZGluZy1ib3R0b206LjVyZW0haW1wb3J0YW50fS5wbC14bC0yLC5weC14bC0ye3BhZGRpbmctbGVmdDouNXJlbSFpbXBvcnRhbnR9LnAteGwtM3twYWRkaW5nOjFyZW0haW1wb3J0YW50fS5wdC14bC0zLC5weS14bC0ze3BhZGRpbmctdG9wOjFyZW0haW1wb3J0YW50fS5wci14bC0zLC5weC14bC0ze3BhZGRpbmctcmlnaHQ6MXJlbSFpbXBvcnRhbnR9LnBiLXhsLTMsLnB5LXhsLTN7cGFkZGluZy1ib3R0b206MXJlbSFpbXBvcnRhbnR9LnBsLXhsLTMsLnB4LXhsLTN7cGFkZGluZy1sZWZ0OjFyZW0haW1wb3J0YW50fS5wLXhsLTR7cGFkZGluZzoxLjVyZW0haW1wb3J0YW50fS5wdC14bC00LC5weS14bC00e3BhZGRpbmctdG9wOjEuNXJlbSFpbXBvcnRhbnR9LnByLXhsLTQsLnB4LXhsLTR7cGFkZGluZy1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5wYi14bC00LC5weS14bC00e3BhZGRpbmctYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTQsLnB4LXhsLTR7cGFkZGluZy1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9LnAteGwtNXtwYWRkaW5nOjNyZW0haW1wb3J0YW50fS5wdC14bC01LC5weS14bC01e3BhZGRpbmctdG9wOjNyZW0haW1wb3J0YW50fS5wci14bC01LC5weC14bC01e3BhZGRpbmctcmlnaHQ6M3JlbSFpbXBvcnRhbnR9LnBiLXhsLTUsLnB5LXhsLTV7cGFkZGluZy1ib3R0b206M3JlbSFpbXBvcnRhbnR9LnBsLXhsLTUsLnB4LXhsLTV7cGFkZGluZy1sZWZ0OjNyZW0haW1wb3J0YW50fS5tLXhsLWF1dG97bWFyZ2luOmF1dG8haW1wb3J0YW50fS5tdC14bC1hdXRvLC5teS14bC1hdXRve21hcmdpbi10b3A6YXV0byFpbXBvcnRhbnR9Lm1yLXhsLWF1dG8sLm14LXhsLWF1dG97bWFyZ2luLXJpZ2h0OmF1dG8haW1wb3J0YW50fS5tYi14bC1hdXRvLC5teS14bC1hdXRve21hcmdpbi1ib3R0b206YXV0byFpbXBvcnRhbnR9Lm1sLXhsLWF1dG8sLm14LXhsLWF1dG97bWFyZ2luLWxlZnQ6YXV0byFpbXBvcnRhbnR9fS50ZXh0LWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5IWltcG9ydGFudH0udGV4dC1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwIWltcG9ydGFudH0udGV4dC10cnVuY2F0ZXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey50ZXh0LXNtLWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC1zbS1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC1zbS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LnRleHQtbWQtbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LW1kLXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LW1kLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsudGV4dC1sZy1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQtbGctcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQtbGctY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudGV4dC14bC1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQteGwtcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQteGwtY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH19LnRleHQtbG93ZXJjYXNle3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZSFpbXBvcnRhbnR9LnRleHQtdXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSFpbXBvcnRhbnR9LnRleHQtY2FwaXRhbGl6ZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplIWltcG9ydGFudH0uZm9udC13ZWlnaHQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwIWltcG9ydGFudH0uZm9udC13ZWlnaHQtbm9ybWFse2ZvbnQtd2VpZ2h0OjQwMCFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LWJvbGR7Zm9udC13ZWlnaHQ6NzAwIWltcG9ydGFudH0uZm9udC1pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWMhaW1wb3J0YW50fS50ZXh0LXdoaXRle2NvbG9yOiNmZmYhaW1wb3J0YW50fS50ZXh0LXByaW1hcnl7Y29sb3I6IzAwN2JmZiFpbXBvcnRhbnR9YS50ZXh0LXByaW1hcnk6Zm9jdXMsYS50ZXh0LXByaW1hcnk6aG92ZXJ7Y29sb3I6IzAwNjJjYyFpbXBvcnRhbnR9LnRleHQtc2Vjb25kYXJ5e2NvbG9yOiM2Yzc1N2QhaW1wb3J0YW50fWEudGV4dC1zZWNvbmRhcnk6Zm9jdXMsYS50ZXh0LXNlY29uZGFyeTpob3Zlcntjb2xvcjojNTQ1YjYyIWltcG9ydGFudH0udGV4dC1zdWNjZXNze2NvbG9yOiMyOGE3NDUhaW1wb3J0YW50fWEudGV4dC1zdWNjZXNzOmZvY3VzLGEudGV4dC1zdWNjZXNzOmhvdmVye2NvbG9yOiMxZTdlMzQhaW1wb3J0YW50fS50ZXh0LWluZm97Y29sb3I6IzE3YTJiOCFpbXBvcnRhbnR9YS50ZXh0LWluZm86Zm9jdXMsYS50ZXh0LWluZm86aG92ZXJ7Y29sb3I6IzExN2E4YiFpbXBvcnRhbnR9LnRleHQtd2FybmluZ3tjb2xvcjojZmZjMTA3IWltcG9ydGFudH1hLnRleHQtd2FybmluZzpmb2N1cyxhLnRleHQtd2FybmluZzpob3Zlcntjb2xvcjojZDM5ZTAwIWltcG9ydGFudH0udGV4dC1kYW5nZXJ7Y29sb3I6I2RjMzU0NSFpbXBvcnRhbnR9YS50ZXh0LWRhbmdlcjpmb2N1cyxhLnRleHQtZGFuZ2VyOmhvdmVye2NvbG9yOiNiZDIxMzAhaW1wb3J0YW50fS50ZXh0LWxpZ2h0e2NvbG9yOiNmOGY5ZmEhaW1wb3J0YW50fWEudGV4dC1saWdodDpmb2N1cyxhLnRleHQtbGlnaHQ6aG92ZXJ7Y29sb3I6I2RhZTBlNSFpbXBvcnRhbnR9LnRleHQtZGFya3tjb2xvcjojMzQzYTQwIWltcG9ydGFudH1hLnRleHQtZGFyazpmb2N1cyxhLnRleHQtZGFyazpob3Zlcntjb2xvcjojMWQyMTI0IWltcG9ydGFudH0udGV4dC1tdXRlZHtjb2xvcjojNmM3NTdkIWltcG9ydGFudH0udGV4dC1oaWRle2ZvbnQ6MC8wIGE7Y29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS52aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnR9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbiFpbXBvcnRhbnR9QG1lZGlhIHByaW50eyosOjphZnRlciw6OmJlZm9yZXt0ZXh0LXNoYWRvdzpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fWE6bm90KC5idG4pe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YWJiclt0aXRsZV06OmFmdGVye2NvbnRlbnQ6IiAoIiBhdHRyKHRpdGxlKSAiKSJ9cHJle3doaXRlLXNwYWNlOnByZS13cmFwIWltcG9ydGFudH1ibG9ja3F1b3RlLHByZXtib3JkZXI6MXB4IHNvbGlkICM5OTk7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9dGhlYWR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9aW1nLHRye3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfWgyLGgzLHB7b3JwaGFuczozO3dpZG93czozfWgyLGgze3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWR9QHBhZ2V7c2l6ZTphM31ib2R5e21pbi13aWR0aDo5OTJweCFpbXBvcnRhbnR9LmNvbnRhaW5lcnttaW4td2lkdGg6OTkycHghaW1wb3J0YW50fS5uYXZiYXJ7ZGlzcGxheTpub25lfS5iYWRnZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9LnRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9LnRhYmxlIHRkLC50YWJsZSB0aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGRkIWltcG9ydGFudH19Ci8qIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5taW4uY3NzLm1hcCAqLw=="}},"time_used":110,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":100,"receive":10,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4911410e5153f0d7.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.035Z","timestamp":1785124600035,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4911410e5153f0d7.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 3812116\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4911410e5153f0d7.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"e09a94d1ed13e73c8c05e86ecc9b73b5\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4911410e5153f0d7.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5pnv4-1781312483646-99b0a50f7685\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=J38A5HwW3FW9Vu23lz%2Bb1CQNG0GBqeui63crbnqq7NYWpplNWlVUP40vi6hE%2BLj3MDtx%2FkLikaXM9KgIG2oneSdOxHci5covRUriz4bx9NBStDyD8zFjqx%2BgPqmw\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e399156b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":224417,"size_decoded":73403,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"e09a94d1ed13e73c8c05e86ecc9b73b5","sha1":"5d3e0e86e66f40d854564417d18b9a8cfb50938f","sha256":"bdeee3ad5435b26f62f6a8ce700f78618b18b355f3d3cd21ec3949a59777eaf5","sha512":"7d4e4220b8c82da8621e7f0ae1bfdb323ed094215712b54bfd28ed06e06e0aa9aded8bc0f07eb71ea08e821f75d433c38522d2054e9756e34814622cf8957899","ssdeep":"3072:LZhLWlPznn2U1BR0Bef8xgVrkRMKTopmN6Cstv9it+QK:LZhLWxznn2U1sWK04xstv9it+QK","tlshash":"66240be83995f6626ab302a710af1803733c252b280d4d60a711fdddb57845eb17bf9e","first_seen":"2026-02-04T14:24:19.892015Z","last_seen":"2026-08-04T06:18:34.234722Z","times_seen":1915,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc4NzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImdldEFzc2V0UHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgcj1lLnIoNDEwNjIpO2Z1bmN0aW9uIGwoKXtsZXQgZT1kb2N1bWVudC5jdXJyZW50U2NyaXB0O2lmKCEoZSBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHIuSW52YXJpYW50RXJyb3IoYEV4cGVjdGVkIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgdG8gYmUgYSA8c2NyaXB0PiBlbGVtZW50LiBSZWNlaXZlZCAke2V9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0e3BhdGhuYW1lOnR9PW5ldyBVUkwoZS5zcmMpLG49dC5pbmRleE9mKCIvX25leHQvIik7aWYoLTE9PT1uKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgci5JbnZhcmlhbnRFcnJvcihgRXhwZWN0ZWQgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBzcmMgdG8gY29udGFpbiAnL19uZXh0LycuIFJlY2VpdmVkICR7ZS5zcmN9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIHQuc2xpY2UoMCxuKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNTUzNiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwic2V0QXR0cmlidXRlc0Zyb21Qcm9wcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IHI9e2FjY2VwdENoYXJzZXQ6ImFjY2VwdC1jaGFyc2V0IixjbGFzc05hbWU6ImNsYXNzIixodG1sRm9yOiJmb3IiLGh0dHBFcXVpdjoiaHR0cC1lcXVpdiIsbm9Nb2R1bGU6Im5vTW9kdWxlIn0sbD1bIm9uTG9hZCIsIm9uUmVhZHkiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImNoaWxkcmVuIiwib25FcnJvciIsInN0cmF0ZWd5Iiwic3R5bGVzaGVldHMiXTtmdW5jdGlvbiBhKGUpe3JldHVyblsiYXN5bmMiLCJkZWZlciIsIm5vTW9kdWxlIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gbyhlLHQpe2ZvcihsZXRbbixvXW9mIE9iamVjdC5lbnRyaWVzKHQpKXtpZighdC5oYXNPd25Qcm9wZXJ0eShuKXx8bC5pbmNsdWRlcyhuKXx8dm9pZCAwPT09byljb250aW51ZTtsZXQgaT1yW25dfHxuLnRvTG93ZXJDYXNlKCk7IlNDUklQVCI9PT1lLnRhZ05hbWUmJmEoaSk/ZVtpXT0hIW86ZS5zZXRBdHRyaWJ1dGUoaSxTdHJpbmcobykpLCghMT09PW98fCJTQ1JJUFQiPT09ZS50YWdOYW1lJiZhKGkpJiYoIW98fCJmYWxzZSI9PT1vKSkmJihlLnNldEF0dHJpYnV0ZShpLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShpKSl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDQ4NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhcHBCb290c3RyYXAiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCByPWUucig3ODc1KSxsPWUucigxNTUzNik7ZnVuY3Rpb24gYShlKXt2YXIgdCxuO2xldCBhPSgwLHIuZ2V0QXNzZXRQcmVmaXgpKCk7dD1zZWxmLl9fbmV4dF9zLG49KCk9PntlKGEpfSx0JiZ0Lmxlbmd0aD90LnJlZHVjZSgoZSxbdCxuXSk9PmUudGhlbigoKT0+bmV3IFByb21pc2UoKGUscik9PntsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtuJiYoMCxsLnNldEF0dHJpYnV0ZXNGcm9tUHJvcHMpKGEsbiksdD8oYS5zcmM9dCxhLm9ubG9hZD0oKT0+ZSgpLGEub25lcnJvcj1yKTpuJiYoYS5pbm5lckhUTUw9bi5jaGlsZHJlbixzZXRUaW1lb3V0KGUpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGEpfSkpLFByb21pc2UucmVzb2x2ZSgpKS5jYXRjaChlPT57Y29uc29sZS5lcnJvcihlKX0pLnRoZW4oKCk9PntuKCl9KTpuKCl9d2luZG93Lm5leHQ9e3ZlcnNpb246IjE2LjEuNiIsYXBwRGlyOiEwfSwoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4NTQ3OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17Z2V0T2JqZWN0Q2xhc3NMYWJlbDpmdW5jdGlvbigpe3JldHVybiBhfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIltvYmplY3QgT2JqZWN0XSIhPT1hKGUpKXJldHVybiExO2xldCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gbnVsbD09PXR8fHQuaGFzT3duUHJvcGVydHkoImlzUHJvdG90eXBlT2YiKX19LDgwOTQwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldFByb3BlckVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDg1NDc5KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJuYW1lImluIGUmJiJtZXNzYWdlImluIGV9ZnVuY3Rpb24gaShlKXtsZXQgdDtyZXR1cm4gbyhlKT9lOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigoMCxhLmlzUGxhaW5PYmplY3QpKGUpPyh0PW5ldyBXZWFrU2V0LEpTT04uc3RyaW5naWZ5KGUsKGUsbik9PntpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXtpZih0LmhhcyhuKSlyZXR1cm4iW0NpcmN1bGFyXSI7dC5hZGQobil9cmV0dXJuIG59KSk6ZSsiIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fSwxNzc0OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwicmVwb3J0R2xvYmFsRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjplPT57Z2xvYmFsVGhpcy5jb25zb2xlLmVycm9yKGUpfTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMjc5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17aXNSZWNvdmVyYWJsZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LG9uUmVjb3ZlcmFibGVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoODQwODIpLGk9YS5fKGUucig4MDk0MCkpLHU9ZS5yKDE3NzQ4KSxzPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIGMoZSl7cmV0dXJuIHMuaGFzKGUpfWxldCBmPWU9PntsZXQgdD0oMCxpLmRlZmF1bHQpKGUpJiYiY2F1c2UiaW4gZT9lLmNhdXNlOmU7KDAsby5pc0JhaWxvdXRUb0NTUkVycm9yKSh0KXx8KDAsdS5yZXBvcnRHbG9iYWxFcnJvcikodCl9OygiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDkyMzg2LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPXt9fSw2MDg3NywoZSx0LG4pPT57InRyaW1TdGFydCJpbiBTdHJpbmcucHJvdG90eXBlfHwoU3RyaW5nLnByb3RvdHlwZS50cmltU3RhcnQ9U3RyaW5nLnByb3RvdHlwZS50cmltTGVmdCksInRyaW1FbmQiaW4gU3RyaW5nLnByb3RvdHlwZXx8KFN0cmluZy5wcm90b3R5cGUudHJpbUVuZD1TdHJpbmcucHJvdG90eXBlLnRyaW1SaWdodCksImRlc2NyaXB0aW9uImluIFN5bWJvbC5wcm90b3R5cGV8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgZT0vXCgoLiopXCkvLmV4ZWModGhpcy50b1N0cmluZygpKTtyZXR1cm4gZT9lWzFdOnZvaWQgMH19KSxBcnJheS5wcm90b3R5cGUuZmxhdHx8KEFycmF5LnByb3RvdHlwZS5mbGF0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9dGhpcy5jb25jYXQuYXBwbHkoW10sdGhpcyksZT4xJiZ0LnNvbWUoQXJyYXkuaXNBcnJheSk/dC5mbGF0KGUtMSk6dH0sQXJyYXkucHJvdG90eXBlLmZsYXRNYXA9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYXAoZSx0KS5mbGF0KCl9KSxQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5fHwoUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gdGhpcy50aGVuKGUsZSk7dmFyIHQ9dGhpcy5jb25zdHJ1Y3Rvcnx8UHJvbWlzZTtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiB0LnJlc29sdmUoZSgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sZnVuY3Rpb24obil7cmV0dXJuIHQucmVzb2x2ZShlKCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBufSl9KX0pLE9iamVjdC5mcm9tRW50cmllc3x8KE9iamVjdC5mcm9tRW50cmllcz1mdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShlKS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0WzBdXT10WzFdLGV9LHt9KX0pLEFycmF5LnByb3RvdHlwZS5hdHx8KEFycmF5LnByb3RvdHlwZS5hdD1mdW5jdGlvbihlKXt2YXIgdD1NYXRoLnRydW5jKGUpfHwwO2lmKHQ8MCYmKHQrPXRoaXMubGVuZ3RoKSwhKHQ8MHx8dD49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW3RdfSksT2JqZWN0Lmhhc093bnx8KE9iamVjdC5oYXNPd249ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXRocm93IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChPYmplY3QoZSksdCl9KSwiY2FuUGFyc2UiaW4gVVJMfHwoVVJMLmNhblBhcnNlPWZ1bmN0aW9uKGUsdCl7dHJ5e3JldHVybiBuZXcgVVJMKGUsdCksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSl9LDc5MTIzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUucig2MDg3NyksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sNDAxNDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7dmFyIG49ZS5sZW5ndGg7Zm9yKGUucHVzaCh0KTswPG47KXt2YXIgcj1uLTE+Pj4xLGw9ZVtyXTtpZigwPG8obCx0KSllW3JdPXQsZVtuXT1sLG49cjtlbHNlIGJyZWFrfX1mdW5jdGlvbiBsKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIGEoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO3ZhciB0PWVbMF0sbj1lLnBvcCgpO2lmKG4hPT10KXtlWzBdPW47Zm9yKHZhciByPTAsbD1lLmxlbmd0aCxhPWw+Pj4xO3I8YTspe3ZhciBpPTIqKHIrMSktMSx1PWVbaV0scz1pKzEsYz1lW3NdO2lmKDA+byh1LG4pKXM8bCYmMD5vKGMsdSk/KGVbcl09YyxlW3NdPW4scj1zKTooZVtyXT11LGVbaV09bixyPWkpO2Vsc2UgaWYoczxsJiYwPm8oYyxuKSllW3JdPWMsZVtzXT1uLHI9cztlbHNlIGJyZWFrfX1yZXR1cm4gdH1mdW5jdGlvbiBvKGUsdCl7dmFyIG49ZS5zb3J0SW5kZXgtdC5zb3J0SW5kZXg7cmV0dXJuIDAhPT1uP246ZS5pZC10LmlkfWlmKG4udW5zdGFibGVfbm93PXZvaWQgMCwib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2Uubm93KXt2YXIgaSx1PXBlcmZvcm1hbmNlO24udW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIHUubm93KCl9fWVsc2V7dmFyIHM9RGF0ZSxjPXMubm93KCk7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gcy5ub3coKS1jfX12YXIgZj1bXSxkPVtdLHA9MSxtPW51bGwsaD0zLGc9ITEsdj0hMSx5PSExLGI9ITEsdz0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwsaz0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLFM9InUiPnR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gRShlKXtmb3IodmFyIHQ9bChkKTtudWxsIT09dDspe2lmKG51bGw9PT10LmNhbGxiYWNrKWEoZCk7ZWxzZSBpZih0LnN0YXJ0VGltZTw9ZSlhKGQpLHQuc29ydEluZGV4PXQuZXhwaXJhdGlvblRpbWUscihmLHQpO2Vsc2UgYnJlYWs7dD1sKGQpfX1mdW5jdGlvbiB4KGUpe2lmKHk9ITEsRShlKSwhdilpZihudWxsIT09bChmKSl2PSEwLF98fChfPSEwLGkoKSk7ZWxzZXt2YXIgdD1sKGQpO251bGwhPT10JiZSKHgsdC5zdGFydFRpbWUtZSl9fXZhciBfPSExLFA9LTEsTj01LEM9LTE7ZnVuY3Rpb24gVCgpe3JldHVybiEhYnx8IShuLnVuc3RhYmxlX25vdygpLUM8Til9ZnVuY3Rpb24gTygpe2lmKGI9ITEsXyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtDPWU7dmFyIHQ9ITA7dHJ5e2U6e3Y9ITEseSYmKHk9ITEsayhQKSxQPS0xKSxnPSEwO3ZhciByPWg7dHJ5e3Q6e2ZvcihFKGUpLG09bChmKTtudWxsIT09bSYmIShtLmV4cGlyYXRpb25UaW1lPmUmJlQoKSk7KXt2YXIgbz1tLmNhbGxiYWNrO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBvKXttLmNhbGxiYWNrPW51bGwsaD1tLnByaW9yaXR5TGV2ZWw7dmFyIHU9byhtLmV4cGlyYXRpb25UaW1lPD1lKTtpZihlPW4udW5zdGFibGVfbm93KCksImZ1bmN0aW9uIj09dHlwZW9mIHUpe20uY2FsbGJhY2s9dSxFKGUpLHQ9ITA7YnJlYWsgdH1tPT09bChmKSYmYShmKSxFKGUpfWVsc2UgYShmKTttPWwoZil9aWYobnVsbCE9PW0pdD0hMDtlbHNle3ZhciBzPWwoZCk7bnVsbCE9PXMmJlIoeCxzLnN0YXJ0VGltZS1lKSx0PSExfX1icmVhayBlfWZpbmFsbHl7bT1udWxsLGg9cixnPSExfX19ZmluYWxseXt0P2koKTpfPSExfX19aWYoImZ1bmN0aW9uIj09dHlwZW9mIFMpaT1mdW5jdGlvbigpe1MoTyl9O2Vsc2UgaWYoInUiPnR5cGVvZiBNZXNzYWdlQ2hhbm5lbCl7dmFyIHo9bmV3IE1lc3NhZ2VDaGFubmVsLEw9ei5wb3J0Mjt6LnBvcnQxLm9ubWVzc2FnZT1PLGk9ZnVuY3Rpb24oKXtMLnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIGk9ZnVuY3Rpb24oKXt3KE8sMCl9O2Z1bmN0aW9uIFIoZSx0KXtQPXcoZnVuY3Rpb24oKXtlKG4udW5zdGFibGVfbm93KCkpfSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLG4udW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7ZS5jYWxsYmFjaz1udWxsfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBofSxuLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oZSl7c3dpdGNoKGgpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciB0PTM7YnJlYWs7ZGVmYXVsdDp0PWh9dmFyIG49aDtoPXQ7dHJ5e3JldHVybiBlKCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe2I9ITB9LG4udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5PWZ1bmN0aW9uKGUsdCl7c3dpdGNoKGUpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOmNhc2UgNDpjYXNlIDU6YnJlYWs7ZGVmYXVsdDplPTN9dmFyIG49aDtoPWU7dHJ5e3JldHVybiB0KCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0LGEpe3ZhciBvPW4udW5zdGFibGVfbm93KCk7c3dpdGNoKGE9Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmIm51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/bythOm8sZSl7Y2FzZSAxOnZhciB1PS0xO2JyZWFrO2Nhc2UgMjp1PTI1MDticmVhaztjYXNlIDU6dT0weDNmZmZmZmZmO2JyZWFrO2Nhc2UgNDp1PTFlNDticmVhaztkZWZhdWx0OnU9NWUzfXJldHVybiB1PWErdSxlPXtpZDpwKyssY2FsbGJhY2s6dCxwcmlvcml0eUxldmVsOmUsc3RhcnRUaW1lOmEsZXhwaXJhdGlvblRpbWU6dSxzb3J0SW5kZXg6LTF9LGE+bz8oZS5zb3J0SW5kZXg9YSxyKGQsZSksbnVsbD09PWwoZikmJmU9PT1sKGQpJiYoeT8oayhQKSxQPS0xKTp5PSEwLFIoeCxhLW8pKSk6KGUuc29ydEluZGV4PXUscihmLGUpLHZ8fGd8fCh2PSEwLF98fChfPSEwLGkoKSkpKSxlfSxuLnVuc3RhYmxlX3Nob3VsZFlpZWxkPVQsbi51bnN0YWJsZV93cmFwQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9aDtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1oO2g9dDt0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7aD1ufX19fSwyNjQ0MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNDAxNDApfSw4MjQyNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLGw9ZS5pKDgyNjM3KSxhPWUucigyNjQ0Myksbz1lLnIoNzUyMDEpLGk9ZS5yKDI5MDgwKTtmdW5jdGlvbiB1KGUpe3ZhciB0PSJodHRwczovL3JlYWN0LmRldi9lcnJvcnMvIitlO2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7dCs9Ij9hcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzWzFdKTtmb3IodmFyIG49MjtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSl9cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvIDAhPSg0MDk4Jih0PWUpLmZsYWdzKSYmKG49dC5yZXR1cm4pLGU9dC5yZXR1cm47d2hpbGUoZSl9cmV0dXJuIDM9PT10LnRhZz9uOm51bGx9ZnVuY3Rpb24gZihlKXtpZigxMz09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYobnVsbD09PXQmJm51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJih0PWUubWVtb2l6ZWRTdGF0ZSksbnVsbCE9PXQpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBkKGUpe2lmKDMxPT09ZS50YWcpe3ZhciB0PWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09dCYmbnVsbCE9PShlPWUuYWx0ZXJuYXRlKSYmKHQ9ZS5tZW1vaXplZFN0YXRlKSxudWxsIT09dClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7aWYoYyhlKSE9PWUpdGhyb3cgRXJyb3IodSgxODgpKX1mdW5jdGlvbiBtKGUsdCxuLHIsbCxhKXtmb3IoO251bGwhPT1lOyl7aWYoNT09PWUudGFnJiZuKGUscixsLGEpfHwoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSkmJih0fHw1IT09ZS50YWcpJiZtKGUuY2hpbGQsdCxuLHIsbCxhKSlyZXR1cm4hMDtlPWUuc2libGluZ31yZXR1cm4hMX1mdW5jdGlvbiBoKGUpe2ZvcihlPWUucmV0dXJuO251bGwhPT1lOyl7aWYoMz09PWUudGFnfHw1PT09ZS50YWcpcmV0dXJuIGU7ZT1lLnJldHVybn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBnKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSA1OnJldHVybiBlLnN0YXRlTm9kZTtjYXNlIDM6cmV0dXJuIGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDU1OSkpfX12YXIgdj1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiB2PWUsITB9ZnVuY3Rpb24gdyhlLHQsbil7cmV0dXJuIGU9PT1ufHxlPT09dCYmKHY9ZSwhMCl9ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIGU9PT1uPyh5PWUsITEpOmU9PT10JiYobnVsbCE9PXkmJih2PWUpLCEwKX1mdW5jdGlvbiBTKGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2RvIGU9bnVsbD09PWU/bnVsbDplLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcmJjMhPT1lLnRhZylyZXR1cm4gZXx8bnVsbH1mdW5jdGlvbiBFKGUsdCxuKXtmb3IodmFyIHI9MCxsPWU7bDtsPW4obCkpcisrO2w9MDtmb3IodmFyIGE9dDthO2E9bihhKSlsKys7Zm9yKDswPHItbDspZT1uKGUpLHItLTtmb3IoOzA8bC1yOyl0PW4odCksbC0tO2Zvcig7ci0tOyl7aWYoZT09PXR8fG51bGwhPT10JiZlPT09dC5hbHRlcm5hdGUpcmV0dXJuIGU7ZT1uKGUpLHQ9bih0KX1yZXR1cm4gbnVsbH12YXIgeD1PYmplY3QuYXNzaWduLF89U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFA9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxOPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLEM9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxUPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxMPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxSPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksTT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEk9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLEY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIik7dmFyIEE9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxqPVN5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKTtTeW1ib2wuZm9yKCJyZWFjdC50cmFjaW5nX21hcmtlciIpO3ZhciBVPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW9fY2FjaGVfc2VudGluZWwiKSxCPVN5bWJvbC5mb3IoInJlYWN0LnZpZXdfdHJhbnNpdGlvbiIpLFY9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEgoZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1WJiZlW1ZdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH12YXIgJD1TeW1ib2wuZm9yKCJyZWFjdC5jbGllbnQucmVmZXJlbmNlIiksUT1BcnJheS5pc0FycmF5LFc9by5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUscT1pLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxLPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0sWD1bXSxHPS0xO2Z1bmN0aW9uIFkoZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gSihlKXswPkd8fChlLmN1cnJlbnQ9WFtHXSxYW0ddPW51bGwsRy0tKX1mdW5jdGlvbiBaKGUsdCl7WFsrK0ddPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIgZWU9WShudWxsKSxldD1ZKG51bGwpLGVuPVkobnVsbCksZXI9WShudWxsKTtmdW5jdGlvbiBlbChlLHQpe3N3aXRjaChaKGVuLHQpLFooZXQsZSksWihlZSxudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP2NzKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKWU9Y2ModD1jcyh0KSxlKTtlbHNlIHN3aXRjaChlKXtjYXNlInN2ZyI6ZT0xO2JyZWFrO2Nhc2UibWF0aCI6ZT0yO2JyZWFrO2RlZmF1bHQ6ZT0wfX1KKGVlKSxaKGVlLGUpfWZ1bmN0aW9uIGVhKCl7SihlZSksSihldCksSihlbil9ZnVuY3Rpb24gZW8oZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO251bGwhPT10JiYoZnYuX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsWihlcixlKSk7dmFyIG49Y2ModD1lZS5jdXJyZW50LGUudHlwZSk7dCE9PW4mJihaKGV0LGUpLFooZWUsbikpfWZ1bmN0aW9uIGVpKGUpe2V0LmN1cnJlbnQ9PT1lJiYoSihlZSksSihldCkpLGVyLmN1cnJlbnQ9PT1lJiYoSihlciksZnYuX2N1cnJlbnRWYWx1ZT1LKX1mdW5jdGlvbiBldShlKXtpZih2b2lkIDA9PT10WCl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgdD1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7dFg9dCYmdFsxXXx8IiIsdEc9LTE8ZS5zdGFjay5pbmRleE9mKCJcbiAgICBhdCIpPyIgKDxhbm9ueW1vdXM+KSI6LTE8ZS5zdGFjay5pbmRleE9mKCJAIik/IkB1bmtub3duOjA6MCI6IiJ9cmV0dXJuIlxuIit0WCtlK3RHfXZhciBlcz0hMTtmdW5jdGlvbiBlYyhlLHQpe2lmKCFlfHxlcylyZXR1cm4iIjtlcz0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciByPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIG49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSwib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QobixbXSl9Y2F0Y2goZSl7dmFyIHI9ZX1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLG4pfWVsc2V7dHJ5e24uY2FsbCgpfWNhdGNoKGUpe3I9ZX1lLmNhbGwobi5wcm90b3R5cGUpfX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3I9ZX0obj1lKCkpJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5jYXRjaCYmbi5jYXRjaChmdW5jdGlvbigpe30pfX1jYXRjaChlKXtpZihlJiZyJiYic3RyaW5nIj09dHlwZW9mIGUuc3RhY2spcmV0dXJuW2Uuc3RhY2ssci5zdGFja119cmV0dXJuW251bGwsbnVsbF19fTtyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZT0iRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Ijt2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIik7bCYmbC5jb25maWd1cmFibGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIse3ZhbHVlOiJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QifSk7dmFyIGE9ci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxvPWFbMF0saT1hWzFdO2lmKG8mJmkpe3ZhciB1PW8uc3BsaXQoIlxuIikscz1pLnNwbGl0KCJcbiIpO2ZvcihsPXI9MDtyPHUubGVuZ3RoJiYhdVtyXS5pbmNsdWRlcygiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Iik7KXIrKztmb3IoO2w8cy5sZW5ndGgmJiFzW2xdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspbCsrO2lmKHI9PT11Lmxlbmd0aHx8bD09PXMubGVuZ3RoKWZvcihyPXUubGVuZ3RoLTEsbD1zLmxlbmd0aC0xOzE8PXImJjA8PWwmJnVbcl0hPT1zW2xdOylsLS07Zm9yKDsxPD1yJiYwPD1sO3ItLSxsLS0paWYodVtyXSE9PXNbbF0pe2lmKDEhPT1yfHwxIT09bClkbyBpZihyLS0sbC0tLDA+bHx8dVtyXSE9PXNbbF0pe3ZhciBjPSJcbiIrdVtyXS5yZXBsYWNlKCIgYXQgbmV3ICIsIiBhdCAiKTtyZXR1cm4gZS5kaXNwbGF5TmFtZSYmYy5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKGM9Yy5yZXBsYWNlKCI8YW5vbnltb3VzPiIsZS5kaXNwbGF5TmFtZSkpLGN9d2hpbGUoMTw9ciYmMDw9bClicmVha319fWZpbmFsbHl7ZXM9ITEsRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9bn1yZXR1cm4obj1lP2UuZGlzcGxheU5hbWV8fGUubmFtZToiIik/ZXUobik6IiJ9ZnVuY3Rpb24gZWYoZSl7dHJ5e3ZhciB0PSIiLG49bnVsbDtkbyB0Kz1mdW5jdGlvbihlLHQpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZXUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBldSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGUuY2hpbGQhPT10JiZudWxsIT09dD9ldSgiU3VzcGVuc2UgRmFsbGJhY2siKTpldSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBldSgiU3VzcGVuc2VMaXN0Iik7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIGVjKGUudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gZWMoZS50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBlYyhlLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGV1KCJBY3Rpdml0eSIpO2Nhc2UgMzA6cmV0dXJuIGV1KCJWaWV3VHJhbnNpdGlvbiIpO2RlZmF1bHQ6cmV0dXJuIiJ9fShlLG4pLG49ZSxlPWUucmV0dXJuO3doaWxlKGUpcmV0dXJuIHR9Y2F0Y2goZSl7cmV0dXJuIlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfX12YXIgZWQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxlcD1hLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssZW09YS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxlaD1hLnVuc3RhYmxlX3Nob3VsZFlpZWxkLGVnPWEudW5zdGFibGVfcmVxdWVzdFBhaW50LGV2PWEudW5zdGFibGVfbm93LGV5PWEudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsZWI9YS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxldz1hLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LGVrPWEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZVM9YS51bnN0YWJsZV9Mb3dQcmlvcml0eSxlRT1hLnVuc3RhYmxlX0lkbGVQcmlvcml0eSxleD0oYS5sb2csYS51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxudWxsKSxlXz1udWxsLGVQPU1hdGguY2x6MzI/TWF0aC5jbHozMjpmdW5jdGlvbihlKXtyZXR1cm4gMD09KGU+Pj49MCk/MzI6MzEtKGVOKGUpL2VDfDApfDB9LGVOPU1hdGgubG9nLGVDPU1hdGguTE4yLGVUPTI1NixlTz0yNjIxNDQsZXo9NDE5NDMwNDtmdW5jdGlvbiBlTChlKXt2YXIgdD00MiZlO2lmKDAhPT10KXJldHVybiB0O3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpyZXR1cm4gNjQ7Y2FzZSAxMjg6cmV0dXJuIDEyODtjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6cmV0dXJuIDI2MTg4OCZlO2Nhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIDM5MzIxNjAmZTtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOnJldHVybiAweDNjMDAwMDAmZTtjYXNlIDB4NDAwMDAwMDpyZXR1cm4gMHg0MDAwMDAwO2Nhc2UgMHg4MDAwMDAwOnJldHVybiAweDgwMDAwMDA7Y2FzZSAweDEwMDAwMDAwOnJldHVybiAweDEwMDAwMDAwO2Nhc2UgMHgyMDAwMDAwMDpyZXR1cm4gMHgyMDAwMDAwMDtjYXNlIDB4NDAwMDAwMDA6cmV0dXJuIDA7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gZVIoZSx0LG4pe3ZhciByPWUucGVuZGluZ0xhbmVzO2lmKDA9PT1yKXJldHVybiAwO3ZhciBsPTAsYT1lLnN1c3BlbmRlZExhbmVzLG89ZS5waW5nZWRMYW5lcztlPWUud2FybUxhbmVzO3ZhciBpPTB4N2ZmZmZmZiZyO3JldHVybiAwIT09aT8wIT0ocj1pJn5hKT9sPWVMKHIpOjAhPShvJj1pKT9sPWVMKG8pOm58fDAhPShuPWkmfmUpJiYobD1lTChuKSk6MCE9KGk9ciZ+YSk/bD1lTChpKTowIT09bz9sPWVMKG8pOm58fDAhPShuPXImfmUpJiYobD1lTChuKSksMD09PWw/MDowIT09dCYmdCE9PWwmJjA9PSh0JmEpJiYoKGE9bCYtbCk+PShuPXQmLXQpfHwzMj09PWEmJjAhPSg0MTk0MDQ4Jm4pKT90Omx9ZnVuY3Rpb24gZU0oZSx0KXtyZXR1cm4gMD09KGUucGVuZGluZ0xhbmVzJn4oZS5zdXNwZW5kZWRMYW5lcyZ+ZS5waW5nZWRMYW5lcykmdCl9ZnVuY3Rpb24gZUkoKXt2YXIgZT1lejtyZXR1cm4gMD09KDB4M2MwMDAwMCYoZXo8PD0xKSkmJihlej00MTk0MzA0KSxlfWZ1bmN0aW9uIGVEKGUpe2Zvcih2YXIgdD1bXSxuPTA7MzE+bjtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIGVGKGUsdCl7ZS5wZW5kaW5nTGFuZXN8PXQsMHgxMDAwMDAwMCE9PXQmJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTApfWZ1bmN0aW9uIGVBKGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCxlLnN1c3BlbmRlZExhbmVzJj1+dDt2YXIgcj0zMS1lUCh0KTtlLmVudGFuZ2xlZExhbmVzfD10LGUuZW50YW5nbGVtZW50c1tyXT0weDQwMDAwMDAwfGUuZW50YW5nbGVtZW50c1tyXXwyNjE5MzAmbn1mdW5jdGlvbiBlaihlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgcj0zMS1lUChuKSxsPTE8PHI7bCZ0fGVbcl0mdCYmKGVbcl18PXQpLG4mPX5sfX1mdW5jdGlvbiBlVShlLHQpe3ZhciBuPXQmLXQ7cmV0dXJuIDAhPSgobj0wIT0oNDImbik/MTplQihuKSkmKGUuc3VzcGVuZGVkTGFuZXN8dCkpPzA6bn1mdW5jdGlvbiBlQihlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOmU9MTI4O2JyZWFrO2Nhc2UgMHgxMDAwMDAwMDplPTB4ODAwMDAwMDticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBlVihlKXtyZXR1cm4gMjwoZSY9LWUpPzg8ZT8wIT0oMHg3ZmZmZmZmJmUpPzMyOjB4MTAwMDAwMDA6ODoyfWZ1bmN0aW9uIGVIKCl7dmFyIGU9cS5wO3JldHVybiAwIT09ZT9lOnZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MzI6ZkwoZS50eXBlKX1mdW5jdGlvbiBlJChlLHQpe3ZhciBuPXEucDt0cnl7cmV0dXJuIHEucD1lLHQoKX1maW5hbGx5e3EucD1ufX12YXIgZVE9TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksZVc9Il9fcmVhY3RGaWJlciQiK2VRLGVxPSJfX3JlYWN0UHJvcHMkIitlUSxlSz0iX19yZWFjdENvbnRhaW5lciQiK2VRLGVYPSJfX3JlYWN0RXZlbnRzJCIrZVEsZUc9Il9fcmVhY3RMaXN0ZW5lcnMkIitlUSxlWT0iX19yZWFjdEhhbmRsZXMkIitlUSxlSj0iX19yZWFjdFJlc291cmNlcyQiK2VRLGVaPSJfX3JlYWN0TWFya2VyJCIrZVE7ZnVuY3Rpb24gZTAoZSl7ZGVsZXRlIGVbZVddLGRlbGV0ZSBlW2VxXSxkZWxldGUgZVtlWF0sZGVsZXRlIGVbZUddLGRlbGV0ZSBlW2VZXX1mdW5jdGlvbiBlMShlKXt2YXIgdDtpZih0PWVbZVddKXJldHVybiB0O2Zvcih2YXIgbj1lLnBhcmVudE5vZGU7bjspe2lmKHQ9bltlS118fG5bZVddKXtpZihuPXQuYWx0ZXJuYXRlLG51bGwhPT10LmNoaWxkfHxudWxsIT09biYmbnVsbCE9PW4uY2hpbGQpZm9yKGU9Y0soZSk7bnVsbCE9PWU7KXtpZihuPWVbZVddKXJldHVybiBuO2U9Y0soZSl9cmV0dXJuIHR9bj0oZT1uKS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGUyKGUpe2lmKGU9ZVtlV118fGVbZUtdKXt2YXIgdD1lLnRhZztpZig1PT09dHx8Nj09PXR8fDEzPT09dHx8MzE9PT10fHwyNj09PXR8fDI3PT09dHx8Mz09PXQpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZTMoZSl7dmFyIHQ9ZS50YWc7aWYoNT09PXR8fDI2PT09dHx8Mjc9PT10fHw2PT09dClyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IodSgzMykpfWZ1bmN0aW9uIGU0KGUpe3ZhciB0PWVbZUpdO3JldHVybiB0fHwodD1lW2VKXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBlOChlKXtlW2VaXT0hMH12YXIgZTU9bmV3IFNldCxlNj17fTtmdW5jdGlvbiBlOShlLHQpe2U3KGUsdCksZTcoZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gZTcoZSx0KXtmb3IoZTZbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspZTUuYWRkKHRbZV0pfXZhciB0ZT1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSx0dD17fSx0bj17fSx0cj0hMTtmdW5jdGlvbiB0bCgpe3ZhciBlPXRyO3JldHVybiB0cj0hMSxlfWZ1bmN0aW9uIHRhKGUsdCxuKXtpZihlZC5jYWxsKHRuLHQpfHwhZWQuY2FsbCh0dCx0KSYmKHRlLnRlc3QodCk/dG5bdF09ITA6KHR0W3RdPSEwLCExKSkpaWYobnVsbD09PW4pZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIHI9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYoImRhdGEtIiE9PXImJiJhcmlhLSIhPT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKHQpfWUuc2V0QXR0cmlidXRlKHQsIiIrbil9fWZ1bmN0aW9uIHRvKGUsdCxuKXtpZihudWxsPT09billLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybn1lLnNldEF0dHJpYnV0ZSh0LCIiK24pfX1mdW5jdGlvbiB0aShlLHQsbixyKXtpZihudWxsPT09cillLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNle3N3aXRjaCh0eXBlb2Ygcil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKG4pO3JldHVybn1lLnNldEF0dHJpYnV0ZU5TKHQsbiwiIityKX19ZnVuY3Rpb24gdHUoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gdHMoZSl7dmFyIHQ9ZS50eXBlO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KX1mdW5jdGlvbiB0YyhlKXtpZighZS5fdmFsdWVUcmFja2VyKXt2YXIgdD10cyhlKT8iY2hlY2tlZCI6InZhbHVlIjtlLl92YWx1ZVRyYWNrZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWUuaGFzT3duUHJvcGVydHkodCkmJnZvaWQgMCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHIuc2V0KXt2YXIgbD1yLmdldCxhPXIuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe249IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOnIuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBufSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtuPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fShlLHQsIiIrZVt0XSl9fWZ1bmN0aW9uIHRmKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgbj10LmdldFZhbHVlKCkscj0iIjtyZXR1cm4gZSYmKHI9dHMoZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09biYmKHQuc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIHRkKGUpe2lmKHZvaWQgMD09PShlPWV8fCgidSI+dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50OnZvaWQgMCkpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2godCl7cmV0dXJuIGUuYm9keX19dmFyIHRwPS9bXG4iXFxdL2c7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUucmVwbGFjZSh0cCxmdW5jdGlvbihlKXtyZXR1cm4iXFwiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikrIiAifSl9ZnVuY3Rpb24gdGgoZSx0LG4scixsLGEsbyxpKXtlLm5hbWU9IiIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2Ygbz9lLnR5cGU9bzplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLG51bGwhPXQ/Im51bWJlciI9PT1vPygwPT09dCYmIiI9PT1lLnZhbHVlfHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrdHUodCkpOmUudmFsdWUhPT0iIit0dSh0KSYmKGUudmFsdWU9IiIrdHUodCkpOiJzdWJtaXQiIT09byYmInJlc2V0IiE9PW98fGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpLG51bGwhPXQ/dHYoZSxvLHR1KHQpKTpudWxsIT1uP3R2KGUsbyx0dShuKSk6bnVsbCE9ciYmZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksbnVsbD09bCYmbnVsbCE9YSYmKGUuZGVmYXVsdENoZWNrZWQ9ISFhKSxudWxsIT1sJiYoZS5jaGVja2VkPWwmJiJmdW5jdGlvbiIhPXR5cGVvZiBsJiYic3ltYm9sIiE9dHlwZW9mIGwpLG51bGwhPWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBpJiYic3ltYm9sIiE9dHlwZW9mIGkmJiJib29sZWFuIiE9dHlwZW9mIGk/ZS5uYW1lPSIiK3R1KGkpOmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIil9ZnVuY3Rpb24gdGcoZSx0LG4scixsLGEsbyxpKXtpZihudWxsIT1hJiYiZnVuY3Rpb24iIT10eXBlb2YgYSYmInN5bWJvbCIhPXR5cGVvZiBhJiYiYm9vbGVhbiIhPXR5cGVvZiBhJiYoZS50eXBlPWEpLG51bGwhPXR8fG51bGwhPW4pe2lmKCgic3VibWl0Ij09PWF8fCJyZXNldCI9PT1hKSYmbnVsbD09dClyZXR1cm4gdm9pZCB0YyhlKTtuPW51bGwhPW4/IiIrdHUobik6IiIsdD1udWxsIT10PyIiK3R1KHQpOm4saXx8dD09PWUudmFsdWV8fChlLnZhbHVlPXQpLGUuZGVmYXVsdFZhbHVlPXR9cj0iZnVuY3Rpb24iIT10eXBlb2Yocj1udWxsIT1yP3I6bCkmJiJzeW1ib2wiIT10eXBlb2YgciYmISFyLGUuY2hlY2tlZD1pP2UuY2hlY2tlZDohIXIsZS5kZWZhdWx0Q2hlY2tlZD0hIXIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2YgbyYmKGUubmFtZT1vKSx0YyhlKX1mdW5jdGlvbiB0dihlLHQsbil7Im51bWJlciI9PT10JiZ0ZChlLm93bmVyRG9jdW1lbnQpPT09ZXx8ZS5kZWZhdWx0VmFsdWU9PT0iIitufHwoZS5kZWZhdWx0VmFsdWU9IiIrbil9ZnVuY3Rpb24gdHkoZSx0LG4scil7aWYoZT1lLm9wdGlvbnMsdCl7dD17fTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl0WyIkIituW2xdXT0hMDtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWw9dC5oYXNPd25Qcm9wZXJ0eSgiJCIrZVtuXS52YWx1ZSksZVtuXS5zZWxlY3RlZCE9PWwmJihlW25dLnNlbGVjdGVkPWwpLGwmJnImJihlW25dLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IobD0wLG49IiIrdHUobiksdD1udWxsO2w8ZS5sZW5ndGg7bCsrKXtpZihlW2xdLnZhbHVlPT09bil7ZVtsXS5zZWxlY3RlZD0hMCxyJiYoZVtsXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn1udWxsIT09dHx8ZVtsXS5kaXNhYmxlZHx8KHQ9ZVtsXSl9bnVsbCE9PXQmJih0LnNlbGVjdGVkPSEwKX19ZnVuY3Rpb24gdGIoZSx0LG4pe2lmKG51bGwhPXQmJigodD0iIit0dSh0KSkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uKSl7ZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCk7cmV0dXJufWUuZGVmYXVsdFZhbHVlPW51bGwhPW4/IiIrdHUobik6IiJ9ZnVuY3Rpb24gdHcoZSx0LG4scil7aWYobnVsbD09dCl7aWYobnVsbCE9cil7aWYobnVsbCE9bil0aHJvdyBFcnJvcih1KDkyKSk7aWYoUShyKSl7aWYoMTxyLmxlbmd0aCl0aHJvdyBFcnJvcih1KDkzKSk7cj1yWzBdfW49cn1udWxsPT1uJiYobj0iIiksdD1ufWUuZGVmYXVsdFZhbHVlPW49dHUodCksKHI9ZS50ZXh0Q29udGVudCk9PT1uJiYiIiE9PXImJm51bGwhPT1yJiYoZS52YWx1ZT1yKSx0YyhlKX1mdW5jdGlvbiB0ayhlLHQpe2lmKHQpe3ZhciBuPWUuZmlyc3RDaGlsZDtpZihuJiZuPT09ZS5sYXN0Q2hpbGQmJjM9PT1uLm5vZGVUeXBlKXtuLm5vZGVWYWx1ZT10O3JldHVybn19ZS50ZXh0Q29udGVudD10fXZhciB0Uz1uZXcgU2V0KCJhbmltYXRpb25JdGVyYXRpb25Db3VudCBhc3BlY3RSYXRpbyBib3JkZXJJbWFnZU91dHNldCBib3JkZXJJbWFnZVNsaWNlIGJvcmRlckltYWdlV2lkdGggYm94RmxleCBib3hGbGV4R3JvdXAgYm94T3JkaW5hbEdyb3VwIGNvbHVtbkNvdW50IGNvbHVtbnMgZmxleCBmbGV4R3JvdyBmbGV4UG9zaXRpdmUgZmxleFNocmluayBmbGV4TmVnYXRpdmUgZmxleE9yZGVyIGdyaWRBcmVhIGdyaWRSb3cgZ3JpZFJvd0VuZCBncmlkUm93U3BhbiBncmlkUm93U3RhcnQgZ3JpZENvbHVtbiBncmlkQ29sdW1uRW5kIGdyaWRDb2x1bW5TcGFuIGdyaWRDb2x1bW5TdGFydCBmb250V2VpZ2h0IGxpbmVDbGFtcCBsaW5lSGVpZ2h0IG9wYWNpdHkgb3JkZXIgb3JwaGFucyBzY2FsZSB0YWJTaXplIHdpZG93cyB6SW5kZXggem9vbSBmaWxsT3BhY2l0eSBmbG9vZE9wYWNpdHkgc3RvcE9wYWNpdHkgc3Ryb2tlRGFzaGFycmF5IHN0cm9rZURhc2hvZmZzZXQgc3Ryb2tlTWl0ZXJsaW1pdCBzdHJva2VPcGFjaXR5IHN0cm9rZVdpZHRoIE1vekFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IE1vekJveEZsZXggTW96Qm94RmxleEdyb3VwIE1vekxpbmVDbGFtcCBtc0FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IG1zRmxleCBtc1pvb20gbXNGbGV4R3JvdyBtc0ZsZXhOZWdhdGl2ZSBtc0ZsZXhPcmRlciBtc0ZsZXhQb3NpdGl2ZSBtc0ZsZXhTaHJpbmsgbXNHcmlkQ29sdW1uIG1zR3JpZENvbHVtblNwYW4gbXNHcmlkUm93IG1zR3JpZFJvd1NwYW4gV2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgV2Via2l0Qm94RmxleCBXZWJLaXRCb3hGbGV4R3JvdXAgV2Via2l0Qm94T3JkaW5hbEdyb3VwIFdlYmtpdENvbHVtbkNvdW50IFdlYmtpdENvbHVtbnMgV2Via2l0RmxleCBXZWJraXRGbGV4R3JvdyBXZWJraXRGbGV4UG9zaXRpdmUgV2Via2l0RmxleFNocmluayBXZWJraXRMaW5lQ2xhbXAiLnNwbGl0KCIgIikpO2Z1bmN0aW9uIHRFKGUsdCxuKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpO251bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG58fCIiPT09bj9yP2Uuc2V0UHJvcGVydHkodCwiIik6ImZsb2F0Ij09PXQ/ZS5jc3NGbG9hdD0iIjplW3RdPSIiOnI/ZS5zZXRQcm9wZXJ0eSh0LG4pOiJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHRTLmhhcyh0KT8iZmxvYXQiPT09dD9lLmNzc0Zsb2F0PW46ZVt0XT0oIiIrbikudHJpbSgpOmVbdF09bisicHgifWZ1bmN0aW9uIHR4KGUsdCxuKXtpZihudWxsIT10JiYib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IodSg2MikpO2lmKGU9ZS5zdHlsZSxudWxsIT1uKXtmb3IodmFyIHIgaW4gbikhbi5oYXNPd25Qcm9wZXJ0eShyKXx8bnVsbCE9dCYmdC5oYXNPd25Qcm9wZXJ0eShyKXx8KDA9PT1yLmluZGV4T2YoIi0tIik/ZS5zZXRQcm9wZXJ0eShyLCIiKToiZmxvYXQiPT09cj9lLmNzc0Zsb2F0PSIiOmVbcl09IiIsdHI9ITApO2Zvcih2YXIgbCBpbiB0KXI9dFtsXSx0Lmhhc093blByb3BlcnR5KGwpJiZuW2xdIT09ciYmKHRFKGUsbCxyKSx0cj0hMCl9ZWxzZSBmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiZ0RShlLGEsdFthXSl9ZnVuY3Rpb24gdF8oZSl7aWYoLTE9PT1lLmluZGV4T2YoIi0iKSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgdFA9bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm92ZXJsaW5lUG9zaXRpb24iLCJvdmVybGluZS1wb3NpdGlvbiJdLFsib3ZlcmxpbmVUaGlja25lc3MiLCJvdmVybGluZS10aGlja25lc3MiXSxbInBhaW50T3JkZXIiLCJwYWludC1vcmRlciJdLFsicGFub3NlLTEiLCJwYW5vc2UtMSJdLFsicG9pbnRlckV2ZW50cyIsInBvaW50ZXItZXZlbnRzIl0sWyJyZW5kZXJpbmdJbnRlbnQiLCJyZW5kZXJpbmctaW50ZW50Il0sWyJzaGFwZVJlbmRlcmluZyIsInNoYXBlLXJlbmRlcmluZyJdLFsic3RvcENvbG9yIiwic3RvcC1jb2xvciJdLFsic3RvcE9wYWNpdHkiLCJzdG9wLW9wYWNpdHkiXSxbInN0cmlrZXRocm91Z2hQb3NpdGlvbiIsInN0cmlrZXRocm91Z2gtcG9zaXRpb24iXSxbInN0cmlrZXRocm91Z2hUaGlja25lc3MiLCJzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyJdLFsic3Ryb2tlRGFzaGFycmF5Iiwic3Ryb2tlLWRhc2hhcnJheSJdLFsic3Ryb2tlRGFzaG9mZnNldCIsInN0cm9rZS1kYXNob2Zmc2V0Il0sWyJzdHJva2VMaW5lY2FwIiwic3Ryb2tlLWxpbmVjYXAiXSxbInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlLWxpbmVqb2luIl0sWyJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlLW1pdGVybGltaXQiXSxbInN0cm9rZU9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSJdLFsic3Ryb2tlV2lkdGgiLCJzdHJva2Utd2lkdGgiXSxbInRleHRBbmNob3IiLCJ0ZXh0LWFuY2hvciJdLFsidGV4dERlY29yYXRpb24iLCJ0ZXh0LWRlY29yYXRpb24iXSxbInRleHRSZW5kZXJpbmciLCJ0ZXh0LXJlbmRlcmluZyJdLFsidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtLW9yaWdpbiJdLFsidW5kZXJsaW5lUG9zaXRpb24iLCJ1bmRlcmxpbmUtcG9zaXRpb24iXSxbInVuZGVybGluZVRoaWNrbmVzcyIsInVuZGVybGluZS10aGlja25lc3MiXSxbInVuaWNvZGVCaWRpIiwidW5pY29kZS1iaWRpIl0sWyJ1bmljb2RlUmFuZ2UiLCJ1bmljb2RlLXJhbmdlIl0sWyJ1bml0c1BlckVtIiwidW5pdHMtcGVyLWVtIl0sWyJ2QWxwaGFiZXRpYyIsInYtYWxwaGFiZXRpYyJdLFsidkhhbmdpbmciLCJ2LWhhbmdpbmciXSxbInZJZGVvZ3JhcGhpYyIsInYtaWRlb2dyYXBoaWMiXSxbInZNYXRoZW1hdGljYWwiLCJ2LW1hdGhlbWF0aWNhbCJdLFsidmVjdG9yRWZmZWN0IiwidmVjdG9yLWVmZmVjdCJdLFsidmVydEFkdlkiLCJ2ZXJ0LWFkdi15Il0sWyJ2ZXJ0T3JpZ2luWCIsInZlcnQtb3JpZ2luLXgiXSxbInZlcnRPcmlnaW5ZIiwidmVydC1vcmlnaW4teSJdLFsid29yZFNwYWNpbmciLCJ3b3JkLXNwYWNpbmciXSxbIndyaXRpbmdNb2RlIiwid3JpdGluZy1tb2RlIl0sWyJ4bWxuc1hsaW5rIiwieG1sbnM6eGxpbmsiXSxbInhIZWlnaHQiLCJ4LWhlaWdodCJdXSksdE49L15bXHUwMDAwLVx1MDAxRiBdKmpbXHJcblx0XSphW1xyXG5cdF0qdltcclxuXHRdKmFbXHJcblx0XSpzW1xyXG5cdF0qY1tcclxuXHRdKnJbXHJcblx0XSppW1xyXG5cdF0qcFtcclxuXHRdKnRbXHJcblx0XSo6L2k7ZnVuY3Rpb24gdEMoZSl7cmV0dXJuIHROLnRlc3QoIiIrZSk/ImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdSZWFjdCBoYXMgYmxvY2tlZCBhIGphdmFzY3JpcHQ6IFVSTCBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uJykiOmV9ZnVuY3Rpb24gdFQoKXt9dmFyIHRPPW51bGw7ZnVuY3Rpb24gdHooZSl7cmV0dXJuKGU9ZS50YXJnZXR8fGUuc3JjRWxlbWVudHx8d2luZG93KS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKGU9ZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksMz09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmV9dmFyIHRMPW51bGwsdFI9bnVsbDtmdW5jdGlvbiB0TShlKXt2YXIgdD1lMihlKTtpZih0JiYoZT10LnN0YXRlTm9kZSkpe3ZhciBuPWVbZXFdfHxudWxsO3N3aXRjaChlPXQuc3RhdGVOb2RlLHQudHlwZSl7Y2FzZSJpbnB1dCI6aWYodGgoZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uY2hlY2tlZCxuLmRlZmF1bHRDaGVja2VkLG4udHlwZSxuLm5hbWUpLHQ9bi5uYW1lLCJyYWRpbyI9PT1uLnR5cGUmJm51bGwhPXQpe2ZvcihuPWU7bi5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtmb3Iobj1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9IicrdG0oIiIrdCkrJyJdW3R5cGU9InJhZGlvIl0nKSx0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciByPW5bdF07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9cltlcV18fG51bGw7aWYoIWwpdGhyb3cgRXJyb3IodSg5MCkpO3RoKHIsbC52YWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmNoZWNrZWQsbC5kZWZhdWx0Q2hlY2tlZCxsLnR5cGUsbC5uYW1lKX19Zm9yKHQ9MDt0PG4ubGVuZ3RoO3QrKykocj1uW3RdKS5mb3JtPT09ZS5mb3JtJiZ0ZihyKX1icmVhaztjYXNlInRleHRhcmVhIjp0YihlLG4udmFsdWUsbi5kZWZhdWx0VmFsdWUpO2JyZWFrO2Nhc2Uic2VsZWN0IjpudWxsIT0odD1uLnZhbHVlKSYmdHkoZSwhIW4ubXVsdGlwbGUsdCwhMSl9fX12YXIgdEk9ITE7ZnVuY3Rpb24gdEQoZSx0LG4pe2lmKHRJKXJldHVybiBlKHQsbik7dEk9ITA7dHJ5e3JldHVybiBlKHQpfWZpbmFsbHl7aWYodEk9ITEsKG51bGwhPT10THx8bnVsbCE9PXRSKSYmKHN0KCksdEwmJih0PXRMLGU9dFIsdFI9dEw9bnVsbCx0TSh0KSxlKSkpZm9yKHQ9MDt0PGUubGVuZ3RoO3QrKyl0TShlW3RdKX19ZnVuY3Rpb24gdEYoZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtpZihudWxsPT09bilyZXR1cm4gbnVsbDt2YXIgcj1uW2VxXXx8bnVsbDtpZihudWxsPT09cilyZXR1cm4gbnVsbDtzd2l0Y2gobj1yW3RdLHQpe2Nhc2Uib25DbGljayI6Y2FzZSJvbkNsaWNrQ2FwdHVyZSI6Y2FzZSJvbkRvdWJsZUNsaWNrIjpjYXNlIm9uRG91YmxlQ2xpY2tDYXB0dXJlIjpjYXNlIm9uTW91c2VEb3duIjpjYXNlIm9uTW91c2VEb3duQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlTW92ZSI6Y2FzZSJvbk1vdXNlTW92ZUNhcHR1cmUiOmNhc2Uib25Nb3VzZVVwIjpjYXNlIm9uTW91c2VVcENhcHR1cmUiOmNhc2Uib25Nb3VzZUVudGVyIjoocj0hci5kaXNhYmxlZCl8fChyPSJidXR0b24iIT09KGU9ZS50eXBlKSYmImlucHV0IiE9PWUmJiJzZWxlY3QiIT09ZSYmInRleHRhcmVhIiE9PWUpLGU9IXI7YnJlYWs7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYobiYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgRXJyb3IodSgyMzEsdCx0eXBlb2YgbikpO3JldHVybiBufXZhciB0QT0idSI+dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCx0aj0hMTtpZih0QSl0cnl7dmFyIHRVPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0VSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3RqPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0Iix0VSx0VSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHRVLHRVKX1jYXRjaChlKXt0aj0hMX12YXIgdEI9bnVsbCx0Vj1udWxsLHRIPW51bGw7ZnVuY3Rpb24gdCQoKXtpZih0SClyZXR1cm4gdEg7dmFyIGUsdCxuPXRWLHI9bi5sZW5ndGgsbD0idmFsdWUiaW4gdEI/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmbltlXT09PWxbZV07ZSsrKTt2YXIgbz1yLWU7Zm9yKHQ9MTt0PD1vJiZuW3ItdF09PT1sW2EtdF07dCsrKTtyZXR1cm4gdEg9bC5zbGljZShlLDE8dD8xLXQ6dm9pZCAwKX1mdW5jdGlvbiB0UShlKXt2YXIgdD1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PXQmJihlPTEzKTplPXQsMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gdFcoKXtyZXR1cm4hMH1mdW5jdGlvbiB0cSgpe3JldHVybiExfWZ1bmN0aW9uIHRLKGUpe2Z1bmN0aW9uIHQodCxuLHIsbCxhKXtmb3IodmFyIG8gaW4gdGhpcy5fcmVhY3ROYW1lPXQsdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT1uLHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eShvKSYmKHQ9ZVtvXSx0aGlzW29dPXQ/dChsKTpsW29dKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT90Vzp0cSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXRxLHRoaXN9cmV0dXJuIHgodC5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD10Vyl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD10Vyl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDp0V30pLHR9dmFyIHRYLHRHLHRZLHRKLHRaLHQwPXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LHQxPXRLKHQwKSx0Mj14KHt9LHQwLHt2aWV3OjAsZGV0YWlsOjB9KSx0Mz10Syh0MiksdDQ9eCh7fSx0Mix7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpuYSxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT10WiYmKHRaJiYibW91c2Vtb3ZlIj09PWUudHlwZT8odFk9ZS5zY3JlZW5YLXRaLnNjcmVlblgsdEo9ZS5zY3JlZW5ZLXRaLnNjcmVlblkpOnRKPXRZPTAsdFo9ZSksdFkpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOnRKfX0pLHQ4PXRLKHQ0KSx0NT10Syh4KHt9LHQ0LHtkYXRhVHJhbnNmZXI6MH0pKSx0Nj10Syh4KHt9LHQyLHtyZWxhdGVkVGFyZ2V0OjB9KSksdDk9dEsoeCh7fSx0MCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHQ3PXRLKHgoe30sdDAse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSkpLG5lPXRLKHgoe30sdDAse2RhdGE6MH0pKSxudD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLFVwOiJBcnJvd1VwIixSaWdodDoiQXJyb3dSaWdodCIsRG93bjoiQXJyb3dEb3duIixEZWw6IkRlbGV0ZSIsV2luOiJPUyIsTWVudToiQ29udGV4dE1lbnUiLEFwcHM6IkNvbnRleHRNZW51IixTY3JvbGw6IlNjcm9sbExvY2siLE1velByaW50YWJsZUtleToiVW5pZGVudGlmaWVkIn0sbm49ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMjoiQ2xlYXIiLDEzOiJFbnRlciIsMTY6IlNoaWZ0IiwxNzoiQ29udHJvbCIsMTg6IkFsdCIsMTk6IlBhdXNlIiwyMDoiQ2Fwc0xvY2siLDI3OiJFc2NhcGUiLDMyOiIgIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnNlcnQiLDQ2OiJEZWxldGUiLDExMjoiRjEiLDExMzoiRjIiLDExNDoiRjMiLDExNToiRjQiLDExNjoiRjUiLDExNzoiRjYiLDExODoiRjciLDExOToiRjgiLDEyMDoiRjkiLDEyMToiRjEwIiwxMjI6IkYxMSIsMTIzOiJGMTIiLDE0NDoiTnVtTG9jayIsMTQ1OiJTY3JvbGxMb2NrIiwyMjQ6Ik1ldGEifSxucj17QWx0OiJhbHRLZXkiLENvbnRyb2w6ImN0cmxLZXkiLE1ldGE6Im1ldGFLZXkiLFNoaWZ0OiJzaGlmdEtleSJ9O2Z1bmN0aW9uIG5sKGUpe3ZhciB0PXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIHQuZ2V0TW9kaWZpZXJTdGF0ZT90LmdldE1vZGlmaWVyU3RhdGUoZSk6ISEoZT1ucltlXSkmJiEhdFtlXX1mdW5jdGlvbiBuYSgpe3JldHVybiBubH12YXIgbm89dEsoeCh7fSx0Mix7a2V5OmZ1bmN0aW9uKGUpe2lmKGUua2V5KXt2YXIgdD1udFtlLmtleV18fGUua2V5O2lmKCJVbmlkZW50aWZpZWQiIT09dClyZXR1cm4gdH1yZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlPzEzPT09KGU9dFEoZSkpPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKToia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/bm5bZS5rZXlDb2RlXXx8IlVuaWRlbnRpZmllZCI6IiJ9LGNvZGU6MCxsb2NhdGlvbjowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxyZXBlYXQ6MCxsb2NhbGU6MCxnZXRNb2RpZmllclN0YXRlOm5hLGNoYXJDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6MH0sa2V5Q29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfX0pKSxuaT10Syh4KHt9LHQ0LHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pKSxudT10Syh4KHt9LHQyLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6bmF9KSksbnM9dEsoeCh7fSx0MCx7cHJvcGVydHlOYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSksbmM9dEsoeCh7fSx0NCx7ZGVsdGFYOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVgiaW4gZT9lLmRlbHRhWDoid2hlZWxEZWx0YVgiaW4gZT8tZS53aGVlbERlbHRhWDowfSxkZWx0YVk6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWSJpbiBlP2UuZGVsdGFZOiJ3aGVlbERlbHRhWSJpbiBlPy1lLndoZWVsRGVsdGFZOiJ3aGVlbERlbHRhImluIGU/LWUud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pKSxuZj10Syh4KHt9LHQwLHtuZXdTdGF0ZTowLG9sZFN0YXRlOjB9KSksbmQ9WzksMTMsMjcsMzJdLG5wPXRBJiYiQ29tcG9zaXRpb25FdmVudCJpbiB3aW5kb3csbm09bnVsbDt0QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmKG5tPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIG5oPXRBJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIW5tLG5nPXRBJiYoIW5wfHxubSYmODxubSYmMTE+PW5tKSxudj0hMTtmdW5jdGlvbiBueShlLHQpe3N3aXRjaChlKXtjYXNlImtleXVwIjpyZXR1cm4gLTEhPT1uZC5pbmRleE9mKHQua2V5Q29kZSk7Y2FzZSJrZXlkb3duIjpyZXR1cm4gMjI5IT09dC5rZXlDb2RlO2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImZvY3Vzb3V0IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBuYihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mKGU9ZS5kZXRhaWwpJiYiZGF0YSJpbiBlP2UuZGF0YTpudWxsfXZhciBudz0hMSxuaz17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gblMoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10PyEhbmtbZS50eXBlXToidGV4dGFyZWEiPT09dH1mdW5jdGlvbiBuRShlLHQsbixyKXt0TD90Uj90Ui5wdXNoKHIpOnRSPVtyXTp0TD1yLDA8KHQ9czgodCwib25DaGFuZ2UiKSkubGVuZ3RoJiYobj1uZXcgdDEoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLG4sciksZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp0fSkpfXZhciBueD1udWxsLG5fPW51bGw7ZnVuY3Rpb24gblAoZSl7c1koZSwwKX1mdW5jdGlvbiBuTihlKXtpZih0ZihlMyhlKSkpcmV0dXJuIGV9ZnVuY3Rpb24gbkMoZSx0KXtpZigiY2hhbmdlIj09PWUpcmV0dXJuIHR9dmFyIG5UPSExO2lmKHRBKXtpZih0QSl7dmFyIG5PPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFuTyl7dmFyIG56PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO256LnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxuTz0iZnVuY3Rpb24iPT10eXBlb2Ygbnoub25pbnB1dH1yPW5PfWVsc2Ugcj0hMTtuVD1yJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIG5MKCl7bngmJihueC5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsblIpLG5fPW54PW51bGwpfWZ1bmN0aW9uIG5SKGUpe2lmKCJ2YWx1ZSI9PT1lLnByb3BlcnR5TmFtZSYmbk4obl8pKXt2YXIgdD1bXTtuRSh0LG5fLGUsdHooZSkpLHREKG5QLHQpfX1mdW5jdGlvbiBuTShlLHQsbil7ImZvY3VzaW4iPT09ZT8obkwoKSxueD10LG5fPW4sbnguYXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLG5SKSk6ImZvY3Vzb3V0Ij09PWUmJm5MKCl9ZnVuY3Rpb24gbkkoZSl7aWYoInNlbGVjdGlvbmNoYW5nZSI9PT1lfHwia2V5dXAiPT09ZXx8ImtleWRvd24iPT09ZSlyZXR1cm4gbk4obl8pfWZ1bmN0aW9uIG5EKGUsdCl7aWYoImNsaWNrIj09PWUpcmV0dXJuIG5OKHQpfWZ1bmN0aW9uIG5GKGUsdCl7aWYoImlucHV0Ij09PWV8fCJjaGFuZ2UiPT09ZSlyZXR1cm4gbk4odCl9dmFyIG5BPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuaXM/T2JqZWN0LmlzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYoMCE9PWV8fDEvZT09MS90KXx8ZSE9ZSYmdCE9dH07ZnVuY3Rpb24gbmooZSx0KXtpZihuQShlLHQpKXJldHVybiEwO2lmKCJvYmplY3QiIT10eXBlb2YgZXx8bnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7dmFyIG49T2JqZWN0LmtleXMoZSkscj1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBsPW5bcl07aWYoIWVkLmNhbGwodCxsKXx8IW5BKGVbbF0sdFtsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gblUoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIG5CKGUsdCl7dmFyIG4scj1uVShlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYobj1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJm4+PXQpcmV0dXJue25vZGU6cixvZmZzZXQ6dC1lfTtlPW59ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1uVShyKX19ZnVuY3Rpb24gblYoZSl7ZT1udWxsIT1lJiZudWxsIT1lLm93bmVyRG9jdW1lbnQmJm51bGwhPWUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6d2luZG93O2Zvcih2YXIgdD10ZChlLmRvY3VtZW50KTt0IGluc3RhbmNlb2YgZS5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe249ITF9aWYobillPXQuY29udGVudFdpbmRvdztlbHNlIGJyZWFrO3Q9dGQoZS5kb2N1bWVudCl9cmV0dXJuIHR9ZnVuY3Rpb24gbkgoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0JiYoImlucHV0Ij09PXQmJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09dHx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfXZhciBuJD10QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmMTE+PWRvY3VtZW50LmRvY3VtZW50TW9kZSxuUT1udWxsLG5XPW51bGwsbnE9bnVsbCxuSz0hMTtmdW5jdGlvbiBuWChlLHQsbil7dmFyIHI9bi53aW5kb3c9PT1uP24uZG9jdW1lbnQ6OT09PW4ubm9kZVR5cGU/bjpuLm93bmVyRG9jdW1lbnQ7bkt8fG51bGw9PW5RfHxuUSE9PXRkKHIpfHwocj0ic2VsZWN0aW9uU3RhcnQiaW4ocj1uUSkmJm5IKHIpP3tzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZH06e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0sbnEmJm5qKG5xLHIpfHwobnE9ciwwPChyPXM4KG5XLCJvblNlbGVjdCIpKS5sZW5ndGgmJih0PW5ldyB0MSgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOnJ9KSx0LnRhcmdldD1uUSkpKX1mdW5jdGlvbiBuRyhlLHQpe3ZhciBuPXt9O3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09dC50b0xvd2VyQ2FzZSgpLG5bIldlYmtpdCIrZV09IndlYmtpdCIrdCxuWyJNb3oiK2VdPSJtb3oiK3Qsbn12YXIgblk9e2FuaW1hdGlvbmVuZDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOm5HKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9ucnVuOm5HKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblJ1biIpLHRyYW5zaXRpb25zdGFydDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25TdGFydCIpLHRyYW5zaXRpb25jYW5jZWw6bkcoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uQ2FuY2VsIiksdHJhbnNpdGlvbmVuZDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0sbko9e30sblo9e307ZnVuY3Rpb24gbjAoZSl7aWYobkpbZV0pcmV0dXJuIG5KW2VdO2lmKCFuWVtlXSlyZXR1cm4gZTt2YXIgdCxuPW5ZW2VdO2Zvcih0IGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eSh0KSYmdCBpbiBuWilyZXR1cm4gbkpbZV09blt0XTtyZXR1cm4gZX10QSYmKG5aPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgblkuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIG5ZLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7dmFyIG4xPW4wKCJhbmltYXRpb25lbmQiKSxuMj1uMCgiYW5pbWF0aW9uaXRlcmF0aW9uIiksbjM9bjAoImFuaW1hdGlvbnN0YXJ0IiksbjQ9bjAoInRyYW5zaXRpb25ydW4iKSxuOD1uMCgidHJhbnNpdGlvbnN0YXJ0IiksbjU9bjAoInRyYW5zaXRpb25jYW5jZWwiKSxuNj1uMCgidHJhbnNpdGlvbmVuZCIpLG45PW5ldyBNYXAsbjc9ImFib3J0IGF1eENsaWNrIGJlZm9yZVRvZ2dsZSBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiByZShlLHQpe245LnNldChlLHQpLGU5KHQsW2VdKX1uNy5wdXNoKCJzY3JvbGxFbmQiKTt2YXIgcnQ9MDtmdW5jdGlvbiBybihlLHQpe3JldHVybiBudWxsIT1lLm5hbWUmJiJhdXRvIiE9PWUubmFtZT9lLm5hbWU6bnVsbCE9PXQuYXV0b05hbWU/dC5hdXRvTmFtZTp0LmF1dG9OYW1lPWU9Il8iKyhlPXVxLmlkZW50aWZpZXJQcmVmaXgpKyJ0XyIrKHJ0KyspLnRvU3RyaW5nKDMyKSsiXyJ9ZnVuY3Rpb24gcnIoZSl7aWYobnVsbD09ZXx8InN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PW51bGwsbj11MTtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9ZVtuW3JdXTtpZihudWxsIT1sKXtpZigibm9uZSI9PT1sKXJldHVybiJub25lIjt0PW51bGw9PXQ/bDp0KyIgIitsfX1yZXR1cm4gbnVsbD09dD9lLmRlZmF1bHQ6dH1mdW5jdGlvbiBybChlLHQpe3JldHVybiBlPXJyKGUpLG51bGw9PSh0PXJyKHQpKT8iYXV0byI9PT1lP251bGw6ZToiYXV0byI9PT10P251bGw6dH12YXIgcmE9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LkVycm9yRXZlbnQpe3ZhciB0PW5ldyB3aW5kb3cuRXJyb3JFdmVudCgiZXJyb3IiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZT9TdHJpbmcoZS5tZXNzYWdlKTpTdHJpbmcoZSksZXJyb3I6ZX0pO2lmKCF3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSlyZXR1cm59ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGwuZGVmYXVsdCYmImZ1bmN0aW9uIj09dHlwZW9mIGwuZGVmYXVsdC5lbWl0KXJldHVybiB2b2lkIGwuZGVmYXVsdC5lbWl0KCJ1bmNhdWdodEV4Y2VwdGlvbiIsZSk7Y29uc29sZS5lcnJvcihlKX0scm89W10scmk9MCxydT0wO2Z1bmN0aW9uIHJzKCl7Zm9yKHZhciBlPXJpLHQ9cnU9cmk9MDt0PGU7KXt2YXIgbj1yb1t0XTtyb1t0KytdPW51bGw7dmFyIHI9cm9bdF07cm9bdCsrXT1udWxsO3ZhciBsPXJvW3RdO3JvW3QrK109bnVsbDt2YXIgYT1yb1t0XTtpZihyb1t0KytdPW51bGwsbnVsbCE9PXImJm51bGwhPT1sKXt2YXIgbz1yLnBlbmRpbmc7bnVsbD09PW8/bC5uZXh0PWw6KGwubmV4dD1vLm5leHQsby5uZXh0PWwpLHIucGVuZGluZz1sfTAhPT1hJiZycChuLGwsYSl9fWZ1bmN0aW9uIHJjKGUsdCxuLHIpe3JvW3JpKytdPWUscm9bcmkrK109dCxyb1tyaSsrXT1uLHJvW3JpKytdPXIscnV8PXIsZS5sYW5lc3w9cixudWxsIT09KGU9ZS5hbHRlcm5hdGUpJiYoZS5sYW5lc3w9cil9ZnVuY3Rpb24gcmYoZSx0LG4scil7cmV0dXJuIHJjKGUsdCxuLHIpLHJtKGUpfWZ1bmN0aW9uIHJkKGUsdCl7cmV0dXJuIHJjKGUsbnVsbCxudWxsLHQpLHJtKGUpfWZ1bmN0aW9uIHJwKGUsdCxuKXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bik7Zm9yKHZhciBsPSExLGE9ZS5yZXR1cm47bnVsbCE9PWE7KWEuY2hpbGRMYW5lc3w9bixudWxsIT09KHI9YS5hbHRlcm5hdGUpJiYoci5jaGlsZExhbmVzfD1uKSwyMj09PWEudGFnJiYobnVsbD09PShlPWEuc3RhdGVOb2RlKXx8MSZlLl92aXNpYmlsaXR5fHwobD0hMCkpLGU9YSxhPWEucmV0dXJuO3JldHVybiAzPT09ZS50YWc/KGE9ZS5zdGF0ZU5vZGUsbCYmbnVsbCE9PXQmJihsPTMxLWVQKG4pLG51bGw9PT0ocj0oZT1hLmhpZGRlblVwZGF0ZXMpW2xdKT9lW2xdPVt0XTpyLnB1c2godCksdC5sYW5lPTB4MjAwMDAwMDB8biksYSk6bnVsbH1mdW5jdGlvbiBybShlKXtpZig1MDx1Mil0aHJvdyB1Mj0wLHUzPW51bGwsRXJyb3IodSgxODUpKTtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXQ9KGU9dCkucmV0dXJuO3JldHVybiAzPT09ZS50YWc/ZS5zdGF0ZU5vZGU6bnVsbH12YXIgcmg9e307ZnVuY3Rpb24gcmcoZSx0LG4scil7dGhpcy50YWc9ZSx0aGlzLmtleT1uLHRoaXMuc2libGluZz10aGlzLmNoaWxkPXRoaXMucmV0dXJuPXRoaXMuc3RhdGVOb2RlPXRoaXMudHlwZT10aGlzLmVsZW1lbnRUeXBlPW51bGwsdGhpcy5pbmRleD0wLHRoaXMucmVmQ2xlYW51cD10aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPXIsdGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wLHRoaXMuZGVsZXRpb25zPW51bGwsdGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIHJ2KGUsdCxuLHIpe3JldHVybiBuZXcgcmcoZSx0LG4scil9ZnVuY3Rpb24gcnkoZSl7cmV0dXJuISghKGU9ZS5wcm90b3R5cGUpfHwhZS5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiByYihlLHQpe3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oKG49cnYoZS50YWcsdCxlLmtleSxlLm1vZGUpKS5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLG4udHlwZT1lLnR5cGUsbi5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsbi5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1uKToobi5wZW5kaW5nUHJvcHM9dCxuLnR5cGU9ZS50eXBlLG4uZmxhZ3M9MCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLG4uZmxhZ3M9MHg3ZTAwMDAwJmUuZmxhZ3Msbi5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyxuLmxhbmVzPWUubGFuZXMsbi5jaGlsZD1lLmNoaWxkLG4ubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsbi5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdD1lLmRlcGVuZGVuY2llcyxuLmRlcGVuZGVuY2llcz1udWxsPT09dD9udWxsOntsYW5lczp0LmxhbmVzLGZpcnN0Q29udGV4dDp0LmZpcnN0Q29udGV4dH0sbi5zaWJsaW5nPWUuc2libGluZyxuLmluZGV4PWUuaW5kZXgsbi5yZWY9ZS5yZWYsbi5yZWZDbGVhbnVwPWUucmVmQ2xlYW51cCxufWZ1bmN0aW9uIHJ3KGUsdCl7ZS5mbGFncyY9MHg3ZTAwMDAyO3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oZS5jaGlsZExhbmVzPTAsZS5sYW5lcz10LGUuY2hpbGQ9bnVsbCxlLnN1YnRyZWVGbGFncz0wLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuc3RhdGVOb2RlPW51bGwpOihlLmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLGUubGFuZXM9bi5sYW5lcyxlLmNoaWxkPW4uY2hpbGQsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsLGUubWVtb2l6ZWRQcm9wcz1uLm1lbW9pemVkUHJvcHMsZS5tZW1vaXplZFN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxlLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsZS50eXBlPW4udHlwZSxlLmRlcGVuZGVuY2llcz1udWxsPT09KHQ9bi5kZXBlbmRlbmNpZXMpP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSksZX1mdW5jdGlvbiByayhlLHQsbixyLGwsYSl7dmFyIG89MDtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpcnkoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89IWZ1bmN0aW9uKGUsdCxuKXtpZigxPT09bnx8bnVsbCE9dC5pdGVtUHJvcClyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJtZXRhIjpjYXNlInRpdGxlIjpyZXR1cm4hMDtjYXNlInN0eWxlIjppZigic3RyaW5nIiE9dHlwZW9mIHQucHJlY2VkZW5jZXx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmKWJyZWFrO3JldHVybiEwO2Nhc2UibGluayI6aWYoInN0cmluZyIhPXR5cGVvZiB0LnJlbHx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmfHx0Lm9uTG9hZHx8dC5vbkVycm9yKWJyZWFrO2lmKCJzdHlsZXNoZWV0Ij09PXQucmVsKXJldHVybiBlPXQuZGlzYWJsZWQsInN0cmluZyI9PXR5cGVvZiB0LnByZWNlZGVuY2UmJm51bGw9PWU7cmV0dXJuITA7Y2FzZSJzY3JpcHQiOmlmKHQuYXN5bmMmJiJmdW5jdGlvbiIhPXR5cGVvZiB0LmFzeW5jJiYic3ltYm9sIiE9dHlwZW9mIHQuYXN5bmMmJiF0Lm9uTG9hZCYmIXQub25FcnJvciYmdC5zcmMmJiJzdHJpbmciPT10eXBlb2YgdC5zcmMpcmV0dXJuITB9cmV0dXJuITF9KGUsbixlZS5jdXJyZW50KT8iaHRtbCI9PT1lfHwiaGVhZCI9PT1lfHwiYm9keSI9PT1lPzI3OjU6MjY7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIEE6cmV0dXJuKGU9cnYoMzEsbix0LGwpKS5lbGVtZW50VHlwZT1BLGUubGFuZXM9YSxlO2Nhc2UgQzpyZXR1cm4gclMobi5jaGlsZHJlbixsLGEsdCk7Y2FzZSBUOm89OCxsfD0yNDticmVhaztjYXNlIE86cmV0dXJuKGU9cnYoMTIsbix0LDJ8bCkpLmVsZW1lbnRUeXBlPU8sZS5sYW5lcz1hLGU7Y2FzZSBNOnJldHVybihlPXJ2KDEzLG4sdCxsKSkuZWxlbWVudFR5cGU9TSxlLmxhbmVzPWEsZTtjYXNlIEk6cmV0dXJuKGU9cnYoMTksbix0LGwpKS5lbGVtZW50VHlwZT1JLGUubGFuZXM9YSxlO2Nhc2UgajpjYXNlIEI6cmV0dXJuKGU9cnYoMzAsbix0LGU9MzJ8bCkpLmVsZW1lbnRUeXBlPUIsZS5sYW5lcz1hLGUuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSxlO2RlZmF1bHQ6aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBMOm89MTA7YnJlYWsgZTtjYXNlIHo6bz05O2JyZWFrIGU7Y2FzZSBSOm89MTE7YnJlYWsgZTtjYXNlIEQ6bz0xNDticmVhayBlO2Nhc2UgRjpvPTE2LHI9bnVsbDticmVhayBlfW89Mjksbj1FcnJvcih1KDEzMCxudWxsPT09ZT8ibnVsbCI6dHlwZW9mIGUsIiIpKSxyPW51bGx9cmV0dXJuKHQ9cnYobyxuLHQsbCkpLmVsZW1lbnRUeXBlPWUsdC50eXBlPXIsdC5sYW5lcz1hLHR9ZnVuY3Rpb24gclMoZSx0LG4scil7cmV0dXJuKGU9cnYoNyxlLHIsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByRShlLHQsbil7cmV0dXJuKGU9cnYoNixlLG51bGwsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByeChlKXt2YXIgdD1ydigxOCxudWxsLG51bGwsMCk7cmV0dXJuIHQuc3RhdGVOb2RlPWUsdH1mdW5jdGlvbiByXyhlLHQsbil7cmV0dXJuKHQ9cnYoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LHQpKS5sYW5lcz1uLHQuc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSx0fXZhciByUD1uZXcgV2Vha01hcDtmdW5jdGlvbiByTihlLHQpe2lmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpe3ZhciBuPXJQLmdldChlKTtyZXR1cm4gdm9pZCAwIT09bj9uOih0PXt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOmVmKHQpfSxyUC5zZXQoZSx0KSx0KX1yZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazplZih0KX19dmFyIHJDPVtdLHJUPTAsck89bnVsbCxyej0wLHJMPVtdLHJSPTAsck09bnVsbCxyST0xLHJEPSIiO2Z1bmN0aW9uIHJGKGUsdCl7ckNbclQrK109cnosckNbclQrK109ck8sck89ZSxyej10fWZ1bmN0aW9uIHJBKGUsdCxuKXtyTFtyUisrXT1ySSxyTFtyUisrXT1yRCxyTFtyUisrXT1yTSxyTT1lO3ZhciByPXJJO2U9ckQ7dmFyIGw9MzItZVAociktMTtyJj1+KDE8PGwpLG4rPTE7dmFyIGE9MzItZVAodCkrbDtpZigzMDxhKXt2YXIgbz1sLWwlNTthPShyJigxPDxvKS0xKS50b1N0cmluZygzMikscj4+PW8sbC09byxyST0xPDwzMi1lUCh0KStsfG48PGx8cixyRD1hK2V9ZWxzZSByST0xPDxhfG48PGx8cixyRD1lfWZ1bmN0aW9uIHJqKGUpe251bGwhPT1lLnJldHVybiYmKHJGKGUsMSksckEoZSwxLDApKX1mdW5jdGlvbiByVShlKXtmb3IoO2U9PT1yTzspck89ckNbLS1yVF0sckNbclRdPW51bGwscno9ckNbLS1yVF0sckNbclRdPW51bGw7Zm9yKDtlPT09ck07KXJNPXJMWy0tclJdLHJMW3JSXT1udWxsLHJEPXJMWy0tclJdLHJMW3JSXT1udWxsLHJJPXJMWy0tclJdLHJMW3JSXT1udWxsfWZ1bmN0aW9uIHJCKGUsdCl7ckxbclIrK109ckksckxbclIrK109ckQsckxbclIrK109ck0sckk9dC5pZCxyRD10Lm92ZXJmbG93LHJNPWV9dmFyIHJWPW51bGwsckg9bnVsbCxyJD0hMSxyUT1udWxsLHJXPSExLHJxPUVycm9yKHUoNTE5KSk7ZnVuY3Rpb24gcksoZSl7dmFyIHQ9RXJyb3IodSg0MTgsMTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXT8idGV4dCI6IkhUTUwiLCIiKSk7dGhyb3cgcjAock4odCxlKSkscnF9ZnVuY3Rpb24gclgoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGUsbj1lLnR5cGUscj1lLm1lbW9pemVkUHJvcHM7c3dpdGNoKHRbZVddPWUsdFtlcV09cixuKXtjYXNlImRpYWxvZyI6c0ooImNhbmNlbCIsdCksc0ooImNsb3NlIix0KTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOnNKKCJsb2FkIix0KTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3Iobj0wO248c1gubGVuZ3RoO24rKylzSihzWFtuXSx0KTticmVhaztjYXNlInNvdXJjZSI6c0ooImVycm9yIix0KTticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpzSigiZXJyb3IiLHQpLHNKKCJsb2FkIix0KTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLHQpO2JyZWFrO2Nhc2UiaW5wdXQiOnNKKCJpbnZhbGlkIix0KSx0Zyh0LHIudmFsdWUsci5kZWZhdWx0VmFsdWUsci5jaGVja2VkLHIuZGVmYXVsdENoZWNrZWQsci50eXBlLHIubmFtZSwhMCk7YnJlYWs7Y2FzZSJzZWxlY3QiOnNKKCJpbnZhbGlkIix0KTticmVhaztjYXNlInRleHRhcmVhIjpzSigiaW52YWxpZCIsdCksdHcodCxyLnZhbHVlLHIuZGVmYXVsdFZhbHVlLHIuY2hpbGRyZW4pfSJzdHJpbmciIT10eXBlb2Yobj1yLmNoaWxkcmVuKSYmIm51bWJlciIhPXR5cGVvZiBuJiYiYmlnaW50IiE9dHlwZW9mIG58fHQudGV4dENvbnRlbnQ9PT0iIitufHwhMD09PXIuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nfHxjdCh0LnRleHRDb250ZW50LG4pPyhudWxsIT1yLnBvcG92ZXImJihzSigiYmVmb3JldG9nZ2xlIix0KSxzSigidG9nZ2xlIix0KSksbnVsbCE9ci5vblNjcm9sbCYmc0ooInNjcm9sbCIsdCksbnVsbCE9ci5vblNjcm9sbEVuZCYmc0ooInNjcm9sbGVuZCIsdCksbnVsbCE9ci5vbkNsaWNrJiYodC5vbmNsaWNrPXRUKSx0PSEwKTp0PSExLHR8fHJLKGUsITApfWZ1bmN0aW9uIHJHKGUpe2ZvcihyVj1lLnJldHVybjtyVjspc3dpdGNoKHJWLnRhZyl7Y2FzZSA1OmNhc2UgMzE6Y2FzZSAxMzpyVz0hMTtyZXR1cm47Y2FzZSAyNzpjYXNlIDM6clc9ITA7cmV0dXJuO2RlZmF1bHQ6clY9clYucmV0dXJufX1mdW5jdGlvbiByWShlKXtpZihlIT09clYpcmV0dXJuITE7aWYoIXIkKXJldHVybiByRyhlKSxyJD0hMCwhMTt2YXIgdCxuPWUudGFnO2lmKCh0PTMhPT1uJiYyNyE9PW4pJiYoKHQ9NT09PW4pJiYodD0iZm9ybSI9PT0odD1lLnR5cGUpfHwiYnV0dG9uIj09PXR8fGNmKGUudHlwZSxlLm1lbW9pemVkUHJvcHMpKSx0PSF0KSx0JiZySCYmcksoZSksckcoZSksMTM9PT1uKXtpZighKGU9bnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSk/ZS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKHUoMzE3KSk7ckg9Y3EoZSl9ZWxzZSBpZigzMT09PW4pe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSgzMTcpKTtySD1jcShlKX1lbHNlIDI3PT09bj8obj1ySCxjeShlLnR5cGUpPyhlPWNXLGNXPW51bGwsckg9ZSk6ckg9bik6ckg9clY/Y1EoZS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24gckooKXtySD1yVj1udWxsLHIkPSExfWZ1bmN0aW9uIHJaKCl7dmFyIGU9clE7cmV0dXJuIG51bGwhPT1lJiYobnVsbD09PXVqP3VqPWU6dWoucHVzaC5hcHBseSh1aixlKSxyUT1udWxsKSxlfWZ1bmN0aW9uIHIwKGUpe251bGw9PT1yUT9yUT1bZV06clEucHVzaChlKX12YXIgcjE9WShudWxsKSxyMj1udWxsLHIzPW51bGw7ZnVuY3Rpb24gcjQoZSx0LG4pe1oocjEsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9bn1mdW5jdGlvbiByOChlKXtlLl9jdXJyZW50VmFsdWU9cjEuY3VycmVudCxKKHIxKX1mdW5jdGlvbiByNShlLHQsbil7Zm9yKDtudWxsIT09ZTspe3ZhciByPWUuYWx0ZXJuYXRlO2lmKChlLmNoaWxkTGFuZXMmdCkhPT10PyhlLmNoaWxkTGFuZXN8PXQsbnVsbCE9PXImJihyLmNoaWxkTGFuZXN8PXQpKTpudWxsIT09ciYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpLGU9PT1uKWJyZWFrO2U9ZS5yZXR1cm59fWZ1bmN0aW9uIHI2KGUsdCxuLHIpe3ZhciBsPWUuY2hpbGQ7Zm9yKG51bGwhPT1sJiYobC5yZXR1cm49ZSk7bnVsbCE9PWw7KXt2YXIgYT1sLmRlcGVuZGVuY2llcztpZihudWxsIT09YSl7dmFyIG89bC5jaGlsZDthPWEuZmlyc3RDb250ZXh0O2U6Zm9yKDtudWxsIT09YTspe3ZhciBpPWE7YT1sO2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKWlmKGkuY29udGV4dD09PXRbc10pe2EubGFuZXN8PW4sbnVsbCE9PShpPWEuYWx0ZXJuYXRlKSYmKGkubGFuZXN8PW4pLHI1KGEucmV0dXJuLG4sZSkscnx8KG89bnVsbCk7YnJlYWsgZX1hPWkubmV4dH19ZWxzZSBpZigxOD09PWwudGFnKXtpZihudWxsPT09KG89bC5yZXR1cm4pKXRocm93IEVycm9yKHUoMzQxKSk7by5sYW5lc3w9bixudWxsIT09KGE9by5hbHRlcm5hdGUpJiYoYS5sYW5lc3w9bikscjUobyxuLGUpLG89bnVsbH1lbHNlIG89bC5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj1sO2Vsc2UgZm9yKG89bDtudWxsIT09bzspe2lmKG89PT1lKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PShsPW8uc2libGluZykpe2wucmV0dXJuPW8ucmV0dXJuLG89bDticmVha31vPW8ucmV0dXJufWw9b319ZnVuY3Rpb24gcjkoZSx0LG4scil7ZT1udWxsO2Zvcih2YXIgbD10LGE9ITE7bnVsbCE9PWw7KXtpZighYSl7aWYoMCE9KDUyNDI4OCZsLmZsYWdzKSlhPSEwO2Vsc2UgaWYoMCE9KDI2MjE0NCZsLmZsYWdzKSlicmVha31pZigxMD09PWwudGFnKXt2YXIgbz1sLmFsdGVybmF0ZTtpZihudWxsPT09byl0aHJvdyBFcnJvcih1KDM4NykpO2lmKG51bGwhPT0obz1vLm1lbW9pemVkUHJvcHMpKXt2YXIgaT1sLnR5cGU7bkEobC5wZW5kaW5nUHJvcHMudmFsdWUsby52YWx1ZSl8fChudWxsIT09ZT9lLnB1c2goaSk6ZT1baV0pfX1lbHNlIGlmKGw9PT1lci5jdXJyZW50KXtpZihudWxsPT09KG89bC5hbHRlcm5hdGUpKXRocm93IEVycm9yKHUoMzg3KSk7by5tZW1vaXplZFN0YXRlLm1lbW9pemVkU3RhdGUhPT1sLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1lP2UucHVzaChmdik6ZT1bZnZdKX1sPWwucmV0dXJufW51bGwhPT1lJiZyNih0LGUsbixyKSx0LmZsYWdzfD0yNjIxNDR9ZnVuY3Rpb24gcjcoZSl7Zm9yKGU9ZS5maXJzdENvbnRleHQ7bnVsbCE9PWU7KXtpZighbkEoZS5jb250ZXh0Ll9jdXJyZW50VmFsdWUsZS5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtlPWUubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBsZShlKXtyMj1lLHIzPW51bGwsbnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmKGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGx0KGUpe3JldHVybiBscihyMixlKX1mdW5jdGlvbiBsbihlLHQpe3JldHVybiBudWxsPT09cjImJmxlKGUpLGxyKGUsdCl9ZnVuY3Rpb24gbHIoZSx0KXt2YXIgbj10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1yMyl7aWYobnVsbD09PWUpdGhyb3cgRXJyb3IodSgzMDgpKTtyMz10LGUuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxlLmZsYWdzfD01MjQyODh9ZWxzZSByMz1yMy5uZXh0PXQ7cmV0dXJuIG59dmFyIGxsPSJ1Ij50eXBlb2YgQWJvcnRDb250cm9sbGVyP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LG4pe2UucHVzaChuKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX19LGxhPWEudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxsbz1hLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGxpPXskJHR5cGVvZjpMLENvbnN1bWVyOm51bGwsUHJvdmlkZXI6bnVsbCxfY3VycmVudFZhbHVlOm51bGwsX2N1cnJlbnRWYWx1ZTI6bnVsbCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gbHUoKXtyZXR1cm57Y29udHJvbGxlcjpuZXcgbGwsZGF0YTpuZXcgTWFwLHJlZkNvdW50OjB9fWZ1bmN0aW9uIGxzKGUpe2UucmVmQ291bnQtLSwwPT09ZS5yZWZDb3VudCYmbGEobG8sZnVuY3Rpb24oKXtlLmNvbnRyb2xsZXIuYWJvcnQoKX0pfWZ1bmN0aW9uIGxjKGUsdCl7aWYoMCE9KDQxOTQwNDgmZS5wZW5kaW5nTGFuZXMpKXt2YXIgbj1lLnRyYW5zaXRpb25UeXBlcztmb3IobnVsbD09PW4mJihuPWUudHJhbnNpdGlvblR5cGVzPVtdKSxlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciByPXRbZV07LTE9PT1uLmluZGV4T2YocikmJm4ucHVzaChyKX19fXZhciBsZj1udWxsLGxkPW51bGwsbHA9MCxsbT0wLGxoPW51bGw7ZnVuY3Rpb24gbGcoKXtpZigwPT0tLWxwJiYobGY9bnVsbCxudWxsIT09bGQpKXtudWxsIT09bGgmJihsaC5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBlPWxkO2xkPW51bGwsbG09MCxsaD1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fXZhciBsdj1XLlM7Vy5TPWZ1bmN0aW9uKGUsdCl7aWYodVY9ZXYoKSwib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiZmdW5jdGlvbihlLHQpe2lmKG51bGw9PT1sZCl7dmFyIG49bGQ9W107bHA9MCxsbT1zJCgpLGxoPXtzdGF0dXM6InBlbmRpbmciLHZhbHVlOnZvaWQgMCx0aGVuOmZ1bmN0aW9uKGUpe24ucHVzaChlKX19fWxwKyssdC50aGVuKGxnLGxnKX0oMCx0KSxudWxsIT09bGYpZm9yKHZhciBuPXN6O251bGwhPT1uOylsYyhuLGxmKSxuPW4ubmV4dDtpZihudWxsIT09KG49ZS50eXBlcykpe2Zvcih2YXIgcj1zejtudWxsIT09cjspbGMocixuKSxyPXIubmV4dDtpZigwIT09bG0pe251bGw9PT0ocj1sZikmJihyPWxmPVtdKTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTstMT09PXIuaW5kZXhPZihhKSYmci5wdXNoKGEpfX19bnVsbCE9PWx2JiZsdihlLHQpfTt2YXIgbHk9WShudWxsKTtmdW5jdGlvbiBsYigpe3ZhciBlPWx5LmN1cnJlbnQ7cmV0dXJuIG51bGwhPT1lP2U6dUUucG9vbGVkQ2FjaGV9ZnVuY3Rpb24gbHcoZSx0KXtudWxsPT09dD9aKGx5LGx5LmN1cnJlbnQpOloobHksdC5wb29sKX1mdW5jdGlvbiBsaygpe3ZhciBlPWxiKCk7cmV0dXJuIG51bGw9PT1lP251bGw6e3BhcmVudDpsaS5fY3VycmVudFZhbHVlLHBvb2w6ZX19dmFyIGxTPUVycm9yKHUoNDYwKSksbEU9RXJyb3IodSg0NzQpKSxseD1FcnJvcih1KDU0MikpLGxfPXt0aGVuOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gbFAoZSl7cmV0dXJuImZ1bGZpbGxlZCI9PT0oZT1lLnN0YXR1cyl8fCJyZWplY3RlZCI9PT1lfWZ1bmN0aW9uIGxOKGUsdCxuKXtzd2l0Y2godm9pZCAwPT09KG49ZVtuXSk/ZS5wdXNoKHQpOm4hPT10JiYodC50aGVuKHRULHRUKSx0PW4pLHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZTtkZWZhdWx0OmlmKCJzdHJpbmciPT10eXBlb2YgdC5zdGF0dXMpdC50aGVuKHRULHRUKTtlbHNle2lmKG51bGwhPT0oZT11RSkmJjEwMDxlLnNoZWxsU3VzcGVuZENvdW50ZXIpdGhyb3cgRXJyb3IodSg0ODIpKTsoZT10KS5zdGF0dXM9InBlbmRpbmciLGUudGhlbihmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPWV9fSxmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0icmVqZWN0ZWQiLG4ucmVhc29uPWV9fSl9c3dpdGNoKHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZX10aHJvdyBsVD10LGxTfX1mdW5jdGlvbiBsQyhlKXt0cnl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9Y2F0Y2goZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil0aHJvdyBsVD1lLGxTO3Rocm93IGV9fXZhciBsVD1udWxsO2Z1bmN0aW9uIGxPKCl7aWYobnVsbD09PWxUKXRocm93IEVycm9yKHUoNDU5KSk7dmFyIGU9bFQ7cmV0dXJuIGxUPW51bGwsZX1mdW5jdGlvbiBseihlKXtpZihlPT09bFN8fGU9PT1seCl0aHJvdyBFcnJvcih1KDQ4MykpfXZhciBsTD1udWxsLGxSPTA7ZnVuY3Rpb24gbE0oZSl7dmFyIHQ9bFI7cmV0dXJuIGxSKz0xLG51bGw9PT1sTCYmKGxMPVtdKSxsTihsTCxlLHQpfWZ1bmN0aW9uIGxJKGUsdCl7ZS5yZWY9dm9pZCAwIT09KHQ9dC5wcm9wcy5yZWYpP3Q6bnVsbH1mdW5jdGlvbiBsRChlLHQpe2lmKHQuJCR0eXBlb2Y9PT1fKXRocm93IEVycm9yKHUoNTI1KSk7dGhyb3cgRXJyb3IodSgzMSwiW29iamVjdCBPYmplY3RdIj09PShlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSk/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXModCkuam9pbigiLCAiKSsifSI6ZSkpfWZ1bmN0aW9uIGxGKGUpe2Z1bmN0aW9uIHQodCxuKXtpZihlKXt2YXIgcj10LmRlbGV0aW9ucztudWxsPT09cj8odC5kZWxldGlvbnM9W25dLHQuZmxhZ3N8PTE2KTpyLnB1c2gobil9fWZ1bmN0aW9uIG4obixyKXtpZighZSlyZXR1cm4gbnVsbDtmb3IoO251bGwhPT1yOyl0KG4scikscj1yLnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gcihlKXtmb3IodmFyIHQ9bmV3IE1hcDtudWxsIT09ZTspbnVsbD09PWUua2V5P3Quc2V0KGUuaW5kZXgsZSk6dC5zZXQoZS5rZXksZSksZT1lLnNpYmxpbmc7cmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPXJiKGUsdCkpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiBhKHQsbixyKXtyZXR1cm4odC5pbmRleD1yLGUpP251bGwhPT0ocj10LmFsdGVybmF0ZSk/KHI9ci5pbmRleCk8bj8odC5mbGFnc3w9MHg4MDAwMDAyLG4pOnI6KHQuZmxhZ3N8PTB4ODAwMDAwMixuKToodC5mbGFnc3w9MTA0ODU3NixuKX1mdW5jdGlvbiBvKHQpe3JldHVybiBlJiZudWxsPT09dC5hbHRlcm5hdGUmJih0LmZsYWdzfD0weDgwMDAwMDIpLHR9ZnVuY3Rpb24gaShlLHQsbixyKXtyZXR1cm4gbnVsbD09PXR8fDYhPT10LnRhZz8odD1yRShuLGUubW9kZSxyKSkucmV0dXJuPWU6KHQ9bCh0LG4pKS5yZXR1cm49ZSx0fWZ1bmN0aW9uIHMoZSx0LG4scil7dmFyIGE9bi50eXBlO3JldHVybiBhPT09Qz8obEkoZT1mKGUsdCxuLnByb3BzLmNoaWxkcmVuLHIsbi5rZXkpLG4pLGUpOihudWxsIT09dCYmKHQuZWxlbWVudFR5cGU9PT1hfHwib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09RiYmbEMoYSk9PT10LnR5cGUpP2xJKHQ9bCh0LG4ucHJvcHMpLG4pOmxJKHQ9cmsobi50eXBlLG4ua2V5LG4ucHJvcHMsbnVsbCxlLm1vZGUsciksbiksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBjKGUsdCxuLHIpe3JldHVybiBudWxsPT09dHx8NCE9PXQudGFnfHx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09bi5jb250YWluZXJJbmZvfHx0LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PW4uaW1wbGVtZW50YXRpb24/KHQ9cl8obixlLm1vZGUscikpLnJldHVybj1lOih0PWwodCxuLmNoaWxkcmVufHxbXSkpLnJldHVybj1lLHR9ZnVuY3Rpb24gZihlLHQsbixyLGEpe3JldHVybiBudWxsPT09dHx8NyE9PXQudGFnPyh0PXJTKG4sZS5tb2RlLHIsYSkpLnJldHVybj1lOih0PWwodCxuKSkucmV0dXJuPWUsdH1mdW5jdGlvbiBkKGUsdCxuKXtpZigic3RyaW5nIj09dHlwZW9mIHQmJiIiIT09dHx8Im51bWJlciI9PXR5cGVvZiB0fHwiYmlnaW50Ij09dHlwZW9mIHQpcmV0dXJuKHQ9ckUoIiIrdCxlLm1vZGUsbikpLnJldHVybj1lLHQ7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7c3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbEkobj1yayh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxuKSx0KSxuLnJldHVybj1lLG47Y2FzZSBOOnJldHVybih0PXJfKHQsZS5tb2RlLG4pKS5yZXR1cm49ZSx0O2Nhc2UgRjpyZXR1cm4gZChlLHQ9bEModCksbil9aWYoUSh0KXx8SCh0KSlyZXR1cm4odD1yUyh0LGUubW9kZSxuLG51bGwpKS5yZXR1cm49ZSx0O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pcmV0dXJuIGQoZSxsTSh0KSxuKTtpZih0LiQkdHlwZW9mPT09TClyZXR1cm4gZChlLGxuKGUsdCksbik7bEQoZSx0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsdCxuLHIpe3ZhciBsPW51bGwhPT10P3Qua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2Ygbnx8ImJpZ2ludCI9PXR5cGVvZiBuKXJldHVybiBudWxsIT09bD9udWxsOmkoZSx0LCIiK24scik7aWYoIm9iamVjdCI9PXR5cGVvZiBuJiZudWxsIT09bil7c3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbi5rZXk9PT1sP3MoZSx0LG4scik6bnVsbDtjYXNlIE46cmV0dXJuIG4ua2V5PT09bD9jKGUsdCxuLHIpOm51bGw7Y2FzZSBGOnJldHVybiBwKGUsdCxuPWxDKG4pLHIpfWlmKFEobil8fEgobikpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLHQsbixyLG51bGwpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4pcmV0dXJuIHAoZSx0LGxNKG4pLHIpO2lmKG4uJCR0eXBlb2Y9PT1MKXJldHVybiBwKGUsdCxsbihlLG4pLHIpO2xEKGUsbil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLHQsbixyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHJ8fCJiaWdpbnQiPT10eXBlb2YgcilyZXR1cm4gaSh0LGU9ZS5nZXQobil8fG51bGwsIiIrcixsKTtpZigib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPT1yKXtzd2l0Y2goci4kJHR5cGVvZil7Y2FzZSBQOnJldHVybiBzKHQsZT1lLmdldChudWxsPT09ci5rZXk/bjpyLmtleSl8fG51bGwscixsKTtjYXNlIE46cmV0dXJuIGModCxlPWUuZ2V0KG51bGw9PT1yLmtleT9uOnIua2V5KXx8bnVsbCxyLGwpO2Nhc2UgRjpyZXR1cm4gbShlLHQsbixyPWxDKHIpLGwpfWlmKFEocil8fEgocikpcmV0dXJuIGYodCxlPWUuZ2V0KG4pfHxudWxsLHIsbCxudWxsKTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygci50aGVuKXJldHVybiBtKGUsdCxuLGxNKHIpLGwpO2lmKHIuJCR0eXBlb2Y9PT1MKXJldHVybiBtKGUsdCxuLGxuKHQsciksbCk7bEQodCxyKX1yZXR1cm4gbnVsbH1yZXR1cm4gZnVuY3Rpb24oaSxzLGMsZil7dHJ5e2xSPTA7dmFyIGg9ZnVuY3Rpb24gaShzLGMsZixoKXtpZigib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mJiZmLnR5cGU9PT1DJiZudWxsPT09Zi5rZXkmJnZvaWQgMD09PWYucHJvcHMucmVmJiYoZj1mLnByb3BzLmNoaWxkcmVuKSwib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mKXtzd2l0Y2goZi4kJHR5cGVvZil7Y2FzZSBQOmU6e2Zvcih2YXIgZz1mLmtleTtudWxsIT09Yzspe2lmKGMua2V5PT09Zyl7aWYoKGc9Zi50eXBlKT09PUMpe2lmKDc9PT1jLnRhZyl7bihzLGMuc2libGluZyksbEkoaD1sKGMsZi5wcm9wcy5jaGlsZHJlbiksZiksaC5yZXR1cm49cyxzPWg7YnJlYWsgZX19ZWxzZSBpZihjLmVsZW1lbnRUeXBlPT09Z3x8Im9iamVjdCI9PXR5cGVvZiBnJiZudWxsIT09ZyYmZy4kJHR5cGVvZj09PUYmJmxDKGcpPT09Yy50eXBlKXtuKHMsYy5zaWJsaW5nKSxsSShoPWwoYyxmLnByb3BzKSxmKSxoLnJldHVybj1zLHM9aDticmVhayBlfW4ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9Zi50eXBlPT09Qz9sSShoPXJTKGYucHJvcHMuY2hpbGRyZW4scy5tb2RlLGgsZi5rZXkpLGYpOmxJKGg9cmsoZi50eXBlLGYua2V5LGYucHJvcHMsbnVsbCxzLm1vZGUsaCksZiksaC5yZXR1cm49cyxzPWh9cmV0dXJuIG8ocyk7Y2FzZSBOOmU6e2ZvcihnPWYua2V5O251bGwhPT1jOyl7aWYoYy5rZXk9PT1nKWlmKDQ9PT1jLnRhZyYmYy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWYuY29udGFpbmVySW5mbyYmYy5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb249PT1mLmltcGxlbWVudGF0aW9uKXtuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZi5jaGlsZHJlbnx8W10pKS5yZXR1cm49cyxzPWg7YnJlYWsgZX1lbHNle24ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9KGg9cl8oZixzLm1vZGUsaCkpLnJldHVybj1zLHM9aH1yZXR1cm4gbyhzKTtjYXNlIEY6cmV0dXJuIGkocyxjLGY9bEMoZiksaCl9aWYoUShmKSlyZXR1cm4gZnVuY3Rpb24obCxvLGksdSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9byxoPW89MCxnPW51bGw7bnVsbCE9PWYmJmg8aS5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLGlbaF0sdSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJnQobCxmKSxvPWEodixvLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1pLmxlbmd0aClyZXR1cm4gbihsLGYpLHIkJiZyRihsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxpLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxpW2hdLHUpKSYmKG89YShmLG8saCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIHIkJiZyRihsLGgpLHN9Zm9yKGY9cihmKTtoPGkubGVuZ3RoO2grKyludWxsIT09KGc9bShmLGwsaCxpW2hdLHUpKSYmKGUmJm51bGwhPT0odj1nLmFsdGVybmF0ZSkmJmYuZGVsZXRlKG51bGw9PT12LmtleT9oOnYua2V5KSxvPWEoZyxvLGgpLG51bGw9PT1jP3M9ZzpjLnNpYmxpbmc9ZyxjPWcpO3JldHVybiBlJiZmLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHQobCxlKX0pLHIkJiZyRihsLGgpLHN9KHMsYyxmLGgpO2lmKEgoZikpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZihnPUgoZikpKXRocm93IEVycm9yKHUoMTUwKSk7cmV0dXJuIGZ1bmN0aW9uKGwsbyxpLHMpe2lmKG51bGw9PWkpdGhyb3cgRXJyb3IodSgxNTEpKTtmb3IodmFyIGM9bnVsbCxmPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJnQobCxoKSxvPWEoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gbihsLGgpLHIkJiZyRihsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gciQmJnJGKGwsZyksY31mb3IoaD1yKGgpOyF5LmRvbmU7ZysrLHk9aS5uZXh0KCkpbnVsbCE9PSh5PW0oaCxsLGcseS52YWx1ZSxzKSkmJihlJiZudWxsIT09KHY9eS5hbHRlcm5hdGUpJiZoLmRlbGV0ZShudWxsPT09di5rZXk/Zzp2LmtleSksbz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gZSYmaC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGwsZSl9KSxyJCYmckYobCxnKSxjfShzLGMsZj1nLmNhbGwoZiksaCl9aWYoImZ1bmN0aW9uIj09dHlwZW9mIGYudGhlbilyZXR1cm4gaShzLGMsbE0oZiksaCk7aWYoZi4kJHR5cGVvZj09PUwpcmV0dXJuIGkocyxjLGxuKHMsZiksaCk7bEQocyxmKX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGYmJiIiIT09Znx8Im51bWJlciI9PXR5cGVvZiBmfHwiYmlnaW50Ij09dHlwZW9mIGY/KGY9IiIrZixudWxsIT09YyYmNj09PWMudGFnPyhuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZikpLnJldHVybj1zKToobihzLGMpLChoPXJFKGYscy5tb2RlLGgpKS5yZXR1cm49cyksbyhzPWgpKTpuKHMsYyl9KGkscyxjLGYpO3JldHVybiBsTD1udWxsLGh9Y2F0Y2goZSl7aWYoZT09PWxTfHxlPT09bHgpdGhyb3cgZTt2YXIgZz1ydigyOSxlLG51bGwsaS5tb2RlKTtyZXR1cm4gZy5sYW5lcz1mLGcucmV0dXJuPWksZ31maW5hbGx5e319fXZhciBsQT1sRighMCksbGo9bEYoITEpLGxVPSExO2Z1bmN0aW9uIGxCKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxsYW5lczowLGhpZGRlbkNhbGxiYWNrczpudWxsfSxjYWxsYmFja3M6bnVsbH19ZnVuY3Rpb24gbFYoZSx0KXtlPWUudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWUmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGNhbGxiYWNrczpudWxsfSl9ZnVuY3Rpb24gbEgoZSl7cmV0dXJue2xhbmU6ZSx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIGwkKGUsdCxuKXt2YXIgcj1lLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1yKXJldHVybiBudWxsO2lmKHI9ci5zaGFyZWQsMCE9KDImdVMpKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP3QubmV4dD10Oih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxyLnBlbmRpbmc9dCx0PXJtKGUpLHJwKGUsbnVsbCxuKSx0fXJldHVybiByYyhlLHIsdCxuKSxybShlKX1mdW5jdGlvbiBsUShlLHQsbil7aWYobnVsbCE9PSh0PXQudXBkYXRlUXVldWUpJiYodD10LnNoYXJlZCwwIT0oNDE5NDA0OCZuKSkpe3ZhciByPXQubGFuZXM7ciY9ZS5wZW5kaW5nTGFuZXMsbnw9cix0LmxhbmVzPW4sZWooZSxuKX19ZnVuY3Rpb24gbFcoZSx0KXt2YXIgbj1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJm49PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PShuPW4uZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIG89e2xhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bnVsbD09PWE/bD1hPW86YT1hLm5leHQ9byxuPW4ubmV4dH13aGlsZShudWxsIT09biludWxsPT09YT9sPWE9dDphPWEubmV4dD10fWVsc2UgbD1hPXQ7bj17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsc2hhcmVkOnIuc2hhcmVkLGNhbGxiYWNrczpyLmNhbGxiYWNrc30sZS51cGRhdGVRdWV1ZT1uO3JldHVybn1udWxsPT09KGU9bi5sYXN0QmFzZVVwZGF0ZSk/bi5maXJzdEJhc2VVcGRhdGU9dDplLm5leHQ9dCxuLmxhc3RCYXNlVXBkYXRlPXR9dmFyIGxxPSExO2Z1bmN0aW9uIGxLKCl7aWYobHEpe3ZhciBlPWxoO2lmKG51bGwhPT1lKXRocm93IGV9fWZ1bmN0aW9uIGxYKGUsdCxuLHIpe2xxPSExO3ZhciBsPWUudXBkYXRlUXVldWU7bFU9ITE7dmFyIGE9bC5maXJzdEJhc2VVcGRhdGUsbz1sLmxhc3RCYXNlVXBkYXRlLGk9bC5zaGFyZWQucGVuZGluZztpZihudWxsIT09aSl7bC5zaGFyZWQucGVuZGluZz1udWxsO3ZhciB1PWkscz11Lm5leHQ7dS5uZXh0PW51bGwsbnVsbD09PW8/YT1zOm8ubmV4dD1zLG89dTt2YXIgYz1lLmFsdGVybmF0ZTtudWxsIT09YyYmKGk9KGM9Yy51cGRhdGVRdWV1ZSkubGFzdEJhc2VVcGRhdGUpIT09byYmKG51bGw9PT1pP2MuZmlyc3RCYXNlVXBkYXRlPXM6aS5uZXh0PXMsYy5sYXN0QmFzZVVwZGF0ZT11KX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKG89MCxjPXM9dT1udWxsLGk9YTs7KXt2YXIgZD0tMHgyMDAwMDAwMSZpLmxhbmUscD1kIT09aS5sYW5lO2lmKHA/KHVfJmQpPT09ZDoociZkKT09PWQpezAhPT1kJiZkPT09bG0mJihscT0hMCksbnVsbCE9PWMmJihjPWMubmV4dD17bGFuZTowLHRhZzppLnRhZyxwYXlsb2FkOmkucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH0pO2U6e3ZhciBtPWUsaD1pO3N3aXRjaChkPXQsaC50YWcpe2Nhc2UgMTppZigiZnVuY3Rpb24iPT10eXBlb2YobT1oLnBheWxvYWQpKXtmPW0uY2FsbChuLGYsZCk7YnJlYWsgZX1mPW07YnJlYWsgZTtjYXNlIDM6bS5mbGFncz0tNjU1MzcmbS5mbGFnc3wxMjg7Y2FzZSAwOmlmKG51bGw9PShkPSJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCk/bS5jYWxsKG4sZixkKTptKSlicmVhayBlO2Y9eCh7fSxmLGQpO2JyZWFrIGU7Y2FzZSAyOmxVPSEwfX1udWxsIT09KGQ9aS5jYWxsYmFjaykmJihlLmZsYWdzfD02NCxwJiYoZS5mbGFnc3w9ODE5MiksbnVsbD09PShwPWwuY2FsbGJhY2tzKT9sLmNhbGxiYWNrcz1bZF06cC5wdXNoKGQpKX1lbHNlIHA9e2xhbmU6ZCx0YWc6aS50YWcscGF5bG9hZDppLnBheWxvYWQsY2FsbGJhY2s6aS5jYWxsYmFjayxuZXh0Om51bGx9LG51bGw9PT1jPyhzPWM9cCx1PWYpOmM9Yy5uZXh0PXAsb3w9ZDtpZihudWxsPT09KGk9aS5uZXh0KSlpZihudWxsPT09KGk9bC5zaGFyZWQucGVuZGluZykpYnJlYWs7ZWxzZSBpPShwPWkpLm5leHQscC5uZXh0PW51bGwsbC5sYXN0QmFzZVVwZGF0ZT1wLGwuc2hhcmVkLnBlbmRpbmc9bnVsbH1udWxsPT09YyYmKHU9ZiksbC5iYXNlU3RhdGU9dSxsLmZpcnN0QmFzZVVwZGF0ZT1zLGwubGFzdEJhc2VVcGRhdGU9YyxudWxsPT09YSYmKGwuc2hhcmVkLmxhbmVzPTApLHVSfD1vLGUubGFuZXM9byxlLm1lbW9pemVkU3RhdGU9Zn19ZnVuY3Rpb24gbEcoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDE5MSxlKSk7ZS5jYWxsKHQpfWZ1bmN0aW9uIGxZKGUsdCl7dmFyIG49ZS5jYWxsYmFja3M7aWYobnVsbCE9PW4pZm9yKGUuY2FsbGJhY2tzPW51bGwsZT0wO2U8bi5sZW5ndGg7ZSsrKWxHKG5bZV0sdCl9dmFyIGxKPVkobnVsbCksbFo9WSgwKTtmdW5jdGlvbiBsMChlLHQpe1oobFosZT11eiksWihsSix0KSx1ej1lfHQuYmFzZUxhbmVzfWZ1bmN0aW9uIGwxKCl7WihsWix1eiksWihsSixsSi5jdXJyZW50KX1mdW5jdGlvbiBsMigpe3V6PWxaLmN1cnJlbnQsSihsSiksSihsWil9dmFyIGwzPVkobnVsbCksbDQ9bnVsbDtmdW5jdGlvbiBsOChlKXt2YXIgdD1lLmFsdGVybmF0ZTtaKGFlLDEmYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihudWxsPT09dHx8bnVsbCE9PWxKLmN1cnJlbnQ/bDQ9ZTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiYobDQ9ZSkpfWZ1bmN0aW9uIGw1KGUpe1ooYWUsYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihsND1lKX1mdW5jdGlvbiBsNihlKXsyMj09PWUudGFnPyhaKGFlLGFlLmN1cnJlbnQpLFoobDMsZSksbnVsbD09PWw0JiYobDQ9ZSkpOmw5KCl9ZnVuY3Rpb24gbDkoKXtaKGFlLGFlLmN1cnJlbnQpLFoobDMsbDMuY3VycmVudCl9ZnVuY3Rpb24gbDcoZSl7SihsMyksbDQ9PT1lJiYobDQ9bnVsbCksSihhZSl9dmFyIGFlPVkoMCk7ZnVuY3Rpb24gYXQoZSx0KXtaKGwzLGwzLmN1cnJlbnQpLFooYWUsdCl9ZnVuY3Rpb24gYW4oZSl7SihhZSksSihsMyksbDQ9PT1lJiYobDQ9bnVsbCl9ZnVuY3Rpb24gYXIoZSl7Zm9yKHZhciB0PWU7bnVsbCE9PXQ7KXtpZigxMz09PXQudGFnKXt2YXIgbj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PW4mJihudWxsPT09KG49bi5kZWh5ZHJhdGVkKXx8Y0gobil8fGMkKG4pKSlyZXR1cm4gdH1lbHNlIGlmKDE5PT09dC50YWcmJiJpbmRlcGVuZGVudCIhPT10Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIpe2lmKDAhPSgxMjgmdC5mbGFncykpcmV0dXJuIHR9ZWxzZSBpZihudWxsIT09dC5jaGlsZCl7dC5jaGlsZC5yZXR1cm49dCx0PXQuY2hpbGQ7Y29udGludWV9aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuIG51bGw7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfXJldHVybiBudWxsfXZhciBhbD0wLGFhPW51bGwsYW89bnVsbCxhaT1udWxsLGF1PSExLGFzPSExLGFjPSExLGFmPTAsYWQ9MCxhcD1udWxsLGFtPTA7ZnVuY3Rpb24gYWgoKXt0aHJvdyBFcnJvcih1KDMyMSkpfWZ1bmN0aW9uIGFnKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aCYmbjxlLmxlbmd0aDtuKyspaWYoIW5BKGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gYXYoZSx0LG4scixsLGEpe3JldHVybiBhbD1hLGFhPXQsdC5tZW1vaXplZFN0YXRlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsLHQubGFuZXM9MCxXLkg9bnVsbD09PWV8fG51bGw9PT1lLm1lbW9pemVkU3RhdGU/b0U6b3gsYWM9ITEsYT1uKHIsbCksYWM9ITEsYXMmJihhPWFiKHQsbixyLGwpKSxheShlKSxhfWZ1bmN0aW9uIGF5KGUpe1cuSD1vUzt2YXIgdD1udWxsIT09YW8mJm51bGwhPT1hby5uZXh0O2lmKGFsPTAsYWk9YW89YWE9bnVsbCxhdT0hMSxhZD0wLGFwPW51bGwsdCl0aHJvdyBFcnJvcih1KDMwMCkpO251bGw9PT1lfHxvVXx8bnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmcjcoZSkmJihvVT0hMCl9ZnVuY3Rpb24gYWIoZSx0LG4scil7YWE9ZTt2YXIgbD0wO2Rve2lmKGFzJiYoYXA9bnVsbCksYWQ9MCxhcz0hMSwyNTw9bCl0aHJvdyBFcnJvcih1KDMwMSkpO2lmKGwrPTEsYWk9YW89bnVsbCxudWxsIT1lLnVwZGF0ZVF1ZXVlKXt2YXIgYT1lLnVwZGF0ZVF1ZXVlO2EubGFzdEVmZmVjdD1udWxsLGEuZXZlbnRzPW51bGwsYS5zdG9yZXM9bnVsbCxudWxsIT1hLm1lbW9DYWNoZSYmKGEubWVtb0NhY2hlLmluZGV4PTApfVcuSD1vXyxhPXQobixyKX13aGlsZShhcylyZXR1cm4gYX1mdW5jdGlvbiBhdygpe3ZhciBlPVcuSCx0PWUudXNlU3RhdGUoKVswXTtyZXR1cm4gdD0iZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuP2FOKHQpOnQsZT1lLnVzZVN0YXRlKClbMF0sKG51bGwhPT1hbz9hby5tZW1vaXplZFN0YXRlOm51bGwpIT09ZSYmKGFhLmZsYWdzfD0xMDI0KSx0fWZ1bmN0aW9uIGFrKCl7dmFyIGU9MCE9PWFmO3JldHVybiBhZj0wLGV9ZnVuY3Rpb24gYVMoZSx0LG4pe3QudXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0LmZsYWdzJj0tMjA1MyxlLmxhbmVzJj1+bn1mdW5jdGlvbiBhRShlKXtpZihhdSl7Zm9yKGU9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1lOyl7dmFyIHQ9ZS5xdWV1ZTtudWxsIT09dCYmKHQucGVuZGluZz1udWxsKSxlPWUubmV4dH1hdT0hMX1hbD0wLGFpPWFvPWFhPW51bGwsYXM9ITEsYWQ9YWY9MCxhcD1udWxsfWZ1bmN0aW9uIGF4KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lLGFpfWZ1bmN0aW9uIGFfKCl7aWYobnVsbD09PWFvKXt2YXIgZT1hYS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9YW8ubmV4dDt2YXIgdD1udWxsPT09YWk/YWEubWVtb2l6ZWRTdGF0ZTphaS5uZXh0O2lmKG51bGwhPT10KWFpPXQsYW89ZTtlbHNle2lmKG51bGw9PT1lKXtpZihudWxsPT09YWEuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoNDY3KSk7dGhyb3cgRXJyb3IodSgzMTApKX1lPXttZW1vaXplZFN0YXRlOihhbz1lKS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTphby5iYXNlU3RhdGUsYmFzZVF1ZXVlOmFvLmJhc2VRdWV1ZSxxdWV1ZTphby5xdWV1ZSxuZXh0Om51bGx9LG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lfXJldHVybiBhaX1mdW5jdGlvbiBhUCgpe3JldHVybntsYXN0RWZmZWN0Om51bGwsZXZlbnRzOm51bGwsc3RvcmVzOm51bGwsbWVtb0NhY2hlOm51bGx9fWZ1bmN0aW9uIGFOKGUpe3ZhciB0PWFkO3JldHVybiBhZCs9MSxudWxsPT09YXAmJihhcD1bXSksZT1sTihhcCxlLHQpLHQ9YWEsbnVsbD09PShudWxsPT09YWk/dC5tZW1vaXplZFN0YXRlOmFpLm5leHQpJiYoVy5IPW51bGw9PT0odD10LmFsdGVybmF0ZSl8fG51bGw9PT10Lm1lbW9pemVkU3RhdGU/b0U6b3gpLGV9ZnVuY3Rpb24gYUMoZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gYU4oZSk7aWYoZS4kJHR5cGVvZj09PUwpcmV0dXJuIGx0KGUpfXRocm93IEVycm9yKHUoNDM4LFN0cmluZyhlKSkpfWZ1bmN0aW9uIGFUKGUpe3ZhciB0PW51bGwsbj1hYS51cGRhdGVRdWV1ZTtpZihudWxsIT09biYmKHQ9bi5tZW1vQ2FjaGUpLG51bGw9PXQpe3ZhciByPWFhLmFsdGVybmF0ZTtudWxsIT09ciYmbnVsbCE9PShyPXIudXBkYXRlUXVldWUpJiZudWxsIT0ocj1yLm1lbW9DYWNoZSkmJih0PXtkYXRhOnIuZGF0YS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2xpY2UoKX0pLGluZGV4OjB9KX1pZihudWxsPT10JiYodD17ZGF0YTpbXSxpbmRleDowfSksbnVsbD09PW4mJihuPWFQKCksYWEudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCx2b2lkIDA9PT0obj10LmRhdGFbdC5pbmRleF0pKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPVU7cmV0dXJuIHQuaW5kZXgrKyxufWZ1bmN0aW9uIGFPKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChlKTp0fWZ1bmN0aW9uIGF6KGUpe3JldHVybiBhTChhXygpLGFvLGUpfWZ1bmN0aW9uIGFMKGUsdCxuKXt2YXIgcj1lLnF1ZXVlO2lmKG51bGw9PT1yKXRocm93IEVycm9yKHUoMzExKSk7ci5sYXN0UmVuZGVyZWRSZWR1Y2VyPW47dmFyIGw9ZS5iYXNlUXVldWUsYT1yLnBlbmRpbmc7aWYobnVsbCE9PWEpe2lmKG51bGwhPT1sKXt2YXIgbz1sLm5leHQ7bC5uZXh0PWEubmV4dCxhLm5leHQ9b310LmJhc2VRdWV1ZT1sPWEsci5wZW5kaW5nPW51bGx9aWYoYT1lLmJhc2VTdGF0ZSxudWxsPT09bCllLm1lbW9pemVkU3RhdGU9YTtlbHNle3Q9bC5uZXh0O3ZhciBpPW89bnVsbCxzPW51bGwsYz10LGY9ITE7ZG97dmFyIGQ9LTB4MjAwMDAwMDEmYy5sYW5lO2lmKGQhPT1jLmxhbmU/KHVfJmQpPT09ZDooYWwmZCk9PT1kKXt2YXIgcD1jLnJldmVydExhbmU7aWYoMD09PXApbnVsbCE9PXMmJihzPXMubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLGQ9PT1sbSYmKGY9ITApO2Vsc2UgaWYoKGFsJnApPT09cCl7Yz1jLm5leHQscD09PWxtJiYoZj0hMCk7Y29udGludWV9ZWxzZSBkPXtsYW5lOjAscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjpjLmFjdGlvbixoYXNFYWdlclN0YXRlOmMuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmMuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LG51bGw9PT1zPyhpPXM9ZCxvPWEpOnM9cy5uZXh0PWQsYWEubGFuZXN8PXAsdVJ8PXA7ZD1jLmFjdGlvbixhYyYmbihhLGQpLGE9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTpuKGEsZCl9ZWxzZSBwPXtsYW5lOmQscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpjLmdlc3R1cmUsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0sbnVsbD09PXM/KGk9cz1wLG89YSk6cz1zLm5leHQ9cCxhYS5sYW5lc3w9ZCx1Unw9ZDtjPWMubmV4dH13aGlsZShudWxsIT09YyYmYyE9PXQpaWYobnVsbD09PXM/bz1hOnMubmV4dD1pLCFuQShhLGUubWVtb2l6ZWRTdGF0ZSkmJihvVT0hMCxmJiZudWxsIT09KG49bGgpKSl0aHJvdyBuO2UubWVtb2l6ZWRTdGF0ZT1hLGUuYmFzZVN0YXRlPW8sZS5iYXNlUXVldWU9cyxyLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuIG51bGw9PT1sJiYoci5sYW5lcz0wKSxbZS5tZW1vaXplZFN0YXRlLHIuZGlzcGF0Y2hdfWZ1bmN0aW9uIGFSKGUpe3ZhciB0PWFfKCksbj10LnF1ZXVlO2lmKG51bGw9PT1uKXRocm93IEVycm9yKHUoMzExKSk7bi5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9bi5kaXNwYXRjaCxsPW4ucGVuZGluZyxhPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7bi5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG8gYT1lKGEsby5hY3Rpb24pLG89by5uZXh0O3doaWxlKG8hPT1sKW5BKGEsdC5tZW1vaXplZFN0YXRlKXx8KG9VPSEwKSx0Lm1lbW9pemVkU3RhdGU9YSxudWxsPT09dC5iYXNlUXVldWUmJih0LmJhc2VTdGF0ZT1hKSxuLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuW2Escl19ZnVuY3Rpb24gYU0oZSx0LG4pe3ZhciByPWFhLGw9YV8oKSxhPXIkO2lmKGEpe2lmKHZvaWQgMD09PW4pdGhyb3cgRXJyb3IodSg0MDcpKTtuPW4oKX1lbHNlIG49dCgpO3ZhciBvPSFuQSgoYW98fGwpLm1lbW9pemVkU3RhdGUsbik7aWYobyYmKGwubWVtb2l6ZWRTdGF0ZT1uLG9VPSEwKSxsPWwucXVldWUsYTgoYUYuYmluZChudWxsLHIsbCxlKSxbZV0pLGwuZ2V0U25hcHNob3QhPT10fHxvfHxudWxsIT09YWkmJjEmYWkubWVtb2l6ZWRTdGF0ZS50YWcpe2lmKHIuZmxhZ3N8PTIwNDgsYTAoOSx7ZGVzdHJveTp2b2lkIDB9LGFELmJpbmQobnVsbCxyLGwsbix0KSxudWxsKSxudWxsPT09dUUpdGhyb3cgRXJyb3IodSgzNDkpKTthfHwwIT0oMTI3JmFsKXx8YUkocix0LG4pfXJldHVybiBufWZ1bmN0aW9uIGFJKGUsdCxuKXtlLmZsYWdzfD0xNjM4NCxlPXtnZXRTbmFwc2hvdDp0LHZhbHVlOm59LG51bGw9PT0odD1hYS51cGRhdGVRdWV1ZSk/KHQ9YVAoKSxhYS51cGRhdGVRdWV1ZT10LHQuc3RvcmVzPVtlXSk6bnVsbD09PShuPXQuc3RvcmVzKT90LnN0b3Jlcz1bZV06bi5wdXNoKGUpfWZ1bmN0aW9uIGFEKGUsdCxuLHIpe3QudmFsdWU9bix0LmdldFNuYXBzaG90PXIsYUEodCkmJmFqKGUpfWZ1bmN0aW9uIGFGKGUsdCxuKXtyZXR1cm4gbihmdW5jdGlvbigpe2FBKHQpJiZhaihlKX0pfWZ1bmN0aW9uIGFBKGUpe3ZhciB0PWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXt2YXIgbj10KCk7cmV0dXJuIW5BKGUsbil9Y2F0Y2goZSl7cmV0dXJuITB9fWZ1bmN0aW9uIGFqKGUpe3ZhciB0PXJkKGUsMik7bnVsbCE9PXQmJnU2KHQsZSwyKX1mdW5jdGlvbiBhVShlKXt2YXIgdD1heCgpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLHQucXVldWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTplfSx0fWZ1bmN0aW9uIGFCKGUsdCxuLHIpe3JldHVybiBlLmJhc2VTdGF0ZT1uLGFMKGUsYW8sImZ1bmN0aW9uIj09dHlwZW9mIHI/cjphTyl9ZnVuY3Rpb24gYVYoZSx0LG4scixsKXtpZihvYihlKSl0aHJvdyBFcnJvcih1KDQ4NSkpO2lmKG51bGwhPT0oZT10LmFjdGlvbikpe3ZhciBhPXtwYXlsb2FkOmwsYWN0aW9uOmUsbmV4dDpudWxsLGlzVHJhbnNpdGlvbjohMCxzdGF0dXM6InBlbmRpbmciLHZhbHVlOm51bGwscmVhc29uOm51bGwsbGlzdGVuZXJzOltdLHRoZW46ZnVuY3Rpb24oZSl7YS5saXN0ZW5lcnMucHVzaChlKX19O251bGwhPT1XLlQ/bighMCk6YS5pc1RyYW5zaXRpb249ITEscihhKSxudWxsPT09KG49dC5wZW5kaW5nKT8oYS5uZXh0PXQucGVuZGluZz1hLGFIKHQsYSkpOihhLm5leHQ9bi5uZXh0LHQucGVuZGluZz1uLm5leHQ9YSl9fWZ1bmN0aW9uIGFIKGUsdCl7dmFyIG49dC5hY3Rpb24scj10LnBheWxvYWQsbD1lLnN0YXRlO2lmKHQuaXNUcmFuc2l0aW9uKXt2YXIgYT1XLlQsbz17fTtvLnR5cGVzPW51bGwhPT1hP2EudHlwZXM6bnVsbCxXLlQ9bzt0cnl7dmFyIGk9bihsLHIpLHU9Vy5TO251bGwhPT11JiZ1KG8saSksYSQoZSx0LGkpfWNhdGNoKG4pe2FXKGUsdCxuKX1maW5hbGx5e251bGwhPT1hJiZudWxsIT09by50eXBlcyYmKGEudHlwZXM9by50eXBlcyksVy5UPWF9fWVsc2UgdHJ5e2E9bihsLHIpLGEkKGUsdCxhKX1jYXRjaChuKXthVyhlLHQsbil9fWZ1bmN0aW9uIGEkKGUsdCxuKXtudWxsIT09biYmIm9iamVjdCI9PXR5cGVvZiBuJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi50aGVuP24udGhlbihmdW5jdGlvbihuKXthUShlLHQsbil9LGZ1bmN0aW9uKG4pe3JldHVybiBhVyhlLHQsbil9KTphUShlLHQsbil9ZnVuY3Rpb24gYVEoZSx0LG4pe3Quc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9bixhcSh0KSxlLnN0YXRlPW4sbnVsbCE9PSh0PWUucGVuZGluZykmJigobj10Lm5leHQpPT09dD9lLnBlbmRpbmc9bnVsbDoobj1uLm5leHQsdC5uZXh0PW4sYUgoZSxuKSkpfWZ1bmN0aW9uIGFXKGUsdCxuKXt2YXIgcj1lLnBlbmRpbmc7aWYoZS5wZW5kaW5nPW51bGwsbnVsbCE9PXIpe3I9ci5uZXh0O2RvIHQuc3RhdHVzPSJyZWplY3RlZCIsdC5yZWFzb249bixhcSh0KSx0PXQubmV4dDt3aGlsZSh0IT09cil9ZS5hY3Rpb249bnVsbH1mdW5jdGlvbiBhcShlKXtlPWUubGlzdGVuZXJzO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9ZnVuY3Rpb24gYUsoZSx0KXtyZXR1cm4gdH1mdW5jdGlvbiBhWChlLHQpe2lmKHIkKXt2YXIgbj11RS5mb3JtU3RhdGU7aWYobnVsbCE9PW4pe2U6e3ZhciByPWFhO2lmKHIkKXtpZihySCl7dDp7Zm9yKHZhciBsPXJILGE9clc7OCE9PWwubm9kZVR5cGU7KWlmKCFhfHxudWxsPT09KGw9Y1EobC5uZXh0U2libGluZykpKXtsPW51bGw7YnJlYWsgdH1sPSJGISI9PT0oYT1sLmRhdGEpfHwiRiI9PT1hP2w6bnVsbH1pZihsKXtySD1jUShsLm5leHRTaWJsaW5nKSxyPSJGISI9PT1sLmRhdGE7YnJlYWsgZX19cksocil9cj0hMX1yJiYodD1uWzBdKX19cmV0dXJuKG49YXgoKSkubWVtb2l6ZWRTdGF0ZT1uLmJhc2VTdGF0ZT10LHI9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphSyxsYXN0UmVuZGVyZWRTdGF0ZTp0fSxuLnF1ZXVlPXIsbj1vZy5iaW5kKG51bGwsYWEsciksci5kaXNwYXRjaD1uLHI9YVUoITEpLGE9b3kuYmluZChudWxsLGFhLCExLHIucXVldWUpLHI9YXgoKSxsPXtzdGF0ZTp0LGRpc3BhdGNoOm51bGwsYWN0aW9uOmUscGVuZGluZzpudWxsfSxyLnF1ZXVlPWwsbj1hVi5iaW5kKG51bGwsYWEsbCxhLG4pLGwuZGlzcGF0Y2g9bixyLm1lbW9pemVkU3RhdGU9ZSxbdCxuLCExXX1mdW5jdGlvbiBhRyhlKXtyZXR1cm4gYVkoYV8oKSxhbyxlKX1mdW5jdGlvbiBhWShlLHQsbil7aWYodD1hTChlLHQsYUspWzBdLGU9YXooYU8pWzBdLCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pdHJ5e3ZhciByPWFOKHQpfWNhdGNoKGUpe2lmKGU9PT1sUyl0aHJvdyBseDt0aHJvdyBlfWVsc2Ugcj10O3ZhciBsPSh0PWFfKCkpLnF1ZXVlLGE9bC5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKGFhLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhSi5iaW5kKG51bGwsbCxuKSxudWxsKSksW3IsYSxlXX1mdW5jdGlvbiBhSihlLHQpe2UuYWN0aW9uPXR9ZnVuY3Rpb24gYVooZSl7dmFyIHQ9YV8oKSxuPWFvO2lmKG51bGwhPT1uKXJldHVybiBhWSh0LG4sZSk7YV8oKSx0PXQubWVtb2l6ZWRTdGF0ZTt2YXIgcj0obj1hXygpKS5xdWV1ZS5kaXNwYXRjaDtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPWUsW3QsciwhMV19ZnVuY3Rpb24gYTAoZSx0LG4scil7cmV0dXJuIGU9e3RhZzplLGNyZWF0ZTpuLGRlcHM6cixpbnN0OnQsbmV4dDpudWxsfSxudWxsPT09KHQ9YWEudXBkYXRlUXVldWUpJiYodD1hUCgpLGFhLnVwZGF0ZVF1ZXVlPXQpLG51bGw9PT0obj10Lmxhc3RFZmZlY3QpP3QubGFzdEVmZmVjdD1lLm5leHQ9ZToocj1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PXIsdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24gYTEoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIGEyKGUsdCxuLHIpe3ZhciBsPWF4KCk7YWEuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPWEwKDF8dCx7ZGVzdHJveTp2b2lkIDB9LG4sdm9pZCAwPT09cj9udWxsOnIpfWZ1bmN0aW9uIGEzKGUsdCxuLHIpe3ZhciBsPWFfKCk7cj12b2lkIDA9PT1yP251bGw6cjt2YXIgYT1sLm1lbW9pemVkU3RhdGUuaW5zdDtudWxsIT09YW8mJm51bGwhPT1yJiZhZyhyLGFvLm1lbW9pemVkU3RhdGUuZGVwcyk/bC5tZW1vaXplZFN0YXRlPWEwKHQsYSxuLHIpOihhYS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9YTAoMXx0LGEsbixyKSl9ZnVuY3Rpb24gYTQoZSx0KXthMig4MzkwNjU2LDgsZSx0KX1mdW5jdGlvbiBhOChlLHQpe2EzKDIwNDgsOCxlLHQpfWZ1bmN0aW9uIGE1KGUpe3ZhciB0PWFfKCkubWVtb2l6ZWRTdGF0ZSxuPXtyZWY6dCxuZXh0SW1wbDplfTthYS5mbGFnc3w9NDt2YXIgcj1hYS51cGRhdGVRdWV1ZTtpZihudWxsPT09cilyPWFQKCksYWEudXBkYXRlUXVldWU9cixyLmV2ZW50cz1bbl07ZWxzZXt2YXIgbD1yLmV2ZW50cztudWxsPT09bD9yLmV2ZW50cz1bbl06bC5wdXNoKG4pfXJldHVybiBmdW5jdGlvbigpe2lmKDAhPSgyJnVTKSl0aHJvdyBFcnJvcih1KDQ0MCkpO3JldHVybiB0LmltcGwuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGE2KGUsdCl7cmV0dXJuIGEzKDQsMixlLHQpfWZ1bmN0aW9uIGE5KGUsdCl7cmV0dXJuIGEzKDQsNCxlLHQpfWZ1bmN0aW9uIGE3KGUsdCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpe3ZhciBuPXQoZT1lKCkpO3JldHVybiBmdW5jdGlvbigpeyJmdW5jdGlvbiI9PXR5cGVvZiBuP24oKTp0KG51bGwpfX1pZihudWxsIT10KXJldHVybiB0LmN1cnJlbnQ9ZT1lKCksZnVuY3Rpb24oKXt0LmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gb2UoZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTMoNCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfWZ1bmN0aW9uIG90KCl7fWZ1bmN0aW9uIG9uKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtlLHRdLGUpfWZ1bmN0aW9uIG9yKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtyPWUoKSx0XSxyKX1mdW5jdGlvbiBvbChlLHQsbil7cmV0dXJuIHZvaWQgMD09PW58fDAhPSgweDQwMDAwMDAwJmFsKSYmMD09KDI2MTkzMCZ1Xyk/ZS5tZW1vaXplZFN0YXRlPXQ6KGUubWVtb2l6ZWRTdGF0ZT1uLGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSxuKX1mdW5jdGlvbiBvYShlLHQsbixyKXtyZXR1cm4gbkEobix0KT9uOm51bGwhPT1sSi5jdXJyZW50PyhuQShlPW9sKGUsbixyKSx0KXx8KG9VPSEwKSxlKTowPT0oNDImYWwpfHwwIT0oMHg0MDAwMDAwMCZhbCkmJjA9PSgyNjE5MzAmdV8pPyhvVT0hMCxlLm1lbW9pemVkU3RhdGU9bik6KGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSx0KX1mdW5jdGlvbiBvbyhlLHQsbixyLGwpe3ZhciBhPXEucDtxLnA9MCE9PWEmJjg+YT9hOjg7dmFyIG89Vy5ULGk9e307aS50eXBlcz1udWxsIT09bz9vLnR5cGVzOm51bGwsVy5UPWksb3koZSwhMSx0LG4pO3RyeXt2YXIgdT1sKCkscz1XLlM7aWYobnVsbCE9PXMmJnMoaSx1KSxudWxsIT09dSYmIm9iamVjdCI9PXR5cGVvZiB1JiYiZnVuY3Rpb24iPT10eXBlb2YgdS50aGVuKXt2YXIgYyxmLGQ9KGM9W10sZj17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oZSl7Yy5wdXNoKGUpfX0sdS50aGVuKGZ1bmN0aW9uKCl7Zi5zdGF0dXM9ImZ1bGZpbGxlZCIsZi52YWx1ZT1yO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKSgwLGNbZV0pKHIpfSxmdW5jdGlvbihlKXtmb3IoZi5zdGF0dXM9InJlamVjdGVkIixmLnJlYXNvbj1lLGU9MDtlPGMubGVuZ3RoO2UrKykoMCxjW2VdKSh2b2lkIDApfSksZik7b3YoZSx0LGQsdTQoZSkpfWVsc2Ugb3YoZSx0LHIsdTQoZSkpfWNhdGNoKG4pe292KGUsdCx7dGhlbjpmdW5jdGlvbigpe30sc3RhdHVzOiJyZWplY3RlZCIscmVhc29uOm59LHU0KCkpfWZpbmFsbHl7cS5wPWEsbnVsbCE9PW8mJm51bGwhPT1pLnR5cGVzJiYoby50eXBlcz1pLnR5cGVzKSxXLlQ9b319ZnVuY3Rpb24gb2koKXt9ZnVuY3Rpb24gb3UoZSx0LG4scil7aWYoNSE9PWUudGFnKXRocm93IEVycm9yKHUoNDc2KSk7dmFyIGw9b3MoZSkucXVldWU7b28oZSxsLHQsSyxudWxsPT09bj9vaTpmdW5jdGlvbigpe3JldHVybiBvYyhlKSxuKHIpfSl9ZnVuY3Rpb24gb3MoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10KXJldHVybiB0O3ZhciBuPXt9O3JldHVybih0PXttZW1vaXplZFN0YXRlOkssYmFzZVN0YXRlOkssYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpLfSxuZXh0Om51bGx9KS5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBvYyhlKXt2YXIgdD1vcyhlKTtudWxsPT09dC5uZXh0JiYodD1lLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxvdihlLHQubmV4dC5xdWV1ZSx7fSx1NCgpKX1mdW5jdGlvbiBvZigpe3JldHVybiBsdChmdil9ZnVuY3Rpb24gb2QoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIG9wKCl7cmV0dXJuIGFfKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBvbShlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPXU0KCkscj1sJCh0LGU9bEgobiksbik7bnVsbCE9PXImJih1NihyLHQsbiksbFEocix0LG4pKSx0PXtjYWNoZTpsdSgpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gb2goZSx0LG4pe3ZhciByPXU0KCk7bj17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxvYihlKT9vdyh0LG4pOm51bGwhPT0obj1yZihlLHQsbixyKSkmJih1NihuLGUsciksb2sobix0LHIpKX1mdW5jdGlvbiBvZyhlLHQsbil7b3YoZSx0LG4sdTQoKSl9ZnVuY3Rpb24gb3YoZSx0LG4scil7dmFyIGw9e2xhbmU6cixyZXZlcnRMYW5lOjAsZ2VzdHVyZTpudWxsLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYob2IoZSkpb3codCxsKTtlbHNle3ZhciBhPWUuYWx0ZXJuYXRlO2lmKDA9PT1lLmxhbmVzJiYobnVsbD09PWF8fDA9PT1hLmxhbmVzKSYmbnVsbCE9PShhPXQubGFzdFJlbmRlcmVkUmVkdWNlcikpdHJ5e3ZhciBvPXQubGFzdFJlbmRlcmVkU3RhdGUsaT1hKG8sbik7aWYobC5oYXNFYWdlclN0YXRlPSEwLGwuZWFnZXJTdGF0ZT1pLG5BKGksbykpcmV0dXJuIHJjKGUsdCxsLDApLG51bGw9PT11RSYmcnMoKSwhMX1jYXRjaChlKXt9ZmluYWxseXt9aWYobnVsbCE9PShuPXJmKGUsdCxsLHIpKSlyZXR1cm4gdTYobixlLHIpLG9rKG4sdCxyKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBveShlLHQsbixyKXtpZihyPXtsYW5lOjIscmV2ZXJ0TGFuZTpzJCgpLGdlc3R1cmU6bnVsbCxhY3Rpb246cixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LG9iKGUpKXtpZih0KXRocm93IEVycm9yKHUoNDc5KSl9ZWxzZSBudWxsIT09KHQ9cmYoZSxuLHIsMikpJiZ1Nih0LGUsMil9ZnVuY3Rpb24gb2IoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1hYXx8bnVsbCE9PXQmJnQ9PT1hYX1mdW5jdGlvbiBvdyhlLHQpe2FzPWF1PSEwO3ZhciBuPWUucGVuZGluZztudWxsPT09bj90Lm5leHQ9dDoodC5uZXh0PW4ubmV4dCxuLm5leHQ9dCksZS5wZW5kaW5nPXR9ZnVuY3Rpb24gb2soZSx0LG4pe2lmKDAhPSg0MTk0MDQ4Jm4pKXt2YXIgcj10LmxhbmVzO3ImPWUucGVuZGluZ0xhbmVzLHQubGFuZXM9bnw9cixlaihlLG4pfX12YXIgb1M9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazphaCx1c2VDb250ZXh0OmFoLHVzZUVmZmVjdDphaCx1c2VJbXBlcmF0aXZlSGFuZGxlOmFoLHVzZUxheW91dEVmZmVjdDphaCx1c2VJbnNlcnRpb25FZmZlY3Q6YWgsdXNlTWVtbzphaCx1c2VSZWR1Y2VyOmFoLHVzZVJlZjphaCx1c2VTdGF0ZTphaCx1c2VEZWJ1Z1ZhbHVlOmFoLHVzZURlZmVycmVkVmFsdWU6YWgsdXNlVHJhbnNpdGlvbjphaCx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphaCx1c2VJZDphaCx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czphaCx1c2VGb3JtU3RhdGU6YWgsdXNlQWN0aW9uU3RhdGU6YWgsdXNlT3B0aW1pc3RpYzphaCx1c2VNZW1vQ2FjaGU6YWgsdXNlQ2FjaGVSZWZyZXNoOmFofTtvUy51c2VFZmZlY3RFdmVudD1haDt2YXIgb0U9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9W2Usdm9pZCAwPT09dD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6bHQsdXNlRWZmZWN0OmE0LHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24oZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTIoNDE5NDMwOCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYTIoNDE5NDMwOCw0LGUsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLHQpe2EyKDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIG49YXgoKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPWUoKTtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPVtyLHRdLHJ9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWF4KCk7aWYodm9pZCAwIT09bil2YXIgbD1uKHQpO2Vsc2UgbD10O3JldHVybiByLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bCxyLnF1ZXVlPWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOmx9LGU9ZS5kaXNwYXRjaD1vaC5iaW5kKG51bGwsYWEsZSksW3IubWVtb2l6ZWRTdGF0ZSxlXX0sdXNlUmVmOmZ1bmN0aW9uKGUpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9e2N1cnJlbnQ6ZX19LHVzZVN0YXRlOmZ1bmN0aW9uKGUpe3ZhciB0PShlPWFVKGUpKS5xdWV1ZSxuPW9nLmJpbmQobnVsbCxhYSx0KTtyZXR1cm4gdC5kaXNwYXRjaD1uLFtlLm1lbW9pemVkU3RhdGUsbl19LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBvbChheCgpLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hVSghMSk7cmV0dXJuIGU9b28uYmluZChudWxsLGFhLGUucXVldWUsITAsITEpLGF4KCkubWVtb2l6ZWRTdGF0ZT1lLFshMSxlXX0sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWFhLGw9YXgoKTtpZihyJCl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcih1KDQwNykpO249bigpfWVsc2V7aWYobj10KCksbnVsbD09PXVFKXRocm93IEVycm9yKHUoMzQ5KSk7MCE9KDEyNyZ1Xyl8fGFJKHIsdCxuKX1sLm1lbW9pemVkU3RhdGU9bjt2YXIgYT17dmFsdWU6bixnZXRTbmFwc2hvdDp0fTtyZXR1cm4gbC5xdWV1ZT1hLGE0KGFGLmJpbmQobnVsbCxyLGEsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhRC5iaW5kKG51bGwscixhLG4sdCksbnVsbCksbn0sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgZT1heCgpLHQ9dUUuaWRlbnRpZmllclByZWZpeDtpZihyJCl7dmFyIG49ckQscj1ySTt0PSJfIit0KyJSXyIrKG49KHImfigxPDwzMi1lUChyKS0xKSkudG9TdHJpbmcoMzIpK24pLDA8KG49YWYrKykmJih0Kz0iSCIrbi50b1N0cmluZygzMikpLHQrPSJfIn1lbHNlIHQ9Il8iK3QrInJfIisobj1hbSsrKS50b1N0cmluZygzMikrIl8iO3JldHVybiBlLm1lbW9pemVkU3RhdGU9dH0sdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFYLHVzZUFjdGlvblN0YXRlOmFYLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSl7dmFyIHQ9YXgoKTt0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9ZTt2YXIgbj17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOm51bGwsbGFzdFJlbmRlcmVkU3RhdGU6bnVsbH07cmV0dXJuIHQucXVldWU9bix0PW95LmJpbmQobnVsbCxhYSwhMCxuKSxuLmRpc3BhdGNoPXQsW2UsdF19LHVzZU1lbW9DYWNoZTphVCx1c2VDYWNoZVJlZnJlc2g6ZnVuY3Rpb24oKXtyZXR1cm4gYXgoKS5tZW1vaXplZFN0YXRlPW9tLmJpbmQobnVsbCxhYSl9LHVzZUVmZmVjdEV2ZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWF4KCksbj17aW1wbDplfTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPW4sZnVuY3Rpb24oKXtpZigwIT0oMiZ1UykpdGhyb3cgRXJyb3IodSg0NDApKTtyZXR1cm4gbi5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LG94PXtyZWFkQ29udGV4dDpsdCx1c2U6YUMsdXNlQ2FsbGJhY2s6b24sdXNlQ29udGV4dDpsdCx1c2VFZmZlY3Q6YTgsdXNlSW1wZXJhdGl2ZUhhbmRsZTpvZSx1c2VJbnNlcnRpb25FZmZlY3Q6YTYsdXNlTGF5b3V0RWZmZWN0OmE5LHVzZU1lbW86b3IsdXNlUmVkdWNlcjpheix1c2VSZWY6YTEsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYXooYU8pfSx1c2VEZWJ1Z1ZhbHVlOm90LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gb2EoYV8oKSxhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1heihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFHLHVzZUFjdGlvblN0YXRlOmFHLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYUIoYV8oKSxhbyxlLHQpfSx1c2VNZW1vQ2FjaGU6YVQsdXNlQ2FjaGVSZWZyZXNoOm9wfTtveC51c2VFZmZlY3RFdmVudD1hNTt2YXIgb189e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpvbix1c2VDb250ZXh0Omx0LHVzZUVmZmVjdDphOCx1c2VJbXBlcmF0aXZlSGFuZGxlOm9lLHVzZUluc2VydGlvbkVmZmVjdDphNix1c2VMYXlvdXRFZmZlY3Q6YTksdXNlTWVtbzpvcix1c2VSZWR1Y2VyOmFSLHVzZVJlZjphMSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBhUihhTyl9LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPWFfKCk7cmV0dXJuIG51bGw9PT1hbz9vbChuLGUsdCk6b2Eobixhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hUihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFaLHVzZUFjdGlvblN0YXRlOmFaLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hXygpO3JldHVybiBudWxsIT09YW8/YUIobixhbyxlLHQpOihuLmJhc2VTdGF0ZT1lLFtlLG4ucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOmFULHVzZUNhY2hlUmVmcmVzaDpvcH07ZnVuY3Rpb24gb1AoZSx0LG4scil7bj1udWxsPT0obj1uKHIsdD1lLm1lbW9pemVkU3RhdGUpKT90Ongoe30sdCxuKSxlLm1lbW9pemVkU3RhdGU9biwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPW4pfW9fLnVzZUVmZmVjdEV2ZW50PWE1O3ZhciBvTj17ZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnBheWxvYWQ9dCxudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KHQ9bCQoZSxsLHIpKSYmKHU2KHQsZSxyKSxsUSh0LGUscikpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnRhZz0xLGwucGF5bG9hZD10LG51bGwhPW4mJihsLmNhbGxiYWNrPW4pLG51bGwhPT0odD1sJChlLGwscikpJiYodTYodCxlLHIpLGxRKHQsZSxyKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLHQpe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIG49dTQoKSxyPWxIKG4pO3IudGFnPTIsbnVsbCE9dCYmKHIuY2FsbGJhY2s9dCksbnVsbCE9PSh0PWwkKGUscixuKSkmJih1Nih0LGUsbiksbFEodCxlLG4pKX19O2Z1bmN0aW9uIG9DKGUsdCxuLHIsbCxhLG8pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZihlPWUuc3RhdGVOb2RlKS5zaG91bGRDb21wb25lbnRVcGRhdGU/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUocixhLG8pOiF0LnByb3RvdHlwZXx8IXQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50fHwhbmoobixyKXx8IW5qKGwsYSl9ZnVuY3Rpb24gb1QoZSx0LG4scil7ZT10LnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sciksdC5zdGF0ZSE9PWUmJm9OLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIG9PKGUsdCl7dmFyIG49dDtpZigicmVmImluIHQpZm9yKHZhciByIGluIG49e30sdCkicmVmIiE9PXImJihuW3JdPXRbcl0pO2lmKGU9ZS5kZWZhdWx0UHJvcHMpZm9yKHZhciBsIGluIG49PT10JiYobj14KHt9LG4pKSxlKXZvaWQgMD09PW5bbF0mJihuW2xdPWVbbF0pO3JldHVybiBufWZ1bmN0aW9uIG96KGUpe3JhKGUpfWZ1bmN0aW9uIG9MKGUpe2NvbnNvbGUuZXJyb3IoZSl9ZnVuY3Rpb24gb1IoZSl7cmEoZSl9ZnVuY3Rpb24gb00oZSx0KXt0cnl7KDAsZS5vblVuY2F1Z2h0RXJyb3IpKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOnQuc3RhY2t9KX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX1mdW5jdGlvbiBvSShlLHQsbil7dHJ5eygwLGUub25DYXVnaHRFcnJvcikobi52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bi5zdGFjayxlcnJvckJvdW5kYXJ5OjE9PT10LnRhZz90LnN0YXRlTm9kZTpudWxsfSl9Y2F0Y2goZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9KX19ZnVuY3Rpb24gb0QoZSx0LG4pe3JldHVybihuPWxIKG4pKS50YWc9MyxuLnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH0sbi5jYWxsYmFjaz1mdW5jdGlvbigpe29NKGUsdCl9LG59ZnVuY3Rpb24gb0YoZSl7cmV0dXJuKGU9bEgoZSkpLnRhZz0zLGV9ZnVuY3Rpb24gb0EoZSx0LG4scil7dmFyIGw9bi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZigiZnVuY3Rpb24iPT10eXBlb2YgbCl7dmFyIGE9ci52YWx1ZTtlLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbChhKX0sZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKX19dmFyIG89bi5zdGF0ZU5vZGU7bnVsbCE9PW8mJiJmdW5jdGlvbiI9PXR5cGVvZiBvLmNvbXBvbmVudERpZENhdGNoJiYoZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKSwiZnVuY3Rpb24iIT10eXBlb2YgbCYmKG51bGw9PT11UT91UT1uZXcgU2V0KFt0aGlzXSk6dVEuYWRkKHRoaXMpKTt2YXIgZT1yLnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2goci52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bnVsbCE9PWU/ZToiIn0pfSl9dmFyIG9qPUVycm9yKHUoNDYxKSksb1U9ITE7ZnVuY3Rpb24gb0IoZSx0LG4scil7dC5jaGlsZD1udWxsPT09ZT9saih0LG51bGwsbixyKTpsQSh0LGUuY2hpbGQsbixyKX1mdW5jdGlvbiBvVihlLHQsbixyLGwpe249bi5yZW5kZXI7dmFyIGE9dC5yZWY7aWYoInJlZiJpbiByKXt2YXIgbz17fTtmb3IodmFyIGkgaW4gcikicmVmIiE9PWkmJihvW2ldPXJbaV0pfWVsc2Ugbz1yO3JldHVybihsZSh0KSxyPWF2KGUsdCxuLG8sYSxsKSxpPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJmkmJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbCksdC5jaGlsZCk6KGFTKGUsdCxsKSxpbChlLHQsbCkpfWZ1bmN0aW9uIG9IKGUsdCxuLHIsbCl7aWYobnVsbD09PWUpe3ZhciBhPW4udHlwZTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgYXx8cnkoYSl8fHZvaWQgMCE9PWEuZGVmYXVsdFByb3BzfHxudWxsIT09bi5jb21wYXJlPygoZT1yayhuLnR5cGUsbnVsbCxyLHQsdC5tb2RlLGwpKS5yZWY9dC5yZWYsZS5yZXR1cm49dCx0LmNoaWxkPWUpOih0LnRhZz0xNSx0LnR5cGU9YSxvJChlLHQsYSxyLGwpKX1pZihhPWUuY2hpbGQsIWlhKGUsbCkpe3ZhciBvPWEubWVtb2l6ZWRQcm9wcztpZigobj1udWxsIT09KG49bi5jb21wYXJlKT9uOm5qKShvLHIpJiZlLnJlZj09PXQucmVmKXJldHVybiBpbChlLHQsbCl9cmV0dXJuIHQuZmxhZ3N8PTEsKGU9cmIoYSxyKSkucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lfWZ1bmN0aW9uIG8kKGUsdCxuLHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihuaihhLHIpJiZlLnJlZj09PXQucmVmKWlmKG9VPSExLHQucGVuZGluZ1Byb3BzPXI9YSwhaWEoZSxsKSlyZXR1cm4gdC5sYW5lcz1lLmxhbmVzLGlsKGUsdCxsKTtlbHNlIDAhPSgxMzEwNzImZS5mbGFncykmJihvVT0hMCl9cmV0dXJuIG9ZKGUsdCxuLHIsbCl9ZnVuY3Rpb24gb1EoZSx0LG4scil7dmFyIGw9ci5jaGlsZHJlbixhPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKG51bGw9PT1lJiZudWxsPT09dC5zdGF0ZU5vZGUmJih0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksImhpZGRlbiI9PT1yLm1vZGUpe2lmKDAhPSgxMjgmdC5mbGFncykpe2lmKGE9bnVsbCE9PWE/YS5iYXNlTGFuZXN8bjpuLG51bGwhPT1lKXtmb3IobD0wLHI9dC5jaGlsZD1lLmNoaWxkO251bGwhPT1yOylsPWx8ci5sYW5lc3xyLmNoaWxkTGFuZXMscj1yLnNpYmxpbmc7cj1sJn5hfWVsc2Ugcj0wLHQuY2hpbGQ9bnVsbDtyZXR1cm4gb3EoZSx0LGEsbixyKX1pZigwPT0oMHgyMDAwMDAwMCZuKSlyZXR1cm4gcj10LmxhbmVzPTB4MjAwMDAwMDAsb3EoZSx0LG51bGwhPT1hP2EuYmFzZUxhbmVzfG46bixuLHIpO3QubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LG51bGwhPT1lJiZsdyh0LG51bGwhPT1hP2EuY2FjaGVQb29sOm51bGwpLG51bGwhPT1hP2wwKHQsYSk6bDEoKSxsNih0KX1lbHNlIG51bGwhPT1hPyhsdyh0LGEuY2FjaGVQb29sKSxsMCh0LGEpLGw5KCksdC5tZW1vaXplZFN0YXRlPW51bGwpOihudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw5KCkpO3JldHVybiBvQihlLHQsbCxuKSx0LmNoaWxkfWZ1bmN0aW9uIG9XKGUsdCl7cmV0dXJuIG51bGwhPT1lJiYyMj09PWUudGFnfHxudWxsIT09dC5zdGF0ZU5vZGV8fCh0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksdC5zaWJsaW5nfWZ1bmN0aW9uIG9xKGUsdCxuLHIsbCl7dmFyIGE9bGIoKTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6bixjYWNoZVBvb2w6YT1udWxsPT09YT9udWxsOntwYXJlbnQ6bGkuX2N1cnJlbnRWYWx1ZSxwb29sOmF9fSxudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw2KHQpLG51bGwhPT1lJiZyOShlLHQsciwhMCksdC5jaGlsZExhbmVzPWwsbnVsbH1mdW5jdGlvbiBvSyhlLHQpe3JldHVybih0PW81KHttb2RlOnQubW9kZSxjaGlsZHJlbjp0LmNoaWxkcmVufSxlLm1vZGUpKS5yZWY9ZS5yZWYsZS5jaGlsZD10LHQucmV0dXJuPWUsdH1mdW5jdGlvbiBvWChlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9b0sodCx0LnBlbmRpbmdQcm9wcyksZS5mbGFnc3w9MixsNyh0KSx0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG9HKGUsdCl7dmFyIG49dC5yZWY7aWYobnVsbD09PW4pbnVsbCE9PWUmJm51bGwhPT1lLnJlZiYmKHQuZmxhZ3N8PTQxOTQ4MTYpO2Vsc2V7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4mJiJvYmplY3QiIT10eXBlb2Ygbil0aHJvdyBFcnJvcih1KDI4NCkpOyhudWxsPT09ZXx8ZS5yZWYhPT1uKSYmKHQuZmxhZ3N8PTQxOTQ4MTYpfX1mdW5jdGlvbiBvWShlLHQsbixyLGwpe3JldHVybihsZSh0KSxuPWF2KGUsdCxuLHIsdm9pZCAwLGwpLHI9YWsoKSxudWxsPT09ZXx8b1UpPyhyJCYmciYmcmoodCksdC5mbGFnc3w9MSxvQihlLHQsbixsKSx0LmNoaWxkKTooYVMoZSx0LGwpLGlsKGUsdCxsKSl9ZnVuY3Rpb24gb0ooZSx0LG4scixsLGEpe3JldHVybihsZSh0KSx0LnVwZGF0ZVF1ZXVlPW51bGwsbj1hYih0LHIsbixsKSxheShlKSxyPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJnImJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LG4sYSksdC5jaGlsZCk6KGFTKGUsdCxhKSxpbChlLHQsYSkpfWZ1bmN0aW9uIG9aKGUsdCxuLHIsbCl7aWYobGUodCksbnVsbD09PXQuc3RhdGVOb2RlKXt2YXIgYT1yaCxvPW4uY29udGV4dFR5cGU7Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09byYmKGE9bHQobykpLHQubWVtb2l6ZWRTdGF0ZT1udWxsIT09KGE9bmV3IG4ocixhKSkuc3RhdGUmJnZvaWQgMCE9PWEuc3RhdGU/YS5zdGF0ZTpudWxsLGEudXBkYXRlcj1vTix0LnN0YXRlTm9kZT1hLGEuX3JlYWN0SW50ZXJuYWxzPXQsKGE9dC5zdGF0ZU5vZGUpLnByb3BzPXIsYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsYS5yZWZzPXt9LGxCKHQpLG89bi5jb250ZXh0VHlwZSxhLmNvbnRleHQ9Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09bz9sdChvKTpyaCxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2Yobz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihvUCh0LG4sbyxyKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwobz1hLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudCYmYS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxvIT09YS5zdGF0ZSYmb04uZW5xdWV1ZVJlcGxhY2VTdGF0ZShhLGEuc3RhdGUsbnVsbCksbFgodCxyLGEsbCksbEsoKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSxyPSEwfWVsc2UgaWYobnVsbD09PWUpe2E9dC5zdGF0ZU5vZGU7dmFyIGk9dC5tZW1vaXplZFByb3BzLHU9b08obixpKTthLnByb3BzPXU7dmFyIHM9YS5jb250ZXh0LGM9bi5jb250ZXh0VHlwZTtvPXJoLCJvYmplY3QiPT10eXBlb2YgYyYmbnVsbCE9PWMmJihvPWx0KGMpKTt2YXIgZj1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztjPSJmdW5jdGlvbiI9PXR5cGVvZiBmfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSxpPXQucGVuZGluZ1Byb3BzIT09aSxjfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KGl8fHMhPT1vKSYmb1QodCxhLHIsbyksbFU9ITE7dmFyIGQ9dC5tZW1vaXplZFN0YXRlO2Euc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpLHM9dC5tZW1vaXplZFN0YXRlLGl8fGQhPT1zfHxsVT8oImZ1bmN0aW9uIj09dHlwZW9mIGYmJihvUCh0LG4sZixyKSxzPXQubWVtb2l6ZWRTdGF0ZSksKHU9bFV8fG9DKHQsbix1LHIsZCxzLG8pKT8oY3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwoImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50JiZhLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpKTooImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSx0Lm1lbW9pemVkUHJvcHM9cix0Lm1lbW9pemVkU3RhdGU9cyksYS5wcm9wcz1yLGEuc3RhdGU9cyxhLmNvbnRleHQ9byxyPXUpOigiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpLHI9ITEpfWVsc2V7YT10LnN0YXRlTm9kZSxsVihlLHQpLGM9b08obixvPXQubWVtb2l6ZWRQcm9wcyksYS5wcm9wcz1jLGY9dC5wZW5kaW5nUHJvcHMsZD1hLmNvbnRleHQscz1uLmNvbnRleHRUeXBlLHU9cmgsIm9iamVjdCI9PXR5cGVvZiBzJiZudWxsIT09cyYmKHU9bHQocykpLChzPSJmdW5jdGlvbiI9PXR5cGVvZihpPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09dSkmJm9UKHQsYSxyLHUpLGxVPSExLGQ9dC5tZW1vaXplZFN0YXRlLGEuc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpO3ZhciBwPXQubWVtb2l6ZWRTdGF0ZTtvIT09Znx8ZCE9PXB8fGxVfHxudWxsIT09ZSYmbnVsbCE9PWUuZGVwZW5kZW5jaWVzJiZyNyhlLmRlcGVuZGVuY2llcyk/KCJmdW5jdGlvbiI9PXR5cGVvZiBpJiYob1AodCxuLGkscikscD10Lm1lbW9pemVkU3RhdGUpLChjPWxVfHxvQyh0LG4sYyxyLGQscCx1KXx8bnVsbCE9PWUmJm51bGwhPT1lLmRlcGVuZGVuY2llcyYmcjcoZS5kZXBlbmRlbmNpZXMpKT8oc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxVcGRhdGV8fCgiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlJiZhLmNvbXBvbmVudFdpbGxVcGRhdGUocixwLHUpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIscCx1KSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlJiYodC5mbGFnc3w9NCksImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUmJih0LmZsYWdzfD0xMDI0KSk6KCJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPXApLGEucHJvcHM9cixhLnN0YXRlPXAsYS5jb250ZXh0PXUscj1jKTooImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksImZ1bmN0aW9uIiE9dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSxyPSExKX1yZXR1cm4gYT1yLG9HKGUsdCkscj0wIT0oMTI4JnQuZmxhZ3MpLGF8fHI/KGE9dC5zdGF0ZU5vZGUsbj1yJiYiZnVuY3Rpb24iIT10eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDphLnJlbmRlcigpLHQuZmxhZ3N8PTEsbnVsbCE9PWUmJnI/KHQuY2hpbGQ9bEEodCxlLmNoaWxkLG51bGwsbCksdC5jaGlsZD1sQSh0LG51bGwsbixsKSk6b0IoZSx0LG4sbCksdC5tZW1vaXplZFN0YXRlPWEuc3RhdGUsZT10LmNoaWxkKTplPWlsKGUsdCxsKSxlfWZ1bmN0aW9uIG8wKGUsdCxuLHIpe3JldHVybiBySigpLHQuZmxhZ3N8PTI1NixvQihlLHQsbixyKSx0LmNoaWxkfXZhciBvMT17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjAsaHlkcmF0aW9uRXJyb3JzOm51bGx9O2Z1bmN0aW9uIG8yKGUpe3JldHVybntiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6bGsoKX19ZnVuY3Rpb24gbzMoZSx0LG4pe3JldHVybiBlPW51bGwhPT1lP2UuY2hpbGRMYW5lcyZ+bjowLHQmJihlfD11RCksZX1mdW5jdGlvbiBvNChlLHQsbil7dmFyIHIsbD10LnBlbmRpbmdQcm9wcyxhPSExLG89MCE9KDEyOCZ0LmZsYWdzKTtpZigocj1vKXx8KHI9KG51bGw9PT1lfHxudWxsIT09ZS5tZW1vaXplZFN0YXRlKSYmMCE9KDImYWUuY3VycmVudCkpLHImJihhPSEwLHQuZmxhZ3MmPS0xMjkpLHI9MCE9KDMyJnQuZmxhZ3MpLHQuZmxhZ3MmPS0zMyxudWxsPT09ZSl7aWYociQpe2lmKGE/bDgodCk6bDkoKSwoZT1ySCk/bnVsbCE9PShlPW51bGwhPT0oZT1jVihlLHJXKSkmJiImIiE9PWUuZGF0YT9lOm51bGwpJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmUsdHJlZUNvbnRleHQ6bnVsbCE9PXJNP3tpZDpySSxvdmVyZmxvdzpyRH06bnVsbCxyZXRyeUxhbmU6MHgyMDAwMDAwMCxoeWRyYXRpb25FcnJvcnM6bnVsbH0sKG49cngoZSkpLnJldHVybj10LHQuY2hpbGQ9bixyVj10LHJIPW51bGwpOmU9bnVsbCxudWxsPT09ZSl0aHJvdyBySyh0KTtyZXR1cm4gYyQoZSk/dC5sYW5lcz0zMjp0LmxhbmVzPTB4MjAwMDAwMDAsbnVsbH12YXIgaT1sLmNoaWxkcmVuO3JldHVybihsPWwuZmFsbGJhY2ssYSk/KGw5KCksaT1vNSh7bW9kZToiaGlkZGVuIixjaGlsZHJlbjppfSxhPXQubW9kZSksbD1yUyhsLGEsbixudWxsKSxpLnJldHVybj10LGwucmV0dXJuPXQsaS5zaWJsaW5nPWwsdC5jaGlsZD1pLChsPXQuY2hpbGQpLm1lbW9pemVkU3RhdGU9bzIobiksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1cobnVsbCxsKSk6KGw4KHQpLG84KHQsaSkpfXZhciBzPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09cyYmbnVsbCE9PShpPXMuZGVoeWRyYXRlZCkpe2lmKG8pMjU2JnQuZmxhZ3M/KGw4KHQpLHQuZmxhZ3MmPS0yNTcsdD1vNihlLHQsbikpOm51bGwhPT10Lm1lbW9pemVkU3RhdGU/KGw5KCksdC5jaGlsZD1lLmNoaWxkLHQuZmxhZ3N8PTEyOCx0PW51bGwpOihsOSgpLGk9bC5mYWxsYmFjayxhPXQubW9kZSxsPW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSxhKSxpPXJTKGksYSxuLG51bGwpLGkuZmxhZ3N8PTIsbC5yZXR1cm49dCxpLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxsQSh0LGUuY2hpbGQsbnVsbCxuKSwobD10LmNoaWxkKS5tZW1vaXplZFN0YXRlPW8yKG4pLGwuY2hpbGRMYW5lcz1vMyhlLHIsbiksdC5tZW1vaXplZFN0YXRlPW8xLHQ9b1cobnVsbCxsKSk7ZWxzZSBpZihsOCh0KSxjJChpKSl7aWYocj1pLm5leHRTaWJsaW5nJiZpLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGM9ci5kZ3N0O3I9YywobD1FcnJvcih1KDQxOSkpKS5zdGFjaz0iIixsLmRpZ2VzdD1yLHIwKHt2YWx1ZTpsLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSx0PW82KGUsdCxuKX1lbHNlIGlmKG9VfHxyOShlLHQsbiwhMSkscj0wIT0obiZlLmNoaWxkTGFuZXMpLG9VfHxyKXtpZihudWxsIT09KHI9dUUpJiYwIT09KGw9ZVUocixuKSkmJmwhPT1zLnJldHJ5TGFuZSl0aHJvdyBzLnJldHJ5TGFuZT1sLHJkKGUsbCksdTYocixlLGwpLG9qO2NIKGkpfHxzdSgpLHQ9bzYoZSx0LG4pfWVsc2UgY0goaSk/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWUuY2hpbGQsdD1udWxsKTooZT1zLnRyZWVDb250ZXh0LHJIPWNRKGkubmV4dFNpYmxpbmcpLHJWPXQsciQ9ITAsclE9bnVsbCxyVz0hMSxudWxsIT09ZSYmckIodCxlKSx0PW84KHQsbC5jaGlsZHJlbiksdC5mbGFnc3w9NDA5Nik7cmV0dXJuIHR9cmV0dXJuIGE/KGw5KCksaT1sLmZhbGxiYWNrLGE9dC5tb2RlLGM9KHM9ZS5jaGlsZCkuc2libGluZywobD1yYihzLHttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOmwuY2hpbGRyZW59KSkuc3VidHJlZUZsYWdzPTB4N2UwMDAwMCZzLnN1YnRyZWVGbGFncyxudWxsIT09Yz9pPXJiKGMsaSk6KGk9clMoaSxhLG4sbnVsbCksaS5mbGFnc3w9MiksaS5yZXR1cm49dCxsLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxvVyhudWxsLGwpLGw9dC5jaGlsZCxudWxsPT09KGk9ZS5jaGlsZC5tZW1vaXplZFN0YXRlKT9pPW8yKG4pOihudWxsIT09KGE9aS5jYWNoZVBvb2wpPyhzPWxpLl9jdXJyZW50VmFsdWUsYT1hLnBhcmVudCE9PXM/e3BhcmVudDpzLHBvb2w6c306YSk6YT1saygpLGk9e2Jhc2VMYW5lczppLmJhc2VMYW5lc3xuLGNhY2hlUG9vbDphfSksbC5tZW1vaXplZFN0YXRlPWksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1coZS5jaGlsZCxsKSk6KGw4KHQpLGU9KG49ZS5jaGlsZCkuc2libGluZywobj1yYihuLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSkpLnJldHVybj10LG4uc2libGluZz1udWxsLG51bGwhPT1lJiYobnVsbD09PShyPXQuZGVsZXRpb25zKT8odC5kZWxldGlvbnM9W2VdLHQuZmxhZ3N8PTE2KTpyLnB1c2goZSkpLHQuY2hpbGQ9bix0Lm1lbW9pemVkU3RhdGU9bnVsbCxuKX1mdW5jdGlvbiBvOChlLHQpe3JldHVybih0PW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxlLm1vZGUpKS5yZXR1cm49ZSxlLmNoaWxkPXR9ZnVuY3Rpb24gbzUoZSx0KXtyZXR1cm4oZT1ydigyMixlLG51bGwsdCkpLmxhbmVzPTAsZX1mdW5jdGlvbiBvNihlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9bzgodCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG85KGUsdCxuKXtlLmxhbmVzfD10O3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9dCkscjUoZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBvNyhlKXtmb3IodmFyIHQ9bnVsbDtudWxsIT09ZTspe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiZudWxsPT09YXIobikmJih0PWUpLGU9ZS5zaWJsaW5nfXJldHVybiB0fWZ1bmN0aW9uIGllKGUsdCxuLHIsbCxhKXt2YXIgbz1lLm1lbW9pemVkU3RhdGU7bnVsbD09PW8/ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6cix0YWlsOm4sdGFpbE1vZGU6bCx0cmVlRm9ya0NvdW50OmF9OihvLmlzQmFja3dhcmRzPXQsby5yZW5kZXJpbmc9bnVsbCxvLnJlbmRlcmluZ1N0YXJ0VGltZT0wLG8ubGFzdD1yLG8udGFpbD1uLG8udGFpbE1vZGU9bCxvLnRyZWVGb3JrQ291bnQ9YSl9ZnVuY3Rpb24gaXQoZSl7dmFyIHQ9ZS5jaGlsZDtmb3IoZS5jaGlsZD1udWxsO251bGwhPT10Oyl7dmFyIG49dC5zaWJsaW5nO3Quc2libGluZz1lLmNoaWxkLGUuY2hpbGQ9dCx0PW59fWZ1bmN0aW9uIGlyKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7cj1yLmNoaWxkcmVuO3ZhciBvPWFlLmN1cnJlbnQ7aWYoMTI4JnQuZmxhZ3MpcmV0dXJuIGF0KHQsbyksbnVsbDt2YXIgaT0wIT0oMiZvKTtpZihpPyhvPTEmb3wyLHQuZmxhZ3N8PTEyOCk6byY9MSxhdCh0LG8pLCJiYWNrd2FyZHMiPT09bCYmbnVsbCE9PWU/KGl0KGUpLG9CKGUsdCxyLG4pLGl0KGUpKTpvQihlLHQscixuKSxyPXIkP3J6OjAsIWkmJm51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWU6Zm9yKGU9dC5jaGlsZDtudWxsIT09ZTspe2lmKDEzPT09ZS50YWcpbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbzkoZSxuLHQpO2Vsc2UgaWYoMTk9PT1lLnRhZylvOShlLG4sdCk7ZWxzZSBpZihudWxsIT09ZS5jaGlsZCl7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGQ7Y29udGludWV9aWYoZT09PXQpYnJlYWs7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PXQpYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9c3dpdGNoKGwpe2Nhc2UiYmFja3dhcmRzIjpudWxsPT09KG49bzcodC5jaGlsZCkpPyhsPXQuY2hpbGQsdC5jaGlsZD1udWxsKToobD1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwsaXQodCkpLGllKHQsITAsbCxudWxsLGEscik7YnJlYWs7Y2FzZSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzIjpmb3Iobj1udWxsLGw9dC5jaGlsZCx0LmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09YXIoZSkpe3QuY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9bixuPWwsbD1lfWllKHQsITAsbixudWxsLGEscik7YnJlYWs7Y2FzZSJ0b2dldGhlciI6aWUodCwhMSxudWxsLG51bGwsdm9pZCAwLHIpO2JyZWFrO2Nhc2UiaW5kZXBlbmRlbnQiOnQubWVtb2l6ZWRTdGF0ZT1udWxsO2JyZWFrO2RlZmF1bHQ6bnVsbD09PShuPW83KHQuY2hpbGQpKT8obD10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGw9bi5zaWJsaW5nLG4uc2libGluZz1udWxsKSxpZSh0LCExLGwsbixhLHIpfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIGlsKGUsdCxuKXtpZihudWxsIT09ZSYmKHQuZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSx1Unw9dC5sYW5lcywwPT0obiZ0LmNoaWxkTGFuZXMpKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtlbHNlIGlmKHI5KGUsdCxuLCExKSwwPT0obiZ0LmNoaWxkTGFuZXMpKXJldHVybiBudWxsfWlmKG51bGwhPT1lJiZ0LmNoaWxkIT09ZS5jaGlsZCl0aHJvdyBFcnJvcih1KDE1MykpO2lmKG51bGwhPT10LmNoaWxkKXtmb3Iobj1yYihlPXQuY2hpbGQsZS5wZW5kaW5nUHJvcHMpLHQuY2hpbGQ9bixuLnJldHVybj10O251bGwhPT1lLnNpYmxpbmc7KWU9ZS5zaWJsaW5nLChuPW4uc2libGluZz1yYihlLGUucGVuZGluZ1Byb3BzKSkucmV0dXJuPXQ7bi5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gaWEoZSx0KXtyZXR1cm4gMCE9KGUubGFuZXMmdCl8fCEhKG51bGwhPT0oZT1lLmRlcGVuZGVuY2llcykmJnI3KGUpKX1mdW5jdGlvbiBpbyhlLHQsbil7aWYobnVsbCE9PWUpaWYoZS5tZW1vaXplZFByb3BzIT09dC5wZW5kaW5nUHJvcHMpb1U9ITA7ZWxzZXtpZighaWEoZSxuKSYmMD09KDEyOCZ0LmZsYWdzKSlyZXR1cm4gb1U9ITEsZnVuY3Rpb24oZSx0LG4pe3N3aXRjaCh0LnRhZyl7Y2FzZSAzOmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHJKKCk7YnJlYWs7Y2FzZSAyNzpjYXNlIDU6ZW8odCk7YnJlYWs7Y2FzZSA0OmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7YnJlYWs7Y2FzZSAxMDpyNCh0LHQudHlwZSx0Lm1lbW9pemVkUHJvcHMudmFsdWUpO2JyZWFrO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSlyZXR1cm4gdC5mbGFnc3w9MTI4LGw1KHQpLG51bGw7YnJlYWs7Y2FzZSAxMzp2YXIgcj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXIpe2lmKG51bGwhPT1yLmRlaHlkcmF0ZWQpcmV0dXJuIGw4KHQpLHQuZmxhZ3N8PTEyOCxudWxsO2lmKDAhPShuJnQuY2hpbGQuY2hpbGRMYW5lcykpcmV0dXJuIG80KGUsdCxuKTtyZXR1cm4gbDgodCksbnVsbCE9PShlPWlsKGUsdCxuKSk/ZS5zaWJsaW5nOm51bGx9bDgodCk7YnJlYWs7Y2FzZSAxOTppZigxMjgmdC5mbGFncylyZXR1cm4gaXIoZSx0LG4pO3ZhciBsPTAhPSgxMjgmZS5mbGFncyk7aWYoKHI9MCE9KG4mdC5jaGlsZExhbmVzKSl8fChyOShlLHQsbiwhMSkscj0wIT0obiZ0LmNoaWxkTGFuZXMpKSxsKXtpZihyKXJldHVybiBpcihlLHQsbik7dC5mbGFnc3w9MTI4fWlmKG51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpJiYobC5yZW5kZXJpbmc9bnVsbCxsLnRhaWw9bnVsbCxsLmxhc3RFZmZlY3Q9bnVsbCksYXQodCxhZS5jdXJyZW50KSwhcilyZXR1cm4gbnVsbDticmVhaztjYXNlIDIyOnJldHVybiB0LmxhbmVzPTAsb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBpbChlLHQsbil9KGUsdCxuKTtvVT0wIT0oMTMxMDcyJmUuZmxhZ3MpfWVsc2Ugb1U9ITEsciQmJjAhPSgxMDQ4NTc2JnQuZmxhZ3MpJiZyQSh0LHJ6LHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6ZTp7dmFyIHI9dC5wZW5kaW5nUHJvcHM7aWYoZT1sQyh0LmVsZW1lbnRUeXBlKSx0LnR5cGU9ZSwiZnVuY3Rpb24iPT10eXBlb2YgZSlyeShlKT8ocj1vTyhlLHIpLHQudGFnPTEsdD1vWihudWxsLHQsZSxyLG4pKToodC50YWc9MCx0PW9ZKG51bGwsdCxlLHIsbikpO2Vsc2V7aWYobnVsbCE9ZSl7dmFyIGw9ZS4kJHR5cGVvZjtpZihsPT09Uil7dC50YWc9MTEsdD1vVihudWxsLHQsZSxyLG4pO2JyZWFrIGV9aWYobD09PUQpe3QudGFnPTE0LHQ9b0gobnVsbCx0LGUscixuKTticmVhayBlfX10aHJvdyBFcnJvcih1KDMwNix0PWZ1bmN0aW9uIGUodCl7aWYobnVsbD09dClyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdC4kJHR5cGVvZj09PSQ/bnVsbDp0LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fG51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O3N3aXRjaCh0KXtjYXNlIEM6cmV0dXJuIkZyYWdtZW50IjtjYXNlIE86cmV0dXJuIlByb2ZpbGVyIjtjYXNlIFQ6cmV0dXJuIlN0cmljdE1vZGUiO2Nhc2UgTTpyZXR1cm4iU3VzcGVuc2UiO2Nhc2UgSTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIEE6cmV0dXJuIkFjdGl2aXR5IjtjYXNlIEI6cmV0dXJuIlZpZXdUcmFuc2l0aW9uIn1pZigib2JqZWN0Ij09dHlwZW9mIHQpc3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgTjpyZXR1cm4iUG9ydGFsIjtjYXNlIEw6cmV0dXJuIHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IjtjYXNlIHo6cmV0dXJuKHQuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBSOnZhciBuPXQucmVuZGVyO3JldHVybih0PXQuZGlzcGxheU5hbWUpfHwodD0iIiE9PSh0PW4uZGlzcGxheU5hbWV8fG4ubmFtZXx8IiIpPyJGb3J3YXJkUmVmKCIrdCsiKSI6IkZvcndhcmRSZWYiKSx0O2Nhc2UgRDpyZXR1cm4gbnVsbCE9PShuPXQuZGlzcGxheU5hbWV8fG51bGwpP246ZSh0LnR5cGUpfHwiTWVtbyI7Y2FzZSBGOm49dC5fcGF5bG9hZCx0PXQuX2luaXQ7dHJ5e3JldHVybiBlKHQobikpfWNhdGNoKGUpe319cmV0dXJuIG51bGx9KGUpfHxlLCIiKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gb1koZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIGw9b08ocj10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLG9aKGUsdCxyLGwsbik7Y2FzZSAzOmU6e2lmKGVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbnVsbD09PWUpdGhyb3cgRXJyb3IodSgzODcpKTtyPXQucGVuZGluZ1Byb3BzO3ZhciBhPXQubWVtb2l6ZWRTdGF0ZTtsPWEuZWxlbWVudCxsVihlLHQpLGxYKHQscixudWxsLG4pO3ZhciBvPXQubWVtb2l6ZWRTdGF0ZTtpZihyNCh0LGxpLHI9by5jYWNoZSksciE9PWEuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSxsSygpLHI9by5lbGVtZW50LGEuaXNEZWh5ZHJhdGVkKWlmKGE9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6ITEsY2FjaGU6by5jYWNoZX0sdC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9YSx0Lm1lbW9pemVkU3RhdGU9YSwyNTYmdC5mbGFncyl7dD1vMChlLHQscixuKTticmVhayBlfWVsc2UgaWYociE9PWwpe3IwKGw9ck4oRXJyb3IodSg0MjQpKSx0KSksdD1vMChlLHQscixuKTticmVhayBlfWVsc2UgZm9yKHJIPWNRKChlPTk9PT0oZT10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmJvZHk6IkhUTUwiPT09ZS5ub2RlTmFtZT9lLm93bmVyRG9jdW1lbnQuYm9keTplKS5maXJzdENoaWxkKSxyVj10LHIkPSEwLHJRPW51bGwsclc9ITAsbj1saih0LG51bGwscixuKSx0LmNoaWxkPW47bjspbi5mbGFncz0tMyZuLmZsYWdzfDQwOTYsbj1uLnNpYmxpbmc7ZWxzZXtpZihySigpLHI9PT1sKXt0PWlsKGUsdCxuKTticmVhayBlfW9CKGUsdCxyLG4pfXQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDI2OnJldHVybiBvRyhlLHQpLG51bGw9PT1lPyhuPWMzKHQudHlwZSxudWxsLHQucGVuZGluZ1Byb3BzLG51bGwpKT90Lm1lbW9pemVkU3RhdGU9bjpyJHx8KG49dC50eXBlLGU9dC5wZW5kaW5nUHJvcHMsKHI9Y3UoZW4uY3VycmVudCkuY3JlYXRlRWxlbWVudChuKSlbZVddPXQscltlcV09ZSxjbChyLG4sZSksZTgociksdC5zdGF0ZU5vZGU9cik6dC5tZW1vaXplZFN0YXRlPWMzKHQudHlwZSxlLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsZS5tZW1vaXplZFN0YXRlKSxudWxsO2Nhc2UgMjc6cmV0dXJuIGVvKHQpLG51bGw9PT1lJiZyJCYmKHI9dC5zdGF0ZU5vZGU9Y1godC50eXBlLHQucGVuZGluZ1Byb3BzLGVuLmN1cnJlbnQpLHJWPXQsclc9ITAsbD1ySCxjeSh0LnR5cGUpPyhjVz1sLHJIPWNRKHIuZmlyc3RDaGlsZCkpOnJIPWwpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxvRyhlLHQpLG51bGw9PT1lJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIG51bGw9PT1lJiZyJCYmKChsPXI9ckgpJiYobnVsbCE9PShyPWZ1bmN0aW9uKGUsdCxuLHIpe2Zvcig7MT09PWUubm9kZVR5cGU7KXtpZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkpe2lmKCFyJiYoIklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSlicmVha31lbHNlIGlmKHIpe2lmKCFlW2VaXSlzd2l0Y2godCl7Y2FzZSJtZXRhIjppZighZS5oYXNBdHRyaWJ1dGUoIml0ZW1wcm9wIikpYnJlYWs7cmV0dXJuIGU7Y2FzZSJsaW5rIjppZigic3R5bGVzaGVldCI9PT0obD1lLmdldEF0dHJpYnV0ZSgicmVsIikpJiZlLmhhc0F0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIil8fGwhPT1uLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShudWxsPT1uLmhyZWZ8fCIiPT09bi5ocmVmP251bGw6bi5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0obnVsbD09bi5jcm9zc09yaWdpbj9udWxsOm4uY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShudWxsPT1uLnRpdGxlP251bGw6bi50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZSJzdHlsZSI6aWYoZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBlO2Nhc2Uic2NyaXB0IjppZigoKGw9ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKSE9PShudWxsPT1uLnNyYz9udWxsOm4uc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShudWxsPT1uLnR5cGU/bnVsbDpuLnR5cGUpfHxlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShudWxsPT1uLmNyb3NzT3JpZ2luP251bGw6bi5jcm9zc09yaWdpbikpJiZsJiZlLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9fWVsc2V7aWYoImlucHV0IiE9PXR8fCJoaWRkZW4iIT09ZS50eXBlKXJldHVybiBlO3ZhciBsPW51bGw9PW4ubmFtZT9udWxsOiIiK24ubmFtZTtpZigiaGlkZGVuIj09PW4udHlwZSYmZS5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PWwpcmV0dXJuIGV9aWYobnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlicmVha31yZXR1cm4gbnVsbH0ocix0LnR5cGUsdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9cixyVj10LHJIPWNRKHIuZmlyc3RDaGlsZCksclc9ITEsbD0hMCk6bD0hMSksbHx8cksodCkpLGVvKHQpLGw9dC50eXBlLGE9dC5wZW5kaW5nUHJvcHMsbz1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bnVsbCxyPWEuY2hpbGRyZW4sY2YobCxhKT9yPW51bGw6bnVsbCE9PW8mJmNmKGwsbykmJih0LmZsYWdzfD0zMiksbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSYmKGZ2Ll9jdXJyZW50VmFsdWU9bD1hdihlLHQsYXcsbnVsbCxudWxsLG4pKSxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmciQmJigoZT1uPXJIKSYmKG51bGwhPT0obj1mdW5jdGlvbihlLHQsbil7aWYoIiI9PT10KXJldHVybiBudWxsO2Zvcig7MyE9PWUubm9kZVR5cGU7KWlmKCgxIT09ZS5ub2RlVHlwZXx8IklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSYmIW58fG51bGw9PT0oZT1jUShlLm5leHRTaWJsaW5nKSkpcmV0dXJuIG51bGw7cmV0dXJuIGV9KG4sdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9bixyVj10LHJIPW51bGwsZT0hMCk6ZT0hMSksZXx8cksodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gbzQoZSx0LG4pO2Nhc2UgNDpyZXR1cm4gZWwodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyPXQucGVuZGluZ1Byb3BzLG51bGw9PT1lP3QuY2hpbGQ9bEEodCxudWxsLHIsbik6b0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDExOnJldHVybiBvVihlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgNzpyZXR1cm4gcj10LnBlbmRpbmdQcm9wcyxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA4OmNhc2UgMTI6cmV0dXJuIG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTA6cmV0dXJuIHI9dC5wZW5kaW5nUHJvcHMscjQodCx0LnR5cGUsci52YWx1ZSksb0IoZSx0LHIuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDk6cmV0dXJuIGw9dC50eXBlLl9jb250ZXh0LHI9dC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbGUodCkscj1yKGw9bHQobCkpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBvSChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTU6cmV0dXJuIG8kKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxOTpyZXR1cm4gaXIoZSx0LG4pO2Nhc2UgMzE6dmFyIGk9ZSxzPXQsYz1uLGY9cy5wZW5kaW5nUHJvcHMsZD0wIT0oMTI4JnMuZmxhZ3MpO2lmKHMuZmxhZ3MmPS0xMjksbnVsbD09PWkpe2lmKHIkKXtpZigiaGlkZGVuIj09PWYubW9kZSlyZXR1cm4gaT1vSyhzLGYpLHMubGFuZXM9MHgyMDAwMDAwMCxvVyhudWxsLGkpO2lmKGw1KHMpLChpPXJIKT9udWxsIT09KGk9bnVsbCE9PShpPWNWKGksclcpKSYmIiYiPT09aS5kYXRhP2k6bnVsbCkmJihzLm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6aSx0cmVlQ29udGV4dDpudWxsIT09ck0/e2lkOnJJLG92ZXJmbG93OnJEfTpudWxsLHJldHJ5TGFuZToweDIwMDAwMDAwLGh5ZHJhdGlvbkVycm9yczpudWxsfSwoYz1yeChpKSkucmV0dXJuPXMscy5jaGlsZD1jLHJWPXMsckg9bnVsbCk6aT1udWxsLG51bGw9PT1pKXRocm93IHJLKHMpO3JldHVybiBzLmxhbmVzPTB4MjAwMDAwMDAsbnVsbH1yZXR1cm4gb0socyxmKX12YXIgcD1pLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXApe3ZhciBtPXAuZGVoeWRyYXRlZDtpZihsNShzKSxkKWlmKDI1NiZzLmZsYWdzKXMuZmxhZ3MmPS0yNTcscz1vWChpLHMsYyk7ZWxzZSBpZihudWxsIT09cy5tZW1vaXplZFN0YXRlKXMuY2hpbGQ9aS5jaGlsZCxzLmZsYWdzfD0xMjgscz1udWxsO2Vsc2UgdGhyb3cgRXJyb3IodSg1NTgpKTtlbHNlIGlmKG9VfHxyOShpLHMsYywhMSksZD0wIT0oYyZpLmNoaWxkTGFuZXMpLG9VfHxkKXtpZihudWxsIT09KGY9dUUpJiYwIT09KG09ZVUoZixjKSkmJm0hPT1wLnJldHJ5TGFuZSl0aHJvdyBwLnJldHJ5TGFuZT1tLHJkKGksbSksdTYoZixpLG0pLG9qO3N1KCkscz1vWChpLHMsYyl9ZWxzZSBpPXAudHJlZUNvbnRleHQsckg9Y1EobS5uZXh0U2libGluZyksclY9cyxyJD0hMCxyUT1udWxsLHJXPSExLG51bGwhPT1pJiZyQihzLGkpLHM9b0socyxmKSxzLmZsYWdzfD00MDk2O3JldHVybiBzfXJldHVybihpPXJiKGkuY2hpbGQse21vZGU6Zi5tb2RlLGNoaWxkcmVuOmYuY2hpbGRyZW59KSkucmVmPXMucmVmLHMuY2hpbGQ9aSxpLnJldHVybj1zLGk7Y2FzZSAyMjpyZXR1cm4gb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cmV0dXJuIGxlKHQpLHI9bHQobGkpLG51bGw9PT1lPyhudWxsPT09KGw9bGIoKSkmJihsPXVFLGE9bHUoKSxsLnBvb2xlZENhY2hlPWEsYS5yZWZDb3VudCsrLG51bGwhPT1hJiYobC5wb29sZWRDYWNoZUxhbmVzfD1uKSxsPWEpLHQubWVtb2l6ZWRTdGF0ZT17cGFyZW50OnIsY2FjaGU6bH0sbEIodCkscjQodCxsaSxsKSk6KDAhPShlLmxhbmVzJm4pJiYobFYoZSx0KSxsWCh0LG51bGwsbnVsbCxuKSxsSygpKSxsPWUubWVtb2l6ZWRTdGF0ZSxhPXQubWVtb2l6ZWRTdGF0ZSxsLnBhcmVudCE9PXI/KGw9e3BhcmVudDpyLGNhY2hlOnJ9LHQubWVtb2l6ZWRTdGF0ZT1sLDA9PT10LmxhbmVzJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWwpLHI0KHQsbGkscikpOihyNCh0LGxpLHI9YS5jYWNoZSksciE9PWwuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSkpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMzA6cmV0dXJuIG51bGwhPShyPXQucGVuZGluZ1Byb3BzKS5uYW1lJiYiYXV0byIhPT1yLm5hbWU/dC5mbGFnc3w9bnVsbD09PWU/MHgxMjAyMDAwOjB4MTIwMDAwMDpyJCYmcmoodCksbnVsbCE9PWUmJmUubWVtb2l6ZWRQcm9wcy5uYW1lIT09ci5uYW1lP3QuZmxhZ3N8PTQxOTQ4MTY6b0coZSx0KSxvQihlLHQsci5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMjk6dGhyb3cgdC5wZW5kaW5nUHJvcHN9dGhyb3cgRXJyb3IodSgxNTYsdC50YWcpKX1mdW5jdGlvbiBpaShlKXtlLmZsYWdzfD00fWZ1bmN0aW9uIGl1KGUsdCxuLHIsbCl7dmFyIGE7aWYoKGE9MCE9KDMyJmUubW9kZSkpJiYoYT1udWxsPT09bj9mbyh0LHIpOmZvKHQscikmJihyLnNyYyE9PW4uc3JjfHxyLnNyY1NldCE9PW4uc3JjU2V0KSksYSl7aWYoZS5mbGFnc3w9MHgxMDAwMDAwLCgweDEzZmZmZjQwJmwpPT09bClpZihlLnN0YXRlTm9kZS5jb21wbGV0ZSllLmZsYWdzfD04MTkyO2Vsc2UgaWYoc2EoKSllLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgbFQ9bF8sbEV9ZWxzZSBlLmZsYWdzJj0tMHgxMDAwMDAxfWZ1bmN0aW9uIGlzKGUsdCl7aWYoInN0eWxlc2hlZXQiIT09dC50eXBlfHwwIT0oNCZ0LnN0YXRlLmxvYWRpbmcpKWUuZmxhZ3MmPS0weDEwMDAwMDE7ZWxzZSBpZihlLmZsYWdzfD0weDEwMDAwMDAsIWZpKHQpKWlmKHNhKCkpZS5mbGFnc3w9ODE5MjtlbHNlIHRocm93IGxUPWxfLGxFfWZ1bmN0aW9uIGljKGUsdCl7bnVsbCE9PXQmJihlLmZsYWdzfD00KSwxNjM4NCZlLmZsYWdzJiYodD0yMiE9PWUudGFnP2VJKCk6MHgyMDAwMDAwMCxlLmxhbmVzfD10LHVGfD10KX1mdW5jdGlvbiBpZChlLHQpe2lmKCFyJClzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJ2aXNpYmxlIjpicmVhaztjYXNlImNvbGxhcHNlZCI6Zm9yKHZhciBuPWUudGFpbCxyPW51bGw7bnVsbCE9PW47KW51bGwhPT1uLmFsdGVybmF0ZSYmKHI9biksbj1uLnNpYmxpbmc7bnVsbD09PXI/dHx8bnVsbD09PWUudGFpbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsO2JyZWFrO2RlZmF1bHQ6Zm9yKG49bnVsbCx0PWUudGFpbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYobj10KSx0PXQuc2libGluZztudWxsPT09bj9lLnRhaWw9bnVsbDpuLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24gaXAoZSl7dmFyIHQ9bnVsbCE9PWUuYWx0ZXJuYXRlJiZlLmFsdGVybmF0ZS5jaGlsZD09PWUuY2hpbGQsbj0wLHI9MDtpZih0KWZvcih2YXIgbD1lLmNoaWxkO251bGwhPT1sOylufD1sLmxhbmVzfGwuY2hpbGRMYW5lcyxyfD0weDdlMDAwMDAmbC5zdWJ0cmVlRmxhZ3Mscnw9MHg3ZTAwMDAwJmwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztlbHNlIGZvcihsPWUuY2hpbGQ7bnVsbCE9PWw7KW58PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PWwuc3VidHJlZUZsYWdzLHJ8PWwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztyZXR1cm4gZS5zdWJ0cmVlRmxhZ3N8PXIsZS5jaGlsZExhbmVzPW4sdH1mdW5jdGlvbiBpbShlLHQpe3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAzOnI4KGxpKSxlYSgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6ZWkodCk7YnJlYWs7Y2FzZSA0OmVhKCk7YnJlYWs7Y2FzZSAzMTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiZsNyh0KTticmVhaztjYXNlIDEzOmw3KHQpO2JyZWFrO2Nhc2UgMTk6YW4odCk7YnJlYWs7Y2FzZSAxMDpyOCh0LnR5cGUpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpsNyh0KSxsMigpLG51bGwhPT1lJiZKKGx5KTticmVhaztjYXNlIDI0OnI4KGxpKX19ZnVuY3Rpb24gaWgoZSx0KXt0cnl7dmFyIG49dC51cGRhdGVRdWV1ZSxyPW51bGwhPT1uP24ubGFzdEVmZmVjdDpudWxsO2lmKG51bGwhPT1yKXt2YXIgbD1yLm5leHQ7bj1sO2Rve2lmKChuLnRhZyZlKT09PWUpe3I9dm9pZCAwO3ZhciBhPW4uY3JlYXRlO24uaW5zdC5kZXN0cm95PXI9YSgpfW49bi5uZXh0fXdoaWxlKG4hPT1sKX19Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19ZnVuY3Rpb24gaWcoZSx0LG4pe3RyeXt2YXIgcj10LnVwZGF0ZVF1ZXVlLGw9bnVsbCE9PXI/ci5sYXN0RWZmZWN0Om51bGw7aWYobnVsbCE9PWwpe3ZhciBhPWwubmV4dDtyPWE7ZG97aWYoKHIudGFnJmUpPT09ZSl7dmFyIG89ci5pbnN0LGk9by5kZXN0cm95O2lmKHZvaWQgMCE9PWkpe28uZGVzdHJveT12b2lkIDAsbD10O3RyeXtpKCl9Y2F0Y2goZSl7c18obCxuLGUpfX19cj1yLm5leHR9d2hpbGUociE9PWEpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBpdihlKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT10KXt2YXIgbj1lLnN0YXRlTm9kZTt0cnl7bFkodCxuKX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX19ZnVuY3Rpb24gaXkoZSx0LG4pe24ucHJvcHM9b08oZS50eXBlLGUubWVtb2l6ZWRQcm9wcyksbi5zdGF0ZT1lLm1lbW9pemVkU3RhdGU7dHJ5e24uY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChuKXtzXyhlLHQsbil9fWZ1bmN0aW9uIGliKGUsdCl7dHJ5e3ZhciBuPWUucmVmO2lmKG51bGwhPT1uKXtzd2l0Y2goZS50YWcpe2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6dmFyIHI9ZS5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAzMDp2YXIgbD1lLnN0YXRlTm9kZSxhPXJuKGUubWVtb2l6ZWRQcm9wcyxsKTsobnVsbD09PWwucmVmfHxsLnJlZi5uYW1lIT09YSkmJihsLnJlZj1jQyhhKSkscj1sLnJlZjticmVhaztjYXNlIDc6bnVsbD09PWUuc3RhdGVOb2RlJiYoZS5zdGF0ZU5vZGU9bmV3IGNUKGUpKSxyPWUuc3RhdGVOb2RlO2JyZWFrO2RlZmF1bHQ6cj1lLnN0YXRlTm9kZX0iZnVuY3Rpb24iPT10eXBlb2Ygbj9lLnJlZkNsZWFudXA9bihyKTpuLmN1cnJlbnQ9cn19Y2F0Y2gobil7c18oZSx0LG4pfX1mdW5jdGlvbiBpdyhlLHQpe3ZhciBuPWUucmVmLHI9ZS5yZWZDbGVhbnVwO2lmKG51bGwhPT1uKWlmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXRyeXtyKCl9Y2F0Y2gobil7c18oZSx0LG4pfWZpbmFsbHl7ZS5yZWZDbGVhbnVwPW51bGwsbnVsbCE9KGU9ZS5hbHRlcm5hdGUpJiYoZS5yZWZDbGVhbnVwPW51bGwpfWVsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pdHJ5e24obnVsbCl9Y2F0Y2gobil7c18oZSx0LG4pfWVsc2Ugbi5jdXJyZW50PW51bGx9ZnVuY3Rpb24gaWsoZSl7dmFyIHQ9ZS50eXBlLG49ZS5tZW1vaXplZFByb3BzLHI9ZS5zdGF0ZU5vZGU7dHJ5e3N3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOm4uYXV0b0ZvY3VzJiZyLmZvY3VzKCk7YnJlYWs7Y2FzZSJpbWciOm4uc3JjP3Iuc3JjPW4uc3JjOm4uc3JjU2V0JiYoci5zcmNzZXQ9bi5zcmNTZXQpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpUyhlLHQsbil7dHJ5e3ZhciByPWUuc3RhdGVOb2RlOyhmdW5jdGlvbihlLHQsbixyKXtzd2l0Y2godCl7Y2FzZSJkaXYiOmNhc2Uic3BhbiI6Y2FzZSJzdmciOmNhc2UicGF0aCI6Y2FzZSJhIjpjYXNlImciOmNhc2UicCI6Y2FzZSJsaSI6YnJlYWs7Y2FzZSJpbnB1dCI6dmFyIGw9bnVsbCxhPW51bGwsbz1udWxsLGk9bnVsbCxzPW51bGwsYz1udWxsLGY9bnVsbDtmb3IobSBpbiBuKXt2YXIgZD1uW21dO2lmKG4uaGFzT3duUHJvcGVydHkobSkmJm51bGwhPWQpc3dpdGNoKG0pe2Nhc2UiY2hlY2tlZCI6Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOnM9ZDtkZWZhdWx0OnIuaGFzT3duUHJvcGVydHkobSl8fGNuKGUsdCxtLG51bGwscixkKX19Zm9yKHZhciBwIGluIHIpe3ZhciBtPXJbcF07aWYoZD1uW3BdLHIuaGFzT3duUHJvcGVydHkocCkmJihudWxsIT1tfHxudWxsIT1kKSlzd2l0Y2gocCl7Y2FzZSJ0eXBlIjptIT09ZCYmKHRyPSEwKSxhPW07YnJlYWs7Y2FzZSJuYW1lIjptIT09ZCYmKHRyPSEwKSxsPW07YnJlYWs7Y2FzZSJjaGVja2VkIjptIT09ZCYmKHRyPSEwKSxjPW07YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6bSE9PWQmJih0cj0hMCksZj1tO2JyZWFrO2Nhc2UidmFsdWUiOm0hPT1kJiYodHI9ITApLG89bTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6bSE9PWQmJih0cj0hMCksaT1tO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPW0pdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6bSE9PWQmJmNuKGUsdCxwLG0scixkKX19dGgoZSxvLGkscyxjLGYsYSxsKTtyZXR1cm47Y2FzZSJzZWxlY3QiOmZvcihhIGluIG09bz1pPXA9bnVsbCxuKWlmKHM9blthXSxuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT1zKXN3aXRjaChhKXtjYXNlInZhbHVlIjpicmVhaztjYXNlIm11bHRpcGxlIjptPXM7ZGVmYXVsdDpyLmhhc093blByb3BlcnR5KGEpfHxjbihlLHQsYSxudWxsLHIscyl9Zm9yKGwgaW4gcilpZihhPXJbbF0scz1uW2xdLHIuaGFzT3duUHJvcGVydHkobCkmJihudWxsIT1hfHxudWxsIT1zKSlzd2l0Y2gobCl7Y2FzZSJ2YWx1ZSI6YSE9PXMmJih0cj0hMCkscD1hO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphIT09cyYmKHRyPSEwKSxpPWE7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6YSE9PXMmJih0cj0hMCksbz1hO2RlZmF1bHQ6YSE9PXMmJmNuKGUsdCxsLGEscixzKX10PWksbj1vLHI9bSxudWxsIT1wP3R5KGUsISFuLHAsITEpOiEhciE9ISFuJiYobnVsbCE9dD90eShlLCEhbix0LCEwKTp0eShlLCEhbixuP1tdOiIiLCExKSk7cmV0dXJuO2Nhc2UidGV4dGFyZWEiOmZvcihpIGluIG09cD1udWxsLG4paWYobD1uW2ldLG4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPWwmJiFyLmhhc093blByb3BlcnR5KGkpKXN3aXRjaChpKXtjYXNlInZhbHVlIjpjYXNlImNoaWxkcmVuIjpicmVhaztkZWZhdWx0OmNuKGUsdCxpLG51bGwscixsKX1mb3IobyBpbiByKWlmKGw9cltvXSxhPW5bb10sci5oYXNPd25Qcm9wZXJ0eShvKSYmKG51bGwhPWx8fG51bGwhPWEpKXN3aXRjaChvKXtjYXNlInZhbHVlIjpsIT09YSYmKHRyPSEwKSxwPWw7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmwhPT1hJiYodHI9ITApLG09bDticmVhaztjYXNlImNoaWxkcmVuIjpicmVhaztjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1sKXRocm93IEVycm9yKHUoOTEpKTticmVhaztkZWZhdWx0OmwhPT1hJiZjbihlLHQsbyxsLHIsYSl9dGIoZSxwLG0pO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHZhciBoIGluIG4pcD1uW2hdLG4uaGFzT3duUHJvcGVydHkoaCkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KGgpJiYoInNlbGVjdGVkIj09PWg/ZS5zZWxlY3RlZD0hMTpjbihlLHQsaCxudWxsLHIscCkpO2ZvcihzIGluIHIpcD1yW3NdLG09bltzXSxyLmhhc093blByb3BlcnR5KHMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pJiYoInNlbGVjdGVkIj09PXM/KHAhPT1tJiYodHI9ITApLGUuc2VsZWN0ZWQ9cCYmImZ1bmN0aW9uIiE9dHlwZW9mIHAmJiJzeW1ib2wiIT10eXBlb2YgcCk6Y24oZSx0LHMscCxyLG0pKTtyZXR1cm47Y2FzZSJpbWciOmNhc2UibGluayI6Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImVtYmVkIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInNvdXJjZSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcih2YXIgZyBpbiBuKXA9bltnXSxuLmhhc093blByb3BlcnR5KGcpJiZudWxsIT1wJiYhci5oYXNPd25Qcm9wZXJ0eShnKSYmY24oZSx0LGcsbnVsbCxyLHApO2ZvcihjIGluIHIpaWYocD1yW2NdLG09bltjXSxyLmhhc093blByb3BlcnR5KGMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pKXN3aXRjaChjKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1wKXRocm93IEVycm9yKHUoMTM3LHQpKTticmVhaztkZWZhdWx0OmNuKGUsdCxjLHAscixtKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKHZhciB2IGluIG4pcD1uW3ZdLG4uaGFzT3duUHJvcGVydHkodikmJnZvaWQgMCE9PXAmJiFyLmhhc093blByb3BlcnR5KHYpJiZjcihlLHQsdix2b2lkIDAscixwKTtmb3IoZiBpbiByKXA9cltmXSxtPW5bZl0sci5oYXNPd25Qcm9wZXJ0eShmKSYmcCE9PW0mJih2b2lkIDAhPT1wfHx2b2lkIDAhPT1tKSYmY3IoZSx0LGYscCxyLG0pO3JldHVybn19Zm9yKHZhciB5IGluIG4pcD1uW3ldLG4uaGFzT3duUHJvcGVydHkoeSkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KHkpJiZjbihlLHQseSxudWxsLHIscCk7Zm9yKGQgaW4gcilwPXJbZF0sbT1uW2RdLHIuaGFzT3duUHJvcGVydHkoZCkmJnAhPT1tJiYobnVsbCE9cHx8bnVsbCE9bSkmJmNuKGUsdCxkLHAscixtKX0pKHIsZS50eXBlLG4sdCkscltlcV09dH1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpRShlLHQpe2lmKDU9PT1lLnRhZyYmbnVsbD09PWUuYWx0ZXJuYXRlJiZudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyljVShlLnN0YXRlTm9kZSx0W25dKX1mdW5jdGlvbiBpeChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtpZihpUCh0KSl7dmFyIG49ZS5zdGF0ZU5vZGUscj10LnN0YXRlTm9kZS5fZXZlbnRMaXN0ZW5lcnM7aWYobnVsbCE9PXIpZm9yKHZhciBsPTA7bDxyLmxlbmd0aDtsKyspe3ZhciBhPXJbbF07bi5yZW1vdmVFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9fWlmKGlfKHQpKWJyZWFrO3Q9dC5yZXR1cm59fWZ1bmN0aW9uIGlfKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8MjY9PT1lLnRhZ3x8Mjc9PT1lLnRhZyYmY3koZS50eXBlKXx8ND09PWUudGFnfWZ1bmN0aW9uIGlQKGUpe3JldHVybiBlJiY3PT09ZS50YWcmJm51bGwhPT1lLnN0YXRlTm9kZX1mdW5jdGlvbiBpTihlKXtlOmZvcig7Oyl7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxpXyhlLnJldHVybikpcmV0dXJuIG51bGw7ZT1lLnJldHVybn1mb3IoZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZzs1IT09ZS50YWcmJjYhPT1lLnRhZyYmMTghPT1lLnRhZzspe2lmKDI3PT09ZS50YWcmJmN5KGUudHlwZSl8fDImZS5mbGFnc3x8bnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlDKGUsdCxuLHIpe3ZhciBsPWUudGFnO2lmKDU9PT1sfHw2PT09bClsPWUuc3RhdGVOb2RlLHQ/bi5pbnNlcnRCZWZvcmUobCx0KTpuLmFwcGVuZENoaWxkKGwpLGlFKGUsciksdHI9ITA7ZWxzZSBpZig0IT09bCYmKDI3PT09bCYmY3koZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpLG51bGwhPT0oZT1lLmNoaWxkKSkpZm9yKGlDKGUsdCxuLHIpLGU9ZS5zaWJsaW5nO251bGwhPT1lOylpQyhlLHQsbixyKSxlPWUuc2libGluZ31mdW5jdGlvbiBpVChlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUubWVtb2l6ZWRQcm9wczt0cnl7Zm9yKHZhciByPWUudHlwZSxsPXQuYXR0cmlidXRlcztsLmxlbmd0aDspdC5yZW1vdmVBdHRyaWJ1dGVOb2RlKGxbMF0pO2NsKHQscixuKSx0W2VXXT1lLHRbZXFdPW59Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19dmFyIGlPPSExLGl6PW51bGw7ZnVuY3Rpb24gaUwoZSl7KDMwPT09ZS50YWd8fDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKSYmKGlPPSEwKX12YXIgaVI9bnVsbDtmdW5jdGlvbiBpTSgpe3ZhciBlPWlSO3JldHVybiBpUj1udWxsLGV9dmFyIGlJPTA7ZnVuY3Rpb24gaUQoZSx0LG4scixsKXtyZXR1cm4gaUk9MCxmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKHZhciBvPSExO251bGwhPT10Oyl7aWYoNT09PXQudGFnKXt2YXIgaT10LnN0YXRlTm9kZTtpZihudWxsIT09bCl7dmFyIHU9Y3goaSk7bC5wdXNoKHUpLHUudmlldyYmKG89ITApfWVsc2Ugb3x8Y3goaSkudmlldyYmKG89ITApO2lPPSEwLGNrKGksMD09PWlJP246bisiXyIraUksciksaUkrK31lbHNlKDIyIT09dC50YWd8fG51bGw9PT10Lm1lbW9pemVkU3RhdGUpJiYoMzA9PT10LnRhZyYmYXx8ZSh0LmNoaWxkLG4scixsLGEpJiYobz0hMCkpO3Q9dC5zaWJsaW5nfXJldHVybiBvfShlLmNoaWxkLHQsbixyLGwpfWZ1bmN0aW9uIGlGKGUsdCl7Zm9yKDtudWxsIT09ZTspNT09PWUudGFnP2NTKGUuc3RhdGVOb2RlLGUubWVtb2l6ZWRQcm9wcyk6KDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpJiYoMzA9PT1lLnRhZyYmdHx8aUYoZS5jaGlsZCx0KSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gaUEoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKCgyMiE9PWUudGFnfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlKSYmKGlBKGUpLDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykmJmUuc3RhdGVOb2RlLnBhaXJlZCkpe3ZhciB0PWUubWVtb2l6ZWRQcm9wcztpZihudWxsPT10Lm5hbWV8fCJhdXRvIj09PXQubmFtZSl0aHJvdyBFcnJvcih1KDU0NCkpO3ZhciBuPXQubmFtZTsibm9uZSIhPT0odD1ybCh0LmRlZmF1bHQsdC5zaGFyZSkpJiYoaUQoZSxuLHQsbnVsbCwhMSl8fGlGKGUuY2hpbGQsITEpKX1lPWUuc2libGluZ319ZnVuY3Rpb24gaWooZSx0KXtpZigzMD09PWUudGFnKXt2YXIgbj1lLnN0YXRlTm9kZSxyPWUubWVtb2l6ZWRQcm9wcyxsPXJuKHIsbiksYT1ybChyLmRlZmF1bHQsbi5wYWlyZWQ/ci5zaGFyZTpyLmVudGVyKTsibm9uZSIhPT1hP2lEKGUsbCxhLG51bGwsITEpPyhpQShlKSxuLnBhaXJlZHx8dHx8dTUoZSxyLm9uRW50ZXIpKTppRihlLmNoaWxkLCExKTppQShlKX1lbHNlIGlmKDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KWlqKGUsdCksZT1lLnNpYmxpbmc7ZWxzZSBpQShlKX1mdW5jdGlvbiBpVShlKXtpZihudWxsIT09aXomJjAhPT1pei5zaXplKXt2YXIgdD1pejtpZigwIT0oMHgxMjAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOyl7aWYoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSl7aWYoMzA9PT1lLnRhZyYmMCE9KDB4MTIwMDAwMCZlLmZsYWdzKSl7dmFyIG49ZS5tZW1vaXplZFByb3BzLHI9bi5uYW1lO2lmKG51bGwhPXImJiJhdXRvIiE9PXIpe3ZhciBsPXQuZ2V0KHIpO2lmKHZvaWQgMCE9PWwpe3ZhciBhPXJsKG4uZGVmYXVsdCxuLnNoYXJlKTtpZigibm9uZSIhPT1hJiYoaUQoZSxyLGEsbnVsbCwhMSk/KGwucGFpcmVkPWE9ZS5zdGF0ZU5vZGUsYS5wYWlyZWQ9bCx1NShlLG4ub25TaGFyZSkpOmlGKGUuY2hpbGQsITEpKSx0LmRlbGV0ZShyKSwwPT09dC5zaXplKWJyZWFrfX19aVUoZSl9ZT1lLnNpYmxpbmd9fX1mdW5jdGlvbiBpQihlKXtpZigzMD09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkUHJvcHMsbj1ybih0LGUuc3RhdGVOb2RlKSxyPW51bGwhPT1pej9pei5nZXQobik6dm9pZCAwLGw9cmwodC5kZWZhdWx0LHZvaWQgMCE9PXI/dC5zaGFyZTp0LmV4aXQpOyJub25lIiE9PWwmJihpRChlLG4sbCxudWxsLCExKT92b2lkIDAhPT1yPyhyLnBhaXJlZD1sPWUuc3RhdGVOb2RlLGwucGFpcmVkPXIsaXouZGVsZXRlKG4pLHU1KGUsdC5vblNoYXJlKSk6dTUoZSx0Lm9uRXhpdCk6aUYoZS5jaGlsZCwhMSkpLG51bGwhPT1peiYmaVUoZSl9ZWxzZSBpZigwIT0oMHgyMDAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOylpQihlKSxlPWUuc2libGluZztlbHNlIG51bGwhPT1peiYmaVUoZSl9ZnVuY3Rpb24gaVYoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpe2lmKDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykpe3ZhciB0PWUuc3RhdGVOb2RlO251bGwhPT10LnBhaXJlZCYmKHQucGFpcmVkPW51bGwsaUYoZS5jaGlsZCwhMSkpfWlWKGUpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBpSChlKXtpZigzMD09PWUudGFnKWUuc3RhdGVOb2RlLnBhaXJlZD1udWxsLGlGKGUuY2hpbGQsITEpLGlWKGUpO2Vsc2UgaWYoMCE9KDB4MjAwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspaUgoZSksZT1lLnNpYmxpbmc7ZWxzZSBpVihlKX1mdW5jdGlvbiBpJChlLHQsbixyLGwsYSxvKXtmb3IodmFyIGk9ITE7bnVsbCE9PXQ7KXtpZig1PT09dC50YWcpe3ZhciB1PXQuc3RhdGVOb2RlO2lmKG51bGwhPT1hJiZpSTxhLmxlbmd0aCl7dmFyIHMsYz1hW2lJXSxmPWN4KHUpO2lmKChjLnZpZXd8fGYudmlldykmJihpPSEwKSxzPTA9PSg0JmUuZmxhZ3MpKWlmKGYuY2xpcClzPSEwO2Vsc2V7cz1jLnJlY3Q7dmFyIGQ9Zi5yZWN0O3M9cy55IT09ZC55fHxzLnghPT1kLnh8fHMuaGVpZ2h0IT09ZC5oZWlnaHR8fHMud2lkdGghPT1kLndpZHRofXMmJihlLmZsYWdzfD00KSxmLmFicz9mPSFjLmFiczooYz1jLnJlY3QsZj1mLnJlY3QsZj1jLmhlaWdodCE9PWYuaGVpZ2h0fHxjLndpZHRoIT09Zi53aWR0aCksZiYmKGUuZmxhZ3N8PTMyKX1lbHNlIGUuZmxhZ3N8PTMyOzAhPSg0JmUuZmxhZ3MpJiZjayh1LDA9PT1pST9uOm4rIl8iK2lJLGwpLGkmJjAhPSg0JmUuZmxhZ3MpfHwobnVsbD09PWlSJiYoaVI9W10pLGlSLnB1c2godSxyLHQubWVtb2l6ZWRQcm9wcykpLGlJKyt9ZWxzZSgyMiE9PXQudGFnfHxudWxsPT09dC5tZW1vaXplZFN0YXRlKSYmKDMwPT09dC50YWcmJm8/ZS5mbGFnc3w9MzImdC5mbGFnczppJChlLHQuY2hpbGQsbixyLGwsYSxvKSYmKGk9ITApKTt0PXQuc2libGluZ31yZXR1cm4gaX12YXIgaVE9ITEsaVc9ITEsaXE9ITEsaUs9ITEsaVg9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsaUc9bnVsbCxpWT0hMSxpSj0hMSxpWj0hMSxpMD0hMTtmdW5jdGlvbiBpMShlKXtmb3IoO251bGwhPT1pRzspe3ZhciB0PWlHLG49ZSxyPXQuYWx0ZXJuYXRlLGw9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWYoMCE9KDQmbCkmJm51bGwhPT0ocj1udWxsIT09KHI9dC51cGRhdGVRdWV1ZSk/ci5ldmVudHM6bnVsbCkpZm9yKG49MDtuPHIubGVuZ3RoO24rKykobD1yW25dKS5yZWYuaW1wbD1sLm5leHRJbXBsO2JyZWFrO2Nhc2UgMTppZigwIT0oMTAyNCZsKSYmbnVsbCE9PXIpe249dm9pZCAwLGw9ci5tZW1vaXplZFByb3BzLHI9ci5tZW1vaXplZFN0YXRlO3ZhciBhPXQuc3RhdGVOb2RlO3RyeXt2YXIgbz1vTyh0LnR5cGUsbCk7bj1hLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKG8sciksYS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1ufWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgMzppZigwIT0oMTAyNCZsKSl7aWYoOT09PShuPShyPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLm5vZGVUeXBlKSljQihyKTtlbHNlIGlmKDE9PT1uKXN3aXRjaChyLm5vZGVOYW1lKXtjYXNlIkhFQUQiOmNhc2UiSFRNTCI6Y2FzZSJCT0RZIjpjQihyKTticmVhaztkZWZhdWx0OnIudGV4dENvbnRlbnQ9IiJ9fWJyZWFrO2Nhc2UgNTpjYXNlIDI2OmNhc2UgMjc6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2Nhc2UgMzA6biYmbnVsbCE9PXImJihuPXJuKHIubWVtb2l6ZWRQcm9wcyxyLnN0YXRlTm9kZSksIm5vbmUiIT09KGw9cmwoKGw9dC5tZW1vaXplZFByb3BzKS5kZWZhdWx0LGwudXBkYXRlKSkmJmlEKHIsbixsLHIubWVtb2l6ZWRTdGF0ZT1bXSwhMCkpO2JyZWFrO2RlZmF1bHQ6aWYoMCE9KDEwMjQmbCkpdGhyb3cgRXJyb3IodSgxNjMpKX1pZihudWxsIT09KHI9dC5zaWJsaW5nKSl7ci5yZXR1cm49dC5yZXR1cm4saUc9cjticmVha31pRz10LnJldHVybn19ZnVuY3Rpb24gaTIoZSx0LG4pe3ZhciByPW4uZmxhZ3M7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVpKGUsbiksNCZyJiZpaCg1LG4pO2JyZWFrO2Nhc2UgMTppZih1aShlLG4pLDQmcilpZihlPW4uc3RhdGVOb2RlLG51bGw9PT10KXRyeXtlLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX1lbHNle3ZhciBsPW9PKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO3Q9dC5tZW1vaXplZFN0YXRlO3RyeXtlLmNvbXBvbmVudERpZFVwZGF0ZShsLHQsZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19NjQmciYmaXYobiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMzppZih1aShlLG4pLDY0JnImJm51bGwhPT0oZT1uLnVwZGF0ZVF1ZXVlKSl7aWYodD1udWxsLG51bGwhPT1uLmNoaWxkKXN3aXRjaChuLmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6Y2FzZSAxOnQ9bi5jaGlsZC5zdGF0ZU5vZGV9dHJ5e2xZKGUsdCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19YnJlYWs7Y2FzZSAyNzpudWxsPT09dCYmNCZyJiZpVChuKTtjYXNlIDI2OmNhc2UgNTp1aShlLG4pLG51bGw9PT10JiY0JnImJmlrKG4pLDUxMiZyJiZpYihuLG4ucmV0dXJuKTticmVhaztjYXNlIDEyOnVpKGUsbik7YnJlYWs7Y2FzZSAzMTp1aShlLG4pLDQmciYmaTkoZSxuKTticmVhaztjYXNlIDEzOnVpKGUsbiksNCZyJiZpNyhlLG4pLDY0JnImJm51bGwhPT0oZT1uLm1lbW9pemVkU3RhdGUpJiZudWxsIT09KGU9ZS5kZWh5ZHJhdGVkKSYmZnVuY3Rpb24oZSx0KXt2YXIgbj1lLm93bmVyRG9jdW1lbnQ7aWYoIiR+Ij09PWUuZGF0YSllLl9yZWFjdFJldHJ5PXQ7ZWxzZSBpZigiJD8iIT09ZS5kYXRhfHwibG9hZGluZyIhPT1uLnJlYWR5U3RhdGUpdCgpO2Vsc2V7dmFyIHI9ZnVuY3Rpb24oKXt0KCksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKX07bi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKSxlLl9yZWFjdFJldHJ5PXJ9fShlLG49c1QuYmluZChudWxsLG4pKTticmVhaztjYXNlIDIyOmlmKCEocj1udWxsIT09bi5tZW1vaXplZFN0YXRlfHxpUSkpe3Q9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGV8fGlXLGw9aVE7dmFyIGE9aVc7aVE9ciwoaVc9dCkmJiFhP2Z1bmN0aW9uIGUodCxuLHIpe2ZvcihyPXImJjAhPSg4NzcyJm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbD1uLmFsdGVybmF0ZSxhPXQsbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZShhLG8sciksaWgoNCxvKTticmVhaztjYXNlIDE6aWYoZShhLG8sciksImZ1bmN0aW9uIj09dHlwZW9mKGE9KGw9bykuc3RhdGVOb2RlKS5jb21wb25lbnREaWRNb3VudCl0cnl7YS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe3NfKGwsbC5yZXR1cm4sZSl9aWYobnVsbCE9PShhPShsPW8pLnVwZGF0ZVF1ZXVlKSl7dmFyIHU9bC5zdGF0ZU5vZGU7dHJ5e3ZhciBzPWEuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihudWxsIT09cylmb3IoYS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsYT0wO2E8cy5sZW5ndGg7YSsrKWxHKHNbYV0sdSl9Y2F0Y2goZSl7c18obCxsLnJldHVybixlKX19ciYmNjQmaSYmaXYobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAyNzppVChvKTtjYXNlIDI2OmNhc2UgNTppZig1PT09by50YWcpe3U9bztmb3IodmFyIGM9dS5yZXR1cm47bnVsbCE9PWMmJihpUChjKSYmY1UodS5zdGF0ZU5vZGUsYy5zdGF0ZU5vZGUpLCFpXyhjKSk7KWM9Yy5yZXR1cm59ZShhLG8sciksciYmbnVsbD09PWwmJjQmaSYmaWsobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAxMjplKGEsbyxyKTticmVhaztjYXNlIDMxOmUoYSxvLHIpLHImJjQmaSYmaTkoYSxvKTticmVhaztjYXNlIDEzOmUoYSxvLHIpLHImJjQmaSYmaTcoYSxvKTticmVhaztjYXNlIDIyOm51bGw9PT1vLm1lbW9pemVkU3RhdGUmJmUoYSxvLHIpLGliKG8sby5yZXR1cm4pO2JyZWFrO2Nhc2UgMzA6ZShhLG8sciksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSA3OmliKG8sby5yZXR1cm4pO2RlZmF1bHQ6ZShhLG8scil9bj1uLnNpYmxpbmd9fShlLG4sMCE9KDg3NzImbi5zdWJ0cmVlRmxhZ3MpKTp1aShlLG4pLGlRPWwsaVc9YX1icmVhaztjYXNlIDMwOnVpKGUsbiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgNzo1MTImciYmaWIobixuLnJldHVybik7ZGVmYXVsdDp1aShlLG4pfX1mdW5jdGlvbiBpMyhlLHQpe2ZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KShmdW5jdGlvbiBlKHQsbil7c3dpdGNoKHQudGFnKXtjYXNlIDU6Y2FzZSAyNjp0cnl7dmFyIHI9dC5zdGF0ZU5vZGU7aWYobil7dmFyIGw9ci5zdHlsZTsiZnVuY3Rpb24iPT10eXBlb2YgbC5zZXRQcm9wZXJ0eT9sLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOmwuZGlzcGxheT0ibm9uZSJ9ZWxzZXt2YXIgYT10LnN0YXRlTm9kZSxvPXQubWVtb2l6ZWRQcm9wcy5zdHlsZSxpPW51bGwhPW8mJm8uaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9vLmRpc3BsYXk6bnVsbDthLnN0eWxlLmRpc3BsYXk9bnVsbD09aXx8ImJvb2xlYW4iPT10eXBlb2YgaT8iIjooIiIraSkudHJpbSgpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfSFmdW5jdGlvbiB0KG4scil7aWYoMHg0MDAwMDAwJm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KXtlOnt2YXIgbD1uO3N3aXRjaChsLnRhZyl7Y2FzZSA0OmUobCxyKTticmVhayBlO2Nhc2UgMjI6bnVsbD09PWwubWVtb2l6ZWRTdGF0ZSYmdChsLHIpO2JyZWFrIGU7ZGVmYXVsdDp0KGwscil9fW49bi5zaWJsaW5nfX0odCxuKTticmVhaztjYXNlIDY6dHJ5e3Quc3RhdGVOb2RlLm5vZGVWYWx1ZT1uPyIiOnQubWVtb2l6ZWRQcm9wcyx0cj0hMH1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfWJyZWFrO2Nhc2UgMTg6dHJ5e3ZhciB1PXQuc3RhdGVOb2RlO24/Y3codSwhMCk6Y3codC5zdGF0ZU5vZGUsITEpfWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOm51bGw9PT10Lm1lbW9pemVkU3RhdGUmJmkzKHQsbik7YnJlYWs7ZGVmYXVsdDppMyh0LG4pfX0pKGUsdCksZT1lLnNpYmxpbmd9dmFyIGk0PW51bGwsaTg9ITE7ZnVuY3Rpb24gaTUoZSx0LG4pe2ZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWk2KGUsdCxuKSxuPW4uc2libGluZ31mdW5jdGlvbiBpNihlLHQsbil7aWYoZV8mJiJmdW5jdGlvbiI9PXR5cGVvZiBlXy5vbkNvbW1pdEZpYmVyVW5tb3VudCl0cnl7ZV8ub25Db21taXRGaWJlclVubW91bnQoZXgsbil9Y2F0Y2goZSl7fXN3aXRjaChuLnRhZyl7Y2FzZSAyNjppV3x8aXcobix0KSxpNShlLHQsbiksbi5tZW1vaXplZFN0YXRlP24ubWVtb2l6ZWRTdGF0ZS5jb3VudC0tOm4uc3RhdGVOb2RlJiYobj1uLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKTticmVhaztjYXNlIDI3OmlXfHxpdyhuLHQpO3ZhciByPWk0LGw9aTg7Y3kobi50eXBlKSYmKGk0PW4uc3RhdGVOb2RlLGk4PSExKSxpNShlLHQsbiksY0cobi5zdGF0ZU5vZGUpLGk0PXIsaTg9bDticmVhaztjYXNlIDU6aVd8fGl3KG4sdCksNT09PW4udGFnJiZpeChuKTtjYXNlIDY6aWYocj1pNCxsPWk4LGk0PW51bGwsaTUoZSx0LG4pLGk0PXIsaTg9bCxudWxsIT09aTQpaWYoaTgpdHJ5eyg5PT09aTQubm9kZVR5cGU/aTQuYm9keToiSFRNTCI9PT1pNC5ub2RlTmFtZT9pNC5vd25lckRvY3VtZW50LmJvZHk6aTQpLnJlbW92ZUNoaWxkKG4uc3RhdGVOb2RlKSx0cj0hMH1jYXRjaChlKXtzXyhuLHQsZSl9ZWxzZSB0cnl7aTQucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpLHRyPSEwfWNhdGNoKGUpe3NfKG4sdCxlKX1icmVhaztjYXNlIDE4Om51bGwhPT1pNCYmKGk4PyhjYig5PT09KGU9aTQpLm5vZGVUeXBlP2UuYm9keToiSFRNTCI9PT1lLm5vZGVOYW1lP2Uub3duZXJEb2N1bWVudC5ib2R5OmUsbi5zdGF0ZU5vZGUpLGZHKGUpKTpjYihpNCxuLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWk0LGw9aTgsaTQ9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxpOD0hMCxpNShlLHQsbiksaTQ9cixpOD1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZygyLG4sdCksaVd8fGlnKDQsbix0KSxpNShlLHQsbik7YnJlYWs7Y2FzZSAxOmlXfHwoaXcobix0KSwiZnVuY3Rpb24iPT10eXBlb2Yocj1uLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQmJml5KG4sdCxyKSksaTUoZSx0LG4pO2JyZWFrO2Nhc2UgMjE6ZGVmYXVsdDppNShlLHQsbik7YnJlYWs7Y2FzZSAyMjppVz0ocj1pVyl8fG51bGwhPT1uLm1lbW9pemVkU3RhdGUsaTUoZSx0LG4pLGlXPXI7YnJlYWs7Y2FzZSAzMDppdyhuLHQpLGk1KGUsdCxuKTticmVhaztjYXNlIDc6aVd8fGl3KG4sdCksaTUoZSx0LG4pfX1mdW5jdGlvbiBpOShlLHQpe2lmKG51bGw9PT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpKXtlPWUuZGVoeWRyYXRlZDt0cnl7ZkcoZSl9Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19fWZ1bmN0aW9uIGk3KGUsdCl7aWYobnVsbD09PXQubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PShlPXQuYWx0ZXJuYXRlKSYmbnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT0oZT1lLmRlaHlkcmF0ZWQpKXRyeXtmRyhlKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiB1ZShlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOmNhc2UgMTk6dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIG51bGw9PT10JiYodD1lLnN0YXRlTm9kZT1uZXcgaVgpLHQ7Y2FzZSAyMjpyZXR1cm4gbnVsbD09PSh0PShlPWUuc3RhdGVOb2RlKS5fcmV0cnlDYWNoZSkmJih0PWUuX3JldHJ5Q2FjaGU9bmV3IGlYKSx0O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0MzUsZS50YWcpKX19KGUpO3QuZm9yRWFjaChmdW5jdGlvbih0KXtpZighbi5oYXModCkpe24uYWRkKHQpO3ZhciByPXNPLmJpbmQobnVsbCxlLHQpO3QudGhlbihyLHIpfX0pfWZ1bmN0aW9uIHV0KGUsdCxuKXt2YXIgcj10LmRlbGV0aW9ucztpZihudWxsIT09cilmb3IodmFyIGw9MDtsPHIubGVuZ3RoO2wrKyl7dmFyIGE9cltsXSxvPWUsaT10LHM9aTtlOmZvcig7bnVsbCE9PXM7KXtzd2l0Y2gocy50YWcpe2Nhc2UgMjc6aWYoY3kocy50eXBlKSl7aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0Omk0PXMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saTg9ITA7YnJlYWsgZX1zPXMucmV0dXJufWlmKG51bGw9PT1pNCl0aHJvdyBFcnJvcih1KDE2MCkpO2k2KG8saSxhKSxpND1udWxsLGk4PSExLG51bGwhPT0obz1hLmFsdGVybmF0ZSkmJihvLnJldHVybj1udWxsKSxhLnJldHVybj1udWxsfWlmKDEzODg2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVyKHQsZSxuKSx0PXQuc2libGluZ312YXIgdW49bnVsbDtmdW5jdGlvbiB1cihlLHQsbil7dmFyIHI9ZS5hbHRlcm5hdGUsbD1lLmZsYWdzO3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnV0KHQsZSxuKSx1bChlKSw0JmwmJihpZygzLGUsZS5yZXR1cm4pLGloKDMsZSksaWcoNSxlLGUucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOnV0KHQsZSxuKSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDY0JmwmJmlRJiZudWxsIT09KGU9ZS51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1lLmNhbGxiYWNrcykmJih0PWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bnVsbD09PXQ/cjp0LmNvbmNhdChyKSk7YnJlYWs7Y2FzZSAyNjp2YXIgYT11bjtpZih1dCh0LGUsbiksdWwoZSksNTEyJmwmJihpV3x8bnVsbD09PXJ8fGl3KHIsci5yZXR1cm4pKSw0JmwpaWYobj1udWxsIT09cj9yLm1lbW9pemVkU3RhdGU6bnVsbCx0PWUubWVtb2l6ZWRTdGF0ZSxudWxsPT09cilpZihudWxsPT09dClpZihudWxsPT09ZS5zdGF0ZU5vZGUpe2U6e3I9ZS50eXBlLHQ9ZS5tZW1vaXplZFByb3BzLG49YS5vd25lckRvY3VtZW50fHxhO3Q6c3dpdGNoKHIpe2Nhc2UidGl0bGUiOighKGw9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXSl8fGxbZVpdfHxsW2VXXXx8Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWwubmFtZXNwYWNlVVJJfHxsLmhhc0F0dHJpYnV0ZSgiaXRlbXByb3AiKSkmJihsPW4uY3JlYXRlRWxlbWVudChyKSxuLmhlYWQuaW5zZXJ0QmVmb3JlKGwsbi5xdWVyeVNlbGVjdG9yKCJoZWFkID4gdGl0bGUiKSkpLGNsKGwscix0KSxsW2VXXT1lLGU4KGwpLHI9bDticmVhayBlO2Nhc2UibGluayI6aWYoYT1mbCgibGluayIsImhyZWYiLG4pLmdldChyKyh0LmhyZWZ8fCIiKSkpe2Zvcih2YXIgbz0wO288YS5sZW5ndGg7bysrKWlmKChsPWFbb10pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09KG51bGw9PXQuaHJlZnx8IiI9PT10LmhyZWY/bnVsbDp0LmhyZWYpJiZsLmdldEF0dHJpYnV0ZSgicmVsIik9PT0obnVsbD09dC5yZWw/bnVsbDp0LnJlbCkmJmwuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpPT09KG51bGw9PXQudGl0bGU/bnVsbDp0LnRpdGxlKSYmbC5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik9PT0obnVsbD09dC5jcm9zc09yaWdpbj9udWxsOnQuY3Jvc3NPcmlnaW4pKXthLnNwbGljZShvLDEpO2JyZWFrIHR9fWNsKGw9bi5jcmVhdGVFbGVtZW50KHIpLHIsdCksbi5oZWFkLmFwcGVuZENoaWxkKGwpO2JyZWFrO2Nhc2UibWV0YSI6aWYoYT1mbCgibWV0YSIsImNvbnRlbnQiLG4pLmdldChyKyh0LmNvbnRlbnR8fCIiKSkpe2ZvcihvPTA7bzxhLmxlbmd0aDtvKyspaWYoKGw9YVtvXSkuZ2V0QXR0cmlidXRlKCJjb250ZW50Iik9PT0obnVsbD09dC5jb250ZW50P251bGw6IiIrdC5jb250ZW50KSYmbC5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PShudWxsPT10Lm5hbWU/bnVsbDp0Lm5hbWUpJiZsLmdldEF0dHJpYnV0ZSgicHJvcGVydHkiKT09PShudWxsPT10LnByb3BlcnR5P251bGw6dC5wcm9wZXJ0eSkmJmwuZ2V0QXR0cmlidXRlKCJodHRwLWVxdWl2Iik9PT0obnVsbD09dC5odHRwRXF1aXY/bnVsbDp0Lmh0dHBFcXVpdikmJmwuZ2V0QXR0cmlidXRlKCJjaGFyc2V0Iik9PT0obnVsbD09dC5jaGFyU2V0P251bGw6dC5jaGFyU2V0KSl7YS5zcGxpY2UobywxKTticmVhayB0fX1jbChsPW4uY3JlYXRlRWxlbWVudChyKSxyLHQpLG4uaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoNDY4LHIpKX1sW2VXXT1lLGU4KGwpLHI9bH1lLnN0YXRlTm9kZT1yfWVsc2UgZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpO2Vsc2UgZS5zdGF0ZU5vZGU9YzcoYSx0LGUubWVtb2l6ZWRQcm9wcyk7ZWxzZSBuIT09dD8obnVsbD09PW4/bnVsbCE9PXIuc3RhdGVOb2RlJiYocj1yLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKTpuLmNvdW50LS0sbnVsbD09PXQ/ZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpOmM3KGEsdCxlLm1lbW9pemVkUHJvcHMpKTpudWxsPT09dCYmbnVsbCE9PWUuc3RhdGVOb2RlJiZpUyhlLGUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgMjc6dXQodCxlLG4pLHVsKGUpLDUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbnVsbCE9PXImJjQmbCYmaVMoZSxlLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoYT1pcSxpcT0hMSx1dCh0LGUsbiksaXE9YSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDMyJmUuZmxhZ3Mpe3Q9ZS5zdGF0ZU5vZGU7dHJ5e3RrKHQsIiIpLHRyPSEwfWNhdGNoKHQpe3NfKGUsZS5yZXR1cm4sdCl9fTQmbCYmbnVsbCE9ZS5zdGF0ZU5vZGUmJih0PWUubWVtb2l6ZWRQcm9wcyxpUyhlLHQsbnVsbCE9PXI/ci5tZW1vaXplZFByb3BzOnQpKSwxMDI0JmwmJihpSz0hMCk7YnJlYWs7Y2FzZSA2OmlmKHV0KHQsZSxuKSx1bChlKSw0Jmwpe2lmKG51bGw9PT1lLnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2MikpO3I9ZS5tZW1vaXplZFByb3BzLHQ9ZS5zdGF0ZU5vZGU7dHJ5e3Qubm9kZVZhbHVlPXIsdHI9ITB9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19YnJlYWs7Y2FzZSAzOmlmKHRyPSExLGZyPW51bGwsYT11bix1bj1jWih0LmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bj1hLHVsKGUpLDQmbCYmbnVsbCE9PXImJnIubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e2ZHKHQuY29udGFpbmVySW5mbyl9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX1pSyYmKGlLPSExLGZ1bmN0aW9uIGUodCl7aWYoMTAyNCZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10Oyl7dmFyIG49dDtlKG4pLDU9PT1uLnRhZyYmMTAyNCZuLmZsYWdzJiZuLnN0YXRlTm9kZS5yZXNldCgpLHQ9dC5zaWJsaW5nfX0oZSkpLHRyPSExO2JyZWFrO2Nhc2UgNDpyPWlxLGlxPWlRLGw9dGwoKSxhPXVuLHVuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bChlKSx1bj1hLHRyJiZpSiYmKGlaPSEwKSx0cj1sLGlxPXI7YnJlYWs7Y2FzZSAxMjp1dCh0LGUsbiksdWwoZSk7YnJlYWs7Y2FzZSAzMTpjYXNlIDE5OnV0KHQsZSxuKSx1bChlKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDEzOnV0KHQsZSxuKSx1bChlKSw4MTkyJmUuY2hpbGQuZmxhZ3MmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPShudWxsIT09ciYmbnVsbCE9PXIubWVtb2l6ZWRTdGF0ZSkmJih1Qj1ldigpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDIyOmE9bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxvPW51bGwhPT1yJiZudWxsIT09ci5tZW1vaXplZFN0YXRlO3ZhciBpPWlRLHM9aVcsYz1pcTtpUT1pfHxhLGlxPWN8fGEsaVc9c3x8byx1dCh0LGUsbiksaVc9cyxpcT1jLGlRPWksdWwoZSksODE5MiZsJiYoKHQ9ZS5zdGF0ZU5vZGUpLl92aXNpYmlsaXR5PWE/LTImdC5fdmlzaWJpbGl0eToxfHQuX3Zpc2liaWxpdHksYSYmKG51bGw9PT1yfHxvfHxpUXx8aVd8fGZ1bmN0aW9uIGUodCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3ZhciBuPXQ7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWcoNCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMTppdyhuLG4ucmV0dXJuKTt2YXIgcj1uLnN0YXRlTm9kZTsiZnVuY3Rpb24iPT10eXBlb2Ygci5jb21wb25lbnRXaWxsVW5tb3VudCYmaXkobixuLnJldHVybixyKSxlKG4pO2JyZWFrO2Nhc2UgMjc6Y0cobi5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1Oml3KG4sbi5yZXR1cm4pLDU9PT1uLnRhZyYmaXgobiksZShuKTticmVhaztjYXNlIDIyOm51bGw9PT1uLm1lbW9pemVkU3RhdGUmJmUobik7YnJlYWs7Y2FzZSAzMDppdyhuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgNzppdyhuLG4ucmV0dXJuKTtkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSksIWEmJmlxfHxpMyhlLGEpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PSh0PXIucmV0cnlRdWV1ZSkmJihyLnJldHJ5UXVldWU9bnVsbCx1ZShlLHQpKTticmVhaztjYXNlIDMwOjUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbD10bCgpLGE9aUosbz0oMHgxM2ZmZmYwMCZuKT09PW4saT1lLm1lbW9pemVkUHJvcHMsaUo9byYmIm5vbmUiIT09cmwoaS5kZWZhdWx0LGkudXBkYXRlKSx1dCh0LGUsbiksdWwoZSksbyYmbnVsbCE9PXImJnRyJiYoZS5mbGFnc3w9NCksaUo9YSx0cj1sO2JyZWFrO2Nhc2UgMjE6YnJlYWs7Y2FzZSA3OnImJm51bGwhPT1yLnN0YXRlTm9kZSYmKHIuc3RhdGVOb2RlLl9mcmFnbWVudEZpYmVyPWUpO2RlZmF1bHQ6dXQodCxlLG4pLHVsKGUpfX1mdW5jdGlvbiB1bChlKXt2YXIgdD1lLmZsYWdzO2lmKDImdCl7dHJ5e2Zvcih2YXIgbixyPW51bGwsbD1lLnJldHVybjtudWxsIT09bDspe2lmKGlQKGwpKXt2YXIgYT1sLnN0YXRlTm9kZTtudWxsPT09cj9yPVthXTpyLnB1c2goYSl9aWYoaV8obCkpe249bDticmVha31sPWwucmV0dXJufWlmKG51bGw9PW4pdGhyb3cgRXJyb3IodSgxNjApKTtzd2l0Y2gobi50YWcpe2Nhc2UgMjc6dmFyIG89bi5zdGF0ZU5vZGUsaT1pTihlKTtpQyhlLGksbyxyKTticmVhaztjYXNlIDU6dmFyIHM9bi5zdGF0ZU5vZGU7MzImbi5mbGFncyYmKHRrKHMsIiIpLG4uZmxhZ3MmPS0zMyk7dmFyIGM9aU4oZSk7aUMoZSxjLHMscik7YnJlYWs7Y2FzZSAzOmNhc2UgNDp2YXIgZj1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGQ9aU4oZSk7IWZ1bmN0aW9uIGUodCxuLHIsbCl7dmFyIGE9dC50YWc7aWYoNT09PWF8fDY9PT1hKWE9dC5zdGF0ZU5vZGUsbj8oOT09PXIubm9kZVR5cGU/ci5ib2R5OiJIVE1MIj09PXIubm9kZU5hbWU/ci5vd25lckRvY3VtZW50LmJvZHk6cikuaW5zZXJ0QmVmb3JlKGEsbik6KChuPTk9PT1yLm5vZGVUeXBlP3IuYm9keToiSFRNTCI9PT1yLm5vZGVOYW1lP3Iub3duZXJEb2N1bWVudC5ib2R5OnIpLmFwcGVuZENoaWxkKGEpLG51bGwhPShyPXIuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9dFQpKSxpRSh0LGwpLHRyPSEwO2Vsc2UgaWYoNCE9PWEmJigyNz09PWEmJmN5KHQudHlwZSkmJihyPXQuc3RhdGVOb2RlLG49bnVsbCksbnVsbCE9PSh0PXQuY2hpbGQpKSlmb3IoZSh0LG4scixsKSx0PXQuc2libGluZztudWxsIT09dDspZSh0LG4scixsKSx0PXQuc2libGluZ30oZSxkLGYscik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDE2MSkpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfWUuZmxhZ3MmPS0zfTQwOTYmdCYmKGUuZmxhZ3MmPS00MDk3KX1mdW5jdGlvbiB1YShlLHQpe2lmKDkyNzAmdC5zdWJ0cmVlRmxhZ3MpZm9yKHQ9dC5jaGlsZDtudWxsIT09dDspdW8odCxlKSx0PXQuc2libGluZztlbHNlIWZ1bmN0aW9uIGUodCxuKXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIHI9dC5tZW1vaXplZFByb3BzLGw9dC5zdGF0ZU5vZGUsYT1ybihyLGwpLG89cmwoci5kZWZhdWx0LHIudXBkYXRlKTtpZihuKXZhciBpPW51bGw9PT0obD1sLmNsb25lcyk/bnVsbDpsLm1hcChjXyk7ZWxzZSBpPXQubWVtb2l6ZWRTdGF0ZSx0Lm1lbW9pemVkU3RhdGU9bnVsbDtsPXQ7dmFyIHU9dC5jaGlsZDtpST0wLGE9aSQobCx1LGEsYSxvLGksITEpLDAhPSg0JnQuZmxhZ3MpJiZhJiYobnx8dTUodCxyLm9uVXBkYXRlKSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0LG4pO3Q9dC5zaWJsaW5nfX0odCwhMSl9ZnVuY3Rpb24gdW8oZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtpZihudWxsPT09bilpaihlLCExKTtlbHNlIHN3aXRjaChlLnRhZyl7Y2FzZSAzOmlmKGkwPWlZPSExLGlNKCksdWEodCxlKSwhaVkmJiFpWil7aWYobnVsbCE9PShlPWlSKSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTMpe249ZVtyXTt2YXIgbD1lW3IrMV07Y1MobixlW3IrMl0pLG51bGwhPT0obj1uLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmbi5hbmltYXRlKHtvcGFjaXR5OlswLDBdLHBvaW50ZXJFdmVudHM6WyJub25lIiwibm9uZSJdfSx7ZHVyYXRpb246MCxmaWxsOiJmb3J3YXJkcyIscHNldWRvRWxlbWVudDoiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAoIitsKyIpIn0pfW51bGwhPT0oZT05PT09KGU9dC5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIiI9PT1lLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZSYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPSJub25lIixlLmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbIm5vbmUiLCJub25lIl19LHtkdXJhdGlvbjowLGZpbGw6ImZvcndhcmRzIixwc2V1ZG9FbGVtZW50OiI6OnZpZXctdHJhbnNpdGlvbi1ncm91cChyb290KSJ9KSxlLmFuaW1hdGUoe3dpZHRoOlswLDBdLGhlaWdodDpbMCwwXX0se2R1cmF0aW9uOjAsZmlsbDoiZm9yd2FyZHMiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uIn0pKSxpMD0hMH1pUj1udWxsO2JyZWFrO2Nhc2UgNTpkZWZhdWx0OnVhKHQsZSk7YnJlYWs7Y2FzZSA0OnI9aVksaVk9ITEsdWEodCxlKSxpWSYmKGlaPSEwKSxpWT1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1uLm1lbW9pemVkU3RhdGU/aWooZSwhMSk6dWEodCxlKSk7YnJlYWs7Y2FzZSAzMDpyPWlZLGw9aU0oKSxpWT0hMSx1YSh0LGUpLGlZJiYoZS5mbGFnc3w9NCk7dmFyIGE9ZS5tZW1vaXplZFByb3BzLG89ZS5zdGF0ZU5vZGU7dD1ybihhLG8pLG89cm4obi5tZW1vaXplZFByb3BzLG8pO3ZhciBpPXJsKGEuZGVmYXVsdCxhLnVwZGF0ZSk7Im5vbmUiPT09aT90PSExOihhPW4ubWVtb2l6ZWRTdGF0ZSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuPWUuY2hpbGQsaUk9MCx0PWkkKGUsbix0LG8saSxhLCEwKSxpSSE9PShudWxsPT09YT8wOmEubGVuZ3RoKSYmKGUuZmxhZ3N8PTMyKSksMCE9KDQmZS5mbGFncykmJnQ/KHU1KGUsZS5tZW1vaXplZFByb3BzLm9uVXBkYXRlKSxpUj1sKTpudWxsIT09bCYmKGwucHVzaC5hcHBseShsLGlSKSxpUj1sKSxpWT0wIT0oMzImZS5mbGFncyl8fHJ9fWZ1bmN0aW9uIHVpKGUsdCl7aWYoODc3MiZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10OylpMihlLHQuYWx0ZXJuYXRlLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHV1KGUsdCl7dmFyIG49bnVsbDtudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZT1udWxsLG51bGwhPT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYoZT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGUhPT1uJiYobnVsbCE9ZSYmZS5yZWZDb3VudCsrLG51bGwhPW4mJmxzKG4pKX1mdW5jdGlvbiB1cyhlLHQpe2U9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihlPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1lJiYodC5yZWZDb3VudCsrLG51bGwhPWUmJmxzKGUpKX1mdW5jdGlvbiB1YyhlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47aWYodC5zdWJ0cmVlRmxhZ3MmKGw/MTAyNjI6MTAyNTYpKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVmKGUsdCxuLHIpLHQ9dC5zaWJsaW5nO2Vsc2UgbCYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10OykzMD09PXQudGFnP2lGKHQuY2hpbGQsITEpOjAhPSgweDIwMDAwMDAmdC5zdWJ0cmVlRmxhZ3MpJiZlKHQpLHQ9dC5zaWJsaW5nfSh0KX1mdW5jdGlvbiB1ZihlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47bCYmbnVsbD09PXQuYWx0ZXJuYXRlJiZudWxsIT09dC5yZXR1cm4mJm51bGwhPT10LnJldHVybi5hbHRlcm5hdGUmJmlIKHQpO3ZhciBhPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVjKGUsdCxuLHIpLDIwNDgmYSYmaWgoOSx0KTticmVhaztjYXNlIDE6Y2FzZSAzMTpjYXNlIDEzOmRlZmF1bHQ6dWMoZSx0LG4scik7YnJlYWs7Y2FzZSAzOnVjKGUsdCxuLHIpLGwmJmkwJiYoInJvb3QiPT09KGU9OT09PShlPWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/ZS5ib2R5OiJIVE1MIj09PWUubm9kZU5hbWU/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSkuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9IiIpLG51bGwhPT0oZT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIm5vbmUiPT09ZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWUmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT0iIikpLDIwNDgmYSYmKGE9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihhPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1hJiYodC5yZWZDb3VudCsrLG51bGwhPWEmJmxzKGEpKSk7YnJlYWs7Y2FzZSAxMjppZigyMDQ4JmEpe3VjKGUsdCxuLHIpLGE9dC5zdGF0ZU5vZGU7dHJ5e3ZhciBvPXQubWVtb2l6ZWRQcm9wcyxpPW8uaWQsdT1vLm9uUG9zdENvbW1pdDsiZnVuY3Rpb24iPT10eXBlb2YgdSYmdShpLG51bGw9PT10LmFsdGVybmF0ZT8ibW91bnQiOiJ1cGRhdGUiLGEucGFzc2l2ZUVmZmVjdER1cmF0aW9uLC0wKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1lbHNlIHVjKGUsdCxuLHIpO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjpvPXQuc3RhdGVOb2RlLGk9dC5hbHRlcm5hdGUsbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT8obCYmbnVsbCE9PWkmJm51bGw9PT1pLm1lbW9pemVkU3RhdGUmJmlIKGkpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTp1ZChlLHQpKToobCYmbnVsbCE9PWkmJm51bGwhPT1pLm1lbW9pemVkU3RhdGUmJmlIKHQpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTooby5fdmlzaWJpbGl0eXw9MixmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKGE9YSYmMCE9KDEwMjU2Jm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZSh0LG8scixsLGEpLGloKDgsbyk7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOnZhciB1PW8uc3RhdGVOb2RlO251bGwhPT1vLm1lbW9pemVkU3RhdGU/MiZ1Ll92aXNpYmlsaXR5P2UodCxvLHIsbCxhKTp1ZCh0LG8pOih1Ll92aXNpYmlsaXR5fD0yLGUodCxvLHIsbCxhKSksYSYmMjA0OCZpJiZ1dShvLmFsdGVybmF0ZSxvKTticmVhaztjYXNlIDI0OmUodCxvLHIsbCxhKSxhJiYyMDQ4JmkmJnVzKG8uYWx0ZXJuYXRlLG8pO2JyZWFrO2RlZmF1bHQ6ZSh0LG8scixsLGEpfW49bi5zaWJsaW5nfX0oZSx0LG4sciwwIT0oMTAyNTYmdC5zdWJ0cmVlRmxhZ3MpKSkpLDIwNDgmYSYmdXUoaSx0KTticmVhaztjYXNlIDI0OnVjKGUsdCxuLHIpLDIwNDgmYSYmdXModC5hbHRlcm5hdGUsdCk7YnJlYWs7Y2FzZSAzMDpsJiZudWxsIT09KGE9dC5hbHRlcm5hdGUpJiYoaUYoYS5jaGlsZCwhMCksaUYodC5jaGlsZCwhMCkpLHVjKGUsdCxuLHIpfX1mdW5jdGlvbiB1ZChlLHQpe2lmKDEwMjU2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXt2YXIgbj10LHI9bi5mbGFncztzd2l0Y2gobi50YWcpe2Nhc2UgMjI6dWQoZSxuKSwyMDQ4JnImJnV1KG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2Nhc2UgMjQ6dWQoZSxuKSwyMDQ4JnImJnVzKG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2RlZmF1bHQ6dWQoZSxuKX10PXQuc2libGluZ319dmFyIHVwPTgxOTI7ZnVuY3Rpb24gdW0oZSx0LG4pe2lmKGUuc3VidHJlZUZsYWdzJnVwKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KXVoKGUsdCxuKSxlPWUuc2libGluZ31mdW5jdGlvbiB1aChlLHQsbil7c3dpdGNoKGUudGFnKXtjYXNlIDI2OnVtKGUsdCxuKSxlLmZsYWdzJnVwJiYobnVsbCE9PWUubWVtb2l6ZWRTdGF0ZT9mdW5jdGlvbihlLHQsbixyKXtpZigic3R5bGVzaGVldCI9PT1uLnR5cGUmJigic3RyaW5nIiE9dHlwZW9mIHIubWVkaWF8fCExIT09bWF0Y2hNZWRpYShyLm1lZGlhKS5tYXRjaGVzKSYmMD09KDQmbi5zdGF0ZS5sb2FkaW5nKSl7aWYobnVsbD09PW4uaW5zdGFuY2Upe3ZhciBsPWM0KHIuaHJlZiksYT10LnF1ZXJ5U2VsZWN0b3IoYzgobCkpO2lmKGEpe251bGwhPT0odD1hLl9wKSYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiYoZS5jb3VudCsrLGU9ZmQuYmluZChlKSx0LnRoZW4oZSxlKSksbi5zdGF0ZS5sb2FkaW5nfD00LG4uaW5zdGFuY2U9YSxlOChhKTtyZXR1cm59YT10Lm93bmVyRG9jdW1lbnR8fHQscj1jNShyKSwobD1jWS5nZXQobCkpJiZmdChyLGwpLGU4KGE9YS5jcmVhdGVFbGVtZW50KCJsaW5rIikpO3ZhciBvPWE7by5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSxuLmluc3RhbmNlPWF9bnVsbD09PWUuc3R5bGVzaGVldHMmJihlLnN0eWxlc2hlZXRzPW5ldyBNYXApLGUuc3R5bGVzaGVldHMuc2V0KG4sdCksKHQ9bi5zdGF0ZS5wcmVsb2FkKSYmMD09KDMmbi5zdGF0ZS5sb2FkaW5nKSYmKGUuY291bnQrKyxuPWZkLmJpbmQoZSksdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixuKSx0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixuKSl9fShuLHVuLGUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkUHJvcHMpOihlPWUuc3RhdGVOb2RlLCgweDEzZmZmZjQwJnQpPT09dCYmZnMobixlKSkpO2JyZWFrO2Nhc2UgNTp1bShlLHQsbiksZS5mbGFncyZ1cCYmKGU9ZS5zdGF0ZU5vZGUsKDB4MTNmZmZmNDAmdCk9PT10JiZmcyhuLGUpKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciByPXVuO3VuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHVtKGUsdCxuKSx1bj1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT0ocj1lLmFsdGVybmF0ZSkmJm51bGwhPT1yLm1lbW9pemVkU3RhdGU/KHI9dXAsdXA9MHgxMDAwMDAwLHVtKGUsdCxuKSx1cD1yKTp1bShlLHQsbikpO2JyZWFrO2Nhc2UgMzA6aWYoMCE9KGUuZmxhZ3MmdXApJiZudWxsIT0ocj1lLm1lbW9pemVkUHJvcHMubmFtZSkmJiJhdXRvIiE9PXIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucGFpcmVkPW51bGwsbnVsbD09PWl6JiYoaXo9bmV3IE1hcCksaXouc2V0KHIsbCl9dW0oZSx0LG4pO2JyZWFrO2RlZmF1bHQ6dW0oZSx0LG4pfX1mdW5jdGlvbiB1ZyhlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZihudWxsIT09dCYmbnVsbCE9PShlPXQuY2hpbGQpKXt0LmNoaWxkPW51bGw7ZG8gdD1lLnNpYmxpbmcsZS5zaWJsaW5nPW51bGwsZT10O3doaWxlKG51bGwhPT1lKX19ZnVuY3Rpb24gdXYoZSl7dmFyIHQ9ZS5kZWxldGlvbnM7aWYoMCE9KDE2JmUuZmxhZ3MpKXtpZihudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtpRz1yLHViKHIsZSl9dWcoZSl9aWYoMTAyNTYmZS5zdWJ0cmVlRmxhZ3MpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspdXkoZSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gdXkoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnV2KGUpLDIwNDgmZS5mbGFncyYmaWcoOSxlLGUucmV0dXJuKTticmVhaztjYXNlIDM6Y2FzZSAxMjpkZWZhdWx0OnV2KGUpO2JyZWFrO2Nhc2UgMjI6dmFyIHQ9ZS5zdGF0ZU5vZGU7bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmMiZ0Ll92aXNpYmlsaXR5JiYobnVsbD09PWUucmV0dXJufHwxMyE9PWUucmV0dXJuLnRhZyk/KHQuX3Zpc2liaWxpdHkmPS0zLGZ1bmN0aW9uIGUodCl7dmFyIG49dC5kZWxldGlvbnM7aWYoMCE9KDE2JnQuZmxhZ3MpKXtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtpRz1sLHViKGwsdCl9dWcodCl9Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3N3aXRjaCgobj10KS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMjI6MiYocj1uLnN0YXRlTm9kZSkuX3Zpc2liaWxpdHkmJihyLl92aXNpYmlsaXR5Jj0tMyxlKG4pKTticmVhaztkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSk6dXYoZSl9fWZ1bmN0aW9uIHViKGUsdCl7Zm9yKDtudWxsIT09aUc7KXt2YXIgbj1pRztzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLHQpO2JyZWFrO2Nhc2UgMjM6Y2FzZSAyMjppZihudWxsIT09bi5tZW1vaXplZFN0YXRlJiZudWxsIT09bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCl7dmFyIHI9bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO251bGwhPXImJnIucmVmQ291bnQrK31icmVhaztjYXNlIDI0OmxzKG4ubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9aWYobnVsbCE9PShyPW4uY2hpbGQpKXIucmV0dXJuPW4saUc9cjtlbHNlIGZvcihuPWU7bnVsbCE9PWlHOyl7dmFyIGw9KHI9aUcpLnNpYmxpbmcsYT1yLnJldHVybjtpZighZnVuY3Rpb24gZSh0KXt2YXIgbj10LmFsdGVybmF0ZTtudWxsIT09biYmKHQuYWx0ZXJuYXRlPW51bGwsZShuKSksdC5jaGlsZD1udWxsLHQuZGVsZXRpb25zPW51bGwsdC5zaWJsaW5nPW51bGwsNT09PXQudGFnJiZudWxsIT09KG49dC5zdGF0ZU5vZGUpJiZlMChuKSx0LnN0YXRlTm9kZT1udWxsLHQucmV0dXJuPW51bGwsdC5kZXBlbmRlbmNpZXM9bnVsbCx0Lm1lbW9pemVkUHJvcHM9bnVsbCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnBlbmRpbmdQcm9wcz1udWxsLHQuc3RhdGVOb2RlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsfShyKSxyPT09bil7aUc9bnVsbDticmVha31pZihudWxsIT09bCl7bC5yZXR1cm49YSxpRz1sO2JyZWFrfWlHPWF9fX12YXIgdXc9e2dldENhY2hlRm9yVHlwZTpmdW5jdGlvbihlKXt2YXIgdD1sdChsaSksbj10LmRhdGEuZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1uJiYobj1lKCksdC5kYXRhLnNldChlLG4pKSxufSxjYWNoZVNpZ25hbDpmdW5jdGlvbigpe3JldHVybiBsdChsaSkuY29udHJvbGxlci5zaWduYWx9fSx1az0iZnVuY3Rpb24iPT10eXBlb2YgV2Vha01hcD9XZWFrTWFwOk1hcCx1Uz0wLHVFPW51bGwsdXg9bnVsbCx1Xz0wLHVQPTAsdU49bnVsbCx1Qz0hMSx1VD0hMSx1Tz0hMSx1ej0wLHVMPTAsdVI9MCx1TT0wLHVJPTAsdUQ9MCx1Rj0wLHVBPW51bGwsdWo9bnVsbCx1VT0hMSx1Qj0wLHVWPTAsdUg9MS8wLHUkPW51bGwsdVE9bnVsbCx1Vz0wLHVxPW51bGwsdUs9bnVsbCx1WD0wLHVHPTAsdVk9bnVsbCx1Sj1udWxsLHVaPW51bGwsdTA9bnVsbCx1MT1udWxsLHUyPTAsdTM9bnVsbDtmdW5jdGlvbiB1NCgpe3JldHVybiAwIT0oMiZ1UykmJjAhPT11Xz91XyYtdV86bnVsbCE9PVcuVD9zJCgpOmVIKCl9ZnVuY3Rpb24gdTgoKXtpZigwPT09dUQpaWYoMD09KDB4MjAwMDAwMDAmdV8pfHxyJCl7dmFyIGU9ZU87MD09KDM5MzIxNjAmKGVPPDw9MSkpJiYoZU89MjYyMTQ0KSx1RD1lfWVsc2UgdUQ9MHgyMDAwMDAwMDtyZXR1cm4gbnVsbCE9PShlPWwzLmN1cnJlbnQpJiYoZS5mbGFnc3w9MzIpLHVEfWZ1bmN0aW9uIHU1KGUsdCl7aWYobnVsbCE9dCl7dmFyIG49ZS5zdGF0ZU5vZGUscj1uLnJlZjtudWxsPT09ciYmKHI9bi5yZWY9Y0Mocm4oZS5tZW1vaXplZFByb3BzLG4pKSksbnVsbD09PXUwJiYodTA9W10pLHUwLnB1c2godC5iaW5kKG51bGwscikpfX1mdW5jdGlvbiB1NihlLHQsbil7KGU9PT11RSYmKDI9PT11UHx8OT09PXVQKXx8bnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdCkmJihzcihlLDApLHNlKGUsdV8sdUQsITEpKSxlRihlLG4pLCgwPT0oMiZ1Uyl8fGUhPT11RSkmJihlPT09dUUmJigwPT0oMiZ1UykmJih1TXw9biksND09PXVMJiZzZShlLHVfLHVELCExKSksc0YoZSkpfWZ1bmN0aW9uIHU5KGUsdCxuKXtpZigwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMjcpKTtmb3IodmFyIHI9IW4mJjA9PSgxMjcmdCkmJjA9PSh0JmUuZXhwaXJlZExhbmVzKXx8ZU0oZSx0KSxsPXI/ZnVuY3Rpb24oZSx0KXt2YXIgbj11Uzt1U3w9Mjt2YXIgcj1zbygpLGw9c2koKTt1RSE9PWV8fHVfIT09dD8odSQ9bnVsbCx1SD1ldigpKzUwMCxzcihlLHQpKTp1VD1lTShlLHQpO2U6Zm9yKDs7KXRyeXtpZigwIT09dVAmJm51bGwhPT11eCl7dD11eDt2YXIgYT11Tjt0OnN3aXRjaCh1UCl7Y2FzZSAxOnVQPTAsdU49bnVsbCxzZChlLHQsYSwxKTticmVhaztjYXNlIDI6Y2FzZSA5OmlmKGxQKGEpKXt1UD0wLHVOPW51bGwsc2YodCk7YnJlYWt9dD1mdW5jdGlvbigpezIhPT11UCYmOSE9PXVQfHx1RSE9PWV8fCh1UD03KSxzRihlKX0sYS50aGVuKHQsdCk7YnJlYWsgZTtjYXNlIDM6dVA9NzticmVhayBlO2Nhc2UgNDp1UD01O2JyZWFrIGU7Y2FzZSA3OmxQKGEpPyh1UD0wLHVOPW51bGwsc2YodCkpOih1UD0wLHVOPW51bGwsc2QoZSx0LGEsNykpO2JyZWFrO2Nhc2UgNTp2YXIgbz1udWxsO3N3aXRjaCh1eC50YWcpe2Nhc2UgMjY6bz11eC5tZW1vaXplZFN0YXRlO2Nhc2UgNTpjYXNlIDI3OnZhciBpPXV4O2lmKG8/Zmkobyk6aS5zdGF0ZU5vZGUuY29tcGxldGUpe3VQPTAsdU49bnVsbDt2YXIgcz1pLnNpYmxpbmc7aWYobnVsbCE9PXMpdXg9cztlbHNle3ZhciBjPWkucmV0dXJuO251bGwhPT1jPyh1eD1jLHNwKGMpKTp1eD1udWxsfWJyZWFrIHR9fXVQPTAsdU49bnVsbCxzZChlLHQsYSw1KTticmVhaztjYXNlIDY6dVA9MCx1Tj1udWxsLHNkKGUsdCxhLDYpO2JyZWFrO2Nhc2UgODpzbigpLHVMPTY7YnJlYWsgZTtkZWZhdWx0OnRocm93IEVycm9yKHUoNDYyKSl9fWZvcig7bnVsbCE9PXV4JiYhZWgoKTspc2ModXgpO2JyZWFrfWNhdGNoKHQpe3NsKGUsdCl9cmV0dXJuKHIzPXIyPW51bGwsVy5IPXIsVy5BPWwsdVM9bixudWxsIT09dXgpPzA6KHVFPW51bGwsdV89MCxycygpLHVMKX0oZSx0KTpzcyhlLHQsITApLGE9cjs7KXtpZigwPT09bCl1VCYmIXImJnNlKGUsdCwwLCExKTtlbHNle2lmKG49ZS5jdXJyZW50LmFsdGVybmF0ZSxhJiYhZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWU7Oyl7dmFyIG49dC50YWc7aWYoKDA9PT1ufHwxMT09PW58fDE1PT09bikmJjE2Mzg0JnQuZmxhZ3MmJm51bGwhPT0obj10LnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PShuPW4uc3RvcmVzKSlmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXSxhPWwuZ2V0U25hcHNob3Q7bD1sLnZhbHVlO3RyeXtpZighbkEoYSgpLGwpKXJldHVybiExfWNhdGNoKGUpe3JldHVybiExfX1pZihuPXQuY2hpbGQsMTYzODQmdC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1uKW4ucmV0dXJuPXQsdD1uO2Vsc2V7aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH0obikpe2w9c3MoZSx0LCExKSxhPSExO2NvbnRpbnVlfWlmKDI9PT1sKXtpZihhPXQsZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyZhKXZhciBvPTA7ZWxzZSBvPTAhPShvPS0weDIwMDAwMDAxJmUucGVuZGluZ0xhbmVzKT9vOjB4MjAwMDAwMDAmbz8weDIwMDAwMDAwOjA7aWYoMCE9PW8pe3Q9bztlOntsPXVBO3ZhciBpPWUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZDtpZihpJiYoc3IoZSxvKS5mbGFnc3w9MjU2KSwyIT09KG89c3MoZSxvLCExKSkpe2lmKHVPJiYhaSl7ZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lc3w9YSx1TXw9YSxsPTQ7YnJlYWsgZX1hPXVqLHVqPWwsbnVsbCE9PWEmJihudWxsPT09dWo/dWo9YTp1ai5wdXNoLmFwcGx5KHVqLGEpKX1sPW99aWYoYT0hMSwyIT09bCljb250aW51ZX19aWYoMT09PWwpe3NyKGUsMCksc2UoZSx0LDAsITApO2JyZWFrfWU6e3N3aXRjaChyPWUsYT1sKXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKHUoMzQ1KSk7Y2FzZSA0OmlmKCg0MTk0MDQ4JnQpIT09dCYmKDB4M2MwMDAwMCZ0KSE9PXQpYnJlYWs7Y2FzZSA2OnNlKHIsdCx1RCwhdUMpO2JyZWFrIGU7Y2FzZSAyOnVqPW51bGw7YnJlYWs7Y2FzZSAzOmNhc2UgNTpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzI5KSl9aWYoKDB4M2MwMDAwMCZ0KT09PXQmJjEwPChsPXVCKzMwMC1ldigpKSl7aWYoc2Uocix0LHVELCF1QyksMCE9PWVSKHIsMCwhMCkpYnJlYWsgZTt1WD10LHIudGltZW91dEhhbmRsZT1jcCh1Ny5iaW5kKG51bGwscixuLHVqLHUkLHVVLHQsdUQsdU0sdUYsdUMsYSwiVGhyb3R0bGVkIiwtMCwwKSxsKTticmVhayBlfXU3KHIsbix1aix1JCx1VSx0LHVELHVNLHVGLHVDLGEsbnVsbCwtMCwwKX19YnJlYWt9c0YoZSl9ZnVuY3Rpb24gdTcoZSx0LG4scixsLGEsbyxpLHUscyxjLGYsZCxwKXtlLnRpbWVvdXRIYW5kbGU9LTE7dmFyIG0saCxnPXQuc3VidHJlZUZsYWdzLHY9KDB4MTNmZmZmMDAmYSk9PT1hO2lmKGY9bnVsbCwodnx8ODE5MiZnfHwweDEwMDIwMDA9PSgweDEwMDIwMDAmZykpJiYoaXo9bnVsbCx1aCh0LGEsZj17c3R5bGVzaGVldHM6bnVsbCxjb3VudDowLGltZ0NvdW50OjAsaW1nQnl0ZXM6MCxzdXNwZW5zZXlJbWFnZXM6W10sd2FpdGluZ0ZvckltYWdlczohMCx3YWl0aW5nRm9yVmlld1RyYW5zaXRpb246ITEsdW5zdXNwZW5kOnRUfSksdiYmKGc9ZixudWxsIT0odj0oOT09PSh2PWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/djp2Lm93bmVyRG9jdW1lbnQpLl9fcmVhY3RWaWV3VHJhbnNpdGlvbikmJihnLmNvdW50KyssZy53YWl0aW5nRm9yVmlld1RyYW5zaXRpb249ITAsZz1mZC5iaW5kKGcpLHYuZmluaXNoZWQudGhlbihnLGcpKSksbnVsbCE9PShtPWYsaD1nPSgweDNjMDAwMDAmYSk9PT1hP3VCLWV2KCk6KDQxOTQwNDgmYSk9PT1hP3VWLWV2KCk6MCxtLnN0eWxlc2hlZXRzJiYwPT09bS5jb3VudCYmZmgobSxtLnN0eWxlc2hlZXRzKSxnPTA8bS5jb3VudHx8MDxtLmltZ0NvdW50P2Z1bmN0aW9uKGUpe3ZhciB0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihtLnN0eWxlc2hlZXRzJiZmaChtLG0uc3R5bGVzaGVldHMpLG0udW5zdXNwZW5kKXt2YXIgZT1tLnVuc3VzcGVuZDttLnVuc3VzcGVuZD1udWxsLGUoKX19LDZlNCtoKTswPG0uaW1nQnl0ZXMmJjA9PT1mYyYmKGZjPTYyNTAwKmZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe2Zvcih2YXIgZT0wLHQ9MCxuPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdLGE9bC50cmFuc2ZlclNpemUsbz1sLmluaXRpYXRvclR5cGUsaT1sLmR1cmF0aW9uO2lmKGEmJmkmJmNhKG8pKXtmb3Iobz0wLGk9bC5yZXNwb25zZUVuZCxyKz0xO3I8bi5sZW5ndGg7cisrKXt2YXIgdT1uW3JdLHM9dS5zdGFydFRpbWU7aWYocz5pKWJyZWFrO3ZhciBjPXUudHJhbnNmZXJTaXplLGY9dS5pbml0aWF0b3JUeXBlO2MmJmNhKGYpJiYobys9YyooKHU9dS5yZXNwb25zZUVuZCk8aT8xOihpLXMpLyh1LXMpKSl9aWYoLS1yLHQrPTgqKGErbykvKGwuZHVyYXRpb24vMWUzKSwxMDwrK2UpYnJlYWt9fWlmKDA8ZSlyZXR1cm4gdC9lLzFlNn1yZXR1cm4gbmF2aWdhdG9yLmNvbm5lY3Rpb24mJiJudW1iZXIiPT10eXBlb2YoZT1uYXZpZ2F0b3IuY29ubmVjdGlvbi5kb3dubGluayk/ZTo1fSgpKTt2YXIgbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobS53YWl0aW5nRm9ySW1hZ2VzPSExLDA9PT1tLmNvdW50JiYobS5zdHlsZXNoZWV0cyYmZmgobSxtLnN0eWxlc2hlZXRzKSxtLnVuc3VzcGVuZCkpe3ZhciBlPW0udW5zdXNwZW5kO20udW5zdXNwZW5kPW51bGwsZSgpfX0sKG0uaW1nQnl0ZXM+ZmM/NTA6ODAwKStoKTtyZXR1cm4gbS51bnN1c3BlbmQ9ZSxmdW5jdGlvbigpe20udW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KHQpLGNsZWFyVGltZW91dChuKX19Om51bGwpKSl7dVg9YSxlLmNhbmNlbFBlbmRpbmdDb21taXQ9ZyhzaC5iaW5kKG51bGwsZSx0LGEsbixyLGwsbyxpLHUsYyxmLG51bGwsZCxwKSksc2UoZSxhLG8sIXMpO3JldHVybn1zaChlLHQsYSxuLHIsbCxvLGksdSxjLGYpfWZ1bmN0aW9uIHNlKGUsdCxuLHIpe3QmPX51SSx0Jj1+dU0sZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1+dCxyJiYoZS53YXJtTGFuZXN8PXQpLHI9ZS5leHBpcmF0aW9uVGltZXM7Zm9yKHZhciBsPXQ7MDxsOyl7dmFyIGE9MzEtZVAobCksbz0xPDxhO3JbYV09LTEsbCY9fm99MCE9PW4mJmVBKGUsbix0KX1mdW5jdGlvbiBzdCgpe3JldHVybiAwIT0oNiZ1Uyl8fChzQSgwLCExKSwhMSl9ZnVuY3Rpb24gc24oKXtpZihudWxsIT09dXgpe2lmKDA9PT11UCl2YXIgZT11eC5yZXR1cm47ZWxzZSBlPXV4LHIzPXIyPW51bGwsYUUoZSksbEw9bnVsbCxsUj0wLGU9dXg7Zm9yKDtudWxsIT09ZTspaW0oZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjt1eD1udWxsfX1mdW5jdGlvbiBzcihlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTstMSE9PW4mJihlLnRpbWVvdXRIYW5kbGU9LTEsY20obikpLG51bGwhPT0obj1lLmNhbmNlbFBlbmRpbmdDb21taXQpJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSx1WD0wLHNuKCksdUU9ZSx1eD1uPXJiKGUuY3VycmVudCxudWxsKSx1Xz10LHVQPTAsdU49bnVsbCx1Qz0hMSx1VD1lTShlLHQpLHVPPSExLHVGPXVEPXVJPXVNPXVSPXVMPTAsdWo9dUE9bnVsbCx1VT0hMSwwIT0oOCZ0KSYmKHR8PTMyJnQpO3ZhciByPWUuZW50YW5nbGVkTGFuZXM7aWYoMCE9PXIpZm9yKGU9ZS5lbnRhbmdsZW1lbnRzLHImPXQ7MDxyOyl7dmFyIGw9MzEtZVAociksYT0xPDxsO3R8PWVbbF0sciY9fmF9cmV0dXJuIHV6PXQscnMoKSxufWZ1bmN0aW9uIHNsKGUsdCl7YWE9bnVsbCxXLkg9b1MsdD09PWxTfHx0PT09bHg/KHQ9bE8oKSx1UD0zKTp0PT09bEU/KHQ9bE8oKSx1UD00KTp1UD10PT09b2o/ODpudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuPzY6MSx1Tj10LG51bGw9PT11eCYmKHVMPTEsb00oZSxyTih0LGUuY3VycmVudCkpKX1mdW5jdGlvbiBzYSgpe3ZhciBlPWwzLmN1cnJlbnQ7cmV0dXJuIG51bGw9PT1lfHwoKDQxOTQwNDgmdV8pPT09dV8/bnVsbD09PWw0OigoMHgzYzAwMDAwJnVfKT09PXVffHwwIT0oMHgyMDAwMDAwMCZ1XykpJiZlPT09bDQpfWZ1bmN0aW9uIHNvKCl7dmFyIGU9Vy5IO3JldHVybiBXLkg9b1MsbnVsbD09PWU/b1M6ZX1mdW5jdGlvbiBzaSgpe3ZhciBlPVcuQTtyZXR1cm4gVy5BPXV3LGV9ZnVuY3Rpb24gc3UoKXt1TD00LHVDfHwoNDE5NDA0OCZ1XykhPT11XyYmbnVsbCE9PWwzLmN1cnJlbnR8fCh1VD0hMCksMD09KDB4N2ZmZmZmZiZ1UikmJjA9PSgweDdmZmZmZmYmdU0pfHxudWxsPT09dUV8fHNlKHVFLHVfLHVELCExKX1mdW5jdGlvbiBzcyhlLHQsbil7dmFyIHI9dVM7dVN8PTI7dmFyIGw9c28oKSxhPXNpKCk7KHVFIT09ZXx8dV8hPT10KSYmKHUkPW51bGwsc3IoZSx0KSksdD0hMTt2YXIgbz11TDtlOmZvcig7Oyl0cnl7aWYoMCE9PXVQJiZudWxsIT09dXgpe3ZhciBpPXV4LHU9dU47c3dpdGNoKHVQKXtjYXNlIDg6c24oKSxvPTY7YnJlYWsgZTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6bnVsbD09PWwzLmN1cnJlbnQmJih0PSEwKTt2YXIgcz11UDtpZih1UD0wLHVOPW51bGwsc2QoZSxpLHUscyksbiYmdVQpe289MDticmVhayBlfWJyZWFrO2RlZmF1bHQ6cz11UCx1UD0wLHVOPW51bGwsc2QoZSxpLHUscyl9fShmdW5jdGlvbigpe2Zvcig7bnVsbCE9PXV4OylzYyh1eCl9KSgpLG89dUw7YnJlYWt9Y2F0Y2godCl7c2woZSx0KX1yZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKysscjM9cjI9bnVsbCx1Uz1yLFcuSD1sLFcuQT1hLG51bGw9PT11eCYmKHVFPW51bGwsdV89MCxycygpKSxvfWZ1bmN0aW9uIHNjKGUpe3ZhciB0PWlvKGUuYWx0ZXJuYXRlLGUsdXopO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyxudWxsPT09dD9zcChlKTp1eD10fWZ1bmN0aW9uIHNmKGUpe3ZhciB0PWUsbj10LmFsdGVybmF0ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTU6Y2FzZSAwOnQ9b0oobix0LHQucGVuZGluZ1Byb3BzLHQudHlwZSx2b2lkIDAsdV8pO2JyZWFrO2Nhc2UgMTE6dD1vSihuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLnJlbmRlcix0LnJlZix1Xyk7YnJlYWs7Y2FzZSA1OmFFKHQpO2RlZmF1bHQ6aW0obix0KSx0PWlvKG4sdD11eD1ydyh0LHV6KSx1eil9ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10P3NwKGUpOnV4PXR9ZnVuY3Rpb24gc2QoZSx0LG4scil7cjM9cjI9bnVsbCxhRSh0KSxsTD1udWxsLGxSPTA7dmFyIGw9dC5yZXR1cm47dHJ5e2lmKGZ1bmN0aW9uKGUsdCxuLHIsbCl7aWYobi5mbGFnc3w9MzI3NjgsbnVsbCE9PXImJiJvYmplY3QiPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIHIudGhlbil7aWYobnVsbCE9PSh0PW4uYWx0ZXJuYXRlKSYmcjkodCxuLGwsITApLG51bGwhPT0obj1sMy5jdXJyZW50KSl7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gbnVsbD09PWw0P3N1KCk6bnVsbD09PW4uYWx0ZXJuYXRlJiYwPT09dUwmJih1TD0zKSxuLmZsYWdzJj0tMjU3LG4uZmxhZ3N8PTY1NTM2LG4ubGFuZXM9bCxyPT09bF8/bi5mbGFnc3w9MTYzODQ6KG51bGw9PT0odD1uLnVwZGF0ZVF1ZXVlKT9uLnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW3JdKTp0LmFkZChyKSxzUChlLHIsbCkpLCExO2Nhc2UgMjI6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LHI9PT1sXz9uLmZsYWdzfD0xNjM4NDoobnVsbD09PSh0PW4udXBkYXRlUXVldWUpPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbcl0pfSxuLnVwZGF0ZVF1ZXVlPXQpOm51bGw9PT0obj10LnJldHJ5UXVldWUpP3QucmV0cnlRdWV1ZT1uZXcgU2V0KFtyXSk6bi5hZGQociksc1AoZSxyLGwpKSwhMX10aHJvdyBFcnJvcih1KDQzNSxuLnRhZykpfXJldHVybiBzUChlLHIsbCksc3UoKSwhMX1pZihyJClyZXR1cm4gbnVsbCE9PSh0PWwzLmN1cnJlbnQpPygwPT0oNjU1MzYmdC5mbGFncykmJih0LmZsYWdzfD0yNTYpLHQuZmxhZ3N8PTY1NTM2LHQubGFuZXM9bCxyIT09cnEmJnIwKHJOKGU9RXJyb3IodSg0MjIpLHtjYXVzZTpyfSksbikpKToociE9PXJxJiZyMChyTih0PUVycm9yKHUoNDIzKSx7Y2F1c2U6cn0pLG4pKSxlPWUuY3VycmVudC5hbHRlcm5hdGUsZS5mbGFnc3w9NjU1MzYsbCY9LWwsZS5sYW5lc3w9bCxyPXJOKHIsbiksbD1vRChlLnN0YXRlTm9kZSxyLGwpLGxXKGUsbCksNCE9PXVMJiYodUw9MikpLCExO3ZhciBhPUVycm9yKHUoNTIwKSx7Y2F1c2U6cn0pO2lmKGE9ck4oYSxuKSxudWxsPT09dUE/dUE9W2FdOnVBLnB1c2goYSksNCE9PXVMJiYodUw9MiksbnVsbD09PXQpcmV0dXJuITA7cj1yTihyLG4pLG49dDtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpyZXR1cm4gbi5mbGFnc3w9NjU1MzYsZT1sJi1sLG4ubGFuZXN8PWUsZT1vRChuLnN0YXRlTm9kZSxyLGUpLGxXKG4sZSksITE7Y2FzZSAxOmlmKHQ9bi50eXBlLGE9bi5zdGF0ZU5vZGUsMD09KDEyOCZuLmZsYWdzKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PXVRfHwhdVEuaGFzKGEpKSkpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LGwmPS1sLG4ubGFuZXN8PWwsb0EobD1vRihsKSxlLG4sciksbFcobixsKSwhMTticmVhaztjYXNlIDIyOmlmKG51bGwhPT1uLm1lbW9pemVkU3RhdGUpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LCExfW49bi5yZXR1cm59d2hpbGUobnVsbCE9PW4pcmV0dXJuITF9KGUsbCx0LG4sdV8pKXt1TD0xLG9NKGUsck4obixlLmN1cnJlbnQpKSx1eD1udWxsO3JldHVybn19Y2F0Y2godCl7aWYobnVsbCE9PWwpdGhyb3cgdXg9bCx0O3VMPTEsb00oZSxyTihuLGUuY3VycmVudCkpLHV4PW51bGw7cmV0dXJufTMyNzY4JnQuZmxhZ3M/KHIkfHwxPT09cj9lPSEwOnVUfHwwIT0oMHgyMDAwMDAwMCZ1Xyk/ZT0hMToodUM9ZT0hMCwoMj09PXJ8fDk9PT1yfHwzPT09cnx8Nj09PXIpJiZudWxsIT09KHI9bDMuY3VycmVudCkmJjEzPT09ci50YWcmJihyLmZsYWdzfD0xNjM4NCkpLHNtKHQsZSkpOnNwKHQpfWZ1bmN0aW9uIHNwKGUpe3ZhciB0PWU7ZG97aWYoMCE9KDMyNzY4JnQuZmxhZ3MpKXJldHVybiB2b2lkIHNtKHQsdUMpO2U9dC5yZXR1cm47dmFyIG49ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzO3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpjYXNlIDE6cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAzOnJldHVybiBuPXQuc3RhdGVOb2RlLHI9bnVsbCxudWxsIT09ZSYmKHI9ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1yJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGVhKCksbi5wZW5kaW5nQ29udGV4dCYmKG4uY29udGV4dD1uLnBlbmRpbmdDb250ZXh0LG4ucGVuZGluZ0NvbnRleHQ9bnVsbCksKG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJihyWSh0KT9paSh0KTpudWxsPT09ZXx8ZS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmMD09KDI1NiZ0LmZsYWdzKXx8KHQuZmxhZ3N8PTEwMjQsclooKSkpLGlwKHQpLG51bGw7Y2FzZSAyNjp2YXIgbD10LnR5cGUsYT10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGw9PT1lPyhpaSh0KSxudWxsIT09YT8oaXAodCksaXModCxhKSk6KGlwKHQpLGl1KHQsbCxudWxsLHIsbikpKTphP2EhPT1lLm1lbW9pemVkU3RhdGU/KGlpKHQpLGlwKHQpLGlzKHQsYSkpOihpcCh0KSx0LmZsYWdzJj0tMHgxMDAwMDAxKTooKGU9ZS5tZW1vaXplZFByb3BzKSE9PXImJmlpKHQpLGlwKHQpLGl1KHQsbCxlLHIsbikpLG51bGw7Y2FzZSAyNzppZihlaSh0KSxuPWVuLmN1cnJlbnQsbD10LnR5cGUsbnVsbCE9PWUmJm51bGwhPXQuc3RhdGVOb2RlKWUubWVtb2l6ZWRQcm9wcyE9PXImJmlpKHQpO2Vsc2V7aWYoIXIpe2lmKG51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO3JldHVybiBpcCh0KSx0LnN1YnRyZWVGbGFncyY9LTB4MjAwMDAwMSxudWxsfWU9ZWUuY3VycmVudCxyWSh0KT9yWCh0LGUpOih0LnN0YXRlTm9kZT1lPWNYKGwscixuKSxpaSh0KSl9cmV0dXJuIGlwKHQpLHQuc3VidHJlZUZsYWdzJj0tMHgyMDAwMDAxLG51bGw7Y2FzZSA1OmlmKGVpKHQpLGw9dC50eXBlLG51bGwhPT1lJiZudWxsIT10LnN0YXRlTm9kZSllLm1lbW9pemVkUHJvcHMhPT1yJiZpaSh0KTtlbHNle2lmKCFyKXtpZihudWxsPT09dC5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsbnVsbH1pZihhPWVlLmN1cnJlbnQsclkodCkpclgodCxhKTtlbHNle3ZhciBvPWN1KGVuLmN1cnJlbnQpO3N3aXRjaChhKXtjYXNlIDE6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UgMjphPW8uY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixsKTticmVhaztkZWZhdWx0OnN3aXRjaChsKXtjYXNlInN2ZyI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UibWF0aCI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsbCk7YnJlYWs7Y2FzZSJzY3JpcHQiOihhPW8uY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48L3NjcmlwdD4iLGE9YS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2JyZWFrO2Nhc2Uic2VsZWN0IjphPSJzdHJpbmciPT10eXBlb2Ygci5pcz9vLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIse2lzOnIuaXN9KTpvLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLHIubXVsdGlwbGU/YS5tdWx0aXBsZT0hMDpyLnNpemUmJihhLnNpemU9ci5zaXplKTticmVhaztkZWZhdWx0OmE9InN0cmluZyI9PXR5cGVvZiByLmlzP28uY3JlYXRlRWxlbWVudChsLHtpczpyLmlzfSk6by5jcmVhdGVFbGVtZW50KGwpfX1hW2VXXT10LGFbZXFdPXI7ZTpmb3Iobz10LmNoaWxkO251bGwhPT1vOyl7aWYoNT09PW8udGFnfHw2PT09by50YWcpYS5hcHBlbmRDaGlsZChvLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09by50YWcmJjI3IT09by50YWcmJm51bGwhPT1vLmNoaWxkKXtvLmNoaWxkLnJldHVybj1vLG89by5jaGlsZDtjb250aW51ZX1pZihvPT09dClicmVhaztmb3IoO251bGw9PT1vLnNpYmxpbmc7KXtpZihudWxsPT09by5yZXR1cm58fG8ucmV0dXJuPT09dClicmVhayBlO289by5yZXR1cm59by5zaWJsaW5nLnJldHVybj1vLnJldHVybixvPW8uc2libGluZ31zd2l0Y2godC5zdGF0ZU5vZGU9YSxjbChhLGwsciksbCl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpyPSEhci5hdXRvRm9jdXM7YnJlYWs7Y2FzZSJpbWciOnI9ITA7YnJlYWs7ZGVmYXVsdDpyPSExfXImJmlpKHQpfX1yZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsaXUodCx0LnR5cGUsbnVsbD09PWU/bnVsbDplLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsbiksbnVsbDtjYXNlIDY6aWYoZSYmbnVsbCE9dC5zdGF0ZU5vZGUpZS5tZW1vaXplZFByb3BzIT09ciYmaWkodCk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHImJm51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO2lmKGU9ZW4uY3VycmVudCxyWSh0KSl7aWYoZT10LnN0YXRlTm9kZSxuPXQubWVtb2l6ZWRQcm9wcyxyPW51bGwsbnVsbCE9PShsPXJWKSlzd2l0Y2gobC50YWcpe2Nhc2UgMjc6Y2FzZSA1OnI9bC5tZW1vaXplZFByb3BzfWVbZVddPXQsKGU9ISEoZS5ub2RlVmFsdWU9PT1ufHxudWxsIT09ciYmITA9PT1yLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x8Y3QoZS5ub2RlVmFsdWUsbikpKXx8cksodCwhMCl9ZWxzZShlPWN1KGUpLmNyZWF0ZVRleHROb2RlKHIpKVtlV109dCx0LnN0YXRlTm9kZT1lfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMzE6aWYobj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpe2lmKHI9clkodCksbnVsbCE9PW4pe2lmKG51bGw9PT1lKXtpZighcil0aHJvdyBFcnJvcih1KDMxOCkpO2lmKCEoZT1udWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSg1NTcpKTtlW2VXXT10fWVsc2UgckooKSwwPT0oMTI4JnQuZmxhZ3MpJiYodC5tZW1vaXplZFN0YXRlPW51bGwpLHQuZmxhZ3N8PTQ7aXAodCksZT0hMX1lbHNlIG49clooKSxudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmKGUubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9biksZT0hMDtpZighZSl7aWYoMjU2JnQuZmxhZ3MpcmV0dXJuIGw3KHQpLHQ7cmV0dXJuIGw3KHQpLG51bGx9aWYoMCE9KDEyOCZ0LmZsYWdzKSl0aHJvdyBFcnJvcih1KDU1OCkpfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMTM6aWYocj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCl7aWYobD1yWSh0KSxudWxsIT09ciYmbnVsbCE9PXIuZGVoeWRyYXRlZCl7aWYobnVsbD09PWUpe2lmKCFsKXRocm93IEVycm9yKHUoMzE4KSk7aWYoIShsPW51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpP2wuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcih1KDMxNykpO2xbZVddPXR9ZWxzZSBySigpLDA9PSgxMjgmdC5mbGFncykmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDtpcCh0KSxsPSExfWVsc2UgbD1yWigpLG51bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1sKSxsPSEwO2lmKCFsKXtpZigyNTYmdC5mbGFncylyZXR1cm4gbDcodCksdDtyZXR1cm4gbDcodCksbnVsbH19aWYobDcodCksMCE9KDEyOCZ0LmZsYWdzKSlyZXR1cm4gdC5sYW5lcz1uLHQ7cmV0dXJuIG49bnVsbCE9PXIsZT1udWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxuJiYocj10LmNoaWxkLGw9bnVsbCxudWxsIT09ci5hbHRlcm5hdGUmJm51bGwhPT1yLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihsPXIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGE9bnVsbCxudWxsIT09ci5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKGE9ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxhIT09bCYmKHIuZmxhZ3N8PTIwNDgpKSxuIT09ZSYmbiYmKHQuY2hpbGQuZmxhZ3N8PTgxOTIpLGljKHQsdC51cGRhdGVRdWV1ZSksaXAodCksbnVsbDtjYXNlIDQ6cmV0dXJuIGVhKCksbnVsbD09PWUmJnMxKHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHQuZmxhZ3N8PTB4NDAwMDAwMCxpcCh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksaXAodCksbnVsbDtjYXNlIDE5OmlmKGFuKHQpLG51bGw9PT0ocj10Lm1lbW9pemVkU3RhdGUpKXJldHVybiBpcCh0KSxudWxsO2lmKGw9MCE9KDEyOCZ0LmZsYWdzKSxudWxsPT09KGE9ci5yZW5kZXJpbmcpKWlmKGwpaWQociwhMSk7ZWxzZXtpZigwIT09dUx8fG51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZihudWxsIT09KGE9YXIoZSkpKXtmb3IodC5mbGFnc3w9MTI4LGlkKHIsITEpLHQudXBkYXRlUXVldWU9ZT1hLnVwZGF0ZVF1ZXVlLGljKHQsZSksdC5zdWJ0cmVlRmxhZ3M9MCxlPW4sbj10LmNoaWxkO251bGwhPT1uOylydyhuLGUpLG49bi5zaWJsaW5nO3JldHVybiBhdCh0LDEmYWUuY3VycmVudHwyKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLHQuY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXIudGFpbCYmZXYoKT51SCYmKHQuZmxhZ3N8PTEyOCxsPSEwLGlkKHIsITEpLHQubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighbClpZihudWxsIT09KGU9YXIoYSkpKXtpZih0LmZsYWdzfD0xMjgsbD0hMCx0LnVwZGF0ZVF1ZXVlPWU9ZS51cGRhdGVRdWV1ZSxpYyh0LGUpLGlkKHIsITApLG51bGw9PT1yLnRhaWwmJiJjb2xsYXBzZWQiIT09ci50YWlsTW9kZSYmInZpc2libGUiIT09ci50YWlsTW9kZSYmIWEuYWx0ZXJuYXRlJiYhciQpcmV0dXJuIGlwKHQpLG51bGx9ZWxzZSAyKmV2KCktci5yZW5kZXJpbmdTdGFydFRpbWU+dUgmJjB4MjAwMDAwMDAhPT1uJiYodC5mbGFnc3w9MTI4LGw9ITAsaWQociwhMSksdC5sYW5lcz00MTk0MzA0KTtyLmlzQmFja3dhcmRzPyhhLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWEpOihudWxsIT09KGU9ci5sYXN0KT9lLnNpYmxpbmc9YTp0LmNoaWxkPWEsci5sYXN0PWEpfWlmKG51bGwhPT1yLnRhaWwpe2U9ci50YWlsO2U6e2ZvcihuPWU7bnVsbCE9PW47KXtpZihudWxsIT09bi5hbHRlcm5hdGUpe249ITE7YnJlYWsgZX1uPW4uc2libGluZ31uPSEwfXJldHVybiByLnJlbmRlcmluZz1lLHIudGFpbD1lLnNpYmxpbmcsci5yZW5kZXJpbmdTdGFydFRpbWU9ZXYoKSxlLnNpYmxpbmc9bnVsbCxhPWFlLmN1cnJlbnQsYT1sPzEmYXwyOjEmYSwidmlzaWJsZSI9PT1yLnRhaWxNb2RlfHwiY29sbGFwc2VkIj09PXIudGFpbE1vZGV8fCFufHxyJD9hdCh0LGEpOihuPWEsWihsMyx0KSxaKGFlLG4pLG51bGw9PT1sNCYmKGw0PXQpKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLGV9cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBsNyh0KSxsMigpLHI9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSxudWxsIT09ZT9udWxsIT09ZS5tZW1vaXplZFN0YXRlIT09ciYmKHQuZmxhZ3N8PTgxOTIpOnImJih0LmZsYWdzfD04MTkyKSxyPzAhPSgweDIwMDAwMDAwJm4pJiYwPT0oMTI4JnQuZmxhZ3MpJiYoaXAodCksNiZ0LnN1YnRyZWVGbGFncyYmKHQuZmxhZ3N8PTgxOTIpKTppcCh0KSxudWxsIT09KG49dC51cGRhdGVRdWV1ZSkmJmljKHQsbi5yZXRyeVF1ZXVlKSxuPW51bGwsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHI9bnVsbCxudWxsIT09dC5tZW1vaXplZFN0YXRlJiZudWxsIT09dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKHI9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxyIT09biYmKHQuZmxhZ3N8PTIwNDgpLG51bGwhPT1lJiZKKGx5KSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG49bnVsbCxudWxsIT09ZSYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1uJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGlwKHQpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtjYXNlIDMwOnJldHVybiB0LmZsYWdzfD0weDIwMDAwMDAsaXAodCksbnVsbH10aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfSh0LmFsdGVybmF0ZSx0LHV6KTtpZihudWxsIT09bil7dXg9bjtyZXR1cm59aWYobnVsbCE9PSh0PXQuc2libGluZykpe3V4PXQ7cmV0dXJufXV4PXQ9ZX13aGlsZShudWxsIT09dCkwPT09dUwmJih1TD01KX1mdW5jdGlvbiBzbShlLHQpe2Rve3ZhciBuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHJVKHQpLHQudGFnKXtjYXNlIDE6cmV0dXJuIDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gcjgobGkpLGVhKCksMCE9KDY1NTM2JihlPXQuZmxhZ3MpKSYmMD09KDEyOCZlKT8odC5mbGFncz0tNjU1MzcmZXwxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBlaSh0KSxudWxsO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSl7aWYobDcodCksbnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxMzppZihsNyh0KSxudWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7aWYobnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxOTpyZXR1cm4gYW4odCksNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LG51bGwhPT0oZT10Lm1lbW9pemVkU3RhdGUpJiYoZS5yZW5kZXJpbmc9bnVsbCxlLnRhaWw9bnVsbCksdC5mbGFnc3w9NCx0KTpudWxsO2Nhc2UgNDpyZXR1cm4gZWEoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGw3KHQpLGwyKCksbnVsbCE9PWUmJkoobHkpLDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMjQ6cmV0dXJuIHI4KGxpKSxudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShlLmFsdGVybmF0ZSxlKTtpZihudWxsIT09bil7bi5mbGFncyY9MzI3NjcsdXg9bjtyZXR1cm59aWYobnVsbCE9PShuPWUucmV0dXJuKSYmKG4uZmxhZ3N8PTMyNzY4LG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksIXQmJm51bGwhPT0oZT1lLnNpYmxpbmcpKXt1eD1lO3JldHVybn11eD1lPW59d2hpbGUobnVsbCE9PWUpdUw9Nix1eD1udWxsfWZ1bmN0aW9uIHNoKGUsdCxuLHIsbCxhLG8saSxzLGMsZil7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gc1MoKTt3aGlsZSgwIT09dVcpaWYoMCE9KDYmdVMpKXRocm93IEVycm9yKHUoMzI3KSk7aWYobnVsbCE9PXQpe3ZhciBkO2lmKHQ9PT1lLmN1cnJlbnQpdGhyb3cgRXJyb3IodSgxNzcpKTtpZighZnVuY3Rpb24oZSx0LG4scixsLGEpe3ZhciBvPWUucGVuZGluZ0xhbmVzO2UucGVuZGluZ0xhbmVzPW4sZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLndhcm1MYW5lcz0wLGUuZXhwaXJlZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyY9bixlLnNoZWxsU3VzcGVuZENvdW50ZXI9MDt2YXIgaT1lLmVudGFuZ2xlbWVudHMsdT1lLmV4cGlyYXRpb25UaW1lcyxzPWUuaGlkZGVuVXBkYXRlcztmb3Iobj1vJn5uOzA8bjspe3ZhciBjPTMxLWVQKG4pLGY9MTw8YztpW2NdPTAsdVtjXT0tMTt2YXIgZD1zW2NdO2lmKG51bGwhPT1kKWZvcihzW2NdPW51bGwsYz0wO2M8ZC5sZW5ndGg7YysrKXt2YXIgcD1kW2NdO251bGwhPT1wJiYocC5sYW5lJj0tMHgyMDAwMDAwMSl9biY9fmZ9MCE9PXImJmVBKGUsciwwKSwwIT09YSYmMD09PWwmJjAhPT1lLnRhZyYmKGUuc3VzcGVuZGVkTGFuZXN8PWEmfihvJn50KSl9KGUsbixhPXQubGFuZXN8dC5jaGlsZExhbmVzfHJ1LG8saSxzKSxlPT09dUUmJih1eD11RT1udWxsLHVfPTApLHVLPXQsdXE9ZSx1WD1uLHVHPWEsdVk9bCx1Sj1yLHUwPW51bGwsKDB4MTNmZmZmMDAmbik9PT1uPyhkPWUudHJhbnNpdGlvblR5cGVzLGUudHJhbnNpdGlvblR5cGVzPW51bGwsdTE9ZCxyPTEwMjYyKToodTE9bnVsbCxyPTEwMjU2KSwwIT0odC5zdWJ0cmVlRmxhZ3Mmcil8fDAhPSh0LmZsYWdzJnIpPyhlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLGVwKGVrLGZ1bmN0aW9uKCl7cmV0dXJuIHNFKCksbnVsbH0pKTooZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCksaU89ITEscj0wIT0oMTM4NzgmdC5mbGFncyksMCE9KDEzODc4JnQuc3VidHJlZUZsYWdzKXx8cil7cj1XLlQsVy5UPW51bGwsbD1xLnAscS5wPTIsbz11Uyx1U3w9NDt0cnl7IWZ1bmN0aW9uKGUsdCxuKXtpZihlPWUuY29udGFpbmVySW5mbyxjbz1mXyxuSChlPW5WKGUpKSl7aWYoInNlbGVjdGlvblN0YXJ0ImluIGUpdmFyIHI9e3N0YXJ0OmUuc2VsZWN0aW9uU3RhcnQsZW5kOmUuc2VsZWN0aW9uRW5kfTtlbHNlIGU6e3ZhciBsPShyPShyPWUub3duZXJEb2N1bWVudCkmJnIuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uJiZyLmdldFNlbGVjdGlvbigpO2lmKGwmJjAhPT1sLnJhbmdlQ291bnQpe3I9bC5hbmNob3JOb2RlO3ZhciBhLG89bC5hbmNob3JPZmZzZXQsaT1sLmZvY3VzTm9kZTtsPWwuZm9jdXNPZmZzZXQ7dHJ5e3Iubm9kZVR5cGUsaS5ub2RlVHlwZX1jYXRjaChlKXtyPW51bGw7YnJlYWsgZX12YXIgdT0wLHM9LTEsYz0tMSxmPTAsZD0wLHA9ZSxtPW51bGw7dDpmb3IoOzspe2Zvcig7cCE9PXJ8fDAhPT1vJiYzIT09cC5ub2RlVHlwZXx8KHM9dStvKSxwIT09aXx8MCE9PWwmJjMhPT1wLm5vZGVUeXBlfHwoYz11K2wpLDM9PT1wLm5vZGVUeXBlJiYodSs9cC5ub2RlVmFsdWUubGVuZ3RoKSxudWxsIT09KGE9cC5maXJzdENoaWxkKTspbT1wLHA9YTtmb3IoOzspe2lmKHA9PT1lKWJyZWFrIHQ7aWYobT09PXImJisrZj09PW8mJihzPXUpLG09PT1pJiYrK2Q9PT1sJiYoYz11KSxudWxsIT09KGE9cC5uZXh0U2libGluZykpYnJlYWs7bT0ocD1tKS5wYXJlbnROb2RlfXA9YX1yPS0xPT09c3x8LTE9PT1jP251bGw6e3N0YXJ0OnMsZW5kOmN9fWVsc2Ugcj1udWxsfXI9cnx8e3N0YXJ0OjAsZW5kOjB9fWVsc2Ugcj1udWxsO2ZvcihjaT17Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTpyfSxmXz0hMSxuPSgweDEzZmZmZjAwJm4pPT09bixpRz10LHQ9bj85MjcwOjEwMjg7bnVsbCE9PWlHOyl7aWYoZT1pRyxuJiZudWxsIT09KHI9ZS5kZWxldGlvbnMpKWZvcihvPTA7bzxyLmxlbmd0aDtvKyspbiYmaUIocltvXSk7aWYobnVsbD09PWUuYWx0ZXJuYXRlJiYwIT0oMiZlLmZsYWdzKSluJiZpTChlKSxpMShuKTtlbHNle2lmKDIyPT09ZS50YWcpe2lmKHI9ZS5hbHRlcm5hdGUsbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSl7bnVsbCE9PXImJm51bGw9PT1yLm1lbW9pemVkU3RhdGUmJm4mJmlCKHIpLGkxKG4pO2NvbnRpbnVlfWVsc2UgaWYobnVsbCE9PXImJm51bGwhPT1yLm1lbW9pemVkU3RhdGUpe24mJmlMKGUpLGkxKG4pO2NvbnRpbnVlfX1yPWUuY2hpbGQsMCE9KGUuc3VidHJlZUZsYWdzJnQpJiZudWxsIT09cj8oci5yZXR1cm49ZSxpRz1yKToobiYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIG49dC5tZW1vaXplZFByb3BzLHI9cm4obix0LnN0YXRlTm9kZSk7bj1ybChuLmRlZmF1bHQsbi51cGRhdGUpLHQuZmxhZ3MmPS01LCJub25lIiE9PW4mJmlEKHQscixuLHQubWVtb2l6ZWRTdGF0ZT1bXSwhMSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0KTt0PXQuc2libGluZ319KGUpLGkxKG4pKX19aXo9bnVsbH0oZSx0LG4pfWZpbmFsbHl7dVM9byxxLnA9bCxXLlQ9cn19dVc9MSwodD1pTyk/dVo9ZnVuY3Rpb24oZSx0LG4scixsLGEsbyxpLHUpe3ZhciBzPTk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O3RyeXt2YXIgYz1zLnN0YXJ0Vmlld1RyYW5zaXRpb24oe3VwZGF0ZTpmdW5jdGlvbigpe3ZhciB0PXMuZGVmYXVsdFZpZXcsbj10Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi50cmFuc2l0aW9uLG89cy5mb250cy5zdGF0dXM7cigpO3ZhciBpPVtdO2lmKCJsb2FkZWQiPT09byYmKHMuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCwibG9hZGluZyI9PT1zLmZvbnRzLnN0YXR1cyYmaS5wdXNoKHMuZm9udHMucmVhZHkpKSxvPWkubGVuZ3RoLG51bGwhPT1lKWZvcih2YXIgdT1lLnN1c3BlbnNleUltYWdlcyxjPTAsZj0wO2Y8dS5sZW5ndGg7ZisrKXt2YXIgZD11W2ZdO2lmKCFkLmNvbXBsZXRlKXt2YXIgcD1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKDA8cC5ib3R0b20mJjA8cC5yaWdodCYmcC50b3A8dC5pbm5lckhlaWdodCYmcC5sZWZ0PHQuaW5uZXJXaWR0aCl7aWYoKGMrPWZ1KGQpKT5mYyl7aS5sZW5ndGg9bzticmVha31kPW5ldyBQcm9taXNlKGNQLmJpbmQoZCkpLGkucHVzaChkKX19fXJldHVybiAwPGkubGVuZ3RoPyh0PVByb21pc2UucmFjZShbUHJvbWlzZS5hbGwoaSksbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MDApfSldKS50aGVuKGwsbCksKG4/UHJvbWlzZS5hbGxTZXR0bGVkKFtuLmZpbmlzaGVkLHRdKTp0KS50aGVuKGEsYSkpOihsKCksbik/bi5maW5pc2hlZC50aGVuKGEsYSk6dm9pZCBhKCl9LHR5cGVzOm59KTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1jO3ZhciBmPVtdO3JldHVybiBjLnJlYWR5LnRoZW4oZnVuY3Rpb24oKXtmb3IodmFyIGU9cy5kb2N1bWVudEVsZW1lbnQuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIG49ZVt0XSxyPW4uZWZmZWN0LGw9ci5wc2V1ZG9FbGVtZW50O2lmKG51bGwhPWwmJmwuc3RhcnRzV2l0aCgiOjp2aWV3LXRyYW5zaXRpb24iKSl7Zi5wdXNoKG4pLG49ci5nZXRLZXlmcmFtZXMoKTtmb3IodmFyIGE9bD12b2lkIDAsaT0hMCx1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBjPW5bdV0sZD1jLndpZHRoO2lmKHZvaWQgMD09PWwpbD1kO2Vsc2UgaWYobCE9PWQpe2k9ITE7YnJlYWt9aWYoZD1jLmhlaWdodCx2b2lkIDA9PT1hKWE9ZDtlbHNlIGlmKGEhPT1kKXtpPSExO2JyZWFrfWRlbGV0ZSBjLndpZHRoLGRlbGV0ZSBjLmhlaWdodCwibm9uZSI9PT1jLnRyYW5zZm9ybSYmZGVsZXRlIGMudHJhbnNmb3JtfWkmJnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEmJihyLnNldEtleWZyYW1lcyhuKSwoaT1nZXRDb21wdXRlZFN0eWxlKHIudGFyZ2V0LHIucHNldWRvRWxlbWVudCkpLndpZHRoIT09bHx8aS5oZWlnaHQhPT1hKSYmKChpPW5bMF0pLndpZHRoPWwsaS5oZWlnaHQ9YSwoaT1uW24ubGVuZ3RoLTFdKS53aWR0aD1sLGkuaGVpZ2h0PWEsci5zZXRLZXlmcmFtZXMobikpfX1vKCl9LGZ1bmN0aW9uKGUpe3MuX19yZWFjdFZpZXdUcmFuc2l0aW9uPT09YyYmKHMuX19yZWFjdFZpZXdUcmFuc2l0aW9uPW51bGwpO3RyeXsib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiSW52YWxpZFN0YXRlRXJyb3IiPT09ZS5uYW1lJiYoIlZpZXcgdHJhbnNpdGlvbiB3YXMgc2tpcHBlZCBiZWNhdXNlIGRvY3VtZW50IHZpc2liaWxpdHkgc3RhdGUgaXMgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGhhcyBiZWNvbWUgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSB2aWV3cG9ydCBzaXplIGNoYW5nZWQuIj09PWUubWVzc2FnZXx8IlRyYW5zaXRpb24gd2FzIGFib3J0ZWQgYmVjYXVzZSBvZiBpbnZhbGlkIHN0YXRlIj09PWUubWVzc2FnZSkmJihlPW51bGwpLG51bGwhPT1lJiZ1KGUpfWZpbmFsbHl7cigpLGwoKSxvKCl9fSksYy5maW5pc2hlZC5maW5hbGx5KGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxmLmxlbmd0aDtlKyspZltlXS5jYW5jZWwoKTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PWMmJihzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKSxpKCl9KSxjfWNhdGNoKGUpe3JldHVybiByKCksbCgpLG8oKSxudWxsfX0oZixlLmNvbnRhaW5lckluZm8sdTEsc3ksc2Isc3Ysc3csc0Usc2csbnVsbCxudWxsKTooc3koKSxzYigpLHN3KCkpfX1mdW5jdGlvbiBzZyhlKXswIT09dVcmJigwLHVxLm9uUmVjb3ZlcmFibGVFcnJvcikoZSx7Y29tcG9uZW50U3RhY2s6bnVsbH0pfWZ1bmN0aW9uIHN2KCl7Mz09PXVXJiYodVc9MCx1byh1Syx1cSksdVc9NCl9ZnVuY3Rpb24gc3koKXtpZigxPT09dVcpe3VXPTA7dmFyIGU9dXEsdD11SyxuPXVYLHI9MCE9KDEzODc4JnQuZmxhZ3MpO2lmKDAhPSgxMzg3OCZ0LnN1YnRyZWVGbGFncyl8fHIpe3I9Vy5ULFcuVD1udWxsO3ZhciBsPXEucDtxLnA9Mjt2YXIgYT11Uzt1U3w9NDt0cnl7aUo9aVo9ITEsdXIodCxlLG4pLG49Y2k7dmFyIG89blYoZS5jb250YWluZXJJbmZvKSxpPW4uZm9jdXNlZEVsZW0sdT1uLnNlbGVjdGlvblJhbmdlO2lmKG8hPT1pJiZpJiZpLm93bmVyRG9jdW1lbnQmJmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4hIXQmJiEhbiYmKHQ9PT1ufHwoIXR8fDMhPT10Lm5vZGVUeXBlKSYmKG4mJjM9PT1uLm5vZGVUeXBlP2UodCxuLnBhcmVudE5vZGUpOiJjb250YWlucyJpbiB0P3QuY29udGFpbnMobik6ISF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYhISgxNiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pKSkpfShpLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGkpKXtpZihudWxsIT09dSYmbkgoaSkpe3ZhciBzPXUuc3RhcnQsYz11LmVuZDtpZih2b2lkIDA9PT1jJiYoYz1zKSwic2VsZWN0aW9uU3RhcnQiaW4gaSlpLnNlbGVjdGlvblN0YXJ0PXMsaS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4oYyxpLnZhbHVlLmxlbmd0aCk7ZWxzZXt2YXIgZj1pLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50LGQ9ZiYmZi5kZWZhdWx0Vmlld3x8d2luZG93O2lmKGQuZ2V0U2VsZWN0aW9uKXt2YXIgcD1kLmdldFNlbGVjdGlvbigpLG09aS50ZXh0Q29udGVudC5sZW5ndGgsaD1NYXRoLm1pbih1LnN0YXJ0LG0pLGc9dm9pZCAwPT09dS5lbmQ/aDpNYXRoLm1pbih1LmVuZCxtKTshcC5leHRlbmQmJmg+ZyYmKG89ZyxnPWgsaD1vKTt2YXIgdj1uQihpLGgpLHk9bkIoaSxnKTtpZih2JiZ5JiYoMSE9PXAucmFuZ2VDb3VudHx8cC5hbmNob3JOb2RlIT09di5ub2RlfHxwLmFuY2hvck9mZnNldCE9PXYub2Zmc2V0fHxwLmZvY3VzTm9kZSE9PXkubm9kZXx8cC5mb2N1c09mZnNldCE9PXkub2Zmc2V0KSl7dmFyIGI9Zi5jcmVhdGVSYW5nZSgpO2Iuc2V0U3RhcnQodi5ub2RlLHYub2Zmc2V0KSxwLnJlbW92ZUFsbFJhbmdlcygpLGg+Zz8ocC5hZGRSYW5nZShiKSxwLmV4dGVuZCh5Lm5vZGUseS5vZmZzZXQpKTooYi5zZXRFbmQoeS5ub2RlLHkub2Zmc2V0KSxwLmFkZFJhbmdlKGIpKX19fX1mb3IoZj1bXSxwPWk7cD1wLnBhcmVudE5vZGU7KTE9PT1wLm5vZGVUeXBlJiZmLnB1c2goe2VsZW1lbnQ6cCxsZWZ0OnAuc2Nyb2xsTGVmdCx0b3A6cC5zY3JvbGxUb3B9KTtmb3IoImZ1bmN0aW9uIj09dHlwZW9mIGkuZm9jdXMmJmkuZm9jdXMoKSxpPTA7aTxmLmxlbmd0aDtpKyspe3ZhciB3PWZbaV07dy5lbGVtZW50LnNjcm9sbExlZnQ9dy5sZWZ0LHcuZWxlbWVudC5zY3JvbGxUb3A9dy50b3B9fWZfPSEhY28sY2k9Y289bnVsbH1maW5hbGx5e3VTPWEscS5wPWwsVy5UPXJ9fWUuY3VycmVudD10LHVXPTJ9fWZ1bmN0aW9uIHNiKCl7aWYoMj09PXVXKXt1Vz0wO3ZhciBlPXVxLHQ9dUssbj0wIT0oODc3MiZ0LmZsYWdzKTtpZigwIT0oODc3MiZ0LnN1YnRyZWVGbGFncyl8fG4pe249Vy5ULFcuVD1udWxsO3ZhciByPXEucDtxLnA9Mjt2YXIgbD11Uzt1U3w9NDt0cnl7aTIoZSx0LmFsdGVybmF0ZSx0KX1maW5hbGx5e3VTPWwscS5wPXIsVy5UPW59fXVXPTN9fWZ1bmN0aW9uIHN3KCl7aWYoND09PXVXfHwzPT09dVcpe3VXPTAsdVo9bnVsbCxlZygpO3ZhciBlPXVxLHQ9dUssbj11WCxyPXVKLGw9KDB4MTNmZmZmMDAmbik9PT1uPzEwMjYyOjEwMjU2O2lmKDAhPSh0LnN1YnRyZWVGbGFncyZsKXx8MCE9KHQuZmxhZ3MmbCk/dVc9NToodVc9MCx1Sz11cT1udWxsLHNrKGUsZS5wZW5kaW5nTGFuZXMpKSwwPT09KGw9ZS5wZW5kaW5nTGFuZXMpJiYodVE9bnVsbCksZVYobiksdD10LnN0YXRlTm9kZSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uQ29tbWl0RmliZXJSb290KXRyeXtlXy5vbkNvbW1pdEZpYmVyUm9vdChleCx0LHZvaWQgMCwxMjg9PSgxMjgmdC5jdXJyZW50LmZsYWdzKSl9Y2F0Y2goZSl7fWlmKG51bGwhPT1yKXt0PVcuVCxsPXEucCxxLnA9MixXLlQ9bnVsbDt0cnl7Zm9yKHZhciBhPWUub25SZWNvdmVyYWJsZUVycm9yLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGk9cltvXTthKGkudmFsdWUse2NvbXBvbmVudFN0YWNrOmkuc3RhY2t9KX19ZmluYWxseXtXLlQ9dCxxLnA9bH19aWYocj11MCxhPXUxLHUxPW51bGwsbnVsbCE9PXIpZm9yKHUwPW51bGwsbnVsbD09PWEmJihhPVtdKSxpPTA7aTxyLmxlbmd0aDtpKyspKDAscltpXSkoYSk7MCE9KDMmdVgpJiZzUygpLHNGKGUpLGw9ZS5wZW5kaW5nTGFuZXMsMCE9KDI2MTkzMCZuKSYmMCE9KDQyJmwpP2U9PT11Mz91MisrOih1Mj0wLHUzPWUpOnUyPTAsc0EoMCwhMSl9fWZ1bmN0aW9uIHNrKGUsdCl7MD09KGUucG9vbGVkQ2FjaGVMYW5lcyY9dCkmJm51bGwhPSh0PWUucG9vbGVkQ2FjaGUpJiYoZS5wb29sZWRDYWNoZT1udWxsLGxzKHQpKX1mdW5jdGlvbiBzUygpe3JldHVybiBudWxsIT09dVomJih1Wi5za2lwVHJhbnNpdGlvbigpLHVaPW51bGwpLHN5KCksc2IoKSxzdygpLHNFKCl9ZnVuY3Rpb24gc0UoKXtpZig1IT09dVcpcmV0dXJuITE7dmFyIGU9dXEsdD11Rzt1Rz0wO3ZhciBuPWVWKHVYKSxyPVcuVCxsPXEucDt0cnl7cS5wPTMyPm4/MzI6bixXLlQ9bnVsbCxuPXVZLHVZPW51bGw7dmFyIGE9dXEsbz11WDtpZih1Vz0wLHVLPXVxPW51bGwsdVg9MCwwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMzEpKTt2YXIgaT11UztpZih1U3w9NCx1eShhLmN1cnJlbnQpLHVmKGEsYS5jdXJyZW50LG8sbiksdVM9aSxzQSgwLCExKSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7ZV8ub25Qb3N0Q29tbWl0RmliZXJSb290KGV4LGEpfWNhdGNoKGUpe31yZXR1cm4hMH1maW5hbGx5e3EucD1sLFcuVD1yLHNrKGUsdCl9fWZ1bmN0aW9uIHN4KGUsdCxuKXt0PXJOKG4sdCksdD1vRChlLnN0YXRlTm9kZSx0LDIpLG51bGwhPT0oZT1sJChlLHQsMikpJiYoZUYoZSwyKSxzRihlKSl9ZnVuY3Rpb24gc18oZSx0LG4pe2lmKDM9PT1lLnRhZylzeChlLGUsbik7ZWxzZSBmb3IoO251bGwhPT10Oyl7aWYoMz09PXQudGFnKXtzeCh0LGUsbik7YnJlYWt9aWYoMT09PXQudGFnKXt2YXIgcj10LnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09dVF8fCF1US5oYXMocikpKXtlPXJOKG4sZSksbnVsbCE9PShyPWwkKHQsbj1vRigyKSwyKSkmJihvQShuLHIsdCxlKSxlRihyLDIpLHNGKHIpKTticmVha319dD10LnJldHVybn19ZnVuY3Rpb24gc1AoZSx0LG4pe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyB1azt2YXIgbD1uZXcgU2V0O3Iuc2V0KHQsbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldCh0KSkmJihsPW5ldyBTZXQsci5zZXQodCxsKSk7bC5oYXMobil8fCh1Tz0hMCxsLmFkZChuKSxlPXNOLmJpbmQobnVsbCxlLHQsbiksdC50aGVuKGUsZSkpfWZ1bmN0aW9uIHNOKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUodCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZuLGUud2FybUxhbmVzJj1+bix1RT09PWUmJih1XyZuKT09PW4mJig0PT09dUx8fDM9PT11TCYmKDB4M2MwMDAwMCZ1Xyk9PT11XyYmMzAwPmV2KCktdUI/MD09KDImdVMpJiZzcihlLDApOnVJfD1uLHVGPT09dV8mJih1Rj0wKSksc0YoZSl9ZnVuY3Rpb24gc0MoZSx0KXswPT09dCYmKHQ9ZUkoKSksbnVsbCE9PShlPXJkKGUsdCkpJiYoZUYoZSx0KSxzRihlKSl9ZnVuY3Rpb24gc1QoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDtudWxsIT09dCYmKG49dC5yZXRyeUxhbmUpLHNDKGUsbil9ZnVuY3Rpb24gc08oZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOnZhciByPWUuc3RhdGVOb2RlLGw9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1sJiYobj1sLnJldHJ5TGFuZSk7YnJlYWs7Y2FzZSAxOTpyPWUuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMjI6cj1lLnN0YXRlTm9kZS5fcmV0cnlDYWNoZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKHQpLHNDKGUsbil9dmFyIHN6PW51bGwsc0w9bnVsbCxzUj0hMSxzTT0hMSxzST0hMSxzRD0wO2Z1bmN0aW9uIHNGKGUpe2UhPT1zTCYmbnVsbD09PWUubmV4dCYmKG51bGw9PT1zTD9zej1zTD1lOnNMPXNMLm5leHQ9ZSksc009ITAsc1J8fChzUj0hMCxjZyhmdW5jdGlvbigpezAhPSg2JnVTKT9lcChlYixzaik6c1UoKX0pKX1mdW5jdGlvbiBzQShlLHQpe2lmKCFzSSYmc00pe3NJPSEwO2RvIGZvcih2YXIgbj0hMSxyPXN6O251bGwhPT1yOyl7aWYoIXQpaWYoMCE9PWUpe3ZhciBsPXIucGVuZGluZ0xhbmVzO2lmKDA9PT1sKXZhciBhPTA7ZWxzZXt2YXIgbz1yLnN1c3BlbmRlZExhbmVzLGk9ci5waW5nZWRMYW5lczthPTB4YzAwMDA5NSYoYT0oMTw8MzEtZVAoNDJ8ZSkrMSktMSYobCZ+KG8mfmkpKSk/MHhjMDAwMDk1JmF8MTphPzJ8YTowfTAhPT1hJiYobj0hMCxzSChyLGEpKX1lbHNlIGE9dV8sMD09KDMmKGE9ZVIocixyPT09dUU/YTowLG51bGwhPT1yLmNhbmNlbFBlbmRpbmdDb21taXR8fC0xIT09ci50aW1lb3V0SGFuZGxlKSkpfHxlTShyLGEpfHwobj0hMCxzSChyLGEpKTtyPXIubmV4dH13aGlsZShuKXNJPSExfX1mdW5jdGlvbiBzaigpe3NVKCl9ZnVuY3Rpb24gc1UoKXtzTT1zUj0hMTt2YXIgZSx0PTA7MD09PXNEfHwoKGU9d2luZG93LmV2ZW50KSYmInBvcHN0YXRlIj09PWUudHlwZT9lPT09Y2R8fChjZD1lLDApOihjZD1udWxsLDEpKXx8KHQ9c0QpO2Zvcih2YXIgbj1ldigpLHI9bnVsbCxsPXN6O251bGwhPT1sOyl7dmFyIGE9bC5uZXh0LG89c0IobCxuKTswPT09bz8obC5uZXh0PW51bGwsbnVsbD09PXI/c3o9YTpyLm5leHQ9YSxudWxsPT09YSYmKHNMPXIpKToocj1sLCgwIT09dHx8MCE9KDMmbykpJiYoc009ITApKSxsPWF9MCE9PXVXJiY1IT09dVd8fHNBKHQsITEpLDAhPT1zRCYmKHNEPTApfWZ1bmN0aW9uIHNCKGUsdCl7Zm9yKHZhciBuPWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT0tMHgzYzAwMDAxJmUucGVuZGluZ0xhbmVzOzA8YTspe3ZhciBvPTMxLWVQKGEpLGk9MTw8byx1PWxbb107LTE9PT11PygwPT0oaSZuKXx8MCE9KGkmcikpJiYobFtvXT1mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDg6Y2FzZSA2NDpyZXR1cm4gdCsyNTA7Y2FzZSAxNjpjYXNlIDMyOmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiB0KzVlMztkZWZhdWx0OnJldHVybiAtMX19KGksdCkpOnU8PXQmJihlLmV4cGlyZWRMYW5lc3w9aSksYSY9fml9aWYodD11RSxuPXVfLG49ZVIoZSxlPT09dD9uOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpLHI9ZS5jYWxsYmFja05vZGUsMD09PW58fGU9PT10JiYoMj09PXVQfHw5PT09dVApfHxudWxsIT09ZS5jYW5jZWxQZW5kaW5nQ29tbWl0KXJldHVybiBudWxsIT09ciYmbnVsbCE9PXImJmVtKHIpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7aWYoMD09KDMmbil8fGVNKGUsbikpe2lmKCh0PW4mLW4pPT09ZS5jYWxsYmFja1ByaW9yaXR5KXJldHVybiB0O3N3aXRjaChudWxsIT09ciYmZW0ociksZVYobikpe2Nhc2UgMjpjYXNlIDg6bj1ldzticmVhaztjYXNlIDMyOmRlZmF1bHQ6bj1lazticmVhaztjYXNlIDB4MTAwMDAwMDA6bj1lRX1yZXR1cm4gbj1lcChuLHI9c1YuYmluZChudWxsLGUpKSxlLmNhbGxiYWNrUHJpb3JpdHk9dCxlLmNhbGxiYWNrTm9kZT1uLHR9cmV0dXJuIG51bGwhPT1yJiZudWxsIT09ciYmZW0ociksZS5jYWxsYmFja1ByaW9yaXR5PTIsZS5jYWxsYmFja05vZGU9bnVsbCwyfWZ1bmN0aW9uIHNWKGUsdCl7aWYoMCE9PXVXJiY1IT09dVcpcmV0dXJuIGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTAsbnVsbDt2YXIgbj1lLmNhbGxiYWNrTm9kZTtpZihzUygpJiZlLmNhbGxiYWNrTm9kZSE9PW4pcmV0dXJuIG51bGw7dmFyIHI9dV87cmV0dXJuIDA9PT0ocj1lUihlLGU9PT11RT9yOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpKT9udWxsOih1OShlLHIsdCksc0IoZSxldigpKSxudWxsIT1lLmNhbGxiYWNrTm9kZSYmZS5jYWxsYmFja05vZGU9PT1uP3NWLmJpbmQobnVsbCxlKTpudWxsKX1mdW5jdGlvbiBzSChlLHQpe2lmKHNTKCkpcmV0dXJuIG51bGw7dTkoZSx0LCEwKX1mdW5jdGlvbiBzJCgpe2lmKDA9PT1zRCl7dmFyIGU9bG07MD09PWUmJihlPWVULDA9PSgyNjE4ODgmKGVUPDw9MSkpJiYoZVQ9MjU2KSksc0Q9ZX1yZXR1cm4gc0R9ZnVuY3Rpb24gc1EoZSl7cmV0dXJuIG51bGw9PWV8fCJzeW1ib2wiPT10eXBlb2YgZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6dEMoIiIrZSl9ZnVuY3Rpb24gc1coZSx0KXt2YXIgbj10Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtyZXR1cm4gbi5uYW1lPXQubmFtZSxuLnZhbHVlPXQudmFsdWUsZS5pZCYmbi5zZXRBdHRyaWJ1dGUoImZvcm0iLGUuaWQpLHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobix0KSxlPW5ldyBGb3JtRGF0YShlKSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksZX1mb3IodmFyIHNxPTA7c3E8bjcubGVuZ3RoO3NxKyspe3ZhciBzSz1uN1tzcV07cmUoc0sudG9Mb3dlckNhc2UoKSwib24iKyhzS1swXS50b1VwcGVyQ2FzZSgpK3NLLnNsaWNlKDEpKSl9cmUobjEsIm9uQW5pbWF0aW9uRW5kIikscmUobjIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIikscmUobjMsIm9uQW5pbWF0aW9uU3RhcnQiKSxyZSgiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIikscmUoImZvY3VzaW4iLCJvbkZvY3VzIikscmUoImZvY3Vzb3V0Iiwib25CbHVyIikscmUobjQsIm9uVHJhbnNpdGlvblJ1biIpLHJlKG44LCJvblRyYW5zaXRpb25TdGFydCIpLHJlKG41LCJvblRyYW5zaXRpb25DYW5jZWwiKSxyZShuNiwib25UcmFuc2l0aW9uRW5kIiksZTcoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxlNygib25Nb3VzZUxlYXZlIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLGU3KCJvblBvaW50ZXJFbnRlciIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksZTcoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxlOSgib25DaGFuZ2UiLCJjaGFuZ2UgY2xpY2sgZm9jdXNpbiBmb2N1c291dCBpbnB1dCBrZXlkb3duIGtleXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksZTkoIm9uU2VsZWN0IiwiZm9jdXNvdXQgY29udGV4dG1lbnUgZHJhZ2VuZCBmb2N1c2luIGtleWRvd24ga2V5dXAgbW91c2Vkb3duIG1vdXNldXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxlOSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksZTkoIm9uQ29tcG9zaXRpb25FbmQiLCJjb21wb3NpdGlvbmVuZCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSksZTkoIm9uQ29tcG9zaXRpb25TdGFydCIsImNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLGU5KCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpO3ZhciBzWD0iYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmciLnNwbGl0KCIgIiksc0c9bmV3IFNldCgiYmVmb3JldG9nZ2xlIGNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHNjcm9sbGVuZCB0b2dnbGUiLnNwbGl0KCIgIikuY29uY2F0KHNYKSk7ZnVuY3Rpb24gc1koZSx0KXt0PTAhPSg0JnQpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5ldmVudDtyPXIubGlzdGVuZXJzO2U6e3ZhciBhPXZvaWQgMDtpZih0KWZvcih2YXIgbz1yLmxlbmd0aC0xOzA8PW87by0tKXt2YXIgaT1yW29dLHU9aS5pbnN0YW5jZSxzPWkuY3VycmVudFRhcmdldDtpZihpPWkubGlzdGVuZXIsdSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO2E9aSxsLmN1cnJlbnRUYXJnZXQ9czt0cnl7YShsKX1jYXRjaChlKXtyYShlKX1sLmN1cnJlbnRUYXJnZXQ9bnVsbCxhPXV9ZWxzZSBmb3Iobz0wO288ci5sZW5ndGg7bysrKXtpZih1PShpPXJbb10pLmluc3RhbmNlLHM9aS5jdXJyZW50VGFyZ2V0LGk9aS5saXN0ZW5lcix1IT09YSYmbC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7YT1pLGwuY3VycmVudFRhcmdldD1zO3RyeXthKGwpfWNhdGNoKGUpe3JhKGUpfWwuY3VycmVudFRhcmdldD1udWxsLGE9dX19fX1mdW5jdGlvbiBzSihlLHQpe3ZhciBuPXRbZVhdO3ZvaWQgMD09PW4mJihuPXRbZVhdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjtuLmhhcyhyKXx8KHMyKHQsZSwyLCExKSxuLmFkZChyKSl9ZnVuY3Rpb24gc1ooZSx0LG4pe3ZhciByPTA7dCYmKHJ8PTQpLHMyKG4sZSxyLHQpfXZhciBzMD0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBzMShlKXtpZighZVtzMF0pe2VbczBdPSEwLGU1LmZvckVhY2goZnVuY3Rpb24odCl7InNlbGVjdGlvbmNoYW5nZSIhPT10JiYoc0cuaGFzKHQpfHxzWih0LCExLGUpLHNaKHQsITAsZSkpfSk7dmFyIHQ9OT09PWUubm9kZVR5cGU/ZTplLm93bmVyRG9jdW1lbnQ7bnVsbD09PXR8fHRbczBdfHwodFtzMF09ITAsc1ooInNlbGVjdGlvbmNoYW5nZSIsITEsdCkpfX1mdW5jdGlvbiBzMihlLHQsbixyKXtzd2l0Y2goZkwodCkpe2Nhc2UgMjp2YXIgbD1mUDticmVhaztjYXNlIDg6bD1mTjticmVhaztkZWZhdWx0Omw9ZkN9bj1sLmJpbmQobnVsbCx0LG4sZSksbD12b2lkIDAsdGomJigidG91Y2hzdGFydCI9PT10fHwidG91Y2htb3ZlIj09PXR8fCJ3aGVlbCI9PT10KSYmKGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcih0LG4sITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKHQsbix7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMSl9ZnVuY3Rpb24gczMoZSx0LG4scixsKXt2YXIgYT1yO2lmKDA9PSgxJnQpJiYwPT0oMiZ0KSYmbnVsbCE9PXIpZTpmb3IoOzspe2lmKG51bGw9PT1yKXJldHVybjt2YXIgbz1yLnRhZztpZigzPT09b3x8ND09PW8pe3ZhciBpPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWYoaT09PWwpYnJlYWs7aWYoND09PW8pZm9yKG89ci5yZXR1cm47bnVsbCE9PW87KXt2YXIgdT1vLnRhZztpZigoMz09PXV8fDQ9PT11KSYmby5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWwpcmV0dXJuO289by5yZXR1cm59Zm9yKDtudWxsIT09aTspe2lmKG51bGw9PT0obz1lMShpKSkpcmV0dXJuO2lmKDU9PT0odT1vLnRhZyl8fDY9PT11fHwyNj09PXV8fDI3PT09dSl7cj1hPW87Y29udGludWUgZX1pPWkucGFyZW50Tm9kZX19cj1yLnJldHVybn10RChmdW5jdGlvbigpe3ZhciByPWEsbD10eihuKSxvPVtdO2U6e3ZhciBpPW45LmdldChlKTtpZih2b2lkIDAhPT1pKXt2YXIgdT10MSxzPWU7c3dpdGNoKGUpe2Nhc2Uia2V5cHJlc3MiOmlmKDA9PT10UShuKSlicmVhayBlO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6dT1ubzticmVhaztjYXNlImZvY3VzaW4iOnM9ImZvY3VzIix1PXQ2O2JyZWFrO2Nhc2UiZm9jdXNvdXQiOnM9ImJsdXIiLHU9dDY7YnJlYWs7Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6dT10NjticmVhaztjYXNlImNsaWNrIjppZigyPT09bi5idXR0b24pYnJlYWsgZTtjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2V1cCI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UiY29udGV4dG1lbnUiOnU9dDg7YnJlYWs7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6dT10NTticmVhaztjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaHN0YXJ0Ijp1PW51O2JyZWFrO2Nhc2UgbjE6Y2FzZSBuMjpjYXNlIG4zOnU9dDk7YnJlYWs7Y2FzZSBuNjp1PW5zO2JyZWFrO2Nhc2Uic2Nyb2xsIjpjYXNlInNjcm9sbGVuZCI6dT10MzticmVhaztjYXNlIndoZWVsIjp1PW5jO2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOnU9dDc7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJ1cCI6dT1uaTticmVhaztjYXNlInRvZ2dsZSI6Y2FzZSJiZWZvcmV0b2dnbGUiOnU9bmZ9dmFyIGY9MCE9KDQmdCksZD0hZiYmKCJzY3JvbGwiPT09ZXx8InNjcm9sbGVuZCI9PT1lKSxwPWY/bnVsbCE9PWk/aSsiQ2FwdHVyZSI6bnVsbDppO2Y9W107Zm9yKHZhciBtLGg9cjtudWxsIT09aDspe3ZhciBnPWg7aWYobT1nLnN0YXRlTm9kZSw1IT09KGc9Zy50YWcpJiYyNiE9PWcmJjI3IT09Z3x8bnVsbD09PW18fG51bGw9PT1wfHxudWxsIT0oZz10RihoLHApKSYmZi5wdXNoKHM0KGgsZyxtKSksZClicmVhaztoPWgucmV0dXJufTA8Zi5sZW5ndGgmJihpPW5ldyB1KGkscyxudWxsLG4sbCksby5wdXNoKHtldmVudDppLGxpc3RlbmVyczpmfSkpfX1pZigwPT0oNyZ0KSl7dT0ibW91c2VvdmVyIj09PWV8fCJwb2ludGVyb3ZlciI9PT1lLGk9Im1vdXNlb3V0Ij09PWV8fCJwb2ludGVyb3V0Ij09PWUsISh1JiZuIT09dE8mJihzPW4ucmVsYXRlZFRhcmdldHx8bi5mcm9tRWxlbWVudCkmJihlMShzKXx8c1tlS10pKSYmKGl8fHUpJiYocz1sLndpbmRvdz09PWw/bDoodT1sLm93bmVyRG9jdW1lbnQpP3UuZGVmYXVsdFZpZXd8fHUucGFyZW50V2luZG93OndpbmRvdyxpPyh1PW4ucmVsYXRlZFRhcmdldHx8bi50b0VsZW1lbnQsaT1yLG51bGwhPT0odT11P2UxKHUpOm51bGwpJiYoZD1jKHUpLGY9dS50YWcsdSE9PWR8fDUhPT1mJiYyNyE9PWYmJjYhPT1mKSYmKHU9bnVsbCkpOihpPW51bGwsdT1yKSxpIT09dSYmKGY9dDgsZz0ib25Nb3VzZUxlYXZlIixwPSJvbk1vdXNlRW50ZXIiLGg9Im1vdXNlIiwoInBvaW50ZXJvdXQiPT09ZXx8InBvaW50ZXJvdmVyIj09PWUpJiYoZj1uaSxnPSJvblBvaW50ZXJMZWF2ZSIscD0ib25Qb2ludGVyRW50ZXIiLGg9InBvaW50ZXIiKSxkPW51bGw9PWk/czplMyhpKSxtPW51bGw9PXU/czplMyh1KSwocz1uZXcgZihnLGgrImxlYXZlIixpLG4sbCkpLnRhcmdldD1kLHMucmVsYXRlZFRhcmdldD1tLGc9bnVsbCxlMShsKT09PXImJigoZj1uZXcgZihwLGgrImVudGVyIix1LG4sbCkpLnRhcmdldD1tLGYucmVsYXRlZFRhcmdldD1kLGc9ZiksZD1nLGY9aSYmdT9FKGksdSxzNSk6bnVsbCxudWxsIT09aSYmczYobyxzLGksZiwhMSksbnVsbCE9PXUmJm51bGwhPT1kJiZzNihvLGQsdSxmLCEwKSkpO2U6e2lmKCJzZWxlY3QiPT09KHU9KGk9cj9lMyhyKTp3aW5kb3cpLm5vZGVOYW1lJiZpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09dSYmImZpbGUiPT09aS50eXBlKXZhciB2LHk9bkM7ZWxzZSBpZihuUyhpKSlpZihuVCl5PW5GO2Vsc2V7eT1uSTt2YXIgYj1uTX1lbHNlKHU9aS5ub2RlTmFtZSkmJiJpbnB1dCI9PT11LnRvTG93ZXJDYXNlKCkmJigiY2hlY2tib3giPT09aS50eXBlfHwicmFkaW8iPT09aS50eXBlKT95PW5EOnImJnRfKHIuZWxlbWVudFR5cGUpJiYoeT1uQyk7aWYoeSYmKHk9eShlLHIpKSl7bkUobyx5LG4sbCk7YnJlYWsgZX1iJiZiKGUsaSxyKSwiZm9jdXNvdXQiPT09ZSYmciYmIm51bWJlciI9PT1pLnR5cGUmJm51bGwhPXIubWVtb2l6ZWRQcm9wcy52YWx1ZSYmdHYoaSwibnVtYmVyIixpLnZhbHVlKX1zd2l0Y2goYj1yP2UzKHIpOndpbmRvdyxlKXtjYXNlImZvY3VzaW4iOihuUyhiKXx8InRydWUiPT09Yi5jb250ZW50RWRpdGFibGUpJiYoblE9YixuVz1yLG5xPW51bGwpO2JyZWFrO2Nhc2UiZm9jdXNvdXQiOm5xPW5XPW5RPW51bGw7YnJlYWs7Y2FzZSJtb3VzZWRvd24iOm5LPSEwO2JyZWFrO2Nhc2UiY29udGV4dG1lbnUiOmNhc2UibW91c2V1cCI6Y2FzZSJkcmFnZW5kIjpuSz0hMSxuWChvLG4sbCk7YnJlYWs7Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmlmKG4kKWJyZWFrO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6blgobyxuLGwpfWlmKG5wKXQ6e3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uc3RhcnQiOnZhciB3PSJvbkNvbXBvc2l0aW9uU3RhcnQiO2JyZWFrIHQ7Y2FzZSJjb21wb3NpdGlvbmVuZCI6dz0ib25Db21wb3NpdGlvbkVuZCI7YnJlYWsgdDtjYXNlImNvbXBvc2l0aW9udXBkYXRlIjp3PSJvbkNvbXBvc2l0aW9uVXBkYXRlIjticmVhayB0fXc9dm9pZCAwfWVsc2Ugbnc/bnkoZSxuKSYmKHc9Im9uQ29tcG9zaXRpb25FbmQiKToia2V5ZG93biI9PT1lJiYyMjk9PT1uLmtleUNvZGUmJih3PSJvbkNvbXBvc2l0aW9uU3RhcnQiKTt3JiYobmcmJiJrbyIhPT1uLmxvY2FsZSYmKG53fHwib25Db21wb3NpdGlvblN0YXJ0IiE9PXc/Im9uQ29tcG9zaXRpb25FbmQiPT09dyYmbncmJih2PXQkKCkpOih0Vj0idmFsdWUiaW4odEI9bCk/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsbnc9ITApKSwwPChiPXM4KHIsdykpLmxlbmd0aCYmKHc9bmV3IG5lKHcsZSxudWxsLG4sbCksby5wdXNoKHtldmVudDp3LGxpc3RlbmVyczpifSksdj93LmRhdGE9djpudWxsIT09KHY9bmIobikpJiYody5kYXRhPXYpKSksKHY9bmg/ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIG5iKHQpO2Nhc2Uia2V5cHJlc3MiOmlmKDMyIT09dC53aGljaClyZXR1cm4gbnVsbDtyZXR1cm4gbnY9ITAsIiAiO2Nhc2UidGV4dElucHV0IjpyZXR1cm4iICI9PT0oZT10LmRhdGEpJiZudj9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsbik6ZnVuY3Rpb24oZSx0KXtpZihudylyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IW5wJiZueShlLHQpPyhlPXQkKCksdEg9dFY9dEI9bnVsbCxudz0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBuZyYmImtvIiE9PXQubG9jYWxlP251bGw6dC5kYXRhfX0oZSxuKSkmJjA8KHc9czgociwib25CZWZvcmVJbnB1dCIpKS5sZW5ndGgmJihiPW5ldyBuZSgib25CZWZvcmVJbnB1dCIsImJlZm9yZWlucHV0IixudWxsLG4sbCksby5wdXNoKHtldmVudDpiLGxpc3RlbmVyczp3fSksYi5kYXRhPXYpO3ZhciBrPWU7aWYoInN1Ym1pdCI9PT1rJiZyJiZyLnN0YXRlTm9kZT09PWwpe3ZhciBTPXNRKChsW2VxXXx8bnVsbCkuYWN0aW9uKSx4PW4uc3VibWl0dGVyO3gmJm51bGwhPT0oaz0oaz14W2VxXXx8bnVsbCk/c1Eoay5mb3JtQWN0aW9uKTp4LmdldEF0dHJpYnV0ZSgiZm9ybUFjdGlvbiIpKSYmKFM9ayx4PW51bGwpO3ZhciBfPW5ldyB0MSgiYWN0aW9uIiwiYWN0aW9uIixudWxsLG4sbCk7by5wdXNoKHtldmVudDpfLGxpc3RlbmVyczpbe2luc3RhbmNlOm51bGwsbGlzdGVuZXI6ZnVuY3Rpb24oKXtpZihuLmRlZmF1bHRQcmV2ZW50ZWQpe2lmKDAhPT1zRCl7dmFyIGU9eD9zVyhsLHgpOm5ldyBGb3JtRGF0YShsKTtvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6bC5tZXRob2QsYWN0aW9uOlN9LG51bGwsZSl9fWVsc2UiZnVuY3Rpb24iPT10eXBlb2YgUyYmKF8ucHJldmVudERlZmF1bHQoKSxvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZT14P3NXKGwseCk6bmV3IEZvcm1EYXRhKGwpLG1ldGhvZDpsLm1ldGhvZCxhY3Rpb246U30sUyxlKSl9LGN1cnJlbnRUYXJnZXQ6bH1dfSl9fXNZKG8sdCl9KX1mdW5jdGlvbiBzNChlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIHM4KGUsdCl7Zm9yKHZhciBuPXQrIkNhcHR1cmUiLHI9W107bnVsbCE9PWU7KXt2YXIgbD1lLGE9bC5zdGF0ZU5vZGU7aWYoNSE9PShsPWwudGFnKSYmMjYhPT1sJiYyNyE9PWx8fG51bGw9PT1hfHwobnVsbCE9KGw9dEYoZSxuKSkmJnIudW5zaGlmdChzNChlLGwsYSkpLG51bGwhPShsPXRGKGUsdCkpJiZyLnB1c2goczQoZSxsLGEpKSksMz09PWUudGFnKXJldHVybiByO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24gczUoZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcpcmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gczYoZSx0LG4scixsKXtmb3IodmFyIGE9dC5fcmVhY3ROYW1lLG89W107bnVsbCE9PW4mJm4hPT1yOyl7dmFyIGk9bix1PWkuYWx0ZXJuYXRlLHM9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxudWxsIT09dSYmdT09PXIpYnJlYWs7NSE9PWkmJjI2IT09aSYmMjchPT1pfHxudWxsPT09c3x8KHU9cyxsP251bGwhPShzPXRGKG4sYSkpJiZvLnVuc2hpZnQoczQobixzLHUpKTpsfHxudWxsIT0ocz10RihuLGEpKSYmby5wdXNoKHM0KG4scyx1KSkpLG49bi5yZXR1cm59MCE9PW8ubGVuZ3RoJiZlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOm99KX12YXIgczk9L1xyXG4/L2csczc9L1x1MDAwMHxcdUZGRkQvZztmdW5jdGlvbiBjZShlKXtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiBlP2U6IiIrZSkucmVwbGFjZShzOSwiXG4iKS5yZXBsYWNlKHM3LCIiKX1mdW5jdGlvbiBjdChlLHQpe3JldHVybiB0PWNlKHQpLGNlKGUpPT09dH1mdW5jdGlvbiBjbihlLHQsbixyLGwsYSl7c3dpdGNoKG4pe2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2YgcikiYm9keSI9PT10fHwidGV4dGFyZWEiPT09dCYmIiI9PT1yfHx0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuOyJib2R5IiE9PXQmJnRrKGUsIiIrcil9YnJlYWs7Y2FzZSJjbGFzc05hbWUiOnRvKGUsImNsYXNzIixyKTticmVhaztjYXNlInRhYkluZGV4Ijp0byhlLCJ0YWJpbmRleCIscik7YnJlYWs7Y2FzZSJkaXIiOmNhc2Uicm9sZSI6Y2FzZSJ2aWV3Qm94IjpjYXNlIndpZHRoIjpjYXNlImhlaWdodCI6dG8oZSxuLHIpO2JyZWFrO2Nhc2Uic3R5bGUiOnR4KGUscixhKTtyZXR1cm47Y2FzZSJkYXRhIjppZigib2JqZWN0IiE9PXQpe3RvKGUsImRhdGEiLHIpO2JyZWFrfWNhc2Uic3JjIjpjYXNlImhyZWYiOmlmKCIiPT09ciYmKCJhIiE9PXR8fCJocmVmIiE9PW4pfHxudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31yPXRDKCIiK3IpLGUuc2V0QXR0cmlidXRlKG4scik7YnJlYWs7Y2FzZSJhY3Rpb24iOmNhc2UiZm9ybUFjdGlvbiI6aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe2Uuc2V0QXR0cmlidXRlKG4sImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdBIFJlYWN0IGZvcm0gd2FzIHVuZXhwZWN0ZWRseSBzdWJtaXR0ZWQuIElmIHlvdSBjYWxsZWQgZm9ybS5zdWJtaXQoKSBtYW51YWxseSwgY29uc2lkZXIgdXNpbmcgZm9ybS5yZXF1ZXN0U3VibWl0KCkgaW5zdGVhZC4gSWYgeW91XFwncmUgdHJ5aW5nIHRvIHVzZSBldmVudC5zdG9wUHJvcGFnYXRpb24oKSBpbiBhIHN1Ym1pdCBldmVudCBoYW5kbGVyLCBjb25zaWRlciBhbHNvIGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKS4nKSIpO2JyZWFrfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoImZvcm1BY3Rpb24iPT09bj8oImlucHV0IiE9PXQmJmNuKGUsdCwibmFtZSIsbC5uYW1lLGwsbnVsbCksY24oZSx0LCJmb3JtRW5jVHlwZSIsbC5mb3JtRW5jVHlwZSxsLG51bGwpLGNuKGUsdCwiZm9ybU1ldGhvZCIsbC5mb3JtTWV0aG9kLGwsbnVsbCksY24oZSx0LCJmb3JtVGFyZ2V0IixsLmZvcm1UYXJnZXQsbCxudWxsKSk6KGNuKGUsdCwiZW5jVHlwZSIsbC5lbmNUeXBlLGwsbnVsbCksY24oZSx0LCJtZXRob2QiLGwubWV0aG9kLGwsbnVsbCksY24oZSx0LCJ0YXJnZXQiLGwudGFyZ2V0LGwsbnVsbCkpKSxudWxsPT1yfHwic3ltYm9sIj09dHlwZW9mIHJ8fCJib29sZWFuIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrfXI9dEMoIiIrciksZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlIm9uU2Nyb2xsIjpudWxsIT1yJiZzSigic2Nyb2xsIixlKTtyZXR1cm47Y2FzZSJvblNjcm9sbEVuZCI6bnVsbCE9ciYmc0ooInNjcm9sbGVuZCIsZSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UibXVsdGlwbGUiOmUubXVsdGlwbGU9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgcjticmVhaztjYXNlIm11dGVkIjplLm11dGVkPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHI7YnJlYWs7Y2FzZSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciOmNhc2Uic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIjpjYXNlImRlZmF1bHRWYWx1ZSI6Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6Y2FzZSJpbm5lckhUTUwiOmNhc2UicmVmIjpjYXNlImF1dG9Gb2N1cyI6YnJlYWs7Y2FzZSJ4bGlua0hyZWYiOmlmKG51bGw9PXJ8fCJmdW5jdGlvbiI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByfHwic3ltYm9sIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKCJ4bGluazpocmVmIik7YnJlYWt9bj10QygiIityKSxlLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6aHJlZiIsbik7YnJlYWs7Y2FzZSJjb250ZW50RWRpdGFibGUiOmNhc2Uic3BlbGxDaGVjayI6Y2FzZSJkcmFnZ2FibGUiOmNhc2UidmFsdWUiOmNhc2UiYXV0b1JldmVyc2UiOmNhc2UiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCI6Y2FzZSJmb2N1c2FibGUiOmNhc2UicHJlc2VydmVBbHBoYSI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLCIiK3IpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiaW5lcnQiOmNhc2UiYWxsb3dGdWxsU2NyZWVuIjpjYXNlImFzeW5jIjpjYXNlImF1dG9QbGF5IjpjYXNlImNvbnRyb2xzIjpjYXNlImRlZmF1bHQiOmNhc2UiZGVmZXIiOmNhc2UiZGlzYWJsZWQiOmNhc2UiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiOmNhc2UiZGlzYWJsZVJlbW90ZVBsYXliYWNrIjpjYXNlImZvcm1Ob1ZhbGlkYXRlIjpjYXNlImhpZGRlbiI6Y2FzZSJsb29wIjpjYXNlIm5vTW9kdWxlIjpjYXNlIm5vVmFsaWRhdGUiOmNhc2Uib3BlbiI6Y2FzZSJwbGF5c0lubGluZSI6Y2FzZSJyZWFkT25seSI6Y2FzZSJyZXF1aXJlZCI6Y2FzZSJyZXZlcnNlZCI6Y2FzZSJzY29wZWQiOmNhc2Uic2VhbWxlc3MiOmNhc2UiaXRlbVNjb3BlIjpyJiYiZnVuY3Rpb24iIT10eXBlb2YgciYmInN5bWJvbCIhPXR5cGVvZiByP2Uuc2V0QXR0cmlidXRlKG4sIiIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY2FwdHVyZSI6Y2FzZSJkb3dubG9hZCI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOiExIT09ciYmbnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY29scyI6Y2FzZSJyb3dzIjpjYXNlInNpemUiOmNhc2Uic3BhbiI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgciYmIWlzTmFOKHIpJiYxPD1yP2Uuc2V0QXR0cmlidXRlKG4scik6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJyb3dTcGFuIjpjYXNlInN0YXJ0IjpudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHxpc05hTihyKT9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLHIpO2JyZWFrO2Nhc2UicG9wb3ZlciI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksdGEoZSwicG9wb3ZlciIscik7YnJlYWs7Y2FzZSJ4bGlua0FjdHVhdGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazphY3R1YXRlIixyKTticmVhaztjYXNlInhsaW5rQXJjcm9sZSI6dGkoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFyY3JvbGUiLHIpO2JyZWFrO2Nhc2UieGxpbmtSb2xlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6cm9sZSIscik7YnJlYWs7Y2FzZSJ4bGlua1Nob3ciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpzaG93IixyKTticmVhaztjYXNlInhsaW5rVGl0bGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0aXRsZSIscik7YnJlYWs7Y2FzZSJ4bGlua1R5cGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0eXBlIixyKTticmVhaztjYXNlInhtbEJhc2UiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpiYXNlIixyKTticmVhaztjYXNlInhtbExhbmciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpsYW5nIixyKTticmVhaztjYXNlInhtbFNwYWNlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCJ4bWw6c3BhY2UiLHIpO2JyZWFrO2Nhc2UiaXMiOnRhKGUsImlzIixyKTticmVhaztjYXNlImlubmVyVGV4dCI6Y2FzZSJ0ZXh0Q29udGVudCI6cmV0dXJuO2RlZmF1bHQ6aWYoMjxuLmxlbmd0aCYmKCJvIj09PW5bMF18fCJPIj09PW5bMF0pJiYoIm4iPT09blsxXXx8Ik4iPT09blsxXSkpcmV0dXJuO3RhKGUsbj10UC5nZXQobil8fG4scil9dHI9ITB9ZnVuY3Rpb24gY3IoZSx0LG4scixsLGEpe3N3aXRjaChuKXtjYXNlInN0eWxlIjp0eChlLHIsYSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2Ygcil0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuO3RrKGUsIiIrcil9YnJlYWs7Y2FzZSJvblNjcm9sbCI6bnVsbCE9ciYmc0ooInNjcm9sbCIsZSk7cmV0dXJuO2Nhc2Uib25TY3JvbGxFbmQiOm51bGwhPXImJnNKKCJzY3JvbGxlbmQiLGUpO3JldHVybjtjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6Y2FzZSJpbm5lclRleHQiOmNhc2UidGV4dENvbnRlbnQiOnJldHVybjtkZWZhdWx0OmlmKCFlNi5oYXNPd25Qcm9wZXJ0eShuKSllOntpZigibyI9PT1uWzBdJiYibiI9PT1uWzFdJiYobD1uLmVuZHNXaXRoKCJDYXB0dXJlIiksdD1uLnNsaWNlKDIsbD9uLmxlbmd0aC03OnZvaWQgMCksImZ1bmN0aW9uIj09dHlwZW9mKGE9bnVsbCE9KGE9ZVtlcV18fG51bGwpP2Fbbl06bnVsbCkmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEsbCksImZ1bmN0aW9uIj09dHlwZW9mIHIpKXsiZnVuY3Rpb24iIT10eXBlb2YgYSYmbnVsbCE9PWEmJihuIGluIGU/ZVtuXT1udWxsOmUuaGFzQXR0cmlidXRlKG4pJiZlLnJlbW92ZUF0dHJpYnV0ZShuKSksZS5hZGRFdmVudExpc3RlbmVyKHQscixsKTticmVhayBlfXRyPSEwLG4gaW4gZT9lW25dPXI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOnRhKGUsbixyKX1yZXR1cm59dHI9ITB9ZnVuY3Rpb24gY2woZSx0LG4pe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImltZyI6c0ooImVycm9yIixlKSxzSigibG9hZCIsZSk7dmFyIHIsbD0hMSxhPSExO2ZvcihyIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSl7dmFyIG89bltyXTtpZihudWxsIT1vKXN3aXRjaChyKXtjYXNlInNyYyI6bD0hMDticmVhaztjYXNlInNyY1NldCI6YT0hMDticmVhaztjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjp0aHJvdyBFcnJvcih1KDEzNyx0KSk7ZGVmYXVsdDpjbihlLHQscixvLG4sbnVsbCl9fWEmJmNuKGUsdCwic3JjU2V0IixuLnNyY1NldCxuLG51bGwpLGwmJmNuKGUsdCwic3JjIixuLnNyYyxuLG51bGwpO3JldHVybjtjYXNlImlucHV0IjpzSigiaW52YWxpZCIsZSk7dmFyIGk9cj1vPWE9bnVsbCxzPW51bGwsYz1udWxsO2ZvcihsIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShsKSl7dmFyIGY9bltsXTtpZihudWxsIT1mKXN3aXRjaChsKXtjYXNlIm5hbWUiOmE9ZjticmVhaztjYXNlInR5cGUiOm89ZjticmVhaztjYXNlImNoZWNrZWQiOnM9ZjticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpjPWY7YnJlYWs7Y2FzZSJ2YWx1ZSI6cj1mO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjppPWY7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYobnVsbCE9Zil0aHJvdyBFcnJvcih1KDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDpjbihlLHQsbCxmLG4sbnVsbCl9fXRnKGUscixpLHMsYyxvLGEsITEpO3JldHVybjtjYXNlInNlbGVjdCI6Zm9yKGEgaW4gc0ooImludmFsaWQiLGUpLGw9bz1yPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT0oaT1uW2FdKSlzd2l0Y2goYSl7Y2FzZSJ2YWx1ZSI6cj1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpvPWk7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6bD1pO2RlZmF1bHQ6Y24oZSx0LGEsaSxuLG51bGwpfXQ9cixuPW8sZS5tdWx0aXBsZT0hIWwsbnVsbCE9dD90eShlLCEhbCx0LCExKTpudWxsIT1uJiZ0eShlLCEhbCxuLCEwKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6Zm9yKG8gaW4gc0ooImludmFsaWQiLGUpLHI9YT1sPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KG8pJiZudWxsIT0oaT1uW29dKSlzd2l0Y2gobyl7Y2FzZSJ2YWx1ZSI6bD1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphPWk7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6cj1pO2JyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPWkpdGhyb3cgRXJyb3IodSg5MSkpO2JyZWFrO2RlZmF1bHQ6Y24oZSx0LG8saSxuLG51bGwpfXR3KGUsbCxhLHIpO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHMgaW4gbiluLmhhc093blByb3BlcnR5KHMpJiZudWxsIT0obD1uW3NdKSYmKCJzZWxlY3RlZCI9PT1zP2Uuc2VsZWN0ZWQ9bCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwmJiJzeW1ib2wiIT10eXBlb2YgbDpjbihlLHQscyxsLG4sbnVsbCkpO3JldHVybjtjYXNlImRpYWxvZyI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksc0ooImNhbmNlbCIsZSksc0ooImNsb3NlIixlKTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOnNKKCJsb2FkIixlKTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IobD0wO2w8c1gubGVuZ3RoO2wrKylzSihzWFtsXSxlKTticmVhaztjYXNlImltYWdlIjpzSigiZXJyb3IiLGUpLHNKKCJsb2FkIixlKTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLGUpO2JyZWFrO2Nhc2UiZW1iZWQiOmNhc2Uic291cmNlIjpjYXNlImxpbmsiOnNKKCJlcnJvciIsZSksc0ooImxvYWQiLGUpO2Nhc2UiYXJlYSI6Y2FzZSJiYXNlIjpjYXNlImJyIjpjYXNlImNvbCI6Y2FzZSJociI6Y2FzZSJrZXlnZW4iOmNhc2UibWV0YSI6Y2FzZSJwYXJhbSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcihjIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShjKSYmbnVsbCE9KGw9bltjXSkpc3dpdGNoKGMpe2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOnRocm93IEVycm9yKHUoMTM3LHQpKTtkZWZhdWx0OmNuKGUsdCxjLGwsbixudWxsKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKGYgaW4gbiluLmhhc093blByb3BlcnR5KGYpJiZ2b2lkIDAhPT0obD1uW2ZdKSYmY3IoZSx0LGYsbCxuLHZvaWQgMCk7cmV0dXJufX1mb3IoaSBpbiBuKW4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPShsPW5baV0pJiZjbihlLHQsaSxsLG4sbnVsbCl9ZnVuY3Rpb24gY2EoZSl7c3dpdGNoKGUpe2Nhc2UiY3NzIjpjYXNlInNjcmlwdCI6Y2FzZSJmb250IjpjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJpbnB1dCI6Y2FzZSJsaW5rIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgY289bnVsbCxjaT1udWxsO2Z1bmN0aW9uIGN1KGUpe3JldHVybiA5PT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudH1mdW5jdGlvbiBjcyhlKXtzd2l0Y2goZSl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBjYyhlLHQpe2lmKDA9PT1lKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiAxPT09ZSYmImZvcmVpZ25PYmplY3QiPT09dD8wOmV9ZnVuY3Rpb24gY2YoZSx0KXtyZXR1cm4idGV4dGFyZWEiPT09ZXx8Im5vc2NyaXB0Ij09PWV8fCJzdHJpbmciPT10eXBlb2YgdC5jaGlsZHJlbnx8Im51bWJlciI9PXR5cGVvZiB0LmNoaWxkcmVufHwiYmlnaW50Ij09dHlwZW9mIHQuY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBjZD1udWxsLGNwPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dm9pZCAwLGNtPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OnZvaWQgMCxjaD0iZnVuY3Rpb24iPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlOnZvaWQgMCxjZz0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6dm9pZCAwIT09Y2g/ZnVuY3Rpb24oZSl7cmV0dXJuIGNoLnJlc29sdmUobnVsbCkudGhlbihlKS5jYXRjaChjdil9OmNwO2Z1bmN0aW9uIGN2KGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9ZnVuY3Rpb24gY3koZSl7cmV0dXJuImhlYWQiPT09ZX1mdW5jdGlvbiBjYihlLHQpe3ZhciBuPXQscj0wO2Rve3ZhciBsPW4ubmV4dFNpYmxpbmc7aWYoZS5yZW1vdmVDaGlsZChuKSxsJiY4PT09bC5ub2RlVHlwZSlpZigiLyQiPT09KG49bC5kYXRhKXx8Ii8mIj09PW4pe2lmKDA9PT1yKXtlLnJlbW92ZUNoaWxkKGwpLGZHKHQpO3JldHVybn1yLS19ZWxzZSBpZigiJCI9PT1ufHwiJD8iPT09bnx8IiR+Ij09PW58fCIkISI9PT1ufHwiJiI9PT1uKXIrKztlbHNlIGlmKCJodG1sIj09PW4pY0coZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7ZWxzZSBpZigiaGVhZCI9PT1uKXtjRyhuPWUub3duZXJEb2N1bWVudC5oZWFkKTtmb3IodmFyIGE9bi5maXJzdENoaWxkO2E7KXt2YXIgbz1hLm5leHRTaWJsaW5nLGk9YS5ub2RlTmFtZTthW2VaXXx8IlNDUklQVCI9PT1pfHwiU1RZTEUiPT09aXx8IkxJTksiPT09aSYmInN0eWxlc2hlZXQiPT09YS5yZWwudG9Mb3dlckNhc2UoKXx8bi5yZW1vdmVDaGlsZChhKSxhPW99fWVsc2UiYm9keSI9PT1uJiZjRyhlLm93bmVyRG9jdW1lbnQuYm9keSk7bj1sfXdoaWxlKG4pZkcodCl9ZnVuY3Rpb24gY3coZSx0KXt2YXIgbj1lO2U9MDtkb3t2YXIgcj1uLm5leHRTaWJsaW5nO2lmKDE9PT1uLm5vZGVUeXBlP3Q/KG4uX3N0YXNoZWREaXNwbGF5PW4uc3R5bGUuZGlzcGxheSxuLnN0eWxlLmRpc3BsYXk9Im5vbmUiKToobi5zdHlsZS5kaXNwbGF5PW4uX3N0YXNoZWREaXNwbGF5fHwiIiwiIj09PW4uZ2V0QXR0cmlidXRlKCJzdHlsZSIpJiZuLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSk6Mz09PW4ubm9kZVR5cGUmJih0PyhuLl9zdGFzaGVkVGV4dD1uLm5vZGVWYWx1ZSxuLm5vZGVWYWx1ZT0iIik6bi5ub2RlVmFsdWU9bi5fc3Rhc2hlZFRleHR8fCIiKSxyJiY4PT09ci5ub2RlVHlwZSlpZigiLyQiPT09KG49ci5kYXRhKSlpZigwPT09ZSlicmVhaztlbHNlIGUtLTtlbHNlIiQiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJCEiIT09bnx8ZSsrO249cn13aGlsZShuKX1mdW5jdGlvbiBjayhlLHQsbil7aWYodD1DU1MuZXNjYXBlKHQpIT09dD8ici0iK2J0b2EodCkucmVwbGFjZSgvPS9nLCIiKTp0LGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPXQsbnVsbCE9biYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25DbGFzcz1uKSwiaW5saW5lIj09PShuPWdldENvbXB1dGVkU3R5bGUoZSkpLmRpc3BsYXkpe2lmKDE9PT0odD1lLmdldENsaWVudFJlY3RzKCkpLmxlbmd0aCl2YXIgcj0xO2Vsc2UgZm9yKHZhciBsPXI9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGE9dFtsXTswPGEud2lkdGgmJjA8YS5oZWlnaHQmJnIrK30xPT09ciYmKChlPWUuc3R5bGUpLmRpc3BsYXk9MT09PXQubGVuZ3RoPyJpbmxpbmUtYmxvY2siOiJibG9jayIsZS5tYXJnaW5Ub3A9Ii0iK24ucGFkZGluZ1RvcCxlLm1hcmdpbkJvdHRvbT0iLSIrbi5wYWRkaW5nQm90dG9tKX19ZnVuY3Rpb24gY1MoZSx0KXtlPWUuc3R5bGU7dmFyIG49bnVsbCE9KHQ9dC5zdHlsZSk/dC5oYXNPd25Qcm9wZXJ0eSgidmlld1RyYW5zaXRpb25OYW1lIik/dC52aWV3VHJhbnNpdGlvbk5hbWU6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLW5hbWUiKT90WyJ2aWV3LXRyYW5zaXRpb24tbmFtZSJdOm51bGw6bnVsbDtlLnZpZXdUcmFuc2l0aW9uTmFtZT1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksbj1udWxsIT10P3QuaGFzT3duUHJvcGVydHkoInZpZXdUcmFuc2l0aW9uQ2xhc3MiKT90LnZpZXdUcmFuc2l0aW9uQ2xhc3M6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLWNsYXNzIik/dFsidmlldy10cmFuc2l0aW9uLWNsYXNzIl06bnVsbDpudWxsLGUudmlld1RyYW5zaXRpb25DbGFzcz1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksImlubGluZS1ibG9jayI9PT1lLmRpc3BsYXkmJihudWxsPT10P2UuZGlzcGxheT1lLm1hcmdpbj0iIjoobj10LmRpc3BsYXksZS5kaXNwbGF5PW51bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG4/IiI6bixudWxsIT0obj10Lm1hcmdpbik/ZS5tYXJnaW49bjoobj10Lmhhc093blByb3BlcnR5KCJtYXJnaW5Ub3AiKT90Lm1hcmdpblRvcDp0WyJtYXJnaW4tdG9wIl0sZS5tYXJnaW5Ub3A9bnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbj8iIjpuLHQ9dC5oYXNPd25Qcm9wZXJ0eSgibWFyZ2luQm90dG9tIik/dC5tYXJnaW5Cb3R0b206dFsibWFyZ2luLWJvdHRvbSJdLGUubWFyZ2luQm90dG9tPW51bGw9PXR8fCJib29sZWFuIj09dHlwZW9mIHQ/IiI6dCkpKX1mdW5jdGlvbiBjRShlLHQsbil7cmV0dXJuIG49bi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHtyZWN0OmUsYWJzOiJhYnNvbHV0ZSI9PT10LnBvc2l0aW9ufHwiZml4ZWQiPT09dC5wb3NpdGlvbixjbGlwOiJub25lIiE9PXQuY2xpcFBhdGh8fCJ2aXNpYmxlIiE9PXQub3ZlcmZsb3d8fCJub25lIiE9PXQuZmlsdGVyfHwibm9uZSIhPT10Lm1hc2t8fCJub25lIiE9PXQubWFza3x8IjBweCIhPT10LmJvcmRlclJhZGl1cyx2aWV3OjA8PWUuYm90dG9tJiYwPD1lLnJpZ2h0JiZlLnRvcDw9bi5pbm5lckhlaWdodCYmZS5sZWZ0PD1uLmlubmVyV2lkdGh9fWZ1bmN0aW9uIGN4KGUpe3JldHVybiBjRShlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGdldENvbXB1dGVkU3R5bGUoZSksZSl9ZnVuY3Rpb24gY18oZSl7dmFyIHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gY0UodD1uZXcgRE9NUmVjdCh0LngrMmU0LHQueSsyZTQsdC53aWR0aCx0LmhlaWdodCksZ2V0Q29tcHV0ZWRTdHlsZShlKSxlKX1mdW5jdGlvbiBjUChlKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpfWZ1bmN0aW9uIGNOKGUsdCl7dGhpcy5fc2NvcGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX3NlbGVjdG9yPSI6OnZpZXctdHJhbnNpdGlvbi0iK2UrIigiK3QrIikifWZ1bmN0aW9uIGNDKGUpe3JldHVybntuYW1lOmUsZ3JvdXA6bmV3IGNOKCJncm91cCIsZSksaW1hZ2VQYWlyOm5ldyBjTigiaW1hZ2UtcGFpciIsZSksb2xkOm5ldyBjTigib2xkIixlKSxuZXc6bmV3IGNOKCJuZXciLGUpfX1mdW5jdGlvbiBjVChlKXt0aGlzLl9mcmFnbWVudEZpYmVyPWUsdGhpcy5fb2JzZXJ2ZXJzPXRoaXMuX2V2ZW50TGlzdGVuZXJzPW51bGx9ZnVuY3Rpb24gY08oZSx0LG4scil7cmV0dXJuIGcoZSkuYWRkRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY3ooZSx0LG4scil7cmV0dXJuIGcoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY0woZSl7cmV0dXJuIG51bGw9PWU/IjAiOiJib29sZWFuIj09dHlwZW9mIGU/ImM9IisoZT8iMSI6IjAiKToiYz0iKyhlLmNhcHR1cmU/IjEiOiIwIikrIiZvPSIrKGUub25jZT8iMSI6IjAiKSsiJnA9IisoZS5wYXNzaXZlPyIxIjoiMCIpfWZ1bmN0aW9uIGNSKGUsdCxuLHIpe2Zvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYT1lW2xdO2lmKGEudHlwZT09PXQmJmEubGlzdGVuZXI9PT1uJiZjTChhLm9wdGlvbnNPclVzZUNhcHR1cmUpPT09Y0wocikpcmV0dXJuIGx9cmV0dXJuIC0xfWZ1bmN0aW9uIGNNKGUsdCl7dmFyIG49ZT1nKGUpLHI9dDtmdW5jdGlvbiBsKCl7YT0hMH12YXIgYT0hMTt0cnl7bi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbCksKG4uZm9jdXN8fEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cykuY2FsbChuLHIpfWZpbmFsbHl7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbCl9cmV0dXJuIGF9ZnVuY3Rpb24gY0koZSx0KXtyZXR1cm4gdC5wdXNoKGUpLCExfWZ1bmN0aW9uIGNEKGUpe3JldHVybihlPWcoZSkpPT09ZS5vd25lckRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJihlLmJsdXIoKSwhMCl9ZnVuY3Rpb24gY0YoZSx0KXtyZXR1cm4gZT1nKGUpLHQub2JzZXJ2ZShlKSwhMX1mdW5jdGlvbiBjQShlLHQpe3JldHVybiBlPWcoZSksdC51bm9ic2VydmUoZSksITF9ZnVuY3Rpb24gY2ooZSx0KXtyZXR1cm4gZT1nKGUpLHQucHVzaC5hcHBseSh0LGUuZ2V0Q2xpZW50UmVjdHMoKSksITF9ZnVuY3Rpb24gY1UoZSx0KXt2YXIgbj10Ll9ldmVudExpc3RlbmVycztpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtlLmFkZEV2ZW50TGlzdGVuZXIobC50eXBlLGwubGlzdGVuZXIsbC5vcHRpb25zT3JVc2VDYXB0dXJlKX1udWxsIT09dC5fb2JzZXJ2ZXJzJiZ0Ll9vYnNlcnZlcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0Lm9ic2VydmUoZSl9KX1mdW5jdGlvbiBjQihlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7Zm9yKHQmJjEwPT09dC5ub2RlVHlwZSYmKHQ9dC5uZXh0U2libGluZyk7dDspe3ZhciBuPXQ7c3dpdGNoKHQ9dC5uZXh0U2libGluZyxuLm5vZGVOYW1lKXtjYXNlIkhUTUwiOmNhc2UiSEVBRCI6Y2FzZSJCT0RZIjpjQihuKSxlMChuKTtjb250aW51ZTtjYXNlIlNDUklQVCI6Y2FzZSJTVFlMRSI6Y29udGludWU7Y2FzZSJMSU5LIjppZigic3R5bGVzaGVldCI9PT1uLnJlbC50b0xvd2VyQ2FzZSgpKWNvbnRpbnVlfWUucmVtb3ZlQ2hpbGQobil9fWZ1bmN0aW9uIGNWKGUsdCl7Zm9yKDs4IT09ZS5ub2RlVHlwZTspaWYoKDEhPT1lLm5vZGVUeXBlfHwiSU5QVVQiIT09ZS5ub2RlTmFtZXx8ImhpZGRlbiIhPT1lLnR5cGUpJiYhdHx8bnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBjSChlKXtyZXR1cm4iJD8iPT09ZS5kYXRhfHwiJH4iPT09ZS5kYXRhfWZ1bmN0aW9uIGMkKGUpe3JldHVybiIkISI9PT1lLmRhdGF8fCIkPyI9PT1lLmRhdGEmJiJsb2FkaW5nIiE9PWUub3duZXJEb2N1bWVudC5yZWFkeVN0YXRlfWZ1bmN0aW9uIGNRKGUpe2Zvcig7bnVsbCE9ZTtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYoMT09PXR8fDM9PT10KWJyZWFrO2lmKDg9PT10KXtpZigiJCI9PT0odD1lLmRhdGEpfHwiJCEiPT09dHx8IiQ/Ij09PXR8fCIkfiI9PT10fHwiJiI9PT10fHwiRiEiPT09dHx8IkYiPT09dClicmVhaztpZigiLyQiPT09dHx8Ii8mIj09PXQpcmV0dXJuIG51bGx9fXJldHVybiBlfWNOLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQ9Im51bWJlciI9PXR5cGVvZiB0P3tkdXJhdGlvbjp0fTp4KHt9LHQpKS5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUoZSx0KX0sY04ucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3RvcixuPWUuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHI9W10sbD0wO2w8bi5sZW5ndGg7bCsrKXt2YXIgYT1uW2xdLmVmZmVjdDtudWxsIT09YSYmYS50YXJnZXQ9PT1lJiZhLnBzZXVkb0VsZW1lbnQ9PT10JiZyLnB1c2gobltsXSl9cmV0dXJuIHJ9LGNOLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfSxjVC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQsbil7bnVsbD09PXRoaXMuX2V2ZW50TGlzdGVuZXJzJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciByPXRoaXMuX2V2ZW50TGlzdGVuZXJzOy0xPT09Y1IocixlLHQsbikmJihyLnB1c2goe3R5cGU6ZSxsaXN0ZW5lcjp0LG9wdGlvbnNPclVzZUNhcHR1cmU6bn0pLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjTyxlLHQsbikpLHRoaXMuX2V2ZW50TGlzdGVuZXJzPXJ9LGNULnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLl9ldmVudExpc3RlbmVycztudWxsIT1yJiYwPHIubGVuZ3RoJiYobSh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLGN6LGUsdCxuKSxlPWNSKHIsZSx0LG4pLG51bGwhPT10aGlzLl9ldmVudExpc3RlbmVycyYmdGhpcy5fZXZlbnRMaXN0ZW5lcnMuc3BsaWNlKGUsMSkpfSxjVC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiEwO3Q9Zyh0KTt2YXIgbj10aGlzLl9ldmVudExpc3RlbmVycztpZihudWxsIT09biYmMDxuLmxlbmd0aHx8IWUuYnViYmxlcyl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO2lmKG4pZm9yKHZhciBsPTA7bDxuLmxlbmd0aDtsKyspe3ZhciBhPW5bbF07ci5hZGRFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9aWYodC5hcHBlbmRDaGlsZChyKSxlPXIuZGlzcGF0Y2hFdmVudChlKSxuKWZvcihsPTA7bDxuLmxlbmd0aDtsKyspYT1uW2xdLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLnR5cGUsYS5saXN0ZW5lcixhLm9wdGlvbnNPclVzZUNhcHR1cmUpO3JldHVybiB0LnJlbW92ZUNoaWxkKHIpLGV9cmV0dXJuIHQuZGlzcGF0Y2hFdmVudChlKX0sY1QucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKGUpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjTSxlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjSSx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgbj10Lmxlbmd0aC0xOzA8PW4mJiFjTSh0W25dLGUpO24tLSk7fSxjVC5wcm90b3R5cGUuYmx1cj1mdW5jdGlvbigpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRCx2b2lkIDAsdm9pZCAwLHZvaWQgMCl9LGNULnByb3RvdHlwZS5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7bnVsbD09PXRoaXMuX29ic2VydmVycyYmKHRoaXMuX29ic2VydmVycz1uZXcgU2V0KSx0aGlzLl9vYnNlcnZlcnMuYWRkKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRixlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUudW5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fb2JzZXJ2ZXJzO251bGwhPT10JiZ0LmhhcyhlKSYmKHQuZGVsZXRlKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjQSxlLHZvaWQgMCx2b2lkIDApKX0sY1QucHJvdG90eXBlLmdldENsaWVudFJlY3RzPWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjaixlLHZvaWQgMCx2b2lkIDApLGV9LGNULnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO3JldHVybiBudWxsPT09dD90aGlzOmcodCkuZ2V0Um9vdE5vZGUoZSl9LGNULnByb3RvdHlwZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRDt2YXIgbj1bXTttKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsY0ksbix2b2lkIDAsdm9pZCAwKTt2YXIgcj1nKHQpO2lmKDA9PT1uLmxlbmd0aCl7bj10aGlzLl9mcmFnbWVudEZpYmVyO3ZhciBsPXIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7cmV0dXJuIHQ9bCxyPT09ZT90PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlM6bCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSYmKG0obi5zaWJsaW5nLCExLGIpLG49dix2PW51bGwsdD1udWxsPT09bj9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORzowPT09KGU9ZyhuKS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSl8fGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpLHR8Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ310PWcoblswXSksbD1nKG5bbi5sZW5ndGgtMV0pO2Zvcih2YXIgYT1nKG5bMF0pLG89ITEsaT10aGlzLl9mcmFnbWVudEZpYmVyLnJldHVybjtudWxsIT09aSYmKDQ9PT1pLnRhZyYmKG89ITApLDMhPT1pLnRhZyYmNSE9PWkudGFnKTspaT1pLnJldHVybjtpZihudWxsPT0oYT1vP2EucGFyZW50RWxlbWVudDpyKSlyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7cj1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLGE9YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSxvPXQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7dmFyIHU9bC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKTtyZXR1cm4gaT1vJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZfHx1Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLHU9ciYmYSYmbyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmdSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORywodD1yJiZ0PT09ZXx8YSYmbD09PWV8fGl8fHU/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk6KHJ8fHQhPT1lKSYmKGF8fGwhPT1lKT9vOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEfHx0Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUN8fGZ1bmN0aW9uKGUsdCxuLHIsbCl7dmFyIGE9ZTEobCk7aWYoZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSl7aWYobj0hIWEpZTp7Zm9yKDtudWxsIT09YTspe2lmKDc9PT1hLnRhZyYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXtuPSEwO2JyZWFrIGV9YT1hLnJldHVybn1uPSExfXJldHVybiBufWlmKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyl7aWYobnVsbD09PWEpcmV0dXJuIGE9bC5vd25lckRvY3VtZW50LGw9PT1hfHxsPT09YS5ib2R5O2U6e2ZvcihhPXQsdD1oKHQpO251bGwhPT1hOyl7aWYoKDU9PT1hLnRhZ3x8Mz09PWEudGFnKSYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXthPSEwO2JyZWFrIGV9YT1hLnJldHVybn1hPSExfXJldHVybiBhfXJldHVybiBlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIWEpJiYhKHQ9YT09PW4pJiYobnVsbD09PSh0PUUobixhLFMpKT90PSExOihtKHQsITAsdyxhLG4pLGE9dix2PW51bGwsdD1udWxsIT09YSkpLHQpOiEhKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcpJiYoKHQ9ISFhKSYmISh0PWE9PT1yKSYmKG51bGw9PT0odD1FKHIsYSxTKSk/dD0hMToobSh0LCEwLGssYSxyKSxhPXYseT12PW51bGwsdD1udWxsIT09YSkpLHQpfSh0LHRoaXMuX2ZyYWdtZW50RmliZXIsblswXSxuW24ubGVuZ3RoLTFdLGUpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ30sY1QucHJvdG90eXBlLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDU2NikpO3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjSSx0LHZvaWQgMCx2b2lkIDApO3ZhciBuPSExIT09ZTtpZigwPT09dC5sZW5ndGgpe3Q9dGhpcy5fZnJhZ21lbnRGaWJlcjt2YXIgcj1bbnVsbCxudWxsXSxsPWgodCk7bnVsbCE9PWwmJmZ1bmN0aW9uIGUodCxuLHIpe2Zvcih2YXIgbD0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXSYmYXJndW1lbnRzWzNdO251bGwhPT1yOyl7aWYocj09PW4paWYobD0hMCwhci5zaWJsaW5nKXJldHVybiEwO2Vsc2Ugcj1yLnNpYmxpbmc7aWYoNT09PXIudGFnKXtpZihsKXJldHVybiB0WzFdPXIsITA7dFswXT1yfWVsc2UgaWYoKDIyIT09ci50YWd8fG51bGw9PT1yLm1lbW9pemVkU3RhdGUpJiZlKHQsbixyLmNoaWxkLGwpKXJldHVybiEwO3I9ci5zaWJsaW5nfXJldHVybiExfShyLHQsbC5jaGlsZCksbnVsbCE9PShuPW4/clsxXXx8clswXXx8aCh0aGlzLl9mcmFnbWVudEZpYmVyKTpyWzBdfHxyWzFdKSYmZyhuKS5zY3JvbGxJbnRvVmlldyhlKX1lbHNlIGZvcihyPW4/dC5sZW5ndGgtMTowO3IhPT0obj8tMTp0Lmxlbmd0aCk7KWcodFtyXSkuc2Nyb2xsSW50b1ZpZXcoZSkscis9bj8tMToxfTt2YXIgY1c9bnVsbDtmdW5jdGlvbiBjcShlKXtlPWUubmV4dFNpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIi8kIj09PW58fCIvJiI9PT1uKXtpZigwPT09dClyZXR1cm4gY1EoZS5uZXh0U2libGluZyk7dC0tfWVsc2UiJCIhPT1uJiYiJCEiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJiIhPT1ufHx0Kyt9ZT1lLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNLKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIiQiPT09bnx8IiQhIj09PW58fCIkPyI9PT1ufHwiJH4iPT09bnx8IiYiPT09bil7aWYoMD09PXQpcmV0dXJuIGU7dC0tfWVsc2UiLyQiIT09biYmIi8mIiE9PW58fHQrK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNYKGUsdCxuKXtzd2l0Y2godD1jdShuKSxlKXtjYXNlImh0bWwiOmlmKCEoZT10LmRvY3VtZW50RWxlbWVudCkpdGhyb3cgRXJyb3IodSg0NTIpKTtyZXR1cm4gZTtjYXNlImhlYWQiOmlmKCEoZT10LmhlYWQpKXRocm93IEVycm9yKHUoNDUzKSk7cmV0dXJuIGU7Y2FzZSJib2R5IjppZighKGU9dC5ib2R5KSl0aHJvdyBFcnJvcih1KDQ1NCkpO3JldHVybiBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NTEpKX19ZnVuY3Rpb24gY0coZSl7Zm9yKHZhciB0PWUuYXR0cmlidXRlczt0Lmxlbmd0aDspZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKHRbMF0pO2UwKGUpfXZhciBjWT1uZXcgTWFwLGNKPW5ldyBTZXQ7ZnVuY3Rpb24gY1ooZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUuZ2V0Um9vdE5vZGU/ZS5nZXRSb290Tm9kZSgpOjk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50fXZhciBjMD1xLmQ7cS5kPXtmOmZ1bmN0aW9uKCl7dmFyIGU9YzAuZigpLHQ9c3QoKTtyZXR1cm4gZXx8dH0scjpmdW5jdGlvbihlKXt2YXIgdD1lMihlKTtudWxsIT09dCYmNT09PXQudGFnJiYiZm9ybSI9PT10LnR5cGU/b2ModCk6YzAucihlKX0sRDpmdW5jdGlvbihlKXtjMC5EKGUpLGMyKCJkbnMtcHJlZmV0Y2giLGUsbnVsbCl9LEM6ZnVuY3Rpb24oZSx0KXtjMC5DKGUsdCksYzIoInByZWNvbm5lY3QiLGUsdCl9LEw6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLkwoZSx0LG4pLGMxJiZlJiZ0KXt2YXIgcj0nbGlua1tyZWw9InByZWxvYWQiXVthcz0iJyt0bSh0KSsnIl0nOyJpbWFnZSI9PT10JiZuJiZuLmltYWdlU3JjU2V0PyhyKz0nW2ltYWdlc3Jjc2V0PSInK3RtKG4uaW1hZ2VTcmNTZXQpKyciXScsInN0cmluZyI9PXR5cGVvZiBuLmltYWdlU2l6ZXMmJihyKz0nW2ltYWdlc2l6ZXM9IicrdG0obi5pbWFnZVNpemVzKSsnIl0nKSk6cis9J1tocmVmPSInK3RtKGUpKyciXSc7dmFyIGw9cjtzd2l0Y2godCl7Y2FzZSJzdHlsZSI6bD1jNChlKTticmVhaztjYXNlInNjcmlwdCI6bD1jNihlKX1jWS5oYXMobCl8fChlPXgoe3JlbDoicHJlbG9hZCIsaHJlZjoiaW1hZ2UiPT09dCYmbiYmbi5pbWFnZVNyY1NldD92b2lkIDA6ZSxhczp0fSxuKSxjWS5zZXQobCxlKSxudWxsIT09YzEucXVlcnlTZWxlY3RvcihyKXx8InN0eWxlIj09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpfHwic2NyaXB0Ij09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzkobCkpfHwoY2wodD1jMS5jcmVhdGVFbGVtZW50KCJsaW5rIiksImxpbmsiLGUpLGU4KHQpLGMxLmhlYWQuYXBwZW5kQ2hpbGQodCkpKX19LG06ZnVuY3Rpb24oZSx0KXtpZihjMC5tKGUsdCksYzEmJmUpe3ZhciBuPXQmJiJzdHJpbmciPT10eXBlb2YgdC5hcz90LmFzOiJzY3JpcHQiLHI9J2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl1bYXM9IicrdG0obikrJyJdW2hyZWY9IicrdG0oZSkrJyJdJyxsPXI7c3dpdGNoKG4pe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjpsPWM2KGUpfWlmKCFjWS5oYXMobCkmJihlPXgoe3JlbDoibW9kdWxlcHJlbG9hZCIsaHJlZjplfSx0KSxjWS5zZXQobCxlKSxudWxsPT09YzEucXVlcnlTZWxlY3RvcihyKSkpe3N3aXRjaChuKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6aWYoYzEucXVlcnlTZWxlY3RvcihjOShsKSkpcmV0dXJufWNsKG49YzEuY3JlYXRlRWxlbWVudCgibGluayIpLCJsaW5rIixlKSxlOChuKSxjMS5oZWFkLmFwcGVuZENoaWxkKG4pfX19LFg6ZnVuY3Rpb24oZSx0KXtpZihjMC5YKGUsdCksYzEmJmUpe3ZhciBuPWU0KGMxKS5ob2lzdGFibGVTY3JpcHRzLHI9YzYoZSksbD1uLmdldChyKTtsfHwoKGw9YzEucXVlcnlTZWxlY3RvcihjOShyKSkpfHwoZT14KHtzcmM6ZSxhc3luYzohMH0sdCksKHQ9Y1kuZ2V0KHIpKSYmZm4oZSx0KSxlOChsPWMxLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKSxjbChsLCJsaW5rIixlKSxjMS5oZWFkLmFwcGVuZENoaWxkKGwpKSxsPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOmwsY291bnQ6MSxzdGF0ZTpudWxsfSxuLnNldChyLGwpKX19LFM6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLlMoZSx0LG4pLGMxJiZlKXt2YXIgcj1lNChjMSkuaG9pc3RhYmxlU3R5bGVzLGw9YzQoZSk7dD10fHwiZGVmYXVsdCI7dmFyIGE9ci5nZXQobCk7aWYoIWEpe3ZhciBvPXtsb2FkaW5nOjAscHJlbG9hZDpudWxsfTtpZihhPWMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpKW8ubG9hZGluZz01O2Vsc2V7ZT14KHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6ZSwiZGF0YS1wcmVjZWRlbmNlIjp0fSxuKSwobj1jWS5nZXQobCkpJiZmdChlLG4pO3ZhciBpPWE9YzEuY3JlYXRlRWxlbWVudCgibGluayIpO2U4KGkpLGNsKGksImxpbmsiLGUpLGkuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZSx0KXtpLm9ubG9hZD1lLGkub25lcnJvcj10fSksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe28ubG9hZGluZ3w9MX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7by5sb2FkaW5nfD0yfSksby5sb2FkaW5nfD00LGZlKGEsdCxjMSl9YT17dHlwZToic3R5bGVzaGVldCIsaW5zdGFuY2U6YSxjb3VudDoxLHN0YXRlOm99LHIuc2V0KGwsYSl9fX0sTTpmdW5jdGlvbihlLHQpe2lmKGMwLk0oZSx0KSxjMSYmZSl7dmFyIG49ZTQoYzEpLmhvaXN0YWJsZVNjcmlwdHMscj1jNihlKSxsPW4uZ2V0KHIpO2x8fCgobD1jMS5xdWVyeVNlbGVjdG9yKGM5KHIpKSl8fChlPXgoe3NyYzplLGFzeW5jOiEwLHR5cGU6Im1vZHVsZSJ9LHQpLCh0PWNZLmdldChyKSkmJmZuKGUsdCksZTgobD1jMS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsZSksYzEuaGVhZC5hcHBlbmRDaGlsZChsKSksbD17dHlwZToic2NyaXB0IixpbnN0YW5jZTpsLGNvdW50OjEsc3RhdGU6bnVsbH0sbi5zZXQocixsKSl9fX07dmFyIGMxPSJ1Ijx0eXBlb2YgZG9jdW1lbnQ/bnVsbDpkb2N1bWVudDtmdW5jdGlvbiBjMihlLHQsbil7aWYoYzEmJiJzdHJpbmciPT10eXBlb2YgdCYmdCl7dmFyIHI9dG0odCk7cj0nbGlua1tyZWw9IicrZSsnIl1baHJlZj0iJytyKyciXScsInN0cmluZyI9PXR5cGVvZiBuJiYocis9J1tjcm9zc29yaWdpbj0iJytuKyciXScpLGNKLmhhcyhyKXx8KGNKLmFkZChyKSxlPXtyZWw6ZSxjcm9zc09yaWdpbjpuLGhyZWY6dH0sbnVsbD09PWMxLnF1ZXJ5U2VsZWN0b3IocikmJihjbCh0PWMxLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSwibGluayIsZSksZTgodCksYzEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBjMyhlLHQsbixyKXt2YXIgbD0obD1lbi5jdXJyZW50KT9jWihsKTpudWxsO2lmKCFsKXRocm93IEVycm9yKHUoNDQ2KSk7c3dpdGNoKGUpe2Nhc2UibWV0YSI6Y2FzZSJ0aXRsZSI6cmV0dXJuIG51bGw7Y2FzZSJzdHlsZSI6cmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLnByZWNlZGVuY2UmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmPyh0PWM0KG4uaHJlZiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU3R5bGVzKS5nZXQodCkpfHwocj17dHlwZToic3R5bGUiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSxuLnNldCh0LHIpKSxyKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2Nhc2UibGluayI6aWYoInN0eWxlc2hlZXQiPT09bi5yZWwmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmJiYic3RyaW5nIj09dHlwZW9mIG4ucHJlY2VkZW5jZSl7ZT1jNChuLmhyZWYpO3ZhciBhLG8saSxzLGM9ZTQobCkuaG9pc3RhYmxlU3R5bGVzLGY9Yy5nZXQoZSk7aWYoZnx8KGw9bC5vd25lckRvY3VtZW50fHxsLGY9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LGMuc2V0KGUsZiksKGM9bC5xdWVyeVNlbGVjdG9yKGM4KGUpKSkmJiFjLl9wJiYoZi5pbnN0YW5jZT1jLGYuc3RhdGUubG9hZGluZz01KSxjWS5oYXMoZSl8fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LGNZLnNldChlLG4pLGN8fChhPWwsbz1lLGk9bixzPWYuc3RhdGUsYS5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrbysiXSIpP3MubG9hZGluZz0xOihzLnByZWxvYWQ9bz1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9MX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9Mn0pLGNsKG8sImxpbmsiLGkpLGU4KG8pLGEuaGVhZC5hcHBlbmRDaGlsZChvKSkpKSksdCYmbnVsbD09PXIpdGhyb3cgRXJyb3IodSg1MjgsIiIpKTtyZXR1cm4gZn1pZih0JiZudWxsIT09cil0aHJvdyBFcnJvcih1KDUyOSwiIikpO3JldHVybiBudWxsO2Nhc2Uic2NyaXB0IjpyZXR1cm4gdD1uLmFzeW5jLCJzdHJpbmciPT10eXBlb2Yobj1uLnNyYykmJnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYic3ltYm9sIiE9dHlwZW9mIHQ/KHQ9YzYobiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU2NyaXB0cykuZ2V0KHQpKXx8KHI9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LG4uc2V0KHQscikpLHIpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDQ0NCxlKSl9fWZ1bmN0aW9uIGM0KGUpe3JldHVybidocmVmPSInK3RtKGUpKyciJ31mdW5jdGlvbiBjOChlKXtyZXR1cm4nbGlua1tyZWw9InN0eWxlc2hlZXQiXVsnK2UrIl0ifWZ1bmN0aW9uIGM1KGUpe3JldHVybiB4KHt9LGUseyJkYXRhLXByZWNlZGVuY2UiOmUucHJlY2VkZW5jZSxwcmVjZWRlbmNlOm51bGx9KX1mdW5jdGlvbiBjNihlKXtyZXR1cm4nW3NyYz0iJyt0bShlKSsnIl0nfWZ1bmN0aW9uIGM5KGUpe3JldHVybiJzY3JpcHRbYXN5bmNdIitlfWZ1bmN0aW9uIGM3KGUsdCxuKXtpZih0LmNvdW50KyssbnVsbD09PXQuaW5zdGFuY2Upc3dpdGNoKHQudHlwZSl7Y2FzZSJzdHlsZSI6dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWZ+PSInK3RtKG4uaHJlZikrJyJdJyk7aWYocilyZXR1cm4gdC5pbnN0YW5jZT1yLGU4KHIpLHI7dmFyIGw9eCh7fSxuLHsiZGF0YS1ocmVmIjpuLmhyZWYsImRhdGEtcHJlY2VkZW5jZSI6bi5wcmVjZWRlbmNlLGhyZWY6bnVsbCxwcmVjZWRlbmNlOm51bGx9KTtyZXR1cm4gZTgocj0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKSxjbChyLCJzdHlsZSIsbCksZmUocixuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1yO2Nhc2Uic3R5bGVzaGVldCI6bD1jNChuLmhyZWYpO3ZhciBhPWUucXVlcnlTZWxlY3RvcihjOChsKSk7aWYoYSlyZXR1cm4gdC5zdGF0ZS5sb2FkaW5nfD00LHQuaW5zdGFuY2U9YSxlOChhKSxhO3I9YzUobiksKGw9Y1kuZ2V0KGwpKSYmZnQocixsKSxlOChhPShlLm93bmVyRG9jdW1lbnR8fGUpLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSk7dmFyIG89YTtyZXR1cm4gby5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSx0LnN0YXRlLmxvYWRpbmd8PTQsZmUoYSxuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1hO2Nhc2Uic2NyaXB0IjppZihhPWM2KG4uc3JjKSxsPWUucXVlcnlTZWxlY3RvcihjOShhKSkpcmV0dXJuIHQuaW5zdGFuY2U9bCxlOChsKSxsO3JldHVybiByPW4sKGw9Y1kuZ2V0KGEpKSYmZm4ocj14KHt9LG4pLGwpLGU4KGw9KGU9ZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsciksZS5oZWFkLmFwcGVuZENoaWxkKGwpLHQuaW5zdGFuY2U9bDtjYXNlInZvaWQiOnJldHVybiBudWxsO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDMsdC50eXBlKSl9cmV0dXJuInN0eWxlc2hlZXQiPT09dC50eXBlJiYwPT0oNCZ0LnN0YXRlLmxvYWRpbmcpJiYocj10Lmluc3RhbmNlLHQuc3RhdGUubG9hZGluZ3w9NCxmZShyLG4ucHJlY2VkZW5jZSxlKSksdC5pbnN0YW5jZX1mdW5jdGlvbiBmZShlLHQsbil7Zm9yKHZhciByPW4ucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0nKSxsPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06bnVsbCxhPWwsbz0wO288ci5sZW5ndGg7bysrKXt2YXIgaT1yW29dO2lmKGkuZGF0YXNldC5wcmVjZWRlbmNlPT09dClhPWk7ZWxzZSBpZihhIT09bClicmVha31hP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxhLm5leHRTaWJsaW5nKToodD05PT09bi5ub2RlVHlwZT9uLmhlYWQ6bikuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX1mdW5jdGlvbiBmdChlLHQpe251bGw9PWUuY3Jvc3NPcmlnaW4mJihlLmNyb3NzT3JpZ2luPXQuY3Jvc3NPcmlnaW4pLG51bGw9PWUucmVmZXJyZXJQb2xpY3kmJihlLnJlZmVycmVyUG9saWN5PXQucmVmZXJyZXJQb2xpY3kpLG51bGw9PWUudGl0bGUmJihlLnRpdGxlPXQudGl0bGUpfWZ1bmN0aW9uIGZuKGUsdCl7bnVsbD09ZS5jcm9zc09yaWdpbiYmKGUuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksbnVsbD09ZS5yZWZlcnJlclBvbGljeSYmKGUucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksbnVsbD09ZS5pbnRlZ3JpdHkmJihlLmludGVncml0eT10LmludGVncml0eSl9dmFyIGZyPW51bGw7ZnVuY3Rpb24gZmwoZSx0LG4pe2lmKG51bGw9PT1mcil7dmFyIHI9bmV3IE1hcCxsPWZyPW5ldyBNYXA7bC5zZXQobixyKX1lbHNlKHI9KGw9ZnIpLmdldChuKSl8fChyPW5ldyBNYXAsbC5zZXQobixyKSk7aWYoci5oYXMoZSkpcmV0dXJuIHI7Zm9yKHIuc2V0KGUsbnVsbCksbj1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpLGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTtpZighKGFbZVpdfHxhW2VXXXx8ImxpbmsiPT09ZSYmInN0eWxlc2hlZXQiPT09YS5nZXRBdHRyaWJ1dGUoInJlbCIpKSYmImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiE9PWEubmFtZXNwYWNlVVJJKXt2YXIgbz1hLmdldEF0dHJpYnV0ZSh0KXx8IiI7bz1lK287dmFyIGk9ci5nZXQobyk7aT9pLnB1c2goYSk6ci5zZXQobyxbYV0pfX1yZXR1cm4gcn1mdW5jdGlvbiBmYShlLHQsbil7KGU9ZS5vd25lckRvY3VtZW50fHxlKS5oZWFkLmluc2VydEJlZm9yZShuLCJ0aXRsZSI9PT10P2UucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIik6bnVsbCl9ZnVuY3Rpb24gZm8oZSx0KXtyZXR1cm4iaW1nIj09PWUmJm51bGwhPXQuc3JjJiYiIiE9PXQuc3JjJiZudWxsPT10Lm9uTG9hZCYmImxhenkiIT09dC5sb2FkaW5nfWZ1bmN0aW9uIGZpKGUpe3JldHVybiJzdHlsZXNoZWV0IiE9PWUudHlwZXx8MCE9KDMmZS5zdGF0ZS5sb2FkaW5nKX1mdW5jdGlvbiBmdShlKXtyZXR1cm4oZS53aWR0aHx8MTAwKSooZS5oZWlnaHR8fDEwMCkqKCJudW1iZXIiPT10eXBlb2YgZGV2aWNlUGl4ZWxSYXRpbz9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBmcyhlLHQpeyJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlY29kZSYmKGUuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwoZS5pbWdCeXRlcys9ZnUodCksZS5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksZT1mcC5iaW5kKGUpLHQuZGVjb2RlKCkudGhlbihlLGUpKX12YXIgZmM9MDtmdW5jdGlvbiBmZihlKXtpZigwPT09ZS5jb3VudCYmKDA9PT1lLmltZ0NvdW50fHwhZS53YWl0aW5nRm9ySW1hZ2VzKSl7aWYoZS5zdHlsZXNoZWV0cylmaChlLGUuc3R5bGVzaGVldHMpO2Vsc2UgaWYoZS51bnN1c3BlbmQpe3ZhciB0PWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsdCgpfX19ZnVuY3Rpb24gZmQoKXt0aGlzLmNvdW50LS0sZmYodGhpcyl9ZnVuY3Rpb24gZnAoKXt0aGlzLmltZ0NvdW50LS0sZmYodGhpcyl9dmFyIGZtPW51bGw7ZnVuY3Rpb24gZmgoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsbnVsbCE9PWUudW5zdXNwZW5kJiYoZS5jb3VudCsrLGZtPW5ldyBNYXAsdC5mb3JFYWNoKGZnLGUpLGZtPW51bGwsZmQuY2FsbChlKSl9ZnVuY3Rpb24gZmcoZSx0KXtpZighKDQmdC5zdGF0ZS5sb2FkaW5nKSl7dmFyIG49Zm0uZ2V0KGUpO2lmKG4pdmFyIHI9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsZm0uc2V0KGUsbik7Zm9yKHZhciBsPWUucXVlcnlTZWxlY3RvckFsbCgibGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0iKSxhPTA7YTxsLmxlbmd0aDthKyspe3ZhciBvPWxbYV07KCJMSU5LIj09PW8ubm9kZU5hbWV8fCJub3QgYWxsIiE9PW8uZ2V0QXR0cmlidXRlKCJtZWRpYSIpKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLHI9byl9ciYmbi5zZXQobnVsbCxyKX1vPShsPXQuaW5zdGFuY2UpLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIiksKGE9bi5nZXQobyl8fHIpPT09ciYmbi5zZXQobnVsbCxsKSxuLnNldChvLGwpLHRoaXMuY291bnQrKyxyPWZkLmJpbmQodGhpcyksbC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixyKSxsLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixyKSxhP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxhLm5leHRTaWJsaW5nKTooZT05PT09ZS5ub2RlVHlwZT9lLmhlYWQ6ZSkuaW5zZXJ0QmVmb3JlKGwsZS5maXJzdENoaWxkKSx0LnN0YXRlLmxvYWRpbmd8PTR9fXZhciBmdj17JCR0eXBlb2Y6TCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2N1cnJlbnRWYWx1ZTpLLF9jdXJyZW50VmFsdWUyOkssX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIGZ5KGUsdCxuLHIsbCxhLG8saSx1KXt0aGlzLnRhZz0xLHRoaXMuY29udGFpbmVySW5mbz1lLHRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLm5leHQ9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9dGhpcy5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsdGhpcy5jYWxsYmFja1ByaW9yaXR5PTAsdGhpcy5leHBpcmF0aW9uVGltZXM9ZUQoLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5zaGVsbFN1c3BlbmRDb3VudGVyPXRoaXMuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXM9dGhpcy5leHBpcmVkTGFuZXM9dGhpcy53YXJtTGFuZXM9dGhpcy5waW5nZWRMYW5lcz10aGlzLnN1c3BlbmRlZExhbmVzPXRoaXMucGVuZGluZ0xhbmVzPTAsdGhpcy5lbnRhbmdsZW1lbnRzPWVEKDApLHRoaXMuaGlkZGVuVXBkYXRlcz1lRChudWxsKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9cix0aGlzLm9uVW5jYXVnaHRFcnJvcj1sLHRoaXMub25DYXVnaHRFcnJvcj1hLHRoaXMub25SZWNvdmVyYWJsZUVycm9yPW8sdGhpcy5wb29sZWRDYWNoZT1udWxsLHRoaXMucG9vbGVkQ2FjaGVMYW5lcz0wLHRoaXMuZm9ybVN0YXRlPXUsdGhpcy50cmFuc2l0aW9uVHlwZXM9bnVsbCx0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucz1uZXcgTWFwfWZ1bmN0aW9uIGZiKGUsdCxuLHIsbCxhLG8saSx1LHMsYyxmKXtyZXR1cm4gZT1uZXcgZnkoZSx0LG4sbyx1LHMsYyxmLGkpLHQ9MSwhMD09PWEmJih0fD0yNCksYT1ydigzLG51bGwsbnVsbCx0KSxlLmN1cnJlbnQ9YSxhLnN0YXRlTm9kZT1lLHQ9bHUoKSx0LnJlZkNvdW50KyssZS5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6bixjYWNoZTp0fSxsQihhKSxlfWZ1bmN0aW9uIGZ3KGUsdCxuLHIsbCxhKXtsPWw/cmg6cmgsbnVsbD09PXIuY29udGV4dD9yLmNvbnRleHQ9bDpyLnBlbmRpbmdDb250ZXh0PWwsKHI9bEgodCkpLnBheWxvYWQ9e2VsZW1lbnQ6bn0sbnVsbCE9PShhPXZvaWQgMD09PWE/bnVsbDphKSYmKHIuY2FsbGJhY2s9YSksbnVsbCE9PShuPWwkKGUscix0KSkmJih1NihuLGUsdCksbFEobixlLHQpKX1mdW5jdGlvbiBmayhlLHQpe2lmKG51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpJiZudWxsIT09ZS5kZWh5ZHJhdGVkKXt2YXIgbj1lLnJldHJ5TGFuZTtlLnJldHJ5TGFuZT0wIT09biYmbjx0P246dH19ZnVuY3Rpb24gZlMoZSx0KXtmayhlLHQpLChlPWUuYWx0ZXJuYXRlKSYmZmsoZSx0KX1mdW5jdGlvbiBmRShlKXtpZigxMz09PWUudGFnfHwzMT09PWUudGFnKXt2YXIgdD1yZChlLDB4NDAwMDAwMCk7bnVsbCE9PXQmJnU2KHQsZSwweDQwMDAwMDApLGZTKGUsMHg0MDAwMDAwKX19ZnVuY3Rpb24gZngoZSl7aWYoMTM9PT1lLnRhZ3x8MzE9PT1lLnRhZyl7dmFyIHQ9dTQoKSxuPXJkKGUsdD1lQih0KSk7bnVsbCE9PW4mJnU2KG4sZSx0KSxmUyhlLHQpfX12YXIgZl89ITA7ZnVuY3Rpb24gZlAoZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTIsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZk4oZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTgsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZkMoZSx0LG4scil7aWYoZl8pe3ZhciBsPWZUKHIpO2lmKG51bGw9PT1sKXMzKGUsdCxyLGZPLG4pLGZCKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLHQsbixyLGwpe3N3aXRjaCh0KXtjYXNlImZvY3VzaW4iOnJldHVybiBmTT1mVihmTSxlLHQsbixyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gZkk9ZlYoZkksZSx0LG4scixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIGZEPWZWKGZELGUsdCxuLHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIGZGLnNldChhLGZWKGZGLmdldChhKXx8bnVsbCxlLHQsbixyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxmQS5zZXQoYSxmVihmQS5nZXQoYSl8fG51bGwsZSx0LG4scixsKSksITB9cmV0dXJuITF9KGwsZSx0LG4scikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKGZCKGUsciksNCZ0JiYtMTxmVS5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9ZTIobCk7aWYobnVsbCE9PWEpc3dpdGNoKGEudGFnKXtjYXNlIDM6aWYoKGE9YS5zdGF0ZU5vZGUpLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBvPWVMKGEucGVuZGluZ0xhbmVzKTtpZigwIT09byl7dmFyIGk9YTtmb3IoaS5wZW5kaW5nTGFuZXN8PTIsaS5lbnRhbmdsZWRMYW5lc3w9MjtvOyl7dmFyIHU9MTw8MzEtZVAobyk7aS5lbnRhbmdsZW1lbnRzWzFdfD11LG8mPX51fXNGKGEpLDA9PSg2JnVTKSYmKHVIPWV2KCkrNTAwLHNBKDAsITEpKX19YnJlYWs7Y2FzZSAzMTpjYXNlIDEzOm51bGwhPT0oaT1yZChhLDIpKSYmdTYoaSxhLDIpLHN0KCksZlMoYSwyKX1pZihudWxsPT09KGE9ZlQocikpJiZzMyhlLHQscixmTyxuKSxhPT09bClicmVhaztsPWF9bnVsbCE9PWwmJnIuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBzMyhlLHQscixudWxsLG4pfX1mdW5jdGlvbiBmVChlKXtyZXR1cm4gZnooZT10eihlKSl9dmFyIGZPPW51bGw7ZnVuY3Rpb24gZnooZSl7aWYoZk89bnVsbCxudWxsIT09KGU9ZTEoZSkpKXt2YXIgdD1jKGUpO2lmKG51bGw9PT10KWU9bnVsbDtlbHNle3ZhciBuPXQudGFnO2lmKDEzPT09bil7aWYobnVsbCE9PShlPWYodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDMxPT09bil7aWYobnVsbCE9PShlPWQodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT1uKXtpZih0LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09dC50YWc/dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIHQhPT1lJiYoZT1udWxsKX19cmV0dXJuIGZPPWUsbnVsbH1mdW5jdGlvbiBmTChlKXtzd2l0Y2goZSl7Y2FzZSJiZWZvcmV0b2dnbGUiOmNhc2UiY2FuY2VsIjpjYXNlImNsaWNrIjpjYXNlImNsb3NlIjpjYXNlImNvbnRleHRtZW51IjpjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmNhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6Y2FzZSJpbnB1dCI6Y2FzZSJpbnZhbGlkIjpjYXNlImtleWRvd24iOmNhc2Uia2V5cHJlc3MiOmNhc2Uia2V5dXAiOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNldXAiOmNhc2UicGFzdGUiOmNhc2UicGF1c2UiOmNhc2UicGxheSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJ1cCI6Y2FzZSJyYXRlY2hhbmdlIjpjYXNlInJlc2V0IjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNoc3RhcnQiOmNhc2Uidm9sdW1lY2hhbmdlIjpjYXNlImNoYW5nZSI6Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmNhc2UidGV4dElucHV0IjpjYXNlImNvbXBvc2l0aW9uc3RhcnQiOmNhc2UiY29tcG9zaXRpb25lbmQiOmNhc2UiY29tcG9zaXRpb251cGRhdGUiOmNhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmNhc2UiYmVmb3JlaW5wdXQiOmNhc2UiYmx1ciI6Y2FzZSJmdWxsc2NyZWVuY2hhbmdlIjpjYXNlImZvY3VzIjpjYXNlImhhc2hjaGFuZ2UiOmNhc2UicG9wc3RhdGUiOmNhc2Uic2VsZWN0IjpjYXNlInNlbGVjdHN0YXJ0IjpyZXR1cm4gMjtjYXNlImRyYWciOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicmVzaXplIjpjYXNlInNjcm9sbCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2Uid2hlZWwiOmNhc2UibW91c2VlbnRlciI6Y2FzZSJtb3VzZWxlYXZlIjpjYXNlInBvaW50ZXJlbnRlciI6Y2FzZSJwb2ludGVybGVhdmUiOnJldHVybiA4O2Nhc2UibWVzc2FnZSI6c3dpdGNoKGV5KCkpe2Nhc2UgZWI6cmV0dXJuIDI7Y2FzZSBldzpyZXR1cm4gODtjYXNlIGVrOmNhc2UgZVM6cmV0dXJuIDMyO2Nhc2UgZUU6cmV0dXJuIDB4MTAwMDAwMDA7ZGVmYXVsdDpyZXR1cm4gMzJ9ZGVmYXVsdDpyZXR1cm4gMzJ9fXZhciBmUj0hMSxmTT1udWxsLGZJPW51bGwsZkQ9bnVsbCxmRj1uZXcgTWFwLGZBPW5ldyBNYXAsZmo9W10sZlU9Im1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBmQihlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmZNPW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjpmST1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0IjpmRD1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6ZkYuZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6ZkEuZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gZlYoZSx0LG4scixsLGEpe3JldHVybiBudWxsPT09ZXx8ZS5uYXRpdmVFdmVudCE9PWE/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6cixuYXRpdmVFdmVudDphLHRhcmdldENvbnRhaW5lcnM6W2xdfSxudWxsIT09dCYmbnVsbCE9PSh0PWUyKHQpKSYmZkUodCkpOihlLmV2ZW50U3lzdGVtRmxhZ3N8PXIsdD1lLnRhcmdldENvbnRhaW5lcnMsbnVsbCE9PWwmJi0xPT09dC5pbmRleE9mKGwpJiZ0LnB1c2gobCkpLGV9ZnVuY3Rpb24gZkgoZSl7dmFyIHQ9ZTEoZS50YXJnZXQpO2lmKG51bGwhPT10KXt2YXIgbj1jKHQpO2lmKG51bGwhPT1uKXtpZigxMz09PSh0PW4udGFnKSl7aWYobnVsbCE9PSh0PWYobikpKXtlLmJsb2NrZWRPbj10LGUkKGUucHJpb3JpdHksZnVuY3Rpb24oKXtmeChuKX0pO3JldHVybn19ZWxzZSBpZigzMT09PXQpe2lmKG51bGwhPT0odD1kKG4pKSl7ZS5ibG9ja2VkT249dCxlJChlLnByaW9yaXR5LGZ1bmN0aW9uKCl7Zngobil9KTtyZXR1cm59fWVsc2UgaWYoMz09PXQmJm4uc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPTM9PT1uLnRhZz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBmJChlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIG49ZlQoZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PW4pcmV0dXJuIG51bGwhPT0odD1lMihuKSkmJmZFKHQpLGUuYmxvY2tlZE9uPW4sITE7dmFyIHI9bmV3KG49ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3Iobi50eXBlLG4pO3RPPXIsbi50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSx0Tz1udWxsLHQuc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBmUShlLHQsbil7ZiQoZSkmJm4uZGVsZXRlKHQpfWZ1bmN0aW9uIGZXKCl7ZlI9ITEsbnVsbCE9PWZNJiZmJChmTSkmJihmTT1udWxsKSxudWxsIT09ZkkmJmYkKGZJKSYmKGZJPW51bGwpLG51bGwhPT1mRCYmZiQoZkQpJiYoZkQ9bnVsbCksZkYuZm9yRWFjaChmUSksZkEuZm9yRWFjaChmUSl9ZnVuY3Rpb24gZnEoZSx0KXtlLmJsb2NrZWRPbj09PXQmJihlLmJsb2NrZWRPbj1udWxsLGZSfHwoZlI9ITAsYS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZlcpKSl9dmFyIGZLPW51bGw7ZnVuY3Rpb24gZlgoZSl7ZkshPT1lJiYoZks9ZSxhLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soYS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe2ZLPT09ZSYmKGZLPW51bGwpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9Myl7dmFyIG49ZVt0XSxyPWVbdCsxXSxsPWVbdCsyXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgcilpZihudWxsPT09Znoocnx8bikpY29udGludWU7ZWxzZSBicmVhazt2YXIgYT1lMihuKTtudWxsIT09YSYmKGUuc3BsaWNlKHQsMyksdC09MyxvdShhLHtwZW5kaW5nOiEwLGRhdGE6bCxtZXRob2Q6bi5tZXRob2QsYWN0aW9uOnJ9LHIsbCkpfX0pKX1mdW5jdGlvbiBmRyhlKXtmdW5jdGlvbiB0KHQpe3JldHVybiBmcSh0LGUpfW51bGwhPT1mTSYmZnEoZk0sZSksbnVsbCE9PWZJJiZmcShmSSxlKSxudWxsIT09ZkQmJmZxKGZELGUpLGZGLmZvckVhY2godCksZkEuZm9yRWFjaCh0KTtmb3IodmFyIG49MDtuPGZqLmxlbmd0aDtuKyspe3ZhciByPWZqW25dO3IuYmxvY2tlZE9uPT09ZSYmKHIuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxmai5sZW5ndGgmJm51bGw9PT0obj1malswXSkuYmxvY2tlZE9uOylmSChuKSxudWxsPT09bi5ibG9ja2VkT24mJmZqLnNoaWZ0KCk7aWYobnVsbCE9KG49KGUub3duZXJEb2N1bWVudHx8ZSkuJCRyZWFjdEZvcm1SZXBsYXkpKWZvcihyPTA7cjxuLmxlbmd0aDtyKz0zKXt2YXIgbD1uW3JdLGE9bltyKzFdLG89bFtlcV18fG51bGw7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpb3x8Zlgobik7ZWxzZSBpZihvKXt2YXIgaT1udWxsO2lmKGEmJmEuaGFzQXR0cmlidXRlKCJmb3JtQWN0aW9uIikpe2lmKGw9YSxvPWFbZXFdfHxudWxsKWk9by5mb3JtQWN0aW9uO2Vsc2UgaWYobnVsbCE9PWZ6KGwpKWNvbnRpbnVlfWVsc2UgaT1vLmFjdGlvbjsiZnVuY3Rpb24iPT10eXBlb2YgaT9uW3IrMV09aToobi5zcGxpY2UociwzKSxyLT0zKSxmWChuKX19fWZ1bmN0aW9uIGZZKCl7ZnVuY3Rpb24gZShlKXtlLmNhbkludGVyY2VwdCYmInJlYWN0LXRyYW5zaXRpb24iPT09ZS5pbmZvJiZlLmludGVyY2VwdCh7aGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtyZXR1cm4gbD1lfSl9LGZvY3VzUmVzZXQ6Im1hbnVhbCIsc2Nyb2xsOiJtYW51YWwifSl9ZnVuY3Rpb24gdCgpe251bGwhPT1sJiYobCgpLGw9bnVsbCkscnx8c2V0VGltZW91dChuLDIwKX1mdW5jdGlvbiBuKCl7aWYoIXImJiFuYXZpZ2F0aW9uLnRyYW5zaXRpb24pe3ZhciBlPW5hdmlnYXRpb24uY3VycmVudEVudHJ5O2UmJm51bGwhPWUudXJsJiZuYXZpZ2F0aW9uLm5hdmlnYXRlKGUudXJsLHtzdGF0ZTplLmdldFN0YXRlKCksaW5mbzoicmVhY3QtdHJhbnNpdGlvbiIsaGlzdG9yeToicmVwbGFjZSJ9KX19aWYoIm9iamVjdCI9PXR5cGVvZiBuYXZpZ2F0aW9uKXt2YXIgcj0hMSxsPW51bGw7cmV0dXJuIG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLGUpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIix0KSxuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHQpLHNldFRpbWVvdXQobiwxMDApLGZ1bmN0aW9uKCl7cj0hMCxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixlKSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlc3VjY2VzcyIsdCksbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZWVycm9yIix0KSxudWxsIT09bCYmKGwoKSxsPW51bGwpfX19ZnVuY3Rpb24gZkooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZnVuY3Rpb24gZlooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZloucHJvdG90eXBlLnJlbmRlcj1mSi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsPT09dCl0aHJvdyBFcnJvcih1KDQwOSkpO2Z3KHQuY3VycmVudCx1NCgpLGUsdCxudWxsLG51bGwpfSxmWi5wcm90b3R5cGUudW5tb3VudD1mSi5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsIT09ZSl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHQ9ZS5jb250YWluZXJJbmZvO2Z3KGUuY3VycmVudCwyLG51bGwsZSxudWxsLG51bGwpLHN0KCksdFtlS109bnVsbH19LGZaLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lSCgpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5OnR9O2Zvcih2YXIgbj0wO248ZmoubGVuZ3RoJiYwIT09dCYmdDxmaltuXS5wcmlvcml0eTtuKyspO2ZqLnNwbGljZShuLDAsZSksMD09PW4mJmZIKGUpfX07dmFyIGYwPW8udmVyc2lvbjtpZigiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIhPT1mMCl0aHJvdyBFcnJvcih1KDUyNyxmMCwiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIpKTtpZihxLmZpbmRET01Ob2RlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3JlYWN0SW50ZXJuYWxzO2lmKHZvaWQgMD09PXQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlbmRlcil0aHJvdyBFcnJvcih1KDE4OCkpO3Rocm93IEVycm9yKHUoMjY4LGU9T2JqZWN0LmtleXMoZSkuam9pbigiLCIpKSl9cmV0dXJuIG51bGw9PT0oZT1udWxsIT09KGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYoIXQpe2lmKG51bGw9PT0odD1jKGUpKSl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiB0IT09ZT9udWxsOmV9Zm9yKHZhciBuPWUscj10Ozspe3ZhciBsPW4ucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciBhPWwuYWx0ZXJuYXRlO2lmKG51bGw9PT1hKXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXtuPXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PWEuY2hpbGQpe2ZvcihhPWwuY2hpbGQ7YTspe2lmKGE9PT1uKXJldHVybiBwKGwpLGU7aWYoYT09PXIpcmV0dXJuIHAobCksdDthPWEuc2libGluZ310aHJvdyBFcnJvcih1KDE4OCkpfWlmKG4ucmV0dXJuIT09ci5yZXR1cm4pbj1sLHI9YTtlbHNle2Zvcih2YXIgbz0hMSxpPWwuY2hpbGQ7aTspe2lmKGk9PT1uKXtvPSEwLG49bCxyPWE7YnJlYWt9aWYoaT09PXIpe289ITAscj1sLG49YTticmVha31pPWkuc2libGluZ31pZighbyl7Zm9yKGk9YS5jaGlsZDtpOyl7aWYoaT09PW4pe289ITAsbj1hLHI9bDticmVha31pZihpPT09cil7bz0hMCxyPWEsbj1sO2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXRocm93IEVycm9yKHUoMTg5KSl9fWlmKG4uYWx0ZXJuYXRlIT09cil0aHJvdyBFcnJvcih1KDE5MCkpfWlmKDMhPT1uLnRhZyl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiBuLnN0YXRlTm9kZS5jdXJyZW50PT09bj9lOnR9KHQpKT9mdW5jdGlvbiBlKHQpe3ZhciBuPXQudGFnO2lmKDU9PT1ufHwyNj09PW58fDI3PT09bnx8Nj09PW4pcmV0dXJuIHQ7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe2lmKG51bGwhPT0obj1lKHQpKSlyZXR1cm4gbjt0PXQuc2libGluZ31yZXR1cm4gbnVsbH0oZSk6bnVsbCk/bnVsbDplLnN0YXRlTm9kZX0sInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18pe3ZhciBmMT1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYoIWYxLmlzRGlzYWJsZWQmJmYxLnN1cHBvcnRzRmliZXIpdHJ5e2V4PWYxLmluamVjdCh7YnVuZGxlVHlwZTowLHZlcnNpb246IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTciLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSIsY3VycmVudERpc3BhdGNoZXJSZWY6VyxyZWNvbmNpbGVyVmVyc2lvbjoiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyJ9KSxlXz1mMX1jYXRjaChlKXt9fW4uY3JlYXRlUm9vdD1mdW5jdGlvbihlLHQpe2lmKCFzKGUpKXRocm93IEVycm9yKHUoMjk5KSk7dmFyIG49ITEscj0iIixsPW96LGE9b0wsbz1vUjtyZXR1cm4gbnVsbCE9dCYmKCEwPT09dC51bnN0YWJsZV9zdHJpY3RNb2RlJiYobj0hMCksdm9pZCAwIT09dC5pZGVudGlmaWVyUHJlZml4JiYocj10LmlkZW50aWZpZXJQcmVmaXgpLHZvaWQgMCE9PXQub25VbmNhdWdodEVycm9yJiYobD10Lm9uVW5jYXVnaHRFcnJvciksdm9pZCAwIT09dC5vbkNhdWdodEVycm9yJiYoYT10Lm9uQ2F1Z2h0RXJyb3IpLHZvaWQgMCE9PXQub25SZWNvdmVyYWJsZUVycm9yJiYobz10Lm9uUmVjb3ZlcmFibGVFcnJvcikpLHQ9ZmIoZSwxLCExLG51bGwsbnVsbCxuLHIsbnVsbCxsLGEsbyxmWSksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmSih0KX0sbi5oeWRyYXRlUm9vdD1mdW5jdGlvbihlLHQsbil7aWYoIXMoZSkpdGhyb3cgRXJyb3IodSgyOTkpKTt2YXIgcixsPSExLGE9IiIsbz1veixpPW9MLGM9b1IsZj1udWxsO3JldHVybiBudWxsIT1uJiYoITA9PT1uLnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT1uLmlkZW50aWZpZXJQcmVmaXgmJihhPW4uaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09bi5vblVuY2F1Z2h0RXJyb3ImJihvPW4ub25VbmNhdWdodEVycm9yKSx2b2lkIDAhPT1uLm9uQ2F1Z2h0RXJyb3ImJihpPW4ub25DYXVnaHRFcnJvciksdm9pZCAwIT09bi5vblJlY292ZXJhYmxlRXJyb3ImJihjPW4ub25SZWNvdmVyYWJsZUVycm9yKSx2b2lkIDAhPT1uLmZvcm1TdGF0ZSYmKGY9bi5mb3JtU3RhdGUpKSwodD1mYihlLDEsITAsdCxudWxsIT1uP246bnVsbCxsLGEsZixvLGksYyxmWSkpLmNvbnRleHQ9KHI9bnVsbCxyaCksbj10LmN1cnJlbnQsKGE9bEgobD1lQihsPXU0KCkpKSkuY2FsbGJhY2s9bnVsbCxsJChuLGEsbCksbj1sLHQuY3VycmVudC5sYW5lcz1uLGVGKHQsbiksc0YodCksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmWih0KX0sbi52ZXJzaW9uPSIxOS4zLjAtY2FuYXJ5LWY5M2I5ZmQ0LTIwMjUxMjE3In0sODI5NDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1Ij50eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksdC5leHBvcnRzPWUucig4MjQyNCl9LDgyOTM5LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtvbkNhdWdodEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LG9uVW5jYXVnaHRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoNDk4NDMpLGk9ZS5yKDg0MDgyKSx1PWUucigxNzc0OCkscz1lLnIoNzQ4NDcpLGM9YS5fKGUucigxNjE1MykpLGY9e2RlY29yYXRlRGV2RXJyb3I6ZT0+ZSxoYW5kbGVDbGllbnRFcnJvcjooKT0+e30sb3JpZ2luQ29uc29sZUVycm9yOmNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKX07ZnVuY3Rpb24gZChlLHQpe2xldCBuLHI9dC5lcnJvckJvdW5kYXJ5Py5jb25zdHJ1Y3RvcjtpZihuPW58fHI9PT1zLkVycm9yQm91bmRhcnlIYW5kbGVyJiZ0LmVycm9yQm91bmRhcnkucHJvcHMuZXJyb3JDb21wb25lbnQ9PT1jLmRlZmF1bHQpcmV0dXJuIHAoZSk7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fGYub3JpZ2luQ29uc29sZUVycm9yKGUpfWZ1bmN0aW9uIHAoZSl7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fCgwLHUucmVwb3J0R2xvYmFsRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDY0NTQ3LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCByPWUucig3NTIwMSksbD1lLnIoMjkwODApLGE9Im5leHQtcm91dGUtYW5ub3VuY2VyIjtmdW5jdGlvbiBvKHt0cmVlOmV9KXtsZXRbdCxuXT0oMCxyLnVzZVN0YXRlKShudWxsKTsoMCxyLnVzZUVmZmVjdCkoKCk9PihuKGZ1bmN0aW9uKCl7bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYSlbMF07aWYoZT8uc2hhZG93Um9vdD8uY2hpbGROb2Rlc1swXSlyZXR1cm4gZS5zaGFkb3dSb290LmNoaWxkTm9kZXNbMF07e2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7ZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZSI7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXJpYUxpdmU9ImFzc2VydGl2ZSIsdC5pZD0iX19uZXh0LXJvdXRlLWFubm91bmNlcl9fIix0LnJvbGU9ImFsZXJ0Iix0LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsIixlLmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KS5hcHBlbmRDaGlsZCh0KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHR9fSgpKSwoKT0+e2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpWzBdO2U/LmlzQ29ubmVjdGVkJiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpfSksW10pO2xldFtvLGldPSgwLHIudXNlU3RhdGUpKCIiKSx1PSgwLHIudXNlUmVmKSh2b2lkIDApO3JldHVybigwLHIudXNlRWZmZWN0KSgoKT0+e2xldCBlPSIiO2lmKGRvY3VtZW50LnRpdGxlKWU9ZG9jdW1lbnQudGl0bGU7ZWxzZXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoMSIpO3QmJihlPXQuaW5uZXJUZXh0fHx0LnRleHRDb250ZW50fHwiIil9dm9pZCAwIT09dS5jdXJyZW50JiZ1LmN1cnJlbnQhPT1lJiZpKGUpLHUuY3VycmVudD1lfSxbZV0pLHQ/KDAsbC5jcmVhdGVQb3J0YWwpKG8sdCk6bnVsbH0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw3OTIxMywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZEhlYWRJbkNhY2hlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgcj1lLnIoMjc0NTQpLGw9ZS5yKDU3Nzc4KTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLGEsbyl7aWYoMD09PU9iamVjdC5rZXlzKG4pLmxlbmd0aClyZXR1cm5bdCxhLG9dO2xldCBpPU9iamVjdC5rZXlzKG4pLmZpbHRlcihlPT4iY2hpbGRyZW4iIT09ZSk7Zm9yKGxldCBvIG9mKCJjaGlsZHJlbiJpbiBuJiZpLnVuc2hpZnQoImNoaWxkcmVuIiksaSkpe2xldFtpLHVdPW5bb107aWYoaT09PXIuREVGQVVMVF9TRUdNRU5UX0tFWSljb250aW51ZTtsZXQgcz10LnBhcmFsbGVsUm91dGVzLmdldChvKTtpZighcyljb250aW51ZTtsZXQgYz0oMCxsLmNyZWF0ZVJvdXRlckNhY2hlS2V5KShpKSxmPSgwLGwuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGksITApLGQ9cy5nZXQoYyk7aWYoIWQpY29udGludWU7bGV0IHA9ZShkLHUsYSsiLyIrYyxhKyIvIitmKTtpZihwKXJldHVybiBwfXJldHVybiBudWxsfShlLHQsIiIsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDI2NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtHcmFjZWZ1bERlZ3JhZGVCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBpfSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDk4MTM0KSxvPWUucig3NTIwMSk7Y2xhc3MgaSBleHRlbmRzIG8uQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuc3RhdGU9e2hhc0Vycm9yOiExfSx0aGlzLnJvb3RIdG1sPSIiLHRoaXMuaHRtbEF0dHJpYnV0ZXM9e30sdGhpcy5odG1sUmVmPSgwLG8uY3JlYXRlUmVmKSgpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7cmV0dXJue2hhc0Vycm9yOiEwfX1jb21wb25lbnREaWRNb3VudCgpe2xldCBlPXRoaXMuaHRtbFJlZi5jdXJyZW50O3RoaXMuc3RhdGUuaGFzRXJyb3ImJmUmJk9iamVjdC5lbnRyaWVzKHRoaXMuaHRtbEF0dHJpYnV0ZXMpLmZvckVhY2goKFt0LG5dKT0+e2Uuc2V0QXR0cmlidXRlKHQsbil9KX1yZW5kZXIoKXtsZXR7aGFzRXJyb3I6ZX09dGhpcy5zdGF0ZTtyZXR1cm4oInUiPnR5cGVvZiB3aW5kb3cmJiF0aGlzLnJvb3RIdG1sJiYodGhpcy5yb290SHRtbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MLHRoaXMuaHRtbEF0dHJpYnV0ZXM9ZnVuY3Rpb24oZSl7bGV0IHQ9e307Zm9yKGxldCBuPTA7bjxlLmF0dHJpYnV0ZXMubGVuZ3RoO24rKyl7bGV0IHI9ZS5hdHRyaWJ1dGVzW25dO3Rbci5uYW1lXT1yLnZhbHVlfXJldHVybiB0fShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKSxlKT8oMCxhLmpzeCkoImh0bWwiLHtyZWY6dGhpcy5odG1sUmVmLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnRoaXMucm9vdEh0bWx9fSk6dGhpcy5wcm9wcy5jaGlsZHJlbn19bGV0IHU9aTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMzcwMiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IHI9ZS5yKDgxMjU4KSxsPWUucig5ODEzNCk7ZS5yKDc1MjAxKTtsZXQgYT1yLl8oZS5yKDI2NzA2KSksbz1lLnIoNzQ4NDcpLGk9ZS5yKDM0NjUpLHU9InUiPnR5cGVvZiB3aW5kb3cmJigwLGkuaXNCb3QpKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtmdW5jdGlvbiBzKHtjaGlsZHJlbjplLGVycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6bixlcnJvclNjcmlwdHM6cn0pe3JldHVybiB1PygwLGwuanN4KShhLmRlZmF1bHQse2NoaWxkcmVuOmV9KTooMCxsLmpzeCkoby5FcnJvckJvdW5kYXJ5LHtlcnJvckNvbXBvbmVudDp0LGVycm9yU3R5bGVzOm4sZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDYxMTU2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUn19KTtsZXQgcj1lLnIoODEyNTgpLGw9ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1sLl8oZS5yKDc1MjAxKSksaT1lLnIoMTY4NzIpLHU9ZS5yKDU5NDMwKSxzPWUucig4NTU5NCksYz1lLnIoMzE4OTkpLGY9ZS5yKDk0ODc5KSxkPWUucig2NDU0NykscD1lLnIoNTcyNDcpLG09ZS5yKDc5MjEzKSxoPWUucig1MDA5NiksZz1lLnIoMjQwNDIpLHY9ZS5yKDM4OTMzKSx5PWUucigxODE2NyksYj1lLnIoODMzOTgpLHc9ZS5yKDg0Mzk1KSxrPWUucig0MTcyMSksUz1lLnIoOTA4NjIpLEU9ZS5yKDk4MjgzKSx4PXIuXyhlLnIoMzM3MDIpKSxfPXIuXyhlLnIoMTYxNTMpKSxQPWUucigzNjM0NSksTj1lLnIoODg3NzQpLEM9e307ZnVuY3Rpb24gVCh7YXBwUm91dGVyU3RhdGU6ZX0pe3JldHVybigwLG8udXNlSW5zZXJ0aW9uRWZmZWN0KSgoKT0+e2xldHt0cmVlOnQscHVzaFJlZjpuLGNhbm9uaWNhbFVybDpyLHJlbmRlcmVkU2VhcmNoOmx9PWUsYT17Li4ubi5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT93aW5kb3cuaGlzdG9yeS5zdGF0ZTp7fSxfX05BOiEwLF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU6e3RyZWU6dCxyZW5kZXJlZFNlYXJjaDpsfX07bi5wZW5kaW5nUHVzaCYmKDAscy5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpIT09cj8obi5wZW5kaW5nUHVzaD0hMSx3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoYSwiIixyKSk6d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGEsIiIscil9LFtlXSksKDAsby51c2VFZmZlY3QpKCgpPT57KDAsRS5waW5nVmlzaWJsZUxpbmtzKShlLm5leHRVcmwsZS50cmVlKX0sW2UubmV4dFVybCxlLnRyZWVdKSxudWxsfWZ1bmN0aW9uIE8oZSl7bnVsbD09ZSYmKGU9e30pO2xldCB0PXdpbmRvdy5oaXN0b3J5LnN0YXRlLG49dD8uX19OQTtuJiYoZS5fX05BPW4pO2xldCByPXQ/Ll9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU7cmV0dXJuIHImJihlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU9ciksZX1mdW5jdGlvbiB6KHtoZWFkQ2FjaGVOb2RlOmV9KXtsZXQgdD1udWxsIT09ZT9lLmhlYWQ6bnVsbCxuPW51bGwhPT1lP2UucHJlZmV0Y2hIZWFkOm51bGwscj1udWxsIT09bj9uOnQ7cmV0dXJuKDAsby51c2VEZWZlcnJlZFZhbHVlKSh0LHIpfWZ1bmN0aW9uIEwoe2FjdGlvblF1ZXVlOmUsZ2xvYmFsRXJyb3I6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7bGV0IGwscz0oMCxmLnVzZUFjdGlvblF1ZXVlKShlKSx7Y2Fub25pY2FsVXJsOmJ9PXMse3NlYXJjaFBhcmFtczpFLHBhdGhuYW1lOl99PSgwLG8udXNlTWVtbykoKCk9PntsZXQgZT1uZXcgVVJMKGIsInUiPHR5cGVvZiB3aW5kb3c/Imh0dHA6Ly9uIjp3aW5kb3cubG9jYXRpb24uaHJlZik7cmV0dXJue3NlYXJjaFBhcmFtczplLnNlYXJjaFBhcmFtcyxwYXRobmFtZTooMCx2Lmhhc0Jhc2VQYXRoKShlLnBhdGhuYW1lKT8oMCxnLnJlbW92ZUJhc2VQYXRoKShlLnBhdGhuYW1lKTplLnBhdGhuYW1lfX0sW2JdKTsoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2UucGVyc2lzdGVkJiZ3aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSYmKEMucGVuZGluZ01wYVBhdGg9dm9pZCAwLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOnUuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLGhpc3RvcnlTdGF0ZTp3aW5kb3cuaGlzdG9yeS5zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFfSkpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGUpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixlKX19LFtdKSwoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2xldCB0PSJyZWFzb24iaW4gZT9lLnJlYXNvbjplLmVycm9yO2lmKCgwLFMuaXNSZWRpcmVjdEVycm9yKSh0KSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPSgwLGsuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKHQpOygwLGsuZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKSh0KT09PVMuUmVkaXJlY3RUeXBlLnB1c2g/dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZS5wdXNoKG4se30pOncucHVibGljQXBwUm91dGVySW5zdGFuY2UucmVwbGFjZShuLHt9KX19cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsZSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGUpfX0sW10pO2xldHtwdXNoUmVmOk59PXM7aWYoTi5tcGFOYXZpZ2F0aW9uKXtpZihDLnBlbmRpbmdNcGFQYXRoIT09Yil7bGV0IGU9d2luZG93LmxvY2F0aW9uO04ucGVuZGluZ1B1c2g/ZS5hc3NpZ24oYik6ZS5yZXBsYWNlKGIpLEMucGVuZGluZ01wYVBhdGg9Yn10aHJvdyBoLnVucmVzb2x2ZWRUaGVuYWJsZX0oMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgZT13aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksdD13aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksbj1lPT57bGV0IHQ9d2luZG93LmxvY2F0aW9uLmhyZWYsbj13aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTp1LkFDVElPTl9SRVNUT1JFLHVybDpuZXcgVVJMKGU/P3QsdCksaGlzdG9yeVN0YXRlOm59KX0pfTt3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGU9ZnVuY3Rpb24odCxyLGwpe3JldHVybiB0Py5fX05BfHx0Py5fTnx8KHQ9Tyh0KSxsJiZuKGwpKSxlKHQscixsKX0sd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPWZ1bmN0aW9uKGUscixsKXtyZXR1cm4gZT8uX19OQXx8ZT8uX058fChlPU8oZSksbCYmbihsKSksdChlLHIsbCl9O2xldCByPWU9PntpZihlLnN0YXRlKXtpZighZS5zdGF0ZS5fX05BKXJldHVybiB2b2lkIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx3LmRpc3BhdGNoVHJhdmVyc2VBY3Rpb24pKHdpbmRvdy5sb2NhdGlvbi5ocmVmLGUuc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSl9KX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHIpLCgpPT57d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlPWUsd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPXQsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixyKX19LFtdKTtsZXR7Y2FjaGU6TCx0cmVlOlIsbmV4dFVybDpNLGZvY3VzQW5kU2Nyb2xsUmVmOkkscHJldmlvdXNOZXh0VXJsOkZ9PXMsQT0oMCxvLnVzZU1lbW8pKCgpPT4oMCxtLmZpbmRIZWFkSW5DYWNoZSkoTCxSWzFdKSxbTCxSXSksaj0oMCxvLnVzZU1lbW8pKCgpPT4oMCx5LmdldFNlbGVjdGVkUGFyYW1zKShSKSxbUl0pLFU9KDAsby51c2VNZW1vKSgoKT0+KHtwYXJlbnRUcmVlOlIscGFyZW50Q2FjaGVOb2RlOkwscGFyZW50U2VnbWVudFBhdGg6bnVsbCxwYXJlbnRQYXJhbXM6e30sZGVidWdOYW1lQ29udGV4dDoiLyIsdXJsOmIsaXNBY3RpdmU6ITB9KSxbUixMLGJdKSxCPSgwLG8udXNlTWVtbykoKCk9Pih7dHJlZTpSLGZvY3VzQW5kU2Nyb2xsUmVmOkksbmV4dFVybDpNLHByZXZpb3VzTmV4dFVybDpGfSksW1IsSSxNLEZdKTtpZihudWxsIT09QSl7bGV0W2UsdCxuXT1BO2w9KDAsYS5qc3gpKHose2hlYWRDYWNoZU5vZGU6ZX0sInUiPHR5cGVvZiB3aW5kb3c/bjp0KX1lbHNlIGw9bnVsbDtsZXQgVj0oMCxhLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46W2wsKDAsYS5qc3gpKFAuUm9vdExheW91dEJvdW5kYXJ5LHtjaGlsZHJlbjpMLnJzY30pLCgwLGEuanN4KShkLkFwcFJvdXRlckFubm91bmNlcix7dHJlZTpSfSldfSk7cmV0dXJuIFY9KDAsYS5qc3gpKHguZGVmYXVsdCx7ZXJyb3JDb21wb25lbnQ6dFswXSxlcnJvclN0eWxlczp0WzFdLGNoaWxkcmVuOlZ9KSwoMCxhLmpzeHMpKGEuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxhLmpzeCkoVCx7YXBwUm91dGVyU3RhdGU6c30pLCgwLGEuanN4KShELHt9KSwoMCxhLmpzeCkoYy5OYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpudWxsLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpqLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6XyxjaGlsZHJlbjooMCxhLmpzeCkoYy5TZWFyY2hQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpFLGNoaWxkcmVuOigwLGEuanN4KShpLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOkIsY2hpbGRyZW46KDAsYS5qc3gpKGkuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSxjaGlsZHJlbjooMCxhLmpzeCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpVLGNoaWxkcmVuOlZ9KX0pfSl9KX0pfSl9KV19KX1mdW5jdGlvbiBSKHthY3Rpb25RdWV1ZTplLGdsb2JhbEVycm9yU3RhdGU6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7KDAsYi51c2VOYXZGYWlsdXJlSGFuZGxlcikoKTtsZXQgbD0oMCxhLmpzeCkoTCx7YWN0aW9uUXVldWU6ZSxnbG9iYWxFcnJvcjp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KTtyZXR1cm4oMCxhLmpzeCkoeC5kZWZhdWx0LHtlcnJvckNvbXBvbmVudDpfLmRlZmF1bHQsY2hpbGRyZW46bH0pfWxldCBNPW5ldyBTZXQsST1uZXcgU2V0O2Z1bmN0aW9uIEQoKXtsZXRbLGVdPW8uZGVmYXVsdC51c2VTdGF0ZSgwKSx0PU0uc2l6ZTsoMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgbj0oKT0+ZShlPT5lKzEpO3JldHVybiBJLmFkZChuKSx0IT09TS5zaXplJiZuKCksKCk9PntJLmRlbGV0ZShuKX19LFt0LGVdKTtsZXQgbj0oMCxOLmdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZykoKTtyZXR1cm5bLi4uTV0ubWFwKChlLHQpPT4oMCxhLmpzeCkoImxpbmsiLHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6YCR7ZX0ke259YCxwcmVjZWRlbmNlOiJuZXh0In0sdCkpfWdsb2JhbFRoaXMuX05fRV9TVFlMRV9MT0FEPWZ1bmN0aW9uKGUpe2xldCB0PU0uc2l6ZTtyZXR1cm4gTS5hZGQoZSksTS5zaXplIT09dCYmSS5mb3JFYWNoKGU9PmUoKSksUHJvbWlzZS5yZXNvbHZlKCl9LCgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDM4NzkyLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCByPWUucig4NTU5NCksbD1lLnIoMTgxNjcpLGE9ZS5yKDY3NjI4KSxvPWUucigxODkzOSk7ZnVuY3Rpb24gaSh7bmF2aWdhdGVkQXQ6ZSxpbml0aWFsRmxpZ2h0RGF0YTp0LGluaXRpYWxDYW5vbmljYWxVcmxQYXJ0czpuLGluaXRpYWxSZW5kZXJlZFNlYXJjaDppLGxvY2F0aW9uOnV9KXtsZXQgcz1uLmpvaW4oIi8iKSx7dHJlZTpjLHNlZWREYXRhOmYsaGVhZDpkfT0oMCxhLmdldEZsaWdodERhdGFQYXJ0c0Zyb21QYXRoKSh0WzBdKSxwPXU/KDAsci5jcmVhdGVIcmVmRnJvbVVybCkodSk6cztyZXR1cm57dHJlZTpjLGNhY2hlOigwLG8uY3JlYXRlSW5pdGlhbENhY2hlTm9kZUZvckh5ZHJhdGlvbikoZSxjLGYsZCkscHVzaFJlZjp7cGVuZGluZ1B1c2g6ITEsbXBhTmF2aWdhdGlvbjohMSxwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTohMH0sZm9jdXNBbmRTY3JvbGxSZWY6e2FwcGx5OiExLG9ubHlIYXNoQ2hhbmdlOiExLGhhc2hGcmFnbWVudDpudWxsLHNlZ21lbnRQYXRoczpbXX0sY2Fub25pY2FsVXJsOnAscmVuZGVyZWRTZWFyY2g6aSxuZXh0VXJsOigoMCxsLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShjKXx8dT8ucGF0aG5hbWUpPz9udWxsLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MzM1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByLGwsYSxvO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiaHlkcmF0ZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEF9fSk7bGV0IGk9ZS5yKDgxMjU4KSx1PWUucig5ODEzNCk7ZS5yKDc5MTIzKTtsZXQgcz1pLl8oZS5yKDgyOTQwKSksYz1pLl8oZS5yKDc1MjAxKSksZj1lLnIoNzUwNDUpLGQ9ZS5yKDQ0OTM0KSxwPWUucigzMjc5MyksbT1lLnIoODI5MzkpLGg9ZS5yKDMwOTMxKSxnPWUucig4OTU5NCksdj1lLnIoODQzOTUpLHk9aS5fKGUucig2MTE1NikpLGI9ZS5yKDM4NzkyKTtlLnIoMTY4NzIpO2xldCB3PWUucig2MTcwNiksaz1lLnIoNjc2MjgpLFM9Zi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sRT1mLmNyZWF0ZUZyb21GZXRjaCx4PWRvY3VtZW50LF89bmV3IFRleHRFbmNvZGVyLFA9ITEsTj0hMSxDPW51bGw7ZnVuY3Rpb24gVChlKXtpZigwPT09ZVswXSlhPVtdO2Vsc2UgaWYoMT09PWVbMF0pe2lmKCFhKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiVW5leHBlY3RlZCBzZXJ2ZXIgZGF0YTogbWlzc2luZyBib290c3RyYXAgc2NyaXB0LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bz9vLmVucXVldWUoXy5lbmNvZGUoZVsxXSkpOmEucHVzaChlWzFdKX1lbHNlIGlmKDI9PT1lWzBdKUM9ZVsxXTtlbHNlIGlmKDM9PT1lWzBdKXtpZighYSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlVuZXhwZWN0ZWQgc2VydmVyIGRhdGE6IG1pc3NpbmcgYm9vdHN0cmFwIHNjcmlwdC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTE4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCBuPWF0b2IoZVsxXSkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0Kyspclt0XT1uLmNoYXJDb2RlQXQodCk7bz9vLmVucXVldWUocik6YS5wdXNoKHIpfX1sZXQgTz1mdW5jdGlvbigpe28mJiFOJiYoby5jbG9zZSgpLE49ITAsYT12b2lkIDApLFA9ITB9OyJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsTywhMSk6c2V0VGltZW91dChPKTtsZXQgej1zZWxmLl9fbmV4dF9mPXNlbGYuX19uZXh0X2Z8fFtdO3ouZm9yRWFjaChUKSx6Lmxlbmd0aD0wLHoucHVzaD1UO2xldCBMPW5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQoZSl7YSYmKGEuZm9yRWFjaCh0PT57ZS5lbnF1ZXVlKCJzdHJpbmciPT10eXBlb2YgdD9fLmVuY29kZSh0KTp0KX0pLFAmJiFOKSYmKG51bGw9PT1lLmRlc2lyZWRTaXplfHxlLmRlc2lyZWRTaXplPDA/ZS5lcnJvcihPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlRoZSBjb25uZWN0aW9uIHRvIHRoZSBwYWdlIHdhcyB1bmV4cGVjdGVkbHkgY2xvc2VkLCBwb3NzaWJseSBkdWUgdG8gdGhlIHN0b3AgYnV0dG9uIGJlaW5nIGNsaWNrZWQsIGxvc3Mgb2YgV2ktRmksIG9yIGFuIHVuc3RhYmxlIGludGVybmV0IGNvbm5lY3Rpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTciLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpOmUuY2xvc2UoKSxOPSEwLGE9dm9pZCAwKSxvPWV9fSksUj13aW5kb3cuX19ORVhUX0NMSUVOVF9SRVNVTUU7ZnVuY3Rpb24gTSh7aW5pdGlhbFJTQ1BheWxvYWQ6ZSxhY3Rpb25RdWV1ZTp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KXtyZXR1cm4oMCx1LmpzeCkoeS5kZWZhdWx0LHthY3Rpb25RdWV1ZTp0LGdsb2JhbEVycm9yU3RhdGU6ZS5HLHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KX1sPVI/UHJvbWlzZS5yZXNvbHZlKEUoUix7Y2FsbFNlcnZlcjpoLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpnLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOnJ9KSkudGhlbihhc3luYyBlPT4oMCxrLmNyZWF0ZUluaXRpYWxSU0NQYXlsb2FkRnJvbUZhbGxiYWNrUHJlcmVuZGVyKShhd2FpdCBSLGUpKTpTKEwse2NhbGxTZXJ2ZXI6aC5jYWxsU2VydmVyLGZpbmRTb3VyY2VNYXBVUkw6Zy5maW5kU291cmNlTWFwVVJMLGRlYnVnQ2hhbm5lbDpyLHN0YXJ0VGltZTowfSk7bGV0IEk9Yy5kZWZhdWx0LlN0cmljdE1vZGU7ZnVuY3Rpb24gRCh7Y2hpbGRyZW46ZX0pe3JldHVybiBlfWxldCBGPXtvbkRlZmF1bHRUcmFuc2l0aW9uSW5kaWNhdG9yOmZ1bmN0aW9uKCl7cmV0dXJuKCk9Pnt9fSxvblJlY292ZXJhYmxlRXJyb3I6cC5vblJlY292ZXJhYmxlRXJyb3Isb25DYXVnaHRFcnJvcjptLm9uQ2F1Z2h0RXJyb3Isb25VbmNhdWdodEVycm9yOm0ub25VbmNhdWdodEVycm9yfTthc3luYyBmdW5jdGlvbiBBKGUsdCl7bGV0IG4scixhPWF3YWl0IGw7KDAsdy5zZXRBcHBCdWlsZElkKShhLmIpO2xldCBvPURhdGUubm93KCksaT0oMCx2LmNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSkoKDAsYi5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtuYXZpZ2F0ZWRBdDpvLGluaXRpYWxGbGlnaHREYXRhOmEuZixpbml0aWFsQ2Fub25pY2FsVXJsUGFydHM6YS5jLGluaXRpYWxSZW5kZXJlZFNlYXJjaDphLnEsbG9jYXRpb246d2luZG93LmxvY2F0aW9ufSksZSksZj0oMCx1LmpzeCkoSSx7Y2hpbGRyZW46KDAsdS5qc3gpKGQuSGVhZE1hbmFnZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7YXBwRGlyOiEwfSxjaGlsZHJlbjooMCx1LmpzeCkoRCx7Y2hpbGRyZW46KDAsdS5qc3gpKE0se2luaXRpYWxSU0NQYXlsb2FkOmEsYWN0aW9uUXVldWU6aSx3ZWJTb2NrZXQ6cixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpufSl9KX0pfSk7Il9fbmV4dF9lcnJvcl9fIj09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pZD9zLmRlZmF1bHQuY3JlYXRlUm9vdCh4LEYpLnJlbmRlcihmKTpjLmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKCgpPT57cy5kZWZhdWx0Lmh5ZHJhdGVSb290KHgsZix7Li4uRixmb3JtU3RhdGU6Q30pfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTYzMzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7bGV0IHI9ZS5yKDQ4NzA2KTtlLnIoMzI3OTMpLHdpbmRvdy5uZXh0LnR1cmJvcGFjaz0hMCxzZWxmLl9fd2VicGFja19oYXNoX189IiI7bGV0IGw9ZS5yKDkyMzg2KTsoMCxyLmFwcEJvb3RzdHJhcCkodD0+e2xldHtoeWRyYXRlOm59PWUucig5MzM1MSk7bihsLHQpfSksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":4,"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.244Z","timestamp":1785124600244,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: fca405e761044c85637eb9a7a4578c7e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-04T06:18:34.202775Z","times_seen":3586,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_forex_cross_rates_widget.777cea271d0c0d67c09e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.269Z","timestamp":1785124600269,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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_forex_cross_rates_widget.777cea271d0c0d67c09e.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-b0fd\"\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:44:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8ad134ac2268ac52e941a57357da20de\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":45309,"size_decoded":16751,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"686875cf199c7af0be3de2a5a2bffc57","sha1":"67f4e29b649a6641be9ad6f99db217ae6a30121c","sha256":"e62fb06f3628b281bc3f17bd41735a65af72ec9a545d1404885fff36cb5f80df","sha512":"9eb81f5be62b7352d397604220c39f01461801d232e6409ed60f8cedced7080c3d80da4f305d313d5dc053557b1e55f42dc7d15b41179de3265e8886984bf523","ssdeep":"768:OG4E1H6Xn6hVwEfGAM3r+ddH3NC2p7nHBiJMNg3v5c1W0U9z51qKrDIwPzPAIF7x:DH6X6hVwrA17BiJMW3v5c1W0U9z51qKn","tlshash":"0b13e64ab19064a362db40a7807b100bfa3f6aecb405857db578ccdd27add487267b3d","first_seen":"2026-07-23T13:38:20.430637Z","last_seen":"2026-07-28T04:59:54.43658Z","times_seen":255,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3ODA3LDY0NjQ0XSx7MTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sOTcxMDcyKGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItRkFQVzJVTmgiLGNvbnRlbnQ6ImNvbnRlbnQtRkFQVzJVTmgifX0sNDg5OTA4KGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItZ1R4M1JaUG4iLHdpZGdldDoid2lkZ2V0LWdUeDNSWlBuIiwiZm9yY2UtZGVmYXVsdC1jb2xvcnMiOiJmb3JjZS1kZWZhdWx0LWNvbG9ycy1nVHgzUlpQbiIsdGFibGU6InRhYmxlLWdUeDNSWlBuIixwcmV2ZW50QW5pbWF0aW9uOiJwcmV2ZW50QW5pbWF0aW9uLWdUeDNSWlBuIix0YWJsZUJvZHlSb3c6InRhYmxlQm9keVJvdy1nVHgzUlpQbiJ9fSwyNDA1ODIoZSl7ZS5leHBvcnRzPXtjdXJyZW5jeUJsb2NrOiJjdXJyZW5jeUJsb2NrLWRTc2NmNXB6In19LDIzMjk3NyhlKXtlLmV4cG9ydHM9e3RhYmxlRGF0YUNlbGw6InRhYmxlRGF0YUNlbGwtcWVjOFE0NEsiLHRhYmxlRGF0YUNlbGxDb250ZW50OiJ0YWJsZURhdGFDZWxsQ29udGVudC1xZWM4UTQ0SyIsZ3Jvd2luZzoiZ3Jvd2luZy1xZWM4UTQ0SyIsZmFsbGluZzoiZmFsbGluZy1xZWM4UTQ0SyIsbm9EYXRhOiJub0RhdGEtcWVjOFE0NEsifX0sMzY5MDAzKGUpe2UuZXhwb3J0cz17fX0sNTA3NTAoZSl7ZS5leHBvcnRzPXt9fSwyMzU3MjQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TW9kaWZpZXJzOigpPT5yLGhhc2hGcm9tRXZlbnQ6KCk9PmwsaXNNYWNLZXlib2FyZDooKT0+aSxtb2RpZmllcnNGcm9tRXZlbnQ6KCk9PmF9KTt2YXIgbixvPXMoNzM4NDU4KTshZnVuY3Rpb24oZSl7ZVtlLktleUNvZGU9MjU1XT0iS2V5Q29kZSIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLkFsdD01MTJdPSJBbHQiLGVbZS5TaGlmdD0xMDI0XT0iU2hpZnQiLGVbZS5NZXRhPTIwNDhdPSJNZXRhIn0obnx8KG49e30pKTtjb25zdCBpPW8uaXNNYWN8fG8uaXNJT1M7dmFyIHI7ZnVuY3Rpb24gYShlKXtsZXQgdD0wO3JldHVybiBlLnNoaWZ0S2V5JiYodCs9MTAyNCksZS5hbHRLZXkmJih0Kz01MTIpLGUuY3RybEtleSYmKHQrPTI1NiksZS5tZXRhS2V5JiYodCs9MjA0OCksdH1mdW5jdGlvbiBsKGUpe3JldHVybiBhKGUpfGUua2V5Q29kZX0hZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5BbHQ9NTEyXT0iQWx0IixlW2UuU2hpZnQ9MTAyNF09IlNoaWZ0IixlW2UuTW9kPWk/MjA0ODoyNTZdPSJNb2QiLGVbZS5Db250cm9sPTI1Nl09IkNvbnRyb2wiLGVbZS5NZXRhPTIwNDhdPSJNZXRhIn0ocnx8KHI9e30pKTtjb25zdCBjPXs5OiLih6UiLDEzOiLihrUiLDI3OiJFc2MiLDg6aT8i4oyrIjoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoi4oaQIiwzODoi4oaRIiwzOToi4oaSIiw0MDoi4oaTIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiRG90IiwxOTE6Ii8ifSx1PXs5OiJUYWIiLDEzOiJFbnRlciIsMjc6IkVzYyIsODoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnMiLDQ2OiJEZWwiLDE4ODoiLCIsMTkwOiIuIiwxOTE6Ii8ifTtmb3IobGV0IGU9MTtlPD0xNjtlKyspY1tlKzExMV09YEYke2V9YCx1W2UrMTExXT1gRiR7ZX1gfSwyMTYxMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7aWYobnVsbCE9ZSYmImJvb2xlYW4iIT10eXBlb2YgZSYmIWlzTmFOKE51bWJlcihlKSkpcmV0dXJuIE51bWJlcihlKX1zLmQodCx7dG9OdW1iZXJPclVuZGVmaW5lZDooKT0+bn0pfSw1MTg3NShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpfXMuZCh0LHtwcmV2ZW50RGVmYXVsdDooKT0+bixwcmV2ZW50RGVmYXVsdEZvckNvbnRleHRNZW51OigpPT5pfSk7Y29uc3Qgbz1bImlucHV0Om5vdChbdHlwZV0pIiwnaW5wdXRbdHlwZT0idGV4dCJdJywnaW5wdXRbdHlwZT0iZW1haWwiXScsJ2lucHV0W3R5cGU9InBhc3N3b3JkIl0nLCdpbnB1dFt0eXBlPSJzZWFyY2giXScsJ2lucHV0W3R5cGU9Im51bWJlciJdJywnaW5wdXRbdHlwZT0idXJsIl0nLCJ0ZXh0YXJlYSIsImFbaHJlZl0iLCcqW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJywiW2RhdGEtYWxsb3ctY29udGV4dC1tZW51XSJdO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD1lLnRhcmdldDt0JiYhdC5jbG9zZXN0KG8uam9pbigiLCAiKSkmJmUucHJldmVudERlZmF1bHQoKX19LDYxNjMxMShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0OigpPT5vfSk7dmFyIG49cyg3Nzk0NzQpO2Z1bmN0aW9uIG8oZSx0KXsoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/bi51c2VFZmZlY3Q6bi51c2VMYXlvdXRFZmZlY3QpKGUsdCl9fSw2MDE4NDEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y2xvbmU6KCk9Pm8saXNBcnJheTooKT0+cixpc0ludGVnZXI6KCk9PmEsaXNOdW1iZXI6KCk9Pm4saXNPYmplY3Q6KCk9Pml9KTtuZXcgU2V0KFsiX19wcm90b19fIiwicHJvdG90eXBlIiwiY29uc3RydWN0b3IiXSkKO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBvKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBzIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShzKSl7Y29uc3Qgbj1lW3NdO3Rbc109biYmIm9iamVjdCI9PXR5cGVvZiBuP28obik6bn1yZXR1cm4gdH1mdW5jdGlvbiBpKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9Y29uc3Qgcj1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfTtmdW5jdGlvbiBhKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfU51bWJlci5pc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfX0sOTg0Mzc2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1BMQUNFX0hPTERFUjooKT0+cixWb2x1bWVGb3JtYXR0ZXI6KCk9PmN9KTt2YXIgbj1zKDc4MzI1NCksbz1zKDYwMTg0MSksaT1zKDEwNzA0NSk7Y29uc3Qgcj0iLS0tIixhPVt7dmFsdWU6MyxsZXR0ZXI6IksifSx7dmFsdWU6NixsZXR0ZXI6Ik0ifSx7dmFsdWU6OSxsZXR0ZXI6IkIifSx7dmFsdWU6MTIsbGV0dGVyOiJUIn1dO2Z1bmN0aW9uIGwoZSx0KXtjb25zdCBzPWUtdDtyZXR1cm4gYS5maW5kKChlPT5lLnZhbHVlPj1zKSk/P2FbYS5sZW5ndGgtMV19Y2xhc3MgY3tjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InZvbHVtZSI7Y29uc3R7cHJlY2lzaW9uOnQ9MCxtaW5QcmVjaXNpb246cz0wLGRpbWVuc2lvblByZWNpc2lvbjpuPTIsZGltZW5zaW9uTWluUHJlY2lzaW9uOm89MCxzaWduaWZpY2FudERpZ2l0czpyPTMsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEsbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVTcGFjZUJlZm9yZURpbWVuc2lvbjpjfT1lO3RoaXMuX3ByZWNpc2lvbj10LHRoaXMuX2Zvcm1hdHRlcj1uZXcgaS5OdW1lcmljRm9ybWF0dGVyKHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6YSxwcmVjaXNpb246dGhpcy5fcHJlY2lzaW9uLG1pblByZWNpc2lvbjpzLG5vRXhwb25lbnRpYWxGb3JtOmx9KSx0aGlzLl9kaW1lbnNpb25QcmVjaXNpb249bix0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXI9bmV3IGkuTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX2RpbWVuc2lvblByZWNpc2lvbixtaW5QcmVjaXNpb246byxub0V4cG9uZW50aWFsRm9ybTpsfSksdGhpcy5fc2lnbmlmaWNhbnREaWdpdHM9cix0aGlzLl9mcmFjdGlvbmFsVmFsdWVzPXZvaWQgMCE9PXQmJnQ+MCx0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbj1jPyIiOiLigK8iLHRoaXMuX29wdGlvbnM9ZX1zdGF0ZSgpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDplLC4uLnR9PXRoaXMuX29wdGlvbnM7cmV0dXJuIHR9Zm9ybWF0KGUsdCl7aWYoISgwLG8uaXNOdW1iZXIpKGUpKXJldHVybiByO2lmKE1hdGguYWJzKGUpPj0xZTEwMClyZXR1cm4gbi50KG51bGwse2NvbnRleHQ6InZvbHVtZS1mb3JtYXR0ZXIifSxzKDU3MDYyKSk7bGV0IGk9IiI7TWF0aC5hYnMoZSk8MSYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pKSxlPDA/aT0i4oiSIjplPjAmJnQ/LnNpZ25Qb3NpdGl2ZSYmKGk9IisiKSxlPU1hdGguYWJzKGUpO2NvbnN0IGE9ISEodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Pz90aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGMsdSxoPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMTtpZihoPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLGg9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxKSxoPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyljPXRoaXMuX2Zvcm1hdE51bWJlcihlLGEsdGhpcy5fZm9ybWF0dGVyKTtlbHNle2xldCB0PWwoaCx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyk7Y29uc3Qgcz1NYXRoLnBvdygxMCx0LnZhbHVlKTtlPSsoZS9zKS50b0ZpeGVkKHRoaXMuX2RpbWVuc2lvblByZWNpc2lvbikqcyx0PWwoTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKSxjPXRoaXMuX2Zvcm1hdE51bWJlcihlL01hdGgucG93KDEwLHQudmFsdWUpLGEsdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyKSx1PXQubGV0dGVyfXJldHVybiB1P2Ake2l9JHtjfSR7dGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb259JHt1fWA6YCR7aX0ke2N9YH1wYXJzZShlLHQpe2lmKGU9PT1yKXJldHVybntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfTtjb25zdCBzPXtLOjFlMyxNOjFlNixCOjFlOSxUOjFlMTJ9LG49KGU9ZS5yZXBsYWNlKCLiiJIiLCItIikpLnNsaWNlKC0xKTtpZihzLmhhc093blByb3BlcnR5KG4pKXtjb25zdCBpPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnNsaWNlKDAsLTEpLnRyaW0oKSx0KSxyPWkucmVzP2kudmFsdWU6TmFOO3JldHVybigwLG8uaXNOdW1iZXIpKHIpP3tyZXM6ITAsdmFsdWU6cipzW25dfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19e2NvbnN0IHM9dGhpcy5fZm9ybWF0dGVyLnBhcnNlKGUudHJpbSgpLHQpO2xldCBuPXMucmVzP3MudmFsdWU6TmFOO3JldHVybi0wPT09biYmKG49MCksKDAsby5pc051bWJlcikobik/e3JlczohMCx2YWx1ZTpufTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19fXN0YXRpYyBzZXJpYWxpemUoZSl7cmV0dXJuIGUuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUoZSl7cmV0dXJuIG5ldyBjKGUpfV9mb3JtYXROdW1iZXIoZSx0LHMpe2lmKHRoaXMuX2ZyYWN0aW9uYWxWYWx1ZXMmJjAhPT1lKXtjb25zdCB0PTE0LU1hdGguY2VpbChNYXRoLmxvZzEwKGUpKSxzPU1hdGgucG93KDEwLHQpO2U9TWF0aC5yb3VuZChlKnMpL3N9cmV0dXJuIHMuZm9ybWF0KGUse2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0fSl9Cn19LDY0MTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkZWNvZGVIVE1MRW50aXRpZXM6KCk9PmwsZ2V0Rmlyc3RTZWdtZW50T3JDb2RlUG9pbnRTdHJpbmc6KCk9PnUsaHRtbEVzY2FwZTooKT0+Y30pO2NvbnN0IG49L1s8IicmPl0vZyxvPWU9PmAmIyR7ZS5jaGFyQ29kZUF0KDApfTtgLGk9eyImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIicsIiZhcG9zOyI6IiciLCImYW1wOyI6IiYiLCImIzYwOyI6IjwiLCImIzYyOyI6Ij4iLCImIzM0OyI6JyInLCImIzM5OyI6IiciLCImIzAzOTsiOiInIiwiJiMzODsiOiImIn0scj1PYmplY3QuYXNzaWduKHt9LC4uLk9iamVjdC5lbnRyaWVzKGkpLm1hcCgoKFtlLHRdKT0+KHtbdF06ZX0pKSkpLGE9bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhpKS5qb2luKCJ8IiksImciKTtuZXcgUmVnRXhwKE9iamVjdC5rZXlzKHIpLmpvaW4oInwiKSwiZyIpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGUucmVwbGFjZShhLChlPT5pW2VdfHxlKSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5yZXBsYWNlKG4sbyl9ZnVuY3Rpb24gdShlKXtjb25zdCB0PUludGwuU2VnbWVudGVyO2lmKHQpe2NvbnN0IHM9bmV3IHQodm9pZCAwLHtncmFudWxhcml0eToiZ3JhcGhlbWUifSksW3tzZWdtZW50Om59PXtzZWdtZW50Om51bGx9XT1zLnNlZ21lbnQoZSk7cmV0dXJuIG4/LnRvVXBwZXJDYXNlKCk/P251bGx9e2NvbnN0IHQ9ZS5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gdD9TdHJpbmcuZnJvbUNvZGVQb2ludCh0KS50b1VwcGVyQ2FzZSgpOm51bGx9fX0sMzQ1MTUxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hvdEtleURlc2VyaWFsaXplOigpPT5vfSk7dmFyIG49cyg2NDE1OTMpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIEpTT04ucGFyc2UoKDAsbi5kZWNvZGVIVE1MRW50aXRpZXMpKGUpKX19LDM0NDc4NShlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBuPXMoMzYzMjY5KSxvPXMoMTM4NjM4KSxpPXMoNzI3MDkpLHI9cyg2NTg5OTUpLGE9cygxNjc4OTYpLGw9cyg0OTAzNzgpO2xldCBjPSExLHU9bnVsbCxoPW51bGw7bi5tb2JpbGV0b3VjaHx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIscCwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLChmdW5jdGlvbihlKXtjb25zdCB0PWUudGFyZ2V0O2lmKCEodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmNsb3Nlc3QoJ1tkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cz0idHJ1ZSJdJykmJnQubWF0Y2hlcygiOmZvY3VzLXZpc2libGUiKSkpcmV0dXJuO3AoZSwhMCl9KSx7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIiwoZnVuY3Rpb24oZSl7ZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmcChlLCEwKX0pLHtjYXB0dXJlOiEwfSkpO2NvbnN0IG09bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCgpPT57aWYodSYmdS5vcHRpb25zLnRhcmdldCl7bGV0IGU7ZT0iaXNDb25uZWN0ZWQiaW4gdS5vcHRpb25zLnRhcmdldD91Lm9wdGlvbnMudGFyZ2V0LmlzQ29ubmVjdGVkOmRvY3VtZW50LmJvZHkuY29udGFpbnModS5vcHRpb25zLnRhcmdldCksZXx8ZygpfX0pKSxkPShlLHQ9e30pPT57Y29uc3R7Y29udGVudDpzLC4uLm59PXYodCksbz1sLmdldERhdGFGcm9tVGFyZ2V0KGUpLGk9T2JqZWN0LmFzc2lnbihvLG4pO3JldHVybiJub25lIiE9PXMudHlwZSYmKGkuY29udGVudD1zKSwhKCJub25lIj09PWkuY29udGVudC50eXBlJiYhaS5ob3RrZXkpJiYoaS50YXJnZXQ9ZSxmKGkpLCEwKX0sZj1lPT57Y29uc3QgdD12KGUpLHM9bC5nZXRUb29sdGlwKHQpO2lmKHU9e29wdGlvbnM6dCxlbGVtZW50OnN9LCgwLGEuc2V0VG9vbHRpcCkocyksKDAsci5jbGVhclNjaGVkdWxlKSgpLCFjKXJldHVybiBsLmhpZGVUb29sdGlwKHMpLHZvaWQoMCxyLnNjaGVkdWxlUmVuZGVyKSgoKCk9PnkocykpLGZ1bmN0aW9uKGUpe3JldHVybiJudW1iZXIiIT10eXBlb2YgZS50b29sdGlwRGVsYXl8fGlzTmFOKGUudG9vbHRpcERlbGF5KT81MDA6ZS50b29sdGlwRGVsYXl9KHQpKTtjb25zdHt0b29sdGlwRGVib3VuY2U6bn09ZTsibnVtYmVyIiE9dHlwZW9mIG58fGlzTmFOKG4pP3kocyk6KDAsci5zY2hlZHVsZVJlbmRlcikoKCgpPT55KHMpKSxuKX07ZnVuY3Rpb24gcChlLHQpe2lmKCJzb3VyY2VDYXBhYmlsaXRpZXMiaW4gZSYmZS5zb3VyY2VDYXBhYmlsaXRpZXM/LmZpcmVzVG91Y2hFdmVudHMpcmV0dXJuO2NvbnN0IHM9ZnVuY3Rpb24oZSx0LHMpe2NvbnN0IG49W107Zm9yKDtlJiZlIT09dDspZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKHMpJiZuLnB1c2goZSksZT1lLnBhcmVudEVsZW1lbnR8fGIoZS5wYXJlbnROb2RlKTtyZXR1cm4gbn0oZS50YXJnZXQsZS5jdXJyZW50VGFyZ2V0LCJhcHBseS1jb21tb24tdG9vbHRpcCIpO2Zvcihjb25zdCBuIG9mIHMpe2lmKGUgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KWlmKCJidXR0b25zImluIGUpe2lmKDEmZS5idXR0b25zKWNvbnRpbnVlfWVsc2UgaWYoMT09PWUud2hpY2gpY29udGludWU7Y29uc3Qgcz0oKT0+ZChuKTtpZihzKCkpe2NvbnN0IGU9ZT0+byhudWxsLCEwKSxvPShpLHI9ITEpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJjb21tb24tdG9vbHRpcC11cGRhdGUiLHMpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsbyksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZSx7Y2FwdHVyZTohMH0pLHQmJihuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLG8pLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsbykpLGgmJihoLmRlc3Ryb3koKSxoPW51bGwpLGcocil9O24uYWRkRXZlbnRMaXN0ZW5lcigiY29tbW9uLXRvb2x0aXAtdXBkYXRlIixzKSxuLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLG8pLG4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixvKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsewpjYXB0dXJlOiEwfSksdCYmKG4uYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbyksbi5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixvKSksbnVsbD09PWgmJihoPSgwLGkuY3JlYXRlR3JvdXApKHtkZXNjOiJUb29sdGlwIn0pLGguYWRkKHtkZXNjOiJIaWRlIixob3RrZXk6MjcsaGFuZGxlcjpvfSkpO2JyZWFrfX19ZnVuY3Rpb24gXygpeygwLGEuZW1wdHkpKCksYz0hMSx1PW51bGx9Y29uc3QgZz0oZSx0KT0+e2lmKCgwLHIuY2xlYXJTY2hlZHVsZSkoKSwoMCxvLmVuc3VyZU5vdE51bGwpKG0pLmRpc2Nvbm5lY3QoKSwhdSlyZXR1cm47aWYoIWUmJiFjKXJldHVybjtjb25zdHtlbGVtZW50OnMsb3B0aW9uczpufT11LGk9KCk9PntzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGkpLGwuaGlkZVRvb2x0aXAocyksZT9fKCk6KDAsci5zY2hlZHVsZVJlbW92ZSkoKCgpPT57XygpfSksMjUwKSx0Py4oKX07bi50b29sdGlwSGlkZURlbGF5PygwLHIuc2NoZWR1bGVIaWRlKSgoKCk9PntzLnF1ZXJ5U2VsZWN0b3IoIjpob3ZlciIpP3MuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsaSk6aSgpfSksbi50b29sdGlwSGlkZURlbGF5KTppKCl9O2Z1bmN0aW9uIHkoZSl7Y29uc3R7b3B0aW9uczp0fT0oMCxvLmVuc3VyZU5vdE51bGwpKHUpO2lmKGwuc2V0U3R5bGUoZSx0KSxsLnNob3dUb29sdGlwKGUpLCgwLG8uZW5zdXJlTm90TnVsbCkobSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxjPSEwLHQuZm9yY2VIaWRlT25Nb3ZlKXtjb25zdCBlPSgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpLGcoKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpfX1mdW5jdGlvbiBiKGUpe3JldHVybiBlJiYoZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFP2U6bnVsbCl9ZnVuY3Rpb24gdihlKXtpZihmdW5jdGlvbihlKXtyZXR1cm4iY29udGVudCJpbiBlfShlKSlyZXR1cm4gZTtjb25zdHtpbm5lcjp0LGh0bWw6cyx0ZXh0Om4sLi4ub309ZTtsZXQgaT17dHlwZToibm9uZSJ9O3JldHVybiB0JiYoaT17dHlwZToiZWxlbWVudCIsZGF0YTp0fSksbiYmKGk9e3R5cGU6cz8iaHRtbCI6InRleHQiLGRhdGE6bn0pLHtjb250ZW50OmksLi4ub319fSwzNjMyNjkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bW9iaWxldG91Y2g6KCk9Pm8sc2V0Q2xhc3NlczooKT0+aX0pO3ZhciBuPXMoNzM4NDU4KTtjb25zdCBvPW4ubW9iaWxldG91Y2g7bi50b3VjaDtmdW5jdGlvbiBpKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQobi50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLG4ubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwzMTg5NzQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q2hlY2tNb2JpbGU6KCk9PmMsaXNEZXNrdG9wQXBwOigpPT5hLGlzTWFjOigpPT5yLGlzU3ltcGhvbnlFbWJlZDooKT0+bCxvbldpZGdldDooKT0+by5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9PnV9KTt2YXIgbj1zKDczODQ1OCksbz1zKDM3NzIyNik7Y29uc3QgaT13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiByKCl7cmV0dXJuIG4uaXNNYWN9ZnVuY3Rpb24gYSgpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGwoKXtyZXR1cm4gaS5pc1N5bXBob255fHwhMX1jb25zdCBjPXtBbmRyb2lkOigpPT5uLmlzQW5kcm9pZCxCbGFja0JlcnJ5OigpPT5uLmlzQmxhY2tCZXJyeSxpT1M6KCk9Pm4uaXNJT1MsT3BlcmE6KCk9Pm4uaXNPcGVyYU1pbmksaXNJUGFkOigpPT5uLmlzSVBhZCxhbnk6KCk9Pm4uaXNBbnlNb2JpbGV9O2Z1bmN0aW9uIHUoKXtyZXR1cm4gbi5tb2JpbGV0b3VjaHx8bi50b3VjaHx8bi5pc0FueU1vYmlsZX1pLmlzTW9iaWxlPWMsaS5vbldpZGdldD1vLm9uV2lkZ2V0O24uaXNDaHJvbWUsbi5pc0ZGLG4uaXNFZGdlLG4uaXNTYWZhcml9LDEyOTM2NShlLHQscyl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9cyg1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIHM9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLG49U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxyPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksbT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksZD1TeW1ib2wuaXRlcmF0b3I7dmFyIGY9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHA9T2JqZWN0LmFzc2lnbixfPXt9O2Z1bmN0aW9uIGcoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Xyx0aGlzLnVwZGF0ZXI9c3x8Zn1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIGIoZSx0LHMpewp0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPV8sdGhpcy51cGRhdGVyPXN8fGZ9Zy5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSxnLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJm51bGwhPWUpdGhyb3cgRXJyb3IoInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLiIpO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLHQsInNldFN0YXRlIil9LGcucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLCJmb3JjZVVwZGF0ZSIpfSx5LnByb3RvdHlwZT1nLnByb3RvdHlwZTt2YXIgdj1iLnByb3RvdHlwZT1uZXcgeTt2LmNvbnN0cnVjdG9yPWIscCh2LGcucHJvdG90eXBlKSx2LmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBDPUFycmF5LmlzQXJyYXksTj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHg9e2N1cnJlbnQ6bnVsbH0sRT17a2V5OiEwLHJlZjohMCxfX3NlbGY6ITAsX19zb3VyY2U6ITB9O2Z1bmN0aW9uIFMoZSx0LG4pe3ZhciBvLGk9e30scj1udWxsLGE9bnVsbDtpZihudWxsIT10KWZvcihvIGluIHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZiksdm9pZCAwIT09dC5rZXkmJihyPSIiK3Qua2V5KSx0KU4uY2FsbCh0LG8pJiYhRS5oYXNPd25Qcm9wZXJ0eShvKSYmKGlbb109dFtvXSk7dmFyIGw9YXJndW1lbnRzLmxlbmd0aC0yO2lmKDE9PT1sKWkuY2hpbGRyZW49bjtlbHNlIGlmKDE8bCl7Zm9yKHZhciBjPUFycmF5KGwpLHU9MDt1PGw7dSsrKWNbdV09YXJndW1lbnRzW3UrMl07aS5jaGlsZHJlbj1jfWlmKGUmJmUuZGVmYXVsdFByb3BzKWZvcihvIGluIGw9ZS5kZWZhdWx0UHJvcHMpdm9pZCAwPT09aVtvXSYmKGlbb109bFtvXSk7cmV0dXJueyQkdHlwZW9mOnMsdHlwZTplLGtleTpyLHJlZjphLHByb3BzOmksX293bmVyOnguY3VycmVudH19ZnVuY3Rpb24gdyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09c312YXIgVD0vXC8rL2c7ZnVuY3Rpb24gUChlLHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJm51bGwhPWUua2V5P2Z1bmN0aW9uKGUpe3ZhciB0PXsiPSI6Ij0wIiwiOiI6Ij0yIn07cmV0dXJuIiQiK2UucmVwbGFjZSgvWz06XS9nLChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKX0oIiIrZS5rZXkpOnQudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIGsoZSx0LG8saSxyKXt2YXIgYT10eXBlb2YgZTsidW5kZWZpbmVkIiE9PWEmJiJib29sZWFuIiE9PWF8fChlPW51bGwpO3ZhciBsPSExO2lmKG51bGw9PT1lKWw9ITA7ZWxzZSBzd2l0Y2goYSl7Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpsPSEwO2JyZWFrO2Nhc2Uib2JqZWN0Ijpzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBzOmNhc2UgbjpsPSEwfX1pZihsKXJldHVybiByPXIobD1lKSxlPSIiPT09aT8iLiIrUChsLDApOmksQyhyKT8obz0iIixudWxsIT1lJiYobz1lLnJlcGxhY2UoVCwiJCYvIikrIi8iKSxrKHIsdCxvLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKSk6bnVsbCE9ciYmKHcocikmJihyPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOnMsdHlwZTplLnR5cGUsa2V5OnQscmVmOmUucmVmLHByb3BzOmUucHJvcHMsX293bmVyOmUuX293bmVyfX0ocixvKyghci5rZXl8fGwmJmwua2V5PT09ci5rZXk/IiI6KCIiK3Iua2V5KS5yZXBsYWNlKFQsIiQmLyIpKyIvIikrZSkpLHQucHVzaChyKSksMTtpZihsPTAsaT0iIj09PWk/Ii4iOmkrIjoiLEMoZSkpZm9yKHZhciBjPTA7YzxlLmxlbmd0aDtjKyspe3ZhciB1PWkrUChhPWVbY10sYyk7bCs9ayhhLHQsbyx1LHIpfWVsc2UgaWYodT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPWQmJmVbZF18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgdSlmb3IoZT11LmNhbGwoZSksYz0wOyEoYT1lLm5leHQoKSkuZG9uZTspbCs9ayhhPWEudmFsdWUsdCxvLHU9aStQKGEsYysrKSxyKTtlbHNlIGlmKCJvYmplY3QiPT09YSl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBEKGUsdCxzKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBuPVtdLG89MDtyZXR1cm4gayhlLG4sIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwocyxlLG8rKyl9KSksbn1mdW5jdGlvbiBGKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEw9e2N1cnJlbnQ6bnVsbH0sSD17dHJhbnNpdGlvbjpudWxsfSxPPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkwsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6SCxSZWFjdEN1cnJlbnRPd25lcjp4fTt0LkNoaWxkcmVuPXttYXA6RCxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxzKXtEKGUsKGZ1bmN0aW9uKCl7CnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscyl9LGNvdW50OmZ1bmN0aW9uKGUpe3ZhciB0PTA7cmV0dXJuIEQoZSwoZnVuY3Rpb24oKXt0Kyt9KSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gRChlLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKXx8W119LG9ubHk6ZnVuY3Rpb24oZSl7aWYoIXcoZSkpdGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpO3JldHVybiBlfX0sdC5Db21wb25lbnQ9Zyx0LkZyYWdtZW50PW8sdC5Qcm9maWxlcj1yLHQuUHVyZUNvbXBvbmVudD1iLHQuU3RyaWN0TW9kZT1pLHQuU3VzcGVuc2U9dSx0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPU8sdC5jbG9uZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe2lmKG51bGw9PWUpdGhyb3cgRXJyb3IoIlJlYWN0LmNsb25lRWxlbWVudCguLi4pOiBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrZSsiLiIpO3ZhciBvPXAoe30sZS5wcm9wcyksaT1lLmtleSxyPWUucmVmLGE9ZS5fb3duZXI7aWYobnVsbCE9dCl7aWYodm9pZCAwIT09dC5yZWYmJihyPXQucmVmLGE9eC5jdXJyZW50KSx2b2lkIDAhPT10LmtleSYmKGk9IiIrdC5rZXkpLGUudHlwZSYmZS50eXBlLmRlZmF1bHRQcm9wcyl2YXIgbD1lLnR5cGUuZGVmYXVsdFByb3BzO2ZvcihjIGluIHQpTi5jYWxsKHQsYykmJiFFLmhhc093blByb3BlcnR5KGMpJiYob1tjXT12b2lkIDA9PT10W2NdJiZ2b2lkIDAhPT1sP2xbY106dFtjXSl9dmFyIGM9YXJndW1lbnRzLmxlbmd0aC0yO2lmKDE9PT1jKW8uY2hpbGRyZW49bjtlbHNlIGlmKDE8Yyl7bD1BcnJheShjKTtmb3IodmFyIHU9MDt1PGM7dSsrKWxbdV09YXJndW1lbnRzW3UrMl07by5jaGlsZHJlbj1sfXJldHVybnskJHR5cGVvZjpzLHR5cGU6ZS50eXBlLGtleTppLHJlZjpyLHByb3BzOm8sX293bmVyOmF9fSx0LmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuKGU9eyQkdHlwZW9mOmwsX2N1cnJlbnRWYWx1ZTplLF9jdXJyZW50VmFsdWUyOmUsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsLF9kZWZhdWx0VmFsdWU6bnVsbCxfZ2xvYmFsTmFtZTpudWxsfSkuUHJvdmlkZXI9eyQkdHlwZW9mOmEsX2NvbnRleHQ6ZX0sZS5Db25zdW1lcj1lfSx0LmNyZWF0ZUVsZW1lbnQ9Uyx0LmNyZWF0ZUZhY3Rvcnk9ZnVuY3Rpb24oZSl7dmFyIHQ9Uy5iaW5kKG51bGwsZSk7cmV0dXJuIHQudHlwZT1lLHR9LHQuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19LHQuZm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6YyxyZW5kZXI6ZX19LHQuaXNWYWxpZEVsZW1lbnQ9dyx0Lmxhenk9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOm0sX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDplfSxfaW5pdDpGfX0sdC5tZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOmgsdHlwZTplLGNvbXBhcmU6dm9pZCAwPT09dD9udWxsOnR9fSx0LnN0YXJ0VHJhbnNpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1ILnRyYW5zaXRpb247SC50cmFuc2l0aW9uPXt9O3RyeXtlKCl9ZmluYWxseXtILnRyYW5zaXRpb249dH19LHQudW5zdGFibGVfYWN0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoImFjdCguLi4pIGlzIG5vdCBzdXBwb3J0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgb2YgUmVhY3QuIil9LHQudXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUNhbGxiYWNrKGUsdCl9LHQudXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZUNvbnRleHQoZSl9LHQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LHMpe3JldHVybiBMLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQscyl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LHMpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxzKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxzKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXMoMTIyNzQ5KX0sNjQ0NDk5KGUsdCxzKXsidXNlIHN0cmljdCI7cyg3OTUzODMpLHMoNzIyNTcxKTt2YXIgbj1zKDc1MTU1Nyksbz1zKDc3OTQ3NCksaT1zKDEyOTM2NSkscj1zKDYwMTU4NyksYT1zKDkxMTMyNyksbD1zKDk2NDQ4NiksYz1zKDIyMTA2MSksdT1zKDYwMTg0MSksaD1zKDExNTI5MyksbT1zKDc1NTYyNyk7Y2xhc3MgZCBleHRlbmRzIG0uUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLAp0aGlzLnR5cGU9InBlcmNlbnRhZ2UifXN0YXRlKCl7cmV0dXJuey4uLnN1cGVyLnN0YXRlKCkscGVyY2VudDohMH19cGFyc2UoZSx0KXtyZXR1cm4gZT1lLnJlcGxhY2UoIiUiLCIiKSxzdXBlci5wYXJzZShlLHQpfWZvcm1hdChlLHQ9e30pe2NvbnN0e3VzZVJ0bEZvcm1hdDpzPSEwfT10LG49c3VwZXIuZm9ybWF0KGUsey4uLnQsdXNlUnRsRm9ybWF0OiExfSkrIiUiO3JldHVybiBzPygwLGguZm9yY2VMVFJTdHIpKG4pOm59c3RhdGljIHNlcmlhbGl6ZShlKXtyZXR1cm4gZS5zdGF0ZSgpfXN0YXRpYyBkZXNlcmlhbGl6ZShlKXtyZXR1cm4gbmV3IGQoZSl9fXZhciBmPXMoODkxNzc4KSxwPXMoOTg0Mzc2KSxfPXMoNTYzOTE4KSxnPXMoMzA2OTApLHk9cyg1MjgzOTYpLGI9cygxODUyNzEpO2Z1bmN0aW9uIHYoZSl7bGV0IHQ9W107Y29uc3Qgbj1mdW5jdGlvbihlKXtzd2l0Y2goZSl7Y2FzZSJQQ1QiOmNhc2UiUENUUEFSIjpyZXR1cm4iJSI7Y2FzZSJQQ1RHRFAiOnJldHVybiBiLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNTU4NDEyKSk7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtkZWZhdWx0OnJldHVybiBlfX0oZS5jdXJyZW5jeV9jb2RlfHxlLnZhbHVlX3VuaXRfaWR8fCIiKTtzd2l0Y2goZS5tZWFzdXJlKXtjYXNlInByaWNlIjpjYXNlInVuaXQiOnQ9W24sZS51bml0X2lkXTticmVhaztkZWZhdWx0OnQ9W25dfXJldHVybiB0LmZpbHRlcihCb29sZWFuKS5qb2luKCLigIkv4oCJIil9dmFyIEM9cygxNTk1MTMpLE49cyg5NzMxMTkpLHg9cyg2MDI4NyksRT1zKDc4Njc2MCksUz1zKDEwMTcxMik7Y29uc3Qgdz0oMCxjLmdldExvZ2dlcikoIlF1b3RlVGlja2VyIiksVD17YWRkRGVzY3JpcHRpb25UaXRsZTohMCxjaGFuZ2VEaXJlY3Rpb25Eb3duQ2xhc3M6ImRvd24iLGNoYW5nZURpcmVjdGlvblVwQ2xhc3M6InVwIixjaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3M6Im5ldXRyYWwiLGNoYW5nZUluQnJhY2tldHM6ITEsY2hhbmdlUGVyY2VudEluQnJhY2tldHM6ITEsbGFzdFByaWNlVGltZUluQnJhY2tldHM6ITAsbGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHM6ITAscnRjVGltZUluQnJhY2tldHM6ITAsY2xpZW50TmFtZToicXVvdGUtdGlja2VyIixkb250RHllUHJpY2U6ITEsZmFsbGluZ0JnOm51bGwsZ3Jvd2luZ0JnOm51bGwsbGFzdEZhbGxpbmdDbGFzczoiZmFsbGluZyIsbGFzdEdyb3dpbmdDbGFzczoiZ3Jvd2luZyIscXVvdGVTZXNzaW9uOm51bGwsc2lnbk5lZ2F0aXZlOiEwLHNpZ25Qb3NpdGl2ZTohMSxjdXN0b21QcmljZUZvcm1hdHRlcjpudWxsLGN1c3RvbVRpbWVGb3JtYXR0ZXI6bnVsbCxzZXNzaW9uU3RhdHVzQ2xhc3NTdWZmaXg6Ii0tZm9yLXRpY2tlciIsZGF0YU1vZGVDbGFzc1N1ZmZpeDoiLS1mb3ItdGlja2VyIixzaG93SW52YWxpZFN5bWJvbFN0YXR1czohMSxpbmRpY2F0b3JzVG9vbHRpcFR5cGU6ImN1c3RvbSIsbGFzdFByaWNlTGFzdENoYXJTdXA6ITEsbGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk6ITEsaW5pdGVkSG9vazp2b2lkIDAsc2V0U3RhdGVIb29rOnZvaWQgMCxwZXJtaXNzaW9uRGVuaWVkSG9vazp2b2lkIDAsbm9TdWNoU3ltYm9sSG9vazp2b2lkIDB9LFA9L1tLTUJUXS87ZnVuY3Rpb24gayhlLHQscz17fSl7dGhpcy5lbmFibGVkPSEwLHRoaXMuX3N5bWJvbD1lLHRoaXMuX3N5bWJvbE9yaWdpbmFsPW51bGwsdGhpcy5fb3B0aW9ucz0oMCxsLmRlZXBFeHRlbmQpKHt9LFQscyksITEhPT10aGlzLl9vcHRpb25zLnNpZ25OZWdhdGl2ZSYmITAhPT10aGlzLl9vcHRpb25zLnNpZ25OZWdhdGl2ZSYmZGVsZXRlIHRoaXMuX29wdGlvbnMuc2lnbk5lZ2F0aXZlLHMuY3VzdG9tUHJpY2VGb3JtYXR0ZXImJih0aGlzLl9jdXN0b21QcmljZUZvcm1hdHRlcj1zLmN1c3RvbVByaWNlRm9ybWF0dGVyKSxzLmN1c3RvbVRpbWVGb3JtYXR0ZXImJih2b2lkIDAhPT1zLmN1c3RvbVRpbWVGb3JtYXR0ZXIubGFzdFByaWNlfHx2b2lkIDAhPT1zLmN1c3RvbVRpbWVGb3JtYXR0ZXIucnRjP3RoaXMuX3RpbWVGb3JtYXR0ZXI9cy5jdXN0b21UaW1lRm9ybWF0dGVyOnRoaXMuX3RpbWVGb3JtYXR0ZXI9e2xhc3RQcmljZTpzLmN1c3RvbVByaWNlRm9ybWF0dGVyLHJ0YzpzLmN1c3RvbVByaWNlRm9ybWF0dGVyfSksdGhpcy5fcGVyY2VudEZvcm1hdHRlcj1uZXcgZCx0aGlzLl9kZWZhdWx0UHJpY2VGb3JtYXR0ZXI9bmV3IG0uUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAwfSksdGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2RlZmF1bHRQcmljZUZvcm1hdHRlcix0aGlzLl92b2x1bWVGb3JtYXR0ZXI9bmV3IHAuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pLHRoaXMuX2NhY2hlPXt9LHRoaXMuX2xhc3RQcmljZT1udWxsLHRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZD0iIix0aGlzLl9sYXN0TWluTW92ZT0wLHRoaXMuX2VsZW1lbnRzPXt9LHRoaXMuX3RleHROb2Rlcz17fSx0aGlzLl9jaGFuZ2VWb2x1bWVMZXR0ZXI9dGhpcy5fZ2V0Q2hhbmdlVm9sdW1lTGV0dGVyQ2FsbGJhY2soKSx0aGlzLl9zZXRFbGVtZW50cyh0KSx0aGlzLl9oaWdobGlnaHRlcnM9e30sdGhpcy5faW5pdEhpZ2hsaWdodGVycygpLHRoaXMuX29wdGlvbnMuc2V0U3RhdGVIb29rJiZ0aGlzLnNldFN0YXRlSG9vayh0aGlzLl9vcHRpb25zLnNldFN0YXRlSG9vayksdGhpcy5xdW90ZVNlc3Npb249dGhpcy5fb3B0aW9ucy5xdW90ZVNlc3Npb258fCgwLEMuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXI9dGhpcy5vbkRhdGEuYmluZCh0aGlzKSx0aGlzLl9jb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5jb25uZWN0LmJpbmQodGhpcyksMCl9ZnVuY3Rpb24gRChlKXtjb25zdCB0PWUuc2VhcmNoKFApLHM9dD49MD9lLnNsaWNlKHQpOiIiO3JldHVyblt0PjA/ZS5zdWJzdHJpbmcodCwwKTowPT09dD8iIjplLHNdfWZ1bmN0aW9uIEYoZSx0LHMsbixvKXt2YXIgaSxyPW51bGw7ZnVuY3Rpb24gYSgpe2lmKGkmJihjbGVhclRpbWVvdXQoaSksaT12b2lkIDApLApzfHx0KWZvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKWVbcl0uc3R5bGUuYmFja2dyb3VuZD0iIjtpZighc3x8IXQpZm9yKHI9MDtyPGUubGVuZ3RoO3IrKyluJiZlW3JdLmNsYXNzTGlzdC5yZW1vdmUobiksbyYmZVtyXS5jbGFzc0xpc3QucmVtb3ZlKG8pfXJldHVybntzaG93OmZ1bmN0aW9uKGwpe3ZhciBjPTA7aWYobCE9PXIpe2lmKG51bGwhPT1yJiZudWxsIT09bCYmKGM9bC1yKSxhKCksaT1zZXRUaW1lb3V0KGEsNzUwKSwwPGMpe2lmKHQpZm9yKHZhciB1PTA7dTxlLmxlbmd0aDt1KyspZVt1XS5zdHlsZS5iYWNrZ3JvdW5kPXQ7ZWxzZSBpZihuKWZvcih1PTA7dTxlLmxlbmd0aDt1KyspZVt1XS5jbGFzc0xpc3QuYWRkKG4pfWVsc2UgaWYoYzwwKWlmKHMpZm9yKHU9MDt1PGUubGVuZ3RoO3UrKyllW3VdLnN0eWxlLmJhY2tncm91bmQ9cztlbHNlIGlmKG8pZm9yKHU9MDt1PGUubGVuZ3RoO3UrKyllW3VdLmNsYXNzTGlzdC5hZGQobyk7bnVsbCE9PWwmJihyPWwpfX0saGlkZTphfX1rLnByb3RvdHlwZS5fc2V0RWxlbWVudHM9ZnVuY3Rpb24oZSl7dGhpcy5fY29udGFpbmVyPWUsdGhpcy5fZWxlbWVudHMuY2hhbmdlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLWNoYW5nZSIsInN5bWJvbC1jaGFuZ2UiXSksdGhpcy5fZWxlbWVudHMuY2hhbmdlRGlyZWN0aW9uPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLWNoYW5nZS1kaXJlY3Rpb24iLCJzeW1ib2wtY2hhbmdlLWRpcmVjdGlvbiJdKSx0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2VEaXJlY3Rpb249dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtZXh0LWhycy1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLmNoYW5nZVBlcmNlbnQ9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlLXB0Iiwic3ltYm9sLWNoYW5nZS1wdCJdKSx0aGlzLl9lbGVtZW50cy5kZXNjcmlwdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1kZXNjcmlwdGlvbi1uYW1lIiwic3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiXSksdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtZXh0LWhycy1jaGFuZ2UiKSx0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2VQZXJjZW50PXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtZXh0LWhycy1jaGFuZ2UtcHQiKSx0aGlzLl9lbGVtZW50cy5leHRIcnNDbG9zZT10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLWV4dC1ocnMtY2xvc2UiKSx0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1uaWdodC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlIiksdGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50PXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlLXB0IiksdGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZT10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLW5pZ2h0LWNsb3NlIiksdGhpcy5fZWxlbWVudHMuaW5kdXN0cnk9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtaW5kdXN0cnkiLCJzeW1ib2wtaW5kdXN0cnkiXSksdGhpcy5fZWxlbWVudHMubGFzdD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1sYXN0Iiwic3ltYm9sLWxhc3QiXSksdGhpcy5fZWxlbWVudHMuc2VjdG9yPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNlY3RvciIsInN5bWJvbC1zZWN0b3IiXSksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cz10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLXNlc3Npb24tc3RhdHVzIiksdGhpcy5fZWxlbWVudHMuc2hvcnROYW1lPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNob3J0LW5hbWUiLCJzeW1ib2wtc2hvcnQtbmFtZSJdKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1kYXRhLW1vZGUiKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbGFzdC1wZXJpb2QiKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSkpLHRoaXMuX3RleHROb2Rlcy5jaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuY2hhbmdlKSx0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlUGVyY2VudD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZSksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0Nsb3NlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2UpLHRoaXMuX3RleHROb2Rlcy5uaWdodENoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDbG9zZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubGFzdD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0KSx0aGlzLl90ZXh0Tm9kZXMub3Blbj10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1vcGVuIiksCnRoaXMuX3RleHROb2Rlcy5lcHM9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtZXBzIiksdGhpcy5fdGV4dE5vZGVzLm1hcmtldENhcD10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1tYXJrZXQtY2FwIiksdGhpcy5fdGV4dE5vZGVzLnByZXZDbG9zZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1wcmV2LWNsb3NlIiksdGhpcy5fdGV4dE5vZGVzLmRpdmlkZW5kcz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1kaXZpZGVuZHMiKSx0aGlzLl90ZXh0Tm9kZXMucHJpY2VFYXJuaW5ncz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1wZSIpLHRoaXMuX3RleHROb2Rlcy52b2x1bWU9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtdm9sdW1lIiksdGhpcy5fdGV4dE5vZGVzLmhpZ2g9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtaGlnaCIpLHRoaXMuX3RleHROb2Rlcy5sb3c9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtbG93IiksdGhpcy5fdGV4dE5vZGVzLmN1cnJlbmN5PXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLWN1cnJlbmN5IiksdGhpcy5fdGV4dE5vZGVzLmxhc3RQcmljZVRpbWU9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtbHAtdGltZSIpLHRoaXMuX3RleHROb2Rlcy5sYXN0UmVsZWFzZURhdGU9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtbGFzdC1yZWxlYXNlLWRhdGUiKSx0aGlzLl90ZXh0Tm9kZXMucnRjVGltZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1ydGMtdGltZSIpLHRoaXMuX3RleHROb2Rlcy5udGNUaW1lPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLW50Yy10aW1lIiksdGhpcy5fZWxlbWVudHMubGFzdEhpZ2hsaWdodD10aGlzLl9vcHRpb25zLmxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5P3RoaXMuX2VsZW1lbnRzLmxhc3QubWFwKChlPT50aGlzLl9hcHBlbmRBbmRHZXROZXdFbGVtZW50KGUsInNwYW4iKSkpOnRoaXMuX2VsZW1lbnRzLmxhc3QsdGhpcy5fdGV4dE5vZGVzLmxhc3RIaWdobGlnaHQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubGFzdEhpZ2hsaWdodCksdGhpcy5fZWxlbWVudHMubGFzdFN1cD10aGlzLl9vcHRpb25zLmxhc3RQcmljZUxhc3RDaGFyU3VwP3RoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQubWFwKChlPT50aGlzLl9hcHBlbmRBbmRHZXROZXdFbGVtZW50KGUsInN1cCIpKSk6W10sdGhpcy5fdGV4dE5vZGVzLmxhc3RTdXA9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubGFzdFN1cCl9LGsucHJvdG90eXBlLl9maW5kRWxlbWVudHM9ZnVuY3Rpb24oZSx0KXt2YXIgcz0oMCx1LmlzQXJyYXkpKHQpP3Q6W3RdO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLHMubWFwKCh0PT5BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUodCkpKSkpfSxrLnByb3RvdHlwZS5fZmluZFRleHROb2Rlcz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9maW5kRWxlbWVudHMoZSx0KSl9LGsucHJvdG90eXBlLl9nZXRPckNyZWF0ZVRleHROb2Rlcz1mdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAoKGU9Pnt2YXIgdD10aGlzLl9nZXRGaXJzdFRleHROb2RlKGUpO3JldHVybiB0fHwodD1lLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpLGUuYXBwZW5kQ2hpbGQodCkpLHR9KSl9LGsucHJvdG90eXBlLl9hcHBlbmRBbmRHZXROZXdFbGVtZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiBlLmFwcGVuZENoaWxkKHMpLHN9LGsucHJvdG90eXBlLl9nZXRGaXJzdFRleHROb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmNoaWxkTm9kZXMscz10Lmxlbmd0aC0xO3M+PTA7cy0tKWlmKDM9PT10Lml0ZW0ocykubm9kZVR5cGUpcmV0dXJuIHQuaXRlbShzKTtyZXR1cm4gbnVsbH0say5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihlKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fc3Vic2NyaWJlZFN5bWJvbD1lfHx0aGlzLl9zeW1ib2wsdGhpcy5xdW90ZVNlc3Npb24uc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMCl9LGsucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5fY29ubmVjdFRpbWVvdXRJZCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMucXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMSl9LGsucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlLHQpe3RoaXMuZW5hYmxlZCYmKCJvayI9PT1lLnN0YXR1cz90aGlzLnN1Y2Nlc3NEYXRhKGUsdCk6InBlcm1pc3Npb25fZGVuaWVkIj09PWUuc3RhdHVzP3RoaXMub25QZXJtaXNzaW9uRGVuaWVkKGUpOiJlcnJvciI9PT1lLnN0YXR1cyYmdGhpcy5lcnJvckRhdGEoZSkpfSxrLnByb3RvdHlwZS5zdWNjZXNzRGF0YT1mdW5jdGlvbihlLHQpe2UudmFsdWVzJiZ0aGlzLnNldFN0YXRlKGUudmFsdWVzLGUsdCl9LGsucHJvdG90eXBlLm9uUGVybWlzc2lvbkRlbmllZD1mdW5jdGlvbihlKXsoMCxTLmlzU2ZRdW90ZURhdGEpKGUpfHwoMCxFLmlzTWN4UXVvdGVEYXRhKShlKT90aGlzLl9vcHRpb25zLnBlcm1pc3Npb25EZW5pZWRIb29rP3RoaXMuX29wdGlvbnMucGVybWlzc2lvbkRlbmllZEhvb2soZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKTp0aGlzLmVycm9yRGF0YShlKTp0aGlzLmRvd25ncmFkZURhdGEoZSl9LGsucHJvdG90eXBlLmVycm9yRGF0YT1mdW5jdGlvbihlKXsKdGhpcy5fb3B0aW9ucy5zaG93SW52YWxpZFN5bWJvbFN0YXR1cyYmKHRoaXMuc2V0U2hvcnROYW1lKHRoaXMuX3N5bWJvbCksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cy5tYXAoKGU9Pm5ldyBfLk1hcmtldFN0YXR1c0luZGljYXRvcih7Y2xhc3NTdWZmaXg6dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzQ2xhc3NTdWZmaXgsZWw6ZSxkYXRhOnt2YWx1ZXM6e2N1cnJlbnRfc2Vzc2lvbjoiaW52YWxpZCJ9fSx0b29sdGlwVHlwZTp0aGlzLl9vcHRpb25zLmluZGljYXRvcnNUb29sdGlwVHlwZX0pKSkpLHRoaXMuX29wdGlvbnMubm9TdWNoU3ltYm9sSG9vaz8odGhpcy5fc3ltYm9sT3JpZ2luYWwmJnRoaXMuc2V0U2hvcnROYW1lKHRoaXMuX3N5bWJvbE9yaWdpbmFsKSx0aGlzLl9vcHRpb25zLm5vU3VjaFN5bWJvbEhvb2suY2FsbCh0aGlzLGUsdGhpcy5fc3ltYm9sT3JpZ2luYWx8fHRoaXMuX3N5bWJvbCkpOncubG9nV2FybigiTm8gZGF0YSBmb3I6ICIrdGhpcy5fc3ltYm9sKX0say5wcm90b3R5cGUuZG93bmdyYWRlRGF0YT1mdW5jdGlvbihlKXt7Y29uc3QgdD1lJiZlLnZhbHVlcyYmZS52YWx1ZXMuYWx0ZXJuYXRpdmUscz10aGlzLl9zeW1ib2w9PT10O2lmKCEodCYmLTEhPT10LmluZGV4T2YoIjoiKSl8fHMpcmV0dXJuIHZvaWQgdGhpcy5lcnJvckRhdGEoZSk7dGhpcy5fc3ltYm9sT3JpZ2luYWw9dGhpcy5fc3ltYm9sLHRoaXMuX3N5bWJvbD10LHRoaXMuX3N1YnNjcmliZWQ9ITEsdGhpcy5jb25uZWN0KCl9fSxrLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQsbil7Y29uc3Qgbz1uLnZhbHVlczt0aGlzLl9pc1ZvbHVtZUZvcm1hdD0idm9sdW1lIj09PWUuZm9ybWF0LG51bGw9PW8ucHJpY2VzY2FsZSYmbnVsbD09by5taW5tb3YmJm51bGw9PW8uZnJhY3Rpb25hbCYmbnVsbD09by5taW5tb3ZlMnx8KHRoaXMuX3ByaWNlRm9ybWF0dGVyPXRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyfHx0aGlzLl9pc1ZvbHVtZUZvcm1hdCYmdGhpcy5fdm9sdW1lRm9ybWF0dGVyfHxuZXcgbS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSk7Y29uc3QgaT10aGlzLl9vcHRpb25zLHI9dGhpcy5fcGVyY2VudEZvcm1hdHRlcixhPXRoaXMuX3ByaWNlRm9ybWF0dGVyLGw9dGhpcy5fZGVmYXVsdFByaWNlRm9ybWF0dGVyLGM9dGhpcy5fdm9sdW1lRm9ybWF0dGVyLHU9KGUsdD0hMCk9PnQ/YCgke2V9KWA6ZSxoPXZvaWQgMCE9PWkuc2lnblBvc2l0aXZlQ2hhbmdlP2kuc2lnblBvc2l0aXZlQ2hhbmdlOmkuc2lnblBvc2l0aXZlLGQ9ZT0+KDAsTi5xdW90ZVRpY2tlckZvcm1hdENoYW5nZSkoZSxvLGkpLGY9ZT0+e2NvbnN0IHQ9ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOmgsc2lnbk5lZ2F0aXZlOmkuc2lnbk5lZ2F0aXZlfSk7cmV0dXJuIHUodCxpLmNoYW5nZVBlcmNlbnRJbkJyYWNrZXRzKX0sYj1hLmZvcm1hdC5iaW5kKGEpLEM9bC5mb3JtYXQuYmluZChsKSxFPWMuZm9ybWF0LmJpbmQoYyksUz1lPT5udWxsPT1lP3AuUExBQ0VfSE9MREVSOkMoZSk7aS5kaXNhYmxlQ2hhbmdlfHwodGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlLG8uY2hhbmdlLGQpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmNoYW5nZVBlcmNlbnQsby5jaGFuZ2VfcGVyY2VudCxmKSxudWxsIT1vLmNoYW5nZSYmKGkuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLmNoYW5nZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSxvLmNoYW5nZSxpLmNoYW5nZVVwRm9udENvbG9yLGkuY2hhbmdlRG93bkZvbnRDb2xvcixpLmNoYW5nZU5ldXRyYWxGb250Q29sb3IpLHRoaXMuX3NldENoYW5nZURpcmVjdGlvbih0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb24sby5jaGFuZ2UpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5leHRIcnNDaGFuZ2Usby5yY2gsZCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlUGVyY2VudCxvLnJjaHAsZiksbnVsbCE9by5yY2gmJihpLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2UsdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksby5yY2gsaS5jaGFuZ2VVcEZvbnRDb2xvcixpLmNoYW5nZURvd25Gb250Q29sb3IsaS5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlRGlyZWN0aW9uLG8ucmNoKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2Usby5uY2gsZCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2VQZXJjZW50LG8ubmNocCxmKSxudWxsIT1vLm5jaCYmKGkuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudCksby5uY2gsaS5jaGFuZ2VVcEZvbnRDb2xvcixpLmNoYW5nZURvd25Gb250Q29sb3IsaS5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VEaXJlY3Rpb24sby5uY2gpKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlLG8ucHJldl9jbG9zZV9wcmljZSxiKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5kaXZpZGVuZHMsZS5kaXZpZGVuZHNfeWllbGQsKGU9Pm51bGw9PWU/cC5QTEFDRV9IT0xERVI6ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOmkuc2lnblBvc2l0aXZlLHNpZ25OZWdhdGl2ZTppLnNpZ25OZWdhdGl2ZX0pKSwhMCk7bGV0IFQ9KDAseS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKG8pCjtpZihUJiYoVD10aGlzLl9wcmVwYXJlU3ltYm9sRGVzY3JpcHRpb24oVCksdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uLFQpLHRoaXMuX29wdGlvbnMuYWRkRGVzY3JpcHRpb25UaXRsZSkpZm9yKHZhciBQPTA7UDx0aGlzLl9lbGVtZW50cy5kZXNjcmlwdGlvbi5sZW5ndGg7UCsrKXRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uW1BdLnNldEF0dHJpYnV0ZSgidGl0bGUiLFQpO2lmKChudWxsIT1vLnNob3J0X25hbWV8fG51bGwhPW8uZXhjaGFuZ2UpJiZlLnNob3J0X25hbWUpe3ZhciBrPWUuc2hvcnRfbmFtZTsiUVVBTkRMIj09PWUuZXhjaGFuZ2UmJnZvaWQgMCE9PWUuc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzFdJiYoaz1lLnNob3J0X25hbWUuc3BsaXQoIi8iKVsxXSsiLCAiK2Uuc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzBdKSx0aGlzLnNldFNob3J0TmFtZShrKX1lWyJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiXSYmdGhpcy5fZWxlbWVudHMubGFzdFBlcmlvZC5sZW5ndGgmJlByb21pc2UuYWxsKFtzLmUoMjM1NjcpLHMuZSg3Mzk3KV0pLnRoZW4ocy5iaW5kKHMsMjE1NTc5KSkudGhlbigodD0+e3RoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLHQucGVyaW9kRm9ybWF0dGVyKGVbInJlZmVyZW5jZS1sYXN0LXBlcmlvZCJdKSl9KSksdGhpcy5fZWxlbWVudHMubGFzdFBlcmlvZC5sZW5ndGgmJnZvaWQgMD09PWVbInJlZmVyZW5jZS1sYXN0LXBlcmlvZCJdJiZ0aGlzLl9zZXRUZXh0c0NvbnRlbnQodGhpcy5fZWxlbWVudHMubGFzdFBlcmlvZCwi4oCUIiksdGhpcy5fc2V0TGFzdFZhbHVlKG8ubGFzdF9wcmljZSxvLm1pbm1vdmUyLGIpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmV4dEhyc0Nsb3NlLG8ucnRjLGIpLG8ucnRjJiZ0aGlzLl9oaWdobGlnaHRlcnMuZXh0SHJzQ2xvc2Uuc2hvdyhvLnJ0YyksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDbG9zZSxvLm50YyxiKSxvLm50YyYmdGhpcy5faGlnaGxpZ2h0ZXJzLm5pZ2h0Q2xvc2Uuc2hvdyhvLm50Yyksby5pbmR1c3RyeSYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmluZHVzdHJ5LGUuaW5kdXN0cnksKGU9PmUpKSxvLnNlY3RvciYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLnNlY3RvcixlLnNlY3RvciksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cyYmby5jdXJyZW50X3Nlc3Npb24mJih0aGlzLl9zZXNzaW9uU3RhdHVzSW5zdGFuY2VzP3RoaXMuX3Nlc3Npb25TdGF0dXNJbnN0YW5jZXMuZm9yRWFjaCgoZT0+ZS5zZXRTdGF0dXMoby5jdXJyZW50X3Nlc3Npb24pKSk6dGhpcy5fc2Vzc2lvblN0YXR1c0luc3RhbmNlcz10aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgodD0+bmV3IF8uTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDp0LHNob3J0OiEwLGRhdGE6e3ZhbHVlczpvfSxxdW90ZVNlc3Npb246dGhpcy5xdW90ZVNlc3Npb24sc3ltYm9sOmUub3JpZ2luYWxfbmFtZSxtYW51YWxVcGRhdGU6ITAsdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGUsc2Vzc2lvblN0YXR1c0ljb246dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzSWNvbn0pKSkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm9wZW4sby5vcGVuX3ByaWNlLGIpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmhpZ2gsby5oaWdoX3ByaWNlLGIpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxvdyxvLmxvd19wcmljZSxiKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5lcHMsZS5lYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtLFMsITApLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLnByaWNlRWFybmluZ3MsZS5wcmljZV9lYXJuaW5nc190dG0sUywhMCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwLGUubWFya2V0X2NhcF9iYXNpYyxFLCEwKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy52b2x1bWUsZS52b2x1bWUsRSwhMCk7Y29uc3QgRD12KG8pO2lmKEQmJnRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmN1cnJlbmN5LEQseC5xdW90ZVRpY2tlckZvcm1hdEN1cnJlbmN5LCEwKSwoby5scF90aW1lfHxlLmxwX3RpbWUpJiZ0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZS5sZW5ndGgmJih0aGlzLl90aW1lRm9ybWF0dGVyJiZ0aGlzLl90aW1lRm9ybWF0dGVyLmxhc3RQcmljZT90aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0UHJpY2VUaW1lLHUodGhpcy5fdGltZUZvcm1hdHRlci5sYXN0UHJpY2UoZS5scF90aW1lLGUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9vcHRpb25zLmxhc3RQcmljZVRpbWVJbkJyYWNrZXRzKSk6dy5sb2dFcnJvcigibGFzdCBwcmljZSB0aW1lIGZpZWxkIHJlcXVlc3RlZCB3aXRoIG5vIGZvcm1hdHRlciBwcm92aWRlZCIpKSwoby5sYXN0X3JlbGVhc2VfZGF0ZXx8ZS5sYXN0X3JlbGVhc2VfZGF0ZSkmJnRoaXMuX3RleHROb2Rlcy5sYXN0UmVsZWFzZURhdGUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5sYXN0UmVsZWFzZURhdGU/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdFJlbGVhc2VEYXRlLHUodGhpcy5fdGltZUZvcm1hdHRlci5sYXN0UmVsZWFzZURhdGUoZS5sYXN0X3JlbGVhc2VfZGF0ZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5sYXN0UmVsZWFzZURhdGVUaW1lSW5CcmFja2V0cykpOncubG9nRXJyb3IoImxhc3RSZWxlYXNlRGF0ZSB0aW1lIGZpZWxkIHJlcXVlc3RlZCB3aXRoIG5vIGZvcm1hdHRlciBwcm92aWRlZCIpKSwKKG8ucnRjX3RpbWV8fGUucnRjX3RpbWUpJiZ0aGlzLl90ZXh0Tm9kZXMucnRjVGltZS5sZW5ndGgmJih0aGlzLl90aW1lRm9ybWF0dGVyJiZ0aGlzLl90aW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lLHUodGhpcy5fdGltZUZvcm1hdHRlci5ydGMoZS5ydGNfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5ydGNUaW1lSW5CcmFja2V0cykpOncubG9nRXJyb3IoInJ0YyB0aW1lIGZpZWxkIHJlcXVlc3RlZCB3aXRoIG5vIGZvcm1hdHRlciBwcm92aWRlZCIpKSwoby5udGNfdGltZXx8ZS5udGNfdGltZSkmJnRoaXMuX3RleHROb2Rlcy5udGNUaW1lLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm50Y1RpbWUsdSh0aGlzLl90aW1lRm9ybWF0dGVyLnJ0YyhlLm50Y190aW1lLGUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9vcHRpb25zLnJ0Y1RpbWVJbkJyYWNrZXRzKSk6dy5sb2dFcnJvcigibnRjIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLG51bGwhPW8ubGFzdF9wcmljZSlmb3IoUD0wO1A8dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5sZW5ndGg7UCsrKXRoaXMuX2VsZW1lbnRzLnVwZGF0ZU1vZGVbUF0uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTt0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlJiYoby51cGRhdGVfbW9kZXx8by51cGRhdGVfbW9kZV9zZWNvbmRzKSYmKHRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM/dGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcy5mb3JFYWNoKCh0PT50LnVwZGF0ZSh7dmFsdWVzOmV9KSkpOnRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM9dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5tYXAoKHQ9Pm5ldyBnLkRhdGFNb2RlSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLmRhdGFNb2RlQ2xhc3NTdWZmaXgsZWw6dCxkYXRhOnt2YWx1ZXM6ZX0sbW9kZUludGVydmFsOmUudXBkYXRlX21vZGVfc2Vjb25kcyxzaG9ydDohMCx0b29sdGlwVHlwZTp0aGlzLl9vcHRpb25zLmluZGljYXRvcnNUb29sdGlwVHlwZX0pKSkpLHRoaXMuX3NldFN0YXRlSG9vayYmdGhpcy5fc2V0U3RhdGVIb29rKHQudmFsdWVzLG4udmFsdWVzLHQuY29tcGxldGUsdGhpcy5nZXRPcHRpb25zKCkpLHRoaXMuX2xhc3RQcmljZT90aGlzLl9oaWdobGlnaHRlcnMubGFzdC5zaG93KGUubGFzdF9wcmljZSk6bnVsbD09PXRoaXMuX2xhc3RQcmljZSYmKHRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJxdW90ZS10aWNrZXItaW5pdGVkIiksImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX29wdGlvbnMuaW5pdGVkSG9vayYmdGhpcy5fb3B0aW9ucy5pbml0ZWRIb29rKCJsYXN0X3ByaWNlImluIGUpKSx0aGlzLl9sYXN0UHJpY2U9ZS5sYXN0X3ByaWNlfSxrLnByb3RvdHlwZS5fc2V0Tm9kZXNWYWx1ZT1mdW5jdGlvbihlLHQscyxuKXtpZihudWxsIT10fHxuKWZvcih2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2Ygcz9zKHQpOnQsaT0wO2k8ZS5sZW5ndGg7aSsrKWVbaV0ubm9kZVZhbHVlPW99LGsucHJvdG90eXBlLl9zZXRUZXh0c0NvbnRlbnQ9ZnVuY3Rpb24oZSx0LHMpe2lmKGUmJmUubGVuZ3RoJiZ0KWZvcih2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2Ygcz9zKHQpOnQsbz0wO288ZS5sZW5ndGg7bysrKWVbb10udGV4dENvbnRlbnQ9bn0say5wcm90b3R5cGUuX3NldExhc3RWYWx1ZT1mdW5jdGlvbihlLHQscyl7aWYobnVsbD09ZSlyZXR1cm47Y29uc3Qgbj0iZnVuY3Rpb24iPT10eXBlb2Ygcz9zKGUpOlN0cmluZyhlKTtpZihuPT09dGhpcy5fbGFzdFByaWNlRm9ybWF0dGVkKXJldHVybjtjb25zdFtvLGkscl09dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VIaWdobGlnaHREaWZmT25seT90aGlzLl9nZXRMYXN0VmFsdWVTdHJpbmdEaWZmKHRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZCxuKTpbIiIsbiwiIl0sYT1vLGw9dGhpcy5fY2FsY3VsYXRlUGlwZXR0ZURpZ2l0cyh0KSxbYyx1XT10aGlzLl9vcHRpb25zLmxhc3RQcmljZUxhc3RDaGFyU3VwJiZsP1tpLnNsaWNlKDAsLWwpLGkuc2xpY2UoLWwpXTpbaSwiIl07dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VIaWdobGlnaHREaWZmT25seSYmKHRoaXMuX2lzVm9sdW1lRm9ybWF0JiZ0aGlzLl9jaGFuZ2VWb2x1bWVMZXR0ZXIuY2FsbCh0aGlzLHIpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3QsYSkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RIaWdobGlnaHQsYyksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdFN1cCx1KSx0aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQ9bn0say5wcm90b3R5cGUuX2dldENoYW5nZVZvbHVtZUxldHRlckNhbGxiYWNrPWZ1bmN0aW9uKCl7bGV0IGU7cmV0dXJuIGZ1bmN0aW9uKHQpe3QhPT1lJiYoZT10LHRoaXMuX2VsZW1lbnRzLmxhc3QuZm9yRWFjaCgodD0+ezMhPT10LmNoaWxkTm9kZXMubGVuZ3RoP3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSkpOnQuY2hpbGROb2Rlc1syXS5ub2RlVmFsdWU9ZX0pKSl9fSxrLnByb3RvdHlwZS5fZ2V0TGFzdFZhbHVlU3RyaW5nRGlmZj1mdW5jdGlvbihlLHQpe2lmKGU9PT10KXtjb25zdFtlLHNdPUQodCk7cmV0dXJuW2UsIiIsc119bGV0IHM9MDtmb3IoO2Vbc109PT10W3NdOylzKys7Y29uc3RbbixvXT1EKHQuc2xpY2UocykpO3JldHVyblt0LnNsaWNlKDAscyksbixvXX0say5wcm90b3R5cGUuX2NhbGN1bGF0ZVBpcGV0dGVEaWdpdHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUhPT10aGlzLl9sYXN0TWluTW92ZSYmKHRoaXMuX2xhc3RNaW5Nb3ZlPWUpLHRoaXMuX2xhc3RNaW5Nb3ZlPygiIit0aGlzLl9sYXN0TWluTW92ZSkubGVuZ3RoLTE6MH0say5wcm90b3R5cGUuX3NldENoYW5nZUZvbnRDb2xvcj1mdW5jdGlvbihlLHQscyxuLG8pe2Zvcih2YXIgaT1mLlByaWNlQ29sb3Jlci5mb3JtYXRTaWduKHQse3VwOnMsZG93bjpuLApuZXV0cmFsOm99KSxyPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5jb2xvcj1pfSxrLnByb3RvdHlwZS5fc2V0Q2hhbmdlRGlyZWN0aW9uPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBzPTA7czxlLmxlbmd0aDtzKyspe3ZhciBuPWVbc10uY2xhc3NMaXN0O24udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uVXBDbGFzcyx0PjApLG4udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uRG93bkNsYXNzLHQ8MCksbi50b2dnbGUodGhpcy5fb3B0aW9ucy5jaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3MsMD09PXQpfX0say5wcm90b3R5cGUuc2V0U2hvcnROYW1lPWZ1bmN0aW9uKGU9IiIpe3RoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5zaG9ydE5hbWUsZSl9LGsucHJvdG90eXBlLl9wcmVwYXJlU3ltYm9sRGVzY3JpcHRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZ2V0Q2FjaGUoInN5bWJvbC1kZXNjcmlwdGlvbjoiK2UpO3JldHVybiB0fHwodD1lLHRoaXMuX3NldENhY2hlKCJzeW1ib2wtZGVzY3JpcHRpb246IitlLHQpLHQpfSxrLnByb3RvdHlwZS5faW5pdEhpZ2hsaWdodGVycz1mdW5jdGlvbigpe3RoaXMuX2hpZ2hsaWdodGVycy5sYXN0PW5ldyBGKHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQsdGhpcy5fb3B0aW9ucy5ncm93aW5nQmcsdGhpcy5fb3B0aW9ucy5mYWxsaW5nQmcsdGhpcy5fb3B0aW9ucy5sYXN0R3Jvd2luZ0NsYXNzLHRoaXMuX29wdGlvbnMubGFzdEZhbGxpbmdDbGFzcyksdGhpcy5faGlnaGxpZ2h0ZXJzLmV4dEhyc0Nsb3NlPW5ldyBGKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpLHRoaXMuX2hpZ2hsaWdodGVycy5uaWdodENsb3NlPW5ldyBGKHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2xvc2UsdGhpcy5fb3B0aW9ucy5ncm93aW5nQmcsdGhpcy5fb3B0aW9ucy5mYWxsaW5nQmcsdGhpcy5fb3B0aW9ucy5sYXN0R3Jvd2luZ0NsYXNzLHRoaXMuX29wdGlvbnMubGFzdEZhbGxpbmdDbGFzcyl9LGsucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITEsdGhpcy5kaXNjb25uZWN0KCl9LGsucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMCx0aGlzLmNvbm5lY3QoKX0say5wcm90b3R5cGUuc2V0U3RhdGVIb29rPWZ1bmN0aW9uKGUpe251bGw9PT1lJiZ0aGlzLl9zZXRTdGF0ZUhvb2s/ZGVsZXRlIHRoaXMuX3NldFN0YXRlSG9vazoiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHRoaXMuX3NldFN0YXRlSG9vaz1lKX0say5wcm90b3R5cGUuX3NldENhY2hlPWZ1bmN0aW9uKGUsdCl7bnVsbD09dD9kZWxldGUgdGhpcy5fY2FjaGVbZV06dGhpcy5fY2FjaGVbZV09dH0say5wcm90b3R5cGUuX2dldENhY2hlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9jYWNoZSYmdGhpcy5fY2FjaGVbZV19LGsucHJvdG90eXBlLmdldE9wdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb3B0aW9uc307dmFyIEw9cyg5MTQ0ODcpLEg9cy5uKEwpLE89cyg5NzEwNzIpO2NvbnN0IE09KDAsby5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjaGlsZHJlbjpzLG9uQ2xpY2s6bixvbkNlbGxIb3ZlcjppLG9uQ2VsbExlYXZlOnIsY2xhc3NOYW1lOmEsY2xhc3NOYW1lQ29udGVudDpsfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInRkIix7cmVmOnQsY2xhc3NOYW1lOkgoKShPLmNvbnRhaW5lcixhKSxvbkNsaWNrOm4sb25Nb3VzZUVudGVyOmksb25Nb3VzZUxlYXZlOnJ9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpIKCkoTy5jb250ZW50LGwpfSxzfHwiLSIpKX0pKTtNLmRpc3BsYXlOYW1lPSJDcm9zc1RhYmxlQ2VsbCI7cyg1MDc1MCk7Y29uc3QgVj1be21pbnZhbHVlOjcsdHJlbmQ6InBvc2l0aXZlLXhsIn0se21pbnZhbHVlOjQsdHJlbmQ6InBvc2l0aXZlLWwifSx7bWludmFsdWU6Mi41LHRyZW5kOiJwb3NpdGl2ZS1tIn0se21pbnZhbHVlOi4xLHRyZW5kOiJwb3NpdGl2ZS1zIn0se21pbnZhbHVlOjAsdHJlbmQ6Im5ldXRyYWwifSx7bWludmFsdWU6LS4xLHRyZW5kOiJuZWdhdGl2ZS1zIn0se21pbnZhbHVlOi0xLjUsdHJlbmQ6Im5lZ2F0aXZlLW0ifSx7bWludmFsdWU6LTMuNSx0cmVuZDoibmVnYXRpdmUtbCJ9LHttaW52YWx1ZTotMS8wLHRyZW5kOiJuZWdhdGl2ZS14bCJ9XTt2YXIgaj1zKDIzMjk3Nyk7ZnVuY3Rpb24gUihlKXtjb25zdHtzaG9ydE5hbWU6dCxjdXN0b21QcmljZUZvcm1hdHRlcjpzLGlzVGlja2VyQWN0aXZlOm49ITAsb25DbGljazppLG9uQ2VsbEhvdmVyOnIsb25DZWxsTGVhdmU6YX09ZSxsPSgwLG8udXNlUmVmKShudWxsKSxjPSgwLG8udXNlUmVmKSghMSk7cmV0dXJuKDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKCFsLmN1cnJlbnQpcmV0dXJuO2lmKCFuKXJldHVybjtjb25zdCBlPWBGWF9JREM6JHt0fWAsbz1uZXcgayhlLGwuY3VycmVudCx7bGFzdEdyb3dpbmdDbGFzczpqLmdyb3dpbmcsbGFzdEZhbGxpbmdDbGFzczpqLmZhbGxpbmcscXVvdGVTZXNzaW9uOigwLEMuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSxjdXN0b21QcmljZUZvcm1hdHRlcjpzLG5vU3VjaFN5bWJvbEhvb2s6cz0+e3Muc3ltYm9sbmFtZT09PWU/KG8uZGlzY29ubmVjdCgpLG8uY29ubmVjdCh0KSk6bC5jdXJyZW50Py5jbGFzc0xpc3QuYWRkKGoubm9EYXRhLGZ1bmN0aW9uKGUsdD1WKXtjb25zdCBzPU51bWJlcihlKTtpZigiIj09PWV8fG51bGw9PT1lfHxpc05hTihzKSlyZXR1cm4idHYtY3Jvc3MtdGFibGUtLWVtcHR5Ijtjb25zdCBuPXQuZmluZCgoZT0+cz49TnVtYmVyKGUubWludmFsdWUpKSk7cmV0dXJuIG4/YHR2LWNyb3NzLXRhYmxlLS0ke24udHJlbmR9YDoidHYtY3Jvc3MtdGFibGUtLWVtcHR5In0odm9pZCAwKSl9LHNldFN0YXRlSG9vazp1fSk7cmV0dXJuKCk9Pm8uZGlzY29ubmVjdCgpfSksW10pLG8uY3JlYXRlRWxlbWVudChNLHsKb25DbGljazpmdW5jdGlvbigpe2MuY3VycmVudCYmaSh0KX0sb25DZWxsSG92ZXI6cixvbkNlbGxMZWF2ZTphLHJlZjpsLGNsYXNzTmFtZUNvbnRlbnQ6ImpzLXN5bWJvbC1sYXN0In0pO2Z1bmN0aW9uIHUoZSx0LHMpe3MmJiFjLmN1cnJlbnQmJihjLmN1cnJlbnQ9ITApfX1mdW5jdGlvbiBJKGUsdCxzKXtyZXR1cm4gbj0+by5jcmVhdGVFbGVtZW50KFIsey4uLm4saXNUaWNrZXJBY3RpdmU6dCxvbkNsaWNrOmUsY3VzdG9tUHJpY2VGb3JtYXR0ZXI6c30pfXZhciBBPXMoNzk0MTg3KSxxPXMoMTQwMDE3KTtzLm4ocSkoKS5oaWRkZW47ZnVuY3Rpb24gQihlKXtjb25zdCB0PSgwLEEuaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKSxbcyxuXT0oMCxvLnVzZVN0YXRlKSgwKSxpPSgwLG8udXNlUmVmKShudWxsKSxyPSgwLEEuZ2V0U3R5bGVDbGFzc2VzKShlLnNpemUscyxlLmNsYXNzTmFtZSksYT1lLmFsdD8/ZS50aXRsZT8/IiIsbD10P2FbMF06ZS5wbGFjZWhvbGRlckxldHRlcjtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT5uKGkuY3VycmVudD8uY29tcGxldGU/PyF0PzI6MSkpLFt0XSksdCYmMyE9PXM/by5jcmVhdGVFbGVtZW50KCJpbWciLHtyZWY6aSxjbGFzc05hbWU6cixjcm9zc09yaWdpbjoiIixzcmM6ZS5sb2dvVXJsLGFsdDphLHRpdGxlOmUudGl0bGUsbG9hZGluZzplLmxvYWRpbmcsb25Mb2FkOigpPT5uKDIpLG9uRXJyb3I6KCk9Pm4oMyksImFyaWEtbGFiZWwiOmVbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOmVbImFyaWEtaGlkZGVuIl19KTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cix0aXRsZTplLnRpdGxlLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSxsKX12YXIgJD1zKDQ1NzA3OSksVz1zKDI0MDU4Mik7ZnVuY3Rpb24gSyhlKXtjb25zdHtjdXJyZW5jeTp0LGxvZ29TaXplOnM9Inh4eHNtYWxsIn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJzcGFuIix7dGl0bGU6KDAsJC5nZXRDdXJyZW5jeU5hbWUpKHQpLGNsYXNzTmFtZTpgYXBwbHktY29tbW9uLXRvb2x0aXAgJHtXLmN1cnJlbmN5QmxvY2t9YH0sby5jcmVhdGVFbGVtZW50KEIse3NpemU6cyxsb2dvVXJsOigwLCQuZ2V0Q3VycmVuY3lGbGFnKSh0KX0pLHQpfWZ1bmN0aW9uIFUoZSl7Y29uc3R7VGFibGVEYXRhQ2VsbDp0LGN1cnJlbmNpZXM6cyxyb3dDdXJyZW5jeTpuLHJvd0NvdW50Omksb25DZWxsSG92ZXI6cixvbkNlbGxMZWF2ZTphLGxvZ29TaXplOmx9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgidHIiLG51bGwsby5jcmVhdGVFbGVtZW50KCJ0aCIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoSyx7Y3VycmVuY3k6c1tpXSxsb2dvU2l6ZTpsfSkpLHMubWFwKCgoZSxzKT0+e2NvbnN0IGk9bitlLGw9cysxLGM9KCk9PnImJnIobCksdT0oKT0+YSYmYShsKTtyZXR1cm4gZT09PW4/by5jcmVhdGVFbGVtZW50KCJ0ZCIse2tleTppLG9uTW91c2VFbnRlcjpjLG9uTW91c2VMZWF2ZTp1fSk6by5jcmVhdGVFbGVtZW50KHQse2tleTppLHNob3J0TmFtZTppLG9uQ2xpY2s6KCk9Pnt9LG9uQ2VsbEhvdmVyOmMsb25DZWxsTGVhdmU6dX0pfSkpKX12YXIgej1zKDYxNjMxMSk7dmFyIEcsUT1zKDIzMjM2NCk7IWZ1bmN0aW9uKGUpe2UuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oR3x8KEc9e30pKTtjb25zdCBaPW5ldyBRLldhdGNoZWRWYWx1ZTtmdW5jdGlvbiBYKCl7cmV0dXJuKChlLHQ9ITEscz1bXSk9Pntjb25zdCBuPSJ3YXRjaGVkVmFsdWUiaW4gZT9lLndhdGNoZWRWYWx1ZTp2b2lkIDAsaT0iZGVmYXVsdFZhbHVlImluIGU/ZS5kZWZhdWx0VmFsdWU6ZS53YXRjaGVkVmFsdWUudmFsdWUoKSxbcixhXT0oMCxvLnVzZVN0YXRlKShuP24udmFsdWUoKTppKTtyZXR1cm4odD96LnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6by51c2VFZmZlY3QpKCgoKT0+e2lmKG4pe2Eobi52YWx1ZSgpKTtjb25zdCBlPWU9PmEoZSk7cmV0dXJuIG4uc3Vic2NyaWJlKGUpLCgpPT5uLnVuc3Vic2NyaWJlKGUpfXJldHVybigpPT57fX0pLFtuLC4uLnNdKSxyfSkoe3dhdGNoZWRWYWx1ZTpafSl9Wi5zdWJzY3JpYmUoKGU9PnshZnVuY3Rpb24oZSx0PXdpbmRvdyl7Y29uc3Qgcz0idGhlbWUtIitlLG49dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20obikpZS5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmZSE9PXMmJm4ucmVtb3ZlKGUpO24uYWRkKHMpLHQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9ZX0oZSx3aW5kb3cpfSkpO3ZhciBKPXMoNDg5OTA4KTtjb25zdCBZPSgwLG8uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Ym9keVJvd3M6cyxoZWFkZXJDZWxsczpuLGVtcHR5SGVhZGVyQ2VsbDppLGlzV2lkZ2V0OnIsZm9yY2VEZWZhdWx0Q29sb3JzOmF9PWUsW2wsY109KDAsby51c2VTdGF0ZSkoITEpLHU9WCgpO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9PntjKCEwKTtjb25zdCBlPXNldFRpbWVvdXQoKCgpPT5jKCExKSksNTApO3JldHVybigpPT57Y2xlYXJUaW1lb3V0KGUpfX0pLFt1XSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6SCgpKEouY29udGFpbmVyLHImJkoud2lkZ2V0LGEmJkpbImZvcmNlLWRlZmF1bHQtY29sb3JzIl0pfSxvLmNyZWF0ZUVsZW1lbnQoInRhYmxlIix7Y2xhc3NOYW1lOkgoKShKLnRhYmxlLGwmJkoucHJldmVudEFuaW1hdGlvbikscmVmOnR9LG8uY3JlYXRlRWxlbWVudCgidGJvZHkiLHtjbGFzc05hbWU6Si50YWJsZUJvZHlSb3d9LG8uY3JlYXRlRWxlbWVudCgidHIiLG51bGwsby5jcmVhdGVFbGVtZW50KCJ0aCIse2NsYXNzTmFtZTpKLnRhYmxlSGVhZGVyQ2VsbH0saSksLi4ubiksLi4ucykpKX0pKTtmdW5jdGlvbiBlZShlKXtjb25zdHtzZXR0aW5nczp0LGN1c3RvbVByaWNlRm9ybWF0dGVyOnMsYXJlVGlja2Vyc0FjdGl2ZTpuPSEwLGxvZ29TaXplOmksaXNXaWRnZXQ6bD0hMX09ZSxjPSgwLApvLnVzZVJlZikobnVsbCkse29uQ2VsbEhvdmVyOnUsb25DZWxsTGVhdmU6aH09ZnVuY3Rpb24oZSx0PSJ0YWJsZUhlYWRlckNlbGxIb3ZlciIpe3JldHVybntvbkNlbGxIb3ZlcjpmdW5jdGlvbihlKXtzKGUsITApfSxvbkNlbGxMZWF2ZTpmdW5jdGlvbihlKXtzKGUsITEpfX07ZnVuY3Rpb24gcyhzLG4pe2UuY3VycmVudD8ucm93c1swXT8uY2hpbGRyZW5bc10uY2xhc3NMaXN0LnRvZ2dsZSh0LG4pfX0oYyksbT0ibGlnaHQiPT09dC5jb2xvclRoZW1lPyIjZmZmZmYiOiIjMDAwMDAwIixkPUJvb2xlYW4odC5iYWNrZ3JvdW5kQ29sb3ImJiEwIT09dC5pc1RyYW5zcGFyZW50JiZ0LmJhY2tncm91bmRDb2xvci50b0xvd2VyQ2FzZSgpPT09bSksZj1bXSxwPVtdO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9PntjLmN1cnJlbnQmJmwmJih0LmJhY2tncm91bmRDb2xvcj90LmJhY2tncm91bmRDb2xvciYmYy5jdXJyZW50LnN0eWxlLnNldFByb3BlcnR5KCItLXdpZGdldC1iZy1jb2xvciIsdC5iYWNrZ3JvdW5kQ29sb3IpOmMuY3VycmVudC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS13aWRnZXQtYmctY29sb3IiLCJsaWdodCI9PT10LmNvbG9yVGhlbWU/IiNmZmYiOiIjMDAwIiksYy5jdXJyZW50LnN0eWxlLnNldFByb3BlcnR5KCItLWNyb3NzLXRhYmxlLWhlYWRlci1wb3NpdGlvbiIsInJlbGF0aXZlIikpfSksW2NdKSx0LmN1cnJlbmNpZXMuZm9yRWFjaCgoKGUscik9PntmLnB1c2goby5jcmVhdGVFbGVtZW50KCJ0aCIse2tleTplfSxvLmNyZWF0ZUVsZW1lbnQoSyx7Y3VycmVuY3k6ZSxsb2dvU2l6ZTppfSkpKSxwLnB1c2goby5jcmVhdGVFbGVtZW50KFUse2tleTplLGxvZ29TaXplOmksY3VycmVuY2llczp0LmN1cnJlbmNpZXMscm93Q3VycmVuY3k6ZSxyb3dDb3VudDpyLG9uQ2VsbEhvdmVyOnUsb25DZWxsTGVhdmU6aCxUYWJsZURhdGFDZWxsOkkoXyxuLHMpfSkpfSkpLG8uY3JlYXRlRWxlbWVudChZLHtoZWFkZXJDZWxsczpmLGJvZHlSb3dzOnAscmVmOmMsaXNXaWRnZXQ6bCxmb3JjZURlZmF1bHRDb2xvcnM6ZH0pO2Z1bmN0aW9uIF8oZSl7aWYodC5vbkNyb3NzQ2xpY2smJnQub25Dcm9zc0NsaWNrKGUpLCF0LmRpc2FibGVDcm9zc0NsaWNrSHJlZil7Y29uc3Qgcz1mdW5jdGlvbihlLHQpe2NvbnN0IHM9dC5sYXJnZUNoYXJ0VXJsPygwLGEubWFrZVRlbXBsYXRlU3ltYm9sVXJsKSh0LmxhcmdlQ2hhcnRVcmwsZSk6KDAsYS5tYWtlU3ltYm9sUGFnZVVybCkoZSwoMCxyLmZpbHRlclV0bUluZm8pKHQpKTtyZXR1cm5gJHtzfT9leGNoYW5nZT1GWF9JRENgfSh7c2hvcnROYW1lOmV9LHQpLG49d2luZG93Lm9wZW4ocywiX2JsYW5rIik7biYmKG4ub3BlbmVyPW51bGwpfX19WS5kaXNwbGF5TmFtZT0iQ3Jvc3NUYWJsZSI7dmFyIHRlPXMoMjQxOTM3KSxzZT1zKDczMjExOCksbmU9cygyMzQzMSksb2U9cyg5MDIxMDApLGllPXMoNDAzMzcwKSxyZT1zKDkzMTE5OCk7cygzNjkwMDMpO2NvbnN0IGFlPSgwLG9lLmV4dHJhY3RXaWRnZXRTZXR0aW5ncykod2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzKSxsZT0oMCxyLmZpbHRlclV0bUluZm8pKGFlKSxjZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjd2lkZ2V0LWZvcmV4LWNyb3NzLXJhdGVzLWNvbnRhaW5lciIpLHVlPSgwLG4uY3JlYXRlRW1iZWRXaWRnZXRXcmFwcGVyKShjZSwiZm9yZXgtY3Jvc3MtcmF0ZXMiLGxlLHtsb2NhbGU6YWUubG9jYWxlfHwiZW4iLGlzV2hpdGVMYWJlbDohIWFlLndoaXRlbGFiZWwsc2hvd0JvcmRlck9uVHJhbnNwYXJlbnQ6ITB9KSxoZT1hZS5mcmFtZUVsZW1lbnRJZDthZS5iYXNlVXJsPSgwLHRlLmRldGVybWluZUJhc2VVcmwpKHdpbmRvdy5sb2NhbGVfZG9tYWlucyxhZS5sb2NhbGUpLGFlLm9uQ3Jvc3NDbGljaz1lPT57aWYoIWFlLmRpc2FibGVDcm9zc0NsaWNrSHJlZil7Y29uc3QgdD0oMCxpZS5tYWtlV2lkZ2V0U3ltYm9sTGluaykoe3N5bWJvbDplLGN1c3RvbVVybDphZS5sYXJnZUNoYXJ0VXJsLHV0bUluZm86bGV9KTsoMCxyZS5zZW5kV2lkZ2V0VHJhY2tEYXRhKSh0LG51bGwpfSgwLHNlLmRpc3BhdGNoRXZlbnRUb1BhcmVudCkobmUuSUZyYW1lRXZlbnRzLk5hbWVzLlN5bWJvbENsaWNrLGhlLHtzeW1ib2w6ZX0pfSxmdW5jdGlvbihlLHQscyl7aS5yZW5kZXIoby5jcmVhdGVFbGVtZW50KGVlLHtzZXR0aW5nczp0LGN1c3RvbVByaWNlRm9ybWF0dGVyOnMsaXNXaWRnZXQ6ITB9KSxlKX0odWUsYWUsdm9pZCAwKSwoMCxzZS5kaXNwYXRjaEV2ZW50VG9QYXJlbnQpKG5lLklGcmFtZUV2ZW50cy5OYW1lcy5XaWRnZXRMb2FkLGhlLHZvaWQgMCl9LDk2OTE2OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc1J0bDooKT0+bi5pc1J0bH0pO3MoNjEwMjY4KTt2YXIgbj1zKDExNTI5Myl9fSxlPT57ZS5PKDAsWzU4NjY3LDM5MTQ3LDQ2OTA3LDQzMzI1LDM5MDUsMTU5MzIsNTE1MDgsODQwOCw4MTgwOSwzMjM4NywxMzE0OCw0OTI2NSw4MDcwNiw2NTg2Miw1MTAzMSw5NDcwOCwzNTUyLDgwNTk0LDc5MjA3LDIwMDYxLDE2MDY3XSwoKCk9PntyZXR1cm4gdD02NDQ0OTksZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/US.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.472Z","timestamp":1785124600472,"http_version":"HTTP/2","security_state":"secure","security_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 /country/US.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 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: \"2b343664b411ee3b87b4a37c15f4dfb9\"\r\nlast-modified: Fri, 25 Apr 2025 20:10:41 GMT\r\ncdn-cachedat: 08/14/2025 09:10:06\r\nx-amz-id-2: nFuFH78hWf/RuyE6sOEP+F9L63kS25o7rnmt39r9N6/xkz0Scv+C4OtWSoMFsuyMhB00in1nZsX8Sh51IXRPU3FuDp9hOipkZvRpvtL7hQk=\r\nx-amz-request-id: GMKTFDY2GEW3BMHT\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 2b343664b411ee3b87b4a37c15f4dfb9\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: 13c74dbaaecdc494c0c43c01d62f749a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":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":2910,"size_decoded":1337,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (2910), with no line terminators","md5":"2b343664b411ee3b87b4a37c15f4dfb9","sha1":"0bbfacaf518424005de9debac0618b2d385f73eb","sha256":"71bfd6b1db0f03e8ad00d7951a2ec80d684450490bae344b9a0e33141e9264b0","sha512":"9f919e0006556b02b85110cffca18cf69613d63530fd055b4e2a2c27166c8e27401d7aca3482e568802eab205eefc5f98b6ae545c1dc476fb41a9b614ab0825c","ssdeep":"","tlshash":"97518f2a941d951c2846e60dc77f8882738e2d0771a5a2d81dfcf3a4e20f7e5fb47880","first_seen":"2025-04-26T10:53:44.17511Z","last_seen":"2026-08-04T06:18:03.258623Z","times_seen":5988,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiMxRTg4RTkiIGQ9Ik0wIDBIMTFWMTFIMHoiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPjxwYXRoIGZpbGw9IiNFRjUzNTAiIGQ9Ik0xMSAwdjRIMTh2LTR6TTExIDd2NEgxOHYtNHpNMCAxNHY0SDE4di00eiIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIi8+PHBhdGggZmlsbD0iI0Y4RjlGRCIgZD0iTTExIDR2M0gxOHYtM3pNMCAxMXYzSDE4di0zeiIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIi8+PHBhdGggZmlsbD0iI0Y4RjlGRCIgZD0iTTIuNDIgMS4yMmEuMDkuMDkgMCAwIDEgLjE2IDBsLjI3LjcxYy4wMS4wNC4wNS4wNi4wOC4wNmwuNzYuMDRjLjA4IDAgLjExLjEuMDUuMTZsLS42LjQ3YS4wOS4wOSAwIDAgMC0uMDIuMWwuMi43MmEuMDkuMDkgMCAwIDEtLjE0LjFsLS42My0uNDFhLjA5LjA5IDAgMCAwLS4xIDBsLS42My40MWEuMDkuMDkgMCAwIDEtLjE0LS4xbC4yLS43M2EuMDkuMDkgMCAwIDAtLjAzLS4xbC0uNTktLjQ2YS4wOS4wOSAwIDAgMSAuMDUtLjE2bC43Ni0uMDRjLjAzIDAgLjA3LS4wMi4wOC0uMDZsLjI3LS43ek0yLjQyIDQuMjJhLjA5LjA5IDAgMCAxIC4xNiAwbC4yNy43MWMuMDEuMDQuMDUuMDYuMDguMDZsLjc2LjA0Yy4wOCAwIC4xMS4xLjA1LjE2bC0uNi40N2EuMDkuMDkgMCAwIDAtLjAyLjFsLjIuNzJhLjA5LjA5IDAgMCAxLS4xNC4xbC0uNjMtLjQxYS4wOS4wOSAwIDAgMC0uMSAwbC0uNjMuNDFhLjA5LjA5IDAgMCAxLS4xNC0uMWwuMi0uNzNhLjA5LjA5IDAgMCAwLS4wMy0uMWwtLjU5LS40NmEuMDkuMDkgMCAwIDEgLjA1LS4xNmwuNzYtLjA0Yy4wMyAwIC4wNy0uMDIuMDgtLjA2bC4yNy0uN3pNMi40MiA3LjIyYS4wOS4wOSAwIDAgMSAuMTYgMGwuMjcuNzFjLjAxLjA0LjA1LjA2LjA4LjA2bC43Ni4wNGMuMDggMCAuMTEuMS4wNS4xNmwtLjYuNDdhLjA5LjA5IDAgMCAwLS4wMi4xbC4yLjcyYS4wOS4wOSAwIDAgMS0uMTQuMWwtLjYzLS40MWEuMDkuMDkgMCAwIDAtLjEgMGwtLjYzLjQxYS4wOS4wOSAwIDAgMS0uMTQtLjFsLjItLjczYS4wOS4wOSAwIDAgMC0uMDMtLjFsLS41OS0uNDZhLjA5LjA5IDAgMCAxIC4wNS0uMTZsLjc2LS4wNGMuMDMgMCAuMDctLjAyLjA4LS4wNmwuMjctLjd6TTUuNDIgMS4yMmEuMDkuMDkgMCAwIDEgLjE2IDBsLjI3LjcxYy4wMS4wNC4wNS4wNi4wOC4wNmwuNzYuMDRjLjA4IDAgLjExLjEuMDUuMTZsLS42LjQ3YS4wOS4wOSAwIDAgMC0uMDIuMWwuMi43MmEuMDkuMDkgMCAwIDEtLjE0LjFsLS42My0uNDFhLjA5LjA5IDAgMCAwLS4xIDBsLS42My40MWEuMDkuMDkgMCAwIDEtLjE0LS4xbC4yLS43M2EuMDkuMDkgMCAwIDAtLjAzLS4xbC0uNTktLjQ2YS4wOS4wOSAwIDAgMSAuMDUtLjE2bC43Ni0uMDRjLjAzIDAgLjA3LS4wMi4wOC0uMDZsLjI3LS43ek01LjQyIDQuMjJhLjA5LjA5IDAgMCAxIC4xNiAwbC4yNy43MWMuMDEuMDQuMDUuMDYuMDguMDZsLjc2LjA0Yy4wOCAwIC4xMS4xLjA1LjE2bC0uNi40N2EuMDkuMDkgMCAwIDAtLjAyLjFsLjIuNzJhLjA5LjA5IDAgMCAxLS4xNC4xbC0uNjMtLjQxYS4wOS4wOSAwIDAgMC0uMSAwbC0uNjMuNDFhLjA5LjA5IDAgMCAxLS4xNC0uMWwuMi0uNzNhLjA5LjA5IDAgMCAwLS4wMy0uMWwtLjU5LS40NmEuMDkuMDkgMCAwIDEgLjA1LS4xNmwuNzYtLjA0Yy4wMyAwIC4wNy0uMDIuMDgtLjA2bC4yNy0uN3pNNS40MiA3LjIyYS4wOS4wOSAwIDAgMSAuMTYgMGwuMjcuNzFjLjAxLjA0LjA1LjA2LjA4LjA2bC43Ni4wNGMuMDggMCAuMTEuMS4wNS4xNmwtLjYuNDdhLjA5LjA5IDAgMCAwLS4wMi4xbC4yLjcyYS4wOS4wOSAwIDAgMS0uMTQuMWwtLjYzLS40MWEuMDkuMDkgMCAwIDAtLjEgMGwtLjYzLjQxYS4wOS4wOSAwIDAgMS0uMTQtLjFsLjItLjczYS4wOS4wOSAwIDAgMC0uMDMtLjFsLS41OS0uNDZhLjA5LjA5IDAgMCAxIC4wNS0uMTZsLjc2LS4wNGMuMDMgMCAuMDctLjAyLjA4LS4wNmwuMjctLjd6TTguNDIgMS4yMmEuMDkuMDkgMCAwIDEgLjE2IDBsLjI3LjcxYy4wMS4wNC4wNS4wNi4wOC4wNmwuNzYuMDRjLjA4IDAgLjExLjEuMDUuMTZsLS42LjQ3YS4wOS4wOSAwIDAgMC0uMDIuMWwuMi43MmEuMDkuMDkgMCAwIDEtLjE0LjFsLS42My0uNDFhLjA5LjA5IDAgMCAwLS4xIDBsLS42My40MWEuMDkuMDkgMCAwIDEtLjE0LS4xbC4yLS43M2EuMDkuMDkgMCAwIDAtLjAzLS4xbC0uNTktLjQ2YS4wOS4wOSAwIDAgMSAuMDUtLjE2bC43Ni0uMDRjLjAzIDAgLjA3LS4wMi4wOC0uMDZsLjI3LS43ek04LjQyIDQuMjJhLjA5LjA5IDAgMCAxIC4xNiAwbC4yNy43MWMuMDEuMDQuMDUuMDYuMDguMDZsLjc2LjA0Yy4wOCAwIC4xMS4xLjA1LjE2bC0uNi40N2EuMDkuMDkgMCAwIDAtLjAyLjFsLjIuNzJhLjA5LjA5IDAgMCAxLS4xNC4xbC0uNjMtLjQxYS4wOS4wOSAwIDAgMC0uMSAwbC0uNjMuNDFhLjA5LjA5IDAgMCAxLS4xNC0uMWwuMi0uNzNhLjA5LjA5IDAgMCAwLS4wMy0uMWwtLjU5LS40NmEuMDkuMDkgMCAwIDEgLjA1LS4xNmwuNzYtLjA0Yy4wMyAwIC4wNy0uMDIuMDgtLjA2bC4yNy0uN3pNOC40MiA3LjIyYS4wOS4wOSAwIDAgMSAuMTYgMGwuMjcuNzFjLjAxLjA0LjA1LjA2LjA4LjA2bC43Ni4wNGMuMDggMCAuMTEuMS4wNS4xNmwtLjYuNDdhLjA5LjA5IDAgMCAwLS4wMi4xbC4yLjcyYS4wOS4wOSAwIDAgMS0uMTQuMWwtLjYzLS40MWEuMDkuMDkgMCAwIDAtLjEgMGwtLjYzLjQxYS4wOS4wOSAwIDAgMS0uMTQtLjFsLjItLjczYS4wOS4wOSAwIDAgMC0uMDMtLjFsLS41OS0uNDZhLjA5LjA5IDAgMCAxIC4wNS0uMTZsLjc2LS4wNGMuMDMgMCAuMDctLjAyLjA4LS4wNmwuMjctLjd6Ii8+PC9zdmc+"}},"time_used":149,"timings":{"blocked":-1,"dns":62,"connect":43,"send":0,"wait":4,"receive":-1,"ssl":25},"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%2Fastroxcinvest.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.453Z","timestamp":1785124600453,"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%2Fastroxcinvest.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 03:56:40 GMT\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 3c74306cc732cac2927cc4e3489e1e72.cloudfront.net (CloudFront)\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\naccess-control-max-age: 86400\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncross-origin-resource-policy: same-site\r\nvary: Origin\r\nx-cache: Miss from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: ZNqEDo4GOz7OtLt97xkZFdTDQtWu0LRoy3cK1JHJ2-_ipGBm63R7CQ==\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-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":""}},"time_used":207,"timings":{"blocked":-1,"dns":16,"connect":19,"send":0,"wait":171,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.960Z","timestamp":1785124599960,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1\r\nHost: cdnjs.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\ncontent-type: application/octet-stream; charset=utf-8\r\ncontent-length: 77160\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\nlast-modified: Mon, 04 May 2020 16:10:07 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=pUpg%2B43He21J6WgxheW6NT%2F2VJI8kx7QSHrAqlmfOUOIN%2FT6a3XIN7mqJNejutqF1vpygk4BcHBM%2BRJlJxfLZ%2FUH2nl3UoHrk%2B1%2FtyUMnQg4qP8js1Odray9JlO0ZjqHLey5rGRs\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=5,i=?0\r\nserver: cloudflare\r\ncf-ray: a218b72dc8060731-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":77160,"size_decoded":78153,"mime_type":"application/octet-stream; charset=utf-8","magic":"Web Open Font Format (Version 2), TrueType, length 77160, version 4.459","md5":"af7ae505a9eed503f8b8e6982036873e","sha1":"d6f48cba7d076fb6f2fd6ba993a75b9dc1ecbf0c","sha256":"2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe","sha512":"838fefdbc14901f41edf995a78fdac55764cd4912ccb734b8bea4909194582904d8f2afdf2b6c428667912ce4d65681a1044d045d1bc6de2b14113f0315fc892","ssdeep":"1536:/MkbAPfd1vyBKwHz4kco36ZvIaBfRPlajyXUA2jVTc:L0nXnHdfRVEAS2","tlshash":"7d7302e63b6c4943e03d6460708abe9f104b3ab42fe057e5c876db7f2722992b71552c","first_seen":"2023-04-05T03:30:47Z","last_seen":"2026-08-04T07:31:52.101932Z","times_seen":526939,"resource_available":false,"data":"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"}},"time_used":47,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":42,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps/api/js?callback=__gmap3","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.115.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.979Z","timestamp":1785124599979,"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 /maps/api/js?callback=__gmap3 HTTP/1.1\r\nHost: maps.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://astroxcinvest.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\netag: 449f5b94\r\ncontent-type: text/javascript; charset=UTF-8\r\ntiming-allow-origin: *\r\nvary: Accept-Language, Origin, X-Origin, Referer\r\ncache-control: public, max-age=1800, stale-while-revalidate=12600\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 03:56:41 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 102582\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nserver-timing: gfet4t7; dur=26\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":311598,"size_decoded":103157,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (12415)","md5":"9d6b8d637a2478aab85c77154dc8834e","sha1":"9f61c05d7f03630ffb910c9192b2a809929a3a06","sha256":"6ded4b04c34ccc92fd7bc8c274b92259ab28881642580eddfff0a4a7c94cf4a3","sha512":"19f54fc16989c4d38c8f2fae5dda97cf044ec1a039d47ff9d393ef34fb8b329224abab8a5324741eb930d19fd20f03f6729c4679a49908ae0ab7f000c11fb637","ssdeep":"3072:W1zHovwhh+hNI8cMS9xlgb7HBrT+kQqbdhfDnT8tSsZ95urOHLNeM6NGPbQ7RpYc:8zuHI8cMGcbBrykCh5ucLNbLPMRWc","tlshash":"78643d947362746287b2e4b4502b0007f17ea45af00c89acf69cddf2aef994945b7f74","first_seen":"2026-07-27T03:16:24.600772Z","last_seen":"2026-07-27T10:38:15.832184Z","times_seen":40,"resource_available":true,"data":"Cgp3aW5kb3cuZ29vZ2xlID0gd2luZG93Lmdvb2dsZSB8fCB7fTsKZ29vZ2xlLm1hcHMgPSBnb29nbGUubWFwcyB8fCB7fTsKKGZ1bmN0aW9uKCkgewogIAogIHZhciBtb2R1bGVzID0gZ29vZ2xlLm1hcHMubW9kdWxlcyA9IHt9OwogIGdvb2dsZS5tYXBzLl9fZ2pzbG9hZF9fID0gZnVuY3Rpb24obmFtZSwgdGV4dCkgewogICAgbW9kdWxlc1tuYW1lXSA9IHRleHQ7CiAgfTsKICAKICBnb29nbGUubWFwcy5Mb2FkID0gZnVuY3Rpb24oYXBpTG9hZCkgewogICAgZGVsZXRlIGdvb2dsZS5tYXBzLkxvYWQ7CiAgICBhcGlMb2FkKFswLjAwOTk5OTk5OTc3NjQ4MjU4MixbbnVsbCxbWyJodHRwczovL2tobXMwLmdvb2dsZWFwaXMuY29tL2toP3Y9MTAxMlx1MDAyNmhsPWVuLVVTXHUwMDI2Z2w9VVNcdTAwMjYiLCJodHRwczovL2tobXMxLmdvb2dsZWFwaXMuY29tL2toP3Y9MTAxMlx1MDAyNmhsPWVuLVVTXHUwMDI2Z2w9VVNcdTAwMjYiXSxudWxsLG51bGwsbnVsbCwxLCIxMDEyIixbImh0dHBzOi8va2htczAuZ29vZ2xlLmNvbS9raD92PTEwMTJcdTAwMjZobD1lbi1VU1x1MDAyNmdsPVVTXHUwMDI2IiwiaHR0cHM6Ly9raG1zMS5nb29nbGUuY29tL2toP3Y9MTAxMlx1MDAyNmhsPWVuLVVTXHUwMDI2Z2w9VVNcdTAwMjYiXV0sbnVsbCxudWxsLG51bGwsbnVsbCxbWyJodHRwczovL2Nia3MwLmdvb2dsZWFwaXMuY29tL2Niaz8iLCJodHRwczovL2Nia3MxLmdvb2dsZWFwaXMuY29tL2Niaz8iXV0sW1siaHR0cHM6Ly9raG1zMC5nb29nbGVhcGlzLmNvbS9raD92PTE2OVx1MDAyNmhsPWVuLVVTXHUwMDI2Z2w9VVNcdTAwMjYiLCJodHRwczovL2tobXMxLmdvb2dsZWFwaXMuY29tL2toP3Y9MTY5XHUwMDI2aGw9ZW4tVVNcdTAwMjZnbD1VU1x1MDAyNiJdLG51bGwsbnVsbCxudWxsLG51bGwsIjE2OSIsWyJodHRwczovL2tobXMwLmdvb2dsZS5jb20va2g/dj0xNjlcdTAwMjZobD1lbi1VU1x1MDAyNmdsPVVTXHUwMDI2IiwiaHR0cHM6Ly9raG1zMS5nb29nbGUuY29tL2toP3Y9MTY5XHUwMDI2aGw9ZW4tVVNcdTAwMjZnbD1VU1x1MDAyNiJdXSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFtbImh0dHBzOi8vc3RyZWV0dmlld3BpeGVscy1wYS5nb29nbGVhcGlzLmNvbS92MS90aHVtYm5haWw/aGw9ZW4tVVNcdTAwMjZnbD1VU1x1MDAyNiIsImh0dHBzOi8vc3RyZWV0dmlld3BpeGVscy1wYS5nb29nbGVhcGlzLmNvbS92MS90aHVtYm5haWw/aGw9ZW4tVVNcdTAwMjZnbD1VU1x1MDAyNiJdXV0sWyJlbi1VUyIsIlVTIixudWxsLDAsbnVsbCxudWxsLCJodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwZmlsZXMvIixudWxsLCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20iLCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20iLG51bGwsImh0dHBzOi8vbWFwcy5nb29nbGUuY29tIixudWxsLCJodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwcy1hcGktdjMvYXBpL2ltYWdlcy8iLCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMiLG51bGwsImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20iLDEsImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzX2FwaV9qc19zbG8vbG9nP2hhc2Zhc3Q9dHJ1ZSIsMCwxXSxbImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzLWFwaS12My9hcGkvanMvNjUvMTBhIiwiMy42NS4xMGEiXSxbMjk5MDUwNTcwMl0sbnVsbCxudWxsLG51bGwsWzExMl0sbnVsbCxudWxsLCJfX2dtYXAzIixudWxsLG51bGwsMSwiaHR0cHM6Ly9raG1zLmdvb2dsZWFwaXMuY29tL216P3Y9MTAxMlx1MDAyNiIsbnVsbCwiaHR0cHM6Ly9lYXJ0aGJ1aWxkZXIuZ29vZ2xlYXBpcy5jb20iLCJodHRwczovL2VhcnRoYnVpbGRlci5nb29nbGVhcGlzLmNvbSIsbnVsbCwiaHR0cHM6Ly9tdHMuZ29vZ2xlYXBpcy5jb20vbWFwcy92dC9pY29uIixbWyJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy92dCJdLFsiaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvdnQiXSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL3Z0Il0sIi9tYXBzL3Z0Iiw3ODcwMDAwMDAsNzg3LDc4NzU1MzcxMV0sMiw1MDAsW251bGwsbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9wcmV2aWV3L2xvZzIwNCIsIiIsImh0dHBzOi8vc3RhdGljLnBhbm9yYW1pby5jb20uc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9waG90b3MvIixbImh0dHBzOi8vZ2VvMC5nZ3BodC5jb20vY2JrIiwiaHR0cHM6Ly9nZW8xLmdncGh0LmNvbS9jYmsiLCJodHRwczovL2dlbzIuZ2dwaHQuY29tL2NiayIsImh0dHBzOi8vZ2VvMy5nZ3BodC5jb20vY2JrIl0sImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9qcy9HZW9QaG90b1NlcnZpY2UuR2V0TWV0YWRhdGEiLCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanMvR2VvUGhvdG9TZXJ2aWNlLlNpbmdsZUltYWdlU2VhcmNoIixbImh0dHBzOi8vbGgzLmdncGh0LmNvbS9qc2FwaTIvYS9iL2MvIiwiaHR0cHM6Ly9saDQuZ2dwaHQuY29tL2pzYXBpMi9hL2IvYy8iLCJodHRwczovL2xoNS5nZ3BodC5jb20vanNhcGkyL2EvYi9jLyIsImh0dHBzOi8vbGg2LmdncGh0LmNvbS9qc2FwaTIvYS9iL2MvIl0sImh0dHBzOi8vc3RyZWV0dmlld3BpeGVscy1wYS5nb29nbGVhcGlzLmNvbS92MS90aWxlIixbImh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS8iLCJodHRwczovL2xoNC5nb29nbGV1c2VyY29udGVudC5jb20vIiwiaHR0cHM6Ly9saDUuZ29vZ2xldXNlcmNvbnRlbnQuY29tLyIsImh0dHBzOi8vbGg2Lmdvb2dsZXVzZXJjb250ZW50LmNvbS8iXV0sbnVsbCxudWxsLG51bGwsbnVsbCwiL21hcHMvYXBpL2pzL0FwcGxpY2F0aW9uU2VydmljZS5HZXRFbnRpdHlEZXRhaWxzIiwwLG51bGwsbnVsbCxudWxsLG51bGwsW10sWyI2NS4xMGEiXSwyLDAsWzIsImh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L2Vycm9yLW1lc3NhZ2VzP3V0bV9zb3VyY2U9bWFwc19qc1x1MDAyNnV0bV9tZWRpdW09ZGVncmFkZWRcdTAwMjZ1dG1fY2FtcGFpZ249a2V5bGVzcyNhcGkta2V5LWFuZC1iaWxsaW5nLWVycm9ycyJdLCJDZ0FTbGpjSWt3WVNmQWdCRW5ob2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVkp2WVdSdFlYQlRZWFJsYkd4cGRHVXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NmQWdDRW5ob2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVkp2WVdSdFlYQlRZWFJsYkd4cGRHVXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NmQWdERW5ob2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVkp2WVdSdFlYQlRZWFJsYkd4cGRHVXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NkZ2dFRW5Kb2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVTVoZG1sbllYUnBiMjR0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZmdnRkVucG9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFU1aGRtbG5ZWFJwYjI1TWIzZE1hV2RvZEMxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JKL0NBWVNlMmgwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFRtRjJhV2RoZEdsdmJsTmhkR1ZzYkdsMFpTMUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSnpDQWNTYjJoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RVbTloWkcxaGNDMUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSnpDQWdTYjJoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RVbTloWkcxaGNDMUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSjlDQWtTZVdoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RVbTloWkcxaGNFRnRZbWxoWTNScGRtVXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1Njd2dLRW05b2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVkp2WVdSdFlYQXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NmQWdMRW5ob2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVkp2WVdSdFlYQlRZWFJsYkd4cGRHVXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1Njd2dNRW05b2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVlJsY25KaGFXNHRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NkZ2dORW5Kb2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVTVoZG1sbllYUnBiMjR0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZGdnT0VuSm9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFU1aGRtbG5ZWFJwYjI0dFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2ZRZ1BFbmxvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhCQmJXSnBZV04wYVhabExVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVvTUJDQkFTZjJoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RVbTloWkcxaGNFRnRZbWxoWTNScGRtVk1iM2RDYVhRdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2ZnZ1JFbnBvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxVNWhkbWxuWVhScGIyNU1iM2RNYVdkb2RDMUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSjZDQklTZG1oMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RWSEpoYm5OcGRFWnZZM1Z6WldRdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2N3Z1RFbTlvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhBdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2VRZ1VFblZvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZkWFJsVDNabGNuWnBaWGN0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTY3dnVkVtOW9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFZKdllXUnRZWEF0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZlFnV0VubG9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFU1aGRtbG5ZWFJwYjI1QmJXSnBaVzUwTFVabGRHTm9ZV0pzWlZOMGVXeGxVMlYwVTJSckxUaGlOV0l6WmpNeE9Ea3dNRFl4TXpsbE9UQmxOakF3WWpNd056VmtOVEE1RW9FQkNCY1NmV2gwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFRtRjJhV2RoZEdsdmJrRnRZbWxsYm5SRVlYSnJMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFb01CQ0JrU2YyaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0UW1GelpXMWhjRVZrYVhScGJtZFRZWFJsYkd4cGRHVXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1Njd2dhRW05b2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVkp2WVdSdFlYQXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1Nkd2diRW5Ob2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVkp2WVdSdFlYQkVZWEpyTFVabGRHTm9ZV0pzWlZOMGVXeGxVMlYwVTJSckxUaGlOV0l6WmpNeE9Ea3dNRFl4TXpsbE9UQmxOakF3WWpNd056VmtOVEE1RW4wSUhCSjVhSFIwY0hNNkx5OTNkM2N1WjNOMFlYUnBZeTVqYjIwdmJXRndjeTl5WlhNdlEyOXRjR0ZqZEV4bFoyVnVaRk5rYXkxU2IzVjBaVTkyWlhKMmFXVjNSR0Z5YXkxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JKM0NCMFNjMmgwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFZHVnljbUZwYmtSaGNtc3RSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NmZ2dlRW5wb2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVlJ5WVc1emFYUkdiMk4xYzJWa1JHRnlheTFHWlhSamFHRmliR1ZUZEhsc1pWTmxkRk5rYXkwNFlqVmlNMll6TVRnNU1EQTJNVE01WlRrd1pUWXdNR0l6TURjMVpEVXdPUkp6Q0I4U2IyaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VW05aFpHMWhjQzFHWlhSamFHRmliR1ZUZEhsc1pWTmxkRk5rYXkwNFlqVmlNMll6TVRnNU1EQTJNVE01WlRrd1pUWXdNR0l6TURjMVpEVXdPUkozQ0NBU2MyaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VW05aFpHMWhjRVJoY21zdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2R3Z2hFbk5vZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhCRVlYSnJMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFb0FCQ0NVU2ZHaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VG1GMmFXZGhkR2x2YmtocFoyaEVaWFJoYVd3dFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2lRRUlKaEtFQVdoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RUbUYyYVdkaGRHbHZia2hwWjJoRVpYUmhhV3hNYjNkTWFXZG9kQzFHWlhSamFHRmliR1ZUZEhsc1pWTmxkRk5rYXkwNFlqVmlNMll6TVRnNU1EQTJNVE01WlRrd1pUWXdNR0l6TURjMVpEVXdPUkp5Q0NrU2JtaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VkhKaGRtVnNMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFbllJS2hKeWFIUjBjSE02THk5M2QzY3VaM04wWVhScFl5NWpiMjB2YldGd2N5OXlaWE12UTI5dGNHRmpkRXhsWjJWdVpGTmtheTFVY21GMlpXeEVZWEpyTFVabGRHTm9ZV0pzWlZOMGVXeGxVMlYwVTJSckxUaGlOV0l6WmpNeE9Ea3dNRFl4TXpsbE9UQmxOakF3WWpNd056VmtOVEE1RW44SUt4SjdhSFIwY0hNNkx5OTNkM2N1WjNOMFlYUnBZeTVqYjIwdmJXRndjeTl5WlhNdlEyOXRjR0ZqZEV4bFoyVnVaRk5rYXkxT1lYWnBaMkYwYVc5dVUyRjBaV3hzYVhSbExVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVuOElMQko3YUhSMGNITTZMeTkzZDNjdVozTjBZWFJwWXk1amIyMHZiV0Z3Y3k5eVpYTXZRMjl0Y0dGamRFeGxaMlZ1WkZOa2F5MVVaWEp5WVdsdVZtVmpkRzl5UTJ4cFpXNTBMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFb01CQ0MwU2YyaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VkdWeWNtRnBibFpsWTNSdmNrTnNhV1Z1ZEVSaGNtc3RSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NmUWd1RW5sb2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVTVoZG1sbllYUnBiMjVCYldKcFpXNTBMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFb0VCQ0M4U2ZXaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VG1GMmFXZGhkR2x2YmtGdFltbGxiblJFWVhKckxVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVuMElNQko1YUhSMGNITTZMeTkzZDNjdVozTjBZWFJwWXk1amIyMHZiV0Z3Y3k5eVpYTXZRMjl0Y0dGamRFeGxaMlZ1WkZOa2F5MUJhWEpSZFdGc2FYUjVTR1ZoZEcxaGNDMUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SS0JBUWd4RW4xb2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVUZwY2xGMVlXeHBkSGxJWldGMGJXRndSR0Z5YXkxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JKNkNESVNkbWgwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFRtRjJhV2RoZEdsdmJrVm5iVzB0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZ2dFSU14SithSFIwY0hNNkx5OTNkM2N1WjNOMFlYUnBZeTVqYjIwdmJXRndjeTl5WlhNdlEyOXRjR0ZqZEV4bFoyVnVaRk5rYXkxT1lYWnBaMkYwYVc5dVJXZHRiVXh2ZDB4cFoyaDBMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFb01CQ0RRU2YyaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VG1GMmFXZGhkR2x2YmtWbmJXMVRZWFJsYkd4cGRHVXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NmQWcxRW5ob2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVTVoZG1sbllYUnBiMjVVZFc1dVpXd3RSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NoUUVJTmhLQUFXaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VG1GMmFXZGhkR2x2YmxSMWJtNWxiRXh2ZDB4cFoyaDBMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFbjBJTnhKNWFIUjBjSE02THk5M2QzY3VaM04wWVhScFl5NWpiMjB2YldGd2N5OXlaWE12UTI5dGNHRmpkRXhsWjJWdVpGTmtheTFPWVhacFoyRjBhVzl1UjJ4aGMzTmxjeTFHWlhSamFHRmliR1ZUZEhsc1pWTmxkRk5rYXkwNFlqVmlNMll6TVRnNU1EQTJNVE01WlRrd1pUWXdNR0l6TURjMVpEVXdPUko1Q0RnU2RXaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0U1cxdFpYSnphWFpsVm1sbGR5MUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSjlDRGtTZVdoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RUbUYyYVdkaGRHbHZiazFwYmsxdlpHVXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1Nnd0VJT2hKL2FIUjBjSE02THk5M2QzY3VaM04wWVhScFl5NWpiMjB2YldGd2N5OXlaWE12UTI5dGNHRmpkRXhsWjJWdVpGTmtheTFPWVhacFoyRjBhVzl1UVcxaWFXVnVkRlIxYm01bGJDMUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SS0lBUWc3RW9NQmFIUjBjSE02THk5M2QzY3VaM04wWVhScFl5NWpiMjB2YldGd2N5OXlaWE12UTI5dGNHRmpkRXhsWjJWdVpGTmtheTFPWVhacFoyRjBhVzl1UVcxaWFXVnVkRVJoY210VWRXNXVaV3d0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZ1FFSVBCSjlhSFIwY0hNNkx5OTNkM2N1WjNOMFlYUnBZeTVqYjIwdmJXRndjeTl5WlhNdlEyOXRjR0ZqZEV4bFoyVnVaRk5rYXkxT1lYWnBaMkYwYVc5dVRXbHVUVzlrWlVGMWRHOHRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea2lJRGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUtBRXljbWgwZEhCek9pOHZkM2QzTG1kdmIyZHNaUzVqYjIwdmJXRndjeTkyZEM5emVHWnZjbTF6UDNZOU9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGttYzNSNWJHVnlYM04xWW5SNWNHVTlVMVJaVEVWU1gweEZSMFZPUkY5VFZVSlVXVkJGWDFORVN6cGdDaTZBZklCNGdIU0FjSUJzZ0dpQVpJQmdnRnlBV0lCVWdGQ0FUSUJJZ0VTQVFJQThnRGlBTklBd2dDeUFLSUFrRWdRSUFCQUFFZ1FJQVJBQkVnUUlBaEFDRWcwSUF4RC8vLy8vLy8vLy8vOEJFZzBJQkJEKy8vLy8vLy8vLy84QlFnTnpaR3M0Nlk2MEZqanJpTGdXT083ZnVSWTQ2cER6SWc9PSIsbnVsbCwxLDAuMDA5OTk5OTk5Nzc2NDgyNTgyLG51bGwsW1tbNiwiMTc4NDgwMjk4NiJdXV0sbnVsbCwiIixudWxsLDEsMF0sIGxvYWRTY3JpcHRUaW1lKTsKICB9OwogIHZhciBsb2FkU2NyaXB0VGltZSA9IChuZXcgRGF0ZSkuZ2V0VGltZSgpOwp9KSgpOwovLyBpbmxpbmVkCihmdW5jdGlvbihfKXsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKi8KLyoKCiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCi8qCgpNYXRoLnV1aWQuanMgKHYxLjQpCmh0dHA6Ly93d3cuYnJvb2ZhLmNvbQptYWlsdG86cm9iZXJ0QGJyb29mYS5jb20KQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzLgoqLwovKgoKIENvcHlyaWdodCAyMDIxIEdvb2dsZSBMTEMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKi8KdmFyIGFhYSxyYSxxYSxCYSxEYSxIYSxKYSxTYSxSYSxYYSxjYWEsZGFhLHViLHpiLGtjLGxjLEZjLEdjLGZhYSxtZCxwZCxnYWEsc2QseWQsRmQsSGQsWmQsb2Usd2UsTWUsTmUsT2UsZWYsaGYsamYsa2FhLG9hYSxzZix1Zix2ZixDZixyYWEsdGFhLEhmLGlnLGRnLGZnLGtnLG9nLHBnLHFnLERnLGhnLHZhYSxvaCxYaCxiaSxjaSxnaSxoaSxuaSxBYWEsQmFhLHVpLENhYSxEYWEsVWksVmksSGFhLElhYSx2aixKYWEsTGFhLEhqLE1hYSxOYWEsT2FhLFBhYSxRYWEsUmFhLEpqLFNhYSxXYWEsWGFhLGFiYSxkYmEsVGosU2osbGJhLG1iYSxwYmEscWsscmssc2ssdGsscmJhLHNiYSx3YmEsdGJhLHZiYSx3ayx4YmEseWJhLEhrLHpiYSxKayxCYmEsQWJhLENiYSxMayxFYmEsRmJhLEpiYSxNYmEsUWssU2ssVGssS2JhLExiYSxRYmEsVmssVWssV2ssWGssUmJhLFprLFlrLFRiYSxjbCxkbCxlbCxWYmEsZmwsZ2wsaGwsaWwsV2JhLGpsLGtsLFhiYSxsbCxZYmEsYmNhLGhjYSxtY2EsbmNhLAp2bCxwY2EscWNhLHJjYSx1Y2EsdGNhLHZjYSx3Y2EsRmwsc2NhLHhjYSxVbCx6Y2EsQWNhLEJjYSxxbSxFY2EseW0sSGNhLEljYSxRbSxSbSxLY2EsTWNhLGNuLFBjYSxTY2Esbm4sQW4sQ24sem4sUW4sWW4sWmNhLCRjYSxhZGEsY2RhLGNvLGlvLGpvLGRkYSxnZGEsaWRhLGhkYSxqZGEsb28sa2RhLHJvLHNvLERvLE1vLE5vLHJkYSxzZGEsT28sUG8sdGRhLHVkYSxWbyx2ZGEsWW8sQWRhLGJwLENkYSxFZGEsRmRhLGZwLElkYSxscCxKZGEscHAsS2RhLHNwLE5kYSxPZGEsUGRhLFJkYSxTZGEsV2RhLFhkYSx2cCxZZGEsVmRhLFRkYSxVZGEsJGRhLFpkYSx4cCxiZWEsZWVhLGZlYSxoZWEsS3AsTXAsa2VhLG1lYSxuZWEscGVhLHJlYSxzZWEsdGVhLHVlYSx2ZWEsd2VhLHhlYSx5ZWEsemVhLEFlYSxCZWEsRGVhLEZlYSxHZWEsSGVhLExlYSxNZWEsYXEsYnEsY3EsUGVhLFFlYSxSZWEsU2VhLFhlYSxWZWEsYmZhLGNmYSx6cSx5cSxDcSxwZmEsc2ZhLHRmYSx2ZmEseGZhLENmYSxHZmEsCkJmYSxJZmEsSGZhLExmYSxNZmEsTmZhLE9mYSxacSxRZmEsVWZhLFZmYSxYZmEsWWZhLGlnYSxoZ2EsJGZhLGFnYSxmZ2EsaHIsdW8sZWEsemEseGEseWEsdGEsbGEsbmE7Xy5oYT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZWFbYV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX07Xy5rYT1mdW5jdGlvbihhLGIpe3JldHVybiBlYVthXT1ifTtfLm1hPWZ1bmN0aW9uKGEsYixjKXtpZighY3x8YSE9bnVsbCl7Yz1sYVtiXTtpZihjPT1udWxsKXJldHVybiBhW2JdO2M9YVtjXTtyZXR1cm4gYyE9PXZvaWQgMD9jOmFbYl19fTthYWE9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpZm9yKHZhciBkPTA7ZDxuYS5sZW5ndGg7ZCsrKXFhKG5hW2RdKyJBcnJheS5wcm90b3R5cGUuIithLGIsYyl9O3JhPWZ1bmN0aW9uKGEsYixjKXtiJiZxYShhLGIsYyl9OwpxYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5zcGxpdCgiLiIpO2E9ZC5sZW5ndGg9PT0xO3ZhciBlPWRbMF0sZjshYSYmZSBpbiB0YT9mPXRhOmY9eGE7Zm9yKGU9MDtlPGQubGVuZ3RoLTE7ZSsrKXt2YXIgZz1kW2VdO2lmKCEoZyBpbiBmKSlyZXR1cm47Zj1mW2ddfWQ9ZFtkLmxlbmd0aC0xXTtjPXlhJiZjPT09ImVzNiI/ZltkXTpudWxsO2I9YihjKTtiIT1udWxsJiYoYT96YSh0YSxkLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pOmIhPT1jJiYobGFbZF09PT12b2lkIDAmJihhPU1hdGgucmFuZG9tKCkqMUU5Pj4+MCxsYVtkXT15YT94YS5TeW1ib2woZCk6IiRqc2NwJCIrYSsiJCIrZCksemEoZixsYVtkXSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KSkpfTtCYT1mdW5jdGlvbihhKXthPU1hdGgudHJ1bmMoYSl8fDA7YTwwJiYoYSs9dGhpcy5sZW5ndGgpO2lmKCEoYTwwfHxhPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbYV19OwpEYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbHx8dHlwZW9mIGEuc2l6ZSE9PSJudW1iZXIifHxhLnNpemU8MHx8dHlwZW9mIGEua2V5cyE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBhLmhhcyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBzZXQtbGlrZSIpO307SGE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ib2JqZWN0Inx8YT09PW51bGx8fHR5cGVvZiBhLm5leHQhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgaXRlcmF0b3IuIik7cmV0dXJuIGF9O0phPWZ1bmN0aW9uKGEpe2lmKCEoYSBpbnN0YW5jZW9mIFNldCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiTWV0aG9kIG11c3QgYmUgY2FsbGVkIG9uIGFuIGluc3RhbmNlIG9mIFNldC4iKTt9O1NhPWZ1bmN0aW9uKGEsYil7dmFyIGM9UmEoIkNMT1NVUkVfRkxBR1MiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTsKUmE9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8uVWE7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoYj1iW2FbY11dLGI9PW51bGwpcmV0dXJuIG51bGw7cmV0dXJuIGJ9O1hhPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiIT0ib2JqZWN0Ij9iOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmI6Im51bGwifTtfLllhPWZ1bmN0aW9uKGEpe3ZhciBiPVhhKGEpO3JldHVybiBiPT0iYXJyYXkifHxiPT0ib2JqZWN0IiYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIn07Xy5aYT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtyZXR1cm4gYj09Im9iamVjdCImJmEhPW51bGx8fGI9PSJmdW5jdGlvbiJ9O18uaGI9ZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGJiKSYmYVtiYl18fChhW2JiXT0rK2JhYSl9OwpjYWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLmNhbGwuYXBwbHkoYS5iaW5kLGFyZ3VtZW50cyl9O2RhYT1mdW5jdGlvbihhLGIsYyl7aWYoIWEpdGhyb3cgRXJyb3IoKTtpZihhcmd1bWVudHMubGVuZ3RoPjIpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGUsZCk7cmV0dXJuIGEuYXBwbHkoYixlKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYixhcmd1bWVudHMpfX07Xy5pYj1mdW5jdGlvbihhLGIsYyl7Xy5pYj1GdW5jdGlvbi5wcm90b3R5cGUuYmluZCYmRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQudG9TdHJpbmcoKS5pbmRleE9mKCJuYXRpdmUgY29kZSIpIT0tMT9jYWE6ZGFhO3JldHVybiBfLmliLmFwcGx5KG51bGwsYXJndW1lbnRzKX07Xy5tYj1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKXy5uYj1mdW5jdGlvbihhLGIpe2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgYz1fLlVhLGQ7YS5sZW5ndGgmJihkPWEuc2hpZnQoKSk7KWEubGVuZ3RofHxiPT09dm9pZCAwP2NbZF0mJmNbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdP2M9Y1tkXTpjPWNbZF09e306Y1tkXT1ifTtfLnBiPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLnFiPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYygpe31jLnByb3RvdHlwZT1iLnByb3RvdHlwZTthLmlyPWIucHJvdG90eXBlO2EucHJvdG90eXBlPW5ldyBjO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7YS5oQT1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMiksaD0yO2g8YXJndW1lbnRzLmxlbmd0aDtoKyspZ1toLTJdPWFyZ3VtZW50c1toXTtyZXR1cm4gYi5wcm90b3R5cGVbZV0uYXBwbHkoZCxnKX19OwpfLkQ9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aCxmPWU8Mz9iOmQ9PT1udWxsP2Q9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiLGMpOmQsZztpZihSZWZsZWN0JiZ0eXBlb2YgUmVmbGVjdD09PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZT09PSJmdW5jdGlvbiIpZj1SZWZsZWN0LmRlY29yYXRlKGEsYixjLGQpO2Vsc2UgZm9yKHZhciBoPWEubGVuZ3RoLTE7aD49MDtoLS0paWYoZz1hW2hdKWY9KGU8Mz9nKGYpOmU+Mz9nKGIsYyxmKTpnKGIsYykpfHxmO2U+MyYmZiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGIsYyxmKX07Xy5GPWZ1bmN0aW9uKGEsYil7aWYoUmVmbGVjdCYmdHlwZW9mIFJlZmxlY3Q9PT0ib2JqZWN0IiYmdHlwZW9mIFJlZmxlY3QubWV0YWRhdGE9PT0iZnVuY3Rpb24iKXJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGEsYil9OwpfLnRiPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLnRiKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTt1Yj1mdW5jdGlvbihhLGIpe3ZhciBjPV8udGIuY2FsbDthPWEuc3BsaXQoIiVzIik7dmFyIGQ9IiIsZT1hLmxlbmd0aC0xO2ZvcihsZXQgZj0wO2Y8ZTtmKyspZCs9YVtmXSsoZjxiLmxlbmd0aD9iW2ZdOiIlcyIpO2MuY2FsbChfLnRiLHRoaXMsZCthW2VdKX07emI9ZnVuY3Rpb24oYSl7cmV0dXJuKHlifHwoeWI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtfLkJiPWZ1bmN0aW9uKGEpe18uVWEuc2V0VGltZW91dCgoKT0+e3Rocm93IGE7fSwwKX07Xy5FYj1mdW5jdGlvbihhLGIpe3JldHVybiBhLmxhc3RJbmRleE9mKGIsMCk9PTB9OwpfLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRmIoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMX07Xy5GYj1mdW5jdGlvbigpe3ZhciBhPV8uVWEubmF2aWdhdG9yO3JldHVybiBhJiYoYT1hLnVzZXJBZ2VudCk/YToiIn07Xy5LYj1mdW5jdGlvbihhKXtpZighSWJ8fCFfLkpiKXJldHVybiExO2ZvcihsZXQgYj0wO2I8Xy5KYi5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1fLkpiLmJyYW5kc1tiXTtpZihjJiZjLmluZGV4T2YoYSkhPS0xKXJldHVybiEwfXJldHVybiExfTtfLlJiPWZ1bmN0aW9uKGEpe3JldHVybiBfLkZiKCkuaW5kZXhPZihhKSE9LTF9O18uVGI9ZnVuY3Rpb24oKXtyZXR1cm4gSWI/ISFfLkpiJiZfLkpiLmJyYW5kcy5sZW5ndGg+MDohMX07Xy5VYj1mdW5jdGlvbigpe3JldHVybiBfLlRiKCk/ITE6Xy5SYigiT3BlcmEiKX07Xy5YYj1mdW5jdGlvbigpe3JldHVybiBfLlRiKCk/ITE6Xy5SYigiVHJpZGVudCIpfHxfLlJiKCJNU0lFIil9OwpfLiRiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVGIoKT9fLktiKCJNaWNyb3NvZnQgRWRnZSIpOl8uUmIoIkVkZy8iKX07Xy5kYz1mdW5jdGlvbigpe3JldHVybiBfLlJiKCJGaXJlZm94Iil8fF8uUmIoIkZ4aU9TIil9O18uamM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5SYigiU2FmYXJpIikmJiEoXy5oYygpfHwoXy5UYigpPzA6Xy5SYigiQ29hc3QiKSl8fF8uVWIoKXx8KF8uVGIoKT8wOl8uUmIoIkVkZ2UiKSl8fF8uJGIoKXx8KF8uVGIoKT9fLktiKCJPcGVyYSIpOl8uUmIoIk9QUiIpKXx8Xy5kYygpfHxfLlJiKCJTaWxrIil8fF8uUmIoIkFuZHJvaWQiKSl9O18uaGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5UYigpP18uS2IoIkNocm9taXVtIik6KF8uUmIoIkNocm9tZSIpfHxfLlJiKCJDcmlPUyIpKSYmIShfLlRiKCk/MDpfLlJiKCJFZGdlIikpfHxfLlJiKCJTaWxrIil9O2tjPWZ1bmN0aW9uKCl7cmV0dXJuIEliPyEhXy5KYiYmISFfLkpiLnBsYXRmb3JtOiExfTsKbGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5SYigiaVBob25lIikmJiFfLlJiKCJpUG9kIikmJiFfLlJiKCJpUGFkIil9O18ubWM9ZnVuY3Rpb24oKXtyZXR1cm4ga2MoKT9fLkpiLnBsYXRmb3JtPT09Im1hY09TIjpfLlJiKCJNYWNpbnRvc2giKX07Xy5uYz1mdW5jdGlvbigpe3JldHVybiBrYygpP18uSmIucGxhdGZvcm09PT0iV2luZG93cyI6Xy5SYigiV2luZG93cyIpfTtfLnFjPWZ1bmN0aW9uKGEsYixjKXtjPWM9PW51bGw/MDpjPDA/TWF0aC5tYXgoMCxhLmxlbmd0aCtjKTpjO2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIHR5cGVvZiBiIT09InN0cmluZyJ8fGIubGVuZ3RoIT0xPy0xOmEuaW5kZXhPZihiLGMpO2Zvcig7YzxhLmxlbmd0aDtjKyspaWYoYyBpbiBhJiZhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX07Cl8ucmM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGVuZ3RoLGU9dHlwZW9mIGE9PT0ic3RyaW5nIj9hLnNwbGl0KCIiKTphO2ZvcihsZXQgZj0wO2Y8ZDtmKyspZiBpbiBlJiZiLmNhbGwoYyxlW2ZdLGYsYSl9O18udmM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xYyhhLGIpPj0wfTtfLnljPWZ1bmN0aW9uKGEsYil7Yj1fLnFjKGEsYik7dmFyIGM7KGM9Yj49MCkmJl8ueGMoYSxiKTtyZXR1cm4gY307Xy54Yz1mdW5jdGlvbihhLGIpe0FycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSl9O18uQmM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtsZXQgYz1BcnJheShiKTtmb3IobGV0IGQ9MDtkPGI7ZCsrKWNbZF09YVtkXTtyZXR1cm4gY31yZXR1cm5bXX07RmM9ZnVuY3Rpb24oYSl7RmNbIiAiXShhKTtyZXR1cm4gYX07Cl8uVWM9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj0wKTtHYygpO2I9SGNbYl07Zm9yKHZhciBjPUFycmF5KE1hdGguZmxvb3IoYS5sZW5ndGgvMykpLGQ9Yls2NF18fCIiLGU9MCxmPTA7ZTxhLmxlbmd0aC0yO2UrPTMpe3ZhciBnPWFbZV0saD1hW2UrMV0saz1hW2UrMl0sbT1iW2c+PjJdO2c9YlsoZyYzKTw8NHxoPj40XTtoPWJbKGgmMTUpPDwyfGs+PjZdO2s9YltrJjYzXTtjW2YrK109IiIrbStnK2gra31tPTA7az1kO3N3aXRjaChhLmxlbmd0aC1lKXtjYXNlIDI6bT1hW2UrMV0saz1iWyhtJjE1KTw8Ml18fGQ7Y2FzZSAxOmE9YVtlXSxjW2ZdPSIiK2JbYT4+Ml0rYlsoYSYzKTw8NHxtPj40XStrK2R9cmV0dXJuIGMuam9pbigiIil9O18uV2M9ZnVuY3Rpb24oYSl7dmFyIGI9W107Xy5WYyhhLGZ1bmN0aW9uKGMpe2IucHVzaChjKX0pO3JldHVybiBifTsKXy5WYz1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoZSl7Zm9yKDtkPGEubGVuZ3RoOyl7bGV0IGY9YS5jaGFyQXQoZCsrKSxnPVhjW2ZdO2lmKGchPW51bGwpcmV0dXJuIGc7aWYoIS9eW1xzXHhhMF0qJC8udGVzdChmKSl0aHJvdyBFcnJvcigiVW5rbm93biBiYXNlNjQgZW5jb2RpbmcgYXQgY2hhcjogIitmKTt9cmV0dXJuIGV9R2MoKTtmb3IodmFyIGQ9MDs7KXtsZXQgZT1jKC0xKSxmPWMoMCksZz1jKDY0KSxoPWMoNjQpO2lmKGg9PT02NCYmZT09PS0xKWJyZWFrO2IoZTw8MnxmPj40KTtnIT02NCYmKGIoZjw8NCYyNDB8Zz4+MiksaCE9NjQmJmIoZzw8NiYxOTJ8aCkpfX07CkdjPWZ1bmN0aW9uKCl7aWYoIVhjKXtYYz17fTt2YXIgYT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLnNwbGl0KCIiKSxiPVsiKy89IiwiKy8iLCItXz0iLCItXy4iLCItXyJdO2ZvcihsZXQgYz0wO2M8NTtjKyspe2xldCBkPWEuY29uY2F0KGJbY10uc3BsaXQoIiIpKTtIY1tjXT1kO2ZvcihsZXQgZT0wO2U8ZC5sZW5ndGg7ZSsrKXtsZXQgZj1kW2VdO1hjW2ZdPT09dm9pZCAwJiYoWGNbZl09ZSl9fX19O2ZhYT1mdW5jdGlvbihhKXtyZXR1cm4gZWFhW2FdfHwiIn07Xy5hZD1mdW5jdGlvbihhKXthPSRjLnRlc3QoYSk/YS5yZXBsYWNlKCRjLGZhYSk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLmJkPWZ1bmN0aW9uKGEpe3JldHVybiBhIT1udWxsJiZhIGluc3RhbmNlb2YgVWludDhBcnJheX07Cl8ubGQ9ZnVuY3Rpb24oKXtyZXR1cm4gY2R8fChjZD1uZXcgXy5mZChudWxsLF8uaGQpKX07bWQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5xaDtpZihiPT1udWxsKWE9IiI7ZWxzZSBpZih0eXBlb2YgYj09PSJzdHJpbmciKWE9YjtlbHNle2xldCBjPSIiLGQ9MCxlPWIubGVuZ3RoLTEwMjQwO2Zvcig7ZDxlOyljKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYi5zdWJhcnJheShkLGQrPTEwMjQwKSk7Yys9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGQ/Yi5zdWJhcnJheShkKTpiKTtiPWJ0b2EoYyk7YT1hLnFoPWJ9cmV0dXJuIGF9O18ucWQ9ZnVuY3Rpb24oYSl7cGQoXy5oZCk7dmFyIGI9YS5xaDtiPWI9PW51bGx8fF8uYmQoYik/Yjp0eXBlb2YgYj09PSJzdHJpbmciP18uYWQoYik6bnVsbDtyZXR1cm4gYj09bnVsbD9iOmEucWg9Yn07cGQ9ZnVuY3Rpb24oYSl7aWYoYSE9PV8uaGQpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKZ2FhPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKChjLGQpPT57dmFyIGU9bmV3IE1lc3NhZ2VDaGFubmVsO2UucG9ydDIub25tZXNzYWdlPWY9PntjKGYuZGF0YSl9O3RyeXtlLnBvcnQxLnBvc3RNZXNzYWdlKGEsYil9Y2F0Y2goZil7ZChmKX19KX07Xy5yZD1mdW5jdGlvbihhLGIsYyl7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJbYl09Y307c2Q9ZnVuY3Rpb24oKXt2YXIgYT1FcnJvcigpO18ucmQoYSwic2V2ZXJpdHkiLCJpbmNpZGVudCIpO18uQmIoYSl9O18udGQ9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTtfLnJkKGEsInNldmVyaXR5Iiwid2FybmluZyIpO3JldHVybiBhfTsKXy54ZD1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpe3ZhciBjPXVkPz8odWQ9e30pO3ZhciBkPWNbYV18fDA7ZD49Ynx8KGNbYV09ZCsxLHNkKCkpfX07eWQ9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTtfLkRkPWZ1bmN0aW9uKGEsYil7YVtfLkNkXXw9Yn07RmQ9ZnVuY3Rpb24oYSl7aWYoNCZhKXJldHVybiA1MTImYT81MTI6MTAyNCZhPzEwMjQ6MH07Xy5HZD1mdW5jdGlvbihhKXtfLkRkKGEsMzQpO3JldHVybiBhfTtIZD1mdW5jdGlvbihhKXtfLkRkKGEsMzIpO3JldHVybiBhfTtfLklkPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD09MD9fLmxkKCk6bmV3IF8uZmQoYSxfLmhkKX07Xy5RZD1mdW5jdGlvbihhKXtyZXR1cm4gYVtMZF09PT1NZH07Cl8uU2Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PXZvaWQgMD9hLkFoIT09Xy5SZCYmISEoMiYoYS5MaVtfLkNkXXwwKSk6ISEoMiZiKSYmYS5BaCE9PV8uUmR9O18uVmQ9ZnVuY3Rpb24oYSxiKXthLkFoPWI/Xy5SZDp2b2lkIDB9O18uV2Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYil9O18uWGQ9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLmZkKGEsXy5oZCk6Xy5sZCgpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uZmQpaWYoXy5iZChhKSlhPWEubGVuZ3RoP25ldyBfLmZkKG5ldyBVaW50OEFycmF5KGEpLF8uaGQpOl8ubGQoKTtlbHNle2lmKCFiKXRocm93IEVycm9yKCk7YT12b2lkIDB9cmV0dXJuIGF9O18uWWQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYiE9PSJudW1iZXIifHxiPDB8fGI+PWEubGVuZ3RoKXRocm93IEVycm9yKCk7fTsKWmQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYiE9PSJudW1iZXIifHxiPDB8fGI+YS5sZW5ndGgpdGhyb3cgRXJyb3IoKTt9O18uJGQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWImMTI4PzA6LTEsZT1hLmxlbmd0aCxmO2lmKGY9ISFlKWY9YVtlLTFdLGY9ZiE9bnVsbCYmdHlwZW9mIGY9PT0ib2JqZWN0IiYmZi5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgZz1lKyhmPy0xOjApO2ZvcihiPWImMTI4PzE6MDtiPGc7YisrKWMoYi1kLGFbYl0pO2lmKGYpe2E9YVtlLTFdO2ZvcihsZXQgaCBpbiBhKV8uV2QoYSxoKSYmIWlzTmFOKGgpJiZjKCtoLGFbaF0pfX07Xy5iZT1mdW5jdGlvbihhKXtyZXR1cm4gYSYxMjg/YWU6dm9pZCAwfTtfLmNlPWZ1bmN0aW9uKGEpe2EuaFQ9ITA7cmV0dXJuIGF9OwpfLmRlPWZ1bmN0aW9uKGEpe2lmKGhhYShhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoaWFhKGEpJiYhTnVtYmVyLmlzU2FmZUludGVnZXIoYSkpdGhyb3cgRXJyb3IoU3RyaW5nKGEpKTtyZXR1cm4gQmlnSW50KGEpfTtfLmhlPWZ1bmN0aW9uKGEpe3ZhciBiPWE+Pj4wO18uZWU9YjtfLmdlPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtfLmtlPWZ1bmN0aW9uKGEpe2lmKGE8MCl7Xy5oZSgwLWEpO2E9Xy5lZTt2YXIgYj1fLmdlO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07Xy5lZT1jPj4+MDtfLmdlPWQ+Pj4wfWVsc2UgXy5oZShhKX07Xy5tZT1mdW5jdGlvbihhKXt2YXIgYj1fLmxlfHwoXy5sZT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDgpKSk7Yi5zZXRGbG9hdDY0KDAsK2EsITApO18uZWU9Yi5nZXRVaW50MzIoMCwhMCk7Xy5nZT1iLmdldFVpbnQzMig0LCEwKX07Cm9lPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yio0Mjk0OTY3Mjk2KyhhPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKGMpP2M6Xy5uZShhLGIpfTtfLnFlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZGUoQmlnSW50LmFzSW50Tig2NCwoQmlnSW50LmFzVWludE4oMzIsQmlnSW50KGIpKTw8QmlnSW50KDMyKSkrQmlnSW50LmFzVWludE4oMzIsQmlnSW50KGEpKSkpfTtfLm5lPWZ1bmN0aW9uKGEsYil7Yj4+Pj0wO2E+Pj49MDt2YXIgYztiPD0yMDk3MTUxP2M9IiIrKDQyOTQ5NjcyOTYqYithKTpjPSIiKyhCaWdJbnQoYik8PEJpZ0ludCgzMil8QmlnSW50KGEpKTtyZXR1cm4gY307Xy5yZT1mdW5jdGlvbihhLGIpe3ZhciBjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPV8ubmUoYSxiKTtyZXR1cm4gY307Cl8uc2U9ZnVuY3Rpb24oYSl7YS5sZW5ndGg8MTY/Xy5rZShOdW1iZXIoYSkpOihhPUJpZ0ludChhKSxfLmVlPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLF8uZ2U9TnVtYmVyKGE+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9O18udGU9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLnVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBhfTogJHthfWApO3JldHVybiBhfTtfLnZlPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuIGE7aWYoYT09PSJOYU4ifHxhPT09IkluZmluaXR5Inx8YT09PSItSW5maW5pdHkiKXJldHVybiBOdW1iZXIoYSl9Owp3ZT1mdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNwbGF5TmFtZXx8YS5uYW1lfHwidW5rbm93biB0eXBlIG5hbWUifTtfLnplPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09ImJvb2xlYW4iKXRocm93IEVycm9yKGBFeHBlY3RlZCBib29sZWFuIGJ1dCBnb3QgJHtYYShhKX06ICR7YX1gKTtyZXR1cm4gYX07Xy5BZT1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJib29sZWFuIilyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiEhYX07Xy5DZT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gQmUoYSk7Y2FzZSAic3RyaW5nIjpyZXR1cm4gamFhLnRlc3QoYSk7ZGVmYXVsdDpyZXR1cm4hMX19O18uRGU9ZnVuY3Rpb24oYSl7aWYoIUJlKGEpKXRocm93IF8udGQoImVudW0iKTtyZXR1cm4gYXwwfTsKXy5FZT1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD9hOkJlKGEpP2F8MDp2b2lkIDB9O18uRmU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ibnVtYmVyIil0aHJvdyBfLnRkKCJpbnQzMiIpO2lmKCFCZShhKSl0aHJvdyBfLnRkKCJpbnQzMiIpO3JldHVybiBhfDB9O18uR2U9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gQmUoYSk/YXwwOnZvaWQgMH07Xy5IZT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IF8udGQoInVpbnQzMiIpO2lmKCFCZShhKSl0aHJvdyBfLnRkKCJ1aW50MzIiKTtyZXR1cm4gYT4+PjB9OwpfLkplPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT0ic3RyaW5nIiYmYSlhPSthO2Vsc2UgaWYodHlwZW9mIGEhPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIEJlKGEpP2E+Pj4wOnZvaWQgMH07Cl8uUWU9ZnVuY3Rpb24oYSxiKXtiPz8oYj0xMDI0KTtpZighXy5DZShhKSl0aHJvdyBfLnRkKCJpbnQ2NCIpO3ZhciBjPXR5cGVvZiBhO3N3aXRjaChiKXtjYXNlIDUxMjpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gXy5LZShhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy5MZSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIE1lKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gTmUoYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5kZSgoMCxfLkxlKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gT2UoYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiBfLktlKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIF8uZGUoKDAsXy5MZSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIF8uUGUoYSl9ZGVmYXVsdDpyZXR1cm4gXy50ZShiLCJVbmtub3duIGZvcm1hdCByZXF1ZXN0ZWQgdHlwZSBmb3IgaW50NjQiKX19OwpfLlBlPWZ1bmN0aW9uKGEpe18uQ2UoYSk7YT0oMCxfLlJlKShhKTtpZighKDAsXy5VZSkoYSkpe18ua2UoYSk7dmFyIGI9Xy5lZSxjPV8uZ2U7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW9lKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O18uVmU9ZnVuY3Rpb24oYSl7Xy5DZShhKTthPSgwLF8uUmUpKGEpO2E+PTAmJigwLF8uVWUpKGEpfHwoXy5rZShhKSxhPW9lKF8uZWUsXy5nZSkpO3JldHVybiBhfTtNZT1mdW5jdGlvbihhKXtfLkNlKGEpO2E9KDAsXy5SZSkoYSk7KDAsXy5VZSkoYSk/YT1TdHJpbmcoYSk6KF8ua2UoYSksYT1fLnJlKF8uZWUsXy5nZSkpO3JldHVybiBhfTsKXy5LZT1mdW5jdGlvbihhKXtfLkNlKGEpO3ZhciBiPSgwLF8uUmUpKE51bWJlcihhKSk7aWYoKDAsXy5VZSkoYikpcmV0dXJuIFN0cmluZyhiKTtiPWEuaW5kZXhPZigiLiIpO2IhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSk7Yj1hLmxlbmd0aDsoYVswXT09PSItIj9iPDIwfHxiPT09MjAmJmE8PSItOTIyMzM3MjAzNjg1NDc3NTgwOCI6YjwxOXx8Yj09PTE5JiZhPD0iOTIyMzM3MjAzNjg1NDc3NTgwNyIpfHwoXy5zZShhKSxhPV8ucmUoXy5lZSxfLmdlKSk7cmV0dXJuIGF9O05lPWZ1bmN0aW9uKGEpe3ZhciBiPSgwLF8uUmUpKE51bWJlcihhKSk7aWYoKDAsXy5VZSkoYikpcmV0dXJuIF8uZGUoYik7Yj1hLmluZGV4T2YoIi4iKTtiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpO3JldHVybiBfLmRlKCgwLF8uTGUpKDY0LEJpZ0ludChhKSkpfTtPZT1mdW5jdGlvbihhKXtyZXR1cm4oMCxfLlVlKShhKT9fLmRlKF8uUGUoYSkpOl8uZGUoTWUoYSkpfTsKXy5XZT1mdW5jdGlvbihhKXtfLkNlKGEpO3ZhciBiPSgwLF8uUmUpKE51bWJlcihhKSk7aWYoKDAsXy5VZSkoYikmJmI+PTApcmV0dXJuIFN0cmluZyhiKTtiPWEuaW5kZXhPZigiLiIpO2IhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSk7YVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpO2J8fChfLnNlKGEpLGE9Xy5uZShfLmVlLF8uZ2UpKTtyZXR1cm4gYX07Xy5YZT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKCgwLF8uTGUpKDY0LGEpKTtpZihfLkNlKGEpKXJldHVybiBiPT09InN0cmluZyI/Xy5LZShhKTpfLlBlKGEpfTsKXy5ZZT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5kZSgoMCxfLkxlKSg2NCxhKSk7aWYoXy5DZShhKSlyZXR1cm4gYj09PSJzdHJpbmciP05lKGEpOk9lKGEpfTtfLiRlPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy5aZSkoNjQsYSkpO2lmKF8uQ2UoYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj9fLldlKGEpOl8uVmUoYSl9O18uYWY9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLkxlKSg2NCxhKSk7aWYoXy5DZShhKSl7aWYoYj09PSJzdHJpbmciKXJldHVybiBfLktlKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gXy5QZShhKX19OwpfLmJmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5jZj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O18uZGY9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGx8fHR5cGVvZiBhPT09InN0cmluZyI/YTp2b2lkIDB9O2VmPWZ1bmN0aW9uKGEsYil7aWYoIShhIGluc3RhbmNlb2YgYikpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIGluc3RhbmNlb2YgJHt3ZShiKX0gYnV0IGdvdCAke2EmJndlKGEuY29uc3RydWN0b3IpfWApO3JldHVybiBhfTtoZj1mdW5jdGlvbihhLGIsYyxkKXtpZihhIT1udWxsJiZfLlFkKGEpKXJldHVybiBhO2lmKCFBcnJheS5pc0FycmF5KGEpKXJldHVybiBjP2QmMj9iW18uZmZdfHwoYltfLmZmXT1fLmdmKGIpKTpuZXcgYjp2b2lkIDA7Yz1hW18uQ2RdfDA7ZD1jfGQmMzJ8ZCYyO2QhPT1jJiYoYVtfLkNkXT1kKTtyZXR1cm4gbmV3IGIoYSl9OwpfLmdmPWZ1bmN0aW9uKGEpe2E9bmV3IGE7Xy5HZChhLkxpKTtyZXR1cm4gYX07amY9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18ubGY9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5wYihfLmtmKTtyZXR1cm4gYj9hW2JdOnZvaWQgMH07Xy5tZj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYyBpbiBhKV8uV2QoYSxjKSYmIWlzTmFOKGMpJiZiKGEsK2MsYVtjXSl9O2thYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgXy5uZjtfLm1mKGEsKGMsZCxlKT0+e2JbZF09Wy4uLmVdfSk7Yi5PQj1hLk9CO3JldHVybiBifTtfLnBmPWZ1bmN0aW9uKGEsYixjKXtpZihfLnBiKF8ub2YpJiZfLnBiKF8ua2YpJiZjPT09Xy5vZiYmKGE9YS5MaSxjPWFbXy5rZl0pJiYoYz1jLk9CKSl0cnl7YyhhLGIsbGFhKX1jYXRjaChkKXtfLkJiKGQpfX07Xy5xZj1mdW5jdGlvbihhLGIpe3ZhciBjPV8ucGIoXy5rZik7YyYmYVtjXT8uW2JdIT1udWxsJiZfLnhkKG1hYSwzKX07Cm9hYT1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhkKG5hYSwxKX07CnNmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWQhPT12b2lkIDA7ZD0hIWQ7dmFyIGY9Xy5wYihfLmtmKSxnOyFlJiZmJiYoZz1hW2ZdKSYmXy5tZihnLG9hYSk7Zj1bXTt2YXIgaD1hLmxlbmd0aDtnPTQyOTQ5NjcyOTU7dmFyIGs9ITEsbT0hIShiJjY0KSxwPW0/YiYxMjg/MDotMTp2b2lkIDA7aWYoIShiJjEpKXt2YXIgcT1oJiZhW2gtMV07cSE9bnVsbCYmdHlwZW9mIHE9PT0ib2JqZWN0IiYmcS5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oaC0tLGc9aCk6cT12b2lkIDA7IW18fGImMTI4fHxlfHwoaz0hMCxnPShyZj8/amYpKGctcCxwLGEscSx2b2lkIDApK3ApfWI9dm9pZCAwO2Zvcih2YXIgdT0wO3U8aDt1Kyspe2xldCB4PWFbdV07aWYoeCE9bnVsbCYmKHg9Yyh4LGQpKSE9bnVsbClpZihtJiZ1Pj1nKXtsZXQgej11LXA7KGI/PyhiPXt9KSlbel09eH1lbHNlIGZbdV09eH1pZihxKWZvcihsZXQgeCBpbiBxKXtpZighXy5XZChxLHgpKWNvbnRpbnVlO2g9cVt4XTtpZihoPT1udWxsfHwKKGg9YyhoLGQpKT09bnVsbCljb250aW51ZTt1PSt4O2xldCB6O20mJiFOdW1iZXIuaXNOYU4odSkmJih6PXUrcCk8Zz9mW3pdPWg6KGI/PyhiPXt9KSlbeF09aH1iJiYoaz9mLnB1c2goYik6ZltnXT1iKTtlJiZfLnBiKF8ua2YpJiYoYT1fLmxmKGEpKSYmYSBpbnN0YW5jZW9mIF8ubmYmJihmW18ua2ZdPWthYShhKSk7cmV0dXJuIGZ9Owp1Zj1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLnRmKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQ2RdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpzZihhLGIsdWYpfWlmKGEhPW51bGwmJl8uUWQoYSkpcmV0dXJuIHZmKGEpO2lmKGEgaW5zdGFuY2VvZiBfLmZkKXJldHVybiBtZChhKTtyZXR1cm59cmV0dXJuIGF9O18ud2Y9ZnVuY3Rpb24oYSxiKXtpZihiKXtyZj1iPT1udWxsfHxiPT09amZ8fGJbcGFhXSE9PXFhYT9qZjpiO3RyeXtyZXR1cm4gdmYoYSl9ZmluYWxseXtyZj12b2lkIDB9fXJldHVybiB2ZihhKX07dmY9ZnVuY3Rpb24oYSl7YT1hLkxpO3JldHVybiBzZihhLGFbXy5DZF18MCx1Zil9OwpfLnpmPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIF8ueGZ8fChfLnhmPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/eWZ8fCh5Zj1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLkRmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIENmKGEsYlswXSxiWzFdKX07CkNmPWZ1bmN0aW9uKGEsYixjLGQ9MCl7aWYoYT09bnVsbCl7dmFyIGU9MzI7Yz8oYT1bY10sZXw9MTI4KTphPVtdO2ImJihlPWUmLTE2NzYwODMzfChiJjEwMjMpPDwxNCl9ZWxzZXtpZighQXJyYXkuaXNBcnJheShhKSl0aHJvdyBFcnJvcigibmFyciIpO2U9YVtfLkNkXXwwO2lmKEVmJiYxJmUpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZlJiYhKDImZSkmJnJhYSgpO2lmKGUmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQ2RdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigibWlkIik7YTp7Yz1hO2V8PTY0O3ZhciBmPWMubGVuZ3RoO2lmKGYpe3ZhciBnPWYtMTtsZXQgaz1jW2ddO2lmKGshPW51bGwmJnR5cGVvZiBrPT09Im9iamVjdCImJmsuY29uc3RydWN0b3I9PT1PYmplY3Qpe2I9ZSYxMjg/MDotMTtnLT1iO2lmKGc+PTEwMjQpdGhyb3cgRXJyb3IoInB2dGxtdCIpO2Zvcih2YXIgaCBpbiBrKXtpZighXy5XZChrLApoKSljb250aW51ZTtmPStoO2lmKGY8ZyljW2YrYl09a1toXSxkZWxldGUga1toXTtlbHNlIGJyZWFrfWU9ZSYtMTY3NjA4MzN8KGcmMTAyMyk8PDE0O2JyZWFrIGF9fWlmKGIpe2g9TWF0aC5tYXgoYixmLShlJjEyOD8wOi0xKSk7aWYoaD4xMDI0KXRocm93IEVycm9yKCJzcHZ0Iik7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTR9fX1hW18uQ2RdPWV8NjR8ZDtyZXR1cm4gYX07cmFhPWZ1bmN0aW9uKCl7aWYoRWYpdGhyb3cgRXJyb3IoImNhcnIiKTtfLnhkKHNhYSw1KX07CnRhYT1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtfLkNkXXwwO2EubGVuZ3RoPT09MCYmYyYxP2E9dm9pZCAwOmMmMnx8KCFifHw0MDk2JmN8fDE2JmM/YT1fLkZmKGEsYywhMSxiJiYhKGMmMTYpKTooXy5EZChhLDM0KSxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZfLlFkKGEpKXJldHVybiBiPWEuTGksYz1iW18uQ2RdfDAsXy5TZChhLGMpP2E6Xy5HZihhLGIsYyk/SGYoYSxiKTpfLkZmKGIsYyk7aWYoYSBpbnN0YW5jZW9mIF8uZmQpcmV0dXJuIGF9O0hmPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJl8uVmQoYSwhMCk7YS54Qj1fLlJkO3JldHVybiBhfTtfLkZmPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPXNmKGEsYix0YWEsZCk7ZD0zMjtjJiYoZHw9Mik7Yj1iJjE2NzY5MjE3fGQ7YVtfLkNkXT1iO3JldHVybiBhfTsKXy5JZj1mdW5jdGlvbihhKXt2YXIgYj1hLkxpLGM9YltfLkNkXXwwO3JldHVybiBfLlNkKGEsYyk/Xy5HZihhLGIsYyk/SGYoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLkZmKGIsYywhMSkpOmF9O18uSmY9ZnVuY3Rpb24oYSl7aWYoYS5BaCE9PV8uUmQpcmV0dXJuITE7dmFyIGI9YS5MaTtiPV8uRmYoYixiW18uQ2RdfDApO18uRGQoYiwyMDQ4KTthLkxpPWI7Xy5WZChhLCExKTthLnhCPXZvaWQgMDtyZXR1cm4hMH07Xy5MZj1mdW5jdGlvbihhKXtpZighXy5KZihhKSYmXy5TZChhLGEuTGlbXy5DZF18MCkpdGhyb3cgRXJyb3IoKTt9O18uTWY9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQ2RdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5DZF09Ynw0MDk2KX07Xy5HZj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMmMj8hMDpjJjMyJiYhKGMmNDA5Nik/KGJbXy5DZF09Y3wyLF8uVmQoYSwhMCksITApOiExfTsKXy5PZj1mdW5jdGlvbihhLGIsYyxkLGUpe09iamVjdC5pc0V4dGVuc2libGUoYSk7Yj1fLk5mKGEuTGksYixjLGUpO2lmKGIhPT1udWxsfHxkJiZhLnhCIT09Xy5SZClyZXR1cm4gYn07Xy5OZj1mdW5jdGlvbihhLGIsYyxkKXtpZihiPT09LTEpcmV0dXJuIG51bGw7dmFyIGU9YisoYz8wOi0xKSxmPWEubGVuZ3RoLTE7aWYoIShmPDErKGM/MDotMSkpKXtpZihlPj1mKXt2YXIgZz1hW2ZdO2lmKGchPW51bGwmJnR5cGVvZiBnPT09Im9iamVjdCImJmcuY29uc3RydWN0b3I9PT1PYmplY3Qpe2M9Z1tiXTt2YXIgaD0hMH1lbHNlIGlmKGU9PT1mKWM9ZztlbHNlIHJldHVybn1lbHNlIGM9YVtlXTtpZihkJiZjIT1udWxsKXtkPWQoYyk7aWYoZD09bnVsbClyZXR1cm4gZDtpZighT2JqZWN0LmlzKGQsYykpcmV0dXJuIGg/Z1tiXT1kOmFbZV09ZCxkfXJldHVybiBjfX07Xy5RZj1mdW5jdGlvbihhLGIsYyxkKXtfLkxmKGEpO3ZhciBlPWEuTGk7Xy5QZihlLGVbXy5DZF18MCxiLGMsZCk7cmV0dXJuIGF9OwpfLlBmPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YysoZT8wOi0xKSxnPWEubGVuZ3RoLTE7aWYoZz49MSsoZT8wOi0xKSYmZj49Zyl7bGV0IGg9YVtnXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXJldHVybiBoW2NdPWQsYn1pZihmPD1nKXJldHVybiBhW2ZdPWQsYjtkIT09dm9pZCAwJiYoZz0oYj8/KGI9YVtfLkNkXXwwKSk+PjE0JjEwMjN8fDUzNjg3MDkxMixjPj1nP2QhPW51bGwmJihhW2crKGU/MDotMSldPXtbY106ZH0pOmFbZl09ZCk7cmV0dXJuIGJ9O18uU2Y9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkxpO3JldHVybiBfLlJmKGEsYVtfLkNkXXwwLGIsYyxkKSE9PXZvaWQgMH07Xy5XZj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZmKGEsYVtfLkNkXXwwLGIpfTtfLllmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkxpO3JldHVybiBfLlhmKGEsZCxkW18uQ2RdfDAsYixjLDMpLmxlbmd0aH07Cl8uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLlpmKGEsYixjLHZvaWQgMCxlLGQsMSk7cmV0dXJuIGF9O18uY2c9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dWFhPzI6NH07Cl8uamc9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9YS5MaSxrPWhbXy5DZF18MDtkPV8uU2QoYSxrKT8xOmQ7ZT0hIWV8fGQ9PT0zO2Q9PT0yJiZfLkpmKGEpJiYoaD1hLkxpLGs9aFtfLkNkXXwwKTt2YXIgbT1kZyhoLGIsZykscD1tPT09Xy5lZz83Om1bXy5DZF18MCxxPWZnKHAsayk7dmFyIHU9cTs0JnU/Zj09bnVsbD9hPSExOighZSYmZj09PTAmJig1MTImdXx8MTAyNCZ1KSYmKGEuY29uc3RydWN0b3JbZ2ddPShhLmNvbnN0cnVjdG9yW2dnXXwwKSsxKTw1JiZzZCgpLGE9Zj09PTA/ITE6IShmJnUpKTphPSEwO2lmKGEpezQmcSYmKG09Wy4uLm1dLHA9MCxxPWhnKHEsayksaz1fLlBmKGgsayxiLG0sZykpO2xldCB4PXU9MDtmb3IoO3U8bS5sZW5ndGg7dSsrKXtsZXQgej1jKG1bdV0pO3ohPW51bGwmJihtW3grK109eil9eDx1JiYobS5sZW5ndGg9eCk7Yz0ocXw0KSYtNTEzO3E9YyY9LTEwMjU7ZiYmKHF8PWYpO3EmPS00MDk3fXEhPT1wJiYobVtfLkNkXT1xLDImcSYmT2JqZWN0LmZyZWV6ZShtKSk7CnJldHVybiBtPWlnKG0scSxoLGssYixnLGQsYSxlKX07aWc9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGspe3ZhciBtPWI7Zz09PTF8fChnIT09ND8wOjImYnx8ISgxNiZiKSYmMzImZCk/a2coYil8fChifD0hYS5sZW5ndGh8fGgmJiEoNDA5NiZiKXx8MzImZCYmISg0MDk2JmJ8fDE2JmIpPzI6MjU2LGIhPT1tJiYoYVtfLkNkXT1iKSxPYmplY3QuZnJlZXplKGEpKTooZz09PTImJmtnKGIpJiYoYT1bLi4uYV0sbT0wLGI9aGcoYixkKSxkPV8uUGYoYyxkLGUsYSxmKSksa2coYil8fChrfHwoYnw9MTYpLGIhPT1tJiYoYVtfLkNkXT1iKSkpOzImYnx8ISg0MDk2JmJ8fDE2JmIpfHxfLk1mKGMsZCk7cmV0dXJuIGF9O2RnPWZ1bmN0aW9uKGEsYixjKXthPV8uTmYoYSxiLGMpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6Xy5lZ307Zmc9ZnVuY3Rpb24oYSxiKXsyJmImJihhfD0yKTtyZXR1cm4gYXwxfTtrZz1mdW5jdGlvbihhKXtyZXR1cm4hISgyJmEpJiYhISg0JmEpfHwhISgyNTYmYSl9OwpfLmxnPWZ1bmN0aW9uKGEpe3JldHVybiBfLlhkKGEsITApfTtfLm1nPWZ1bmN0aW9uKGEsYil7YT1fLk9mKGEsYix2b2lkIDAsdm9pZCAwLF8ubGcpO3JldHVybiBhPT1udWxsP18ubGQoKTphfTsKXy5uZz1mdW5jdGlvbihhLGIsYyxkKXtfLkxmKGEpO3ZhciBlPWEuTGksZj1lW18uQ2RdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5QZihlLGYsYiksYTtpZighQXJyYXkuaXNBcnJheShjKSl0aHJvdyBfLnRkKCk7dmFyIGc9Yz09PV8uZWc/NzpjW18uQ2RdfDAsaD1nLGs9a2coZyksbT1rfHxPYmplY3QuaXNGcm96ZW4oYyk7a3x8KGc9MCk7bXx8KGM9Wy4uLmNdLGg9MCxnPWhnKGcsZiksbT0hMSk7Z3w9NTtrPUZkKGcpPz8xMDI0O2d8PWs7Zm9yKGxldCBwPTA7cDxjLmxlbmd0aDtwKyspe2xldCBxPWNbcF0sdT1kKHEsayk7T2JqZWN0LmlzKHEsdSl8fChtJiYoYz1bLi4uY10saD0wLGc9aGcoZyxmKSxtPSExKSxjW3BdPXUpfWchPT1oJiYobSYmKGM9Wy4uLmNdLGc9aGcoZyxmKSksY1tfLkNkXT1nKTtfLlBmKGUsZixiLGMpO3JldHVybiBhfTsKb2c9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5MZihhKTt2YXIgZT1hLkxpO18uUGYoZSxlW18uQ2RdfDAsYiwoZD09PSIwIj9OdW1iZXIoYyk9PT0wOmM9PT1kKT92b2lkIDA6Yyk7cmV0dXJuIGF9O18uVmY9ZnVuY3Rpb24oYSxiLGMpe2lmKGImMil0aHJvdyBFcnJvcigpO3ZhciBkPV8uYmUoYiksZT1kZyhhLGMsZCksZj1lPT09Xy5lZz83OmVbXy5DZF18MCxnPWZnKGYsYik7aWYoMiZnfHxrZyhnKXx8MTYmZylnPT09Znx8a2coZyl8fChlW18uQ2RdPWcpLGU9Wy4uLmVdLGY9MCxnPWhnKGcsYiksXy5QZihhLGIsYyxlLGQpO2cmPS0xMztnIT09ZiYmKGVbXy5DZF09Zyk7cmV0dXJuIGV9O18uc2c9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5MZihhKTthPWEuTGk7dmFyIGU9YVtfLkNkXXwwO2lmKGQ9PW51bGwpe2xldCBmPXBnKGEpO2lmKHFnKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2UgZT1fLnJnKGEsZSxjLGIpO18uUGYoYSxlLGIsZCl9OwpfLnRnPWZ1bmN0aW9uKGEsYixjKXthPWEuTGk7cmV0dXJuIHFnKHBnKGEpLGEsdm9pZCAwLGIpPT09Yz9jOi0xfTtwZz1mdW5jdGlvbihhKXtyZXR1cm4gYVt1Z10/PyhhW3VnXT1uZXcgTWFwKX07Xy5yZz1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9PT0wfHxjLmluY2x1ZGVzKGQpO3ZhciBmPXBnKGEpLGc9cWcoZixhLGIsYyxlKTtnIT09ZCYmKGcmJihiPV8uUGYoYSxiLGcsdm9pZCAwLGUpKSxmLnNldChjLGQpKTtyZXR1cm4gYn07cWc9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLmdldChkKTtpZihmIT1udWxsKXJldHVybiBmO2Y9MDtmb3IobGV0IGc9MDtnPGQubGVuZ3RoO2crKyl7bGV0IGg9ZFtnXTtfLk5mKGIsaCxlKSE9bnVsbCYmKGYhPT0wJiYoYz1fLlBmKGIsYyxmLHZvaWQgMCxlKSksZj1oKX1hLnNldChkLGYpO3JldHVybiBmfTsKXy53Zz1mdW5jdGlvbihhLGIsYyxkLGUpe18uTGYoYSk7YT1hLkxpO3ZhciBmPWFbXy5DZF18MCxnPV8uTmYoYSxjLGUpO2Q9ZD09PV8udmc7Yj1oZihnLGIsIWQsZik7aWYoIWR8fGIpcmV0dXJuIGI9Xy5JZihiKSxnIT09YiYmKGY9Xy5QZihhLGYsYyxiLGUpLF8uTWYoYSxmKSksYn07Xy56Zz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YVtfLkNkXXwwLGU9Xy5iZShkKSxmPV8uTmYoYSxjLGUpO2lmKGYhPW51bGwmJl8uUWQoZikpe2lmKCFfLlNkKGYpKXJldHVybiBfLkpmKGYpLGYuTGk7dmFyIGc9Zi5MaX1lbHNlIEFycmF5LmlzQXJyYXkoZikmJihnPWYpO2lmKGcpe2xldCBoPWdbXy5DZF18MDtoJjImJihnPV8uRmYoZyxoKSl9Zz1fLkRmKGcsYik7ZyE9PWYmJl8uUGYoYSxkLGMsZyxlKTtyZXR1cm4gZ307Cl8uUmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtkPV8uTmYoYSxkLGUsZz0+e3ZhciBoPWhmKGcsYywhMSxiKTtmPWghPT1nJiZoIT1udWxsO3JldHVybiBofSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uU2QoZCkmJl8uTWYoYSxiKSxkfTtfLkc9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkxpO3JldHVybiBfLlJmKGEsYVtfLkNkXXwwLGIsYyxkKXx8YltfLmZmXXx8KGJbXy5mZl09Xy5nZihiKSl9O18uQWc9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5MaSxmPWVbXy5DZF18MDtiPV8uUmYoZSxmLGIsYyxkKTtpZihiPT1udWxsKXJldHVybiBiO2Y9ZVtfLkNkXXwwO2lmKCFfLlNkKGEsZikpe2xldCBnPV8uSWYoYik7ZyE9PWImJihfLkpmKGEpJiYoZT1hLkxpLGY9ZVtfLkNkXXwwKSxiPWcsZj1fLlBmKGUsZixjLGIsZCksXy5NZihlLGYpKX1yZXR1cm4gYn07Cl8uQmc9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5MaTtyZXR1cm4gXy5YZihhLGUsZVtfLkNkXXwwLGIsYywxLGQpfTsKXy5YZj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayl7dmFyIG09Xy5TZChhLGMpO2Y9bT8xOmY7aD0hIWh8fGY9PT0zO209ayYmIW07KGY9PT0yfHxtKSYmXy5KZihhKSYmKGI9YS5MaSxjPWJbXy5DZF18MCk7YT1kZyhiLGUsZyk7dmFyIHA9YT09PV8uZWc/NzphW18uQ2RdfDAscT1mZyhwLGMpO2lmKGs9ISg0JnEpKXt2YXIgdT1hLHg9YztsZXQgej0hISgyJnEpO3omJih4fD0yKTtsZXQgQj0heixLPSEwLE89MCxBPTA7Zm9yKDtPPHUubGVuZ3RoO08rKyl7bGV0IFE9aGYodVtPXSxkLCExLHgpO2lmKFEgaW5zdGFuY2VvZiBkKXtpZigheil7bGV0IGNhPV8uU2QoUSk7QiYmKEI9IWNhKTtLJiYoSz1jYSl9dVtBKytdPVF9fUE8TyYmKHUubGVuZ3RoPUEpO3F8PTQ7cT1LP3EmLTQwOTc6cXw0MDk2O3E9Qj9xfDg6cSYtOX1xIT09cCYmKGFbXy5DZF09cSwyJnEmJk9iamVjdC5mcmVlemUoYSkpO2lmKG0mJiEoOCZxfHwhYS5sZW5ndGgmJihmPT09MXx8KGYhPT00PzA6MiZxfHwhKDE2JgpxKSYmMzImYykpKSl7a2cocSkmJihhPVsuLi5hXSxxPWhnKHEsYyksYz1fLlBmKGIsYyxlLGEsZykpO2Q9YTttPXE7Zm9yKHA9MDtwPGQubGVuZ3RoO3ArKyl1PWRbcF0scT1fLklmKHUpLHUhPT1xJiYoZFtwXT1xKTttfD04O3E9bT1kLmxlbmd0aD9tfDQwOTY6bSYtNDA5NzthW18uQ2RdPXF9cmV0dXJuIGE9aWcoYSxxLGIsYyxlLGcsZixrLGgpfTtfLkNnPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkxpO3JldHVybiBfLlhmKGEsZCxkW18uQ2RdfDAsYixjLF8uY2coKSx2b2lkIDAsITEsITApfTtEZz1mdW5jdGlvbihhLGIpe2EhPW51bGw/ZWYoYSxiKTphPXZvaWQgMDtyZXR1cm4gYX07Xy5FZz1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9RGcoZCxiKTtfLlFmKGEsYyxkLGUpO2QmJiFfLlNkKGQpJiZfLk1mKGEuTGkpO3JldHVybiBhfTtfLkZnPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZT1EZyhlLGIpO18uc2coYSxjLGQsZSk7ZSYmIV8uU2QoZSkmJl8uTWYoYS5MaSk7cmV0dXJuIGF9OwpfLkdnPWZ1bmN0aW9uKGEsYixjLGQpe18uTGYoYSk7dmFyIGU9YS5MaSxmPWVbXy5DZF18MDtpZihkPT1udWxsKXJldHVybiBfLlBmKGUsZixjKSxhO2lmKCFBcnJheS5pc0FycmF5KGQpKXRocm93IF8udGQoKTt2YXIgZz1kPT09Xy5lZz83OmRbXy5DZF18MCxoPWcsaz1rZyhnKSxtPWt8fE9iamVjdC5pc0Zyb3plbihkKSxwPSEwLHE9ITA7Zm9yKGxldCB4PTA7eDxkLmxlbmd0aDt4Kyspe3ZhciB1PWRbeF07ZWYodSxiKTtrfHwodT1fLlNkKHUpLHAmJihwPSF1KSxxJiYocT11KSl9a3x8KGc9cD8xMzo1LGc9cT9nJi00MDk3Omd8NDA5Nik7bSYmZz09PWh8fChkPVsuLi5kXSxoPTAsZz1oZyhnLGYpKTtnIT09aCYmKGRbXy5DZF09Zyk7Zj1fLlBmKGUsZixjLGQpOzImZ3x8ISg0MDk2Jmd8fDE2JmcpfHxfLk1mKGUsZik7cmV0dXJuIGF9O2hnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9KDImYj9hfDI6YSYtMykmLTI3M307Cl8uSGc9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGssbSl7Xy5MZihhKTtiPV8uamcoYSxiLGYsMiwhMCx2b2lkIDAsZyk7Zj1GZChiPT09Xy5lZz83OmJbXy5DZF18MCk/PzEwMjQ7aWYoaylpZihBcnJheS5pc0FycmF5KGQpKWZvcihlPWQubGVuZ3RoLGg9MDtoPGU7aCsrKWIucHVzaChjKGRbaF0sZikpO2Vsc2UgZm9yKGxldCBwIG9mIGQpYi5wdXNoKGMocCxmKSk7ZWxzZSBoJiZtPyhlPz8oZT1iLmxlbmd0aC0xKSxfLllkKGIsZSksYi5zcGxpY2UoZSxoKSk6KGgmJlpkKGIsZSksZSE9dm9pZCAwP2Iuc3BsaWNlKGUsaCxjKGQsZikpOmIucHVzaChjKGQsZikpKTtyZXR1cm4gYX07Cl8uWmY9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXtfLkxmKGEpO3ZhciBrPWEuTGk7YT1fLlhmKGEsayxrW18uQ2RdfDAsYyxiLDIsZCwhMCk7aWYoZyYmaClmPz8oZj1hLmxlbmd0aC0xKSxfLllkKGEsZiksYS5zcGxpY2UoZixnKSxhLmxlbmd0aHx8KGFbXy5DZF0mPS00MDk3KTtlbHNlIHJldHVybiBnPyhaZChhLGYpLGVmKGUsYykpOmU9ZSE9bnVsbD9lZihlLGMpOm5ldyBjLGYhPXZvaWQgMD9hLnNwbGljZShmLGcsZSk6YS5wdXNoKGUpLGY9Yz1hPT09Xy5lZz83OmFbXy5DZF18MCwoZz1fLlNkKGUpKT8oYyY9LTksYS5sZW5ndGg9PT0xJiYoYyY9LTQwOTcpKTpjfD00MDk2LGMhPT1mJiYoYVtfLkNkXT1jKSxnfHxfLk1mKGspLGV9O18uSWc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5FZShfLk9mKGEsYikpfTtfLkpnPWZ1bmN0aW9uKGEsYixjPSExKXtyZXR1cm4gXy5BZShfLk9mKGEsYikpPz9jfTsKXy5LZz1mdW5jdGlvbihhLGIsYz0wKXtyZXR1cm4gXy5HZShfLk9mKGEsYikpPz9jfTtfLkxnPWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLkplKF8uT2YoYSxiKSk/P2N9O18uTmc9ZnVuY3Rpb24oYSxiLGM9Xy5NZyl7cmV0dXJuIF8uT2YoYSxiLHZvaWQgMCx2b2lkIDAsXy5ZZSk/P2N9O18uT2c9ZnVuY3Rpb24oYSxiLGM9MCl7cmV0dXJuIF8uT2YoYSxiLHZvaWQgMCx2b2lkIDAsXy52ZSk/P2N9O18uSD1mdW5jdGlvbihhLGIpe3JldHVybiBfLmRmKF8uT2YoYSxiKSk/PyIifTtfLlBnPWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLklnKGEsYik/P2N9O18uUWc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWGUoXy5PZihhLDEsdm9pZCAwLHZvaWQgMCxfLlllKSk/PyIwIn07Xy5SZz1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBfLmpnKGEsYixfLkdlLGMsZSx2b2lkIDAsZCl9O18uU2c9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5SZyhhLGIsMyx2b2lkIDAsITApO18uWWQoYSxjKTtyZXR1cm4gYVtjXX07Cl8uVGc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5SZyhhLGIsMyx2b2lkIDAsITApLmxlbmd0aH07Xy5VZz1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBfLmpnKGEsYixfLmRmLGMsZSx2b2lkIDAsZCl9O18uVmc9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5VZyhhLGIsMyx2b2lkIDAsITApO18uWWQoYSxjKTtyZXR1cm4gYVtjXX07Xy5XZz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlVnKGEsYiwzLHZvaWQgMCwhMCkubGVuZ3RofTtfLlhnPWZ1bmN0aW9uKGEsYixjKXthPV8uamcoYSxiLF8uRWUsMywhMCk7Xy5ZZChhLGMpO3JldHVybiBhW2NdfTtfLllnPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLkFnKGEsYixfLnRnKGEsZCxjKSx2b2lkIDApfTtfLlpnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZGYoXy5PZihhLGIpKX07Xy4kZz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uUWYoYSxiLGM9PW51bGw/YzpfLnplKGMpKX07Cl8uYWg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBvZyhhLGIsYz09bnVsbD9jOl8uemUoYyksITEpfTtfLmJoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5RZihhLGIsYz09bnVsbD9jOl8uRmUoYykpfTtfLmNoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gb2coYSxiLGM9PW51bGw/YzpfLkZlKGMpLDApfTtfLmRoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5RZihhLGIsYz09bnVsbD9jOl8uSGUoYykpfTtfLmVoPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG9nKGEsMSxiPT1udWxsP2I6Xy5RZShiLHZvaWQgMCksIjAiKX07Xy5oaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG9nKGEsYixjPT1udWxsP2M6Xy51ZShjKSwwKX07Xy5paD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uUWYoYSxiLF8uY2YoYykpfTtfLmpoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gb2coYSxiLF8uY2YoYyksIiIpfTtfLmtoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5RZihhLGIsYz09bnVsbD9jOl8uRGUoYykpfTsKXy5saD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG9nKGEsYixjPT1udWxsP2M6Xy5EZShjKSwwKX07Xy5taD1mdW5jdGlvbihhLGIsYyl7Xy5IZyhhLGIsXy5GZSxjLHZvaWQgMCxfLkdlKX07Xy5uaD1mdW5jdGlvbihhLGIpe3JldHVybiBfLkdlKF8uT2YoYSxiKSkhPW51bGx9O18ucGg9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wLGQ9MCxlPTAsZj1hLnJoLGc9YS5xaDtkb3t2YXIgaD1mW2crK107Y3w9KGgmMTI3KTw8ZTtlKz03fXdoaWxlKGU8MzImJmgmMTI4KTtpZihlPjMyKWZvcihkfD0oaCYxMjcpPj40LGU9MztlPDMyJiZoJjEyODtlKz03KWg9ZltnKytdLGR8PShoJjEyNyk8PGU7b2goYSxnKTtpZighKGgmMTI4KSlyZXR1cm4gYihjPj4+MCxkPj4+MCk7dGhyb3cgRXJyb3IoKTt9OwpfLnFoPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9YS5xaCxkPWMrMTAsZT1hLnJoO2M8ZDspe2xldCBmPWVbYysrXTtifD1mO2lmKChmJjEyOCk9PT0wKXJldHVybiBvaChhLGMpLCEhKGImMTI3KX10aHJvdyBFcnJvcigpO307Xy5yaD1mdW5jdGlvbihhKXt2YXIgYj1hLnJoLGM9YS5xaCxkPWJbYysrXSxlPWQmMTI3O2lmKGQmMTI4JiYoZD1iW2MrK10sZXw9KGQmMTI3KTw8NyxkJjEyOCYmKGQ9YltjKytdLGV8PShkJjEyNyk8PDE0LGQmMTI4JiYoZD1iW2MrK10sZXw9KGQmMTI3KTw8MjEsZCYxMjgmJihkPWJbYysrXSxlfD1kPDwyOCxkJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCkpKSkpdGhyb3cgRXJyb3IoKTtvaChhLGMpO3JldHVybiBlfTtfLnNoPWZ1bmN0aW9uKGEpe3JldHVybiBfLnJoKGEpPj4+MH07Xy50aD1mdW5jdGlvbihhKXtyZXR1cm4gXy5waChhLF8ucWUpfTsKXy52aD1mdW5jdGlvbihhKXt2YXIgYj1hLnhoO2J8fChiPWEucmgsYj1hLnhoPW5ldyBEYXRhVmlldyhiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsYi5ieXRlTGVuZ3RoKSk7Yj1iLmdldEZsb2F0NjQoYS5xaCwhMCk7Xy51aChhLDgpO3JldHVybiBifTt2YWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ucmgoYSl9O29oPWZ1bmN0aW9uKGEsYil7YS5xaD1iO2lmKGI+YS5zaCl0aHJvdyBFcnJvcigpO307Xy51aD1mdW5jdGlvbihhLGIpe29oKGEsYS5xaCtiKX07Xy53aD1mdW5jdGlvbihhLGIpe2lmKGI8MCl0aHJvdyBFcnJvcigpO3ZhciBjPWEucWg7Yj1jK2I7aWYoYj5hLnNoKXRocm93IEVycm9yKCk7YS5xaD1iO3JldHVybiBjfTsKXy56aD1mdW5jdGlvbihhLGIpe3ZhciBjPV8ud2goYSxiKTt2YXIgZD1hLnJoOyhhPXhoKXx8KGE9eGg9bmV3IFRleHREZWNvZGVyKCJ1dGYtOCIse2ZhdGFsOiEwfSkpO2I9YytiO2Q9Yz09PTAmJmI9PT1kLmxlbmd0aD9kOmQuc3ViYXJyYXkoYyxiKTt0cnl7dmFyIGU9YS5kZWNvZGUoZCl9Y2F0Y2goZil7aWYoeWg9PT12b2lkIDApe3RyeXthLmRlY29kZShuZXcgVWludDhBcnJheShbMTI4XSkpfWNhdGNoKGcpe310cnl7YS5kZWNvZGUobmV3IFVpbnQ4QXJyYXkoWzk3XSkpLHloPSEwfWNhdGNoKGcpe3loPSExfX0heWgmJih4aD12b2lkIDApO3Rocm93IGY7fXJldHVybiBlfTsKXy5BaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5yaC5zaCxlPV8uc2goYS5yaCk7ZT1hLnJoLmdldEN1cnNvcigpK2U7dmFyIGY9ZS1kO2Y8PTAmJihhLnJoLnNoPWUsYyhiLGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApLGY9ZS1hLnJoLmdldEN1cnNvcigpKTtpZihmKXRocm93IEVycm9yKCk7YS5yaC5zZXRDdXJzb3IoZSk7YS5yaC5zaD1kO3JldHVybiBifTtfLkNoPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2goYS5yaCk7cmV0dXJuIF8uemgoYS5yaCxiKX07Xy5EaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5zaChhLnJoKTtmb3IoZD1hLnJoLmdldEN1cnNvcigpK2Q7YS5yaC5nZXRDdXJzb3IoKTxkOyljLnB1c2goYihhLnJoKSl9O18uRmg9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkVoKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTsKXy5IaD1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gR2h8fChHaD1uZXcgXy5FaCgwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7Xy5zZShhKTtyZXR1cm4gbmV3IF8uRWgoXy5lZSxfLmdlKX07Cl8uUGg9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIElofHwoSWg9bmV3IEJpZ0ludDY0QXJyYXkoMSksSmg9bmV3IFVpbnQzMkFycmF5KEloLmJ1ZmZlciksSWhbMF09QmlnSW50KDEpLEtoPUpoWzBdPT09MSksSWhbMF09YSxhPUtoPzA6MSxuZXcgYihKaFthXSxKaFsxLWFdKTtMaHx8KE1oPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmg9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxPaD1CaWdJbnQoNDI5NDk2NzI5NSksTGg9QmlnSW50KDMyKSk7aWYoYT49TWgmJmE8PU5oKXJldHVybiBjKE51bWJlcihhKSk7YT1CaWdJbnQuYXNVaW50Tig2NCxhKTtyZXR1cm4gbmV3IGIoTnVtYmVyKGEmT2gpLE51bWJlcihhPj5MaCkpfTtfLlFoPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEucWgucHVzaChiJjEyN3wxMjgpLGI9KGI+Pj43fGM8PDI1KT4+PjAsYz4+Pj03O2EucWgucHVzaChiKX07Cl8uUmg9ZnVuY3Rpb24oYSxiKXthLnFoLnB1c2goYj4+PjAmMjU1KTthLnFoLnB1c2goYj4+PjgmMjU1KTthLnFoLnB1c2goYj4+PjE2JjI1NSk7YS5xaC5wdXNoKGI+Pj4yNCYyNTUpfTtfLlNoPWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5xaC5wdXNoKGImMTI3fDEyOCksYj4+Pj03O2EucWgucHVzaChiKX07Xy5UaD1mdW5jdGlvbihhLGIpe2lmKGI+PTApXy5TaChhLGIpO2Vsc2V7Zm9yKGxldCBjPTA7Yzw5O2MrKylhLnFoLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLnFoLnB1c2goMSl9fTtYaD1mdW5jdGlvbihhLGIpe2IubGVuZ3RoIT09MCYmKGEuc2gucHVzaChiKSxhLnJoKz1iLmxlbmd0aCl9O18uWWg9ZnVuY3Rpb24oYSxiLGMpe18uU2goYS5xaCxiKjgrYyl9O18uWmg9ZnVuY3Rpb24oYSxiKXtfLlloKGEsYiwyKTtiPWEucWguZW5kKCk7WGgoYSxiKTtiLnB1c2goYS5yaCk7cmV0dXJuIGJ9OwpfLiRoPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5wb3AoKTtmb3IoYz1hLnJoK2EucWgubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEucmgrKztiLnB1c2goYyk7YS5yaCsrfTtfLmFpPWZ1bmN0aW9uKGEpe1hoKGEsYS5xaC5lbmQoKSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5yaCksYz1hLnNoLGQ9Yy5sZW5ndGgsZT0wO2ZvcihsZXQgZj0wO2Y8ZDtmKyspe2xldCBnPWNbZl07Yi5zZXQoZyxlKTtlKz1nLmxlbmd0aH1hLnNoPVtiXTtyZXR1cm4gYn07Ymk9ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKF8uWWgoYSxiLDApLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5xaDtfLmtlKGMpO18uUWgoYSxfLmVlLF8uZ2UpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1fLlBoKGMsXy5FaCxfLkZoKTtfLlFoKGEucWgsYy5sbyxjLmhpKTticmVhaztkZWZhdWx0OmM9Xy5IaChjKSxfLlFoKGEucWgsYy5sbyxjLmhpKX19OwpjaT1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5ZaChhLGIsMCksXy5UaChhLnFoLGMpKX07Xy5kaT1mdW5jdGlvbihhLGIsYyl7Xy5ZaChhLGIsMik7Xy5TaChhLnFoLGMubGVuZ3RoKTtYaChhLGEucWguZW5kKCkpO1hoKGEsYyl9O18uZWk9ZnVuY3Rpb24oYSxiLGMsZCl7YyE9bnVsbCYmKGI9Xy5aaChhLGIpLGQoYyxhKSxfLiRoKGEsYikpfTtfLmZpPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpfLkhoKGEpfX07Z2k9ZnVuY3Rpb24oKXt2YXIgYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3Rocm93IEVycm9yKCk7fX07T2JqZWN0LnNldFByb3RvdHlwZU9mKGEsYS5wcm90b3R5cGUpO3JldHVybiBhfTtoaT1mdW5jdGlvbihhKXt2YXIgYj13YWE7Xy5xZihhLkxpLGIucWgpO18ucGYoYSxiLnFoLGIudGgpO3JldHVybiBiLmd3P18uQmcoYSxiLlduLGIucWgsYi5yaCk6Xy5HKGEsYi5XbixiLnFoLGIucmgpfTsKXy5paT1mdW5jdGlvbihhLGIpe2lmKGI9PW51bGwpcmV0dXJuIG5ldyBhO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCk7aWYoT2JqZWN0LmlzRnJvemVuKGIpfHxPYmplY3QuaXNTZWFsZWQoYil8fCFPYmplY3QuaXNFeHRlbnNpYmxlKGIpKXRocm93IEVycm9yKCk7cmV0dXJuIG5ldyBhKEhkKGIpKX07Xy5saT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgamkoYSxiLCExLGtpKX07bmk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmVpKGEsYyxfLm1pKGIsZCksZSl9OwpfLnJpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ZVthXTtpZihmKXJldHVybiBmO2I9Yj9iKCk6e307Yi5pQT1lO2IuZnE9Xy56ZihlWzBdKTt2YXIgZz1lWzFdO2Y9MTtnJiZnLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYoYi5vbD1nLGc9ZVsrK2ZdLHR5cGVvZiBnPT09ImZ1bmN0aW9uIiYmKGIuckk9ITAsXy5vaT8/KF8ub2k9ZykscGk/PyhwaT1lW2YrMV0pLGc9ZVtmKz0yXSkpO2Zvcih2YXIgaD17fTtnJiZBcnJheS5pc0FycmF5KGcpJiZnLmxlbmd0aCYmdHlwZW9mIGdbMF09PT0ibnVtYmVyIiYmZ1swXT4wOyl7Zm9yKHZhciBrPTA7azxnLmxlbmd0aDtrKyspaFtnW2tdXT1nO2c9ZVsrK2ZdfWZvcihrPTE7ZyE9PXZvaWQgMDspe3R5cGVvZiBnPT09Im51bWJlciImJihrKz1nLGc9ZVsrK2ZdKTtsZXQgcTt2YXIgbT12b2lkIDA7ZyBpbnN0YW5jZW9mIGppP3E9ZzoocT14YWEsZi0tKTtpZihxPy5yaCl7Zz1lWysrZl07bT1lO3ZhciBwPWY7dHlwZW9mIGc9PT0iZnVuY3Rpb24iJiYKKGc9ZygpLG1bcF09Zyk7bT1nfWc9ZVsrK2ZdO3A9aysxO3R5cGVvZiBnPT09Im51bWJlciImJmc8MCYmKHAtPWcsZz1lWysrZl0pO2Zvcig7azxwO2srKyl7bGV0IHU9aFtrXTttP2QoYixrLHEsbSx1KTpjKGIsayxxLHUpfX1yZXR1cm4gZVthXT1ifTtfLnNpPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpP2FbMF1pbnN0YW5jZW9mIGppP2E6W3lhYSxhXTpbYSx2b2lkIDBdfTtfLm1pPWZ1bmN0aW9uKGEsYil7aWYoYSBpbnN0YW5jZW9mIF8uSSlyZXR1cm4gYS5MaTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLkRmKGEsYil9O18udGk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ucmkoemFhLHZvaWQgMCxBYWEsQmFhLGEpfTtBYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy52Q307QmFhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz1jLnZDO2FbYl09KGgsayxtKT0+ZyhoLGssbSxmfHwoZj1fLnRpKGQpLmZxKSxlfHwoZT11aShkKSkpfTsKdWk9ZnVuY3Rpb24oYSl7dmFyIGI9YVt2aV07aWYoIWIpe2xldCBjPV8udGkoYSk7Yj0oZCxlKT0+Xy53aShkLGUsYyk7YVt2aV09Yn1yZXR1cm4gYn07Xy53aT1mdW5jdGlvbihhLGIsYyl7Xy4kZChhLGFbXy5DZF18MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUNhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGQoXy54aSwzKX19KTsoYT1fLmxmKGEpKSYmXy5tZihhLChkLGUsZik9PntYaChiLGIucWguZW5kKCkpO2ZvcihkPTA7ZDxmLmxlbmd0aDtkKyspWGgoYixfLnFkKGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07Q2FhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YVtiXTtpZihjKXJldHVybiBjO2lmKGM9YS5vbClpZihjPWNbYl0pe2M9Xy5zaShjKTt2YXIgZD1jWzBdLnZDO2lmKGM9Y1sxXSl7bGV0IGU9dWkoYyksZj1fLnRpKGMpLmZxO2M9YS5yST9waShmLGUpOihnLGgsayk9PmQoZyxoLGssZixlKX1lbHNlIGM9ZDtyZXR1cm4gYVtiXT1jfX07Cl8ueWk9ZnVuY3Rpb24oYSxiLGMpe2lmKEFycmF5LmlzQXJyYXkoYikpe3ZhciBkPWJbXy5DZF18MDtpZihkJjQpcmV0dXJuIGI7Zm9yKHZhciBlPTAsZj0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZz1hKGJbZV0pO2chPW51bGwmJihiW2YrK109Zyl9ZjxlJiYoYi5sZW5ndGg9Zik7YT1kfDE7YyYmKGE9KGF8NCkmLTE1MzcpO2EhPT1kJiYoYltfLkNkXT1hKTtjJiZhJjImJk9iamVjdC5mcmVlemUoYik7cmV0dXJuIGJ9fTtfLnppPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGc9MDtnPGIubGVuZ3RoO2crKylmKGEsYltnXSxjLGQsZSk7YT1iW18uQ2RdfDA7YSYxfHwoYltfLkNkXT1hfDEpfX07Xy5BaT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG5ldyBqaShhLGIsITEsYyl9O18uQ2k9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgamkoYSxiLEJpLGMpfTtfLkRpPWZ1bmN0aW9uKGEsYixjPWtpKXtyZXR1cm4gbmV3IGppKGEsYixCaSxjKX07Cl8uRWk9ZnVuY3Rpb24oYSxiLGMpe18uUGYoYSxhW18uQ2RdfDAsYixjLF8uYmUoYVtfLkNkXXwwKSl9O18uRmk9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5EZih2b2lkIDAsYik7Xy5WZihhLGFbXy5DZF18MCxjKS5wdXNoKGIpO3JldHVybiBifTtfLkdpPWZ1bmN0aW9uKGEsYixjKXtiPV8udmUoYik7YiE9bnVsbCYmKF8uWWgoYSxjLDEpLGE9YS5xaCxfLm1lKGIpLF8uUmgoYSxfLmVlKSxfLlJoKGEsXy5nZSkpfTtfLkhpPWZ1bmN0aW9uKGEsYixjKXtiPV8uYWYoYik7YiE9bnVsbCYmKF8uZmkoYiksYmkoYSxjLGIpKX07Xy5JaT1mdW5jdGlvbihhLGIsYyl7Yj1fLkdlKGIpO2IhPW51bGwmJmIhPW51bGwmJihfLlloKGEsYywwKSxfLlRoKGEucWgsYikpfTtfLkppPWZ1bmN0aW9uKGEsYixjKXtiPV8uQWUoYik7YiE9bnVsbCYmKF8uWWgoYSxjLDApLGEucWgucWgucHVzaChiPzE6MCkpfTtfLktpPWZ1bmN0aW9uKGEsYixjKXtiPV8uZGYoYik7YiE9bnVsbCYmXy5kaShhLGMsemIoYikpfTsKXy5MaT1mdW5jdGlvbihhLGIsYyxkLGUpe18uZWkoYSxjLF8ubWkoYixkKSxlKX07Xy5NaT1mdW5jdGlvbihhLGIsYyl7Yj1fLkplKGIpO2IhPW51bGwmJmIhPW51bGwmJihfLlloKGEsYywwKSxfLlNoKGEucWgsYikpfTtfLk5pPWZ1bmN0aW9uKGEsYixjKXtjaShhLGMsXy5HZShiKSl9O18uT2k9ZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wKXJldHVybiExO18uRWkoYixjLF8udGgoYS5yaCkpO3JldHVybiEwfTtfLlBpPWZ1bmN0aW9uKGEsYixjKXthLnFoIT09MCYmYS5xaCE9PTI/YT0hMTooYj1fLldmKGIsYyksYS5xaD09Mj9fLkRoKGEsXy50aCxiKTpiLnB1c2goXy50aChhLnJoKSksYT0hMCk7cmV0dXJuIGF9O18uUWk9ZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wJiZhLnFoIT09MilyZXR1cm4hMTtiPV8uV2YoYixjKTthLnFoPT0yP18uRGgoYSxfLnJoLGIpOmIucHVzaChfLnJoKGEucmgpKTtyZXR1cm4hMH07Cl8uUmk9ZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wJiZhLnFoIT09MilyZXR1cm4hMTtiPV8uV2YoYixjKTthLnFoPT0yP18uRGgoYSx2YWEsYik6Yi5wdXNoKF8ucmgoYS5yaCkpO3JldHVybiEwfTtEYWE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMgaW4gYSlpc05hTihjKXx8YigrYyxhW2NdLCExKTtjPWEud0g/PyhhLndIPXt9KTtmb3IodmFyIGQgaW4gYS5vbCl7bGV0IGU9K2Q7aWYoaXNOYU4oZSkpY29udGludWU7aWYoY1tlXSljb250aW51ZTtsZXQgW2YsZ109Xy5zaShhLm9sW2VdKSxoPWc7aCYmdHlwZW9mIGg9PT0iZnVuY3Rpb24iJiYoaD1oKCkpO2NbZV09aD9uZXcgU2koaCxmLnFoLGYuWHQsITEsaCk6bmV3IFRpKGYucWgsZi5YdCl9YT1hLndIO2ZvcihsZXQgZSBpbiBhKWQ9K2UsaXNOYU4oZCl8fGIoZCxhW2RdLCEwKX07VWk9ZnVuY3Rpb24oYSxiLGMpe2FbYl09bmV3IFRpKGMucWgsYy5YdCl9OwpWaT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1fLnpmKGRbMF0pO2U9ZT9lPT09Xy54ZjohMTthW2JdPW5ldyBTaShkLGMucWgsZT9CaTpjLlh0LGU/RWFhOiExLGQpfTtfLldpPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCgpPT57dmFyIGM9bmV3IEZhYShhLGIpO3JldHVybigpPT5jfSkoKX07Xy5YaT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gbmV3IEdhYShhLGIsYyxkKX07Xy4kaT1mdW5jdGlvbihhLGIpe3ZhciBjO3JldHVybigpPT57dmFyIGQ7aWYoKGQ9Yyk9PW51bGwpe2lmKCEoYT8ucHJvdG90eXBlIGluc3RhbmNlb2YgXy5JKSl0aHJvdyBFcnJvcigpO2FbXy5mZl18fChhW18uZmZdPV8uZ2YoYSkpO25ldyBhO2Q9Yz17W1lpXTpiLFtaaV06YX19cmV0dXJuIGR9fTsKXy5haj1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2I9SlNPTi5wYXJzZShiKTtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBFcnJvcigiRXhwZWN0ZWQganNwYiBkYXRhIHRvIGJlIGFuIGFycmF5LCBnb3QgIitYYShiKSsiOiAiK2IpO18uR2QoYik7cmV0dXJuIG5ldyBhKGIpfX07Xy5iaj1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2lmKGI9PW51bGx8fGI9PSIiKWI9bmV3IGE7ZWxzZXtiPUpTT04ucGFyc2UoYik7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoImRuYXJyIik7Yj1uZXcgYShIZChiKSl9cmV0dXJuIGJ9fTtfLmNqPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaGgoYSwxLGIpfTtfLmRqPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaGgoYSwyLGIpfTtfLmVqPWZ1bmN0aW9uKGEsYil7TnVtYmVyLmlzRmluaXRlKGIpfHwoYj0wKTthPV8uZWgoYSxNYXRoLmZsb29yKGIvMUUzKSk7cmV0dXJuIF8uY2goYSwyLChiJTFFMysxRTMpJTFFMyoxRTYpfTsKXy5maj1mdW5jdGlvbihhLGIsYyl7Zm9yKGxldCBkIGluIGEpYi5jYWxsKGMsYVtkXSxkLGEpfTtIYWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fTtmb3IobGV0IGQgaW4gYSljW2RdPWIuY2FsbCh2b2lkIDAsYVtkXSxkLGEpO3JldHVybiBjfTtfLmlqPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9MDtmb3IobGV0IGQgaW4gYSliW2MrK109YVtkXTtyZXR1cm4gYn07Xy5qaj1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5saj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBjPWFyZ3VtZW50c1tlXTtmb3IoZCBpbiBjKWFbZF09Y1tkXTtmb3IobGV0IGY9MDtmPGtqLmxlbmd0aDtmKyspe3ZhciBkPWtqW2ZdO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjLGQpJiYoYVtkXT1jW2RdKX19fTsKSWFhPWZ1bmN0aW9uKCl7dmFyIGE9bnVsbDtpZighbWopcmV0dXJuIGE7dHJ5e2xldCBiPWM9PmM7YT1tai5jcmVhdGVQb2xpY3koImdvb2dsZS1tYXBzLWFwaSNodG1sIix7Y3JlYXRlSFRNTDpiLGNyZWF0ZVNjcmlwdDpiLGNyZWF0ZVNjcmlwdFVSTDpifSl9Y2F0Y2goYil7fXJldHVybiBhfTtfLm9qPWZ1bmN0aW9uKCl7bmo9PT12b2lkIDAmJihuaj1JYWEoKSk7cmV0dXJuIG5qfTtfLnFqPWZ1bmN0aW9uKGEpe3ZhciBiPV8ub2ooKTthPWI/Yi5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IF8ucGooYSl9O18ucmo9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8ucGopcmV0dXJuIGEucWg7dGhyb3cgRXJyb3IoIiIpO307Xy50aj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uc2ooYSl9O3ZqPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy51aihiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9OwpfLnhqPWZ1bmN0aW9uKGEpe3ZhciBiPV8ub2ooKTthPWI/Yi5jcmVhdGVIVE1MKGEpOmE7cmV0dXJuIG5ldyB3aihhKX07Xy55aj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2Ygd2opcmV0dXJuIGEucWg7dGhyb3cgRXJyb3IoIiIpO307SmFhPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18uS2FhPWZ1bmN0aW9uKGEpe3ZhciBiPUphYSgic2NyaXB0IixhLm93bmVyRG9jdW1lbnQpO2ImJmEuc2V0QXR0cmlidXRlKCJub25jZSIsYil9O18uemo9ZnVuY3Rpb24oYSxiKXtpZihhLm5vZGVUeXBlPT09MSYmL14oc2NyaXB0fHN0eWxlKSQvaS50ZXN0KGEudGFnTmFtZSkpdGhyb3cgRXJyb3IoIiIpO2EuaW5uZXJIVE1MPV8ueWooYil9OwpfLkJqPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkFqKXJldHVybiBhLnFoO3Rocm93IEVycm9yKCIiKTt9O18uQ2o9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYSkpfTtMYWE9ZnVuY3Rpb24oYSl7dmFyIGI9MTthPWEuc3BsaXQoIjoiKTtmb3IodmFyIGM9W107Yj4wJiZhLmxlbmd0aDspYy5wdXNoKGEuc2hpZnQoKSksYi0tO2EubGVuZ3RoJiZjLnB1c2goYS5qb2luKCI6IikpO3JldHVybiBjfTtfLkVqPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIubWF0Y2goXy5EailbYV18fG51bGx9OwpfLkZqPWZ1bmN0aW9uKGEsYixjKXtjPWMhPW51bGw/Ij0iK18uQ2ooYyk6IiI7aWYoYis9Yyl7Yz1hLmluZGV4T2YoIiMiKTtjPDAmJihjPWEubGVuZ3RoKTtsZXQgZD1hLmluZGV4T2YoIj8iKSxlO2Q8MHx8ZD5jPyhkPWMsZT0iIik6ZT1hLnN1YnN0cmluZyhkKzEsYyk7YT1bYS5zbGljZSgwLGQpLGUsYS5zbGljZShjKV07Yz1hWzFdO2FbMV09Yj9jP2MrIiYiK2I6YjpjO2E9YVswXSsoYVsxXT8iPyIrYVsxXToiIikrYVsyXX1yZXR1cm4gYX07Xy5Haj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQWooYVswXSl9O0hqPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gbmV3IFVSTChhLHdpbmRvdy5kb2N1bWVudC5iYXNlVVJJKX1jYXRjaChiKXtyZXR1cm4gbmV3IFVSTCgiYWJvdXQ6aW52YWxpZCIpfX07TWFhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5jcmVhdGVSYW5nZSgpO2Muc2VsZWN0Tm9kZShiLmJvZHkpO2E9Xy54aihhKTtyZXR1cm4gYy5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoXy55aihhKSl9OwpOYWE9ZnVuY3Rpb24oYSl7YT1hLm5vZGVOYW1lO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciP2E6IkZPUk0ifTtPYWE9ZnVuY3Rpb24oYSl7YT1hLm5vZGVUeXBlO3JldHVybiBhPT09MXx8dHlwZW9mIGEhPT0ibnVtYmVyIn07UGFhPWZ1bmN0aW9uKGEsYixjKXtjPWEucWguZ2V0KGMpO3JldHVybiBjPy5oYXMoYik/Yy5nZXQoYik6YS50aC5oYXMoYik/e09tOjF9OihjPWEud2guZ2V0KGIpKT9jOmEucmgmJlsuLi5hLnJoXS5zb21lKGQ9PmIuaW5kZXhPZihkKT09PTApP3tPbToxfTp7T206MH19O18uSWo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpO2E9UWFhKGEsYixjKTtjPWMuYm9keTtjLmFwcGVuZENoaWxkKGEpO2M9KG5ldyBYTUxTZXJpYWxpemVyKS5zZXJpYWxpemVUb1N0cmluZyhjKTtjPWMuc2xpY2UoYy5pbmRleE9mKCI+IikrMSxjLmxhc3RJbmRleE9mKCI8LyIpKTtyZXR1cm4gXy54aihjKX07ClFhYT1mdW5jdGlvbihhLGIsYyl7Yj1NYWEoYixjKTtiPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoYiw1LGc9PntpZihnLm5vZGVUeXBlPT09MylnPTE7ZWxzZSBpZihPYWEoZykpaWYoZz1OYWEoZyksZz09PW51bGwpZz0yO2Vsc2V7dmFyIGg9YS5zaDtnPWchPT0iRk9STSImJihoLnNoLmhhcyhnKXx8aC5xaC5oYXMoZykpPzE6Mn1lbHNlIGc9MjtyZXR1cm4gZ30pO2Zvcih2YXIgZD1iLm5leHROb2RlKCksZT1jLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxmPWU7ZCE9PW51bGw7KXtsZXQgZztpZihkLm5vZGVUeXBlPT09MylhLndoJiZmLm5vZGVOYW1lPT09IlNUWUxFIj8oZD1hLndoKGQuZGF0YSksZz1hLmNyZWF0ZVRleHROb2RlKGQpKTpnPWEuY3JlYXRlVGV4dE5vZGUoZC5kYXRhKTtlbHNlIGlmKE9hYShkKSlnPVJhYShhLGQsYyk7ZWxzZSB0aHJvdyBFcnJvcigiIik7Zi5hcHBlbmRDaGlsZChnKTtpZihkPWIuZmlyc3RDaGlsZCgpKWY9ZztlbHNlIGZvcig7IShkPWIubmV4dFNpYmxpbmcoKSkmJgooZD1iLnBhcmVudE5vZGUoKSk7KWY9Zi5wYXJlbnROb2RlfXJldHVybiBlfTsKUmFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1OYWEoYik7Yz1jLmNyZWF0ZUVsZW1lbnQoZCk7Yj1iLmF0dHJpYnV0ZXM7Zm9yKGxldCB7bmFtZTpoLHZhbHVlOmt9b2YgYil7dmFyIGU9UGFhKGEuc2gsaCxkKSxmO2E6e2lmKGY9ZS5jb25kaXRpb25zKWZvcihsZXQgW20scF1vZiBmKXtmPXA7dmFyIGc9Yi5nZXROYW1lZEl0ZW0obSk/LnZhbHVlO2lmKGcmJiFmLmhhcyhnKSl7Zj0hMTticmVhayBhfX1mPSEwfWlmKGYpc3dpdGNoKGUuT20pe2Nhc2UgMTpKaihjLGgsayk7YnJlYWs7Y2FzZSAyOnRocm93IEVycm9yKCk7Y2FzZSAzOkpqKGMsaCxrLnRvTG93ZXJDYXNlKCkpO2JyZWFrO2Nhc2UgNDphLnRoPyhlPWEudGgoayksSmooYyxoLGUpKTpKaihjLGgsayk7YnJlYWs7Y2FzZSA1OmEucWg/KGU9e3R5cGU6MixhdHRyaWJ1dGVOYW1lOmgscUg6ZH0sZj1IaihrKSwoZT1hLnFoKGYsZSkpJiZKaihjLGgsZS50b1N0cmluZygpKSk6SmooYyxoLGspO2JyZWFrO2Nhc2UgNjppZihhLnFoKXtlPQp7dHlwZToyLGF0dHJpYnV0ZU5hbWU6aCxxSDpkfTtmPVtdO2ZvcihsZXQgbSBvZiBrLnNwbGl0KCIsIikpe2xldCBbcCxxXT1tLnRyaW0oKS5zcGxpdCgvXHMrLywyKTtmLnB1c2goe3VybDpwLFZoOnF9KX1nPWY7Zj17Y3o6W119O2ZvcihsZXQgbSBvZiBnKWc9SGoobS51cmwpLChnPWEucWgoZyxlKSkmJmYuY3oucHVzaCh7dXJsOmcudG9TdHJpbmcoKSxWaDptLlZofSk7SmooYyxoLFNhYShmKSl9ZWxzZSBKaihjLGgsayk7YnJlYWs7Y2FzZSA3OmU9aztpZihhLnJoKXtlPXt0eXBlOjIsYXR0cmlidXRlTmFtZTpoLHFIOmR9O2Y9SGooayk7ZT1hLnJoKGYsZSk7aWYoZT09PW51bGwpYnJlYWs7ZT1lLnRvU3RyaW5nKCl9YTp7Zz12b2lkIDA7Zj1lO3RyeXtnPW5ldyBVUkwoZil9Y2F0Y2gobSl7Zj0iaHR0cHM6IjticmVhayBhfWY9Zy5wcm90b2NvbH1lPWYhPT12b2lkIDAmJlRhYS5pbmRleE9mKGYudG9Mb3dlckNhc2UoKSkhPT0tMT9lOiJhYm91dDppbnZhbGlkI3pDbG9zdXJleiI7CkpqKGMsaCxlKX19cmV0dXJuIGN9O0pqPWZ1bmN0aW9uKGEsYixjKXthLnNldEF0dHJpYnV0ZShiLGMpfTtTYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3oubWFwKGI9Pnt2YXIgYz1iLlZoO3JldHVybmAke2IudXJsfSR7Yz9gICR7Y31gOiIifWB9KS5qb2luKCIgLCAiKX07V2FhPWZ1bmN0aW9uKGEpe3ZhciBiO2lmKChiPWFbVWFhXSkhPW51bGwpYT1iO2Vsc2V7aWYoS2ohPT1Lail0aHJvdyBFcnJvcigpO2E9YVtVYWFdPVZhYShhLnFoKX1yZXR1cm4gYX07Xy5Paj1mdW5jdGlvbihhKXtpZihhW0xqXSlyZXR1cm4gYVtMal07dmFyIGI9bmV3IE1hcCxjPVdhYShhKTtmb3IobGV0IGUgb2YgXy5CZyhjLE1qLDIpKXtjPV8uS2coZSwyKTt2YXIgZD1lLmdldE5hbWUoKTtiLnNldChkLGMpO2Q9aGkoXy5HKGUsTmosMykpO2Q9Xy5kZihfLk9mKGQsMSkpO2QhPT12b2lkIDAmJmIuc2V0KGQsYyl9cmV0dXJuIGFbTGpdPWJ9OwpYYWE9ZnVuY3Rpb24oYSl7aWYoYVtQal0pcmV0dXJuIGFbUGpdO3ZhciBiPW5ldyBNYXAsYz1XYWEoYSk7Zm9yKGxldCBlIG9mIF8uQmcoYyxNaiwyKSl7Yz1fLktnKGUsMik7dmFyIGQ9aGkoXy5HKGUsTmosMykpO2Q9Xy5kZihfLk9mKGQsMSkpPz9lLmdldE5hbWUoKTtsZXQgZj1iLmdldChjKTtmfHwoZj1bXSxiLnNldChjLGYpKTtmLnB1c2goZCl9cmV0dXJuIGFbUGpdPWJ9O18uUWo9ZnVuY3Rpb24oYSl7cmV0dXJuIGFbWWFhXT8/KGFbWWFhXT1uZXcgTWFwKFsuLi5YYWEoYSkuZW50cmllcygpXS5tYXAoKFtiLGNdKT0+W2IsXy5tYShjLCJhdCIpLmNhbGwoYywtMSldKSkpfTtfLiRhYT1mdW5jdGlvbihhKXsoMCxfLlphYSkoYSk7KDAsXy50ZikoYSk7cmV0dXJuKDAsXy50ZikoYSk/TnVtYmVyKGEpOlN0cmluZyhhKX07YWJhPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09IisiPyItIjoiXyJ9O18uUmo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5iYmEoYSwxLGIpfTsKXy5iYmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7W1lpXTpkLFtaaV06ZX09YztjPV8ucmkoY2JhLHZvaWQgMCxVaSxWaSxkKTtjLm1lc3NhZ2VUeXBlPz8oYy5tZXNzYWdlVHlwZT1lKTt2YXIgZj1TaihhKTthPUFycmF5KDc2OCk7Yz1kYmEoZixjLGIsYSwwKTtpZihiPT09MHx8IWMpcmV0dXJuIGEuam9pbigiIik7YS5zaGlmdCgpO3JldHVybiBhLmpvaW4oIiIpLnJlcGxhY2UoZWJhLCIlMjciKX07CmRiYT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPShhW18uQ2RdfDApJjY0P2E6Xy5EZihhLGIuZnEpLGc9ZltfLkNkXXwwO0RhYShiLChoLGspPT57dmFyIG09Xy5OZihmLGgsXy5iZShnKSk7aWYobSE9bnVsbClpZihrLmlzTWFwJiZtIGluc3RhbmNlb2YgTWFwKW0uZm9yRWFjaCgocCxxKT0+e2U9VGooYyxoLGssW3EscF0sZCxlKX0pO2Vsc2UgaWYoay5ndylmb3IobGV0IHA9MDtwPG0ubGVuZ3RoOysrcCllPVRqKGMsaCxrLG1bcF0sZCxlKTtlbHNlIGU9VGooYyxoLGssbSxkLGUpfSk7cmV0dXJuIGV9OwpUaj1mdW5jdGlvbihhLGIsYyxkLGUsZil7ZVtmKytdPWE9PT0wPyIhIjoiJiI7ZVtmKytdPWI7aWYoYy5kQyBpbnN0YW5jZW9mIGtpfHxjLmRDIGluc3RhbmNlb2YgXy5VailiPVNqKGQpLGQ9Yy5jUT8/KGMuY1E9Xy5yaShjYmEsdm9pZCAwLFVpLFZpLGMuYlEpKSxlW2YrK109Im0iLGVbZisrXT0wLGM9ZixmPWRiYShTaihiKSxkLGEsZSxmKSxlW2MtMV09Zi1jPj4yO2Vsc2V7Yz1jLmRDO2I9Yy5BbTtpZihjIGluc3RhbmNlb2YgXy5XailpZihhPT09MSlkPWVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpO2Vsc2V7YT10eXBlb2YgZD09PSJzdHJpbmciP2Q6YCR7ZH1gO2ZiYS50ZXN0KGEpP2Q9ITE6KGQ9ZW5jb2RlVVJJQ29tcG9uZW50KGEpLnJlcGxhY2UoLyUyMC9nLCIrIiksYz1kLm1hdGNoKC8lWzg5QUJdL2dpKSxjPWEubGVuZ3RoKyhjP2MubGVuZ3RoOjApLGQ9NCpNYXRoLmNlaWwoYy8zKS0oMy1jJTMpJTM8ZC5sZW5ndGgpO2QmJihiPSJ6Iik7aWYoYj09PSJ6Iil7ZD0KW107Yz0wO2ZvcihsZXQgZz0wO2c8YS5sZW5ndGg7ZysrKXtsZXQgaD1hLmNoYXJDb2RlQXQoZyk7aDwxMjg/ZFtjKytdPWg6KGg8MjA0OD9kW2MrK109aD4+NnwxOTI6KChoJjY0NTEyKT09NTUyOTYmJmcrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChnKzEpJjY0NTEyKT09NTYzMjA/KGg9NjU1MzYrKChoJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2cpJjEwMjMpLGRbYysrXT1oPj4xOHwyNDAsZFtjKytdPWg+PjEyJjYzfDEyOCk6ZFtjKytdPWg+PjEyfDIyNCxkW2MrK109aD4+NiY2M3wxMjgpLGRbYysrXT1oJjYzfDEyOCl9YT1fLlVjKGQsNCl9ZWxzZSBhLmluZGV4T2YoIioiKSE9PS0xJiYoYT1hLnJlcGxhY2UoZ2JhLCIqMkEiKSksYS5pbmRleE9mKCIhIikhPT0tMSYmKGE9YS5yZXBsYWNlKGhiYSwiKjIxIikpO2Q9YX1lbHNle2E9ZDtpZighKGMgaW5zdGFuY2VvZiBfLlhqfHxjIGluc3RhbmNlb2YgXy5ZaikpaWYoYyBpbnN0YW5jZW9mIF8uWmopYT1hPzE6MDtlbHNlIGlmKGMgaW5zdGFuY2VvZgpfLldqKWE9U3RyaW5nKGEpO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIF8uYWspe2EgaW5zdGFuY2VvZiBfLmZkfHxhPT1udWxsfHxhIGluc3RhbmNlb2YgXy5mZHx8KGE9dHlwZW9mIGE9PT0ic3RyaW5nIj9hP25ldyBfLmZkKGEsXy5oZCk6Xy5sZCgpOnZvaWQgMCk7aWYoYT09bnVsbCl0aHJvdyBFcnJvcigpO2E9bWQoYSkucmVwbGFjZShpYmEsYWJhKS5yZXBsYWNlKGpiYSwiIil9ZWxzZSBhPWMgaW5zdGFuY2VvZiBfLmJrfHxjIGluc3RhbmNlb2YgXy5jaz9fLkplKGEpOmMgaW5zdGFuY2VvZiBfLmRrfHxjIGluc3RhbmNlb2YgXy5la3x8YyBpbnN0YW5jZW9mIF8uZmt8fGMgaW5zdGFuY2VvZiBfLmdrP18uR2UoYSk6YyBpbnN0YW5jZW9mIF8uaGt8fGMgaW5zdGFuY2VvZiBfLmlrfHxjIGluc3RhbmNlb2Yga2JhP18uWGUoYSk6YyBpbnN0YW5jZW9mIF8uamt8fGMgaW5zdGFuY2VvZiBfLmtrP18uJGUoYSk6YTtkPWF9ZVtmKytdPWI7ZVtmKytdPWR9cmV0dXJuIGZ9OwpTaj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5JKXJldHVybiBhLkxpO2lmKGEgaW5zdGFuY2VvZiBNYXApcmV0dXJuWy4uLmFdO2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE7dGhyb3cgRXJyb3IoKTt9O2xiYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6cmV0dXJuIDA7Y2FzZSA0MDA6cmV0dXJuIDM7Y2FzZSA0MDE6cmV0dXJuIDE2O2Nhc2UgNDAzOnJldHVybiA3O2Nhc2UgNDA0OnJldHVybiA1O2Nhc2UgNDA5OnJldHVybiAxMDtjYXNlIDQxMjpyZXR1cm4gOTtjYXNlIDQyOTpyZXR1cm4gODtjYXNlIDQ5OTpyZXR1cm4gMTtjYXNlIDUwMDpyZXR1cm4gMjtjYXNlIDUwMTpyZXR1cm4gMTI7Y2FzZSA1MDM6cmV0dXJuIDE0O2Nhc2UgNTA0OnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIDJ9fTsKbWJhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuIDIwMDtjYXNlIDM6Y2FzZSAxMTpyZXR1cm4gNDAwO2Nhc2UgMTY6cmV0dXJuIDQwMTtjYXNlIDc6cmV0dXJuIDQwMztjYXNlIDU6cmV0dXJuIDQwNDtjYXNlIDY6Y2FzZSAxMDpyZXR1cm4gNDA5O2Nhc2UgOTpyZXR1cm4gNDEyO2Nhc2UgODpyZXR1cm4gNDI5O2Nhc2UgMTpyZXR1cm4gNDk5O2Nhc2UgMTU6Y2FzZSAxMzpjYXNlIDI6cmV0dXJuIDUwMDtjYXNlIDEyOnJldHVybiA1MDE7Y2FzZSAxNDpyZXR1cm4gNTAzO2Nhc2UgNDpyZXR1cm4gNTA0O2RlZmF1bHQ6cmV0dXJuIDB9fTsKXy5saz1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiJPSyI7Y2FzZSAxOnJldHVybiJDQU5DRUxMRUQiO2Nhc2UgMjpyZXR1cm4iVU5LTk9XTiI7Y2FzZSAzOnJldHVybiJJTlZBTElEX0FSR1VNRU5UIjtjYXNlIDQ6cmV0dXJuIkRFQURMSU5FX0VYQ0VFREVEIjtjYXNlIDU6cmV0dXJuIk5PVF9GT1VORCI7Y2FzZSA2OnJldHVybiJBTFJFQURZX0VYSVNUUyI7Y2FzZSA3OnJldHVybiJQRVJNSVNTSU9OX0RFTklFRCI7Y2FzZSAxNjpyZXR1cm4iVU5BVVRIRU5USUNBVEVEIjtjYXNlIDg6cmV0dXJuIlJFU09VUkNFX0VYSEFVU1RFRCI7Y2FzZSA5OnJldHVybiJGQUlMRURfUFJFQ09ORElUSU9OIjtjYXNlIDEwOnJldHVybiJBQk9SVEVEIjtjYXNlIDExOnJldHVybiJPVVRfT0ZfUkFOR0UiO2Nhc2UgMTI6cmV0dXJuIlVOSU1QTEVNRU5URUQiO2Nhc2UgMTM6cmV0dXJuIklOVEVSTkFMIjtjYXNlIDE0OnJldHVybiJVTkFWQUlMQUJMRSI7Y2FzZSAxNTpyZXR1cm4iREFUQV9MT1NTIjsKZGVmYXVsdDpyZXR1cm4iIn19O18ubWs9ZnVuY3Rpb24oKXt0aGlzLkxoPXRoaXMuTGg7dGhpcy5KaD10aGlzLkpofTtfLm5rPWZ1bmN0aW9uKGEsYil7dGhpcy50eXBlPWE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMucmg9ITF9OwpfLm9rPWZ1bmN0aW9uKGEsYil7Xy5uay5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLnFoPW51bGw7YSYmdGhpcy5pbml0KGEsYil9O18ucGs9ZnVuY3Rpb24oYSl7cmV0dXJuISghYXx8IWFbbmJhXSl9OwpwYmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLmxpc3RlbmVyPWE7dGhpcy5wcm94eT1udWxsO3RoaXMuc3JjPWI7dGhpcy50eXBlPWM7dGhpcy5jYXB0dXJlPSEhZDt0aGlzLm9wPWU7dGhpcy5rZXk9KytvYmE7dGhpcy5xcT10aGlzLmpBPSExfTtxaz1mdW5jdGlvbihhKXthLnFxPSEwO2EubGlzdGVuZXI9bnVsbDthLnByb3h5PW51bGw7YS5zcmM9bnVsbDthLm9wPW51bGx9O3JrPWZ1bmN0aW9uKGEpe3RoaXMuc3JjPWE7dGhpcy5haT17fTt0aGlzLnFoPTB9O3NrPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi50eXBlO2lmKCEoYyBpbiBhLmFpKSlyZXR1cm4hMTt2YXIgZD1fLnljKGEuYWlbY10sYik7ZCYmKHFrKGIpLGEuYWlbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEuYWlbY10sYS5xaC0tKSk7cmV0dXJuIGR9OwpfLnFiYT1mdW5jdGlvbihhKXt2YXIgYj0wO2ZvcihsZXQgYyBpbiBhLmFpKXtsZXQgZD1hLmFpW2NdO2ZvcihsZXQgZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixxayhkW2VdKTtkZWxldGUgYS5haVtjXTthLnFoLS19fTt0az1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5xcSYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYub3A9PWQpcmV0dXJuIGV9cmV0dXJuLTF9O18udms9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpcmV0dXJuIF8udWsoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLnZrKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz13ayhjKTtyZXR1cm4gXy5wayhhKT9fLnhrKGEsYixjLF8uWmEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOnJiYShhLGIsYywhMSxkLGUpfTsKcmJhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighYil0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7dmFyIGc9Xy5aYShlKT8hIWUuY2FwdHVyZTohIWUsaD1fLnlrKGEpO2h8fChhW3prXT1oPW5ldyByayhhKSk7Yz1oLmFkZChiLGMsZCxnLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1zYmEoKTtjLnByb3h5PWQ7ZC5zcmM9YTtkLmxpc3RlbmVyPWM7aWYoYS5hZGRFdmVudExpc3RlbmVyKWU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQodGJhKGIudG9TdHJpbmcoKSksZCk7ZWxzZSBpZihhLmFkZExpc3RlbmVyJiZhLnJlbW92ZUxpc3RlbmVyKWEuYWRkTGlzdGVuZXIoZCk7ZWxzZSB0aHJvdyBFcnJvcigiYWRkRXZlbnRMaXN0ZW5lciBhbmQgYXR0YWNoRXZlbnQgYXJlIHVuYXZhaWxhYmxlLiIpO3ViYSsrO3JldHVybiBjfTsKc2JhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShjKXtyZXR1cm4gYi5jYWxsKGEuc3JjLGEubGlzdGVuZXIsYyl9dmFyIGI9dmJhO3JldHVybiBhfTtfLnVrPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy51ayhhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9d2soYyk7cmV0dXJuIF8ucGsoYSk/YS5TcC5hZGQoU3RyaW5nKGIpLGMsITAsXy5aYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6cmJhKGEsYixjLCEwLGQsZSl9Owp3YmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKXdiYShhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLlphKGQpPyEhZC5jYXB0dXJlOiEhZCxjPXdrKGMpLF8ucGsoYSkpP2EuU3AucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9Xy55ayhhKSkmJihiPWEuYWlbYi50b1N0cmluZygpXSxhPS0xLGImJihhPXRrKGIsYyxkLGUpKSwoYz1hPi0xP2JbYV06bnVsbCkmJl8uQWsoYykpfTsKXy5Baz1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PSJudW1iZXIifHwhYXx8YS5xcSlyZXR1cm4hMTt2YXIgYj1hLnNyYztpZihfLnBrKGIpKXJldHVybiBzayhiLlNwLGEpO3ZhciBjPWEudHlwZSxkPWEucHJveHk7Yi5yZW1vdmVFdmVudExpc3RlbmVyP2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihjLGQsYS5jYXB0dXJlKTpiLmRldGFjaEV2ZW50P2IuZGV0YWNoRXZlbnQodGJhKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7dWJhLS07KGM9Xy55ayhiKSk/KHNrKGMsYSksYy5xaD09MCYmKGMuc3JjPW51bGwsYlt6a109bnVsbCkpOnFrKGEpO3JldHVybiEwfTt0YmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gQ2s/Q2tbYV06Q2tbYV09Im9uIithfTsKdmJhPWZ1bmN0aW9uKGEsYil7aWYoYS5xcSlhPSEwO2Vsc2V7Yj1uZXcgXy5vayhiLHRoaXMpO2xldCBjPWEubGlzdGVuZXIsZD1hLm9wfHxhLnNyYzthLmpBJiZfLkFrKGEpO2E9Yy5jYWxsKGQsYil9cmV0dXJuIGF9O18ueWs9ZnVuY3Rpb24oYSl7YT1hW3prXTtyZXR1cm4gYSBpbnN0YW5jZW9mIHJrP2E6bnVsbH07d2s9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbRGtdfHwoYVtEa109ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtEa119Owp4YmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iTm8gRXJyb3IiO2Nhc2UgMTpyZXR1cm4iQWNjZXNzIGRlbmllZCB0byBjb250ZW50IGRvY3VtZW50IjtjYXNlIDI6cmV0dXJuIkZpbGUgbm90IGZvdW5kIjtjYXNlIDM6cmV0dXJuIkZpcmVmb3ggc2lsZW50bHkgZXJyb3JlZCI7Y2FzZSA0OnJldHVybiJBcHBsaWNhdGlvbiBjdXN0b20gZXJyb3IiO2Nhc2UgNTpyZXR1cm4iQW4gZXhjZXB0aW9uIG9jY3VycmVkIjtjYXNlIDY6cmV0dXJuIkh0dHAgcmVzcG9uc2UgYXQgNDAwIG9yIDUwMCBsZXZlbCI7Y2FzZSA3OnJldHVybiJSZXF1ZXN0IHdhcyBhYm9ydGVkIjtjYXNlIDg6cmV0dXJuIlJlcXVlc3QgdGltZWQgb3V0IjtjYXNlIDk6cmV0dXJuIlRoZSByZXNvdXJjZSBpcyBub3QgYXZhaWxhYmxlIG9mZmxpbmUiO2RlZmF1bHQ6cmV0dXJuIlVucmVjb2duaXplZCBlcnJvciBjb2RlIn19OwpfLkVrPWZ1bmN0aW9uKGEpe2lmKGEuSm0mJnR5cGVvZiBhLkptPT0iZnVuY3Rpb24iKXJldHVybiBhLkptKCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20oYS52YWx1ZXMoKSk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gYS5zcGxpdCgiIik7aWYoXy5ZYShhKSl7bGV0IGI9W10sYz1hLmxlbmd0aDtmb3IobGV0IGQ9MDtkPGM7ZCsrKWIucHVzaChhW2RdKTtyZXR1cm4gYn1yZXR1cm4gXy5paihhKX07Cl8uRms9ZnVuY3Rpb24oYSl7aWYoYS5ScyYmdHlwZW9mIGEuUnM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuUnMoKTtpZighYS5KbXx8dHlwZW9mIGEuSm0hPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShhLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpKXtpZihfLllhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKXt2YXIgYj1bXTthPWEubGVuZ3RoO2Zvcih2YXIgYz0wO2M8YTtjKyspYi5wdXNoKGMpO3JldHVybiBifWI9W107Yz0wO2ZvcihsZXQgZCBpbiBhKWJbYysrXT1kO3JldHVybiBifX19O3liYT1mdW5jdGlvbihhKXt2YXIgYj0iIjtfLmZqKGEsZnVuY3Rpb24oYyxkKXtiKz1kO2IrPSI6IjtiKz1jO2IrPSJcclxuIn0pO3JldHVybiBifTsKXy5Haz1mdW5jdGlvbigpe18ubWsuY2FsbCh0aGlzKTt0aGlzLlNwPW5ldyByayh0aGlzKTt0aGlzLnp2PXRoaXM7dGhpcy53az1udWxsfTtfLnhrPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGEuU3AuYWRkKFN0cmluZyhiKSxjLCExLGQsZSl9O0hrPWZ1bmN0aW9uKGEsYixjLGQpe2I9YS5TcC5haVtTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTt2YXIgZT0hMDtmb3IobGV0IGY9MDtmPGIubGVuZ3RoOysrZil7bGV0IGc9YltmXTtpZihnJiYhZy5xcSYmZy5jYXB0dXJlPT1jKXtsZXQgaD1nLmxpc3RlbmVyLGs9Zy5vcHx8Zy5zcmM7Zy5qQSYmc2soYS5TcCxnKTtlPWguY2FsbChrLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtfLklrPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19Owp6YmE9ZnVuY3Rpb24oKXt9O0prPWZ1bmN0aW9uKCl7fTtfLktrPWZ1bmN0aW9uKGEpe18uR2suY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLkloPWF8fG51bGw7dGhpcy5yaD0hMTt0aGlzLnFoPW51bGw7dGhpcy5BaD0iIjt0aGlzLnNoPTA7dGhpcy54aD0iIjt0aGlzLndoPXRoaXMuR2g9dGhpcy5DaD10aGlzLkZoPSExO3RoaXMuQmg9MDt0aGlzLnRoPW51bGw7dGhpcy5EaD0iIjt0aGlzLnloPSExfTtCYmE9ZnVuY3Rpb24oYSxiKXthLnJoPSExO2EucWgmJihhLndoPSEwLGEucWguYWJvcnQoKSxhLndoPSExKTthLnhoPWI7YS5zaD01O0FiYShhKTtMayhhKX07QWJhPWZ1bmN0aW9uKGEpe2EuRmh8fChhLkZoPSEwLGEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoImVycm9yIikpfTsKQ2JhPWZ1bmN0aW9uKGEpe2lmKGEucmgmJnR5cGVvZiBNayE9InVuZGVmaW5lZCIpaWYoYS5DaCYmXy5OayhhKT09NClzZXRUaW1lb3V0KGEuWUkuYmluZChhKSwwKTtlbHNlIGlmKGEuZGlzcGF0Y2hFdmVudCgicmVhZHlzdGF0ZWNoYW5nZSIpLGEuTW0oKSl7YS5nZXRTdGF0dXMoKTthLnJoPSExO3RyeXtpZihfLk9rKGEpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle2Euc2g9Njt0cnl7dmFyIGI9Xy5OayhhKT4yP2EucWguc3RhdHVzVGV4dDoiIn1jYXRjaChjKXtiPSIifWEueGg9YisiIFsiK2EuZ2V0U3RhdHVzKCkrIl0iO0FiYShhKX19ZmluYWxseXtMayhhKX19fTtMaz1mdW5jdGlvbihhLGIpe2lmKGEucWgpe2EudGgmJihjbGVhclRpbWVvdXQoYS50aCksYS50aD1udWxsKTtsZXQgYz1hLnFoO2EucWg9bnVsbDtifHxhLmRpc3BhdGNoRXZlbnQoInJlYWR5Iik7dHJ5e2Mub25yZWFkeXN0YXRlY2hhbmdlPW51bGx9Y2F0Y2goZCl7fX19OwpfLk9rPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0U3RhdHVzKCksYztpZighKGM9Xy5JayhiKSkpe2lmKGI9Yj09PTApYT1fLkVqKDEsU3RyaW5nKGEuQWgpKSwhYSYmXy5VYS5zZWxmJiZfLlVhLnNlbGYubG9jYXRpb24mJihhPV8uVWEuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksYj0hRGJhLnRlc3QoYT9hLnRvTG93ZXJDYXNlKCk6IiIpO2M9Yn1yZXR1cm4gY307Xy5Oaz1mdW5jdGlvbihhKXtyZXR1cm4gYS5xaD9hLnFoLnJlYWR5U3RhdGU6MH07Xy5Qaz1mdW5jdGlvbihhKXt0cnl7aWYoIWEucWgpcmV0dXJuIG51bGw7aWYoInJlc3BvbnNlImluIGEucWgpcmV0dXJuIGEucWgucmVzcG9uc2U7c3dpdGNoKGEuRGgpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIGEucWgucmVzcG9uc2VUZXh0O2Nhc2UgImFycmF5YnVmZmVyIjppZigibW96UmVzcG9uc2VBcnJheUJ1ZmZlciJpbiBhLnFoKXJldHVybiBhLnFoLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goYil7cmV0dXJuIG51bGx9fTsKRWJhPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2E9YS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKS5zcGxpdCgiXHJcbiIpO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtpZigvXltcc1x4YTBdKiQvLnRlc3QoYVtkXSkpY29udGludWU7dmFyIGM9TGFhKGFbZF0pO2xldCBlPWNbMF07Yz1jWzFdO2lmKHR5cGVvZiBjIT09InN0cmluZyIpY29udGludWU7Yz1jLnRyaW0oKTtsZXQgZj1iW2VdfHxbXTtiW2VdPWY7Zi5wdXNoKGMpfXJldHVybiBIYWEoYixmdW5jdGlvbihkKXtyZXR1cm4gZC5qb2luKCIsICIpfSl9O0ZiYT1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEueGg9PT0ic3RyaW5nIj9hLnhoOlN0cmluZyhhLnhoKX07Xy5IYmE9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBuZXcgR2JhKGIsYSxjKX07SmJhPWZ1bmN0aW9uKGEsYj17fSl7cmV0dXJuIG5ldyBJYmEoYSxiKX07Ck1iYT1mdW5jdGlvbihhKXthLnhoLnJwKCJkYXRhIixiPT57aWYoIjEiaW4gYil7dmFyIGM9YlsiMSJdO2xldCBkO3RyeXtkPWEuemgoYyl9Y2F0Y2goZSl7UWsoYSxuZXcgXy5SaygxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke2V9LCByZXNwb25zZTogJHtjfWApKX1kJiZLYmEoYSxkKX1pZigiMiJpbiBiKWZvcihiPUxiYShhLGJbIjIiXSksYz0wO2M8YS53aC5sZW5ndGg7YysrKWEud2hbY10oYil9KTthLnhoLnJwKCJlbmQiLCgpPT57U2soYSxUayhhKSk7Zm9yKGxldCBiPTA7YjxhLnNoLmxlbmd0aDtiKyspYS5zaFtiXSgpfSk7YS54aC5ycCgiZXJyb3IiLCgpPT57aWYoYS5xaC5sZW5ndGghPT0wKXt2YXIgYj1hLlRpLnNoO2IhPT0wfHxfLk9rKGEuVGkpfHwoYj02KTt2YXIgYz0tMTtzd2l0Y2goYil7Y2FzZSAwOnZhciBkPTI7YnJlYWs7Y2FzZSA3OmQ9MTA7YnJlYWs7Y2FzZSA4OmQ9NDticmVhaztjYXNlIDY6Yz1hLlRpLmdldFN0YXR1cygpOwpkPWxiYShjKTticmVhaztkZWZhdWx0OmQ9MTR9U2soYSxUayhhKSk7Yj14YmEoYikrIiwgZXJyb3I6ICIrRmJhKGEuVGkpO2MhPT0tMSYmKGIrPWAsIGh0dHAgc3RhdHVzIGNvZGU6ICR7Y31gKTtRayhhLG5ldyBfLlJrKGQsYikpfX0pfTtRaz1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0wO2M8YS5xaC5sZW5ndGg7YysrKWEucWhbY10oYil9O1NrPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxhLnRoLmxlbmd0aDtjKyspYS50aFtjXShiKX07VGs9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1FYmEoYS5UaSk7T2JqZWN0LmtleXMoYykuZm9yRWFjaChkPT57YltkXT1jW2RdfSk7cmV0dXJuIGJ9O0tiYT1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0wO2M8YS5yaC5sZW5ndGg7YysrKWEucmhbY10oYil9OwpMYmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0yLGQ9e307dHJ5e2xldCBmO2Y9TmJhKGIpO2M9Xy5LZyhmLDEpO3ZhciBlPWYuZ2V0TWVzc2FnZSgpO18uQ2coZixPYmEsMykubGVuZ3RoJiYoZFsiZ3JwYy13ZWItc3RhdHVzLWRldGFpbHMtYmluIl09Yil9Y2F0Y2goZil7YS5UaSYmYS5UaS5nZXRTdGF0dXMoKT09PTQwND8oYz01LGU9Ik5vdCBGb3VuZDogIitTdHJpbmcoYS5UaS5BaCkpOihjPTE0LGU9YFVuYWJsZSB0byBwYXJzZSBScGNTdGF0dXM6ICR7Zn1gKX1yZXR1cm57Y29kZTpjLGRldGFpbHM6ZSxtZXRhZGF0YTpkfX07ClFiYT1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBQYmE7Xy52ayhhLlRpLCJjb21wbGV0ZSIsKCk9PntpZihfLk9rKGEuVGkpKXt2YXIgZD1hLlRpLlJyKCk7dmFyIGU7aWYoZT1iKWU9YS5UaSxlLnFoJiZlLk1tKCk/KGU9ZS5xaC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIiksZT1lPT09bnVsbD92b2lkIDA6ZSk6ZT12b2lkIDAsZT1lPT09InRleHQvcGxhaW4iO2lmKGUpe2lmKCFhdG9iKXRocm93IEVycm9yKCJDYW5ub3QgZGVjb2RlIEJhc2U2NCByZXNwb25zZSIpO2Q9YXRvYihkKX10cnl7dmFyIGY9YS56aChkKX1jYXRjaChoKXtRayhhLFVrKG5ldyBfLlJrKDEzLGBFcnJvciB3aGVuIGRlc2VyaWFsaXppbmcgcmVzcG9uc2UgZGF0YTsgZXJyb3I6ICR7aH0sIHJlc3BvbnNlOiAke2R9YCksYykpO3JldHVybn1kPWxiYShhLlRpLmdldFN0YXR1cygpKTtTayhhLFRrKGEpKTtkPT09MD9LYmEoYSxmKTpRayhhLFVrKG5ldyBfLlJrKGQsIlhociBzdWNjZWVkZWQgYnV0IHRoZSBzdGF0dXMgY29kZSBpcyBub3QgMjAwIiksCmMpKX1lbHNle2Q9YS5UaS5ScigpO2Y9VGsoYSk7aWYoZCl7dmFyIGc9TGJhKGEsZCk7ZD1nLmNvZGU7ZT1nLmRldGFpbHM7Zz1nLm1ldGFkYXRhfWVsc2UgZD0yLGU9YFJwYyBmYWlsZWQgZHVlIHRvIHhociBlcnJvci4gdXJpOiAke1N0cmluZyhhLlRpLkFoKX0sIGVycm9yIGNvZGU6ICR7YS5UaS5zaH0sIGVycm9yOiAke0ZiYShhLlRpKX1gLGc9ZjtTayhhLGYpO1FrKGEsVWsobmV3IF8uUmsoZCxlLGcpLGMpKX19KX07Vms9ZnVuY3Rpb24oYSxiKXtiPWEuaW5kZXhPZihiKTtiPi0xJiZhLnNwbGljZShiLDEpfTtVaz1mdW5jdGlvbihhLGIpe2Iuc3RhY2smJihhLnN0YWNrKz0iXG4iK2Iuc3RhY2spO3JldHVybiBhfTtXaz1mdW5jdGlvbihhKXt0aGlzLnNoPWEuRHB8fG51bGw7dGhpcy5yaD1hLllQfHwhMX07ClhrPWZ1bmN0aW9uKGEsYil7Xy5Hay5jYWxsKHRoaXMpO3RoaXMuRmg9YTt0aGlzLnloPWI7dGhpcy54aD12b2lkIDA7dGhpcy5zdGF0dXM9dGhpcy5yZWFkeVN0YXRlPTA7dGhpcy5yZXNwb25zZVR5cGU9dGhpcy5yZXNwb25zZVRleHQ9dGhpcy5yZXNwb25zZT10aGlzLnN0YXR1c1RleHQ9IiI7dGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbDt0aGlzLkNoPW5ldyBIZWFkZXJzO3RoaXMucmg9bnVsbDt0aGlzLkRoPSJHRVQiO3RoaXMudGg9IiI7dGhpcy5xaD0hMTt0aGlzLkFoPXRoaXMuc2g9dGhpcy53aD1udWxsO3RoaXMuQmg9bmV3IEFib3J0Q29udHJvbGxlcn07UmJhPWZ1bmN0aW9uKGEpe2Euc2gucmVhZCgpLnRoZW4oYS5uTi5iaW5kKGEpKS5jYXRjaChhLlZBLmJpbmQoYSkpfTtaaz1mdW5jdGlvbihhKXthLnJlYWR5U3RhdGU9NDthLndoPW51bGw7YS5zaD1udWxsO2EuQWg9bnVsbDtZayhhKX07WWs9ZnVuY3Rpb24oYSl7YS5vbnJlYWR5c3RhdGVjaGFuZ2UmJmEub25yZWFkeXN0YXRlY2hhbmdlLmNhbGwoYSl9OwpfLiRrPWZ1bmN0aW9uKGEpe18ubWsuY2FsbCh0aGlzKTt0aGlzLndoPWE7dGhpcy5xaD17fX07Xy5hbD1mdW5jdGlvbihhLGIsYyxkLGUsZil7QXJyYXkuaXNBcnJheShjKXx8KGMmJihTYmFbMF09Yy50b1N0cmluZygpKSxjPVNiYSk7Zm9yKGxldCBnPTA7ZzxjLmxlbmd0aDtnKyspe2xldCBoPV8udmsoYixjW2ddLGR8fGEuaGFuZGxlRXZlbnQsZXx8ITEsZnx8YS53aHx8YSk7aWYoIWgpYnJlYWs7YS5xaFtoLmtleV09aH19O18uYmw9ZnVuY3Rpb24oYSl7Xy5maihhLnFoLGZ1bmN0aW9uKGIsYyl7dGhpcy5xaC5oYXNPd25Qcm9wZXJ0eShjKSYmXy5BayhiKX0sYSk7YS5xaD17fX07VGJhPWZ1bmN0aW9uKGEsYixjKXthLnNoPSExO3Rocm93IEVycm9yKCJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnJoKyIuIEVycm9yOiAiK2MrIi4gV2l0aCBpbnB1dDpcbiIrYik7fTsKY2w9ZnVuY3Rpb24oKXt0aGlzLkFoPW51bGw7dGhpcy56aD1bXTt0aGlzLndoPXRoaXMucWg9dGhpcy50aD10aGlzLnJoPXRoaXMuQ2g9MDt0aGlzLnhoPW51bGw7dGhpcy55aD0wfTtkbD1mdW5jdGlvbihhLGIsYyxkKXthLnJoPTM7YS5BaD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrYS5DaCsiLyIrYysiLiBFcnJvcjogIitkKyIuIFdpdGggaW5wdXQ6XG4iK2I7dGhyb3cgRXJyb3IoYS5BaCk7fTtlbD1mdW5jdGlvbigpe3RoaXMucWg9bnVsbDt0aGlzLnJoPTA7dGhpcy50aD1uZXcgVWJhO3RoaXMud2g9bmV3IGNsfTtWYmE9ZnVuY3Rpb24oYSxiLGMpe2EucWg9IlRoZSBzdHJlYW0gaXMgYnJva2VuIEAiK2EucmgrIi4gRXJyb3I6ICIrYysiLiBXaXRoIGlucHV0OlxuIitiO3Rocm93IEVycm9yKGEucWgpO307Zmw9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07CmdsPWZ1bmN0aW9uKGEpe3RoaXMuQ2g9bnVsbDt0aGlzLnhoPVtdO3RoaXMud2g9IiI7dGhpcy5GaD1bXTt0aGlzLnRoPXRoaXMucmg9MDt0aGlzLnpoPSExO3RoaXMuQWg9MDt0aGlzLkdoPS9bXFwiXS9nO3RoaXMucWg9dGhpcy55aD0wO3RoaXMuRGg9ISghYXx8IWEuak0pfTtobD1mdW5jdGlvbihhLGIsYyl7YS55aD0zO2EuQ2g9IlRoZSBzdHJlYW0gaXMgYnJva2VuIEAiK2EudGgrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLkNoKTt9O2lsPWZ1bmN0aW9uKCl7dGhpcy54aD10aGlzLnRoPW51bGw7dGhpcy5yaD10aGlzLnFoPTA7dGhpcy53aD1bXTt0aGlzLnpoPSExfTsKV2JhPWZ1bmN0aW9uKGEpe3ZhciBiPWEucWg/YS5xaC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIik6bnVsbDtpZighYilyZXR1cm4gbnVsbDtiPWIudG9Mb3dlckNhc2UoKTtyZXR1cm4gYi5zdGFydHNXaXRoKCJhcHBsaWNhdGlvbi9qc29uIik/Yi5zdGFydHNXaXRoKCJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIik/bmV3IGlsOm5ldyBnbDpiLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3gtcHJvdG9idWYiKT8oYT1hLnFoP2EucWguZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9hLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBlbDpudWxsOm5ldyBjbDpudWxsfTtqbD1mdW5jdGlvbihhLGIpe2Eud2ghPWImJihhLndoPWIsYS56aCYmYS56aCgpKX07a2w9ZnVuY3Rpb24oYSl7Xy5ibChhLnloKTtpZihhLnFoKXtsZXQgYj1hLnFoO2EucWg9bnVsbDtiLmFib3J0KCk7Yi5kaXNwb3NlKCl9fTsKWGJhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY107Yi5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RyeXtlKGQpfWNhdGNoKGYpe319KX19O2xsPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5yaFtiXTtjJiZjLmZvckVhY2goZnVuY3Rpb24oZCl7dHJ5e2QoKX1jYXRjaChlKXt9fSk7KGM9YS5xaFtiXSkmJmMuZm9yRWFjaChmdW5jdGlvbihkKXtkKCl9KTthLnFoW2JdPVtdfTtZYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5yZWR1Y2UoKGMsZCk9PmU9PmQuaW50ZXJjZXB0KGUsYyksYSl9OwpiY2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWIuT0ksZT1iLmdldE1ldGFkYXRhKCksZj1fLlpiYShhLCEwKTthPV8uJGJhKGEsZSxmLGMrZC5nZXROYW1lKCkpO2M9Xy5hY2EoZixkLnFoLCExKTtRYmEoYyxlWyJYLUdvb2ctRW5jb2RlLVJlc3BvbnNlLUlmLUV4ZWN1dGFibGUiXT09PSJiYXNlNjQiKTtiPWQucmgoYi5YRSk7Zi5zZW5kKGEsIlBPU1QiLGIpO3JldHVybiBjfTtfLlpiYT1mdW5jdGlvbihhLGIpe2I9YS5zaCYmIWI7cmV0dXJuIGEuVEZ8fGI/bmV3IF8uS2sobmV3IFdrKHtEcDphLlRGLFlQOmJ9KSk6bmV3IF8uS2t9OwpfLiRiYT1mdW5jdGlvbihhLGIsYyxkKXtiWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiI7YlsiWC1Vc2VyLUFnZW50Il09ImdycGMtd2ViLWphdmFzY3JpcHQvMC4xIjt2YXIgZT1iLkF1dGhvcml6YXRpb247aWYoZSYmY2NhLmhhcyhlLnNwbGl0KCIgIilbMF0pfHxhLndpdGhDcmVkZW50aWFscyljLnloPSEwO2lmKGEueEYpYT1kLF8uamooYik/ZD1hOihiPXliYShiKSx0eXBlb2YgYT09PSJzdHJpbmciP2Q9Xy5GaihhLF8uQ2ooIiRodHRwSGVhZGVycyIpLGIpOihhLmh2KCIkaHR0cEhlYWRlcnMiLGIpLGQ9YSkpO2Vsc2UgZm9yKGxldCBmIG9mIE9iamVjdC5rZXlzKGIpKWMuaGVhZGVycy5zZXQoZixiW2ZdKTtyZXR1cm4gZH07Xy5hY2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGMpe2EuaXNBY3RpdmUoKTtjPW5ldyBkY2EoYSk7dmFyIGQ9bmV3IGVjYShjKX1yZXR1cm4gbmV3IGZjYSh7VGk6YSx6TzpkfSxiKX07Cl8ubWw9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSChhLDEwKX07Xy5nY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSChhLDE5KX07Xy5ybD1mdW5jdGlvbihhKXtyZXR1cm4gXy5IKGEsMSl9O2hjYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5MZyhhLDEpfTtfLnNsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkcoYSxpY2EsNCl9O18ua2NhPWZ1bmN0aW9uKGEpe2E9YT8/IkZPTExPV19TWVNURU0iO3JldHVybiBhPT09IkRBUksifHxhPT09IkZPTExPV19TWVNURU0iJiZqY2EubWF0Y2hlc307Xy50bD1mdW5jdGlvbihhKXtyZXR1cm4gYSpNYXRoLlBJLzE4MH07Xy51bD1mdW5jdGlvbihhKXtyZXR1cm4gYSoxODAvTWF0aC5QSX07Cm1jYT1mdW5jdGlvbihhLGIpe18uZmooYixmdW5jdGlvbihjLGQpe2Q9PSJzdHlsZSI/YS5zdHlsZS5jc3NUZXh0PWM6ZD09ImNsYXNzIj9hLmNsYXNzTmFtZT1jOmQ9PSJmb3IiP2EuaHRtbEZvcj1jOmxjYS5oYXNPd25Qcm9wZXJ0eShkKT9hLnNldEF0dHJpYnV0ZShsY2FbZF0sYyk6Xy5FYihkLCJhcmlhLSIpfHxfLkViKGQsImRhdGEtIik/YS5zZXRBdHRyaWJ1dGUoZCxjKTphW2RdPWN9KX07Xy5vY2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWFyZ3VtZW50cyxlPWRvY3VtZW50LGY9ZFsxXSxnPXZsKGUsU3RyaW5nKGRbMF0pKTtmJiYodHlwZW9mIGY9PT0ic3RyaW5nIj9nLmNsYXNzTmFtZT1mOkFycmF5LmlzQXJyYXkoZik/Zy5jbGFzc05hbWU9Zi5qb2luKCIgIik6bWNhKGcsZikpO2QubGVuZ3RoPjImJm5jYShlLGcsZCwyKTtyZXR1cm4gZ307Cm5jYT1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGYpe2YmJmIuYXBwZW5kQ2hpbGQodHlwZW9mIGY9PT0ic3RyaW5nIj9hLmNyZWF0ZVRleHROb2RlKGYpOmYpfWZvcig7ZDxjLmxlbmd0aDtkKyspe2xldCBmPWNbZF07IV8uWWEoZil8fF8uWmEoZikmJmYubm9kZVR5cGU+MD9lKGYpOl8ucmMoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLkJjKGYpOmYsZSl9fTtfLndsPWZ1bmN0aW9uKGEpe3JldHVybiB2bChkb2N1bWVudCxhKX07dmw9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy54bD1mdW5jdGlvbihhLGIpe2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGIubmV4dFNpYmxpbmcpfTsKXy55bD1mdW5jdGlvbihhKXthJiZhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKX07Xy56bD1mdW5jdGlvbihhLGIpe3JldHVybiBhJiZiP2E9PWJ8fGEuY29udGFpbnMoYik6ITF9O18uQWw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZVR5cGU9PTk/YTphLm93bmVyRG9jdW1lbnR8fGEuZG9jdW1lbnR9O18uQmw9ZnVuY3Rpb24oYSl7dGhpcy5xaD1hfHxfLlVhLmRvY3VtZW50fHxkb2N1bWVudH07Xy5EbD1mdW5jdGlvbihhKXthPV8uQ2woYSk7cmV0dXJuIF8ueGooYSl9O18uRWw9ZnVuY3Rpb24oYSl7YT1fLkNsKGEpO3JldHVybiBfLnFqKGEpfTtfLkNsPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09bnVsbD8ibnVsbCI6YT09PXZvaWQgMD8idW5kZWZpbmVkIjphfTsKcGNhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuaGVhZDthPShuZXcgXy5CbChhKSkuY3JlYXRlRWxlbWVudCgiU0NSSVBUIik7YS50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiO2EuY2hhcnNldD0iVVRGLTgiO2EuYXN5bmM9ITE7YS5kZWZlcj0hMTtjJiYoYS5vbmVycm9yPWMpO2QmJihhLm9ubG9hZD1kKTthLnNyYz1fLnJqKGIpO18uS2FhKGEpO2UuYXBwZW5kQ2hpbGQoYSl9O3FjYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2ZvcihsZXQgZCBvZiBhKWQubGVuZ3RoJiZkWzBdPT09Ii8iP2M9ZDooYyYmY1tjLmxlbmd0aC0xXSE9PSIvIiYmKGMrPSIvIiksYys9ZCk7cmV0dXJuIGMrIi4iK2J9O3JjYT1mdW5jdGlvbihhLGIpe2Eud2hbYl09YS53aFtiXXx8e2lNOiFhLnlofTtyZXR1cm4gYS53aFtiXX07CnVjYT1mdW5jdGlvbihhLGIpe3ZhciBjPXJjYShhLGIpLGQ9Yy5zTztpZihkJiZjLmlNJiYoZGVsZXRlIGEud2hbYl0sIWEucWhbYl0pKXt2YXIgZT1hLnhoO0ZsKGEuc2gsZj0+e3ZhciBnPWYucWhbYl18fFtdLGg9ZVtiXT1zY2EoZy5sZW5ndGgsKCk9PntkZWxldGUgZVtiXTtkKGYucmgpO2EudGgmJmEudGgoYik7YS56aC5kZWxldGUoYik7dGNhKGEsYil9KTtmb3IobGV0IGsgb2YgZylhLnFoW2tdJiZoKCl9KX19O3RjYT1mdW5jdGlvbihhLGIpe0ZsKGEuc2gsYz0+e2M9Yy50aFtiXXx8W107dmFyIGQ9YS5yaFtiXTtkZWxldGUgYS5yaFtiXTt2YXIgZT1kP2QubGVuZ3RoOjA7Zm9yKGxldCBmPTA7ZjxlOysrZil0cnl7ZFtmXS5OaShhLnFoW2JdKX1jYXRjaChnKXtzZXRUaW1lb3V0KCgpPT57dGhyb3cgZzt9KX1mb3IobGV0IGYgb2YgYylhLnhoW2ZdJiZhLnhoW2ZdKCl9KX07CnZjYT1mdW5jdGlvbihhLGIpe2EucmVxdWVzdGVkTW9kdWxlc1tiXXx8KGEucmVxdWVzdGVkTW9kdWxlc1tiXT0hMCxGbChhLnNoLGM9Pnt2YXIgZD1jLnFoW2JdLGU9ZD9kLmxlbmd0aDowO2ZvcihsZXQgZj0wO2Y8ZTsrK2Ype2xldCBnPWRbZl07YS5xaFtnXXx8dmNhKGEsZyl9Yy5zaC5QQShiLGY9Pnt2YXIgZz1hLnJoW2JdfHxbXTtmb3IobGV0IGggb2YgZykoZz1oLmJwKSYmZyhmJiZmLmVycm9yfHxFcnJvcihgQ291bGQgbm90IGxvYWQgIiR7Yn0iLmApKTtkZWxldGUgYS5yaFtiXTthLk1zJiZhLk1zKGIsZil9LCgpPT57YS56aC5oYXMoYil8fHRjYShhLGIpfSl9KSl9O3djYT1mdW5jdGlvbihhLGIsYyxkKXthLnFoW2JdP2MoYS5xaFtiXSk6KChhLnJoW2JdPWEucmhbYl18fFtdKS5wdXNoKHtOaTpjLGJwOmR9KSx2Y2EoYSxiKSl9O0ZsPWZ1bmN0aW9uKGEsYil7YS5jb25maWc/YihhLmNvbmZpZyk6YS5xaC5wdXNoKGIpfTsKc2NhPWZ1bmN0aW9uKGEsYil7aWYoYSlyZXR1cm4oKT0+ey0tYXx8YigpfTtiKCk7cmV0dXJuKCk9Pnt9fTtfLkhsPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3djYShHbC5nZXRJbnN0YW5jZSgpLGAke2F9YCxkPT57YihkKX0sYyl9KX07Xy5JbD1mdW5jdGlvbihhLGIpe3ZhciBjPUdsLmdldEluc3RhbmNlKCk7YT1gJHthfWA7aWYoYy5xaFthXSl0aHJvdyBFcnJvcihgTW9kdWxlICR7YX0gaGFzIGJlZW4gcHJvdmlkZWQgbW9yZSB0aGFuIG9uY2UuYCk7Yy5xaFthXT1ifTtfLkxsPWZ1bmN0aW9uKCl7dmFyIGE9Xy5KbCxiOyhiPSFhKXx8KGI9YS5yaCgpLGI9IV8uSmcoYiwxOCkpO2lmKGIpcmV0dXJuITE7Yj1fLmdjYShhLnJoKCkpO2lmKCFifHwhYi5zdGFydHNXaXRoKCJodHRwIikpcmV0dXJuITE7YT1fLk9nKGEsNDQsMSk7cmV0dXJuIEtsPT09dm9pZCAwPyExOktsPGF9OwpfLk5sPWFzeW5jIGZ1bmN0aW9uKGEsYil7dHJ5e2lmKF8uTWw/MDpfLkxsKCkpcmV0dXJuKGF3YWl0IF8uSGwoImxvZyIpKS5Idy5odShhLGIpfWNhdGNoKGMpe31yZXR1cm4gbnVsbH07Xy5PbD1hc3luYyBmdW5jdGlvbihhLGIsYyl7aWYoKF8uTWw/MDpfLkxsKCkpJiZhKXRyeXtsZXQgZD1hd2FpdCBhO2QmJihhd2FpdCBfLkhsKCJsb2ciKSkuSHcuWm4oZCxiLGMpfWNhdGNoKGQpe319O18uUGw9YXN5bmMgZnVuY3Rpb24oYSl7aWYoKF8uTWw/MDpfLkxsKCkpJiZhKXRyeXtsZXQgYj1hd2FpdCBhO2ImJihhd2FpdCBfLkhsKCJsb2ciKSkuSHcuanUoYil9Y2F0Y2goYil7fX07Xy5RbD1mdW5jdGlvbigpe3ZhciBhO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPXBlcmZvcm1hbmNlLm5vdygpO2lmKGEmJmItYTw2RTQpcmV0dXJuITA7YT1iO3JldHVybiExfX07Cl8uTT1hc3luYyBmdW5jdGlvbihhLGIsYz17fSl7aWYoXy5MbCgpfHxjJiZjLmZvcmNlMTAwUGVyY2VudFNhbXBsZWRMb2c9PT0hMCl0cnl7KGF3YWl0IF8uSGwoImxvZyIpKS54SC54aChhLGIsYyl9Y2F0Y2goZCl7fX07eGNhPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuKGF3YWl0IF8uSGwoImxvZyIpKS54Sn07Xy5SbD1mdW5jdGlvbigpe307Xy5TbD1mdW5jdGlvbihhKXtyZXR1cm4gYX07Xy5UbD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O1VsPWZ1bmN0aW9uKCl7fTsKemNhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBWbHx8YSBpbnN0YW5jZW9mIHljYXx8YSBpbnN0YW5jZW9mIFdsKXJldHVybiBhO2lmKHR5cGVvZiBhLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBWbCgoKT0+YSk7aWYodHlwZW9mIGFbU3ltYm9sLml0ZXJhdG9yXT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IFZsKCgpPT5hW1N5bWJvbC5pdGVyYXRvcl0oKSk7aWYodHlwZW9mIGEueHg9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBWbCgoKT0+YS54eCgpKTt0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307QWNhPWZ1bmN0aW9uKCl7fTtfLlhsPWZ1bmN0aW9uKCl7fTtfLllsPWZ1bmN0aW9uKGEpe3RoaXMucWg9YTt0aGlzLnJoPW51bGx9O18uWmw9ZnVuY3Rpb24oYSl7aWYoYS5xaD09bnVsbCl0aHJvdyBFcnJvcigiU3RvcmFnZSBtZWNoYW5pc206IFN0b3JhZ2UgdW5hdmFpbGFibGUiKTthLmlzQXZhaWxhYmxlKCl8fF8uQmIoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKQmNhPWZ1bmN0aW9uKCl7dmFyIGE9bnVsbDt0cnl7YT1fLlVhLnNlc3Npb25TdG9yYWdlfHxudWxsfWNhdGNoKGIpe31fLllsLmNhbGwodGhpcyxhKX07Xy4kbD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmxlbmd0aDowfTtfLmJtPWZ1bmN0aW9uKGEsYil7YiYmXy5hbShiLGM9PnthW2NdPWJbY119KX07Xy5jbT1mdW5jdGlvbihhLGIsYyl7YiE9bnVsbCYmKGE9TWF0aC5tYXgoYSxiKSk7YyE9bnVsbCYmKGE9TWF0aC5taW4oYSxjKSk7cmV0dXJuIGF9O18uZG09ZnVuY3Rpb24oYSxiLGMpe2E+PWImJmE8Y3x8KGMtPWIsYT0oKGEtYiklYytjKSVjK2IpO3JldHVybiBhfTtfLmltPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWF0aC5hYnMoYS1iKTw9KGN8fDFFLTkpfTtfLmptPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIifTtfLmttPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJvYmplY3QifTsKXy5sbT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT1udWxsP2I6YX07Xy5tbT1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn07Xy5ubT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSEhYX07Xy5hbT1mdW5jdGlvbihhLGIpe2lmKGEpZm9yKGxldCBjIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShjKSYmYihjLGFbY10pfTtfLm9tPWZ1bmN0aW9uKGEsYil7YSYmXy5DY2EoYSxjPT5iPT09Yyl9O18uQ2NhPWZ1bmN0aW9uKGEsYixjKXtpZihhKXt2YXIgZD0wO2M9Y3x8Xy4kbChhKTtmb3IobGV0IGU9MCxmPV8uJGwoYSk7ZTxmJiYoYihhW2VdKSYmKGEuc3BsaWNlKGUtLSwxKSxkKyspLGQhPT1jKTsrK2UpO319O18ucG09ZnVuY3Rpb24oYSl7cmV0dXJuYCR7TWF0aC5yb3VuZChhKX1weGB9O3FtPWZ1bmN0aW9uKGEsYil7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYikpcmV0dXJuIGFbYl19OwpfLnJtPWZ1bmN0aW9uKC4uLmEpe18uVWEuY29uc29sZSYmXy5VYS5jb25zb2xlLmVycm9yJiZfLlVhLmNvbnNvbGUuZXJyb3IoLi4uYSl9O18uc209ZnVuY3Rpb24oYSl7Zm9yKGxldCBbYixjXW9mIE9iamVjdC5lbnRyaWVzKGEpKXtsZXQgZD1iO2M9PT12b2lkIDAmJmRlbGV0ZSBhW2RdfX07Xy50bT1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYyBvZiBiKWI9UmVmbGVjdC5nZXQoYSxjKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxjLHt2YWx1ZTpiLGVudW1lcmFibGU6ITF9KX07Cl8uRGNhPWZ1bmN0aW9uKGEpe2lmKHVtW2FdKXJldHVybiB1bVthXTt2YXIgYj1NYXRoLmNlaWwoYS5sZW5ndGgvNiksYz0iIjtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrPWIpe2xldCBlPTA7Zm9yKGxldCBmPWQ7Zi1kPGImJmY8YS5sZW5ndGg7ZisrKWUrPWEuY2hhckNvZGVBdChmKTtlJT01MjtjKz1lPDI2P1N0cmluZy5mcm9tQ2hhckNvZGUoNjUrZSk6U3RyaW5nLmZyb21DaGFyQ29kZSg3MStlKX1yZXR1cm4gdW1bYV09Y307Xy52bT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKG5ldyBCY2EpLmdldChhKT8/bnVsbH1jYXRjaChiKXtyZXR1cm4gbnVsbH19OwpFY2E9ZnVuY3Rpb24oYSl7aWYoYSYmYS5wcm90b3R5cGUpZm9yKGxldCBiIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGEucHJvdG90eXBlKSl7bGV0IGM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLnByb3RvdHlwZSxiKTtjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYS5wcm90b3R5cGUsYix7Li4uYyxlbnVtZXJhYmxlOiEwfSl9fTsKXy53bT1mdW5jdGlvbihhKXtpZihhJiZhLnByb3RvdHlwZSl7dmFyIGI9KGMsZCk9Pnt2YXIgZT1hLnByb3RvdHlwZS5ubDtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIGUuYXBwbHkoYyxkKTt0aHJvdyBFcnJvcigieW91IG11c3QgZGVmaW5lIGEgY29uc3RydWN0b3JfIik7fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiY2FsbCIse3ZhbHVlKGMsLi4uZCl7cmV0dXJuIHRoaXMhPT1hP0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmFwcGx5KHRoaXMsW2MsLi4uZF0pOmIoYyxkKX0sZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiYXBwbHkiLHt2YWx1ZShjLGQpe3JldHVybiB0aGlzIT09YT9GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuYXBwbHkodGhpcyxbYyxkXSk6YihjLGQpfSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLAoiYmluZCIse3ZhbHVlKGMsLi4uZCl7ZnVuY3Rpb24gZSguLi5nKXtnPWQuY29uY2F0KGcpO3JldHVybiB0aGlzIGluc3RhbmNlb2YgZT9uZXcgZiguLi5nKTpiKGMsZyl9aWYodGhpcyE9PWEpcmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmFwcGx5KHRoaXMsW2MsLi4uZF0pO3ZhciBmPXRoaXM7Zi5wcm90b3R5cGUmJihlLnByb3RvdHlwZT1mLnByb3RvdHlwZSk7cmV0dXJuIGV9LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSk7RWNhKGEpfX07Xy54bT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIG5ldyBVUkwoYS5zdGFydHNXaXRoKCIvLyIpP2BodHRwczoke2F9YDphKX1jYXRjaChiKXtyZXR1cm4gbnVsbH19OwpfLkFtPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiI7aWYoYiE9bnVsbCl7aWYoIXltKGIpKXJldHVybiBiIGluc3RhbmNlb2YgRXJyb3I/YjpFcnJvcihTdHJpbmcoYikpO2M9IjogIitiLm1lc3NhZ2V9cmV0dXJuIHptP25ldyBGY2EoYStjKTpuZXcgR2NhKGErYyl9O18uQm09ZnVuY3Rpb24oYSl7aWYoIXltKGEpKXRocm93IGE7Xy5ybShhLm5hbWUrIjogIithLm1lc3NhZ2UpfTt5bT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEZjYXx8YSBpbnN0YW5jZW9mIEdjYX07Cl8uQ209ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWM/YysiOiAiOiIiO3JldHVybiBlPT57aWYoIWV8fHR5cGVvZiBlIT09Im9iamVjdCIpdGhyb3cgXy5BbShkKyJub3QgYW4gT2JqZWN0Iik7dmFyIGY9e307Zm9yKGxldCBnIGluIGUpe2lmKCEoYnx8ZyBpbiBhKSl0aHJvdyBfLkFtKGAke2R9dW5rbm93biBwcm9wZXJ0eSAke2d9YCk7ZltnXT1lW2ddfWZvcihsZXQgZyBpbiBhKXRyeXtsZXQgaD1hW2ddKGZbZ10pO2lmKGghPT12b2lkIDB8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGcpKWZbZ109aH1jYXRjaChoKXt0aHJvdyBfLkFtKGAke2R9aW4gcHJvcGVydHkgJHtnfWAsaCk7fXJldHVybiBmfX07Xy5EbT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIHR5cGVvZiBhPT09Im9iamVjdCImJmEhPW51bGwmJiEhKCJjbG9uZU5vZGUiaW4gYSl9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5FbT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/ZD0+e2lmKGQgaW5zdGFuY2VvZiBhKXJldHVybiBkO3RyeXtyZXR1cm4gbmV3IGEoZCl9Y2F0Y2goZSl7dGhyb3cgXy5BbSgid2hlbiBjYWxsaW5nIG5ldyAiK2IsZSk7fX06ZD0+e2lmKGQgaW5zdGFuY2VvZiBhKXJldHVybiBkO3Rocm93IF8uQW0oIm5vdCBhbiBpbnN0YW5jZSBvZiAiK2IpO319O18uRm09ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pntmb3IobGV0IGMgaW4gYSlpZihhW2NdPT09YilyZXR1cm4gYjt0aHJvdyBfLkFtKGAke2J9IGlzIG5vdCBhbiBhY2NlcHRlZCB2YWx1ZWApO319O18uR209ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBfLkFtKCJub3QgYW4gQXJyYXkiKTtyZXR1cm4gYi5tYXAoKGMsZCk9Pnt0cnl7cmV0dXJuIGEoYyl9Y2F0Y2goZSl7dGhyb3cgXy5BbShgYXQgaW5kZXggJHtkfWAsZSk7fX0pfX07Cl8uSG09ZnVuY3Rpb24oYSxiPTAsYz0hMSl7cmV0dXJuIGQ9PntpZihkPT1udWxsfHx0eXBlb2YgZFtTeW1ib2wuaXRlcmF0b3JdIT09ImZ1bmN0aW9uIil0aHJvdyBfLkFtKCJub3QgaXRlcmFibGUiKTtpZih0eXBlb2YgZD09PSJzdHJpbmciJiYhYyl0aHJvdyBfLkFtKCJhIHN0cmluZyBpcyBub3QgYWNjZXB0ZWQiKTtkPUFycmF5LmZyb20oZCwoZSxmKT0+e3RyeXtyZXR1cm4gYShlKX1jYXRjaChnKXt0aHJvdyBfLkFtKGBhdCBpbmRleCAke2Z9YCxnKTt9fSk7aWYoYj4wJiZkLmxlbmd0aDxiKXtpZihkLmxlbmd0aD09PTApdGhyb3cgXy5BbSgiZW1wdHkgaXRlcmFibGUiKTt0aHJvdyBfLkFtKGBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJHtifSBpdGVtc2ApO31yZXR1cm4gZH19O18uSW09ZnVuY3Rpb24oYSxiPSIiKXtyZXR1cm4gYz0+e2lmKGEoYykpcmV0dXJuIGM7dGhyb3cgXy5BbShifHxgJHtjfWApO319OwpfLkptPWZ1bmN0aW9uKGEsYj0iIil7cmV0dXJuIGM9PntpZihhKGMpKXJldHVybiBjO3Rocm93IF8uQW0oYnx8YCR7Y31gKTt9fTtfLkttPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9W107Zm9yKGxldCBkPTAsZT1hLmxlbmd0aDtkPGU7KytkKXtsZXQgZj1hW2RdO3RyeXt6bT0hMSwoZi5pQ3x8ZikoYil9Y2F0Y2goZyl7aWYoIXltKGcpKXRocm93IGc7Yy5wdXNoKGcubWVzc2FnZSk7Y29udGludWV9ZmluYWxseXt6bT0hMH1yZXR1cm4oZi50aGVufHxmKShiKX10aHJvdyBfLkFtKGMuam9pbigiOyBhbmQgIikpO319O18uTG09ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+YihhKGMpKX07Xy5NbT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Yj09bnVsbD9iOmEoYil9O18uTm09ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntpZihiJiZiW2FdIT1udWxsKXJldHVybiBiO3Rocm93IF8uQW0oIm5vICIrYSsiIHByb3BlcnR5Iik7fX07CkhjYT1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO3Rocm93IF8uQW0oIm11c3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTt9O0ljYT1mdW5jdGlvbihhKXtpZihpc05hTihhKSl0aHJvdyBfLkFtKCJOYU4gaXMgbm90IGFuIGFjY2VwdGVkIHZhbHVlIik7fTtfLlBtPWZ1bmN0aW9uKGEsYj0wKXtyZXR1cm4gXy5MbShfLk9tLGM9PntpZihjPj1hKXJldHVybiBjO2lmKGI+MCYmYz49YS1iKXJldHVybiBhO3Rocm93IF8uQW0oYCR7Y30gaXMgbm90IGdyZWF0ZXIgdGhhbiAke2F9YCk7fSl9O1FtPWZ1bmN0aW9uKGEsYixjKXt0cnl7cmV0dXJuIGMoKX1jYXRjaChkKXt0aHJvdyBfLkFtKGAke2F9OiBcYCR7Yn1cYCBpbnZhbGlkYCxkKTt9fTtSbT1mdW5jdGlvbihhLGIsYyl7Zm9yKGxldCBkIGluIGEpaWYoIShkIGluIGIpKXRocm93IF8uQW0oYFVua25vd24gcHJvcGVydHkgJyR7ZH0nIG9mICR7Y31gKTt9O0tjYT1mdW5jdGlvbigpe3JldHVybiBKY2F8fChKY2E9bmV3IFNtKX07Cl8uVG09ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkO2EgaW5zdGFuY2VvZiBfLlRtP2Q9YS50b0pTT04oKTpkPWE7dmFyIGU9TmFOLGY9TmFOO2lmKCFkfHxkLmxhdD09PXZvaWQgMCYmZC5sbmc9PT12b2lkIDApZT1kLGY9YjtlbHNle2FyZ3VtZW50cy5sZW5ndGg+Mj9jb25zb2xlLndhcm4oIkV4cGVjdGVkIDEgb3IgMiBhcmd1bWVudHMgaW4gbmV3IExhdExuZygpIHdoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEgTGF0TG5nIGluc3RhbmNlIG9yIExhdExuZ0xpdGVyYWwgb2JqZWN0LCBidXQgZ290IG1vcmUgdGhhbiAyLiIpOl8ubm0oYXJndW1lbnRzWzFdKXx8YXJndW1lbnRzWzFdPT1udWxsfHxjb25zb2xlLndhcm4oIkV4cGVjdGVkIHRoZSBzZWNvbmQgYXJndW1lbnQgaW4gbmV3IExhdExuZygpIHRvIGJlIGJvb2xlYW4sIG51bGwsIG9yIHVuZGVmaW5lZCB3aGVuIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhIExhdExuZyBpbnN0YW5jZSBvciBMYXRMbmdMaXRlcmFsIG9iamVjdC4iKTsKdHJ5e0xjYShkKSxjPWN8fCEhYixmPWQubG5nLGU9ZC5sYXR9Y2F0Y2goZyl7Xy5CbShnKX19ZT1OdW1iZXIoZSk7Zj1OdW1iZXIoZik7Y3x8KGU9Xy5jbShlLC05MCw5MCksZiE9MTgwJiYoZj1fLmRtKGYsLTE4MCwxODApKSk7dGhpcy5sYXQ9ZnVuY3Rpb24oKXtyZXR1cm4gZX07dGhpcy5sbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZn19O18uVW09ZnVuY3Rpb24oYSl7cmV0dXJuIF8udGwoYS5sYXQoKSl9O18uVm09ZnVuY3Rpb24oYSl7cmV0dXJuIF8udGwoYS5sbmcoKSl9O01jYT1mdW5jdGlvbihhLGIpe2I9TWF0aC5wb3coMTAsYik7cmV0dXJuIE1hdGgucm91bmQoYSpiKS9ifTsKXy5ZbT1mdW5jdGlvbihhKXt2YXIgYj1hO18uV20oYSkmJihiPXtsYXQ6YS5sYXQoKSxsbmc6YS5sbmcoKX0pO3RyeXtsZXQgYz1OY2EoYik7cmV0dXJuIF8uV20oYSk/YTpfLlhtKGMpfWNhdGNoKGMpe3Rocm93IF8uQW0oIm5vdCBhIExhdExuZyBvciBMYXRMbmdMaXRlcmFsIHdpdGggZmluaXRlIGNvb3JkaW5hdGVzIixjKTt9fTtfLldtPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5UbX07Xy5YbT1mdW5jdGlvbihhKXt0cnl7aWYoXy5XbShhKSlyZXR1cm4gYTtsZXQgYj1MY2EoYSk7cmV0dXJuIG5ldyBfLlRtKGIubGF0LGIubG5nKX1jYXRjaChiKXt0aHJvdyBfLkFtKCJub3QgYSBMYXRMbmcgb3IgTGF0TG5nTGl0ZXJhbCIsYik7fX07CmNuPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBabSlyZXR1cm4gYTt0cnl7cmV0dXJuIG5ldyBfLiRtKF8uWG0oYSkpfWNhdGNoKGIpe310aHJvdyBfLkFtKCJub3QgYSBHZW9tZXRyeSBvciBMYXRMbmcgb3IgTGF0TG5nTGl0ZXJhbCBvYmplY3QiKTt9O18uZG49ZnVuY3Rpb24oYSl7T2NhLmhhcyhhKXx8KGNvbnNvbGUud2FybihhKSxPY2EuYWRkKGEpKX07Xy5nbj1mdW5jdGlvbihhKXthPWF8fHdpbmRvdy5ldmVudDtfLmVuKGEpO18uZm4oYSl9O18uZW49ZnVuY3Rpb24oYSl7YS5zdG9wUHJvcGFnYXRpb24oKX07Xy5mbj1mdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCl9O18uaG49ZnVuY3Rpb24oYSl7YS5oYW5kbGVkPSEwfTtfLmtuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbmV3IF8uam4oYSxiLGMsMCl9O18ubG49ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4hMTtiPShhPWEuX19lM18pJiZhW2JdO3JldHVybiEhYiYmIV8uamooYil9OwpfLm1uPWZ1bmN0aW9uKGEpe2EmJmEucmVtb3ZlKCl9O18ub249ZnVuY3Rpb24oYSxiKXtfLmFtKG5uKGEsYiksKGMsZCk9PntkJiZkLnJlbW92ZSgpfSl9O18ucG49ZnVuY3Rpb24oYSl7Xy5hbShubihhKSwoYixjKT0+e2MmJmMucmVtb3ZlKCl9KX07UGNhPWZ1bmN0aW9uKGEpe2lmKCJfX2UzXyJpbiBhKXRocm93IEVycm9yKCJzZXRVcE5vbkVudW1lcmFibGVFdmVudExpc3RlbmluZygpIHdhcyBpbnZva2VkIGFmdGVyIGFuIGV2ZW50IHdhcyByZWdpc3RlcmVkLiIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2UzXyIse3ZhbHVlOnt9fSl9O18ucW49ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1kPzQ6MTthLmFkZEV2ZW50TGlzdGVuZXImJihkPXtjYXB0dXJlOiEhZH0sdHlwZW9mIGU9PT0iYm9vbGVhbiI/ZC5wYXNzaXZlPWU6UWNhLmhhcyhiKSYmKGQucGFzc2l2ZT0hMSksYS5hZGRFdmVudExpc3RlbmVyKGIsYyxkKSk7cmV0dXJuIG5ldyBfLmpuKGEsYixjLGYpfTsKXy5ybj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1fLnFuKGEsYixmdW5jdGlvbigpe2UucmVtb3ZlKCk7cmV0dXJuIGMuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxkKTtyZXR1cm4gZX07Xy5zbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5rbihhLGIsKDAsXy5pYikoZCxjKSl9O18udG49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8ua24oYSxiLGZ1bmN0aW9uKCl7ZC5yZW1vdmUoKTtyZXR1cm4gYy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KTtyZXR1cm4gZH07Xy51bj1mdW5jdGlvbihhLGIsYyl7Yj1fLmtuKGEsYixjKTtjLmNhbGwoYSk7cmV0dXJuIGJ9O18udm49ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtuKGEsYixfLlJjYShiLGMpKX07Xy53bj1mdW5jdGlvbihhLGIsLi4uYyl7aWYoXy5sbihhLGIpKXthPW5uKGEsYik7Zm9yKGxldCBkIG9mIE9iamVjdC5rZXlzKGEpKShiPWFbZF0pJiZiLm9wLmFwcGx5KGIuaW5zdGFuY2UsYyl9fTsKU2NhPWZ1bmN0aW9uKGEsYil7YS5fX2UzX3x8KGEuX19lM189e30pO2E9YS5fX2UzXzthW2JdfHwoYVtiXT17fSk7cmV0dXJuIGFbYl19O25uPWZ1bmN0aW9uKGEsYil7YT1hLl9fZTNffHx7fTtpZihiKWI9YVtiXXx8e307ZWxzZXtiPXt9O2ZvcihsZXQgYyBvZiBPYmplY3QudmFsdWVzKGEpKV8uYm0oYixjKX1yZXR1cm4gYn07Xy5SY2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXt2YXIgZT1bYixhLC4uLmFyZ3VtZW50c107Xy53bi5hcHBseSh0aGlzLGUpO2MmJl8uaG4uYXBwbHkobnVsbCxhcmd1bWVudHMpfX07Xy54bj1mdW5jdGlvbihhKXtyZXR1cm4iIisoXy5aYShhKT9fLmhiKGEpOmEpfTtfLnluPWZ1bmN0aW9uKCl7fTsKQW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJfY2hhbmdlZCI7aWYoYVtjXSlhW2NdKCk7ZWxzZSBhLmNoYW5nZWQoYik7Yz16bihhLGIpO2ZvcihsZXQgZCBpbiBjKXtsZXQgZT1jW2RdO0FuKGUubHcsZS5ocSl9Xy53bihhLGIudG9Mb3dlckNhc2UoKSsiX2NoYW5nZWQiKX07Xy5Cbj1mdW5jdGlvbihhKXtyZXR1cm4gVGNhW2FdfHwoVGNhW2FdPWEuc3Vic3RyaW5nKDAsMSkudG9VcHBlckNhc2UoKSthLnN1YnN0cmluZygxKSl9O0NuPWZ1bmN0aW9uKGEpe2EuZ21fYWNjZXNzb3JzX3x8KGEuZ21fYWNjZXNzb3JzXz17fSk7cmV0dXJuIGEuZ21fYWNjZXNzb3JzX307em49ZnVuY3Rpb24oYSxiKXthLmdtX2JpbmRpbmdzX3x8KGEuZ21fYmluZGluZ3NfPXt9KTthLmdtX2JpbmRpbmdzXy5oYXNPd25Qcm9wZXJ0eShiKXx8KGEuZ21fYmluZGluZ3NfW2JdPXt9KTtyZXR1cm4gYS5nbV9iaW5kaW5nc19bYl19OwpfLlVjYT1mdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChCKXtCPWsoQik7cmV0dXJuIF8uWG0oe2xhdDpCWzFdLGxuZzpCWzBdfSl9ZnVuY3Rpb24gZShCKXtyZXR1cm4gbmV3IF8uRG4obShCKSl9ZnVuY3Rpb24gZihCKXtyZXR1cm4gbmV3IF8uRW4ocShCKSl9ZnVuY3Rpb24gZyhCKXtpZihCPT1udWxsKXRocm93IF8uQW0oImlzIG51bGwiKTt2YXIgSz1TdHJpbmcoQi50eXBlKS50b0xvd2VyQ2FzZSgpLE89Qi5jb29yZGluYXRlczt0cnl7c3dpdGNoKEspe2Nhc2UgInBvaW50IjpyZXR1cm4gbmV3IF8uJG0oZChPKSk7Y2FzZSAibXVsdGlwb2ludCI6cmV0dXJuIG5ldyBfLkZuKG0oTykpO2Nhc2UgImxpbmVzdHJpbmciOnJldHVybiBlKE8pO2Nhc2UgIm11bHRpbGluZXN0cmluZyI6cmV0dXJuIG5ldyBfLkduKHAoTykpO2Nhc2UgInBvbHlnb24iOnJldHVybiBmKE8pO2Nhc2UgIm11bHRpcG9seWdvbiI6cmV0dXJuIG5ldyBfLkhuKHUoTykpfX1jYXRjaChBKXt0aHJvdyBfLkFtKCdpbiBwcm9wZXJ0eSAiY29vcmRpbmF0ZXMiJywKQSk7fWlmKEs9PT0iZ2VvbWV0cnljb2xsZWN0aW9uIil0cnl7cmV0dXJuIG5ldyBfLkluKHgoQi5nZW9tZXRyaWVzKSl9Y2F0Y2goQSl7dGhyb3cgXy5BbSgnaW4gcHJvcGVydHkgImdlb21ldHJpZXMiJyxBKTt9dGhyb3cgXy5BbSgiaW52YWxpZCB0eXBlIik7fWZ1bmN0aW9uIGgoQil7aWYoIUIpdGhyb3cgXy5BbSgibm90IGEgRmVhdHVyZSIpO2lmKEIudHlwZSE9PSJGZWF0dXJlIil0aHJvdyBfLkFtKCd0eXBlICE9ICJGZWF0dXJlIicpO3ZhciBLPW51bGw7dHJ5e0IuZ2VvbWV0cnkmJihLPWcoQi5nZW9tZXRyeSkpfWNhdGNoKFEpe3Rocm93IF8uQW0oJ2luIHByb3BlcnR5ICJnZW9tZXRyeSInLFEpO312YXIgTz1CLnByb3BlcnRpZXN8fHt9O2lmKCFfLmttKE8pKXRocm93IF8uQW0oInByb3BlcnRpZXMgaXMgbm90IGFuIE9iamVjdCIpO3ZhciBBPWMuaWRQcm9wZXJ0eU5hbWU7Qj1BP09bQV06Qi5pZDtpZihCIT1udWxsJiYhXy5qbShCKSYmIV8ubW0oQikpdGhyb3cgXy5BbShgJHtBfHwKImlkIn0gaXMgbm90IGEgc3RyaW5nIG9yIG51bWJlcmApO3JldHVybntpZDpCLGdlb21ldHJ5OksscHJvcGVydGllczpPfX1pZighYilyZXR1cm5bXTtjPWN8fHt9O3ZhciBrPV8uR20oXy5PbSksbT1fLkdtKGQpLHA9Xy5HbShlKSxxPV8uR20oZnVuY3Rpb24oQil7Qj1tKEIpO2lmKCFCLmxlbmd0aCl0aHJvdyBfLkFtKCJjb250YWlucyBubyBlbGVtZW50cyIpO2lmKCFCWzBdLmVxdWFscyhCW0IubGVuZ3RoLTFdKSl0aHJvdyBfLkFtKCJmaXJzdCBhbmQgbGFzdCBwb3NpdGlvbnMgYXJlIG5vdCBlcXVhbCIpO3JldHVybiBuZXcgXy5KbihCLnNsaWNlKDAsLTEpKX0pLHU9Xy5HbShmKSx4PV8uR20oQj0+ZyhCKSksej1fLkdtKEI9PmgoQikpO2lmKGIudHlwZT09PSJGZWF0dXJlQ29sbGVjdGlvbiIpe2I9Yi5mZWF0dXJlczt0cnl7cmV0dXJuIHooYikubWFwKEI9PmEuYWRkKEIpKX1jYXRjaChCKXt0aHJvdyBfLkFtKCdpbiBwcm9wZXJ0eSAiZmVhdHVyZXMiJyxCKTt9fWlmKGIudHlwZT09PQoiRmVhdHVyZSIpcmV0dXJuW2EuYWRkKGgoYikpXTt0aHJvdyBfLkFtKCJub3QgYSBGZWF0dXJlIG9yIEZlYXR1cmVDb2xsZWN0aW9uIik7fTtfLktuPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPUFycmF5KDM2KSxiPTAsYyxkPTA7ZDwzNjtkKyspZD09OHx8ZD09MTN8fGQ9PTE4fHxkPT0yMz9hW2RdPSItIjpkPT0xND9hW2RdPSI0IjooYjw9MiYmKGI9MzM1NTQ0MzIrTWF0aC5yYW5kb20oKSoxNjc3NzIxNnwwKSxjPWImMTUsYj4+PTQsYVtkXT1WY2FbZD09MTk/YyYzfDg6Y10pO3JldHVybiBhLmpvaW4oIiIpfTtfLkxuPWZ1bmN0aW9uKGEpe3RoaXMuSVA9dGhpczt0aGlzLl9fZ209YX07Cl8uTW49ZnVuY3Rpb24oYSl7YT1hLmdldERpdigpO3ZhciBiPWEuZ2V0Um9vdE5vZGUoKTtiIGluc3RhbmNlb2YgU2hhZG93Um9vdCYmYj09PWEucGFyZW50Tm9kZT8oYT1iLmhvc3QsYT1hIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmEubG9jYWxOYW1lPT09ImdtcC1tYXAiP2E6bnVsbCk6YT1udWxsO3JldHVybiBhfTtfLk5uPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi1hO3JldHVybiBjPj0wP2M6YisxODAtKGEtMTgwKX07Xy5Pbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5sbz5hLmhpfTtfLlBuPWZ1bmN0aW9uKGEpe3JldHVybiBhLmhpLWEubG89PT0zNjB9O1FuPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sbyxkPWEuaGk7cmV0dXJuIF8uT24oYSk/Xy5PbihiKT9iLmxvPj1jJiZiLmhpPD1kOihiLmxvPj1jfHxiLmhpPD1kKSYmIWEuaXNFbXB0eSgpOl8uT24oYik/Xy5QbihhKXx8Yi5pc0VtcHR5KCk6Yi5sbz49YyYmYi5oaTw9ZH07Cl8uU249ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIG5ldyBfLlJuKG5ldyBfLlRtKGEsYiwhMCksbmV3IF8uVG0oYyxkLCEwKSl9O18uVG49ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uUm4pcmV0dXJuIGE7dHJ5e2xldCBiPVdjYShhKTtyZXR1cm4gXy5TbihiLnNvdXRoLGIud2VzdCxiLm5vcnRoLGIuZWFzdCl9Y2F0Y2goYil7dGhyb3cgXy5BbSgibm90IGEgTGF0TG5nQm91bmRzIG9yIExhdExuZ0JvdW5kc0xpdGVyYWwiLGIpO319O18uVW49ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0KGEpfX07Xy5Wbj1mdW5jdGlvbihhLGIpe3JldHVybiBiP2Z1bmN0aW9uKGMpe3RyeXt0aGlzLnNldChhLGIoYykpfWNhdGNoKGQpe18uQm0oXy5BbSgic2V0IitfLkJuKGEpLGQpKX19OmZ1bmN0aW9uKGMpe3RoaXMuc2V0KGEsYyl9fTsKXy5Xbj1mdW5jdGlvbihhLGIpe18uYW0oYiwoYyxkKT0+e3ZhciBlPV8uVW4oYyk7YVsiZ2V0IitfLkJuKGMpXT1lO2QmJihkPV8uVm4oYyxkKSxhWyJzZXQiK18uQm4oYyldPWQpfSl9O1luPWZ1bmN0aW9uKGEpe2E9YXx8e307dGhpcy5zZXRWYWx1ZXMoYSk7dGhpcy5xaD1uZXcgWGNhO18udm4odGhpcy5xaCwiYWRkZmVhdHVyZSIsdGhpcyk7Xy52bih0aGlzLnFoLCJyZW1vdmVmZWF0dXJlIix0aGlzKTtfLnZuKHRoaXMucWgsInNldGdlb21ldHJ5Iix0aGlzKTtfLnZuKHRoaXMucWgsInNldHByb3BlcnR5Iix0aGlzKTtfLnZuKHRoaXMucWgsInJlbW92ZXByb3BlcnR5Iix0aGlzKTt0aGlzLnJoPW5ldyBZY2EodGhpcy5xaCk7dGhpcy5yaC5iaW5kVG8oIm1hcCIsdGhpcyk7dGhpcy5yaC5iaW5kVG8oInN0eWxlIix0aGlzKTtfLlhuLmZvckVhY2goYj0+e18udm4odGhpcy5yaCxiLHRoaXMpfSk7dGhpcy5zaD0hMX07ClpjYT1mdW5jdGlvbihhKXthLnNofHwoYS5zaD0hMCxfLkhsKCJkcmF3aW5nX2ltcGwiKS50aGVuKGI9PntiLklOKGEpfSkpfTtfLiRuPWZ1bmN0aW9uKGEpe18uWm4mJmEmJl8uWm4ucHVzaChhKX07Cl8uYW89ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJnb29nbGUubWFwcy5EaXJlY3Rpb25zUmVuZGVyZXIgaXMgZGVwcmVjYXRlZCBhcyBvZiBGZWJydWFyeSAyNXRoLCAyMDI2LiBBdCB0aGlzIHRpbWUsIGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNSZW5kZXJlciBpcyBub3Qgc2NoZWR1bGVkIHRvIGJlIGRpc2NvbnRpbnVlZC4gV2hpbGUgZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1JlbmRlcmVyIHdpbGwgY29udGludWUgdG8gcmVjZWl2ZSBidWcgZml4ZXMgZm9yIGFueSBtYWpvciByZWdyZXNzaW9ucywgZXhpc3RpbmcgYnVncyBpbiBnb29nbGUubWFwcy5EaXJlY3Rpb25zUmVuZGVyZXIgd2lsbCBub3QgYmUgYWRkcmVzc2VkLiBBdCBsZWFzdCAxMiBtb250aHMgbm90aWNlIHdpbGwgYmUgZ2l2ZW4gYmVmb3JlIHN1cHBvcnQgaXMgZGlzY29udGludWVkLiBQbGVhc2Ugc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvbGVnYWN5IGZvciBhZGRpdGlvbmFsIGRldGFpbHMgYW5kIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JvdXRlcy9yb3V0ZXMtbWlncmF0ZS1yZW5kZXJpbmcgZm9yIHRoZSBtaWdyYXRpb24gZ3VpZGUuIik7dGhpcy5zZXRWYWx1ZXMoYSl9OwokY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkhsKCJlbGV2YXRpb24iKS50aGVuKGQ9PmQuZ2V0RWxldmF0aW9uQWxvbmdQYXRoKGEsYix2b2lkIDApKTtiJiZjLmNhdGNoKCgpPT57fSk7cmV0dXJuIGN9O2FkYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uSGwoImVsZXZhdGlvbiIpLnRoZW4oZD0+ZC5nZXRFbGV2YXRpb25Gb3JMb2NhdGlvbnMoYSxiLHZvaWQgMCkpO2ImJmMuY2F0Y2goKCk9Pnt9KTtyZXR1cm4gY307Y2RhPWZ1bmN0aW9uKGEsYil7dmFyIGM7YmRhKCl8fChjPV8uTmwoMTQ1NTcwKSk7dmFyIGQ9Xy5IbCgiZ2VvY29kZXIiKS50aGVuKGU9PmUuZ2VvY29kZShhLGIsYyx2b2lkIDApLCgpPT57YyYmXy5PbChjLDEzKX0pO2ImJmQuY2F0Y2goKCk9Pnt9KTtyZXR1cm4gZH07CmNvPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmJvKXJldHVybiBhO3RyeXtsZXQgYj1fLkNtKHt4Ol8uT20seTpfLk9tfSwhMCkoYSk7cmV0dXJuIG5ldyBfLmJvKGIueCxiLnkpfWNhdGNoKGIpe3Rocm93IF8uQW0oIm5vdCBhIFBvaW50IixiKTt9fTtfLmVvPWZ1bmN0aW9uKGEpe3JldHVybmAke2Eud2lkdGh9JHthLnJofHwicHgifWB9O18uZm89ZnVuY3Rpb24oYSl7cmV0dXJuYCR7YS5oZWlnaHR9JHthLnFofHwicHgifWB9O2lvPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmdvKXJldHVybiBhO3RyeXt2YXIgYj1fLkNtKHtoZWlnaHQ6aG8sd2lkdGg6aG99LCEwKShhKX1jYXRjaChjKXt0aHJvdyBfLkFtKCJub3QgYSBTaXplIixjKTt9cmV0dXJuIG5ldyBfLmdvKGIud2lkdGgsYi5oZWlnaHQpfTtqbz1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmNvIGluc3RhbmNlb2YgXy55bjohMX07CmRkYT1mdW5jdGlvbihhLGIpe2EudGgoYik7YS5yaDwxMDAmJihhLnJoKyssYi5uZXh0PWEucWgsYS5xaD1iKX07Z2RhPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9ZWRhLnJlbW92ZSgpOyl7dHJ5e2EuVHYuY2FsbChhLnNjb3BlKX1jYXRjaChiKXtfLkJiKGIpfWRkYShmZGEsYSl9a289ITF9O2lkYT1mdW5jdGlvbihhLGIsYyxkKXtkPWQ/e0VHOiExfTpudWxsO3ZhciBlPSFhLmFpLmxlbmd0aCxmPWEuYWkuZmluZChoZGEoYixjKSk7Zj9mLm9uY2U9Zi5vbmNlJiZkOmEuYWkucHVzaCh7VHY6Yixjb250ZXh0OmN8fG51bGwsb25jZTpkfSk7ZSYmYS5zdCgpfTtoZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+Yy5Udj09PWEmJmMuY29udGV4dD09PShifHxudWxsKX07Xy5tbz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5sbyhhLGIpfTtfLm5vPWZ1bmN0aW9uKCl7dGhpcy5fX2dtPW5ldyBfLnluO3RoaXMucmg9bnVsbH07CmpkYT1mdW5jdGlvbihhKXthLl9fZ218fChhLl9fZ209e3NldDpudWxsLGNCOm51bGwseHQ6e21hcDpudWxsLHN0cmVldFZpZXc6bnVsbH0sTHI6bnVsbCx6QTpudWxsLFhwOiExfSl9O29vPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yz9hLmJpbmRUbyhiLGMsZCxlKTooYS51bmJpbmQoYiksYS5zZXQoYix2b2lkIDApKX07a2RhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0KCJpbnRlcm5hbEFuY2hvclBvaW50Iil8fF8ucG8sYz1hLmdldCgiaW50ZXJuYWxQaXhlbE9mZnNldCIpfHxfLnFvO2Euc2V0KCJwaXhlbE9mZnNldCIsbmV3IF8uZ28oYy53aWR0aCtNYXRoLnJvdW5kKGIueCksYy5oZWlnaHQrTWF0aC5yb3VuZChiLnkpKSl9O3JvPWZ1bmN0aW9uKGE9bnVsbCl7cmV0dXJuIGpvKGEpP2EuY298fG51bGw6YSBpbnN0YW5jZW9mIF8ueW4/YTpudWxsfTsKc289ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJBcyBvZiB2ZXJzaW9uIDMuNjUsIGdvb2dsZS5tYXBzLkttbExheWVyIGlzIGRlcHJlY2F0ZWQuIEZvciBhbHRlcm5hdGl2ZSBtZXRob2RzIG9mIGRpc3BsYXlpbmcgS01MIGRhdGEgb24gdGhlIG1hcCwgc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5kZXZzaXRlLmNvcnAuZ29vZ2xlLmNvbS9tYXBzL2RlcHJlY2F0aW9ucyNrbWxfbGF5ZXJfZGVwcmVjYXRlZF9hc19vZl9hcHJpbF8zMF8yMDI2Iik7Xy5tbShhKT8odGhpcy5zZXQoInVybCIsYSksdGhpcy5zZXRWYWx1ZXMoYXJndW1lbnRzWzFdKSk6dGhpcy5zZXRWYWx1ZXMoYSl9O18udG89ZnVuY3Rpb24oYSl7dmFyIGI9YS5tYXRjaCgvXnBsYWNlc1wvKC4rKSQvKTtyZXR1cm4gYj9iWzFdOmF9OwpfLmxkYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8ubWEoYS50b1VwcGVyQ2FzZSgpLCJyZXBsYWNlQWxsIikuY2FsbChhLnRvVXBwZXJDYXNlKCksIi0iLCJfIik7cmV0dXJuIGMgaW4gYj9iW2NdOihjb25zb2xlLmVycm9yKCJJbnZhbGlkIHZhbHVlOiAiK2EpLG51bGwpfTtfLm1kYT1mdW5jdGlvbihhLGIpe3JldHVybiBTdHJpbmcoKHVvPXZvLmdldChhKS5nZXQoYik/LnRvTG93ZXJDYXNlKCksXy5tYSh1bywicmVwbGFjZUFsbCIsITApKT8uY2FsbCh1bywiXyIsIi0iKXx8Yil9O18ubmRhPWZ1bmN0aW9uKGEpe2lmKCF2by5oYXMoYSkpe2xldCBiPW5ldyBNYXA7Zm9yKGxldCBbYyxkXW9mIE9iamVjdC5lbnRyaWVzKGEpKWIuc2V0KGQsYyk7dm8uc2V0KGEsYil9fTtfLndvPWZ1bmN0aW9uKGEpe18ubmRhKGEpO3JldHVybnthazpiPT5iPT09bnVsbD9udWxsOl8ubGRhKGIsYSksTGo6Yj0+Yj09PW51bGw/bnVsbDpfLm1kYShhLGIpfX07Cl8ueG89ZnVuY3Rpb24oYSxiKXt2YXIgYz1hO2lmKGN1c3RvbUVsZW1lbnRzLmdldChjKSl7bGV0IGQ9MTtmb3IoO2N1c3RvbUVsZW1lbnRzLmdldChjKTspe2lmKGN1c3RvbUVsZW1lbnRzLmdldChjKT09PWIpcmV0dXJuO2M9YCR7YX0tbm9uZGV0ZXJtaW5pc3RpYy1kdXBsaWNhdGUke2QrK31gfWNvbnNvbGUud2FybihgRWxlbWVudCB3aXRoIG5hbWUgIiR7YX0iIGFscmVhZHkgZGVmaW5lZC5gKX1jdXN0b21FbGVtZW50cy5kZWZpbmUoYyxiLHZvaWQgMCl9O18uem89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bmV3IF8ueW87ZS5taW5YPWE7ZS5taW5ZPWI7ZS5tYXhYPWM7ZS5tYXhZPWQ7cmV0dXJuIGV9O18uQW89ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5taW5YPj1iLm1heFh8fGIubWluWD49YS5tYXhYfHxhLm1pblk+PWIubWF4WXx8Yi5taW5ZPj1hLm1heFk/ITE6ITB9OwpfLkJvPWZ1bmN0aW9uKGEsYixjKXtpZihhPWEuZnJvbUxhdExuZ1RvUG9pbnQoYikpYz1NYXRoLnBvdygyLGMpLGEueCo9YyxhLnkqPWM7cmV0dXJuIGF9O18uQ289ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxhdCgpK18udWwoYik7Yz45MCYmKGM9OTApO3ZhciBkPWEubGF0KCktXy51bChiKTtkPC05MCYmKGQ9LTkwKTtiPU1hdGguc2luKGIpO3ZhciBlPU1hdGguY29zKF8udGwoYS5sYXQoKSkpO2lmKGM9PT05MHx8ZD09PS05MHx8ZTwxRS02KXJldHVybiBuZXcgXy5SbihuZXcgXy5UbShkLC0xODApLG5ldyBfLlRtKGMsMTgwKSk7Yj1fLnVsKE1hdGguYXNpbihiL2UpKTtyZXR1cm4gbmV3IF8uUm4obmV3IF8uVG0oZCxhLmxuZygpLWIpLG5ldyBfLlRtKGMsYS5sbmcoKStiKSl9O18uRW89ZnVuY3Rpb24oYSl7dGhpcy5xaD1hfHxbXTtEbyh0aGlzKX07RG89ZnVuY3Rpb24oYSl7YS5zZXQoImxlbmd0aCIsYS5xaC5sZW5ndGgpfTsKTW89ZnVuY3Rpb24oYSl7YT8/KGE9e30pO2EudmlzaWJsZT1fLmxtKGEudmlzaWJsZSwhMCk7cmV0dXJuIGF9O18ub2RhPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLnJhZGl1c3x8NjM3ODEzN307Tm89ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkVvP3BkYShhKTpuZXcgXy5FbyhxZGEoYSkpfTtyZGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe2lmKCEoYiBpbnN0YW5jZW9mIF8uRW8pKXRocm93IF8uQW0oIm5vdCBhbiBNVkNBcnJheSIpO2IuZm9yRWFjaCgoYyxkKT0+e3RyeXthKGMpfWNhdGNoKGUpe3Rocm93IF8uQW0oYGF0IGluZGV4ICR7ZH1gLGUpO319KTtyZXR1cm4gYn19O3NkYT1mdW5jdGlvbihhKXtfLkhsKCJwb2x5IikudGhlbihiPT57Yi52TChhKX0pfTsKT289ZnVuY3Rpb24oYSl7YT1hLnRyaW0oKTtpZighYSl0aHJvdyBFcnJvcigibWlzc2luZyB2YWx1ZSIpO3ZhciBiPU51bWJlcihhKTtpZihpc05hTihiKXx8IWlzRmluaXRlKGIpKXRocm93IEVycm9yKGAiJHthfSIgaXMgbm90IGEgbnVtYmVyYCk7cmV0dXJuIGJ9O1BvPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dHJ5e3JldHVybiBhKGIpfWNhdGNoKGMpe3JldHVybiBjb25zb2xlLmVycm9yKGMgaW5zdGFuY2VvZiBFcnJvcj9jLm1lc3NhZ2U6YCR7Y31gKSxudWxsfX19OwpfLlJvPWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1hLnNwbGl0KCIsIikubWFwKE9vKTtpZihiLmxlbmd0aDwyKXRocm93IEVycm9yKCJ0b28gZmV3IHZhbHVlcyIpO2lmKGIubGVuZ3RoPjMpdGhyb3cgRXJyb3IoInRvbyBtYW55IHZhbHVlcyIpO2xldCBbYyxkLGVdPWI7cmV0dXJuIG5ldyBfLlFvKHtsYXQ6Yyxsbmc6ZCxhbHRpdHVkZTplfSl9Y2F0Y2goYil7dGhyb3cgRXJyb3IoYENvdWxkIG5vdCBpbnRlcnByZXQgIiR7YX0iIGFzIGEgTGF0TG5nQWx0aXR1ZGU6IGArKGIgaW5zdGFuY2VvZiBFcnJvcj9iLm1lc3NhZ2U6YCR7Yn1gKSk7fX07CnRkYT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDt0cnl7bGV0IGI9YS5zcGxpdCgiQCIpO2lmKGIubGVuZ3RoIT09Mil0aHJvdyBFcnJvcigiaW52YWxpZCBjaXJjbGUgZm9ybWF0Iik7bGV0IFtjLGRdPWIsZT1PbyhjKSxmPV8uUm8oZCk7cmV0dXJuIG5ldyBfLlNvKHtjZW50ZXI6ZixyYWRpdXM6ZX0pfWNhdGNoKGIpe3Rocm93IEVycm9yKGBDb3VsZCBub3QgaW50ZXJwcmV0ICIke2F9IiBhcyBhIENpcmNsZTogYCsoYiBpbnN0YW5jZW9mIEVycm9yP2IubWVzc2FnZTpgJHtifWApKTt9fTtfLlRvPWZ1bmN0aW9uKGEpe2lmKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlRtKXJldHVybmAke2EubGF0KCl9LCR7YS5sbmcoKX1gO2xldCBiPWAke2EubGF0fSwke2EubG5nfWA7YS5hbHRpdHVkZSE9PXZvaWQgMCYmYS5hbHRpdHVkZSE9PTAmJihiKz1gLCR7YS5hbHRpdHVkZX1gKTtyZXR1cm4gYn1yZXR1cm4gbnVsbH07Cl8uVW89ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS5tYXAoXy5Ubykuam9pbigiICIpOm51bGx9O3VkYT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5nZXRDZW50ZXIoKT9gJHthLmdldFJhZGl1cygpfUAke1ZvKGEuZ2V0Q2VudGVyKCkpfWA6bnVsbH07Vm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YSBpbnN0YW5jZW9mIF8uVG0/YCR7YS5sYXQoKX0sJHthLmxuZygpfWA6YCR7YS5sYXR9LCR7YS5sbmd9YDpudWxsfTt2ZGE9ZnVuY3Rpb24oKXshV28mJl8uVWEuZG9jdW1lbnQ/LmNyZWF0ZUVsZW1lbnQmJihXbz1fLlVhLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQsXy5VYS5kb2N1bWVudC5jcmVhdGVFbGVtZW50PSguLi5hKT0+e1hvPWFbMF07dHJ5e3ZhciBiPVdvLmFwcGx5KGRvY3VtZW50LGEpfWZpbmFsbHl7WG89dm9pZCAwfXJldHVybiBifSl9OwpZbz1mdW5jdGlvbihhLGIsYyl7aWYoYS5ub2RlVHlwZSE9PTEpcmV0dXJuIHdkYTtiPWIudG9Mb3dlckNhc2UoKTtpZihiPT09ImlubmVyaHRtbCJ8fGI9PT0iaW5uZXJ0ZXh0Inx8Yj09PSJ0ZXh0Y29udGVudCJ8fGI9PT0ib3V0ZXJodG1sIilyZXR1cm4oKT0+Xy55aih4ZGEpO3ZhciBkPXlkYS5nZXQoYCR7YS50YWdOYW1lfSAke2J9YCk7cmV0dXJuIGQhPT12b2lkIDA/ZDovXm9uLy50ZXN0KGIpJiZjPT09ImF0dHJpYnV0ZSImJihhPWEudGFnTmFtZS5pbmNsdWRlcygiLSIpP0hUTUxFbGVtZW50LnByb3RvdHlwZTphLGIgaW4gYSk/KCk9Pnt0aHJvdyBFcnJvcigiaW52YWxpZCBiaW5kaW5nIik7fTp3ZGF9O0FkYT1mdW5jdGlvbihhLGIpe2lmKCFabyhhKXx8IWEuaGFzT3duUHJvcGVydHkoInJhdyIpKXRocm93IEVycm9yKCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXkiKTtyZXR1cm4gemRhIT09dm9pZCAwP3pkYS5jcmVhdGVIVE1MKGIpOmJ9OwpicD1mdW5jdGlvbihhLGIsYz1hLGQpe2lmKGI9PT0kbylyZXR1cm4gYjt2YXIgZT1kIT09dm9pZCAwP2Mucmg/LltkXTpjLkZoLGY9YXAoYik/dm9pZCAwOmIuXyRsaXREaXJlY3RpdmUkO2U/LmNvbnN0cnVjdG9yIT09ZiYmKGU/Ll8kbm90aWZ5RGlyZWN0aXZlQ29ubmVjdGlvbkNoYW5nZWQ/LighMSksZj09PXZvaWQgMD9lPXZvaWQgMDooZT1uZXcgZihhKSxlLmZMKGEsYyxkKSksZCE9PXZvaWQgMD8oYy5yaD8/KGMucmg9W10pKVtkXT1lOmMuRmg9ZSk7ZSE9PXZvaWQgMCYmKGI9YnAoYSxlLmdMKGEsYi52YWx1ZXMpLGUsZCkpO3JldHVybiBifTsKQ2RhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TeW1ib2woKSx7Z2V0OmUsc2V0OmZ9PUJkYShhLnByb3RvdHlwZSxiKT8/e2dldCgpe3JldHVybiB0aGlzW2RdfSxzZXQoZyl7dGhpc1tkXT1nfX07cmV0dXJue2dldDplLHNldChnKXt2YXIgaD1lPy5jYWxsKHRoaXMpO2Y/LmNhbGwodGhpcyxnKTtfLmNwKHRoaXMsYixoLGMpfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH19O0VkYT1mdW5jdGlvbihhLGIsYz1kcCl7Yy5zdGF0ZSYmKGMuS2g9ITEpO2EucmgoKTthLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShiKSYmKGM9T2JqZWN0LmNyZWF0ZShjKSxjLld6PSEwKTthLlJwLnNldChiLGMpO2MuQVR8fChjPUNkYShhLGIsYyksYyE9PXZvaWQgMCYmRGRhKGEucHJvdG90eXBlLGIsYykpfTsKXy5jcD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZil7aWYoYiE9PXZvaWQgMCl7bGV0IGc9YS5jb25zdHJ1Y3RvcjtlPT09ITEmJihmPWFbYl0pO2Q/PyhkPWcuUnAuZ2V0KGIpPz9kcCk7aWYoKGQubmo/P2VwKShmLGMpfHxkLm9LJiZkLk5oJiZmPT09YS5XaD8uZ2V0KGIpJiYhYS5oYXNBdHRyaWJ1dGUoZy5HQyhiLGQpKSlhLldrKGIsYyxkKTtlbHNlIHJldHVybn1hLk9oPT09ITEmJihhLmFsPWEucXgoKSl9OwpGZGE9ZnVuY3Rpb24oYSl7aWYoYS5PaCl7aWYoIWEuTWgpe2EuUGs/PyhhLlBrPWEuc2koKSk7aWYoYS5aaCl7Zm9yKGxldCBbZCxlXW9mIGEuWmgpYVtkXT1lO2EuWmg9dm9pZCAwfXZhciBiPWEuY29uc3RydWN0b3IuUnA7aWYoYi5zaXplPjApZm9yKGxldCBbZCxlXW9mIGIpe2I9ZDt2YXIgYz1lO2xldCBmPWFbYl07Yy5XeiE9PSEwfHxhLkpoLmhhcyhiKXx8Zj09PXZvaWQgMHx8YS5XayhiLHZvaWQgMCxjLGYpfX1iPSExO2M9YS5KaDt0cnl7Yj0hMCxhLmhtKGMpLGEuSWg/LmZvckVhY2goZD0+ZC5kVD8uKCkpLGEudXBkYXRlKGMpfWNhdGNoKGQpe3Rocm93IGI9ITEsYS5zcigpLGQ7fWImJmEub3goYyl9fTtmcD1mdW5jdGlvbigpe3JldHVybiEwfTtfLmdwPWZ1bmN0aW9uKGEsYil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYix7ZW51bWVyYWJsZTohMCx3cml0YWJsZTohMX0pfTtfLmhwPWZ1bmN0aW9uKGEsYil7cmV0dXJuYDwke2EuY0x9PjogJHtifWB9OwpfLmlwPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLkFtKF8uaHAoYSxgQ2Fubm90IHNldCBwcm9wZXJ0eSAiJHtifSIgdG8gJHtjfWApLGQpfTtfLkdkYT1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLmpwO2NvbnNvbGUuZXJyb3IoXy5ocChhLGBFbmNvdW50ZXJlZCBhIG5ldHdvcmsgcmVxdWVzdCBlcnJvcjogJHtiIGluc3RhbmNlb2YgRXJyb3I/Yi5tZXNzYWdlOlN0cmluZyhiKX1gKSk7YS5kaXNwYXRjaEV2ZW50KGMpfTtfLmtwPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXtyZXR1cm4gYyhkKX1jYXRjaChlKXt0aHJvdyBfLkFtKF8uaHAoYSxgQ2Fubm90IHNldCBwcm9wZXJ0eSAiJHtifSIgdG8gJHtkfWApLGUpO319OwpJZGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXQoIm1hcElkIik7Yj1uZXcgSGRhKGIsYS5tYXBUeXBlcyk7Yi5iaW5kVG8oIm1hcEhhc0JlZW5BYmxlVG9CZURyYXduIixhLl9fZ20pO2IuYmluZFRvKCJtYXBJZCIsYSwibWFwSWQiLCEwKTtiLmJpbmRUbygic3R5bGVzIixhKTtiLmJpbmRUbygibWFwVHlwZUlkIixhKX07bHA9ZnVuY3Rpb24oYSxiKXthLmlzQXZhaWxhYmxlPSExO2EucWgucHVzaChiKX07Cl8ubnA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLm1wKGEuX19nbS5xaCwiREFUQV9EUklWRU5fU1RZTElORyIpO2lmKCFiKXJldHVybiBjO3ZhciBkPVsiVGhlIG1hcCBpcyBpbml0aWFsaXplZCB3aXRob3V0IGEgdmFsaWQgbWFwIElELCB0aGF0IHdpbGwgcHJldmVudCB1c2Ugb2YgZGF0YS1kcml2ZW4gc3R5bGluZy4iLCJUaGUgTWFwIFN0eWxlIGRvZXMgbm90IGhhdmUgYW55IEZlYXR1cmVMYXllcnMgY29uZmlndXJlZCBmb3IgZGF0YS1kcml2ZW4gc3R5bGluZy4iLCJUaGUgTWFwIFN0eWxlIGRvZXMgbm90IGhhdmUgYW55IERhdGFzZXRzIG9yIEZlYXR1cmVMYXllcnMgY29uZmlndXJlZCBmb3IgZGF0YS1kcml2ZW4gc3R5bGluZy4iXSxlPWMucWgubWFwKGY9PmYuR3EpO2U9ZSYmZS5zb21lKGY9PmQuaW5jbHVkZXMoZikpOyhjLmlzQXZhaWxhYmxlfHwhZSkmJihhPWEuX19nbS5xaC5ZdigpKSYmKGI9SmRhKGIsYSkpJiZscChjLHtHcTpifSk7cmV0dXJuIGN9OwpKZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmZlYXR1cmVUeXBlO2lmKGM9PT0iREFUQVNFVCIpe2lmKCFiLnRoKCkubWFwKGQ9Pl8uSChkLDIpKS5pbmNsdWRlcyhhLmRhdGFzZXRJZCkpcmV0dXJuIlRoZSBNYXAgU3R5bGUgZG9lcyBub3QgaGF2ZSB0aGUgZm9sbG93aW5nIERhdGFzZXQgSUQgYXNzb2NpYXRlZCB3aXRoIGl0OiAiK2EuZGF0YXNldElkfWVsc2UgaWYoIWIuc2goKS5pbmNsdWRlcyhjKSlyZXR1cm4iVGhlIE1hcCBTdHlsZSBkb2VzIG5vdCBoYXZlIHRoZSBmb2xsb3dpbmcgRmVhdHVyZUxheWVyIGNvbmZpZ3VyZWQgZm9yIGRhdGEtZHJpdmVuIHN0eWxpbmc6ICIrYztyZXR1cm4gbnVsbH07cHA9ZnVuY3Rpb24oYSxiPSIiLGMpe2M9Xy5ucChhLGMpO2MuaXNBdmFpbGFibGV8fF8ub3AoYSxiLGMpfTtLZGE9ZnVuY3Rpb24oYSl7YT1hLl9fZ207Zm9yKGxldCBiIG9mIGEudGgua2V5cygpKWEudGguZ2V0KGIpLmlzRW5hYmxlZHx8Xy5ybShgVGhlIE1hcCBTdHlsZSBkb2VzIG5vdCBoYXZlIHRoZSBmb2xsb3dpbmcgRmVhdHVyZUxheWVyIGNvbmZpZ3VyZWQgZm9yIGRhdGEtZHJpdmVuIHN0eWxpbmc6ICAke2J9YCl9OwpfLkxkYT1mdW5jdGlvbihhLGI9ITEpe3ZhciBjPWEuX19nbTtjLnRoLnNpemU+MCYmcHAoYSk7YiYmS2RhKGEpO2MudGguZm9yRWFjaChkPT57ZC5jSSgpfSl9O18ub3A9ZnVuY3Rpb24oYSxiLGMpe2lmKGMucWgubGVuZ3RoIT09MCl7dmFyIGQ9Yj9iKyI6ICI6IiIsZT1hLl9fZ20ucWg7Yy5xaC5mb3JFYWNoKGY9PntlLmxvZyhmLGQpfSl9fTtfLnFwPWZ1bmN0aW9uKCl7fTtfLm1wPWZ1bmN0aW9uKGEsYil7YS5sb2coTWRhW2JdKTthOnN3aXRjaChiKXtjYXNlICJBRFZBTkNFRF9NQVJLRVJTIjphPWEuY2FjaGUuckc7YnJlYWsgYTtjYXNlICJEQVRBX0RSSVZFTl9TVFlMSU5HIjphPWEuY2FjaGUuYUg7YnJlYWsgYTtjYXNlICJXRUJHTF9PVkVSTEFZX1ZJRVciOmE9YS5jYWNoZS55cTticmVhayBhO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYE5vIGNhcGFiaWxpdHkgaW5mb3JtYXRpb24gZm9yOiAke2J9YCk7fXJldHVybiBhLmNsb25lKCl9OwpzcD1mdW5jdGlvbihhKXt2YXIgYj1hLmNhY2hlLGM9bmV3IHJwO2EuZW8oKXx8bHAoYyx7R3E6IlRoZSBtYXAgaXMgaW5pdGlhbGl6ZWQgd2l0aG91dCBhIHZhbGlkIE1hcCBJRCwgd2hpY2ggd2lsbCBwcmV2ZW50IHVzZSBvZiBBZHZhbmNlZCBNYXJrZXJzLiJ9KTtiLnJHPWM7Yj1hLmNhY2hlO2M9bmV3IHJwO2lmKGEuZW8oKSl7dmFyIGQ9YS5ZdigpO2lmKGQpe2xldCBlPWQuc2goKTtkPWQudGgoKTtlLmxlbmd0aHx8ZC5sZW5ndGh8fGxwKGMse0dxOiJUaGUgTWFwIFN0eWxlIGRvZXMgbm90IGhhdmUgYW55IERhdGFzZXRzIG9yIEZlYXR1cmVMYXllcnMgY29uZmlndXJlZCBmb3IgZGF0YS1kcml2ZW4gc3R5bGluZy4ifSl9YS5qdyE9PSJVTktOT1dOIiYmYS5qdyE9PSJUUlVFIiYmbHAoYyx7R3E6IlRoZSBtYXAgaXMgbm90IGEgdmVjdG9yIG1hcC4gVGhhdCB3aWxsIHByZXZlbnQgdXNlIG9mIGRhdGEtZHJpdmVuIHN0eWxpbmcuIn0pfWVsc2UgbHAoYyx7R3E6IlRoZSBtYXAgaXMgaW5pdGlhbGl6ZWQgd2l0aG91dCBhIHZhbGlkIG1hcCBJRCwgdGhhdCB3aWxsIHByZXZlbnQgdXNlIG9mIGRhdGEtZHJpdmVuIHN0eWxpbmcuIn0pOwpiLmFIPWM7Yj1hLmNhY2hlO2M9bmV3IHJwO2EuZW8oKT9hLmp3IT09IlVOS05PV04iJiZhLmp3IT09IlRSVUUiJiZscChjLHtHcToiVGhlIG1hcCBpcyBub3QgYSB2ZWN0b3IgbWFwLCB3aGljaCB3aWxsIHByZXZlbnQgdXNlIG9mIFdlYkdMT3ZlcmxheVZpZXcuIn0pOmxwKGMse0dxOiJUaGUgbWFwIGlzIGluaXRpYWxpemVkIHdpdGhvdXQgYSB2YWxpZCBtYXAgSUQsIHdoaWNoIHdpbGwgcHJldmVudCB1c2Ugb2YgV2ViR0xPdmVybGF5Vmlldy4ifSk7Yi55cT1jO05kYShhKX07TmRhPWZ1bmN0aW9uKGEpe2EucWg9ITA7dHJ5e2Euc2V0KCJtYXBDYXBhYmlsaXRpZXMiLGEuZ2V0TWFwQ2FwYWJpbGl0aWVzKCkpfWZpbmFsbHl7YS5xaD0hMX19O09kYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEub3B0aW9ucy5oRC5NQVBfSU5JVElBTElaQVRJT047aWYoYylmb3IobGV0IGQgb2YgYylhLmh1KGQsYil9OwpfLnRwPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLm9wdGlvbnMuaEQuTUFQX0lOSVRJQUxJWkFUSU9OO2lmKGQpZm9yKGxldCBlIG9mIGQpYS5abihlLGIsYyl9O18udXA9ZnVuY3Rpb24oYSxiKXtpZihiPWEub3B0aW9ucy5oRFtiXSlmb3IobGV0IGMgb2YgYilhLmp1KGMpfTtfLndwPWZ1bmN0aW9uKGEpe3RoaXMucWg9MDt0aGlzLnpoPXZvaWQgMDt0aGlzLnRoPXRoaXMucmg9dGhpcy5zaD1udWxsO3RoaXMud2g9dGhpcy54aD0hMTtpZihhIT1fLlJsKXRyeXtsZXQgYj10aGlzO2EuY2FsbCh2b2lkIDAsZnVuY3Rpb24oYyl7dnAoYiwyLGMpfSxmdW5jdGlvbihjKXt2cChiLDMsYyl9KX1jYXRjaChiKXt2cCh0aGlzLDMsYil9fTtQZGE9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5jb250ZXh0PXRoaXMucmg9dGhpcy5zaD10aGlzLnFoPW51bGw7dGhpcy50aD0hMX07UmRhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1RZGEuZ2V0KCk7ZC5zaD1hO2Qucmg9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07ClNkYT1mdW5jdGlvbihhLGIpe2lmKGEucWg9PTApaWYoYS5zaCl7dmFyIGM9YS5zaDtpZihjLnJoKXt2YXIgZD0wLGU9bnVsbCxmPW51bGw7Zm9yKGxldCBnPWMucmg7ZyYmKGcudGh8fChkKyssZy5xaD09YSYmKGU9ZyksIShlJiZkPjEpKSk7Zz1nLm5leHQpZXx8KGY9Zyk7ZSYmKGMucWg9PTAmJmQ9PTE/U2RhKGMsYik6KGY/KGQ9ZixkLm5leHQ9PWMudGgmJihjLnRoPWQpLGQubmV4dD1kLm5leHQubmV4dCk6VGRhKGMpLFVkYShjLGUsMyxiKSkpfWEuc2g9bnVsbH1lbHNlIHZwKGEsMyxiKX07V2RhPWZ1bmN0aW9uKGEsYil7YS5yaHx8YS5xaCE9MiYmYS5xaCE9M3x8VmRhKGEpO2EudGg/YS50aC5uZXh0PWI6YS5yaD1iO2EudGg9Yn07ClhkYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1SZGEobnVsbCxudWxsLG51bGwpO2UucWg9bmV3IF8ud3AoZnVuY3Rpb24oZixnKXtlLnNoPWI/ZnVuY3Rpb24oaCl7dHJ5e2xldCBrPWIuY2FsbChkLGgpO2Yoayl9Y2F0Y2goayl7ZyhrKX19OmY7ZS5yaD1jP2Z1bmN0aW9uKGgpe3RyeXtsZXQgaz1jLmNhbGwoZCxoKTtrPT09dm9pZCAwJiZoIGluc3RhbmNlb2YgeHA/ZyhoKTpmKGspfWNhdGNoKGspe2coayl9fTpnfSk7ZS5xaC5zaD1hO1dkYShhLGUpO3JldHVybiBlLnFofTsKdnA9ZnVuY3Rpb24oYSxiLGMpe2lmKGEucWg9PTApe2E9PT1jJiYoYj0zLGM9bmV3IFR5cGVFcnJvcigiUHJvbWlzZSBjYW5ub3QgcmVzb2x2ZSB0byBpdHNlbGYiKSk7YS5xaD0xO2E6e3ZhciBkPWMsZT1hLm1RLGY9YS5uUTtpZihkIGluc3RhbmNlb2YgXy53cCl7V2RhKGQsUmRhKGV8fF8uUmwsZnx8bnVsbCxhKSk7dmFyIGc9ITB9ZWxzZXtpZihkKXRyeXt2YXIgaD0hIWQuJGdvb2dfVGhlbmFibGV9Y2F0Y2goayl7aD0hMX1lbHNlIGg9ITE7aWYoaClkLnRoZW4oZSxmLGEpLGc9ITA7ZWxzZXtpZihfLlphKGQpKXRyeXtsZXQgaz1kLnRoZW47aWYodHlwZW9mIGs9PT0iZnVuY3Rpb24iKXtZZGEoZCxrLGUsZixhKTtnPSEwO2JyZWFrIGF9fWNhdGNoKGspe2YuY2FsbChhLGspO2c9ITA7YnJlYWsgYX1nPSExfX19Z3x8KGEuemg9YyxhLnFoPWIsYS5zaD1udWxsLFZkYShhKSxiIT0zfHxjIGluc3RhbmNlb2YgeHB8fFpkYShhLGMpKX19OwpZZGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmdW5jdGlvbiBmKGspe2h8fChoPSEwLGQuY2FsbChlLGspKX1mdW5jdGlvbiBnKGspe2h8fChoPSEwLGMuY2FsbChlLGspKX12YXIgaD0hMTt0cnl7Yi5jYWxsKGEsZyxmKX1jYXRjaChrKXtmKGspfX07VmRhPWZ1bmN0aW9uKGEpe2EueGh8fChhLnhoPSEwLF8ueXAoYS5CTSxhKSl9O1RkYT1mdW5jdGlvbihhKXt2YXIgYj1udWxsO2EucmgmJihiPWEucmgsYS5yaD1iLm5leHQsYi5uZXh0PW51bGwpO2Eucmh8fChhLnRoPW51bGwpO3JldHVybiBifTtVZGE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5yaCYmIWIudGgpZm9yKDthJiZhLndoO2E9YS5zaClhLndoPSExO2lmKGIucWgpYi5xaC5zaD1udWxsLCRkYShiLGMsZCk7ZWxzZSB0cnl7Yi50aD9iLnNoLmNhbGwoYi5jb250ZXh0KTokZGEoYixjLGQpfWNhdGNoKGUpe2FlYS5jYWxsKG51bGwsZSl9ZGRhKFFkYSxiKX07CiRkYT1mdW5jdGlvbihhLGIsYyl7Yj09Mj9hLnNoLmNhbGwoYS5jb250ZXh0LGMpOmEucmgmJmEucmguY2FsbChhLmNvbnRleHQsYyl9O1pkYT1mdW5jdGlvbihhLGIpe2Eud2g9ITA7Xy55cChmdW5jdGlvbigpe2Eud2gmJmFlYS5jYWxsKG51bGwsYil9KX07eHA9ZnVuY3Rpb24oYSl7Xy50Yi5jYWxsKHRoaXMsYSl9O18uenA9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLmliKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIkludmFsaWQgbGlzdGVuZXIgYXJndW1lbnQiKTtyZXR1cm4gTnVtYmVyKGIpPjIxNDc0ODM2NDc/LTE6Xy5VYS5zZXRUaW1lb3V0KGEsYnx8MCl9O18uQXA9ZnVuY3Rpb24oYSxiLGMpe18ubWsuY2FsbCh0aGlzKTt0aGlzLnFoPWE7dGhpcy50aD1ifHwwO3RoaXMucmg9Yzt0aGlzLnNoPSgwLF8uaWIpKHRoaXMuZ0csdGhpcyl9OwpfLkJwPWZ1bmN0aW9uKGEpe2Euc3RvcCgpO2EuZ0coKX07YmVhPWZ1bmN0aW9uKGEpe2EucWgmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntpZihhLnFoKXtsZXQgYj1bLi4uYS5yaC52YWx1ZXMoKV0uZmxhdCgpO2EucWgoYil9fSl9O18uY2VhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5OQSgpO2MmJihhLnJoLnNldChfLmhiKGIpLGMpLGEuc2guRGkoKSl9O18uZGVhPWZ1bmN0aW9uKGEsYil7Yj1fLmhiKGIpO2EucmguaGFzKGIpJiYoYS5yaC5kZWxldGUoYiksYS5zaC5EaSgpKX07ZWVhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS56SW5kZXgsZD1iLnpJbmRleCxlPV8uam0oYyksZj1fLmptKGQpLGc9YS50bCxoPWIudGw7aWYoZSYmZiYmYyE9PWQpcmV0dXJuIGM+ZD8tMToxO2lmKGUhPT1mKXJldHVybiBlPy0xOjE7aWYoZy55IT09aC55KXJldHVybiBoLnktZy55O2E9Xy5oYihhKTtiPV8uaGIoYik7cmV0dXJuIGE+Yj8tMToxfTsKZmVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIuc29tZShjPT5fLkFvKGMsYSkpfTtfLkNwPWZ1bmN0aW9uKGEsYixjKXtfLm1rLmNhbGwodGhpcyk7dGhpcy5BaD1jIT1udWxsPygwLF8uaWIpKGEsYyk6YTt0aGlzLnloPWI7dGhpcy54aD0oMCxfLmliKSh0aGlzLlFLLHRoaXMpO3RoaXMucmg9ITE7dGhpcy5zaD0wO3RoaXMudGg9dGhpcy5xaD1udWxsO3RoaXMud2g9W119O18uRHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnhuKGIpO2EuZWxlbWVudHNbY118fChhLmVsZW1lbnRzW2NdPWIsKythLnNpemUsXy53bihhLCJpbnNlcnQiLGIpLGEucWgmJmEucWgoYikpfTtfLmdlYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIuV3AoKTtyZXR1cm4gYS5laS5maWx0ZXIoZD0+e2Q9ZC5XcCgpO3JldHVybiBjIT09ZH0pfTtfLkVwPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEubWF0Y2hlc3x8YS5tc01hdGNoZXNTZWxlY3Rvcnx8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3IpLmNhbGwoYSxiKX07CmhlYT1mdW5jdGlvbihhKXthLmN1cnJlbnRUYXJnZXQuc3R5bGUub3V0bGluZT0iIn07Cl8uSXA9ZnVuY3Rpb24oYSl7aWYoXy5FcChhLCdzZWxlY3QsdGV4dGFyZWEsaW5wdXRbdHlwZT0iZGF0ZSJdLGlucHV0W3R5cGU9ImRhdGV0aW1lLWxvY2FsIl0saW5wdXRbdHlwZT0iZW1haWwiXSxpbnB1dFt0eXBlPSJtb250aCJdLGlucHV0W3R5cGU9Im51bWJlciJdLGlucHV0W3R5cGU9InBhc3N3b3JkIl0saW5wdXRbdHlwZT0ic2VhcmNoIl0saW5wdXRbdHlwZT0idGVsIl0saW5wdXRbdHlwZT0idGV4dCJdLGlucHV0W3R5cGU9InRpbWUiXSxpbnB1dFt0eXBlPSJ1cmwiXSxpbnB1dFt0eXBlPSJ3ZWVrIl0saW5wdXQ6bm90KFt0eXBlXSknKSlyZXR1cm5bXTt2YXIgYj1bXTtiLnB1c2gobmV3IF8uRnAoYSwiZm9jdXMiLGM9PnshXy5HcCYmXy5IcCYmXy5IcCE9PSJLRVlCT0FSRCImJihjLmN1cnJlbnRUYXJnZXQuc3R5bGUub3V0bGluZT0ibm9uZSIpfSkpO2IucHVzaChuZXcgXy5GcChhLCJmb2N1c291dCIsaGVhKSk7cmV0dXJuIGJ9OwpLcD1mdW5jdGlvbigpe3JldHVybiBKcD9KcDpKcD1uZXcgaWVhfTtNcD1mdW5jdGlvbihhKXtyZXR1cm4gXy5McFs0M10/ITE6YS5BaD8hMDohXy5VYS5kZXZpY2VQaXhlbFJhdGlvfHwhXy5VYS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV9O18uamVhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5OcDtyZXR1cm4gXy5McFs0M10/ITE6YS5BaHx8TXAoYSl9O2tlYT1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0wLGQ7ZD1iW2NdOysrYylpZih0eXBlb2YgYS5kb2N1bWVudEVsZW1lbnQuc3R5bGVbZF09PT0ic3RyaW5nIilyZXR1cm4gZDtyZXR1cm4gbnVsbH07Xy5QcD1mdW5jdGlvbigpe09wfHwoT3A9bmV3IGxlYSk7cmV0dXJuIE9wfTtfLlFwPWZ1bmN0aW9uKGEsYil7YSE9PW51bGwmJihhPWEuc3R5bGUsYS53aWR0aD1fLmVvKGIpLGEuaGVpZ2h0PV8uZm8oYikpfTtfLlJwPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5nbyhhLm9mZnNldFdpZHRoLGEub2Zmc2V0SGVpZ2h0KX07Cl8uVHA9ZnVuY3Rpb24oYSl7dmFyIGI9ITE7Xy5TcC5yaCgpP2EuZHJhZ2dhYmxlPSExOmI9ITA7dmFyIGM9Xy5QcCgpLnJoO2M/YS5zdHlsZVtjXT0ibm9uZSI6Yj0hMDtiJiZhLnNldEF0dHJpYnV0ZSgidW5zZWxlY3RhYmxlIiwib24iKTthLm9uc2VsZWN0c3RhcnQ9ZD0+e18uZ24oZCk7Xy5obihkKX19OwpfLlVwPWZ1bmN0aW9uKGEsYj0hMSl7aWYoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWEpcmV0dXJuITA7aWYoIShhIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybiExO3ZhciBjPSExO18uSXAoYSk7Y3VzdG9tRWxlbWVudHMuZ2V0KGEubG9jYWxOYW1lKXx8KGEudGFiSW5kZXg9YS50YWJJbmRleCk7dmFyIGQ9KCk9PntjPSEwO2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsZCl9LGU9KCk9PntjPSEwO2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGUpfTthLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixlKTthLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLGQpO2EuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ISFifSk7cmV0dXJuIGN9OwptZWE9ZnVuY3Rpb24oYSxiKXtiJiYoYS5zaD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LF8udG4oYS5fX2dtLCJwYW5vcmFtYWhpZGRlbiIsKCk9PntpZihhLnJoPy5ncz8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpe3ZhciBjPWEuc2g/Lm5vZGVOYW1lPT09IkJPRFkiLGQ9YS5fX2dtLmdldCgiZm9jdXNGYWxsYmFja0VsZW1lbnQiKTthLnNoJiYhYz8hXy5VcChhLnNoKSYmZCYmXy5VcChkKTpkJiZfLlVwKGQpfX0pKX07Xy5vZWE9ZnVuY3Rpb24oYSxiPWRvY3VtZW50KXtyZXR1cm4gbmVhKGEsYil9O25lYT1mdW5jdGlvbihhLGIpe3JldHVybihiPWImJihiLmZ1bGxzY3JlZW5FbGVtZW50fHxiLndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50fHxiLm1vekZ1bGxTY3JlZW5FbGVtZW50fHxiLm1zRnVsbHNjcmVlbkVsZW1lbnQpKT9iPT09YT8hMDpuZWEoYSxiLnNoYWRvd1Jvb3QpOiExfTsKcGVhPWZ1bmN0aW9uKGEpe2EucWg9ITA7dHJ5e2Euc2V0KCJyZW5kZXJpbmdUeXBlIixhLnJoKX1maW5hbGx5e2EucWg9ITF9fTtfLnFlYT1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy5VYS5nb29nbGUmJl8uVWEuZ29vZ2xlLm1hcHMmJl8uVWEuZ29vZ2xlLm1hcHMuZmlzZmV0c3o7YiYmQXJyYXkuaXNBcnJheShiKSYmXy5McFsxNV0mJmIuZm9yRWFjaChjPT57Xy5qbShjKSYmYS5wdXNoKGMpfSk7cmV0dXJuIGF9O3JlYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5raChhLDEsMzMpfTtzZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua2goYSwyLDMpfTt0ZWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5raChhLDEsYil9O3VlYT1mdW5jdGlvbihhKXt2YXIgYj1fLkpsLnJoKCkucmgoKTtyZXR1cm4gXy5paChhLDUsYil9O3ZlYT1mdW5jdGlvbihhKXt2YXIgYj1fLkpsLnJoKCkudGgoKS50b0xvd2VyQ2FzZSgpO3JldHVybiBfLmloKGEsNixiKX07CndlYT1mdW5jdGlvbihhKXtyZXR1cm4gXy4kZyhhLDEwLCEwKX07eGVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uYmgoYSwxLGIpfTt5ZWE9ZnVuY3Rpb24oYSxiKXtfLmJoKGEsMixiKX07emVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZGgoYSwxLGIpfTtBZWE9ZnVuY3Rpb24oYSxiKXtfLmRoKGEsMixiKX07QmVhPWZ1bmN0aW9uKGEsYil7Xy5raChhLDgsYil9O18uVnA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9TWF0aC5wb3coMixNYXRoLnJvdW5kKGEpKS8yNTY7cmV0dXJuIG5ldyBDZWEoTWF0aC5yb3VuZChNYXRoLnBvdygyLGEpL2UpKmUsYixjLGQpfTtfLlhwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLldwKChhLm0yMipiLlhoLWEubTEyKmIuWWgpL2Euc2gsKC1hLm0yMSpiLlhoK2EubTExKmIuWWgpL2Euc2gpfTtEZWE9ZnVuY3Rpb24oYSl7YT1hLmdldCgiem9vbSIpO3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiP01hdGguZmxvb3IoYSk6YX07CkZlYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldCgidGlsdCIpfHwhYS53aCYmXy4kbChhLmdldCgic3R5bGVzIikpO2E9YS5nZXQoIm1hcFR5cGVJZCIpO3JldHVybiBiP251bGw6RWVhW2FdfTtHZWE9ZnVuY3Rpb24oYSxiKXthLnFoLm9ubG9hZD1udWxsO2EucWgub25lcnJvcj1udWxsO3ZhciBjPWEueGgoKTtjJiYoYiYmKGEucWgucGFyZW50Tm9kZXx8YS5yaC5hcHBlbmRDaGlsZChhLnFoKSxhLnNofHxfLlFwKGEucWgsYykpLGEuc2V0KCJsb2FkaW5nIiwhMSkpfTtIZWE9ZnVuY3Rpb24oYSxiKXtiIT09YS5xaC5zcmM/KGEuc2h8fGEucWg/LnJlbW92ZSgpLGEucWgub25sb2FkPSgpPT57R2VhKGEsITApfSxhLnFoLm9uZXJyb3I9KCk9PntHZWEoYSwhMSl9LGEucWguc3JjPWIpOiFhLnFoLnBhcmVudE5vZGUmJmImJmEucmguYXBwZW5kQ2hpbGQoYS5xaCl9OwpMZWE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1uZXcgSWVhO3llYSh4ZWEoXy53ZyhmLEplYSwxKSxiLm1pblgpLGIubWluWSk7Xy5raChmLDIsZSkuc2V0Wm9vbShjKTtBZWEoemVhKF8ud2coZixfLllwLDQpLGIubWF4WC1iLm1pblgpLGIubWF4WS1iLm1pblkpO3ZhciBnPXdlYSh2ZWEodWVhKHRlYShfLndnKGYsXy5acCw1KSxkKSkpKTtiPV8ucWVhKCk7YS53aHx8Yi5wdXNoKDQ3MDgzNTAyKTtiLmZvckVhY2goaD0+e3ZhciBrPSExO2ZvcihsZXQgbT0wLHA9Xy5UZyhnLDE0KTttPHA7bSsrKWlmKF8uU2coZywxNCxtKT09PWgpe2s9ITA7YnJlYWt9a3x8Xy5taChnLDE0LGgpfSk7Xy4kZyhnLDEyLCEwKTtfLkxwWzEzXSYmc2VhKHJlYShfLlpmKGcsOCxfLiRwKSkpLk9sKDEpO2Eud2gmJl8uaWgoZiw3LGEud2gpO0JlYShmLGEuZ2V0KCJjb2xvclRoZW1lIikpO2Y9YS50aCt1bmVzY2FwZSgiJTNGIikrXy5SaihmLEtlYSgpKTtyZXR1cm4gYS5KaChmKX07Ck1lYT1mdW5jdGlvbihhKXt2YXIgYj1fLm5wKGEubWFwLHtmZWF0dXJlVHlwZTphLmZlYXR1cmVUeXBlLGRhdGFzZXRJZDphLmRhdGFzZXRJZCxEczphLkRzfSk7aWYoIWIuaXNBdmFpbGFibGUmJmIucWgubGVuZ3RoPjApe2xldCBjPWIucWgubWFwKGQ9PmQuR3EpO2MuaW5jbHVkZXMoIlRoZSBtYXAgaXMgaW5pdGlhbGl6ZWQgd2l0aG91dCBhIHZhbGlkIG1hcCBJRCwgdGhhdCB3aWxsIHByZXZlbnQgdXNlIG9mIGRhdGEtZHJpdmVuIHN0eWxpbmcuIikmJihhLmZlYXR1cmVUeXBlPT09IkRBVEFTRVQiP18uTShhLm1hcCwxNzczMTEpOl8uTShhLm1hcCwxNDg4NDQpKTsoYy5pbmNsdWRlcygiVGhlIE1hcCBTdHlsZSBkb2VzIG5vdCBoYXZlIGFueSBGZWF0dXJlTGF5ZXJzIGNvbmZpZ3VyZWQgZm9yIGRhdGEtZHJpdmVuIHN0eWxpbmcuIil8fGMuaW5jbHVkZXMoIlRoZSBNYXAgU3R5bGUgZG9lcyBub3QgaGF2ZSB0aGUgZm9sbG93aW5nIEZlYXR1cmVMYXllciBjb25maWd1cmVkIGZvciBkYXRhLWRyaXZlbiBzdHlsaW5nOiAiKwphLmZlYXR1cmVUeXBlKSkmJl8uTShhLm1hcCwxNDg4NDYpO2MuaW5jbHVkZXMoIlRoZSBtYXAgaXMgbm90IGEgdmVjdG9yIG1hcC4gVGhhdCB3aWxsIHByZXZlbnQgdXNlIG9mIGRhdGEtZHJpdmVuIHN0eWxpbmcuIikmJihhLmZlYXR1cmVUeXBlPT09IkRBVEFTRVQiP18uTShhLm1hcCwxNzczMTUpOl8uTShhLm1hcCwxNDg4NDUpKTtjLmluY2x1ZGVzKCJUaGUgTWFwIFN0eWxlIGRvZXMgbm90IGhhdmUgdGhlIGZvbGxvd2luZyBEYXRhc2V0IElEIGFzc29jaWF0ZWQgd2l0aCBpdDogIikmJl8uTShhLm1hcCwxNzgyODEpfXJldHVybiBifTthcT1mdW5jdGlvbihhLGIpe3ZhciBjPU1lYShhKTtfLm9wKGEubWFwLGIsYyk7cmV0dXJuIGN9OwpicT1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7dHlwZW9mIGI9PT0iZnVuY3Rpb24iP2M9YjpiJiYoYz0oKT0+Yik7UHJvbWlzZS5hbGwoW18uSGwoIndlYmdsIiksYS5tYXAuX19nbS5zaV0pLnRoZW4oKFtkXSk9PntkLnpoKGEubWFwLHtmZWF0dXJlVHlwZTphLmZlYXR1cmVUeXBlLGRhdGFzZXRJZDphLmRhdGFzZXRJZCxEczphLkRzfSxjKTthLnNoPWJ9KX07Y3E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLnFoPSEhYjt0aGlzLm5vZGU9bnVsbDt0aGlzLnJoPTA7dGhpcy50aD0hMTt0aGlzLnNoPSFjO2EmJnRoaXMuc2V0UG9zaXRpb24oYSxkKTt0aGlzLmRlcHRoPWUhPXZvaWQgMD9lOnRoaXMucmh8fDA7dGhpcy5xaCYmKHRoaXMuZGVwdGgqPS0xKX07Xy5pcT1mdW5jdGlvbihhLGI9ITApe2J8fF8uZHEoYSk7Zm9yKGI9YS5maXJzdENoaWxkO2I7KV8uZHEoYiksYS5yZW1vdmVDaGlsZChiKSxiPWEuZmlyc3RDaGlsZH07Cl8uZHE9ZnVuY3Rpb24oYSl7Zm9yKGE9bmV3IE5lYShhKTs7KXt2YXIgYj1hLm5leHQoKTtpZihiLmRvbmUpYnJlYWs7KGI9Yi52YWx1ZSkmJl8ucG4oYil9fTtfLmpxPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheShiLmxlbmd0aCk7Zm9yKGxldCBlPTAsZj1iLmxlbmd0aDtlPGY7KytlKWRbZV09Yi5jaGFyQ29kZUF0KGUpO2QudW5zaGlmdChjKTtyZXR1cm4gYS5oYXNoKGQpfTsKUGVhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW5ldyBfLmtxKDEzMTA3MSksZj11bmVzY2FwZSgiJTI2JTc0JTZGJTZCJTY1JTZFJTNEIiksZz11bmVzY2FwZSgiJTI2JTZCJTY1JTc5JTNEIiksaD11bmVzY2FwZSgiJTI2JTYzJTZDJTY5JTY1JTZFJTc0JTNEIiksaz11bmVzY2FwZSgiJTI2JTYzJTY4JTYxJTZFJTZFJTY1JTZDJTNEIik7cmV0dXJuKG0scCk9Pnt2YXIgcT0iIix1PXA/P2I7dSYmKHErPWcrZW5jb2RlVVJJQ29tcG9uZW50KHUpKTtwfHwoYyYmKHErPWgrZW5jb2RlVVJJQ29tcG9uZW50KGMpKSxkJiYocSs9aytlbmNvZGVVUklDb21wb25lbnQoZCkpKTttPW0ucmVwbGFjZShPZWEsIiUyNyIpK3E7cD1tK2Y7cT1TdHJpbmc7bHF8fChscT1SZWdFeHAoIig/Omh0dHBzPzovL1teL10rKT8oLiopIikpO209bHEuZXhlYyhtKTtpZighbSl0aHJvdyBFcnJvcigiSW52YWxpZCBVUkwgdG8gc2lnbi4iKTtyZXR1cm4gcCtxKF8uanEoZSxtWzFdLGEpKX19OwpRZWE9ZnVuY3Rpb24oYSl7YT1BcnJheShhLnRvU3RyaW5nKCkubGVuZ3RoKTtmb3IobGV0IGI9MDtiPGEubGVuZ3RoOysrYilhW2JdPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo2MikpO3JldHVybiBhLmpvaW4oIiIpfTtSZWE9ZnVuY3Rpb24oYSxiPVFlYShhKSl7dmFyIGM9bmV3IF8ua3EoMTMxMDcxKTtyZXR1cm4oKT0+W2IsXy5qcShjLGIsYSkudG9TdHJpbmcoKV19O1NlYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLmtxKDIxNDc0ODM2NDcpO3JldHVybiBiPT5fLmpxKGEsYiwwKX07Cl8ucnE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7dmFyIFE9eyI0ZyI6MjUwMCwiM2ciOjM1MDAsIjJnIjo2RTMsdW5rbm93bjo0RTN9O3JldHVybiBfLlVhLm5hdmlnYXRvciYmXy5VYS5uYXZpZ2F0b3IuY29ubmVjdGlvbiYmXy5VYS5uYXZpZ2F0b3IuY29ubmVjdGlvbi5lZmZlY3RpdmVUeXBlP1FbXy5VYS5uYXZpZ2F0b3IuY29ubmVjdGlvbi5lZmZlY3RpdmVUeXBlXXx8US51bmtub3duOlEudW5rbm93bn12YXIgZD1wZXJmb3JtYW5jZS5ub3coKTtpZighYSl0aHJvdyBfLkFtKGBNYXA6IEV4cGVjdGVkIG1hcERpdiBvZiB0eXBlIEhUTUxFbGVtZW50IGJ1dCB3YXMgcGFzc2VkICR7YX0uYCk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIil0aHJvdyBfLkFtKGBNYXA6IEV4cGVjdGVkIG1hcERpdiBvZiB0eXBlIEhUTUxFbGVtZW50IGJ1dCB3YXMgcGFzc2VkIHN0cmluZyAnJHthfScuYCk7dmFyIGU9Ynx8e307ZS5ub0NsZWFyfHxfLmlxKGEsITEpO3ZhciBmPXR5cGVvZiBkb2N1bWVudD09CiJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZiYmYS5hcHBlbmRDaGlsZCYmKGEuYXBwZW5kQ2hpbGQoZiksZi5zdHlsZS53aWR0aD1mLnN0eWxlLmhlaWdodD0iMTAwJSIpO18ubXEuc2V0KGYsdGhpcyk7aWYoTXAoXy5OcCkpdGhyb3cgXy5IbCgiY29udHJvbHMiKS50aGVuKFE9PntRLm9GKGEpfSksRXJyb3IoIlRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSSBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgYnJvd3Nlci4iKTtfLkhsKCJ1dGlsIikudGhlbihRPT57Xy5McFszNV0mJmImJmIuZEUmJlEuZXIudGgobmV3IF8ubnEoYi5kRSkpO1EuZXIucWgoY2E9PntfLkhsKCJjb250cm9scyIpLnRoZW4oaWE9Pnt2YXIgR2E9Xy5IKGNhLDIpfHwiaHR0cDovL2cuY28vZGV2L21hcHMtbm8tYWNjb3VudCI7aWEuS0ooYSxHYSl9KX0pfSk7dmFyIGcsaD1uZXcgUHJvbWlzZShRPT57Zz1RfSk7Xy5Mbi5jYWxsKHRoaXMsbmV3IFRlYSh0aGlzLGEsZixoKSk7CnZhciBrPXRoaXMuX19nbTtoPXRoaXMuX19nbS5xaDt0aGlzLnNldCgibWFwQ2FwYWJpbGl0aWVzIixoLmdldE1hcENhcGFiaWxpdGllcygpKTtoLmJpbmRUbygibWFwQ2FwYWJpbGl0aWVzIix0aGlzLCJtYXBDYXBhYmlsaXRpZXMiLCEwKTtlLm1hcFR5cGVJZD09PXZvaWQgMCYmKGUubWFwVHlwZUlkPSJyb2FkbWFwIik7ay5jb2xvclNjaGVtZT1lLmNvbG9yU2NoZW1lfHwiTElHSFQiO2suc2V0KCJjbG91ZFN0eWxpbmdGb3JUZXJyYWluVmVjdG9yTWFwQmFzZVRpbGVzRGlzYWJsZWQiLCEhZS5jbG91ZFN0eWxpbmdGb3JUZXJyYWluVmVjdG9yTWFwQmFzZVRpbGVzRGlzYWJsZWQpO2suRmg9ZS5iYWNrZ3JvdW5kQ29sb3I7IWsuRmgmJmsuTXImJihrLkZoPWsuY29sb3JTY2hlbWU9PT0iREFSSyI/IiMyMDIxMjQiOiIjZTVlM2RmIik7dmFyIG09bmV3IFVlYTt0aGlzLnNldCgicmVuZGVyaW5nVHlwZSIsIlVOSU5JVElBTElaRUQiKTttLmJpbmRUbygicmVuZGVyaW5nVHlwZSIsdGhpcywKInJlbmRlcmluZ1R5cGUiLCEwKTttLmJpbmRUbygibWFwSGFzQmVlbkFibGVUb0JlRHJhd24iLGssIm1hcEhhc0JlZW5BYmxlVG9CZURyYXduIiwhMCk7dGhpcy5fX2dtLnNoLnRoZW4oUT0+e20ucmg9UT8iVkVDVE9SIjoiUkFTVEVSIjtwZWEobSl9KTt0aGlzLnNldFZhbHVlcyhlKTtoPWUubWFwVHlwZUlkO3ZhciBwPWsuY29sb3JTY2hlbWU9PT0iREFSSyI7aWYoXy5McFsxNzBdKXN3aXRjaChrLnNldCgic3R5bGVUYWJsZUJ5dGVzIixlLnN0eWxlVGFibGVCeXRlcyksaCl7Y2FzZSAiaHlicmlkIjpjYXNlICJzYXRlbGxpdGUiOmsuc2V0KCJjb25maWdTZXQiLDExKTticmVhaztjYXNlICJ0ZXJyYWluIjprLnNldCgiY29uZmlnU2V0IixwPzI5OjEyKTticmVhaztkZWZhdWx0Omsuc2V0KCJjb25maWdTZXQiLHA/Mjc6OCl9dmFyIHE9ay5CaDtPZGEocSx7VkI6ZH0pO1ZlYShiKXx8Xy51cChxLCJNQVBfSU5JVElBTElaQVRJT04iKTt0aGlzLnZFPV8uTHBbMTVdJiZlLm5vQ29udHJvbHNPckxvZ2dpbmc7CnRoaXMubWFwVHlwZXM9bmV3IG9xO0lkYSh0aGlzKTt0aGlzLmZlYXR1cmVzPW5ldyBXZWE7Xy4kbihmKTt0aGlzLm5vdGlmeSgic3RyZWV0VmlldyIpO2g9Xy5ScChmKTt2YXIgdT1udWxsO1hlYShlLnVzZVN0YXRpY01hcCxoKSYmKHU9bmV3IFllYShmKSx1LnNldCgic2l6ZSIsaCksdS5zZXQoImNvbG9yVGhlbWUiLGsuY29sb3JTY2hlbWU9PT0iREFSSyI/MjoxKSx1LmJpbmRUbygibWFwSWQiLHRoaXMpLHUuYmluZFRvKCJjZW50ZXIiLHRoaXMpLHUuYmluZFRvKCJ6b29tIix0aGlzKSx1LmJpbmRUbygibWFwVHlwZUlkIix0aGlzKSx1LmJpbmRUbygic3R5bGVzIix0aGlzKSk7dGhpcy5vdmVybGF5TWFwVHlwZXM9bmV3IF8uRW87dmFyIHg9dGhpcy5jb250cm9scz1bXTtfLmFtKF8ucHEsKFEsY2EpPT57eFtjYV09bmV3IF8uRW87eFtjYV0uYWRkTGlzdGVuZXIoImluc2VydF9hdCIsKCk9PntfLk0odGhpcywxODIxMTEpfSl9KTt2YXIgej0hMSxCPV8uVWEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXImJgpuZXcgUHJvbWlzZShRPT57dmFyIGNhPWMoKSxpYT1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoR2E9Pntmb3IobGV0IExhPTA7TGE8R2EubGVuZ3RoO0xhKyspR2FbTGFdLmlzSW50ZXJzZWN0aW5nPyhpYS5kaXNjb25uZWN0KCksUSgpKTp6PSEwfSx7cm9vdE1hcmdpbjpgJHtjYX1weCAke2NhfXB4ICR7Y2F9cHggJHtjYX1weGB9KTtpYS5vYnNlcnZlKHRoaXMuZ2V0RGl2KCkpfSk7Xy5IbCgibWFwIikudGhlbihhc3luYyBRPT57cXE9UTtpZih0aGlzLmdldERpdigpJiZmKXtpZihCKXtfLnVwKHEsIk1BUF9JTklUSUFMSVpBVElPTiIpO2xldCBpYT1wZXJmb3JtYW5jZS5ub3coKS1kO3ZhciBjYT1zZXRUaW1lb3V0KCgpPT57Xy5NKHRoaXMsMTY5MTA4KX0sMUUzKTthd2FpdCBCO2NsZWFyVGltZW91dChjYSk7Y2E9dm9pZCAwO3p8fChjYT17VkI6cGVyZm9ybWFuY2Uubm93KCktaWF9KTtWZWEoYikmJk9kYShxLGNhKX1RLk1QKHRoaXMsZSxmLHUsZyl9ZWxzZSBfLnVwKHEsIk1BUF9JTklUSUFMSVpBVElPTiIpfSwKKCk9Pnt0aGlzLmdldERpdigpJiZmP18udHAocSw4KTpfLnVwKHEsIk1BUF9JTklUSUFMSVpBVElPTiIpfSk7dGhpcy5kYXRhPW5ldyBZbih7bWFwOnRoaXN9KTt0aGlzLmFkZExpc3RlbmVyKCJyZW5kZXJpbmd0eXBlX2NoYW5nZWQiLCgpPT57Xy5MZGEodGhpcyl9KTt2YXIgSz10aGlzLmFkZExpc3RlbmVyKCJ6b29tX2NoYW5nZWQiLCgpPT57Xy5tbihLKTtfLnVwKHEsIk1BUF9JTklUSUFMSVpBVElPTiIpfSksTz10aGlzLmFkZExpc3RlbmVyKCJkcmFnc3RhcnQiLCgpPT57Xy5tbihPKTtfLnVwKHEsIk1BUF9JTklUSUFMSVpBVElPTiIpfSk7Xy5xbihhLCJzY3JvbGwiLCgpPT57YS5zY3JvbGxMZWZ0PWEuc2Nyb2xsVG9wPTB9KTtfLlVhLk11dGF0aW9uT2JzZXJ2ZXImJnRoaXMuZ2V0RGl2KCkmJigoaD1aZWEuZ2V0KHRoaXMuZ2V0RGl2KCkpKSYmaC5kaXNjb25uZWN0KCksaD1uZXcgTXV0YXRpb25PYnNlcnZlcihRPT57Zm9yKGxldCBjYSBvZiBRKWNhLmF0dHJpYnV0ZU5hbWU9PT0KImRpciImJl8ud24odGhpcywic2hvdWxkVXNlUlRMQ29udHJvbHNDaGFuZ2UiKX0pLFplYS5zZXQodGhpcy5nZXREaXYoKSxoKSxoLm9ic2VydmUodGhpcy5nZXREaXYoKSx7YXR0cmlidXRlczohMH0pKTtCJiYoXy51bih0aGlzLCJyZW5kZXJpbmd0eXBlX2NoYW5nZWQiLGFzeW5jKCk9Pnt0aGlzLmdldCgicmVuZGVyaW5nVHlwZSIpPT09IlZFQ1RPUiImJihhd2FpdCBCLF8uSGwoIndlYmdsIikpfSksXy5rbihrLCJtYXBoYXNiZWVuYWJsZXRvYmVkcmF3bl9jaGFuZ2VkIixhc3luYygpPT57ay5nZXQoIm1hcEhhc0JlZW5BYmxlVG9CZURyYXduIikmJl8uTW4odGhpcykmJnRoaXMuZ2V0KCJyZW5kZXJpbmdUeXBlIik9PT0iVU5JTklUSUFMSVpFRCImJihhd2FpdCBCLF8uSGwoIndlYmdsIikpfSkpO3ZhciBBO18ua24oaywibWFwaGFzYmVlbmFibGV0b2JlZHJhd25fY2hhbmdlZCIsYXN5bmMoKT0+e2lmKGsuZ2V0KCJtYXBIYXNCZWVuQWJsZVRvQmVEcmF3biIpKXtBPXBlcmZvcm1hbmNlLm5vdygpOwp2YXIgUT10aGlzLmdldEludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcygpPz9udWxsO1EmJl8uTSh0aGlzLDEyMjQ0Nyx7aW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzOkFycmF5LmZyb20obmV3IFNldChRKSl9KX19KTtoPSgpPT57dGhpcy5nZXQoInJlbmRlcmluZ1R5cGUiKT09PSJWRUNUT1IiJiZ0aGlzLmdldCgic3R5bGVzIikmJih0aGlzLnNldCgic3R5bGVzIix2b2lkIDApLGNvbnNvbGUud2FybigiR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEk6IEEgTWFwJ3Mgc3R5bGVzIHByb3BlcnR5IGNhbm5vdCBiZSBzZXQgd2hlbiB0aGUgbWFwIGlzIGEgdmVjdG9yIG1hcC4gUGxlYXNlIHNlZSBkb2N1bWVudGF0aW9uIGF0IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3N0eWxpbmcjY2xvdWRfdG9vbGluZyIpKX07dGhpcy5hZGRMaXN0ZW5lcigic3R5bGVzX2NoYW5nZWQiLGgpO3RoaXMuYWRkTGlzdGVuZXIoInJlbmRlcmluZ3R5cGVfY2hhbmdlZCIsCmgpO3RoaXMuYWRkTGlzdGVuZXIoImJvdW5kc19jaGFuZ2VkIiwoKT0+e0EmJnRoaXMuZ2V0UmVuZGVyaW5nVHlwZSgpIT09IlZFQ1RPUiImJnBlcmZvcm1hbmNlLm5vdygpLUE+ODY0RTUmJl8uTSh3aW5kb3csMjU2NzE3KX0pO2goKX07WGVhPWZ1bmN0aW9uKGEsYil7aWYoIV8uSmx8fF8uRyhfLkpsLF8ubnEsNDApLmdldFN0YXR1cygpPT0yKXJldHVybiExO2lmKGEhPT12b2lkIDApcmV0dXJuISFhO2E9Yi53aWR0aDtiPWIuaGVpZ2h0O3JldHVybiBhKmI8PTM4NEUzJiZhPD04MDAmJmI8PTgwMH07VmVhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPU9iamVjdC5rZXlzKHNxKTtmb3IobGV0IGMgb2YgYil0cnl7aWYodHlwZW9mIHNxW2NdPT09ImZ1bmN0aW9uIiYmYVtjXSlzcVtjXShhW2NdKX1jYXRjaChkKXtyZXR1cm4hMX1yZXR1cm4gYS5jZW50ZXImJmEuem9vbT8hMDohMX07Cl8udHE9ZnVuY3Rpb24oYSl7cmV0dXJuKGIsYyk9PntpZih0eXBlb2YgYz09PSJvYmplY3QiKWI9JGVhKGEsYixjKTtlbHNle2xldCBkPWIuaGFzT3duUHJvcGVydHkoYyk7RWRhKGIuY29uc3RydWN0b3IsYyxhKTtiPWQ/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiLGMpOnZvaWQgMH1yZXR1cm4gYn19O18udXE9ZnVuY3Rpb24oYSl7cmV0dXJuKGIsYyk9Pl8uYWZhKGIsYyx7Z2V0KCl7cmV0dXJuIHRoaXMuUGs/LnF1ZXJ5U2VsZWN0b3IoYSk/P251bGx9fSl9O18udnE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udHEoey4uLmEsc3RhdGU6ITAsS2g6ITF9KX07YmZhPWZ1bmN0aW9uKGEpe18uSGwoInBvbHkiKS50aGVuKGI9PntiLnlMKGEpfSl9O2NmYT1mdW5jdGlvbihhKXtfLkhsKCJwb2x5IikudGhlbihiPT57Yi56TChhKX0pfTsKXy53cT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLnFofHx2b2lkIDA7YT1fLkhsKCJzdHJlZXR2aWV3IikudGhlbihmPT5fLkhsKCJnZW9tZXRyeSIpLnRoZW4oZz0+Zi5kTihiLGN8fG51bGwsZy5zcGhlcmljYWwuY29tcHV0ZUhlYWRpbmcsZy5zcGhlcmljYWwuY29tcHV0ZU9mZnNldCxlLGQpKSk7YyYmYS5jYXRjaCgoKT0+e30pO3JldHVybiBhfTsKenE9ZnVuY3Rpb24oYSl7YT1hfHx7fTt0aGlzLnRpbGVTaXplPWEudGlsZVNpemV8fG5ldyBfLmdvKDI1NiwyNTYpO3RoaXMubmFtZT1hLm5hbWU7dGhpcy5hbHQ9YS5hbHQ7dGhpcy5taW5ab29tPWEubWluWm9vbTt0aGlzLm1heFpvb209YS5tYXhab29tO3RoaXMuc2g9KDAsXy5pYikoYS5nZXRUaWxlVXJsLGEpO3RoaXMucWg9bmV3IF8ueHE7dGhpcy5yaD1udWxsO3RoaXMuc2V0KCJvcGFjaXR5IixhLm9wYWNpdHkpO18uSGwoIm1hcCIpLnRoZW4oYj0+e3ZhciBjPXRoaXMucmg9Yi5vTy5iaW5kKGIpLGQ9dGhpcy50aWxlU2l6ZXx8bmV3IF8uZ28oMjU2LDI1Nik7dGhpcy5xaC5mb3JFYWNoKGU9Pnt2YXIgZj1lLl9fZ21pbXQsZz1mLnJqLGg9Zi56b29tLGs9dGhpcy5zaChnLGgpOyhmLkRqPWMoe2tpOmcueCxsaTpnLnksdWk6aH0sZCxlLGssKCk9Pl8ud24oZSwibG9hZCIpKSkuc2V0T3BhY2l0eSh5cSh0aGlzKSl9KX0pfTsKeXE9ZnVuY3Rpb24oYSl7YT1hLmdldCgib3BhY2l0eSIpO3JldHVybiB0eXBlb2YgYT09Im51bWJlciI/YToxfTtfLkFxPWZ1bmN0aW9uKCl7fTtfLkJxPWZ1bmN0aW9uKGEsYil7dGhpcy5zZXQoInN0eWxlcyIsYSk7YT1ifHx7fTt0aGlzLnJoPWEuYmFzZU1hcFR5cGVJZHx8InJvYWRtYXAiO3RoaXMubWluWm9vbT1hLm1pblpvb207dGhpcy5tYXhab29tPWEubWF4Wm9vbXx8MjA7dGhpcy5uYW1lPWEubmFtZTt0aGlzLmFsdD1hLmFsdDt0aGlzLnByb2plY3Rpb249bnVsbDt0aGlzLnRpbGVTaXplPW5ldyBfLmdvKDI1NiwyNTYpfTtDcT1mdW5jdGlvbihhLGIpe3RoaXMuc2V0VmFsdWVzKGIpfTsKcGZhPWZ1bmN0aW9uKCl7dmFyIGE9T2JqZWN0LmFzc2lnbih7RGlyZWN0aW9uc1RyYXZlbE1vZGU6Xy5EcSxEaXJlY3Rpb25zVW5pdFN5c3RlbTpfLkVxLEZ1c2lvblRhYmxlc0xheWVyOmRmYSxNYXJrZXJJbWFnZTplZmEsTmF2aWdhdGlvbkNvbnRyb2xTdHlsZTpmZmEsU2F2ZVdpZGdldDpDcSxTY2FsZUNvbnRyb2xTdHlsZTpnZmEsWm9vbUNvbnRyb2xTdHlsZTpoZmF9LGlmYSxqZmEsa2ZhLGxmYSxtZmEsbmZhLG9mYSk7Xy5ibShZbix7RmVhdHVyZTpfLkZxLEdlb21ldHJ5OlptLEdlb21ldHJ5Q29sbGVjdGlvbjpfLkluLExpbmVTdHJpbmc6Xy5EbixMaW5lYXJSaW5nOl8uSm4sTXVsdGlMaW5lU3RyaW5nOl8uR24sTXVsdGlQb2ludDpfLkZuLE11bHRpUG9seWdvbjpfLkhuLFBvaW50Ol8uJG0sUG9seWdvbjpfLkVufSk7Xy5zbShhKTtyZXR1cm4gYX07CnNmYT1hc3luYyBmdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9e2NvcmU6aWZhLG1hcHM6amZhLGdlb2NvZGluZzptZmEsc3RyZWV0VmlldzpuZmF9W2FdO2lmKGQpZm9yKGxldCBbZSxmXW9mIE9iamVjdC5lbnRyaWVzKGQpKWY9PT12b2lkIDAmJmRlbGV0ZSBkW2VdO2lmKGQpYiYmXy5NKF8uVWEsMTU4NTMwKTtlbHNle2ImJl8uTShfLlVhLDE1NzU4NCk7aWYoIXFmYS5oYXMoYSkmJiFyZmEuaGFzKGEpKXtiPWBUaGUgbGlicmFyeSAke2F9IGlzIHVua25vd24uIFBsZWFzZSBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvbGlicmFyaWVzYDtpZihjKXRocm93IEVycm9yKGIpO2NvbnNvbGUuZXJyb3IoYil9ZD1hd2FpdCBfLkhsKGEpfXN3aXRjaChhKXtjYXNlICJhZGRyZXNzVmFsaWRhdGlvbiI6ZC5jb25uZWN0Rm9yRXhwbGljaXRUaGlyZFBhcnR5TG9hZCgpO2JyZWFrO2Nhc2UgIm1hcHMiOl8uSGwoIm1hcCIpOwpicmVhaztjYXNlICJlbGV2YXRpb24iOmQuY29ubmVjdEZvckV4cGxpY2l0VGhpcmRQYXJ0eUxvYWQoKTticmVhaztjYXNlICJhaXJRdWFsaXR5IjpkLmNvbm5lY3RGb3JFeHBsaWNpdFRoaXJkUGFydHlMb2FkKCk7YnJlYWs7Y2FzZSAiZ2VvY29kaW5nIjpfLkhsKCJnZW9jb2RlciIpO2JyZWFrO2Nhc2UgInN0cmVldFZpZXciOl8uSGwoInN0cmVldHZpZXciKTticmVhaztjYXNlICJtYXBzM2QiOmQuY29ubmVjdEZvckV4cGxpY2l0VGhpcmRQYXJ0eUxvYWQoKTticmVhaztjYXNlICJtYXJrZXIiOmQuY29ubmVjdEZvckV4cGxpY2l0VGhpcmRQYXJ0eUxvYWQoKTticmVhaztjYXNlICJwbGFjZXMiOmQuY29ubmVjdEZvckV4cGxpY2l0VGhpcmRQYXJ0eUxvYWQoKTticmVhaztjYXNlICJyb3V0ZXMiOmQuY29ubmVjdEZvckV4cGxpY2l0VGhpcmRQYXJ0eUxvYWQoKTticmVhaztjYXNlICJ3ZWF0aGVyIjpkLmNvbm5lY3RGb3JFeHBsaWNpdFRoaXJkUGFydHlMb2FkKCl9cmV0dXJuIE9iamVjdC5mcmVlemUoey4uLmR9KX07Cl8udWZhPWFzeW5jIGZ1bmN0aW9uKGEpe2F3YWl0IG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1uZXcgUmVzaXplT2JzZXJ2ZXIoZD0+e2EuaXNWaXNpYmxlKGRbMF0pPyhjLmRpc2Nvbm5lY3QoKSxiKCkpOmEucWgucmVzb2x2ZSghMSl9KTtjLm9ic2VydmUoYS5ob3N0KX0pO2F3YWl0IG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZD0+e2lmKGQ9ZC5zb21lKGU9PmUuaXNJbnRlcnNlY3RpbmcpKWMuZGlzY29ubmVjdCgpLGIoKTthLnFoLnJlc29sdmUoZCl9LHtyb290OmRvY3VtZW50LHJvb3RNYXJnaW46YCR7dGZhKCl9cHhgfSk7Yy5vYnNlcnZlKGEuaG9zdCl9KX07CnRmYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBNYXAoW1siNGciLDI1MDBdLFsiM2ciLDM1MDBdLFsiMmciLDZFM10sWyJzbG93LTJnIiw4RTNdLFsidW5rbm93biIsNEUzXV0pLGI9d2luZG93Lm5hdmlnYXRvcj8uY29ubmVjdGlvbj8uZWZmZWN0aXZlVHlwZTtyZXR1cm4oYiYmYS5nZXQoYikpPz9hLmdldCgidW5rbm93biIpfTt2ZmE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz0rK2EucWgsZD1iLlpJLGU9Yi5vbkVycm9yO2I9Yi5PTzt2YXIgZj1nPT57aWYoYS5xaCE9PWMpdGhyb3cgbmV3IEdxO3JldHVybiBnfTt0cnl7dHJ5e2YoYXdhaXQgMCksZihhd2FpdCBkKGYpKX1jYXRjaChnKXtpZihnIGluc3RhbmNlb2YgR3F8fCFlKXRocm93IGc7Zihhd2FpdCBlKGcsZikpfX1jYXRjaChnKXtpZighKGcgaW5zdGFuY2VvZiBHcSkpdGhyb3cgZztiPy4oKX19O18uSHE9ZnVuY3Rpb24oYSl7dmZhKGEuYkgse1pJOmFzeW5jIGI9PnthLnRrPTA7Yihhd2FpdCBhLkNwKX19KX07Cl8uSXE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiB2ZmEoYS5iSCx7Wkk6YXN5bmMgZT0+e2EudGs9MTthLlpEfHxlKGF3YWl0IF8udWZhKGEuelEpKTtjJiYoZD1fLk5sKGMpKTtlKGF3YWl0IGIoZSkpO2EudGs9MjtlKGF3YWl0IGEuQ3ApO2EuZGlzcGF0Y2hFdmVudChuZXcgXy53ZmEpO18uT2woZCwwKX0sb25FcnJvcjphc3luYyhlLGYpPT57YS50az0zO18uT2woZCwxMyk7Zihhd2FpdCBhLkNwKTtfLkdkYShhLGUpfSxPTzooKT0+e18uUGwoZCl9fSl9O18uS3E9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLlFvP2E6bmV3IF8uUW8oKDAsXy5KcSkoYSkpfTt4ZmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLngsZD1hLnk7c3dpdGNoKGIpe2Nhc2UgOTA6YS54PWQ7YS55PTI1Ni1jO2JyZWFrO2Nhc2UgMTgwOmEueD0yNTYtYzthLnk9MjU2LWQ7YnJlYWs7Y2FzZSAyNzA6YS54PTI1Ni1kLGEueT1jfX07Cl8uTXE9ZnVuY3Rpb24oYSl7cmV0dXJuIWF8fGEgaW5zdGFuY2VvZiBfLkxxP3lmYTphfTtfLk5xPWZ1bmN0aW9uKGEsYixjPSExKXtyZXR1cm4gXy5NcShiKS5mcm9tUG9pbnRUb0xhdExuZyhuZXcgXy5ibyhhLnFoLGEucmgpLGMpfTtDZmE9ZnVuY3Rpb24oYSl7dmFyIGI9emZhLGM9QWZhLGQ9QmZhO0dsLmdldEluc3RhbmNlKCkuaW5pdChhLGIsYyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxkKX07CkdmYT1mdW5jdGlvbigpe3ZhciBhPURmYXx8KERmYT1FZmEoJ1tbWyJhZGRyZXNzVmFsaWRhdGlvbiIsWyJtYWluIl1dLFsiYWlyUXVhbGl0eSIsWyJtYWluIl1dLFsiYWRzZW5zZSIsWyJtYWluIl1dLFsiY29tbW9uIixbIm1haW4iXV0sWyJjb250cm9scyIsWyJ1dGlsIl1dLFsiZGF0YSIsWyJ1dGlsIl1dLFsiZGlyZWN0aW9ucyIsWyJ1dGlsIiwiZ2VvbWV0cnkiXV0sWyJkaXN0YW5jZV9tYXRyaXgiLFsidXRpbCJdXSxbImRyYXdpbmciLFsibWFpbiJdXSxbImRyYXdpbmdfaW1wbCIsWyJjb250cm9scyJdXSxbImVsZXZhdGlvbiIsWyJ1dGlsIiwiZ2VvbWV0cnkiXV0sWyJnZW9jb2RlciIsWyJ1dGlsIl1dLFsiZ2VvbWV0cnkiLFsibWFpbiJdXSxbImltYWdlcnlfdmlld2VyIixbIm1haW4iXV0sWyJpbmZvd2luZG93IixbInV0aWwiXV0sWyJqb3VybmV5U2hhcmluZyIsWyJtYWluIl1dLFsia21sIixbIm9uaW9uIiwidXRpbCIsIm1hcCJdXSxbImxheWVycyIsWyJtYXAiXV0sWyJsb2ciLFsidXRpbCJdXSxbIm1haW4iXSxbIm1hcCIsWyJjb21tb24iXV0sWyJtYXAzZF9saXRlX3dhc20iLFsibWFpbiJdXSxbIm1hcDNkX3dhc20iLFsibWFpbiJdXSxbIm1hcDNkX3dhc21fZ2VveHAiLFsibWFpbiJdXSxbIm1hcHMzZCIsWyJ1dGlsIl1dLFsibWFya2VyIixbInV0aWwiXV0sWyJtYXh6b29tIixbInV0aWwiXV0sWyJvbmlvbiIsWyJ1dGlsIiwibWFwIl1dLFsib3ZlcmxheSIsWyJjb21tb24iXV0sWyJwYW5vcmFtaW8iLFsibWFpbiJdXSxbInBsYWNlcyIsWyJwbGFjZXNfaW1wbCJdXSxbInBsYWNlc19pbXBsIixbImNvbnRyb2xzIl1dLFsicG9seSIsWyJ1dGlsIiwibWFwIiwiZ2VvbWV0cnkiXV0sWyJyb3V0ZXMiLFsibWFpbiJdXSxbInNlYXJjaCIsWyJtYWluIl1dLFsic2VhcmNoX2ltcGwiLFsib25pb24iXV0sWyJzdHJlZXR2aWV3IixbInV0aWwiLCJnZW9tZXRyeSJdXSxbInN0eWxlRWRpdG9yIixbImNvbW1vbiJdXSxbInV0aWwiLFsiY29tbW9uIl1dLFsidmlzdWFsaXphdGlvbiIsWyJtYWluIl1dLFsidmlzdWFsaXphdGlvbl9pbXBsIixbIm9uaW9uIl1dLFsid2VhdGhlciIsWyJtYWluIl1dLFsid2ViZ2wiLFsidXRpbCIsIm1hcCJdXV1dJykpO3JldHVybiBfLkNnKGEsCkZmYSwxKX07Xy5PcT1mdW5jdGlvbihhKXt2YXIgYj1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpO2lmKCFiLmxlbmd0aClyZXR1cm4gMjtiPWIuZmluZChkPT5kLm5hbWUuaW5jbHVkZXMoYSkpO2lmKCFiKXJldHVybiAyO2lmKGIuZGVsaXZlcnlUeXBlPT09ImNhY2hlIilyZXR1cm4gMTt2YXIgYz1iLmRlY29kZWRCb2R5U2l6ZTtyZXR1cm4gYi50cmFuc2ZlclNpemU9PT0wJiZjPjA/MTpiLmR1cmF0aW9uPDMwPzE6MH07QmZhPWZ1bmN0aW9uKGEpe3ZhciBiPVBxLmdldChhKTtpZihiKXt2YXIgYz1fLkpsO2MmJihjPV8ucmwoXy5zbChjKSksYz1jLmVuZHNXaXRoKCIvIik/YzpgJHtjfS9gLGM9YCR7Y30ke2F9LmpzYCxhPV8uT3EoYyksYSE9PTImJihjPV8uTmwoYi5paix7Snc6Y30pLF8uT2woYywwKSksYT09PTE/Xy5NKF8uVWEsYi5maik6YT09PTAmJl8uTShfLlVhLGIuZ2opKX19OwpJZmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPVswLDBdO2ZvcihsZXQgZj0wLGc9Xy4kbChhKTtmPGc7KytmKXt2YXIgZT1iP2IoYVtmXSk6W2FbZl0ubGF0KCksYVtmXS5sbmcoKV07SGZhKGVbMF0tZFswXSxjKTtIZmEoZVsxXS1kWzFdLGMpO2Q9ZX1yZXR1cm4gYy5qb2luKCIiKX07SGZhPWZ1bmN0aW9uKGEsYil7Zm9yKGE9YTwwP34oYTw8MSk6YTw8MTthPj0zMjspYi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoKDMyfGEmMzEpKzYzKSksYT4+PTU7Yi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYSs2MykpfTsKXy5KZmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy4kbChhKSxjPUFycmF5KE1hdGguZmxvb3IoYS5sZW5ndGgvMikpLGQ9MCxlPTAsZj0wLGc7Zm9yKGc9MDtkPGI7KytnKXtsZXQgaD0xLGs9MCxtO2RvIG09YS5jaGFyQ29kZUF0KGQrKyktNjMtMSxoKz1tPDxrLGsrPTU7d2hpbGUobT49MzEpO2UrPWgmMT9+KGg+PjEpOmg+PjE7aD0xO2s9MDtkbyBtPWEuY2hhckNvZGVBdChkKyspLTYzLTEsaCs9bTw8ayxrKz01O3doaWxlKG0+PTMxKTtmKz1oJjE/fihoPj4xKTpoPj4xO2NbZ109bmV3IF8uVG0oZSoxRS01LGYqMUUtNSwhMCl9Yy5sZW5ndGg9ZztyZXR1cm4gY307Xy5RcT1mdW5jdGlvbihhPSIiKXtyZXR1cm4gYSsiIChvcGVucyBpbiBuZXcgdGFiKSJ9OwpfLlJxPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2Iuc3R5bGUuYmFja2dyb3VuZD0ibm9uZSI7Yi5zdHlsZS5kaXNwbGF5PSJibG9jayI7Yi5zdHlsZS5wYWRkaW5nPWIuc3R5bGUubWFyZ2luPWIuc3R5bGUuYm9yZGVyPSIwIjtiLnN0eWxlLnRleHRUcmFuc2Zvcm09Im5vbmUiO2Iuc3R5bGUud2Via2l0QXBwZWFyYW5jZT0ibm9uZSI7Yi5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO2Iuc3R5bGUuY3Vyc29yPSJwb2ludGVyIjtfLlRwKGIpO2Iuc3R5bGUub3V0bGluZT0iIjtiLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsYSk7Yi50aXRsZT1hO2IudHlwZT0iYnV0dG9uIjtuZXcgXy5GcChiLCJjb250ZXh0bWVudSIsYz0+e18uZ24oYyk7Xy5obihjKX0pO18uSXAoYik7cmV0dXJuIGJ9O18uVHE9ZnVuY3Rpb24oYSwuLi5iKXthLmNsYXNzTGlzdC5hZGQoLi4uYi5tYXAoXy5TcSkpfTsKXy5TcT1mdW5jdGlvbihhKXtyZXR1cm4gS2ZhLmhhcyhhKT9hOmAke18uRGNhKGEpfS0ke2F9YH07TGZhPWZ1bmN0aW9uKGEpe2EucmgucHJlcGVuZChhLnFoKTt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YS5xaC5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pfSl9O01mYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoMiIpLGM9e1pzOm5ldyBfLmJvKDAsMCksSXU6bmV3IF8uZ28oMjQsMjQpLGxhYmVsOiJDbG9zZSBkaWFsb2ciLG93bmVyRWxlbWVudDphfTtjPW5ldyBfLlVxKGMpO2IudGV4dENvbnRlbnQ9YS5vcHRpb25zLnRpdGxlO2IudHJhbnNsYXRlPWEub3B0aW9ucy5mSz8/ITA7Yy5lbGVtZW50LnN0eWxlLnBvc2l0aW9uPSJzdGF0aWMiO2MuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnZvaWQgYS5iai5jbG9zZSgpKTthLnJoLmFwcGVuZENoaWxkKGIpO2EucmguYXBwZW5kQ2hpbGQoYy5lbGVtZW50KTtyZXR1cm4gYS5yaH07Cl8uVnE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGM9dHlwZW9mIGI9PT0iZnVuY3Rpb24iO2lmKGEhPT12b2lkIDApe2xldCBkPS0xO2ZvcihsZXQgZSBvZiBhKWQ+LTEmJih5aWVsZCBjP2IoZCk6YiksZCsrLHlpZWxkIGV9fSgpfTtOZmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGlua3MubGVuZ3RoPT09MD9udWxsOigwLF8uV3EpYAogICAgICAke18uVnEoYS5saW5rcy5tYXAoKHt0ZXh0OmIsaHJlZjpjfSk9PigwLF8uV3EpYDxkaXYgY2xhc3M9ImxpbmstaXRlbSI+CiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIC5ocmVmPSR7Y30KICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke18uUXEoYil9CiAgICAgICAgICAgICAgICA+JHtifTxkaXYgY2xhc3M9Imljb24tY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgJHtfLlhxKHtjbGFzc05hbWU6IiIsYXJpYUxhYmVsOiIifSl9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PmApLCIiKX0KICAgIGB9O09mYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZChhLnJoKTtiPW5ldyBfLllxKHt0aXRsZToiR29vZ2xlIE1hcHMiLGZLOiExLGNvbnRlbnQ6Yn0pO2IuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57YS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiZ21wLWludGVybmFsLWNsb3NlIikpfSk7cmV0dXJuIGJ9O1pxPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09IiMwMDAifHxhPT09IiM1ZTVlNWUiPyIjZmZmIjoiIzQ3NDc0NyJ9OwpRZmE9ZnVuY3Rpb24oYSxiKXtpZighYS5zaG93SW5mb0J1dHRvbilyZXR1cm4oMCxfLldxKWBgO3ZhciBjPWEubG9nb0NvbG9yT3B0aW9ucy5KeXx8IiM1ZTVlNWUiLGQ9YS5sb2dvQ29sb3JPcHRpb25zLkt4fHwiI2ZmZiIsZT1acShjKSxmPVpxKGQpO2M9YS5hdHRyaWJ1dGlvblR5cGU9PT0iTE9HT19PVVRMSU5FIj9QZmEoe2ZpbGw6YGxpZ2h0LWRhcmsoJHtjfSwgJHtkfSlgLG91dGxpbmU6YGxpZ2h0LWRhcmsoJHtlfSwgJHtmfSlgfSk6Xy4kcSh7ZmlsbDpgbGlnaHQtZGFyaygke2N9LCAke2R9KWB9KTtyZXR1cm4oMCxfLldxKWAgPGJ1dHRvbgogICAgICBjbGFzcz0keygwLF8uYXIpKHsiaW5mby1idXR0b24iOiEwLCJ0YXAtYXJlYS1leHBhbmRlZCI6YS5pbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkfSl9CiAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgYXJpYS1oYXNwb3B1cD0iZGlhbG9nIgogICAgICB0aXRsZT0ke2EubW9yZUluZm9CdXR0b25UaXRsZX0KICAgICAgYXJpYS1sYWJlbD0ke2EubW9yZUluZm9CdXR0b25UaXRsZX0KICAgICAgQGNsaWNrPSR7Zz0+e2cuc3RvcFByb3BhZ2F0aW9uKCk7Yi5iai5zaG93TW9kYWwoKX19PgogICAgICA8ZGl2IGNsYXNzPSJ0YXAtYXJlYSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImluZm8taWNvbi1jb250YWluZXIiPiR7Y308L2Rpdj4KICAgIDwvYnV0dG9uPmB9O1VmYT1mdW5jdGlvbihhLGIsYyxkPVtdLGU9W10pe3ZhciBmPW5ldyBSZmE7YT1fLmloKGYsNSxhKTtiP18ua2goYSwxLDkpOl8ua2goYSwxLDIpO2I9bmV3IF8uYnI7Yz1fLmVqKGIsYy5nZXRUaW1lKCkpO2I9Xy53ZyhhLFNmYSwxMSk7Xy5FZyhiLF8uYnIsMixjKTtfLm5nKGEsMTMsZCxfLlFlKTtlLmxlbmd0aD4wJiZfLm5nKGEsNixlLF8uYmYpO3JldHVybiBtZChUZmEoYSkpfTsKVmZhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBbZSxmXW9mIE9iamVjdC5lbnRyaWVzKGEuaGVhZGVycykpYT1mLGEhPT0iIiYmKGIubWV0YWRhdGFbZV09YSk7YT1iLmdldE1ldGFkYXRhKCk7dmFyIGM9YVsiWC1Hb29nLU1hcHMtLVRtcC1JbnRlcm5hbC1Vc2FnZS1BdHRyaWJ1dGlvbi1JZHMiXSxkPVtdO2MmJihkPWMuc3BsaXQoIiwiKSk7ZGVsZXRlIGFbIlgtR29vZy1NYXBzLS1UbXAtSW50ZXJuYWwtVXNhZ2UtQXR0cmlidXRpb24tSWRzIl07Yz1VZmEoXy5KbD8uQ2goKT8ucmgoKXx8IiIsISFfLkxwWzM1XSxuZXcgRGF0ZSxfLkpsPy56aCgpfHxbXSxkKTtiLm1ldGFkYXRhWyJYLUdvb2ctR21wLUNsaWVudC1TaWduYWxzIl09YzthLkF1dGhvcml6YXRpb24mJihiLm1ldGFkYXRhWyJYLUdvb2ctQXBpLUtleSJdPSIiKX07ClhmYT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1hd2FpdCBfLldmYSgpO2ZvcihsZXQgW2MsZF1vZiBPYmplY3QuZW50cmllcyhiKSliPWQsYiE9PSIiJiYoYS5tZXRhZGF0YVtjXT1iKX07Xy5XZmE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT17fSxbYixjXT1hd2FpdCBQcm9taXNlLmFsbChbWWZhKCkseGNhKCldKTtiJiYoYVsiWC1GaXJlYmFzZS1BcHBDaGVjayJdPWIpO2FbIlgtR29vZy1NYXBzLVNlc3Npb24tSWQiXT1jLnRvU3RyaW5nKCk7cmV0dXJuIGF9O1lmYT1hc3luYyBmdW5jdGlvbigpe3RyeXt2YXIgYT1hd2FpdCBLY2EoKS5mZXRjaEFwcENoZWNrVG9rZW4oKTthPV8uQ20oe3Rva2VuOl8uY3J9KShhKX1jYXRjaChiKXtyZXR1cm4gY29uc29sZS5lcnJvcihiKSxhd2FpdCBfLk0od2luZG93LDIyODQ1MSksImV5Smxjbkp2Y2lJNklsVk9TMDVQVjA1ZlJWSlNUMUlpZlE9PSJ9cmV0dXJuIGE/LnRva2VuPyhhd2FpdCBfLk0od2luZG93LDIyODQ1MyksYS50b2tlbik6IiJ9OwpfLlpmYT1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbiooKXtpZihhIT09dm9pZCAwKXtsZXQgYz0wO2ZvcihsZXQgZCBvZiBhKXlpZWxkIGIoZCxjKyspfX0oKX07CmlnYT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1fLlVhLmdvb2dsZS5tYXBzLGM9ISFiLl9faWJfXyxkPSRmYSgpLGU9YWdhKGIpLGY9Xy5KbD1fLmlpKGJnYSwoMCxfLmNnYSkoYXx8W10pKTtLbD1NYXRoLnJhbmRvbSgpO2QmJihfLk1sPSEwKTtfLk0od2luZG93LDIxODgzOCk7Zi56aCgpLmxlbmd0aD4wJiZjb25zb2xlLmxvZygiUnVubmluZyB3aXRoIGV4cGVyaW1lbnQgSURzOiIsZi56aCgpLm1hcChOdW1iZXIpKTtfLkgoZiw0OCk9PT0iYXN5bmMifHxjPyhhd2FpdCBuZXcgUHJvbWlzZShwPT5zZXRUaW1lb3V0KHApKSxfLk0oXy5VYSwyMjExOTEpKTpjb25zb2xlLndhcm4oIkdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIGhhcyBiZWVuIGxvYWRlZCBkaXJlY3RseSB3aXRob3V0IGxvYWRpbmc9YXN5bmMuIFRoaXMgY2FuIHJlc3VsdCBpbiBzdWJvcHRpbWFsIHBlcmZvcm1hbmNlLiBGb3IgYmVzdC1wcmFjdGljZSBsb2FkaW5nIHBhdHRlcm5zIHBsZWFzZSBzZWUgaHR0cHM6Ly9nb28uZ2xlL2pzLWFwaS1sb2FkaW5nIik7Xy5IKGYsCjQ4KSYmXy5IKGYsNDgpIT09ImFzeW5jIiYmY29uc29sZS53YXJuKGBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSSBoYXMgYmVlbiBsb2FkZWQgd2l0aCBsb2FkaW5nPSR7Xy5IKGYsNDgpfS4gIiR7Xy5IKGYsNDgpfSIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGxvYWRpbmcgaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBBUEkuYCk7dmFyIGc7Xy5XZyhmLDEzKT09PTAmJihnPV8uTmwoMTUzMTU3LHtKdzoibWFwcy9hcGkvanM/In0pKTt2YXIgaD1fLk5sKDIxODgyNCx7Snc6Im1hcHMvYXBpL2pzPyJ9KTtzd2l0Y2goXy5PcSgibWFwcy9hcGkvanM/Iikpe2Nhc2UgMTpfLk0oXy5VYSwyMzMxNzYpO2JyZWFrO2Nhc2UgMDpfLk0oXy5VYSwyMzMxNzgpfV8uZHI9UGVhKGhjYShfLkcoZixkZ2EsNSkpLGYudGgoKSxmLnhoKCksZi55aCgpKTtfLmVnYT1SZWEoaGNhKF8uRyhmLGRnYSw1KSkpO18uZXI9U2VhKCk7ZmdhKGYscD0+e3AuYmxvY2tlZFVSSSYmcC5ibG9ja2VkVVJJLmluY2x1ZGVzKCIvbWFwcy9hcGkvbWFwc2pzL2dlbl8yMDQ/Y3NwX3Rlc3Q9dHJ1ZSIpJiYKXy5NKF8uVWEsMTQ5NTk2KX0pO2ZvcihhPTA7YTxfLmpnKGYsOSxfLkVlLDMsITApLmxlbmd0aDsrK2EpXy5McFtfLlhnKGYsOSxhKV09ITA7YT1fLnNsKGYpO0NmYShfLnJsKGEpKTtkPXBmYSgpO18uYW0oZCwocCxxKT0+e2JbcF09cX0pO2IudmVyc2lvbj1hLnJoKCk7Z2dhfHwoZ2dhPSEwLF8ueG8oImdtcC1tYXAiLGZyKSk7Xy5MbCgpJiZ2ZGEoKTtzZXRUaW1lb3V0KCgpPT57Xy5IbCgidXRpbCIpLnRoZW4ocD0+e18uSmcoZiw0Myl8fHAuTUoucWgoKTtwLldMKCk7ZSYmXy5NKHdpbmRvdywxNTU4NDYpO3N3aXRjaChfLlVhLm5hdmlnYXRvci5jb25uZWN0aW9uPy5lZmZlY3RpdmVUeXBlKXtjYXNlICJzbG93LTJnIjpfLk0oXy5VYSwxNjY0NzMpO2JyZWFrO2Nhc2UgIjJnIjpfLk0oXy5VYSwxNjY0NzQpO2JyZWFrO2Nhc2UgIjNnIjpfLk0oXy5VYSwxNjY0NzUpO2JyZWFrO2Nhc2UgIjRnIjpfLk0oXy5VYSwxNjY0NzYpfX0pfSw1RTMpO01wKF8uTnApP2NvbnNvbGUuZXJyb3IoIlRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSSBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgYnJvd3Nlci4gU2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L2Vycm9yLW1lc3NhZ2VzI3Vuc3VwcG9ydGVkLWJyb3dzZXJzIik6Cl8uamVhKCkmJmNvbnNvbGUuZXJyb3IoIlRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSSBoYXMgZGVwcmVjYXRlZCBzdXBwb3J0IGZvciB0aGlzIGJyb3dzZXIuIFNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9lcnJvci1tZXNzYWdlcyN1bnN1cHBvcnRlZC1icm93c2VycyIpO2MmJl8uTShfLlVhLDE1NzU4NSk7Yi5pbXBvcnRMaWJyYXJ5PXA9PnNmYShwLCEwLCEwKTtfLkxwWzM1XSYmKGIubG9nZ2VyPXtiZWdpbkF2YWlsYWJpbGl0eUV2ZW50Ol8uTmwsY2FuY2VsQXZhaWxhYmlsaXR5RXZlbnQ6Xy5QbCxlbmRBdmFpbGFiaWxpdHlFdmVudDpfLk9sLG1heWJlUmVwb3J0RmVhdHVyZU9uY2U6Xy5NfSxiLmVtYmVkRmVhdHVyZXM9e2lzVmVydGljYWxQbGFjZUNhcmRMYXlvdXRFbmFibGVkOigpPT4hIV8uSmw/LkJoKCksaXNFeHBlcmltZW50YXRpb25Mb2dnaW5nRW5hYmxlZDooKT0+KF8uSmw/LnpoKCk/Lmxlbmd0aD8/CjApPjB9KTthPVtdO2lmKCFjKWZvcihjPV8uV2coZiwxMyksZD0wO2Q8YztkKyspYS5wdXNoKHNmYShfLlZnKGYsMTMsZCkpKTt2YXIgaz1fLkgoZiwxMik7az9Qcm9taXNlLmFsbChhKS50aGVuKCgpPT57ZyYmXy5PbChnLDApO18uT2woaCwwKTtoZ2EoaykoKX0pOihnJiZfLk9sKGcsMCksXy5PbChoLDApKTt2YXIgbT0oKT0+e2RvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsbSksc2V0VGltZW91dCgoKT0+e1suLi4obmV3IFNldChbLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiKiIpXS5tYXAocD0+cC5sb2NhbE5hbWUpKSldLnNvbWUocD0+cC5pbmNsdWRlcygiLSIpJiYhcC5tYXRjaCgvXmdtcHg/LS8pKSYmXy5NKF8uVWEsMTc5MTE3KX0sMUUzKSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLG0pO20oKX07CmhnYT1mdW5jdGlvbihhKXt2YXIgYj1hLnNwbGl0KCIuIiksYz1fLlVhLGQ9Xy5VYTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKylpZihkPWMsYz1jW2JbZV1dLCFjKXRocm93IF8uQW0oYSsiIGlzIG5vdCBhIGZ1bmN0aW9uIik7cmV0dXJuIGZ1bmN0aW9uKCl7Yy5hcHBseShkKX19OwokZmE9ZnVuY3Rpb24oKXt2YXIgYT0hMSxiPWQ9PntzZXRUaW1lb3V0KCgpPT57Xy5NKF8uVWEsZCl9LDApfTtmb3IodmFyIGMgaW4gT2JqZWN0LnByb3RvdHlwZSlfLlVhLmNvbnNvbGUmJl8uVWEuY29uc29sZS5lcnJvcigiVGhpcyBzaXRlIGFkZHMgcHJvcGVydHkgYCIrYysiYCB0byBPYmplY3QucHJvdG90eXBlLiBFeHRlbmRpbmcgT2JqZWN0LnByb3RvdHlwZSBicmVha3MgSmF2YVNjcmlwdCBmb3IuLmluIGxvb3BzLCB3aGljaCBhcmUgdXNlZCBoZWF2aWx5IGluIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIHYzLiIpLGE9ITAsYigxNDk1OTQpO0FycmF5LmZyb20obmV3IFNldChbNDJdKSlbMF0hPT00MiYmKF8uVWEuY29uc29sZSYmXy5VYS5jb25zb2xlLmVycm9yKCJUaGlzIHNpdGUgb3ZlcnJpZGVzIEFycmF5LmZyb20oKSB3aXRoIGFuIGltcGxlbWVudGF0aW9uIHRoYXQgZG9lc24ndCBzdXBwb3J0IGl0ZXJhYmxlcywgd2hpY2ggY291bGQgY2F1c2UgR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEkgdjMgdG8gbm90IHdvcmsgY29ycmVjdGx5LiIpLAphPSEwLGIoMTQ5NTkwKSk7Xy5VYS5Qcm90b3R5cGUmJihiKDE0OTU5NSksYT0hMCk7Xy5VYS5Nb29Ub29scyYmKGIoMTQ5NTkzKSxhPSEwKTtbMSwyXS52YWx1ZXMoKVtTeW1ib2wuaXRlcmF0b3JdfHwoYigxNDk1OTEpLGE9ITApO3R5cGVvZiBEYXRlLm5vdygpIT09Im51bWJlciImJihfLlVhLmNvbnNvbGUmJl8uVWEuY29uc29sZS5lcnJvcigiVGhpcyBzaXRlIG92ZXJyaWRlcyBEYXRlLm5vdygpIHdpdGggYW4gaW1wbGVtZW50YXRpb24gdGhhdCBkb2Vzbid0IHJldHVybiB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBzaW5jZSBKYW51YXJ5IDEsIDE5NzAgMDA6MDA6MDAgVVRDLCB3aGljaCBjb3VsZCBjYXVzZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSSB2MyB0byBub3Qgd29yayBjb3JyZWN0bHkuIiksYT0hMCxiKDE0OTU5MikpO3RyeXtjPWNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnR7fSxfLnhvKCJnbXAtaW50ZXJuYWwtZWxlbWVudC1zdXBwb3J0LXZlcmlmaWNhdGlvbiIsCmMpLG5ldyBjfWNhdGNoKGQpe18uVWEuY29uc29sZSYmXy5VYS5jb25zb2xlLmVycm9yKCJUaGlzIHNpdGUgY2Fubm90IGluc3RhbnRpYXRlIGN1c3RvbSBIVE1MRWxlbWVudCBzdWJjbGFzc2VzLCB3aGljaCBjb3VsZCBjYXVzZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSSB2MyB0byBub3Qgd29yayBjb3JyZWN0bHkuIiksYT0hMCxiKDIxOTk5NSl9cmV0dXJuIGF9O2FnYT1mdW5jdGlvbihhKXsoYT0idmVyc2lvbiJpbiBhKSYmXy5VYS5jb25zb2xlJiZfLlVhLmNvbnNvbGUuZXJyb3IoIllvdSBoYXZlIGluY2x1ZGVkIHRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSSBtdWx0aXBsZSB0aW1lcyBvbiB0aGlzIHBhZ2UuIFRoaXMgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgZXJyb3JzLiIpO3JldHVybiBhfTsKZmdhPWZ1bmN0aW9uKGEsYil7aWYoYS5yaCgpJiZfLm1sKGEucmgoKSkpdHJ5e2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlY3VyaXR5cG9saWN5dmlvbGF0aW9uIixiKSxqZ2Euc2VuZChfLm1sKGEucmgoKSkrIi9tYXBzL2FwaS9tYXBzanMvZ2VuXzIwND9jc3BfdGVzdD10cnVlIil9Y2F0Y2goYyl7fX07Xy5rcj1mdW5jdGlvbihhLGIsYyl7c3dpdGNoKG1iYShjLmNvZGUpLnRvU3RyaW5nKClbMF0pe2Nhc2UgIjIiOnJldHVybiBudWxsO2Nhc2UgIjMiOnJldHVybiBuZXcgZ3IoYSxiLGhyKGMpKTtjYXNlICI0IjpyZXR1cm4gbmV3IF8uaXIoYSxiLGhyKGMpKTtjYXNlICI1IjpyZXR1cm4gbmV3IF8uanIoYSxiLGhyKGMpKTtkZWZhdWx0OnJldHVybiBuZXcgXy5qcihhLGIsaHIoYykpfX07CmhyPWZ1bmN0aW9uKGEpe3N3aXRjaChhLmNvZGUpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIlVOS05PV04ifX07Xy5rZ2E9ZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1fLkpsPy5yaCgpLGQ9Yi5sYW5ndWFnZT8/Yz8ucmgoKTtkJiZhLnNlYXJjaFBhcmFtcy5zZXQoImhsIixkKTsoZD1iLnJlZ2lvbik/YS5zZWFyY2hQYXJhbXMuc2V0KCJnbCIsZCk6KGQ9Yz8udGgoKSxjPWM/LnhoKCksZCYmIWMmJmEuc2VhcmNoUGFyYW1zLnNldCgiZ2wiLGQpKTthLnNlYXJjaFBhcmFtcy5zZXQoInNvdXJjZSIsYi5zb3VyY2U/PyEhXy5McFszNV0/ImVtYmVkIjoiYXBpdjMiKTtyZXR1cm4gYX07ZWE9W107emE9T2JqZWN0LmRlZmluZVByb3BlcnR5O3hhPWdsb2JhbFRoaXM7eWE9dHlwZW9mIFN5bWJvbD09PSJmdW5jdGlvbiImJnR5cGVvZiBTeW1ib2woIngiKT09PSJzeW1ib2wiO3RhPXt9O2xhPXt9O25hPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeGEuQmlnSW50NjRBcnJheSYmKG5hLnB1c2goIkJpZ0ludDY0IiksbmEucHVzaCgiQmlnVWludDY0IikpO3JhKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9LCJlc19uZXh0Iik7cmEoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwgY2FsbGVkIHdpdGggYSBub24tZ2xvYmFsIFJlZ0V4cCBhcmd1bWVudC4iKTtyZXR1cm4gYiBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLnJlcGxhY2UoYixjKTp0aGlzLnJlcGxhY2UobmV3IFJlZ0V4cChTdHJpbmcoYikucmVwbGFjZSgvKFstKClcW1xde30rPyouJFxefCw6IzwhXFxdKS9nLCJcXCQxIikucmVwbGFjZSgvXHgwOC9nLCJcXHgwOCIpLCJnIiksYyl9fSwiZXNfMjAyMSIpOwpyYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOkJhfSwiZXNfbmV4dCIpO2FhYSgiYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6QmF9LCJlc19uZXh0Iik7cmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6QmF9LCJlc19uZXh0Iik7cmEoIlNldC5wcm90b3R5cGUudW5pb24iLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7SmEodGhpcyk7RGEoYik7dmFyIGM9bmV3IFNldCh0aGlzKTtiPUhhKGIua2V5cygpKTtmb3IodmFyIGQ9Yi5uZXh0KCk7IWQuZG9uZTspYy5hZGQoZC52YWx1ZSksZD1iLm5leHQoKTtyZXR1cm4gY319LCJlc19uZXh0Iik7CnJhKCJTZXQucHJvdG90eXBlLmlzRGlzam9pbnRGcm9tIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe0phKHRoaXMpO0RhKGIpO3ZhciBjPXRoaXMuc2l6ZTw9Yi5zaXplP3tOSjp0aGlzLmtleXMoKSx2STpifTp7Tko6SGEoYi5rZXlzKCkpLHZJOnRoaXN9O2I9Yy5OSjtjPWMudkk7Zm9yKHZhciBkPWIubmV4dCgpOyFkLmRvbmU7KXtpZihjLmhhcyhkLnZhbHVlKSlyZXR1cm4hMTtkPWIubmV4dCgpfXJldHVybiEwfX0sImVzX25leHQiKTtyYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0sImVzX25leHQiKTt2YXIgTWssYmIsYmFhO01rPU1rfHx7fTtfLlVhPXRoaXN8fHNlbGY7YmI9ImNsb3N1cmVfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7YmFhPTA7Xy5xYihfLnRiLEVycm9yKTtfLnRiLnByb3RvdHlwZS5uYW1lPSJDdXN0b21FcnJvciI7Xy5xYih1YixfLnRiKTt1Yi5wcm90b3R5cGUubmFtZT0iQXNzZXJ0aW9uRXJyb3IiO3ZhciB5aD0hMCx4aCx5Yjt2YXIgbHI9U2EoMSwhMCksSWI9U2EoNjEwNDAxMzAxLCExKTtTYSg4OTk1ODg0MzcsITEpO1NhKDc3MjY1Nzc2OCwhMCk7U2EoNTEzNjU5NTIzLCExKTtTYSg1NjgzMzM5NDUsITApO1NhKDEzMzE3NjE0MDMsITApO1NhKDY1MTE3NTgyOCwhMSk7U2EoNzIyNzY0NTQyLCExKTtTYSg3NDg0MDIxNDUsITEpO1NhKDc0ODQwMjE0NiwhMSk7dmFyIEVmPVNhKDc0ODQwMjE0NywhMCk7U2EoMTYwMjYxMzE4NSwhMSk7U2EoODYxMzc3NzIzLCExKTtTYSg4NjEzNzc3MjQsbHIpO1NhKDg2OTMzNjkwMywhMSk7U2EoODgyNjc0NTA3LCExKTtTYSg4NjkzMzY5MDQsbHIpO1NhKDg2OTMzNjkwNSxscik7U2EoMjgzOTUzMTU1LCExKTtTYSg5MTk0NDQ4MjQsITEpO1NhKDkzMTQ2ODA0NywhMSk7U2EoOTI4ODc1Mzk4LCExKTtTYSg2ODM3NDkyMDEsITEpO1NhKDIxNDc0ODM2NDQsITEpO1NhKDIxNDc0ODM2NDUsITEpO1NhKDIxNDc0ODM2NDYsbHIpO1NhKDIxNDc0ODM2NDcsITApO3ZhciBsZ2E7bGdhPV8uVWEubmF2aWdhdG9yO18uSmI9bGdhP2xnYS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7RmNbIiAiXT1mdW5jdGlvbigpe307dmFyIG5nYSxwcjtfLm1nYT1fLlViKCk7Xy5tcj1fLlhiKCk7bmdhPV8uUmIoIkVkZ2UiKTtfLm9nYT1fLlJiKCJHZWNrbyIpJiYhKF8uSGIoKSYmIV8uUmIoIkVkZ2UiKSkmJiEoXy5SYigiVHJpZGVudCIpfHxfLlJiKCJNU0lFIikpJiYhXy5SYigiRWRnZSIpO18ubnI9Xy5IYigpJiYhXy5SYigiRWRnZSIpO18ucGdhPV8ubWMoKTtfLm9yPV8ubmMoKTtfLnFnYT1rYygpP18uSmIucGxhdGZvcm09PT0iQW5kcm9pZCI6Xy5SYigiQW5kcm9pZCIpO18ucmdhPWxjKCk7Xy5zZ2E9Xy5SYigiaVBhZCIpO18udGdhPV8uUmIoImlQb2QiKTsKYTp7bGV0IGE9IiIsYj1mdW5jdGlvbigpe3ZhciBjPV8uRmIoKTtpZihfLm9nYSlyZXR1cm4vcnY6KFteXCk7XSspKFwpfDspLy5leGVjKGMpO2lmKG5nYSlyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKGMpO2lmKF8ubXIpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKGMpO2lmKF8ubnIpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoYyk7aWYoXy5tZ2EpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoYyl9KCk7YiYmKGE9Yj9iWzFdOiIiKTtpZihfLm1yKXt2YXIgcXI7bGV0IGM9Xy5VYS5kb2N1bWVudDtxcj1jP2MuZG9jdW1lbnRNb2RlOnZvaWQgMDtpZihxciE9bnVsbCYmcXI+cGFyc2VGbG9hdChhKSl7cHI9U3RyaW5nKHFyKTticmVhayBhfX1wcj1hfV8udWdhPXByO18udmdhPV8uZGMoKTtfLndnYT1sYygpfHxfLlJiKCJpUG9kIik7Xy54Z2E9Xy5SYigiaVBhZCIpO18ueWdhPV8uaGMoKTtfLnpnYT1fLmpjKCkmJiEobGMoKXx8Xy5SYigiaVBhZCIpfHxfLlJiKCJpUG9kIikpO3ZhciBIYz17fSxYYz1udWxsO3ZhciAkYyxlYWEsQWdhOyRjPS9bLV8uXS9nO2VhYT17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLmhkPXt9O0FnYT10eXBlb2Ygc3RydWN0dXJlZENsb25lIT0idW5kZWZpbmVkIjt2YXIgY2Q7Xy5mZD1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMucWg9PW51bGx9Y29uc3RydWN0b3IoYSxiKXtwZChiKTt0aGlzLnFoPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fTtfLkJnYT1BZ2E/KGEsYik9PlByb21pc2UucmVzb2x2ZShzdHJ1Y3R1cmVkQ2xvbmUoYSx7dHJhbnNmZXI6Yn0pKTpnYWE7dmFyIHVkPXZvaWQgMDt2YXIgdWcsZ2csbWFhLG5hYSxzYWEsTGQscGFhO18uQ2Q9eWQoImphcyIsITApO18uZmY9eWQoKTt1Zz15ZCgpO2dnPXlkKCk7Xy5DZ2E9eWQoKTtfLmtmPXlkKCk7bWFhPXlkKCk7bmFhPXlkKCk7Xy54aT15ZCgpO3NhYT15ZCgpO0xkPXlkKCJtX20iLCEwKTtwYWE9eWQoKTtfLm9mPXlkKCk7dmFyIERnYTtbLi4uT2JqZWN0LnZhbHVlcyh7clI6MSxxUjoyLHBSOjQsRFI6OCxhUzoxNix5UjozMixNUTo2NCxrUjoxMjgsZ1I6MjU2LFRSOjUxMixoUjoxMDI0LGxSOjIwNDgselI6NDA5Nix1Ujo4MTkyfSldO0RnYT1bXTtEZ2FbXy5DZF09NztfLmVnPU9iamVjdC5mcmVlemUoRGdhKTt2YXIgTWQsdWFhLEtqLGFlO01kPXt9O18uUmQ9e307dWFhPU9iamVjdC5mcmVlemUoe30pO18udmc9T2JqZWN0LmZyZWV6ZSh7fSk7S2o9e307YWU9e307dmFyIGlhYSxoYWEsRWdhO2lhYT1fLmNlKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO2hhYT1fLmNlKGE9PnR5cGVvZiBhPT09InN0cmluZyIpO0VnYT1fLmNlKGE9PnR5cGVvZiBhPT09ImJpZ2ludCIpO18ucnI9Xy5jZShhPT5hIT1udWxsJiZ0eXBlb2YgYT09PSJvYmplY3QiJiZ0eXBlb2YgYS50aGVuPT09ImZ1bmN0aW9uIik7Xy5GZ2E9Xy5jZShhPT50eXBlb2YgYT09PSJmdW5jdGlvbiIpO3ZhciBHZ2EsSGdhO18uWmFhPV8uY2UoYT0+RWdhKGEpKTtfLnRmPV8uY2UoYT0+YT49R2dhJiZhPD1IZ2EpO0dnYT1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpO0hnYT1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO18uZWU9MDtfLmdlPTA7dmFyIEJlLGphYTtfLkxlPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18uWmU9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18uVWU9TnVtYmVyLmlzU2FmZUludGVnZXI7QmU9TnVtYmVyLmlzRmluaXRlO18uUmU9TWF0aC50cnVuYztqYWE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87dmFyIHFhYT17fTtfLnNyPV8ucGIoXy5DZ2EpO3ZhciBsYWE7Xy5uZj1jbGFzc3t9O2xhYT17clA6ITB9O3ZhciByZjtfLmNnYT1BZ2E/c3RydWN0dXJlZENsb25lOmE9PnNmKGEsMCx1Zik7dmFyIHlmO18uTWc9Xy5kZSgwKTt2YXIgSWdhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoS2ohPT1Lail0aHJvdyBFcnJvcigpO319O3ZhciBHaCxNaCxOaCxPaCxMaCxLaCxJaCxKaDtfLkVoPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5sbz1hPj4+MDt0aGlzLmhpPWI+Pj4wfX07Xy5KZ2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnFoPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLnFoLmxlbmd0aH1lbmQoKXt2YXIgYT10aGlzLnFoO3RoaXMucWg9W107cmV0dXJuIGF9fTtfLktnYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2g9W107dGhpcy5yaD0wO3RoaXMucWg9bmV3IF8uSmdhfX07dmFyIEJpLEVhYSxraSxrYmE7Qmk9Z2koKTtFYWE9Z2koKTtraT1naSgpO18uVWo9Z2koKTtfLlpqPWdpKCk7Xy5Xaj1naSgpO18uZGs9Z2koKTtfLmJrPWdpKCk7Xy5maz1naSgpO18uY2s9Z2koKTtfLmVrPWdpKCk7Xy5oaz1naSgpO18uams9Z2koKTtfLmlrPWdpKCk7Xy5raz1naSgpO2tiYT1naSgpO18uWWo9Z2koKTtfLlhqPWdpKCk7Xy5haz1naSgpO18uZ2s9Z2koKTtfLkk9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLkxpPUNmKGEsYix2b2lkIDAsMjA0OCl9dG9KU09OKCl7cmV0dXJuIF8ud2YodGhpcyl9amooYSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KF8ud2YodGhpcyxhKSl9Z2V0RXh0ZW5zaW9uKGEpe18ucWYodGhpcy5MaSxhLnFoKTtfLnBmKHRoaXMsYS5xaCxhLnRoKTtyZXR1cm4gYS5Xbj9hLmd3P2Euc2godGhpcyxhLlduLGEucWgsXy5jZygpLGEucmgpOmEuc2godGhpcyxhLlduLGEucWgsYS5yaCk6YS5ndz9hLnNoKHRoaXMsYS5xaCxfLmNnKCksYS5yaCk6YS5zaCh0aGlzLGEucWgsYS5kZWZhdWx0VmFsdWUsYS5yaCl9Y2xvbmUoKXt2YXIgYT10aGlzLkxpLGI9YVtfLkNkXXwwO3JldHVybiBfLkdmKHRoaXMsYSxiKT9IZih0aGlzLGEsITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKF8uRmYoYSxiLCExKSl9d2goKXt2YXIgYT10aGlzLkxpLGI9YVtfLkNkXXwwO3JldHVybiBfLlNkKHRoaXMsYik/dGhpczpfLkdmKHRoaXMsYSxiKT8KSGYodGhpcyxhKTpuZXcgdGhpcy5jb25zdHJ1Y3RvcihfLkZmKGEsYiwhMCkpfX07Xy5JLnByb3RvdHlwZS5zaD1fLmhhKDEpO18uSS5wcm90b3R5cGUucWg9Xy5oYSgwKTtfLkkucHJvdG90eXBlW0xkXT1NZDtfLkkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTGkudG9TdHJpbmcoKX07dmFyIGppLHhhYSx5YWEsemFhLHZpLGNiYSxwaTtqaT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLnVDPWE7dGhpcy52Qz1iO3RoaXMuWHQ9Yzt0aGlzLnFoPWQ7YT1fLnBiKGtpKTsoYT0hIWEmJmQ9PT1hKXx8KGE9Xy5wYihfLlVqKSxhPSEhYSYmZD09PWEpO3RoaXMucmg9YX19O3hhYT1fLmxpKGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoYS5xaCE9PTIpcmV0dXJuITE7Xy5BaChhLF8uemcoYixkLGMpLGUpO3JldHVybiEwfSxuaSk7eWFhPV8ubGkoZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhLnFoIT09MilyZXR1cm4hMTtfLkFoKGEsXy56ZyhiLGQsYyksZSk7cmV0dXJuITB9LG5pKTt6YWE9U3ltYm9sKCk7dmk9U3ltYm9sKCk7Y2JhPVN5bWJvbCgpO18udHI9U3ltYm9sKCk7dmFyIExnYTtMZ2E9Xy5kZSgwKTtfLk1nYT1TeW1ib2woKTtfLnVyPV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0xKXJldHVybiExO18uRWkoYixjLF8udmgoYS5yaCkpO3JldHVybiEwfSxfLkdpLF8uWGopO18udnI9Xy5BaShmdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uT2koYSxiLGMpfSxfLkhpLF8uaGspO18ud3I9Xy5DaShfLlBpLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5hZixiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWJpKGEsYyxiW2RdKX0sXy5oayk7Xy54cj1fLkFpKGZ1bmN0aW9uKGEsYixjKXthLnFoIT09MD9iPSExOihhPV8udGgoYS5yaCksXy5FaShiLGMsYT09PUxnYT92b2lkIDA6YSksYj0hMCk7cmV0dXJuIGJ9LF8uSGksXy5oayk7Xy5QPV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wKXJldHVybiExO18uRWkoYixjLF8ucmgoYS5yaCkpO3JldHVybiEwfSxfLklpLF8uZGspOwpfLnlyPV8uQ2koXy5RaSxmdW5jdGlvbihhLGIsYyl7Yj1fLnlpKF8uR2UsYiwhMCk7aWYoYiE9bnVsbCYmYi5sZW5ndGgpe2M9Xy5aaChhLGMpO2ZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKV8uVGgoYS5xaCxiW2RdKTtfLiRoKGEsYyl9fSxfLmRrKTtfLnpyPV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wKXJldHVybiExO2E9Xy5yaChhLnJoKTtfLkVpKGIsYyxhPT09MD92b2lkIDA6YSk7cmV0dXJuITB9LF8uSWksXy5kayk7Xy5SPV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wKXJldHVybiExO18uRWkoYixjLF8ucWgoYS5yaCkpO3JldHVybiEwfSxfLkppLF8uWmopO18uVT1fLkFpKGZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09MilyZXR1cm4hMTtfLkVpKGIsYyxfLkNoKGEpKTtyZXR1cm4hMH0sXy5LaSxfLldqKTsKXy5Bcj1fLkNpKGZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09MilyZXR1cm4hMTthPV8uQ2goYSk7Xy5WZihiLGJbXy5DZF18MCxjKS5wdXNoKGEpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyl7Yj1fLnlpKF8uZGYsYiwhMCk7aWYoYiE9bnVsbClmb3IobGV0IGc9MDtnPGIubGVuZ3RoO2crKyl7dmFyIGQ9YSxlPWMsZj1iW2ddO2YhPW51bGwmJl8uZGkoZCxlLHpiKGYpKX19LF8uV2opO18uWT1fLkRpKGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoYS5xaCE9PTIpcmV0dXJuITE7Xy5BaChhLF8uRmkoYixkLGMpLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe18uemkoYSxiLGMsZCxlLF8uTGkpfSk7Xy5Ccj1fLkFpKGZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09MClyZXR1cm4hMTtfLkVpKGIsYyxfLnNoKGEucmgpKTtyZXR1cm4hMH0sXy5NaSxfLmJrKTsKXy5aPV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wKXJldHVybiExO18uRWkoYixjLF8ucmgoYS5yaCkpO3JldHVybiEwfSxfLk5pLF8uZ2spO18uQ3I9Xy5DaShfLlJpLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5HZSxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWNpKGEsYyxiW2RdKX0sXy5nayk7dmFyIFlpPVN5bWJvbCgpLFppPVN5bWJvbCgpLFRpPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5kQz1hO3RoaXMuZ3c9Yjt0aGlzLmlzTWFwPSExfX0sU2k9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLmlBPWE7dGhpcy5kQz1iO3RoaXMuZ3c9Yzt0aGlzLmlzTWFwPWQ7dGhpcy5iUT1lfX07dmFyIE5nYT1uZXcgTWFwLEZhYT1jbGFzcyBleHRlbmRzIElnYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5xaD1iO2lmKEtqIT09S2opdGhyb3cgRXJyb3IoKTtOZ2Euc2V0KGEsdGhpcyl9fTt2YXIgR2FhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMucWg9YTt0aGlzLlduPWM7dGhpcy5ndz0wO3RoaXMuc2g9Xy5BZzt0aGlzLndoPV8uRWc7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMucmg9Yi52VCE9bnVsbD9hZTp2b2lkIDA7dGhpcy50aD1kfXJlZ2lzdGVyKCl7RmModGhpcyl9fTtfLkRyPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXJoKCl7cmV0dXJuIF8uT2codGhpcywxKX10aCgpe3JldHVybiBfLk9nKHRoaXMsMil9fTtfLkVyPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXRoKCl7cmV0dXJuIF8uQWcodGhpcyxfLkRyLDEpfXJoKCl7cmV0dXJuIF8uQWcodGhpcyxfLkRyLDIpfX07dmFyIE9iYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRWYWx1ZSgpe3ZhciBhPV8uT2YodGhpcywyKTtpZihBcnJheS5pc0FycmF5KGEpfHxhIGluc3RhbmNlb2YgXy5JKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gXy5tZyh0aGlzLDIpfXNldFZhbHVlKGEpe2lmKGE9PW51bGwpYT10aGlzO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlhPV8uUWYodGhpcywyLHNmKGEsMCx1ZikpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nInx8YSBpbnN0YW5jZW9mIF8uZmR8fF8uYmQoYSkpYT1vZyh0aGlzLDIsXy5YZChhLCExKSxfLmxkKCkpO2Vsc2UgdGhyb3cgRXJyb3IoImludmFsaWQgdmFsdWUgaW4gQW55LnZhbHVlIGZpZWxkOiAiK2ErIiBleHBlY3RlZCBhIEJ5dGVTdHJpbmcsIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nLCBhIFVpbnQ4QXJyYXkgb3IgYSBqc3BiIGFycmF5Iik7CnJldHVybiBhfX07Xy5Gcj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uRnIucHJvdG90eXBlLnJoPV8uaGEoMik7Xy5icj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaCgpe3ZhciBhPU51bWJlcihfLlFnKHRoaXMpKSxiPV8uS2codGhpcywyKTtyZXR1cm4gbmV3IERhdGUoYSoxRTMrYi8xRTYpfX07Xy5Hcj1bMCxfLnhyLF8uenJdO3ZhciBOYmE7Xy5Icj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRNZXNzYWdlKCl7cmV0dXJuIF8uSCh0aGlzLDIpfX07TmJhPV8uYmooXy5Icik7Xy5Jcj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1jaSgpe3JldHVybiBfLkgodGhpcywxKX1yaCgpe3JldHVybiBfLkgodGhpcywyKX19O18uSnI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLktyPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGtqPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIExyPWdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLG1qPUxyLG5qO18ucGo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMucWgrIiJ9fTtfLnNqPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YX10b1N0cmluZygpe3JldHVybiB0aGlzLnFofX07Xy5Ncj1fLnRqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBUYWE7Xy51aj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLkFqPWF9fTtfLk9nYT1bdmooImRhdGEiKSx2aigiaHR0cCIpLHZqKCJodHRwcyIpLHZqKCJtYWlsdG8iKSx2aigiZnRwIiksbmV3IF8udWooYT0+L15bXjpdKihbLz8jXXwkKS8udGVzdChhKSldO1RhYT1bImRhdGE6IiwiaHR0cDoiLCJodHRwczoiLCJtYWlsdG86IiwiZnRwOiJdO3ZhciB3aj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5xaCsiIn19LHhkYT1uZXcgd2ooTHI/THIuZW1wdHlIVE1MOiIiKTtfLkFqPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YX10b1N0cmluZygpe3JldHVybiB0aGlzLnFofX07Xy5Eaj1SZWdFeHAoIl4oPzooW146Lz8jLl0rKTopPyg/Oi8vKD86KFteXFxcXC8/I10qKUApPyhbXlxcXFwvPyNdKj8pKD86OihbMC05XSspKT8oPz1bXFxcXC8/I118JCkpPyhbXj8jXSspPyg/OlxcPyhbXiNdKikpPyg/OiMoW1xcc1xcU10qKSk/JCIpO18uTnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLnNoPWE7dGhpcy5xaD1iO3RoaXMudGg9Yzt0aGlzLndoPWQ7dGhpcy5yaD1lfX07Xy5QZ2E9bmV3IF8uTnIobmV3IFNldCgiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpKSwKbmV3IE1hcChbWyJBIixuZXcgTWFwKFtbImhyZWYiLHtPbTo3fV1dKV0sWyJBUkVBIixuZXcgTWFwKFtbImhyZWYiLHtPbTo3fV1dKV0sWyJMSU5LIixuZXcgTWFwKFtbImhyZWYiLHtPbTo1LGNvbmRpdGlvbnM6bmV3IE1hcChbWyJyZWwiLG5ldyBTZXQoImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbmV4dCBwcmVmZXRjaCBkbnMtcHJlZmV0Y2ggcHJlcmVuZGVyIHByZWNvbm5lY3QgcHJlbG9hZCBwcmV2IHNlYXJjaCBzdWJyZXNvdXJjZSIuc3BsaXQoIiAiKSldXSl9XV0pXSxbIlNPVVJDRSIsbmV3IE1hcChbWyJzcmMiLHtPbTo1fV0sWyJzcmNzZXQiLHtPbTo2fV1dKV0sWyJJTUciLG5ldyBNYXAoW1sic3JjIix7T206NX1dLFsic3Jjc2V0Iix7T206Nn1dXSldLFsiVklERU8iLG5ldyBNYXAoW1sic3JjIix7T206NX1dXSldLFsiQVVESU8iLG5ldyBNYXAoW1sic3JjIix7T206NX1dXSldXSksbmV3IFNldCgidGl0bGUgYXJpYS1hdG9taWMgYXJpYS1hdXRvY29tcGxldGUgYXJpYS1idXN5IGFyaWEtY2hlY2tlZCBhcmlhLWN1cnJlbnQgYXJpYS1kaXNhYmxlZCBhcmlhLWRyb3BlZmZlY3QgYXJpYS1leHBhbmRlZCBhcmlhLWhhc3BvcHVwIGFyaWEtaGlkZGVuIGFyaWEtaW52YWxpZCBhcmlhLWxhYmVsIGFyaWEtbGV2ZWwgYXJpYS1saXZlIGFyaWEtbXVsdGlsaW5lIGFyaWEtbXVsdGlzZWxlY3RhYmxlIGFyaWEtb3JpZW50YXRpb24gYXJpYS1wb3NpbnNldCBhcmlhLXByZXNzZWQgYXJpYS1yZWFkb25seSBhcmlhLXJlbGV2YW50IGFyaWEtcmVxdWlyZWQgYXJpYS1zZWxlY3RlZCBhcmlhLXNldHNpemUgYXJpYS1zb3J0IGFyaWEtdmFsdWVtYXggYXJpYS12YWx1ZW1pbiBhcmlhLXZhbHVlbm93IGFyaWEtdmFsdWV0ZXh0IGFsdCBhbGlnbiBhdXRvY2FwaXRhbGl6ZSBhdXRvY29tcGxldGUgYXV0b2NvcnJlY3QgYXV0b2ZvY3VzIGF1dG9wbGF5IGJnY29sb3IgYm9yZGVyIGNlbGxwYWRkaW5nIGNlbGxzcGFjaW5nIGNoZWNrZWQgY2l0ZSBjb2xvciBjb2xzIGNvbHNwYW4gY29udHJvbHMgY29udHJvbHNsaXN0IGNvb3JkcyBjcm9zc29yaWdpbiBkYXRldGltZSBkaXNhYmxlZCBkb3dubG9hZCBkcmFnZ2FibGUgZW5jdHlwZSBmYWNlIGZvcm1lbmN0eXBlIGZyYW1lYm9yZGVyIGhlaWdodCBocmVmbGFuZyBoaWRkZW4gaW5lcnQgaXNtYXAgbGFiZWwgbGFuZyBsb29wIG1heCBtYXhsZW5ndGggbWVkaWEgbWlubGVuZ3RoIG1pbiBtdWx0aXBsZSBtdXRlZCBub25jZSBvcGVuIHBsYXlzaW5saW5lIHBsYWNlaG9sZGVyIHByZWxvYWQgcmVsIHJlcXVpcmVkIHJldmVyc2VkIHJvbGUgcm93cyByb3dzcGFuIHNlbGVjdGVkIHNoYXBlIHNpemUgc2l6ZXMgc2xvdCBzcGFuIHNwZWxsY2hlY2sgc3RhcnQgc3RlcCBzdW1tYXJ5IHRyYW5zbGF0ZSB0eXBlIHVzZW1hcCB2YWxpZ24gdmFsdWUgd2lkdGggd3JhcCBpdGVtc2NvcGUgaXRlbXR5cGUgaXRlbWlkIGl0ZW1wcm9wIGl0ZW1yZWYiLnNwbGl0KCIgIikpLApuZXcgTWFwKFtbImRpciIse09tOjMsY29uZGl0aW9uczpuZXcgTWFwKFtbImRpciIsbmV3IFNldChbImF1dG8iLCJsdHIiLCJydGwiXSldXSl9XSxbImFzeW5jIix7T206Myxjb25kaXRpb25zOm5ldyBNYXAoW1siYXN5bmMiLG5ldyBTZXQoWyJhc3luYyJdKV1dKX1dLFsibG9hZGluZyIse09tOjMsY29uZGl0aW9uczpuZXcgTWFwKFtbImxvYWRpbmciLG5ldyBTZXQoWyJlYWdlciIsImxhenkiXSldXSl9XSxbInBvc3RlciIse09tOjV9XSxbInRhcmdldCIse09tOjMsY29uZGl0aW9uczpuZXcgTWFwKFtbInRhcmdldCIsbmV3IFNldChbIl9zZWxmIiwiX2JsYW5rIl0pXV0pfV1dKSk7Xy5RZ2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLnNoPWE7dGhpcy53aD1iO3RoaXMudGg9Yzt0aGlzLnFoPWQ7dGhpcy5yaD1lfXNhbml0aXplQXNzZXJ0VW5jaGFuZ2VkKGEpe3JldHVybiBfLklqKHRoaXMsYSl9Y3JlYXRlVGV4dE5vZGUoYSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpfX07Xy5Pcj1uZXcgXy5RZ2EoXy5QZ2EpO3ZhciBSZ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSw1MDApfX07dmFyIE5qPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNTAwKX19O3ZhciBNaj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXROYW1lKCl7cmV0dXJuIF8uSCh0aGlzLDEpfXNldE9wdGlvbnMoYSl7cmV0dXJuIF8uRWcodGhpcyxOaiwzLGEpfX07dmFyIFZhYT1fLmFqKGNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9c2V0VmFsdWUoYSxiKXtyZXR1cm4gXy4kZih0aGlzLDIsTWosYSxiKX1zZXRPcHRpb25zKGEpe3JldHVybiBfLkVnKHRoaXMsUmdhLDMsYSl9cmgoKXtyZXR1cm4gXy5QZyh0aGlzLDYpfU9sKGEpe3JldHVybiBfLmtoKHRoaXMsNixhKX19KTt2YXIgVWFhPVN5bWJvbCgpO3ZhciB3YWE9Xy5YaSg5OTgsTmosY2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIExqPVN5bWJvbCgpLFlhYT1TeW1ib2woKSxQaj1TeW1ib2woKTtfLlhqLkFtPSJkIjtfLllqLkFtPSJmIjtfLmRrLkFtPSJpIjtfLmhrLkFtPSJqIjtfLmJrLkFtPSJ1IjtfLmprLkFtPSJ2IjtfLlpqLkFtPSJiIjtfLmdrLkFtPSJlIjtfLldqLkFtPSJzIjtfLmFrLkFtPSJCIjtraS5BbT0ibSI7Xy5Vai5BbT0ibSI7Xy5jay5BbT0ieCI7Xy5ray5BbT0ieSI7Xy5lay5BbT0iZyI7a2JhLkFtPSJoIjtfLmZrLkFtPSJuIjtfLmlrLkFtPSJvIjt2YXIgaWJhPVJlZ0V4cCgiWysvXSIsImciKSxqYmE9UmVnRXhwKCJbLj1dKyQiKSxnYmE9UmVnRXhwKCIoXFwqKSIsImciKSxoYmE9UmVnRXhwKCIoISkiLCJnIiksZmJhPVJlZ0V4cCgiXlstQS1aYS16MC05Xy4hfiooKSBdKiQiKTt2YXIgZWJhPVJlZ0V4cCgiJyIsImciKTtfLlByPXR5cGVvZiBBc3luY0NvbnRleHQhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEFzeW5jQ29udGV4dC5TbmFwc2hvdD09PSJmdW5jdGlvbiI/YT0+YSYmQXN5bmNDb250ZXh0LlNuYXBzaG90LndyYXAoYSk6YT0+YTt2YXIgY2NhPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7Xy5Saz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYixjPXt9KXtzdXBlcihiKTt0aGlzLmNvZGU9YTt0aGlzLm1ldGFkYXRhPWM7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIGE9YFJwY0Vycm9yKCR7Xy5sayh0aGlzLmNvZGUpfHxTdHJpbmcodGhpcy5jb2RlKX0pYDt0aGlzLm1lc3NhZ2UmJihhKz0iOiAiK3RoaXMubWVzc2FnZSk7cmV0dXJuIGF9fTtfLm1rLnByb3RvdHlwZS5MaD0hMTtfLm1rLnByb3RvdHlwZS56aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkxofTtfLm1rLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5MaHx8KHRoaXMuTGg9ITAsdGhpcy5CaygpKX07Xy5tay5wcm90b3R5cGVbXy5tYShTeW1ib2wsImRpc3Bvc2UiKV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX07Xy5tay5wcm90b3R5cGUuQms9ZnVuY3Rpb24oKXtpZih0aGlzLkpoKWZvcig7dGhpcy5KaC5sZW5ndGg7KXRoaXMuSmguc2hpZnQoKSgpfTtfLm5rLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLnJoPSEwfTtfLm5rLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5xYihfLm9rLF8ubmspOwpfLm9rLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy50eXBlPWEudHlwZSxkPWEuY2hhbmdlZFRvdWNoZXMmJmEuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP2EuY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1hLnRhcmdldHx8YS5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1iO2I9YS5yZWxhdGVkVGFyZ2V0O2J8fChjPT0ibW91c2VvdmVyIj9iPWEuZnJvbUVsZW1lbnQ6Yz09Im1vdXNlb3V0IiYmKGI9YS50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9YjtkPyh0aGlzLmNsaWVudFg9ZC5jbGllbnRYIT09dm9pZCAwP2QuY2xpZW50WDpkLnBhZ2VYLHRoaXMuY2xpZW50WT1kLmNsaWVudFkhPT12b2lkIDA/ZC5jbGllbnRZOmQucGFnZVksdGhpcy5zY3JlZW5YPWQuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ZC5zY3JlZW5ZfHwwKToodGhpcy5vZmZzZXRYPV8ubnJ8fGEub2Zmc2V0WCE9PXZvaWQgMD9hLm9mZnNldFg6YS5sYXllclgsCnRoaXMub2Zmc2V0WT1fLm5yfHxhLm9mZnNldFkhPT12b2lkIDA/YS5vZmZzZXRZOmEubGF5ZXJZLHRoaXMuY2xpZW50WD1hLmNsaWVudFghPT12b2lkIDA/YS5jbGllbnRYOmEucGFnZVgsdGhpcy5jbGllbnRZPWEuY2xpZW50WSE9PXZvaWQgMD9hLmNsaWVudFk6YS5wYWdlWSx0aGlzLnNjcmVlblg9YS5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1hLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPWEuYnV0dG9uO3RoaXMua2V5Q29kZT1hLmtleUNvZGV8fDA7dGhpcy5rZXk9YS5rZXl8fCIiO3RoaXMuY2hhckNvZGU9YS5jaGFyQ29kZXx8KGM9PSJrZXlwcmVzcyI/YS5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1hLmN0cmxLZXk7dGhpcy5hbHRLZXk9YS5hbHRLZXk7dGhpcy5zaGlmdEtleT1hLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1hLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9YS5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1hLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9YS5zdGF0ZTsKdGhpcy50aW1lU3RhbXA9YS50aW1lU3RhbXA7dGhpcy5xaD1hO2EuZGVmYXVsdFByZXZlbnRlZCYmXy5vay5pci5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpfTtfLm9rLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtfLm9rLmlyLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMucWguc3RvcFByb3BhZ2F0aW9uP3RoaXMucWguc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5xaC5jYW5jZWxCdWJibGU9ITB9O18ub2sucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7Xy5vay5pci5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMucWg7YS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMX07dmFyIG5iYT0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciBvYmE9MDtyay5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5haVtmXTthfHwoYT10aGlzLmFpW2ZdPVtdLHRoaXMucWgrKyk7dmFyIGc9dGsoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLmpBPSExKSk6KGI9bmV3IHBiYShiLHRoaXMuc3JjLGYsISFkLGUpLGIuakE9YyxhLnB1c2goYikpO3JldHVybiBifTtyay5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmFpKSlyZXR1cm4hMTt2YXIgZT10aGlzLmFpW2FdO2I9dGsoZSxiLGMsZCk7cmV0dXJuIGI+LTE/KHFrKGVbYl0pLF8ueGMoZSxiKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmFpW2FdLHRoaXMucWgtLSksITApOiExfTt2YXIgems9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksQ2s9e30sdWJhPTAsRGs9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtfLnFiKF8uR2ssXy5tayk7Xy5Hay5wcm90b3R5cGVbbmJhXT0hMDtfLkdrLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18udmsodGhpcyxhLGIsYyxkKX07Xy5Hay5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXt3YmEodGhpcyxhLGIsYyxkKX07Cl8uR2sucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy53aztpZihiKXt2YXIgYz1bXTtmb3IodmFyIGQ9MTtiO2I9Yi53ayljLnB1c2goYiksKytkfWI9dGhpcy56djtkPWEudHlwZXx8YTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWE9bmV3IF8ubmsoYSxiKTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBfLm5rKWEudGFyZ2V0PWEudGFyZ2V0fHxiO2Vsc2V7dmFyIGU9YTthPW5ldyBfLm5rKGQsYik7Xy5saihhLGUpfWU9ITA7dmFyIGY7aWYoYylmb3IoZj1jLmxlbmd0aC0xOyFhLnJoJiZmPj0wO2YtLSl7dmFyIGc9YS5jdXJyZW50VGFyZ2V0PWNbZl07ZT1IayhnLGQsITAsYSkmJmV9YS5yaHx8KGc9YS5jdXJyZW50VGFyZ2V0PWIsZT1IayhnLGQsITAsYSkmJmUsYS5yaHx8KGU9SGsoZyxkLCExLGEpJiZlKSk7aWYoYylmb3IoZj0wOyFhLnJoJiZmPGMubGVuZ3RoO2YrKylnPWEuY3VycmVudFRhcmdldD1jW2ZdLGU9SGsoZyxkLCExLGEpJiZlO3JldHVybiBlfTsKXy5Hay5wcm90b3R5cGUuQms9ZnVuY3Rpb24oKXtfLkdrLmlyLkJrLmNhbGwodGhpcyk7dGhpcy5TcCYmXy5xYmEodGhpcy5TcCk7dGhpcy53az1udWxsfTt2YXIgU2dhO18ucWIoSmssemJhKTtKay5wcm90b3R5cGUucWg9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0fTtTZ2E9bmV3IEprO18ucWIoXy5LayxfLkdrKTt2YXIgRGJhPS9eaHR0cHM/JC9pLFRnYT1bIlBPU1QiLCJQVVQiXTtfLmFhPV8uS2sucHJvdG90eXBlO18uYWEuSUc9Xy5oYSg2KTsKXy5hYS5zZW5kPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHRoaXMucWgpdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuQWgrIjsgbmV3VXJpPSIrYSk7Yj1iP2IudG9VcHBlckNhc2UoKToiR0VUIjt0aGlzLkFoPWE7dGhpcy54aD0iIjt0aGlzLnNoPTA7dGhpcy5GaD0hMTt0aGlzLnJoPSEwO3RoaXMucWg9dGhpcy5JaD90aGlzLkloLnFoKCk6U2dhLnFoKCk7dGhpcy5xaC5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsXy5QcikoKDAsXy5pYikodGhpcy5ZSSx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy5HaD0hMCx0aGlzLnFoLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuR2g9ITF9Y2F0Y2goZil7dGhpcy5nZXRTdGF0dXMoKTtCYmEodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSwKZFtlXSk7ZWxzZSBpZih0eXBlb2YgZC5rZXlzPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGQuZ2V0PT09ImZ1bmN0aW9uIilmb3IobGV0IGYgb2YgZC5rZXlzKCkpYy5zZXQoZixkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiVW5rbm93biBpbnB1dCB0eXBlIGZvciBvcHRfaGVhZGVyczogIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8uVWEuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLlVhLkZvcm1EYXRhOyFfLnZjKFRnYSxiKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixnXW9mIGMpdGhpcy5xaC5zZXRSZXF1ZXN0SGVhZGVyKGYsZyk7dGhpcy5EaCYmKHRoaXMucWgucmVzcG9uc2VUeXBlPXRoaXMuRGgpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5xaCYmdGhpcy5xaC53aXRoQ3JlZGVudGlhbHMhPT0KdGhpcy55aCYmKHRoaXMucWgud2l0aENyZWRlbnRpYWxzPXRoaXMueWgpO3RyeXt0aGlzLnRoJiYoY2xlYXJUaW1lb3V0KHRoaXMudGgpLHRoaXMudGg9bnVsbCksdGhpcy5CaD4wJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLnRoPXNldFRpbWVvdXQodGhpcy50di5iaW5kKHRoaXMpLHRoaXMuQmgpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuQ2g9ITAsdGhpcy5xaC5zZW5kKGEpLHRoaXMuQ2g9ITF9Y2F0Y2goZil7dGhpcy5nZXRTdGF0dXMoKSxCYmEodGhpcyxmKX19O18uYWEudHY9ZnVuY3Rpb24oKXt0eXBlb2YgTWshPSJ1bmRlZmluZWQiJiZ0aGlzLnFoJiYodGhpcy54aD0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5CaCsibXMsIGFib3J0aW5nIix0aGlzLnNoPTgsdGhpcy5nZXRTdGF0dXMoKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpbWVvdXQiKSx0aGlzLmFib3J0KDgpKX07Cl8uYWEuYWJvcnQ9ZnVuY3Rpb24oYSl7dGhpcy5xaCYmdGhpcy5yaCYmKHRoaXMuZ2V0U3RhdHVzKCksdGhpcy5yaD0hMSx0aGlzLndoPSEwLHRoaXMucWguYWJvcnQoKSx0aGlzLndoPSExLHRoaXMuc2g9YXx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLExrKHRoaXMpKX07Xy5hYS5Caz1mdW5jdGlvbigpe3RoaXMucWgmJih0aGlzLnJoJiYodGhpcy5yaD0hMSx0aGlzLndoPSEwLHRoaXMucWguYWJvcnQoKSx0aGlzLndoPSExKSxMayh0aGlzLCEwKSk7Xy5Lay5pci5Cay5jYWxsKHRoaXMpfTtfLmFhLllJPWZ1bmN0aW9uKCl7dGhpcy56aCgpfHwodGhpcy5HaHx8dGhpcy5DaHx8dGhpcy53aD9DYmEodGhpcyk6dGhpcy5RTygpKX07Xy5hYS5RTz1mdW5jdGlvbigpe0NiYSh0aGlzKX07Xy5hYS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5xaH07Cl8uYWEuTW09ZnVuY3Rpb24oKXtyZXR1cm4gXy5Oayh0aGlzKT09NH07Xy5hYS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIF8uTmsodGhpcyk+Mj90aGlzLnFoLnN0YXR1czotMX1jYXRjaChhKXtyZXR1cm4tMX19O18uYWEuUnI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHRoaXMucWg/dGhpcy5xaC5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goYSl7cmV0dXJuIiJ9fTtfLmFhLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnFoJiZfLk5rKHRoaXMpPj0yP3RoaXMucWguZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCl8fCIiOiIifTt2YXIgR2JhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLlhFPWE7dGhpcy5PST1iO3RoaXMubWV0YWRhdGE9Y31nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEliYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9e30pe3RoaXMucFA9YTt0aGlzLm1ldGFkYXRhPWI7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O18uUXI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5uYW1lPWE7dGhpcy5Bdz1iO3RoaXMucmg9Yzt0aGlzLnFoPWR9Z2V0TmFtZSgpe3JldHVybiB0aGlzLm5hbWV9fTt2YXIgZmNhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5yaD1bXTt0aGlzLnRoPVtdO3RoaXMud2g9W107dGhpcy5zaD1bXTt0aGlzLnFoPVtdO3RoaXMueGg9YS56Tzt0aGlzLnpoPWI7dGhpcy5UaT1hLlRpO3RoaXMueGgmJk1iYSh0aGlzKX1ycChhLGIpe2E9PT0iZGF0YSI/dGhpcy5yaC5wdXNoKGIpOmE9PT0ibWV0YWRhdGEiP3RoaXMudGgucHVzaChiKTphPT09InN0YXR1cyI/dGhpcy53aC5wdXNoKGIpOmE9PT0iZW5kIj90aGlzLnNoLnB1c2goYik6YT09PSJlcnJvciImJnRoaXMucWgucHVzaChiKX1yZW1vdmVMaXN0ZW5lcihhLGIpe2E9PT0iZGF0YSI/VmsodGhpcy5yaCxiKTphPT09Im1ldGFkYXRhIj9Wayh0aGlzLnRoLGIpOmE9PT0ic3RhdHVzIj9Wayh0aGlzLndoLGIpOmE9PT0iZW5kIj9Wayh0aGlzLnNoLGIpOmE9PT0iZXJyb3IiJiZWayh0aGlzLnFoLGIpO3JldHVybiB0aGlzfWNhbmNlbCgpe3RoaXMuVGkuYWJvcnQoKX19LFBiYT1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtfLnFiKFdrLHpiYSk7V2sucHJvdG90eXBlLnFoPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYayh0aGlzLnNoLHRoaXMucmgpfTtfLnFiKFhrLF8uR2spO18uYWE9WGsucHJvdG90eXBlO18uYWEub3Blbj1mdW5jdGlvbihhLGIpe2lmKHRoaXMucmVhZHlTdGF0ZSE9MCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIkVycm9yIHJlb3BlbmluZyBhIGNvbm5lY3Rpb24iKTt0aGlzLkRoPWE7dGhpcy50aD1iO3RoaXMucmVhZHlTdGF0ZT0xO1lrKHRoaXMpfTsKXy5hYS5zZW5kPWZ1bmN0aW9uKGEpe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuQmguc2lnbmFsLmFib3J0ZWQpdGhyb3cgdGhpcy5hYm9ydCgpLEVycm9yKCJSZXF1ZXN0IHdhcyBhYm9ydGVkLiIpO3RoaXMucWg9ITA7dmFyIGI9e2hlYWRlcnM6dGhpcy5DaCxtZXRob2Q6dGhpcy5EaCxjcmVkZW50aWFsczp0aGlzLnhoLGNhY2hlOnZvaWQgMCxzaWduYWw6dGhpcy5CaC5zaWduYWx9O2EmJihiLmJvZHk9YSk7KHRoaXMuRmh8fF8uVWEpLmZldGNoKG5ldyBSZXF1ZXN0KHRoaXMudGgsYikpLnRoZW4odGhpcy5xTi5iaW5kKHRoaXMpLHRoaXMuVkEuYmluZCh0aGlzKSl9OwpfLmFhLmFib3J0PWZ1bmN0aW9uKCl7dGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dD0iIjt0aGlzLkNoPW5ldyBIZWFkZXJzO3RoaXMuc3RhdHVzPTA7dGhpcy5CaC5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLnNoJiZ0aGlzLnNoLmNhbmNlbCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKS5jYXRjaCgoKT0+e30pO3RoaXMucmVhZHlTdGF0ZT49MSYmdGhpcy5xaCYmdGhpcy5yZWFkeVN0YXRlIT00JiYodGhpcy5xaD0hMSxaayh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpfLmFhLnFOPWZ1bmN0aW9uKGEpe2lmKHRoaXMucWgmJih0aGlzLndoPWEsdGhpcy5yaHx8KHRoaXMuc3RhdHVzPXRoaXMud2guc3RhdHVzLHRoaXMuc3RhdHVzVGV4dD10aGlzLndoLnN0YXR1c1RleHQsdGhpcy5yaD1hLmhlYWRlcnMsdGhpcy5yZWFkeVN0YXRlPTIsWWsodGhpcykpLHRoaXMucWgmJih0aGlzLnJlYWR5U3RhdGU9MyxZayh0aGlzKSx0aGlzLnFoKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKWEuYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMub04uYmluZCh0aGlzKSx0aGlzLlZBLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIF8uVWEuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gYSl7dGhpcy5zaD1hLmJvZHkuZ2V0UmVhZGVyKCk7aWYodGhpcy55aCl7aWYodGhpcy5yZXNwb25zZVR5cGUpdGhyb3cgRXJyb3IoJ3Jlc3BvbnNlVHlwZSBtdXN0IGJlIGVtcHR5IGZvciAic3RyZWFtQmluYXJ5Q2h1bmtzIiBtb2RlIHJlc3BvbnNlcy4nKTsKdGhpcy5yZXNwb25zZT1bXX1lbHNlIHRoaXMucmVzcG9uc2U9dGhpcy5yZXNwb25zZVRleHQ9IiIsdGhpcy5BaD1uZXcgVGV4dERlY29kZXI7UmJhKHRoaXMpfWVsc2UgYS50ZXh0KCkudGhlbih0aGlzLnBOLmJpbmQodGhpcyksdGhpcy5WQS5iaW5kKHRoaXMpKX07Xy5hYS5uTj1mdW5jdGlvbihhKXtpZih0aGlzLnFoKXtpZih0aGlzLnloJiZhLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChhLnZhbHVlKTtlbHNlIGlmKCF0aGlzLnloKXt2YXIgYj1hLnZhbHVlP2EudmFsdWU6bmV3IFVpbnQ4QXJyYXkoMCk7aWYoYj10aGlzLkFoLmRlY29kZShiLHtzdHJlYW06IWEuZG9uZX0pKXRoaXMucmVzcG9uc2U9dGhpcy5yZXNwb25zZVRleHQrPWJ9YS5kb25lP1prKHRoaXMpOllrKHRoaXMpO3RoaXMucmVhZHlTdGF0ZT09MyYmUmJhKHRoaXMpfX07Xy5hYS5wTj1mdW5jdGlvbihhKXt0aGlzLnFoJiYodGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dD1hLFprKHRoaXMpKX07Cl8uYWEub049ZnVuY3Rpb24oYSl7dGhpcy5xaCYmKHRoaXMucmVzcG9uc2U9YSxaayh0aGlzKSl9O18uYWEuVkE9ZnVuY3Rpb24oKXt0aGlzLnFoJiZaayh0aGlzKX07Xy5hYS5zZXRSZXF1ZXN0SGVhZGVyPWZ1bmN0aW9uKGEsYil7dGhpcy5DaC5hcHBlbmQoYSxiKX07Xy5hYS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yaD90aGlzLnJoLmdldChhLnRvTG93ZXJDYXNlKCkpfHwiIjoiIn07Xy5hYS5nZXRBbGxSZXNwb25zZUhlYWRlcnM9ZnVuY3Rpb24oKXtpZighdGhpcy5yaClyZXR1cm4iIjtmb3IodmFyIGE9W10sYj10aGlzLnJoLmVudHJpZXMoKSxjPWIubmV4dCgpOyFjLmRvbmU7KWM9Yy52YWx1ZSxhLnB1c2goY1swXSsiOiAiK2NbMV0pLGM9Yi5uZXh0KCk7cmV0dXJuIGEuam9pbigiXHJcbiIpfTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KFhrLnByb3RvdHlwZSwid2l0aENyZWRlbnRpYWxzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueGg9PT0iaW5jbHVkZSJ9LHNldDpmdW5jdGlvbihhKXt0aGlzLnhoPWE/ImluY2x1ZGUiOiJzYW1lLW9yaWdpbiJ9fSk7Xy5xYihfLiRrLF8ubWspO3ZhciBTYmE9W107Xy4kay5wcm90b3R5cGUuQms9ZnVuY3Rpb24oKXtfLiRrLmlyLkJrLmNhbGwodGhpcyk7Xy5ibCh0aGlzKX07Xy4kay5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIFViYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2g9ITA7dGhpcy5yaD0wO3RoaXMucWg9IiJ9fTtjbC5wcm90b3R5cGUuQmg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07CmNsLnByb3RvdHlwZS5zaD1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGspe2smMTI4JiZkbChmLGcsaCwiaW52YWxpZCB0YWciKTsoayY3KSE9MiYmZGwoZixnLGgsImludmFsaWQgd2lyZSB0eXBlIik7Zi50aD1rPj4+MztmLnRoIT0xJiZmLnRoIT0yJiZmLnRoIT0xNSYmZGwoZixnLGgsInVuZXhwZWN0ZWQgdGFnIik7Zi5yaD0xO2YucWg9MDtmLndoPTB9ZnVuY3Rpb24gYyhrKXtmLndoKys7Zi53aD09NSYmayYyNDAmJmRsKGYsZyxoLCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2YucWh8PShrJjEyNyk8PChmLndoLTEpKjc7ayYxMjh8fChmLnJoPTIsZi55aD0wLHR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCI/Zi54aD1uZXcgVWludDhBcnJheShmLnFoKTpmLnhoPUFycmF5KGYucWgpLGYucWg9PTAmJmUoKSl9ZnVuY3Rpb24gZChrKXtmLnhoW2YueWgrK109aztmLnloPT1mLnFoJiZlKCl9ZnVuY3Rpb24gZSgpe2lmKGYudGg8MTUpe2xldCBrPXt9O2tbZi50aF09Zi54aDsKZi56aC5wdXNoKGspfWYucmg9MH1mb3IodmFyIGY9dGhpcyxnPWEgaW5zdGFuY2VvZiBBcnJheT9hOm5ldyBVaW50OEFycmF5KGEpLGg9MDtoPGcubGVuZ3RoOyl7c3dpdGNoKGYucmgpe2Nhc2UgMzpkbChmLGcsaCwic3RyZWFtIGFscmVhZHkgYnJva2VuIik7YnJlYWs7Y2FzZSAwOmIoZ1toXSk7YnJlYWs7Y2FzZSAxOmMoZ1toXSk7YnJlYWs7Y2FzZSAyOmQoZ1toXSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigidW5leHBlY3RlZCBwYXJzZXIgc3RhdGU6ICIrZi5yaCk7fWYuQ2grKztoKyt9YT1mLnpoO2Yuemg9W107cmV0dXJuIGEubGVuZ3RoPjA/YTpudWxsfTtlbC5wcm90b3R5cGUuQmg9ZnVuY3Rpb24oKXtyZXR1cm4hMX07ZWwucHJvdG90eXBlLnNoPWZ1bmN0aW9uKGEpe3RoaXMucWghPT1udWxsJiZWYmEodGhpcyxhLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgYj1udWxsO3RyeXt7dmFyIGM9dGhpcy50aDtjLnNofHxUYmEoYyxhLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtjLnFoKz1hO2xldCBmPU1hdGguZmxvb3IoYy5xaC5sZW5ndGgvNCk7aWYoZj09MCl2YXIgZD1udWxsO2Vsc2V7dHJ5e3ZhciBlPV8uV2MoYy5xaC5zbGljZSgwLGYqNCkpfWNhdGNoKGcpe1RiYShjLGMucWgsZy5tZXNzYWdlKX1jLnJoKz1mKjQ7Yy5xaD1jLnFoLnNsaWNlKGYqNCk7ZD1lfX1iPWQ9PT1udWxsP251bGw6dGhpcy53aC5zaChkKX1jYXRjaChmKXtWYmEodGhpcyxhLGYubWVzc2FnZSl9dGhpcy5yaCs9YS5sZW5ndGg7cmV0dXJuIGJ9O2dsLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueWg9PT0yfTtnbC5wcm90b3R5cGUuQmg9ZnVuY3Rpb24oKXtyZXR1cm4hMX07CmdsLnByb3RvdHlwZS5zaD1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7Zm9yKDtxPGEubGVuZ3RoOylpZihmbChhW3FdKSlxKyssZi50aCsrO2Vsc2UgYnJlYWs7cmV0dXJuIHE8a31mdW5jdGlvbiBjKCl7Zm9yKHZhciB4Ozspe3g9YVtxKytdO2lmKCF4KWJyZWFrO2YudGgrKztzd2l0Y2goZi5xaCl7Y2FzZSAwOng9PT0ieyI/Zi5xaD0yOng9PT0iWyI/Zi5xaD00OmZsKHgpfHxobChmLGEscSk7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihmbCh4KSljb250aW51ZTtpZihmLnFoPT09NylnLnB1c2goOCk7ZWxzZSBpZih4PT09In0iKXtlKCJ7fSIpO2YucWg9ZCgpO2NvbnRpbnVlfWVsc2UgZy5wdXNoKDMpO3g9PT0nIic/Zi5xaD02OmhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGZsKHgpKWNvbnRpbnVlO3g9PT0iOiI/KGYucWg9PT0zJiYoZy5wdXNoKDMpLGYucmgrKyksZi5xaD0xKTp4PT09In0iPyhmLnJoLS0sZSgpLGYucWg9ZCgpKTp4PT09IiwiPyhmLnFoPT09CjMmJmcucHVzaCgzKSxmLnFoPTcpOmhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDQ6Y2FzZSAxOmlmKGZsKHgpKWNvbnRpbnVlO2lmKGYucWg9PT00KWlmKGYucmgrKyxmLnFoPTEseD09PSJdIil7Zi5yaC0tO2lmKGYucmg9PT0wKXtmLnFoPTU7cmV0dXJufWUoIltdIik7Zi5xaD1kKCk7Y29udGludWV9ZWxzZSBnLnB1c2goNSk7eD09PSciJz9mLnFoPTY6eD09PSJ7Ij9mLnFoPTI6eD09PSJbIj9mLnFoPTQ6eD09PSJ0Ij9mLnFoPTk6eD09PSJmIj9mLnFoPTEyOng9PT0ibiI/Zi5xaD0xNjp4IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YoeCkhPT0tMT9mLnFoPTIwOmhsKGYsYSxxKSk7Y29udGludWU7Y2FzZSA1OmlmKHg9PT0iLCIpZy5wdXNoKDUpLGYucWg9MSxmLnJoPT09MSYmKHA9cSk7ZWxzZSBpZih4PT09Il0iKXtmLnJoLS07aWYoZi5yaD09PTApcmV0dXJuO2UoKTtmLnFoPWQoKX1lbHNlIGlmKGZsKHgpKWNvbnRpbnVlO2Vsc2UgaGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgNjpsZXQgej0KcTthOmZvcig7Oyl7Zm9yKDtmLkFoPjA7KWlmKHg9YVtxKytdLGYuQWg9PT00P2YuQWg9MDpmLkFoKyssIXgpYnJlYWsgYTtpZih4PT09JyInJiYhZi56aCl7Zi5xaD1kKCk7YnJlYWt9aWYoeD09PSJcXCImJiFmLnpoJiYoZi56aD0hMCx4PWFbcSsrXSwheCkpYnJlYWs7aWYoZi56aClpZihmLnpoPSExLHg9PT0idSImJihmLkFoPTEpLHg9YVtxKytdKWNvbnRpbnVlO2Vsc2UgYnJlYWs7aC5sYXN0SW5kZXg9cTt4PWguZXhlYyhhKTtpZigheCl7cT1hLmxlbmd0aCsxO2JyZWFrfXE9eC5pbmRleCsxO3g9YVt4LmluZGV4XTtpZigheClicmVha31mLnRoKz1xLXo7Y29udGludWU7Y2FzZSA5OmlmKCF4KWNvbnRpbnVlO3g9PT0iciI/Zi5xaD0xMDpobChmLGEscSk7Y29udGludWU7Y2FzZSAxMDppZigheCljb250aW51ZTt4PT09InUiP2YucWg9MTE6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgMTE6aWYoIXgpY29udGludWU7eD09PSJlIj9mLnFoPWQoKTpobChmLGEscSk7Y29udGludWU7CmNhc2UgMTI6aWYoIXgpY29udGludWU7eD09PSJhIj9mLnFoPTEzOmhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDEzOmlmKCF4KWNvbnRpbnVlO3g9PT0ibCI/Zi5xaD0xNDpobChmLGEscSk7Y29udGludWU7Y2FzZSAxNDppZigheCljb250aW51ZTt4PT09InMiP2YucWg9MTU6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXgpY29udGludWU7eD09PSJlIj9mLnFoPWQoKTpobChmLGEscSk7Y29udGludWU7Y2FzZSAxNjppZigheCljb250aW51ZTt4PT09InUiP2YucWg9MTc6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgMTc6aWYoIXgpY29udGludWU7eD09PSJsIj9mLnFoPTE4OmhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDE4OmlmKCF4KWNvbnRpbnVlO3g9PT0ibCI/Zi5xaD1kKCk6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgMTk6eD09PSIuIj9mLnFoPTIwOmhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDIwOmlmKCIwMTIzNDU2Nzg5LmVFKy0iLmluZGV4T2YoeCkhPT0tMSljb250aW51ZTsKZWxzZSBxLS0sZi50aC0tLGYucWg9ZCgpO2NvbnRpbnVlO2RlZmF1bHQ6aGwoZixhLHEpfX19ZnVuY3Rpb24gZCgpe3ZhciB4PWcucG9wKCk7cmV0dXJuIHghPW51bGw/eDoxfWZ1bmN0aW9uIGUoeCl7Zi5yaD4xfHwoeHx8KHg9cD09PS0xP2Yud2grYS5zdWJzdHJpbmcobSxxKTphLnN1YnN0cmluZyhwLHEpKSxmLkRoP2YueGgucHVzaCh4KTpmLnhoLnB1c2goSlNPTi5wYXJzZSh4KSkscD1xKX1mb3IodmFyIGY9dGhpcyxnPWYuRmgsaD1mLkdoLGs9YS5sZW5ndGgsbT0wLHA9LTEscT0wO3E8azspc3dpdGNoKGYueWgpe2Nhc2UgMzpyZXR1cm4gaGwoZixhLHEpLG51bGw7Y2FzZSAyOnJldHVybiBiKCkmJmhsKGYsYSxxKSxudWxsO2Nhc2UgMDppZihiKCkpe3ZhciB1PWFbcSsrXTtmLnRoKys7aWYodT09PSJbIil7Zi55aD0xO209cTtmLnFoPTQ7Y29udGludWV9ZWxzZSBobChmLGEscSl9cmV0dXJuIG51bGw7Y2FzZSAxOnJldHVybiBjKCksZi5yaD09PTAmJmYucWg9PTU/KGYueWg9CjIsZi53aD1hLnN1YnN0cmluZyhxKSk6Zi53aD1wPT09LTE/Zi53aCthLnN1YnN0cmluZyhtKTphLnN1YnN0cmluZyhwKSxmLnhoLmxlbmd0aD4wPyh1PWYueGgsZi54aD1bXSx1KTpudWxsfXJldHVybiBudWxsfTtpbC5wcm90b3R5cGUuQmg9ZnVuY3Rpb24oKXtyZXR1cm4hMX07CmlsLnByb3RvdHlwZS5zaD1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGspe2Yucmg9NjtmLnhoPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitmLnFoKyIvIitnKyIuIEVycm9yOiAiK2srIi4gV2l0aCBpbnB1dDpcbiI7dGhyb3cgRXJyb3IoZi54aCk7fWZ1bmN0aW9uIGMoKXtmLnRoPW5ldyBnbCh7cVM6ITAsak06ITB9KX1mdW5jdGlvbiBkKGspe2lmKGspZm9yKGxldCBtPTA7bTxrLmxlbmd0aDttKyspe2xldCBwPXt9O3BbMV09a1ttXTtmLndoLnB1c2gocCl9fWZ1bmN0aW9uIGUoayl7aWYoayl7KGYuemh8fGsubGVuZ3RoPjEpJiZiKCJleHRyYSBzdGF0dXM6ICIrayk7Zi56aD0hMDtsZXQgbT17fTttWzJdPWtbMF07Zi53aC5wdXNoKG0pfX1mb3IodmFyIGY9dGhpcyxnPTA7ZzxhLmxlbmd0aDspe3ZhciBoO2lmKGg9Zi5yaCE9PTIpe2E6e2Zvcig7ZzxhLmxlbmd0aDspe2lmKCFmbChhW2ddKSl7aD0hMDticmVhayBhfWcrKztmLnFoKyt9aD0hMX1oPSFofWlmKGgpcmV0dXJuIG51bGw7CnN3aXRjaChmLnJoKXtjYXNlIDY6Yigic3RyZWFtIGFscmVhZHkgYnJva2VuIik7YnJlYWs7Y2FzZSAwOmFbZ109PT0iWyI/KGYucmg9MSxnKyssZi5xaCsrKTpiKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOmFbZ109PT0iWyI/KGYucmg9MixjKCkpOmFbZ109PT0iLCJ8fGEuc2xpY2UoZyxnKzUpPT0ibnVsbCwiP2Yucmg9MzphW2ddPT09Il0iPyhmLnJoPTUsZysrLGYucWgrKyk6YigidW5leHBlY3RlZCBpbnB1dCB0b2tlbiIpO2JyZWFrO2Nhc2UgMjpoPWYudGguc2goYS5zdWJzdHJpbmcoZykpO2QoaCk7Zi50aC5kb25lKCk/KGYucmg9MyxoPWYudGgud2gsZi5xaCs9YS5sZW5ndGgtZy1oLmxlbmd0aCxhPWgsZz0wKTooZi5xaCs9YS5sZW5ndGgtZyxnPWEubGVuZ3RoKTticmVhaztjYXNlIDM6YVtnXT09PSIsInx8YS5zbGljZShnLGcrNSk9PSJudWxsLCI/KGYucmg9NCxjKCksZi50aC5zaCgiWyIpLGcrPWFbZ109PT0iLCI/MTo1LGYucWgrKyk6YVtnXT09PQoiXSImJihmLnJoPTUsZysrLGYucWgrKyk7YnJlYWs7Y2FzZSA0Omg9Zi50aC5zaChhLnN1YnN0cmluZyhnKSk7ZShoKTtmLnRoLmRvbmUoKT8oZi5yaD01LGg9Zi50aC53aCxmLnFoKz1hLmxlbmd0aC1nLWgubGVuZ3RoLGE9aCxnPTApOihmLnFoKz1hLmxlbmd0aC1nLGc9YS5sZW5ndGgpO2JyZWFrO2Nhc2UgNTpiKCJleHRyYSBpbnB1dCBhZnRlciBzdHJlYW0gZW5kIil9fXJldHVybiBmLndoLmxlbmd0aD4wPyhhPWYud2gsZi53aD1bXSxhKTpudWxsfTt2YXIgZGNhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YTt0aGlzLnJoPW51bGw7dGhpcy53aD10aGlzLnNoPTA7dGhpcy5BaD0hMTt0aGlzLnRoPXRoaXMuemg9dGhpcy54aD1udWxsO3RoaXMueWg9bmV3IF8uJGsodGhpcyk7Xy5hbCh0aGlzLnloLHRoaXMucWgsInJlYWR5c3RhdGVjaGFuZ2UiLHRoaXMuQmgpfWdldFN0YXR1cygpe3JldHVybiB0aGlzLndofUJoKGEpe2E9YS50YXJnZXQ7dHJ5e2lmKGE9PXRoaXMucWgpYTp7bGV0IGY9Xy5Oayh0aGlzLnFoKTt2YXIgYj10aGlzLnFoLnNoLGM9dGhpcy5xaC5nZXRTdGF0dXMoKTtsZXQgZz10aGlzLnFoLlJyKCk7YT1bXTtpZihfLlBrKHRoaXMucWgpaW5zdGFuY2VvZiBBcnJheSl7bGV0IGg9Xy5Qayh0aGlzLnFoKTtoLmxlbmd0aD4wJiZoWzBdaW5zdGFuY2VvZiBVaW50OEFycmF5JiYodGhpcy5BaD0hMCxhPWgpfWlmKCEoZjwzfHxmPT0zJiYhZyYmYS5sZW5ndGg9PTApKWlmKGM9Yz09MjAwfHxjPT0yMDYsZj09NCYmKGI9PQo4P2psKHRoaXMsNyk6Yj09Nz9qbCh0aGlzLDgpOmN8fGpsKHRoaXMsMykpLHRoaXMucmh8fCh0aGlzLnJoPVdiYSh0aGlzLnFoKSx0aGlzLnJoPT1udWxsJiZqbCh0aGlzLDUpKSx0aGlzLndoPjIpa2wodGhpcyk7ZWxzZXtpZihhLmxlbmd0aD50aGlzLnNoKXtsZXQgaD1hLmxlbmd0aDtiPVtdO3RyeXtpZih0aGlzLnJoLkJoKCkpZm9yKHZhciBkPTA7ZDxoO2QrKyl7dmFyIGU9dGhpcy5yaC5zaChBcnJheS5mcm9tKGFbZF0pKTtlJiYoYj1iLmNvbmNhdChlKSl9ZWxzZXtlPSIiO2lmKCF0aGlzLnhoKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy54aD1uZXcgVGV4dERlY29kZXJ9Zm9yKGQ9MDtkPGg7ZCsrKWUrPXRoaXMueGguZGVjb2RlKGFbZF0se3N0cmVhbTpmPT00JiZkPT1oLTF9KTtiPXRoaXMucmguc2goZSl9YS5zcGxpY2UoMCxoKTtiJiYKdGhpcy50aChiKX1jYXRjaChrKXtqbCh0aGlzLDUpO2tsKHRoaXMpO2JyZWFrIGF9fWVsc2UgaWYoZy5sZW5ndGg+dGhpcy5zaCl7ZD1nLnNsaWNlKHRoaXMuc2gpO3RoaXMuc2g9Zy5sZW5ndGg7dHJ5e2xldCBoPXRoaXMucmguc2goZCk7aCE9bnVsbCYmdGhpcy50aCYmdGhpcy50aChoKX1jYXRjaChoKXtqbCh0aGlzLDUpO2tsKHRoaXMpO2JyZWFrIGF9fWY9PTQ/KGcubGVuZ3RoIT0wfHx0aGlzLkFoP2psKHRoaXMsMik6amwodGhpcyw0KSxrbCh0aGlzKSk6amwodGhpcywxKX19fWNhdGNoKGYpe2psKHRoaXMsNiksa2wodGhpcyl9fX07dmFyIGVjYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXthPXRoaXMuc2g9YTt2YXIgYj0oMCxfLmliKSh0aGlzLnRoLHRoaXMpO2EudGg9YjthPXRoaXMuc2g7Yj0oMCxfLmliKSh0aGlzLndoLHRoaXMpO2Euemg9Yjt0aGlzLnJoPXt9O3RoaXMucWg9e319cnAoYSxiKXt2YXIgYz10aGlzLnJoW2FdO2N8fChjPVtdLHRoaXMucmhbYV09Yyk7Yy5wdXNoKGIpfWFkZExpc3RlbmVyKGEsYil7dGhpcy5ycChhLGIpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKGEsYil7dmFyIGM9dGhpcy5yaFthXTtjJiZfLnljKGMsYik7KGE9dGhpcy5xaFthXSkmJl8ueWMoYSxiKTtyZXR1cm4gdGhpc31vbmNlKGEsYil7dmFyIGM9dGhpcy5xaFthXTtjfHwoYz1bXSx0aGlzLnFoW2FdPWMpO2MucHVzaChiKTtyZXR1cm4gdGhpc310aChhKXt2YXIgYj10aGlzLnJoLmRhdGE7YiYmWGJhKGEsYik7KGI9dGhpcy5xaC5kYXRhKSYmWGJhKGEsYik7dGhpcy5xaC5kYXRhPVtdfXdoKCl7c3dpdGNoKHRoaXMuc2guZ2V0U3RhdHVzKCkpe2Nhc2UgMTpsbCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmxsKHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4OmxsKHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmxsKHRoaXMsImVuZCIpfX19O18uUnI9Y2xhc3N7Y29uc3RydWN0b3IoYT17fSl7dGhpcy54Rj1hLnhGfHxSYSgic3VwcHJlc3NDb3JzUHJlZmxpZ2h0IixhKXx8ITE7dGhpcy53aXRoQ3JlZGVudGlhbHM9YS53aXRoQ3JlZGVudGlhbHN8fFJhKCJ3aXRoQ3JlZGVudGlhbHMiLGEpfHwhMTt0aGlzLnZGPWEudkZ8fFtdO3RoaXMuSEY9YS5IRnx8W107dGhpcy5URj1hLlRGO3RoaXMuc2g9YS5XVHx8ITF9dGgoYSxiLGMsZCxlPXt9KXt2YXIgZj1hLnN1YnN0cmluZygwLGEubGVuZ3RoLWQubmFtZS5sZW5ndGgpLGc9ZT8uc2lnbmFsO3JldHVybiBZYmEoaD0+bmV3IFByb21pc2UoKGssbSk9PntpZihnPy5hYm9ydGVkKXtsZXQgdT1uZXcgXy5SaygxLCJBYm9ydGVkIik7dS5jYXVzZT1nLnJlYXNvbjttKHUpfWVsc2V7dmFyIHA9e30scT1iY2EodGhpcyxoLGYpO3EucnAoImVycm9yIix1PT52b2lkIG0odSkpO3EucnAoIm1ldGFkYXRhIix1PT57cD11fSk7cS5ycCgiZGF0YSIsdT0+e2soSmJhKHUscCkpfSk7ZyYmZy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsCigpPT57cS5jYW5jZWwoKTt2YXIgdT1uZXcgXy5SaygxLCJBYm9ydGVkIik7dS5jYXVzZT1nLnJlYXNvbjttKHUpfSl9fSksdGhpcy5IRikuY2FsbCh0aGlzLF8uSGJhKGQsYixjKSkudGhlbihoPT5oLnBQKX1xaChhLGIsYyxkLGU9e30pe3JldHVybiB0aGlzLnRoKGEsYixjLGQsZSl9fTtfLlJyLnByb3RvdHlwZS5yaD1fLmhhKDcpO18uVWdhPUV2ZW50O18uU3I9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9cmgoKXtyZXR1cm4gXy5IKHRoaXMsMSl9dGgoKXtyZXR1cm4gXy5IKHRoaXMsMil9eGgoKXtyZXR1cm4gXy5KZyh0aGlzLDIxKX19O18uU3IucHJvdG90eXBlLnBsPV8uaGEoMTMpO18uU3IucHJvdG90eXBlLmtqPV8uaGEoOCk7dmFyIGljYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaCgpe3JldHVybiBfLkgodGhpcywyKX19O3ZhciBkZ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLm5xPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFN0YXR1cygpe3JldHVybiBfLlBnKHRoaXMsMSl9fTtfLm5xLnByb3RvdHlwZS5yaD1fLmhhKDE0KTt2YXIgYmdhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXJoKCl7cmV0dXJuIF8uRyh0aGlzLF8uU3IsMyl9Q2goKXtyZXR1cm4gXy5BZyh0aGlzLGljYSw0KX14aCgpe3JldHVybiBfLkgodGhpcyw3KX15aCgpe3JldHVybiBfLkgodGhpcywxNCl9dGgoKXtyZXR1cm4gXy5IKHRoaXMsMTcpfUJoKCl7cmV0dXJuIF8uSmcodGhpcyw1MSl9emgoKXtyZXR1cm4gXy5qZyh0aGlzLDUyLF8uWWUsMSx2b2lkIDAsMTAyNCl9fTt2YXIgU2ZhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIFJmYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBWZ2E9WzAsXy5aLC0xLF8uVSwtMixfLkFyLFswLF8udnJdLFswLF8uVSwtNF0sWzAsXy5aXSxfLlosWzAsXy5VLF8uR3IsXy5SXSxfLlUsXy53cl07Xy5Ucj17fTt2YXIgVGZhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9bmV3IF8uS2dhO18ud2koYi5MaSxjLF8udGkoYSkpO3JldHVybiBfLklkKF8uYWkoYykpfX0oVmdhKTtfLlRyWzUyNTAwNDE4MF09VmdhO3ZhciBqY2E9d2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIik7Xy5Vcj17Uk9BRE1BUDoicm9hZG1hcCIsU0FURUxMSVRFOiJzYXRlbGxpdGUiLEhZQlJJRDoiaHlicmlkIixURVJSQUlOOiJ0ZXJyYWluIn07dmFyIGdyO2dyPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKGAke2J9OiAke2N9OiAke2F9YCk7dGhpcy5lbmRwb2ludD1iO3RoaXMuY29kZT1jO3RoaXMubmFtZT0iTWFwc05ldHdvcmtFcnJvciJ9fTtfLmpyPWNsYXNzIGV4dGVuZHMgZ3J7Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKGEsYixjKTt0aGlzLm5hbWU9Ik1hcHNTZXJ2ZXJFcnJvciJ9fTtfLmlyPWNsYXNzIGV4dGVuZHMgZ3J7Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKGEsYixjKTt0aGlzLm5hbWU9Ik1hcHNSZXF1ZXN0RXJyb3IifX07dmFyIGxjYT17Y2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNvbHNwYW46ImNvbFNwYW4iLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsaGVpZ2h0OiJoZWlnaHQiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixub25jZToibm9uY2UiLHJvbGU6InJvbGUiLHJvd3NwYW46InJvd1NwYW4iLHR5cGU6InR5cGUiLHVzZW1hcDoidXNlTWFwIix2YWxpZ246InZBbGlnbiIsd2lkdGg6IndpZHRoIn07Xy5hYT1fLkJsLnByb3RvdHlwZTtfLmFhLm5rPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucWg7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/Yi5nZXRFbGVtZW50QnlJZChhKTphfTtfLmFhLiQ9Xy5CbC5wcm90b3R5cGUubms7Xy5hYS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLnFoKS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoYSkpfTsKXy5hYS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiB2bCh0aGlzLnFoLGEpfTtfLmFhLmNyZWF0ZVRleHROb2RlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnFoLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uYWEuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLmFhLmFwcGVuZD1mdW5jdGlvbihhLGIpe25jYShfLkFsKGEpLGEsYXJndW1lbnRzLDEpfTtfLmFhLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uYWEuY29udGFpbnM9Xy56bDt2YXIgV2dhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5xaD1fLlVhLmRvY3VtZW50O3RoaXMuc2g9YS5pbmNsdWRlcygiJXMiKT9hOnFjYShbYSwiJXMiXSwianMiKTt0aGlzLnJoPSFifHxiLmluY2x1ZGVzKCIlcyIpP2I6cWNhKFtiLCIlcyJdLCJjc3MuanMiKX1QQShhLGIsYyl7aWYodGhpcy5yaCl7bGV0IGQ9Xy5FbCh0aGlzLnJoLnJlcGxhY2UoIiVzIixhKSk7cGNhKHRoaXMucWgsZCl9YT1fLkVsKHRoaXMuc2gucmVwbGFjZSgiJXMiLGEpKTtwY2EodGhpcy5xaCxhLGIsYyl9fTtfLlZyPWE9Pnt2YXIgYj0iZUIiO2lmKGEuZUImJmEuaGFzT3duUHJvcGVydHkoYikpcmV0dXJuIGEuZUI7dmFyIGM9bmV3IGE7YS5lQj1jO2EuaGFzT3duUHJvcGVydHkoYik7cmV0dXJuIGN9O3ZhciBHbD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVxdWVzdGVkTW9kdWxlcz17fTt0aGlzLnJoPXt9O3RoaXMueGg9e307dGhpcy5xaD17fTt0aGlzLnpoPW5ldyBTZXQ7dGhpcy5zaD1uZXcgWGdhO3RoaXMueWg9ITE7dGhpcy53aD17fX1pbml0KGEsYixjLGQ9bnVsbCxlPSgpPT57fSxmPW5ldyBXZ2EoYSxkKSxnKXt0aGlzLk1zPWU7dGhpcy55aD0hIWQ7dGhpcy5zaC5pbml0KGIsYyxmKTtpZih0aGlzLnRoPWcpe2E9T2JqZWN0LmtleXModGhpcy5xaCk7Zm9yKGxldCBoIG9mIGEpdGhpcy50aChoKX19bG4oYSxiKXtyY2EodGhpcyxhKS5zTz1iO3RoaXMuemguYWRkKGEpO3VjYSh0aGlzLGEpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBfLlZyKEdsKX19LFlnYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5zaD1hO3RoaXMucWg9Yjt0aGlzLnJoPWM7YT17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpe2M9YltkXTtsZXQgZT1jLmxlbmd0aDtmb3IobGV0IGY9CjA7ZjxlOysrZil7bGV0IGc9Y1tmXTthW2ddfHwoYVtnXT1bXSk7YVtnXS5wdXNoKGQpfX10aGlzLnRoPWF9fSxYZ2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnFoPVtdfWluaXQoYSxiLGMpe2E9dGhpcy5jb25maWc9bmV3IFlnYShjLGEsYik7Yj10aGlzLnFoLmxlbmd0aDtmb3IoYz0wO2M8YjsrK2MpdGhpcy5xaFtjXShhKTt0aGlzLnFoLmxlbmd0aD0wfX07Xy5McD17fTt2YXIgS2w7Xy5aZ2E9SW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKFsiZW4iLnJlcGxhY2UoIl8iLCItIildKS5sZW5ndGg+MDtfLiRnYT0iMCIuY29kZVBvaW50QXQoMCk7dmFyIGFoYTthaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGElMTA9PTEmJmElMTAwIT0xMT8ib25lIjphJTEwPT0yJiZhJTEwMCE9MTI/InR3byI6YSUxMD09MyYmYSUxMDAhPTEzPyJmZXciOiJvdGhlciJ9O18uYmhhPWFoYT1mdW5jdGlvbigpe3ZhciBhPXt6ZXJvOiJ6ZXJvIixvbmU6Im9uZSIsdHdvOiJ0d28iLGZldzoiZmV3IixtYW55OiJtYW55IixvdGhlcjoib3RoZXIifSxiPW51bGwsYz1udWxsO3JldHVybiBmdW5jdGlvbihkLGUpe3ZhciBmPWU9PT12b2lkIDA/LTE6ZTtjPT09bnVsbCYmKGM9bmV3IE1hcCk7Yj1jLmdldChmKTtpZighYil7bGV0IGc9IiI7Zz0iZW4iLnJlcGxhY2UoIl8iLCItIik7Yj1mPT09LTE/bmV3IEludGwuUGx1cmFsUnVsZXMoZyx7dHlwZToib3JkaW5hbCJ9KTpuZXcgSW50bC5QbHVyYWxSdWxlcyhnLHt0eXBlOiJvcmRpbmFsIixtaW5pbXVtRnJhY3Rpb25EaWdpdHM6ZX0pO2Muc2V0KGYsYil9ZD1iLnNlbGVjdChkKTtyZXR1cm4gYVtkXX19KCk7dmFyIGNoYTtjaGE9ZnVuY3Rpb24oYSxiKXtpZih2b2lkIDA9PT1iKXtiPWErIiI7dmFyIGM9Yi5pbmRleE9mKCIuIik7Yj1NYXRoLm1pbihjPT09LTE/MDpiLmxlbmd0aC1jLTEsMyl9Yz1NYXRoLnBvdygxMCxiKTtiPXt2OmIsZjooYSpjfDApJWN9O3JldHVybihhfDApPT0xJiZiLnY9PTA/Im9uZSI6Im90aGVyIn07Cl8uZGhhPWNoYT1mdW5jdGlvbigpe3ZhciBhPXt6ZXJvOiJ6ZXJvIixvbmU6Im9uZSIsdHdvOiJ0d28iLGZldzoiZmV3IixtYW55OiJtYW55IixvdGhlcjoib3RoZXIifSxiPW51bGwsYz1udWxsO3JldHVybiBmdW5jdGlvbihkLGUpe3ZhciBmPWU9PT12b2lkIDA/LTE6ZTtjPT09bnVsbCYmKGM9bmV3IE1hcCk7Yj1jLmdldChmKTtpZighYil7bGV0IGc9IiI7Zz0iZW4iLnJlcGxhY2UoIl8iLCItIik7Yj1mPT09LTE/bmV3IEludGwuUGx1cmFsUnVsZXMoZyk6bmV3IEludGwuUGx1cmFsUnVsZXMoZyx7bWluaW11bUZyYWN0aW9uRGlnaXRzOmV9KTtjLnNldChmLGIpfWQ9Yi5zZWxlY3QoZCk7cmV0dXJuIGFbZF19fSgpO18uZWhhPVJlZ0V4cCgiJyhbe30jXS4qPyknIiwiZyIpO18uZmhhPVJlZ0V4cCgiJyciLCJnIik7VWwucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gV3J9O3ZhciBXcj17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O1VsLnByb3RvdHlwZS54eD1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgVmw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfXh4KCl7cmV0dXJuIG5ldyB5Y2EodGhpcy5xaCgpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgV2wodGhpcy5xaCgpKX1yaCgpe3JldHVybiBuZXcgV2wodGhpcy5xaCgpKX19LHljYT1jbGFzcyBleHRlbmRzIFVse2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5xaD1hfW5leHQoKXtyZXR1cm4gdGhpcy5xaC5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IFdsKHRoaXMucWgpfXJoKCl7cmV0dXJuIG5ldyBXbCh0aGlzLnFoKX19LFdsPWNsYXNzIGV4dGVuZHMgVmx7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMuc2g9YX1uZXh0KCl7cmV0dXJuIHRoaXMuc2gubmV4dCgpfX07Xy5xYihfLlhsLEFjYSk7Xy5YbC5wcm90b3R5cGUubGs9Xy5oYSgxNyk7Xy5YbC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB6Y2EodGhpcy54eCghMCkpLnJoKCl9O18uWGwucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dmFyIGE9QXJyYXkuZnJvbSh0aGlzKTtmb3IobGV0IGIgb2YgYSl0aGlzLnJlbW92ZShiKX07Xy5xYihfLllsLF8uWGwpO18uYWE9Xy5ZbC5wcm90b3R5cGU7Xy5hYS5pc0F2YWlsYWJsZT1mdW5jdGlvbigpe2lmKHRoaXMucmg9PT1udWxsKXt2YXIgYT10aGlzLnFoO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5yaD1ifXJldHVybiB0aGlzLnJofTsKXy5hYS5zZXQ9ZnVuY3Rpb24oYSxiKXtfLlpsKHRoaXMpO3RyeXt0aGlzLnFoLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLnFoLmxlbmd0aD09MCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSBkaXNhYmxlZCI7dGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IFF1b3RhIGV4Y2VlZGVkIjt9fTtfLmFhLmdldD1mdW5jdGlvbihhKXtfLlpsKHRoaXMpO2E9dGhpcy5xaC5nZXRJdGVtKGEpO2lmKHR5cGVvZiBhIT09InN0cmluZyImJmEhPT1udWxsKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJuIGF9O18uYWEucmVtb3ZlPWZ1bmN0aW9uKGEpe18uWmwodGhpcyk7dGhpcy5xaC5yZW1vdmVJdGVtKGEpfTtfLmFhLmxrPV8uaGEoMTYpOwpfLmFhLnh4PWZ1bmN0aW9uKGEpe18uWmwodGhpcyk7dmFyIGI9MCxjPXRoaXMucWgsZD1uZXcgVWw7ZC5uZXh0PWZ1bmN0aW9uKCl7aWYoYj49Yy5sZW5ndGgpcmV0dXJuIFdyO3ZhciBlPWMua2V5KGIrKyk7aWYoYSlyZXR1cm57dmFsdWU6ZSxkb25lOiExfTtlPWMuZ2V0SXRlbShlKTtpZih0eXBlb2YgZSE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOmUsZG9uZTohMX19O3JldHVybiBkfTtfLmFhLmNsZWFyPWZ1bmN0aW9uKCl7Xy5abCh0aGlzKTt0aGlzLnFoLmNsZWFyKCl9O18uYWEua2V5PWZ1bmN0aW9uKGEpe18uWmwodGhpcyk7cmV0dXJuIHRoaXMucWgua2V5KGEpfTtfLnFiKEJjYSxfLllsKTt2YXIgdW09e307dmFyIEZjYT1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5tZXNzYWdlPWE7dGhpcy5uYW1lPSJJbnZhbGlkVmFsdWVFcnJvciJ9fSxHY2E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5tZXNzYWdlPWE7dGhpcy5uYW1lPSJMaWdodHdlaWdodEludmFsaWRWYWx1ZUVycm9yIn19LHptPSEwO3ZhciBobywkcixpaGE7Xy5PbT1fLkptKF8uam0sIm5vdCBhIG51bWJlciIpO18uZ2hhPV8uTG0oXy5PbSxhPT57aWYoIU51bWJlci5pc0ludGVnZXIoYSkpdGhyb3cgXy5BbShgJHthfSBpcyBub3QgYW4gaW50ZWdlcmApO3JldHVybiBhfSk7Xy5oaGE9Xy5MbShfLmdoYSxhPT57aWYoYTw9MCl0aHJvdyBfLkFtKGAke2F9IGlzIG5vdCBhIHBvc2l0aXZlIGludGVnZXJgKTtyZXR1cm4gYX0pO2hvPV8uTG0oXy5PbSxhPT57SWNhKGEpO3JldHVybiBhfSk7Xy5Ycj1fLkxtKF8uT20sYT0+e2lmKGlzRmluaXRlKGEpKXJldHVybiBhO3Rocm93IF8uQW0oYCR7YX0gaXMgbm90IGFuIGFjY2VwdGVkIHZhbHVlYCk7fSk7Xy5Zcj1fLkxtKF8uT20sYT0+e2lmKGE+PTApcmV0dXJuIGE7SWNhKGEpO3Rocm93IF8uQW0oYCR7YX0gaXMgYSBuZWdhdGl2ZSBudW1iZXIgdmFsdWVgKTt9KTtfLlpyPV8uTG0oXy5ZcixfLlhyKTtfLmNyPV8uSm0oXy5tbSwibm90IGEgc3RyaW5nIik7CiRyPV8uSm0oXy5ubSwibm90IGEgYm9vbGVhbiIpO2loYT1fLkptKGE9PnR5cGVvZiBhPT09ImZ1bmN0aW9uIiwibm90IGEgZnVuY3Rpb24iKTtfLmFzPV8uTW0oXy5PbSk7Xy5icz1fLk1tKF8uY3IpO18uY3M9Xy5NbSgkcik7Xy5kcz1fLkxtKF8uY3IsYT0+e2lmKGEubGVuZ3RoPjApcmV0dXJuIGE7dGhyb3cgXy5BbSgiZW1wdHkgc3RyaW5nIGlzIG5vdCBhbiBhY2NlcHRlZCB2YWx1ZSIpO30pO18uamhhPV8uTG0oXy5FbShEYXRlLCJEYXRlIiksYT0+e2lmKGlzTmFOKGEuZ2V0VGltZSgpKSl0aHJvdyBfLkFtKCJpbnZhbGlkIGRhdGUiKTtyZXR1cm4gYX0pO3ZhciBKY2E9bnVsbCxTbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucWg9bmV3IFNldDt0aGlzLnJoPW51bGx9Z2V0IGV4cGVyaWVuY2VJZHMoKXtyZXR1cm4gbmV3IFNldCh0aGlzLnFoKX1zZXQgZXhwZXJpZW5jZUlkcyhhKXtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdIT09ImZ1bmN0aW9uInx8dHlwZW9mIGE9PT0ic3RyaW5nIil0aHJvdyBfLkFtKCJleHBlcmllbmNlSWRzIG11c3QgYmUgc2V0IHRvIGFuIGluc3RhbmNlIG9mIEl0ZXJhYmxlPHN0cmluZz4uIik7Zm9yKGxldCBjIG9mIGEpdHJ5eygwLF8uZHMpKGMpO2E6e2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGgrMTtkKyspe2xldCBlO2Rve2lmKGQ9PT1jLmxlbmd0aCl7dmFyIGI9ITA7YnJlYWsgYX1lPWMuY2hhckF0KGQrKyl9d2hpbGUoZTwiXHVkODAwInx8ZT4iXHVkZmZmIik7aWYoZT49Ilx1ZGMwMCJ8fGQ9PT1jLmxlbmd0aHx8IShjLmNoYXJBdChkKT49Ilx1ZGMwMCImJmMuY2hhckF0KGQpPCJcdWUwMDAiKSl7Yj0KITE7YnJlYWsgYX19Yj0hMH1pZighYil0aHJvdyBfLkFtKCJtdXN0IGJlIGEgd2VsbC1mb3JtZWQgVVRGLTE2IHN0cmluZy4iKTtpZihbLi4uY10ubGVuZ3RoPjY0KXRocm93IF8uQW0oIm11c3QgYmUgNjQgY29kZSBwb2ludHMgb3Igc2hvcnRlci4iKTtpZigvWy86PyNdLy50ZXN0KGMpKXRocm93IF8uQW0oJ211c3Qgbm90IGNvbnRhaW4gYW55IG9mIHRoZSBmb2xsb3dpbmcgQVNDSUkgY2hhcmFjdGVyczogIi8iLCAiOiIsICI/IiBvciAiIyInKTt9Y2F0Y2goZCl7dGhyb3cgZC5tZXNzYWdlPWBFeHBlcmllbmNlIElEICIke2N9IiAke2QubWVzc2FnZX1gLGQ7fXRoaXMucWguY2xlYXIoKTtmb3IobGV0IGMgb2YgYSl0aGlzLnFoLmFkZChjKX1nZXQgZmV0Y2hBcHBDaGVja1Rva2VuKCl7cmV0dXJuIHRoaXMucmg9PW51bGw/KCk9PlByb21pc2UucmVzb2x2ZSh7dG9rZW46IiJ9KTp0aGlzLnJofXNldCBmZXRjaEFwcENoZWNrVG9rZW4oYSl7Xy5NKHdpbmRvdywyMjg0NTIpO3RoaXMucmg9CmF9fTtTbS5nZXRJbnN0YW5jZT1LY2E7Xy5wcT17VE9QX0xFRlQ6MSxUT1BfQ0VOVEVSOjIsVE9QOjIsVE9QX1JJR0hUOjMsTEVGVF9DRU5URVI6NCxMRUZUX1RPUDo1LExFRlQ6NSxMRUZUX0JPVFRPTTo2LFJJR0hUX1RPUDo3LFJJR0hUOjcsUklHSFRfQ0VOVEVSOjgsUklHSFRfQk9UVE9NOjksQk9UVE9NX0xFRlQ6MTAsQk9UVE9NX0NFTlRFUjoxMSxCT1RUT006MTEsQk9UVE9NX1JJR0hUOjEyLENFTlRFUjoxMyxCTE9DS19TVEFSVF9JTkxJTkVfU1RBUlQ6MTQsQkxPQ0tfU1RBUlRfSU5MSU5FX0NFTlRFUjoxNSxCTE9DS19TVEFSVF9JTkxJTkVfRU5EOjE2LElOTElORV9TVEFSVF9CTE9DS19DRU5URVI6MTcsSU5MSU5FX1NUQVJUX0JMT0NLX1NUQVJUOjE4LElOTElORV9TVEFSVF9CTE9DS19FTkQ6MTksSU5MSU5FX0VORF9CTE9DS19TVEFSVDoyMCxJTkxJTkVfRU5EX0JMT0NLX0NFTlRFUjoyMSxJTkxJTkVfRU5EX0JMT0NLX0VORDoyMixCTE9DS19FTkRfSU5MSU5FX1NUQVJUOjIzLEJMT0NLX0VORF9JTkxJTkVfQ0VOVEVSOjI0LApCTE9DS19FTkRfSU5MSU5FX0VORDoyNSwxOiJUT1BfTEVGVCIsMjoiVE9QIiwzOiJUT1BfUklHSFQiLDQ6IkxFRlRfQ0VOVEVSIiw1OiJMRUZUIiw2OiJMRUZUX0JPVFRPTSIsNzoiUklHSFQiLDg6IlJJR0hUX0NFTlRFUiIsOToiUklHSFRfQk9UVE9NIiwxMDoiQk9UVE9NX0xFRlQiLDExOiJCT1RUT00iLDEyOiJCT1RUT01fUklHSFQiLDEzOiJDRU5URVIiLDE0OiJCTE9DS19TVEFSVF9JTkxJTkVfU1RBUlQiLDE1OiJCTE9DS19TVEFSVF9JTkxJTkVfQ0VOVEVSIiwxNjoiQkxPQ0tfU1RBUlRfSU5MSU5FX0VORCIsMTc6IklOTElORV9TVEFSVF9CTE9DS19DRU5URVIiLDE4OiJJTkxJTkVfU1RBUlRfQkxPQ0tfU1RBUlQiLDE5OiJJTkxJTkVfU1RBUlRfQkxPQ0tfRU5EIiwyMDoiSU5MSU5FX0VORF9CTE9DS19TVEFSVCIsMjE6IklOTElORV9FTkRfQkxPQ0tfQ0VOVEVSIiwyMjoiSU5MSU5FX0VORF9CTE9DS19FTkQiLDIzOiJCTE9DS19FTkRfSU5MSU5FX1NUQVJUIiwyNDoiQkxPQ0tfRU5EX0lOTElORV9DRU5URVIiLAoyNToiQkxPQ0tfRU5EX0lOTElORV9FTkQifTt2YXIgZmZhPXtERUZBVUxUOjAsU01BTEw6MSxBTkRST0lEOjIsWk9PTV9QQU46MyxQUjo0LGFMOjUsMDoiREVGQVVMVCIsMToiU01BTEwiLDI6IkFORFJPSUQiLDM6IlpPT01fUEFOIiw0OiJST1RBVEVfT05MWSIsNToiVE9VQ0gifTt2YXIgZ2ZhPXtERUZBVUxUOjB9O3ZhciBoZmE9e0RFRkFVTFQ6MCxTTUFMTDoxLExBUkdFOjIsYUw6MywwOiJERUZBVUxUIiwxOiJTTUFMTCIsMjoiTEFSR0UiLDM6IlRPVUNIIn07dmFyIFptPWNsYXNze307dmFyIGtoYT17SVI6IlBvaW50Iix2UjoiTGluZVN0cmluZyIsUE9MWUdPTjoiUG9seWdvbiJ9O3ZhciBMY2E9Xy5DbSh7bGF0Ol8uT20sbG5nOl8uT219LCEwKSxOY2E9Xy5DbSh7bGF0Ol8uWHIsbG5nOl8uWHJ9LCEwKTtfLlRtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIoIit0aGlzLmxhdCgpKyIsICIrdGhpcy5sbmcoKSsiKSJ9O18uVG0ucHJvdG90eXBlLnRvU3RyaW5nPV8uVG0ucHJvdG90eXBlLnRvU3RyaW5nO18uVG0ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybntsYXQ6dGhpcy5sYXQoKSxsbmc6dGhpcy5sbmcoKX19O18uVG0ucHJvdG90eXBlLnRvSlNPTj1fLlRtLnByb3RvdHlwZS50b0pTT047Xy5UbS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPWEgaW5zdGFuY2VvZiBfLlRtP2EubGF0KCk6YS5sYXQ7YT1hIGluc3RhbmNlb2YgXy5UbT9hLmxuZygpOmEubG5nO3JldHVybiB0eXBlb2YgYiE9PSJudW1iZXIifHx0eXBlb2YgYSE9PSJudW1iZXIiPyExOl8uaW0odGhpcy5sYXQoKSxiKSYmXy5pbSh0aGlzLmxuZygpLGEpfTtfLlRtLnByb3RvdHlwZS5lcXVhbHM9Xy5UbS5wcm90b3R5cGUuZXF1YWxzOwpfLlRtLnByb3RvdHlwZS5lcXVhbHM9Xy5UbS5wcm90b3R5cGUuZXF1YWxzO18uVG0ucHJvdG90eXBlLnRvVXJsVmFsdWU9ZnVuY3Rpb24oYSl7YT1hIT09dm9pZCAwP2E6NjtyZXR1cm4gTWNhKHRoaXMubGF0KCksYSkrIiwiK01jYSh0aGlzLmxuZygpLGEpfTtfLlRtLnByb3RvdHlwZS50b1VybFZhbHVlPV8uVG0ucHJvdG90eXBlLnRvVXJsVmFsdWU7dmFyIHFkYTtfLmVzPV8uR20oXy5YbSk7cWRhPV8uR20oXy5ZbSk7Xy4kbT1jbGFzcyBleHRlbmRzIFpte2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5lbGVtZW50cz1fLlhtKGEpfWdldFR5cGUoKXtyZXR1cm4iUG9pbnQifWZvckVhY2hMYXRMbmcoYSl7YSh0aGlzLmVsZW1lbnRzKX1nZXQoKXtyZXR1cm4gdGhpcy5lbGVtZW50c319O18uJG0ucHJvdG90eXBlLmdldD1fLiRtLnByb3RvdHlwZS5nZXQ7Xy4kbS5wcm90b3R5cGUuZm9yRWFjaExhdExuZz1fLiRtLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nO18uJG0ucHJvdG90eXBlLmdldFR5cGU9Xy4kbS5wcm90b3R5cGUuZ2V0VHlwZTtfLiRtLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLiRtLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcjt2YXIgbGhhPV8uR20oY24pO3ZhciBPY2E9bmV3IFNldDt2YXIgUWNhLG1oYTtRY2E9bmV3IFNldChbInRvdWNoc3RhcnQiLCJ0b3VjaG1vdmUiLCJ3aGVlbCIsIm1vdXNld2hlZWwiXSk7Xy5mcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3Rocm93IG5ldyBUeXBlRXJyb3IoImdvb2dsZS5tYXBzLmV2ZW50IGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7fX07Xy5mcy50cmlnZ2VyPV8ud247Xy5mcy5hZGRMaXN0ZW5lck9uY2U9Xy50bjsKXy5mcy5hZGREb21MaXN0ZW5lck9uY2U9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5kbigiZ29vZ2xlLm1hcHMuZXZlbnQuYWRkRG9tTGlzdGVuZXJPbmNlKCkgaXMgZGVwcmVjYXRlZCwgdXNlIHRoZVxuc3RhbmRhcmQgYWRkRXZlbnRMaXN0ZW5lcigpIG1ldGhvZCBpbnN0ZWFkOlxuaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0V2ZW50VGFyZ2V0L2FkZEV2ZW50TGlzdGVuZXJcblRoZSBmZWF0dXJlIHdpbGwgY29udGludWUgdG8gd29yayBhbmQgdGhlcmUgaXMgbm8gcGxhbiB0byBkZWNvbW1pc3Npb25cbml0LiIpO3JldHVybiBfLnJuKGEsYixjLGQpfTsKXy5mcy5hZGREb21MaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLmRuKCJnb29nbGUubWFwcy5ldmVudC5hZGREb21MaXN0ZW5lcigpIGlzIGRlcHJlY2F0ZWQsIHVzZSB0aGUgc3RhbmRhcmRcbmFkZEV2ZW50TGlzdGVuZXIoKSBtZXRob2QgaW5zdGVhZDpcbmh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9FdmVudFRhcmdldC9hZGRFdmVudExpc3RlbmVyXG5UaGUgZmVhdHVyZSB3aWxsIGNvbnRpbnVlIHRvIHdvcmsgYW5kIHRoZXJlIGlzIG5vIHBsYW4gdG8gZGVjb21taXNzaW9uXG5pdC4iKTtyZXR1cm4gXy5xbihhLGIsYyxkKX07Xy5mcy5jbGVhckluc3RhbmNlTGlzdGVuZXJzPV8ucG47Xy5mcy5jbGVhckxpc3RlbmVycz1fLm9uO18uZnMucmVtb3ZlTGlzdGVuZXI9Xy5tbjtfLmZzLmhhc0xpc3RlbmVycz1fLmxuO18uZnMuYWRkTGlzdGVuZXI9Xy5rbjsKXy5qbj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGU9ITApe3RoaXMubkY9ZTt0aGlzLmluc3RhbmNlPWE7dGhpcy5xaD1iO3RoaXMub3A9Yzt0aGlzLnJoPWQ7dGhpcy5pZD0rK21oYTtTY2EoYSxiKVt0aGlzLmlkXT10aGlzO3RoaXMubkYmJl8ud24odGhpcy5pbnN0YW5jZSxgJHt0aGlzLnFofV9hZGRlZGApfXJlbW92ZSgpe2lmKHRoaXMuaW5zdGFuY2Upe2lmKHRoaXMuaW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lciYmKHRoaXMucmg9PT0xfHx0aGlzLnJoPT09NCkpe2xldCBhPXtjYXB0dXJlOnRoaXMucmg9PT00fTtRY2EuaGFzKHRoaXMucWgpJiYoYS5wYXNzaXZlPSExKTt0aGlzLmluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5xaCx0aGlzLm9wLGEpfWRlbGV0ZSBTY2EodGhpcy5pbnN0YW5jZSx0aGlzLnFoKVt0aGlzLmlkXTt0aGlzLm5GJiZfLnduKHRoaXMuaW5zdGFuY2UsYCR7dGhpcy5xaH1fcmVtb3ZlZGApO3RoaXMub3A9dGhpcy5pbnN0YW5jZT1udWxsfX19OwptaGE9MDtfLkZxPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9bnVsbDt0aGlzLm5sKGEpfW5sKGEpe2E9YXx8e307dGhpcy5zaD1hLmlkO3RyeXt0aGlzLnFoPWEuZ2VvbWV0cnk/Y24oYS5nZW9tZXRyeSk6bnVsbH1jYXRjaChiKXtfLkJtKGIpfXRoaXMucmg9YS5wcm9wZXJ0aWVzfHx7fX1nZXRJZCgpe3JldHVybiB0aGlzLnNofWdldEdlb21ldHJ5KCl7cmV0dXJuIHRoaXMucWh9c2V0R2VvbWV0cnkoYSl7dmFyIGI9dGhpcy5xaDt0cnl7dGhpcy5xaD1hP2NuKGEpOm51bGx9Y2F0Y2goYyl7Xy5CbShjKTtyZXR1cm59Xy53bih0aGlzLCJzZXRnZW9tZXRyeSIse2ZlYXR1cmU6dGhpcyxuZXdHZW9tZXRyeTp0aGlzLnFoLG9sZEdlb21ldHJ5OmJ9KX1nZXRQcm9wZXJ0eShhKXtyZXR1cm4gcW0odGhpcy5yaCxhKX1zZXRQcm9wZXJ0eShhLGIpe2lmKGI9PT12b2lkIDApdGhpcy5yZW1vdmVQcm9wZXJ0eShhKTtlbHNle3ZhciBjPXRoaXMuZ2V0UHJvcGVydHkoYSk7dGhpcy5yaFthXT1iO18ud24odGhpcywKInNldHByb3BlcnR5Iix7ZmVhdHVyZTp0aGlzLG5hbWU6YSxuZXdWYWx1ZTpiLG9sZFZhbHVlOmN9KX19cmVtb3ZlUHJvcGVydHkoYSl7dmFyIGI9dGhpcy5nZXRQcm9wZXJ0eShhKTtkZWxldGUgdGhpcy5yaFthXTtfLnduKHRoaXMsInJlbW92ZXByb3BlcnR5Iix7ZmVhdHVyZTp0aGlzLG5hbWU6YSxvbGRWYWx1ZTpifSl9Zm9yRWFjaFByb3BlcnR5KGEpe2ZvcihsZXQgYiBpbiB0aGlzLnJoKWEodGhpcy5nZXRQcm9wZXJ0eShiKSxiKX10b0dlb0pzb24oYSl7dmFyIGI9dGhpcztfLkhsKCJkYXRhIikudGhlbihjPT57Yy5FTShiLGEpfSl9fTtfLkZxLnByb3RvdHlwZS50b0dlb0pzb249Xy5GcS5wcm90b3R5cGUudG9HZW9Kc29uO18uRnEucHJvdG90eXBlLmZvckVhY2hQcm9wZXJ0eT1fLkZxLnByb3RvdHlwZS5mb3JFYWNoUHJvcGVydHk7Xy5GcS5wcm90b3R5cGUucmVtb3ZlUHJvcGVydHk9Xy5GcS5wcm90b3R5cGUucmVtb3ZlUHJvcGVydHk7Cl8uRnEucHJvdG90eXBlLnNldFByb3BlcnR5PV8uRnEucHJvdG90eXBlLnNldFByb3BlcnR5O18uRnEucHJvdG90eXBlLmdldFByb3BlcnR5PV8uRnEucHJvdG90eXBlLmdldFByb3BlcnR5O18uRnEucHJvdG90eXBlLnNldEdlb21ldHJ5PV8uRnEucHJvdG90eXBlLnNldEdlb21ldHJ5O18uRnEucHJvdG90eXBlLmdldEdlb21ldHJ5PV8uRnEucHJvdG90eXBlLmdldEdlb21ldHJ5O18uRnEucHJvdG90eXBlLmdldElkPV8uRnEucHJvdG90eXBlLmdldElkO18uRnEucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8uRnEucHJvdG90eXBlLmNvbnN0cnVjdG9yO18ud20oXy5GcSk7dmFyIFhjYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmVhdHVyZXM9e307dGhpcy51bnJlZ2lzdGVyPXt9O3RoaXMucWg9e319Y29udGFpbnMoYSl7cmV0dXJuIHRoaXMuZmVhdHVyZXMuaGFzT3duUHJvcGVydHkoXy54bihhKSl9Z2V0RmVhdHVyZUJ5SWQoYSl7cmV0dXJuIHFtKHRoaXMucWgsYSl9YWRkKGEpe2E9YXx8e307YT1hIGluc3RhbmNlb2YgXy5GcT9hOm5ldyBfLkZxKGEpO2lmKCF0aGlzLmNvbnRhaW5zKGEpKXtsZXQgYz1hLmdldElkKCk7aWYoY3x8Yz09PTApe3ZhciBiPXRoaXMuZ2V0RmVhdHVyZUJ5SWQoYyk7YiYmdGhpcy5yZW1vdmUoYil9Yj1fLnhuKGEpO3RoaXMuZmVhdHVyZXNbYl09YTtpZihjfHxjPT09MCl0aGlzLnFoW2NdPWE7bGV0IGQ9Xy52bihhLCJzZXRnZW9tZXRyeSIsdGhpcyksZT1fLnZuKGEsInNldHByb3BlcnR5Iix0aGlzKSxmPV8udm4oYSwicmVtb3ZlcHJvcGVydHkiLHRoaXMpO3RoaXMudW5yZWdpc3RlcltiXT0oKT0+e18ubW4oZCk7Xy5tbihlKTsKXy5tbihmKX07Xy53bih0aGlzLCJhZGRmZWF0dXJlIix7ZmVhdHVyZTphfSl9cmV0dXJuIGF9cmVtb3ZlKGEpe3ZhciBiPV8ueG4oYSksYz1hLmdldElkKCk7aWYodGhpcy5mZWF0dXJlc1tiXSl7ZGVsZXRlIHRoaXMuZmVhdHVyZXNbYl07YyYmZGVsZXRlIHRoaXMucWhbY107aWYoYz10aGlzLnVucmVnaXN0ZXJbYl0pZGVsZXRlIHRoaXMudW5yZWdpc3RlcltiXSxjKCk7Xy53bih0aGlzLCJyZW1vdmVmZWF0dXJlIix7ZmVhdHVyZTphfSl9fWZvckVhY2goYSl7Zm9yKGxldCBiIGluIHRoaXMuZmVhdHVyZXMpdGhpcy5mZWF0dXJlcy5oYXNPd25Qcm9wZXJ0eShiKSYmYSh0aGlzLmZlYXR1cmVzW2JdKX19O18uWG49ImNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZW1vdmUgbW91c2VvdXQgbW91c2VvdmVyIG1vdXNldXAgcmlnaHRjbGljayBjb250ZXh0bWVudSIuc3BsaXQoIiAiKTt2YXIgbmhhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD17fX10cmlnZ2VyKGEpe18ud24odGhpcywiY2hhbmdlZCIsYSl9Z2V0KGEpe3JldHVybiB0aGlzLnFoW2FdfXNldChhLGIpe3ZhciBjPXRoaXMucWg7Y1thXXx8KGNbYV09e30pO18uYm0oY1thXSxiKTt0aGlzLnRyaWdnZXIoYSl9cmVzZXQoYSl7ZGVsZXRlIHRoaXMucWhbYV07dGhpcy50cmlnZ2VyKGEpfWZvckVhY2goYSl7Xy5hbSh0aGlzLnFoLGEpfX07Xy55bi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiPUNuKHRoaXMpO2ErPSIiO2I9cW0oYixhKTtpZihiIT09dm9pZCAwKXtpZihiKXthPWIuaHE7Yj1iLmx3O2xldCBjPSJnZXQiK18uQm4oYSk7cmV0dXJuIGJbY10/YltjXSgpOmIuZ2V0KGEpfXJldHVybiB0aGlzW2FdfX07Xy55bi5wcm90b3R5cGUuZ2V0PV8ueW4ucHJvdG90eXBlLmdldDtfLnluLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1Dbih0aGlzKTthKz0iIjt2YXIgZD1xbShjLGEpO2lmKGQpaWYoYT1kLmhxLGQ9ZC5sdyxjPSJzZXQiK18uQm4oYSksZFtjXSlkW2NdKGIpO2Vsc2UgZC5zZXQoYSxiKTtlbHNlIHRoaXNbYV09YixjW2FdPW51bGwsQW4odGhpcyxhKX07Xy55bi5wcm90b3R5cGUuc2V0PV8ueW4ucHJvdG90eXBlLnNldDsKXy55bi5wcm90b3R5cGUubm90aWZ5PWZ1bmN0aW9uKGEpe3ZhciBiPUNuKHRoaXMpO2ErPSIiOyhiPXFtKGIsYSkpP2IubHcubm90aWZ5KGIuaHEpOkFuKHRoaXMsYSl9O18ueW4ucHJvdG90eXBlLm5vdGlmeT1fLnluLnByb3RvdHlwZS5ub3RpZnk7Xy55bi5wcm90b3R5cGUuc2V0VmFsdWVzPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBpbiBhKXtsZXQgYz1hW2JdLGQ9InNldCIrXy5CbihiKTtpZih0aGlzW2RdKXRoaXNbZF0oYyk7ZWxzZSB0aGlzLnNldChiLGMpfX07Xy55bi5wcm90b3R5cGUuc2V0VmFsdWVzPV8ueW4ucHJvdG90eXBlLnNldFZhbHVlcztfLnluLnByb3RvdHlwZS5zZXRPcHRpb25zPV8ueW4ucHJvdG90eXBlLnNldFZhbHVlcztfLnluLnByb3RvdHlwZS5jaGFuZ2VkPWZ1bmN0aW9uKCl7fTt2YXIgVGNhPXt9OwpfLnluLnByb3RvdHlwZS5iaW5kVG89ZnVuY3Rpb24oYSxiLGMsZCl7YSs9IiI7Yz0oY3x8YSkrIiI7dGhpcy51bmJpbmQoYSk7dmFyIGU9e2x3OnRoaXMsaHE6YX0sZj17bHc6YixocTpjLHpHOmV9O0NuKHRoaXMpW2FdPWY7em4oYixjKVtfLnhuKGUpXT1lO2R8fEFuKHRoaXMsYSl9O18ueW4ucHJvdG90eXBlLmJpbmRUbz1fLnluLnByb3RvdHlwZS5iaW5kVG87Xy55bi5wcm90b3R5cGUudW5iaW5kPWZ1bmN0aW9uKGEpe3ZhciBiPUNuKHRoaXMpLGM9YlthXTtjJiYoYy56RyYmZGVsZXRlIHpuKGMubHcsYy5ocSlbXy54bihjLnpHKV0sdGhpc1thXT10aGlzLmdldChhKSxiW2FdPW51bGwpfTtfLnluLnByb3RvdHlwZS51bmJpbmQ9Xy55bi5wcm90b3R5cGUudW5iaW5kO18ueW4ucHJvdG90eXBlLnVuYmluZEFsbD1mdW5jdGlvbigpe3ZhciBhPSgwLF8uaWIpKHRoaXMudW5iaW5kLHRoaXMpLGI9Q24odGhpcyk7Zm9yKGxldCBjIGluIGIpYShjKX07Cl8ueW4ucHJvdG90eXBlLnVuYmluZEFsbD1fLnluLnByb3RvdHlwZS51bmJpbmRBbGw7Xy55bi5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5rbih0aGlzLGEsYil9O18ueW4ucHJvdG90eXBlLmFkZExpc3RlbmVyPV8ueW4ucHJvdG90eXBlLmFkZExpc3RlbmVyO3ZhciBZY2E9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5xaD1uZXcgbmhhO18udG4oYSwiYWRkZmVhdHVyZSIsKCk9PntfLkhsKCJkYXRhIikudGhlbihiPT57Yi5RTCh0aGlzLGEsdGhpcy5xaCl9KX0pfW92ZXJyaWRlU3R5bGUoYSxiKXt0aGlzLnFoLnNldChfLnhuKGEpLGIpfXJldmVydFN0eWxlKGEpe2E/dGhpcy5xaC5yZXNldChfLnhuKGEpKTp0aGlzLnFoLmZvckVhY2godGhpcy5xaC5yZXNldC5iaW5kKHRoaXMucWgpKX19O18uSW49Y2xhc3MgZXh0ZW5kcyBabXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuZWxlbWVudHM9W107dHJ5e3RoaXMuZWxlbWVudHM9bGhhKGEpfWNhdGNoKGIpe18uQm0oYil9fWdldFR5cGUoKXtyZXR1cm4iR2VvbWV0cnlDb2xsZWN0aW9uIn1nZXRMZW5ndGgoKXtyZXR1cm4gdGhpcy5lbGVtZW50cy5sZW5ndGh9Z2V0QXQoYSl7cmV0dXJuIHRoaXMuZWxlbWVudHNbYV19Z2V0QXJyYXkoKXtyZXR1cm4gdGhpcy5lbGVtZW50cy5zbGljZSgpfWZvckVhY2hMYXRMbmcoYSl7dGhpcy5lbGVtZW50cy5mb3JFYWNoKGI9PntiLmZvckVhY2hMYXRMbmcoYSl9KX19O18uSW4ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc9Xy5Jbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZztfLkluLnByb3RvdHlwZS5nZXRBcnJheT1fLkluLnByb3RvdHlwZS5nZXRBcnJheTtfLkluLnByb3RvdHlwZS5nZXRBdD1fLkluLnByb3RvdHlwZS5nZXRBdDtfLkluLnByb3RvdHlwZS5nZXRMZW5ndGg9Xy5Jbi5wcm90b3R5cGUuZ2V0TGVuZ3RoOwpfLkluLnByb3RvdHlwZS5nZXRUeXBlPV8uSW4ucHJvdG90eXBlLmdldFR5cGU7Xy5Jbi5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5Jbi5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy5Ebj1jbGFzcyBleHRlbmRzIFpte2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5xaD0oMCxfLmVzKShhKX1nZXRUeXBlKCl7cmV0dXJuIkxpbmVTdHJpbmcifWdldExlbmd0aCgpe3JldHVybiB0aGlzLnFoLmxlbmd0aH1nZXRBdChhKXtyZXR1cm4gdGhpcy5xaFthXX1nZXRBcnJheSgpe3JldHVybiB0aGlzLnFoLnNsaWNlKCl9Zm9yRWFjaExhdExuZyhhKXt0aGlzLnFoLmZvckVhY2goYSl9fTtfLkRuLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nPV8uRG4ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc7Xy5Ebi5wcm90b3R5cGUuZ2V0QXJyYXk9Xy5Ebi5wcm90b3R5cGUuZ2V0QXJyYXk7Xy5Ebi5wcm90b3R5cGUuZ2V0QXQ9Xy5Ebi5wcm90b3R5cGUuZ2V0QXQ7Xy5Ebi5wcm90b3R5cGUuZ2V0TGVuZ3RoPV8uRG4ucHJvdG90eXBlLmdldExlbmd0aDtfLkRuLnByb3RvdHlwZS5nZXRUeXBlPV8uRG4ucHJvdG90eXBlLmdldFR5cGU7Xy5Ebi5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5Ebi5wcm90b3R5cGUuY29uc3RydWN0b3I7CnZhciBvaGE9Xy5HbShfLkVtKF8uRG4sImdvb2dsZS5tYXBzLkRhdGEuTGluZVN0cmluZyIsITApKTtfLkpuPWNsYXNzIGV4dGVuZHMgWm17Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFoPSgwLF8uZXMpKGEpfWdldFR5cGUoKXtyZXR1cm4iTGluZWFyUmluZyJ9Z2V0TGVuZ3RoKCl7cmV0dXJuIHRoaXMucWgubGVuZ3RofWdldEF0KGEpe3JldHVybiB0aGlzLnFoW2FdfWdldEFycmF5KCl7cmV0dXJuIHRoaXMucWguc2xpY2UoKX1mb3JFYWNoTGF0TG5nKGEpe3RoaXMucWguZm9yRWFjaChhKX19O18uSm4ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc9Xy5Kbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZztfLkpuLnByb3RvdHlwZS5nZXRBcnJheT1fLkpuLnByb3RvdHlwZS5nZXRBcnJheTtfLkpuLnByb3RvdHlwZS5nZXRBdD1fLkpuLnByb3RvdHlwZS5nZXRBdDtfLkpuLnByb3RvdHlwZS5nZXRMZW5ndGg9Xy5Kbi5wcm90b3R5cGUuZ2V0TGVuZ3RoO18uSm4ucHJvdG90eXBlLmdldFR5cGU9Xy5Kbi5wcm90b3R5cGUuZ2V0VHlwZTtfLkpuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLkpuLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKdmFyIHBoYT1fLkdtKF8uRW0oXy5KbiwiZ29vZ2xlLm1hcHMuRGF0YS5MaW5lYXJSaW5nIiwhMCkpO18uR249Y2xhc3MgZXh0ZW5kcyBabXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMucWg9b2hhKGEpfWdldFR5cGUoKXtyZXR1cm4iTXVsdGlMaW5lU3RyaW5nIn1nZXRMZW5ndGgoKXtyZXR1cm4gdGhpcy5xaC5sZW5ndGh9Z2V0QXQoYSl7cmV0dXJuIHRoaXMucWhbYV19Z2V0QXJyYXkoKXtyZXR1cm4gdGhpcy5xaC5zbGljZSgpfWZvckVhY2hMYXRMbmcoYSl7dGhpcy5xaC5mb3JFYWNoKGI9PntiLmZvckVhY2hMYXRMbmcoYSl9KX19O18uR24ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc9Xy5Hbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZztfLkduLnByb3RvdHlwZS5nZXRBcnJheT1fLkduLnByb3RvdHlwZS5nZXRBcnJheTtfLkduLnByb3RvdHlwZS5nZXRBdD1fLkduLnByb3RvdHlwZS5nZXRBdDtfLkduLnByb3RvdHlwZS5nZXRMZW5ndGg9Xy5Hbi5wcm90b3R5cGUuZ2V0TGVuZ3RoO18uR24ucHJvdG90eXBlLmdldFR5cGU9Xy5Hbi5wcm90b3R5cGUuZ2V0VHlwZTtfLkZuPWNsYXNzIGV4dGVuZHMgWm17Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFoPSgwLF8uZXMpKGEpfWdldFR5cGUoKXtyZXR1cm4iTXVsdGlQb2ludCJ9Z2V0TGVuZ3RoKCl7cmV0dXJuIHRoaXMucWgubGVuZ3RofWdldEF0KGEpe3JldHVybiB0aGlzLnFoW2FdfWdldEFycmF5KCl7cmV0dXJuIHRoaXMucWguc2xpY2UoKX1mb3JFYWNoTGF0TG5nKGEpe3RoaXMucWguZm9yRWFjaChhKX19O18uRm4ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc9Xy5Gbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZztfLkZuLnByb3RvdHlwZS5nZXRBcnJheT1fLkZuLnByb3RvdHlwZS5nZXRBcnJheTtfLkZuLnByb3RvdHlwZS5nZXRBdD1fLkZuLnByb3RvdHlwZS5nZXRBdDtfLkZuLnByb3RvdHlwZS5nZXRMZW5ndGg9Xy5Gbi5wcm90b3R5cGUuZ2V0TGVuZ3RoO18uRm4ucHJvdG90eXBlLmdldFR5cGU9Xy5Gbi5wcm90b3R5cGUuZ2V0VHlwZTtfLkZuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLkZuLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtfLkVuPWNsYXNzIGV4dGVuZHMgWm17Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFoPXBoYShhKX1nZXRUeXBlKCl7cmV0dXJuIlBvbHlnb24ifWdldExlbmd0aCgpe3JldHVybiB0aGlzLnFoLmxlbmd0aH1nZXRBdChhKXtyZXR1cm4gdGhpcy5xaFthXX1nZXRBcnJheSgpe3JldHVybiB0aGlzLnFoLnNsaWNlKCl9Zm9yRWFjaExhdExuZyhhKXt0aGlzLnFoLmZvckVhY2goYj0+e2IuZm9yRWFjaExhdExuZyhhKX0pfX07Xy5Fbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZz1fLkVuLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nO18uRW4ucHJvdG90eXBlLmdldEFycmF5PV8uRW4ucHJvdG90eXBlLmdldEFycmF5O18uRW4ucHJvdG90eXBlLmdldEF0PV8uRW4ucHJvdG90eXBlLmdldEF0O18uRW4ucHJvdG90eXBlLmdldExlbmd0aD1fLkVuLnByb3RvdHlwZS5nZXRMZW5ndGg7Xy5Fbi5wcm90b3R5cGUuZ2V0VHlwZT1fLkVuLnByb3RvdHlwZS5nZXRUeXBlOwp2YXIgcWhhPV8uR20oXy5FbShfLkVuLCJnb29nbGUubWFwcy5EYXRhLlBvbHlnb24iLCEwKSk7Xy5Ibj1jbGFzcyBleHRlbmRzIFpte2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5xaD1xaGEoYSl9Z2V0VHlwZSgpe3JldHVybiJNdWx0aVBvbHlnb24ifWdldExlbmd0aCgpe3JldHVybiB0aGlzLnFoLmxlbmd0aH1nZXRBdChhKXtyZXR1cm4gdGhpcy5xaFthXX1nZXRBcnJheSgpe3JldHVybiB0aGlzLnFoLnNsaWNlKCl9Zm9yRWFjaExhdExuZyhhKXt0aGlzLnFoLmZvckVhY2goYj0+e2IuZm9yRWFjaExhdExuZyhhKX0pfX07Xy5Ibi5wcm90b3R5cGUuZm9yRWFjaExhdExuZz1fLkhuLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nO18uSG4ucHJvdG90eXBlLmdldEFycmF5PV8uSG4ucHJvdG90eXBlLmdldEFycmF5O18uSG4ucHJvdG90eXBlLmdldEF0PV8uSG4ucHJvdG90eXBlLmdldEF0O18uSG4ucHJvdG90eXBlLmdldExlbmd0aD1fLkhuLnByb3RvdHlwZS5nZXRMZW5ndGg7Xy5Ibi5wcm90b3R5cGUuZ2V0VHlwZT1fLkhuLnByb3RvdHlwZS5nZXRUeXBlOwpfLkhuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLkhuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcjt2YXIgVmNhPSIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIuc3BsaXQoIiIpO18ubXE9bmV3IFdlYWtNYXA7Xy5xYihfLkxuLF8ueW4pO18uTG4ucHJvdG90eXBlLlFyPV8uaGEoMjApO18ucmhhPV8uTG4uREVNT19NQVBfSUQ9IkRFTU9fTUFQX0lEIjt2YXIgZ3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXthPT09LTE4MCYmYiE9PTE4MCYmKGE9MTgwKTtiPT09LTE4MCYmYSE9PTE4MCYmKGI9MTgwKTt0aGlzLmxvPWE7dGhpcy5oaT1ifWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5sby10aGlzLmhpPT09MzYwfWludGVyc2VjdHMoYSl7dmFyIGI9dGhpcy5sbyxjPXRoaXMuaGk7cmV0dXJuIHRoaXMuaXNFbXB0eSgpfHxhLmlzRW1wdHkoKT8hMTpfLk9uKHRoaXMpP18uT24oYSl8fGEubG88PXRoaXMuaGl8fGEuaGk+PWI6Xy5PbihhKT9hLmxvPD1jfHxhLmhpPj1iOmEubG88PWMmJmEuaGk+PWJ9Y29udGFpbnMoYSl7YT09PS0xODAmJihhPTE4MCk7dmFyIGI9dGhpcy5sbyxjPXRoaXMuaGk7cmV0dXJuIF8uT24odGhpcyk/KGE+PWJ8fGE8PWMpJiYhdGhpcy5pc0VtcHR5KCk6YT49YiYmYTw9Y31leHRlbmQoYSl7dGhpcy5jb250YWlucyhhKXx8KHRoaXMuaXNFbXB0eSgpP3RoaXMubG89dGhpcy5oaT1hOl8uTm4oYSx0aGlzLmxvKTxfLk5uKHRoaXMuaGksCmEpP3RoaXMubG89YTp0aGlzLmhpPWEpfWVxdWFscyhhKXtyZXR1cm4gTWF0aC5hYnMoYS5sby10aGlzLmxvKSUzNjArTWF0aC5hYnMoYS5zcGFuKCktdGhpcy5zcGFuKCkpPD0xRS05fXNwYW4oKXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/MDpfLk9uKHRoaXMpPzM2MC0odGhpcy5sby10aGlzLmhpKTp0aGlzLmhpLXRoaXMubG99Y2VudGVyKCl7dmFyIGE9KHRoaXMubG8rdGhpcy5oaSkvMjtfLk9uKHRoaXMpJiYoYT1fLmRtKGErMTgwLC0xODAsMTgwKSk7cmV0dXJuIGF9fSxzaGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmxvPWE7dGhpcy5oaT1ifWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5sbz50aGlzLmhpfWludGVyc2VjdHMoYSl7dmFyIGI9dGhpcy5sbyxjPXRoaXMuaGk7cmV0dXJuIGI8PWEubG8/YS5sbzw9YyYmYS5sbzw9YS5oaTpiPD1hLmhpJiZiPD1jfWNvbnRhaW5zKGEpe3JldHVybiBhPj10aGlzLmxvJiZhPD10aGlzLmhpfWV4dGVuZChhKXt0aGlzLmlzRW1wdHkoKT8KdGhpcy5oaT10aGlzLmxvPWE6YTx0aGlzLmxvP3RoaXMubG89YTphPnRoaXMuaGkmJih0aGlzLmhpPWEpfWVxdWFscyhhKXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/YS5pc0VtcHR5KCk6TWF0aC5hYnMoYS5sby10aGlzLmxvKStNYXRoLmFicyh0aGlzLmhpLWEuaGkpPD0xRS05fXNwYW4oKXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/MDp0aGlzLmhpLXRoaXMubG99Y2VudGVyKCl7cmV0dXJuKHRoaXMuaGkrdGhpcy5sbykvMn19O18uUm49Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5sKGEsYil9bmwoYSxiKXt2YXIgYztpZigoYz1hKSYmdHlwZW9mIGM9PT0ib2JqZWN0IiYmInNvdXRoImluIGMmJiJ3ZXN0ImluIGMmJiJub3J0aCJpbiBjJiYiZWFzdCJpbiBjKXRyeXthPV8uVG4oYSl9Y2F0Y2goZCl7fWEgaW5zdGFuY2VvZiBfLlJuPyhjPWEuZ2V0U291dGhXZXN0KCksYj1hLmdldE5vcnRoRWFzdCgpKTooYz1hJiZfLlhtKGEpLGI9YiYmXy5YbShiKSk7aWYoYyl7Yj1ifHxjO2E9Xy5jbShjLmxhdCgpLC05MCw5MCk7bGV0IGQ9Xy5jbShiLmxhdCgpLC05MCw5MCk7dGhpcy5sYXQ9bmV3IHNoYShhLGQpO2M9Yy5sbmcoKTtiPWIubG5nKCk7Yi1jPj0zNjA/dGhpcy5sbmc9bmV3IGdzKC0xODAsMTgwKTooYz1fLmRtKGMsLTE4MCwxODApLGI9Xy5kbShiLC0xODAsMTgwKSx0aGlzLmxuZz1uZXcgZ3MoYyxiKSl9ZWxzZSB0aGlzLmxhdD1uZXcgc2hhKDEsLTEpLHRoaXMubG5nPW5ldyBncygxODAsLTE4MCl9Z2V0Q2VudGVyKCl7cmV0dXJuIG5ldyBfLlRtKHRoaXMubGF0LmNlbnRlcigpLAp0aGlzLmxuZy5jZW50ZXIoKSl9dG9TdHJpbmcoKXtyZXR1cm5gKCR7dGhpcy5nZXRTb3V0aFdlc3QoKS50b1N0cmluZygpfSwgJHt0aGlzLmdldE5vcnRoRWFzdCgpLnRvU3RyaW5nKCl9KWB9dG9KU09OKCl7cmV0dXJue3NvdXRoOnRoaXMubGF0LmxvLHdlc3Q6dGhpcy5sbmcubG8sbm9ydGg6dGhpcy5sYXQuaGksZWFzdDp0aGlzLmxuZy5oaX19dG9VcmxWYWx1ZShhKXt2YXIgYj10aGlzLmdldFNvdXRoV2VzdCgpLGM9dGhpcy5nZXROb3J0aEVhc3QoKTtyZXR1cm5bYi50b1VybFZhbHVlKGEpLGMudG9VcmxWYWx1ZShhKV0uam9pbigpfWVxdWFscyhhKXtpZighYSlyZXR1cm4hMTthPV8uVG4oYSk7cmV0dXJuIHRoaXMubGF0LmVxdWFscyhhLmxhdCkmJnRoaXMubG5nLmVxdWFscyhhLmxuZyl9Y29udGFpbnMoYSl7YT1fLlhtKGEpO3JldHVybiB0aGlzLmxhdC5jb250YWlucyhhLmxhdCgpKSYmdGhpcy5sbmcuY29udGFpbnMoYS5sbmcoKSl9aW50ZXJzZWN0cyhhKXthPV8uVG4oYSk7CnJldHVybiB0aGlzLmxhdC5pbnRlcnNlY3RzKGEubGF0KSYmdGhpcy5sbmcuaW50ZXJzZWN0cyhhLmxuZyl9Y29udGFpbnNCb3VuZHMoYSl7YT1fLlRuKGEpO3ZhciBiPXRoaXMubGF0LGM9YS5sYXQ7cmV0dXJuKGMuaXNFbXB0eSgpPyEwOmMubG8+PWIubG8mJmMuaGk8PWIuaGkpJiZRbih0aGlzLmxuZyxhLmxuZyl9ZXh0ZW5kKGEpe2E9Xy5YbShhKTt0aGlzLmxhdC5leHRlbmQoYS5sYXQoKSk7dGhpcy5sbmcuZXh0ZW5kKGEubG5nKCkpO3JldHVybiB0aGlzfXVuaW9uKGEpe2E9Xy5UbihhKTtpZighYXx8YS5pc0VtcHR5KCkpcmV0dXJuIHRoaXM7dGhpcy5sYXQuZXh0ZW5kKGEuZ2V0U291dGhXZXN0KCkubGF0KCkpO3RoaXMubGF0LmV4dGVuZChhLmdldE5vcnRoRWFzdCgpLmxhdCgpKTthPWEubG5nO3ZhciBiPV8uTm4odGhpcy5sbmcubG8sYS5oaSksYz1fLk5uKGEubG8sdGhpcy5sbmcuaGkpO2lmKFFuKHRoaXMubG5nLGEpKXJldHVybiB0aGlzO2lmKFFuKGEsdGhpcy5sbmcpKXJldHVybiB0aGlzLmxuZz0KbmV3IGdzKGEubG8sYS5oaSksdGhpczt0aGlzLmxuZy5pbnRlcnNlY3RzKGEpP3RoaXMubG5nPWI+PWM/bmV3IGdzKHRoaXMubG5nLmxvLGEuaGkpOm5ldyBncyhhLmxvLHRoaXMubG5nLmhpKTp0aGlzLmxuZz1iPD1jP25ldyBncyh0aGlzLmxuZy5sbyxhLmhpKTpuZXcgZ3MoYS5sbyx0aGlzLmxuZy5oaSk7cmV0dXJuIHRoaXN9Z2V0U291dGhXZXN0KCl7cmV0dXJuIG5ldyBfLlRtKHRoaXMubGF0LmxvLHRoaXMubG5nLmxvLCEwKX1nZXROb3J0aEVhc3QoKXtyZXR1cm4gbmV3IF8uVG0odGhpcy5sYXQuaGksdGhpcy5sbmcuaGksITApfXRvU3Bhbigpe3JldHVybiBuZXcgXy5UbSh0aGlzLmxhdC5zcGFuKCksdGhpcy5sbmcuc3BhbigpLCEwKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMubGF0LmlzRW1wdHkoKXx8dGhpcy5sbmcuaXNFbXB0eSgpfX07Xy5Sbi5wcm90b3R5cGUuaXNFbXB0eT1fLlJuLnByb3RvdHlwZS5pc0VtcHR5O18uUm4ucHJvdG90eXBlLnRvU3Bhbj1fLlJuLnByb3RvdHlwZS50b1NwYW47Cl8uUm4ucHJvdG90eXBlLmdldE5vcnRoRWFzdD1fLlJuLnByb3RvdHlwZS5nZXROb3J0aEVhc3Q7Xy5Sbi5wcm90b3R5cGUuZ2V0U291dGhXZXN0PV8uUm4ucHJvdG90eXBlLmdldFNvdXRoV2VzdDtfLlJuLnByb3RvdHlwZS51bmlvbj1fLm1hKF8uUm4ucHJvdG90eXBlLCJ1bmlvbiIpO18uUm4ucHJvdG90eXBlLmV4dGVuZD1fLlJuLnByb3RvdHlwZS5leHRlbmQ7Xy5Sbi5wcm90b3R5cGUuaW50ZXJzZWN0cz1fLlJuLnByb3RvdHlwZS5pbnRlcnNlY3RzO18uUm4ucHJvdG90eXBlLmNvbnRhaW5zPV8uUm4ucHJvdG90eXBlLmNvbnRhaW5zO18uUm4ucHJvdG90eXBlLmVxdWFscz1fLlJuLnByb3RvdHlwZS5lcXVhbHM7Xy5Sbi5wcm90b3R5cGUudG9VcmxWYWx1ZT1fLlJuLnByb3RvdHlwZS50b1VybFZhbHVlO18uUm4ucHJvdG90eXBlLnRvSlNPTj1fLlJuLnByb3RvdHlwZS50b0pTT047Xy5Sbi5wcm90b3R5cGUudG9TdHJpbmc9Xy5Sbi5wcm90b3R5cGUudG9TdHJpbmc7Cl8uUm4ucHJvdG90eXBlLmdldENlbnRlcj1fLlJuLnByb3RvdHlwZS5nZXRDZW50ZXI7dmFyIHRoYT1fLlNuKC05MCwtMTgwLDkwLDE4MCk7Xy5uYigibW9kdWxlJGV4cG9ydHMkZ29vZ2xlMyRtYXBzJGFwaSRqYXZhc2NyaXB0JGdlb21ldHJ5JGxhdF9sbmdfYm91bmRzLkxhdExuZ0JvdW5kcy5NQVhfQk9VTkRTIix0aGEpO18uUm4ucHJvdG90eXBlLmVxdWFscz1fLlJuLnByb3RvdHlwZS5lcXVhbHM7Xy53bShfLlJuKTt2YXIgV2NhPV8uQ20oe3NvdXRoOl8uT20sd2VzdDpfLk9tLG5vcnRoOl8uT20sZWFzdDpfLk9tfSwhMSk7Xy5Sbi5NQVhfQk9VTkRTPXRoYTtfLnVoYT1fLkVtKF8uUm4sIkxhdExuZ0JvdW5kcyIpO18uaHM9Xy5NbShfLkVtKF8uTG4sIk1hcCIpKTtfLnFiKFluLF8ueW4pO1luLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xaC5jb250YWlucyhhKX07WW4ucHJvdG90eXBlLmNvbnRhaW5zPVluLnByb3RvdHlwZS5jb250YWlucztZbi5wcm90b3R5cGUuZ2V0RmVhdHVyZUJ5SWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucWguZ2V0RmVhdHVyZUJ5SWQoYSl9O1luLnByb3RvdHlwZS5nZXRGZWF0dXJlQnlJZD1Zbi5wcm90b3R5cGUuZ2V0RmVhdHVyZUJ5SWQ7WW4ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xaC5hZGQoYSl9O1luLnByb3RvdHlwZS5hZGQ9WW4ucHJvdG90eXBlLmFkZDtZbi5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3RoaXMucWgucmVtb3ZlKGEpfTtZbi5wcm90b3R5cGUucmVtb3ZlPVluLnByb3RvdHlwZS5yZW1vdmU7WW4ucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oYSl7dGhpcy5xaC5mb3JFYWNoKGEpfTsKWW4ucHJvdG90eXBlLmZvckVhY2g9WW4ucHJvdG90eXBlLmZvckVhY2g7WW4ucHJvdG90eXBlLmFkZEdlb0pzb249ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5VY2EodGhpcy5xaCxhLGIpfTtZbi5wcm90b3R5cGUuYWRkR2VvSnNvbj1Zbi5wcm90b3R5cGUuYWRkR2VvSnNvbjtZbi5wcm90b3R5cGUubG9hZEdlb0pzb249ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMucWg7Xy5IbCgiZGF0YSIpLnRoZW4oZT0+e2UuSE0oZCxhLGIsYyl9KX07WW4ucHJvdG90eXBlLmxvYWRHZW9Kc29uPVluLnByb3RvdHlwZS5sb2FkR2VvSnNvbjtZbi5wcm90b3R5cGUudG9HZW9Kc29uPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucWg7Xy5IbCgiZGF0YSIpLnRoZW4oYz0+e2MuRE0oYixhKX0pfTtZbi5wcm90b3R5cGUudG9HZW9Kc29uPVluLnByb3RvdHlwZS50b0dlb0pzb247WW4ucHJvdG90eXBlLm92ZXJyaWRlU3R5bGU9ZnVuY3Rpb24oYSxiKXt0aGlzLnJoLm92ZXJyaWRlU3R5bGUoYSxiKX07ClluLnByb3RvdHlwZS5vdmVycmlkZVN0eWxlPVluLnByb3RvdHlwZS5vdmVycmlkZVN0eWxlO1luLnByb3RvdHlwZS5yZXZlcnRTdHlsZT1mdW5jdGlvbihhKXt0aGlzLnJoLnJldmVydFN0eWxlKGEpfTtZbi5wcm90b3R5cGUucmV2ZXJ0U3R5bGU9WW4ucHJvdG90eXBlLnJldmVydFN0eWxlO1luLnByb3RvdHlwZS5jb250cm9sc19jaGFuZ2VkPWZ1bmN0aW9uKCl7dGhpcy5nZXQoImNvbnRyb2xzIikmJlpjYSh0aGlzKX07WW4ucHJvdG90eXBlLmRyYXdpbmdNb2RlX2NoYW5nZWQ9ZnVuY3Rpb24oKXt0aGlzLmdldCgiZHJhd2luZ01vZGUiKSYmWmNhKHRoaXMpfTtfLlduKFluLnByb3RvdHlwZSx7bWFwOl8uaHMsc3R5bGU6Xy5TbCxjb250cm9sczpfLk1tKF8uR20oXy5GbShraGEpKSksY29udHJvbFBvc2l0aW9uOl8uTW0oXy5GbShfLnBxKSksZHJhd2luZ01vZGU6Xy5NbShfLkZtKGtoYSkpfSk7Xy5FcT17TUVUUklDOjAsSU1QRVJJQUw6MSwwOiJNRVRSSUMiLDE6IklNUEVSSUFMIn07Xy5EcT17RFJJVklORzoiRFJJVklORyIsV0FMS0lORzoiV0FMS0lORyIsQklDWUNMSU5HOiJCSUNZQ0xJTkciLFRSQU5TSVQ6IlRSQU5TSVQiLFRXT19XSEVFTEVSOiJUV09fV0hFRUxFUiJ9O18uaXM9Y2xhc3N7Y29uc3RydWN0b3IoKXtjb25zb2xlLndhcm4oImdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTZXJ2aWNlIGlzIGRlcHJlY2F0ZWQgYXMgb2YgRmVicnVhcnkgMjV0aCwgMjAyNi4gUGxlYXNlIHVzZSBnb29nbGUubWFwcy5yb3V0ZXMuUm91dGUuY29tcHV0ZVJvdXRlcyBpbnN0ZWFkLiBBdCB0aGlzIHRpbWUsIGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTZXJ2aWNlIGlzIG5vdCBzY2hlZHVsZWQgdG8gYmUgZGlzY29udGludWVkLCBidXQgZ29vZ2xlLm1hcHMucm91dGVzLlJvdXRlLmNvbXB1dGVSb3V0ZXMgaXMgcmVjb21tZW5kZWQgb3ZlciBnb29nbGUubWFwcy5EaXJlY3Rpb25zU2VydmljZS5yb3V0ZS4gV2hpbGUgZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1NlcnZpY2Ugd2lsbCBjb250aW51ZSB0byByZWNlaXZlIGJ1ZyBmaXhlcyBmb3IgYW55IG1ham9yIHJlZ3Jlc3Npb25zLCBleGlzdGluZyBidWdzIGluIGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTZXJ2aWNlIHdpbGwgbm90IGJlIGFkZHJlc3NlZC4gQXQgbGVhc3QgMTIgbW9udGhzIG5vdGljZSB3aWxsIGJlIGdpdmVuIGJlZm9yZSBzdXBwb3J0IGlzIGRpc2NvbnRpbnVlZC4gUGxlYXNlIHNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2xlZ2FjeSBmb3IgYWRkaXRpb25hbCBkZXRhaWxzIGFuZCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9yb3V0ZXMvcm91dGVzLWpzLW1pZ3JhdGlvbiBmb3IgdGhlIG1pZ3JhdGlvbiBndWlkZS4iKTsKdGhpcy5ubCgpfW5sKCl7fXJvdXRlKGEsYil7dmFyIGM9dm9pZCAwO3ZoYSgpfHwoYz1fLk5sKDE1ODA5NCkpO18uTSh3aW5kb3csMTU0MzQyKTt2YXIgZD1fLkhsKCJkaXJlY3Rpb25zIikudGhlbihlPT5lLnJvdXRlKGEsYiwhMCxjKSwoKT0+e2MmJl8uT2woYyw4KX0pO2ImJmQuY2F0Y2goKCk9Pnt9KTtyZXR1cm4gZH19O18uaXMucHJvdG90eXBlLnJvdXRlPV8uaXMucHJvdG90eXBlLnJvdXRlO18uaXMucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8uaXMucHJvdG90eXBlLmNvbnN0cnVjdG9yO3ZhciB2aGE9Xy5RbCgpO18ud20oXy5pcyk7Xy53aGE9e09LOiJPSyIsVU5LTk9XTl9FUlJPUjoiVU5LTk9XTl9FUlJPUiIsT1ZFUl9RVUVSWV9MSU1JVDoiT1ZFUl9RVUVSWV9MSU1JVCIsUkVRVUVTVF9ERU5JRUQ6IlJFUVVFU1RfREVOSUVEIixJTlZBTElEX1JFUVVFU1Q6IklOVkFMSURfUkVRVUVTVCIsWkVST19SRVNVTFRTOiJaRVJPX1JFU1VMVFMiLE1BWF9XQVlQT0lOVFNfRVhDRUVERUQ6Ik1BWF9XQVlQT0lOVFNfRVhDRUVERUQiLE5PVF9GT1VORDoiTk9UX0ZPVU5EIn07Xy5qcz17QkVTVF9HVUVTUzoiYmVzdGd1ZXNzIixPUFRJTUlTVElDOiJvcHRpbWlzdGljIixQRVNTSU1JU1RJQzoicGVzc2ltaXN0aWMifTtfLmtzPXtCVVM6IkJVUyIsUkFJTDoiUkFJTCIsU1VCV0FZOiJTVUJXQVkiLFRSQUlOOiJUUkFJTiIsVFJBTToiVFJBTSIsTElHSFRfUkFJTDoiTElHSFRfUkFJTCJ9O18ubHM9e0xFU1NfV0FMS0lORzoiTEVTU19XQUxLSU5HIixGRVdFUl9UUkFOU0ZFUlM6IkZFV0VSX1RSQU5TRkVSUyJ9O18ueGhhPXtSQUlMOiJSQUlMIixNRVRST19SQUlMOiJNRVRST19SQUlMIixTVUJXQVk6IlNVQldBWSIsVFJBTToiVFJBTSIsTU9OT1JBSUw6Ik1PTk9SQUlMIixIRUFWWV9SQUlMOiJIRUFWWV9SQUlMIixDT01NVVRFUl9UUkFJTjoiQ09NTVVURVJfVFJBSU4iLEhJR0hfU1BFRURfVFJBSU46IkhJR0hfU1BFRURfVFJBSU4iLEJVUzoiQlVTIixJTlRFUkNJVFlfQlVTOiJJTlRFUkNJVFlfQlVTIixUUk9MTEVZQlVTOiJUUk9MTEVZQlVTIixTSEFSRV9UQVhJOiJTSEFSRV9UQVhJIixGRVJSWToiRkVSUlkiLENBQkxFX0NBUjoiQ0FCTEVfQ0FSIixHT05ET0xBX0xJRlQ6IkdPTkRPTEFfTElGVCIsRlVOSUNVTEFSOiJGVU5JQ1VMQVIiLE9USEVSOiJPVEhFUiJ9O18uWm49W107Xy5xYihfLmFvLF8ueW4pO18uYW8ucHJvdG90eXBlLmNoYW5nZWQ9ZnVuY3Rpb24oYSl7YSE9Im1hcCImJmEhPSJwYW5lbCJ8fF8uSGwoImRpcmVjdGlvbnMiKS50aGVuKGI9PntiLkpOKHRoaXMsYSl9KTthPT0icGFuZWwiJiZfLiRuKHRoaXMuZ2V0UGFuZWwoKSl9O18uV24oXy5hby5wcm90b3R5cGUse2RpcmVjdGlvbnM6ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ20oe3JvdXRlczpfLkdtKF8uSW0oXy5rbSkpfSwhMCkoYSl9LG1hcDpfLmhzLHBhbmVsOl8uTW0oXy5JbShfLkRtKSkscm91dGVJbmRleDpfLmFzfSk7Xy55aGE9e09LOiJPSyIsTk9UX0ZPVU5EOiJOT1RfRk9VTkQiLFpFUk9fUkVTVUxUUzoiWkVST19SRVNVTFRTIn07Xy5tcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe2NvbnNvbGUud2FybigiZ29vZ2xlLm1hcHMuRGlzdGFuY2VNYXRyaXggaXMgZGVwcmVjYXRlZCBhcyBvZiBGZWJydWFyeSAyNXRoLCAyMDI2LiBQbGVhc2UgdXNlIGdvb2dsZS5tYXBzLnJvdXRlcy5Sb3V0ZU1hdHJpeC5jb21wdXRlUm91dGVNYXRyaXggaW5zdGVhZC4gQXQgdGhpcyB0aW1lLCBnb29nbGUubWFwcy5EaXN0YW5jZU1hdHJpeCBpcyBub3Qgc2NoZWR1bGVkIHRvIGJlIGRpc2NvbnRpbnVlZCwgYnV0IGdvb2dsZS5tYXBzLnJvdXRlcy5Sb3V0ZU1hdHJpeC5jb21wdXRlUm91dGVNYXRyaXggaXMgcmVjb21tZW5kZWQgb3ZlciBnb29nbGUubWFwcy5EaXN0YW5jZU1hdHJpeC5nZXREaXN0YW5jZU1hdHJpeC4gV2hpbGUgZ29vZ2xlLm1hcHMuRGlzdGFuY2VNYXRyaXggd2lsbCBjb250aW51ZSB0byByZWNlaXZlIGJ1ZyBmaXhlcyBmb3IgYW55IG1ham9yIHJlZ3Jlc3Npb25zLCBleGlzdGluZyBidWdzIGluIGdvb2dsZS5tYXBzLkRpc3RhbmNlTWF0cml4IHdpbGwgbm90IGJlIGFkZHJlc3NlZC4gQXQgbGVhc3QgMTIgbW9udGhzIG5vdGljZSB3aWxsIGJlIGdpdmVuIGJlZm9yZSBzdXBwb3J0IGlzIGRpc2NvbnRpbnVlZC4gUGxlYXNlIHNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2xlZ2FjeSBmb3IgYWRkaXRpb25hbCBkZXRhaWxzIGFuZCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9yb3V0ZXMvcm91dGUtbWF0cml4LWpzLW1pZ3JhdGlvbiBmb3IgdGhlIG1pZ3JhdGlvbiBndWlkZS4iKTsKdGhpcy5ubCgpfW5sKCl7fWdldERpc3RhbmNlTWF0cml4KGEsYil7Xy5NKHdpbmRvdywxNTQzNDQpO3ZhciBjPV8uSGwoImRpc3RhbmNlX21hdHJpeCIpLnRoZW4oZD0+ZC5nZXREaXN0YW5jZU1hdHJpeChhLGIpKTtiJiZjLmNhdGNoKCgpPT57fSk7cmV0dXJuIGN9fTtfLm1zLnByb3RvdHlwZS5nZXREaXN0YW5jZU1hdHJpeD1fLm1zLnByb3RvdHlwZS5nZXREaXN0YW5jZU1hdHJpeDtfLm1zLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLm1zLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtfLndtKF8ubXMpO18uemhhPXtPSzoiT0siLElOVkFMSURfUkVRVUVTVDoiSU5WQUxJRF9SRVFVRVNUIixPVkVSX1FVRVJZX0xJTUlUOiJPVkVSX1FVRVJZX0xJTUlUIixSRVFVRVNUX0RFTklFRDoiUkVRVUVTVF9ERU5JRUQiLFVOS05PV05fRVJST1I6IlVOS05PV05fRVJST1IiLE1BWF9FTEVNRU5UU19FWENFRURFRDoiTUFYX0VMRU1FTlRTX0VYQ0VFREVEIixNQVhfRElNRU5TSU9OU19FWENFRURFRDoiTUFYX0RJTUVOU0lPTlNfRVhDRUVERUQifTtfLm5zPWNsYXNze2dldEVsZXZhdGlvbkFsb25nUGF0aChhLGIpe3JldHVybiAkY2EoYSxiKX1nZXRFbGV2YXRpb25Gb3JMb2NhdGlvbnMoYSxiKXtyZXR1cm4gYWRhKGEsYil9fTtfLm5zLnByb3RvdHlwZS5nZXRFbGV2YXRpb25Gb3JMb2NhdGlvbnM9Xy5ucy5wcm90b3R5cGUuZ2V0RWxldmF0aW9uRm9yTG9jYXRpb25zO18ubnMucHJvdG90eXBlLmdldEVsZXZhdGlvbkFsb25nUGF0aD1fLm5zLnByb3RvdHlwZS5nZXRFbGV2YXRpb25BbG9uZ1BhdGg7Xy5ucy5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5ucy5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy5BaGE9e09LOiJPSyIsVU5LTk9XTl9FUlJPUjoiVU5LTk9XTl9FUlJPUiIsT1ZFUl9RVUVSWV9MSU1JVDoiT1ZFUl9RVUVSWV9MSU1JVCIsUkVRVUVTVF9ERU5JRUQ6IlJFUVVFU1RfREVOSUVEIixJTlZBTElEX1JFUVVFU1Q6IklOVkFMSURfUkVRVUVTVCIsT1E6IkRBVEFfTk9UX0FWQUlMQUJMRSJ9O3ZhciBvcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe18uSGwoImdlb2NvZGVyIil9Z2VvY29kZShhLGIpe18uTSh3aW5kb3csMTU1NDY4KTtyZXR1cm4gY2RhKGEsYil9fTtvcy5wcm90b3R5cGUuZ2VvY29kZT1vcy5wcm90b3R5cGUuZ2VvY29kZTtvcy5wcm90b3R5cGUuY29uc3RydWN0b3I9b3MucHJvdG90eXBlLmNvbnN0cnVjdG9yO3ZhciBiZGE9Xy5RbCgpO18uQmhhPXtST09GVE9QOiJST09GVE9QIixSQU5HRV9JTlRFUlBPTEFURUQ6IlJBTkdFX0lOVEVSUE9MQVRFRCIsR0VPTUVUUklDX0NFTlRFUjoiR0VPTUVUUklDX0NFTlRFUiIsQVBQUk9YSU1BVEU6IkFQUFJPWElNQVRFIn07Xy5Rbz1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9ITEpe3ZhciBjPWY9PlFtKCJMYXRMbmdBbHRpdHVkZSIsImxhdCIsKCk9PigwLF8uWHIpKGYpKSxkPXR5cGVvZiBhLmxhdD09PSJmdW5jdGlvbiI/YS5sYXQoKTphLmxhdDtjPWQmJmI/YyhkKTpfLmNtKGMoZCksLTkwLDkwKTtkPWY9PlFtKCJMYXRMbmdBbHRpdHVkZSIsImxuZyIsKCk9PigwLF8uWHIpKGYpKTt2YXIgZT10eXBlb2YgYS5sbmc9PT0iZnVuY3Rpb24iP2EubG5nKCk6YS5sbmc7Yj1lJiZiP2QoZSk6Xy5kbShkKGUpLC0xODAsMTgwKTtkPWY9PlFtKCJMYXRMbmdBbHRpdHVkZSIsImFsdGl0dWRlIiwoKT0+KDAsXy5hcykoZikpO2E9YS5hbHRpdHVkZSE9PXZvaWQgMD9kKGEuYWx0aXR1ZGUpfHwwOjA7dGhpcy5ORD1jO3RoaXMuT0Q9Yjt0aGlzLk1EPWF9Z2V0IGxhdCgpe3JldHVybiB0aGlzLk5EfWdldCBsbmcoKXtyZXR1cm4gdGhpcy5PRH1nZXQgYWx0aXR1ZGUoKXtyZXR1cm4gdGhpcy5NRH1lcXVhbHMoYSl7cmV0dXJuIGE/Cl8uaW0odGhpcy5ORCxhLmxhdCkmJl8uaW0odGhpcy5PRCxhLmxuZykmJl8uaW0odGhpcy5NRCxhLmFsdGl0dWRlKTohMX10b0pTT04oKXtyZXR1cm57bGF0OnRoaXMuTkQsbG5nOnRoaXMuT0QsYWx0aXR1ZGU6dGhpcy5NRH19fTtfLlFvLmZyb21Qcm90bz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uUW8oe2xhdDphLnJoKCksbG5nOmEudGgoKX0pfTtfLlFvLnByb3RvdHlwZS50b0pTT049Xy5Rby5wcm90b3R5cGUudG9KU09OO18uUW8ucHJvdG90eXBlLmVxdWFscz1fLlFvLnByb3RvdHlwZS5lcXVhbHM7Xy5Rby5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5Rby5wcm90b3R5cGUuY29uc3RydWN0b3I7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoXy5Rby5wcm90b3R5cGUse2xhdDp7ZW51bWVyYWJsZTohMH0sbG5nOntlbnVtZXJhYmxlOiEwfSxhbHRpdHVkZTp7ZW51bWVyYWJsZTohMH19KTtfLkNoYT1fLkNtKHtoZWFkaW5nOl8uTW0oXy5YciksdGlsdDpfLk1tKF8uWHIpLHJvbGw6Xy5NbShfLlhyKX0sITEpO18ucHM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9KGMsZCk9PlFtKCJPcmllbnRhdGlvbjNEIixjLCgpPT4oMCxfLlhyKShkKSk7dGhpcy5xaD1hLmhlYWRpbmchPW51bGw/Xy5kbShiKCJoZWFkaW5nIixhLmhlYWRpbmcpLDAsMzYwKTowO3RoaXMucmg9YS50aWx0IT1udWxsP18uZG0oYigidGlsdCIsYS50aWx0KSwwLDM2MCk6MDt0aGlzLnNoPWEucm9sbCE9bnVsbD9fLmRtKGIoInJvbGwiLGEucm9sbCksMCwzNjApOjA7YSBpbnN0YW5jZW9mIF8ucHN8fFJtKGEsdGhpcywiT3JpZW50YXRpb24zRCIpfWdldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMucWh9Z2V0IHRpbHQoKXtyZXR1cm4gdGhpcy5yaH1nZXQgcm9sbCgpe3JldHVybiB0aGlzLnNofWVxdWFscyhhKXtpZighYSlyZXR1cm4hMTt2YXIgYj1hO2lmKGIgaW5zdGFuY2VvZiBfLnBzKWE9YjtlbHNlIHRyeXtiPSgwLF8uQ2hhKShiKSxhPW5ldyBfLnBzKGIpfWNhdGNoKGMpe3Rocm93IF8uQW0oIm5vdCBhbiBPcmllbnRhdGlvbjNEIG9yIE9yaWVudGF0aW9uM0RMaXRlcmFsIiwKYyk7fXJldHVybiBfLmltKHRoaXMuaGVhZGluZyxhLmhlYWRpbmcpJiZfLmltKHRoaXMudGlsdCxhLnRpbHQpJiZfLmltKHRoaXMucm9sbCxhLnJvbGwpfXRvSlNPTigpe3JldHVybntoZWFkaW5nOnRoaXMuaGVhZGluZyx0aWx0OnRoaXMudGlsdCxyb2xsOnRoaXMucm9sbH19fTtfLnBzLnByb3RvdHlwZS50b0pTT049Xy5wcy5wcm90b3R5cGUudG9KU09OO18ucHMucHJvdG90eXBlLmVxdWFscz1fLnBzLnByb3RvdHlwZS5lcXVhbHM7Xy5wcy5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5wcy5wcm90b3R5cGUuY29uc3RydWN0b3I7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoXy5wcy5wcm90b3R5cGUse2hlYWRpbmc6e2VudW1lcmFibGU6ITB9LHRpbHQ6e2VudW1lcmFibGU6ITB9LHJvbGw6e2VudW1lcmFibGU6ITB9fSk7Xy5ibz1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMueD1hO3RoaXMueT1ifXRvU3RyaW5nKCl7cmV0dXJuYCgke3RoaXMueH0sICR7dGhpcy55fSlgfWVxdWFscyhhKXtyZXR1cm4gYT9hLng9PXRoaXMueCYmYS55PT10aGlzLnk6ITF9cm91bmQoKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSl9fTtfLmJvLnByb3RvdHlwZS50Qj1fLmhhKDIxKTtfLmJvLnByb3RvdHlwZS5lcXVhbHM9Xy5iby5wcm90b3R5cGUuZXF1YWxzO18uYm8ucHJvdG90eXBlLnRvU3RyaW5nPV8uYm8ucHJvdG90eXBlLnRvU3RyaW5nO18ucG89bmV3IF8uYm8oMCwwKTtfLmJvLnByb3RvdHlwZS5lcXVhbHM9Xy5iby5wcm90b3R5cGUuZXF1YWxzO18uZ289Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5ubChhLGIsYyxkKX1ubChhLGIsYyxkKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yjt0aGlzLnJoPWM7dGhpcy5xaD1kfXRvU3RyaW5nKCl7cmV0dXJuYCgke3RoaXMud2lkdGh9LCAke3RoaXMuaGVpZ2h0fSlgfWVxdWFscyhhKXtyZXR1cm4gYT9hLndpZHRoPT09dGhpcy53aWR0aCYmYS5oZWlnaHQ9PT10aGlzLmhlaWdodDohMX19O18uZ28ucHJvdG90eXBlLmVxdWFscz1fLmdvLnByb3RvdHlwZS5lcXVhbHM7Xy5nby5wcm90b3R5cGUudG9TdHJpbmc9Xy5nby5wcm90b3R5cGUudG9TdHJpbmc7Xy5nby5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5nby5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy5xbz1uZXcgXy5nbygwLDApO18ud20oXy5nbyk7Xy5EaGE9Xy5DbSh7eDpfLlhyLHk6Xy5Ycix6Ol8uWHJ9LCExKTtfLnFzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPShjLGQpPT5RbSgiVmVjdG9yM0QiLGMsKCk9PigwLF8uWHIpKGQpKTt0aGlzLnFoPWIoIngiLGEueCk7dGhpcy5yaD1iKCJ5IixhLnkpO3RoaXMuc2g9YigieiIsYS56KTthIGluc3RhbmNlb2YgXy5xc3x8Um0oYSx0aGlzLCJWZWN0b3IzRCIpfWdldCB4KCl7cmV0dXJuIHRoaXMucWh9Z2V0IHkoKXtyZXR1cm4gdGhpcy5yaH1nZXQgeigpe3JldHVybiB0aGlzLnNofWVxdWFscyhhKXtpZighYSlyZXR1cm4hMTtpZighKGEgaW5zdGFuY2VvZiBfLnFzKSl0cnl7bGV0IGI9KDAsXy5EaGEpKGEpO2E9bmV3IF8ucXMoYil9Y2F0Y2goYil7dGhyb3cgXy5BbSgibm90IGEgVmVjdG9yM0Qgb3IgVmVjdG9yM0RMaXRlcmFsIixiKTt9cmV0dXJuIF8uaW0odGhpcy5xaCxhLngpJiZfLmltKHRoaXMucmgsYS55KSYmXy5pbSh0aGlzLnNoLGEueil9dG9KU09OKCl7cmV0dXJue3g6dGhpcy54LHk6dGhpcy55LHo6dGhpcy56fX19OwpfLnFzLnByb3RvdHlwZS50b0pTT049Xy5xcy5wcm90b3R5cGUudG9KU09OO18ucXMucHJvdG90eXBlLmVxdWFscz1fLnFzLnByb3RvdHlwZS5lcXVhbHM7Xy5xcy5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5xcy5wcm90b3R5cGUuY29uc3RydWN0b3I7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoXy5xcy5wcm90b3R5cGUse3g6e2VudW1lcmFibGU6ITB9LHk6e2VudW1lcmFibGU6ITB9LHo6e2VudW1lcmFibGU6ITB9fSk7dmFyIEVoYT1fLkptKGpvLCJub3QgYSB2YWxpZCBJbmZvV2luZG93IGFuY2hvciIpO18ucnM9e1JFUVVJUkVEOiJSRVFVSVJFRCIsUkVRVUlSRURfQU5EX0hJREVTX09QVElPTkFMOiJSRVFVSVJFRF9BTkRfSElERVNfT1BUSU9OQUwiLE9QVElPTkFMX0FORF9ISURFU19MT1dFUl9QUklPUklUWToiT1BUSU9OQUxfQU5EX0hJREVTX0xPV0VSX1BSSU9SSVRZIn07dmFyIEZoYT17Q0lSQ0xFOjAsRk9SV0FSRF9DTE9TRURfQVJST1c6MSxGT1JXQVJEX09QRU5fQVJST1c6MixCQUNLV0FSRF9DTE9TRURfQVJST1c6MyxCQUNLV0FSRF9PUEVOX0FSUk9XOjQsMDoiQ0lSQ0xFIiwxOiJGT1JXQVJEX0NMT1NFRF9BUlJPVyIsMjoiRk9SV0FSRF9PUEVOX0FSUk9XIiwzOiJCQUNLV0FSRF9DTE9TRURfQVJST1ciLDQ6IkJBQ0tXQVJEX09QRU5fQVJST1cifTt2YXIgc3M9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5ubChhKX1ubChhKXthPWF8fHt9O2EuY2xpY2thYmxlPV8ubG0oYS5jbGlja2FibGUsITApO2EudmlzaWJsZT1fLmxtKGEudmlzaWJsZSwhMCk7dGhpcy5zZXRWYWx1ZXMoYSk7Xy5IbCgibWFya2VyIil9fTsKXy5Xbihzcy5wcm90b3R5cGUse3Bvc2l0aW9uOl8uTW0oXy5YbSksdGl0bGU6Xy5icyxpY29uOl8uTW0oXy5LbShbXy5jcixfLkltKGE9PmEgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYS5sb2NhbE5hbWU9PT0iZ21wLXBpbiIsInNob3VsZCBiZSBhIFBpblZpZXciKSx7aUM6Xy5ObSgidXJsIiksdGhlbjpfLkNtKHt1cmw6Xy5jcixzY2FsZWRTaXplOl8uTW0oaW8pLHNpemU6Xy5NbShpbyksb3JpZ2luOl8uTW0oY28pLGFuY2hvcjpfLk1tKGNvKSxsYWJlbE9yaWdpbjpfLk1tKGNvKSxwYXRoOl8uSW0oYT0+YT09bnVsbCl9LCEwKX0se2lDOl8uTm0oInBhdGgiKSx0aGVuOl8uQ20oe3BhdGg6Xy5LbShbXy5jcixfLkZtKEZoYSldKSxhbmNob3I6Xy5NbShjbyksbGFiZWxPcmlnaW46Xy5NbShjbyksZmlsbENvbG9yOl8uYnMsZmlsbE9wYWNpdHk6Xy5hcyxyb3RhdGlvbjpfLmFzLHNjYWxlOl8uYXMsc3Ryb2tlQ29sb3I6Xy5icyxzdHJva2VPcGFjaXR5Ol8uYXMsc3Ryb2tlV2VpZ2h0Ol8uYXMsCnVybDpfLkltKGE9PmE9PW51bGwpfSwhMCl9XSkpLGxhYmVsOl8uTW0oXy5LbShbXy5jcix7aUM6Xy5ObSgidGV4dCIpLHRoZW46Xy5DbSh7dGV4dDpfLmNyLGZvbnRTaXplOl8uYnMsZm9udFdlaWdodDpfLmJzLGZvbnRGYW1pbHk6Xy5icyxjbGFzc05hbWU6Xy5ic30sITApfV0pKSxzaGFkb3c6Xy5TbCxzaGFwZTpfLlNsLGN1cnNvcjpfLmJzLGNsaWNrYWJsZTpfLmNzLGFuaW1hdGlvbjpfLlNsLGRyYWdnYWJsZTpfLmNzLHZpc2libGU6Xy5jcyxmbGF0Ol8uU2wsekluZGV4Ol8uYXMsb3BhY2l0eTpfLmFzLHBsYWNlOl8uTW0oXy5MbShfLkNtKHtwbGFjZUlkOl8uYnMscXVlcnk6Xy5icyxsb2NhdGlvbjpfLlhtfSksZnVuY3Rpb24oYSl7aWYoYS5wbGFjZUlkJiZhLnF1ZXJ5KXRocm93IF8uQW0oImNhbm5vdCBzZXQgYm90aCBwbGFjZUlkIGFuZCBxdWVyeSIpO2lmKCFhLnBsYWNlSWQmJiFhLnF1ZXJ5KXRocm93IF8uQW0oIm11c3Qgc2V0IG9uZSBvZiBwbGFjZUlkIG9yIHF1ZXJ5Iik7CnJldHVybiBhfSkpLGF0dHJpYnV0aW9uOl8uTW0oXy5DbSh7c291cmNlOl8uY3Isd2ViVXJsOl8uYnMsaW9zRGVlcExpbmtJZDpfLmJzfSkpfSk7Xy53bShzcyk7dmFyIEdoYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuc2g9YTt0aGlzLnRoPWI7dGhpcy5yaD0wO3RoaXMucWg9bnVsbH1nZXQoKXtpZih0aGlzLnJoPjApe3RoaXMucmgtLTt2YXIgYT10aGlzLnFoO3RoaXMucWg9YS5uZXh0O2EubmV4dD1udWxsfWVsc2UgYT10aGlzLnNoKCk7cmV0dXJuIGF9fTt2YXIgSGhhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yaD10aGlzLnFoPW51bGx9YWRkKGEsYil7dmFyIGM9ZmRhLmdldCgpO2Muc2V0KGEsYik7dGhpcy5yaD90aGlzLnJoLm5leHQ9Yzp0aGlzLnFoPWM7dGhpcy5yaD1jfXJlbW92ZSgpe3ZhciBhPW51bGw7dGhpcy5xaCYmKGE9dGhpcy5xaCx0aGlzLnFoPXRoaXMucWgubmV4dCx0aGlzLnFofHwodGhpcy5yaD1udWxsKSxhLm5leHQ9bnVsbCk7cmV0dXJuIGF9fSxmZGE9bmV3IEdoYSgoKT0+bmV3IEloYSxhPT5hLnJlc2V0KCkpLEloYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuVHY9bnVsbH1zZXQoYSxiKXt0aGlzLlR2PWE7dGhpcy5zY29wZT1iO3RoaXMubmV4dD1udWxsfXJlc2V0KCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5Udj1udWxsfX07dmFyIHZzLGtvLGVkYSxKaGE7a289ITE7ZWRhPW5ldyBIaGE7Xy55cD0oYSxiKT0+e3ZzfHxKaGEoKTtrb3x8KHZzKCksa289ITApO2VkYS5hZGQoYSxiKX07SmhhPSgpPT57dmFyIGE9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCk7dnM9KCk9PnthLnRoZW4oZ2RhKX19O3ZhciBLaGE7Cl8uTGhhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuYWk9W107dGhpcy5kcz1hJiZhLmRzP2EuZHM6KCk9Pnt9O3RoaXMuc3Q9YSYmYS5zdD9hLnN0OigpPT57fX1hZGRMaXN0ZW5lcihhLGIpe2lkYSh0aGlzLGEsYiwhMSl9YWRkTGlzdGVuZXJPbmNlKGEsYil7aWRhKHRoaXMsYSxiLCEwKX1yZW1vdmVMaXN0ZW5lcihhLGIpe3RoaXMuYWkubGVuZ3RoJiYoKGE9dGhpcy5haS5maW5kKGhkYShhLGIpKSkmJnRoaXMuYWkuc3BsaWNlKHRoaXMuYWkuaW5kZXhPZihhKSwxKSx0aGlzLmFpLmxlbmd0aHx8dGhpcy5kcygpKX10dShhLGIpe3ZhciBjPXRoaXMuYWkuc2xpY2UoMCksZD0oKT0+e2ZvcihsZXQgZSBvZiBjKWEoZj0+e2lmKGUub25jZSl7aWYoZS5vbmNlLkVHKXJldHVybjtlLm9uY2UuRUc9ITA7dGhpcy5haS5zcGxpY2UodGhpcy5haS5pbmRleE9mKGUpLDEpO3RoaXMuYWkubGVuZ3RofHx0aGlzLmRzKCl9ZS5Udi5jYWxsKGUuY29udGV4dCxmKX0pfTtiJiZiLnN5bmM/ZCgpOgooS2hhfHxfLnlwKShkKX19O0toYT1udWxsO18uTWhhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5haT1uZXcgXy5MaGEoe2RzOigpPT57dGhpcy5kcygpfSxzdDooKT0+e3RoaXMuc3QoKX19KX1zdCgpe31kcygpe31hZGRMaXN0ZW5lcihhLGIpe3RoaXMuYWkuYWRkTGlzdGVuZXIoYSxiKX1hZGRMaXN0ZW5lck9uY2UoYSxiKXt0aGlzLmFpLmFkZExpc3RlbmVyT25jZShhLGIpfXJlbW92ZUxpc3RlbmVyKGEsYil7dGhpcy5haS5yZW1vdmVMaXN0ZW5lcihhLGIpfW5vdGlmeShhKXt0aGlzLmFpLnR1KGI9PntiKHRoaXMuZ2V0KCkpfSxhKX19O18uTmhhPWNsYXNzIGV4dGVuZHMgXy5NaGF7Y29uc3RydWN0b3IoYT0hMSl7c3VwZXIoKTt0aGlzLnNoPWF9c2V0KGEpe3RoaXMuc2gmJnRoaXMuZ2V0KCk9PT1hfHwodGhpcy5yaChhKSx0aGlzLm5vdGlmeSgpKX19O18ubG89Y2xhc3MgZXh0ZW5kcyBfLk5oYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGIpO3RoaXMudmFsdWU9YX1nZXQoKXtyZXR1cm4gdGhpcy52YWx1ZX1yaChhKXt0aGlzLnZhbHVlPWF9fTtfLnFiKF8ubm8sXy55bik7dmFyIHdzPV8uTW0oXy5FbShfLm5vLCJTdHJlZXRWaWV3UGFub3JhbWEiKSk7dmFyIE9oYTtPaGE9ITE7Cl8ueHM9Y2xhc3MgZXh0ZW5kcyBzc3tnZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldE1hcChhKXt0aGlzLnNldCgibWFwIixhKX1zZXRPcHRpb25zKGEpe3RoaXMuc2V0VmFsdWVzKGEpfWNvbnN0cnVjdG9yKGEpe3N1cGVyKGEpO3RoaXMubmwoYSl9bmwoYSl7dmFyIGI9YT9hLmludGVybmFsTWFya2VyOiExO09oYXx8Ynx8KE9oYT0hMCxjb25zb2xlLndhcm4oIkFzIG9mIEZlYnJ1YXJ5IDIxc3QsIDIwMjQsIGdvb2dsZS5tYXBzLk1hcmtlciBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIGdvb2dsZS5tYXBzLm1hcmtlci5BZHZhbmNlZE1hcmtlckVsZW1lbnQgaW5zdGVhZC4gQXQgdGhpcyB0aW1lLCBnb29nbGUubWFwcy5NYXJrZXIgaXMgbm90IHNjaGVkdWxlZCB0byBiZSBkaXNjb250aW51ZWQsIGJ1dCBnb29nbGUubWFwcy5tYXJrZXIuQWR2YW5jZWRNYXJrZXJFbGVtZW50IGlzIHJlY29tbWVuZGVkIG92ZXIgZ29vZ2xlLm1hcHMuTWFya2VyLiBXaGlsZSBnb29nbGUubWFwcy5NYXJrZXIgd2lsbCBjb250aW51ZSB0byByZWNlaXZlIGJ1ZyBmaXhlcyBmb3IgYW55IG1ham9yIHJlZ3Jlc3Npb25zLCBleGlzdGluZyBidWdzIGluIGdvb2dsZS5tYXBzLk1hcmtlciB3aWxsIG5vdCBiZSBhZGRyZXNzZWQuIEF0IGxlYXN0IDEyIG1vbnRocyBub3RpY2Ugd2lsbCBiZSBnaXZlbiBiZWZvcmUgc3VwcG9ydCBpcyBkaXNjb250aW51ZWQuIFBsZWFzZSBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kZXByZWNhdGlvbnMgZm9yIGFkZGl0aW9uYWwgZGV0YWlscyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvYWR2YW5jZWQtbWFya2Vycy9taWdyYXRpb24gZm9yIHRoZSBtaWdyYXRpb24gZ3VpZGUuIikpO2pkYSh0aGlzKTsKc3MuY2FsbCh0aGlzLGEpfW1hcF9jaGFuZ2VkKCl7amRhKHRoaXMpO3ZhciBhPXRoaXMuZ2V0KCJtYXAiKTthPWEmJmEuX19nbS5tYXJrZXJzO3RoaXMuX19nbSYmdGhpcy5fX2dtLnNldD09PWF8fCh0aGlzLl9fZ20mJnRoaXMuX19nbS5zZXQmJnRoaXMuX19nbS5zZXQucmVtb3ZlKHRoaXMpLCh0aGlzLl9fZ20uc2V0PWEpJiZfLkRwKGEsdGhpcykpfX07Xy54cy5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy54cy5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy54cy5wcm90b3R5cGUuc2V0T3B0aW9ucz1fLnhzLnByb3RvdHlwZS5zZXRPcHRpb25zO18ueHMucHJvdG90eXBlLnNldE1hcD1fLnhzLnByb3RvdHlwZS5zZXRNYXA7Xy54cy5wcm90b3R5cGUuZ2V0TWFwPV8ueHMucHJvdG90eXBlLmdldE1hcDtfLnhzLk1BWF9aSU5ERVg9MUU2O18ubmIoIm1vZHVsZSRleHBvcnRzJGdvb2dsZTMkbWFwcyRhcGkkamF2YXNjcmlwdCRtYXJrZXIkbWFya2VyLk1hcmtlci5NQVhfWklOREVYIixfLnhzLk1BWF9aSU5ERVgpOwpfLlduKF8ueHMucHJvdG90eXBlLHttYXA6Xy5LbShbXy5ocyx3c10pfSk7Xy53bShfLnhzKTt2YXIgUGhhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmZvV2luZG93PWE7dGhpcy5mdD1iO3RoaXMuaW5mb1dpbmRvdy5hZGRMaXN0ZW5lcigibWFwX2NoYW5nZWQiLCgpPT57dmFyIGM9dGhpcy5nZXQoImludGVybmFsQW5jaG9yIiksZD1ybyhjKTtqbyhjKSYmZCYmZC5zZXQoImlzT3BlbiIsISF0aGlzLmluZm9XaW5kb3cuZ2V0KCJtYXAiKSk7IXRoaXMuaW5mb1dpbmRvdy5nZXQoIm1hcCIpJiZkJiZkLmdldCgibWFwIikmJnRoaXMuc2V0KCJpbnRlcm5hbEFuY2hvciIsbnVsbCl9KTt0aGlzLmJpbmRUbygicGVuZGluZ0ZvY3VzIix0aGlzLmluZm9XaW5kb3cpO3RoaXMuYmluZFRvKCJtYXAiLHRoaXMuaW5mb1dpbmRvdyk7dGhpcy5iaW5kVG8oImRpc2FibGVBdXRvUGFuIix0aGlzLmluZm9XaW5kb3cpO3RoaXMuYmluZFRvKCJoZWFkZXJEaXNhYmxlZCIsdGhpcy5pbmZvV2luZG93KTt0aGlzLmJpbmRUbygibWF4V2lkdGgiLHRoaXMuaW5mb1dpbmRvdyk7CnRoaXMuYmluZFRvKCJtaW5XaWR0aCIsdGhpcy5pbmZvV2luZG93KTt0aGlzLmJpbmRUbygicG9zaXRpb24iLHRoaXMuaW5mb1dpbmRvdyk7dGhpcy5iaW5kVG8oInpJbmRleCIsdGhpcy5pbmZvV2luZG93KTt0aGlzLmJpbmRUbygiYXJpYUxhYmVsIix0aGlzLmluZm9XaW5kb3cpO3RoaXMuYmluZFRvKCJpbnRlcm5hbEFuY2hvciIsdGhpcy5pbmZvV2luZG93LCJhbmNob3IiKTt0aGlzLmJpbmRUbygiaW50ZXJuYWxIZWFkZXJDb250ZW50Iix0aGlzLmluZm9XaW5kb3csImhlYWRlckNvbnRlbnQiKTt0aGlzLmJpbmRUbygiaW50ZXJuYWxDb250ZW50Iix0aGlzLmluZm9XaW5kb3csImNvbnRlbnQiKTt0aGlzLmJpbmRUbygiaW50ZXJuYWxQaXhlbE9mZnNldCIsdGhpcy5pbmZvV2luZG93LCJwaXhlbE9mZnNldCIpO3RoaXMuYmluZFRvKCJzaG91bGRGb2N1cyIsdGhpcy5pbmZvV2luZG93KX1pbnRlcm5hbEFuY2hvcl9jaGFuZ2VkKCl7dmFyIGE9cm8odGhpcy5nZXQoImludGVybmFsQW5jaG9yIikpOwpvbyh0aGlzLCJhdHRyaWJ1dGlvbiIsYSk7b28odGhpcywicGxhY2UiLGEpO29vKHRoaXMsInBpeGVsUG9zaXRpb24iLGEpO29vKHRoaXMsImludGVybmFsQW5jaG9yTWFwIixhLCJtYXAiLCEwKTt0aGlzLmludGVybmFsQW5jaG9yTWFwX2NoYW5nZWQoITApO29vKHRoaXMsImludGVybmFsQW5jaG9yUG9pbnQiLGEsImFuY2hvclBvaW50Iik7YSBpbnN0YW5jZW9mIF8ueHM/b28odGhpcywiaW50ZXJuYWxBbmNob3JQb3NpdGlvbiIsYSwiaW50ZXJuYWxQb3NpdGlvbiIpOm9vKHRoaXMsImludGVybmFsQW5jaG9yUG9zaXRpb24iLGEsInBvc2l0aW9uIil9aW50ZXJuYWxBbmNob3JQb2ludF9jaGFuZ2VkKCl7a2RhKHRoaXMpfWludGVybmFsUGl4ZWxPZmZzZXRfY2hhbmdlZCgpe2tkYSh0aGlzKX1pbnRlcm5hbEFuY2hvclBvc2l0aW9uX2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgiaW50ZXJuYWxBbmNob3JQb3NpdGlvbiIpO2EmJnRoaXMuc2V0KCJwb3NpdGlvbiIsYSl9aW50ZXJuYWxBbmNob3JNYXBfY2hhbmdlZChhPQohMSl7dGhpcy5nZXQoImludGVybmFsQW5jaG9yIikmJihhfHx0aGlzLmdldCgiaW50ZXJuYWxBbmNob3JNYXAiKSE9PXRoaXMuaW5mb1dpbmRvdy5nZXQoIm1hcCIpKSYmdGhpcy5pbmZvV2luZG93LnNldCgibWFwIix0aGlzLmdldCgiaW50ZXJuYWxBbmNob3JNYXAiKSl9aW50ZXJuYWxIZWFkZXJDb250ZW50X2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgiaW50ZXJuYWxIZWFkZXJDb250ZW50Iik7aWYodHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2IudGV4dENvbnRlbnQ9YTthPWJ9dGhpcy5zZXQoImhlYWRlckNvbnRlbnQiLGEpfWludGVybmFsQ29udGVudF9jaGFuZ2VkKCl7dmFyIGE9dGhpcy5zZXQsYjtpZihiPXRoaXMuZ2V0KCJpbnRlcm5hbENvbnRlbnQiKSl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Xy56aihjLF8uRGwoYikpfWVsc2UgYi5ub2RlVHlwZT09PQpOb2RlLlRFWFRfTk9ERT8oYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjLmFwcGVuZENoaWxkKGIpKTpjPWI7Yj1jfWVsc2UgYj1udWxsO2EuY2FsbCh0aGlzLCJjb250ZW50IixiKX10cmlnZ2VyKGEpe18ud24odGhpcy5pbmZvV2luZG93LGEpfWNsb3NlKCl7dGhpcy5pbmZvV2luZG93LnNldCgibWFwIixudWxsKX19O18ueXM9Y2xhc3MgZXh0ZW5kcyBfLnlue3NldE9wdGlvbnMoYSl7dGhpcy5zZXRWYWx1ZXMoYSl9c2V0SGVhZGVyQ29udGVudChhKXt0aGlzLnNldCgiaGVhZGVyQ29udGVudCIsYSl9Z2V0SGVhZGVyQ29udGVudCgpe3JldHVybiB0aGlzLmdldCgiaGVhZGVyQ29udGVudCIpfXNldEhlYWRlckRpc2FibGVkKGEpe3RoaXMuc2V0KCJoZWFkZXJEaXNhYmxlZCIsYSl9Z2V0SGVhZGVyRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5nZXQoImhlYWRlckRpc2FibGVkIil9c2V0Q29udGVudChhKXt0aGlzLnNldCgiY29udGVudCIsYSl9Z2V0Q29udGVudCgpe3JldHVybiB0aGlzLmdldCgiY29udGVudCIpfXNldFBvc2l0aW9uKGEpe3RoaXMuc2V0KCJwb3NpdGlvbiIsYSl9Z2V0UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5nZXQoInBvc2l0aW9uIil9c2V0WkluZGV4KGEpe3RoaXMuc2V0KCJ6SW5kZXgiLGEpfWdldFpJbmRleCgpe3JldHVybiB0aGlzLmdldCgiekluZGV4Iil9c2V0TWFwKGEpe3RoaXMuc2V0KCJtYXAiLAphKX1nZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldEFuY2hvcihhKXt0aGlzLnNldCgiYW5jaG9yIixhKX1nZXRBbmNob3IoKXtyZXR1cm4gdGhpcy5nZXQoImFuY2hvciIpfWNvbnN0cnVjdG9yKGEpe2Z1bmN0aW9uIGIoKXtlfHwoZT0hMCxfLkhsKCJpbmZvd2luZG93IikudGhlbihmPT57Zi51TChkKX0pKX1zdXBlcigpO3dpbmRvdy5zZXRUaW1lb3V0KCgpPT57Xy5IbCgiaW5mb3dpbmRvdyIpfSwxMDApO2E9YXx8e307dmFyIGM9ISFhLmZ0O2RlbGV0ZSBhLmZ0O3ZhciBkPW5ldyBQaGEodGhpcyxjKSxlPSExO18udG4odGhpcywiYW5jaG9yX2NoYW5nZWQiLGIpO18udG4odGhpcywibWFwX2NoYW5nZWQiLGIpO3RoaXMuc2V0VmFsdWVzKGEpfW9wZW4oYSxiKXt2YXIgYz1iO2I9e307dHlwZW9mIGEhPT0ib2JqZWN0Inx8IWF8fGEgaW5zdGFuY2VvZiBfLm5vfHxhIGluc3RhbmNlb2YgXy5Mbj8oYi5tYXA9YSxiLmFuY2hvcj1jKTooYi5tYXA9YS5tYXAsYi5zaG91bGRGb2N1cz0KYS5zaG91bGRGb2N1cyxiLmFuY2hvcj1jfHxhLmFuY2hvcik7YT0oYT1ybyhiLmFuY2hvcikpJiZhLmdldCgibWFwIik7YT1hIGluc3RhbmNlb2YgXy5Mbnx8YSBpbnN0YW5jZW9mIF8ubm87Yi5tYXB8fGF8fGNvbnNvbGUud2FybigiSW5mb1dpbmRvdy5vcGVuKCkgd2FzIGNhbGxlZCB3aXRob3V0IGFuIGFzc29jaWF0ZWQgTWFwIG9yIFN0cmVldFZpZXdQYW5vcmFtYSBpbnN0YW5jZS4iKTt2YXIgZD17Li4uYn07YT1kLm1hcDtiPWQuYW5jaG9yO2M9dGhpcy5zZXQ7e3ZhciBlPWQubWFwO2xldCBmPWQuc2hvdWxkRm9jdXM7ZT10eXBlb2YgZj09PSJib29sZWFuIj9mOihlPShkPXJvKGQuYW5jaG9yKSkmJmQuZ2V0KCJtYXAiKXx8ZSk/ZS5fX2dtLmdldCgiaXNJbml0aWFsaXplZCIpOiExfWMuY2FsbCh0aGlzLCJzaG91bGRGb2N1cyIsZSk7dGhpcy5zZXQoImFuY2hvciIsYik7Yj8hdGhpcy5nZXQoIm1hcCIpJiZhJiZ0aGlzLnNldCgibWFwIixhKTp0aGlzLnNldCgibWFwIixhKX1nZXQgaXNPcGVuKCl7cmV0dXJuISF0aGlzLmdldCgibWFwIil9Y2xvc2UoKXt0aGlzLnNldCgibWFwIiwKbnVsbCl9Zm9jdXMoKXt0aGlzLmdldCgibWFwIikmJiF0aGlzLmdldCgicGVuZGluZ0ZvY3VzIikmJnRoaXMuc2V0KCJwZW5kaW5nRm9jdXMiLCEwKX19O18ueXMucHJvdG90eXBlLmZvY3VzPV8ueXMucHJvdG90eXBlLmZvY3VzO18ueXMucHJvdG90eXBlLmNsb3NlPV8ueXMucHJvdG90eXBlLmNsb3NlO18ueXMucHJvdG90eXBlLm9wZW49Xy55cy5wcm90b3R5cGUub3BlbjtfLnlzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLnlzLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtfLnlzLnByb3RvdHlwZS5nZXRBbmNob3I9Xy55cy5wcm90b3R5cGUuZ2V0QW5jaG9yO18ueXMucHJvdG90eXBlLnNldEFuY2hvcj1fLnlzLnByb3RvdHlwZS5zZXRBbmNob3I7Xy55cy5wcm90b3R5cGUuZ2V0TWFwPV8ueXMucHJvdG90eXBlLmdldE1hcDtfLnlzLnByb3RvdHlwZS5zZXRNYXA9Xy55cy5wcm90b3R5cGUuc2V0TWFwO18ueXMucHJvdG90eXBlLmdldFpJbmRleD1fLnlzLnByb3RvdHlwZS5nZXRaSW5kZXg7Cl8ueXMucHJvdG90eXBlLnNldFpJbmRleD1fLnlzLnByb3RvdHlwZS5zZXRaSW5kZXg7Xy55cy5wcm90b3R5cGUuZ2V0UG9zaXRpb249Xy55cy5wcm90b3R5cGUuZ2V0UG9zaXRpb247Xy55cy5wcm90b3R5cGUuc2V0UG9zaXRpb249Xy55cy5wcm90b3R5cGUuc2V0UG9zaXRpb247Xy55cy5wcm90b3R5cGUuZ2V0Q29udGVudD1fLnlzLnByb3RvdHlwZS5nZXRDb250ZW50O18ueXMucHJvdG90eXBlLnNldENvbnRlbnQ9Xy55cy5wcm90b3R5cGUuc2V0Q29udGVudDtfLnlzLnByb3RvdHlwZS5nZXRIZWFkZXJEaXNhYmxlZD1fLnlzLnByb3RvdHlwZS5nZXRIZWFkZXJEaXNhYmxlZDtfLnlzLnByb3RvdHlwZS5zZXRIZWFkZXJEaXNhYmxlZD1fLnlzLnByb3RvdHlwZS5zZXRIZWFkZXJEaXNhYmxlZDtfLnlzLnByb3RvdHlwZS5nZXRIZWFkZXJDb250ZW50PV8ueXMucHJvdG90eXBlLmdldEhlYWRlckNvbnRlbnQ7Xy55cy5wcm90b3R5cGUuc2V0SGVhZGVyQ29udGVudD1fLnlzLnByb3RvdHlwZS5zZXRIZWFkZXJDb250ZW50OwpfLnlzLnByb3RvdHlwZS5zZXRPcHRpb25zPV8ueXMucHJvdG90eXBlLnNldE9wdGlvbnM7Xy5XbihfLnlzLnByb3RvdHlwZSx7aGVhZGVyQ29udGVudDpfLkttKFtfLmJzLF8uSW0oXy5EbSldKSxoZWFkZXJEaXNhYmxlZDpfLk1tKCRyKSxjb250ZW50Ol8uS20oW18uYnMsXy5JbShfLkRtKV0pLHBvc2l0aW9uOl8uTW0oXy5YbSksc2l6ZTpfLk1tKGlvKSxtYXA6Xy5LbShbXy5ocyx3c10pLGFuY2hvcjpfLk1tKF8uS20oW18uRW0oXy55biwiTVZDT2JqZWN0IiksRWhhXSkpLHpJbmRleDpfLmFzfSk7Xy56cz1jbGFzcyBleHRlbmRzIF8ueW57Z2V0TWFwKCl7cmV0dXJuIHRoaXMuZ2V0KCJtYXAiKX1zZXRNYXAoYSl7dGhpcy5zZXQoIm1hcCIsYSl9Z2V0VXJsKCl7cmV0dXJuIHRoaXMuZ2V0KCJ1cmwiKX1nZXRCb3VuZHMoKXtyZXR1cm4gdGhpcy5nZXQoImJvdW5kcyIpfXNldE9wdGlvbnMoYSl7dGhpcy5zZXRWYWx1ZXMoYSl9Z2V0T3BhY2l0eSgpe3JldHVybiB0aGlzLmdldCgib3BhY2l0eSIpfXNldE9wYWNpdHkoYSl7dGhpcy5zZXQoIm9wYWNpdHkiLGEpfWNvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMubmwoYSxiLGMpfW5sKGEsYixjKXt0aGlzLnNldCgidXJsIixhKTt0aGlzLnNldCgiYm91bmRzIixfLk1tKF8uVG4pKGIpKTt0aGlzLnNldFZhbHVlcyhjKX1tYXBfY2hhbmdlZCgpe18uSGwoImttbCIpLnRoZW4oYT0+e3RoaXMuZ2V0KCJtYXAiKT90aGlzLmdldCgibWFwIikuX19nbS5HaC50aGVuKCgpPT57YS5wRyh0aGlzKX0pOmEucEcodGhpcyl9KX19OwpfLnpzLnByb3RvdHlwZS5zZXRPcGFjaXR5PV8uenMucHJvdG90eXBlLnNldE9wYWNpdHk7Xy56cy5wcm90b3R5cGUuZ2V0T3BhY2l0eT1fLnpzLnByb3RvdHlwZS5nZXRPcGFjaXR5O18uenMucHJvdG90eXBlLmdldEJvdW5kcz1fLnpzLnByb3RvdHlwZS5nZXRCb3VuZHM7Xy56cy5wcm90b3R5cGUuZ2V0VXJsPV8uenMucHJvdG90eXBlLmdldFVybDtfLnpzLnByb3RvdHlwZS5zZXRNYXA9Xy56cy5wcm90b3R5cGUuc2V0TWFwO18uenMucHJvdG90eXBlLmdldE1hcD1fLnpzLnByb3RvdHlwZS5nZXRNYXA7Xy53bShfLnpzKTtfLlduKF8uenMucHJvdG90eXBlLHttYXA6Xy5ocyx1cmw6bnVsbCxib3VuZHM6bnVsbCxvcGFjaXR5Ol8uYXN9KTtfLnFiKHNvLF8ueW4pO3NvLnByb3RvdHlwZS54aD1mdW5jdGlvbigpe18uSGwoImttbCIpLnRoZW4oYT0+e2EueEwodGhpcyl9KX07c28ucHJvdG90eXBlLnVybF9jaGFuZ2VkPXNvLnByb3RvdHlwZS54aDtzby5wcm90b3R5cGUubWFwX2NoYW5nZWQ9c28ucHJvdG90eXBlLnhoO3NvLnByb3RvdHlwZS56SW5kZXhfY2hhbmdlZD1zby5wcm90b3R5cGUueGg7Xy5Xbihzby5wcm90b3R5cGUse21hcDpfLmhzLGRlZmF1bHRWaWV3cG9ydDpudWxsLG1ldGFkYXRhOm51bGwsc3RhdHVzOm51bGwsdXJsOl8uYnMsc2NyZWVuT3ZlcmxheXM6Xy5jcyx6SW5kZXg6Xy5hc30pO18uQXM9Y2xhc3MgZXh0ZW5kcyBfLnlue2dldE1hcCgpe3JldHVybiB0aGlzLmdldCgibWFwIil9c2V0TWFwKGEpe3RoaXMuc2V0KCJtYXAiLGEpfWNvbnN0cnVjdG9yKCl7c3VwZXIoKTtfLkhsKCJsYXllcnMiKS50aGVuKGE9PnthLnRMKHRoaXMpfSl9fTtfLkFzLnByb3RvdHlwZS5zZXRNYXA9Xy5Bcy5wcm90b3R5cGUuc2V0TWFwO18uQXMucHJvdG90eXBlLmdldE1hcD1fLkFzLnByb3RvdHlwZS5nZXRNYXA7Xy5XbihfLkFzLnByb3RvdHlwZSx7bWFwOl8uaHN9KTt2YXIgQnM9Y2xhc3MgZXh0ZW5kcyBfLnlue3NldE9wdGlvbnMoYSl7dGhpcy5zZXRWYWx1ZXMoYSl9Z2V0TWFwKCl7cmV0dXJuIHRoaXMuZ2V0KCJtYXAiKX1zZXRNYXAoYSl7dGhpcy5zZXQoIm1hcCIsYSl9Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnNldFZhbHVlcyhhKTtfLkhsKCJsYXllcnMiKS50aGVuKGI9PntiLkFMKHRoaXMpfSl9fTtCcy5wcm90b3R5cGUuc2V0TWFwPUJzLnByb3RvdHlwZS5zZXRNYXA7QnMucHJvdG90eXBlLmdldE1hcD1Ccy5wcm90b3R5cGUuZ2V0TWFwO0JzLnByb3RvdHlwZS5zZXRPcHRpb25zPUJzLnByb3RvdHlwZS5zZXRPcHRpb25zO18uV24oQnMucHJvdG90eXBlLHttYXA6Xy5oc30pO3ZhciBDcz1jbGFzcyBleHRlbmRzIF8ueW57Z2V0TWFwKCl7cmV0dXJuIHRoaXMuZ2V0KCJtYXAiKX1zZXRNYXAoYSl7dGhpcy5zZXQoIm1hcCIsYSl9Y29uc3RydWN0b3IoKXtzdXBlcigpO18uSGwoImxheWVycyIpLnRoZW4oYT0+e2EuQkwodGhpcyl9KX19O0NzLnByb3RvdHlwZS5zZXRNYXA9Q3MucHJvdG90eXBlLnNldE1hcDtDcy5wcm90b3R5cGUuZ2V0TWFwPUNzLnByb3RvdHlwZS5nZXRNYXA7Xy5XbihDcy5wcm90b3R5cGUse21hcDpfLmhzfSk7dmFyIHZvO18uRHM9e2FrOmE9PmE/LnNwbGl0KC9ccysvKS5maWx0ZXIoQm9vbGVhbik/P251bGwsTGo6YT0+YT8uam9pbigiICIpPz9udWxsfTt2bz1uZXcgTWFwO18ueW89Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5taW5ZPXRoaXMubWluWD1JbmZpbml0eTt0aGlzLm1heFk9dGhpcy5tYXhYPS1JbmZpbml0eTsoYXx8W10pLmZvckVhY2goYj0+dm9pZCB0aGlzLmV4dGVuZChiKSl9aXNFbXB0eSgpe3JldHVybiEodGhpcy5taW5YPHRoaXMubWF4WCYmdGhpcy5taW5ZPHRoaXMubWF4WSl9dG9TdHJpbmcoKXtyZXR1cm5gKCR7dGhpcy5taW5YfSwgJHt0aGlzLm1pbll9LCAke3RoaXMubWF4WH0sICR7dGhpcy5tYXhZfSlgfWV4dGVuZChhKXthJiYodGhpcy5taW5YPU1hdGgubWluKHRoaXMubWluWCxhLngpLHRoaXMubWF4WD1NYXRoLm1heCh0aGlzLm1heFgsYS54KSx0aGlzLm1pblk9TWF0aC5taW4odGhpcy5taW5ZLGEueSksdGhpcy5tYXhZPU1hdGgubWF4KHRoaXMubWF4WSxhLnkpKX1leHRlbmRCeUJvdW5kcyhhKXthJiYodGhpcy5taW5YPU1hdGgubWluKHRoaXMubWluWCxhLm1pblgpLHRoaXMubWF4WD1NYXRoLm1heCh0aGlzLm1heFgsYS5tYXhYKSwKdGhpcy5taW5ZPU1hdGgubWluKHRoaXMubWluWSxhLm1pblkpLHRoaXMubWF4WT1NYXRoLm1heCh0aGlzLm1heFksYS5tYXhZKSl9Z2V0U2l6ZSgpe3JldHVybiBuZXcgXy5nbyh0aGlzLm1heFgtdGhpcy5taW5YLHRoaXMubWF4WS10aGlzLm1pblkpfWdldENlbnRlcigpe3JldHVybiBuZXcgXy5ibygodGhpcy5taW5YK3RoaXMubWF4WCkvMiwodGhpcy5taW5ZK3RoaXMubWF4WSkvMil9ZXF1YWxzKGEpe3JldHVybiBhP3RoaXMubWluWD09PWEubWluWCYmdGhpcy5taW5ZPT09YS5taW5ZJiZ0aGlzLm1heFg9PT1hLm1heFgmJnRoaXMubWF4WT09PWEubWF4WTohMX1jb250YWluc1BvaW50KGEpe3JldHVybiB0aGlzLm1pblg8PWEueCYmYS54PHRoaXMubWF4WCYmdGhpcy5taW5ZPD1hLnkmJmEueTx0aGlzLm1heFl9Y29udGFpbnNCb3VuZHMoYSl7cmV0dXJuIHRoaXMubWluWDw9YS5taW5YJiZ0aGlzLm1heFg+PWEubWF4WCYmdGhpcy5taW5ZPD1hLm1pblkmJnRoaXMubWF4WT49YS5tYXhZfX07Cl8uRXM9Xy56bygtSW5maW5pdHksLUluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTtfLnpvKDAsMCwwLDApO18ucWIoXy5FbyxfLnluKTtfLkVvLnByb3RvdHlwZS5nZXRBdD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xaFthXX07Xy5Fby5wcm90b3R5cGUuZ2V0QXQ9Xy5Fby5wcm90b3R5cGUuZ2V0QXQ7Xy5Fby5wcm90b3R5cGUuaW5kZXhPZj1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPXRoaXMucWgubGVuZ3RoO2I8YzsrK2IpaWYoYT09PXRoaXMucWhbYl0pcmV0dXJuIGI7cmV0dXJuLTF9O18uRW8ucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiPTAsYz10aGlzLnFoLmxlbmd0aDtiPGM7KytiKWEodGhpcy5xaFtiXSxiKX07Xy5Fby5wcm90b3R5cGUuZm9yRWFjaD1fLkVvLnByb3RvdHlwZS5mb3JFYWNoOwpfLkVvLnByb3RvdHlwZS5zZXRBdD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMucWhbYV0sZD10aGlzLnFoLmxlbmd0aDtpZihhPGQpdGhpcy5xaFthXT1iLF8ud24odGhpcywic2V0X2F0IixhLGMpLHRoaXMudGgmJnRoaXMudGgoYSxjKTtlbHNle2ZvcihjPWQ7YzxhOysrYyl0aGlzLmluc2VydEF0KGMsdm9pZCAwKTt0aGlzLmluc2VydEF0KGEsYil9fTtfLkVvLnByb3RvdHlwZS5zZXRBdD1fLkVvLnByb3RvdHlwZS5zZXRBdDtfLkVvLnByb3RvdHlwZS5pbnNlcnRBdD1mdW5jdGlvbihhLGIpe3RoaXMucWguc3BsaWNlKGEsMCxiKTtEbyh0aGlzKTtfLnduKHRoaXMsImluc2VydF9hdCIsYSk7dGhpcy5yaCYmdGhpcy5yaChhKX07Xy5Fby5wcm90b3R5cGUuaW5zZXJ0QXQ9Xy5Fby5wcm90b3R5cGUuaW5zZXJ0QXQ7Cl8uRW8ucHJvdG90eXBlLnJlbW92ZUF0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucWhbYV07dGhpcy5xaC5zcGxpY2UoYSwxKTtEbyh0aGlzKTtfLnduKHRoaXMsInJlbW92ZV9hdCIsYSxiKTt0aGlzLnNoJiZ0aGlzLnNoKGEsYik7cmV0dXJuIGJ9O18uRW8ucHJvdG90eXBlLnJlbW92ZUF0PV8uRW8ucHJvdG90eXBlLnJlbW92ZUF0O18uRW8ucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oYSl7dGhpcy5pbnNlcnRBdCh0aGlzLnFoLmxlbmd0aCxhKTtyZXR1cm4gdGhpcy5xaC5sZW5ndGh9O18uRW8ucHJvdG90eXBlLnB1c2g9Xy5Fby5wcm90b3R5cGUucHVzaDtfLkVvLnByb3RvdHlwZS5wb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZW1vdmVBdCh0aGlzLnFoLmxlbmd0aC0xKX07Xy5Fby5wcm90b3R5cGUucG9wPV8uRW8ucHJvdG90eXBlLnBvcDtfLkVvLnByb3RvdHlwZS5nZXRBcnJheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnFofTtfLkVvLnByb3RvdHlwZS5nZXRBcnJheT1fLkVvLnByb3RvdHlwZS5nZXRBcnJheTsKXy5Fby5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuZ2V0KCJsZW5ndGgiKTspdGhpcy5wb3AoKX07Xy5Fby5wcm90b3R5cGUuY2xlYXI9Xy5Fby5wcm90b3R5cGUuY2xlYXI7Xy5XbihfLkVvLnByb3RvdHlwZSx7bGVuZ3RoOm51bGx9KTt2YXIgcGRhPXJkYShfLkVtKF8uVG0sIkxhdExuZyIpKTtfLlNvPWNsYXNzIGV4dGVuZHMgXy55bntnZXRSYWRpdXMoKXtyZXR1cm4gdGhpcy5nZXQoInJhZGl1cyIpfXNldFJhZGl1cyhhKXt0aGlzLnNldCgicmFkaXVzIixhKX1nZXRDZW50ZXIoKXtyZXR1cm4gdGhpcy5nZXQoImNlbnRlciIpfXNldENlbnRlcihhKXt0aGlzLnNldCgiY2VudGVyIixhKX1nZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldE1hcChhKXt0aGlzLnNldCgibWFwIixhKX1nZXREcmFnZ2FibGUoKXtyZXR1cm4gdGhpcy5nZXQoImRyYWdnYWJsZSIpfXNldERyYWdnYWJsZShhKXt0aGlzLnNldCgiZHJhZ2dhYmxlIixhKX1nZXRFZGl0YWJsZSgpe3JldHVybiB0aGlzLmdldCgiZWRpdGFibGUiKX1zZXRFZGl0YWJsZShhKXt0aGlzLnNldCgiZWRpdGFibGUiLGEpfXNldFZpc2libGUoYSl7dGhpcy5zZXQoInZpc2libGUiLGEpfWdldFZpc2libGUoKXtyZXR1cm4gdGhpcy5nZXQoInZpc2libGUiKX1zZXRPcHRpb25zKGEpe3RoaXMuc2V0VmFsdWVzKGEpfWNvbnN0cnVjdG9yKGEpe3N1cGVyKCk7CmlmKGEgaW5zdGFuY2VvZiBfLlNvKXtsZXQgYj17fSxjPSJtYXAgcmFkaXVzIGNlbnRlciBzdHJva2VDb2xvciBzdHJva2VPcGFjaXR5IHN0cm9rZVdlaWdodCBzdHJva2VQb3NpdGlvbiBmaWxsQ29sb3IgZmlsbE9wYWNpdHkgekluZGV4IGNsaWNrYWJsZSBlZGl0YWJsZSBkcmFnZ2FibGUgdmlzaWJsZSIuc3BsaXQoIiAiKTtmb3IobGV0IGQgb2YgYyliW2RdPWEuZ2V0KGQpO2E9Yn10aGlzLnNldFZhbHVlcyhNbyhhKSk7Xy5IbCgicG9seSIpfWdldEJvdW5kcygpe3ZhciBhPXRoaXMuZ2V0KCJyYWRpdXMiKSxiPXRoaXMuZ2V0KCJjZW50ZXIiKTtpZihiJiZfLmptKGEpKXt2YXIgYz10aGlzLmdldCgibWFwIik7Yz1jJiZjLl9fZ20uZ2V0KCJiYXNlTWFwVHlwZSIpO3JldHVybiBfLkNvKGIsYS9fLm9kYShjKSl9cmV0dXJuIG51bGx9bWFwX2NoYW5nZWQoKXtzZGEodGhpcyl9dmlzaWJsZV9jaGFuZ2VkKCl7c2RhKHRoaXMpfWNlbnRlcl9jaGFuZ2VkKCl7Xy53bih0aGlzLCJib3VuZHNfY2hhbmdlZCIpfXJhZGl1c19jaGFuZ2VkKCl7Xy53bih0aGlzLAoiYm91bmRzX2NoYW5nZWQiKX1lcXVhbHMoYSl7aWYodGhpcz09PWEpcmV0dXJuITA7aWYoIWEpcmV0dXJuITE7dmFyIGI9dGhpcy5nZXRDZW50ZXIoKSxjPWEuZ2V0Q2VudGVyKCk7cmV0dXJuIGImJmM/dGhpcy5nZXRSYWRpdXMoKT09PWEuZ2V0UmFkaXVzKCkmJmIuZXF1YWxzKGMpOiFiJiYhYyYmdGhpcy5nZXRSYWRpdXMoKT09PWEuZ2V0UmFkaXVzKCl9fTtfLlNvLnByb3RvdHlwZS5nZXRCb3VuZHM9Xy5Tby5wcm90b3R5cGUuZ2V0Qm91bmRzO18uU28ucHJvdG90eXBlLnNldE9wdGlvbnM9Xy5Tby5wcm90b3R5cGUuc2V0T3B0aW9ucztfLlNvLnByb3RvdHlwZS5nZXRWaXNpYmxlPV8uU28ucHJvdG90eXBlLmdldFZpc2libGU7Xy5Tby5wcm90b3R5cGUuc2V0VmlzaWJsZT1fLlNvLnByb3RvdHlwZS5zZXRWaXNpYmxlO18uU28ucHJvdG90eXBlLnNldEVkaXRhYmxlPV8uU28ucHJvdG90eXBlLnNldEVkaXRhYmxlO18uU28ucHJvdG90eXBlLmdldEVkaXRhYmxlPV8uU28ucHJvdG90eXBlLmdldEVkaXRhYmxlOwpfLlNvLnByb3RvdHlwZS5zZXREcmFnZ2FibGU9Xy5Tby5wcm90b3R5cGUuc2V0RHJhZ2dhYmxlO18uU28ucHJvdG90eXBlLmdldERyYWdnYWJsZT1fLlNvLnByb3RvdHlwZS5nZXREcmFnZ2FibGU7Xy5Tby5wcm90b3R5cGUuc2V0TWFwPV8uU28ucHJvdG90eXBlLnNldE1hcDtfLlNvLnByb3RvdHlwZS5nZXRNYXA9Xy5Tby5wcm90b3R5cGUuZ2V0TWFwO18uU28ucHJvdG90eXBlLnNldENlbnRlcj1fLlNvLnByb3RvdHlwZS5zZXRDZW50ZXI7Xy5Tby5wcm90b3R5cGUuZ2V0Q2VudGVyPV8uU28ucHJvdG90eXBlLmdldENlbnRlcjtfLlNvLnByb3RvdHlwZS5zZXRSYWRpdXM9Xy5Tby5wcm90b3R5cGUuc2V0UmFkaXVzO18uU28ucHJvdG90eXBlLmdldFJhZGl1cz1fLlNvLnByb3RvdHlwZS5nZXRSYWRpdXM7Xy5XbihfLlNvLnByb3RvdHlwZSx7Y2VudGVyOl8uTW0oXy5YbSksZHJhZ2dhYmxlOl8uY3MsZWRpdGFibGU6Xy5jcyxtYXA6Xy5ocyxyYWRpdXM6Xy5hcyx2aXNpYmxlOl8uY3N9KTt2YXIgUmhhOwpfLkZzPXthazpQbyhmdW5jdGlvbihhKXtyZXR1cm4gYj0+e2lmKCFiKXJldHVybiBudWxsO2lmKGEuaGFzKF8uUm4pJiZiLmluY2x1ZGVzKCJ8Iikpe2E6aWYoYil7dHJ5e2xldCBkPWIuc3BsaXQoInwiKTtpZihkLmxlbmd0aDwyKXRocm93IEVycm9yKCJ0b28gZmV3IHBvaW50cyIpO2lmKGQubGVuZ3RoPjIpdGhyb3cgRXJyb3IoInRvbyBtYW55IHBvaW50cyIpO2xldCBbZSxmXT1kLm1hcChfLlJvKTt2YXIgYz1uZXcgXy5SbihlLGYpO2JyZWFrIGF9Y2F0Y2goZCl7dGhyb3cgRXJyb3IoYENvdWxkIG5vdCBpbnRlcnByZXQgIiR7Yn0iIGFzIGEgTGF0TG5nQm91bmRzOiBgKyhkIGluc3RhbmNlb2YgRXJyb3I/ZC5tZXNzYWdlOmAke2R9YCkpO31jPXZvaWQgMH1lbHNlIGM9bnVsbDtyZXR1cm4gY31pZihhLmhhcyhfLlNvKSYmYi5pbmNsdWRlcygiQCIpKXJldHVybiB0ZGEoYik7aWYoYS5oYXMoXy5Rbyl8fGEuaGFzKF8uVG0pKXJldHVybiBfLlJvKGIpO3Rocm93IEVycm9yKCJVbnN1cHBvcnRlZCBsb2NhdGlvbiBiaWFzL3Jlc3RyaWN0aW9uIHR5cGUuIik7fX0obmV3IFNldChbXy5UbSwKXy5RbyxfLlJuLF8uU29dKSkpLExqOmZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlFvKXZhciBiPV8uVG8oYSk7ZWxzZSBhIGluc3RhbmNlb2YgXy5UbT9iPVZvKGEpOmEgaW5zdGFuY2VvZiBfLlJuP2E/KGI9YS5nZXRTb3V0aFdlc3QoKSxhPWEuZ2V0Tm9ydGhFYXN0KCksYj1gJHtWbyhiKX18JHtWbyhhKX1gKTpiPW51bGw6Yj1hIGluc3RhbmNlb2YgXy5Tbz91ZGEoYSk6bnVsbDtyZXR1cm4gYn19O18uUWhhPXthazpQbyh0ZGEpLExqOnVkYX07Xy5Hcz17YWs6UG8oZnVuY3Rpb24oYSl7cmV0dXJuIGE/Xy5SbyhhKTpudWxsfSksTGo6Xy5Ub307Xy5Icz17YWs6UG8oZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS50cmltKCkucmVwbGFjZSgvXHMqLFxzKi9nLCIsIikuc3BsaXQoL1xzKy9nKS5tYXAoXy5Sbyk6bnVsbH0pLExqOl8uVW99OwpSaGE9e2FrOlBvKGZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO3RyeXtsZXQgYj1hLnNwbGl0KCIsIikubWFwKE9vKTtpZihiLmxlbmd0aDwyKXRocm93IEVycm9yKCJ0b28gZmV3IHZhbHVlcyIpO2lmKGIubGVuZ3RoPjIpdGhyb3cgRXJyb3IoInRvbyBtYW55IHZhbHVlcyIpO2xldCBbYyxkXT1iO3JldHVybiBfLlltKHtsYXQ6Yyxsbmc6ZH0pfWNhdGNoKGIpe3Rocm93IEVycm9yKGBDb3VsZCBub3QgaW50ZXJwcmV0ICIke2F9IiBhcyBhIExhdExuZzogYCsoYiBpbnN0YW5jZW9mIEVycm9yP2IubWVzc2FnZTpgJHtifWApKTt9fSksTGo6Vm99O3ZhciBYbz12b2lkIDAsV289dm9pZCAwO3ZhciBTaGE9L14oPyFqYXZhc2NyaXB0OikoPzpbYS16MC05Ky4tXSs6fFteJjpcLz8jXSooPzpbXC8/I118JCkpL2ksSXM9Xy5yaihmdW5jdGlvbihhLC4uLmIpe2lmKGIubGVuZ3RoPT09MClyZXR1cm4gXy5xaihhWzBdKTt2YXIgYz1hWzBdO2ZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMrPWVuY29kZVVSSUNvbXBvbmVudChiW2RdKSthW2QrMV07cmV0dXJuIF8ucWooYyl9YGFib3V0OmludmFsaWQjekNsb3N1cmV6YCksd2RhPWE9PmEsSnM9YT0+U2hhLnRlc3QoU3RyaW5nKGEpKT9hOklzLEtzPSgpPT5JcyxMcz1hPT5hIGluc3RhbmNlb2YgXy5waj9fLnJqKGEpOklzLHlkYT1uZXcgTWFwKFtbIkEgaHJlZiIsSnNdLFsiQVJFQSBocmVmIixKc10sWyJCQVNFIGhyZWYiLEtzXSxbIkJVVFRPTiBmb3JtYWN0aW9uIixKc10sWyJFTUJFRCBzcmMiLEtzXSxbIkZPUk0gYWN0aW9uIixKc10sWyJGUkFNRSBzcmMiLEtzXSxbIklGUkFNRSBzcmMiLExzXSxbIklGUkFNRSBzcmNkb2MiLAphPT5hIGluc3RhbmNlb2Ygd2o/Xy55aihhKTpfLnlqKHhkYSldLFsiSU5QVVQgZm9ybWFjdGlvbiIsSnNdLFsiTElOSyBocmVmIixMc10sWyJPQkpFQ1QgY29kZWJhc2UiLEtzXSxbIk9CSkVDVCBkYXRhIixLc10sWyJTQ1JJUFQgaHJlZiIsTHNdLFsiU0NSSVBUIHNyYyIsTHNdLFsiU0NSSVBUIHRleHQiLEtzXSxbIlVTRSBocmVmIixMc11dKTt2YXIgTXMsTnMsemRhLFRoYSxVaGEsT3MsVmhhLFdoYSxQcyxhcCxabyxRcyxYaGEsWWhhLFJzLFpoYSwkaGEsYWlhLCRvLGJpYSxUcyxVcyxnaWEsV3MsVnMsY2lhLGRpYSxlaWEsZmlhO01zPSFfLlVhLlNoYWR5RE9NPy5pblVzZXx8Xy5VYS5TaGFkeURPTT8ubm9QYXRjaCE9PSEwJiZfLlVhLlNoYWR5RE9NPy5ub1BhdGNoIT09Im9uLWRlbWFuZCI/YT0+YTpfLlVhLlNoYWR5RE9NLndyYXA7TnM9Xy5VYS50cnVzdGVkVHlwZXM7emRhPU5zP05zLmNyZWF0ZVBvbGljeSgibGl0LWh0bWwiLHtjcmVhdGVIVE1MOmE9PmF9KTp2b2lkIDA7VGhhPWE9PmE7VWhhPSgpPT5UaGE7T3M9YGxpdCQke01hdGgucmFuZG9tKCkudG9GaXhlZCg5KS5zbGljZSgyKX0kYDtWaGE9Ij8iK09zO1doYT1gPCR7VmhhfT5gO1BzPWRvY3VtZW50O2FwPWE9PmE9PT1udWxsfHx0eXBlb2YgYSE9Im9iamVjdCImJnR5cGVvZiBhIT0iZnVuY3Rpb24ifHwhMTtabz1BcnJheS5pc0FycmF5O1FzPS88KD86KCEtLXxcL1teYS16QS1aXSl8KFwvP1thLXpBLVpdW14+XHNdKil8KFwvPyQpKS9nOwpYaGE9Ly0tXHgzZS9nO1loYT0vPi9nO1JzPVJlZ0V4cCgiPnxbIFx0XG5cZlxyXSg/OihbXlxcc1wiJz49L10rKShbIFx0XG5cZlxyXSo9WyBcdFxuXGZccl0qKD86W14gXHRcblxmXHJcIidgPD49XXwoXCJ8Jyl8KSl8JCkiLCJnIik7WmhhPS8nL2c7JGhhPS8iL2c7YWlhPS9eKD86c2NyaXB0fHN0eWxlfHRleHRhcmVhfHRpdGxlKSQvaTtfLldxPShhLC4uLmIpPT4oe18kbGl0VHlwZSQ6MSx3bDphLHZhbHVlczpifSk7JG89U3ltYm9sLmZvcj9TeW1ib2wuZm9yKCJsaXQtbm9DaGFuZ2UiKTpTeW1ib2woImxpdC1ub0NoYW5nZSIpO18uU3M9U3ltYm9sLmZvcj9TeW1ib2wuZm9yKCJsaXQtbm90aGluZyIpOlN5bWJvbCgibGl0LW5vdGhpbmciKTtiaWE9bmV3IFdlYWtNYXA7VHM9UHMuY3JlYXRlVHJlZVdhbGtlcihQcywxMjkpOwpVcz1jbGFzc3tjb25zdHJ1Y3Rvcih7d2w6YSxfJGxpdFR5cGUkOmJ9LGMpe3RoaXMuY3o9W107dmFyIGQ9MCxlPTAsZj1hLmxlbmd0aC0xLGc9dGhpcy5jeixoPWEubGVuZ3RoLTEsaz1bXSxtPWI9PT0yPyI8c3ZnPiI6Yj09PTM/IjxtYXRoPiI6IiIscCxxPVFzO2ZvcihsZXQgQj0wO0I8aDtCKyspe2xldCBLPWFbQl0sTz0tMSxBO3ZhciB1PTA7bGV0IFE7Zm9yKDt1PEsubGVuZ3RoOyl7cS5sYXN0SW5kZXg9dTtRPXEuZXhlYyhLKTtpZihRPT09bnVsbClicmVhazt1PXEubGFzdEluZGV4O3E9PT1Rcz9RWzFdPT09IiEtLSI/cT1YaGE6UVsxXSE9PXZvaWQgMD9xPVloYTpRWzJdIT09dm9pZCAwPyhhaWEudGVzdChRWzJdKSYmKHA9bmV3IFJlZ0V4cChgPC8ke1FbMl19YCwiZyIpKSxxPVJzKTpRWzNdIT09dm9pZCAwJiYocT1Scyk6cT09PVJzP1FbMF09PT0iPiI/KHE9cD8/UXMsTz0tMSk6UVsxXT09PXZvaWQgMD9PPS0yOihPPXEubGFzdEluZGV4LVFbMl0ubGVuZ3RoLEE9UVsxXSwKcT1RWzNdPT09dm9pZCAwP1JzOlFbM109PT0nIic/JGhhOlpoYSk6cT09PSRoYXx8cT09PVpoYT9xPVJzOnE9PT1YaGF8fHE9PT1ZaGE/cT1RczoocT1ScyxwPXZvaWQgMCl9dT1xPT09UnMmJmFbQisxXS5zdGFydHNXaXRoKCIvPiIpPyIgIjoiIjttKz1xPT09UXM/SytXaGE6Tz49MD8oay5wdXNoKEEpLEsuc2xpY2UoMCxPKSsiJGxpdCQiK0suc2xpY2UoTykpK09zK3U6SytPcysoTz09PS0yP0I6dSl9YT1bQWRhKGEsbSsoYVtoXXx8Ijw/PiIpKyhiPT09Mj8iPC9zdmc+IjpiPT09Mz8iPC9tYXRoPiI6IiIpKSxrXTt2YXIgW3gsel09YTt0aGlzLmVsPVVzLmNyZWF0ZUVsZW1lbnQoeCxjKTtUcy5jdXJyZW50Tm9kZT10aGlzLmVsLmNvbnRlbnQ7aWYoYj09PTJ8fGI9PT0zKWI9dGhpcy5lbC5jb250ZW50LmZpcnN0Q2hpbGQsYi5yZXBsYWNlV2l0aCguLi5iLmNoaWxkTm9kZXMpO2Zvcig7KGI9VHMubmV4dE5vZGUoKSkhPT1udWxsJiZnLmxlbmd0aDxmOyl7aWYoYi5ub2RlVHlwZT09PQoxKXtpZihiLmhhc0F0dHJpYnV0ZXMoKSlmb3IobGV0IEIgb2YgYi5nZXRBdHRyaWJ1dGVOYW1lcygpKUIuZW5kc1dpdGgoIiRsaXQkIik/KGE9eltlKytdLGM9Yi5nZXRBdHRyaWJ1dGUoQikuc3BsaXQoT3MpLGE9LyhbLj9AXSk/KC4qKS8uZXhlYyhhKSxnLnB1c2goe3R5cGU6MSxpbmRleDpkLG5hbWU6YVsyXSx3bDpjLFduOmFbMV09PT0iLiI/Y2lhOmFbMV09PT0iPyI/ZGlhOmFbMV09PT0iQCI/ZWlhOlZzfSksYi5yZW1vdmVBdHRyaWJ1dGUoQikpOkIuc3RhcnRzV2l0aChPcykmJihnLnB1c2goe3R5cGU6NixpbmRleDpkfSksYi5yZW1vdmVBdHRyaWJ1dGUoQikpO2lmKGFpYS50ZXN0KGIudGFnTmFtZSkmJihjPWIudGV4dENvbnRlbnQuc3BsaXQoT3MpLGE9Yy5sZW5ndGgtMSxhPjApKXtiLnRleHRDb250ZW50PU5zP05zLmVtcHR5U2NyaXB0OiIiO2ZvcihoPTA7aDxhO2grKyliLmFwcGVuZChjW2hdLFBzLmNyZWF0ZUNvbW1lbnQoIiIpKSxUcy5uZXh0Tm9kZSgpLGcucHVzaCh7dHlwZToyLAppbmRleDorK2R9KTtiLmFwcGVuZChjW2FdLFBzLmNyZWF0ZUNvbW1lbnQoIiIpKX19ZWxzZSBpZihiLm5vZGVUeXBlPT09OClpZihiLmRhdGE9PT1WaGEpZy5wdXNoKHt0eXBlOjIsaW5kZXg6ZH0pO2Vsc2UgZm9yKGM9LTE7KGM9Yi5kYXRhLmluZGV4T2YoT3MsYysxKSkhPT0tMTspZy5wdXNoKHt0eXBlOjcsaW5kZXg6ZH0pLGMrPU9zLmxlbmd0aC0xO2QrK319c3RhdGljIGNyZWF0ZUVsZW1lbnQoYSl7dmFyIGI9UHMuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtiLmlubmVySFRNTD1hO3JldHVybiBifX07CmdpYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuc2g9W107dGhpcy53aD12b2lkIDA7dGhpcy5yaD1hO3RoaXMucWg9Yn1nZXQgcGFyZW50Tm9kZSgpe3JldHVybiB0aGlzLnFoLnBhcmVudE5vZGV9Z2V0IHlyKCl7cmV0dXJuIHRoaXMucWgueXJ9eGgoYSl7dmFyIGI9dGhpcy5yaC5jeixjPShhPy5DUz8/UHMpLmltcG9ydE5vZGUodGhpcy5yaC5lbC5jb250ZW50LCEwKTtUcy5jdXJyZW50Tm9kZT1jO2Zvcih2YXIgZD1Ucy5uZXh0Tm9kZSgpLGU9MCxmPTAsZz1iWzBdO2chPT12b2lkIDA7KXtpZihlPT09Zy5pbmRleCl7bGV0IGg7Zy50eXBlPT09Mj9oPW5ldyBXcyhkLGQubmV4dFNpYmxpbmcsdGhpcyxhKTpnLnR5cGU9PT0xP2g9bmV3IGcuV24oZCxnLm5hbWUsZy53bCx0aGlzLGEpOmcudHlwZT09PTYmJihoPW5ldyBmaWEoZCx0aGlzLGEpKTt0aGlzLnNoLnB1c2goaCk7Zz1iWysrZl19ZSE9PWc/LmluZGV4JiYoZD1Ucy5uZXh0Tm9kZSgpLGUrKyl9VHMuY3VycmVudE5vZGU9ClBzO3JldHVybiBjfXRoKGEpe3ZhciBiPTA7Zm9yKGxldCBjIG9mIHRoaXMuc2gpYyE9PXZvaWQgMCYmKGMud2whPT12b2lkIDA/KGMuZXUoYSxjLGIpLGIrPWMud2wubGVuZ3RoLTIpOmMuZXUoYVtiXSkpLGIrK319OwpXcz1jbGFzc3tnZXQgeXIoKXtyZXR1cm4gdGhpcy5xaD8ueXI/P3RoaXMuQWh9Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy50eXBlPTI7dGhpcy5raz1fLlNzO3RoaXMud2g9dm9pZCAwO3RoaXMuc2g9YTt0aGlzLnhoPWI7dGhpcy5xaD1jO3RoaXMub3B0aW9ucz1kO3RoaXMuQWg9ZD8uaXNDb25uZWN0ZWQ/PyEwO3RoaXMucmg9dm9pZCAwfWdldCBwYXJlbnROb2RlKCl7dmFyIGE9TXModGhpcy5zaCkucGFyZW50Tm9kZSxiPXRoaXMucWg7YiE9PXZvaWQgMCYmYT8ubm9kZVR5cGU9PT0xMSYmKGE9Yi5wYXJlbnROb2RlKTtyZXR1cm4gYX1ldShhLGI9dGhpcyl7YT1icCh0aGlzLGEsYik7YXAoYSk/YT09PV8uU3N8fGE9PW51bGx8fGE9PT0iIj8odGhpcy5rayE9PV8uU3MmJnRoaXMudGgoKSx0aGlzLmtrPV8uU3MpOmEhPT10aGlzLmtrJiZhIT09JG8mJnRoaXMuQmgoYSk6YS5fJGxpdFR5cGUkIT09dm9pZCAwP3RoaXMuSmgoYSk6YS5ub2RlVHlwZSE9PXZvaWQgMD90aGlzLnpoKGEpOgpabyhhKXx8dHlwZW9mIGE/LltTeW1ib2wuaXRlcmF0b3JdPT09ImZ1bmN0aW9uIj90aGlzLkdoKGEpOnRoaXMuQmgoYSl9eWgoYSl7cmV0dXJuIE1zKE1zKHRoaXMuc2gpLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShhLHRoaXMueGgpfXpoKGEpe2lmKHRoaXMua2shPT1hKXt0aGlzLnRoKCk7aWYoWW8hPT1VaGEpe2xldCBiPXRoaXMuc2gucGFyZW50Tm9kZT8ubm9kZU5hbWU7aWYoYj09PSJTVFlMRSJ8fGI9PT0iU0NSSVBUIil0aHJvdyBFcnJvcigiRm9yYmlkZGVuIik7fXRoaXMua2s9dGhpcy55aChhKX19QmgoYSl7aWYodGhpcy5rayE9PV8uU3MmJmFwKHRoaXMua2spKXt2YXIgYj1Ncyh0aGlzLnNoKS5uZXh0U2libGluZzt0aGlzLnJoPT09dm9pZCAwJiYodGhpcy5yaD1ZbyhiLCJkYXRhIiwicHJvcGVydHkiKSk7YT10aGlzLnJoKGEpO2IuZGF0YT1hfWVsc2UgYj1Qcy5jcmVhdGVUZXh0Tm9kZSgiIiksdGhpcy56aChiKSx0aGlzLnJoPT09dm9pZCAwJiYodGhpcy5yaD1ZbyhiLAoiZGF0YSIsInByb3BlcnR5IikpLGE9dGhpcy5yaChhKSxiLmRhdGE9YTt0aGlzLmtrPWF9SmgoYSl7dmFyIHt2YWx1ZXM6YixfJGxpdFR5cGUkOmN9PWE7YT10eXBlb2YgYz09PSJudW1iZXIiP3RoaXMuQ2goYSk6KGMuZWw9PT12b2lkIDAmJihjLmVsPVVzLmNyZWF0ZUVsZW1lbnQoQWRhKGMuaCxjLmhbMF0pLHRoaXMub3B0aW9ucykpLGMpO2lmKHRoaXMua2s/LnJoPT09YSl0aGlzLmtrLnRoKGIpO2Vsc2V7YT1uZXcgZ2lhKGEsdGhpcyk7bGV0IGQ9YS54aCh0aGlzLm9wdGlvbnMpO2EudGgoYik7dGhpcy56aChkKTt0aGlzLmtrPWF9fUNoKGEpe3ZhciBiPWJpYS5nZXQoYS53bCk7Yj09PXZvaWQgMCYmYmlhLnNldChhLndsLGI9bmV3IFVzKGEpKTtyZXR1cm4gYn1HaChhKXtabyh0aGlzLmtrKXx8KHRoaXMua2s9W10sdGhpcy50aCgpKTt2YXIgYj10aGlzLmtrLGM9MCxkO2ZvcihsZXQgZSBvZiBhKWM9PT1iLmxlbmd0aD9iLnB1c2goZD1uZXcgV3ModGhpcy55aChQcy5jcmVhdGVDb21tZW50KCIiKSksCnRoaXMueWgoUHMuY3JlYXRlQ29tbWVudCgiIikpLHRoaXMsdGhpcy5vcHRpb25zKSk6ZD1iW2NdLGQuZXUoZSksYysrO2M8Yi5sZW5ndGgmJih0aGlzLnRoKGQmJk1zKGQueGgpLm5leHRTaWJsaW5nLGMpLGIubGVuZ3RoPWMpfXRoKGE9TXModGhpcy5zaCkubmV4dFNpYmxpbmcsYil7Zm9yKHRoaXMuRGg/LighMSwhMCxiKTthIT09dGhpcy54aDspYj1NcyhhKS5uZXh0U2libGluZyxNcyhhKS5yZW1vdmUoKSxhPWJ9RkooYSl7dGhpcy5xaD09PXZvaWQgMCYmKHRoaXMuQWg9YSx0aGlzLkRoPy4oYSkpfX07ClZzPWNsYXNze2dldCB0YWdOYW1lKCl7cmV0dXJuIHRoaXMuZWxlbWVudC50YWdOYW1lfWdldCB5cigpe3JldHVybiB0aGlzLnFoLnlyfWNvbnN0cnVjdG9yKGEsYixjLGQsZSl7dGhpcy50eXBlPTE7dGhpcy5raz1fLlNzO3RoaXMud2g9dm9pZCAwO3RoaXMuZWxlbWVudD1hO3RoaXMubmFtZT1iO3RoaXMucWg9ZDt0aGlzLm9wdGlvbnM9ZTtjLmxlbmd0aD4yfHxjWzBdIT09IiJ8fGNbMV0hPT0iIj8odGhpcy5raz1BcnJheShjLmxlbmd0aC0xKS5maWxsKG5ldyBTdHJpbmcpLHRoaXMud2w9Yyk6dGhpcy5raz1fLlNzO3RoaXMuQ3Y9dm9pZCAwfWV1KGEsYj10aGlzLGMsZCl7dmFyIGU9dGhpcy53bCxmPSExO2lmKGU9PT12b2lkIDApe2lmKGE9YnAodGhpcyxhLGIsMCksZj0hYXAoYSl8fGEhPT10aGlzLmtrJiZhIT09JG8pdGhpcy5raz1hfWVsc2V7bGV0IGc9YTthPWVbMF07bGV0IGgsaztmb3IoaD0wO2g8ZS5sZW5ndGgtMTtoKyspaz1icCh0aGlzLGdbYytoXSxiLGgpLGs9PT0kbyYmCihrPXRoaXMua2tbaF0pLGZ8fChmPSFhcChrKXx8ayE9PXRoaXMua2tbaF0pLGs9PT1fLlNzP2E9Xy5TczphIT09Xy5TcyYmKGErPShrPz8iIikrZVtoKzFdKSx0aGlzLmtrW2hdPWt9ZiYmIWQmJnRoaXMuSUMoYSl9SUMoYSl7YT09PV8uU3M/TXModGhpcy5lbGVtZW50KS5yZW1vdmVBdHRyaWJ1dGUodGhpcy5uYW1lKToodGhpcy5Ddj09PXZvaWQgMCYmKHRoaXMuQ3Y9WW8odGhpcy5lbGVtZW50LHRoaXMubmFtZSwiYXR0cmlidXRlIikpLGE9dGhpcy5DdihhPz8iIiksTXModGhpcy5lbGVtZW50KS5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLGE/PyIiKSl9fTsKY2lhPWNsYXNzIGV4dGVuZHMgVnN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMudHlwZT0zfUlDKGEpe3RoaXMuQ3Y9PT12b2lkIDAmJih0aGlzLkN2PVlvKHRoaXMuZWxlbWVudCx0aGlzLm5hbWUsInByb3BlcnR5IikpO2E9dGhpcy5DdihhKTt0aGlzLmVsZW1lbnRbdGhpcy5uYW1lXT1hPT09Xy5Tcz92b2lkIDA6YX19O2RpYT1jbGFzcyBleHRlbmRzIFZze2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLnR5cGU9NH1JQyhhKXtNcyh0aGlzLmVsZW1lbnQpLnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLm5hbWUsISFhJiZhIT09Xy5Tcyl9fTsKZWlhPWNsYXNzIGV4dGVuZHMgVnN7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcihhLGIsYyxkLGUpO3RoaXMudHlwZT01fWV1KGEsYj10aGlzKXthPWJwKHRoaXMsYSxiLDApPz9fLlNzO2lmKGEhPT0kbyl7Yj10aGlzLmtrO3ZhciBjPWE9PT1fLlNzJiZiIT09Xy5Tc3x8YS5jYXB0dXJlIT09Yi5jYXB0dXJlfHxhLm9uY2UhPT1iLm9uY2V8fGEucGFzc2l2ZSE9PWIucGFzc2l2ZSxkPWEhPT1fLlNzJiYoYj09PV8uU3N8fGMpO2MmJnRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLGIpO2QmJnRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLGEpO3RoaXMua2s9YX19aGFuZGxlRXZlbnQoYSl7dHlwZW9mIHRoaXMua2s9PT0iZnVuY3Rpb24iP3RoaXMua2suY2FsbCh0aGlzLm9wdGlvbnM/Lmhvc3Q/P3RoaXMuZWxlbWVudCxhKTp0aGlzLmtrLmhhbmRsZUV2ZW50KGEpfX07CmZpYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5lbGVtZW50PWE7dGhpcy50eXBlPTY7dGhpcy53aD12b2lkIDA7dGhpcy5xaD1iO3RoaXMub3B0aW9ucz1jfWdldCB5cigpe3JldHVybiB0aGlzLnFoLnlyfWV1KGEpe2JwKHRoaXMsYSl9fTsoXy5VYS5saXRIdG1sVmVyc2lvbnM/PyhfLlVhLmxpdEh0bWxWZXJzaW9ucz1bXSkpLnB1c2goIjMuMy4zIik7Xy5Ycz0oYSxiLGMpPT57dmFyIGQ9Yz8uV0U/P2IsZT1kLl8kbGl0UGFydCQ7ZT09PXZvaWQgMCYmKGU9Yz8uV0U/P251bGwsZC5fJGxpdFBhcnQkPWU9bmV3IFdzKGIuaW5zZXJ0QmVmb3JlKFBzLmNyZWF0ZUNvbW1lbnQoIiIpLGUpLGUsdm9pZCAwLGM/P3t9KSk7ZS5ldShhKTtyZXR1cm4gZX07dmFyIFlzLGhpYSxpaWEsamlhLGtpYTtZcz1fLlVhLlNoYWRvd1Jvb3QmJihfLlVhLlNoYWR5Q1NTPT09dm9pZCAwfHxfLlVhLlNoYWR5Q1NTLm5hdGl2ZVNoYWRvdykmJiJhZG9wdGVkU3R5bGVTaGVldHMiaW4gRG9jdW1lbnQucHJvdG90eXBlJiYicmVwbGFjZSJpbiBDU1NTdHlsZVNoZWV0LnByb3RvdHlwZTtoaWE9U3ltYm9sKCk7aWlhPW5ldyBXZWFrTWFwOwpfLlpzPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5fJGNzc1Jlc3VsdCQ9ITA7aWYoaGlhIT09aGlhKXRocm93IEVycm9yKCJDU1NSZXN1bHQgaXMgbm90IGNvbnN0cnVjdGFibGUuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYCBpbnN0ZWFkLiIpO3RoaXMuY3NzVGV4dD1hO3RoaXMucWg9Yn1nZXQgc3R5bGVTaGVldCgpe3ZhciBhPXRoaXMucmgsYj10aGlzLnFoO2lmKFlzJiZhPT09dm9pZCAwKXtsZXQgYz1iIT09dm9pZCAwJiZiLmxlbmd0aD09PTE7YyYmKGE9aWlhLmdldChiKSk7YT09PXZvaWQgMCYmKCh0aGlzLnJoPWE9bmV3IENTU1N0eWxlU2hlZXQpLnJlcGxhY2VTeW5jKHRoaXMuY3NzVGV4dCksYyYmaWlhLnNldChiLGEpKX1yZXR1cm4gYX10b1N0cmluZygpe3JldHVybiB0aGlzLmNzc1RleHR9fTsKXy4kcz0oYSwuLi5iKT0+ZnVuY3Rpb24oKXt2YXIgYz1hLmxlbmd0aD09PTE/YVswXTpiLnJlZHVjZSgoZCxlLGYpPT57aWYoZS5fJGNzc1Jlc3VsdCQ9PT0hMCllPWUuY3NzVGV4dDtlbHNlIGlmKHR5cGVvZiBlIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIHBhc3NlZCB0byAnY3NzJyBmdW5jdGlvbiBtdXN0IGJlIGEgJ2NzcycgZnVuY3Rpb24gcmVzdWx0OiAke2V9LiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dCB0YWtlIGNhcmUgdG8gZW5zdXJlIHBhZ2Ugc2VjdXJpdHkuYCk7cmV0dXJuIGQrZSthW2YrMV19LGFbMF0pO3JldHVybiBuZXcgXy5acyhjLGEpfSgpOwpqaWE9KGEsYik9PntpZihZcylhLmFkb3B0ZWRTdHlsZVNoZWV0cz1iLm1hcChjPT5jIGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD9jOmMuc3R5bGVTaGVldCk7ZWxzZSBmb3IobGV0IGMgb2YgYil7Yj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO2xldCBkPV8uVWEubGl0Tm9uY2U7ZCE9PXZvaWQgMCYmYi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixkKTtiLnRleHRDb250ZW50PWMuY3NzVGV4dDthLmFwcGVuZENoaWxkKGIpfX07a2lhPVlzP2E9PmE6YT0+e2lmKGEgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0KXtsZXQgYj0iIjtmb3IobGV0IGMgb2YgYS5jc3NSdWxlcyliKz1jLmNzc1RleHQ7YT1uZXcgXy5acyh0eXBlb2YgYj09PSJzdHJpbmciP2I6U3RyaW5nKGIpKX1yZXR1cm4gYX07LyoKCiBDb3B5cmlnaHQgMjAxNiBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciBsaWE9SFRNTEVsZW1lbnQsbWlhPU9iamVjdC5pcyxEZGE9T2JqZWN0LmRlZmluZVByb3BlcnR5LEJkYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG5pYT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxvaWE9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxwaWE9T2JqZWN0LmdldFByb3RvdHlwZU9mLHFpYT1fLlVhLnRydXN0ZWRUeXBlcyxyaWE9cWlhP3FpYS5lbXB0eVNjcmlwdDoiIixhdD17TGooYSxiKXtzd2l0Y2goYil7Y2FzZSBCb29sZWFuOmE9YT9yaWE6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OmE9YT09bnVsbD9hOkpTT04uc3RyaW5naWZ5KGEpfXJldHVybiBhfSxhayhhLGIpe3ZhciBjPWE7c3dpdGNoKGIpe2Nhc2UgQm9vbGVhbjpjPWEhPT1udWxsO2JyZWFrO2Nhc2UgTnVtYmVyOmM9YT09PW51bGw/bnVsbDpOdW1iZXIoYSk7YnJlYWs7Y2FzZSBPYmplY3Q6Y2FzZSBBcnJheTp0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe2M9Cm51bGx9fXJldHVybiBjfX0sZXA9KGEsYik9PiFtaWEoYSxiKSxkcD17S2g6ITAsdHlwZTpTdHJpbmcsZmk6YXQsTmg6ITEsb0s6ITEsbmo6ZXB9LHNpYSxidDtTeW1ib2wubWV0YWRhdGE9PW51bGwmJihTeW1ib2wubWV0YWRhdGE9U3ltYm9sKCJtZXRhZGF0YSIpKTtzaWE9U3ltYm9sLm1ldGFkYXRhO2J0PW5ldyBXZWFrTWFwOwpfLmN0PWNsYXNzIGV4dGVuZHMgbGlhe3N0YXRpYyBhZGRJbml0aWFsaXplcihhKXt0aGlzLnJoKCk7KHRoaXMueXg/Pyh0aGlzLnl4PVtdKSkucHVzaChhKX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3RoaXMuZXAoKTtyZXR1cm4gdGhpcy5hQSYmWy4uLnRoaXMuYUEua2V5cygpXX1zdGF0aWMgcmgoKXtpZighdGhpcy5oYXNPd25Qcm9wZXJ0eSgiUnAiKSl7dmFyIGE9cGlhKHRoaXMpO2EuZXAoKTthLnl4IT09dm9pZCAwJiYodGhpcy55eD1bLi4uYS55eF0pO3RoaXMuUnA9bmV3IE1hcChhLlJwKX19c3RhdGljIGVwKCl7dGlhKCk7aWYoIXRoaXMuaGFzT3duUHJvcGVydHkoImtEIikpe3RoaXMua0Q9ITA7dGhpcy5yaCgpO2lmKHRoaXMuaGFzT3duUHJvcGVydHkoInByb3BlcnRpZXMiKSl7dmFyIGE9dGhpcy5wcm9wZXJ0aWVzLGI9Wy4uLm5pYShhKSwuLi5vaWEoYSldO2ZvcihsZXQgYyBvZiBiKUVkYSh0aGlzLGMsYVtjXSl9YT10aGlzW3NpYV07aWYoYSE9PW51bGwmJgooYT1idC5nZXQoYSksYSE9PXZvaWQgMCkpZm9yKGxldCBbYyxkXW9mIGEpdGhpcy5ScC5zZXQoYyxkKTt0aGlzLmFBPW5ldyBNYXA7Zm9yKGxldCBbYyxkXW9mIHRoaXMuUnApYT1jLGI9dGhpcy5HQyhhLGQpLGIhPT12b2lkIDAmJnRoaXMuYUEuc2V0KGIsYSk7Yj10aGlzLnN0eWxlczthPVtdO2lmKEFycmF5LmlzQXJyYXkoYikpe2I9bmV3IFNldChiLmZsYXQoSW5maW5pdHkpLnJldmVyc2UoKSk7Zm9yKGxldCBjIG9mIGIpYS51bnNoaWZ0KGtpYShjKSl9ZWxzZSBiIT09dm9pZCAwJiZhLnB1c2goa2lhKGIpKTt0aGlzLnJIPWF9fXN0YXRpYyBHQyhhLGIpe2I9Yi5LaDtyZXR1cm4gYj09PSExP3ZvaWQgMDp0eXBlb2YgYj09PSJzdHJpbmciP2I6dHlwZW9mIGE9PT0ic3RyaW5nIj9hLnRvTG93ZXJDYXNlKCk6dm9pZCAwfWNvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLlpoPXZvaWQgMDt0aGlzLk1oPXRoaXMuT2g9ITE7dGhpcy5BaD1udWxsO3RoaXMuREMoKX1EQygpe3RoaXMuYWw9Cm5ldyBQcm9taXNlKGE9PnRoaXMudnI9YSk7dGhpcy5KaD1uZXcgTWFwO3RoaXMuRkMoKTtfLmNwKHRoaXMpO3RoaXMuY29uc3RydWN0b3IueXg/LmZvckVhY2goYT0+YSh0aGlzKSl9RkMoKXt2YXIgYT1uZXcgTWFwLGI9dGhpcy5jb25zdHJ1Y3Rvci5ScDtmb3IobGV0IGMgb2YgYi5rZXlzKCkpdGhpcy5oYXNPd25Qcm9wZXJ0eShjKSYmKGEuc2V0KGMsdGhpc1tjXSksZGVsZXRlIHRoaXNbY10pO2Euc2l6ZT4wJiYodGhpcy5aaD1hKX1zaSgpe3ZhciBhPXRoaXMuc2hhZG93Um9vdD8/dGhpcy5hdHRhY2hTaGFkb3codGhpcy5jb25zdHJ1Y3Rvci5QbSk7amlhKGEsdGhpcy5jb25zdHJ1Y3Rvci5ySCk7cmV0dXJuIGF9Y29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLlBrPz8odGhpcy5Qaz10aGlzLnNpKCkpO3RoaXMudnIoITApO3RoaXMuSWg/LmZvckVhY2goYT0+YS51eT8uKCkpfXZyKCl7fWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5JaD8uZm9yRWFjaChhPT5hLkZEPy4oKSl9YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKGEsCmIsYyl7dGhpcy5ueChhLGMpfUVDKGEsYil7dmFyIGM9dGhpcy5jb25zdHJ1Y3Rvci5ScC5nZXQoYSksZD10aGlzLmNvbnN0cnVjdG9yLkdDKGEsYyk7ZCE9PXZvaWQgMCYmYy5OaD09PSEwJiYoYj0oYy5maT8uTGohPT12b2lkIDA/Yy5maTphdCkuTGooYixjLnR5cGUpLHRoaXMuQWg9YSxiPT1udWxsP3RoaXMucmVtb3ZlQXR0cmlidXRlKGQpOnRoaXMuc2V0QXR0cmlidXRlKGQsYiksdGhpcy5BaD1udWxsKX1ueChhLGIpe3ZhciBjPXRoaXMuY29uc3RydWN0b3I7YT1jLmFBLmdldChhKTtpZihhIT09dm9pZCAwJiZ0aGlzLkFoIT09YSl7Yz1jLlJwLmdldChhKT8/ZHA7bGV0IGQ9dHlwZW9mIGMuZmk9PT0iZnVuY3Rpb24iP3thazpjLmZpfTpjLmZpPy5hayE9PXZvaWQgMD9jLmZpOmF0O3RoaXMuQWg9YTtiPWQuYWsoYixjLnR5cGUpO3RoaXNbYV09Yj8/dGhpcy5XaD8uZ2V0KGEpPz9iO3RoaXMuQWg9bnVsbH19V2soYSxiLHtvSzpjLE5oOmQsV3o6ZX0sZil7aWYoYyYmISh0aGlzLldoPz8KKHRoaXMuV2g9bmV3IE1hcCkpLmhhcyhhKSYmKHRoaXMuV2guc2V0KGEsZj8/Yj8/dGhpc1thXSksZSE9PSEwfHxmIT09dm9pZCAwKSlyZXR1cm47dGhpcy5KaC5oYXMoYSl8fCh0aGlzLk1ofHxjfHwoYj12b2lkIDApLHRoaXMuSmguc2V0KGEsYikpO2Q9PT0hMCYmdGhpcy5BaCE9PWEmJih0aGlzLmJpPz8odGhpcy5iaT1uZXcgU2V0KSkuYWRkKGEpfWFzeW5jIHF4KCl7dGhpcy5PaD0hMDt0cnl7YXdhaXQgdGhpcy5hbH1jYXRjaChiKXt0aGlzLmxTfHxQcm9taXNlLnJlamVjdChiKX12YXIgYT1GZGEodGhpcyk7YSE9bnVsbCYmYXdhaXQgYTtyZXR1cm4hdGhpcy5PaH1obSgpe31veChhKXt0aGlzLkloPy5mb3JFYWNoKGI9PmIud04/LigpKTt0aGlzLk1ofHwodGhpcy5NaD0hMCx0aGlzLnpoKCkpO3RoaXMuU2ooYSl9c3IoKXt0aGlzLkpoPW5ldyBNYXA7dGhpcy5PaD0hMX1nZXQgQ3AoKXtyZXR1cm4gdGhpcy5hbH11cGRhdGUoKXt0aGlzLmJpJiYodGhpcy5iaT10aGlzLmJpLmZvckVhY2goYT0+CnRoaXMuRUMoYSx0aGlzW2FdKSkpO3RoaXMuc3IoKX1Taigpe316aCgpe319O18uY3QucHJvdG90eXBlLnp4PV8uaGEoMjIpO18uY3Quckg9W107Xy5jdC5QbT17bW9kZToib3BlbiJ9O18uY3QuUnA9bmV3IE1hcDtfLmN0LmtEPW5ldyBNYXA7dmFyIHRpYT0oKT0+eyhfLlVhLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zPz8oXy5VYS5yZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucz1bXSkpLnB1c2goIjIuMS4yIik7dGlhPSgpPT57fX07Xy5kdD1jbGFzcyBleHRlbmRzIF8uY3R7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMuUG49e2hvc3Q6dGhpc307dGhpcy5Paz12b2lkIDB9c2koKXt2YXIgYT1zdXBlci5zaSgpLGI7KGI9dGhpcy5QbikuV0U/PyhiLldFPWEuZmlyc3RDaGlsZCk7cmV0dXJuIGF9dXBkYXRlKGEpe3ZhciBiPXRoaXMudGkoKTt0aGlzLk1ofHwodGhpcy5Qbi5pc0Nvbm5lY3RlZD10aGlzLmlzQ29ubmVjdGVkKTtzdXBlci51cGRhdGUoYSk7dGhpcy5Paz1fLlhzKGIsdGhpcy5Qayx0aGlzLlBuKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7dGhpcy5Paz8uRkooITApfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTt0aGlzLk9rPy5GSighMSl9dGkoKXtyZXR1cm4gJG99c3RhdGljIGVwKCl7dWlhKCk7cmV0dXJuIF8uY3QuZXAuY2FsbCh0aGlzKX19O18uZHQuXyRsaXRFbGVtZW50JD0hMDsKXy5kdC5rRD0hMDt2YXIgdWlhPSgpPT57KF8uVWEubGl0RWxlbWVudFZlcnNpb25zPz8oXy5VYS5saXRFbGVtZW50VmVyc2lvbnM9W10pKS5wdXNoKCI0LjIuMiIpO3VpYT0oKT0+e319O18uZXQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e3N0YXRpYyBnZXQgUG0oKXtyZXR1cm57Li4uXy5kdC5QbSxtb2RlOl8uTHBbMTY2XT8ib3BlbiI6ImNsb3NlZCJ9fWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy53az0hMTt0aGlzLkJ2PW5ldyBTZXQ7dGhpcy5jTD10aGlzLmxvY2FsTmFtZTt2YXIgYj10aGlzLmNvbnN0cnVjdG9yLklpLGM9d2luZG93LGQ9dGhpcy5nZXRSb290Tm9kZSgpIT09dGhpcyxlPSFkb2N1bWVudC5jdXJyZW50U2NyaXB0JiZkb2N1bWVudC5yZWFkeVN0YXRlPT09ImxvYWRpbmciOyhkPWR8fGUpfHwoZD1YbyYmdGhpcy50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT1Yby50b0xvd2VyQ2FzZSgpLFhvPXZvaWQgMCxkPSEhZCk7Xy5NKGMsZD9iLktpOmIuSmkpO1BjYSh0aGlzKTt0aGlzLnhpKGEsXy5ldCwiV2ViQ29tcG9uZW50VmlldyIpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhhLGIsYyl7dGhpcy53az0hMDtzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soYSwKYixjKTt0aGlzLndrPSExfWFkZEV2ZW50TGlzdGVuZXIoYSxiLGMpe3N1cGVyLmFkZEV2ZW50TGlzdGVuZXIoYSxiLGMpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3N1cGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpfXhpKGEsYixjKXt0aGlzLmNvbnN0cnVjdG9yPT09YiYmUm0oYSx0aGlzLGMpfWVycm9yKGEpe2NvbnNvbGUuZXJyb3IoXy5ocCh0aGlzLGEpKX19O18uZXQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9Xy5ldC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcjtfLmV0LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPV8uZXQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI7Xy5ldC5zdHlsZXM9W107dmFyIHZpYT1fLkNtKHtjZW50ZXI6Xy5NbShfLlltKSx6b29tOl8uYXMsaGVhZGluZzpfLmFzLHRpbHQ6Xy5hc30pO3ZhciBXZWE9Y2xhc3MgZXh0ZW5kcyBfLnlue2dldChhKXtyZXR1cm4gc3VwZXIuZ2V0KGEpfX07dmFyIEhkYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubWFwSWQ9YTt0aGlzLm1hcFR5cGVzPWI7dGhpcy5xaD0hMX1tYXBJZF9jaGFuZ2VkKCl7aWYoIXRoaXMucWgmJnRoaXMuZ2V0KCJtYXBJZCIpIT09dGhpcy5tYXBJZClpZih0aGlzLmdldCgibWFwSGFzQmVlbkFibGVUb0JlRHJhd24iKSl7dGhpcy5xaD0hMDt0cnl7dGhpcy5zZXQoIm1hcElkIix0aGlzLm1hcElkKX1maW5hbGx5e3RoaXMucWg9ITF9Y29uc29sZS53YXJuKCJHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSTogQSBNYXAncyBtYXBJZCBwcm9wZXJ0eSBjYW5ub3QgYmUgY2hhbmdlZCBhZnRlciBpbml0aWFsIE1hcCByZW5kZXIuIik7Xy5NKHdpbmRvdywxNDk3MjkpfWVsc2UgdGhpcy5tYXBJZD10aGlzLmdldCgibWFwSWQiKSx0aGlzLnN0eWxlc19jaGFuZ2VkKCksdGhpcy5tYXBUeXBlSWRfY2hhbmdlZCgpfXN0eWxlc19jaGFuZ2VkKCl7dmFyIGE9dGhpcy5nZXQoInN0eWxlcyIpOwp0aGlzLm1hcElkJiZhJiYodGhpcy5zZXQoInN0eWxlcyIsdm9pZCAwKSxjb25zb2xlLndhcm4oIkdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJOiBBIE1hcCdzIHN0eWxlcyBwcm9wZXJ0eSBjYW5ub3QgYmUgc2V0IHdoZW4gYSBtYXBJZCBpcyBwcmVzZW50LiBXaGVuIGEgbWFwSWQgaXMgcHJlc2VudCwgbWFwIHN0eWxlcyBhcmUgY29udHJvbGxlZCB2aWEgdGhlIGNsb3VkIGNvbnNvbGUuIFBsZWFzZSBzZWUgZG9jdW1lbnRhdGlvbiBhdCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9zdHlsaW5nI2Nsb3VkX3Rvb2xpbmciKSxfLk0od2luZG93LDE0OTczMSksYS5sZW5ndGh8fF8uTSh3aW5kb3csMTQ5NzMwKSl9bWFwVHlwZUlkX2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgibWFwVHlwZUlkIik7dGhpcy5tYXBJZCYmYSYmdGhpcy5tYXBUeXBlcyYmdGhpcy5tYXBUeXBlcy5nZXQoYSkmJihPYmplY3QudmFsdWVzKF8uVXIpLmluY2x1ZGVzKGEpPwphPT09InNhdGVsbGl0ZSImJihjb25zb2xlLndhcm4oIkdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJOiBBIE1hcCdzIHByZXJlZ2lzdGVyZWQgbWFwIHR5cGUgbWF5IG5vdCBhcHBseSBhbGwgY3VzdG9tIHN0eWxlcyB3aGVuIGEgbWFwSWQgaXMgcHJlc2VudC4gV2hlbiBhIG1hcElkIGlzIHByZXNlbnQsIG1hcCBzdHlsZXMgYXJlIGNvbnRyb2xsZWQgdmlhIHRoZSBjbG91ZCBjb25zb2xlIGZvciBhbGwgZGVmYXVsdCBtYXAgdHlwZXMgZXhjZXB0IGZvciBzYXRlbGxpdGUuIFBsZWFzZSBzZWUgZG9jdW1lbnRhdGlvbiBhdCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9zdHlsaW5nI2Nsb3VkX3Rvb2xpbmciKSxfLk0od2luZG93LDE0OTczMSkpOihjb25zb2xlLndhcm4oIkdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJOiBBIE1hcCdzIGN1c3RvbSBtYXAgdHlwZXMgY2Fubm90IGJlIHNldCB3aGVuIGEgbWFwSWQgaXMgcHJlc2VudC4gV2hlbiBhIG1hcElkIGlzIHByZXNlbnQsIG1hcCBzdHlsZXMgYXJlIGNvbnRyb2xsZWQgdmlhIHRoZSBjbG91ZCBjb25zb2xlLiBQbGVhc2Ugc2VlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvc3R5bGluZyNjbG91ZF90b29saW5nIiksCl8uTSh3aW5kb3csMTQ5NzMxKSkpfX07dmFyIHJwPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5pc0F2YWlsYWJsZT0hMDt0aGlzLnFoPVtdfWNsb25lKCl7dmFyIGE9bmV3IHJwO2EuaXNBdmFpbGFibGU9dGhpcy5pc0F2YWlsYWJsZTt0aGlzLnFoLmZvckVhY2goYj0+e2xwKGEsYil9KTtyZXR1cm4gYX19O3ZhciB3aWE9e2JSOiJGRUFUVVJFX1RZUEVfVU5TUEVDSUZJRUQiLEFETUlOSVNUUkFUSVZFX0FSRUFfTEVWRUxfMToiQURNSU5JU1RSQVRJVkVfQVJFQV9MRVZFTF8xIixBRE1JTklTVFJBVElWRV9BUkVBX0xFVkVMXzI6IkFETUlOSVNUUkFUSVZFX0FSRUFfTEVWRUxfMiIsQ09VTlRSWToiQ09VTlRSWSIsTE9DQUxJVFk6IkxPQ0FMSVRZIixQT1NUQUxfQ09ERToiUE9TVEFMX0NPREUiLERBVEFTRVQ6IkRBVEFTRVQiLE9SOiJST0FEX1BJTE9UIixCUjoiTkVJR0hCT1JIT09EX1BJTE9UIixLUToiQlVJTERJTkciLFNDSE9PTF9ESVNUUklDVDoiU0NIT09MX0RJU1RSSUNUIn07dmFyIGZ0PW51bGw7Xy5xYihfLnFwLF8ueW4pO18ucXAucHJvdG90eXBlLm1hcF9jaGFuZ2VkPWZ1bmN0aW9uKCl7dmFyIGE9YXN5bmMoKT0+e3ZhciBiPXRoaXMuZ2V0TWFwKCk7aWYoYilpZihmdC5GcCh0aGlzLGIpLF8uZ3QuaGFzKHRoaXMpKV8uZ3QuZGVsZXRlKHRoaXMpO2Vsc2V7bGV0IGM9Yi5fX2dtLnFoO2F3YWl0IGMuc0o7YXdhaXQgYy5rRTtsZXQgZD1fLm1wKGMsIldFQkdMX09WRVJMQVlfVklFVyIpO2lmKCFkLmlzQXZhaWxhYmxlJiZ0aGlzLmdldE1hcCgpPT09Yil7Zm9yKGxldCBlIG9mIGQucWgpYy5sb2coZSk7ZnQucHEodGhpcyl9fWVsc2UgZnQucHEodGhpcyl9O2Z0P2EoKTpfLkhsKCJ3ZWJnbCIpLnRoZW4oYj0+e2Z0PWI7YSgpfSl9O18ucXAucHJvdG90eXBlLlhJPWZ1bmN0aW9uKGEsYil7dGhpcy5zaD0hMDt0aGlzLm9uRHJhdyh7Z2w6YSx0cmFuc2Zvcm1lcjpifSk7dGhpcy5zaD0hMX07Xy5xcC5wcm90b3R5cGUub25EcmF3V3JhcHBlcj1fLnFwLnByb3RvdHlwZS5YSTsKXy5xcC5wcm90b3R5cGUucmVxdWVzdFJlZHJhdz1mdW5jdGlvbigpe3RoaXMucWg9ITA7aWYoIXRoaXMuc2gmJmZ0KXtsZXQgYT10aGlzLmdldE1hcCgpO2EmJmZ0LnJlcXVlc3RSZWRyYXcoYSl9fTtfLnFwLnByb3RvdHlwZS5yZXF1ZXN0UmVkcmF3PV8ucXAucHJvdG90eXBlLnJlcXVlc3RSZWRyYXc7Xy5xcC5wcm90b3R5cGUucmVxdWVzdFN0YXRlVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy50aD0hMDtpZihmdCl7bGV0IGE9dGhpcy5nZXRNYXAoKTthJiZmdC54aChhKX19O18ucXAucHJvdG90eXBlLnJlcXVlc3RTdGF0ZVVwZGF0ZT1fLnFwLnByb3RvdHlwZS5yZXF1ZXN0U3RhdGVVcGRhdGU7Xy5xcC5wcm90b3R5cGUucmg9LTE7Xy5xcC5wcm90b3R5cGUucWg9ITE7Xy5xcC5wcm90b3R5cGUudGg9ITE7Xy5xcC5wcm90b3R5cGUuc2g9ITE7Xy5XbihfLnFwLnByb3RvdHlwZSx7bWFwOl8uaHN9KTtfLmd0PW5ldyBTZXQ7Xy5odD1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubWFwPWE7dGhpcy5xaD0hMTt0aGlzLndoPW51bGw7dGhpcy5jYWNoZT17fTt0aGlzLmp3PXRoaXMucmg9IlVOS05PV04iO3RoaXMuc2g9bmV3IFByb21pc2UoYz0+e3RoaXMudGg9Y30pO3RoaXMua0U9Yi53aC50aGVuKGM9Pnt0aGlzLndoPWM7dGhpcy5yaD1jLmVvKCk/IlRSVUUiOiJGQUxTRSI7c3AodGhpcyl9KTt0aGlzLnNKPXRoaXMuc2gudGhlbihjPT57dGhpcy5qdz1jPyJUUlVFIjoiRkFMU0UiO3NwKHRoaXMpfSk7c3AodGhpcyl9bG9nKGEsYj0iIil7YS5HcSYmY29uc29sZS5lcnJvcihiK2EuR3EpO2EuRnQmJl8uTSh0aGlzLm1hcCxhLkZ0KX1lbygpe3JldHVybiB0aGlzLnJoPT09IlRSVUUifHx0aGlzLnJoPT09IlVOS05PV04ifVl2KCl7cmV0dXJuIHRoaXMud2h9QnooYSl7dGhpcy50aChhKX1nZXRNYXBDYXBhYmlsaXRpZXMoYT0hMSl7dmFyIGI9e307Yi5pc0FkdmFuY2VkTWFya2Vyc0F2YWlsYWJsZT0KdGhpcy5jYWNoZS5yRy5pc0F2YWlsYWJsZTtiLmlzRGF0YURyaXZlblN0eWxpbmdBdmFpbGFibGU9dGhpcy5jYWNoZS5hSC5pc0F2YWlsYWJsZTtiLmlzV2ViR0xPdmVybGF5Vmlld0F2YWlsYWJsZT10aGlzLmNhY2hlLnlxLmlzQXZhaWxhYmxlO2I9T2JqZWN0LmZyZWV6ZShiKTthJiZ0aGlzLmxvZyh7RnQ6MTUzMDI3fSk7cmV0dXJuIGJ9bWFwQ2FwYWJpbGl0aWVzX2NoYW5nZWQoKXtpZighdGhpcy5xaCl0aHJvdyBOZGEodGhpcyksRXJyb3IoIkF0dGVtcHRlZCB0byBzZXQgcmVhZC1vbmx5IGtleTogbWFwQ2FwYWJpbGl0aWVzIik7fX07Xy5odC5wcm90b3R5cGUuVkQ9Xy5oYSgyMyk7dmFyIE1kYT17QURWQU5DRURfTUFSS0VSUzp7RnQ6MTUzMDI1fSxEQVRBX0RSSVZFTl9TVFlMSU5HOntGdDoxNTMwMjZ9LFdFQkdMX09WRVJMQVlfVklFVzp7RnQ6MjA5MTEyfX07dmFyIHhpYT1jbGFzcyBleHRlbmRzIF8ueW57fTt2YXIgeWlhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMub3B0aW9ucz1hO3RoaXMucWg9bmV3IE1hcH1odShhLGIpe2E9dHlwZW9mIGE9PT0ibnVtYmVyIj9bYV06YTtmb3IobGV0IGMgb2YgYSl0aGlzLnFoLmdldChjKSxhPXRoaXMub3B0aW9ucy5odShjLGIpLHRoaXMucWguc2V0KGMsYSl9Wm4oYSxiLGMpe2E9dHlwZW9mIGE9PT0ibnVtYmVyIj9bYV06YTtmb3IobGV0IGQgb2YgYSlpZihhPXRoaXMucWguZ2V0KGQpKXRoaXMub3B0aW9ucy5abihhLGIsYyksdGhpcy5xaC5kZWxldGUoZCl9anUoYSl7YT10eXBlb2YgYT09PSJudW1iZXIiP1thXTphO2ZvcihsZXQgYiBvZiBhKWlmKGE9dGhpcy5xaC5nZXQoYikpdGhpcy5vcHRpb25zLmp1KGEpLHRoaXMucWguZGVsZXRlKGIpfX07UGRhLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLnJoPXRoaXMuc2g9dGhpcy5xaD1udWxsO3RoaXMudGg9ITF9O3ZhciBRZGE9bmV3IEdoYShmdW5jdGlvbigpe3JldHVybiBuZXcgUGRhfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLndwLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gWGRhKHRoaXMsKDAsXy5QcikodHlwZW9mIGE9PT0iZnVuY3Rpb24iP2E6bnVsbCksKDAsXy5QcikodHlwZW9mIGI9PT0iZnVuY3Rpb24iP2I6bnVsbCksYyl9O18ud3AucHJvdG90eXBlLiRnb29nX1RoZW5hYmxlPSEwO18uYWE9Xy53cC5wcm90b3R5cGU7Xy5hYS5pUT1mdW5jdGlvbihhLGIpe3JldHVybiBYZGEodGhpcyxudWxsLCgwLF8uUHIpKGEpLGIpfTtfLmFhLmNhdGNoPV8ud3AucHJvdG90eXBlLmlROwpfLmFhLmNhbmNlbD1mdW5jdGlvbihhKXtpZih0aGlzLnFoPT0wKXtsZXQgYj1uZXcgeHAoYSk7Xy55cChmdW5jdGlvbigpe1NkYSh0aGlzLGIpfSx0aGlzKX19O18uYWEubVE9ZnVuY3Rpb24oYSl7dGhpcy5xaD0wO3ZwKHRoaXMsMixhKX07Xy5hYS5uUT1mdW5jdGlvbihhKXt0aGlzLnFoPTA7dnAodGhpcywzLGEpfTtfLmFhLkJNPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9VGRhKHRoaXMpOylVZGEodGhpcyxhLHRoaXMucWgsdGhpcy56aCk7dGhpcy54aD0hMX07dmFyIGFlYT1fLkJiO18ucWIoeHAsXy50Yik7eHAucHJvdG90eXBlLm5hbWU9ImNhbmNlbCI7Xy5xYihfLkFwLF8ubWspO18uYWE9Xy5BcC5wcm90b3R5cGU7Xy5hYS5reD0wO18uYWEuQms9ZnVuY3Rpb24oKXtfLkFwLmlyLkJrLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMucWg7ZGVsZXRlIHRoaXMucmh9O18uYWEuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5zdG9wKCk7dGhpcy5reD1fLnpwKHRoaXMuc2gsYSE9PXZvaWQgMD9hOnRoaXMudGgpfTtfLmFhLkRpPWZ1bmN0aW9uKCl7dGhpcy5pc0FjdGl2ZSgpfHx0aGlzLnN0YXJ0KHZvaWQgMCl9O18uYWEuc3RvcD1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmXy5VYS5jbGVhclRpbWVvdXQodGhpcy5reCk7dGhpcy5reD0wfTtfLmFhLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMua3ghPTB9O18uYWEuZ0c9ZnVuY3Rpb24oKXt0aGlzLmt4PTA7dGhpcy5xaCYmdGhpcy5xaC5jYWxsKHRoaXMucmgpfTt2YXIgemlhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD1udWxsO3RoaXMucmg9bmV3IE1hcDt0aGlzLnNoPW5ldyBfLkFwKCgpPT57YmVhKHRoaXMpfSl9fTt2YXIgQWlhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD1uZXcgTWFwO3RoaXMucmg9bmV3IF8uQXAoKCk9Pnt2YXIgYT1bXSxiPVtdO2ZvcihsZXQgYyBvZiB0aGlzLnFoLnZhbHVlcygpKXtsZXQgZD1jLmt5KCk7ZCYmIWQuZ2V0U2l6ZSgpLmVxdWFscyhfLnFvKSYmYy50bCYmKGMuY29sbGlzaW9uQmVoYXZpb3I9PT0iUkVRVUlSRURfQU5EX0hJREVTX09QVElPTkFMIj8oYS5wdXNoKGMua3koKSksYy5YcD0hMSk6Yi5wdXNoKGMpKX1iLnNvcnQoZWVhKTtmb3IobGV0IGMgb2YgYilmZWEoYy5reSgpLGEpP2MuWHA9ITA6KGEucHVzaChjLmt5KCkpLGMuWHA9ITEpfSwwKX19O18ucWIoXy5DcCxfLm1rKTtfLmFhPV8uQ3AucHJvdG90eXBlO18uYWEueXY9Xy5oYSgyNCk7Xy5hYS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5xaCYmKF8uVWEuY2xlYXJUaW1lb3V0KHRoaXMucWgpLHRoaXMucWg9bnVsbCk7dGhpcy50aD1udWxsO3RoaXMucmg9ITE7dGhpcy53aD1bXX07Xy5hYS5wYXVzZT1mdW5jdGlvbigpeysrdGhpcy5zaH07Xy5hYS5yZXN1bWU9ZnVuY3Rpb24oKXt0aGlzLnNoJiYoLS10aGlzLnNoLCF0aGlzLnNoJiZ0aGlzLnJoJiYodGhpcy5yaD0hMSx0aGlzLkFoLmFwcGx5KG51bGwsdGhpcy53aCkpKX07Xy5hYS5Caz1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO18uQ3AuaXIuQmsuY2FsbCh0aGlzKX07Cl8uYWEuUUs9ZnVuY3Rpb24oKXt0aGlzLnFoJiYoXy5VYS5jbGVhclRpbWVvdXQodGhpcy5xaCksdGhpcy5xaD1udWxsKTt0aGlzLnRoPyh0aGlzLnFoPV8uenAodGhpcy54aCx0aGlzLnRoLV8ubWIoKSksdGhpcy50aD1udWxsKTp0aGlzLnNoP3RoaXMucmg9ITA6KHRoaXMucmg9ITEsdGhpcy5BaC5hcHBseShudWxsLHRoaXMud2gpKX07dmFyIEJpYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2g9bmV3IEFpYTt0aGlzLnFoPW5ldyB6aWE7dGhpcy50aD1uZXcgU2V0O3RoaXMud2g9bmV3IF8uQ3AoKCk9Pnt0aGlzLnNoLnJoLkRpKCk7dmFyIGE9dGhpcy5xaCxiPW5ldyBTZXQodGhpcy50aCk7Zm9yKGxldCBjIG9mIGIpYy5YcD9fLmRlYShhLGMpOl8uY2VhKGEsYyk7dGhpcy50aC5jbGVhcigpfSw1MCk7dGhpcy5yaD1uZXcgU2V0fX07Xy54cT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZWxlbWVudHM9e307dGhpcy5zaXplPTB9cmVtb3ZlKGEpe3ZhciBiPV8ueG4oYSk7dGhpcy5lbGVtZW50c1tiXSYmKGRlbGV0ZSB0aGlzLmVsZW1lbnRzW2JdLC0tdGhpcy5zaXplLF8ud24odGhpcywicmVtb3ZlIixhKSx0aGlzLm9uUmVtb3ZlJiZ0aGlzLm9uUmVtb3ZlKGEpKX1jb250YWlucyhhKXtyZXR1cm4hIXRoaXMuZWxlbWVudHNbXy54bihhKV19Zm9yRWFjaChhKXt2YXIgYj10aGlzLmVsZW1lbnRzO2ZvcihsZXQgYyBpbiBiKWEuY2FsbCh0aGlzLGJbY10pfWdldFNpemUoKXtyZXR1cm4gdGhpcy5zaXplfX07Xy5qdD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmVpPWF9cXEoYSl7YT1fLmdlYSh0aGlzLGEpO3JldHVybiBhLmxlbmd0aDx0aGlzLmVpLmxlbmd0aD9uZXcgXy5qdChhKTp0aGlzfWZvckVhY2goYSxiKXt0aGlzLmVpLmZvckVhY2goKGMsZCk9PnthLmNhbGwoYixjLGQpfSl9c29tZShhLGIpe3JldHVybiB0aGlzLmVpLnNvbWUoKGMsZCk9PmEuY2FsbChiLGMsZCkpfXNpemUoKXtyZXR1cm4gdGhpcy5laS5sZW5ndGh9fTtfLkNpYT17amFwYW5fcHJlcXVha2U6MjAsamFwYW5fcG9zdHF1YWtlMjAxMDoyNH07dmFyIERpYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm1hcmtlcnM9YXx8bmV3IF8ueHF9fTt2YXIgRWlhO18ua3Q9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuaGVhZGluZz1hO3RoaXMucGl0Y2g9Xy5jbShiLC05MCw5MCk7dGhpcy56b29tPU1hdGgubWF4KDAsYyl9fTtFaWE9Xy5DbSh7em9vbTpfLk1tKGhvKSxoZWFkaW5nOmhvLHBpdGNoOmhvfSk7Xy5GaWE9bmV3IF8uZ28oNjYsMjYpO3ZhciBHaWE7Xy5GcD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyx7QW46ZD0hMSxwYXNzaXZlOmU9ITF9PXt9KXt0aGlzLnFoPWE7dGhpcy5zaD1iO3RoaXMucmg9Yzt0aGlzLnRoPUdpYT97cGFzc2l2ZTplLGNhcHR1cmU6ZH06ZDthLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGIsYyx0aGlzLnRoKTphLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrYixjKX1yZW1vdmUoKXtpZih0aGlzLnFoLnJlbW92ZUV2ZW50TGlzdGVuZXIpdGhpcy5xaC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMuc2gsdGhpcy5yaCx0aGlzLnRoKTtlbHNle2xldCBhPXRoaXMucWg7YS5kZXRhY2hFdmVudCYmYS5kZXRhY2hFdmVudCgib24iK3RoaXMuc2gsdGhpcy5yaCl9fX07R2lhPSExO3RyeXtfLlVhLmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsbmV3IGNsYXNze2dldCBwYXNzaXZlKCl7R2lhPSEwfX0pfWNhdGNoKGEpe307dmFyIEhpYSxJaWE7SGlhPVsibW91c2Vkb3duIiwidG91Y2hzdGFydCIsInBvaW50ZXJkb3duIiwiTVNQb2ludGVyRG93biJdO0lpYT1bIndoZWVsIiwibW91c2V3aGVlbCJdO18uSHA9dm9pZCAwO18uR3A9ITE7dHJ5e18uRXAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksIjpmb2N1cy12aXNpYmxlIiksXy5HcD0hMH1jYXRjaChhKXt9aWYodHlwZW9mIGRvY3VtZW50IT09InVuZGVmaW5lZCIpe18ucW4oZG9jdW1lbnQsImtleWRvd24iLCgpPT57Xy5IcD0iS0VZQk9BUkQifSwhMCk7Zm9yKGxldCBhIG9mIEhpYSlfLnFuKGRvY3VtZW50LGEsKCk9PntfLkhwPSJQT0lOVEVSIn0sITAsITApO2ZvcihsZXQgYSBvZiBJaWEpXy5xbihkb2N1bWVudCxhLCgpPT57Xy5IcD0iV0hFRUwifSwhMCwhMCl9O3ZhciBsdD1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9MCl7dGhpcy5tYWpvcj1hO3RoaXMubWlub3I9Yn19O3ZhciBKaWEsS2lhLExpYSxNaWEsSnAsaWVhO0ppYT1uZXcgTWFwKFtbMywiR29vZ2xlIENocm9tZSJdLFsyLCJNaWNyb3NvZnQgRWRnZSJdXSk7S2lhPW5ldyBNYXAoW1sxLFsibXNpZSJdXSxbMixbImVkZ2UiXV0sWzMsWyJjaHJvbWUiLCJjcmlvcyJdXSxbNSxbImZpcmVmb3giLCJmeGlvcyJdXSxbNCxbImFwcGxld2Via2l0Il1dLFs2LFsidHJpZGVudCJdXSxbNyxbIm1vemlsbGEiXV1dKTtMaWE9bmV3IE1hcChbWzEsIngxMSJdLFsyLCJtYWNpbnRvc2giXSxbMywid2luZG93cyJdLFs0LCJhbmRyb2lkIl0sWzYsImlwaG9uZSJdLFs1LCJpcGFkIl1dKTtNaWE9WzEsMiwzLDQsNSw2XTtKcD1udWxsOwppZWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT1uYXZpZ2F0b3IudXNlckFnZW50O3RoaXMucWg9dGhpcy50eXBlPTA7dGhpcy52ZXJzaW9uPW5ldyBsdCgwKTt0aGlzLnRoPW5ldyBsdCgwKTt2YXIgYj1hLnRvTG93ZXJDYXNlKCk7Zm9yKGxldCBbZSxmXW9mIEtpYS5lbnRyaWVzKCkpe3ZhciBjPWU7bGV0IGc9Zi5maW5kKGg9PmIuaW5jbHVkZXMoaCkpO2lmKGcpe3RoaXMudHlwZT1jO2lmKGM9KG5ldyBSZWdFeHAoZysiWyAvXT8oWzAtOV0rKS4/KFswLTldKyk/IikpLmV4ZWMoYikpdGhpcy52ZXJzaW9uPW5ldyBsdChNYXRoLnRydW5jKE51bWJlcihjWzFdKSksTWF0aC50cnVuYyhOdW1iZXIoY1syXXx8IjAiKSkpO2JyZWFrfX10aGlzLnR5cGU9PT03JiYoYz1SZWdFeHAoIl5Nb3ppbGxhLy4qR2Vja28vLipbTWluZWZpZWxkfFNoaXJldG9rb11bIC9dPyhbMC05XSspLj8oWzAtOV0rKT8iKS5leGVjKGEpKSYmKHRoaXMudHlwZT01LHRoaXMudmVyc2lvbj1uZXcgbHQoTWF0aC50cnVuYyhOdW1iZXIoY1sxXSkpLApNYXRoLnRydW5jKE51bWJlcihjWzJdfHwiMCIpKSkpO3RoaXMudHlwZT09PTYmJihjPVJlZ0V4cCgicnY6KFswLTldezIsfS4/WzAtOV0rKSIpLmV4ZWMoYSkpJiYodGhpcy50eXBlPTEsdGhpcy52ZXJzaW9uPW5ldyBsdChNYXRoLnRydW5jKE51bWJlcihjWzFdKSkpKTtmb3IodmFyIGQgb2YgTWlhKWlmKChjPUxpYS5nZXQoZCkpJiZiLmluY2x1ZGVzKGMpKXt0aGlzLnFoPWQ7YnJlYWt9aWYodGhpcy5xaD09PTZ8fHRoaXMucWg9PT01fHx0aGlzLnFoPT09MilpZihkPS9PUyAoPzpYICk/KFxkKylbXy5dPyhcZCspLy5leGVjKGEpKXRoaXMudGg9bmV3IGx0KE1hdGgudHJ1bmMoTnVtYmVyKGRbMV0pKSxNYXRoLnRydW5jKE51bWJlcihkWzJdfHwiMCIpKSk7dGhpcy5xaD09PTQmJihhPS9BbmRyb2lkIChcZCspXC4/KFxkKyk/Ly5leGVjKGEpKSYmKHRoaXMudGg9bmV3IGx0KE1hdGgudHJ1bmMoTnVtYmVyKGFbMV0pKSxNYXRoLnRydW5jKE51bWJlcihhWzJdfHwiMCIpKSkpO3RoaXMucmg9CnRoaXMucWg9PT0xfHx0aGlzLnFoPT09Mnx8dGhpcy5xaD09PTMmJiFiLmluY2x1ZGVzKCJtb2JpbGUiKX19OwpfLk5wPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2g9dGhpcy5yaD1udWxsfWdldCB2ZXJzaW9uKCl7aWYodGhpcy5zaClyZXR1cm4gdGhpcy5zaDtpZihuYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzKWZvcihsZXQgYSBvZiBuYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMpaWYoYS5icmFuZD09PUppYS5nZXQodGhpcy50eXBlKSlyZXR1cm4gdGhpcy5zaD1uZXcgbHQoK2EudmVyc2lvbiwwKTtyZXR1cm4gdGhpcy5zaD1LcCgpLnZlcnNpb259Z2V0IHRoKCl7cmV0dXJuIEtwKCkudGh9Z2V0IHR5cGUoKXtpZih0aGlzLnJoKXJldHVybiB0aGlzLnJoO2lmKG5hdmlnYXRvci51c2VyQWdlbnREYXRhJiZuYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMpe2xldCBhPW5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcy5tYXAoYj0+Yi5icmFuZCk7Zm9yKGxldCBbYixjXW9mIEppYSl7bGV0IGQ9YjtpZihhLmluY2x1ZGVzKGMpKXJldHVybiB0aGlzLnJoPQpkfX1yZXR1cm4gdGhpcy5yaD1LcCgpLnR5cGV9Z2V0IHdoKCl7cmV0dXJuIHRoaXMudHlwZT09PTV8fHRoaXMudHlwZT09PTd9Z2V0IHFoKCl7cmV0dXJuIHRoaXMudHlwZT09PTR8fHRoaXMudHlwZT09PTN9Z2V0IHloKCl7cmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnREYXRhJiYibW9iaWxlImluIG5hdmlnYXRvci51c2VyQWdlbnREYXRhPyFuYXZpZ2F0b3IudXNlckFnZW50RGF0YS5tb2JpbGU6S3AoKS5yaH1nZXQgQWgoKXtyZXR1cm4gdGhpcy50eXBlPT09MX1nZXQgRmgoKXtyZXR1cm4gdGhpcy50eXBlPT09NX1nZXQgeGgoKXtyZXR1cm4gdGhpcy50eXBlPT09M31nZXQgQmgoKXtyZXR1cm4gdGhpcy50eXBlPT09NH1nZXQgemgoKXtpZihuYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEucGxhdGZvcm0pcmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtPT09ImlPUyI7dmFyIGE9S3AoKTtyZXR1cm4gYS5xaD09PTZ8fGEucWg9PT0KNX1nZXQgRGgoKXtyZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtP25hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtPT09Im1hY09TIjpLcCgpLnFoPT09Mn1nZXQgQ2goKXtyZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtP25hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtPT09IkFuZHJvaWQiOktwKCkucWg9PT00fX07Xy5OaWE9bmV3IFNldChbIlVTIiwiTFIiLCJNTSJdKTt2YXIgbGVhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9ZG9jdW1lbnQ7dGhpcy5xaD1fLk5wO3RoaXMudHJhbnNmb3JtPWtlYShhLFsidHJhbnNmb3JtIiwiV2Via2l0VHJhbnNmb3JtIiwiTW96VHJhbnNmb3JtIiwibXNUcmFuc2Zvcm0iXSk7dGhpcy5yaD1rZWEoYSxbIldlYmtpdFVzZXJTZWxlY3QiLCJNb3pVc2VyU2VsZWN0IiwibXNVc2VyU2VsZWN0Il0pfX0sT3A7Xy5TcD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hO3RoaXMucmg9Xy5UbCgoKT0+ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLmRyYWdnYWJsZSE9PXZvaWQgMCl9fShfLk5wKTt2YXIgT2lhO09pYT1uZXcgV2Vha01hcDsKXy5tdD1jbGFzcyBleHRlbmRzIF8ubm97Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuSXo9dGhpcy53aD1udWxsO3RoaXMudGg9ITE7dGhpcy5zaD1udWxsO3RoaXMubmwoYSxiKX1ubChhLGIpe18uJG4oYSk7dGhpcy5fX2dtPW5ldyBEaWEoYiYmYi5tYXJrZXJzKTt0aGlzLl9fZ20uc2V0KCJpc0luaXRpYWxpemVkIiwhMSk7dGhpcy5xaD1fLm1vKCExLCEwKTt0aGlzLnFoLmFkZExpc3RlbmVyKGU9PntpZih0aGlzLmdldCgidmlzaWJsZSIpIT09ZSl7aWYodGhpcy50aCl7bGV0IGY9dGhpcy5fX2dtO2Yuc2V0KCJzaG91bGRBdXRvRm9jdXMiLGUmJmYuZ2V0KCJpc01hcEluaXRpYWxpemVkIikpfW1lYSh0aGlzLGUpO3RoaXMuc2V0KCJ2aXNpYmxlIixlKX19KTtiJiZiLmNsaWVudCYmKHRoaXMuSXo9Xy5DaWFbYi5jbGllbnRdfHxudWxsKTt2YXIgYz10aGlzLmNvbnRyb2xzPVtdO18uYW0oXy5wcSwoZSxmKT0+e2NbZl09bmV3IF8uRW87Y1tmXS5hZGRMaXN0ZW5lcigiaW5zZXJ0X2F0IiwKKCk9PntfLk0odGhpcywxODIxMTIpfSl9KTt0aGlzLmduPWImJmIuZ258fF8ubW8oITEpO3RoaXMuY29udGFpbmVyPWE7dGhpcy5QcD1iJiZiLlBwfHx0aGlzLmNvbnRhaW5lcjt0aGlzLl9fZ20uc2V0KCJkZXZlbG9wZXJQcm92aWRlZERpdiIsdGhpcy5QcCk7Xy5VYS5NdXRhdGlvbk9ic2VydmVyJiZ0aGlzLlBwJiYoKGE9T2lhLmdldCh0aGlzLlBwKSkmJmEuZGlzY29ubmVjdCgpLGE9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoZT0+e2ZvcihsZXQgZiBvZiBlKWYuYXR0cmlidXRlTmFtZT09PSJkaXIiJiZfLnduKHRoaXMsInNob3VsZFVzZVJUTENvbnRyb2xzQ2hhbmdlIil9KSxPaWEuc2V0KHRoaXMuUHAsYSksYS5vYnNlcnZlKHRoaXMuUHAse2F0dHJpYnV0ZXM6ITB9KSk7dGhpcy5zZXQoInN0YW5kQWxvbmUiLCEwKTt0aGlzLnNldFBvdihuZXcgXy5rdCgwLDAsMSkpO2ImJmIucG92JiYoYT1iLnBvdixfLmptKGEuem9vbSl8fChhLnpvb209dHlwZW9mIGIuem9vbT09PSJudW1iZXIiPwpiLnpvb206MSkpO3RoaXMuc2V0VmFsdWVzKGIpO3RoaXMuZ2V0VmlzaWJsZSgpPT09dm9pZCAwJiZ0aGlzLnNldFZpc2libGUoITApO3ZhciBkPXRoaXMuX19nbS5tYXJrZXJzO18udG4odGhpcywicGFub19jaGFuZ2VkIiwoKT0+e18uSGwoIm1hcmtlciIpLnRoZW4oZT0+e2UuTUMoZCx0aGlzLCExKX0pfSk7Xy5McFszNV0mJmImJmIuZEUmJl8uSGwoInV0aWwiKS50aGVuKGU9PntlLmVyLnRoKG5ldyBfLm5xKGIuZEUpKX0pO18uc24odGhpcywia2V5ZG93biIsdGhpcyx0aGlzLnhoKX12aXNpYmxlX2NoYW5nZWQoKXt2YXIgYT0hIXRoaXMuZ2V0KCJ2aXNpYmxlIiksYj0hMTt0aGlzLnFoLmdldCgpIT09YSYmKHRoaXMudGgmJihiPXRoaXMuX19nbSxiLnNldCgic2hvdWxkQXV0b0ZvY3VzIixhJiZiLmdldCgiaXNNYXBJbml0aWFsaXplZCIpKSksbWVhKHRoaXMsYSksdGhpcy5xaC5zZXQoYSksYj1hKTthJiYodGhpcy53aD10aGlzLndofHxuZXcgUHJvbWlzZShjPT57Xy5IbCgic3RyZWV0dmlldyIpLnRoZW4oZD0+CntpZih0aGlzLkl6KXZhciBlPXRoaXMuSXo7dGhpcy5fX2dtLnNldCgiaXNJbml0aWFsaXplZCIsITApO2MoZC5WTyh0aGlzLHRoaXMucWgsdGhpcy50aCxlKSl9LCgpPT57Xy5PbCh0aGlzLl9fZ20uZ2V0KCJzbG9UcmFja2luZ0lkIiksMTMpfSl9KSxiJiZ0aGlzLndoLnRoZW4oYz0+e2MuSlAoKX0pKX14aChhKXthLmtleT09PSJFc2NhcGUiJiZ0aGlzLnJoPy5ncz8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkmJnRoaXMuZ2V0KCJlbmFibGVDbG9zZUJ1dHRvbiIpJiZ0aGlzLmdldCgidmlzaWJsZSIpJiYoYS5zdG9wUHJvcGFnYXRpb24oKSxfLnduKHRoaXMsImNsb3NlY2xpY2siKSx0aGlzLnNldCgidmlzaWJsZSIsITEpKX1yZWdpc3RlclBhbm9Qcm92aWRlcihhLGIpe3RoaXMuc2V0KCJwYW5vUHJvdmlkZXIiLHtwcm92aWRlcjphLG9wdGlvbnM6Ynx8e319KX1mb2N1cygpe3ZhciBhPXRoaXMuX19nbTt0aGlzLmdldFZpc2libGUoKSYmIWEuZ2V0KCJwZW5kaW5nRm9jdXMiKSYmCmEuc2V0KCJwZW5kaW5nRm9jdXMiLCEwKX1nZXRQYW5vKCl7cmV0dXJuIHRoaXMuZ2V0KCJwYW5vIil9Z2V0U3RhdHVzKCl7cmV0dXJuIHRoaXMuZ2V0KCJzdGF0dXMiKX1zZXRQYW5vKGEpe3RoaXMuc2V0KCJwYW5vIixhKX1nZXRQaG90b2dyYXBoZXJQb3YoKXtyZXR1cm4gdGhpcy5nZXQoInBob3RvZ3JhcGhlclBvdiIpfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0KCJwb3NpdGlvbiIpfXNldFBvc2l0aW9uKGEpe3RoaXMuc2V0KCJwb3NpdGlvbiIsYSl9Z2V0UG92KCl7cmV0dXJuIHRoaXMuZ2V0KCJwb3YiKX1zZXRQb3YoYSl7dGhpcy5zZXQoInBvdiIsYSl9Z2V0TG9jYXRpb24oKXtyZXR1cm4gdGhpcy5nZXQoImxvY2F0aW9uIil9Z2V0TGlua3MoKXtyZXR1cm4gdGhpcy5nZXQoImxpbmtzIil9c2V0TGlua3MoYSl7dGhpcy5zZXQoImxpbmtzIixhKX1nZXRNb3Rpb25UcmFja2luZygpe3JldHVybiB0aGlzLmdldCgibW90aW9uVHJhY2tpbmciKX1zZXRNb3Rpb25UcmFja2luZyhhKXt0aGlzLnNldCgibW90aW9uVHJhY2tpbmciLAphKX1nZXRWaXNpYmxlKCl7cmV0dXJuIHRoaXMuZ2V0KCJ2aXNpYmxlIil9c2V0VmlzaWJsZShhKXt0aGlzLnNldCgidmlzaWJsZSIsYSl9Z2V0Wm9vbSgpe3JldHVybiB0aGlzLmdldCgiem9vbSIpfXNldFpvb20oYSl7dGhpcy5zZXQoInpvb20iLGEpfXNldE9wdGlvbnMoYSl7dGhpcy5zZXRWYWx1ZXMoYSl9fTtfLm10LnByb3RvdHlwZS5IdD1fLmhhKDI3KTtfLm10LnByb3RvdHlwZS5Fbj1fLmhhKDI1KTtfLm10LnByb3RvdHlwZS5zZXRPcHRpb25zPV8ubXQucHJvdG90eXBlLnNldE9wdGlvbnM7Xy5tdC5wcm90b3R5cGUuc2V0Wm9vbT1fLm10LnByb3RvdHlwZS5zZXRab29tO18ubXQucHJvdG90eXBlLmdldFpvb209Xy5tdC5wcm90b3R5cGUuZ2V0Wm9vbTtfLm10LnByb3RvdHlwZS5zZXRWaXNpYmxlPV8ubXQucHJvdG90eXBlLnNldFZpc2libGU7Xy5tdC5wcm90b3R5cGUuZ2V0VmlzaWJsZT1fLm10LnByb3RvdHlwZS5nZXRWaXNpYmxlOwpfLm10LnByb3RvdHlwZS5zZXRNb3Rpb25UcmFja2luZz1fLm10LnByb3RvdHlwZS5zZXRNb3Rpb25UcmFja2luZztfLm10LnByb3RvdHlwZS5nZXRNb3Rpb25UcmFja2luZz1fLm10LnByb3RvdHlwZS5nZXRNb3Rpb25UcmFja2luZztfLm10LnByb3RvdHlwZS5zZXRMaW5rcz1fLm10LnByb3RvdHlwZS5zZXRMaW5rcztfLm10LnByb3RvdHlwZS5nZXRMaW5rcz1fLm10LnByb3RvdHlwZS5nZXRMaW5rcztfLm10LnByb3RvdHlwZS5nZXRMb2NhdGlvbj1fLm10LnByb3RvdHlwZS5nZXRMb2NhdGlvbjtfLm10LnByb3RvdHlwZS5zZXRQb3Y9Xy5tdC5wcm90b3R5cGUuc2V0UG92O18ubXQucHJvdG90eXBlLmdldFBvdj1fLm10LnByb3RvdHlwZS5nZXRQb3Y7Xy5tdC5wcm90b3R5cGUuc2V0UG9zaXRpb249Xy5tdC5wcm90b3R5cGUuc2V0UG9zaXRpb247Xy5tdC5wcm90b3R5cGUuZ2V0UG9zaXRpb249Xy5tdC5wcm90b3R5cGUuZ2V0UG9zaXRpb247Cl8ubXQucHJvdG90eXBlLmdldFBob3RvZ3JhcGhlclBvdj1fLm10LnByb3RvdHlwZS5nZXRQaG90b2dyYXBoZXJQb3Y7Xy5tdC5wcm90b3R5cGUuc2V0UGFubz1fLm10LnByb3RvdHlwZS5zZXRQYW5vO18ubXQucHJvdG90eXBlLmdldFN0YXR1cz1fLm10LnByb3RvdHlwZS5nZXRTdGF0dXM7Xy5tdC5wcm90b3R5cGUuZ2V0UGFubz1fLm10LnByb3RvdHlwZS5nZXRQYW5vO18ubXQucHJvdG90eXBlLmZvY3VzPV8ubXQucHJvdG90eXBlLmZvY3VzO18ubXQucHJvdG90eXBlLnJlZ2lzdGVyUGFub1Byb3ZpZGVyPV8ubXQucHJvdG90eXBlLnJlZ2lzdGVyUGFub1Byb3ZpZGVyO18ubXQucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8ubXQucHJvdG90eXBlLmNvbnN0cnVjdG9yOwpfLlduKF8ubXQucHJvdG90eXBlLHt2aXNpYmxlOl8uY3MscGFubzpfLmJzLHBvc2l0aW9uOl8uTW0oXy5YbSkscG92Ol8uTW0oRWlhKSxtb3Rpb25UcmFja2luZzokcixwaG90b2dyYXBoZXJQb3Y6bnVsbCxsb2NhdGlvbjpudWxsLGxpbmtzOl8uR20oXy5JbShfLmttKSksc3RhdHVzOm51bGwsem9vbTpfLmFzLGVuYWJsZUNsb3NlQnV0dG9uOl8uY3N9KTtfLndtKF8ubXQpO18ubnQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnlsPVtdO3RoaXMucmg9dGhpcy5xaD10aGlzLnNoPW51bGx9cmVnaXN0ZXIoYSl7dmFyIGI9dGhpcy55bDt2YXIgYz1iLmxlbmd0aDtpZighY3x8YS56SW5kZXg+PWJbMF0uekluZGV4KXZhciBkPTA7ZWxzZSBpZihhLnpJbmRleD49YltjLTFdLnpJbmRleCl7Zm9yKGQ9MDtjLWQ+MTspe2xldCBlPWQrYz4+MTthLnpJbmRleD49YltlXS56SW5kZXg/Yz1lOmQ9ZX1kPWN9ZWxzZSBkPWM7Yi5zcGxpY2UoZCwwLGEpfXVucmVnaXN0ZXIoYSl7Xy5vbSh0aGlzLnlsLGEpfXNldENhcHR1cmUoYSxiKXt0aGlzLnFoPWE7dGhpcy5yaD1ifXJlbGVhc2VDYXB0dXJlKGEsYil7dGhpcy5xaD09PWEmJnRoaXMucmg9PT1iJiYodGhpcy5yaD10aGlzLnFoPW51bGwpfX07Xy5udC5wcm90b3R5cGUudEE9Xy5oYSgyOCk7Xy5QaWE9T2JqZWN0LmZyZWV6ZShbImV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtb3pDYW5jZWxGdWxsU2NyZWVuIiwibXNFeGl0RnVsbHNjcmVlbiJdKTtfLlFpYT1PYmplY3QuZnJlZXplKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0pO18uUmlhPU9iamVjdC5mcmVlemUoWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0pO18uU2lhPU9iamVjdC5mcmVlemUoWyJyZXF1ZXN0RnVsbHNjcmVlbiIsIndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuIiwibW96UmVxdWVzdEZ1bGxTY3JlZW4iLCJtc1JlcXVlc3RGdWxsc2NyZWVuIl0pO3ZhciBUZWE9Y2xhc3MgZXh0ZW5kcyB4aWF7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLk1yPWM7dGhpcy5yaD1kO3RoaXMuSmg9dGhpcy5Idj10aGlzLmprPXRoaXMub3ZlcmxheUxheWVyPW51bGw7dGhpcy5JaD0hMTt0aGlzLmRpdj1iO3RoaXMuc2V0KCJkZXZlbG9wZXJQcm92aWRlZERpdiIsdGhpcy5kaXYpO3RoaXMuUmw9Xy5tbyhuZXcgXy5qdChbXSkpO3RoaXMuTGg9bmV3IF8ueHE7dGhpcy5jb3B5cmlnaHRzPW5ldyBfLkVvO3RoaXMuQWg9bmV3IF8ueHE7dGhpcy5EaD1uZXcgXy54cTt0aGlzLkNoPW5ldyBfLnhxO3RoaXMuZ249Xy5tbyhfLm9lYShjLHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpKTt0aGlzLllyPW5ldyBfLmxvKG51bGwpO3ZhciBlPXRoaXMubWFya2Vycz1uZXcgXy54cTtlLnFoPSgpPT57ZS5xaD0oKT0+e307UHJvbWlzZS5hbGwoW18uSGwoIm1hcmtlciIpLHRoaXMuc2hdKS50aGVuKChbZixnXSk9PntmLk1DKGUsCmEsZyl9KX07dGhpcy54aD1uZXcgXy5tdChjLHt2aXNpYmxlOiExLGVuYWJsZUNsb3NlQnV0dG9uOiEwLG1hcmtlcnM6ZSxnbjp0aGlzLmduLFBwOnRoaXMuZGl2fSk7dGhpcy54aC5iaW5kVG8oImNvbnRyb2xTaXplIixhKTt0aGlzLnhoLmJpbmRUbygicmVwb3J0RXJyb3JDb250cm9sIixhKTt0aGlzLnhoLnRoPSEwO3RoaXMuemg9bmV3IF8ubnQ7dGhpcy53aD1uZXcgUHJvbWlzZShmPT57dGhpcy5XaD1mfSk7dGhpcy5zaT1uZXcgUHJvbWlzZShmPT57dGhpcy5kaT1mfSk7dGhpcy5xaD1uZXcgXy5odChhLHRoaXMpO3RoaXMuUGg9bmV3IF8uRW87dGhpcy5zaD10aGlzLnFoLnNKLnRoZW4oKCk9PnRoaXMucWguanc9PT0iVFJVRSIpO3RoaXMuQno9ZnVuY3Rpb24oZil7dGhpcy5xaC5CeihmKX07dGhpcy5zZXQoImlzSW5pdGlhbGl6ZWQiLCExKTt0aGlzLnhoLl9fZ20uYmluZFRvKCJpc01hcEluaXRpYWxpemVkIix0aGlzLCJpc0luaXRpYWxpemVkIik7dGhpcy5yaC50aGVuKCgpPT4Ke3RoaXMuc2V0KCJpc0luaXRpYWxpemVkIiwhMCl9KTt0aGlzLnNldCgiaXNNYXBCaW5kaW5nQ29tcGxldGUiLCExKTt0aGlzLkdoPW5ldyBQcm9taXNlKGY9PntfLnRuKHRoaXMsIm1hcGJpbmRpbmdjb21wbGV0ZSIsKCk9Pnt0aGlzLnNldCgiaXNNYXBCaW5kaW5nQ29tcGxldGUiLCEwKTtmKCl9KX0pO3RoaXMuT2g9bmV3IEJpYTt0aGlzLnNoLnRoZW4oZj0+e2YmJnRoaXMuamsmJnRoaXMuamsuQ2godGhpcy5PaC5xaCl9KTt0aGlzLnRoPW5ldyBNYXA7dGhpcy55aD1uZXcgTWFwO2I9WzIxMzMzNywyMTEyNDIsMjEzMzM4LDIxMTI0M107Yz1bMTIyNDQ3LC4uLmJdO3RoaXMuQmg9bmV3IHlpYSh7aHU6Xy5ObCxqdTpfLlBsLFpuOl8uT2wsaEQ6e01BUF9JTklUSUFMSVpBVElPTjpuZXcgU2V0KGMpLFZFQ1RPUl9NQVBfSU5JVElBTElaQVRJT046bmV3IFNldChiKX19KX19O3ZhciBvdD17VU5JTklUSUFMSVpFRDoiVU5JTklUSUFMSVpFRCIsUkFTVEVSOiJSQVNURVIiLFZFQ1RPUjoiVkVDVE9SIn07dmFyIG9xPWNsYXNzIGV4dGVuZHMgXy55bntzZXQoYSxiKXtpZihiIT1udWxsJiYhKGImJl8uam0oYi5tYXhab29tKSYmYi50aWxlU2l6ZSYmYi50aWxlU2l6ZS53aWR0aCYmYi50aWxlU2l6ZS5oZWlnaHQmJmIuZ2V0VGlsZSYmYi5nZXRUaWxlLmFwcGx5KSl0aHJvdyBFcnJvcigiRXhwZWN0ZWQgdmFsdWUgaW1wbGVtZW50aW5nIGdvb2dsZS5tYXBzLk1hcFR5cGUiKTtzdXBlci5zZXQoYSxiKX19O29xLnByb3RvdHlwZS5zZXQ9b3EucHJvdG90eXBlLnNldDtvcS5wcm90b3R5cGUuY29uc3RydWN0b3I9b3EucHJvdG90eXBlLmNvbnN0cnVjdG9yO3ZhciBVZWE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLnFoPSExO3RoaXMucmg9IlVOSU5JVElBTElaRUQifXJlbmRlcmluZ1R5cGVfY2hhbmdlZCgpe2lmKCF0aGlzLnFoJiZ0aGlzLmdldCgibWFwSGFzQmVlbkFibGVUb0JlRHJhd24iKSl0aHJvdyBwZWEodGhpcyksRXJyb3IoIlNldHRpbmcgbWFwICdyZW5kZXJpbmdUeXBlJyBhZnRlciBpbnN0YW50aWF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIik7fX07Xy5wdD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2g9bmV3IF8uYm8oMTI4LDEyOCk7dGhpcy5xaD0yNTYvMzYwO3RoaXMucmg9MjU2LygyKk1hdGguUEkpO3RoaXMud0Y9ITB9ZnJvbUxhdExuZ1RvUG9pbnQoYSxiPW5ldyBfLmJvKDAsMCkpe2E9Xy5YbShhKTt2YXIgYz10aGlzLnNoO2IueD1jLngrYS5sbmcoKSp0aGlzLnFoO2E9Xy5jbShNYXRoLnNpbihfLnRsKGEubGF0KCkpKSwtKDEtMUUtMTUpLDEtMUUtMTUpO2IueT1jLnkrLjUqTWF0aC5sb2coKDErYSkvKDEtYSkpKi10aGlzLnJoO3JldHVybiBifWZyb21Qb2ludFRvTGF0TG5nKGEsYj0hMSl7dmFyIGM9dGhpcy5zaDtyZXR1cm4gbmV3IF8uVG0oXy51bCgyKk1hdGguYXRhbihNYXRoLmV4cCgoYS55LWMueSkvLXRoaXMucmgpKS1NYXRoLlBJLzIpLChhLngtYy54KS90aGlzLnFoLGIpfX07dmFyIFRpYT1bMCxfLkJyLC0zXTtfLiRwPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfU9sKGEpe3JldHVybiBfLmtoKHRoaXMsOCxhKX1jbGVhckNvbG9yKCl7cmV0dXJuIF8uUWYodGhpcyw5KX19O18uJHAucHJvdG90eXBlLmtwPV8uaGEoMjkpO18uJHAucHJvdG90eXBlLnJoPV8uaGEoNSk7Xy5acD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uWnAucHJvdG90eXBlLnFrPV8uaGEoMzIpO3ZhciBKZWE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLllwPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5ZcC5wcm90b3R5cGUuQmk9Xy5oYSgzNCk7Xy5ZcC5wcm90b3R5cGUuRmk9Xy5oYSgzMyk7dmFyIEllYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRab29tKCl7cmV0dXJuIF8uTGcodGhpcywzKX1zZXRab29tKGEpe3JldHVybiBfLmRoKHRoaXMsMyxhKX19O3ZhciBLZWE9Xy4kaShJZWEsWzAsWzAsXy5QLC0xXSxfLlosXy5CcixbMCxfLkJyLC0xLF8uWl0sWzAsXy5aLF8uUiwtMSwxLF8uVSwtMSwxLF8uWSxbMCxfLlosLTEsXy51cixUaWEsXy5SLF8udXIsLTEsXy5aLFRpYSxfLnVyXSxbMCxfLkNyLF8uUl0sXy5SLC0yLF8uQ3IsXy55ciwyLF8uUiw4MixfLlJdLDEsXy5VLF8uWl0pO18uV3A9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnFoPWE7dGhpcy5yaD1ifWVxdWFscyhhKXtyZXR1cm4gYT90aGlzLnFoPT09YS5xaCYmdGhpcy5yaD09PWEucmg6ITF9fTtfLlVpYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm1pbj0wO3RoaXMubWF4PWE7dGhpcy5sZW5ndGg9YS0wfXdyYXAoYSl7cmV0dXJuIGEtTWF0aC5mbG9vcigoYS10aGlzLm1pbikvdGhpcy5sZW5ndGgpKnRoaXMubGVuZ3RofX07Xy5WaWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy53dj1hLnd2fHxudWxsO3RoaXMuWXc9YS5Zd3x8bnVsbH13cmFwKGEpe3JldHVybiBuZXcgXy5XcCh0aGlzLnd2P3RoaXMud3Yud3JhcChhLnFoKTphLnFoLHRoaXMuWXc/dGhpcy5Zdy53cmFwKGEucmgpOmEucmgpfX07Xy5XaWE9bmV3IF8uVmlhKHt3djpuZXcgXy5VaWEoMjU2KX0pO3ZhciBDZWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5yaD1hO3RoaXMudGlsdD1iO3RoaXMuaGVhZGluZz1jO3RoaXMucWg9ZDthPU1hdGguY29zKGIqTWF0aC5QSS8xODApO2I9TWF0aC5jb3MoYypNYXRoLlBJLzE4MCk7Yz1NYXRoLnNpbihjKk1hdGguUEkvMTgwKTt0aGlzLm0xMT10aGlzLnJoKmI7dGhpcy5tMTI9dGhpcy5yaCpjO3RoaXMubTIxPS10aGlzLnJoKmEqYzt0aGlzLm0yMj10aGlzLnJoKmEqYjt0aGlzLnNoPXRoaXMubTExKnRoaXMubTIyLXRoaXMubTEyKnRoaXMubTIxfWVxdWFscyhhKXtyZXR1cm4gYT90aGlzLm0xMT09PWEubTExJiZ0aGlzLm0xMj09PWEubTEyJiZ0aGlzLm0yMT09PWEubTIxJiZ0aGlzLm0yMj09PWEubTIyJiZ0aGlzLnFoPT09YS5xaDohMX19O3ZhciBZZWE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3ZhciBiPV8uZHIsYz1fLm1sKF8uSmwucmgoKSk7c3VwZXIoKTt0aGlzLkFoPV8uVW4oImNlbnRlciIpO3RoaXMueGg9Xy5Vbigic2l6ZSIpO3RoaXMueWg9dGhpcy5xaD10aGlzLnJoPXRoaXMud2g9bnVsbDt0aGlzLkJoPXRoaXMuQ2g9ITE7dGhpcy56aD1uZXcgXy5BcCgoKT0+e3ZhciBkPUZlYSh0aGlzKTtpZih0aGlzLnNoJiZ0aGlzLkNoKXRoaXMueWghPT1kJiZ0aGlzLnFoPy5yZW1vdmUoKTtlbHNle3ZhciBlPSIiLGY9dGhpcy5BaCgpLGc9RGVhKHRoaXMpLGg9dGhpcy54aCgpO2lmKGgpe2lmKGYmJmlzRmluaXRlKGYubGF0KCkpJiZpc0Zpbml0ZShmLmxuZygpKSYmZz4xJiZkIT1udWxsJiZoJiZoLndpZHRoJiZoLmhlaWdodCYmdGhpcy5yaCl7Xy5RcCh0aGlzLnJoLGgpO2lmKGY9Xy5Cbyh0aGlzLkdoLGYsZykpe3ZhciBrPW5ldyBfLnlvO2subWluWD1NYXRoLnJvdW5kKGYueC1oLndpZHRoLzIpOwprLm1heFg9ay5taW5YK2gud2lkdGg7ay5taW5ZPU1hdGgucm91bmQoZi55LWguaGVpZ2h0LzIpO2subWF4WT1rLm1pblkraC5oZWlnaHQ7Zj1rfWVsc2UgZj1udWxsO2s9WGlhW2RdO2YmJih0aGlzLkNoPSEwLHRoaXMueWg9ZCx0aGlzLnNoJiZ0aGlzLnFoJiYoZT1fLlZwKGcsMCwwKSx0aGlzLnNoLnNldCh7aW1hZ2U6dGhpcy5xaCxib3VuZHM6e21pbjpfLlhwKGUse1hoOmYubWluWCxZaDpmLm1pbll9KSxtYXg6Xy5YcChlLHtYaDpmLm1heFgsWWg6Zi5tYXhZfSl9LHNpemU6e3dpZHRoOmgud2lkdGgsaGVpZ2h0OmguaGVpZ2h0fX0pKSxlPUxlYSh0aGlzLGYsZyxkLGspKX10aGlzLnFoJiYoXy5RcCh0aGlzLnFoLGgpLEhlYSh0aGlzLGUpKX19fSwwKTt0aGlzLkpoPWI7dGhpcy5HaD1uZXcgXy5wdDt0aGlzLnRoPWMrIi9tYXBzL2FwaS9qcy9TdGF0aWNNYXBTZXJ2aWNlLkdldE1hcEltYWdlIjt0aGlzLnNoPW5ldyBfLmxvKG51bGwpO3RoaXMuc2V0KCJkaXYiLGEpO3RoaXMuc2V0KCJsb2FkaW5nIiwKITApO3RoaXMuc2V0KCJjb2xvclRoZW1lIiwxKX1nZXREaXYoKXtyZXR1cm4gbnVsbH1jaGFuZ2VkKCl7dmFyIGE9dGhpcy5BaCgpLGI9RGVhKHRoaXMpLGM9RmVhKHRoaXMpLGQ9ISF0aGlzLnhoKCksZT10aGlzLmdldCgibWFwSWQiKTtpZihhJiYhYS5lcXVhbHModGhpcy5EaCl8fHRoaXMuSWghPT1ifHx0aGlzLkZoIT09Y3x8dGhpcy5CaCE9PWR8fHRoaXMud2ghPT1lKXRoaXMuSWg9Yix0aGlzLkZoPWMsdGhpcy5CaD1kLHRoaXMud2g9ZSx0aGlzLnNofHx0aGlzLnFoPy5yZW1vdmUoKSx0aGlzLnpoLkRpKCk7dGhpcy5EaD1hfWRpdl9jaGFuZ2VkKCl7dmFyIGE9dGhpcy5nZXQoImRpdiIpLGI9dGhpcy5yaDtpZihhKWlmKGIpYS5hcHBlbmRDaGlsZChiKTtlbHNle2I9dGhpcy5yaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2xldCBjPXRoaXMucWg9Xy53bCgiSU1HIik7Xy5xbihiLCJjb250ZXh0bWVudSIsZD0+e18uZm4oZCk7Cl8uaG4oZCl9KTtjLm9udG91Y2hzdGFydD1jLm9udG91Y2htb3ZlPWMub250b3VjaGVuZD1jLm9udG91Y2hjYW5jZWw9ZD0+e18uZ24oZCk7Xy5obihkKX07Yy5hbHQ9IiI7Xy5RcChjLF8ucW8pO2EuYXBwZW5kQ2hpbGQoYik7Xy5CcCh0aGlzLnpoKX1lbHNlIGImJihiLnJlbW92ZSgpLHRoaXMucmg9bnVsbCl9fSxFZWE9e3JvYWRtYXA6MCxzYXRlbGxpdGU6MixoeWJyaWQ6Myx0ZXJyYWluOjR9LFhpYT17MDoxLDI6MiwzOjIsNDoyfTt2YXIgWWlhPWNsYXNze2NvbnN0cnVjdG9yKCl7UGNhKHRoaXMpfWFkZExpc3RlbmVyKGEsYil7cmV0dXJuIF8ua24odGhpcyxhLGIpfXhpKGEsYixjKXt0aGlzLmNvbnN0cnVjdG9yPT09YiYmUm0oYSx0aGlzLGMpfX07Xy5aaWE9Xy5DbSh7ZmlsbENvbG9yOl8uTW0oXy5kcyksZmlsbE9wYWNpdHk6Xy5NbShfLlpyKSxzdHJva2VDb2xvcjpfLk1tKF8uZHMpLHN0cm9rZU9wYWNpdHk6Xy5NbShfLlpyKSxzdHJva2VXZWlnaHQ6Xy5NbShfLlpyKSxwb2ludFJhZGl1czpfLk1tKF8uTG0oXy5ZcixhPT57aWYoYTw9MTI4KXJldHVybiBhO3Rocm93IF8uQW0oIlRoZSBtYXggYWxsb3dlZCBwb2ludFJhZGl1cyB2YWx1ZSBpcyAxMjhweC4iKTt9KSl9LCExLCJGZWF0dXJlU3R5bGVPcHRpb25zIik7Xy5xdD1jbGFzcyBleHRlbmRzIFlpYXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuc2g9dGhpcy5xaD1udWxsO3RoaXMucmg9ITA7dGhpcy5tYXA9YS5tYXA7dGhpcy53aD1hLmZlYXR1cmVUeXBlO3RoaXMueGg9YS5kYXRhc2V0SWQ7dGhpcy50aD1hLkRzfWdldCBmZWF0dXJlVHlwZSgpe3JldHVybiB0aGlzLndofXNldCBmZWF0dXJlVHlwZShhKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdnb29nbGUubWFwcy5GZWF0dXJlTGF5ZXIgImZlYXR1cmVUeXBlIiBpcyByZWFkLW9ubHkuJyk7fWdldCBpc0F2YWlsYWJsZSgpe3JldHVybiBNZWEodGhpcykuaXNBdmFpbGFibGV9c2V0IGlzQXZhaWxhYmxlKGEpe3Rocm93IG5ldyBUeXBlRXJyb3IoJ2dvb2dsZS5tYXBzLkZlYXR1cmVMYXllciAiaXNBdmFpbGFibGUiIGlzIHJlYWQtb25seS4nKTt9Z2V0IHN0eWxlKCl7YXEodGhpcywiZ29vZ2xlLm1hcHMuRmVhdHVyZUxheWVyLnN0eWxlIik7cmV0dXJuIHRoaXMucWh9c2V0IHN0eWxlKGEpe2lmKGEpdHJ5e3ZhciBiPQpfLkttKFtpaGEsXy5aaWFdKShhKX1jYXRjaChjKXt0aHJvdyBfLkFtKCJnb29nbGUubWFwcy5GZWF0dXJlTGF5ZXIuc3R5bGUiLGMpO31lbHNlIGI9bnVsbDt0aGlzLnFoPWI7YXEodGhpcywiZ29vZ2xlLm1hcHMuRmVhdHVyZUxheWVyLnN0eWxlIikuaXNBdmFpbGFibGUmJihicSh0aGlzLHRoaXMucWgpLHRoaXMuZmVhdHVyZVR5cGU9PT0iREFUQVNFVCI/Xy5NKHRoaXMubWFwLDE3NzI5NCk6Xy5NKHRoaXMubWFwLDE1MTU1NSkpfWdldCBpc0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5yaH1zZXQgaXNFbmFibGVkKGEpe3RoaXMucmghPT1hJiYodGhpcy5yaD1hLHRoaXMuY0koKSl9Z2V0IGRhdGFzZXRJZCgpe3JldHVybiB0aGlzLnhofXNldCBkYXRhc2V0SWQoYSl7dGhyb3cgbmV3IFR5cGVFcnJvcignZ29vZ2xlLm1hcHMuRmVhdHVyZUxheWVyICJkYXRhc2V0SWQiIGlzIHJlYWQtb25seS4nKTt9Z2V0IERzKCl7cmV0dXJuIHRoaXMudGh9c2V0IERzKGEpe3RoaXMudGg9YX1hZGRMaXN0ZW5lcihhLApiKXthcSh0aGlzLCJnb29nbGUubWFwcy5GZWF0dXJlTGF5ZXIuYWRkTGlzdGVuZXIiKTthPT09ImNsaWNrIj90aGlzLmZlYXR1cmVUeXBlPT09IkRBVEFTRVQiP18uTSh0aGlzLm1hcCwxNzc4MjEpOl8uTSh0aGlzLm1hcCwxNDg4MzYpOmE9PT0ibW91c2Vtb3ZlIiYmKHRoaXMuZmVhdHVyZVR5cGU9PT0iREFUQVNFVCI/Xy5NKHRoaXMubWFwLDE4NjM5MSk6Xy5NKHRoaXMubWFwLDE4NjM5MCkpO3JldHVybiBzdXBlci5hZGRMaXN0ZW5lcihhLGIpfWNJKCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLnNoIT09dGhpcy5xaCYmYnEodGhpcyx0aGlzLnFoKTp0aGlzLnNoIT09bnVsbCYmYnEodGhpcyxudWxsKX19O18ucWIoY3EsVWwpO18uYWE9Y3EucHJvdG90eXBlO18uYWEuc2V0UG9zaXRpb249ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMubm9kZT1hKXRoaXMucmg9dHlwZW9mIGI9PT0ibnVtYmVyIj9iOnRoaXMubm9kZS5ub2RlVHlwZSE9MT8wOnRoaXMucWg/LTE6MTt0eXBlb2YgYz09PSJudW1iZXIiJiYodGhpcy5kZXB0aD1jKX07Xy5hYS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgY3EodGhpcy5ub2RlLHRoaXMucWgsIXRoaXMuc2gsdGhpcy5yaCx0aGlzLmRlcHRoKX07Cl8uYWEubmV4dD1mdW5jdGlvbigpe2lmKHRoaXMudGgpe2lmKCF0aGlzLm5vZGV8fHRoaXMuc2gmJnRoaXMuZGVwdGg9PTApcmV0dXJuIFdyO3ZhciBhPXRoaXMubm9kZTtsZXQgYz10aGlzLnFoPy0xOjE7aWYodGhpcy5yaD09Yyl7dmFyIGI9dGhpcy5xaD9hLmxhc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yj90aGlzLnNldFBvc2l0aW9uKGIpOnRoaXMuc2V0UG9zaXRpb24oYSxjKi0xKX1lbHNlKGI9dGhpcy5xaD9hLnByZXZpb3VzU2libGluZzphLm5leHRTaWJsaW5nKT90aGlzLnNldFBvc2l0aW9uKGIpOnRoaXMuc2V0UG9zaXRpb24oYS5wYXJlbnROb2RlLGMqLTEpO3RoaXMuZGVwdGgrPXRoaXMucmgqKHRoaXMucWg/LTE6MSl9ZWxzZSB0aGlzLnRoPSEwO3JldHVybihhPXRoaXMubm9kZSk/e3ZhbHVlOmEsZG9uZTohMX06V3J9O18uYWEuZXF1YWxzPWZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGU9PXRoaXMubm9kZSYmKCF0aGlzLm5vZGV8fGEucmg9PXRoaXMucmgpfTsKXy5hYS5zcGxpY2U9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5ub2RlLGM9dGhpcy5xaD8xOi0xO3RoaXMucmg9PWMmJih0aGlzLnJoPWMqLTEsdGhpcy5kZXB0aCs9dGhpcy5yaCoodGhpcy5xaD8tMToxKSk7dGhpcy5xaD0hdGhpcy5xaDtjcS5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMpO3RoaXMucWg9IXRoaXMucWg7Yz1fLllhKGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztmb3IobGV0IGQ9Yy5sZW5ndGgtMTtkPj0wO2QtLSlfLnhsKGNbZF0sYik7Xy55bChiKX07dmFyIE5lYT1jbGFzcyBleHRlbmRzIGNxe2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsdm9pZCAwLHZvaWQgMCxudWxsLHZvaWQgMCl9bmV4dCgpe2Rve2xldCBhPXN1cGVyLm5leHQoKTtpZihhLmRvbmUpcmV0dXJuIGF9d2hpbGUodGhpcy5yaD09LTEpO3JldHVybnt2YWx1ZTp0aGlzLm5vZGUsZG9uZTohMX19fTtfLmtxPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuYT0xNzI5O3RoaXMubT1hfWhhc2goYSl7dmFyIGI9dGhpcy5hLGM9dGhpcy5tLGQ9MDtmb3IobGV0IGU9MCxmPWEubGVuZ3RoO2U8ZjsrK2UpZCo9YixkKz1hW2VdLGQlPWM7cmV0dXJuIGR9fTt2YXIgT2VhPVJlZ0V4cCgiJyIsImciKSxscT1udWxsO3ZhciBxcT1udWxsLFplYT1uZXcgV2Vha01hcDtfLnFiKF8ucnEsXy5Mbik7T2JqZWN0LmZyZWV6ZSh7bGF0TG5nQm91bmRzOm5ldyBfLlJuKG5ldyBfLlRtKC04NSwtMTgwKSxuZXcgXy5UbSg4NSwxODApKSxzdHJpY3RCb3VuZHM6ITB9KTtfLnJxLnByb3RvdHlwZS5zdHJlZXRWaWV3X2NoYW5nZWQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgic3RyZWV0VmlldyIpO2E/YS5zZXQoInN0YW5kQWxvbmUiLCExKTp0aGlzLnNldCgic3RyZWV0VmlldyIsdGhpcy5fX2dtLnhoKX07Xy5ycS5wcm90b3R5cGUuZ2V0RGl2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX19nbS5kaXZ9O18ucnEucHJvdG90eXBlLmdldERpdj1fLnJxLnByb3RvdHlwZS5nZXREaXY7Xy5ycS5wcm90b3R5cGUucGFuQnk9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9fZ207cXE/Xy53bihjLCJwYW5ieSIsYSxiKTpfLkhsKCJtYXAiKS50aGVuKCgpPT57Xy53bihjLCJwYW5ieSIsYSxiKX0pfTsKXy5ycS5wcm90b3R5cGUucGFuQnk9Xy5ycS5wcm90b3R5cGUucGFuQnk7Xy5ycS5wcm90b3R5cGUubW92ZUNhbWVyYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLl9fZ207dHJ5e2E9dmlhKGEpfWNhdGNoKGMpe3Rocm93IF8uQW0oImludmFsaWQgQ2FtZXJhT3B0aW9ucyIsYyk7fWIuZ2V0KCJpc01hcEJpbmRpbmdDb21wbGV0ZSIpP18ud24oYiwibW92ZWNhbWVyYSIsYSk6Yi5HaC50aGVuKCgpPT57Xy53bihiLCJtb3ZlY2FtZXJhIixhKX0pfTtfLnJxLnByb3RvdHlwZS5tb3ZlQ2FtZXJhPV8ucnEucHJvdG90eXBlLm1vdmVDYW1lcmE7Cl8ucnEucHJvdG90eXBlLmdldEZlYXR1cmVMYXllcj1mdW5jdGlvbihhKXt0cnl7YT1fLkZtKHdpYSkoYSl9Y2F0Y2goZCl7dGhyb3cgZC5tZXNzYWdlPWBnb29nbGUubWFwcy5NYXAuZ2V0RmVhdHVyZUxheWVyOiBFeHBlY3RlZCB2YWxpZCBnb29nbGUubWFwcy5GZWF0dXJlVHlwZSwgYnV0IGdvdCAnJHthfSdgLGQ7fWlmKGE9PT0iUk9BRF9QSUxPVCIpdGhyb3cgXy5BbSgiZ29vZ2xlLm1hcHMuTWFwLmdldEZlYXR1cmVMYXllcjogRXhwZWN0ZWQgdmFsaWQgZ29vZ2xlLm1hcHMuRmVhdHVyZVR5cGUsIGJ1dCBnb3QgJ1JPQURfUElMT1QnIik7aWYoYT09PSJEQVRBU0VUIil0aHJvdyBfLkFtKCJnb29nbGUubWFwcy5NYXAuZ2V0RmVhdHVyZUxheWVyOiBBIGRhdGFzZXQgSUQgbXVzdCBiZSBzcGVjaWZpZWQgZm9yIEZlYXR1cmVMYXllcnMgdGhhdCBoYXZlIGZlYXR1cmVUeXBlIERBVEFTRVQuIFBsZWFzZSB1c2UgZ29vZ2xlLm1hcHMuTWFwLmdldERhdGFzZXRGZWF0dXJlTGF5ZXIoKSBpbnN0ZWFkLiIpOwpwcCh0aGlzLCJnb29nbGUubWFwcy5NYXAuZ2V0RmVhdHVyZUxheWVyIix7ZmVhdHVyZVR5cGU6YX0pO3N3aXRjaChhKXtjYXNlICJBRE1JTklTVFJBVElWRV9BUkVBX0xFVkVMXzEiOl8uTSh0aGlzLDE0ODkzNik7YnJlYWs7Y2FzZSAiQURNSU5JU1RSQVRJVkVfQVJFQV9MRVZFTF8yIjpfLk0odGhpcywxNDg5MzcpO2JyZWFrO2Nhc2UgIkNPVU5UUlkiOl8uTSh0aGlzLDE0ODkzOCk7YnJlYWs7Y2FzZSAiTE9DQUxJVFkiOl8uTSh0aGlzLDE0ODkzOSk7YnJlYWs7Y2FzZSAiUE9TVEFMX0NPREUiOl8uTSh0aGlzLDE0ODk0MSk7YnJlYWs7Y2FzZSAiUk9BRF9QSUxPVCI6Xy5NKHRoaXMsMTc4OTE0KTticmVhaztjYXNlICJTQ0hPT0xfRElTVFJJQ1QiOl8uTSh0aGlzLDE0ODk0Mil9dmFyIGI9dGhpcy5fX2dtO2lmKGIudGguaGFzKGEpKXJldHVybiBiLnRoLmdldChhKTt2YXIgYz1uZXcgXy5xdCh7bWFwOnRoaXMsZmVhdHVyZVR5cGU6YX0pO2MuaXNFbmFibGVkPSFiLkloO2IudGguc2V0KGEsCmMpO3JldHVybiBjfTtfLnJxLnByb3RvdHlwZS5nZXREYXRhc2V0RmVhdHVyZUxheWVyPWZ1bmN0aW9uKGEpe3RyeXsoMCxfLmRzKShhKX1jYXRjaChkKXt0aHJvdyBkLm1lc3NhZ2U9YGdvb2dsZS5tYXBzLk1hcC5nZXREYXRhc2V0RmVhdHVyZUxheWVyOiBFeHBlY3RlZCBub24tZW1wdHkgc3RyaW5nIGZvciBkYXRhc2V0SWQsIGJ1dCBnb3QgJHthfWAsZDt9cHAodGhpcywiZ29vZ2xlLm1hcHMuTWFwLmdldERhdGFzZXRGZWF0dXJlTGF5ZXIiLHtmZWF0dXJlVHlwZToiREFUQVNFVCIsZGF0YXNldElkOmF9KTt2YXIgYj10aGlzLl9fZ207aWYoYi55aC5oYXMoYSkpcmV0dXJuIGIueWguZ2V0KGEpO3ZhciBjPW5ldyBfLnF0KHttYXA6dGhpcyxmZWF0dXJlVHlwZToiREFUQVNFVCIsZGF0YXNldElkOmF9KTtjLmlzRW5hYmxlZD0hYi5JaDtiLnloLnNldChhLGMpO3JldHVybiBjfTsKXy5ycS5wcm90b3R5cGUucGFuVG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fX2dtO2E9Xy5ZbShhKTtiLmdldCgiaXNNYXBCaW5kaW5nQ29tcGxldGUiKT9fLnduKGIsInBhbnRvIixhKTpiLkdoLnRoZW4oKCk9PntfLnduKGIsInBhbnRvIixhKX0pfTtfLnJxLnByb3RvdHlwZS5wYW5Ubz1fLnJxLnByb3RvdHlwZS5wYW5UbztfLnJxLnByb3RvdHlwZS5wYW5Ub0JvdW5kcz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX19nbSxkPV8uVG4oYSk7Yy5nZXQoImlzTWFwQmluZGluZ0NvbXBsZXRlIik/Xy53bihjLCJwYW50b2xhdGxuZ2JvdW5kcyIsZCxiKTpjLkdoLnRoZW4oKCk9PntfLnduKGMsInBhbnRvbGF0bG5nYm91bmRzIixkLGIpfSl9O18ucnEucHJvdG90eXBlLnBhblRvQm91bmRzPV8ucnEucHJvdG90eXBlLnBhblRvQm91bmRzOwpfLnJxLnByb3RvdHlwZS5maXRCb3VuZHM9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9fZ20sZD1fLlRuKGEpO2MuZ2V0KCJpc01hcEJpbmRpbmdDb21wbGV0ZSIpP3FxLmZpdEJvdW5kcyh0aGlzLGQsYik6Yy5HaC50aGVuKCgpPT57cXEuZml0Qm91bmRzKHRoaXMsZCxiKX0pfTtfLnJxLnByb3RvdHlwZS5maXRCb3VuZHM9Xy5ycS5wcm90b3R5cGUuZml0Qm91bmRzO18ucnEucHJvdG90eXBlLkh0PV8uaGEoMjYpO18ucnEucHJvdG90eXBlLmdldE1hcENhcGFiaWxpdGllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9fZ20ucWguZ2V0TWFwQ2FwYWJpbGl0aWVzKCEwKX07Xy5ycS5wcm90b3R5cGUuZ2V0TWFwQ2FwYWJpbGl0aWVzPV8ucnEucHJvdG90eXBlLmdldE1hcENhcGFiaWxpdGllczsKdmFyIHNxPXtib3VuZHM6bnVsbCxjZW50ZXI6Xy5NbShfLlltKSxjbGlja2FibGVJY29uczokcixoZWFkaW5nOl8uYXMsbWFwVHlwZUlkOmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsPyJyb2FkbWFwIjooMCxfLmNyKShhKX0sbWFwSWQ6Xy5icyxwcm9qZWN0aW9uOm51bGwscmVuZGVyaW5nVHlwZTpfLkZtKG90KSx0aWx0SW50ZXJhY3Rpb25FbmFibGVkOiRyLGhlYWRpbmdJbnRlcmFjdGlvbkVuYWJsZWQ6JHIscmVzdHJpY3Rpb246ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gbnVsbDthPV8uQ20oe3N0cmljdEJvdW5kczpfLmNzLGxhdExuZ0JvdW5kczpfLlRufSkoYSk7dmFyIGI9YS5sYXRMbmdCb3VuZHM7aWYoIShiLmxhdC5oaT5iLmxhdC5sbykpdGhyb3cgXy5BbSgic291dGggbGF0aXR1ZGUgbXVzdCBiZSBzbWFsbGVyIHRoYW4gbm9ydGggbGF0aXR1ZGUiKTtpZigoYi5sbmcuaGk9PT0tMTgwPzE4MDpiLmxuZy5oaSk9PT1iLmxuZy5sbyl0aHJvdyBfLkFtKCJlYXN0ZXJuIGxvbmdpdHVkZSBjYW5ub3QgZXF1YWwgd2VzdGVybiBsb25naXR1ZGUiKTsKcmV0dXJuIGF9LHN0cmVldFZpZXc6d3MsdGlsdDpfLmFzLHpvb206Xy5hcyxpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHM6Xy5NbShfLkhtKF8uZHMsMSkpfTtfLlduKF8ucnEucHJvdG90eXBlLHNxKTt2YXIgJGlhPWNsYXNzIGV4dGVuZHMgRXZlbnR7Y29uc3RydWN0b3IoKXtzdXBlcigiZ21wLXpvb21jaGFuZ2UiLHtidWJibGVzOiEwfSl9fTt2YXIgYWphPXtLaDohMCx0eXBlOlN0cmluZyxmaTphdCxOaDohMSxuajplcH0sJGVhPShhPWFqYSxiLGMpPT57dmFyIGQ9Yy5raW5kLGU9Yy5tZXRhZGF0YSxmPWJ0LmdldChlKTtmPT09dm9pZCAwJiZidC5zZXQoZSxmPW5ldyBNYXApO2Q9PT0ic2V0dGVyIiYmKGE9T2JqZWN0LmNyZWF0ZShhKSxhLld6PSEwKTtmLnNldChjLm5hbWUsYSk7aWYoZD09PSJhY2Nlc3NvciIpe2xldCBnPWMubmFtZTtyZXR1cm57c2V0KGgpe3ZhciBrPWIuZ2V0LmNhbGwodGhpcyk7Yi5zZXQuY2FsbCh0aGlzLGgpO18uY3AodGhpcyxnLGssYSwhMCxoKX0saW5pdChoKXtoIT09dm9pZCAwJiZ0aGlzLldrKGcsdm9pZCAwLGEsaCk7cmV0dXJuIGh9fX1pZihkPT09InNldHRlciIpe2xldCBnPWMubmFtZTtyZXR1cm4gZnVuY3Rpb24oaCl7dmFyIGs9dGhpc1tnXTtiLmNhbGwodGhpcyxoKTtfLmNwKHRoaXMsZyxrLGEsITAsaCl9fXRocm93IEVycm9yKGBVbnN1cHBvcnRlZCBkZWNvcmF0b3IgbG9jYXRpb246ICR7ZH1gKTsKfTtfLmFmYT0oYSxiLGMpPT57Yy5jb25maWd1cmFibGU9ITA7Yy5lbnVtZXJhYmxlPSEwO1JlZmxlY3QuRVMmJnR5cGVvZiBiIT09Im9iamVjdCImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGIsYyk7cmV0dXJuIGN9O3ZhciBmcj1jbGFzcyBleHRlbmRzIF8uZXR7c3RhdGljIGdldCBQbSgpe3JldHVybnsuLi5fLmV0LlBtLGRlbGVnYXRlc0ZvY3VzOiEwfX1zZXQgY2VudGVyKGEpe2lmKGEhPT1udWxsfHwhdGhpcy53ayl0cnl7bGV0IGI9Xy5ZbShhKTt0aGlzLmlubmVyTWFwLnNldENlbnRlcihiKX1jYXRjaChiKXt0aHJvdyBfLmlwKHRoaXMsImNlbnRlciIsYSxiKTt9fWdldCBjZW50ZXIoKXtyZXR1cm4gdGhpcy5pbm5lck1hcC5nZXRDZW50ZXIoKT8/bnVsbH1zZXQgbWFwSWQoYSl7dHJ5e3RoaXMuaW5uZXJNYXAuc2V0KCJtYXBJZCIsKDAsXy5icykoYSk/P3ZvaWQgMCl9Y2F0Y2goYil7dGhyb3cgXy5pcCh0aGlzLCJtYXBJZCIsYSxiKTt9fWdldCBtYXBJZCgpe3JldHVybiB0aGlzLmlubmVyTWFwLmdldCgibWFwSWQiKT8/bnVsbH1zZXQgem9vbShhKXtpZihhIT09bnVsbHx8IXRoaXMud2spdHJ5e3RoaXMuaW5uZXJNYXAuc2V0Wm9vbShobyhhKSl9Y2F0Y2goYil7dGhyb3cgXy5pcCh0aGlzLAoiem9vbSIsYSxiKTt9fWdldCB6b29tKCl7cmV0dXJuIHRoaXMuaW5uZXJNYXAuZ2V0Wm9vbSgpPz9udWxsfXNldCByZW5kZXJpbmdUeXBlKGEpe3RyeXt0aGlzLmlubmVyTWFwLnNldCgicmVuZGVyaW5nVHlwZSIsYT09bnVsbD8iVU5JTklUSUFMSVpFRCI6Xy5GbShvdCkoYSkpfWNhdGNoKGIpe3Rocm93IF8uaXAodGhpcywicmVuZGVyaW5nVHlwZSIsYSxiKTt9fWdldCByZW5kZXJpbmdUeXBlKCl7cmV0dXJuIHRoaXMuaW5uZXJNYXAuZ2V0KCJyZW5kZXJpbmdUeXBlIik/P251bGx9c2V0IHRpbHRJbnRlcmFjdGlvbkRpc2FibGVkKGEpe3RyeXt0aGlzLmlubmVyTWFwLnNldCgidGlsdEludGVyYWN0aW9uRW5hYmxlZCIsYT09bnVsbD9udWxsOiEkcihhKSl9Y2F0Y2goYil7dGhyb3cgXy5pcCh0aGlzLCJ0aWx0SW50ZXJhY3Rpb25EaXNhYmxlZCIsYSxiKTt9fWdldCB0aWx0SW50ZXJhY3Rpb25EaXNhYmxlZCgpe3ZhciBhPXRoaXMuaW5uZXJNYXAuZ2V0KCJ0aWx0SW50ZXJhY3Rpb25FbmFibGVkIik7CnJldHVybiB0eXBlb2YgYT09PSJib29sZWFuIj8hYTphfXNldCBoZWFkaW5nSW50ZXJhY3Rpb25EaXNhYmxlZChhKXt0cnl7dGhpcy5pbm5lck1hcC5zZXQoImhlYWRpbmdJbnRlcmFjdGlvbkVuYWJsZWQiLGE9PW51bGw/bnVsbDohJHIoYSkpfWNhdGNoKGIpe3Rocm93IF8uaXAodGhpcywiaGVhZGluZ0ludGVyYWN0aW9uRGlzYWJsZWQiLGEsYik7fX1nZXQgaGVhZGluZ0ludGVyYWN0aW9uRGlzYWJsZWQoKXt2YXIgYT10aGlzLmlubmVyTWFwLmdldCgiaGVhZGluZ0ludGVyYWN0aW9uRW5hYmxlZCIpO3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIj8hYTphfXNldCBpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMoYSl7dGhpcy5pbm5lck1hcC5zZXQoImludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyIsXy5rcCh0aGlzLCJpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMiLF8uTW0oXy5IbShfLmRzLDEpKSxhKSl9Z2V0IGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcygpe3JldHVybiB0aGlzLmlubmVyTWFwLmdldEludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcygpPz8KbnVsbH1jb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLlhyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuWHIuZGlyPSIiO3RoaXMuaW5uZXJNYXA9bmV3IF8ucnEodGhpcy5Ycik7Xy5ncCh0aGlzLCJpbm5lck1hcCIpO18ubXEuc2V0KHRoaXMsdGhpcy5pbm5lck1hcCk7dmFyIGI9ImNlbnRlciB6b29tIG1hcElkIHJlbmRlcmluZ1R5cGUgdGlsdEludGVyYWN0aW9uRW5hYmxlZCBoZWFkaW5nSW50ZXJhY3Rpb25FbmFibGVkIGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyIuc3BsaXQoIiAiKTtmb3IobGV0IGMgb2YgYil0aGlzLmlubmVyTWFwLmFkZExpc3RlbmVyKGAke2MudG9Mb3dlckNhc2UoKX1fY2hhbmdlZGAsKCk9Pntzd2l0Y2goYyl7Y2FzZSAidGlsdEludGVyYWN0aW9uRW5hYmxlZCI6Xy5jcCh0aGlzLCJ0aWx0SW50ZXJhY3Rpb25EaXNhYmxlZCIpO2JyZWFrO2Nhc2UgImhlYWRpbmdJbnRlcmFjdGlvbkVuYWJsZWQiOl8uY3AodGhpcywiaGVhZGluZ0ludGVyYWN0aW9uRGlzYWJsZWQiKTsKYnJlYWs7ZGVmYXVsdDpfLmNwKHRoaXMsYyl9aWYoYz09PSJ6b29tIil7dmFyIGQ9bmV3ICRpYTt0aGlzLmRpc3BhdGNoRXZlbnQoZCl9fSk7YS5jZW50ZXIhPW51bGwmJih0aGlzLmNlbnRlcj1hLmNlbnRlcik7YS56b29tIT1udWxsJiYodGhpcy56b29tPWEuem9vbSk7YS5tYXBJZCE9bnVsbCYmKHRoaXMubWFwSWQ9YS5tYXBJZCk7YS5yZW5kZXJpbmdUeXBlIT1udWxsJiYodGhpcy5yZW5kZXJpbmdUeXBlPWEucmVuZGVyaW5nVHlwZSk7YS50aWx0SW50ZXJhY3Rpb25EaXNhYmxlZCE9bnVsbCYmKHRoaXMudGlsdEludGVyYWN0aW9uRGlzYWJsZWQ9YS50aWx0SW50ZXJhY3Rpb25EaXNhYmxlZCk7YS5oZWFkaW5nSW50ZXJhY3Rpb25EaXNhYmxlZCE9bnVsbCYmKHRoaXMuaGVhZGluZ0ludGVyYWN0aW9uRGlzYWJsZWQ9YS5oZWFkaW5nSW50ZXJhY3Rpb25EaXNhYmxlZCk7YS5pbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMhPW51bGwmJih0aGlzLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcz0KYS5pbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMpO3RoaXMucWg9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoYz0+e2ZvcihsZXQgZCBvZiBjKWQuYXR0cmlidXRlTmFtZT09PSJkaXIiJiYoXy53bih0aGlzLmlubmVyTWFwLCJzaG91bGRVc2VSVExDb250cm9sc0NoYW5nZSIpLF8ud24odGhpcy5pbm5lck1hcC5fX2dtLnhoLCJzaG91bGRVc2VSVExDb250cm9sc0NoYW5nZSIpKX0pO3RoaXMueGkoYSxmciwiTWFwRWxlbWVudCIpO18uTSh3aW5kb3csMTc4OTI0KX16aCgpe3RoaXMuUGs/LmFwcGVuZCh0aGlzLlhyKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7dGhpcy5xaC5vYnNlcnZlKHRoaXMse2F0dHJpYnV0ZXM6ITB9KTt0aGlzLnFoLm9ic2VydmUodGhpcy5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx7YXR0cmlidXRlczohMH0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTt0aGlzLnFoLmRpc2Nvbm5lY3QoKX19Owpmci5wcm90b3R5cGUuY29uc3RydWN0b3I9ZnIucHJvdG90eXBlLmNvbnN0cnVjdG9yO2ZyLnN0eWxlcz0oMCxfLiRzKWAKICAgIDpob3N0IHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICB9CiAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICBkaXNwbGF5OiBub25lOwogICAgfQogICAgOmhvc3QgPiBkaXYgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQogIGA7ZnIuSWk9e0tpOjE4MTU3NSxKaToxODE1NzR9O18uRChbXy50cSh7Zmk6ey4uLlJoYSxhazphPT5hP1JoYS5hayhhKTooY29uc29sZS5lcnJvcihgQ291bGQgbm90IGludGVycHJldCAiJHthfSIgYXMgYSBMYXRMbmcuYCksbnVsbCl9LG5qOmZwLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLGZyLnByb3RvdHlwZSwiY2VudGVyIixudWxsKTtfLkQoW18udHEoe0toOiJtYXAtaWQiLG5qOmZwLHR5cGU6U3RyaW5nLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLGZyLnByb3RvdHlwZSwibWFwSWQiLG51bGwpOwpfLkQoW18udHEoe2ZpOnthazphPT57dmFyIGI9TnVtYmVyKGEpO3JldHVybiBhPT09bnVsbHx8YT09PSIifHxpc05hTihiKT8oY29uc29sZS5lcnJvcihgQ291bGQgbm90IGludGVycHJldCAiJHthfSIgYXMgYSBudW1iZXIuYCksbnVsbCk6Yn0sTGo6YT0+YT09PW51bGw/bnVsbDpTdHJpbmcoYSl9LG5qOmZwLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLGZyLnByb3RvdHlwZSwiem9vbSIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoicmVuZGVyaW5nLXR5cGUiLGZpOl8ud28ob3QpLG5qOmZwLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLGZyLnByb3RvdHlwZSwicmVuZGVyaW5nVHlwZSIsbnVsbCk7Cl8uRChbXy50cSh7S2g6InRpbHQtaW50ZXJhY3Rpb24tZGlzYWJsZWQiLHR5cGU6Qm9vbGVhbixuajpmcCxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxmci5wcm90b3R5cGUsInRpbHRJbnRlcmFjdGlvbkRpc2FibGVkIixudWxsKTtfLkQoW18udHEoe0toOiJoZWFkaW5nLWludGVyYWN0aW9uLWRpc2FibGVkIix0eXBlOkJvb2xlYW4sbmo6ZnAsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sZnIucHJvdG90eXBlLCJoZWFkaW5nSW50ZXJhY3Rpb25EaXNhYmxlZCIsbnVsbCk7Cl8uRChbXy50cSh7S2g6ImludGVybmFsLXVzYWdlLWF0dHJpYnV0aW9uLWlkcyIsZmk6Xy5EcyxuajpmcCxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxmci5wcm90b3R5cGUsImludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyIsbnVsbCk7dmFyIGdnYT0hMTtfLmJqYT17Qk9VTkNFOjEsRFJPUDoyLExSOjMseFI6NCwxOiJCT1VOQ0UiLDI6IkRST1AiLDM6IlJBSVNFIiw0OiJMT1dFUiJ9O3ZhciBlZmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLnVybD1hO3RoaXMub3JpZ2luPWM7dGhpcy5hbmNob3I9ZDt0aGlzLnNjYWxlZFNpemU9ZTt0aGlzLmxhYmVsT3JpZ2luPW51bGw7dGhpcy5zaXplPWJ8fGV9fTt2YXIgcnQ9Y2xhc3N7Y29uc3RydWN0b3IoKXtfLkhsKCJtYXh6b29tIil9Z2V0TWF4Wm9vbUF0TGF0TG5nKGEsYil7Xy5NKHdpbmRvdywxNTQzMzIpO3ZhciBjPV8uSGwoIm1heHpvb20iKS50aGVuKGQ9PmQuZ2V0TWF4Wm9vbUF0TGF0TG5nKGEsYikpO2ImJmMuY2F0Y2goKCk9Pnt9KTtyZXR1cm4gY319O3J0LnByb3RvdHlwZS5nZXRNYXhab29tQXRMYXRMbmc9cnQucHJvdG90eXBlLmdldE1heFpvb21BdExhdExuZztydC5wcm90b3R5cGUuY29uc3RydWN0b3I9cnQucHJvdG90eXBlLmNvbnN0cnVjdG9yO3ZhciBkZmE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7Xy5ybSgiVGhlIEZ1c2lvbiBUYWJsZXMgc2VydmljZSB3aWxsIGJlIHR1cm5lZCBkb3duIGluIERlY2VtYmVyIDIwMTkgKHNlZSBodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS9mdXNpb250YWJsZXMvYW5zd2VyLzkxODU0MTcpLiBNYXBzIEFQSSB2ZXJzaW9uIDMuMzcgaXMgdGhlIGxhc3QgdmVyc2lvbiB0aGF0IHdpbGwgc3VwcG9ydCBGdXNpb25UYWJsZXNMYXllci4iKTtpZighYXx8Xy5tbShhKXx8Xy5qbShhKSl7bGV0IGI9YXJndW1lbnRzWzFdO3RoaXMuc2V0KCJ0YWJsZUlkIixhKTt0aGlzLnNldFZhbHVlcyhiKX1lbHNlIHRoaXMuc2V0VmFsdWVzKGEpfX07Xy5XbihkZmEucHJvdG90eXBlLHttYXA6Xy5ocyx0YWJsZUlkOl8uYXMscXVlcnk6Xy5NbShfLkttKFtfLmNyLF8uSW0oXy5rbSwibm90IGFuIE9iamVjdCIpXSkpfSk7dmFyIHN0O3N0PW51bGw7Xy50dD1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubmwoKX1ubCgpe31nZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldE1hcChhKXt0aGlzLnNldCgibWFwIixhKX1nZXRQYW5lcygpe3JldHVybiB0aGlzLmdldCgicGFuZXMiKX1nZXRQcm9qZWN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0KCJwcm9qZWN0aW9uIil9cmVtb3ZlKCl7fW1hcF9jaGFuZ2VkKCl7c3Q/c3QucUcodGhpcyk6Xy5IbCgib3ZlcmxheSIpLnRoZW4oYT0+e3N0PWE7YS5xRyh0aGlzKX0pfXN0YXRpYyBwcmV2ZW50TWFwSGl0c0Zyb20oYSl7Xy5IbCgib3ZlcmxheSIpLnRoZW4oYj0+e3N0PWI7Yi5wcmV2ZW50TWFwSGl0c0Zyb20oYSl9KX1zdGF0aWMgcHJldmVudE1hcEhpdHNBbmRHZXN0dXJlc0Zyb20oYSl7Xy5IbCgib3ZlcmxheSIpLnRoZW4oYj0+e3N0PWI7Yi5wcmV2ZW50TWFwSGl0c0FuZEdlc3R1cmVzRnJvbShhKX0pfX07Cl8udHQucHJldmVudE1hcEhpdHNBbmRHZXN0dXJlc0Zyb209Xy50dC5wcmV2ZW50TWFwSGl0c0FuZEdlc3R1cmVzRnJvbTtfLnR0LnByZXZlbnRNYXBIaXRzRnJvbT1fLnR0LnByZXZlbnRNYXBIaXRzRnJvbTtfLnR0LnByb3RvdHlwZS5nZXRQcm9qZWN0aW9uPV8udHQucHJvdG90eXBlLmdldFByb2plY3Rpb247Xy50dC5wcm90b3R5cGUuZ2V0UGFuZXM9Xy50dC5wcm90b3R5cGUuZ2V0UGFuZXM7Xy50dC5wcm90b3R5cGUuc2V0TWFwPV8udHQucHJvdG90eXBlLnNldE1hcDtfLnR0LnByb3RvdHlwZS5nZXRNYXA9Xy50dC5wcm90b3R5cGUuZ2V0TWFwO18udHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8udHQucHJvdG90eXBlLmNvbnN0cnVjdG9yO18uV24oXy50dC5wcm90b3R5cGUse3BhbmVzOm51bGwscHJvamVjdGlvbjpudWxsLG1hcDpfLkttKFtfLmhzLHdzXSl9KTtfLndtKF8udHQpO3ZhciB1dD1jbGFzcyBleHRlbmRzIF8ueW57Z2V0TWFwKCl7cmV0dXJuIHRoaXMuZ2V0KCJtYXAiKX1zZXRNYXAoYSl7dGhpcy5zZXQoIm1hcCIsYSl9Z2V0RHJhZ2dhYmxlKCl7cmV0dXJuIHRoaXMuZ2V0KCJkcmFnZ2FibGUiKX1zZXREcmFnZ2FibGUoYSl7dGhpcy5zZXQoImRyYWdnYWJsZSIsYSl9Z2V0RWRpdGFibGUoKXtyZXR1cm4gdGhpcy5nZXQoImVkaXRhYmxlIil9c2V0RWRpdGFibGUoYSl7dGhpcy5zZXQoImVkaXRhYmxlIixhKX1zZXRWaXNpYmxlKGEpe3RoaXMuc2V0KCJ2aXNpYmxlIixhKX1nZXRWaXNpYmxlKCl7cmV0dXJuIHRoaXMuZ2V0KCJ2aXNpYmxlIil9Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnhoPXRoaXMuUng9dGhpcy5VbD0hMTt0aGlzLnNldCgibGF0TG5ncyIsbmV3IF8uRW8oW25ldyBfLkVvXSkpO3RoaXMuc2V0VmFsdWVzKE1vKGEpKTtfLkhsKCJwb2x5Iil9Z2V0UGF0aCgpe3JldHVybiB0aGlzLmdldCgibGF0TG5ncyIpLmdldEF0KDApfXNldFBhdGgoYSl7dHJ5e3RoaXMuZ2V0KCJsYXRMbmdzIikuc2V0QXQoMCwKTm8oYSkpfWNhdGNoKGIpe18uQm0oYil9fW1hcF9jaGFuZ2VkKCl7YmZhKHRoaXMpfXZpc2libGVfY2hhbmdlZCgpe2JmYSh0aGlzKX19O3V0LnByb3RvdHlwZS5zZXRQYXRoPXV0LnByb3RvdHlwZS5zZXRQYXRoO3V0LnByb3RvdHlwZS5nZXRQYXRoPXV0LnByb3RvdHlwZS5nZXRQYXRoO3V0LnByb3RvdHlwZS5nZXRWaXNpYmxlPXV0LnByb3RvdHlwZS5nZXRWaXNpYmxlO3V0LnByb3RvdHlwZS5zZXRWaXNpYmxlPXV0LnByb3RvdHlwZS5zZXRWaXNpYmxlO3V0LnByb3RvdHlwZS5zZXRFZGl0YWJsZT11dC5wcm90b3R5cGUuc2V0RWRpdGFibGU7dXQucHJvdG90eXBlLmdldEVkaXRhYmxlPXV0LnByb3RvdHlwZS5nZXRFZGl0YWJsZTt1dC5wcm90b3R5cGUuc2V0RHJhZ2dhYmxlPXV0LnByb3RvdHlwZS5zZXREcmFnZ2FibGU7dXQucHJvdG90eXBlLmdldERyYWdnYWJsZT11dC5wcm90b3R5cGUuZ2V0RHJhZ2dhYmxlO3V0LnByb3RvdHlwZS5zZXRNYXA9dXQucHJvdG90eXBlLnNldE1hcDsKdXQucHJvdG90eXBlLmdldE1hcD11dC5wcm90b3R5cGUuZ2V0TWFwO18uV24odXQucHJvdG90eXBlLHtkcmFnZ2FibGU6Xy5jcyxlZGl0YWJsZTpfLmNzLG1hcDpfLmhzLHZpc2libGU6Xy5jc30pO18udnQ9Y2xhc3MgZXh0ZW5kcyB1dHtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKTt0aGlzLlVsPSEwfXNldE9wdGlvbnMoYSl7dGhpcy5zZXRWYWx1ZXMoYSl9Z2V0UGF0aCgpe3JldHVybiBzdXBlci5nZXRQYXRoKCl9c2V0UGF0aChhKXtzdXBlci5zZXRQYXRoKGEpfWdldFBhdGhzKCl7cmV0dXJuIHRoaXMuZ2V0KCJsYXRMbmdzIil9c2V0UGF0aHMoYSl7dHJ5e3ZhciBiPXRoaXMuc2V0O2lmKEFycmF5LmlzQXJyYXkoYSl8fGEgaW5zdGFuY2VvZiBfLkVvKWlmKF8uJGwoYSk9PT0wKXZhciBjPSEwO2Vsc2V7dmFyIGQ9YSBpbnN0YW5jZW9mIF8uRW8/YS5nZXRBdCgwKTphWzBdO2M9QXJyYXkuaXNBcnJheShkKXx8ZCBpbnN0YW5jZW9mIF8uRW99ZWxzZSBjPSExO3ZhciBlPWM/YSBpbnN0YW5jZW9mIF8uRW8/cmRhKHBkYSkoYSk6bmV3IF8uRW8oXy5HbShObykoYSkpOm5ldyBfLkVvKFtObyhhKV0pO2IuY2FsbCh0aGlzLCJsYXRMbmdzIixlKX1jYXRjaChmKXtfLkJtKGYpfX19OwpfLnZ0LnByb3RvdHlwZS5zZXRQYXRocz1fLnZ0LnByb3RvdHlwZS5zZXRQYXRocztfLnZ0LnByb3RvdHlwZS5nZXRQYXRocz1fLnZ0LnByb3RvdHlwZS5nZXRQYXRocztfLnZ0LnByb3RvdHlwZS5zZXRQYXRoPV8udnQucHJvdG90eXBlLnNldFBhdGg7Xy52dC5wcm90b3R5cGUuZ2V0UGF0aD1fLnZ0LnByb3RvdHlwZS5nZXRQYXRoO18udnQucHJvdG90eXBlLnNldE9wdGlvbnM9Xy52dC5wcm90b3R5cGUuc2V0T3B0aW9ucztfLnd0PWNsYXNzIGV4dGVuZHMgdXR7c2V0T3B0aW9ucyhhKXt0aGlzLnNldFZhbHVlcyhhKX19O18ud3QucHJvdG90eXBlLnNldE9wdGlvbnM9Xy53dC5wcm90b3R5cGUuc2V0T3B0aW9ucztfLnh0PWNsYXNzIGV4dGVuZHMgXy55bntnZXRCb3VuZHMoKXtyZXR1cm4gdGhpcy5nZXQoImJvdW5kcyIpfXNldEJvdW5kcyhhKXt0aGlzLnNldCgiYm91bmRzIixhKX1nZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldE1hcChhKXt0aGlzLnNldCgibWFwIixhKX1nZXREcmFnZ2FibGUoKXtyZXR1cm4gdGhpcy5nZXQoImRyYWdnYWJsZSIpfXNldERyYWdnYWJsZShhKXt0aGlzLnNldCgiZHJhZ2dhYmxlIixhKX1nZXRFZGl0YWJsZSgpe3JldHVybiB0aGlzLmdldCgiZWRpdGFibGUiKX1zZXRFZGl0YWJsZShhKXt0aGlzLnNldCgiZWRpdGFibGUiLGEpfXNldFZpc2libGUoYSl7dGhpcy5zZXQoInZpc2libGUiLGEpfWdldFZpc2libGUoKXtyZXR1cm4gdGhpcy5nZXQoInZpc2libGUiKX1zZXRPcHRpb25zKGEpe3RoaXMuc2V0VmFsdWVzKGEpfWNvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5zZXRWYWx1ZXMoTW8oYSkpO18uSGwoInBvbHkiKX1tYXBfY2hhbmdlZCgpe2NmYSh0aGlzKX12aXNpYmxlX2NoYW5nZWQoKXtjZmEodGhpcyl9fTsKXy54dC5wcm90b3R5cGUuc2V0T3B0aW9ucz1fLnh0LnByb3RvdHlwZS5zZXRPcHRpb25zO18ueHQucHJvdG90eXBlLmdldFZpc2libGU9Xy54dC5wcm90b3R5cGUuZ2V0VmlzaWJsZTtfLnh0LnByb3RvdHlwZS5zZXRWaXNpYmxlPV8ueHQucHJvdG90eXBlLnNldFZpc2libGU7Xy54dC5wcm90b3R5cGUuc2V0RWRpdGFibGU9Xy54dC5wcm90b3R5cGUuc2V0RWRpdGFibGU7Xy54dC5wcm90b3R5cGUuZ2V0RWRpdGFibGU9Xy54dC5wcm90b3R5cGUuZ2V0RWRpdGFibGU7Xy54dC5wcm90b3R5cGUuc2V0RHJhZ2dhYmxlPV8ueHQucHJvdG90eXBlLnNldERyYWdnYWJsZTtfLnh0LnByb3RvdHlwZS5nZXREcmFnZ2FibGU9Xy54dC5wcm90b3R5cGUuZ2V0RHJhZ2dhYmxlO18ueHQucHJvdG90eXBlLnNldE1hcD1fLnh0LnByb3RvdHlwZS5zZXRNYXA7Xy54dC5wcm90b3R5cGUuZ2V0TWFwPV8ueHQucHJvdG90eXBlLmdldE1hcDtfLnh0LnByb3RvdHlwZS5zZXRCb3VuZHM9Xy54dC5wcm90b3R5cGUuc2V0Qm91bmRzOwpfLnh0LnByb3RvdHlwZS5nZXRCb3VuZHM9Xy54dC5wcm90b3R5cGUuZ2V0Qm91bmRzO18uV24oXy54dC5wcm90b3R5cGUse2RyYWdnYWJsZTpfLmNzLGVkaXRhYmxlOl8uY3MsYm91bmRzOl8uTW0oXy5UbiksbWFwOl8uaHMsdmlzaWJsZTpfLmNzfSk7dmFyIHl0PWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5xaD1udWxsfWdldE1hcCgpe3JldHVybiB0aGlzLmdldCgibWFwIil9c2V0TWFwKGEpe3RoaXMuc2V0KCJtYXAiLGEpfW1hcF9jaGFuZ2VkKCl7Xy5IbCgic3RyZWV0dmlldyIpLnRoZW4oYT0+e2Eud0wodGhpcyl9KX19O3l0LnByb3RvdHlwZS5zZXRNYXA9eXQucHJvdG90eXBlLnNldE1hcDt5dC5wcm90b3R5cGUuZ2V0TWFwPXl0LnByb3RvdHlwZS5nZXRNYXA7eXQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXl0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtfLlduKHl0LnByb3RvdHlwZSx7bWFwOl8uaHN9KTtfLmNqYT17TkVBUkVTVDoibmVhcmVzdCIsQkVTVDoiYmVzdCJ9O18uenQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnFoPW51bGx9Z2V0UGFub3JhbWEoYSxiKXtyZXR1cm4gXy53cSh0aGlzLGEsYil9Z2V0UGFub3JhbWFCeUxvY2F0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5nZXRQYW5vcmFtYSh7bG9jYXRpb246YSxyYWRpdXM6YixwcmVmZXJlbmNlOihifHwwKTw1MD8iYmVzdCI6Im5lYXJlc3QifSxjKX1nZXRQYW5vcmFtYUJ5SWQoYSxiKXtyZXR1cm4gdGhpcy5nZXRQYW5vcmFtYSh7cGFubzphfSxiKX19O18uenQucHJvdG90eXBlLmdldFBhbm9yYW1hPV8uenQucHJvdG90eXBlLmdldFBhbm9yYW1hO18uQXQ9e0RFRkFVTFQ6ImRlZmF1bHQiLE9VVERPT1I6Im91dGRvb3IiLEdPT0dMRToiZ29vZ2xlIn07Xy5xYih6cSxfLnluKTt6cS5wcm90b3R5cGUuZ2V0VGlsZT1mdW5jdGlvbihhLGIsYyl7aWYoIWF8fCFjKXJldHVybiBudWxsO3ZhciBkPV8ud2woIkRJViIpO2M9e3JqOmEsem9vbTpiLERqOm51bGx9O2QuX19nbWltdD1jO18uRHAodGhpcy5xaCxkKTtpZih0aGlzLnJoKXtsZXQgZT10aGlzLnRpbGVTaXplfHxuZXcgXy5nbygyNTYsMjU2KSxmPXRoaXMuc2goYSxiKTsoYy5Eaj10aGlzLnJoKHtraTphLngsbGk6YS55LHVpOmJ9LGUsZCxmLGZ1bmN0aW9uKCl7Xy53bihkLCJsb2FkIil9KSkuc2V0T3BhY2l0eSh5cSh0aGlzKSl9cmV0dXJuIGR9O3pxLnByb3RvdHlwZS5nZXRUaWxlPXpxLnByb3RvdHlwZS5nZXRUaWxlO3pxLnByb3RvdHlwZS5yZWxlYXNlVGlsZT1mdW5jdGlvbihhKXthJiZ0aGlzLnFoLmNvbnRhaW5zKGEpJiYodGhpcy5xaC5yZW1vdmUoYSksKGE9YS5fX2dtaW10LkRqKSYmYS5yZWxlYXNlKCkpfTt6cS5wcm90b3R5cGUucmVsZWFzZVRpbGU9enEucHJvdG90eXBlLnJlbGVhc2VUaWxlOwp6cS5wcm90b3R5cGUub3BhY2l0eV9jaGFuZ2VkPWZ1bmN0aW9uKCl7dmFyIGE9eXEodGhpcyk7dGhpcy5xaC5mb3JFYWNoKGI9PntiLl9fZ21pbXQuRGouc2V0T3BhY2l0eShhKX0pfTt6cS5wcm90b3R5cGUudHJpZ2dlcnNUaWxlTG9hZEV2ZW50PSEwO18uV24oenEucHJvdG90eXBlLHtvcGFjaXR5Ol8uYXN9KTtfLnFiKF8uQXEsXy55bik7Xy5BcS5wcm90b3R5cGUuZ2V0VGlsZT1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLkFxLnByb3RvdHlwZS50aWxlU2l6ZT1uZXcgXy5nbygyNTYsMjU2KTtfLkFxLnByb3RvdHlwZS50cmlnZ2Vyc1RpbGVMb2FkRXZlbnQ9ITA7Xy5xYihfLkJxLF8uQXEpO3ZhciBCdD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubG9ncz1bXX1sb2coKXt9Y04oKXtyZXR1cm4gdGhpcy5sb2dzLm1hcCh0aGlzLnFoKS5qb2luKCJcbiIpfXFoKGEpe3JldHVybmAke2EudGltZXN0YW1wfTogJHthLm1lc3NhZ2V9YH19O0J0LnByb3RvdHlwZS5nZXRMb2dzPUJ0LnByb3RvdHlwZS5jTjtfLmRqYT1uZXcgQnQ7Xy5lamE9e09LOiJPSyIsQ0FOQ0VMTEVEOiJDQU5DRUxMRUQiLFVOS05PV046IlVOS05PV04iLElOVkFMSURfQVJHVU1FTlQ6IklOVkFMSURfQVJHVU1FTlQiLERFQURMSU5FX0VYQ0VFREVEOiJERUFETElORV9FWENFRURFRCIsTk9UX0ZPVU5EOiJOT1RfRk9VTkQiLEFMUkVBRFlfRVhJU1RTOiJBTFJFQURZX0VYSVNUUyIsUEVSTUlTU0lPTl9ERU5JRUQ6IlBFUk1JU1NJT05fREVOSUVEIixVTkFVVEhFTlRJQ0FURUQ6IlVOQVVUSEVOVElDQVRFRCIsUkVTT1VSQ0VfRVhIQVVTVEVEOiJSRVNPVVJDRV9FWEhBVVNURUQiLEZBSUxFRF9QUkVDT05ESVRJT046IkZBSUxFRF9QUkVDT05ESVRJT04iLEFCT1JURUQ6IkFCT1JURUQiLE9VVF9PRl9SQU5HRToiT1VUX09GX1JBTkdFIixVTklNUExFTUVOVEVEOiJVTklNUExFTUVOVEVEIixJTlRFUk5BTDoiSU5URVJOQUwiLFVOQVZBSUxBQkxFOiJVTkFWQUlMQUJMRSIsREFUQV9MT1NTOiJEQVRBX0xPU1MifTtfLnFiKENxLF8ueW4pO18uV24oQ3EucHJvdG90eXBlLHthdHRyaWJ1dGlvbjooKT0+ITAscGxhY2U6KCk9PiEwfSk7dmFyIGlmYT17Q29sb3JTY2hlbWU6e0xJR0hUOiJMSUdIVCIsREFSSzoiREFSSyIsRk9MTE9XX1NZU1RFTToiRk9MTE9XX1NZU1RFTSJ9LENvbnRyb2xQb3NpdGlvbjpfLnBxLExhdExuZzpfLlRtLExhdExuZ0JvdW5kczpfLlJuLE1WQ0FycmF5Ol8uRW8sTVZDT2JqZWN0Ol8ueW4sTWFwc1JlcXVlc3RFcnJvcjpfLmlyLE1hcHNOZXR3b3JrRXJyb3I6Z3IsTWFwc05ldHdvcmtFcnJvckVuZHBvaW50OntQTEFDRVNfTkVBUkJZX1NFQVJDSDoiUExBQ0VTX05FQVJCWV9TRUFSQ0giLFBMQUNFU19MT0NBTF9DT05URVhUX1NFQVJDSDoiUExBQ0VTX0xPQ0FMX0NPTlRFWFRfU0VBUkNIIixNQVBTX01BWF9aT09NOiJNQVBTX01BWF9aT09NIixESVNUQU5DRV9NQVRSSVg6IkRJU1RBTkNFX01BVFJJWCIsRUxFVkFUSU9OX0xPQ0FUSU9OUzoiRUxFVkFUSU9OX0xPQ0FUSU9OUyIsRUxFVkFUSU9OX0FMT05HX1BBVEg6IkVMRVZBVElPTl9BTE9OR19QQVRIIixHRU9DT0RFUl9HRU9DT0RFOiJHRU9DT0RFUl9HRU9DT0RFIiwKRElSRUNUSU9OU19ST1VURToiRElSRUNUSU9OU19ST1VURSIsUExBQ0VTX0dBVEVXQVk6IlBMQUNFU19HQVRFV0FZIixQTEFDRVNfREVUQUlMUzoiUExBQ0VTX0RFVEFJTFMiLFBMQUNFU19GSU5EX1BMQUNFX0ZST01fUEhPTkVfTlVNQkVSOiJQTEFDRVNfRklORF9QTEFDRV9GUk9NX1BIT05FX05VTUJFUiIsUExBQ0VTX0ZJTkRfUExBQ0VfRlJPTV9RVUVSWToiUExBQ0VTX0ZJTkRfUExBQ0VfRlJPTV9RVUVSWSIsUExBQ0VTX0dFVF9QTEFDRToiUExBQ0VTX0dFVF9QTEFDRSIsUExBQ0VTX0dFVF9QSE9UT19NRURJQToiUExBQ0VTX0dFVF9QSE9UT19NRURJQSIsUExBQ0VTX1NFQVJDSF9URVhUOiJQTEFDRVNfU0VBUkNIX1RFWFQiLFNUUkVFVFZJRVdfR0VUX1BBTk9SQU1BOiJTVFJFRVRWSUVXX0dFVF9QQU5PUkFNQSIsUExBQ0VTX0FVVE9DT01QTEVURToiUExBQ0VTX0FVVE9DT01QTEVURSIsRkxFRVRfRU5HSU5FX0xJU1RfREVMSVZFUllfVkVISUNMRVM6IkZMRUVUX0VOR0lORV9MSVNUX0RFTElWRVJZX1ZFSElDTEVTIiwKRkxFRVRfRU5HSU5FX0xJU1RfVEFTS1M6IkZMRUVUX0VOR0lORV9MSVNUX1RBU0tTIixGTEVFVF9FTkdJTkVfTElTVF9WRUhJQ0xFUzoiRkxFRVRfRU5HSU5FX0xJU1RfVkVISUNMRVMiLEZMRUVUX0VOR0lORV9HRVRfREVMSVZFUllfVkVISUNMRToiRkxFRVRfRU5HSU5FX0dFVF9ERUxJVkVSWV9WRUhJQ0xFIixGTEVFVF9FTkdJTkVfR0VUX1RSSVA6IkZMRUVUX0VOR0lORV9HRVRfVFJJUCIsRkxFRVRfRU5HSU5FX0dFVF9WRUhJQ0xFOiJGTEVFVF9FTkdJTkVfR0VUX1ZFSElDTEUiLEZMRUVUX0VOR0lORV9TRUFSQ0hfVEFTS1M6IkZMRUVUX0VOR0lORV9TRUFSQ0hfVEFTS1MiLGRSOiJGTEVFVF9FTkdJTkVfR0VUX1RBU0tfVFJBQ0tJTkdfSU5GTyIsVElNRV9aT05FOiJUSU1FX1pPTkUiLFJPVVRFU19DT01QVVRFX1JPVVRFX01BVFJJWDoiUk9VVEVTX0NPTVBVVEVfUk9VVEVfTUFUUklYIixST1VURVNfQ09NUFVURV9ST1VURVM6IlJPVVRFU19DT01QVVRFX1JPVVRFUyIsQUREUkVTU19WQUxJREFUSU9OX0ZFVENIX0FERFJFU1NfVkFMSURBVElPTjoiQUREUkVTU19WQUxJREFUSU9OX0ZFVENIX0FERFJFU1NfVkFMSURBVElPTiIsCldFQVRIRVJfQ1VSUkVOVF9DT05ESVRJT05TOiJXRUFUSEVSX0NVUlJFTlRfQ09ORElUSU9OUyIsV0VBVEhFUl9ISVNUT1JZX0hPVVJTOiJXRUFUSEVSX0hJU1RPUllfSE9VUlMiLFdFQVRIRVJfRk9SRUNBU1RfREFZUzoiV0VBVEhFUl9GT1JFQ0FTVF9EQVlTIixXRUFUSEVSX0ZPUkVDQVNUX0hPVVJTOiJXRUFUSEVSX0ZPUkVDQVNUX0hPVVJTIixQTEFDRVNfUkVWSUVXU19TRUFSQ0g6IlBMQUNFU19SRVZJRVdTX1NFQVJDSCIsUExBQ0VTX01FRElBX1NFQVJDSDoiUExBQ0VTX01FRElBX1NFQVJDSCJ9LE1hcHNTZXJ2ZXJFcnJvcjpfLmpyLFBvaW50Ol8uYm8sUlBDU3RhdHVzOl8uZWphLFNpemU6Xy5nbyxVbml0U3lzdGVtOl8uRXEsU2V0dGluZ3M6U20sU3ltYm9sUGF0aDpGaGEsTGF0TG5nQWx0aXR1ZGU6Xy5RbyxPcmllbnRhdGlvbjNEOl8ucHMsVmVjdG9yM0Q6Xy5xcyxldmVudDpfLmZzfSxqZmE9e0JpY3ljbGluZ0xheWVyOl8uQXMsQ2lyY2xlOl8uU28sRGF0YTpZbixHcm91bmRPdmVybGF5Ol8uenMsCkltYWdlTWFwVHlwZTp6cSxLbWxMYXllcjpzbyxLbWxMYXllclN0YXR1czp7VU5LTk9XTjoiVU5LTk9XTiIsT0s6Ik9LIixJTlZBTElEX1JFUVVFU1Q6IklOVkFMSURfUkVRVUVTVCIsRE9DVU1FTlRfTk9UX0ZPVU5EOiJET0NVTUVOVF9OT1RfRk9VTkQiLEZFVENIX0VSUk9SOiJGRVRDSF9FUlJPUiIsSU5WQUxJRF9ET0NVTUVOVDoiSU5WQUxJRF9ET0NVTUVOVCIsRE9DVU1FTlRfVE9PX0xBUkdFOiJET0NVTUVOVF9UT09fTEFSR0UiLExJTUlUU19FWENFRURFRDoiTElNSVRTX0VYQ0VFREVEIixUSU1FRF9PVVQ6IlRJTUVEX09VVCJ9LE1hcDpfLnJxLE1hcEVsZW1lbnQ6ZnIsWm9vbUNoYW5nZUV2ZW50OiRpYSxNYXBUeXBlQ29udHJvbFN0eWxlOntERUZBVUxUOjAsSE9SSVpPTlRBTF9CQVI6MSxEUk9QRE9XTl9NRU5VOjIsSU5TRVQ6MyxJTlNFVF9MQVJHRTo0fSxNYXBUeXBlSWQ6Xy5VcixNYXBUeXBlUmVnaXN0cnk6b3EsTWF4Wm9vbVNlcnZpY2U6cnQsTWF4Wm9vbVN0YXR1czp7T0s6Ik9LIiwKRVJST1I6IkVSUk9SIn0sT3ZlcmxheVZpZXc6Xy50dCxQb2x5Z29uOl8udnQsUG9seWxpbmU6Xy53dCxSZWN0YW5nbGU6Xy54dCxSZW5kZXJpbmdUeXBlOm90LFN0cm9rZVBvc2l0aW9uOntDRU5URVI6MCxJTlNJREU6MSxPVVRTSURFOjIsMDoiQ0VOVEVSIiwxOiJJTlNJREUiLDI6Ik9VVFNJREUifSxTdHlsZWRNYXBUeXBlOl8uQnEsVHJhZmZpY0xheWVyOkJzLFRyYW5zaXRMYXllcjpDcyxGZWF0dXJlVHlwZTp3aWEsSW5mb1dpbmRvdzpfLnlzLFdlYkdMT3ZlcmxheVZpZXc6Xy5xcH0sa2ZhPXtEaXJlY3Rpb25zUmVuZGVyZXI6Xy5hbyxEaXJlY3Rpb25zU2VydmljZTpfLmlzLERpcmVjdGlvbnNTdGF0dXM6Xy53aGEsRGlzdGFuY2VNYXRyaXhTZXJ2aWNlOl8ubXMsRGlzdGFuY2VNYXRyaXhTdGF0dXM6Xy56aGEsRGlzdGFuY2VNYXRyaXhFbGVtZW50U3RhdHVzOl8ueWhhLFRyYWZmaWNNb2RlbDpfLmpzLFRyYW5zaXRNb2RlOl8ua3MsVHJhbnNpdFJvdXRlUHJlZmVyZW5jZTpfLmxzLApUcmF2ZWxNb2RlOl8uRHEsVmVoaWNsZVR5cGU6Xy54aGF9LGxmYT17RWxldmF0aW9uU2VydmljZTpfLm5zLEVsZXZhdGlvblN0YXR1czpfLkFoYX0sbWZhPXtHZW9jb2RlcjpvcyxHZW9jb2RlckxvY2F0aW9uVHlwZTpfLkJoYSxFeHRyYUdlb2NvZGVDb21wdXRhdGlvbjp2b2lkIDAsQ29udGFpbm1lbnQ6dm9pZCAwLFNwYXRpYWxSZWxhdGlvbnNoaXA6dm9pZCAwLEdlb2NvZGVyU3RhdHVzOntPSzoiT0siLFVOS05PV05fRVJST1I6IlVOS05PV05fRVJST1IiLE9WRVJfUVVFUllfTElNSVQ6Ik9WRVJfUVVFUllfTElNSVQiLFJFUVVFU1RfREVOSUVEOiJSRVFVRVNUX0RFTklFRCIsSU5WQUxJRF9SRVFVRVNUOiJJTlZBTElEX1JFUVVFU1QiLFpFUk9fUkVTVUxUUzoiWkVST19SRVNVTFRTIixFUlJPUjoiRVJST1IifX0sbmZhPXtTdHJlZXRWaWV3Q292ZXJhZ2VMYXllcjp5dCxTdHJlZXRWaWV3UGFub3JhbWE6Xy5tdCxTdHJlZXRWaWV3UHJlZmVyZW5jZTpfLmNqYSxTdHJlZXRWaWV3U2VydmljZTpfLnp0LApTdHJlZXRWaWV3U3RhdHVzOntPSzoiT0siLFVOS05PV05fRVJST1I6IlVOS05PV05fRVJST1IiLFpFUk9fUkVTVUxUUzoiWkVST19SRVNVTFRTIn0sU3RyZWV0Vmlld1NvdXJjZTpfLkF0LEluZm9XaW5kb3c6Xy55cyxPdmVybGF5VmlldzpfLnR0fSxvZmE9e0FuaW1hdGlvbjpfLmJqYSxNYXJrZXI6Xy54cyxDb2xsaXNpb25CZWhhdmlvcjpfLnJzfSxxZmE9bmV3IFNldCgiYWRkcmVzc1ZhbGlkYXRpb24gYWlyUXVhbGl0eSBkcmF3aW5nIGVsZXZhdGlvbiBnZW9tZXRyeSBqb3VybmV5U2hhcmluZyBtYXBzM2QgbWFya2VyIHBsYWNlcyByb3V0ZXMgdmlzdWFsaXphdGlvbiB3ZWF0aGVyIi5zcGxpdCgiICIpKSxyZmE9bmV3IFNldChbInNlYXJjaCJdKTtfLklsKCJtYWluIix7fSk7dmFyIGZqYTtfLkN0PWNsYXNzIGV4dGVuZHMgXy5ldHtjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7dGhpcy5pc0Nvbm5lY3RlZCYmdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBmamEoKGEsYik9Pnt0aGlzLnJoKGEsYil9KSl9fTtmamE9Y2xhc3MgZXh0ZW5kcyBFdmVudHtjb25zdHJ1Y3RvcihhKXtzdXBlcigiZ21wLWludGVybmFsLWNvbm5lY3QiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSk7dGhpcy5xaD1hfX07Xy5qcD1jbGFzcyBleHRlbmRzIEV2ZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoImdtcC1lcnJvciIpfX07Xy53ZmE9Y2xhc3MgZXh0ZW5kcyBFdmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCJnbXAtbG9hZCIpfX07dmFyIER0PWNsYXNzIGV4dGVuZHMgXy5kdHt0aSgpe3JldHVybigwLF8uV3EpYDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2UiPiR7dGhpcy5tZXNzYWdlfTwvZGl2PgogICAgICAke3RoaXMucWg9PT12b2lkIDA/IiI6KDAsXy5XcSlgPGRpdiBjbGFzcz0ic3ViLW1lc3NhZ2UiPiR7dGhpcy5xaH08L2Rpdj5gfQogICAgPC9kaXY+YH19O0R0LnN0eWxlcz1bXy4kcyhbIjpob3N0KDpub3QoW2hpZGRlbl0pKXtkaXNwbGF5OmJsb2NrfS5jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7aGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMnB4O3RleHQtYWxpZ246Y2VudGVyfS5tZXNzYWdle2NvbG9yOiM1ZTVlNWU7Zm9udC1zaXplOi44NzVyZW19Lm1lc3NhZ2UsLnN1Yi1tZXNzYWdle2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMH0uc3ViLW1lc3NhZ2V7Y29sb3I6Izk5OTtmb250LXNpemU6Ljc1cmVtfSJdKV07Xy54bygiZ21wLWludGVybmFsLWxvYWRpbmctdGV4dCIsY2xhc3MgZXh0ZW5kcyBEdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5tZXNzYWdlPSJMb2FkaW5nLi4uIn19KTtfLkV0PWNsYXNzIGV4dGVuZHMgRHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMubWVzc2FnZT0iT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIjt0aGlzLnFoPSJQbGVhc2Ugc2VlIHRoZSBkZXZlbG9wZXIgY29uc29sZSBmb3IgdGVjaG5pY2FsIGRldGFpbHMuIn19O18ueG8oImdtcC1pbnRlcm5hbC1yZXF1ZXN0LWVycm9yLXRleHQiLF8uRXQpO18uZ2phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaG9zdD1hO3RoaXMub3B0aW9ucz17fTt0aGlzLnFoPV8ubWEoUHJvbWlzZSwid2l0aFJlc29sdmVycyIpLmNhbGwoUHJvbWlzZSl9aXNWaXNpYmxlKGEpe3ZhciB7aW5saW5lU2l6ZTpiLGJsb2NrU2l6ZTpjfT1hLmNvbnRlbnRCb3hTaXplWzBdO3JldHVybiBiPj0odGhpcy5vcHRpb25zLnhUPz8xKSYmYz49KHRoaXMub3B0aW9ucy53VD8/MSl9fTt2YXIgR3E9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5uYW1lPSJBc3luY1J1blByZWVtcHRlZEVycm9yIn19LGhqYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucWg9MH19O18uRnQ9Y2xhc3MgZXh0ZW5kcyBfLmV0e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMudGs9MDt0aGlzLlpEPSExO3RoaXMuYkg9bmV3IGhqYTt0aGlzLnpRPW5ldyBfLmdqYSh0aGlzKX1seihhKXtyZXR1cm4gYX10aSgpe3N3aXRjaCh0aGlzLnRrKXtjYXNlIDE6dmFyIGE9dGhpcy5veigpO2JyZWFrO2Nhc2UgMzphPXRoaXMubXooKTticmVhaztjYXNlIDI6YT10aGlzLnl3KCk7YnJlYWs7ZGVmYXVsdDphPXRoaXMuenQoKX1yZXR1cm4gdGhpcy5seihhKX1veigpe3JldHVybigwLF8uV3EpYCA8Z21wLWludGVybmFsLWxvYWRpbmctdGV4dD48L2dtcC1pbnRlcm5hbC1sb2FkaW5nLXRleHQ+IGB9bXooKXtyZXR1cm4oMCxfLldxKWAKICAgICAgPGdtcC1pbnRlcm5hbC1yZXF1ZXN0LWVycm9yLXRleHQ+PC9nbXAtaW50ZXJuYWwtcmVxdWVzdC1lcnJvci10ZXh0PgogICAgYH16dCgpe3JldHVybigwLF8uV3EpYGB9fTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxfLkZ0LnByb3RvdHlwZSwidGsiLHZvaWQgMCk7dmFyIGlqYTtpamE9Y2xhc3MgZXh0ZW5kcyBZaWF7fTtfLkd0PWNsYXNzIGV4dGVuZHMgaWphe2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5lbGVtZW50PVFtKCJWaWV3IiwiZWxlbWVudCIsKCk9Pl8uTW0oXy5LbShbXy5FbShIVE1MRWxlbWVudCwiSFRNTEVsZW1lbnQiKSxfLkVtKFNWR0VsZW1lbnQsIlNWR0VsZW1lbnQiKV0pKShhLmVsZW1lbnQpfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7dGhpcy54aShhLF8uR3QsIlZpZXciKX19O18uamphPV8uQ20oe2NlbnRlcjphPT5fLlhtKGEpLHJhZGl1czpfLk9tfSwhMCk7Xy5IdD1fLkNtKHtsYXQ6Xy5Ycixsbmc6Xy5YcixhbHRpdHVkZTpfLk1tKF8uWHIpfSwhMCk7Xy5ramE9Xy5DbSh7bGF0Ol8uWHIsbG5nOl8uWHIsYWx0aXR1ZGU6Xy5NbShfLlhyKX0sITApO18uSnE9Xy5LbShbXy5FbShfLlFvLCJMYXRMbmdBbHRpdHVkZSIpLF8uRW0oXy5UbSwiTGF0TG5nIiksXy5ramFdKTt2YXIgbGphPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YXx8MH1oZWFkaW5nKCl7cmV0dXJuIHRoaXMucWh9dGlsdCgpe3JldHVybiA0NX10b1N0cmluZygpe3JldHVybmAke3RoaXMucWh9LDQ1YH19O3ZhciBtamE7bWphPU1hdGguc3FydCgyKTtfLkxxPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMud0Y9ITA7dGhpcy5yaD1uZXcgXy5wdDt0aGlzLnFoPW5ldyBsamEoYSUzNjApO3RoaXMuc2g9bmV3IF8uYm8oMCwwKX1mcm9tTGF0TG5nVG9Qb2ludChhLGIpe2E9Xy5YbShhKTtiPXRoaXMucmguZnJvbUxhdExuZ1RvUG9pbnQoYSxiKTt4ZmEoYix0aGlzLnFoLmhlYWRpbmcoKSk7Yi55PShiLnktMTI4KS9tamErMTI4O3JldHVybiBifWZyb21Qb2ludFRvTGF0TG5nKGEsYj0hMSl7dmFyIGM9dGhpcy5zaDtjLng9YS54O2MueT0oYS55LTEyOCkqbWphKzEyODt4ZmEoYywzNjAtdGhpcy5xaC5oZWFkaW5nKCkpO3JldHVybiB0aGlzLnJoLmZyb21Qb2ludFRvTGF0TG5nKGMsYil9Z2V0UG92KCl7cmV0dXJuIHRoaXMucWh9fTt2YXIgeWZhPW5ldyBfLnB0O3ZhciBJdD1fLlVhLmdvb2dsZS5tYXBzLG5qYT1HbC5nZXRJbnN0YW5jZSgpLG9qYT1uamEubG4uYmluZChuamEpO0l0Ll9fZ2pzbG9hZF9fPW9qYTtfLmFtKEl0Lm1vZHVsZXMsb2phKTtkZWxldGUgSXQubW9kdWxlczt2YXIgRmZhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9fTt2YXIgRWZhPV8uYWooY2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIERmYTt2YXIgemZhPXt9O2ZvcihsZXQgYSBvZiBHZmEoKSl7dmFyIHBqYT1hLmdldE5hbWUoKSxxamE7cWphPV8uVWcoYSwyLF8uY2coKSk7emZhW3BqYV09cWphfTt2YXIgUHE9bmV3IE1hcDtQcS5zZXQoImFkZHJlc3NWYWxpZGF0aW9uIix7Zmo6MjMzMDQ4LGdqOjIzMzA0OSxpajoyMzMwNDd9KTtQcS5zZXQoImFpclF1YWxpdHkiLHtmajoyMzMwNTEsZ2o6MjMzMDUyLGlqOjIzMzA1MH0pO1BxLnNldCgiYWRzZW5zZSIse2ZqOjIzMzA1NCxnajoyMzMwNTUsaWo6MjMzMDUzfSk7UHEuc2V0KCJjb21tb24iLHtmajoyMzMwNTcsZ2o6MjMzMDU4LGlqOjIzMzA1Nn0pO1BxLnNldCgiY29udHJvbHMiLHtmajoyMzMwNjAsZ2o6MjMzMDYxLGlqOjIzMzA1OX0pO1BxLnNldCgiZGF0YSIse2ZqOjIzMzA2MyxnajoyMzMwNjQsaWo6MjMzMDYyfSk7UHEuc2V0KCJkaXJlY3Rpb25zIix7Zmo6MjMzMDY2LGdqOjIzMzA2NyxpajoyMzMwNjV9KTtQcS5zZXQoImRpc3RhbmNlX21hdHJpeCIse2ZqOjIzMzA2OSxnajoyMzMwNzAsaWo6MjMzMDY4fSk7UHEuc2V0KCJkcmF3aW5nIix7Zmo6MjMzMDcyLGdqOjIzMzA3MyxpajoyMzMwNzF9KTsKUHEuc2V0KCJkcmF3aW5nX2ltcGwiLHtmajoyMzMwNzUsZ2o6MjMzMDc2LGlqOjIzMzA3NH0pO1BxLnNldCgiZWxldmF0aW9uIix7Zmo6MjMzMDc4LGdqOjIzMzA3OSxpajoyMzMwNzd9KTtQcS5zZXQoImdlb2NvZGVyIix7Zmo6MjMzMDgxLGdqOjIzMzA4MixpajoyMzMwODB9KTtQcS5zZXQoImdlb21ldHJ5Iix7Zmo6MjMzMDg0LGdqOjIzMzA4NSxpajoyMzMwODN9KTtQcS5zZXQoImltYWdlcnlfdmlld2VyIix7Zmo6MjMzMDg3LGdqOjIzMzA4OCxpajoyMzMwODZ9KTtQcS5zZXQoImluZm93aW5kb3ciLHtmajoyMzMwOTAsZ2o6MjMzMDkxLGlqOjIzMzA4OX0pO1BxLnNldCgiam91cm5leVNoYXJpbmciLHtmajoyMzMwOTMsZ2o6MjMzMDk0LGlqOjIzMzA5Mn0pO1BxLnNldCgia21sIix7Zmo6MjMzMDk2LGdqOjIzMzA5NyxpajoyMzMwOTV9KTtQcS5zZXQoImxheWVycyIse2ZqOjIzMzA5OSxnajoyMzMxMDAsaWo6MjMzMDk4fSk7ClBxLnNldCgibG9nIix7Zmo6MjMzMTA1LGdqOjIzMzEwNixpajoyMzMxMDR9KTtQcS5zZXQoIm1haW4iLHtmajoyMzMxMDgsZ2o6MjMzMTA5LGlqOjIzMzEwN30pO1BxLnNldCgibWFwIix7Zmo6MjMzMTExLGdqOjIzMzExMixpajoyMzMxMTB9KTtQcS5zZXQoIm1hcDNkX2xpdGVfd2FzbSIse2ZqOjIzMzExNCxnajoyMzMxMTUsaWo6MjMzMTEzfSk7UHEuc2V0KCJtYXAzZF93YXNtIix7Zmo6MjMzMTE3LGdqOjIzMzExOCxpajoyMzMxMTZ9KTtQcS5zZXQoIm1hcDNkX3dhc21fZ2VveHAiLHtmajozMzE1NTcsZ2o6MzMxNTU4LGlqOjMzMTU1OX0pO1BxLnNldCgibWFwczNkIix7Zmo6MjMzMTIwLGdqOjIzMzEyMSxpajoyMzMxMTl9KTtQcS5zZXQoIm1hcmtlciIse2ZqOjIzMzEyMyxnajoyMzMxMjQsaWo6MjMzMTIyfSk7UHEuc2V0KCJtYXh6b29tIix7Zmo6MjMzMTI2LGdqOjIzMzEyNyxpajoyMzMxMjV9KTtQcS5zZXQoIm9uaW9uIix7Zmo6MjMzMTI5LGdqOjIzMzEzMCxpajoyMzMxMjh9KTsKUHEuc2V0KCJvdmVybGF5Iix7Zmo6MjMzMTMyLGdqOjIzMzEzMyxpajoyMzMxMzF9KTtQcS5zZXQoInBhbm9yYW1pbyIse2ZqOjIzMzEzNSxnajoyMzMxMzYsaWo6MjMzMTM0fSk7UHEuc2V0KCJwbGFjZXMiLHtmajoyMzMxMzgsZ2o6MjMzMTM5LGlqOjIzMzEzN30pO1BxLnNldCgicGxhY2VzX2ltcGwiLHtmajoyMzMxNDEsZ2o6MjMzMTQyLGlqOjIzMzE0MH0pO1BxLnNldCgicG9seSIse2ZqOjIzMzE0NCxnajoyMzMxNDUsaWo6MjMzMTQzfSk7UHEuc2V0KCJyb3V0ZXMiLHtmajoyNTY4MzksZ2o6MjU2ODQwLGlqOjI1Njg0MX0pO1BxLnNldCgic2VhcmNoIix7Zmo6MjMzMTQ3LGdqOjIzMzE0OCxpajoyMzMxNDZ9KTtQcS5zZXQoInNlYXJjaF9pbXBsIix7Zmo6MjMzMTUwLGdqOjIzMzE1MSxpajoyMzMxNDl9KTtQcS5zZXQoInN0cmVldHZpZXciLHtmajoyMzMxNTYsZ2o6MjMzMTU3LGlqOjIzMzE1NX0pO1BxLnNldCgic3R5bGVFZGl0b3IiLHtmajoyMzMxNTksZ2o6MjMzMTYwLGlqOjIzMzE1OH0pOwpQcS5zZXQoInV0aWwiLHtmajoyMzMxNjIsZ2o6MjMzMTYzLGlqOjIzMzE2MX0pO1BxLnNldCgidmlzdWFsaXphdGlvbiIse2ZqOjIzMzE2NSxnajoyMzMxNjYsaWo6MjMzMTY0fSk7UHEuc2V0KCJ2aXN1YWxpemF0aW9uX2ltcGwiLHtmajoyMzMxNjgsZ2o6MjMzMTY5LGlqOjIzMzE2N30pO1BxLnNldCgid2VhdGhlciIse2ZqOjIzMzE3MSxnajoyMzMxNzIsaWo6MjMzMTcwfSk7UHEuc2V0KCJ3ZWJnbCIse2ZqOjIzMzE3NCxnajoyMzMxNzUsaWo6MjMzMTczfSk7Xy5KdD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudG9rZW49YCR7Xy5LbigpLnJlcGxhY2UoLy0vZywiIil9JHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0OCkudG9TdHJpbmcoMzYpK01hdGguYWJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMTQ3NDgzNjQ4KV5fLm1iKCkpLnRvU3RyaW5nKDM2KX1gLnN1YnN0cmluZygwLDM2KX19O18uSnQucHJvdG90eXBlLnFoPV8uaGEoMzUpO18uSnQucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8uSnQucHJvdG90eXBlLmNvbnN0cnVjdG9yO18uS3Q9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLldpPXRoaXMuRGg9IiJ9Z2V0IGlkKCl7cmV0dXJuIHRoaXMuRGh9Z2V0IHJlc291cmNlTmFtZSgpe3JldHVybiB0aGlzLldpfX07Xy5MdD1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9e30pe3RoaXMub3B0aW9ucz1iO3RoaXMucWg9e2N1cnJlbmN5Q29kZTpfLkgoYSwxKSx1bml0czpfLiRhYShfLk5nKGEsMikpLG5hbm9zOl8uS2coYSwzKX19Z2V0IGN1cnJlbmN5Q29kZSgpe3JldHVybiB0aGlzLnFoLmN1cnJlbmN5Q29kZX1nZXQgdW5pdHMoKXtyZXR1cm4gdGhpcy5xaC51bml0c31nZXQgbmFub3MoKXtyZXR1cm4gdGhpcy5xaC5uYW5vc310b1N0cmluZygpe3JldHVybihuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5vcHRpb25zLmxhbmd1YWdlP25ldyBJbnRsLkxvY2FsZSh0aGlzLm9wdGlvbnMubGFuZ3VhZ2Use3JlZ2lvbjp0aGlzLm9wdGlvbnMucmVnaW9uPz92b2lkIDB9KTp2b2lkIDAse3N0eWxlOiJjdXJyZW5jeSIsY3VycmVuY3k6dGhpcy5jdXJyZW5jeUNvZGV9KSkuZm9ybWF0KHRoaXMudW5pdHMrdGhpcy5uYW5vcy8xRTkpfXRvSlNPTigpe3JldHVybntjdXJyZW5jeUNvZGU6dGhpcy5jdXJyZW5jeUNvZGUsCnVuaXRzOnRoaXMudW5pdHMsbmFub3M6dGhpcy5uYW5vc319fTtfLkx0LnByb3RvdHlwZS50b1N0cmluZz1fLkx0LnByb3RvdHlwZS50b1N0cmluZztfLk10PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9e2NvbXBvdW5kQ29kZTphLklIKCl8fG51bGwsZ2xvYmFsQ29kZTphLk1IKCl8fG51bGx9fWdldCBjb21wb3VuZENvZGUoKXtyZXR1cm4gdGhpcy5xaC5jb21wb3VuZENvZGV9Z2V0IGdsb2JhbENvZGUoKXtyZXR1cm4gdGhpcy5xaC5nbG9iYWxDb2RlfXRvSlNPTigpe3JldHVybntjb21wb3VuZENvZGU6dGhpcy5jb21wb3VuZENvZGUsZ2xvYmFsQ29kZTp0aGlzLmdsb2JhbENvZGV9fX07Xy5OdD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPVtdO3RoaXMucmg9W107dGhpcy55aD1fLkgoYSwyKT8/IiI7dGhpcy50aD1fLkgoYSwzKXx8bnVsbDt0aGlzLnpoPV8uSChhLDQpfHxudWxsO3RoaXMuQWg9Xy5IKGEsNSl8fG51bGw7dGhpcy5zaD1fLkgoYSw2KXx8bnVsbDt0aGlzLndoPV8uSChhLDcpfHxudWxsO3RoaXMuQmg9Xy5IKGEsOCl8fG51bGw7dGhpcy54aD1fLkgoYSwxMSl8fG51bGw7dGhpcy5xaD1fLlVnKGEsOSxfLmNnKCkpLnNsaWNlKCk7dGhpcy5yaD1fLlVnKGEsMTAsXy5jZygpKS5zbGljZSgpfWdldCByZWdpb25Db2RlKCl7cmV0dXJuIHRoaXMueWh9Z2V0IGxhbmd1YWdlQ29kZSgpe3JldHVybiB0aGlzLnRofWdldCBwb3N0YWxDb2RlKCl7cmV0dXJuIHRoaXMuemh9Z2V0IHNvcnRpbmdDb2RlKCl7cmV0dXJuIHRoaXMuQWh9Z2V0IGFkbWluaXN0cmF0aXZlQXJlYSgpe3JldHVybiB0aGlzLnNofWdldCBsb2NhbGl0eSgpe3JldHVybiB0aGlzLndofWdldCBzdWJsb2NhbGl0eSgpe3JldHVybiB0aGlzLkJofWdldCBhZGRyZXNzTGluZXMoKXtyZXR1cm4gdGhpcy5xaH1nZXQgcmVjaXBpZW50cygpe3JldHVybiB0aGlzLnJofWdldCBvcmdhbml6YXRpb24oKXtyZXR1cm4gdGhpcy54aH10b0pTT04oKXtyZXR1cm57cmVnaW9uQ29kZTp0aGlzLnloLApsYW5ndWFnZUNvZGU6dGhpcy50aCxwb3N0YWxDb2RlOnRoaXMuemgsc29ydGluZ0NvZGU6dGhpcy5BaCxhZG1pbmlzdHJhdGl2ZUFyZWE6dGhpcy5zaCxsb2NhbGl0eTp0aGlzLndoLHN1YmxvY2FsaXR5OnRoaXMuQmgsYWRkcmVzc0xpbmVzOnRoaXMucWgscmVjaXBpZW50czp0aGlzLnJoLG9yZ2FuaXphdGlvbjp0aGlzLnhofX19O18ucmphPV8uQ20oe3JlZ2lvbkNvZGU6Xy5jcixsYW5ndWFnZUNvZGU6Xy5icyxwb3N0YWxDb2RlOl8uYnMsc29ydGluZ0NvZGU6Xy5icyxhZG1pbmlzdHJhdGl2ZUFyZWE6Xy5icyxsb2NhbGl0eTpfLmJzLHN1YmxvY2FsaXR5Ol8uYnMsYWRkcmVzc0xpbmVzOl8uTW0oXy5IbShfLmRzKSkscmVjaXBpZW50czpIY2Esb3JnYW5pemF0aW9uOkhjYX0pO18uT3Q9Y2xhc3N7fTtfLk90LmVuY29kZVBhdGg9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIF8uRW8mJihhPWEuZ2V0QXJyYXkoKSk7YT0oMCxfLmVzKShhKTtyZXR1cm4gSWZhKGEsZnVuY3Rpb24oYil7cmV0dXJuW01hdGgucm91bmQoYi5sYXQoKSoxRTUpLE1hdGgucm91bmQoYi5sbmcoKSoxRTUpXX0pfTtfLk90LmRlY29kZVBhdGg9Xy5KZmE7dmFyIHRqYSx1amEsUGZhO18uc2phPSgpPT4oMCxfLldxKWA8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCI+PHBhdGggZD0ibTMxMy00NDAgMjI0IDIyNC01NyA1Ni0zMjAtMzIwIDMyMC0zMjAgNTcgNTYtMjI0IDIyNGg0ODd2ODB6Ii8+PC9zdmc+YDt0amE9KHtjbGFzc05hbWU6YSxmaWxsOmJ9KT0+KDAsXy5XcSlgPHN2ZyB3aWR0aD0iODgiIGhlaWdodD0iMTYiIGFyaWEtbGFiZWw9Ikdvb2dsZSBNYXBzIiBjbGFzcz0iJHthfSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDk4IDE4Ij48cGF0aCBmaWxsPSIke2J9IiBkPSJNNy4wOCAxMy45NmE3IDcgMCAwMS00Ljk5LTIuMDVBNi43IDYuNyAwIDAxMCA2Ljk4UTAgNC4xIDIuMDkgMi4wNUE3IDcgMCAwMTcuMDggMGE2LjcgNi43IDAgMDE0Ljc5IDEuOTJsLTEuMzUgMS4zNWE0LjggNC44IDAgMDAtMy40NC0xLjM2cS0yLjEgMC0zLjU1IDEuNDhhNSA1IDAgMDAtMS40NSAzLjU5cTAgMi4xMiAxLjQ2IDMuNTlhNC44IDQuOCAwIDAwMy41NSAxLjQ4IDQuOCA0LjggMCAwMDMuNTMtMS40cS44NC0uODQgMS4wNC0yLjRINy4wOHYtMS45aDYuNDJhNiA2IDAgMDEuMSAxLjE5cTAgMi44LTEuNjUgNC40NmE2LjQgNi40IDAgMDEtNC44NyAxLjk2TTIyIDEyLjY4YTQuNCA0LjQgMCAwMS0zLjIgMS4yOSA0LjQgNC40IDAgMDEtMy4yLTEuMjkgNC4zIDQuMyAwIDAxLTEuMzEtMy4yMXEwLTEuOTIgMS4zMS0zLjIxYTQuNCA0LjQgMCAwMTMuMi0xLjI5cTEuOSAwIDMuMiAxLjI5YTQuMyA0LjMgMCAwMTEuMzEgMy4yMUE0LjMgNC4zIDAgMDEyMiAxMi42OG0tNC45OS0xLjI2cS43NS43OCAxLjc5Ljc3IDEuMDQgMCAxLjc5LS43Ny43NS0uNzguNzUtMS45NSAwLTEuMTktLjc0LTEuOTYtLjc1LS43Ny0xLjgtLjc3dC0xLjguNzdhMi43IDIuNyAwIDAwLS43NCAxLjk2cTAgMS4xNy43NSAxLjk1bTE0Ljg0IDEuMjZxLTEuMyAxLjI5LTMuMiAxLjI5Yy0xLjkgMC0yLjMzLS40My0zLjItMS4yOWE0LjMgNC4zIDAgMDEtMS4zMS0zLjIxcTAtMS45MiAxLjMxLTMuMjEgMS4zLTEuMjkgMy4yLTEuMjljMS45IDAgMi4zMy40MyAzLjIgMS4yOWE0LjMgNC4zIDAgMDExLjMxIDMuMjFxMCAxLjkyLTEuMzEgMy4yMW0tNC45OS0xLjI2cS43NS43OCAxLjc5Ljc3IDEuMDQgMCAxLjc5LS43Ny43NS0uNzguNzUtMS45NSAwLTEuMTktLjc0LTEuOTZjLS43NC0uNzctMS4wOS0uNzctMS44LS43N3EtMS4wNSAwLTEuOC43N2EyLjcgMi43IDAgMDAtLjc0IDEuOTZxMCAxLjE3Ljc1IDEuOTVNMzguMzIgMThxLTEuNSAwLTIuNTItLjhhNC41IDQuNSAwIDAxLTEuNDYtMS44NmwxLjcyLS43MnEuMjcuNjUuODUgMS4xMi41OS40OCAxLjQxLjQ4YTIuMyAyLjMgMCAwMDEuNzYtLjY4cS42NC0uNjguNjQtMS45NnYtLjY1aC0uMDdhMi45IDIuOSAwIDAxLTIuMzcgMS4wMiA0IDQgMCAwMS0zLjAxLTEuMzEgNC40IDQuNCAwIDAxLTEuMjktMy4xNyA0LjQgNC40IDAgMDExLjI5LTMuMTkgNCA0IDAgMDEzLjAxLTEuMzJxLjc2IDAgMS4zOS4yOXQuOTguNzJoLjA3di0uNzJoMS44N3Y4LjA3cTAgMi4zNS0xLjIgMy41MkE0LjIgNC4yIDAgMDEzOC4zMiAxOG0uMTMtNS44MXExLjAyIDAgMS43MS0uNzdhMi44IDIuOCAwIDAwLjY5LTEuOTNxMC0xLjE3LS42OS0xLjk2YTIuMiAyLjIgMCAwMC0xLjcxLS43OXEtMS4wMyAwLTEuNzcuNzhhMi44IDIuOCAwIDAwLS43MyAxLjk2cTAgMS4xNi43MyAxLjkzLjc0Ljc4IDEuNzcuNzhNNDUuOTMuNDh2MTMuMjFoLTEuOThWLjQ4em01LjQxIDEzLjQ4YTQuNCA0LjQgMCAwMS00LjQ2LTQuNDlxMC0xLjk4IDEuMjMtMy4yNGE0IDQgMCAwMTMuMDEtMS4yNiAzLjggMy44IDAgMDEyLjY4IDEuMDcgNSA1IDAgMDExLjE3IDEuOGwuMi41MS02LjAxIDIuNDlhMi4zIDIuMyAwIDAwMi4xOCAxLjM2cTEuMzcgMCAyLjIxLTEuMjRsMS41MyAxLjAycS0uNS43Ni0xLjQ1IDEuMzgtLjkyLjYtMi4yOS42bS0yLjUtNC42MyA0LjAyLTEuNjdhMS40IDEuNCAwIDAwLS42My0uNjkgMiAyIDAgMDAtMS4wNC0uMjZxLS44NyAwLTEuNjMuNzJhMi40IDIuNCAwIDAwLS43MiAxLjltMTEuMjEgNC4zNlYxLjVoMS41N2w0LjI0IDcuNDJoLjA3bDQuMjQtNy40MmgxLjU3djEyLjE5aC0xLjU3VjYuNDVsLjA3LTIuMDRoLS4wN2wtMy44MSA2LjY5aC0uOTJsLTMuODEtNi42OWgtLjA3bC4wNyAyLjA0djcuMjR6bTE2LjMxLjI3cS0xLjMzIDAtMi4yMi0uNzdhMi41IDIuNSAwIDAxLS44OS0yLjAzcTAtMS4zNiAxLjA2LTIuMTQgMS4wNS0uNzcgMi42MS0uNzcgMS4zOCAwIDIuMjYuNTF2LS4yM3EwLS45MS0uNjMtMS40N0EyLjMgMi4zIDAgMDA3NyA2LjUxcS0uNjggMC0xLjIzLjMyYTEuNiAxLjYgMCAwMC0uNzcuODhsLTEuNDMtLjYxcS4yOC0uNzUgMS4xNC0xLjM5YTMuNiAzLjYgMCAwMTIuMjUtLjY0cTEuNiAwIDIuNjYuOTQgMS4wNS45MyAxLjA2IDIuNjR2NS4wNGgtMS41di0xLjE2aC0uMDhhMyAzIDAgMDEtMi43NCAxLjQzbS4yNS0xLjQzcS45NyAwIDEuNzYtLjcyLjgtLjcyLjc5LTEuNzEtLjY3LS41NC0xLjk5LS41NC0xLjE0IDAtMS43Mi40OS0uNTguNS0uNTggMS4xNiAwIC42MS41My45Ny41NC4zNSAxLjIxLjM1bTkuOTcgMS40M3EtLjk2IDAtMS43MS0uNDFhMyAzIDAgMDEtMS4xMy0xLjAyaC0uMDdsLjA3IDEuMTZ2My42OGgtMS41N1Y1LjM1aDEuNXYxLjE2aC4wN2EzIDMgMCAwMTEuMTMtMS4wMiAzLjcgMy43IDAgMDE0LjUuODcgNC41IDQuNSAwIDAxMS4xOCAzLjE3cTAgMS45LTEuMTggMy4xN2EzLjcgMy43IDAgMDEtMi43OSAxLjI2bS0uMjYtMS40M3ExLjEgMCAxLjg3LS44My43OC0uODIuNzgtMi4xOXQtLjc4LTIuMTlhMi41IDIuNSAwIDAwLTEuODctLjgzcS0xLjExIDAtMS44OC44Mi0uNzguODEtLjc3IDIuMmMuMDEgMS4zOS4yNiAxLjY1Ljc3IDIuMnEuNzguODIgMS44OC44Mm04LjM5IDEuNDNhMy44IDMuOCAwIDAxLTMuNjUtMi4zOGwxLjQtLjU4cS42NyAxLjU3IDIuMjYgMS41Ny43MyAwIDEuMi0uMzJhMSAxIDAgMDAuNDctLjg1cTAtLjgxLTEuMTQtMS4xMWwtMS42OS0uNDFhNCA0IDAgMDEtMS41Mi0uNzcgMS45IDEuOSAwIDAxLS43Mi0xLjU0cTAtMS4xMS45OC0xLjhhNCA0IDAgMDEyLjMyLS42OXExLjExIDAgMS45OC41dDEuMjQgMS40NGwtMS4zNC41NnEtLjQ2LTEuMTEtMS45MS0xLjExLS43IDAtMS4xOC4yOXQtLjQ4Ljc4cTAgLjcyIDEuMTEuOTdsMS42NS4zOWEzIDMgMCAwMTEuNzQuOTRxLjU2LjY2LjU2IDEuNSAwIDEuMTItLjkyIDEuODctLjkuNzUtMi4zNi43NSIvPjwvc3ZnPmA7CnVqYT0oe2NsYXNzTmFtZTphLGZpbGw6YixvdXRsaW5lOmN9KT0+KDAsXy5XcSlgPHN2ZyB3aWR0aD0iMTA2IiBoZWlnaHQ9IjIyIiBhcmlhLWxhYmVsPSJHb29nbGUgTWFwcyIgY2xhc3M9IiR7YX0iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHZpZXdCb3g9IjAgMCAxMDYgMjIiPjxnIGZpbGw9IiR7Y30iIG9wYWNpdHk9Ii45Ij48cGF0aCBkPSJtNTkuODYgMTEuNDQtLjkzLTIuMzNxLS4yNC0uNi0uNjEtMS4yMi0uNC0uNjQtMS4wMS0xLjI3LS43NS0uNzUtMS44LTEuMi0xLjA5LS40Ni0yLjMtLjQ2LTEuNzcgMC0zLjIuODdWLjQ3aC02djQuNzdoLTEuOTVhNi4xIDYuMSAwIDAwLTYuNDMgMS45NHEtLjE0LS4xOC0uMzMtLjM1YTYuNCA2LjQgMCAwMC00LjYtMS44NiA2LjQgNi40IDAgMDAtNC42MSAxLjg2bC0uMzIuMzQtLjMyLS4zNGE2LjQgNi40IDAgMDAtNC42LTEuODZxLTIuMzQgMC00LjA3IDEuMzhIMTQuM2wyLjQ3LTIuNDYtMS40OS0xLjRBOC43IDguNyAwIDAwOS4xIDBhOSA5IDAgMDAtNi40IDIuNjFBOC42IDguNiAwIDAwMCA4Ljk3cTAgMy43MyAyLjcgNi4zN2E5IDkgMCAwMDYuNCAyLjYyYzIuNDcgMCA0LjctLjg3IDYuMy0yLjU0bC4xMS0uMTNxLjMxLjQ0LjcuOGE2LjQgNi40IDAgMDA0LjYxIDEuODcgNi40IDYuNCAwIDAwNC45My0yLjJsLjMyLjM0YTYuNCA2LjQgMCAwMDQuNiAxLjg2cTEuOSAwIDMuNDEtLjkybC40NSAxLjA3YTcgNyAwIDAwMi4wOSAyLjY2QTYgNiAwIDAwNDAuMzcgMjJhNi4yIDYuMiAwIDAwNC40OC0xLjczIDUuNyA1LjcgMCAwMDEuNS0yLjU4SDUwdi0uNjdxMS41Mi45NCAzLjQyLjk0YTYgNiAwIDAwMy40LS45NCA3IDcgMCAwMDIuMDItMS45NGwxLjExLTEuNjYtMS44Ny0xLjI1ek0xMDUgMTAuMWwtLjc0LTEuODRhNSA1IDAgMDAtMi4xLTIuNDNxLTEuMzUtLjc2LTIuOTktLjc3LTEuOTcgMC0zLjQ4IDEuMDUtLjM1LjI2LS42Ni41NmE1LjcgNS43IDAgMDAtNS43My0xLjM0aC00LjY0di42cS0xLjQtLjg3LTMuMjItLjg3YTYgNiAwIDAwLTMuMjIuOVYxLjVoLTQuNzRsLTMuMTEgNS40NS0zLjEyLTUuNDVoLTQuNzN2MTYuMmg1LjU3di0yLjZoNC41NnYyLjZoNS41OHYtLjM3cTEuMTYuNjQgMi42Mi42NC45NiAwIDEuNzktLjI3aDIuMDN2My42OGg1LjU4di0zLjQ2cS40MS4wNi44NC4wNmMxLjUgMCAyLjg3LS41NyAzLjk4LTEuNjRxLjMuMy42Ni41NmE1LjcgNS43IDAgMDAzLjUxIDEuMDggNS43IDUuNyAwIDAwMy42NC0xLjIgNC4zIDQuMyAwIDAwLjczLTYuMDhsMS4zOS0uNTgiLz48L2c+PHBhdGggZmlsbD0iJHtifSIgZD0iTTkuMSAxNS45NmE3IDcgMCAwMS01LTIuMDUgNi42IDYuNiAwIDAxLTIuMDktNC45NHEwLTIuODggMi4xLTQuOTNBNyA3IDAgMDE5LjEgMmE2LjYgNi42IDAgMDE0LjggMS45MmwtMS4zNiAxLjM1QTUgNSAwIDAwOS4xIDMuOVE3IDMuOSA1LjU1IDUuMzhhNSA1IDAgMDAtMS40NiAzLjZxMCAyLjEgMS40NiAzLjU5UTcgMTQuMDUgOS4xIDE0LjA1cTIuMTIgMCAzLjU0LTEuNC44NC0uODQgMS4wNC0yLjRIOS4xMVY4LjMyaDYuNDNhNiA2IDAgMDEuMSAxLjJxMCAyLjgtMS42NSA0LjQ2YTYuNCA2LjQgMCAwMS00Ljg4IDEuOTZtMTQuOTQtMS4yOGE0LjQgNC40IDAgMDEtMy4yIDEuMjkgNC40IDQuNCAwIDAxLTMuMjEtMS4zIDQuMyA0LjMgMCAwMS0xLjMyLTMuMnEwLTEuOTMgMS4zMi0zLjIyYTQuNCA0LjQgMCAwMTMuMi0xLjI5IDQuNCA0LjQgMCAwMTMuMiAxLjMgNC4zIDQuMyAwIDAxMS4zMiAzLjJxMCAxLjkzLTEuMzEgMy4yMm0tNS0xLjI2cS43NS43NyAxLjguNzcgMS4wMyAwIDEuNzgtLjc3Ljc2LS43OC43Ni0xLjk1IDAtMS4xOS0uNzUtMS45N2EyLjQgMi40IDAgMDAtMS44LS43N3EtMS4wNSAwLTEuOC43Ny0uNzQuNzctLjc0IDEuOTcgMCAxLjE5Ljc1IDEuOTVtMTQuODYgMS4yNmE0LjQgNC40IDAgMDEtMy4yIDEuMjkgNC40IDQuNCAwIDAxLTMuMi0xLjMgNC4zIDQuMyAwIDAxLTEuMzItMy4ycTAtMS45MyAxLjMxLTMuMjJhNC40IDQuNCAwIDAxMy4yLTEuMjkgNC40IDQuNCAwIDAxMy4yMSAxLjMgNC4zIDQuMyAwIDAxMS4zMSAzLjJxMCAxLjkzLTEuMyAzLjIybS01LTEuMjZxLjc1Ljc3IDEuOC43NyAxLjA0IDAgMS43OS0uNzcuNzUtLjc4Ljc1LTEuOTUgMC0xLjE5LS43NC0xLjk3YTIuNCAyLjQgMCAwMC0xLjgtLjc3cS0xLjA2IDAtMS44Ljc3LS43NS43Ny0uNzUgMS45NyAwIDEuMTkuNzUgMS45NU00MC4zOCAyMHEtMS41IDAtMi41Mi0uOGE0LjUgNC41IDAgMDEtMS40Ni0xLjg2bDEuNzItLjcycS4yNy42NC44NSAxLjEyLjU5LjQ4IDEuNDEuNDhhMi4zIDIuMyAwIDAwMS43Ni0uNjhxLjY1LS42OC42NS0xLjk2di0uNjVoLS4wN2EyLjkgMi45IDAgMDEtMi4zOCAxLjAyIDQgNCAwIDAxLTMuMDEtMS4zMSA0LjQgNC40IDAgMDEtMS4zLTMuMTcgNC40IDQuNCAwIDAxMS4zLTMuMiA0IDQgMCAwMTMuMDEtMS4zMnEuNzYgMCAxLjQuMy42LjI3Ljk4LjcxaC4wN3YtLjczaDEuODd2OC4wOHEwIDIuMzUtMS4yIDMuNTJBNC4yIDQuMiAwIDAxNDAuMzggMjBtLjEzLTUuODFxMS4wMiAwIDEuNzEtLjc3LjctLjc4LjctMS45MyAwLTEuMTctLjctMS45N2EyLjIgMi4yIDAgMDAtMS43LS43OHEtMS4wNCAwLTEuNzguNzgtLjc0Ljc5LS43MyAxLjk3IDAgMS4xNy43MyAxLjkzLjc0Ljc3IDEuNzcuNzdtNy41LTExLjcyVjE1LjdoLTEuOTlWMi40N3ptNS40MiAxMy40OWE0LjQgNC40IDAgMDEtNC40Ny00LjVjMC0xLjI3LjQyLTIuNCAxLjI0LTMuMjRhNCA0IDAgMDEzLjAxLTEuMjYgMy44IDMuOCAwIDAxMi42OSAxLjA3IDUgNSAwIDAxMS4xNyAxLjhsLjIuNTEtNi4wMiAyLjVhMi4zIDIuMyAwIDAwMi4xOCAxLjM2cTEuMzcgMCAyLjIxLTEuMjRsMS41NCAxLjAycS0uNS43Ni0xLjQ2IDEuMzhhNCA0IDAgMDEtMi4zLjZ6bS0yLjUxLTQuNjMgNC4wMi0xLjY4YTEuNCAxLjQgMCAwMC0uNjMtLjY5IDIgMiAwIDAwLTEuMDQtLjI2cS0uODcgMC0xLjYzLjcyYTIuNCAyLjQgMCAwMC0uNzIgMS45MnptMTMuNjIgNC4zNlYzLjQ5aDEuNTdsNC4yNSA3LjQzaC4wN2w0LjI0LTcuNDNoMS41OHYxMi4yaC0xLjU4VjguNDRsLjA3LTIuMDRoLS4wN2wtMy44MSA2LjdoLS45MmwtMy44Mi02LjdoLS4wN2wuMDcgMi4wNHY3LjI1em0xNi4zMi4yN3EtMS4zNCAwLTIuMjItLjc3LS45LS43OC0uOS0yLjAzIDAtMS4zNiAxLjA3LTIuMTQgMS4wNS0uNzkgMi42MS0uNzggMS4zOSAwIDIuMjcuNTF2LS4yNHEwLS45LS42My0xLjQ3YTIuMyAyLjMgMCAwMC0xLjU2LS41NXEtLjY4IDAtMS4yMy4zMmExLjcgMS43IDAgMDAtLjc2LjlsLTEuNDMtLjYycS4yOC0uNzUgMS4xNC0xLjM5YTMuNyAzLjcgMCAwMTIuMjUtLjY0cTEuNjEgMCAyLjY3Ljk0dDEuMDYgMi42NHY1LjA1aC0xLjV2LTEuMTZoLS4wN2EzLjEgMy4xIDAgMDEtMi43NSAxLjQzem0uMjYtMS40M3EuOTggMCAxLjc3LS43Mi44LS43Mi43OS0xLjcxLS42Ni0uNTQtMi0uNTQtMS4xNCAwLTEuNzIuNDktLjU4LjUtLjU4IDEuMTYgMCAuNi41My45Ny41Mi4zNiAxLjIxLjM2em05Ljk4IDEuNDNxLS45NiAwLTEuNzEtLjQxYTMgMyAwIDAxLTEuMTQtMS4wMmgtLjA3bC4wNyAxLjE2djMuNjhoLTEuNTdWNy4zNGgxLjVWOC41aC4wN2EzIDMgMCAwMTEuMTQtMS4wMiAzLjcgMy43IDAgMDE0LjUuODcgNC41IDQuNSAwIDAxMS4xOCAzLjE4cTAgMS45LTEuMTggMy4xN2EzLjcgMy43IDAgMDEtMi44IDEuMjh6bS0uMjYtMS40M3ExLjEgMCAxLjg3LS44My43OC0uODIuNzgtMi4yIDAtMS4zNi0uNzgtMi4xOWEyLjUgMi41IDAgMDAtMS44Ny0uODMgMi41IDIuNSAwIDAwLTEuODguODIgMyAzIDAgMDAtLjc4IDIuMnEwIDEuNC43OCAyLjIuNzcuODMgMS44OC44M204LjQxIDEuNDNhMy44IDMuOCAwIDAxLTMuNjUtMi4zOEw5NyAxM3EuNjcgMS41NyAyLjI2IDEuNTcuNzUgMCAxLjItLjMyYTEgMSAwIDAwLjQ3LS44NXEwLS44MS0xLjE0LTEuMTFsLTEuNy0uNDFhNCA0IDAgMDEtMS41MS0uNzcgMS45IDEuOSAwIDAxLS43Mi0xLjU1cTAtMS4xMS45OC0xLjhhNCA0IDAgMDEyLjMyLS42OXExLjExIDAgMS45OC41dDEuMjUgMS40NGwtMS4zNy41NnEtLjQ1LTEuMS0xLjktMS4xLS43MSAwLTEuMi4yOC0uNDcuMy0uNDcuNzggMCAuNzIgMS4xMS45OGwxLjY1LjM5cTEuMTguMjcgMS43NS45NC41Ni42Ni41NiAxLjUgMCAxLjEyLS45MiAxLjg3dC0yLjM4Ljc1eiIvPjwvc3ZnPmA7Cl8uJHE9KHtmaWxsOmF9KT0+KDAsXy5XcSlgPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9ImluZm8taWNvbiIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiPjxwYXRoIGZpbGw9IiR7YX0iIGQ9Ik00NDAtMjgwaDgwdi0yNDBoLTgwem00MC0zMjBxMTcgMCAyOC41LTExLjVUNTIwLTY0MHQtMTEuNS0yOC41VDQ4MC02ODB0LTI4LjUgMTEuNVQ0NDAtNjQwdDExLjUgMjguNVQ0ODAtNjAwbTAgNTIwcS04MyAwLTE1Ni0zMS41VDE5Ny0xOTd0LTg1LjUtMTI3VDgwLTQ4MHQzMS41LTE1NlQxOTctNzYzdDEyNy04NS41VDQ4MC04ODB0MTU2IDMxLjVUNzYzLTc2M3Q4NS41IDEyN1Q4ODAtNDgwdC0zMS41IDE1NlQ3NjMtMTk3dC0xMjcgODUuNVQ0ODAtODBtMC04MHExMzQgMCAyMjctOTN0OTMtMjI3LTkzLTIyNy0yMjctOTMtMjI3IDkzLTkzIDIyNyA5MyAyMjcgMjI3IDkzbTAtMzIwIi8+PC9zdmc+YDtQZmE9KHtmaWxsOmEsb3V0bGluZTpifSk9PigwLF8uV3EpYDxzdmcgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9ImluZm8taWNvbi0tb3V0bGluZSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMTEgMTEgMTkgMTkiPjxjaXJjbGUgY3g9IjIwIiBjeT0iMjAiIHI9IjkiIGZpbGw9IiR7Yn0iIGZpbGwtb3BhY2l0eT0iLjkiLz48cGF0aCBmaWxsPSIke2F9IiBkPSJNMTkuMjUgMjMuNjhoMS41VjE5LjFoLTEuNXptLjc1LTUuODRxLjMyIDAgLjU0LS4yMmEuNy43IDAgMDAuMjMtLjU1cTAtLjMtLjIzLS41NGEuNy43IDAgMDAtLjU0LS4yMnEtLjMyIDAtLjU0LjIyYS43LjcgMCAwMC0uMjMuNTRxMCAuMzMuMjMuNTUuMjIuMjIuNTQuMjJtMCA5LjUxYTcuNCA3LjQgMCAwMS01LjIxLTIuMTRBNy40IDcuNCAwIDAxMTIuNjUgMjBhNy4zIDcuMyAwIDAxMTAuMjItNi43N3ExLjMzLjU3IDIuMzIgMS41OCAxLjAyLjk5IDEuNTggMi4zNC41OCAxLjM0LjU4IDIuODUgMCAxLjUyLS41OCAyLjg3QTcuMyA3LjMgMCAwMTIwIDI3LjM1bTAtMS41NnEyLjQyIDAgNC4xLTEuNjhBNS42IDUuNiAwIDAwMjUuOCAyMHEwLTIuNDItMS43LTQuMWE1LjYgNS42IDAgMDAtNC4xLTEuN3EtMi40MiAwLTQuMSAxLjdhNS42IDUuNiAwIDAwLTEuNyA0LjFxMCAyLjQyIDEuNyA0LjFhNS42IDUuNiAwIDAwNC4xIDEuNyIvPjwvc3ZnPmA7Cl8uWHE9KHthcmlhTGFiZWw6YSxjbGFzc05hbWU6Yn0pPT4oMCxfLldxKWA8c3ZnIGZpbGw9ImN1cnJlbnRDb2xvciIgYXJpYS1sYWJlbD0iJHthfSIgY2xhc3M9IiR7Yn0iIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIj48cGF0aCBpZD0ib3Blbi1pbi1uZXciIGQ9Ik0yMDAtMTIwcS0zMyAwLTU2LjUtMjMuNVQxMjAtMjAwdi01NjBxMC0zMyAyMy41LTU2LjVUMjAwLTg0MGgyODB2ODBIMjAwdjU2MGg1NjB2LTI4MGg4MHYyODBxMCAzMy0yMy41IDU2LjVUNzYwLTEyMHptMTg4LTIxMi01Ni01NiAzNzItMzcySDU2MHYtODBoMjgwdjI4MGgtODB2LTE0NHoiLz48L3N2Zz5gO3ZhciB2amE9Xy4kcyhbIjpob3N0KDpub3QoW2hpZGRlbl0pKXtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zIFRleHQsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWZ9LmF0dHJpYnV0aW9uLXRleHR7Zm9udC13ZWlnaHQ6NDAwO3doaXRlLXNwYWNlOm5vd3JhcH0uYXR0cmlidXRpb24tdGV4dC5mb250LS1ib2R5LXNtYWxse2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4ycHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzMzMzfS5hdHRyaWJ1dGlvbi10ZXh0LmZvbnQtLWJvZHktbWVkaXVte2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2xldHRlci1zcGFjaW5nOi4xcHg7bGluZS1oZWlnaHQ6MS4xNDI4NTcxNDI5fS5jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtsaW5lLWhlaWdodDowfS5jb250YWluZXI+YXt0ZXh0LWRlY29yYXRpb246bm9uZX1nbXAtaW50ZXJuYWwtZGlhbG9nIGRpYWxvZ3stLWdtcC1pbnRlcm5hbC1kaWFsb2ctYm9yZGVyLXJhZGl1czp2YXIoLS1nbXAtZGlhbG9nLWJvcmRlci1yYWRpdXMsMjhweCk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKTttYXgtd2lkdGg6NjAwcHh9Z21wLWludGVybmFsLWRpYWxvZyBkaWFsb2cgaGVhZGVyIC5nbS11aS1ob3Zlci1lZmZlY3Q+c3BhbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpe2dtcC1pbnRlcm5hbC1kaWFsb2cgZGlhbG9nIGhlYWRlciAuZ20tdWktaG92ZXItZWZmZWN0PnNwYW57YmFja2dyb3VuZC1jb2xvcjpCdXR0b25UZXh0fX1pbWd7d2lkdGg6MTAwJX1zdmd7c2hhcGUtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbn0uaW5mby1idXR0b257LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7LW1vei1tYXJnaW4tc3RhcnQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTtwYWRkaW5nOjA7cGFkZGluZy1ibG9jazowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjI0cHh9LmluZm8tYnV0dG9uOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5pbmZvLWJ1dHRvbiAudGFwLWFyZWF7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjM0cHg7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7d2lkdGg6NDhweDt6LWluZGV4OjB9LmluZm8tYnV0dG9uLnRhcC1hcmVhLWV4cGFuZGVke2hlaWdodDo0OHB4Oy13ZWJraXQtbWFyZ2luLXN0YXJ0OnVuc2V0Oy1tb3otbWFyZ2luLXN0YXJ0OnVuc2V0O21hcmdpbi1pbmxpbmUtc3RhcnQ6dW5zZXQ7cGFkZGluZy1ibG9jazo0cHg7d2lkdGg6NDhweH0uaW5mby1idXR0b24udGFwLWFyZWEtZXhwYW5kZWQgLnRhcC1hcmVhe2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmluZm8tYnV0dG9uLnRhcC1hcmVhLWV4cGFuZGVkIC5pbmZvLWljb24tY29udGFpbmVye2hlaWdodDozNHB4O3dpZHRoOjM0cHh9LmluZm8tYnV0dG9uLnRhcC1hcmVhLWV4cGFuZGVkIC5pbmZvLWljb24tY29udGFpbmVyIHN2Z3t3aWR0aDoxOHB4fS5pbmZvLWljb24tY29udGFpbmVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweDt6LWluZGV4OjF9LmluZm8taWNvbi1jb250YWluZXIgc3Zne3dpZHRoOjE1cHg7ei1pbmRleDoxfS5pbmZvLWljb24tY29udGFpbmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZ21wLWludGVybmFsLWF0dHJpYnV0aW9uLWNvbG9yLGxpZ2h0LWRhcmsoIzVlNWU1ZSwjZmZmKSkgOCUsdHJhbnNwYXJlbnQpfS5pbmZvLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC5pbmZvLWljb24tY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZ21wLWludGVybmFsLWF0dHJpYnV0aW9uLWNvbG9yLGxpZ2h0LWRhcmsoIzVlNWU1ZSwjZmZmKSkgMTAlLHRyYW5zcGFyZW50KX0iXSk7dmFyIFB0PWNsYXNzIGV4dGVuZHMgXy5kdHt0aSgpe3JldHVybigwLF8uV3EpYDxidXR0b24KICAgICAgdHlwZT0iYnV0dG9uIgogICAgICB0aXRsZT0iJHsiQmFjayJ9IgogICAgICBhcmlhLWxhYmVsPSIkeyJCYWNrIn0iCiAgICAgID4ke18uc2phKCl9PC9idXR0b24KICAgID5gfWZvY3VzKGEpe3RoaXMuUksuZm9jdXMoYSl9fTtQdC5zdHlsZXM9Xy4kcyhbIjpob3N0IGJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7b3BhY2l0eTouNjtwYWRkaW5nOjB9Omhvc3QgYnV0dG9uOmhvdmVye2NvbG9yOmxpZ2h0LWRhcmsoIzAwMCwjZmZmKTtvcGFjaXR5OjF9Omhvc3QgYnV0dG9uOmRpcihydGwpIHN2Z3std2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoLTEpO3RyYW5zZm9ybTpzY2FsZVgoLTEpfSJdKTsKXy5EKFtfLnVxKCJidXR0b24iKSxfLkYoImRlc2lnbjp0eXBlIixIVE1MQnV0dG9uRWxlbWVudCldLFB0LnByb3RvdHlwZSwiUksiLHZvaWQgMCk7Xy54bygiZ21wLWludGVybmFsLWJhY2stYnV0dG9uIixQdCk7dmFyIHdqYT0oMCxfLkdqKWBkaWFsb2cuemxEclUtYmFzaWMtZGlhbG9nLWVsZW1lbnQ6OmJhY2tkcm9we2JhY2tncm91bmQtY29sb3I6IzIwMjEyNH1Ac3VwcG9ydHMgKCgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDNweCkpIG9yIChiYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpKSl7ZGlhbG9nLnpsRHJVLWJhc2ljLWRpYWxvZy1lbGVtZW50OjpiYWNrZHJvcHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzIsMzMsMzYsLjcpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoM3B4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpfX1kaWFsb2dbb3Blbl0uemxEclUtYmFzaWMtZGlhbG9nLWVsZW1lbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1kaWFsb2cuemxEclUtYmFzaWMtZGlhbG9nLWVsZW1lbnR7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1nbXAtaW50ZXJuYWwtZGlhbG9nLWJvcmRlci1yYWRpdXMsMjhweCk7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MjBweCA4cHggOHB4fWRpYWxvZy56bERyVS1iYXNpYy1kaWFsb2ctZWxlbWVudCBoZWFkZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtnYXA6MTZweDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttYXJnaW4tYm90dG9tOjIwcHg7cGFkZGluZzowIDE2cHh9ZGlhbG9nLnpsRHJVLWJhc2ljLWRpYWxvZy1lbGVtZW50IGhlYWRlciBoMntmb250LWZhbWlseTpHb29nbGUgU2FucyxSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoyOHB4O2ZvbnQtc2l6ZToyMnB4O2xldHRlci1zcGFjaW5nOjA7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOmxpZ2h0LWRhcmsoIzNjNDA0MywjZThlYWVkKTtmbGV4OjE7bWFyZ2luOjB9ZGlhbG9nLnpsRHJVLWJhc2ljLWRpYWxvZy1lbGVtZW50IC51bkFSdWItYmFzaWMtZGlhbG9nLWVsZW1lbnQtLWNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxM3B4O2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDE2cHggMTZweDtvdmVyZmxvdzphdXRvfVxuYDt2YXIgeGphPXsiY2xvc2Uuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xOSUyMDYuNDElMjAxNy41OSUyMDUlMjAxMiUyMDEwLjU5JTIwNi40MSUyMDUlMjA1JTIwNi40MSUyMDEwLjU5JTIwMTIlMjA1JTIwMTcuNTklMjA2LjQxJTIwMTklMjAxMiUyMDEzLjQxJTIwMTcuNTklMjAxOSUyMDE5JTIwMTcuNTklMjAxMy40MSUyMDEyeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBkJTNEJTIyTTAlMjAwaDI0djI0SDB6JTIyLyUzRSUzQy9zdmclM0UifTt2YXIgeWphPSgwLF8uR2opYC5nbS11aS1ob3Zlci1lZmZlY3R7b3BhY2l0eTouNn0uZ20tdWktaG92ZXItZWZmZWN0OmhvdmVye29wYWNpdHk6MX0uZ20tdWktaG92ZXItZWZmZWN0XHUwMDNlc3BhbntiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoIzAwMCwjZmZmKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSwocHJlZmVycy1jb250cmFzdDptb3JlKXsuZ20tdWktaG92ZXItZWZmZWN0XHUwMDNlc3BhbntiYWNrZ3JvdW5kLWNvbG9yOkJ1dHRvblRleHR9fXNlbnRpbmVse31cbmA7dmFyIFR0O18uUXQ9KGEse3Jvb3Q6Yj1kb2N1bWVudC5oZWFkLEp6OmN9PXt9KT0+e2MmJihhPWEucmVwbGFjZSgvKFxXKWxlZnQoXFcpL2csIiQxYCQyIikucmVwbGFjZSgvKFxXKXJpZ2h0KFxXKS9nLCIkMWxlZnQkMiIpLnJlcGxhY2UoLyhcVylgKFxXKS9nLCIkMXJpZ2h0JDIiKSk7Yz1fLm9jYSgiU1RZTEUiKTtjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpKTsoYT1KYWEoInN0eWxlIixkb2N1bWVudCkpJiZjLnNldEF0dHJpYnV0ZSgibm9uY2UiLGEpO2IuaW5zZXJ0QmVmb3JlKGMsYi5maXJzdENoaWxkKTtyZXR1cm4gY307Xy5SdD0oYSxiPXt9KT0+e2E9Xy5CaihhKTtfLlF0KGEsYil9O18uU3Q9KGEsYixjPSExKT0+e2I9Yi5nZXRSb290Tm9kZT9iLmdldFJvb3ROb2RlKCk6ZG9jdW1lbnQ7Yj1iLmhlYWR8fGI7dmFyIGQ9Xy56amEoYik7ZC5oYXMoYSl8fChkLmFkZChhKSxfLlJ0KGEse3Jvb3Q6YixKejpjfSkpfTtUdD1uZXcgV2Vha01hcDsKXy56amE9YT0+e1R0LmhhcyhhKXx8VHQuc2V0KGEsbmV3IFdlYWtTZXQpO3JldHVybiBUdC5nZXQoYSl9O18uQWphPVJlZ0V4cCgiW1x1MDU5MS1cdTA2ZWZcdTA2ZmEtXHUwOGZmXHUyMDBmXHVkODAyLVx1ZDgwM1x1ZDgzYS1cdWQ4M2JcdWZiMWQtXHVmZGZmXHVmZTcwLVx1ZmVmY10iKTtfLkJqYT1SZWdFeHAoIltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtfLkNqYT1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpfLkVqYT1SZWdFeHAoIltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl1bXlx1MDU5MS1cdTA2ZWZcdTA2ZmEtXHUwOGZmXHUyMDBmXHVkODAyLVx1ZDgwM1x1ZDgzYS1cdWQ4M2JcdWZiMWQtXHVmZGZmXHVmZTcwLVx1ZmVmY10qJCIpO18uRmphPVJlZ0V4cCgiW1x1MDU5MS1cdTA2ZWZcdTA2ZmEtXHUwOGZmXHUyMDBmXHVkODAyLVx1ZDgwM1x1ZDgzYS1cdWQ4M2JcdWZiMWQtXHVmZGZmXHVmZTcwLVx1ZmVmY11bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSokIik7dmFyIEdqYSxIamEsSWphO0dqYT1uZXcgXy5ibygxMiwxMik7SGphPW5ldyBfLmdvKDEzLDEzKTtJamE9bmV3IF8uYm8oMCwwKTsKXy5VcT1jbGFzcyBleHRlbmRzIF8uR3R7Y29uc3RydWN0b3IoYSl7dmFyIGI9UW0oIkNsb3NlQnV0dG9uVmlldyIsImVsZW1lbnQiLCgpPT5fLk1tKF8uRW0oSFRNTEJ1dHRvbkVsZW1lbnQsIkhUTUxCdXR0b25FbGVtZW50IikpKGEuZWxlbWVudCl8fF8uUnEoYS5sYWJlbHx8IkNsb3NlIikpO2E9ey4uLmEsZWxlbWVudDpifTtzdXBlcihhKTt0aGlzLlpzPWEuWnN8fEdqYTt0aGlzLkl1PWEuSXV8fEhqYTt0aGlzLmxhYmVsPWEubGFiZWx8fCJDbG9zZSI7dGhpcy5vd25lckVsZW1lbnQ9YS5vd25lckVsZW1lbnQ7dGhpcy5sRj1hLmxGfHwhMTt0aGlzLm9mZnNldD1hLm9mZnNldHx8SWphO2EubEZ8fCh0aGlzLmVsZW1lbnQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLmVsZW1lbnQuc3R5bGUudG9wPV8ucG0odGhpcy5vZmZzZXQueSksdGhpcy5lbGVtZW50LnN0eWxlLnJpZ2h0PV8ucG0odGhpcy5vZmZzZXQueCkpO2I9bmV3IF8uZ28odGhpcy5JdS53aWR0aCsyKnRoaXMuWnMueCwKdGhpcy5JdS5oZWlnaHQrMip0aGlzLlpzLnkpO18uUXAodGhpcy5lbGVtZW50LGIpO18uU3QoeWphLHRoaXMub3duZXJFbGVtZW50KTt0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZ20tdWktaG92ZXItZWZmZWN0Iik7Yj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5zdHlsZS5zZXRQcm9wZXJ0eSgibWFzay1pbWFnZSIsYHVybCgiJHt4amFbImNsb3NlLnN2ZyJdfSIpYCk7Yi5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIjtiLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjtfLlFwKGIsdGhpcy5JdSk7Yi5zdHlsZS5tYXJnaW49YCR7dGhpcy5acy55fXB4ICR7dGhpcy5acy54fXB4YDt0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYik7dGhpcy54aShhLF8uVXEsIkNsb3NlQnV0dG9uVmlldyIpfX07dmFyIEtmYT1uZXcgU2V0O0tmYS5hZGQoImdtLXN0eWxlLWl3LWEiKTtfLllxPWNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnR7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm9wdGlvbnM9YTt0aGlzLnNoPSExO3RoaXMuYmo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGlhbG9nIik7dGhpcy5yaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoZWFkZXIiKTt0aGlzLnFoPW5ldyBQdDt0aGlzLmJqLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwoKT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsb3NlIikpO3RoaXMucWgucmVtb3ZlKCl9KTt0aGlzLmJqLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiPT57aWYoYi50YXJnZXQ9PT10aGlzLmJqKXtsZXQgYz10aGlzLmJqLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2MudG9wPD1iLmNsaWVudFkmJmIuY2xpZW50WTw9Yy5ib3R0b20mJmMubGVmdDw9Yi5jbGllbnRYJiZiLmNsaWVudFg8PWMucmlnaHR8fHRoaXMuY2xvc2UoKX19KTt0aGlzLnFoLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+Cnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJnbXAtaW50ZXJuYWwtYmFjayIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSk7dGhpcy5xaC5yZW1vdmUoKX0pO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZ21wLWludGVybmFsLW5leHQiLGI9PntiLnN0b3BQcm9wYWdhdGlvbigpO0xmYSh0aGlzKX0pfWNvbm5lY3RlZENhbGxiYWNrKCl7aWYoIXRoaXMuc2gpe3RoaXMuYmouYXJpYUxhYmVsPXRoaXMub3B0aW9ucy50aXRsZTt0aGlzLmJqLmFwcGVuZChNZmEodGhpcykpO3ZhciBhPXRoaXMuYmosYj1hLmFwcGVuZDtsZXQgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtfLlRxKGMsImJhc2ljLWRpYWxvZy1lbGVtZW50LS1jb250ZW50Iik7Yy5hcHBlbmRDaGlsZCh0aGlzLm9wdGlvbnMuY29udGVudCk7Yi5jYWxsKGEsYyk7dGhpcy5hcHBlbmQodGhpcy5iaik7Xy5UcSh0aGlzLmJqLCJiYXNpYy1kaWFsb2ctZWxlbWVudCIpO18uU3Qod2phLHRoaXMpO3RoaXMuc2g9ITB9fWNsb3NlKCl7dGhpcy5iai5jbG9zZSgpfX07Cl8ueG8oImdtcC1pbnRlcm5hbC1kaWFsb2ciLF8uWXEpO3ZhciBKamE9Xy4kcyhbIi5kaXNjbG9zdXJlLWNvbnRhaW5lcntmb250LXNpemU6MTZweH0uc2xvdC1jb250YWluZXJ7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KX0uY29udGVudCwuc2xvdC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jb250ZW50e2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpfS5jb250ZW50IC5kZXNjcmlwdGlvbntmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO21hcmdpbi10b3A6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCl9LmNvbnRlbnQgLmhlYWRpbmd7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWhlYWRsaW5lLW1lZGl1bSxub3JtYWwgNTAwIDEuMTI1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6MDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmNvbnRlbnQgLmhlYWRpbmcgc3Bhbnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1vei1ib3gtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxfS5jb250ZW50IC5oZWFkaW5nOmRpcihydGwpIHN2Z3std2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoLTEpO3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5jb250ZW50IC5oZWFkaW5nIHN2ZyBwYXRoe2ZpbGw6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSl9LmNvbnRlbnQgLmxpbmstaXRlbXtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1sYXJnZSxub3JtYWwgNTAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCkgMDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnR9LmNvbnRlbnQgLmxpbmstaXRlbSBhey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXByaW1hcnksbGlnaHQtZGFyaygjMDA3YjhiLCM1OGI5Y2EpKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCw0cHgpO3BhZGRpbmctYmxvY2s6MTBweDtwYWRkaW5nLWlubGluZTowIDEycHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmNvbnRlbnQgLmxpbmstaXRlbSBhIC5pY29uLWNvbnRhaW5lcntoZWlnaHQ6MWVtO3dpZHRoOjFlbX0uY29udGVudCAubGluay1pdGVtIGEgLmljb24tY29udGFpbmVyIHN2ZyBwYXRoe2ZpbGw6dmFyKC0tZ21wLW1hdC1jb2xvci1wcmltYXJ5LGxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKSl9LmNvbnRlbnQgLmxpbmtze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCl9LmNvbnRlbnQubm8tbGlua3N7bWFyZ2luLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX0iXSk7dmFyIFV0PWE9PiguLi5iKT0+KHtfJGxpdERpcmVjdGl2ZSQ6YSx2YWx1ZXM6Yn0pLFZ0PWNsYXNze2dldCB5cigpe3JldHVybiB0aGlzLnFoLnlyfWZMKGEsYixjKXt0aGlzLndoPWE7dGhpcy5xaD1iO3RoaXMudGg9Y31nTChhLGIpe3JldHVybiB0aGlzLnVwZGF0ZShhLGIpfXVwZGF0ZShhLGIpe3JldHVybiB0aGlzLnRpKC4uLmIpfX07LyoKCiBDb3B5cmlnaHQgMjAxOCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCl8uYXI9VXQoY2xhc3MgZXh0ZW5kcyBWdHtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO2lmKGEudHlwZSE9PTF8fGEubmFtZSE9PSJjbGFzcyJ8fGEud2w/Lmxlbmd0aD4yKXRocm93IEVycm9yKCJgY2xhc3NNYXAoKWAgY2FuIG9ubHkgYmUgdXNlZCBpbiB0aGUgYGNsYXNzYCBhdHRyaWJ1dGUgYW5kIG11c3QgYmUgdGhlIG9ubHkgcGFydCBpbiB0aGUgYXR0cmlidXRlLiIpO310aShhKXtyZXR1cm4iICIrT2JqZWN0LmtleXMoYSkuZmlsdGVyKGI9PmFbYl0pLmpvaW4oIiAiKSsiICJ9dXBkYXRlKGEsW2JdKXtpZih0aGlzLnJoPT09dm9pZCAwKXt0aGlzLnJoPW5ldyBTZXQ7YS53bCE9PXZvaWQgMCYmKHRoaXMuc2g9bmV3IFNldChhLndsLmpvaW4oIiAiKS5zcGxpdCgvXHMvKS5maWx0ZXIoZD0+ZCE9PSIiKSkpO2ZvcihsZXQgZCBpbiBiKWJbZF0mJiF0aGlzLnNoPy5oYXMoZCkmJnRoaXMucmguYWRkKGQpO3JldHVybiB0aGlzLnRpKGIpfWE9YS5lbGVtZW50LmNsYXNzTGlzdDtmb3IodmFyIGMgb2YgdGhpcy5yaCljIGluCmJ8fChhLnJlbW92ZShjKSx0aGlzLnJoLmRlbGV0ZShjKSk7Zm9yKGxldCBkIGluIGIpYz0hIWJbZF0sYz09PXRoaXMucmguaGFzKGQpfHx0aGlzLnNoPy5oYXMoZCl8fChjPyhhLmFkZChkKSx0aGlzLnJoLmFkZChkKSk6KGEucmVtb3ZlKGQpLHRoaXMucmguZGVsZXRlKGQpKSk7cmV0dXJuICRvfX0pO18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmR0e3RpKCl7cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxkaXYgY2xhc3M9ImRpc2Nsb3N1cmUtY29udGFpbmVyIiBpZD0ibm90ZSIgcm9sZT0ibm90ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2xvdC1jb250YWluZXIiPgogICAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9fTtfLld0LnN0eWxlcz1KamE7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLFN0cmluZyldLF8uV3QucHJvdG90eXBlLCJoZWFkaW5nIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfLld0LnByb3RvdHlwZSwiZGVzY3JpcHRpb24iLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLFN0cmluZyldLF8uV3QucHJvdG90eXBlLCJocmVmIix2b2lkIDApO18uWHQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmxpbmtzPVtdO3RoaXMuc2hvd0FjY2Vzc29yeUljb249ITF9dGkoKXt2YXIgYT1OZmEodGhpcyksYj0oMCxfLmFyKSh7Y29udGVudDohMCwibm8tbGlua3MiOiFhfSk7cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxkaXYgY2xhc3M9JHtifT4KICAgICAgICAke3RoaXMuaGVhZGluZz8oMCxfLldxKWAgPGRpdiBjbGFzcz0iaGVhZGluZyI+CiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmhlYWRpbmd9PC9zcGFuPgogICAgICAgICAgICAgICR7dGhpcy5zaG93QWNjZXNzb3J5SWNvbj8oMCxfLldxKWAkeygwLF8uV3EpYDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIj48cGF0aCBkPSJNNDAwLTI4MHYtNDAwbDIwMCAyMDB6Ii8+PC9zdmc+YH1gOiIifQogICAgICAgICAgICA8L2Rpdj5gOiIifQogICAgICAgICR7dGhpcy5kZXNjcmlwdGlvbj8oMCxfLldxKWA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiIKICAgICAgICAgICAgICA+PHNwYW4+JHt0aGlzLmRlc2NyaXB0aW9ufTwvc3Bhbj48L2RpdgogICAgICAgICAgICA+YDoiIn0KICAgICAgICAke2E/KDAsXy5XcSlgPGRpdiBjbGFzcz0ibGlua3MiPiR7YX08L2Rpdj5gOiIifQogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICBgfX07Xy5YdC5zdHlsZXM9SmphO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfLlh0LnByb3RvdHlwZSwiaGVhZGluZyIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sXy5YdC5wcm90b3R5cGUsImRlc2NyaXB0aW9uIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLF8uWHQucHJvdG90eXBlLCJsaW5rcyIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sXy5YdC5wcm90b3R5cGUsInNob3dBY2Nlc3NvcnlJY29uIix2b2lkIDApO18ueG8oImdtcC1pbnRlcm5hbC1kaXNjbG9zdXJlIixfLld0KTtfLnhvKCJnbXAtaW50ZXJuYWwtZGlzY2xvc3VyZS1zZWN0aW9uIixfLlh0KTtfLktqYT0oMCxfLldxKWAKICA8Z21wLWludGVybmFsLWRpc2Nsb3N1cmUtc2VjdGlvbgogICAgLmhlYWRpbmc9JHsiR29vZ2xlIE1hcHMgVGVybXMifQogICAgLmxpbmtzPSR7W3t0ZXh0OiJUZXJtcyIsaHJlZjoiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9oZWxwL3Rlcm1zX21hcHMvIn0se3RleHQ6IlByaXZhY3kiLGhyZWY6Imh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5In1dfT4KICA8L2dtcC1pbnRlcm5hbC1kaXNjbG9zdXJlLXNlY3Rpb24+CmA7Xy5ZdD1VdChjbGFzcyBleHRlbmRzIFZ0e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7aWYoYS50eXBlIT09MXx8YS5uYW1lIT09InN0eWxlInx8YS53bD8ubGVuZ3RoPjIpdGhyb3cgRXJyb3IoIlRoZSBgc3R5bGVNYXBgIGRpcmVjdGl2ZSBtdXN0IGJlIHVzZWQgaW4gdGhlIGBzdHlsZWAgYXR0cmlidXRlIGFuZCBtdXN0IGJlIHRoZSBvbmx5IHBhcnQgaW4gdGhlIGF0dHJpYnV0ZS4iKTt9dGkoYSl7cmV0dXJuIE9iamVjdC5rZXlzKGEpLnJlZHVjZSgoYixjKT0+e3ZhciBkPWFbY107aWYoZD09bnVsbClyZXR1cm4gYjtjPWMuaW5jbHVkZXMoIi0iKT9jOmMucmVwbGFjZSgvKD86Xih3ZWJraXR8bW96fG1zfG8pfCkoPz1bQS1aXSkvZywiLSQmIikudG9Mb3dlckNhc2UoKTtyZXR1cm4gYitgJHtjfToke2R9O2B9LCIiKX11cGRhdGUoYSxbYl0pe2E9YS5lbGVtZW50LnN0eWxlO3RoaXMucmg9PT12b2lkIDAmJih0aGlzLnJoPW5ldyBTZXQpO2Zvcih2YXIgYyBvZiB0aGlzLnJoKWJbY109PQpudWxsJiYodGhpcy5yaC5kZWxldGUoYyksYy5pbmNsdWRlcygiLSIpP2EucmVtb3ZlUHJvcGVydHkoYyk6YVtjXT1udWxsKTtmb3IobGV0IGQgaW4gYilpZihjPWJbZF0sYyE9bnVsbCl7dGhpcy5yaC5hZGQoZCk7bGV0IGU9dHlwZW9mIGM9PT0ic3RyaW5nIiYmYy5lbmRzV2l0aCgiICFpbXBvcnRhbnQiKTtkLmluY2x1ZGVzKCItIil8fGU/YS5zZXRQcm9wZXJ0eShkLGU/Yy5zbGljZSgwLC0xMSk6YyxlPyJpbXBvcnRhbnQiOiIiKTphW2RdPWN9cmV0dXJuICRvfX0pO18uWnQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmF0dHJpYnV0aW9uVHlwZT0iTE9HTyI7dGhpcy5pbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkPSExO3RoaXMubG9nb0NvbG9yT3B0aW9ucz17Snk6IiM1ZTVlNWUiLEt4OiIjZmZmIn07dGhpcy5zaG93VGVybXNPZlNlcnZpY2U9dGhpcy5zaG93SW5mb0J1dHRvbj0hMDt0aGlzLmRpc2Nsb3N1cmVDb250ZW50PVtdO3RoaXMuYXR0cmlidXRpb25UZXh0PSJHb29nbGUgTWFwcyI7dGhpcy5hdHRyaWJ1dGlvbkZvbnQ9IkJPRFlfU01BTEwiO3RoaXMubW9yZUluZm9CdXR0b25UaXRsZT0iQWJvdXQgR29vZ2xlIE1hcHMgY29udGVudCI7dGhpcy5sb2dvTGlua09wdGlvbnM9dm9pZCAwO3RoaXMucmg9bmV3IF8uV3Q7dGhpcy5xaD1PZmEodGhpcyk7Xy5IbCgidXRpbCIpLnRoZW4oYT0+e2EuQXIoKX0pfWhtKGEpe2lmKGEuaGFzKCJzaG93VGVybXNPZlNlcnZpY2UiKXx8YS5oYXMoImRpc2Nsb3N1cmVDb250ZW50IikpYT0KWy4uLnRoaXMuZGlzY2xvc3VyZUNvbnRlbnRdLHRoaXMuc2hvd1Rlcm1zT2ZTZXJ2aWNlJiZhLnB1c2goXy5LamEpLF8uWHMoKDAsXy5XcSlgJHthfWAsdGhpcy5yaCl9dGkoKXt2YXIgYT10aGlzLmxvZ29Db2xvck9wdGlvbnMuSnl8fCIjNWU1ZTVlIixiPXRoaXMubG9nb0NvbG9yT3B0aW9ucy5LeHx8IiNmZmYiLGM9WnEoYSksZD1acShiKSxlPXRoaXMuYXR0cmlidXRpb25UZXh0IT09Ikdvb2dsZSBNYXBzIj97fTp7Ii0tZ21wLWludGVybmFsLWF0dHJpYnV0aW9uLWNvbG9yIjpgbGlnaHQtZGFyaygke3RoaXMubG9nb0NvbG9yT3B0aW9ucy5KeXx8IiM1ZTVlNWUifSwgJHt0aGlzLmxvZ29Db2xvck9wdGlvbnMuS3h8fCIjZmZmIn0pYH07c3dpdGNoKHRoaXMuYXR0cmlidXRpb25UeXBlKXtjYXNlICJMT0dPIjphPXRqYSh7Y2xhc3NOYW1lOiJhdHRyaWJ1dGlvbl9fbG9nby0tZGVmYXVsdCIsZmlsbDpgbGlnaHQtZGFyaygke2F9LCAke2J9KWB9KTticmVhaztjYXNlICJMT0dPX09VVExJTkUiOmE9CnVqYSh7Y2xhc3NOYW1lOiJhdHRyaWJ1dGlvbl9fbG9nby0tb3V0bGluZSIsZmlsbDpgbGlnaHQtZGFyaygke2F9LCAke2J9KWAsb3V0bGluZTpgbGlnaHQtZGFyaygke2N9LCAke2R9KWB9KTticmVhaztkZWZhdWx0OmE9KDAsXy5XcSlgIDxzcGFuCiAgICAgICAgICB0cmFuc2xhdGU9Im5vIgogICAgICAgICAgY2xhc3M9IiR7KDAsXy5hcikoeyJhdHRyaWJ1dGlvbi10ZXh0IjohMCwiZm9udC0tYm9keS1zbWFsbCI6dGhpcy5hdHRyaWJ1dGlvbkZvbnQ9PT0iQk9EWV9TTUFMTCIsImZvbnQtLWJvZHktbWVkaXVtIjp0aGlzLmF0dHJpYnV0aW9uRm9udD09PSJCT0RZX01FRElVTSJ9KX0iCiAgICAgICAgICBzdHlsZT0iY29sb3I6IGxpZ2h0LWRhcmsoJHthfSwgJHtifSkiCiAgICAgICAgICA+JHt0aGlzLmF0dHJpYnV0aW9uVGV4dH08L3NwYW4KICAgICAgICA+YH10aGlzLmxvZ29MaW5rT3B0aW9ucyYmKGE9KDAsXy5XcSlgIDxhCiAgICAgICAgYXJpYS1sYWJlbD0iJHtfLlFxKHRoaXMubG9nb0xpbmtPcHRpb25zLnRpdGxlKX0iCiAgICAgICAgaHJlZj0iJHt0aGlzLmxvZ29MaW5rT3B0aW9ucy51cmwuaHJlZn0iCiAgICAgICAgcmVsPSJub29wZW5lciIKICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICB0aXRsZT0iJHtfLlFxKHRoaXMubG9nb0xpbmtPcHRpb25zLnRpdGxlKX0iPgogICAgICAgICR7YX0KICAgICAgPC9hPmApO2I9UWZhKHRoaXMsdGhpcy5xaCk7cmV0dXJuKDAsXy5XcSlgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0keygwLF8uWXQpKGUpfT4KICAgICAgICAke2F9JHtifSA8L2RpdgogICAgICA+JHt0aGlzLnFofWB9fTtfLlp0LnN0eWxlcz12amE7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLFN0cmluZyldLF8uWnQucHJvdG90eXBlLCJhdHRyaWJ1dGlvblR5cGUiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLF8uWnQucHJvdG90eXBlLCJpbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfLlp0LnByb3RvdHlwZSwibG9nb0NvbG9yT3B0aW9ucyIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sXy5adC5wcm90b3R5cGUsInNob3dJbmZvQnV0dG9uIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfLlp0LnByb3RvdHlwZSwic2hvd1Rlcm1zT2ZTZXJ2aWNlIix2b2lkIDApOwpfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxfLlp0LnByb3RvdHlwZSwiZGlzY2xvc3VyZUNvbnRlbnQiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLF8uWnQucHJvdG90eXBlLCJhdHRyaWJ1dGlvblRleHQiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLF8uWnQucHJvdG90eXBlLCJhdHRyaWJ1dGlvbkZvbnQiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLFN0cmluZyldLF8uWnQucHJvdG90eXBlLCJtb3JlSW5mb0J1dHRvblRpdGxlIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfLlp0LnByb3RvdHlwZSwibG9nb0xpbmtPcHRpb25zIix2b2lkIDApO18ueG8oImdtcC1pbnRlcm5hbC1hdHRyaWJ1dGlvbiIsXy5adCk7dmFyIExqYT1jbGFzc3tjb25zdHJ1Y3RvcihhPXt9KXt0aGlzLmhlYWRlcnM9e1siWC1Hb29nLUFwaS1LZXkiXTpfLkpsPy50aCgpfHwiIixbIkNvbnRlbnQtVHlwZSJdOiJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIixbIlgtR29vZy1NYXBzLUNoYW5uZWwtSWQiXTpfLkpsPy55aCgpfHwiIiwuLi5hfX19O3ZhciBNamE9Y2xhc3MgZXh0ZW5kcyBMamF7Y29uc3RydWN0b3IoKXtzdXBlcih7fSl9aW50ZXJjZXB0KGEsYil7VmZhKHRoaXMsYSk7cmV0dXJuIGIoYSl9fTtfLiR0PWNsYXNzIGV4dGVuZHMgTGphe2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpfWFzeW5jIGludGVyY2VwdChhLGIpe1ZmYSh0aGlzLGEpO2F3YWl0IFhmYShhKTtyZXR1cm4gYihhKX19O18uYXU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnFoPW5ldyAodGhpcy50aCgpKSh0aGlzLnNoKCksbnVsbCx7d2l0aENyZWRlbnRpYWxzOiExLHhGOl8udm0oImdJbnRlcm5hbE5vQ29yc1ByZWZsaWdodEZvclRlc3RpbmciKT09PSJ0cnVlIixIRjp0aGlzLnJoKCksdkY6dGhpcy53aCgpfSl9cmgoKXtyZXR1cm5bbmV3IF8uJHRdfXdoKCl7cmV0dXJuW25ldyBNamFdfX07Xy5idT1uZXcgTWFwO18uY3U9bmV3IE1hcDtfLmR1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOy8qCgogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwp2YXIgTmphPXt9O18uT2phPVV0KGNsYXNzIGV4dGVuZHMgVnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMua2V5PV8uU3N9dGkoYSxiKXt0aGlzLmtleT1hO3JldHVybiBifXVwZGF0ZShhLFtiLGNdKXtiIT09dGhpcy5rZXkmJihhLmtrPU5qYSx0aGlzLmtleT1iKTtyZXR1cm4gY319KTtTeW1ib2wuZm9yKCIiKTt2YXIgQWZhPWFyZ3VtZW50c1swXSxqZ2E9bmV3IF8uS2s7Xy5VYS5nb29nbGUubWFwcy5Mb2FkJiZfLlVhLmdvb2dsZS5tYXBzLkxvYWQoaWdhKTt9KS5jYWxsKHRoaXMse30pOwoK"}},"time_used":103,"timings":{"blocked":-1,"dns":2,"connect":11,"send":0,"wait":36,"receive":25,"ssl":28},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/95262386d8d4b6dd.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.045Z","timestamp":1785124600045,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/95262386d8d4b6dd.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 4405006\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"95262386d8d4b6dd.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"8c155806c003f628ca093cb0feb083d0\"\r\nlast-modified: Thu, 30 Apr 2026 21:19:00 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/95262386d8d4b6dd.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::n9fnj-1777689750477-eb548eb708c2\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=rvxwmeqnCfK%2FcPUOB90Lj6%2BS1IwVw0kerMgU%2BQygg1%2F%2FrZS6V5MeuZvpA02Qu5v1WJEKzBKaa5uQz8P04BjCzj2FzVqX%2FnqqiMJzlEA8d9K753lz1vutT7yBKgXg\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e499756b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":30684,"size_decoded":9887,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (30682), with no line terminators","md5":"8c155806c003f628ca093cb0feb083d0","sha1":"7e566386cefa86e8ede2e755f712dff7a8ef02f7","sha256":"07310b422de93eb0e61986355fd1084b06b47060d629f957c5311440650a6d2a","sha512":"980bd9a8f57049d13d7a8647fb56f621b005d208dafacc5c0534b9a919204bc9e363a122a1b4a48f4ef71cc00dcd2308e4885de83e31d2491b0a5d4a807fe7fe","ssdeep":"384:tj5z75Bq9E0mLlSmRt0cJ3XHHE79Fg/Za98qWtOPSN6wfV:N5z9BX0idiMxxgwfV","tlshash":"a4d2d9b17395f9a352db86d9d03a0005f2290d3530ae28b0b395dcef365dc8991fafa5","first_seen":"2026-03-29T05:29:39.700118Z","last_seen":"2026-08-04T06:18:34.267184Z","times_seen":2033,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc3NDcyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9e30pe2lmKHQub25seUhhc2hDaGFuZ2UpcmV0dXJuIHZvaWQgZSgpO2xldCByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZigic21vb3RoIiE9PXIuZGF0YXNldC5zY3JvbGxCZWhhdmlvcilyZXR1cm4gdm9pZCBlKCk7bGV0IGE9ci5zdHlsZS5zY3JvbGxCZWhhdmlvcjtyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPSJhdXRvIix0LmRvbnRGb3JjZUxheW91dHx8ci5nZXRDbGllbnRSZWN0cygpLGUoKSxyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPWF9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkaXNhYmxlU21vb3RoU2Nyb2xsRHVyaW5nUm91dGVUcmFuc2l0aW9uIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoOTE5NDcpfSwxODkxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9fSk7bGV0IG49ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1uLl8oZS5yKDc1MjAxKSksaT1lLnIoNzQwODQpLHM9ZS5yKDUzMTMzKTtlLnIoOTE5NDcpO2xldCBjPWUucigxNjg3Mik7Y2xhc3MgdSBleHRlbmRzIG8uZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17dHJpZ2dlcmVkU3RhdHVzOnZvaWQgMCxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fWNvbXBvbmVudERpZENhdGNoKCl7fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yKShlKSlyZXR1cm57dHJpZ2dlcmVkU3RhdHVzOigwLHMuZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzKShlKX07dGhyb3cgZX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucGF0aG5hbWUhPT10LnByZXZpb3VzUGF0aG5hbWUmJnQudHJpZ2dlcmVkU3RhdHVzP3t0cmlnZ2VyZWRTdGF0dXM6dm9pZCAwLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e3RyaWdnZXJlZFN0YXR1czp0LnRyaWdnZXJlZFN0YXR1cyxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fXJlbmRlcigpe2xldHtub3RGb3VuZDplLGZvcmJpZGRlbjp0LHVuYXV0aG9yaXplZDpyLGNoaWxkcmVuOm59PXRoaXMucHJvcHMse3RyaWdnZXJlZFN0YXR1czpvfT10aGlzLnN0YXRlLGk9e1tzLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkRdOmUsW3MuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTl06dCxbcy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuVU5BVVRIT1JJWkVEXTpyfTtpZihvKXtsZXQgYz1vPT09cy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuTk9UX0ZPVU5EJiZlLHU9bz09PXMuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTiYmdCxsPW89PT1zLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRUQmJnI7cmV0dXJuIGN8fHV8fGw/KDAsYS5qc3hzKShhLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsYS5qc3gpKCJtZXRhIix7bmFtZToicm9ib3RzIixjb250ZW50OiJub2luZGV4In0pLCExLGlbb11dfSk6bn1yZXR1cm4gbn19ZnVuY3Rpb24gbCh7bm90Rm91bmQ6ZSxmb3JiaWRkZW46dCx1bmF1dGhvcml6ZWQ6cixjaGlsZHJlbjpufSl7bGV0IHM9KDAsaS51c2VVbnRyYWNrZWRQYXRobmFtZSkoKSxsPSgwLG8udXNlQ29udGV4dCkoYy5NaXNzaW5nU2xvdENvbnRleHQpO3JldHVybiBlfHx0fHxyPygwLGEuanN4KSh1LHtwYXRobmFtZTpzLG5vdEZvdW5kOmUsZm9yYmlkZGVuOnQsdW5hdXRob3JpemVkOnIsbWlzc2luZ1Nsb3RzOmwsY2hpbGRyZW46bn0pOigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjpufSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODU2NDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVJvdXRlckJGQ2FjaGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig3NTIwMSk7ZnVuY3Rpb24gYShlLHQpe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKCgpPT4oe3RyZWU6ZSxzdGF0ZUtleTp0LG5leHQ6bnVsbH0pKTtpZihyLnRyZWU9PT1lKXJldHVybiByO2xldCBvPXt0cmVlOmUsc3RhdGVLZXk6dCxuZXh0Om51bGx9LGk9MSxzPXIsYz1vO2Zvcig7bnVsbCE9PXMmJmk8MTspe2lmKHMuc3RhdGVLZXk9PT10KXtjLm5leHQ9cy5uZXh0O2JyZWFrfXtpKys7bGV0IGU9e3RyZWU6cy50cmVlLHN0YXRlS2V5OnMuc3RhdGVLZXksbmV4dDpudWxsfTtjLm5leHQ9ZSxjPWV9cz1zLm5leHR9cmV0dXJuIGEobyksb30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMDk3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gd319KTtsZXQgbj1lLnIoODEyNTgpLGE9ZS5yKDQ0MDY2KSxvPWUucig5ODEzNCksaT1hLl8oZS5yKDc1MjAxKSkscz1uLl8oZS5yKDI5MDgwKSksYz1lLnIoMTY4NzIpLHU9ZS5yKDUwMDk2KSxsPWUucig3NDg0NyksZD1lLnIoODk2MTYpLGY9ZS5yKDc3NDcyKSxwPWUucig1NzI0NyksaD1lLnIoMTg5MSksbT1lLnIoNTc3NzgpLGc9ZS5yKDg1NjQ2KTtlLnIoOTIyMjcpO2xldCB5PWUucigzMTg5OSksYj1lLnIoODgwNjIpLFA9ZS5yKDE4OTM5KSxfPXMuZGVmYXVsdC5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsUz1bImJvdHRvbSIsImhlaWdodCIsImxlZnQiLCJyaWdodCIsInRvcCIsIndpZHRoIiwieCIsInkiXTtmdW5jdGlvbiB2KGUsdCl7bGV0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gci50b3A+PTAmJnIudG9wPD10fWNsYXNzIE8gZXh0ZW5kcyBpLmRlZmF1bHQuQ29tcG9uZW50e2NvbXBvbmVudERpZE1vdW50KCl7dGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKX1jb21wb25lbnREaWRVcGRhdGUoKXt0aGlzLnByb3BzLmZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5JiZ0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVufWNvbnN0cnVjdG9yKC4uLmUpe3N1cGVyKC4uLmUpLHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsPSgpPT57bGV0e2ZvY3VzQW5kU2Nyb2xsUmVmOmUsc2VnbWVudFBhdGg6dH09dGhpcy5wcm9wcztpZihlLmFwcGx5KXtpZigwIT09ZS5zZWdtZW50UGF0aHMubGVuZ3RoJiYhZS5zZWdtZW50UGF0aHMuc29tZShlPT50LmV2ZXJ5KCh0LHIpPT4oMCxkLm1hdGNoU2VnbWVudCkodCxlW3JdKSkpKXJldHVybjtsZXQgcj1udWxsLG49ZS5oYXNoRnJhZ21lbnQ7aWYobiYmKHI9InRvcCI9PT1uP2RvY3VtZW50LmJvZHk6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobik/P2RvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKG4pWzBdKSxyfHwocj0idSI8dHlwZW9mIHdpbmRvdz9udWxsOigwLF8uZmluZERPTU5vZGUpKHRoaXMpKSwhKHIgaW5zdGFuY2VvZiBFbGVtZW50KSlyZXR1cm47Zm9yKDshKHIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl8fGZ1bmN0aW9uKGUpe2lmKFsic3RpY2t5IiwiZml4ZWQiXS5pbmNsdWRlcyhnZXRDb21wdXRlZFN0eWxlKGUpLnBvc2l0aW9uKSlyZXR1cm4hMDtsZXQgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLmV2ZXJ5KGU9PjA9PT10W2VdKX0ocik7KXtpZihudWxsPT09ci5uZXh0RWxlbWVudFNpYmxpbmcpcmV0dXJuO3I9ci5uZXh0RWxlbWVudFNpYmxpbmd9ZS5hcHBseT0hMSxlLmhhc2hGcmFnbWVudD1udWxsLGUuc2VnbWVudFBhdGhzPVtdLCgwLGYuZGlzYWJsZVNtb290aFNjcm9sbER1cmluZ1JvdXRlVHJhbnNpdGlvbikoKCk9PntpZihuKXJldHVybiB2b2lkIHIuc2Nyb2xsSW50b1ZpZXcoKTtsZXQgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdD1lLmNsaWVudEhlaWdodDshdihyLHQpJiYoZS5zY3JvbGxUb3A9MCx2KHIsdCl8fHIuc2Nyb2xsSW50b1ZpZXcoKSl9LHtkb250Rm9yY2VMYXlvdXQ6ITAsb25seUhhc2hDaGFuZ2U6ZS5vbmx5SGFzaENoYW5nZX0pLGUub25seUhhc2hDaGFuZ2U9ITEsci5mb2N1cygpfX19fWZ1bmN0aW9uIFIoe3NlZ21lbnRQYXRoOmUsY2hpbGRyZW46dH0pe2xldCByPSgwLGkudXNlQ29udGV4dCkoYy5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtpZighcil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBnbG9iYWwgbGF5b3V0IHJvdXRlciBub3QgbW91bnRlZCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDczIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybigwLG8uanN4KShPLHtzZWdtZW50UGF0aDplLGZvY3VzQW5kU2Nyb2xsUmVmOnIuZm9jdXNBbmRTY3JvbGxSZWYsY2hpbGRyZW46dH0pfWZ1bmN0aW9uIEUoe3RyZWU6ZSxzZWdtZW50UGF0aDp0LGRlYnVnTmFtZUNvbnRleHQ6cixjYWNoZU5vZGU6bixwYXJhbXM6YSx1cmw6cyxpc0FjdGl2ZTpsfSl7bGV0IGQsZj0oMCxpLnVzZUNvbnRleHQpKGMuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoKDAsaS51c2VDb250ZXh0KSh5Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpLCFmKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0NzMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IHA9bnVsbCE9PW4/bjooMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGg9bnVsbCE9PXAucHJlZmV0Y2hSc2M/cC5wcmVmZXRjaFJzYzpwLnJzYyxtPSgwLGkudXNlRGVmZXJyZWRWYWx1ZSkocC5yc2MsaCk7aWYoKDAsUC5pc0RlZmVycmVkUnNjKShtKSl7bGV0IGU9KDAsaS51c2UpKG0pO251bGw9PT1lJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9ZX1lbHNlIG51bGw9PT1tJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9bTtsZXQgZz1kO3JldHVybigwLG8uanN4KShjLkxheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOntwYXJlbnRUcmVlOmUscGFyZW50Q2FjaGVOb2RlOnAscGFyZW50U2VnbWVudFBhdGg6dCxwYXJlbnRQYXJhbXM6YSxkZWJ1Z05hbWVDb250ZXh0OnIsdXJsOnMsaXNBY3RpdmU6bH0sY2hpbGRyZW46Z30pfWZ1bmN0aW9uIGooe25hbWU6ZSxsb2FkaW5nOnQsY2hpbGRyZW46cn0pe2xldCBuO2lmKG49Im9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbj8oMCxpLnVzZSkodCk6dCl7bGV0IHQ9blswXSxhPW5bMV0scz1uWzJdO3JldHVybigwLG8uanN4KShpLlN1c3BlbnNlLHtuYW1lOmUsZmFsbGJhY2s6KDAsby5qc3hzKShvLkZyYWdtZW50LHtjaGlsZHJlbjpbYSxzLHRdfSksY2hpbGRyZW46cn0pfXJldHVybigwLG8uanN4KShvLkZyYWdtZW50LHtjaGlsZHJlbjpyfSl9ZnVuY3Rpb24gdyh7cGFyYWxsZWxSb3V0ZXJLZXk6ZSxlcnJvcjp0LGVycm9yU3R5bGVzOnIsZXJyb3JTY3JpcHRzOm4sdGVtcGxhdGVTdHlsZXM6YSx0ZW1wbGF0ZVNjcmlwdHM6cyx0ZW1wbGF0ZTpkLG5vdEZvdW5kOmYsZm9yYmlkZGVuOnksdW5hdXRob3JpemVkOlAsc2VnbWVudFZpZXdCb3VuZGFyaWVzOl99KXtsZXQgUz0oMCxpLnVzZUNvbnRleHQpKGMuTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoIVMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJpbnZhcmlhbnQgZXhwZWN0ZWQgbGF5b3V0IHJvdXRlciB0byBiZSBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7cGFyZW50VHJlZTp2LHBhcmVudENhY2hlTm9kZTpPLHBhcmVudFNlZ21lbnRQYXRoOncscGFyZW50UGFyYW1zOkMsdXJsOlQsaXNBY3RpdmU6eCxkZWJ1Z05hbWVDb250ZXh0OkF9PVMsTT1PLnBhcmFsbGVsUm91dGVzLEQ9TS5nZXQoZSk7RHx8KEQ9bmV3IE1hcCxNLnNldChlLEQpKTtsZXQgRj12WzBdLEk9bnVsbD09PXc/W2VdOncuY29uY2F0KFtGLGVdKSxrPXZbMV1bZV07dm9pZCAwPT09ayYmKDAsaS51c2UpKHUudW5yZXNvbHZlZFRoZW5hYmxlKTtsZXQgTj1rWzBdLFU9KDAsbS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoTiwhMCksQj0oMCxnLnVzZVJvdXRlckJGQ2FjaGUpKGssVSksTD1bXTtkb3tsZXQgZT1CLnRyZWUsaT1CLnN0YXRlS2V5LHU9ZVswXSxnPSgwLG0uY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHUpLF89RC5nZXQoZyk/P251bGwsUz1DO2lmKEFycmF5LmlzQXJyYXkodSkpe2xldCBlPXVbMF0sdD11WzFdLHI9dVsyXSxuPSgwLGIuZ2V0UGFyYW1WYWx1ZUZyb21DYWNoZUtleSkodCxyKTtudWxsIT09biYmKFM9ey4uLkMsW2VdOm59KX1sZXQgdj1mdW5jdGlvbihlKXtpZigiLyI9PT1lKXJldHVybiIvIjtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYoIihzbG90KSI9PT1lKXJldHVybjtlbHNlIHJldHVybiBlKyIvIjtyZXR1cm4gZVsxXSsiLyJ9KHUpLHc9dj8/QSxNPXZvaWQgMD09PXY/dm9pZCAwOkEsRj1PLmxvYWRpbmcsaz0oMCxvLmpzeHMpKGMuVGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTooMCxvLmpzeHMpKFIse3NlZ21lbnRQYXRoOkksY2hpbGRyZW46WygwLG8uanN4KShsLkVycm9yQm91bmRhcnkse2Vycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6cixlcnJvclNjcmlwdHM6bixjaGlsZHJlbjooMCxvLmpzeCkoaix7bmFtZTpNLGxvYWRpbmc6RixjaGlsZHJlbjooMCxvLmpzeCkoaC5IVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSx7bm90Rm91bmQ6Zixmb3JiaWRkZW46eSx1bmF1dGhvcml6ZWQ6UCxjaGlsZHJlbjooMCxvLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46WygwLG8uanN4KShFLHt1cmw6VCx0cmVlOmUscGFyYW1zOlMsY2FjaGVOb2RlOl8sc2VnbWVudFBhdGg6SSxkZWJ1Z05hbWVDb250ZXh0OncsaXNBY3RpdmU6eCYmaT09PVV9KSxudWxsXX0pfSl9KX0pLG51bGxdfSksY2hpbGRyZW46W2EscyxkXX0saSk7TC5wdXNoKGspLEI9Qi5uZXh0fXdoaWxlKG51bGwhPT1CKXJldHVybiBMfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5Mjk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoNDQwNjYpLGE9ZS5yKDk4MTM0KSxvPW4uXyhlLnIoNzUyMDEpKSxpPWUucigxNjg3Mik7ZnVuY3Rpb24gcygpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5UZW1wbGF0ZUNvbnRleHQpO3JldHVybigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjplfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODk1MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4NjE0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJTZWFyY2hQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODk1MykuY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3MDcyOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg3MTg5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoNzA3MjkpLmNyZWF0ZVJlbmRlclBhcmFtc0Zyb21DbGllbnQ7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTc1MTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIlJlZmxlY3RBZGFwdGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtjbGFzcyBue3N0YXRpYyBnZXQoZSx0LHIpe2xldCBuPVJlZmxlY3QuZ2V0KGUsdCxyKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmJpbmQoZSk6bn1zdGF0aWMgc2V0KGUsdCxyLG4pe3JldHVybiBSZWZsZWN0LnNldChlLHQscixuKX1zdGF0aWMgaGFzKGUsdCl7cmV0dXJuIFJlZmxlY3QuaGFzKGUsdCl9c3RhdGljIGRlbGV0ZVByb3BlcnR5KGUsdCl7cmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkoZSx0KX19fSw0NTAxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlRGVkdXBlZEJ5Q2FsbHNpdGVTZXJ2ZXJFcnJvckxvZ2dlckRldiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9fSk7bGV0IG49ZnVuY3Rpb24oZSx0KXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYobnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpcmV0dXJue2RlZmF1bHQ6ZX07dmFyIHI9YSh2b2lkIDApO2lmKHImJnIuaGFzKGUpKXJldHVybiByLmdldChlKTt2YXIgbj17X19wcm90b19fOm51bGx9LG89T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgaSBpbiBlKWlmKCJkZWZhdWx0IiE9PWkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpKXt2YXIgcz1vP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKTpudWxsO3MmJihzLmdldHx8cy5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGkscyk6bltpXT1lW2ldfXJldHVybiBuLmRlZmF1bHQ9ZSxyJiZyLnNldChlLG4pLG59KGUucig3NTIwMSkpO2Z1bmN0aW9uIGEoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAscj1uZXcgV2Vha01hcDtyZXR1cm4oYT1mdW5jdGlvbihlKXtyZXR1cm4gZT9yOnR9KShlKX1sZXQgbz17Y3VycmVudDpudWxsfSxpPSJmdW5jdGlvbiI9PXR5cGVvZiBuLmNhY2hlP24uY2FjaGU6ZT0+ZSxzPWNvbnNvbGUud2FybjtmdW5jdGlvbiBjKGUpe3JldHVybiBmdW5jdGlvbiguLi50KXtzKGUoLi4udCkpfX1pKGU9Pnt0cnl7cyhvLmN1cnJlbnQpfWZpbmFsbHl7by5jdXJyZW50PW51bGx9fSl9LDc1ODI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZXNjcmliZUhhc0NoZWNraW5nU3RyaW5nUHJvcGVydHk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzczpmdW5jdGlvbigpe3JldHVybiBpfSx3ZWxsS25vd25Qcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89L15bQS1aYS16XyRdW0EtWmEtejAtOV8kXSokLztmdW5jdGlvbiBpKGUsdCl7cmV0dXJuIG8udGVzdCh0KT9gXGAke2V9LiR7dH1cYGA6YFxgJHtlfVske0pTT04uc3RyaW5naWZ5KHQpfV1cYGB9ZnVuY3Rpb24gcyhlLHQpe2xldCByPUpTT04uc3RyaW5naWZ5KHQpO3JldHVybmBcYFJlZmxlY3QuaGFzKCR7ZX0sICR7cn0pXGAsIFxgJHtyfSBpbiAke2V9XGAsIG9yIHNpbWlsYXJgfWxldCBjPW5ldyBTZXQoWyJoYXNPd25Qcm9wZXJ0eSIsImlzUHJvdG90eXBlT2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInRvU3RyaW5nIiwidmFsdWVPZiIsInRvTG9jYWxlU3RyaW5nIiwidGhlbiIsImNhdGNoIiwiZmluYWxseSIsInN0YXR1cyIsImRpc3BsYXlOYW1lIiwiX2RlYnVnSW5mbyIsInRvSlNPTiIsIiQkdHlwZW9mIiwiX19lc01vZHVsZSJdKX0sNTU5NDksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oMCxlLnIoNDkyMTEpLmNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlKSgpfSwxMzE3NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hZnRlclRhc2tBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNTU5NDkpfSwzNzE2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17aXNSZXF1ZXN0QVBJQ2FsbGFibGVJbnNpZGVBZnRlcjpmdW5jdGlvbigpe3JldHVybiB1fSx0aHJvd0ZvclNlYXJjaFBhcmFtc0FjY2Vzc0luVXNlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdGhyb3dXaXRoU3RhdGljR2VuZXJhdGlvbkJhaWxvdXRFcnJvcldpdGhEeW5hbWljRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoMTY0MzIpLGk9ZS5yKDEzMTc3KTtmdW5jdGlvbiBzKGUsdCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBvLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCAke3R9LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU0MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1mdW5jdGlvbiBjKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAke2Uucm91dGV9IHVzZWQgXGBzZWFyY2hQYXJhbXNcYCBpbnNpZGUgInVzZSBjYWNoZSIuIEFjY2Vzc2luZyBkeW5hbWljIHJlcXVlc3QgZGF0YSBpbnNpZGUgYSBjYWNoZSBzY29wZSBpcyBub3Qgc3VwcG9ydGVkLiBJZiB5b3UgbmVlZCBzb21lIHNlYXJjaCBwYXJhbXMgaW5zaWRlIGEgY2FjaGVkIGZ1bmN0aW9uIGF3YWl0IFxgc2VhcmNoUGFyYW1zXGAgb3V0c2lkZSBvZiB0aGUgY2FjaGVkIGZ1bmN0aW9uIGFuZCBwYXNzIG9ubHkgdGhlIHJlcXVpcmVkIHNlYXJjaCBwYXJhbXMgYXMgYXJndW1lbnRzIHRvIHRoZSBjYWNoZWQgZnVuY3Rpb24uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1yZXF1ZXN0LWluLXVzZS1jYWNoZWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODQyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsdCksZS5pbnZhbGlkRHluYW1pY1VzYWdlRXJyb3I/Pz1yLHJ9ZnVuY3Rpb24gdSgpe2xldCBlPWkuYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7cmV0dXJuKG51bGw9PWU/dm9pZCAwOmUucm9vdFRhc2tTcGF3blBoYXNlKT09PSJhY3Rpb24ifX0sNTU1MjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17UmVuZGVyU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gY30sU3RhZ2VkUmVuZGVyaW5nQ29udHJvbGxlcjpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBvIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtvXX0pO2xldCBpPWUucig0MTA2Mikscz1lLnIoNDA0NjEpO3ZhciBjPSgobj17fSlbbi5CZWZvcmU9MV09IkJlZm9yZSIsbltuLlN0YXRpYz0yXT0iU3RhdGljIixuW24uUnVudGltZT0zXT0iUnVudGltZSIsbltuLkR5bmFtaWM9NF09IkR5bmFtaWMiLG5bbi5BYmFuZG9uZWQ9NV09IkFiYW5kb25lZCIsbik7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlPW51bGwsdCl7dGhpcy5hYm9ydFNpZ25hbD1lLHRoaXMuaGFzUnVudGltZVByZWZldGNoPXQsdGhpcy5jdXJyZW50U3RhZ2U9MSx0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1udWxsLHRoaXMucnVudGltZUludGVycnVwdFJlYXNvbj1udWxsLHRoaXMuc3RhdGljU3RhZ2VFbmRUaW1lPTEvMCx0aGlzLnJ1bnRpbWVTdGFnZUVuZFRpbWU9MS8wLHRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzPVtdLHRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzPVtdLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMubWF5QWJhbmRvbj0hMSxlJiYoZS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9PntsZXR7cmVhc29uOnR9PWU7dGhpcy5jdXJyZW50U3RhZ2U8MyYmKHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlLmNhdGNoKGwpLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZWplY3QodCkpLCh0aGlzLmN1cnJlbnRTdGFnZTw0fHw1PT09dGhpcy5jdXJyZW50U3RhZ2UpJiYodGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2UuY2F0Y2gobCksdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnJlamVjdCh0KSl9LHtvbmNlOiEwfSksdGhpcy5tYXlBYmFuZG9uPSEwKX1vblN0YWdlKGUsdCl7aWYodGhpcy5jdXJyZW50U3RhZ2U+PWUpdCgpO2Vsc2UgaWYoMz09PWUpdGhpcy5ydW50aW1lU3RhZ2VMaXN0ZW5lcnMucHVzaCh0KTtlbHNlIGlmKDQ9PT1lKXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzLnB1c2godCk7ZWxzZSB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9Y2FuU3luY0ludGVycnVwdCgpe2lmKDE9PT10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm4hMTtsZXQgZT10aGlzLmhhc1J1bnRpbWVQcmVmZXRjaD80OjM7cmV0dXJuIHRoaXMuY3VycmVudFN0YWdlPGV9c3luY0ludGVycnVwdEN1cnJlbnRTdGFnZVdpdGhSZWFzb24oZSl7aWYoMSE9PXRoaXMuY3VycmVudFN0YWdlKXtpZih0aGlzLm1heUFiYW5kb24pcmV0dXJuIHRoaXMuYWJhbmRvblJlbmRlckltcGwoKTtzd2l0Y2godGhpcy5jdXJyZW50U3RhZ2Upe2Nhc2UgMjp0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1lLHRoaXMuYWR2YW5jZVN0YWdlKDQpO3JldHVybjtjYXNlIDM6dGhpcy5oYXNSdW50aW1lUHJlZmV0Y2gmJih0aGlzLnJ1bnRpbWVJbnRlcnJ1cHRSZWFzb249ZSx0aGlzLmFkdmFuY2VTdGFnZSg0KSk7cmV0dXJufX19Z2V0U3RhdGljSW50ZXJydXB0UmVhc29uKCl7cmV0dXJuIHRoaXMuc3RhdGljSW50ZXJydXB0UmVhc29ufWdldFJ1bnRpbWVJbnRlcnJ1cHRSZWFzb24oKXtyZXR1cm4gdGhpcy5ydW50aW1lSW50ZXJydXB0UmVhc29ufWdldFN0YXRpY1N0YWdlRW5kVGltZSgpe3JldHVybiB0aGlzLnN0YXRpY1N0YWdlRW5kVGltZX1nZXRSdW50aW1lU3RhZ2VFbmRUaW1lKCl7cmV0dXJuIHRoaXMucnVudGltZVN0YWdlRW5kVGltZX1hYmFuZG9uUmVuZGVyKCl7aWYoIXRoaXMubWF5QWJhbmRvbil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoImBhYmFuZG9uUmVuZGVyYCBjYWxsZWQgb24gYSBzdGFnZSBjb250cm9sbGVyIHRoYXQgY2Fubm90IGJlIGFiYW5kb25lZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTkzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aGlzLmFiYW5kb25SZW5kZXJJbXBsKCl9YWJhbmRvblJlbmRlckltcGwoKXtsZXR7Y3VycmVudFN0YWdlOmV9PXRoaXM7c3dpdGNoKGUpe2Nhc2UgMjp0aGlzLmN1cnJlbnRTdGFnZT01LHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpO3JldHVybjtjYXNlIDM6dGhpcy5jdXJyZW50U3RhZ2U9NTtyZXR1cm59fWFkdmFuY2VTdGFnZShlKXtpZihlPD10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm47bGV0IHQ9dGhpcy5jdXJyZW50U3RhZ2U7aWYodGhpcy5jdXJyZW50U3RhZ2U9ZSx0PDMmJmU+PTMmJih0aGlzLnN0YXRpY1N0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpKSx0PDQmJmU+PTQpe3RoaXMucnVudGltZVN0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZUR5bmFtaWNTdGFnZSgpO3JldHVybn19cmVzb2x2ZVJ1bnRpbWVTdGFnZSgpe2xldCBlPXRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZXNvbHZlKCl9cmVzb2x2ZUR5bmFtaWNTdGFnZSgpe2xldCBlPXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZS5yZXNvbHZlKCl9Z2V0U3RhZ2VQcm9taXNlKGUpe3N3aXRjaChlKXtjYXNlIDM6cmV0dXJuIHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlO2Nhc2UgNDpyZXR1cm4gdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2U7ZGVmYXVsdDp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fXdhaXRGb3JTdGFnZShlKXtyZXR1cm4gdGhpcy5nZXRTdGFnZVByb21pc2UoZSl9ZGVsYXlVbnRpbFN0YWdlKGUsdCxyKXt2YXIgbixhLG87bGV0IGkscz0obj10aGlzLmdldFN0YWdlUHJvbWlzZShlKSxhPXQsbz1yLGk9bmV3IFByb21pc2UoKGUsdCk9PntuLnRoZW4oZS5iaW5kKG51bGwsbyksdCl9KSx2b2lkIDAhPT1hJiYoaS5kaXNwbGF5TmFtZT1hKSxpKTtyZXR1cm4gdGhpcy5hYm9ydFNpZ25hbCYmcy5jYXRjaChsKSxzfX1mdW5jdGlvbiBsKCl7fX0sODY3NzAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBwfSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JNZXRhZGF0YTpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlOmZ1bmN0aW9uKCl7cmV0dXJuIG19LG1ha2VFcnJvcmluZ1NlYXJjaFBhcmFtc0ZvclVzZUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIFN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDE3NTE4KSxpPWUucig2Nzc4MSkscz1lLnIoMTI5NjUpLGM9ZS5yKDQxMDYyKSx1PWUucigxNTUwOCksbD1lLnIoNDUwMTQpLGQ9ZS5yKDc1ODI3KSxmPWUucigzNzE2NSk7ZnVuY3Rpb24gcChlLHQpe2xldCByPXMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4geSh0LHIpO2Nhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudCBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBhIHJ1bnRpbWUgcHJlcmVuZGVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLkludmFyaWFudEVycm9yKCJjcmVhdGVTZWFyY2hQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNhY2hlIGNvbnRleHRzLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzM5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UicmVxdWVzdCI6cmV0dXJuIGIoZSx0LHIpfSgwLHMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZS5yKDU1NTI1KTtsZXQgaD1tO2Z1bmN0aW9uIG0oZSx0KXtsZXQgcj1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6cmV0dXJuIHkodCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyU2VhcmNoUGFyYW1zRm9yU2VydmVyUGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp2YXIgbixhO3JldHVybiBuPWUsYT1yLCgwLGkuZGVsYXlVbnRpbFJ1bnRpbWVTdGFnZSkoYSx2KG4pKTtjYXNlInJlcXVlc3QiOnJldHVybiBiKGUsdCxyKX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIGcoZSl7aWYoZS5mb3JjZVN0YXRpYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtsZXQgdD1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4oMCx1Lm1ha2VIYW5naW5nUHJvbWlzZSkodC5yZW5kZXJTaWduYWwsZS5yb3V0ZSwiYHNlYXJjaFBhcmFtc2AiKTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGMuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gYSBydW50aW1lIHByZXJlbmRlci4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc2OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlUHJlcmVuZGVyU2VhcmNoUGFyYW1zRm9yQ2xpZW50UGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIHkoZSx0KXtpZihlLmZvcmNlU3RhdGljKXJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO3N3aXRjaCh0LnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOnZhciByPWUsbj10O2xldCBhPVAuZ2V0KG4pO2lmKGEpcmV0dXJuIGE7bGV0IHM9KDAsdS5tYWtlSGFuZ2luZ1Byb21pc2UpKG4ucmVuZGVyU2lnbmFsLHIucm91dGUsImBzZWFyY2hQYXJhbXNgIiksYz1uZXcgUHJveHkocyx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKHMsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtzd2l0Y2godCl7Y2FzZSJ0aGVuIjpyZXR1cm4oMCxpLmFubm90YXRlRHluYW1pY0FjY2VzcykoImBhd2FpdCBzZWFyY2hQYXJhbXNgLCBgc2VhcmNoUGFyYW1zLnRoZW5gLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7Y2FzZSJzdGF0dXMiOnJldHVybigwLGkuYW5ub3RhdGVEeW5hbWljQWNjZXNzKSgiYHVzZShzZWFyY2hQYXJhbXMpYCwgYHNlYXJjaFBhcmFtcy5zdGF0dXNgLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7ZGVmYXVsdDpyZXR1cm4gby5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpfX19KTtyZXR1cm4gUC5zZXQobixjKSxjO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp2YXIgbD1lLGQ9dDtsZXQgcD1QLmdldChsKTtpZihwKXJldHVybiBwO2xldCBoPVByb21pc2UucmVzb2x2ZSh7fSksbT1uZXcgUHJveHkoaCx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKGgsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJ0aGVuIj09PXQpe2xldCBlPSJgYXdhaXQgc2VhcmNoUGFyYW1zYCwgYHNlYXJjaFBhcmFtcy50aGVuYCwgb3Igc2ltaWxhciI7bC5keW5hbWljU2hvdWxkRXJyb3I/KDAsZi50aHJvd1dpdGhTdGF0aWNHZW5lcmF0aW9uQmFpbG91dEVycm9yV2l0aER5bmFtaWNFcnJvcikobC5yb3V0ZSxlKToicHJlcmVuZGVyLXBwciI9PT1kLnR5cGU/KDAsaS5wb3N0cG9uZVdpdGhUcmFja2luZykobC5yb3V0ZSxlLGQuZHluYW1pY1RyYWNraW5nKTooMCxpLnRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uKShlLGwsZCl9cmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19KTtyZXR1cm4gUC5zZXQobCxtKSxtO2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIGIoZSx0LHIpe3JldHVybiB0LmZvcmNlU3RhdGljP1Byb21pc2UucmVzb2x2ZSh7fSk6dihlKX1sZXQgUD1uZXcgV2Vha01hcCxfPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFMoZSl7bGV0IHQ9Xy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoe30pLG49bmV3IFByb3h5KHIse2dldDpmdW5jdGlvbiB0KG4sYSxpKXtyZXR1cm4gT2JqZWN0Lmhhc093bihyLGEpfHwic3RyaW5nIiE9dHlwZW9mIGF8fCJ0aGVuIiE9PWEmJmQud2VsbEtub3duUHJvcGVydGllcy5oYXMoYSl8fCgwLGYudGhyb3dGb3JTZWFyY2hQYXJhbXNBY2Nlc3NJblVzZUNhY2hlKShlLHQpLG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KG4sYSxpKX19KTtyZXR1cm4gXy5zZXQoZSxuKSxufWZ1bmN0aW9uIHYoZSl7bGV0IHQ9UC5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFAuc2V0KGUscikscn0oMCxsLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHNlYXJjaFBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4NDgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sNDQ2MzEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sNDc1OTUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNDQ2MzEpfSwzNjA3MCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVQcmVyZW5kZXJQYXJhbXNGb3JDbGllbnRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGNyZWF0ZVNlcnZlclBhcmFtc0Zvck1ldGFkYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclJvdXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4geX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoODk3OTEpLGk9ZS5yKDE3NTE4KSxzPWUucig2Nzc4MSksYz1lLnIoMTI5NjUpLHU9ZS5yKDQxMDYyKSxsPWUucig3NTgyNyksZD1lLnIoMTU1MDgpLGY9ZS5yKDQ1MDE0KSxwPWUucig0NzU5NSk7ZnVuY3Rpb24gaChlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVBhcmFtc0Zyb21DbGllbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGEgcnVudGltZSBwcmVyZW5kZXIuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NzAiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gTyhlKX0oMCxjLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWUucig1NTUyNSk7bGV0IG09eTtmdW5jdGlvbiBnKGUsdCl7bGV0IHI9Yy53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHIpc3dpdGNoKHIudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBQKGUsdCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyUGFyYW1zRm9yUm91dGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24geShlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24gYihlKXtsZXQgdD1vLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZighdCl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoIk1pc3Npbmcgd29ya1N0b3JlIGluIGNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgcj1jLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobil7Zm9yKGxldCBhIGluIGUpaWYobi5oYXMoYSkpcmV0dXJuKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIil9YnJlYWs7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZShlKX1mdW5jdGlvbiBQKGUsdCxyKXtzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50Ijp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO2lmKG4pe2ZvcihsZXQgYSBpbiBlKWlmKG4uaGFzKGEpKXJldHVybiBmdW5jdGlvbihlLHQscil7bGV0IG49Uy5nZXQoZSk7aWYobilyZXR1cm4gbjtsZXQgYT1uZXcgUHJveHkoKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIiksdik7cmV0dXJuIFMuc2V0KGUsYSksYX0oZSx0LHIpfWJyZWFrfWNhc2UicHJlcmVuZGVyLXBwciI6e2xldCBuPXIuZmFsbGJhY2tSb3V0ZVBhcmFtcztpZihuKXtmb3IobGV0IGEgaW4gZSlpZihuLmhhcyhhKSlyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9Uy5nZXQoZSk7aWYoYSlyZXR1cm4gYTtsZXQgbz17Li4uZX0saT1Qcm9taXNlLnJlc29sdmUobyk7cmV0dXJuIFMuc2V0KGUsaSksT2JqZWN0LmtleXMoZSkuZm9yRWFjaChlPT57bC53ZWxsS25vd25Qcm9wZXJ0aWVzLmhhcyhlKXx8dC5oYXMoZSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGUse2dldCgpe2xldCB0PSgwLGwuZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzcykoInBhcmFtcyIsZSk7InByZXJlbmRlci1wcHIiPT09bi50eXBlPygwLHMucG9zdHBvbmVXaXRoVHJhY2tpbmcpKHIucm91dGUsdCxuLmR5bmFtaWNUcmFja2luZyk6KDAscy50aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbikodCxyLG4pfSxlbnVtZXJhYmxlOiEwfSl9KSxpfShlLG4sdCxyKX19fXJldHVybiBPKGUpfWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm4oMCxzLmRlbGF5VW50aWxSdW50aW1lU3RhZ2UpKHQsTyhlKSl9bGV0IFM9bmV3IFdlYWtNYXAsdj17Z2V0OmZ1bmN0aW9uKGUsdCxyKXtpZigidGhlbiI9PT10fHwiY2F0Y2giPT09dHx8ImZpbmFsbHkiPT09dCl7bGV0IG49aS5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpO3JldHVybih7W3RdOiguLi50KT0+e2xldCByPXAuZHluYW1pY0FjY2Vzc0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO3JldHVybiByJiZyLmFib3J0Q29udHJvbGxlci5hYm9ydChPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkFjY2Vzc2VkIGZhbGxiYWNrIGBwYXJhbXNgIGR1cmluZyBwcmVyZW5kZXJpbmcuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2OTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpLG5ldyBQcm94eShuLmFwcGx5KGUsdCksdil9fSlbdF19cmV0dXJuIGkuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19O2Z1bmN0aW9uIE8oZSl7bGV0IHQ9Uy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFMuc2V0KGUscikscn0oMCxmLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sMTk5NTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFBhZ2VSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpLHM9ZS5yKDg4MDYyKSxjPWUucigzMTg5OSk7ZnVuY3Rpb24gdSh7Q29tcG9uZW50OnQsc2VydmVyUHJvdmlkZWRQYXJhbXM6cn0pe2xldCB1LGw7aWYobnVsbCE9PXIpdT1yLnNlYXJjaFBhcmFtcyxsPXIucGFyYW1zO2Vsc2V7bGV0IGU9KDAsaS51c2UpKG8uTGF5b3V0Um91dGVyQ29udGV4dCk7bD1udWxsIT09ZT9lLnBhcmVudFBhcmFtczp7fSx1PSgwLHMudXJsU2VhcmNoUGFyYW1zVG9QYXJzZWRVcmxRdWVyeSkoKDAsaS51c2UpKGMuU2VhcmNoUGFyYW1zQ29udGV4dCkpfWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgcixvLHt3b3JrQXN5bmNTdG9yYWdlOml9PWUucig4OTc5MSkscz1pLmdldFN0b3JlKCk7aWYoIXMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBhLkludmFyaWFudEVycm9yKCJFeHBlY3RlZCB3b3JrU3RvcmUgdG8gZXhpc3Qgd2hlbiBoYW5kbGluZyBzZWFyY2hQYXJhbXMgaW4gYSBjbGllbnQgUGFnZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU2NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpjfT1lLnIoODY3NzApO3I9Yyh1LHMpO2xldHtjcmVhdGVQYXJhbXNGcm9tQ2xpZW50OmR9PWUucigzNjA3MCk7cmV0dXJuIG89ZChsLHMpLCgwLG4uanN4KSh0LHtwYXJhbXM6byxzZWFyY2hQYXJhbXM6cn0pfXtsZXR7Y3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpyfT1lLnIoNjg2MTQpLGE9cih1KSx7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDpvfT1lLnIoODcxODkpLGk9byhsKTtyZXR1cm4oMCxuLmpzeCkodCx7cGFyYW1zOmksc2VhcmNoUGFyYW1zOmF9KX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzM3ODAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFNlZ21lbnRSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpO2Z1bmN0aW9uIHMoe0NvbXBvbmVudDp0LHNsb3RzOnIsc2VydmVyUHJvdmlkZWRQYXJhbXM6c30pe2xldCBjO2lmKG51bGwhPT1zKWM9cy5wYXJhbXM7ZWxzZXtsZXQgZT0oMCxpLnVzZSkoby5MYXlvdXRSb3V0ZXJDb250ZXh0KTtjPW51bGwhPT1lP2UucGFyZW50UGFyYW1zOnt9fWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgbyx7d29ya0FzeW5jU3RvcmFnZTppfT1lLnIoODk3OTEpLHM9aS5nZXRTdG9yZSgpO2lmKCFzKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1N0b3JlIHRvIGV4aXN0IHdoZW4gaGFuZGxpbmcgcGFyYW1zIGluIGEgY2xpZW50IHNlZ21lbnQgc3VjaCBhcyBhIExheW91dCBvciBUZW1wbGF0ZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYwMCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDp1fT1lLnIoMzYwNzApO3JldHVybiBvPXUoYyxzKSwoMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfXtsZXR7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDphfT1lLnIoODcxODkpLG89YShjKTtyZXR1cm4oMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyMDQxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSWNvbk1hcmsiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODEzNCksYT0oKT0+InUiPnR5cGVvZiB3aW5kb3c/bnVsbDooMCxuLmpzeCkoIm1ldGEiLHtuYW1lOiLCq254dC1pY29uwrsifSl9XSk7"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.240Z","timestamp":1785124600240,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: eff35a4f7321e2a69264e5a746f4064e\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-04T06:18:03.401944Z","times_seen":5382,"resource_available":false,"data":"LnR2LWVtYmVkLXdpZGdldC13cmFwcGVye2JhY2tncm91bmQ6IzAwMDA7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjEwMCU7d2lkdGg6MH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlcntmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDozNHB4O3RleHQtYWxpZ246Y2VudGVyfS50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9faGVhZGVyIHN2Z3toZWlnaHQ6MTVweDttYXJnaW4taW5saW5lLWVuZDo1cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3A7d2lkdGg6MjZweH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluaywudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluazp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDp2YXIoLS10di13aWRnZXQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1iZy1wcmltYXJ5KSk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1vdmVyZmxvd19hdXRve292ZXJmbG93OmF1dG99aHRtbC5pcy10cmFuc3BhcmVudCAudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDojMDAwMH1odG1sLmlzLXRyYW5zcGFyZW50IC50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keTpub3QoLnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1ib3JkZXItb24tdHJhbnNwYXJlbnQpe2JvcmRlci13aWR0aDowfQ=="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_forex_cross_rates_widget.d7cd8bbba41a0d54656c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.247Z","timestamp":1785124600247,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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_forex_cross_rates_widget.d7cd8bbba41a0d54656c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-23ba\"\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:52:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 48a6066a20ea6bd0d69b2c4a0e22670f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9146,"size_decoded":5430,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3059)","md5":"22801bb506d6dad77306f77a8e5105a1","sha1":"b6fe247a1f52aed43a1d788cca49b0adf1f6fc64","sha256":"370863792c0f726ef634011ffd719bd59d4ba8cf35ea9d32183589645f80f52c","sha512":"8ba4ec36838eb2eb5a0a6317a22ba6cf2f68365e859aa0322f2a8c6aaaa14a8acbacb206bdead71e59c13bccc12224c79f5b774c65cd20f8727a2fbb32db59a1","ssdeep":"192:YLwqLptVvG6uptkfr8lJkNnmn1BnRMC4p2koVcsFAVrGg:4wqLp/vXunkfr8/kVm1BnRMC4p2kIzAb","tlshash":"7312d9ac314ce53225fb08114479e462f72d72fb5e0ae0a1a367fcb96868ed46633d51","first_seen":"2026-07-25T00:19:44.438661Z","last_seen":"2026-07-28T04:59:54.480331Z","times_seen":245,"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+e2lmKHRbZV0pdFtlXS5wdXNoKG4pO2Vsc2V7dmFyIGksbztpZih2b2lkIDAhPT1hKWZvcih2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgdT1kW2ZdO2lmKHUuZ2V0QXR0cmlidXRlKCJzcmMiKT09ZXx8dS5nZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIpPT1yK2Epe2k9dTticmVha319aXx8KG89ITAsKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLmNoYXJzZXQ9InV0Zi04IixsLm5jJiZpLnNldEF0dHJpYnV0ZSgibm9uY2UiLGwubmMpLGkuc2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siLHIrYSksaS5zcmM9ZSwwIT09aS5zcmMuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihpLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSksdFtlXT1bbl07dmFyIHM9KHIsbik9PntpLm9uZXJyb3I9aS5vbmxvYWQ9bnVsbCxjbGVhclRpbWVvdXQoYik7dmFyIGE9dFtlXTtpZihkZWxldGUgdFtlXSxpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKSxhJiZhLmZvckVhY2goKGU9PmUobikpKSxyKXJldHVybiByKG4pfSxiPXNldFRpbWVvdXQocy5iaW5kKG51bGwsdm9pZCAwLHt0eXBlOiJ0aW1lb3V0Iix0YXJnZXQ6aX0pLDEyZTQpO2kub25lcnJvcj1zLmJpbmQobnVsbCxpLm9uZXJyb3IpLGkub25sb2FkPXMuYmluZChudWxsLGkub25sb2FkKSxvJiZkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGkpfX0sbC5yPWU9PnsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxsLmo9NzAzMzQsKCgpPT57dmFyIGU7bC5nLmltcG9ydFNjcmlwdHMmJihlPWwuZy5sb2NhdGlvbisiIik7dmFyIHQ9bC5nLmRvY3VtZW50O2lmKCFlJiZ0JiYodC5jdXJyZW50U2NyaXB0JiYiU0NSSVBUIj09PXQuY3VycmVudFNjcmlwdC50YWdOYW1lLnRvVXBwZXJDYXNlKCkmJihlPXQuY3VycmVudFNjcmlwdC5zcmMpLCFlKSl7dmFyIHI9dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7aWYoci5sZW5ndGgpZm9yKHZhciBuPXIubGVuZ3RoLTE7bj4tMSYmKCFlfHwhL15odHRwKHM/KTovLnRlc3QoZSkpOyllPXJbbi0tXS5zcmN9aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlciIpO2U9ZS5yZXBsYWNlKC9eYmxvYjovLCIiKS5yZXBsYWNlKC8jLiokLywiIikucmVwbGFjZSgvXD8uKiQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIvIiksbC5wPWV9KSgpLGwuZy5sb2NhdGlvbiYmbC5wLnN0YXJ0c1dpdGgobC5nLmxvY2F0aW9uLm9yaWdpbikmJihsLnA9bC5wLnNsaWNlKGwuZy5sb2NhdGlvbi5vcmlnaW4ubGVuZ3RoKSksKCgpPT57Y29uc3QgZT1sLnU7bC51PXQ9PmUodCkucmVwbGFjZSgiX19MQU5HX18iLGwuZy5sYW5ndWFnZSl9KSgpLCgoKT0+e3ZhciBlPWwuZSx0PU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gcih0LG4pe3JldHVybiBlKHQpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oYSl7dmFyIGw9ZnVuY3Rpb24oKXtzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbCwhMSksITE9PT1uYXZpZ2F0b3Iub25MaW5lP3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixsLCExKTphKG48Mj9yKHQsbisxKTplKHQpKX0KO3NldFRpbWVvdXQobCxuKm4qMWUzKX0pKX0pKX1sLmU9ZnVuY3Rpb24oZSl7aWYoIXRbZV0pe3RbZV09cihlLDApO3ZhciBuPWZ1bmN0aW9uKCl7ZGVsZXRlIHRbZV19O3RbZV0udGhlbihuLG4pfXJldHVybiB0W2VdfX0pKCksKCgpPT57aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCl7dmFyIGU9ZT0+bmV3IFByb21pc2UoKCh0LHIpPT57dmFyIG49bC5taW5pQ3NzRihlKSxhPWwucCtuO2lmKCgoZSx0KT0+e2Zvcih2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGE9KGM9cltuXSkuZ2V0QXR0cmlidXRlKCJkYXRhLWhyZWYiKXx8Yy5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZigic3R5bGVzaGVldCI9PT1jLnJlbCYmKGE9PT1lfHxhPT09dCkpcmV0dXJuIGN9dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIik7Zm9yKG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIGM7aWYoKGE9KGM9bFtuXSkuZ2V0QXR0cmlidXRlKCJkYXRhLWhyZWYiKSk9PT1lfHxhPT09dClyZXR1cm4gY319KShuLGEpKXJldHVybiB0KCk7KChlLHQscixuLGEpPT57dmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2wucmVsPSJzdHlsZXNoZWV0IixsLnR5cGU9InRleHQvY3NzIixsLm9uZXJyb3I9bC5vbmxvYWQ9cj0+e2lmKGwub25lcnJvcj1sLm9ubG9hZD1udWxsLCJsb2FkIj09PXIudHlwZSluKCk7ZWxzZXt2YXIgYz1yJiYoImxvYWQiPT09ci50eXBlPyJtaXNzaW5nIjpyLnR5cGUpLGk9ciYmci50YXJnZXQmJnIudGFyZ2V0LmhyZWZ8fHQsbz1uZXcgRXJyb3IoIkxvYWRpbmcgQ1NTIGNodW5rICIrZSsiIGZhaWxlZC5cbigiK2krIikiKTtvLmNvZGU9IkNTU19DSFVOS19MT0FEX0ZBSUxFRCIsby50eXBlPWMsby5yZXF1ZXN0PWksbC5wYXJlbnROb2RlJiZsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCksYShvKX19LGwuaHJlZj10LDAhPT1sLmhyZWYuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihsLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxyP3IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxyLm5leHRTaWJsaW5nKTpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGwpfSkoZSxhLG51bGwsdCxyKX0pKSx0PXs3MDMzNDowfTtsLmYubWluaUNzcz0ocixuKT0+e3Rbcl0/bi5wdXNoKHRbcl0pOjAhPT10W3JdJiZ7NjQ0NToxLDg1Nzk6MSwxMDM2NjoxLDEyMDUxOjEsMTIzODU6MSwxMzQ5MjoxLDE3MDg3OjEsMTk1OTU6MSwxOTc4NzoxLDIwMzU0OjEsMjkyOTY6MSwzNzc0NjoxLDQwOTE0OjEsNDQyNTM6MSw1MjM5NjoxLDUzNTIxOjEsNTczMDA6MSw1OTk0MToxLDYwMDYyOjEsNjcyMTI6MSw3NDAxMToxLDc4ODk5OjEsODEwNzI6MSw4NDMwNjoxLDg3NzQwOjEsODk1NTg6MSw5MDk2MDoxLDk0MjMyOjEsOTc3OTc6MX1bcl0mJm4ucHVzaCh0W3JdPWUocikudGhlbigoKCk9Pnt0W3JdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSB0W3JdLGV9KSkpfX19KSgpLGwuaTE4bmV4dD0oZSx0PXt9LHIsbj1sLmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpe2lmKEFycmF5LmlzQXJyYXkocikpcmV0dXJuIHJbdm9pZCAwPT09dC5jb3VudD8wOmwuX3BsdXJhbFtuXSh0LmNvdW50KV0ucmVwbGFjZSgveyhcdyspfS9nLCgoZSxyKT0+dm9pZCAwIT09KHQucmVwbGFjZXx8dClbcl0/KHQucmVwbGFjZXx8dClbcl06ZSkpO2lmKCJvYmplY3QiPT10eXBlb2YgcilyZXR1cm4gcltsLmcubGFuZ3VhZ2VdP2wuaTE4bmV4dChudWxsLHQscltsLmcubGFuZ3VhZ2VdKTpsLmkxOG5leHQobnVsbCx0LHIuZW4sImVuIil9ZWxzZSBpZihyJiZlKXtjb25zdCBuPWAke2V9JHt0LmNvbnRleHQ/YF8ke3QuY29udGV4dH1gOiIifWA7aWYocltuXSlyZXR1cm4gbC5pMThuZXh0KG51bGwsdCxyW25dKX1yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZS50b1N0cmluZygpOiJzdHJpbmciIT10eXBlb2YgZT8iIjplfSwoKCk9Pnt2YXIgZT17NzAzMzQ6MCw0NjkwNzowLDQzMzI1OjAsMzkwNTowLDE1OTMyOjAsNTE1MDg6MCw4NDA4OjAsODE4MDk6MH07bC5mLmo9KHQscik9Pnt2YXIgbj1sLm8oZSx0KT9lW3RdOnZvaWQgMDtpZigwIT09bilpZihuKXIucHVzaChuWzJdKTtlbHNlIGlmKC9eKDEoMzE0OHwzOTkzfDUzNHw2MDY3fDY4MTMpfDIoMDA2MXwzNTY3fDgxNzZ8ODgzMSl8MygyMzg3fDU1Mnw1OTgwfDkxNDd8OTYwOSl8NSgxMDMxfDUyMjl8ODY2Nyl8NjUoMTAwfDg2Mil8NygoMzl8ODB8OTIwKTd8MDY0NHwxMzk0fDI4NXw2MDQwfDkwNDEpfDgoMCg1OTR8NzA2fDkxNSl8NTAzOHw1NDM0KXw5KDQ3MDh8NTIwN3w3NTA5KXw0MjcwNnw0OTI2NSkkLy50ZXN0KHQpKXt2YXIgYT1uZXcgUHJvbWlzZSgoKHIsYSk9Pm49ZVt0XT1bcixhXSkpO3IucHVzaChuWzJdPWEpO3ZhciBjPWwucCtsLnUodCksaT1uZXcgRXJyb3I7bC5sKGMsKHI9PntpZihsLm8oZSx0KSYmKDAhPT0obj1lW3RdKSYmKGVbdF09dm9pZCAwKSxuKSl7dmFyIGE9ciYmKCJsb2FkIj09PXIudHlwZT8ibWlzc2luZyI6ci50eXBlKSxjPXImJnIudGFyZ2V0JiZyLnRhcmdldC5zcmM7aS5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrdCsiIGZhaWxlZC5cbigiK2ErIjogIitjKyIpIixpLm5hbWU9IkNodW5rTG9hZEVycm9yIixpLnR5cGU9YSxpLnJlcXVlc3Q9YyxuWzFdKGkpfX0pLCJjaHVuay0iK3QsdCl9ZWxzZSBlW3RdPTB9LGwuTy5qPXQ9PjA9PT1lW3RdO3ZhciB0PSh0LHIpPT57dmFyIG4sYSxbYyxpLG9dPXIsZD0wO2lmKGMuc29tZSgodD0+MCE9PWVbdF0pKSl7Zm9yKG4gaW4gaSlsLm8oaSxuKSYmKGwubVtuXT1pW25dKTtpZihvKXZhciBmPW8obCl9Zm9yKHQmJnQocik7ZDxjLmxlbmd0aDtkKyspYT1jW2RdLGwubyhlLGEpJiZlW2FdJiZlW2FdWzBdKCksZVthXT0wO3JldHVybiBsLk8oZil9LHI9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlldz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3fHxbXTtyLmZvckVhY2godC5iaW5kKG51bGwsMCkpLHIucHVzaD10LmJpbmQobnVsbCxyLnB1c2guYmluZChyKSl9KSgpLApsLnA9bC5nJiZsLmcuV0VCUEFDS19QVUJMSUNfUEFUSHx8bC5wfSkoKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=embed-widget%2Fforex-cross-rates%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=astroxcinvest.com%2F\u0026ancestor-origin=astroxcinvest.com\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.226","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.415Z","timestamp":1785124600415,"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%2Fforex-cross-rates%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=astroxcinvest.com%2F\u0026ancestor-origin=astroxcinvest.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: CHWQ6Qfz6xeHg2mG6fNleg==\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 03:56:40 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: PGM63xCc33GuuJHc0wWk/ucozUc=\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-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":""}},"time_used":87,"timings":{"blocked":-1,"dns":4,"connect":25,"send":0,"wait":25,"receive":0,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/JP.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.474Z","timestamp":1785124600474,"http_version":"HTTP/2","security_state":"secure","security_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 /country/JP.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 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: \"8e5eebf19774ef3286f456604a61341f\"\r\nlast-modified: Thu, 11 Jun 2026 10:27:08 GMT\r\nx-amz-id-2: /WXHyT46myy4dZNzgAk4wInR45HMVmjn4dVtGs9MF2t0P+/+DaqmWFeb1xEWn1n3iP2/vLWmO/2RHUq0noiz9wVQrxVwl/+Z\r\nx-amz-request-id: D2K98G9JT7F7F65J\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 8e5eebf19774ef3286f456604a61341f\r\nx-amz-version-id: dMuak.3I5pdwc2MkdnGbv8PiXot7QaqT\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/11/2026 12:25:45\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7308f61b213d118f3270ae2554fbbfa7\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":343,"size_decoded":1217,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (343), with no line terminators","md5":"8e5eebf19774ef3286f456604a61341f","sha1":"4a1dace3065eacb2060b46a9c2e27f3980b1d1d7","sha256":"5f3493794d3ba827510c6ccad5840ad7ee6735fb7ad48cdf9ac2b6f397c4376c","sha512":"4bec5f06fb6d21de411b5698bf8d5290111118fb438a717192e709fe7b697ffb8aa0d668dd9796d0ab245962679f55405497b4d94528bdc27bb6b610fe4eb30b","ssdeep":"","tlshash":"7ae0d8b8a22cd51d98578b7816581091535d50f7b08404f57d4d5a3161061dbf857d84","first_seen":"2023-05-01T20:32:00Z","last_seen":"2026-08-02T19:31:07.730871Z","times_seen":2910,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wIDE4aDE4VjBIMHYxOFoiIGZpbGw9IiNGMEYzRkEiLz48cGF0aCBkPSJNOSA1YTQgNCAwIDEgMSAwIDggNCA0IDAgMCAxIDAtOFoiIGZpbGw9IiNGNzUyNUYiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3LjVhOC41IDguNSAwIDEgMCAwLTE3IDguNSA4LjUgMCAwIDAgMCAxN1ptMCAuNUE5IDkgMCAxIDAgOSAwYTkgOSAwIDAgMCAwIDE4WiIgZmlsbD0iI0UwRTNFQiIvPjwvc3ZnPg=="}},"time_used":130,"timings":{"blocked":-1,"dns":59,"connect":39,"send":0,"wait":8,"receive":-1,"ssl":18},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/coins/litecoin/market_chart?vs_currency=usd\u0026days=max","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:41.631Z","timestamp":1785124601631,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/litecoin/market_chart?vs_currency=usd\u0026days=max HTTP/1.1\r\nHost: api.coingecko.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://astroxcinvest.com/\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 429 \r\ncontent-type: application/json\r\nretry-after: 60\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\ndate: Mon, 27 Jul 2026 03:56:41 GMT\r\nx-frame-options: SAMEORIGIN\r\nserver-timing: cfExtPri\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: a218b738395d569b-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 187\r\n\r\n","headers":null,"cookies":null,"status_code":"429","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":187,"size_decoded":632,"mime_type":"application/json","magic":"JSON text data","md5":"ba67ae69afdff30109b872b68342bec2","sha1":"b82ba442698016e8b79a0d667ad38ed8b731c8f6","sha256":"6529e19eb4c125e9bf94e997ea53c292ea8f4d6d0a8f8c25fb400947c088da2e","sha512":"1c863bf9431be978864f895e41ddba228a5f9103d529ae4b8fb01909e66c12a8988294a316ad62ab02922a7c9b1c249714a39411d6adfa94f5991191f50804d1","ssdeep":"","tlshash":"bfc0c011075f8d430505404074c9f8202c7be9c8432037ee30ed4330030430e842c2c9","first_seen":"2023-12-30T22:01:04Z","last_seen":"2026-07-29T04:58:15.859319Z","times_seen":2476,"resource_available":false,"data":"eyJzdGF0dXMiOnsiZXJyb3JfY29kZSI6NDI5LCJlcnJvcl9tZXNzYWdlIjoiWW91J3ZlIGV4Y2VlZGVkIHRoZSBSYXRlIExpbWl0LiBQbGVhc2UgdmlzaXQgaHR0cHM6Ly93d3cuY29pbmdlY2tvLmNvbS9lbi9hcGkvcHJpY2luZyB0byBzdWJzY3JpYmUgdG8gb3VyIEFQSSBwbGFucyBmb3IgaGlnaGVyIHJhdGUgbGltaXRzLiJ9fQ=="}},"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":"cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.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://astroxcinvest.com/","date":"2026-07-27T03:56:39.606Z","timestamp":1785124599606,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/4.7.0/css/font-awesome.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://astroxcinvest.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 03:56:39 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 5631\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:10:07 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=CvXWjzRHoB5wtUZXIPKzH4NCVtL44%2FOc2x9DCZUpVZQsXXUkZXXobReAsx7gTXgBGSmxEWtDlWgqcZbEzWzSmZHiJkpFjlDEIybf6g2ECkj5Zexw9WUdM8t3tK4uu6V6GG7wQ8sD\"}]}\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: a218b72badf90731-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":31000,"size_decoded":6617,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (30837)","md5":"269550530cc127b6aa5a35925a7de6ce","sha1":"512c7d79033e3028a9be61b540cf1a6870c896f8","sha256":"799aeb25cc0373fdee0e1b1db7ad6c2f6a0e058dfadaa3379689f583213190bd","sha512":"49f4e24e55fa924faa8ad7debe5ffb2e26d439e25696df6b6f20e7f766b50ea58ec3dbd61b6305a1acacd2c80e6e659accee4140f885b9c9e71008e9001fbf4b","ssdeep":"384:wHu5yWeTUKW+KlkJ5de2UYDyVfwYUas2l8yQ/8dwmaU8G:wwlr+Klk3Yi+fwYUf2l8yQ/e9vf","tlshash":"78d241e8e54c01d66731c48bff81b36862b6fb3dd5854da9f01f290c29d226522c5fba","first_seen":"2023-04-05T03:13:25Z","last_seen":"2026-08-04T07:28:38.756779Z","times_seen":305593,"resource_available":true,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovQGZvbnQtZmFjZXtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9NC43LjAnKTtzcmM6dXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjcuMCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj00LjcuMCcpIGZvcm1hdCgnd29mZjInKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuNy4wJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNy4wJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj00LjcuMCNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH0uZmF7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotMTUlfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS1md3t3aWR0aDoxLjI4NTcxNDI5ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLXVse3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0OjIuMTQyODU3MTRlbTtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uZmEtdWw+bGl7cG9zaXRpb246cmVsYXRpdmV9LmZhLWxpe3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTIuMTQyODU3MTRlbTt3aWR0aDoyLjE0Mjg1NzE0ZW07dG9wOi4xNDI4NTcxNGVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS1saS5mYS1sZ3tsZWZ0Oi0xLjg1NzE0Mjg2ZW19LmZhLWJvcmRlcntwYWRkaW5nOi4yZW0gLjI1ZW0gLjE1ZW07Ym9yZGVyOnNvbGlkIC4wOGVtICNlZWU7Ym9yZGVyLXJhZGl1czouMWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS5wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLnB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0uZmEtc3Bpbnstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXJ9LmZhLXB1bHNley13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7YW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCl9QC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fUBrZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhLXJvdGF0ZS05MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZhLXJvdGF0ZS0xODB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MikiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0uZmEtZmxpcC1ob3Jpem9udGFsey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEsIDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoLTEsIDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9LmZhLWZsaXAtdmVydGljYWx7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIjstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7dHJhbnNmb3JtOnNjYWxlKDEsIC0xKX06cm9vdCAuZmEtcm90YXRlLTkwLDpyb290IC5mYS1yb3RhdGUtMTgwLDpyb290IC5mYS1yb3RhdGUtMjcwLDpyb290IC5mYS1mbGlwLWhvcml6b250YWwsOnJvb3QgLmZhLWZsaXAtdmVydGljYWx7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2xpbmUtaGVpZ2h0OjJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZhLXN0YWNrLTF4LC5mYS1zdGFjay0yeHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtc3RhY2stMXh7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtc3RhY2stMnh7Zm9udC1zaXplOjJlbX0uZmEtaW52ZXJzZXtjb2xvcjojZmZmfS5mYS1nbGFzczpiZWZvcmV7Y29udGVudDoiXGYwMDAifS5mYS1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGYwMDEifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtZW52ZWxvcGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMDMifS5mYS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGYwMDQifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXN0YXItbzpiZWZvcmV7Y29udGVudDoiXGYwMDYifS5mYS11c2VyOmJlZm9yZXtjb250ZW50OiJcZjAwNyJ9LmZhLWZpbG06YmVmb3Jle2NvbnRlbnQ6IlxmMDA4In0uZmEtdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDA5In0uZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1yZW1vdmU6YmVmb3JlLC5mYS1jbG9zZTpiZWZvcmUsLmZhLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjAwZCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaC1taW51czpiZWZvcmV7Y29udGVudDoiXGYwMTAifS5mYS1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDExIn0uZmEtc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZjAxMiJ9LmZhLWdlYXI6YmVmb3JlLC5mYS1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMDEzIn0uZmEtdHJhc2gtbzpiZWZvcmV7Y29udGVudDoiXGYwMTQifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWZpbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMTYifS5mYS1jbG9jay1vOmJlZm9yZXtjb250ZW50OiJcZjAxNyJ9LmZhLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE4In0uZmEtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE5In0uZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMWEifS5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmV7Y29udGVudDoiXGYwMWIifS5mYS1pbmJveDpiZWZvcmV7Y29udGVudDoiXGYwMWMifS5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjAxZCJ9LmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsLmZhLXJlcGVhdDpiZWZvcmV7Y29udGVudDoiXGYwMWUifS5mYS1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZjAyMiJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtZmxhZzpiZWZvcmV7Y29udGVudDoiXGYwMjQifS5mYS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjAyNSJ9LmZhLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDI2In0uZmEtdm9sdW1lLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDI3In0uZmEtdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZjAyOCJ9LmZhLXFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYwMjkifS5mYS1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyYSJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDJkIn0uZmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMDJlIn0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzMCJ9LmZhLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMxIn0uZmEtYm9sZDpiZWZvcmV7Y29udGVudDoiXGYwMzIifS5mYS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDMzIn0uZmEtdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM0In0uZmEtdGV4dC13aWR0aDpiZWZvcmV7Y29udGVudDoiXGYwMzUifS5mYS1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjAzNiJ9LmZhLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGYwMzcifS5mYS1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzgifS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZjAzOSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtZGVkZW50OmJlZm9yZSwuZmEtb3V0ZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2IifS5mYS1pbmRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNjIn0uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzZCJ9LmZhLXBob3RvOmJlZm9yZSwuZmEtaW1hZ2U6YmVmb3JlLC5mYS1waWN0dXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcZjA0MCJ9LmZhLW1hcC1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDQxIn0uZmEtYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZjA0MiJ9LmZhLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQzIn0uZmEtZWRpdDpiZWZvcmUsLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDQifS5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDUifS5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDYifS5mYS1hcnJvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ3In0uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNDgifS5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0YSJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDRjIn0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0ZSJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUxIn0uZmEtZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDUyIn0uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA1MyJ9LmZhLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDU0In0uZmEtcGx1cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU1In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLXRpbWVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS1jaGVjay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OSJ9LmZhLWluZm8tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1YSJ9LmZhLWNyb3NzaGFpcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMDViIn0uZmEtdGltZXMtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVjIn0uZmEtY2hlY2stY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVkIn0uZmEtYmFuOmJlZm9yZXtjb250ZW50OiJcZjA1ZSJ9LmZhLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYwIn0uZmEtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYxIn0uZmEtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIn0uZmEtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNjMifS5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLC5mYS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYwNjQifS5mYS1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDY1In0uZmEtY29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDY2In0uZmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwNjcifS5mYS1taW51czpiZWZvcmV7Y29udGVudDoiXGYwNjgifS5mYS1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYwNjkifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGYwNmIifS5mYS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjA2YyJ9LmZhLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZkIn0uZmEtZXllOmJlZm9yZXtjb250ZW50OiJcZjA2ZSJ9LmZhLWV5ZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYwNzAifS5mYS13YXJuaW5nOmJlZm9yZSwuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcyIn0uZmEtY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDczIn0uZmEtcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc1In0uZmEtbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZjA3NiJ9LmZhLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDc3In0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc5In0uZmEtc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGYwN2EifS5mYS1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDdiIn0uZmEtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMDdjIn0uZmEtYXJyb3dzLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMDdkIn0uZmEtYXJyb3dzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMDdlIn0uZmEtYmFyLWNoYXJ0LW86YmVmb3JlLC5mYS1iYXItY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDgwIn0uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgxIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLWNhbWVyYS1yZXRybzpiZWZvcmV7Y29udGVudDoiXGYwODMifS5mYS1rZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDg0In0uZmEtZ2VhcnM6YmVmb3JlLC5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvbW1lbnRzOmJlZm9yZXtjb250ZW50OiJcZjA4NiJ9LmZhLXRodW1icy1vLXVwOmJlZm9yZXtjb250ZW50OiJcZjA4NyJ9LmZhLXRodW1icy1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDg4In0uZmEtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjA4OSJ9LmZhLWhlYXJ0LW86YmVmb3Jle2NvbnRlbnQ6IlxmMDhhIn0uZmEtc2lnbi1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDhiIn0uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4YyJ9LmZhLXRodW1iLXRhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDhkIn0uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmV7Y29udGVudDoiXGYwOGUifS5mYS1zaWduLWluOmJlZm9yZXtjb250ZW50OiJcZjA5MCJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS1naXRodWItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5MiJ9LmZhLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwOTMifS5mYS1sZW1vbi1vOmJlZm9yZXtjb250ZW50OiJcZjA5NCJ9LmZhLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjA5NSJ9LmZhLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA5NiJ9LmZhLWJvb2ttYXJrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk3In0uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5OCJ9LmZhLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDk5In0uZmEtZmFjZWJvb2stZjpiZWZvcmUsLmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS11bmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDljIn0uZmEtY3JlZGl0LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDlkIn0uZmEtZmVlZDpiZWZvcmUsLmZhLXJzczpiZWZvcmV7Y29udGVudDoiXGYwOWUifS5mYS1oZGQtbzpiZWZvcmV7Y29udGVudDoiXGYwYTAifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGYwYTEifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjBmMyJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWhhbmQtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTQifS5mYS1oYW5kLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTUifS5mYS1oYW5kLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGE2In0uZmEtaGFuZC1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGE3In0uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE4In0uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhOSJ9LmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYwYWEifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYWIifS5mYS1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGYwYWMifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZjBiMCJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYwYjEifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWdyb3VwOmJlZm9yZSwuZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtY2hhaW46YmVmb3JlLC5mYS1saW5rOmJlZm9yZXtjb250ZW50OiJcZjBjMSJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjBjMiJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWN1dDpiZWZvcmUsLmZhLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjBjNCJ9LmZhLWNvcHk6YmVmb3JlLC5mYS1maWxlcy1vOmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYwYzYifS5mYS1zYXZlOmJlZm9yZSwuZmEtZmxvcHB5LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGM3In0uZmEtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBjOCJ9LmZhLW5hdmljb246YmVmb3JlLC5mYS1yZW9yZGVyOmJlZm9yZSwuZmEtYmFyczpiZWZvcmV7Y29udGVudDoiXGYwYzkifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZjBjYSJ9LmZhLWxpc3Qtb2w6YmVmb3Jle2NvbnRlbnQ6IlxmMGNiIn0uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmV7Y29udGVudDoiXGYwY2MifS5mYS11bmRlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNkIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNlIn0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQwIn0uZmEtdHJ1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGQxIn0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjBkMiJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQzIn0uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBkNCJ9LmZhLWdvb2dsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjBkNSJ9LmZhLW1vbmV5OmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGQ3In0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwZDkifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwZGEifS5mYS1jb2x1bW5zOmJlZm9yZXtjb250ZW50OiJcZjBkYiJ9LmZhLXVuc29ydGVkOmJlZm9yZSwuZmEtc29ydDpiZWZvcmV7Y29udGVudDoiXGYwZGMifS5mYS1zb3J0LWRvd246YmVmb3JlLC5mYS1zb3J0LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMGRkIn0uZmEtc29ydC11cDpiZWZvcmUsLmZhLXNvcnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjBkZSJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZjBlMCJ9LmZhLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZjBlMSJ9LmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSwuZmEtdW5kbzpiZWZvcmV7Y29udGVudDoiXGYwZTIifS5mYS1sZWdhbDpiZWZvcmUsLmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWRhc2hib2FyZDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGU0In0uZmEtY29tbWVudC1vOmJlZm9yZXtjb250ZW50OiJcZjBlNSJ9LmZhLWNvbW1lbnRzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGU2In0uZmEtZmxhc2g6YmVmb3JlLC5mYS1ib2x0OmJlZm9yZXtjb250ZW50OiJcZjBlNyJ9LmZhLXNpdGVtYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGU4In0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMGU5In0uZmEtcGFzdGU6YmVmb3JlLC5mYS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVhIn0uZmEtbGlnaHRidWxiLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGViIn0uZmEtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGVjIn0uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVkIn0uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjBlZSJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGYwIn0uZmEtc3RldGhvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGYxIn0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGYyIn0uZmEtYmVsbC1vOmJlZm9yZXtjb250ZW50OiJcZjBhMiJ9LmZhLWNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGYwZjQifS5mYS1jdXRsZXJ5OmJlZm9yZXtjb250ZW50OiJcZjBmNSJ9LmZhLWZpbGUtdGV4dC1vOmJlZm9yZXtjb250ZW50OiJcZjBmNiJ9LmZhLWJ1aWxkaW5nLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGY3In0uZmEtaG9zcGl0YWwtbzpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLWZpZ2h0ZXItamV0OmJlZm9yZXtjb250ZW50OiJcZjBmYiJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZlIn0uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAwIn0uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwMSJ9LmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMDIifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtdGFibGV0OmJlZm9yZXtjb250ZW50OiJcZjEwYSJ9LmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsLmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5mYS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMGMifS5mYS1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwZCJ9LmZhLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwZSJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjExMSJ9LmZhLW1haWwtcmVwbHk6YmVmb3JlLC5mYS1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYxMTIifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OiJcZjExMyJ9LmZhLWZvbGRlci1vOmJlZm9yZXtjb250ZW50OiJcZjExNCJ9LmZhLWZvbGRlci1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE1In0uZmEtc21pbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5mYS1mcm93bi1vOmJlZm9yZXtjb250ZW50OiJcZjExOSJ9LmZhLW1laC1vOmJlZm9yZXtjb250ZW50OiJcZjExYSJ9LmZhLWdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFiIn0uZmEta2V5Ym9hcmQtbzpiZWZvcmV7Y29udGVudDoiXGYxMWMifS5mYS1mbGFnLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTFkIn0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uZmEtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIwIn0uZmEtY29kZTpiZWZvcmV7Y29udGVudDoiXGYxMjEifS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsLmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLC5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsLmZhLXN0YXItaGFsZi1vOmJlZm9yZXtjb250ZW50OiJcZjEyMyJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uZmEtY29kZS1mb3JrOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLXVubGluazpiZWZvcmUsLmZhLWNoYWluLWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5mYS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMjgifS5mYS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZjEyOSJ9LmZhLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyYSJ9LmZhLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYiJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9LmZhLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTMwIn0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5mYS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTMyIn0uZmEtY2FsZW5kYXItbzpiZWZvcmV7Y29udGVudDoiXGYxMzMifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDoiXGYxMzQifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM1In0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9LmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM3In0uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4In0uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS11bmxvY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZjEzZSJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTQxIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5mYS1yc3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0MyJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXRpY2tldDpiZWZvcmV7Y29udGVudDoiXGYxNDUifS5mYS1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ2In0uZmEtbWludXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTQ3In0uZmEtbGV2ZWwtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ4In0uZmEtbGV2ZWwtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNDkifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGMifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRkIn0uZmEtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGYxNGUifS5mYS10b2dnbGUtZG93bjpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTUwIn0uZmEtdG9nZ2xlLXVwOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTUxIn0uZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtZXVybzpiZWZvcmUsLmZhLWV1cjpiZWZvcmV7Y29udGVudDoiXGYxNTMifS5mYS1nYnA6YmVmb3Jle2NvbnRlbnQ6IlxmMTU0In0uZmEtZG9sbGFyOmJlZm9yZSwuZmEtdXNkOmJlZm9yZXtjb250ZW50OiJcZjE1NSJ9LmZhLXJ1cGVlOmJlZm9yZSwuZmEtaW5yOmJlZm9yZXtjb250ZW50OiJcZjE1NiJ9LmZhLWNueTpiZWZvcmUsLmZhLXJtYjpiZWZvcmUsLmZhLXllbjpiZWZvcmUsLmZhLWpweTpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS1ydWJsZTpiZWZvcmUsLmZhLXJvdWJsZTpiZWZvcmUsLmZhLXJ1YjpiZWZvcmV7Y29udGVudDoiXGYxNTgifS5mYS13b246YmVmb3JlLC5mYS1rcnc6YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtYml0Y29pbjpiZWZvcmUsLmZhLWJ0YzpiZWZvcmV7Y29udGVudDoiXGYxNWEifS5mYS1maWxlOmJlZm9yZXtjb250ZW50OiJcZjE1YiJ9LmZhLWZpbGUtdGV4dDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNWQifS5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTVlIn0uZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MCJ9LmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTYxIn0uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNjMifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTY1In0uZmEteW91dHViZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY2In0uZmEteW91dHViZTpiZWZvcmV7Y29udGVudDoiXGYxNjcifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXlvdXR1YmUtcGxheTpiZWZvcmV7Y29udGVudDoiXGYxNmEifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjE2YiJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYxNmQifS5mYS1mbGlja3I6YmVmb3Jle2NvbnRlbnQ6IlxmMTZlIn0uZmEtYWRuOmJlZm9yZXtjb250ZW50OiJcZjE3MCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGYxNzEifS5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3MiJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNzUifS5mYS1sb25nLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjE3NiJ9LmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxNzcifS5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjE3OCJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjE3OSJ9LmZhLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTdhIn0uZmEtYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGYxN2IifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDoiXGYxN2MifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYxN2QifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGYxN2UifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLXRyZWxsbzpiZWZvcmV7Y29udGVudDoiXGYxODEifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgyIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1naXR0aXA6YmVmb3JlLC5mYS1ncmF0aXBheTpiZWZvcmV7Y29udGVudDoiXGYxODQifS5mYS1zdW4tbzpiZWZvcmV7Y29udGVudDoiXGYxODUifS5mYS1tb29uLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTg2In0uZmEtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxODcifS5mYS1idWc6YmVmb3Jle2NvbnRlbnQ6IlxmMTg4In0uZmEtdms6YmVmb3Jle2NvbnRlbnQ6IlxmMTg5In0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtcmVucmVuOmJlZm9yZXtjb250ZW50OiJcZjE4YiJ9LmZhLXBhZ2VsaW5lczpiZWZvcmV7Y29udGVudDoiXGYxOGMifS5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYxOGQifS5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxOGUifS5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MCJ9LmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxOTEifS5mYS1kb3QtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTkyIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS12aW1lby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk0In0uZmEtdHVya2lzaC1saXJhOmJlZm9yZSwuZmEtdHJ5OmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLXBsdXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTk2In0uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmV7Y29udGVudDoiXGYxOTcifS5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjE5YSJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1pbnN0aXR1dGlvbjpiZWZvcmUsLmZhLWJhbms6YmVmb3JlLC5mYS11bml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZjE5YyJ9LmZhLW1vcnRhci1ib2FyZDpiZWZvcmUsLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZjE5ZSJ9LmZhLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGYxYTAifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYTIifS5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEzIn0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OiJcZjFhNSJ9LmZhLWRpZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMWE2In0uZmEtcGllZC1waXBlci1wcDpiZWZvcmV7Y29udGVudDoiXGYxYTcifS5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxYTgifS5mYS1kcnVwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWE5In0uZmEtam9vbWxhOmJlZm9yZXtjb250ZW50OiJcZjFhYSJ9LmZhLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjFhYiJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGYxYWQifS5mYS1jaGlsZDpiZWZvcmV7Y29udGVudDoiXGYxYWUifS5mYS1wYXc6YmVmb3Jle2NvbnRlbnQ6IlxmMWIwIn0uZmEtc3Bvb246YmVmb3Jle2NvbnRlbnQ6IlxmMWIxIn0uZmEtY3ViZTpiZWZvcmV7Y29udGVudDoiXGYxYjIifS5mYS1jdWJlczpiZWZvcmV7Y29udGVudDoiXGYxYjMifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLXN0ZWFtOmJlZm9yZXtjb250ZW50OiJcZjFiNiJ9LmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjcifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLWF1dG9tb2JpbGU6YmVmb3JlLC5mYS1jYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWI5In0uZmEtY2FiOmJlZm9yZSwuZmEtdGF4aTpiZWZvcmV7Y29udGVudDoiXGYxYmEifS5mYS10cmVlOmJlZm9yZXtjb250ZW50OiJcZjFiYiJ9LmZhLXNwb3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWJjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjFiZSJ9LmZhLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OiJcZjFjMCJ9LmZhLWZpbGUtcGRmLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMxIn0uZmEtZmlsZS13b3JkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsZS1leGNlbC1vOmJlZm9yZXtjb250ZW50OiJcZjFjMyJ9LmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZXtjb250ZW50OiJcZjFjNCJ9LmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSwuZmEtZmlsZS1pbWFnZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWZpbGUtemlwLW86YmVmb3JlLC5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmV7Y29udGVudDoiXGYxYzYifS5mYS1maWxlLXNvdW5kLW86YmVmb3JlLC5mYS1maWxlLWF1ZGlvLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM3In0uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSwuZmEtZmlsZS12aWRlby1vOmJlZm9yZXtjb250ZW50OiJcZjFjOCJ9LmZhLWZpbGUtY29kZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjOSJ9LmZhLXZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNhIn0uZmEtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGYxY2IifS5mYS1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDoiXGYxY2MifS5mYS1saWZlLWJvdXk6YmVmb3JlLC5mYS1saWZlLWJ1b3k6YmVmb3JlLC5mYS1saWZlLXNhdmVyOmJlZm9yZSwuZmEtc3VwcG9ydDpiZWZvcmUsLmZhLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDoiXGYxY2QifS5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmV7Y29udGVudDoiXGYxY2UifS5mYS1yYTpiZWZvcmUsLmZhLXJlc2lzdGFuY2U6YmVmb3JlLC5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDoiXGYxZDAifS5mYS1nZTpiZWZvcmUsLmZhLWVtcGlyZTpiZWZvcmV7Y29udGVudDoiXGYxZDEifS5mYS1naXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMiJ9LmZhLWdpdDpiZWZvcmV7Y29udGVudDoiXGYxZDMifS5mYS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSwuZmEteWMtc3F1YXJlOmJlZm9yZSwuZmEtaGFja2VyLW5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ0In0uZmEtdGVuY2VudC13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxZDUifS5mYS1xcTpiZWZvcmV7Y29udGVudDoiXGYxZDYifS5mYS13ZWNoYXQ6YmVmb3JlLC5mYS13ZWl4aW46YmVmb3Jle2NvbnRlbnQ6IlxmMWQ3In0uZmEtc2VuZDpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjFkOCJ9LmZhLXNlbmQtbzpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWQ5In0uZmEtaGlzdG9yeTpiZWZvcmV7Y29udGVudDoiXGYxZGEifS5mYS1jaXJjbGUtdGhpbjpiZWZvcmV7Y29udGVudDoiXGYxZGIifS5mYS1oZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWRjIn0uZmEtcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZjFkZCJ9LmZhLXNsaWRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWRlIn0uZmEtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjFlMCJ9LmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWUxIn0uZmEtYm9tYjpiZWZvcmV7Y29udGVudDoiXGYxZTIifS5mYS1zb2NjZXItYmFsbC1vOmJlZm9yZSwuZmEtZnV0Ym9sLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWUzIn0uZmEtdHR5OmJlZm9yZXtjb250ZW50OiJcZjFlNCJ9LmZhLWJpbm9jdWxhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWU1In0uZmEtcGx1ZzpiZWZvcmV7Y29udGVudDoiXGYxZTYifS5mYS1zbGlkZXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjFlNyJ9LmZhLXR3aXRjaDpiZWZvcmV7Y29udGVudDoiXGYxZTgifS5mYS15ZWxwOmJlZm9yZXtjb250ZW50OiJcZjFlOSJ9LmZhLW5ld3NwYXBlci1vOmJlZm9yZXtjb250ZW50OiJcZjFlYSJ9LmZhLXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxmMWViIn0uZmEtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYxZWMifS5mYS1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWVkIn0uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmV7Y29udGVudDoiXGYxZWUifS5mYS1jYy12aXNhOmJlZm9yZXtjb250ZW50OiJcZjFmMCJ9LmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWYxIn0uZmEtY2MtZGlzY292ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWYyIn0uZmEtY2MtYW1leDpiZWZvcmV7Y29udGVudDoiXGYxZjMifS5mYS1jYy1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWY0In0uZmEtY2Mtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZjFmNSJ9LmZhLWJlbGwtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY2In0uZmEtYmVsbC1zbGFzaC1vOmJlZm9yZXtjb250ZW50OiJcZjFmNyJ9LmZhLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmOCJ9LmZhLWNvcHlyaWdodDpiZWZvcmV7Y29udGVudDoiXGYxZjkifS5mYS1hdDpiZWZvcmV7Y29udGVudDoiXGYxZmEifS5mYS1leWVkcm9wcGVyOmJlZm9yZXtjb250ZW50OiJcZjFmYiJ9LmZhLXBhaW50LWJydXNoOmJlZm9yZXtjb250ZW50OiJcZjFmYyJ9LmZhLWJpcnRoZGF5LWNha2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWZkIn0uZmEtYXJlYS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYxZmUifS5mYS1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjAwIn0uZmEtbGluZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYyMDEifS5mYS1sYXN0Zm06YmVmb3Jle2NvbnRlbnQ6IlxmMjAyIn0uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyMDMifS5mYS10b2dnbGUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjIwNCJ9LmZhLXRvZ2dsZS1vbjpiZWZvcmV7Y29udGVudDoiXGYyMDUifS5mYS1iaWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjIwNiJ9LmZhLWJ1czpiZWZvcmV7Y29udGVudDoiXGYyMDcifS5mYS1pb3hob3N0OmJlZm9yZXtjb250ZW50OiJcZjIwOCJ9LmZhLWFuZ2VsbGlzdDpiZWZvcmV7Y29udGVudDoiXGYyMDkifS5mYS1jYzpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5mYS1zaGVrZWw6YmVmb3JlLC5mYS1zaGVxZWw6YmVmb3JlLC5mYS1pbHM6YmVmb3Jle2NvbnRlbnQ6IlxmMjBiIn0uZmEtbWVhbnBhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjBjIn0uZmEtYnV5c2VsbGFkczpiZWZvcmV7Y29udGVudDoiXGYyMGQifS5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmV7Y29udGVudDoiXGYyMGUifS5mYS1kYXNoY3ViZTpiZWZvcmV7Y29udGVudDoiXGYyMTAifS5mYS1mb3J1bWJlZTpiZWZvcmV7Y29udGVudDoiXGYyMTEifS5mYS1sZWFucHViOmJlZm9yZXtjb250ZW50OiJcZjIxMiJ9LmZhLXNlbGxzeTpiZWZvcmV7Y29udGVudDoiXGYyMTMifS5mYS1zaGlydHNpbmJ1bGs6YmVmb3Jle2NvbnRlbnQ6IlxmMjE0In0uZmEtc2ltcGx5YnVpbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE1In0uZmEtc2t5YXRsYXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE2In0uZmEtY2FydC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIxNyJ9LmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYyMTgifS5mYS1kaWFtb25kOmJlZm9yZXtjb250ZW50OiJcZjIxOSJ9LmZhLXNoaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjFhIn0uZmEtdXNlci1zZWNyZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFiIn0uZmEtbW90b3JjeWNsZTpiZWZvcmV7Y29udGVudDoiXGYyMWMifS5mYS1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDoiXGYyMWQifS5mYS1oZWFydGJlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFlIn0uZmEtdmVudXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjIxIn0uZmEtbWFyczpiZWZvcmV7Y29udGVudDoiXGYyMjIifS5mYS1tZXJjdXJ5OmJlZm9yZXtjb250ZW50OiJcZjIyMyJ9LmZhLWludGVyc2V4OmJlZm9yZSwuZmEtdHJhbnNnZW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjI0In0uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjIyNSJ9LmZhLXZlbnVzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjYifS5mYS1tYXJzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjcifS5mYS12ZW51cy1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyOCJ9LmZhLW1hcnMtc3Ryb2tlOmJlZm9yZXtjb250ZW50OiJcZjIyOSJ9LmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMjJhIn0uZmEtbWFycy1zdHJva2UtaDpiZWZvcmV7Y29udGVudDoiXGYyMmIifS5mYS1uZXV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjJjIn0uZmEtZ2VuZGVybGVzczpiZWZvcmV7Y29udGVudDoiXGYyMmQifS5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDoiXGYyMzAifS5mYS1waW50ZXJlc3QtcDpiZWZvcmV7Y29udGVudDoiXGYyMzEifS5mYS13aGF0c2FwcDpiZWZvcmV7Y29udGVudDoiXGYyMzIifS5mYS1zZXJ2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjMzIn0uZmEtdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIzNCJ9LmZhLXVzZXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM1In0uZmEtaG90ZWw6YmVmb3JlLC5mYS1iZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjM2In0uZmEtdmlhY29pbjpiZWZvcmV7Y29udGVudDoiXGYyMzcifS5mYS10cmFpbjpiZWZvcmV7Y29udGVudDoiXGYyMzgifS5mYS1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6IlxmMjM5In0uZmEtbWVkaXVtOmJlZm9yZXtjb250ZW50OiJcZjIzYSJ9LmZhLXljOmJlZm9yZSwuZmEteS1jb21iaW5hdG9yOmJlZm9yZXtjb250ZW50OiJcZjIzYiJ9LmZhLW9wdGluLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjNjIn0uZmEtb3BlbmNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjNkIn0uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZXtjb250ZW50OiJcZjIzZSJ9LmZhLWJhdHRlcnktNDpiZWZvcmUsLmZhLWJhdHRlcnk6YmVmb3JlLC5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMjQwIn0uZmEtYmF0dGVyeS0zOmJlZm9yZSwuZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyNDEifS5mYS1iYXR0ZXJ5LTI6YmVmb3JlLC5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMjQyIn0uZmEtYmF0dGVyeS0xOmJlZm9yZSwuZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZjI0MyJ9LmZhLWJhdHRlcnktMDpiZWZvcmUsLmZhLWJhdHRlcnktZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ0In0uZmEtbW91c2UtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDUifS5mYS1pLWN1cnNvcjpiZWZvcmV7Y29udGVudDoiXGYyNDYifS5mYS1vYmplY3QtZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ3In0uZmEtb2JqZWN0LXVuZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ4In0uZmEtc3RpY2t5LW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ5In0uZmEtc3RpY2t5LW5vdGUtbzpiZWZvcmV7Y29udGVudDoiXGYyNGEifS5mYS1jYy1qY2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjRiIn0uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjRjIn0uZmEtY2xvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRkIn0uZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmV7Y29udGVudDoiXGYyNGUifS5mYS1ob3VyZ2xhc3MtbzpiZWZvcmV7Y29udGVudDoiXGYyNTAifS5mYS1ob3VyZ2xhc3MtMTpiZWZvcmUsLmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmV7Y29udGVudDoiXGYyNTEifS5mYS1ob3VyZ2xhc3MtMjpiZWZvcmUsLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI1MiJ9LmZhLWhvdXJnbGFzcy0zOmJlZm9yZSwuZmEtaG91cmdsYXNzLWVuZDpiZWZvcmV7Y29udGVudDoiXGYyNTMifS5mYS1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjU0In0uZmEtaGFuZC1ncmFiLW86YmVmb3JlLC5mYS1oYW5kLXJvY2stbzpiZWZvcmV7Y29udGVudDoiXGYyNTUifS5mYS1oYW5kLXN0b3AtbzpiZWZvcmUsLmZhLWhhbmQtcGFwZXItbzpiZWZvcmV7Y29udGVudDoiXGYyNTYifS5mYS1oYW5kLXNjaXNzb3JzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU3In0uZmEtaGFuZC1saXphcmQtbzpiZWZvcmV7Y29udGVudDoiXGYyNTgifS5mYS1oYW5kLXNwb2NrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU5In0uZmEtaGFuZC1wb2ludGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjVhIn0uZmEtaGFuZC1wZWFjZS1vOmJlZm9yZXtjb250ZW50OiJcZjI1YiJ9LmZhLXRyYWRlbWFyazpiZWZvcmV7Y29udGVudDoiXGYyNWMifS5mYS1yZWdpc3RlcmVkOmJlZm9yZXtjb250ZW50OiJcZjI1ZCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjVlIn0uZmEtZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMjYwIn0uZmEtZ2ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI2MSJ9LmZhLXRyaXBhZHZpc29yOmJlZm9yZXtjb250ZW50OiJcZjI2MiJ9LmZhLW9kbm9rbGFzc25pa2k6YmVmb3Jle2NvbnRlbnQ6IlxmMjYzIn0uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjY0In0uZmEtZ2V0LXBvY2tldDpiZWZvcmV7Y29udGVudDoiXGYyNjUifS5mYS13aWtpcGVkaWEtdzpiZWZvcmV7Y29udGVudDoiXGYyNjYifS5mYS1zYWZhcmk6YmVmb3Jle2NvbnRlbnQ6IlxmMjY3In0uZmEtY2hyb21lOmJlZm9yZXtjb250ZW50OiJcZjI2OCJ9LmZhLWZpcmVmb3g6YmVmb3Jle2NvbnRlbnQ6IlxmMjY5In0uZmEtb3BlcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMjZhIn0uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjZiIn0uZmEtdHY6YmVmb3JlLC5mYS10ZWxldmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZjI2YyJ9LmZhLWNvbnRhbzpiZWZvcmV7Y29udGVudDoiXGYyNmQifS5mYS01MDBweDpiZWZvcmV7Y29udGVudDoiXGYyNmUifS5mYS1hbWF6b246YmVmb3Jle2NvbnRlbnQ6IlxmMjcwIn0uZmEtY2FsZW5kYXItcGx1cy1vOmJlZm9yZXtjb250ZW50OiJcZjI3MSJ9LmZhLWNhbGVuZGFyLW1pbnVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjcyIn0uZmEtY2FsZW5kYXItdGltZXMtbzpiZWZvcmV7Y29udGVudDoiXGYyNzMifS5mYS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZXtjb250ZW50OiJcZjI3NCJ9LmZhLWluZHVzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjI3NSJ9LmZhLW1hcC1waW46YmVmb3Jle2NvbnRlbnQ6IlxmMjc2In0uZmEtbWFwLXNpZ25zOmJlZm9yZXtjb250ZW50OiJcZjI3NyJ9LmZhLW1hcC1vOmJlZm9yZXtjb250ZW50OiJcZjI3OCJ9LmZhLW1hcDpiZWZvcmV7Y29udGVudDoiXGYyNzkifS5mYS1jb21tZW50aW5nOmJlZm9yZXtjb250ZW50OiJcZjI3YSJ9LmZhLWNvbW1lbnRpbmctbzpiZWZvcmV7Y29udGVudDoiXGYyN2IifS5mYS1ob3V6ejpiZWZvcmV7Y29udGVudDoiXGYyN2MifS5mYS12aW1lbzpiZWZvcmV7Y29udGVudDoiXGYyN2QifS5mYS1ibGFjay10aWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjdlIn0uZmEtZm9udGljb25zOmJlZm9yZXtjb250ZW50OiJcZjI4MCJ9LmZhLXJlZGRpdC1hbGllbjpiZWZvcmV7Y29udGVudDoiXGYyODEifS5mYS1lZGdlOmJlZm9yZXtjb250ZW50OiJcZjI4MiJ9LmZhLWNyZWRpdC1jYXJkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyODMifS5mYS1jb2RpZXBpZTpiZWZvcmV7Y29udGVudDoiXGYyODQifS5mYS1tb2R4OmJlZm9yZXtjb250ZW50OiJcZjI4NSJ9LmZhLWZvcnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyODYifS5mYS11c2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjg3In0uZmEtcHJvZHVjdC1odW50OmJlZm9yZXtjb250ZW50OiJcZjI4OCJ9LmZhLW1peGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjI4OSJ9LmZhLXNjcmliZDpiZWZvcmV7Y29udGVudDoiXGYyOGEifS5mYS1wYXVzZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhiIn0uZmEtcGF1c2UtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjhjIn0uZmEtc3RvcC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhkIn0uZmEtc3RvcC1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOGUifS5mYS1zaG9wcGluZy1iYWc6YmVmb3Jle2NvbnRlbnQ6IlxmMjkwIn0uZmEtc2hvcHBpbmctYmFza2V0OmJlZm9yZXtjb250ZW50OiJcZjI5MSJ9LmZhLWhhc2h0YWc6YmVmb3Jle2NvbnRlbnQ6IlxmMjkyIn0uZmEtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZjI5MyJ9LmZhLWJsdWV0b290aC1iOmJlZm9yZXtjb250ZW50OiJcZjI5NCJ9LmZhLXBlcmNlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjk1In0uZmEtZ2l0bGFiOmJlZm9yZXtjb250ZW50OiJcZjI5NiJ9LmZhLXdwYmVnaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk3In0uZmEtd3Bmb3JtczpiZWZvcmV7Y29udGVudDoiXGYyOTgifS5mYS1lbnZpcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMjk5In0uZmEtdW5pdmVyc2FsLWFjY2VzczpiZWZvcmV7Y29udGVudDoiXGYyOWEifS5mYS13aGVlbGNoYWlyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyOWIifS5mYS1xdWVzdGlvbi1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOWMifS5mYS1ibGluZDpiZWZvcmV7Y29udGVudDoiXGYyOWQifS5mYS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDoiXGYyOWUifS5mYS12b2x1bWUtY29udHJvbC1waG9uZTpiZWZvcmV7Y29udGVudDoiXGYyYTAifS5mYS1icmFpbGxlOmJlZm9yZXtjb250ZW50OiJcZjJhMSJ9LmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmV7Y29udGVudDoiXGYyYTIifS5mYS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSwuZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMmEzIn0uZmEtZGVhZm5lc3M6YmVmb3JlLC5mYS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLC5mYS1kZWFmOmJlZm9yZXtjb250ZW50OiJcZjJhNCJ9LmZhLWdsaWRlOmJlZm9yZXtjb250ZW50OiJcZjJhNSJ9LmZhLWdsaWRlLWc6YmVmb3Jle2NvbnRlbnQ6IlxmMmE2In0uZmEtc2lnbmluZzpiZWZvcmUsLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmE3In0uZmEtbG93LXZpc2lvbjpiZWZvcmV7Y29udGVudDoiXGYyYTgifS5mYS12aWFkZW86YmVmb3Jle2NvbnRlbnQ6IlxmMmE5In0uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyYWEifS5mYS1zbmFwY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyYWIifS5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmV7Y29udGVudDoiXGYyYWMifS5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFkIn0uZmEtcGllZC1waXBlcjpiZWZvcmV7Y29udGVudDoiXGYyYWUifS5mYS1maXJzdC1vcmRlcjpiZWZvcmV7Y29udGVudDoiXGYyYjAifS5mYS15b2FzdDpiZWZvcmV7Y29udGVudDoiXGYyYjEifS5mYS10aGVtZWlzbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmIyIn0uZmEtZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSwuZmEtZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMmIzIn0uZmEtZmE6YmVmb3JlLC5mYS1mb250LWF3ZXNvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI0In0uZmEtaGFuZHNoYWtlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmI1In0uZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmV7Y29udGVudDoiXGYyYjYifS5mYS1lbnZlbG9wZS1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmI3In0uZmEtbGlub2RlOmJlZm9yZXtjb250ZW50OiJcZjJiOCJ9LmZhLWFkZHJlc3MtYm9vazpiZWZvcmV7Y29udGVudDoiXGYyYjkifS5mYS1hZGRyZXNzLWJvb2stbzpiZWZvcmV7Y29udGVudDoiXGYyYmEifS5mYS12Y2FyZDpiZWZvcmUsLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYmIifS5mYS12Y2FyZC1vOmJlZm9yZSwuZmEtYWRkcmVzcy1jYXJkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmJjIn0uZmEtdXNlci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmJkIn0uZmEtdXNlci1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyYmUifS5mYS11c2VyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmMwIn0uZmEtaWQtYmFkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmMxIn0uZmEtZHJpdmVycy1saWNlbnNlOmJlZm9yZSwuZmEtaWQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYzIifS5mYS1kcml2ZXJzLWxpY2Vuc2UtbzpiZWZvcmUsLmZhLWlkLWNhcmQtbzpiZWZvcmV7Y29udGVudDoiXGYyYzMifS5mYS1xdW9yYTpiZWZvcmV7Y29udGVudDoiXGYyYzQifS5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyYzUifS5mYS10ZWxlZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYyYzYifS5mYS10aGVybW9tZXRlci00OmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXI6YmVmb3JlLC5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjJjNyJ9LmZhLXRoZXJtb21ldGVyLTM6YmVmb3JlLC5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyYzgifS5mYS10aGVybW9tZXRlci0yOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyYzkifS5mYS10aGVybW9tZXRlci0xOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyY2EifS5mYS10aGVybW9tZXRlci0wOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMmNiIn0uZmEtc2hvd2VyOmJlZm9yZXtjb250ZW50OiJcZjJjYyJ9LmZhLWJhdGh0dWI6YmVmb3JlLC5mYS1zMTU6YmVmb3JlLC5mYS1iYXRoOmJlZm9yZXtjb250ZW50OiJcZjJjZCJ9LmZhLXBvZGNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmNlIn0uZmEtd2luZG93LW1heGltaXplOmJlZm9yZXtjb250ZW50OiJcZjJkMCJ9LmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmV7Y29udGVudDoiXGYyZDEifS5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmV7Y29udGVudDoiXGYyZDIifS5mYS10aW1lcy1yZWN0YW5nbGU6YmVmb3JlLC5mYS13aW5kb3ctY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmQzIn0uZmEtdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlLC5mYS13aW5kb3ctY2xvc2UtbzpiZWZvcmV7Y29udGVudDoiXGYyZDQifS5mYS1iYW5kY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyZDUifS5mYS1ncmF2OmJlZm9yZXtjb250ZW50OiJcZjJkNiJ9LmZhLWV0c3k6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ3In0uZmEtaW1kYjpiZWZvcmV7Y29udGVudDoiXGYyZDgifS5mYS1yYXZlbHJ5OmJlZm9yZXtjb250ZW50OiJcZjJkOSJ9LmZhLWVlcmNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmRhIn0uZmEtbWljcm9jaGlwOmJlZm9yZXtjb250ZW50OiJcZjJkYiJ9LmZhLXNub3dmbGFrZS1vOmJlZm9yZXtjb250ZW50OiJcZjJkYyJ9LmZhLXN1cGVycG93ZXJzOmJlZm9yZXtjb250ZW50OiJcZjJkZCJ9LmZhLXdwZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmRlIn0uZmEtbWVldHVwOmJlZm9yZXtjb250ZW50OiJcZjJlMCJ9LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjB9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG99Cg=="}},"time_used":73,"timings":{"blocked":-1,"dns":2,"connect":20,"send":0,"wait":51,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/fonts/iconfont/iconfont8b658b658b65.ttf?2p4rfb","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.852Z","timestamp":1785124599852,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /fonts/iconfont/iconfont8b658b658b65.ttf?2p4rfb HTTP/1.1\r\nHost: astroxcinvest.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://astroxcinvest.com/css/icon-font.css\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/x-font-ttf\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"2238c-5aa839fc-6c54105642844b82;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 68062\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":140172,"size_decoded":68441,"mime_type":"application/x-font-ttf","magic":"TrueType Font data, 11 tables, 1st \"OS/2\", 22 names, Macintosh","md5":"713a9975f45f1444a8ec37fe9cca1778","sha1":"f5e8ef76c1c758c3a360b233f8f7c6ab92031d25","sha256":"0551bccc5be3d65aacb922c9a66dbb594a4fde46565fbbd95a668a70da387332","sha512":"07ca0bbd2b4a7d87b613306cba26335ef49302c1fba5995b1380d499f3a87471df1336b5a3571890aa6ca7037a0c034cc2c3fd2c42eb1b0527e23b6e010c4dd2","ssdeep":"3072:ZRrnyZS4Jj8spqQGa8RKsHirByT49M2LgV9eZolEpQBnGFfaEkE4eT50FfJFO7SF:ZRreS4JwspqQGa8RKsHirByT4rLg7eZe","tlshash":"86d33c37e7d7df6ec41b9ebb2f1192610df2d231827ea3f96a891c11c4058f08d68699","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.202635Z","times_seen":336,"resource_available":false,"data":"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AAAAAAABAAgAAAABAAAAAAACAAcBVgABAAAAAAADAAgBJgABAAAAAAAEAAgBawABAAAAAAAFAAsBBQABAAAAAAAGAAgBPgABAAAAAAAJAAsAWgABAAAAAAAKACoAewABAAAAAAALABYAGAABAAAAAAANAAIA/wADAAEECQAAAAQA+wADAAEECQABABAACAADAAEECQACAA4BXQADAAEECQADABABLgADAAEECQAEABABcwADAAEECQAFABYBEAADAAEECQAGABABRgADAAEECQAJABYAZQADAAEECQAKAFQApQADAAEECQALACwALgADAAEECQANAAQBAWljb25mb250AGkAYwBvAG4AZgBvAG4AdGh0dHA6Ly94cGVlZHN0dWRpby5jb20AaAB0AHQAcAA6AC8ALwB4AHAAZQBlAGQAcwB0AHUAZABpAG8ALgBjAG8AbXhwZWVkc3R1ZGlvAHgAcABlAGUAZABzAHQAdQBkAGkAb0NvcHkgcHJvaGliaXRlZApGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBDAG8AcAB5ACAAcAByAG8AaABpAGIAaQB0AGUAZAAKAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALkNPAEMAT0NPAEMAT1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGljb25mb250AGkAYwBvAG4AZgBvAG4AdGljb25mb250AGkAYwBvAG4AZgBvAG4AdFJlZ3VsYXIAUgBlAGcAdQBsAGEAcmljb25mb250AGkAYwBvAG4AZgBvAG4AdAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},"time_used":744,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":105,"receive":639,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.029Z","timestamp":1785124600029,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2 HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 3805182\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"83afe278b6a6bb3c-s.p.3a6ba036.woff2\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: font/woff2\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: \"65850a373e258f1c897a2b3d75eb74de\"\r\nlast-modified: Sat, 13 Jun 2026 02:56:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6llhh-1781319417508-42ed70ceb10a\r\nx-xss-protection: 1; mode=block\r\nserver-timing: cfExtPri\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=80j%2BUt8LA0%2BX9gWSVzUzT4e4NHgjKeEYdtQQ4wvCdqm1bHYvk6Yj3Z%2BS0mF43HkgQ3vabKlvjK9EVdDU3ek7pbneThh2j4hRNLAdjEb6%2BihA3MLc3ab0e8uAZpul\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a218b72e398c56b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 48432\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":48432,"size_decoded":50505,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48432, version 1.0","md5":"65850a373e258f1c897a2b3d75eb74de","sha1":"1dc044f4824fd5af6bfed67fee48be70fa069f3f","sha256":"c940764593d0fe5d596be327ca7558855e018039fb78509aa21921fd3644c3e4","sha512":"df2683f3dd9724de589451a47bc608c9925d54b874ad97b733dd465ef41f9db75e9e31604762415c2fc1433d050e45fdefc6ecd7ecadf58d1243d9ca5f4bf74b","ssdeep":"768:3IkDHBYoX5Pi4JxTGz9CDR0s1ROSsA8mF77YNt7wFhVq9oN2WfpdqWjBA:tNYoX53xTl/R8W77YNtUFrWoUWvdA","tlshash":"56230251f5f8624a7fc3003fbc317bd862909fe5996ee5d91288f30225611dd29ee017","first_seen":"2025-05-30T12:57:00.85385Z","last_seen":"2026-08-04T07:36:34.836341Z","times_seen":86461,"resource_available":false,"data":"d09GMgABAAAAAL0wABQAAAAB4AgAALy3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoZeG4KyRBzVcD9IVkFSi2k/TVZBUl4GYD9TVEFUgU4nJgCFNi9sEQgKgbtAgaEUC4gOADCCnD4BNgIkA5AYBCAFhi4HoQRbbM1xJ9pEvFeIqaVsuokIsO22SVU1fQk3aHa/1VxA501dSsJn5lSwbRr1bgcRJN0fNvv////PTSpjaFO2tAUBUdXp/H+hZmYeWbxMkksUg6gSjR4sJp1OluyFAZzHknNZFfcOC/jkm4TBTvWYFyAlzqJGm4RoBKtiTp9mkyGfCzYwC/BDbocpQqUSQIhMa7ygZvA0U75Y4LFTHnT/aGZJWR6pLqVniIDetGuXwgUe8/POsOsP1Q9VUiWTp72izbt5tKtLgWhoWrfh09M7RFpXf5QIFuBDxYUkcftGuBj4EcUodLrLBqOES28ulU2C4bvURfopCwxHk8sX8DGo2D5LQadmFhKB7no9F66EECKF6kb1LqY15mIYK93FNtnkyduuV/xNv9PH6x75G9MA70vGml6p8vX9jTf8AlMyEzuyoIG97E5cYX23aa9Hhfa/gh+rhMr0p6hG3V/wUX/4bg8BtusHxJhISTNsDu+T58G6+P7cJFXdA5Grx9UI3uHDWFqdI9Ktmb2SSyGEEKqU0AMiIERQ9DXQRVFERKTZsDREnyYqQuzAK/KWiqiIvCLvK49+s1SK7ysqomJ9xU6RIlJyVj8G+727t4KYRiKJ6Uw3iRAa2bRlQiZEItHsW/vD03T+u+jlcsnF5JJcVJs03iStI4UWK6LFbFo+M0LKTNmHjYkoait4BVakjq+l1KiQpkOgZ1ejQ422tKUtSiXWioidPSUhIkaCIEQiJCIRxIrZgS6Umqtf2qKtjv1Px/y9+msMz2/q/7lAgHjTWFWm1u39lwuknXfinuWlXXeFXDRAULlcJHiACBaVSpLG6zrP9pfj382aQdsZgpTumfvX7RNCulCnLRXfvMwJ+YXfUxXkTPjnn/182+cl+UV2VSRMdTuAwgDh8lHDRrIjMIL8qBEeMNcHvm3fH+/WjbYKuzHASXJESqJioBVY17svf6PqbzuK4d/N6iGtj+iaWFkz/5I7p6zJuXQ61p1ScwoePIQQgkYhEBIIwQMEAPR8+/VWPTOJIpIZnRPLCgkX7n+LqGKXJDBIYOoauuaHLayoaOIjGdjlV6MOfAKzjwhVNzQG8uRBYAVG2G770u2fvmQSp6bxI+T7xENyB+QBe8AeoEcZuQ+kAeuBNUAPWC5Q9GWfx1lOJY/yDoxbtnO9DPRjm33JS4DgNZ9ZFz3tVZR+Oa2onNy/uJXaQAMEgOdzqn9JzlyoZbnAjsVZJcsFBJQRPR7+3U9T2ylSxF9XdraQNyIXPyBJZMSM6/E1btLkwv/za5LnfprgMqmiIj2Tlm3ZuArXd/NTJInsditVbStcBuZmuh2o+5q/Le+s6Wn6HRGdCSs788v5/j+BxKuXa14CfoTIRDS2lRoVt+HWDIa+ViyxC8jxO7gBW/OIoGiLnaEaCsXU2aW+WOJz2VEo+nvGlPjd/j3RNKHmv5gaD0KBXUYZRsEehmEIuDF2TFNM/H2pWtf/Gh9kA5phEeCu2FpPaNrLnY+JkCacQbXkCSnd99xAEwa6AVINiJIBUAGkU4Myxx8UaYPksMwGFGjSKVLakO2sTfkDlGpalDzVJhVAOVGaqPJtYqA3hHCL8bS1p91biOe9nUK+7Snkw+m+x93rZXn+//fmbO5s6ij+etAlEhlh/sKqKS05REF/DrprzauscSBjvAD+v5+m+OmM5rkr2p9WEdv5sgNIAA7ga3fN3Y1SuiawdVQqlAsK8gQgT1AHpHVcAQpjISAAx/+cllRPT77x/4su6bQ1zlclIxd5i51a0HpTCwsK4UFHYADC+WmtX/2Le4iQCUnMG41QmMfyvu0XQ8yiv5WbO/8ijmop1ELNs4MdJLETVBI8H960wDp7QLiL8kmCA8CPYRj2l6qfLR6BNyR/5kVeCKEozyFWJ3cVsIvVYrFYEUzzQYI8pUskpR8yJQetwH8GeSGGyjFQF0LsfOXVrly5c1V6ehdFFXLfmIf+l+/s3iS0stDloIiOcN+q3Ucdhtaqa0U4MBYhP8Jx8ECgLqa7fnPxCKfgAxOkGc4hlEASFBLH+3xTZ9v8XOc6hmIrhE8c8ssqm9XruP+Qa2oewlIXHDK9wBLCOBOecPNd7o+pilS1stzLEdZ9OtYygqAgwlXJwr/bC6/nhumPhSelkyKhBBdk7HPWxMpSrcMGsGGGxQgzCCOEEI1ohBA6YRzfxPl9y2RNdvv3faPQ77zZeW6nHCQEEREJEkQknX0IdYqXva4nCasWr+lFjEq5Tuwb6+8dY7Yf8GuX1ae/5AEBBTmWNsEitkz2kJfKUKpQ4/X//dLPi8Gk3T2+ZZaNLIdSawnBKxJFQgjHOvM1lqqKI1Neth/ZVFpz6cNukFF/QZG7/ffQd4HvIswRhVCRs1CVR9Bjz6GX+qBBOhiCBDA0MoCRoAQwUtQHjHUEjEMGmOAIMOHRYQqrh9mTHmZ/RpiDWWBO5Yc5XQjm79IwF2uDqWkEldauwHTUgUp33SiIAKsDi0NsahpsqOGu1Q1hbkNQbkWDshFwCnAIsDI9iEDggQXOPtm7vQDyP9G7f7Y+9Uco+35f/hvvxaeBOeAe8BVQIAKkd761/u0pr4EC5AXBef4Jv3BX5YMrdv/fntv3rzjw+FMrbkKPvnKL8+Ss2yrvXH5X5d3L7x1/7/J7V967+t619y9/wFzrrI0/uPxhZX30kvNS5WOOf8ufeLisvQxMT3+SceW8K5VPLnly+VOO64broevxZ21NrqaspmBT5fO+oNGKHwAzshFCBHGhdDGLTbIkqN+rVUtPnanehoztbX4LDnwYRsg7nJ7e3O5O97OLD6X00c9wSAOP4vjSkvmmO/3zkzm43GqWP6fTWR0xUuSYKIYBa86TTyEiarHkbGOExU976TuJWFQmOdOY+BzOl0cycktZhDqgD46jsLEgZEEYhRYehAy2sjksbIUO+7URjkhEI5ahclSowhWtwk5PzjXn//QTtXTZ1kFMbNzlbxBNZ3pTSr99G7pYktK+O5qgBtbtcGNhHofHE+ydhAVbBIk4MqWyXWnKUu7JZKJUmtjOvegIivXu6zsL3wGPAwAEoE24SCKtUzsbQpFUh8Vm9/j8cBjDE8k0STFslsvxhdJgwvN5KGJMorKq6YZlZwViBaHRGsxWRyhcINEa7aFsDhAgHQYdFQRgbxoQYFERitD738bp4f14iY/B5WneH4XLC+5sAuZoQOcNUFAm1Cg7xs0ue5JPYOSkqf6Vi1C+GI3v2hwIJjg2ercBtaG5gnHXJxpf5uewRmhJsWSQCMIlSsXzzuJCgqHhwZExCaok7FnpBR+uQxWG6SBafD6UPwfUfNiMH3ni8C5UivfKiBb3hgy2AKpvJjiC/7WCaVABDXhcuSU8D0fg4hdIkmMcFh0GZ6/4Nx//0NL/Xgvdl/o/fPtXfAS+9ri+Oiv5yz/M4Z/3YVOo7H1x2cPOd9ZbLrnI2U/bComrutjZTqugctwTnkMe5bE9FGFX/sfFF9rlmTOue7U1n9iqja3nMt+DQZNpZStM37ahV14eNqdTW8WOpiRGfInEHq0zI42y2/K/TWbYIc7yifFGF0EQDrb9bPk6tzrgfOXrtltrqdTdwLeD3zXbRCNsqqD0sFkdS1ZO13RB+cpYQcqNSytCVSqQqFizFS+PTJIIZnopMHqFFnlsoMG0u83Q6RM0QotZQzlTmNZrOJlIwmkwm7EgL1ZZgpHoryUL19xpef5XpYpVq+qG6qiq4jqqq8wFSZ0uzQblYfjE45lscxbjjTWy8PN9C5rxfvRh7CjtSco3lsiCkD5z4ga0a9Su2BojujTIuVGO1aSioUr9emM1TEaEAnNAyLcAatm0GSMCYqu5ZIhYBZ0Yg4BEinZJlRlGUrIK4agtQinyvBsACEeSpeqAztqyiNe24NAk6E39qzMefI9uaAVcVbTyv9DevGWz/kU3hK0nNstO7Z+FwrRJWWLW9zLpWcR4Crd9E15Xz+OhLZ+9KVXx74Y2nOQMUF71midvXjG807SupKyoEX2RM2S43m3CkbgV8131NbICl2yOfDhPVePOWXFLFhn3Xza9foOTJzgQKjOcTZhWDYGp86oAef2Rp68ex54tWo7GuAdTr++81yZwExUeu0b7UOqZwCa+aWayiWrXLvwJf7uhEG30URWB+3bwRRkbDbvvaMvl4Ja1mtqZD3OI7J2DcIGh/SkX/MuaGYHD/bIvl2OzZSx6L+QlngLk1VeGNPOs7eYZlkr6enPTOaVYX246qNY5hIvuMNvMe7Xp/MY/PdufDHWu7DNZifO0Py8e7GdvMpHnFmMQCss4oiRcsmPT5PgitkzQP9ebG4+/UpPxh78OoYHMk6uy8BFZsNHm/4Q/GcJyfjhfo72Yx88Ds3DApGaFzw4mLOGro34kNfhwiLweyV4GloOmDWkLShB29CMIeF4SklM1HdexIkRC9h8jacvLa7bnRe3VEo+L1n7qOCFIGloxb258jez5vvZtDIsCBmFtMWezGTAYMVsJX7LrfNUSb3j64t79YLru5cUH5sQSy2o5MJ/dcPnF5b7E69xbIGPrYo7h75JpfsRxCNazc0hDXryxrLHdZMsqZ5xxe4nixaYYjswSbL1JJAhZW5/pVo4bUY4ZmXGOsYcbLIaaJesN+abkwXl/sIPL4G9CDLry3D8Mxxyf31ZBt0RumZcuMvPR7+M/XZXfhqdlKKl4QE3H99HPg1EIxFGzK5socjt93p4b+6osmW3c114Nmftxv+/I+rSdoxuLwQl0/qOMzdf7r2OfFcDX8GBWMqF0CTPhJIHWu5Mgoiv0ku4p6Sq7SGc+Gik3+Q97OqgvsOJvnlgXBNm6jllh/09lLgqxM+dzr+a/vTwGItvUZxPJVS6WILXSzk/HhmTRVaxzHNDT/vDl3URwqTYxDx7ugT9igPsAXGj3hdbUMpRqQa1XTsiWbvqyvcyqOjn7vE25N9nu8hgfuQgVVaJCdKlKFCfmZzm1PAayaUomkivx0achqFcVi67u9UdOqWL0csxnQkEIlDWfy/MTBc0hzFtnKF7o18mCfLiIPcER2D+f19iv2BeavAa7/SEe8koirLipmRtyQOslMeydafS9cLw0q+yy+rHXQ57cscKJbr7IHrZhLoIAujkH0ebqqx6sGSCDKx3fJvvByq1d0/ogEjg/OFmq+ZRWLseTxF1tbUrRQCGdwOV4Aqi3/jyH31zAvzh9SKHeY11+87s/89dhhPQkMy2gpkWfFmNaTLrHYh1D/FBPwVYAWHwjFmHwhctsDnKJV0R5vJ9ufYKJ8Lxl5NF/tmlRH/CRW1iM93b/Ar/jHSJ+e9CRn6LOsIx31Sz8O77lG3dDE7rHpYvZULZMMorcaCGoctnYkku8CQ4MJholbZDqcdbKYiYZRW7TQsSrgmyYIIvDWrJBhklfksumb1J3sGf1jLGvDYW09mFEHK9B7ilGjsUmlpcuQxONYF/l6lo7DwPY5Y5Pt7coWJ+sL72jyWSAXZsCZ0i5eh4O5usH4ls5cCXu2YQhpgvt62ddyNLggPChj9NG0xOTLzJcJRjunLj6YdBcLlJUm26+6K7B2rFp4o90bg2g2qJ9Ujyn+1nALJjjQYnyJBw6dmPkjI6QDzPRE5Ivt5AU3R0cSpAMwyB7HG9U88DT/jPjqmEm0zybZ/w8luTP/pUHxUjbOxJ2Rq4i9H6Vw3cT8yKK/HiSM8z8WROAYrlMG+A0Z32fvocv4ahfTogMDbXG5b36HM4s9Jwva32ddsFTsXr+QqncGP9PFFuhj5AASzMgZsSTHrWphoqWb4LtCuUqstN6e5y1aXvhKH9zg3q1bCN6r9+i+l0fITCidNGZ3tRaeg+R61eQoYHK/Nc/LkRlcfkVwNTuEiFDbbBf+w2QAmXNvwSCdX7t/cNQbnD3nqzAIT34LffMLoOn6Wn3jnPveJUxiBnIvmMakw6eEJpQXOSlxoUDEhey74dwn0NZYeFCkxYXacE46GP+kMORXlxK/xQnjy/umhEdzy/ddVISi7+1O7qJUO7zL1Y2EMqMdEh+aWhavF9+vdHXVa8p7WLktOqGlMeptrLvPa8oTjAVTdeertpdj3XpKwgxXnrstaYtez62v4UYRqzPgd86TZvjMgnXChBRmvMg0lns4xy3PU7YPfwpo8tAnAWZwfycJK5F5J6Er0TCbEg1WLvJv+khooV7UMrSHMmV9pkYmBvXhwT9ZY3TW5LGO8KBPK6Afv4qtaCln4yELfw91hqEvtHc6+7yYwye1ZPMpsbNB//77n3HPPlaB/DXSaCXZRqiDzSunsKvpzUS6AZlGw8fRuvPw/Hn/cDTJleElYkhkoTPvNzkj2wOeBHEM9pMVdwlE2Dxlg7xQxG733+LjTV8m+nDmR/G/MJxZ0/++k/8uVnaIWRIWUXRHs8n2JZUFvyGW1zwOeafwKwbg984nXMEZ77vJ4EZBdoVsC5/Uz/sJN3H6wpHrvUlrakWkzWNTvq97ul+VVp+0q990kLMUxL0VDj6g0o1WWtRyTdKp9nX7be2g+bDCIITEhnjDV3/uGYdtargr7zznmjol8cjaH/ZWHFPBBCuV/0UMDL3l1yU2lu53YWNF7+S4eNmpScWqAhRDFxsQBw7JHFAL6pH0owoQj/+UZg0sWDTpJVtU+NJmpHAn7MTcWp+OZxbWSHP1qXmXVWVxrQpQkAakwvLcYIp6cwoMmcK09NDTM4xIwNBbEbzictEISHzHyRmuZSZ2eig2fmok+ZBd+Y8lga9tMAAFmFgcds7r0R1EZG7qQgcKju6QxIC5JGBeRTgGhVYRwOKYCCPAZxDJtiXZMfkQ+KdH2Yk0BkFxheS0WDGQMcfg/IwrQBpQpBmPNKEwSaKoU2DynRsqwATB514MDOhMwtxZgfCzCmLKEmlPzUv6Zv55eCyuAKCLKsIkxTArMC4xzHpCYx7EpOqApLMtDBZBTqrwayBZC2YnF6VG3atBzobwGzsqDYlWLcmppd8oFOAVW/AZhuy3pr06r6ZDbBsG8Pajk0f4NSHGLaDIX2Msk8w6rO2szVul77Q5AAKps/idMcuNw3zuFmETKwvezakTFBUjGJWWQ7PjGLqIZh0Ag4XrtarKofUd1VZhPGXluWHJYPPDSoMTxbmayiOuKg1g2eSTBgPcb2EC1f9sVMEdQ+pOEKPiJgeEWGxHwrRWU5oMISFISxWtQ6p8rK+68qG1HRVTfoIJQkFfRRrLhh2Me1wzsw5MiVnxXYw7NKAeZOJgC/uJhBYtvx7PylyOj1znvdqfonLq/+CUruliObVkTwIKRQgh0KcFt/884w1pM6Qv2DR9B5lv9MJi880OPmTGAWWB5bZAmjZN70o+3WymLd39LtLkvo3D+whMrDPC3xiTVY4qGEOlFYIkzo2BxXhU81hirs+AjNN0MkG0BHwkbvfbdjJ1zEvDg79Jo6Cw1YG1g7/ZNNn9z1ueQqcsi7MJXDy2qgsHnq3VVZRZvUsQahYtFo4z5WQufqcr4DDF9+Sl9k+D8AOvLsSgJO+jWy8JUD+aGD1PkmfMn6ftvGPFPvwN0WVJjjhq0FwABJod1IJtrfj8uq973PvVigbsvAitAw/vRjHlYgcP0kZVenUXaUVp6mhel4iaXXJkucoVDv9swb2zqhlT+MDkscxE0FyeNyO3X1Ixg1NGK5lEInXovMfh2onMXkUS7AFOZDb/9iQXho5CeJ9ThKNWpNoWSD3ju93QkfIKw0UEBoCdP0E60XXqqDDHlA3xOI5L4RdYCChSDgOCI77qCHDoXJu4/0yzgFsiGXKfO+tiTUPSzak2GjYCPiKcuVVaKeeHdQPdrytNOxaT8z/yI+oQOsVjAvvO0xmDb4EzjVIAjOEq1gaoW1t0EkHme/jh08HnyIHXRF414zh/pBhrTkQvKHk4vrsOLC9BNxx8T8NS2C2XdiU7E+IQyWUYa+tttQzTjNnt7LWC9e7pfWUsyKrq42twquxPxr7SGbsfvV1a7wP93fEnYzWZVC6u67gPa1Zj8UgP6AONLhVWHZ9/Sleco3mOW/x0Xhd3sn8IgnfzgKsHO6rqfgj2lYUHJrEtBA0C3Okbh/A0eLeopw+z7TYFXnMIg/Gj+TuXLYD2I9lJUfypOd4riONqU2Vd2X8k/vF7v6m5ba23Lrjqq8fu0HFH7nk17z2Tshz/Jz3S+0aA9a4oDM1AcWaKXNWzLLOZVHsc53inwk4FeqpZ5vr5PhaHcW91ECnWuR6OmR9Y3/KVhKt8DdYdhK/e4xxcdH93pi2XenKsj5Z3LVEyUpuf9V8xpZWyP/aRT85mpTClkMAE+/1NeVFYYmSiB6gkg6+tP4ctL0tPLZvMMnA3/oucglcfkbrBOIVO3E6fNnnDNp/as09e9wMMCnHXz9db2hoLJZ6wkmhU1sGOak6q01Cyf64r/eXCXJKdp7Ft72r8gBeQqBWZBU5qpK2vu1DGhBl+zbTImFj3Cj/CvlNQRYdK2oK/4AZuWwsrlwJ+SdASreBOgMvEVfR1LK7ay4X1I2Nfjb64PFaL0ZqLAuOh/vRAi6Tq6lHgU9eoM5YS8m69/yxDkBehoBj1pOY1t/V+3Uwb5bKojsuImX0i3ZLLJahuNxdT3Kn/g4Kp9r95ncaS1ygnXN9jSPanz2GsfNveFzwXB4wJfUnvMzNBAmqfrCihQ34sTyg7fwmy45ahgTlDz8LqbF1oZQw+6Goor/OxxbgM294ScsB7V+Gwk6dPHEXaoFtLzu+FPjLbmuSr8neSSfwtB5P+9WVSoLscOZiKQCt7aGlFp18/BKkxQmvM5hs8vX+6NO0hcIjrHvsadflz4s7xUqjrYHtPn4C8Ve4OLAu8xdki1ZoHMSLAk9q83qBrhrgSF4j9p1DOMKTdcBc6vGzePMaSRvR8LYkmLBnU7DOr0CYzxmeWSEcNL4H87yeE9qqMAdzHWZ+poQ5QdUCQA3jwMEjHmms8zI+Wx+SONG8cXVKtjgBPzhKAzc2rICvR5fFAKB0nub1gdftYfFxPab0ZRSwH9yx59qr9xuKzIWVoMTkj8C5VUuT/yy1936dEVzUo22lqVN12whkFjsd1o5AlAcvplEXcTVHP6T2SJ/jIOkSBodKcKTNfQHWE3PW89f8QhbRUwow/kXdcUBqgTQw7z1bUIz0tigpihnsTwdjt2VnbdquEfcxaxDdzlZodSK6AsQg4G4D9ysA8f91Qf2Bq7C66Y7nZYxqfIDInFidSS5nd7HRHeN0ySkYyEoseFj5KSUGwkvwFgBLgMHXLkw4zGDB/eSirNVpnSgv4fNnlohB+vhi5c5r+9AyMR/RqM87vTOWC3yK5gwsm9YpK6PpK0TCx2nM8TKZOylbvrJBbZLfSza/YcOZYikZA7WqpEX/WZbtqdU6e7fu42198XZ8hHqI7fFJHJmbsQUUz8gJbR8ZrO58fQmQ2vi8826tWcxly+o802PpRvgMi7nAapSBWKo8ajB/ykvkgC05sD/u65G9dD/emWIKnAXJ6x5CkJ/We38Y6GMYXvFulAMfjO7Ica8w6FeLld+RANuPYv7y95zsWN0AMwHATHJKFCgkAACQHQzMTTG1Eou4wyeAsSZELefgr2d6BorScAwyGzRm3djXxMcb/LOiBHAtkmwCTXsS9xxeqrzEAQo5h7fnz/TS+XVyQ9W78Ru3jVV+cEyYq/nFxBcYcMwibnH0P7fR371wlTi7WpUlE6A3bD2OXmDKjnslfb9scm4JWWtec+FcWUL7f4TF/l/btcW9C1nkbQeWNIeoH32CGLDaQ6xI+L2s61LgZDASZA3U6iB/iPbAuOvqPM7ExFEFlhgEo9XvMxSE/OHPA5i3bqt79YIDPu5ELFB1dyq69mw84l5M6jj7qKlp1izx36MWTz+AVrQYtwsv/RkBDPlRDUodPwRKweAB9qMLxh+xoytgpW+nEOl44vCrD2QJDrMekP2BmY+iBQvRTCMYY7A7/D78/gbmER62y5TFM8qQ9KMYgui79//R+R5BCgZikAVdQhQj4Dpj0EMy2h1S0OGQiqqOduqdRtecNDftgHZQc9c8NS8tQAvRYNJDO3XcOjnc2Xz31Cl22tMver7vaV9GN63nQyVoEVyr97Cf3KrQzp5eJWkcYtna0Smwe9awebziqFeNTWu3HiuYim6VsPZPRYv/HBgHaMpysIoN6u4Jcdlw4alD64DGxqp9tEqLnXVQixh7bMHb0lq6sX2N6OEjt8SNXezliet2tmu2Qa3a4lqWgBeWtLIVaqkW261X6w4s36LRjQTAs1VhrOSh7bIoBNnI1M+1SYtHbmZLZcdsDStax2grk9qpx17Uvf9TxQaEPoaMASSnQDNiC9lxQHPkDLkYSsHVMMiNB4XhPCEvXuyo+UH+pqJFmQZFi0abbgYUK56BBIn0zLSU0DLLmUmRylKadHIZskmsk8uY1jYC2+2AihxGlChh74hjiFJl0Anl9P3iJCunnKavUiUrv/qNvrPOMVXlT+gvV1GuuYP4z12Ue+4hGjxAeegRsSZN0GNPsZo9x3nhhbFeeovT4j2RD76w0KqNuXbfiPTqY6JfPzRgADFokC8dHedISMA9MlIwIioy4BMNWfAIRg7cY6AQxoWgCEanScMmXTo2GTKwOVuz+8jOkCRlREpGyohbvE4ZNJSroVwN5frMugnjJptK588wOeaCaBhm1DmTpIxIGVFx4EjFgS2lIaSG8zScJxkpI1IyUjJSRqRkpFwY8WZt2M8uvZ2KU1vtJnUf3PRDfz405pRI0mPZqnsGIxGbERIMPfoEzUFeZqcZo5mwIWBrGdYosWyRmKqYtkVxv3oz4mMUcyryaKoRjB3ur8CxZzs2KaujfP27wDZOttsJ7XEYNgprFgghR8JynKmErZpxkX4XNgcLItKxHCUARcyGkjiGCpowfrzEOgKRuIaADeKkTbGsrLHSGIORjzEYuaAcPtl8svlkx3UCJysrqwLaWAAjh5HzcHDycLDFfBonU0zNARMRFRlHYeRjbIzByC9ijQDGSy7Oxc/Lfazdl0wRu4zcXgLsBM7YbDXaKrK8N4M1Soly8uAhW9D/8DBRufT5Up4SyQVilv2YSSKRgIjPAyo2v33K633kqanzx3p+2TRKkxzV+Q3PbR19qkc+LgO2HH0/e7An25pkbmgS28p258KPBPjt16/EejwPAq+M3Z143/+5Wkh46vI/ebHLXjnt0cjFmG3p17Yq4OtCFhUyKi6NqigpTDSuGuCIvRiPSeCgYInBnQiJiElIycjhFJRUCGoaBkYmZjZ2bh5eaxYFLhpCjFhx4iVIlAQJhYuHT0CoTbsO5w0aOhi+s+U1GDFuwqRpM2azEJBFuOAdFy1ZdsllV6xYteaqax5514ZNj1XOTfoDO8w/i7TuI5WOD2CtLWhfElBPRwGNwRLgCImISeiR0j9MJHR52SPxMGdZ370wINnye1M64mmFlX6U+gDevfuSx6/yVU/gabjcu1gXF1DhtF+d8VvImaQh+n0EPSdAblZOwy+CnBxOARVOp9LmV2f8dszjYQ34U+SEKfFTDqdUOO1XZ/zmrHPHdPRXPqrEFR4wjXCZ4jDF3QWcUuG0X53x2zGVwkPFDJ7MkyUYFKEL9Yy2kTNztbUf4Ci/eylVdJM5sNqeu5p7xTzKdl+ydnw4YPP+bylDjUFp7ZBC2zT/Lpq0g33DPn7WMXN9mbW1zA/WPOJ/PtmCqQx6g8zJKllWW2Ot7BgvlSj5syQ3DLYp98H9tnnIy173tWr/swsKw0cQmDQ1mX4JbJvYUgZFKRbUEWSlbwE5sl/SjIHCbTeeTXFLREDfMmcWT+67bzNZY8FjGlFWFz6fhKXaPz6nn5fL0UfSVvbSusQnsEQ2+/GseCGXZCIZS9d6C4n1InImklbQXUuESc7CD+fp7J9PR/Q7aNd0LtdVY7FP19y1fjvY6HkQpS3PUoHHyyjs7nO6nijRrCTIZbNTrOB9YR/idI3fC54Jc2H04S79ySTX3TBZk+emeOmLmL1dzX/uOZ2cJG2xPKhjUja+WrGzqZXb32xape9XzmSknsrcW1TWu/cfyK7T1rWuda1rXeta9yZm3BCjyJ80rBTs2HPgL0CgIMFChBovzAQThZtksghTRJoqOhI6kpgzV87CbHPMlWSe+RZYaJHFllgaz5GAy4FQfH/E8jSZIdcbjCazxWo7xEXP60seFIArgRCMoARiSBxFDoWLUWl0BpPFDofDuLz5x9xxEgiFxLXIoXAclUZnMFnsb/mS9MeU/JBpnBlyvcFoMlusthZAHQjAaSCUik8VGp3BZLEPvXIyHIDgoMCchKAEYihciUqjM5gsdqTSZHKFUqXW6A1Gk9li7bZ5DwXyqKfsVFdicq2RlhRoDJYAR0hETEKPlD6vtxKC4R5bJ6dyzy+HoUHx4YC6KC6ddlnVrd7RFmcoap1TKj0P/EcZdTp4ortnIpl1qnqp1QUnDvtWQZE2UvVvopOmIM4G+86hbfnHnJ63rzQlDRNp29KYfh0SquuoCtop9K1r3biB77XLxtFW+EMCj0GThaQ+tELGOZJxrtcVYhs7cSPeoX722FB+JJV8wVS/w3l+yDlrnvl37O3YdTeiuVPPPPfCS6+89r833ubHnA69vnd9LeOHez4ar3NSiki/LtcwiH6UfO4vvOjtWD4ysCjrzhTvCASJ2efXPX/ijmC3qLb2FN+d/Ag6+FZbfJf1HcNZsjvHs+pazJYTqBglVUhbHiKvT7a+ASm3Vyb7Oyl7uN8NvYAIdF6AvPgYphegm3WJd3b/iTvv0VgW6ed54ykkn59IxrHwQt7tRdjlSW8MgVfm4jzGvvL7LEa+8U95hpYLZp1nWdS0JXBEJKRkhy/TjJkyZ8GK0k1woLz9m8aWHUdOhl79ybxb86a/X6PVzOkf1T+oilQbVEm926vYZZnygYt+8arFIp2EeC7FrejR7P8iUJQoitCnD7081HHIepBBpJhXHsRAIDjEUl6hqIdS1EdZ3HjxEyRMHp4qIkXK1GnSZ0ibLmOmRImTJE2WOUvWbNlz5MyVu6y8+crOX6BgocJ5ihQtByEKQTFA9o9ElAkxyapIwLg5iZi0snymramIeU9Vx7JXk3DvXHsNlxv6Nocb6fA7NWREKA4VKkxxZGHDRYwUPkKUqDFiRoueIFGbuVZ2CBGslSvSV1lTezJWdegQrJvzq41IEhGRXUaCY0HknknsSzGG2BRWlaUvflri0lOw3PljHe9EJzvV6c50tnOd70IXu4QQaNWaj+FkmJhScQcqfxVLklYlveQlZlxdh5kYExoABHnFpIX+0lzHmsZ+VVyGTkiqamWKrDDxmGGWAWbwNvJOuc2Ub7xQ52uvsFX1Vd21agpTXUnGHmP02ZNAuMz6UFyzB5T6pVrXJKRgCxDT6NmNg0WUwNCOmw8UUsgiB9c86AJpO2cWcN9QqLZmzw3lGE8jj9HW1JyNWJDUJpyRIR+lgiQnG8NWKzuPehLVGD2reiMeiwm+nga0iD3pi0iH0nwa6ggrmPcqBqe93Y8EQq1qJBSKAbQEGo0QRTBcvp9vRrHdHMCxgR2OIjFJcWD5OmbYhMSE9sCCDD0sRWIcPWClDD9EJUbUa2M3IUy4hDEjSUHLC+3mUNBif0fTQUGL7GR7AwUtkvR2GwUtJ3KTL9XOQEGLl2tbERS0vBpPh4KWZVo8FLQsiAaioGUqTNgFkg8WwdYEmwloBuh0nENPskYMM9l8byTH5j1tFGYvI5EuZB8+tbg8EsSjnSlNYF55aZECGbj1xIu0uWo2XaOavLaKKZMxk+bRmNtza6GA81NXiQ+FVB6KTg5OPqyF+XswO4dK4khfo6C0u2ZICZ65gm3+fM0HUT0HRZGYm3XDOms0Ei1KwwtskRIlR8PFlkgERDdCz+F76oGxah6oid4gmk8ewNaoGoa5aiipQh+IaX8iLobftiq8BjZQOrcFSqhwG8REYbPLwpVDQgSYs5gNlZmw+47JQAJs6MSjOA6l8YCU5aEIOVewWrf/7YAdonqukKw7iaZ15pne9Zy7l/rEH+uLDEkKu/oCAmISRt0YWf17Lnhq3J9jMCO5qSjP/kP1HD5wZuvdS5Ku3ZGnQ/94C90gC+9sjZMg7hI2k6giViqztZh4U5l/xzFNOkrQZJTjMqIiURVM20NCF2NCJj846g213nVs9QA66v6Gjqoy6AgVsRrM8WZoOhUimWxpKRakNKU8Uv4kxpBdKV0hHMnGC1OEnGyoDCztziQdIH/XlvYFivjnhari11orlFgzrFhZSkE1B4p0ttWMw9CLJpmx6HbRMHOGociXnVkPn+xIWFN9b0+EBYX9tYKiQsLEJCyl1H1ErK2aL7Xsta3eQbJxGRMK0SYJ5EtVjcsl2HxCsm5S6Qvzo/n1dkSneTaffhLKc43qyFU4aq9tNsiSYr5E7vcWbCxvbhwjQU9vUMkJ0eaPKsOEDPmtTf1MZpXKIMiIvkOLOPlsVREPDjpuTkY2I5uRydgNQ0VZ/liS90lmXtT6SgLVkGG+fGUNgZE8qNiyYEyWJdmSD/kI8u3YbuxgKuqN5NL70TqIS9q7q6Gqxhrfz60oioFoN+vwSsYP6RinqSW5lw1WYN9LE8GTkhQFFGOoK1NtsDg8QhiuH5uSVZ6EuinEJGpjsh3TSuYrXYi5DjUCMmZKpUkJl7nEzJLFR9eN4pGaI1+/w0NrjAPQ4qe/9ks/9qt/4vu+5fUp38vG93zTV37BR8Qg+sfxR3akey/uM5/yhLfnshc51xmO+/TSupMd52jCgZU2u8lFyqdn2vkNLLn6lS1/aza1gbWtdmUrXu9alljRokISV1zvi1L+Y7iWQMz8l2i8sUYdcZBUpSCZEYQebGLjiiF4eIEFOsvO2XaZL7nQWQ6ZstEKE97tEudabK7JRhpumzWWmC2g2T4VxeqGmM4pV3H5ZJdWUmGqlkLZShFT+FekfGWlBEJYsP2HPMO06D80/UOJ0E0zlRRyD9WUU8JkUokmgg7qKCOHNMfQA5WabbJIoZo630DJ6isrvzVNNVBbtZVVXG8tJSoqShOqN0Lo4AnEntVEX47yxdQRB0lVYvHEFFVzuvBIaOTxWpkiTUhNkO2zhYU0u2xUn6RGlYrFrJE3okeLWhVSrunRokaZAtmEIwRfjzqJk/l6mQmU7lOYxqEI1oyaLw6Hw+FQFEVRFEEQBEGwWCwWi8VgMBgMJPqhkvuhNmcjtLIWZmZmJEkCAKCqqioiIpW1HJuZmZlZ7kqTSJIEAEBVVVVERG5EkiRJkiRJkiRJkiRJkgAAAAAAAAAAAAAAAAAgfpIkSZIkSZIkSZIkSZIEAAAAAAAAAAAMPzH7JnPKhO1JnTxJyVFDh8iRLlmcaKPHPIlApvlnvFeNSjFW43uuY1tt7vJyMzYvie56minobFVVSliP1wCPPd4eTwchIQFBCVaskiRJAADDB04HrCmPLOJ4YwkRUVCKkF4F6Vca/odVo3q1qlYsYpUxPZpUybimS4O4PGHUIYPgwcoqcQJsmKGOWJQ1LvzjE/sLRX7frlapmNUm9GlRrcQNPZpUKhAhgP+AhwTDh5VlInV05N1kieHDhh7ZBEwrmTUpIqTJeQOS6pXJt8aUAW1qlSnWq0VCkSgh2IsADU4AO6tE8WJFjfgJ/v0YHkyoYNjAiw0dOAJQpGHgE4/32qfx+NMEfN7s6x0/KP2RHeqUyZGGA0hkSYIAYWKeACR6ZPCpIUUAG1pkiPFigUAEigR6BRoP2NerK8uKd2/blB05X70/dnwQr0VivNbvt+myqEbie6JnNdL/3X2/RiO0shZmZmYkSQIAIA+TJAGQ+rmg1hBhCs5MhwQDSLHShjgSyPay20szwMOcRVsU1ligYPM/9stH2wDrcCfMv84c+XxTApJrHc4U9uXjbqJ/4DpAlDF3+XbAqDX8bHrUXcLISIuH2Gpl2TuvhQ7kQZ/YKiuyCVzEgSwdYitdjsHaC30eYitcVGOkQjVDbLnzcrRIqGyILHNV+YriiTYNsaX04EegtXDQEpnMT5VKc5aUSgZfBV7N9e8LF6mxaLHitZYoVbKWmmpm7GaXaD2w2ERx7iv2+qIShBtn/nM2b6j2ehFgaUYdjUrY57FDRATDV81qVDmqUI4Uc0QJNYYrvMdgkVGSEcDEGChcQLmgrsKkXdBWZTKTYEgArAbGRKZAY04SIafJThNkhZrsIolAlAgWHZgpTpRdLFE7iVrJHAyAPi4ckpDphxa6mIy0bqJWVGCeKv4w08vifjJrtuw5InPmyZuvhtxRuRA0J1QAidiQNKU8L9aVYe+mquiStPLEyMHHQl4IEqRN2eG0y+2A25SSxKI+rsyFdefZ8yKEo0dJTnTeC5joDOeXJT6Nyv6bo2ayXvrlXvqhz/N++WLP8loehf7adNePR39WU05p1P4I82Fs6Q/Hy1pdNqLbz7XsR+5EsY8sKLP7gc/roZidHtq8mG31IX2/vrwJZoG/HjcNsIAXOL450A/68hngj3wm+L32QMXTfq2ng2vfZJIUNJGOus2eNqxGQJefzlvEe+hCyFRM7tiZ+EzdjAOtE/E5rEM8EO1Hdc1meG/Wwv7NZ4HJdBoN1bjQ6uK8+Lm0dTY+bobUE8Fs9UwwAPrvS5aj1hmmgw5rT2dyoJmWw95mYsFOmsT8Zt/ENzLOCwAb/CrFjtQzgI9RDbCJfBrwa3oizd8yoG+czX0LfRm6OJmsPmWUNYb9M58FzGEG0PM3N/D/idm2Mq25r9pHWopbtYWfOhoxyxJdNUT9FI9M4+JVUFaoDEGq5ESvCpIWVbm4hTT1iRoVJe1KilB82740Q5J4USYKNNZInoXR0ogs0byRJOYym1lnF6NS9y0XzR31DVhYdkRagI5nvupENhPzqPhHM65GmFHFpFRNm4lcrif5G5jLNXwzpilSiWC8BdQdAgUrBAQzuR4wSXe8hZf1qd5E6ZpAJ4aESb4vp/iZJtQaZ2PTesY0R6fCqObIBd6MOMYZU1/twYU9K6bkPB02vO7mId/c83ouocMwXG1o1cEolavplFdzCHXsHyYUXNZawYZTyihmnd9mEeoMwQxTs7I6WeqpBnFjV7QbIF2KfoKSjIgRQkHDwlSiqvlfeiH0yMgZMWHHkTM1H75+4C9IlOliJZhpmRRpMqyjVWC7IrvscUSpE8pVOe8vF11z038aPPRYsxYftGrXuxUfS0VnV/zmbKHvCj8jUayxVBhgxfv0ptcLpn/E9GRqGv64GuBEJ3rLPobOjJxybhWdon6kBnEdO+Pc580IaOsDywPaseJCg6jirRibhgk2vnh0mCSM4KIRrYDsGTSFEJ8xplEbwsAq+HLC3hxG68JW32g5se3sLFIQiRJDU0YDN2U3ayYWO5s7UG8SDB2Ehxere9GxxQKz1k/Jm47VPaqnid0eZHmxPTh+r9B09gyp+Im1jZ4YRhhiFB/D+2IRGFvUzoqwqBztt8JUYDsWKjNePU0+OW3ywYBnSFWsy03WiXv/OUuiI4tC2CI3AB4psc0DKkqkFAQ9/eB6fNziO4R2RBQLU9kYyZwtzjD6/EkRpixNNoSECZGhPMgfZ4yxZHwadyl1diTrB5ITUKA3FO640OyEDSnJYnq9w+x8lJJcq8fYQsdz9vJDaq/wi0guTBEV1D23c4B3bIiKHSDIByjg78CNwPKM15E5zT6LbPfPlt0vHZ/lCmeVdb2L3N41s2X9v+mdqdM31ow0oY+a5cXHzj4h23ubNxMNn1nhZp7FfZFz3Wv0/FDh/OQsp6em/5P/vbnXF+xa6NeFdG+6efs/d5acnc497NEj2mcVvOjIyw6+rvRNN989/5Gjn3Lwi3Z+zabvyv+x7T+x5ye0P1X5U5d+ZvfP5f1O8+w34mPwpfiv4Gm4JMBtBZxdFi6uDXFAAQK1TmPOsxBai0/kd6m6Sk+H9v983jAGGS+c8JhOm86aVcz9OSdfkC+iLhDfyXtHcTFpibpUsZx5af+loiveKz4r+DXsVejVpdcz1iPWp96g3Yy4XXpXcX/j/v9ezkPwkPquYiN685nHHm1/af5j3kbHFf+V8DX8uui6o0nSJG0OtUraJO34jRWv5b+edc/VueE99v13P6j24MGOB6f1fPzRJx+XR9ZQPUStz0s4/n8BZLdNw5kk8fihdcwFfxjKuZliqK+2Xa3/BOfSGQA3XOlLQhSz++aLg1mX4h9bddqwOJKLz/7ZB+65Me+/tdcpMGDYbn0OeFT7lK8pKLZOTA3dAz0HXARc6vY2O/a4LR0ug9n0fbBrYPqzRQ3yFKCdudkA1iaBX1p571ueGNgcueqVTLkBAW66KJRt2AJ4yRvuWAMSsVuebCvNES3MWJ4cGaMQJH4AAQJBdlpVPxp3XBGNOyz7G7dfKjzb1Q81xIQKR/s0bpNt49ZqqGErSY8KSkaRhsZ2Qf72ufjXDtVe2C8WGZ7qvyvLy/VVPltz3ZpuJwW1hy5H1+9P8x/ed8+tjJKtAo8nN2W5vPQts8v8CqJoSkjZXSQRB4hDxGlCRigJDWEgsogQkS94XW2rfkf9s0ae6d0BrM2DrxKVubPy5RLDwwBVKe6kU4SEwJ+zhwhCnfL/FHIZjzT7v8PPwnL26a++RjgIO3E7gF8dTIwymvD+SPjRTnoMX5qelA5PLVD/FAz7imdqoTs9T2ZXq/P4I4Kdy8Nu0+ZrwWXFNtilKlr0hYqumqpuUUFLxv2pkGANfU/eOejIyGd5bbb9WK/+uUSJ1vKbDc5PqDFhnbSf87WV9AHngkxwD+8lhcaLVGUP49AFeBweTSfqqi5F31WftN7k7a4rfR1eRN3X3Upbfd93pXRt8X7i6AOfwtFjyJQZc0O4GsaNS/eNFSxEqEAB0Qkyy2xzzJWpX5PN1tsg30Z5Cvxsn/0O2OuUCqf9YsAlt9SodcP17HLTS6+89sxXO3SY6k4BeE53Pvd0NZTubpZXc6gMlkYgBSGuMYchCeRu0GabS9AdLNWt52D4otlGsjm2xd3YDn8z20s5GTvgQ7Oj1LWxU1lA/7vObQOUEYC2OECOAcu9BWCt64AlDwaLNgAsCpR+S5baTGpm55Emeqly8ikJWYpDjzL4raqTufMgoTw8EXoE7pvsNnsQ6y3Wqd9AyxlwsNHUVdTrsdm0SvrflWTdNb+MmUBJBAEQaj+ogpCg66vfMtpBdjMwIlCrCb3CwqrGRpMjPZdskk2KCQIkApKtxIdPoFEYxXT1kk2lqXYwjeYPvy6uoE7ZMaPwzKTuLY0WE0Ah/qKoPZARVHPezHc4CGBN0ByQIESbun5x2jEKGejLKKWaW0sv1uJp67CZpXZX/k0ib+Nmdsib5wy8AYeHZp9cm5HTCfFlN2E1Ghg1hoQnNhhvGTG8WUO/nb1Jb5fZFjvbvgMrAht9wSMs2jnbYuWXnvLlhY/p+HTWmqjCzNnQDVvatpPrmYix+/wq9nPl8Sl2fPkYY4cz6eXU21lpzT02IWPMlUBye7ajkdPAixObr5fe0qLH3HWJgwhja8dtaZHIPIjMsyLvzOWlEIKHZDEHXE14SUWYLSVgZCA0DypgcuR+GZKRXLKbbP3SLOwo6qOGu4gKAyzMemXIJwrHdlFovVOhE+5B7Neg97YjTXqdCManGpTDJ8E2rOHa5G8Yx/7nTkNDU58PpDbyC0S0x8mGguWuLBAbvwf4ky9M/AqB/RM5EpaSWH6+NimOXbw8hwVqj/2YVCnNjtLFlOSlstRGERlaBAfiMA+1kAYOeIedDd7cI2xbkqjoVGHbuvqTqmY8d2+YigfT/RFxYNWgbPyUh8q7y34hRfehOvIfbLrfyNWzklQwqz//I0xvc1lZrQLTTK7uVOlR24Nc0XkNU72Vp+sVmiX417PB+mKfzCWK+0C0exUWeH6pLaXiW6ExEmJciGEJcrzRtal9uf60nXuCZciZ0idrWsu0nqQfuyD/FCJ2G/tL1wqHXo5iirVzKnSxiAVawC+cTC97wfqV6Gj2oy46hV9wMxdNF9KgZhgajdkUozwPPLmLUB7LEPpQnVL3uAATbbWd9T0Gke8R43X5ODOjQNkBCiE9A76RNcJbEK4d1m0Yp7qUy2owqwO1Kp+qD/hkolKdSY2iE1rrkclKKnps5nfNuvwYAhJO8dM3Sdu4glOxUd0yX2qKWDgYQD6n7uPXqSetO1BrBJWj2fEjpCdgcEY/LJCwpOI6n1Mgj244PvFwdds8zcBirX0svsQ+WUYi64B0xwT6GFY31a1tZLNxkhCxQjUdXw95uNGTzug1iZDZkgZygzdpzgebC3YraJ19YndCxTKNWlt7zWC3ga/d1w2SbNYH+cJg9oDaY1SzTOwo3VCXEx+OCod5HiZowbYDbrNLRUPMt4ggHeXVSwTVtJ4p1jb5VFHwyjVTi9E1xcQOpHVmAx5qwZzjSP3IxEcxl2GaU9A8U5qHKMkVX4qTePdMa40ZKB2qFri/pY+c8SLe5WdG3anQTwfv8yFV+57ruL0r3FQLrG/vbXkO58kEdVf59vBPb+gMXUFPyyiYxxKEUIAe52ZlIkI9UVbNRuhYreO5r8WH+/VXCJd+jIWdiWey8MxBh9aV4lTkGl8stBnKLkERHRTRYmqbWp+5pZp6V4+0p7DU2ehy1kIowhKIKlonto54r8uqXKgNwnu1JGfV0znxiZ9J0zjF2BzUP7VyGts95DQUILVz12HERyoa8I78Tw5QGCiEEkwn7TA7Bpxq+XmmXoJ8hd+npBtShkq8ipG3rj/mrtuKYsUAUEv2rVrMdHkSW3lUPc/kc9EN6IN45GlLjUcX+ujgzLvIWILIxJU6pjnaO4TQRz/5i+lIEEqs//LUCvM2Muy+lU0CfkhrJY1uhitEoW5ywz4d+sU4mtOOtjmstOUNrxt3ROqx4VHn0U5BxGGl7QlJBSLAb+iivGxwHqS1/W/k0CjlbtBwEeTbGdejb6usYkAiiXy2Hsd+3/UxQy35VVMf9wcx48W/GQ7N/0NiyhcPyDH4yELoOR22XJu0I/kCRNZM5jsdQi90TPHxjDHRXREcpNvZ/7d4N0fqN7osr+D3CiNbVmFGWoti7vIJwFwUY3V4hNqchCTeGgWc6selKL0UsRPII8LIdIQbyrFvV3Gdx0ZBLUtPWOfjT802eHrGNmZ5ZrqOAqt7wh5rICFujOKOdXT1QHKou5LlzHq0uRKKKFE3FxrR5/Q8n3Rt6FugO7KwmuZUkMaa+ltvf1Plnhkb5jtfegYtyTyWEiUopoeXnG7yPFW50gzGzdSknXitMaXHJ9SkvxJc/VWAE1c5cY0T6O7ttf6G6X6mNaxzaa/T7Rl+w3fjRDOGcxflaOS8CzSx7j+cKV6RcNbuSY39gMdyaU558rOKSU7MogfSCsmjqWagHjOIvN2q3yxTLyB52OTaNNmNqWc5E7VhjEOXNYMQAUlQloFf7slEJiuYllzGgb+vFwq7ta8Sl/XPmfxOKn/PjNCxPoiwr589oeWWGn33rVp/UgLvpzPyqeVr/ni2ZChNCq1g4/3Qy98splbAIN24gH8NjbBwL/8WwtCI/boQirycHQqdNjAlqTqTVRnMYl4psGAIJr7RIXynCWcfti57VYtNBqqABwoPTXPmSa7kC7WtR5jAg5zi21vB2da+EsB9tJ9iiCu66wf7PRDmJv6gnJr7iRCfiZ9lXAL56lCvXzo4BxNa4z0TR+pVq4jqpX7gw4RLp9KcmsQCbHyvc1SsigiIxNkaBPCldmcSZV1zpzV8nugHXKnnIaBOzTHDgA4AXBv3iMQ+X3jEVfbjlt0afvfVemzci7Y7fvsldyYPZNqhtL1bqx+0ed2xr/+QCmEEr+yfcUwizDdxvr59cYEIXHf6Zrhp5m12c2vWDAdYgbKx70coOveo+DtjaATLnXDv9KP3Gu/6tRttye0JEcqON5rGTXjz7GPGmd3b8eeEKCrCss6NElV02qFNvpqKVzk5EzhZK1DJlzvI7i1lfjqz5ZKj723Cgn4CVA489lfkzHlKNo+G+selhYuPuQ/t/3Mx293vqHDwLjy10sPSufPnyC9IGLAPZOKbHpDzZO/+W5B1wh92j/P1yhWMl2klZgBCn9o9sFBKru6aBrdF49xgNAxS12RqNBDU5KyoARszEM11GYjwA7XJJtypJ7sAfyP6OC8ZyuqjWWW/0x27fwCPM/XNANjWPRtAnGeePTWg8os+f2YESJC0ula19v9GHARn2S7RWpIRZz5E9v1vq2t9xT7JYaQEaUz68NXoWzVeGu2S9vw/UrEEwLye1L32xm3cdr7+5CEW9Rf4FZ+oVfofbhTnSDWud+jfIeANulGXOXL/256Rnu+fjbQA6qQ0389mmHt7pnrAX4DKXjpzV545VyjB6BUk5G5HnHUTX3SutFg2/yp3JnNYPHXUnEGhVDZRJLl9RKYpkVJCy6gzd9BB2I+C1YCLY8nffjeWHLC0qryN6jXIF5xLVpyoVJWCYfYl1T2rr9y6umLY+myTmWT2U9CpaifKyh6lfL7XeBsNzB+PiC5831RqvTivBp83TmpGal7CZs9Tv/hqkJ4w7yndALYsF1CZgs+ARh5+fnbk7C/PRj5fuXHk1n9469ha4Ga63LIuDSd/8518Br5Lq5r7uHMm+Zxz/vo+AkWZy6oJYNQ8qavcupZrsH2xudGwKpev1zVdGoofWDrrtOc4n25urWPtSrbfkOMQEEOqbGYWh51vDJ55ylxhNlhaVSV0JA1+K35PH54BUaP3InDZxjxtxeUP/9w12u5x3Vx+P/9Z9bUSwR/Lfn3qmF9WE9fTAbXlnLTvRC/se/vT2uFMH5VXyVrAG3Wxj9pLenXfwIQTsGWUEwLSrExWZsddLtiQ1qBa38JNl80pg3uPcDYg8qDq0HZX4p79VqYttVt04ZzhjGzIJ3vUGBW9A8I+uJ237cyWmpCjEs807HV9MpmsTx/DVx6xUWy7ZGPxY4NwYCUY58bpVf+lseTvvhWW/8WVafPTOsPWlTUjq2Cue1YvrK4YbAuBeN2+PEZ//yNgBy+tHx453P6iRWs1O2VSL35pn05AtMbP9D4JfWgoeGI2Fzz7wDiVNyzRtDGRzQIBsqmdUQYHTCtw772bgy9O/k66ee5F15WT0oT5ezQFj2Zx74OSqROjzZpWLMrAF6Kq24iD+TqV0/O0sAe8vfzctznm5e3669s4GQXdML60D5VWxiAyheYYxt75iPGD4NaB44b6y1/ktB/7KKd6zrp42b5gUWOWtCcyCvB0ibgWJj7ut9oeXSPitubqDNd/+gZs/TRgRDayCWxbrgBqS9DXzGxtbPvh5LOV2/nioel0nW4qPW0o//bKs5NtP9g0ggp/3O28+gCF+W/UEiRqhTGwfdfrszpw1026cc3x+h97iF6dnqccWPsdWXf9SOeU7eR89LnjW6Uz0bvT69RC/MD8/Ws30XH+6LqbeePNLusZ19Tg58IWv71m/w08z+ltBAR9VKgW7yyP15fjQnHx6RGp/6u7JzVREop7GfdMw9nX7ONMfGWjPRsjCBd85//SI4hNWdmqBYJMb0zxa+iHbib1qF8R1U9JOx5ChXx4zc85E1QT/gMfBKGldREoWqrtkpVo54h9g7/1o3Z4eQsMG9GFDwbHEXDZTT7BkJ5USChlBuxJL9qOLPtKh6tfbsVHSnIi6UxlOJ68bwIRIO0omQ5NRrQeqGUkn6n5aLbbHsphm6OTerIbaQQ99vQEyUXsJLA7itxWDMWQkbFxtBxf8MhNPsnXkme0kIcPs7mcRIcC1GSLlH8D3ZFJ60mV6nnjJ4VSTD6ETiVOBblxK6reIap1a6yKDpd0D5gPS13Wg8wWjsdaqtlPTlMuMer82Bwkv1qQnd1Aw+ux6biIDJmE712oLu9quafce9jFkcVWJTYeAaXlchMRJwpxmZwCVJbm6xiMSTESCpsfW8qtZufKrB//PNSX11yMXylV45abC+U5lhz8Rb2ecKVZTvep0JGxAOhrWNn7uz9tM1pPTBtt9K+mblabv4bOK9lHnAhbDifgYamHoovb1LgrxQrc5TZVMSLNnQgPp1weD9tLTlaXsTsCgGa/5UlLmfXcbLnVk+2WQiMBm+Lu6LsAqOzMpIsHXlRFZPTJLHLCFb0ef9GSkyNvLsQtq0vxKy3FQLW//+s2w5aJiQrbj//sFk7ENldznpymZHdbc6IV2LF6iVTalkkxvzhxSiBDI9oH9GSoG6fCeIEAArLFp46ecliX32akmDpQLCTHBRF+8vE9KIfCZd0DmUv6hcSynKCONCOeVg7PrJswNn24OxTLr0IX1D0xVLydntT+99RiKajC41KDd89PV7SbLrzmNefLLCLClK4Mv2CR5chbCvCLxSrCdEsmYJ3tqdO7YVqNZ8SpyyajckwkXm69ufiOqa6jlGnEkczgkzcXxGBHibw4BVaQujoYhT5DXnSCgAPwHR94ven8wGaPSyEZ2LI0QGUvjnsbDXvOASFk4yL47n03DYbDGymZmto4oq7zxF6tqzMnT9uJEmb0csSj1T8vfKetz0mhFCTGFhJeLvxvF2U6qiQeVyZck+xs8SRgv4UcowELxWysn/ysEDbTE0brzz72PmWHCndZUYRb6VArLf1VB2cdgAamYi6O1N4MtSsVHQCpzbCm/gWGo+0nyAfHl5DL/JTH9UuQ+Mu9582pCXsPbo8s2yXjx0Xl7z5MA5qgpl4G0v2qObSqxjl9zG9/ai0vu7QpCxfLpLL3LAV2HTnWqZHkH11ml6n6sNnlrvR+/3x5RkF2bSo+UUjO2Dfi23Wko1OVqei+yQcLz1UqFtYlVYabItV4ud4wJfdxbHeYXT+lyV9az6sdHB5UNzXmK0921JjGUom5RIQanVPfqik+WitnAki2+BT61PCOBTwlHkvYTeD4dC3hdxzpONfdCCQOg+SlFr1DPTLsti69Z1E85eQaeWbFqM95WnDnEmt08RSqJgFbnTu0kBH9V8T9tI+l0VghDShKaJUw5YeDg8VmOjOhtcjPCnx0YEF847tOiAx2H09HW3nQdbKpemPFPjhZChOv1n9xMCvpH2Wvp3t3wr94nvmLtZphb7L4fxRnDnueSvwHz63/YrXF1nz7n3up/r2+wy7Jfs48vxH/c3vJ/TsEQF2sBq/Yszeankdx6B3+GHEABt8B57Q8f9hfYF4ofW/gLxiL2uyHTPdD4pqjWIN/AYs6+LRPodCeQDnA8BQdWMiWrDEn8t7/m+yHznWPRVsvgbikEs4IwzkAQ51vJHRn+jChDersvrN0GCAbN9aALcu3XThnBH1z6pKrmrKSa69UfVVDVbLmBIKKzSaUNSNlVSBSWp9yJKRQeMQF6tD5prH8pzM9ZT/erddz9TE8rm7X4dSa995/OMoj6vXxb4/cstFg1xZ0/18XHO3NtWQQBmVi5GJTeXFekxw7nZOZNN4kB9wXYNumcrBtU9xqz53zBAxLkmuw3WBCPQpSd2y/CtGGOlij8ziC2F+D2JAf04HFgiuOANJAaIApD1//PABrykKFVKmVxGXcurrg0YPy1pILqZqhXcUTB/fIayvz0yuoMaYtTJfRLejIFG50+iHuDrey4e0hycGJo6FmfW1dmHdPZ2AnyP3kOqb9AqwdlnEEfRQBO0rwniT2vJMdr/RG6q7WFdlezSvaenWjDlXslRFjIp+hEO4Ri+f3XjyT/O13WN3epXnlHSowFw99NV/BffuzyftqcXDw68UK3s8/68VqfmiwsKuFYXdlhWHf1VJoyFbGzpUrDLsMMD1Jeoj+o8dHdjl29wd8D06JvndlCwvro3U4OklZGc/k6bEYPfdCrfbWewqz+b5CfamUFdPdcbXGgkuxnx4GG52PfpRVO2tTumaL58qa4DxxO5JTSmMxdSdxRdpBLb82kaSkkZGFZfEsai2cK7UivmOtrpl9nlVjuV2Uvyg31E4rvezFjnUZ+BNiXc3qZwpQFnLabx1WfU/zUFnZrxo2hqQBYtAioDLAca55JKuYs1FetEXRcvSxlJRmDuOYWMLpak8W41oCZ2f38j/aNVwcMbf9yfYwmmyCZKzDLxa0VX3wQRXYUpy2hOnuTd398AQ5rHXjToGx8kZW5exu9bKrxGJSl5w38/+Zt68sEjSG0Ko2Kw3vt1sqPv6ormsopU3I6UxLZR5v4adg1TC+KEyDErA620Tgtr/U0/4fz/VZf54XyHTu+lxedUkrpvTV5LMdty89aFzSlJTOPZCZa3BeNHMlmqqlvIPbmY41+bQ+sbb60ufyE+ez2pB0NYPDMXQQRWJjl2PgMGjqDmTWCkObiFdSKJhCXTyLbXRMIb4jY5UViSDW2Xgjq3J+t+byvkxLjaZkwCz4d8FeXyRoCKNXPTEY3m+zVH76cV23VSp4p7LrbKrTQ5Mc3rJxp6BwBVsaxReFa9DJ7OOtIlFKq4DTKUplHrfwQRdsfLW8n382eF96vlrURTVQhkYzfeeVVVGG0RZyrV75KjWDtr6TfS6/Qmd+WeZ0XXq25nOZ37EU8fHg/C4DEKuNHjHuIham08eDczb/eFCK2O9Yzqdl6dImm9pOCAvrnoY4ZBSXGtNmL8xfAOfMWisP8uEKMR6GNHVVV/6x4AFT9rlGkq2DfJLWVKWl6Q8h3NNY2E6INl0H0qWaT3Oq+gvgWJBnJHEe7IwBwHM+9qSg5KIqk9HSrBWgXvcP/B5EgxHEqSwELziECUdESPmF0ZiAT+IvYIMMiaGbeEKYJew6z1MUn0vmtwuxESpBxin/17MxZDWOhFNUJrCFA0RTPWW1fPI45kpy4b14Iv0lDdx7H1x/OwI23770DYJOj5Z6BIKGotNgLXdJjW11M9dsRC8TdFqPaHL5hRMY1nY2wo5nJWP9UL5CHR+PzC6MxsYVhBFybNkrNpWa6asiTfVKdt5siTZvXBL7WynRO0e4k/+A/xRd5p0NsBNZPKw/Dx8cUqqIxniIOTYevWbmk02r0ryZzZG+NIJ3rgC7aYiwVPMHXogH0NkqMlk3TT1TzIkjHzXDnBQhvNlpw/PqqyB9n+BCYViEQ9XRVaOIQzsz3XJ31GSUtP+D2qv6x+CjfUAwsPXkx2DrKx9/ADbue1dbV65Z0AaFJ3rjX3AclOUDvvbrr8uSXz/Rsr78lqZ//BBe+97Hee7d+Xuf5s81FKhhWk8RqWV7r1miNM/VpHzYUiffXNaVSapwg3bcnmPxaCGSRMtyf/Slnv3l8NL/sWcnHHIv3crwuHAxw+Pq8YPSZWa3e5nPHYtlox1y3vUsMUNDg5/RlMfVaeB8toqb0MwVhZ8rygS3nKQbXU64jciPdrieELmeiN99ugpd2HIY6HXtStnXBdqc9c/S+8dSPzGbpVz/6DOxvuK5eGBUlLKiTwfGSqHuXPk1Q8mm0YSMa/rysnW9etNkNBbrBq+3mFpx64G2Ytt5XZdfqr13D1+ln+n3tKy+uZSruPcABOJdPbb+4ZalwIHoOcD44+wbA4eUo+Ojdp1fD48OA9b/dwvDP74w1DoE4lYDArApUQUCK7Zb0MHjdQiEvHYVBMJ2niAU8DqGArsmu07Dm/jwocCHP9xBStef3gu/JqzEtm3l5XfLTj/TAQyo040+Gvj1WsWUr/d9NZUBT1271XwFNggOz69Dq6zeR61dM1PuJvDo23BNmX2PhrtWgXpLGQyOvToudD+QjPbVgKe33Kbg0ZvwY703ekHR3NmJ0QkQ7yuOrEGoSjEvNrJKrVKpPAlu2DgzNjq2wYmm0aLhNGp0NJUKlxQN/usXnooAmkxRxMJg8AA7MjMSZ0XLxzMQ8uv3v4Lh5i0V7BN1aDJZm8DE036FJuKF/PNbdJwTZjSZWoGkosWfQmMpLCAG0bNxTqd7sVPgG2YC3MyEUWClT4PUt4L17Oe/FEYdcFFiH79zjFDp1jHqBONTrrLtO+PtOocxWoky2gJB/9llZWt+ojW03ottecSoV/2SjdGeLqp+yBOZ/GJb79EaND+pmeD7V8o3Unp7UzbKy0VWuSTLtXkQYmFBs+6WRnNLpyOZ1uu0t8cyvN1/maz+t7r23weuu7xpPnBybByCzfSHXJ/Z66YICyvZp7gK/me16vq6qix3SlDS5SCZcSTVpnOJZXhCGYlI0BhrIlctdiTP2EvyTw4JcsvW1Y2s4frevZrNTc3e3l6RUS7j9eZZPZMVT1MHBlKfVlSQTDKNVzF+u4CoyOVv9mf21w3UZXy1P8I13bXYNcO148uML62ujx/kgt/zBfqx0+u463OYN3xyinPPC96uPJGc8HBOJCzpnAjUuRFBh0Xi+wg3HKyo4zXEMpXsdJn0bBBnO2N7pt3X79pg+ZRkvgwb1wf1pJSI2v2pUWWu8kSMMiV4SLXDZGITzeQcGJwbJl/m7E6zuz5qRx4iMVYSD77UV14qkF011ciuXcqvrFzOz7lWYzIy7E3fypHTYdUMRmRNPoPDLqkaJqOW8Z0DZHzhes7V5u1PUJ7PES7UB3sEigFOzuT3va4nq7aeVZNYytYOo1PvLzSegEAQpQIUL0hmw+19pVU+rq9TbrzS9S7v/J3K0X/4RQSXnCNlNu2V9Pm7puTKFWlKJiM6nESI3OM28KtECiuNT4gullJw1j5oBEbJaL13fmhg9lxAZ5eflyRVJpPk8UhR4WRipI/bIAoqlkUoY5NiFTICyhb6NkJz50eIMxonyQ6Wj4SuWBba3wN3+bb7wM+cgwlslJ87/oO/gSd8Kmjy5PaXsPthBdg2t7qCY//rX7EHPC0RRxAkwodKLjS0dy3U5no5o6Mo0lRWXLdi26IF4APlmb0x4twtuJn9eREkemZCaLg8QUStoNKy4sOCeQgsPhN+aBgUpOR1x4kz2uMZOSisNIVtt3WxvTKDhhPl98eDQth247hUBerZ3ec27t3tf9LV1f/0zt2+ze46KrmtvpHcQcV/yj3a0EBuBfKsoKBz53es/dXXrwfyAicoMZYbEkqODI341X26sEev0p2oSYN4MoVlyel5ajt8PXiTzakJoSeTB3KZnmGxDEQIjIClcQ3caGwiLKg2PJAPiTgVz0o1RVJ5JUlx2dF4YtobO94OtoyeNV4DZulNmOC8NczttJ0PN/2jHwigdwUBbQ6tHI5LCzwdjg0IjGNQEhJ5XMyuBWWLZ4z2Zj3uwIVtr8X9EKoGh9XS6FSdmQBa2SGKg1nMpDOmTuFaZ6qQqo2jS+2QvZ+iwiMp6Xr9Th9pNBKvwuDKGJqB85bqJC4vKZ7BQ0KRPlP4vOQMYEg+tbO1DtEs6AVJtqgplipDh/ty8DEXd/Sgs+OTCBn6aBazEkHISEzAZBl2dOFiAjgRaLqsKTZFjyUnwBAsbEISE4uAkRJweTBsbEQEChGNQCIiItCxIH0HTRtHy7VD9T1BRsIiqNGBRRw7bE5cIr4Uiyunc+jVTSShVZXcLZuGPlPbLbx6LJV3LAgV4IvxxnIlWCQ7OTGBxgNUo1+VH+ep1lcLusdrIbVgywGjo9HBGjpWgWolH3orfzkQfTSpjnK4FHPIkjAUln+UWEr/BcTRI4viRw40IEvJh5F1RwNRmGXfWxWl1F/IZeCbHcHf2xcFQOqBXx/Ur6+0NOIm9uH5pPRqNrqRTWdjGh55YkkVG9UwqUc3Vn3fqKYm5GLo6Lg8OgWZh6ZjEnNRmA/KPq8mNnJD0i6Zi7LtNvxogdw5AgFG6h/XCL12FN0/q28NaAUmsxcE7/phsfMB0yGDlZBeyvRFubWT3NxOkCus0thKkGzhn5qoVBvveVcXmXLhq91sB/Z2f6shK3/2drZj12qBiJTFFrGlG++V61L2gW+kRNmuqDVaB8nXvvfu7ikGwH2SX6OuWXm6e3qeOHR+sJoJhjCWOPHlIAkmMGdKRewstohUsFrPdgy5AKshq4BU6NCwCq3ONRVFePnAF8tiAU8jQcmwKiVLf3Y8V8Au5KmcKJBftVWldLq7e2XZ1pFmsh5ifggGXXiTeCj3ngZPfbije3q6EJnetgXJaiY47yrfkigHjy3RyYT86oNcSlnE3yaavnqaAcen1gzMzZgkD33UCqnyPnDTFMtYdqMu/QNM+JTO9rsmgat/1t0tWYdqYjlY720cKTLlVmf+3eAQfdgBLkMuAZvY5X/fJMkXTd48E4i91SWX9i6uzjFl/a11BH/k/2wO7EY60nZvOA4XLgjLYS8P9zRPASd1bySpMyJI2EgY6hHhxT7YXWo1u+PrZ8a/sduR2jIF+C6DxDIMXonnaLGmiCQNQjGv1OiVUV0OBiMSoyRIv/whAZfsHxvwDQPXXCwaSyL9MGI7ZRR86MjTRE9AIOPRbPfP5oclZ1inUFkCBaschH62qzWg9UGXxfnOEWfgZfOnpFcLm0c3Xrd09u+qgKpuII235nznNWcRV+mbukztvJ9564rQ4U0UlzHcZ5sjXonLFmvQpBVFzw48Ll9KntoJuGhEvmvUNlpQEvN9Jt6y9Mj1JXRgK6u2WE0NxsLuZWrba48geDj5ysRXJ/SvkH5opXn9qzd3mVE0Tde3b302Osb+nJvDGr7DmLUfaI5AAIAAO2BeSTUuD66HDNeijmvwDHei/GoQ3wFQrYMZe/U7LMbVVzz/vfCpG3cBetU6qgDTGtovWQi2Qf7TQyh8N55qiAQy8sImbyK/C8eMSfllxZ3QxB1gS3WgXSI0bBvitzxW9DXuxien9VAjO4llHk3rkPCODF1CkaMMHPDOdFNXzb26v7iWz3ENrOJOfjXX8ye5jh+33cAldMFa6nzhlNSJ4uxfn1jysaNKvoQv5JsavtYPOcGi+aHMMmwtLk0BjvHHuRxUj8xrBOEoIGXA4zm4hki5E1dwHRr5O1xgHmXxgZhuidCoGuK3XH4Ut92EunMSvCfOR6kOvt+H6c2taYbxu2Lt+MDE4hMlEL7QzGxgrpkJiplZngrugGKuh9+5Dnn8HY7Fe+N9PAD9th/5aW5AD2d28cHtstXIkVs5kDKtJVNycA0ZsR24NWXHqNJSQwIyqjV4mLgDYrkO9tpalKYycEwZgvGTyUBU69j9G6oIwavS2t/8AGQ7YfMXix33uiIgGuRaUHA3am1dENUuGLR26p1RMK3Dvbma1pCftD0OPkXRuAdnZ8ikYq12eWG+34NApz3ikNGegPJiw3ZCVWK7lVRwNZelKWEy9nTqo3UEWOqPBAepphQrVLpq4sCuHJ2vROXWfwcxuF7XP63lrXlAtIY7+fJqHX/aZ9DdunWMkq2hYFC+MupnNyzfgOQIVR0gU1Urq4HzJ0vQkyxPyXmlyNhA6a/y4ZXwry553V/MWxDTvPhLUS20u7F+rcbecWAY1s+aEoJFaL0/Va4yHOadcDErULDGXMNjOS66cRaAjeNfdiwGjmFbnqb/IuBz36D6EN/LR/iwi57wYRd9/jGGsDGthfEfEvnmpAMIm3cxD5cpN7os5rCdUL2qR9OMlWpOFOW+hXnn+yh8MB4fth3aGbYWv0vLjEnmA8rR2ulo8O0D/i+EoiS32rrp2FogUyYsVjvBF7YHo9U7wqte2WM07hkm0nY+I2M2KYsq8FTOUoVRKrIaxZa0m83f85+Mq5e0945kBB/xH1BmcOrvwD8mbkW/gC2wdzsWAx3Ao0EyDdY8CukGNs6r5x0aLQHGKrrpWPKIhTHVnnT7WTCmGdCYfm/SjK+a2eExVpHFatbY2msEmAdq1I40KALHQjr/YMjgPwqZ/IfpqjQrXW1rbI+tve4gTMyngIQC5SoIBBNCqI2/WoBhAOClOxYDn8EMi+2EFnd+D1ugOaLOzsEoAMasMAtTmM3siZzaExOjQvUEyrEEC/OFeNUEcTVeIOUpAgCnGpm0Nkl6DSUWWhQDVImTETzpt9AU0DAKsWqXEUQkDA7MFfEK3C3IXOmvNHySTwNAYhozIBMOqFWmygKuhjWwB9bCQWN/npThATyIh7AYD2MJHsGjeAxL8TiW4YlM+XGwFToQ7yPhKW05SDUm2Q4tpsKyh7A9+LL10EmYWh061avTddKzphV8YLEB3sB9DzzU6JEmjz3xVLNnHGQ877AFGMn7iYR5DQB9ft/OD9ac9Ohp7/3E6Viq+8qPu19n1VT1w7nb72OXxM6Ox0fX3tgIOv+dH+N7wfpwoWr5L7IOAMB67L5+GMA6AQAAqAEwUwTpGhd9MXnYZ4XkuEW5zDM3Yhp8KoJlLkpRHsTJd2p2rKmP9FrItJDzHdeW7zWxGwfQ481kwnQrZBP3iIR+/c54uYgbNrgkQ2JYY22KgnT+rjyJh/tPnM09gtwargwNiRl5nkEU1JzkLVjEf9dRCULg8wyULxqO08pOLuWUAjoF9uaGjv0GdpM9mW97qmARsnkkFKYSqe2vBOkEi4yH6iyY1yQPVsjX4xbho9JhcOTqM6QEnEM+RISwUr1PAd7H3/uaTXzvReWJereUYXze+HFK1piOi6yQjdyiL+aRPJwL0FDiNafX2DpBpa79dJeNg7GtzoypZeELVdzEEJnHBb66D8n5DIDeZiRH9nR2P9irvlZbWREMko3NLaBXo87Um/hRZqAy9tmIcjIvVnyc1slmGuDj+nzHjV5Kzjccg4UQSsx2IUvoizCuMvd9ZXCoZoNuu4owo9rJgHVHS6aB/78AioJ02H0mzGAp/sxZiD9L+EbP4uQsfA8ARopiDD7HX5EnvvBKR8rch2cR23ZL19RnShZLwQt0AJ3IvzabV9I9UTN0qCBPbgpE1chLKqMuMn7aUDJrbFIObFXplSEtC6YbjnHkjtNYanY2IORo76k+3KrofNs1MCaWGzOJkhviusqTHVqwHuVOdqw8eWisPVPrIb0WPg9rPfbM1WeK9GoouVArjVnI39s/Kgok8MmxtIIlG5huJ5uMydxvpRNtHW8A9PgT4Q2Mn90BYP/XTF/E2DYbhwIHYJBc5nEOy/hGzH2Tcq3iOms3ZAOoL142nexqf4HM4JVMC2jnivb2VP/nm6qZBoiqVYBO/SCCZlgFenWbWrH/D/B5/auKYD+KuR4/QVQ87eIiEnvnUqttMN8/qH9jh0GKkPpSaAtelVkCPCEoPwjYjH0W6M6ToK1LdfmTiDPVTC6AdpalQnCJWyjL6TnQViDZ7oTkdDz1I8R5v7OKdoFr6qFXk0MlwdcZ1YroI5agQ05ge+XZoFMhvZuSIEsK1uxghPZ1MQwcnLCWbtBBOp42loUE9Cr6X+hOW+mllAZCfHo5fUXngvehP0I783PphT3Jld5NlUMfi7GIvg+zs9Ty2Xx4GzCA45ACu0AIirZWwGPrGncGDZsNirSTsqJ8AXgADcBVRoB+oXJoZ2jIO8jaHLXzpJS3b3X9a5bCxXJ/UzEc4MP2ecoxQohLZX3tcz07DhEC/kK78IyuZmiXVmfy6Yey1AR4H0WZQWvgaUHQ0iH2lXkMA13wsd12HaQX08ZwjcXYQt+AsbSVXk1pCiE+nU1f0bmAD/0R9jI/w14oS670caocdrYOkavMNXi8VYa1Fn1PCVIo9f0ILqHXXKTO+L51gFRI8YWL6OE1ZJ2C87LUg9HReAH/azuSEmYSfD+5z2/911WDF+v3fXz9gY3lpZrWi4gAskccD8De5QbshsUhjsHftavV1l78H5TfSwkonG9EAxmtyHs70nZ+OCYO4AEH9X8MwbK+7gf0EXbM5P6ExxZRsdL/PY256ucPNOhiw/K5GbvVrPD+wa4CO/NcCpgfpUA/ZsP0qDzBN7qC0i3wrNoZfqm3AgDm3l5jSb4f5su5+dCsB/TJZQk7zuL132ZoMAnzsAob8YrtvrXTCTTU02hS+nqjTM0ghq3uxV3S7W3tQCd7oMs62nUDrLdSFuOfL6dx2md+7k/DGqBNln5lrcRirLSVv7SrfmVIY+TUMMACcvkFXWnYWVJIrybp9Zs1AgOrbHfYJeY72yWussxm+9zqPpeme6piTndncCDGuOjIa0cODfw3MDzIQ8aR249+c/Tno3U5O3K+z9mVc2KwfrBtsHtwdIipV5kXHXv92GfHTg31D5ONHLoH2s57N+/EcMNwx3DvFsjMsMZYB7OeyH8r/5MCA/tI9uknnz755snPT9acFBVsK/i6cM2pXadEhb3bAWfF6TOcq5w73JIzM87sLDrOreO2cu9z0zuRnISn560628V7tIuRL22c07iycUPjq8Xbi78p/qv4KP8iv5nfyc/sRgs+QV5TVdOWkvdKvir5q+So4KKwsHla8+Lm70t3lZ4Q1gvbRAFRYcvUlsqWx1peaHmjbEfZ92W7ympEl8Xx1tLWX8sfHJU5Gq1sbHtp2fvLkWp5+6L2x9t/X35w+VmZS5Yjm9Axq2NFR1XHlhW/rTi04rw8JC/unN65uPPxzkMrz+My3IwH8KKu6V1Lup7sSq36bdWBVWcUrGb1GnbrqZ5f1xpV76+9RdDG5ws61GL1pg3Y7k7NKe3EgS821mgvadu13dr06Yw9RTqtzqWL6ooHZwwuH9wwmNr0xqZtwVu9EJINKYLoIGZIK6QL0g+ZhCxD7uif6j/R/6j/12AH3Q/1gYZDE6FkqBCaC9VAa6FHoeeg09AV6APDS/oPXqPed9L3Q5PI74XZyR/tL/Iv9f/OkhkIC0QG0gKFgdJAZWBloCVwPsgzKCwIHSQKUgQZg1qCTgctB922bdret31ltwp2Cw4LRgYzgyXB6uDa4LPB48GXgt+3/2D/P9mGeIeEheBDRCEFIfqQ4ZD7js8cfzvtQ4NCFaFNoY+cb5zfOP9w2YbtCTscFhwWF0YKE4UVhB0Lu+92CleG33H/5cFHLEVujQyLzI40wggwKWwmyi3KLyo7yhR1IzsQzoePRTtGB0QPIRwRPogoBAVRjhhE3Ai8CnwV+D1oG+Mc4xUTGpMQQ4kRxuTElMbUxHTE9MZMxjwIfhL8PWQfezj2cejD0LehP8I2cbvi3OP84+Bx5DhxXGHcSNyFuJW4mwY9OK6RoHhL/HT8+9H4hFMJlxO+zTmUeDtwrGLl5h8VIyPbiAfhd+HP4R/hv3VtPz0/k0RfYiKxmBAlpKSGdJIp89fqT6Y7pzc4UvdcN3Xx7t7dx7yheVL6x0+8Vjkmv8z89sl7nnyx8r3Kf27ro4EOkAQoeABCHAASqVWuZMMvwfYZR1p+oDGXHj82mYDBfG6RogR2afx4CgnJUZpDRTRNP9io77KuSKCpXlu8YK2gQkMExof8WiZHkBAgCJgp8znV1xV602sS1ynuvl/DVpVlNXy11Q10YFTKSQ/A4FoEcgWecWt34CfLXeagcboYtilGcHutu5ng6yugj6XODxzgYaUbUXKO+TRE4geNoRgffuF0UgjQEBw6fBAK9qE9gBQmEww5HmgxCpTItUlPAhB51fDnrzGc1LcYIZEG9n2NaXt8awHNybr6nxfBk/Nw9lVA3zSz4mMaO9OYJHIJwBmy4S2+zKhHI/8esQbHCpWSdNtogoPuMYDzp9HmwpeFmY2fBryCKbCOdvZ6+zuj8GpryP4gBPlsi2T7qT1freAk/OeknK+oOwoVhP2jf46B48HzOVKulLIjJ3VpquRWnyx+ETFxZcgWQjUiMyAsL/sdFP8U2OCa6PKxKRa9pa6K8vUSApja/8o1TkkTpQ7rgD18arX9gWs+rcaj+zMOsCqJ52N1sV7G0JjKzCpGn+RiBGq7SLkErjZ0eV9R+7FxrhEY0zTlpLkOaN8A/bmqgApYbWi7B3VZs2aORBXkooEXXHZ5R/d1o5yqwnPisSU2l/OBS4VRcDUog87Q0N8O6044raFn/9kUsHzZUjkGGs5xrWYHaqqt/7hFUp1P5UnPTAlFUiV0BjVZz1JN1Dgo8jxHIQZvyvr8HJYEtPX/HGvkc2Riwr8C7JIo41s3SMRa5luLa65Jv10eC+psipxdg/sKUEskuz9cyOqCCUoHN1iNywW1aVcxIaFMNkIGOvfKoX3xbdgIWVBYMOTuCarCjs9q/pIexqdPyoMXaJ8oMUbd4/30es4mCeec2pxYns0lBSmiG9xSzD6c23O+0j1MNFtaXvp2VxbkOXjXaqNUl0auqAC0O+PcJvcvS4zTzO+58nyVx8LrBgZ1WzTlVrTXPSCAIckaAdttZsCqr1KDY/sSv6Zn/f34iyhUEakJ9Hi3gkw3dQrXxOrxLLXXE541FMEyMxvbS17BvZJHMCd5EcdKBuAZK+9vVot79LNFJaZmHuzhrDcTLA3ggYWEHSyjzrKM+l9qeOwXmLIe7IyucXmIF53/RHeH02XJWLmAubDWcO76E5XFmtXfjaMfYPeLu/3y1n7Pf+SwrP2FnbHphrmGCYjVUa7bIJYf/ucJPjczKohxS2yeZgo+/smal3e3nLD+GbtJhY4e8fdmP25IaBcskm7uNkopDta08bU8IJQqa9yxL+VGy1O5+eZW4fbpEiEODIbb53U6AV3L9nd+ymRsP1QaWD1O3m7QsQBIFny52uzyTPSRJaNCygYlcQ8a7kKRmY0DAyIBu6AQlT8JlD728PO3/Pdr0GXwnyQIjGCpYM5VExgFObAzRKxPt2frU6mUenn4wXMbCjjAI0oeVcYYkxzSZAGdICF2dLIKt82c3k6wGNtBE7hNjniGLdmIFZK/Y0yyFXdIHsbDkkpcILkIy2vvmZXm3ruxbt9tYAJ/lk8vR4J+Eqb7/JXoYXYNZYLmDJEoSq4LYLUd10Pt9UkM853jhAcSo1aMPVoww0VAp03LcHcSzRKYfD6aR0ynoMr6K9o2CbkY4QX8UGCPfXo7nCTZ43PrLgrk5mr1V5TneF+wGjfC2stoqNbk+3ttFoceUnBa8vmfhbUKrOMzExJ0G+Hya3c4iaBWRUWlSWg/vcxd1zImNSAcDJiYYa3RohOuLNrXqT8xmDZFflxY75bf7H47w+lI6zv8rNATdNfExsDDQgI4myGnBT2AWAwgeBklApcANDWcUpfNNzdBuFUl4ad2m7xp0ygjohUH1SODvmuD2Y5KRFce3QF9vQDBexDYAlurQLU6Xg8s+wZ62z8Vuvj3t7ZSHNHNvcmHY1fCkIQ4d9vitF3zyHaN3tmYaIpFwkFsgMvGeB7lhbwTes/dJuP/SJuZmB2RaH1gsUQT6OQG9crKYqDhgChog5a5zEe0RQ7+xUCKSXJBguo2QBUVcLEQe/nkyhTSYY3W7MnOraulg45NR5tbJsfnpYGezrbCLdTNYXywvDq9UJFACCEZKfKiqgCfZ19ZnuAhjIdLyJWZyUDJ9bIAL2/YXM+rhU4vryfu5+ogI0+exd4dVP3Vrwt/KHoVmhA9dHexqA3yWkHrDhFWY949orXu5VKYDjP2I1SrN72yIxYM8Ls00NJSHR0aPJttP8ldfVMBtzNJsPlYMlRsoiSvu3YNdy6DiD5GGq+YoRwG+VMpKTT8LKodmhwrJvyzr9j8Hq+dsqja0B+O/f71dTpfsYbXjIi6sjDA+iT2aEnBMeeAAB6DMSEUp/8pu/65Guj08iJ6aYUvajdHdP93zkvrtQaHBiOwMbPxCMlHOKC23Kwk90SHumobmARzDZv7vzFkIZDuVhY2EzAr7IxMJDZ494f/K5+ZbRDMG2VwIhj8W1u/fwOhABJnqXNFxQdQNuX85Yo2QzDVziC6l54i0h1EpB43ZFGEfDzI1UsHxMGPg7bVY77r5dWuwNjF6yeWQP8fMDJ6HGEaBTeftLiglOwWbEtAQKRL6+2G5oY7UGZm435JfTwgeQlbSx7FBpL38FvJ33BIwFQnNa4tJqzlwD2/a0QEB698pBk7blXzojPGZh5sCU9NNjaUJ/PA8YoSH9qlBy8BAD+9O0VlF5iKASKSSqHt5HWugnediMyc2fluxEp+d2dcLqfO3GGF/yLQDYUHJMNQM5JBXe6QmVky97V6CdT9pUCeYTfqqSkjdWk6PTOOAU4DLcCGQLtV0Vt7W4qEyU4lJf3syYmJuBODvT3ACbSj8QGx5xMoXjZOz3aOnsnPJ0687B4H65hDqAFifcy83s6U8VVPXjib/bWy36wl3Nrz1Y+gzfhSTOloi2tATxC5YYPGX/I7d7Ki4g5T3FFJpFAjoqaTCNcc7Ws5p2Z1YF4e2kQXDryBJq22Qnf1CjqGZnADKmopvEZwcfG/sAnmQ9XXtvPSpzZRnsyfGzPuL1vQ/ho9pOwy8m+60h3/fn5A4T5P6zlp8N/luyWh6GgCZCZWVrw4CPOHEJSMtVQ8T5IwwDGsds7828+gz/hSlqWt2R8P0rRbiWS/JlJZ+qz7EF3RAJ+dXYMilLvFxvwted9pwF1JvDCThxc8PtFDvbK7dUuEXJ9thVimLrwIOrnDZnCXAbnrJ+v23QXr4GULQ9PDisnyvtqcPNSo6BvhUg9p4d0tWJ2464DOuMWEbAge0cGCLa/QpiEhZ/4bVmQ76MldJAgyGObeJ6S8rZ/g+m3hSFyoF9IGisqUHvKs8+AT4irqWq95lnR20rk6pBh2dNl63wjway9YZo3kn0QQ4fGAkDBPj7QaOZXJ2J98ix/1aNQSpuxSpbQSNRI2pG215S1i4EnSYZYvloKAk7S48M1auC7pHYbNaz5HaDBachjdjnE3xtOWfR+qblrm+9yxWCkzzMF2ZyA4pTYvHR1fgQ5343jtSUARbzWVYjVmRlvfGG48vom+ETVAl39JQK2Dz0+AlaqEIEe97sKj4EH5FBDfHM0KgqoJ1zhT37sYXWGd3gtGwiABTtt69n3/PxGsLPsEPX20C1k763ZkLUC4c7xeXth1+0+eKdTqeUvNSjAI4DBoMjGaScg1jUE9cbrA9Zo2m6QrUCKHDz0icPaLCVsrYMzT5s5O+AsbX5d8E3dK/oh7JTtxjqQLD/6u+SbDXZK3cbTWadaoe+zsojfGzDxYELAbrMj5zkEyAE2lGr4w/9wWNYWWXQ2bXoPdKxiMcauka+1yWl3NVdqFTu8m1fXl8w/JSNAjKzPCd9IvczgkcXj4Ow7GKZ5wNYeH2bMT6JJnU9j3IqwIowbKYY22sXlgxd5bNPzngdxYBPFB2/rKlcX1S8mmeI/VvJZaaqWrSi0FT55E0MWWSJwAUmNcBcxh8vWHLPgKpisS1L+zGgc79rwufKvwgJTVHaC2vgL+YTMS6lCgrnGzgzH+Ag10rqb3v1j5o4uBUDh2lsMIM6VrxtwtmkBtSstKEZgNmD5j3BKBrnA5z/whOpNCh2wYkUus1k918lhDUocsXHc7/TjeQVXeb1AA/Y4+8w78YQVc8L9OJw60McIFqjYxELApRUMkwPCkPsEAoBwWHGdK+OlTPa5+Xf9HcybRa3ZajBurFQrY4mLIP8NeBzTXEmvpGzFcQI1A14cnYSPD5t22WMyuE5TfelY5/YNmp88yqNZC43XO/Lnc7THLKWgQwve4cGDBUDVjw9meizy6iBHj6NA4OjrO6knmaQjQoOOXC0cOGoEmlTk7a5WJ3N6mzKXyvqonJG3aQvDMYMVKyrSbCL7s3hpAYRgcjAQEwPUOQGxt2Ro+sq74pTn1W1xACyn9TAmiRsDbGdqgOI8+kxb14O2LEmKfP3/xC+qWlpTziK3nuYxwkIM6DrYiys/aq8DrpWdU41P17+wAnNVO40uIlohILPaEs88xQF9cxOfoLwUPNDwr0RfnoFZt3oFbWiyECMyeXz1T0wVmkVPnKFQPG3a3cnQRi8IjASsfNu9VVWDCSHb57FUKOpkrhrG/jNn4eTglFxHcKT705s2I/GzTFYJBl/2XhXsgIWWMBE62hgoJzgmAvejDHZoBAl6dVLeR0r2nKw3jxVPOoOKdcFGvRVMZ6LBgzYoajFcMDaA/IaEWt+oBaq8hYCO8Yozu+hsVxLdzEOnrGVBYjiBmy5RBVUJ5cdNBx2ZlDC7iiuHPr31IdacAGeLlV5+tr9O2rQ00ex2J6Hraa+c68VSMLvW5E04eMhdSjzH6yXx8etWTyL0wTjHMIDt2NLPCpu+IpFWrlFQfFKQm6/GSf076MHyhleb2RICcccuZrYHVJMRoauOaZ+yYCgZiZCCUdWZPIhNyNt7Uv+K2gqO/fYA99hQFC9jPLyjxSJbDLK1UB0ITcplZEUvfcFDsT4zuXmguODFK7/BnTkiW0WRXZsuCmwy+1OHyw0EYk8ueaUFnxEtGOxsgVGxm438l2/BtyJQcoLidT6X+zjiXx1lnJhhbDtPBcAQ/Rxg8nrB6wn2AuwJisA/+ycQ6R5BQPp0Vt/qeCor50NAxxvabjvbZJui0d56mAGuAIAT/dOK0CqETDOnh+n9ecpG9ia4ILv1oL3Ls1vCluelsAykmIPAoN0lkoON9xO2FFdq4LkuqDtWquDWyO9TYM9F+XrMZHsqDhaljHx++7wTjYxM7FFG0MTvu/vaGcUaYewJZtu4cC3MLhwCup6X2pPXC1/eDmHckEGTUebwYPRJcq5L6ashlqlsdcE0SHIM4Lgqd8E5nRCBt49FuyFHYKtBnvWr4ypaUp77N7PH+VS+Ml2yJVVQR0C4Xkr632mOxFDiVTTBLq1WPiHQKPvRngmxd4F6mTK6SSdXiQqqNYrnmP7AVe3iBv3lV59V4aR2bSGUsEWx/lx7qaJ33B/vIF5LfBnaJCku5YNyj52IDN+MwO+AHKIMnbZlq27z7jF7vDaYvSCO1j4Vdc+4QTYN8o+IkxEN8YpWykZwFHUHp0EGroger3tdMqEhY+GW0BUFvfNgw39ltRg5bmvYMNVmH70COnygkVry9j2qct8Nd3oqDRkKoT1WFEyDuttz8WjCcOrm3kAGGFY4ITfmoTBaieSWd2aZ3i4OYkyXCScOGljjiA8qqAdByLhJKh2YK3PwEsTF+Nx938zD/e2VJSf/UkWQWkvB3CEA5WkIBYxckkMVaAHUaw2Uz9s32LCOjk1muZ8bJM4V+o8eu/zw2LXE0580wsywlVjpLn/TghAAlkoFyz9FXHtRU5eiw+e/NCwYCbpfIR+OZs0q16zkwK6vl+D//7qWH1PEMrCRKe9ZtvA3y6soh6pNj5ZAI+KXRNNNPi7w2t94ZkxICjOcuOXjsqPzaXBrLQL5gItC2enXeviCkrLdOXiv4ndcvwfHK4Pcxr9lQBpXtqqi0nVa8hA8rldv1yyQGuQT7kgjTi4egbERcB+uT3j5d0rmIifr+AMvgRX/U4CWrolMQNIVPdKplorEvEz/Yte7vQRTsxbxGrcrptlp3n/2N2e1QGm4bOzbO8K7OwQsZ2MnQu2FL81EZJqIFZcBFm+mY1hUNDKber5y6T3liAvx784mmI2DjqhLW3l0+XNdyK0yFuRlzv1avtIQ+VLxNSMottq6aY1umDpkFpTk852i5GkwQVyTGBHA+6CaGJScdS/i6urpqodRu4lOFXby2uhwJCLRIBpSGZ7sst/NEY3ebLn75mHwWBD46Db7O4Q75p7yvr5YNA9fJ7R+3ZTp1VvdMvafrHJTvbJgbnnr9rQWnCtWog75uBORC0RJ3xHVsyR+xSPIqvie5F0+onWNWsPuge4v23GHmwRrnDXPwVWEGSCACucqFr+zs9+pE6GXTboJjoF82xARRX881YVVgDY2vBrR06f4JG31+QFGIZGblKIv83EStKbManUGiO/r5OAEkZ6b4MjRkRMEvwKcJjvmhNeVXnR2FBnWBrnipQ63X/dfcaKiCTZV8mv7mtip2tU7lE23+dUbF/RkpoEfHi+J+sfj/ycUnEVIz76G8eeA40CHq+0Fb/uo+Ufnto9qaHmqNn3PyQ2sjFPJQxzfChoYvNSidkXCQcK+nVwfuyQJ1zioMnf2Bv8HutWI24F4c1mFEeN9jkta+cfoa9RJtc2/IeAo9Rp3a5bXZ9kjEqcnM5li2o21zPjltVtaUCDviMrZX9KSjLC0pbe4rP6WUg/6cbUpaNtOlorY2fU6IrxRknbb0PoT/0I2+qGn/46pYV0aa1xwuPpduCI5HsAMywAPj46ZnArrJ3dbWYXUFPWjZ2h9fIMG18HSzsLamEPx0eqZcps+k/Bl+7cHUy6fvxjxW9mJCBIWPEOFMrw2V6nGEX4H4hxTgxzDZaR0dD0dpHa3qJP6zPdS1g4KEhiy3Vwf/KqNEYIa79lw6IcOrhLrrPIcvY98cKyTXGjAESahp9hV82WNO3NBz+Q7J8Xa2pC9WSP6LWckB/ESyGY+RzMbyABaYHDOdlZYui4JNqWXJ8xfgy4nYVnaRZV1NMijBOGOpe7nX4xsokkidve4z4K5RWmWtMMq4ZNoTwsHgTt8Vca1SVaQHD4i4yyW8l+aCXdqLepNqmicWvSq4O+ZlQ8EEnorUkSNKph8fhs85J4fNuOFnCFMBM82jpkAhS5NqKOh//o74+m6ts1+M6+xUTQ3ufhycnzsJ5zAGqMpoXtPS9lVb+ym0x7va5Ytv9jIk0936Wv5herGEiZA5rAV1EEJ6LBlM8fHQVY/7Q6yTgINWUXirVnxaMtltU7fK3iYdwAx4KWp9sPGtm6KCLYnUeCiKIcEAFrAG3S0u0EaBGbRNlPRHZkkGuBisqFcKE0HO30QLdS0Y9sWTLGj/x015VgWPru7Lj6lJ6KiGapyPQIgDFTrMkHigsNGCE4IASTpI0kMfXaVeb9SQU3MW0FDgB72+cMgOTwkNBDcwA0ZsbMnZEao2Yq6r8u/Zhk7R3qHF9qRJLITO6MGzKKj75Sx99mktvR388JrDZ9CbUOyHu4d/Rp9BXMJiLfreq9ugRGAlrz+rGlM8HMMqAitXbdYy19uggWozxK3YkgRbbnPUl7CCjt6aT6AA5qxSu7qpiHk1RDdWKDfzO7p6R7zsxGkwGXQ1Q6dhE7QIG5Spojc+dM1qbfNyTGGfoKzYV4cvxTPjW6PTCE5zOGRnFW/ZzrVMR7j+yPEzGJhGutczpRnCwj3ObSbxCJqfKzuwJFjS2k5yn4mTrb2KBKKoYrxd0PhcXsA98T52gLIWgbZuiJD13Qepi3FhK+c5M8Eyydf4jeRVHFybZNaF26lx0RW1mQdbBHxehUZ3tbYPkqQRGZJ0XWOWS3iHALO4FCagDJ6KqnKZ77wTtLDfVspPuwyW66EltQqvrQRRJmbP4sXrbMU8uAu5nKjF9x4alrR6bRcaSIk0Ne5JjwDyI14cVHartq9R+i3m6cwOJZLtfoxG91wuqPVmrgAtnMhknv3d1xMXsz+zk2bzbrLauVMX83TmQuuJsgInKkyCkbYqk/72vZbfSSSynpR32kYjncHq6xvQxR/QD4QQNTsTkc1b5M67sJeDbdRSA8JPOrI2L4+x8zRUtlYHP3QGq7GxnsnA3o5g1Zjt6Rc5RFXEB58ivmfIkU7j9tS9SoM58ARzWPPlAdziU3v7UcXQROSrzmiQzelJWw6Q1HJ2y4s1M2Jjh+Oggd0wABJGbxj7ooPXhYsKMukL/f9ntaJLI2MCYVf47kXxqsjWTACyu5EUW5nEiMlu/OPUoZ66U4t07RcRKXkbauoJtvcuonrbEVhLC6ccNDe5bgqtkrHA0RIsrerSHOxKCYWWPfGtYL7ZWeYPw27L+ggudpziIQLaXK1j4Xoyw1a/PxpfUTNp23/hEp4+8LMSfie3p+7yz6ASNupMbxGK4Wx0Vtcl4Bp26dwaA5Iv6LN/0TlofAlr3a5ZfWxBpQBt3AjYBwEjNLsKcXJpOTm9L4n+1my+5pS8hNB6+thSdJ8YH/BX4iqJ5tlqZsXwAZVryhYMDOee41xouMxR1iANGM4u8tBDGXWV8jOrHH9E2WdXcBoFYX7wAWM2QvvSldauqW+vJDJXT0HDf/+P3oRobKZ7UC4V2tZX0NT9L65usk7zSvEC0ViBFyckSFj3V39jxJbtPGbkWSDMNp60+8wBqRceHap9X7I9tx/R6jWyV/1LY6ouumm44WMzg9Mz0UMO0o+UOiwosbQnyWnyFhbAqD25M0eoIH4hJKqobGOg0ewg40ilHqJBToV6QF0sdRF2ciqQgtqcbmJIsjx2U0NfiLPtYniyvTtP3SUXTRSCnjAyHejD9KxT02JoUzCC09uI31Q7q97nchq/ubNR7XH5RD+spvNkZtduxANJCX0clIZlM3ooL02DKhdIpPLxFA2zD6pGGndtQshHidPYAbkwHtbH9E2lmuYqdmBS0J1kLEOSwgnjWSy7qqP7jHPa7T5J4xh7d8dhuX6+jkWUceqIygJjtrq3c4Rc2GHAWeFXyKKc8vFofpsiVHTXt87bEaaiHRx7djvEU5Yt9ZkpX6701mioAVH7CBi7MYgoZyDElFUUqFyQBD9MQR2aLLsv0CUUiDWvK+UNxZeitidukc95yczGuCQFP1jODQfDUd4NQ8S6VFI01/NUej6OmwQGsEEB1t8oYw7HB5PeANyPmJKu+J/+C8wZY20tncrnI2MiAvqjcYSWRWyUmttWsJvNHBJMBIzcGAcD8rw8iE2SkGGIYHv74SmES8rdqqdqK5msDSw/Vg40w/WXGOfqAedM4L4//hvUyd06Br/o//RTb0xzDei/TrLA8j1wMerud+h4oSvVY8dSqh78oflvDf6uop7rfsvOK/PRDy6jUlISDeWXKjj+G3TiAoxlMW0yI/RYrcZOGOFiQoic2nRr5PUcOhhd3RDzLE2OQs7oDRNQBKjOHkZc0xdEo4kKaP4Tv2qxK7Zbtj9qHgdm1MyP6jZGXX+K4sE7CJ+fiw4y405syQZsVotmjbs9Ptc1ZUIejPsfRaq/59s3jY7zwZDfcyUnJq/7xuv1VNSfLg39ei85OqKvQBqB6jyTrAN/nZL7366YUMj3EcpKi+xjS20ic+dy401HaAT3YtY07dao3qFv4xEhSpTA4qmDzWSeqJHrCJABgxmBYsrNmhDSSWPNQ5T7+m1eht//vvY0o+Pvu5FHbxOQQNdgEEBT3g0ACz6SDFMtnX2EY8ekPxTso+vSqf81O1tnJRlF18Kiv6AWyO32P5OsVxyjiYT3PyKUVs82p7Kv9Rjcfnm/C6/HkiZWs/2+m/no5AhHGEKeyzbSYASdQVEeVIgRIErrqAvQllwvy4+hNJJ/FU1LbKpwbwbMwHS8E89g6NCZd2B9h3HxKLUaBGF4jnp0cUs+x7tS4G56imIkdPEhUKs0Q/z7DmcUB3gNwduIoQKlcpxiOXuHKT79C57Ljx8HvUbo5dmnSvt5pvZtAT+bAwgJQSQUdnVpDFt73BqiAaAZ4Rfz8qR6mVzBMEEgCcvP9e6wD8LR6ta7Ufd/OPghzhhi2a6/6e4J56Q72cZhilvIunTSZhM97AMo46VnJtrZh90SY6Yv9DOROdrMZ+V3H4DkdA4dUPauVCXS4wHj1GNkr/xnClmx3PTZwcUCPB+81B8IZBFMnyb0f8Xrsy4zN6xGWzUMy2BjIcY6uGyOWSdkVqV2BoPjowSQmxsiUvH0br9XPNKKeKzJy/YgFI1IZPmjjYEuOCdvc046dQlAdIOBYmM/n45EdpQY1Q2XvOYYYFLxs4rGSztjK3LYsY7T1xxQ4ODMxLpr91a5mL4dxZ7XT9gPe0IhLU8lm6oXhcnktUtlCeuKZsB0YGDmumY8A/RMZEecpqMiuea/1zpPAlC6hcSv8k6/NVDAmoUdP1zZFUgsW0x86JQUEJvFQpO8cYevN9insMwmQEgKVfD2bWNhmX9bEgpv9fuI1taTkwoTbCtt78RCjfXuvy2SC2EGrLx1rBxOTU0k7WLB6a26zGy2Wq+nXTI4BRdkzyRu+lSjY6PpDzrN5putO5uL+dWxATVB6HfOBXcCWb5B2d9E89Cv1m0sC1Iw3b1LnwDMV3ceIjtR3/WulheX33oCdLDzepr2/FMARjjyV7U9lP2bm88lYacV5qHq+QB2HNcHvDqNiNTPR51mHdv8gFg02cKRcbXJLRD0HxsLOq7HmqvVSBPR2fy2QBAY7aGDsIcKtaHy4AxjnDQt6Fl0KIDAev+Y5egQerr37NnLU7kdFCbw8VCxbowtI4EhLIcGeh3TGEjwOLYTavUsccFRklS3e8zcDD2khsm9v8R2jN5KisQhvanS/mseMFpvSPmndWm6ViZozGxHRy0/QaC5ig+eku9ZXFa5XOqZJL3xbFOjrLAEVtJY8yBvwCY9jijvqxNS4uAfLwSxLu8faBOu2tQjxeFS+f2gUJ1zkjktN1PPH1yvPvjX6gIN9IZpoqwRdN3JU0rbNRcbs2GHwTSRWP1/aFloTviqURMH3jjl9OOOITu6IoMe/gDG9fMbdDpmCJ0W8V+KHBbngA0JnXkH20N5kmkCb/8Fa6sr9cCRx48NjR1tgUV0FnYIfejaXHp7dCxNCwXrIcTW1IWgrOtpvIpSzLamzf+pi3C0T+cGFDnGxyb7PhBcfSBkk8EIIP2/9vyoAiwDL7/jOQw2VhSchXkAPP9FiJfwIURCI1Jo+2PUt1nTzl9GPD+fjFamaWmrPSmfPmmfCITdCO6aDSpYhPAgBOKQOdPjogDWGVvuXrxB8SAFacrP3cnuwHFmXDvcowO/GoOerxIwwarm0Ig+NHaMZkjB3GAc9a5XvDD0CsUwh5brdFxHNFBWZpSz9unogyEdZZgyT9PZ3IfF8qz9WgkdlUSWfNx6YlihyZ5TsAqHOCtLTnWymTVCpbG6kgIBv7Smpueue519T4Flvrk8/w9v6sKuRJmGmvoKtHAtD7+ib6YL8HgQGEOdILh7fNZ2wrU4HGyqDXRu4rLDHM0h/o1YlIsBE6bGwhp4wyK7pd9Uat+R2vvJVsMaf2SN92LXuVu7s6xkfbEN0mTdrKFtimxOeCB0YnGdxmLRuB+0GF0PYaGsPSSA8BzM99pi6HR3Qo175Jk3g4BMcDqah5Z4bEC00bJbqMSTGHZsHeTXwYXt4vPbi+wFP+rf3zkANQ7g3K49BHaHMy9NQoO+nXFgPdaC8g1W/Z/yeHYZqP80G/BUjk+CMoTBUlWEgQxbSRMnpq8Img81dFc/+f3zRj7vKBwklbAmEqMFQ25vMi2qKbJZELPJCiyrXcB1IXLu3t29TRctTG+SId80jKkCoDPk3IlykCFrvzU33w6whs+zrscPPLPom1vqizr1y31lIU5DJ30h+C7Qnpev1VWo5ydyvSvBhVEvBuO4JyrVNNZswat8qX+Abvl3hLwW3mhr2aj+1uNXKoxk2KmtB8GRAH6tOAaRWj4mCOGertTyDKxNmyaZX1W46WgggX2KlwajeBIjwr9yoEMHJdLNk5oN4kGYivK+xVySAKoLUxx83G6em82GZRARxIcbZy80vSwtxBdBs3i+UpW9REFS0ovVQvmofawNUcJWJWROT2Ys9/r4XfYTKzQ6Md35hmdhK4XW2FNghcdgJLjY3qjgmCYwu65q3mjQq9Uy2KqjaouSZ40spVeC4AAuJc7DdteCWwy7m9F6X6cDyIwyeUpur3VlbnQrBIQcvxGSffJFQhXssLAGE3wLffG2rT9RH/djoaevc/2bL8BzC/t6Ih4OJtFouWdSqIPCWk5jbmy7VVu3HezZjQkLAWKkiPrvtHCd6D/Ui1SPeHJ0Wi1yHGssDU2aC187C6ZUOdQkgVFLv72+lNDzVEMBv/6rJzbAINlMamqNDMJRpbcLh3P71r9yZHQSFDuWEJDYchABPjehXfhWj3JfSgpmjNDWrSrtj6AHZuMW4ST6WuvQUICHkgjXoILl7TXGMQlb4HNj3F1IZB5CZXa7ra5YIgITXMS2QQRJMtCcINonuNY+RcQkaXvoQB0RnuW6tiDGRrnIYen8+g6qQH3QPFIsdwtyyCkrh4BzK1nPsQlveq4oxwBeedc3w7d3D2OhGeWjh0Q9Vnor4Zmdp5x1nmBvshqKokQX5eIVQu5rV+7E6Pz/xLDCRkq0ochCgP1iCK1YzREJmo5kOHlctJKBmQylydUKkfphwuHlsehcBiLsUJUwzcauoHlUlclJnYfegEeJc2umyfveaMUTGVYl9Nghp0hDWrBQFuMaTXRBetYl70OX1QgD1MnJcsOlbngcXrGJn2vuKpsPZY2jVIXzxEaDUmTL7E9da7ZNyrit0Or8fttkJKvls2Laa7PNXtktkzn7Huk7ITT6//+fNzJ9w8ZyXEvaEbkNYkoMVD100YoWDoFTL+GHrG/RXsnq3Rt6ZL3LwIhKOs7BOlCYzj0hIu4etzqRoHkl3jbCCHa7YWKVgaHlFaq2T2sW8J7Amr1zW+wT9i7O7ju/oMHXYaaVajiPDtAIlAXSm/mH2ZhX6qB7W9NVgKg0IkNopibEbW7lyCgX+PvYoH/S7S0Mxd2uGuRDhaEe3eOOFuEUjLLOFaKfbtuOPGIai/PQXPdQHvw51LaUkZfbwJv60R3G0nRokpIIjil7j9f3KobS0b8vEHKuMM0o43NnoCTnCgRZ0kkYjTVZY11gSSgBOS1b1vSD5pu4OkeG+jDYsIYAqS1QAnF4LJnsj6hGs0Gjm8CJwVAQ6E0ZfuYtyP/Ou2N6NvvrZDKZ/h3Km47Xh1+gAS1B6t1O82lt+SmTSVFnuOsAS53iq+M41YJ/OySIv5oBQikw8IJ0aJ0CQAHKrgE7xQeuPg8dYBbEttoIjKlDX2+fhgB+J4C0IU86KOgdDb3g74n1msB2hHdTiJcCA1TcZsMholiNsKSmBUhAObP6AFb8HeZAZc46Wa1XsS87MQLDKbQvVji5buSAgoeH06vVgq5GPQUvx2k1mLq5+2BbLPHMBDkD4/vDbv0nTIoVu2O9rGPy0QUM08hX6JTsL+16/fbHMtubmz+2aOTo2/aXBsf1wb4ubh2uGV4nUc2JzNgOF+h6fJHPZVPsrkdjJX9ZlqVMcszAZ3n0jnVW5I6+sMOXOWFPMBAo5mfoAHw/fw32i5B/fm7Jf3E5cr8d3WWykC/hcNCXrMb0QGTRiL8+nInf+lskmJ+e7PttwGmkqrrZFCNf6YlEGiC1Hiq7MtbWtoj19kCBUqfoGPmsWv7/frae5o/Rtsotmrp/0c6+OE0n+/J4PeJZNPyvDxcQLljkiabpiw6HSi8fsLoKGmWW6w+FFKlMZa9ZWUeJPjF8bBvnHlc9dJHu5Pk/BUOJ1bfPU+BzkueWHmgPZjn6TAxg1uaW1nQN5VosNmsgaSQS5FJ/27b1RszBIQh4AHA7zOwEi816MnBrisehcp40EQcm1e8QSV13iH8vNGUXuflwJzWWXHHvFlENp0IQdxLOmnc4sRb9DppZCZcF5x7NT1sPtXC4tu3BhQ5xzRNf2dFGF1l71WzRA/6Bt+A7Q9g+Jp4N+ShJU1u0CrH7kvlffJpnhSo/eqMe8hO1ki4h9/ANh5awGQVTR+TzEZwWNWyrbPnR0XYkJgELbTFalq50A0utmfYjA0pVUQZb9lWd3mYQJDkoEd5ZIdbLUBmLvEptdmgFE6cQL2msZzq1ViUl5k7Akb1t1csypb6Rth6yl+KkzYrbzLHFRWY2nSagOXP972k+A9GsOsKlpv52h0lFQ+AHlR1ekI9IEQJwBlTjnXSA1mgPUUJvpSCtYLoSCGl/J+2HjVKewczGXrI1d3sRXF929XtDJDMi9tc+edLvsyzEW44fZS7eZWGAw9GjolZP5wmI6ozvUC+ptIO9KCsUyg1tglwNOzzns+CS+D0fHwLjodVr34F16wQAEGVQ9F4ybf4yx97s+QxE7qG1KGDaDX5JXl/Fy2bPynseyzJ3wACELycgnOT60YbuLatJn2NOj8CUjUPvGL5HfVKK0d4L0AKn2CHuoQ+oSd4iXxVqZmo/MUrr2DCd7ZQVrISkzjZHlKLZnKAdzUh6UcyxSPWJrfJM2jUXRmwlLXaq/mRvtkDbZP79tF0g4+LhR08ey8pVpcg+I8X0YBvJxKs6hfSCIjRt3WXInvqllrJopv7qcL7Xxya0qXwUEyqMxWbbOHCCi4IYH5E6UjH8pSEFrHTSmPv2z0yYEGTb7Hm0bX74bAa1+CEUsXsjLc7hmsRcDpK5d3ESOa3fq9kw99oy3c1liNylWCpfVk3cY6vIDCugWqdujR8VDcDWHtVWpu5Ejzd/89d4byQhMzaiVFcppPVXdgmElpnm/trIPZP+5TWVGN1K5kIH5VKJy+1YR9z/ME/ZD/cGcNcEK60cMDFJTceH53VbE2nD4/jKx04wwXGOMK+1XQKzYZpClTOQoQs/6HbFdvvDiFk5xtQzbmRASNtJtDlHQAOf+nayu7GsKFZ7JVcZIzgQnNLSkjQ6LIGO0w60DLplCgHa0yQOMVvrxme4rBsShgBc4LCgFUbkto864/Ch/Sma6JLPMYvHRygFB7zEahjNqiCB/Qgr/+6Jbp21XM8sK3O53B8coIEgKo0he5n/b3Vw4PYkQmM4JpelRRyQDeRJqKvH/oAR3IbcoeCwJc2cHb8HdIIjsDQCk5GCF/9vs3nrYUI+6EyTGuYGru5ylKIg3AHdgQjxHC6iErV4j9tl6ol0wInoXIbhWBj5y5YBdxVnNno+KPPqRf5As/114NKdMyiV0RMhVLT7Jo45kfgJsFXY4fnErv80sl7x9TsXF2br8YkZHSi3JyDpx4xhWLwlQcjYVzXcQfu/rH5yKSpx8V99tazMl8Dxzj0Uqfuty61IldCROHM51nAjwTjo+FIQ9DDoPrGXA7lu9HBnPT0Qi9ABuaQRnC4dVnU/Z3sZLGqnTaRuo4Ah7e7BPHghz/71wX6Fin2FWm3aPeXVHa5FE/714RTw4n0uMr9xWPkok3H9rdvQ4RsE07BZePRIkEfGo9HUCStYkDRL0bD8rcX/OS81uFCCBmx3vXSlFd0t59JiqFmRcjs5g3AIGqnYVbrJKIuf3sTtrgvme622epHmxP4r+KylX+U2C/GXSoXmpbXd3WOiV5XzC35cU/dAsH7NIWbmjrtZz8hvI+0gqKPxcTkIlYAPzTlgObsDEMktY2OG65JhMsY18esvnyBk6esyQhct1w6NEpHfFSsi+zNHvqdeaPLSAynJbiM/XZBr8xNL0h24tWa2siWP3DbCSH+nTJ7MZM9cAps5fgbap8RzNcKhhIcp4czuUKkEUga5DtZ25BdW7BqlMNtoMOhZRJT/fqc6FILEpqZLJBiwDNSb5YWpHL5+PJ5IJkrNyrcnFZKSMIm4VDToAdtAdQ6vmIdMYDg+Nb8MBxrAexDb+hWtbJxtrjh2DIqwopzNmlB+ekVb077kTJNAquHG5jyRTov9hNHPQFf2M6O7LSBFvbOHsj7joNSBIhUFytrn0+zoXC9fdVuetrCNd/ablxW53jGuceisdCugGklM5r+i21sfx9JZ68Fisy518NYTBw06Q2i68HwAugPW1o28NFQFHeD3HNSgLsP1+86eHR6tMZ+y+4crFEBJnJ517txlg5XvzJkrUkVX/n3V8xb5SsK0Mf+av/W1Rd0PGL0p/BEy48roX9V2tQ2FlbCQsmqYjBNM/Ig4iiB+p0V3+j8rl9XrkYi6F1kQc02Xd2yVVz1yOlIpsr8dMl61RtyzpvYPk42C2yjE89ufX5d65sCm6ak274ZB8PQX6VO/x67Aug/dLfz90G+jR1/7LfXoBOlGlsPpyIoUcWqTOxAMuE1qTsYyEKyM4zTGg9RwCYU2r1Uk8kSXoXgYj8sAI33zApdLCcPQRwErpeuAs/LoLuS2XfmmF2FjEFpVBAxA7TAlJSUCUGUBBynS/Pw5+HQtMtfiUfLzF+Kw8VH9oX0uobkgx/ZvCuTjvFFV2rE2KMwN5AhbsvNBDDGCDwa1cixCofjECqKd0PPnd7EoTK61Utu3FfnTooEWuwVoDt9PPLTDbJnb7OZ8a9wJAxfQzXZ0K57iQNyYwLCJEyBSZQV0mEOgNs15ah2A2373O4J1K95cgEMI3ETd1I0Wui6XCbyvWuP5mf3SizIxgMTRlj2gcDWaDwDPI950fAIAUbzlwxYLMoMfwg9NoQAiBEVj/dBKJh8CC+BgJ3Z9RqGsjm3yEZEA4m8NPhlDKjUm2IAAHsXS7dMIGM0Iv4aykqpIuUsAy+eqrntAzpujnwHWtVjyZArK3QXlNcvPe1qrzrIqLjeZGthpIjoLGjHX41toAL9PRB1wmZIrpdLP4pB6EWwvGOhQD2iIjc61wAX+cJRINHzeTkK/MhzcnoIsrBKgZjZ09RhkPkvMnFkQP36yG81hSG/m1tSggGZoQSG0jgO8iEjqCLSrFB8QLdPcY55XUQo1uvQBZHOIhC5N+8g4/ioa1o/pR0KLbnNTpWLqGJAHUBs5ufkCUJtAOIQUnzO2RKs5KVJZKk0JpGnYRwg9tAMa2aUDyLj54SyI2bpesYD2oxSfwYBJPq2lFcCYk2ODyYqieY6HQqf2dFwBh9LujBKaQ1/M01nfZZhjDjp3pMe2qEKAy2HDAUKKEIWJYMLzrZkKBSSKYE+PH31EMRVW/HciS4/qAaJUgItjbu0uDuENYKgWAFAq1Vb1kkNqdtRTvs4VjJrm2ARgZPn7IFI1PC//NPnr1zVnaRixg27M7h+c4B4hhvgzFxWYSfZDqgIC8ALx8VHBWWaz5a3Kr8GoIceBEXlncPC7BlmA6Z47+UbvAafTy7f8AThZlDX8cjhmafLb6xNBYHEM2x1G5mlyak+enlncq/1585UyME5/NHxFJAF57rnhY6CnyMEG3fP7jT9cKBy9/qT//qr74M0K8vydzy28C1hF4vuSc6Scw1+0JU8lDg2+gqjPzFn2r4lMIetHMBqWxVTXeG5j3dkpGvX7bfYtHdyVdd9zAE5Yvy08O/vbHc9+pUfwovwkxhauNCZ0OssTsL4vgY8N3N6mO9Ofq+zzDkaPPD/FWrOlVKD6FbZm4bUAKJb4n7p6CmlZBLU6Z0VarCYXj0Yds9oEiZRUPNLw5B8cw/l+jyPhne7/Lgzvnee56neevIgeHjYMKRfgL6yrV/6aLDZ8O9p77o7/3TCKA+bVV9n9A2vIhm/ejAPJtGNKHyEH5cwTUEi0EkgorssUTItHm/+mQqNRRqWxYR52hASjWenumXdH8I0zqXmPQ+tQXKvVSwRYTYbzranVnXfihb2sLBZLg3VY+DGzRz3hsjoipdvWSAycO7NHrp40VcHpTMaRo56t3yWYTXPRSROdhkECjQKEOBf1LDuQGuMXJ/+50rVscw58aMIrOaY7rwIDIeGFZMlDbH+NqoI1X1l98QHyvND2FwF3GL36HDCJ1aFNQIfQj6AFRV/q8YlAz1ZGwsIc3HF4Ji0HsMnKzM6eosOiuVCZ5ly+khl3+s7VfXASXoKHTpCnoc1NUC5ec6jdrQQzhI8H36m5JSpsuaVxXrh29J3dZ4++dgH8G4QZtVwGtzQc0zOPIeeDyyOj1VCCI8BP04en3xmaQMpgQM7Lqw/N8Hk5Ywi4R5avTuFnghcymmRGDVdB27HaIAKRD1eMFAT40/rKu9+92IB3Tb0TsBklSVg+NfT+XQk0Ls/vsZV9kNuLfjlBrqaPIxN5onsPLptU5h8U3teEPPcQZNuFIbLLYM2OuWgcuGbPJoDWUcOX7eGzXLxwwnVwk7Z55rGxCrdb4Z/25OHTdN8PUn4DhlloHgVkd+t98kJnCEknuPWok5k+fU3o3n/bObcehTvxU5DwKbXdn7OXAPs/u0F14+eO1GmwouAwz3b0ecSRNdyQgMDUbhj0aETQsaJj99T2WiWJgiJhTKiroWKIkZ+higJoDTV5HZvhdqpj14kDQ2JKYQDOUEqntpmp79zRa1ghFnNGuD5q1Hp7KqkDmTDPTjme72k+VKAJZ8plZAwxoGHgK9T7qMy2RCyYfJoeYX+jVscLjFMi77VSigXiIAGQfZE832aLlcuWgeZvCUJNkqnTemjTjuQy8UdUBD4QSAZwdXWUNZJMnoj/zf5vkUf6HW70XSyOkm3fLnuy9SETT9HZrPMfravH+XyrIpHcYHhyNTIPFmzvjuxLxNRE9f9gPr+cvCyspFDonFdPv+AHKWMg+D5dIgG6JNiUggqiBOR11mBJnKZJEBDZ4ViX3Ify6H16Ho2vgoGKN8H+gP0ahUJUuF4kBGqI40oxtvsCSDHTJyIIUaa6NZHIVJPDC+YznqWRdnE8Ry9qeTDLab153KuDpzrTzslBsFcIvYbl92ACwVu2mObpEvhejfWua2i+O9Yr8Ra0YcW/2/fhdFkMN+H+jVLR1Z9NpuCFvXiH1bDa8A5rsYI+d5q2jPbJLTproXFrCdLHEQJZsOBfJpIx+xFCJSO4hIHzt9FeO+jMXYM1f+B67dFknOT4Pa7pEFtLKkZQz7q5rvJMdh8jPLpz+tRf5kjA53EZoa7vn/g97W3ebV4CTcbDPrLI9huKNG9f87FbneM4Fv+nryWCoaNHYgHCI+wSGqfbWwCG5F2oIQNJB05cdk6AWR0nBJ1P42L/wQdCqwIzXQ+H48QYSjawBUEQ60VL3LZBISqkgPo+KJZI8CE37rIQrrjQ3D2X6BsWqCW9RetxMJe1D6tREgyGHIvBIEiE/4LKP9uo5Fth0q3D+GEVvp6diByE2LFUjizCoWK7rkViQNjqKPc+vHYa4Mm1SD1TmDwzNU3XrtpZkzBTfM1dzXR0SWjagb0EbQGXIH70n27VFB6x8Ey5MZA0nqvVUbrx4+x5sVeXKmpuvo09+W9aQbH0BekhsGibaiNatjbhGUNYTIgDO9hTop+Do/onCvFwKIjW2R276f0RdAbckqLBTHIgmv1kliU6B0OUKiuRPxfoSClLSBVSC59rToBy2zh8eCEaqx9pxnxaTF2HJmzrqwN4SRYItAdjsC8EOLWeTBu1uhft0Rymff8JVF3KDrecsrtiqds/AqNvc8Af6CIbYMPbZBzkZef5SqUijCDz1Qj01xZMyCBcuWsBH481nImsRtdoM5T5D7AUvmldXWjd5cs4pEujUvsHUSLGHTm8w5Bk/L7cYHYbY9oByw/tnY69QSuGm/Tmj6fsDck78tuiN+gY0cYlI2Ihm2v1hOKEaQktf3uNQrG0ZLmsX2z2VsdlmSUBRO0UlK/BW3taOh5b2bBWTY/ykVkpXiEYq1vIfLR8DeubIMPpQHkz4iGwTC6zIGO1nt0+XrjZkjq9JQJpNYZFKruXtBMSedwbu4eGmeHtnYds7kC6e7VEXWDRKlhqPcUkQd4ezg3dHFr1/4zrOAPeEHHMU1AMtKjSXfRsIYed55yY0Nr3fVNgnCtPf44Puyo68Hx5wXE5ZCioZRdinHgIEqW+zo+j2kmZGhAtM6SfR+p6d7MZ/JRSxZ1wugKnGnHS2W3ZksWwIhEHv5v1Vs4rkcteP+VeaVjgNzr8oLGyWALW5svol39KdjyOShWBfFoik43uUmuSovejUne62X3Xfmlv4xCpq6d6S+93gNNZxdu7P98nkBpjigSPN8jaaehoQWXz/hGPL00tG6qX0aAIS5M7J3Cv3OhU4w5Ocxnm0ZvqLXO5FpVZ1X/LOE7tMZhVkSwPFd6eaJ60JY5Td0mln0gDi2AR03n9vx6ReLs+NdMYl+wL99EXFyvsAWyddC6X0rZh9gkbotvvNxss/IMg7Ft5PKYo9hZPIUzkew2oUZB0TYLoZ6iJyFZRaFEqRErgjTArl7rdoKb3y3f7hFpkM+Tu+GH2qb297KzaW2H5sJiU9VkTHYjbUqnDbaFdAZW5tV8mcpPJW4AwjqM+UoUJOrKemxaEppbKoknZjwkgwTpwNCdnWG0q6W/qgMQClF4kxcMfCkA2+LLSppFShOGE6f9C26FyXuhLOMZZ/SDh8rGxvlwsDCORa6TfekZzfVb84R3e/fhyA9YRthpi8wWRgTcq5AzhSYxVMCFoKcvOK2HwMQNFowQWE5zTttXRFGo4UdXbdAyKkuNJwQGD8TDM5tClekN2kfTLBteQDNBsoDW97WS5qZQFYhCmRHw+ZczQWJzBpMl0tok+xNbo7IRZ/9PKj6bBH0GW7WmZ5SvMpEgaSCsRS7bYKTP8q4YG/qqmJhW0BVZdyALB2bOxatPP4GzJ/UKJMADY7+XFcGzECyC2CDmjJIUQ6nkvcGXY2YMFMI/puHa7paJvG9JzjbLk7bp+eEGlzO4Jz1OefMRPhjang2i+AL4suxekfMvYGAmA5fsRRulWgTx5wkwUFTORjsWwMGI/yXE8ny2wbL6Spm4bbm30BE9X0BLeAxmpuEJla5LNyYOi9MIZmC4FRQsilwRlC5MDxEn0Rnrd6QzGEDxG/ggaF3hjfQxBc1wzp9yTHA1BH8vSa1KGHKAH/XHnsswD29oGvm+wWLKoAO/YQMAFmtP1oZtiJ896TgWMtlDo0+wbNHW+jX6Mv1CynwWz8+RYkyy4c5JSWVt7y94BCwP6sEiYABOYuobWKqG+ZWqaEIdjY1vMvpHMoXzhD5P2SCzmc5L0CfeBVm+IrmR9f8mEwsHCkH6ogNINhc61XLhwu46dZDZXCnFqk1UyyPI3BF0WJVPW3gGrwzfC3iFt1yCOz/FurQW3DmLJDSTIGNxumxtBI+MOslatnjlRefu2ycTsYZdyQsGnQcI/N9eou0CDMu31eGH7YY18gdQVXg4FPVa3hzSoEeLjjDKj1e5lh7khMwp8vnlsTLQJ48vpbmGwHDfglu9bQz0sJ4wXuj/6hxJyFmYm7Z/y47dK6J5QwJ6Etql9QV/7vWZVWyJn56e6nUohgkZMd2eg5kutkbhkFOiT6I2MokLOancUFskTXa+iI5Xi+1l6TgIhu13CxB3OLgmJZzcnEHLCKHriLcPh7E+bwEiQLKfFUl9/QXX2bY+HZY+RZoGxIFkPeP5EZaeG4Gl4ygjefWSJGiGW4rhCQDA5hzvWidampmQmLfZiXNcmULf7x4UJTmUSxu4ih+yNg7HcPzbWL3e4TJZjODaTxsKsxsk/sTMZriBH6e+N44ycl9HPhKa6LUxF1sOgeYzFsE0uHOuCqCVCoBKR8ud0wWJCGA6HchWnrenk5F5dd5coCOUsIWhyZ8SWHfiT6L10Q2OaoZtaViCUKmFIBQIeYuq6qmwUKEivV4novgxFROilUj51VOJ0LgmkqmpfaOdtXWpv5yU/e9LjmVoUpcwESkZUJGVzKBUwqpnJuWRew0Td76PWCZgjwGf05mExl4P+D9FZKQpFPJtsKvIYjIStK/trdSk4/myo0CUaskxOWg+2+OQuV7gxYGSQXdFovDTPbMMLklxO0oy+ADNLy6MOWCpVNwkfKR3QW5BWTLXR6JgooVOJok6xTQFL0TIytV7BBpxFxaUevZDP6eEmZZ7CkwomfT8t12B1hPZQ2QkuoHSe13eGhLJn77ldGTFrRxNJcpQw9h5Dcs8uKUjfZ89EHdX+shi8RP3G5co++MTRE1vAgAwMwGVbUlB5WUdlXpwW7W9gK/jDhQyyBY5G6T4G6vkrw2Fr7aK6uhAS3i02kVUJBZd+fN8Cf6WQKhOMMaJRmWVgjMgpoVmcx7KKqOAHEkEqGckAzenPKSpz+54OZbUMZmTM3mzHgu1EkjndYNR0wIRUTZZkBEGIRFUHLAd4PjFGHc61pHte3jmrhb5WHQMALZxklXBgobPKdgJG4tzBWtFe6ON0yZRwUNHARpxZAarMf7wB0JL0AWngtRn95cd29r9x+uljZadDJygBt6Inxj/OxhnJDfgPyQKckizHAck1uFWyAvskN+MRyUU8drHeLw4fk1yGD0kuv7BHeXD0ovxFthgLL9176+Tunn8cTLv0XxDuzCjjgBeDJYkJu9nwD5HDAKU3ERsVf83dS9/g1q87/YqeAAxqcPziQ2rYaHFRTXeCW+JXgcdxPTlQlIKNeFaYS/x4gAJ2wlc52R8jaZJ9Uu5pHR9vqtVHE5cHLEQb3rdAH//fi92VEyCU9qOZbVRgQHqIE2F9zJOgiqp1ztoG+6m79W0jRwKqwDWvr3A69UoNiQFPMLN2V+qdV69WdycdOkGLWdLuD/EtLCJA+os0ShBY4J8264fWCXC0n8Vy7HVg4kHB2ruXV0PGJzPNtaumJmmai24uiXLgTeFSmRGUbd084x4DSqAocdPJAZruwjVLY3kxpqXAynonbblNT7WwqPTi5wyHDwe6fL54eXPrbP4gTIdt6M039UV7izYdWAzIYuQqrzfXHFA3U4/1Bi41qvwwlDSWHdImHR/4fmTb4QXHVrEcVLh+BaA6Qu5YOn70UO5qze81tMyoil6BCSEOwvGv+YGr1JVlgB8F7McCWaDeGsbp/LExw1+IhOLI+bGhDx0tGTIc8hBK6x1rxi5IzPYxwQXg6NuUuzyscl2Ezv8HunDOGrzgrVrcw1dQ90dsJgLoMAfdv6vCsnpuNaUN5VKpzh2JmIXjtO31KdhpICTZqG7aRnnRD/vbcPx3ygPZhgJTqaSSL/aPYvzzD0zwiozbvS2r3oLzb9zkdg844mColtuEwogdYtzfdIJyAeSMmmoHf+Zo14LyzFuYVYWW4HPV1Gns9uChiA01IiYQ1MfmoKoiUm1r0wVZ5Tzd/c4REOgYeP5id2H1sPOs3IS6rUHXv6N4jWrEUD2PhBADwQ4jjB2IOEGSJkxI0Gl1OoUAVwtI7gqAdiqUvloCHTL0+EmT5Hi/nmwxIrzkoPA93ymriz9PdPUC9odCTRKZ7+tvaDgKvWA2O1dWNuQMveCFHF8pAmSgpqg+6LtjHNQqdqS8s1kYmf9M93Xhv3AYLLgQzLOQSaf5zxCrZQSpKmHxaRGgr7Exd9r4B7JMGUw9ZBx/22IKml/79MRTI771rH1xVKrNosWHu97744i/+aYf00oFT75ZLv30zEubXlcvzJhzDs/PbhiHw2CQWxgQQhGmkwmO+lGOMlHmHIZCiJXjMqEGnrs4QHDCgPDMvEU+YuPkTdHjOWpuNCHfmedYJSDPX/yMRXqQwLBDCJ6wbtzKVccpHhJCjam6deOOrTyy+FE0dXVTmIh5q/t7hCeTvvshx0qC8G20YrGSv/fwFDcNhAfQ7JPp2SYjjoPI322h7PnqoegkQALKfGRjNThuKa9Z7AYBWzU6fKz7/n8a6MlBDuf6KY/TIZJzgK2mJkaJ0Xg16jtozE6PYmi3Ylgt3ERAvSGKm1L5bDXs/AfAIr/SKoNwslR1ZGiUq2kZ6pCxJ8Dy1GAtS/B2UOhGIJ8zyY0egOyQgpecmsEVHYSv4h+HtuQLW2C3z0UPzy6z9NYlgtptkU1bjyPUni4eKZpobuBeYJpgNgKDwO25ot2DsXsx18HbtySt7FrY764HtzaklAhsrvdgGLj/EKRMqeYPHVwNCaFVJW6P2liIvQX6yCcPobk89JMQ96eKg8AUh02hMJnmQEwukE8tT4vcH4LZHBylUvT2VyUS+pziEi5DmAnrtrqT1em9CucdKWxWgw9awxO0IJjxkGCEaT/GNCMk8GAGoZ52fit69IGwJp5EKCnsRIqAPaBIiBGlnWGq1zwHbVutLDDEq6pAjxauWICLNJfkcDlBDqNCS5w90vrTDq5WWjmc6+9hY1h1x087HgZRJoUdrmnjcAMSOR7ffWDCCH6mpB21c/YNDEM8WKra5fkfp2fR5dmKcrFZPb66Om3dYSJczDxMsCwwqjwHVWVr1bdGeyE5pnt61V0EzZ1TpPBigJenAkOAHBl4jYvbpmma+1Qzo50oMaTwwREgRUI8iupCQeYGyGGWKEFU4Mj1YzIFirP8aYI/9fsEpeQfJZBDoMBJnCizfV5i0P0ZCK2Hv2/5PLptKAboQO+k3lr/e0yf5Y3w1oKwgOyN6hOBZiNgpNO5LvCFtpc9cMCRysUJlNdpBNKR9xvWlrySZIX+nzDwa6rgeheARGB6OFYciEOcMXfbwouGlENuZ6M8eSSpp5Dp2wrj7Jccs/yZ3r64pvjCLASRMab0GiH72BkEbHVfqjwabQMxCZDPL3xwW7Diypnoo4dxNoSTHmqigg5P0WffcPi0XCi4jlRmmg/Yt1jqaEnHWzyR4AYWZOGZSOg9jxWRKMFkxSn0D7kWsFPw1i6beTD3/IAmMH7efzcFSWNggvcIfZp792A4TKEWDRq9kCWBI1oiRbFKwFNJkEqqGhA2qT+zHu7gNSezmuH1kNuL5/P596QlQXUmNbOsdtaMIyXMkuEcYZiUSrmtxlB9tCUiOnoDZWciEAIWyKH47e2+SFn/pY5kdjZuUpoI76gBWXJCoCR0StmODnDl5x1lsuU5tO5ED0Y0QQVP2kE/nJimmZFgUTMno7IIUh5TG8HrSOlDlhP9g6xdvODJm9PHQ3FOV7dRaKyLF7suQmNdbIzzvv/YNbAF7QobWPb6+gu4JMgqF6zItZaFYkNJgmg3Wsi51to+Tc4PoyQkKLRfuK0oEMYLN1Rsf3S7mQC2OQ/u/q8KvcdqACjokcnFRMJ0LWibMzuP6R0sktSv9wg/BiH8yLUzjWMbjor9PPMnAjT+FbQm8GPry9Lt2mgfY8dhOzxppyo75ZSe+ujx2ozmkw4xRLW446LukGahat3zFDkK5Dn/CcvC0ItO41dieqSeWIxfkLm4sjMfA5LuuMgW+evUBaGfB8CChkSidYUjeuRy6rb6ZNCxKUQQ9YquL9RKzz3bdChHccY4fTpMi03M+nw7s+vtKlGP1esdguTEKbCh8WVRJoIomGBCCdz6/D53Cv1DjtEJkUm02xmabnjjyOHOo2lJMyQAfiEdCrcRoXRNAhlaNNNaZMMLNd5o9a2TgrRk/dyspCsQK5E/qAp+JGKg53iQuAJ9Rk1gXv2wGC3kCVUQnyLgyAmIjR2pEqsKJxS9tPu2io9dzbF1KRI5RRtPUgKBRcR3AVAqY1rKNK/OP4jWzrvv570nK++KrLpPii3crLaFZl9mt/s07cv4Zxb165dRIrl3T7ivkT+RQ9rwtFYd1YRQa3SnfhFWAbqTQ99UD4fR3irqtr5UHtuymzpJmS+Gjne2F0bhieSJ/Z6c/FlFCoRmidbrKZ+Cw4K6reWkJbn9U7NI+6KtcgsGNk1N34IkM6ZUbW3X0Vmj4IYw8A8PzqhJCTARs3WGxGHWvbzXnVag4bpv8Xff3nyyTS6AxQtU8Jj0rPNnFbfvszz93v/9jWl5BCXu/NmcG/zI8ZZb7l4DOXn87kOhvwAEaPz/u5MIHz4V//uU4gDw6xu/uFvv/4kZ1nWX/wGeAioCAlo/QKO+whsb18DqccDtu5AyMpqI6xkwLKR+a9zX54RNRFXjtCzvTVXPqLYPJR46/Clr8c+q3GWLay6gK2uITWBqDeiJy9In3NfqJQ0SVY2N0Dh50FMbWS/UNbL4qd0nDYdUyQQXgkaocYPUhgBzXuC/qDKXYYJ2nLB5yqjnfS31YhiyXu5mENs44Xto+1xxo9JC5+crOUaV3yjWdyyCT7ik2GdIV61Bxa4xAtpWMmER0WtEumGdxtJD1u8rDvkly1GtUGrtxIpT8NRa8llHLBxvqmm285P/R6feu7BaQ7F62NoWY+kjf6+qWCmSczmtCCCyIqnFP/N+iXuvCz6hifkp7i3F4lWyqWGf8tZgofpTSnSsZazWHZIHHvUGhayKMqt9ZH+7Zu0QKLOtymm/y2r15rS3sh5dQ5htN7yCf2A3rIKzsAeqtb0It+PYQmpaWg/jISUeqd1ptsh2+hBWKblcgovwAKpqr7Xa1T2Zk4HWx82yBdAyw0YWFpqSJa1cZNP88o0nMAteN62ueQpv9urJsiya0bCb7easzPIxt+X7mMTZ5ce36eoXhQ2AKdDmBMzTyIpKVNOHGmqygVDS9KbMfC/eNr82CYUuR1AynpcVRvzTZVctlkRTRBuV1BQxUFTCF3gN1wIb4M7FUebe28vqBvVzIpsVrBz8M8f/eUkTpvJ2QmQdpK0OAfW1STkhplaY1TYkt2ZZpcjc2iildliQxh2mdplUDppQforKO0BS9RJX/pJa7cvgm0KqLUyq9pZzs6o6kH/AplywkaYxNcq5xOeHE+MtE8b8shNHSJq80lI0yqF3t2Qlq9KdjWYHr+uYB+VdLoveAVB4EAS+u+yvc0VWQQK+6cz1btTkWXWLJulYQa1lzwf4wNoG8AjZzlwSwJdVxxh42+Zhw4djFOtNqtyOMMsDtwIXApsC5wOPAd9tkUrSCukhqzqlDcCv3UG0Dx/Tls2y2xlsqxWZfLH+3zv1E54QlBFiicRioFusmpkVY88jmhDA3VH0zUiUTc2ENJnNFI+Km2nmOZoZ3nqbWeaeq9IIlw9ABImDaHbH2dnsQSGneTiR9DGeMRPodeZc3KwmE9s8Aiey2ZucptmHiHfzSKas1FE4jZs1JETgtzdwrOWWmS3ZeKlzuqUWmWs4tRSpJnehhWJNK01duSzz+Dd1dpBbIkjmVl2ptL/lWpWk1amZjcssMiEcktQ0Uyfa9RZYKDV09DIdZeE6J9l08xB6k6tvih/5cleXW26eZPPr+mSpkkML9cdHdQt6VlpgvD1IbqVhIlvnAmmiZYtFq84fLQrNV1Jz4zFyw422QGpqOuZNcujxMVedwyiu5SjNoblIU4XfF3Z0bLMx2icWkNTGVVYm3ankydnpTZkVdd40SVAjenq5xS4217PTT1quYstTm1RJlbcwhi+UZg43c4sfc/dUl91Rd0WYT3NG3F7b7AMFDqmMAMLeHJVOq3XL3KvoSUJhf4/AIRgcJRnkFANU6s1Toy45KL5on25w5nLZPklD+/1wdScl/nPbvym9XJ8KhnFLmoz7RfwkeXSnGW7+lfzsW83TAr/a4b677mXDxfz012fImAkVnOGVjdqIMcm7j9LCuo3U6IGHFibiqn4SRjVvhO9vUsWKG13CGJ/8FW6YsOHC+6GiiAItssTSkCwOOYpky5TkiWiCQtcq2HI6IWEI9aMVUqwMM1bsOMYLCzeeCUmOb6JHMiKQJlX6BbikhONscekm//UFkiL6zUyRGekFhN3nkdZY64gsq6xObnnJy/ebqSkQZVoKU4hOUcW2mh5lJWLk5rvU1smWk0sASprRrxXb8+J2Id6fPl/iT1JCnwU/sC8+Ethgt40hGFIwYszko9u2LXrp70JQkvSxovo/1r+nTpP2A+FeveEiAHpUrtzXASAaWuKf9v+voqnmWmotQYh2jK2jxCTG0kg0i117S5UuU1vtdWD9Q26m98aROeuczemsq+56VDtPhFHldzdcT2999Bk4xbJ/WLnmokt+cZI1G0pSbdpd8LPZf1OuvwSONNre9rVfKX9+9HJPnnwF1jukOGON22JTJjrYpL8z1d8JVjS8WPESJUuVvhQh+tfz+utcjOKkLw1ZTq5U+304QGaJwiUk0yiruqHpd6QQJVlRNd0wLdtxPVw8fAJCImISUjJyOEXIciIVgpqGlo6egZGJmYWVjZ2Dk4ubR5b0j1it6nZn1/C4NmlWlPq4rFRpgGxhiTJG2ToeetRToto5LEMpQUbJYhu1QBXkXKpSdZQSEmR/RAmeHcyy6+GzH7Duei5gqY04vSMCLwdWxwxW6ZEt8zVr2RIeOZJ+M/I2QspSedYkrHIjTS20Mc9/Zum/2S/r/az9B1EC3vsvrsCHOkOilYNPYxz+dAQUFcgDLepcwFIbS2KxjTw/oARf/u/qU29pi092v3Sm36A67m9dCOkeiR7CCHwr6u6wgorKOwrwveco6yrDnTCs96L0Q/15gnRCAfu6lhK1KtbGonWUAWmLAzNTw+Z8QFnXgfCTj93EJqX4WaAy+TPxo2VnD2A5NJ5tVQ8iGKzPFJT2MGy7xOKuK98e+QkU7CZosEfMKs9LDo6joiKfaq0V+11mKS5VgUsq93xMa+B8rM0zO7JKSlUsw50wuB5hpMgnSHD79z7Gj9SBXcJ/n8Xl4R+gsjePD+dA5Sh0XX5LqOdFrBNzykr25oI+G2WPchpln6zNeuNs85GU2tX7ogvvLe26DiGqXUwtD/L5ysTXwYYyERUuShF8tmv0OGg0zZhJRIZRdLfoD78W+zPuDWvU7ppRoz5cDRsLcxAJYeNGA7ZJNOQfd3bdzBbFIkdjS6glx7Sap15IWRI0+ijJyWZ5fHFWZm1vfBW8l9fGnAYfWZ70T7L037Det+ZSkdwH1fGh1zek5KETbdPitrJgFXYnB9+Yj3f1KppB+xqqoyH4OfM98WgNxtfg+6SoHH0+yhxwFRyrtNaOIxSLKTqY9/iQItH6xWI6hbXV949G7kPeWZt5+1bZ5icZH6rHSqmsfV1E7va8k7dxF3gQUM+jxqWeR8OQ+j5FIorFNAzpGpjkw16dgLVZOtft1/642TsNu/IYrtyLWz4MluTBFgCFcOVe5DgwRYQB7FzY5RIGjBMH6J55AK31xR9AgubfJqjAvQMwaD86bAFQCDNoHAAE7BQwAAAHAKB7AFrAH0CCCjwFDXKPTf1x496Mcbg/P+OUuMeTyIvT2YPyKw1eCGLlyBnCVH5qt97tGqQHRJ55RSOfKMO7VImG6ER4ueib7o9ZHGjvqzD9T9csjVo2Lkq3nMBzHnA7Zq3g6XGTV9Rt2UT9cteBDg1Exj0MUseiifsaVhyzapLUtR+MBh6WGMsmmkKQPOabYbXOv7G6fPSyW9PFtmKlTFhTPkX/qXBm7aJu7LrW6Bn7XuRk8sT2p8B7smynMe6xr/vZRM4Rn8+lZ/EqqvCkob7UmTeIl+TYTmK7Co5HYTfuDeFZ6+DP9utwr7Pqm1jGfsKzl6vam0jBjqqhxjrz5lD+Z7+wyeNjCwAA"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.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://astroxcinvest.com/","date":"2026-07-27T03:56:41.719Z","timestamp":1785124601719,"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 /_/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://astroxcinvest.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\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: 398757\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":20284,"size_decoded":4799,"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-04T07:33:36.995174Z","times_seen":19356,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"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":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:43.615Z","timestamp":1785124603615,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /manifest.json HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://astroxcinvest.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":"","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-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/js/gmap3.js","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.628Z","timestamp":1785124599628,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /js/gmap3.js HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"7a71-5aa839fc-2046660928f6e431;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 7351\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":31345,"size_decoded":7728,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text","md5":"ddbf3b7927b350f466f9e34ea7ed98a4","sha1":"6b5f4baa17c330489425c3e3bf67f4cdd778a763","sha256":"e5cbe5656f77594cb19de28f05387ac2abb13e7d6eadd2eb840076cae64edc9b","sha512":"694fcfef91c612a141506875001006c608fcef0f7af62525551ef2e58d7e46ece29da1f9070584a935717d481c405747b20f6f8298d15fda5759ec7a7db0eb9d","ssdeep":"768:SyzHjFmEsxoTxb2CPP440jbNRjvb44oJnBAbXzDd:SyzDUxoTxb21n","tlshash":"6be2fb4d3df3308185b7b5bc4b5f6409b279a213700c8a407d5da7e09f9663adae2e9c","first_seen":"2023-03-10T10:56:13Z","last_seen":"2026-07-29T06:17:13.173346Z","times_seen":349,"resource_available":true,"data":"LyohCiAqICBHTUFQMyBQbHVnaW4gZm9yIGpRdWVyeQogKiAgVmVyc2lvbiAgOiA3LjIKICogIERhdGUgICAgIDogMjAxNi8xMi8wMwogKiAgQXV0aG9yICAgOiBERU1PTlRFIEplYW4tQmFwdGlzdGUKICogIENvbnRhY3QgIDogamJkZW1vbnRlQGdtYWlsLmNvbQogKiAgV2ViIHNpdGUgOiBodHRwOi8vZ21hcDMubmV0CiAqICBMaWNlbmNlICA6IEdQTC0zLjArCiAqLwooZnVuY3Rpb24gKCQsIHdpbmRvdywgZG9jdW1lbnQpIHsKICAidXNlIHN0cmljdCI7CgogIHZhciBnbSwgc2VydmljZXMgPSB7fSwgbG9hZE9wdGlvbnMsCgogIC8vIFByb3hpZnkgZnVuY3Rpb25zIHRvIGdldCBzaG9ydGVyIG1pbmltaXplZCBjb2RlCiAgICB3aGVuID0gJC53aGVuLAogICAgZXh0ZW5kID0gJC5leHRlbmQsCiAgICBpc0FycmF5ID0gJC5pc0FycmF5LAogICAgaXNGdW5jdGlvbiA9ICQuaXNGdW5jdGlvbiwKICAgIGRlZmVycmVkID0gJC5EZWZlcnJlZDsKCiAgLyoqCiAgICogRHVwbGljYXRlIG9wdGlvbiB0byBuZXZlciBtb2RpZnkgb3JpZ2luYWwgb2JqZWN0CiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMKICAgKiBAcmV0dXJucyB7T2JqZWN0fQogICAqLwogIGZ1bmN0aW9uIGR1cE9wdHMob3B0aW9ucykgewogICAgcmV0dXJuIGV4dGVuZCh0cnVlLCB7fSwgb3B0aW9ucyB8fCB7fSk7CiAgfQoKICAvKioKICAgKiBTbGljZSBhbiBhcnJheSBsaWtlCiAgICogQHBhcmFtcyB7QXJyYXl8T2JqZWN0fQogICAqIEBwYXJhbXMge051bWJlcn0gW3N0YXJ0XQogICAqIEBwYXJhbXMge051bWJlcn0gW2VuZF0KICAgKiBAcmV0dXJucyB7QXJyYXl9CiAgICovCiAgZnVuY3Rpb24gc2xpY2UoKSB7CiAgICB2YXIgZm4gPSBBcnJheS5wcm90b3R5cGUuc2xpY2UsCiAgICAgIGFyZ3MgPSBmbi5jYWxsKGFyZ3VtZW50cywgMSk7CiAgICByZXR1cm4gZm4uYXBwbHkoYXJndW1lbnRzWzBdLCBhcmdzKTsKICB9CgogIC8qKgogICAqIFJldHVybiB0cnVlIGlmIHZhbHVlIGlzIHVuZGVmaW5lZAogICAqIEBwYXJhbSB7Kn0gdmFsdWUKICAgKiBAcmV0dXJucyB7Qm9vbGVhbn0KICAgKi8KICBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZSkgewogICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCc7CiAgfQoKICAvKioKICAgKiBFcXVpdmFsZW50IHRvIFByb21pc2UuYWxsCiAgICogQHBhcmFtIHtEZWZlcnJlZFtdfSBkZWZlcnJlZHMKICAgKiBAcmV0dXJucyB7RGVmZXJyZWR9CiAgICovCiAgZnVuY3Rpb24gYWxsKGRlZmVycmVkcykgewogICAgcmV0dXJuIHdoZW4uYXBwbHkoJCwgZGVmZXJyZWRzKTsKICB9CgogIC8qKgogICAqIEVxdWl2YWxlbnQgdG8gUHJvbWlzZS5yZXNvbHZlCiAgICogQHBhcmFtIHsqfSB2YWx1ZQogICAqIEByZXR1cm5zIHtEZWZlcnJlZH0KICAgKi8KICBmdW5jdGlvbiByZXNvbHZlZCh2YWx1ZSkgewogICAgcmV0dXJuIHdoZW4oKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgcmV0dXJuIHZhbHVlOwogICAgfSk7CiAgfQoKICAvKioKICAgKiByZXR1cm4gdGhlIGRpc3RhbmNlIGJldHdlZW4gMiBsYXRMbmcgaW4gbWV0ZXJzCiAgICogQHBhcmFtIHtMYXRMbmd9IG9yaWdpbgogICAqIEBwYXJhbSB7TGF0TG5nfSBkZXN0aW5hdGlvbgogICAqIEByZXR1cm5zIHtOdW1iZXJ9CiAgICoqLwogIGZ1bmN0aW9uIGRpc3RhbmNlSW5NZXRlcihvcmlnaW4sIGRlc3RpbmF0aW9uKSB7CiAgICB2YXIgbSA9IE1hdGgsCiAgICAgIHBpID0gbS5QSSwKICAgICAgZSA9IHBpICogb3JpZ2luLmxhdCgpIC8gMTgwLAogICAgICBmID0gcGkgKiBvcmlnaW4ubG5nKCkgLyAxODAsCiAgICAgIGcgPSBwaSAqIGRlc3RpbmF0aW9uLmxhdCgpIC8gMTgwLAogICAgICBoID0gcGkgKiBkZXN0aW5hdGlvbi5sbmcoKSAvIDE4MCwKICAgICAgY29zID0gbS5jb3MsCiAgICAgIHNpbiA9IG0uc2luOwogICAgcmV0dXJuIDEwMDAgKiA2MzcxICogbS5hY29zKG0ubWluKGNvcyhlKSAqIGNvcyhnKSAqIGNvcyhmKSAqIGNvcyhoKSArIGNvcyhlKSAqIHNpbihmKSAqIGNvcyhnKSAqIHNpbihoKSArIHNpbihlKSAqIHNpbihnKSwgMSkpOwogIH0KCiAgZnVuY3Rpb24gcmVhZHkoZm4pIHsKICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9ICdsb2FkaW5nJykgewogICAgICBmbigpOwogICAgfSBlbHNlIHsKICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZuKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHNlcmlhbGl6ZShvYmopIHsKICAgIHJldHVybiBvYmplY3RLZXlzKG9iaikubWFwKGZ1bmN0aW9uIChrZXkpIHsKICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChrZXkpICsgIj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KG9ialtrZXldKTsKICAgIH0pLmpvaW4oIiYiKTsKICB9CgogIC8vIEF1dG8tbG9hZCBnb29nbGUgbWFwcyBsaWJyYXJ5IGlmIG5lZWRlZAogIHdoZW4oZnVuY3Rpb24gKCkgewogICAgdmFyIGRmZCA9IGRlZmVycmVkKCksCiAgICAgIGNiTmFtZSA9ICdfX2dtYXAzJywKICAgICAgc2NyaXB0OwoKICAgICQuaG9sZFJlYWR5KHRydWUpOwoKICAgIHJlYWR5KGZ1bmN0aW9uICgpIHsKICAgICAgaWYgKHdpbmRvdy5nb29nbGUgJiYgd2luZG93Lmdvb2dsZS5tYXBzIHx8IGxvYWRPcHRpb25zID09PSBmYWxzZSkgewogICAgICAgIGRmZC5yZXNvbHZlKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gY2FsbGJhY2sgZnVuY3Rpb24gLSByZXNvbHZpbmcgcHJvbWlzZSBhZnRlciBtYXBzIHN1Y2Nlc3NmdWxseSBsb2FkZWQKICAgICAgICB3aW5kb3dbY2JOYW1lXSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgIGRlbGV0ZSB3aW5kb3dbY2JOYW1lXTsKICAgICAgICAgIGRmZC5yZXNvbHZlKCk7CiAgICAgICAgfTsKICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHNjcmlwdC5zcmMgPSAnaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP2NhbGxiYWNrPScgKyBjYk5hbWUgKyAobG9hZE9wdGlvbnMgPyAnJicgKyAodHlwZW9mIGxvYWRPcHRpb25zID09PSAnc3RyaW5nJyA/IGxvYWRPcHRpb25zIDogc2VyaWFsaXplKGxvYWRPcHRpb25zKSkgOiAnJyk7CiAgICAgICAgJCgiaGVhZCIpLmFwcGVuZChzY3JpcHQpOwogICAgICB9CiAgICB9KTsKCiAgICByZXR1cm4gZGZkOwogIH0oKSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAkLmhvbGRSZWFkeShmYWxzZSk7CiAgfSk7CgogIC8qKgogICAqIEluc3RhbnRpYXRlIG9ubHkgb25jZSBhIGdvb2dsZSBzZXJ2aWNlCiAgICogQHBhcmFtIHtTdHJpbmd9IG5hbWUKICAgKiBAcmV0dXJucyB7T2JqZWN0fQogICAqLwogIGZ1bmN0aW9uIHNlcnZpY2UobmFtZSkgewogICAgaWYgKCFzZXJ2aWNlc1tuYW1lXSkgewogICAgICBzZXJ2aWNlc1tuYW1lXSA9IGdtRWxlbWVudChuYW1lKTsKICAgIH0KICAgIHJldHVybiBzZXJ2aWNlc1tuYW1lXTsKICB9CgogIC8qKgogICAqIFJldHVybiBHb29nbGVNYXAgQ2xhc3MgKG9yIG92ZXJ3cml0dGVuIGJ5IHVzZXIpIGluc3RhbmNlCiAgICogQHBhcmFtIHtTdHJpbmd9IG5hbWUKICAgKiBAcmV0dXJucyB7T2JqZWN0fQogICAqLwogIGZ1bmN0aW9uIGdtRWxlbWVudChuYW1lKSB7CiAgICB2YXIgY2xzID0gZ21bbmFtZV07CgogICAgZnVuY3Rpb24gRihhcmdzKSB7CiAgICAgIHJldHVybiBjbHMuYXBwbHkodGhpcywgYXJncyk7CiAgICB9CiAgICBGLnByb3RvdHlwZSA9IGNscy5wcm90b3R5cGU7CgogICAgcmV0dXJuIG5ldyBGKHNsaWNlKGFyZ3VtZW50cywgMSkpOwogIH0KCiAgLyoqCiAgICogUmVzb2x2ZSBhIEdlb2NvZGVSZXF1ZXN0CiAgICogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvZ2VvY29kaW5nCiAgICogQHBhcmFtIHtTdHJpbmd8T2JqZWN0fSByZXF1ZXN0CiAgICogQHJldHVybnMge0RlZmVycmVkfQogICAqLwogIGZ1bmN0aW9uIGdlb2NvZGUocmVxdWVzdCkgewogICAgdmFyIGRmZCA9IGRlZmVycmVkKCk7CiAgICBpZiAodHlwZW9mIHJlcXVlc3QgPT09ICdzdHJpbmcnKSB7CiAgICAgIHJlcXVlc3QgPSB7CiAgICAgICAgYWRkcmVzczogcmVxdWVzdAogICAgICB9OwogICAgfQogICAgc2VydmljZSgnR2VvY29kZXInKS5nZW9jb2RlKHJlcXVlc3QsIGZ1bmN0aW9uIChyZXN1bHRzLCBzdGF0dXMpIHsKICAgICAgaWYgKHN0YXR1cyA9PT0gZ20uR2VvY29kZXJTdGF0dXMuT0spIHsKICAgICAgICBkZmQucmVzb2x2ZShyZXN1bHRzWzBdLmdlb21ldHJ5LmxvY2F0aW9uKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBkZmQucmVqZWN0KHN0YXR1cyk7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGRmZDsKICB9CgogIC8qKgogICAqIENhbGxhYmxlIGZ1bmN0aW9uIHRha2luZyBhIHBhcmFtZXRlciBhcyBzdHJpbmcKICAgKiBAY2FsbGJhY2sgU3RyaW5nQ2FsbGJhY2sKICAgKiBAcGFyYW0ge1N0cmluZ30KICAgKi8KCiAgLyoqCiAgICogU3BsaXQgYSBzdHJpbmcgYW5kIGV4ZWN1dGUgYSBmdW5jdGlvbiBvbiBlYWNoIGl0ZW0KICAgKiBAcGFyYW0ge1N0cmluZ30gc3RyIC0gU3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgaXRlbXMKICAgKiBAcGFyYW0ge1N0cmluZ0NhbGxiYWNrfSBmbiAtIENhbGxiYWNrIGZ1bmN0aW9uCiAgICovCiAgZnVuY3Rpb24gZm9yZWFjaFN0cihzdHIsIGZuKSB7CiAgICBmb3JlYWNoKHN0ci5zcGxpdCgnICcpLCBmbik7CiAgfQoKICAvKioKICAgKiBFeGVjdXRlIGEgZnVuY3Rpb24gb24gZWFjaCBpdGVtcyBpZiBpdGVtcyBpcyBhbiBhcnJheSBhbmQgb24gaXRlbXMgYXMgYSBzaW5nbGUgZWxlbWVudCBpZiBpdCBpcyBub3QgYW4gYXJyYXkKICAgKiBAcGFyYW0ge0FycmF5fCp9IGl0ZW1zIC0gSXRlbXMgdG8gZXhlY3V0ZSBmb3JlYWNoIGNhbGxiYWNrIG9uCiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gLSBDYWxsYmFjayBmdW5jdGlvbgogICAqLwogIGZ1bmN0aW9uIGZvcmVhY2goaXRlbXMsIGZuKSB7CiAgICAoaXNBcnJheShpdGVtcykgPyBpdGVtcyA6IFtpdGVtc10pLmZvckVhY2goZm4pOwogIH0KCiAgLyoqCiAgICogUmV0dXJuIE9iamVjdCBrZXlzCiAgICogQHBhcmFtIHtPYmplY3R9IG9iagogICAqIEByZXR1cm5zIHtTdHJpbmdbXX0KICAgKi8KICBmdW5jdGlvbiBvYmplY3RLZXlzKG9iaikgewogICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaik7CiAgfQoKICAvKioKICAgKiBSZXR1cm4gT2JqZWN0IHZhbHVlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvYmoKICAgKiBAcmV0dXJucyB7KltdfQogICAqLwogIGZ1bmN0aW9uIG9iamVjdFZhbHVlcyhvYmopIHsKICAgIHJldHVybiBvYmplY3RLZXlzKG9iaikubWFwKGZ1bmN0aW9uIChrZXkpIHsKICAgICAgcmV0dXJuIG9ialtrZXldOwogICAgfSk7CiAgfQoKICAvKioKICAgKiBSZXNvbHV0aW9uIGZ1bmN0aW9uCiAgICogQGNhbGxiYWNrIE9wdGlvbkNhbGxiYWNrCiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMKICAgKiBAcmV0dXJucyB7RGVmZXJyZWR8Kn0KICAgKi8KCiAgLyoqCiAgICogQ29udmVydCBib3VuZHMgZnJvbSBhcnJheSBbIG4sIGUsIHMsIHcgXSB0byBnb29nbGUubWFwcy5MYXRMbmdCb3VuZHMKICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIENvbnRhaW5lciBvZiBvcHRpb25zLmJvdW5kcwogICAqIEBwYXJhbSB7T3B0aW9uQ2FsbGJhY2t9IGZuCiAgICogQHJldHVybnMge0RlZmVycmVkfQogICAqLwogIGZ1bmN0aW9uIHJlc29sdmVMYXRMbmdCb3VuZHMob3B0aW9ucywgZm4pIHsKICAgIG9wdGlvbnMgPSBkdXBPcHRzKG9wdGlvbnMpOwogICAgaWYgKG9wdGlvbnMuYm91bmRzKSB7CiAgICAgIG9wdGlvbnMuYm91bmRzID0gdG9MYXRMbmdCb3VuZChvcHRpb25zLmJvdW5kcyk7CiAgICB9CiAgICByZXR1cm4gcmVzb2x2ZWQoZm4ob3B0aW9ucykpOwogIH0KCiAgLyoqCiAgICogUmVzb2x2ZSBhbiBhZGRyZXNzIGxvY2F0aW9uIC8gY29udmVydCBhIExhdExuZyBhcnJheSB0byBnb29nbGUubWFwcy5MYXRMbmcgb2JqZWN0CiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMKICAgKiBAcGFyYW0ge1N0cmluZ30ga2V5IC0gTGF0TG5nIGtleSBuYW1lIGluIG9wdGlvbnMgb2JqZWN0CiAgICogQHBhcmFtIHtPcHRpb25DYWxsYmFja30gZm4KICAgKiBAcmV0dXJucyB7RGVmZXJyZWR9CiAgICovCiAgZnVuY3Rpb24gcmVzb2x2ZUxhdExuZyhvcHRpb25zLCBrZXksIGZuKSB7CiAgICB2YXIgZGZkID0gZGVmZXJyZWQoKTsKICAgIG9wdGlvbnMgPSBkdXBPcHRzKG9wdGlvbnMpOwogICAgd2hlbigpCiAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgYWRkcmVzcyA9IG9wdGlvbnMuYWRkcmVzczsKICAgICAgICBpZiAoYWRkcmVzcykgewogICAgICAgICAgZGVsZXRlIG9wdGlvbnMuYWRkcmVzczsKICAgICAgICAgIHJldHVybiBnZW9jb2RlKGFkZHJlc3MpLnRoZW4oZnVuY3Rpb24gKGxhdExuZykgewogICAgICAgICAgICAgIG9wdGlvbnNba2V5XSA9IGxhdExuZzsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIG9wdGlvbnNba2V5XSA9IHRvTGF0TG5nKG9wdGlvbnNba2V5XSk7CiAgICAgIH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBkZmQucmVzb2x2ZShmbihvcHRpb25zKSk7CiAgICAgIH0pCiAgICAgIC5mYWlsKGZ1bmN0aW9uIChyZWFzb24pIHsKICAgICAgICBkZmQucmVqZWN0KHJlYXNvbik7CiAgICAgIH0pOwogICAgcmV0dXJuIGRmZDsKICB9CgogIC8qKgogICAqIENvbnZlcnQgYW4gYXJyYXkgb2YgbWl4ZWQgTGF0TG5nIHRvIGdvb2dsZS5tYXBzLkxhdExuZyBvYmplY3QKICAgKiBObyBhZGRyZXNzIHJlc29sdXRpb24gaGVyZQogICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zCiAgICogQHBhcmFtIHtTdHJpbmd9IGtleSAtIEFycmF5IGtleSBuYW1lIGluIG9wdGlvbnMgb2JqZWN0CiAgICogQHBhcmFtIHtPcHRpb25DYWxsYmFja30gZm4KICAgKiBAcmV0dXJucyB7RGVmZXJyZWR9CiAgICovCiAgZnVuY3Rpb24gcmVzb2x2ZUFycmF5T2ZMYXRMbmcob3B0aW9ucywga2V5LCBmbikgewogICAgb3B0aW9ucyA9IGR1cE9wdHMob3B0aW9ucyk7CiAgICBvcHRpb25zW2tleV0gPSAob3B0aW9uc1trZXldIHx8IFtdKS5tYXAodG9MYXRMbmcpOwogICAgcmV0dXJuIHJlc29sdmVkKGZuKG9wdGlvbnMpKTsKICB9CgogIC8qKgogICAqIENvbnZlcnQgYSBMYXRMbmcgYXJyYXkgdG8gZ29vZ2xlLm1hcHMuTGF0TG5nCiAgICogQHBhcmFtIHtBcnJheXwqfSBtaXhlZAogICAqIEBwYXJhbSB7Qm9vbGVhbn0gW2NvbnZlcnRMaXRlcmFsXQogICAqIEByZXR1cm5zIHtMYXRMbmd9CiAgICovCiAgZnVuY3Rpb24gdG9MYXRMbmcobWl4ZWQsIGNvbnZlcnRMaXRlcmFsKSB7CiAgICByZXR1cm4gaXNBcnJheShtaXhlZCkgPyBuZXcgZ20uTGF0TG5nKG1peGVkWzBdLCBtaXhlZFsxXSkgOiAoY29udmVydExpdGVyYWwgJiYgbWl4ZWQgJiYgIShtaXhlZCBpbnN0YW5jZW9mIGdtLkxhdExuZykgPyBuZXcgZ20uTGF0TG5nKG1peGVkLmxhdCwgbWl4ZWQubG5nKSA6IG1peGVkKTsKICB9CgogIC8qKgogICAqIENvbnZlcnQgYSBMYXRMbmdCb3VuZCBhcnJheSB0byBnb29nbGUubWFwcy5MYXRMbmdCb3VuZAogICAqIEBwYXJhbSB7QXJyYXl8Kn0gbWl4ZWQKICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtjb252ZXJ0TGl0ZXJhbF0KICAgKiBAcmV0dXJucyB7TGF0TG5nQm91bmRzfQogICAqLwogIGZ1bmN0aW9uIHRvTGF0TG5nQm91bmQobWl4ZWQsIGNvbnZlcnRMaXRlcmFsKSB7CiAgICBpZiAoaXNBcnJheShtaXhlZCkpIHsKICAgICAgcmV0dXJuIG5ldyBnbS5MYXRMbmdCb3VuZHMoe2xhdDogbWl4ZWRbMl0sIGxuZzogbWl4ZWRbM119LCB7bGF0OiBtaXhlZFswXSwgbG5nOiBtaXhlZFsxXX0pOwogICAgfSBlbHNlIGlmIChjb252ZXJ0TGl0ZXJhbCAmJiAhbWl4ZWQuZ2V0Q2VudGVyKXsKICAgICAgcmV0dXJuIG5ldyBnbS5MYXRMbmdCb3VuZHMoe2xhdDogbWl4ZWQuc291dGgsIGxuZzogbWl4ZWQud2VzdH0sIHtsYXQ6IG1peGVkLm5vcnRoLCBsbmc6IG1peGVkLmVhc3R9KTsKICAgIH0KICAgIHJldHVybiBtaXhlZDsKICB9CgogIC8qKgogICAqIENyZWF0ZSBhIGN1c3RvbSBvdmVybGF5IHZpZXcKICAgKiBAcGFyYW0ge01hcH0gbWFwCiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMKICAgKiBAcmV0dXJucyB7T3ZlcmxheVZpZXd9CiAgICovCiAgZnVuY3Rpb24gY3JlYXRlT3ZlcmxheVZpZXcobWFwLCBvcHRpb25zKSB7CgogICAgdmFyIEdNT3ZlcmxheVZpZXcgPSBnbS5PdmVybGF5VmlldzsKCiAgICB2YXIgJGRpdiA9ICQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpCiAgICAgIC5jc3MoewogICAgICAgIGJvcmRlcjogIm5vbmUiLAogICAgICAgIGJvcmRlcldpZHRoOiAwLAogICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiCiAgICAgIH0pCiAgICAgIC5hcHBlbmQob3B0aW9ucy5jb250ZW50KTsKCiAgICBvcHRpb25zID0gZXh0ZW5kKHt4OiAwLCB5OiAwfSwgb3B0aW9ucyk7CgogICAgaWYgKG9wdGlvbnMucG9zaXRpb24pIHsKICAgICAgb3B0aW9ucy5wb3NpdGlvbiA9IHRvTGF0TG5nKG9wdGlvbnMucG9zaXRpb24sIHRydWUpOwogICAgfSBlbHNlIGlmIChvcHRpb25zLmJvdW5kcykgewogICAgICBvcHRpb25zLmJvdW5kcyA9IHRvTGF0TG5nQm91bmQob3B0aW9ucy5ib3VuZHMsIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xhc3MgT3ZlcmxheVZpZXcKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICovCiAgICBmdW5jdGlvbiBPdmVybGF5VmlldygpIHsKICAgICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgIGxpc3RlbmVycyA9IFtdOwoKICAgICAgR01PdmVybGF5Vmlldy5jYWxsKHNlbGYpOwogICAgICBzZWxmLnNldE1hcChtYXApOwoKICAgICAgZnVuY3Rpb24gZnJvbUxhdExuZ1RvRGl2UGl4ZWwobGF0bG5nKSB7CiAgICAgICAgcmV0dXJuIHNlbGYuZ2V0UHJvamVjdGlvbigpLmZyb21MYXRMbmdUb0RpdlBpeGVsKGxhdGxuZyk7CiAgICAgIH0KCiAgICAgIHNlbGYub25BZGQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHBhbmVzID0gc2VsZi5nZXRQYW5lcygpOwogICAgICAgIHBhbmVzLm92ZXJsYXlNb3VzZVRhcmdldC5hcHBlbmRDaGlsZCgkZGl2WzBdKTsKICAgICAgfTsKCiAgICAgIGlmIChvcHRpb25zLnBvc2l0aW9uKSB7CiAgICAgICAgc2VsZi5nZXRQb3NpdGlvbiA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgIHJldHVybiBvcHRpb25zLnBvc2l0aW9uOwogICAgICAgIH07CgogICAgICAgIHNlbGYuc2V0UG9zaXRpb24gPSBmdW5jdGlvbiAobGF0bG5nKSB7CiAgICAgICAgICBvcHRpb25zLnBvc2l0aW9uID0gbGF0bG5nOwogICAgICAgICAgc2VsZi5kcmF3KCk7CiAgICAgICAgfTsKCiAgICAgICAgc2VsZi5kcmF3ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgdmFyIHBzID0gZnJvbUxhdExuZ1RvRGl2UGl4ZWwob3B0aW9ucy5wb3NpdGlvbik7CiAgICAgICAgICAkZGl2LmNzcyh7CiAgICAgICAgICAgIGxlZnQ6IChwcy54ICsgb3B0aW9ucy54KSArICdweCcsCiAgICAgICAgICAgIHRvcDogKHBzLnkgKyBvcHRpb25zLnkpICsgJ3B4JwogICAgICAgICAgfSk7CiAgICAgICAgfTsKICAgICAgfSBlbHNlIHsKICAgICAgICBzZWxmLmdldEJvdW5kcyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgIHJldHVybiBvcHRpb25zLmJvdW5kczsKICAgICAgICB9OwoKICAgICAgICBzZWxmLnNldEJvdW5kcyA9IGZ1bmN0aW9uIChib3VuZHMpIHsKICAgICAgICAgIG9wdGlvbnMuYm91bmRzID0gYm91bmRzOwogICAgICAgICAgc2VsZi5kcmF3KCk7CiAgICAgICAgfTsKCiAgICAgICAgc2VsZi5kcmF3ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgdmFyIHN3ID0gZnJvbUxhdExuZ1RvRGl2UGl4ZWwob3B0aW9ucy5ib3VuZHMuZ2V0U291dGhXZXN0KCkpOwogICAgICAgICAgdmFyIG5lID0gZnJvbUxhdExuZ1RvRGl2UGl4ZWwob3B0aW9ucy5ib3VuZHMuZ2V0Tm9ydGhFYXN0KCkpOwoKICAgICAgICAgICRkaXYuY3NzKHsKICAgICAgICAgICAgbGVmdDogKHN3LnggKyBvcHRpb25zLngpICsgJ3B4JywKICAgICAgICAgICAgdG9wOiAobmUueSArIG9wdGlvbnMueSkgKyAncHgnLAogICAgICAgICAgICB3aWR0aDogKG5lLnggLSBzdy54ICsgb3B0aW9ucy54KSArICdweCcsCiAgICAgICAgICAgIGhlaWdodDogKHN3LnkgLSBuZS55ICsgb3B0aW9ucy55KSArICdweCcKICAgICAgICAgIH0pOwogICAgICAgIH07CiAgICAgIH0KCiAgICAgIHNlbGYub25SZW1vdmUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgbGlzdGVuZXJzLm1hcChmdW5jdGlvbiAoaGFuZGxlcikgewogICAgICAgICAgZ20uZXZlbnQucmVtb3ZlTGlzdGVuZXIoaGFuZGxlcik7CiAgICAgICAgfSk7CiAgICAgICAgJGRpdi5yZW1vdmUoKTsKICAgICAgICBzZWxmLiQgPSAkZGl2ID0gbnVsbDsgLy8gbWVtIGxlYWtzCiAgICAgIH07CgogICAgICBzZWxmLiQgPSAkZGl2OwogICAgfQoKICAgIE92ZXJsYXlWaWV3LnByb3RvdHlwZSA9IG5ldyBHTU92ZXJsYXlWaWV3KCk7CgogICAgcmV0dXJuIG5ldyBPdmVybGF5VmlldygpOwogIH0KCiAgLyoqCiAgICogUmV0dXJuIGEgbWFwIHByb2plY3Rpb24KICAgKiBAcGFyYW0ge01hcH0gbWFwCiAgICogQHJldHVybnMgeyp9CiAgICovCiAgZnVuY3Rpb24gZ2V0UHJvamVjdGlvbihtYXApIHsKICAgIGZ1bmN0aW9uIE92ZXJsYXkoKSB7CiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgc2VsZi5vbkFkZCA9IHNlbGYub25SZW1vdmUgPSBzZWxmLmRyYXcgPSBmdW5jdGlvbiAoKSB7fTsKICAgICAgcmV0dXJuIGdtLk92ZXJsYXlWaWV3LmNhbGwoc2VsZik7CiAgICB9CiAgICBPdmVybGF5LnByb3RvdHlwZSA9IG5ldyBnbS5PdmVybGF5VmlldygpOwogICAgdmFyIG92ZXJsYXkgPSBuZXcgT3ZlcmxheSgpOwogICAgb3ZlcmxheS5zZXRNYXAobWFwKTsKICAgIHJldHVybiBvdmVybGF5LmdldFByb2plY3Rpb24oKTsKICB9CgogIC8qKgogICAqIENsYXNzIHVzZWQgYXMgZXZlbnQgZmlyc3QgcGFyYW1ldGVyIG9uIGNsdXN0ZXJpbmcgb3ZlcmxheXMKICAgKiBAcGFyYW0ge0NsdXN0ZXJ9IGNsdXN0ZXIKICAgKiBAcGFyYW0ge01hcmtlcltdfSBtYXJrZXJzCiAgICogQHBhcmFtIHtPdmVybGF5Vmlld30gb3ZlcmxheQogICAqIEBwYXJhbSB7TGF0TG5nQm91bmRzfSBib3VuZHMKICAgKiBAY29uc3RydWN0b3IKICAgKi8KICBmdW5jdGlvbiBDbHVzdGVyT3ZlcmxheShjbHVzdGVyLCBtYXJrZXJzLCBvdmVybGF5LCBib3VuZHMpIHsKICAgIHZhciBzZWxmID0gdGhpczsKICAgIHNlbGYuY2x1c3RlciA9IGNsdXN0ZXI7CiAgICBzZWxmLm1hcmtlcnMgPSBtYXJrZXJzOwogICAgc2VsZi4kID0gb3ZlcmxheS4kOwogICAgc2VsZi5vdmVybGF5ID0gb3ZlcmxheTsKCiAgICBvdmVybGF5LmdldEJvdW5kcyA9IGZ1bmN0aW9uICgpIHsKICAgICAgcmV0dXJuIGdtRWxlbWVudCgnTGF0TG5nQm91bmRzJywgYm91bmRzLmdldFNvdXRoV2VzdCgpLCBib3VuZHMuZ2V0Tm9ydGhFYXN0KCkpOwogICAgfTsKICB9CgogIC8qKgogICAqIENsdXN0ZXIgR3JvdXAgZGVmaW5pdGlvbi4KICAgKiBAdHlwZWRlZiB7T2JqZWN0fSBDbHVzdGVyR3JvdXBEZWYKICAgKiBAcHJvcGVydHkge1N0cmluZ3xqUXVlcnl9IGNvbnRlbnQKICAgKiBAcHJvcGVydHkge051bWJlcn0gW3hdIE9mZnNldAogICAqIEBwcm9wZXJ0eSB7TnVtYmVyfSBbeV0gT2Zmc2V0CiAgICovCgogIC8qKgogICAqIENsdXN0ZXIgZXZhbHVhdGlvbiBmdW5jdGlvbgogICAqIEBjYWxsYmFjayBjbHVzdGVyQ2FsbGJhY2sKICAgKiBAcGFyYW0ge01hcmtlcltdfSBtYXJrZXJzCiAgICogQHJldHVybiB7Q2x1c3Rlckdyb3VwRGVmfHVuZGVmaW5lZH0KICAgKi8KCiAgLyoqCiAgICogQ2xhc3MgdXNlZCB0byBoYW5kbGUgY2x1c3RlcmluZwogICAqIEBwYXJhbSB7TWFwfSBtYXAKICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucwogICAqIEBwYXJhbSB7SW50ZWdlcn0gW29wdGlvbnMuc2l6ZV0KICAgKiBAcGFyYW0ge09iamVjdFtdfSBbb3B0aW9ucy5tYXJrZXJzXSBtYXJrZXJzIGRlZmluaXRpb24KICAgKiBAcGFyYW0ge2NsdXN0ZXJDYWxsYmFja30gW29wdGlvbnMuY2JdIGNhbGxiYWNrIHVzZWQgdG8gZXZhbHVhdGUgY2x1c3RlcmluZyBlbGVtZW50cwogICAqIEBjb25zdHJ1Y3RvcgogICAqLwogIGZ1bmN0aW9uIENsdXN0ZXIobWFwLCBvcHRpb25zKSB7CiAgICB2YXIgdGltZXIsIGlnbml0ZXIsIHByZXZpb3VzVmlld0hhc2gsIHByb2plY3Rpb24sIGZpbHRlciwKICAgICAgc2VsZiA9IHRoaXMsCiAgICAgIG1hcmtlcnMgPSBbXSwKICAgICAgcmFkaXVzID0gKG9wdGlvbnMuc2l6ZSB8fCAyMDApID4+IDEsCiAgICAgIGVuYWJsZWQgPSB0cnVlLAogICAgICBvdmVybGF5cyA9IHt9LAogICAgICBoYW5kbGVycyA9IFtdOwoKICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwogICAgb3B0aW9ucy5tYXJrZXJzID0gb3B0aW9ucy5tYXJrZXJzIHx8IFtdOwoKICAgIC8qKgogICAgICogQ2x1c3RlciBldmFsdWF0aW9uIGZ1bmN0aW9uCiAgICAgKiBAY2FsbGJhY2sgYmluZENhbGxiYWNrCiAgICAgKiBAcGFyYW0ge0NsdXN0ZXJPdmVybGF5W119IGluc3RhbmNlcwogICAgICovCgogICAgLyoqCiAgICAgKiBCaW5kIGEgZnVuY3Rpb24gdG8gZWFjaCBjdXJyZW50IG9yIGZ1dHVyZSBvdmVybGF5cwogICAgICogQHBhcmFtIHtiaW5kQ2FsbGJhY2t9IGZuCiAgICAgKi8KICAgIHNlbGYuX2IgPSBmdW5jdGlvbiAoZm4pIHsKICAgICAgZm4ob2JqZWN0VmFsdWVzKG92ZXJsYXlzKSk7CiAgICAgIGhhbmRsZXJzLnB1c2goZm4pOwogICAgfTsKCiAgICAvKioKICAgICAqIEdldCB0aGUgbWFya2VyIGxpc3QKICAgICAqIEByZXR1cm5zIHtNYXJrZXJbXX0KICAgICAqLwogICAgc2VsZi5tYXJrZXJzID0gZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gc2xpY2UobWFya2Vycyk7CiAgICB9OwoKICAgIC8qKgogICAgICogR2V0IHRoZSBjdXJyZW50IGdyb3VwcwogICAgICogQHJldHVybnMge0NsdXN0ZXJPdmVybGF5W119CiAgICAgKi8KICAgIHNlbGYuZ3JvdXBzID0gZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gb2JqZWN0VmFsdWVzKG92ZXJsYXlzKTsKICAgIH07CgogICAgLyoqCiAgICAgKiBFbmFibGUgdGhlIGNsdXN0ZXJpbmcgZmVhdHVyZQogICAgICovCiAgICBzZWxmLmVuYWJsZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgaWYgKCFlbmFibGVkKSB7CiAgICAgICAgZW5hYmxlZCA9IHRydWU7CiAgICAgICAgcHJldmlvdXNWaWV3SGFzaCA9ICcnOwogICAgICAgIGRlbGF5UmVkcmF3KCk7CiAgICAgIH0KICAgIH07CgoKICAgIC8qKgogICAgICogRGlzYWJsZSB0aGUgY2x1c3RlcmluZyBmZWF0dXJlCiAgICAgKi8KICAgIHNlbGYuZGlzYWJsZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgaWYgKGVuYWJsZWQpIHsKICAgICAgICBlbmFibGVkID0gZmFsc2U7CiAgICAgICAgcHJldmlvdXNWaWV3SGFzaCA9ICcnOwogICAgICAgIGRlbGF5UmVkcmF3KCk7CiAgICAgIH0KICAgIH07CgogICAgLyoqCiAgICAgKiBBZGQgYSBtYXJrZXIKICAgICAqIEBwYXJhbSB7TWFya2VyfSBtYXJrZXIKICAgICAqLwogICAgc2VsZi5hZGQgPSBmdW5jdGlvbiAobWFya2VyKSB7CiAgICAgIG1hcmtlcnMucHVzaChtYXJrZXIpOwogICAgICBwcmV2aW91c1ZpZXdIYXNoID0gJyc7CiAgICAgIGRlbGF5UmVkcmF3KCk7CiAgICB9OwoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgbWFya2VyCiAgICAgKiBAcGFyYW0ge01hcmtlcn0gbWFya2VyCiAgICAgKi8KICAgIHNlbGYucmVtb3ZlID0gZnVuY3Rpb24gKG1hcmtlcikgewogICAgICBtYXJrZXJzID0gbWFya2Vycy5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbSAhPT0gbWFya2VyOwogICAgICB9KTsKICAgICAgcHJldmlvdXNWaWV3SGFzaCA9ICcnOwogICAgICBkZWxheVJlZHJhdygpOwogICAgfTsKCiAgICAvKioKICAgICAqIEZpbHRlcmluZyBmdW5jdGlvbiwgQ2x1c3RlciBvbmx5IGhhbmRsZSB0aG9zZSB3aG8gcmV0dXJuIHRydWUKICAgICAqIEBjYWxsYmFjayBmaWx0ZXJDYWxsYmFjawogICAgICogQHBhcmFtIHtNYXJrZXJ9IG1hcmtlcgogICAgICogQHJldHVybnMge0Jvb2xlYW59CiAgICAgKi8KCiAgICAvKioKICAgICAqIFNldCBhIGZpbHRlciBmdW5jdGlvbgogICAgICogQHBhcmFtIHtmaWx0ZXJDYWxsYmFja30gZm4KICAgICAqLwogICAgc2VsZi5maWx0ZXIgPSBmdW5jdGlvbiAoZm4pIHsKICAgICAgaWYgKGZpbHRlciAhPT0gZm4pIHsKICAgICAgICBmaWx0ZXIgPSBmbjsKICAgICAgICBwcmV2aW91c1ZpZXdIYXNoID0gJyc7CiAgICAgICAgZGVsYXlSZWRyYXcoKTsKICAgICAgfQogICAgfTsKCiAgICAvKioKICAgICAqIEdlbmVyYXRlIGV4dGVuZGVkIHZpc2libGUgYm91bmRzCiAgICAgKiBAcmV0dXJucyB7TGF0TG5nQm91bmRzfQogICAgICovCiAgICBmdW5jdGlvbiBleHRlbmRzTWFwQm91bmRzKCkgewogICAgICB2YXIgY2lyY2xlID0gZ21FbGVtZW50KCdDaXJjbGUnLCB7CiAgICAgICAgY2VudGVyOiBtYXAuZ2V0Q2VudGVyKCksCiAgICAgICAgcmFkaXVzOiAxLjE1ICogZGlzdGFuY2VJbk1ldGVyKG1hcC5nZXRDZW50ZXIoKSwgbWFwLmdldEJvdW5kcygpLmdldE5vcnRoRWFzdCgpKSAvLyArIDE1JQogICAgICB9KTsKICAgICAgcmV0dXJuIGNpcmNsZS5nZXRCb3VuZHMoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlIGJvdW5kcyBleHRlbmRlZCBieSByYWRpdXMKICAgICAqIEBwYXJhbSB7TGF0TG5nfSBsYXRMbmcKICAgICAqIEByZXR1cm5zIHtMYXRMbmdCb3VuZHN9CiAgICAgKi8KICAgIGZ1bmN0aW9uIGV4dGVuZHNCb3VuZHMobGF0TG5nKSB7CiAgICAgIHZhciBwID0gcHJvamVjdGlvbi5mcm9tTGF0TG5nVG9EaXZQaXhlbChsYXRMbmcpOwogICAgICByZXR1cm4gZ21FbGVtZW50KCdMYXRMbmdCb3VuZHMnLAogICAgICAgIHByb2plY3Rpb24uZnJvbURpdlBpeGVsVG9MYXRMbmcoZ21FbGVtZW50KCdQb2ludCcsIHAueCAtIHJhZGl1cywgcC55ICsgcmFkaXVzKSksCiAgICAgICAgcHJvamVjdGlvbi5mcm9tRGl2UGl4ZWxUb0xhdExuZyhnbUVsZW1lbnQoJ1BvaW50JywgcC54ICsgcmFkaXVzLCBwLnkgLSByYWRpdXMpKQogICAgICApOwogICAgfQoKICAgIG9wdGlvbnMubWFya2Vycy5tYXAoZnVuY3Rpb24gKG9wdHMpIHsKICAgICAgb3B0cy5wb3NpdGlvbiA9IHRvTGF0TG5nKG9wdHMucG9zaXRpb24pOwogICAgICBtYXJrZXJzLnB1c2goZ21FbGVtZW50KCdNYXJrZXInLCBvcHRzKSk7CiAgICB9KTsKCiAgICAvKioKICAgICAqIFJlZHJhdyBjbHVzdGVycwogICAgICovCiAgICBmdW5jdGlvbiByZWRyYXcoKSB7CiAgICAgIHZhciBrZXlzLCBib3VuZHMsIG92ZXJsYXlPcHRpb25zLCBoYXNoLCBjdXJyZW50TWFya2Vycywgdmlld0hhc2gsCiAgICAgICAgem9vbSA9IG1hcC5nZXRab29tKCksCiAgICAgICAgY3VycmVudEhhc2hlcyA9IHt9LAogICAgICAgIG5ld092ZXJsYXlzID0gW10sCiAgICAgICAgaWdub3JlID0ge307CgogICAgICB2aWV3SGFzaCA9ICcnICsgem9vbTsKCiAgICAgIGlmICh6b29tID4gMykgewogICAgICAgIGJvdW5kcyA9IGV4dGVuZHNNYXBCb3VuZHMoKTsKICAgICAgICBmb3JlYWNoKG1hcmtlcnMsIGZ1bmN0aW9uIChtYXJrZXIsIGluZGV4KSB7CiAgICAgICAgICBpZiAoIWJvdW5kcy5jb250YWlucyhtYXJrZXIuZ2V0UG9zaXRpb24oKSkpIHsKICAgICAgICAgICAgdmlld0hhc2ggKz0gJy0nICsgaW5kZXg7CiAgICAgICAgICAgIGlnbm9yZVtpbmRleF0gPSB0cnVlOwogICAgICAgICAgICBpZiAobWFya2VyLmdldE1hcCgpKSB7CiAgICAgICAgICAgICAgbWFya2VyLnNldE1hcChudWxsKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICAgIGlmIChmaWx0ZXIpIHsKICAgICAgICBmb3JlYWNoKG1hcmtlcnMsIGZ1bmN0aW9uIChtYXJrZXIsIGluZGV4KSB7CiAgICAgICAgICBpZiAoIWlnbm9yZVtpbmRleF0gJiYgIWZpbHRlcihtYXJrZXIpKSB7CiAgICAgICAgICAgIHZpZXdIYXNoICs9ICctJyArIGluZGV4OwogICAgICAgICAgICBpZ25vcmVbaW5kZXhdID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKG1hcmtlci5nZXRNYXAoKSkgewogICAgICAgICAgICAgIG1hcmtlci5zZXRNYXAobnVsbCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQoKICAgICAgaWYgKHZpZXdIYXNoID09PSBwcmV2aW91c1ZpZXdIYXNoKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHByZXZpb3VzVmlld0hhc2ggPSB2aWV3SGFzaDsKCiAgICAgIGZvcmVhY2gobWFya2VycywgZnVuY3Rpb24gKG1hcmtlciwgaW5kZXgpIHsKICAgICAgICBpZiAoaWdub3JlW2luZGV4XSkgewogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAga2V5cyA9IFtpbmRleF07CiAgICAgICAgYm91bmRzID0gZXh0ZW5kc0JvdW5kcyhtYXJrZXIuZ2V0UG9zaXRpb24oKSk7CgogICAgICAgIGlmIChlbmFibGVkKSB7CiAgICAgICAgICBmb3JlYWNoKHNsaWNlKG1hcmtlcnMsIGluZGV4ICsgMSksIGZ1bmN0aW9uIChtYXJrZXIsIGlkeCkgewogICAgICAgICAgICBpZHggKz0gaW5kZXggKyAxOwogICAgICAgICAgICBpZiAoIWlnbm9yZVtpZHhdICYmIGJvdW5kcy5jb250YWlucyhtYXJrZXIuZ2V0UG9zaXRpb24oKSkpIHsKICAgICAgICAgICAgICBrZXlzLnB1c2goaWR4KTsKICAgICAgICAgICAgICBpZ25vcmVbaWR4XSA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgaGFzaCA9IGtleXMuam9pbignLScpOwogICAgICAgIGN1cnJlbnRIYXNoZXNbaGFzaF0gPSB0cnVlOwoKICAgICAgICBpZiAob3ZlcmxheXNbaGFzaF0pIHsgLy8gaGFzaCBpcyBhbHJlYWR5IHNldAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgY3VycmVudE1hcmtlcnMgPSBrZXlzLm1hcChmdW5jdGlvbiAoa2V5KSB7CiAgICAgICAgICByZXR1cm4gbWFya2Vyc1trZXldOwogICAgICAgIH0pOwoKICAgICAgICAvLyBhc2sgdGhlIHVzZXIgY2FsbGJhY2sgb24gdGhpcyBzdWJzZXQgKG1heSBiZSBjb21wb3NlZCBieSBvbmx5IG9uZSBtYXJrZXIpCiAgICAgICAgb3ZlcmxheU9wdGlvbnMgPSBvcHRpb25zLmNiKHNsaWNlKGN1cnJlbnRNYXJrZXJzKSk7CgogICAgICAgIC8vIGNyZWF0ZSBhbiBvdmVybGF5IGlmIGNiIHJldHVybnMgaXRzIHByb3BlcnRpZXMKICAgICAgICBpZiAob3ZlcmxheU9wdGlvbnMpIHsKICAgICAgICAgIGJvdW5kcyA9IGdtRWxlbWVudCgnTGF0TG5nQm91bmRzJyk7CiAgICAgICAgICBmb3JlYWNoKGN1cnJlbnRNYXJrZXJzLCBmdW5jdGlvbiAobWFya2VyKSB7CiAgICAgICAgICAgIGJvdW5kcy5leHRlbmQobWFya2VyLmdldFBvc2l0aW9uKCkpOwogICAgICAgICAgICBpZiAobWFya2VyLmdldE1hcCgpKSB7CiAgICAgICAgICAgICAgbWFya2VyLnNldE1hcChudWxsKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CgogICAgICAgICAgb3ZlcmxheU9wdGlvbnMgPSBkdXBPcHRzKG92ZXJsYXlPcHRpb25zKTsKICAgICAgICAgIG92ZXJsYXlPcHRpb25zLnBvc2l0aW9uID0gYm91bmRzLmdldENlbnRlcigpOwogICAgICAgICAgb3ZlcmxheXNbaGFzaF0gPSBuZXcgQ2x1c3Rlck92ZXJsYXkoc2VsZiwgc2xpY2UoY3VycmVudE1hcmtlcnMpLCBjcmVhdGVPdmVybGF5VmlldyhtYXAsIG92ZXJsYXlPcHRpb25zKSwgYm91bmRzKTsKICAgICAgICAgIG5ld092ZXJsYXlzLnB1c2gob3ZlcmxheXNbaGFzaF0pOwoKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yZWFjaChjdXJyZW50TWFya2VycywgZnVuY3Rpb24gKG1hcmtlcikgewogICAgICAgICAgICBpZiAoIW1hcmtlci5nZXRNYXAoKSkgeyAvLyB0byBhdm9pZCBtYXJrZXIgYmxpbmtpbmcKICAgICAgICAgICAgICBtYXJrZXIuc2V0TWFwKG1hcCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgIH0pOwoKICAgICAgLy8gcmVtb3ZlIHByZXZpb3VzIG92ZXJsYXlzCiAgICAgIGZvcmVhY2gob2JqZWN0S2V5cyhvdmVybGF5cyksIGZ1bmN0aW9uIChrZXkpIHsKICAgICAgICBpZiAoIWN1cnJlbnRIYXNoZXNba2V5XSkgewogICAgICAgICAgb3ZlcmxheXNba2V5XS5vdmVybGF5LnNldE1hcChudWxsKTsKICAgICAgICAgIGRlbGV0ZSBvdmVybGF5c1trZXldOwogICAgICAgIH0KICAgICAgfSk7CgogICAgICBpZiAobmV3T3ZlcmxheXMubGVuZ3RoKSB7CiAgICAgICAgZm9yZWFjaChoYW5kbGVycywgZnVuY3Rpb24gKGZuKSB7CiAgICAgICAgICBmbihuZXdPdmVybGF5cyk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlc3RhcnQgcmVkcmF3IHRpbWVyCiAgICAgKi8KICAgIGZ1bmN0aW9uIGRlbGF5UmVkcmF3KCkgewogICAgICBjbGVhclRpbWVvdXQodGltZXIpOwogICAgICB0aW1lciA9IHNldFRpbWVvdXQocmVkcmF3LCAxMDApOwogICAgfQoKICAgIC8qKgogICAgICogSW5pdCBjbHVzdGVyaW5nCiAgICAgKi8KICAgIGZ1bmN0aW9uIGluaXQoKSB7CiAgICAgIGdtLmV2ZW50LmFkZExpc3RlbmVyKG1hcCwgInpvb21fY2hhbmdlZCIsIGRlbGF5UmVkcmF3KTsKICAgICAgZ20uZXZlbnQuYWRkTGlzdGVuZXIobWFwLCAiYm91bmRzX2NoYW5nZWQiLCBkZWxheVJlZHJhdyk7CiAgICAgIHJlZHJhdygpOwogICAgfQoKICAgIGlnbml0ZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7CiAgICAgIHByb2plY3Rpb24gPSBnZXRQcm9qZWN0aW9uKG1hcCk7CiAgICAgIGlmIChwcm9qZWN0aW9uKSB7CiAgICAgICAgY2xlYXJJbnRlcnZhbChpZ25pdGVyKTsKICAgICAgICBpbml0KCk7CiAgICAgIH0KICAgIH0sIDEwKTsKICB9CgogIC8qKgogICAqIENvbmZpZ3VyZSBnb29nbGUgbWFwcyBsb2FkaW5nIGxpYnJhcnkKICAgKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IG9wdGlvbnMKICAgKi8KICAkLmdtYXAzID0gZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgIGxvYWRPcHRpb25zID0gb3B0aW9uczsKICB9OwoKICAvKioKICAgKiBqUXVlcnkgUGx1Z2luCiAgICovCiAgJC5mbi5nbWFwMyA9IGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICB2YXIgaXRlbXMgPSBbXTsKICAgIGdtID0gd2luZG93Lmdvb2dsZS5tYXBzOyAvLyBvbmNlIGdtYXAzIGlzIGxvYWRlZCwgZ29vZ2xlLm1hcHMgbGlicmFyeSBzaG91bGQgYmUgbG9hZGVkCiAgICB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpLCBnbWFwMyA9ICR0aGlzLmRhdGEoImdtYXAzIik7CiAgICAgIGlmICghZ21hcDMpIHsKICAgICAgICBnbWFwMyA9IG5ldyBHbWFwMygkdGhpcywgb3B0aW9ucyk7CiAgICAgICAgJHRoaXMuZGF0YSgiZ21hcDMiLCBnbWFwMyk7CiAgICAgIH0KICAgICAgaXRlbXMucHVzaChnbWFwMyk7CiAgICB9KTsKCiAgICByZXR1cm4gbmV3IEhhbmRsZXIodGhpcywgaXRlbXMpOwogIH07CgogIC8qKgogICAqIENsYXNzIEhhbmRsZXIKICAgKiBDaGFpbmFibGUgb2JqZXQgd2hpY2ggaGFuZGxlIGFsbCBHbWFwMyBpdGVtcyBhc3NvY2lhdGVkIHRvIGFsbCBqUXVlcnkgZWxlbWVudHMgaW4gdGhlIGN1cnJlbnQgY29tbWFuZCBzZXQKICAgKiBAcGFyYW0ge2pRdWVyeX0gY2hhaW4gLSAidGhpcyIgdG8gcmV0dXJuIHRvIG1haW50YWluIHRoZSBqUXVlcnkgY2hhaW4KICAgKiBAcGFyYW0ge0dtYXAzW119IGl0ZW1zCiAgICogQGNvbnN0cnVjdG9yCiAgICovCiAgZnVuY3Rpb24gSGFuZGxlcihjaGFpbiwgaXRlbXMpIHsKICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAvLyBNYXAgYWxsIGZ1bmN0aW9ucyBmcm9tIEdtYXAzIGNsYXNzCiAgICBvYmplY3RLZXlzKGl0ZW1zWzBdKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7CiAgICAgIHNlbGZbbmFtZV0gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHJlc3VsdHMgPSBbXSwKICAgICAgICAgIGFyZ3MgPSBzbGljZShhcmd1bWVudHMpOwogICAgICAgIGl0ZW1zLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIHJlc3VsdHMucHVzaChpdGVtW25hbWVdLmFwcGx5KGl0ZW0sIGFyZ3MpKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gbmFtZSA9PT0gJ2dldCcgPyAocmVzdWx0cy5sZW5ndGggPiAxID8gcmVzdWx0cyA6IHJlc3VsdHNbMF0pIDogc2VsZjsKICAgICAgfTsKICAgIH0pOwoKICAgIHNlbGYuJCA9IGNoYWluOwogIH0KCiAgLyoqCiAgICogQ2xhc3MgR21hcDMKICAgKiBIYW5kbGUgYSBHb29nbGUubWFwcy5NYXAgaW5zdGFuY2UKICAgKiBAcGFyYW0ge2pRdWVyeX0gJGNvbnRhaW5lciAtIEVsZW1lbnQgdG8gZGlzcGxheSB0aGUgbWFwIGluCiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBNYXBPcHRpb25zCiAgICogQGNvbnN0cnVjdG9yCiAgICovCiAgZnVuY3Rpb24gR21hcDMoJGNvbnRhaW5lciwgb3B0aW9ucykgewogICAgdmFyIG1hcCwKICAgICAgcHJldmlvdXNSZXN1bHRzID0gW10sCiAgICAgIHByb21pc2UgPSB3aGVuKCksCiAgICAgIHNlbGYgPSB0aGlzOwoKICAgIGZ1bmN0aW9uIGNvbnRleHQoKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgJDogJGNvbnRhaW5lciwKICAgICAgICBnZXQ6IHNlbGYuZ2V0CiAgICAgIH07CiAgICB9CgogICAgLyoqCiAgICAgKiBBdHRhY2ggZXZlbnRzIHRvIGluc3RhbmNlcwogICAgICogQHBhcmFtIHtPYmplY3QgfSBldmVudHMKICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBpbnN0YW5jZXMKICAgICAqIEBwYXJhbSB7YXJyYXl9IFthcmdzXSBhcmd1bWVudHMgdG8gYWRkCiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IG9uY2UKICAgICAqLwogICAgZnVuY3Rpb24gYXR0YWNoRXZlbnRzKGV2ZW50cywgaW5zdGFuY2VzLCBhcmdzLCBvbmNlKSB7CiAgICAgIHZhciBoYXNBcmdzID0gYXJndW1lbnRzLmxlbmd0aCA+IDM7CiAgICAgIGlmICghaGFzQXJncykgewogICAgICAgIG9uY2UgPSBhcmdzOwogICAgICB9CiAgICAgICQuZWFjaChldmVudHMsIGZ1bmN0aW9uIChldmVudE5hbWUsIGhhbmRsZXJzKSB7CiAgICAgICAgZm9yZWFjaChpbnN0YW5jZXMsIGZ1bmN0aW9uIChpbnN0YW5jZSkgewogICAgICAgICAgdmFyIGlzQ2x1c3Rlck92ZXJsYXkgPSBpbnN0YW5jZSBpbnN0YW5jZW9mIENsdXN0ZXJPdmVybGF5OwogICAgICAgICAgdmFyIGlzRG9tID0gaXNDbHVzdGVyT3ZlcmxheSB8fMKgKGluc3RhbmNlIGluc3RhbmNlb2YgZ20uT3ZlcmxheVZpZXcpOwogICAgICAgICAgdmFyIGV2ZW50TGlzdGVuZXIgPSBpc0RvbSA/IGluc3RhbmNlLiQuZ2V0KDApIDogaW5zdGFuY2U7CiAgICAgICAgICBnbS5ldmVudFsnYWRkJyArIChpc0RvbSA/ICdEb20nIDogJycpICsgJ0xpc3RlbmVyJyArIChvbmNlID8gJ09uY2UnIDogJycpXShldmVudExpc3RlbmVyLCBldmVudE5hbWUsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICBmb3JlYWNoKGhhbmRsZXJzLCBmdW5jdGlvbiAoaGFuZGxlcikgewogICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKGhhbmRsZXIpKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNDbHVzdGVyT3ZlcmxheSkgewogICAgICAgICAgICAgICAgICBoYW5kbGVyLmNhbGwoY29udGV4dCgpLCB1bmRlZmluZWQgLyogbWFya2VyICovLCBpbnN0YW5jZSwgaW5zdGFuY2UuY2x1c3RlciwgZXZlbnQpOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNBcmdzKSB7CiAgICAgICAgICAgICAgICAgIHZhciBidWZmZXIgPSBzbGljZShhcmdzKTsKICAgICAgICAgICAgICAgICAgYnVmZmVyLnVuc2hpZnQoaW5zdGFuY2UpOwogICAgICAgICAgICAgICAgICBidWZmZXIucHVzaChldmVudCk7CiAgICAgICAgICAgICAgICAgIGhhbmRsZXIuYXBwbHkoY29udGV4dCgpLCBidWZmZXIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgaGFuZGxlci5jYWxsKGNvbnRleHQoKSwgaW5zdGFuY2UsIGV2ZW50KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogRGVjb3JhdG9yIHRvIGhhbmRsZSBtdWx0aXBsZSBjYWxsIGJhc2VkIG9uIGFycmF5IG9mIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZuCiAgICAgKiBAcmV0dXJucyB7RGVmZXJyZWR9CiAgICAgKi8KICAgIGZ1bmN0aW9uIG11bHRpcGxlKGZuKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIGlmIChpc0FycmF5KG9wdGlvbnMpKSB7CiAgICAgICAgICB2YXIgaW5zdGFuY2VzID0gW107CiAgICAgICAgICB2YXIgcHJvbWlzZXMgPSBvcHRpb25zLm1hcChmdW5jdGlvbiAob3B0cykgewogICAgICAgICAgICByZXR1cm4gZm4uY2FsbChzZWxmLCBvcHRzKS50aGVuKGZ1bmN0aW9uIChpbnN0YW5jZSkgewogICAgICAgICAgICAgIGluc3RhbmNlcy5wdXNoKGluc3RhbmNlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9KTsKICAgICAgICAgIHJldHVybiBhbGwocHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICBwcmV2aW91c1Jlc3VsdHMucHVzaChpbnN0YW5jZXMpOwogICAgICAgICAgICByZXR1cm4gaW5zdGFuY2VzOwogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBmbi5hcHBseShzZWxmLCBhcmd1bWVudHMpLnRoZW4oZnVuY3Rpb24gKGluc3RhbmNlKSB7CiAgICAgICAgICAgIHByZXZpb3VzUmVzdWx0cy5wdXNoKGluc3RhbmNlKTsKICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9OwogICAgfQoKICAgIC8qKgogICAgICogRGVjb3JhdG9yIHRvIGNoYWluIHByb21pc2UgcmVzdWx0IG9udG8gdGhlIG1haW4gcHJvbWlzZSBjaGFpbgogICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZm4KICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0KICAgICAqLwogICAgZnVuY3Rpb24gY2hhaW5Ub1Byb21pc2UoZm4pIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgYXJncyA9IHNsaWNlKGFyZ3VtZW50cyk7CiAgICAgICAgcHJvbWlzZSA9IHByb21pc2UudGhlbihmdW5jdGlvbiAoaW5zdGFuY2UpIHsKICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKGFyZ3NbMF0pKSB7CiAgICAgICAgICAgIC8vIGhhbmRsZSByZXR1cm4gYXMgYSBkZWZlcnJlZCAvIHByb21pc2UgdG8gc3VwcG9ydCBib3RoIHN5bmMgJiBhc3luYyByZXN1bHQKICAgICAgICAgICAgcmV0dXJuIHdoZW4oYXJnc1swXS5jYWxsKGNvbnRleHQoKSwgaW5zdGFuY2UpKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgICAgIGFyZ3NbMF0gPSB2YWx1ZTsKICAgICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkoc2VsZiwgYXJncyk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB3aGVuKGZuLmFwcGx5KHNlbGYsIGFyZ3MpKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICAgfTsKICAgIH0KCiAgICBzZWxmLm1hcCA9IGNoYWluVG9Qcm9taXNlKGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgIHJldHVybiBtYXAgfHwgcmVzb2x2ZUxhdExuZyhvcHRpb25zLCAnY2VudGVyJywgZnVuY3Rpb24gKG9wdHMpIHsKICAgICAgICAgIG1hcCA9IGdtRWxlbWVudCgnTWFwJywgJGNvbnRhaW5lci5nZXQoMCksIG9wdHMpOwogICAgICAgICAgcHJldmlvdXNSZXN1bHRzLnB1c2gobWFwKTsKICAgICAgICAgIHJldHVybiBtYXA7CiAgICAgICAgfSk7CiAgICB9KTsKCiAgICAvLyBTcGFjZSBzZXBhcmF0ZWQgc3RyaW5nIG9mIDogc2VwYXJhdGVkIGVsZW1lbnQKICAgIC8vIChnb29nbGUubWFwcyBjbGFzcyBuYW1lKSA6IChsYXRMbmcgcHJvcGVydHkgbmFtZSkgOiAoYWRkIG1hcCAtIDB8MSAtIGRlZmF1bHQgPSAxKQogICAgZm9yZWFjaFN0cignTWFya2VyOnBvc2l0aW9uIENpcmNsZTpjZW50ZXIgSW5mb1dpbmRvdzpwb3NpdGlvbjowIFBvbHlsaW5lOnBhdGggUG9seWdvbjpwYXRocycsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgIGl0ZW0gPSBpdGVtLnNwbGl0KCc6Jyk7CiAgICAgIHZhciBwcm9wZXJ0eSA9IGl0ZW1bMV0gfHwgJyc7CiAgICAgIHNlbGZbaXRlbVswXS50b0xvd2VyQ2FzZSgpXSA9IGNoYWluVG9Qcm9taXNlKG11bHRpcGxlKGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgICAgcmV0dXJuIChwcm9wZXJ0eS5tYXRjaCgvXnBhdGgvKSA/IHJlc29sdmVBcnJheU9mTGF0TG5nIDogcmVzb2x2ZUxhdExuZykob3B0aW9ucywgcHJvcGVydHksIGZ1bmN0aW9uIChvcHRzKSB7CiAgICAgICAgICBpZiAoaXRlbVsyXSAhPT0gJzAnKSB7CiAgICAgICAgICAgIG9wdHMubWFwID0gbWFwOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGdtRWxlbWVudChpdGVtWzBdLCBvcHRzKTsKICAgICAgICB9KTsKICAgICAgfSkpOwogICAgfSk7CgogICAgZm9yZWFjaFN0cignVHJhZmZpY0xheWVyIFRyYW5zaXRMYXllciBCaWN5Y2xpbmdMYXllcicsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgIHNlbGZbaXRlbS50b0xvd2VyQ2FzZSgpXSA9IGNoYWluVG9Qcm9taXNlKGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgaW5zdGFuY2UgPSBnbUVsZW1lbnQoaXRlbSk7CiAgICAgICAgcHJldmlvdXNSZXN1bHRzLnB1c2goaW5zdGFuY2UpOwogICAgICAgIGluc3RhbmNlLnNldE1hcChtYXApOwogICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBzZWxmLmttbGxheWVyID0gY2hhaW5Ub1Byb21pc2UobXVsdGlwbGUoZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgb3B0aW9ucyA9IGR1cE9wdHMob3B0aW9ucyk7CiAgICAgIG9wdGlvbnMubWFwID0gbWFwOwogICAgICByZXR1cm4gd2hlbihnbUVsZW1lbnQoJ0ttbExheWVyJywgb3B0aW9ucykpOwogICAgfSkpOwoKICAgIHNlbGYucmVjdGFuZ2xlID0gY2hhaW5Ub1Byb21pc2UobXVsdGlwbGUoZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgcmV0dXJuIHJlc29sdmVMYXRMbmdCb3VuZHMob3B0aW9ucywgZnVuY3Rpb24gKG9wdHMpIHsKICAgICAgICBvcHRzLm1hcCA9IG1hcDsKICAgICAgICByZXR1cm4gZ21FbGVtZW50KCdSZWN0YW5nbGUnLCBvcHRzKTsKICAgICAgfSk7CiAgICB9KSk7CgogICAgc2VsZi5vdmVybGF5ID0gY2hhaW5Ub1Byb21pc2UobXVsdGlwbGUoZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgZnVuY3Rpb24gZm4ob3B0cykgewogICAgICAgIHJldHVybiBjcmVhdGVPdmVybGF5VmlldyhtYXAsIG9wdHMpOwogICAgICB9CgogICAgICBvcHRpb25zID0gZHVwT3B0cyhvcHRpb25zKTsKICAgICAgcmV0dXJuIG9wdGlvbnMuYm91bmRzID8gcmVzb2x2ZUxhdExuZ0JvdW5kcyhvcHRpb25zLCBmbikgOiByZXNvbHZlTGF0TG5nKG9wdGlvbnMsICdwb3NpdGlvbicsIGZuKTsKICAgIH0pKTsKCiAgICBzZWxmLmdyb3VuZG92ZXJsYXkgPSBjaGFpblRvUHJvbWlzZShmdW5jdGlvbiAodXJsLCBib3VuZHMsIG9wdGlvbnMpIHsKICAgICAgcmV0dXJuIHJlc29sdmVMYXRMbmdCb3VuZHMoe2JvdW5kczogYm91bmRzfSwgZnVuY3Rpb24gKG9wdHMpIHsKICAgICAgICBvcHRpb25zID0gZHVwT3B0cyhvcHRpb25zKTsKICAgICAgICBvcHRpb25zLm1hcCA9IG1hcDsKICAgICAgICB2YXIgaW5zdGFuY2UgPSBnbUVsZW1lbnQoJ0dyb3VuZE92ZXJsYXknLCB1cmwsIG9wdHMuYm91bmRzLCBvcHRpb25zKTsKICAgICAgICBwcmV2aW91c1Jlc3VsdHMucHVzaChpbnN0YW5jZSk7CiAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICB9KTsKICAgIH0pOwoKICAgIHNlbGYuc3R5bGVkbWFwdHlwZSA9IGNoYWluVG9Qcm9taXNlKGZ1bmN0aW9uIChzdHlsZUlkLCBzdHlsZXMsIG9wdGlvbnMpIHsKICAgICAgdmFyIGluc3RhbmNlID0gZ21FbGVtZW50KCdTdHlsZWRNYXBUeXBlJywgc3R5bGVzLCBvcHRpb25zKTsKICAgICAgcHJldmlvdXNSZXN1bHRzLnB1c2goaW5zdGFuY2UpOwogICAgICBtYXAubWFwVHlwZXMuc2V0KHN0eWxlSWQsIGluc3RhbmNlKTsKICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgfSk7CgogICAgc2VsZi5zdHJlZXR2aWV3cGFub3JhbWEgPSBjaGFpblRvUHJvbWlzZShmdW5jdGlvbiAoY29udGFpbmVyLCBvcHRpb25zKSB7CiAgICAgIHJldHVybiByZXNvbHZlTGF0TG5nKG9wdGlvbnMsICdwb3NpdGlvbicsIGZ1bmN0aW9uIChvcHRzKSB7CiAgICAgICAgdmFyIGluc3RhbmNlID0gZ21FbGVtZW50KCdTdHJlZXRWaWV3UGFub3JhbWEnLCAkKGNvbnRhaW5lcikuZ2V0KDApLCBvcHRzKTsKICAgICAgICBtYXAuc2V0U3RyZWV0VmlldyhpbnN0YW5jZSk7CiAgICAgICAgcHJldmlvdXNSZXN1bHRzLnB1c2goaW5zdGFuY2UpOwogICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBzZWxmLnJvdXRlID0gY2hhaW5Ub1Byb21pc2UoZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgdmFyIGRmZCA9IGRlZmVycmVkKCk7CiAgICAgIG9wdGlvbnMgPSBkdXBPcHRzKG9wdGlvbnMpOwogICAgICBvcHRpb25zLm9yaWdpbiA9IHRvTGF0TG5nKG9wdGlvbnMub3JpZ2luKTsKICAgICAgb3B0aW9ucy5kZXN0aW5hdGlvbiA9IHRvTGF0TG5nKG9wdGlvbnMuZGVzdGluYXRpb24pOwogICAgICBzZXJ2aWNlKCdEaXJlY3Rpb25zU2VydmljZScpLnJvdXRlKG9wdGlvbnMsIGZ1bmN0aW9uIChyZXN1bHRzLCBzdGF0dXMpIHsKICAgICAgICBwcmV2aW91c1Jlc3VsdHMucHVzaChyZXN1bHRzKTsKICAgICAgICBkZmQucmVzb2x2ZShzdGF0dXMgPT09IGdtLkRpcmVjdGlvbnNTdGF0dXMuT0sgPyByZXN1bHRzIDogZmFsc2UpOwogICAgICB9KTsKICAgICAgcmV0dXJuIGRmZDsKICAgIH0pOwoKICAgIHNlbGYuY2x1c3RlciA9IGNoYWluVG9Qcm9taXNlKGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgIHZhciBjbHVzdGVyID0gbmV3IENsdXN0ZXIobWFwLCBkdXBPcHRzKG9wdGlvbnMpKTsKICAgICAgcHJldmlvdXNSZXN1bHRzLnB1c2goY2x1c3Rlcik7CiAgICAgIHJldHVybiByZXNvbHZlZChjbHVzdGVyKTsKICAgIH0pOwoKICAgIHNlbGYuZGlyZWN0aW9uc3JlbmRlcmVyID0gY2hhaW5Ub1Byb21pc2UoZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgdmFyIGluc3RhbmNlOwogICAgICBpZiAob3B0aW9ucykgewogICAgICAgIG9wdGlvbnMgPSBkdXBPcHRzKG9wdGlvbnMpOwogICAgICAgIG9wdGlvbnMubWFwID0gbWFwOwogICAgICAgIGlmIChvcHRpb25zLnBhbmVsKSB7CiAgICAgICAgICBvcHRpb25zLnBhbmVsID0gJChvcHRpb25zLnBhbmVsKS5nZXQoMCk7CiAgICAgICAgfQogICAgICAgIGluc3RhbmNlID0gZ21FbGVtZW50KCdEaXJlY3Rpb25zUmVuZGVyZXInLCBvcHRpb25zKTsKICAgICAgfQogICAgICBwcmV2aW91c1Jlc3VsdHMucHVzaChpbnN0YW5jZSk7CiAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgIH0pOwoKICAgIHNlbGYubGF0bG5nID0gY2hhaW5Ub1Byb21pc2UobXVsdGlwbGUoZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgcmV0dXJuIHJlc29sdmVMYXRMbmcob3B0aW9ucywgJ2xhdGxuZycsIGZ1bmN0aW9uIChvcHRzKSB7CiAgICAgICAgcHJldmlvdXNSZXN1bHRzLnB1c2gob3B0cy5sYXRsbmcpOwogICAgICAgIHJldHVybiBvcHRzLmxhdGxuZzsKICAgICAgfSk7CiAgICB9KSk7CgogICAgc2VsZi5maXQgPSBjaGFpblRvUHJvbWlzZShmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBib3VuZHMgPSBnbUVsZW1lbnQoJ0xhdExuZ0JvdW5kcycpOwogICAgICBmb3JlYWNoKHByZXZpb3VzUmVzdWx0cywgZnVuY3Rpb24gKGluc3RhbmNlcykgewogICAgICAgIGlmIChpbnN0YW5jZXMgIT09IG1hcCkgewogICAgICAgICAgZm9yZWFjaChpbnN0YW5jZXMsIGZ1bmN0aW9uIChpbnN0YW5jZSkgewogICAgICAgICAgICBpZiAoaW5zdGFuY2UpIHsKICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UuZ2V0UG9zaXRpb24gJiYgaW5zdGFuY2UuZ2V0UG9zaXRpb24oKSkgewogICAgICAgICAgICAgICAgYm91bmRzLmV4dGVuZChpbnN0YW5jZS5nZXRQb3NpdGlvbigpKTsKICAgICAgICAgICAgICB9IGVsc2UgaWYgKGluc3RhbmNlLmdldEJvdW5kcyAmJiBpbnN0YW5jZS5nZXRCb3VuZHMoKSkgewogICAgICAgICAgICAgICAgYm91bmRzLmV4dGVuZChpbnN0YW5jZS5nZXRCb3VuZHMoKS5nZXROb3J0aEVhc3QoKSk7CiAgICAgICAgICAgICAgICBib3VuZHMuZXh0ZW5kKGluc3RhbmNlLmdldEJvdW5kcygpLmdldFNvdXRoV2VzdCgpKTsKICAgICAgICAgICAgICB9IGVsc2UgaWYgKGluc3RhbmNlLmdldFBhdGhzICYmIGluc3RhbmNlLmdldFBhdGhzKCkpIHsKICAgICAgICAgICAgICAgIGZvcmVhY2goaW5zdGFuY2UuZ2V0UGF0aHMoKS5nZXRBcnJheSgpLCBmdW5jdGlvbiAocGF0aCkgewogICAgICAgICAgICAgICAgICBmb3JlYWNoKHBhdGguZ2V0QXJyYXkoKSwgZnVuY3Rpb24gKGxhdExuZykgewogICAgICAgICAgICAgICAgICAgIGJvdW5kcy5leHRlbmQobGF0TG5nKTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9IGVsc2UgaWYgKGluc3RhbmNlLmdldFBhdGggJiYgaW5zdGFuY2UuZ2V0UGF0aCgpKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoKGluc3RhbmNlLmdldFBhdGgoKS5nZXRBcnJheSgpLCBmdW5jdGlvbiAobGF0TG5nKSB7CiAgICAgICAgICAgICAgICAgIGJvdW5kcy5leHRlbmQobGF0TG5nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2UuZ2V0Q2VudGVyICYmIGluc3RhbmNlLmdldENlbnRlcigpKSB7CiAgICAgICAgICAgICAgICBib3VuZHMuZXh0ZW5kKGluc3RhbmNlLmdldENlbnRlcigpKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIGlmICghYm91bmRzLmlzRW1wdHkoKSkgewogICAgICAgIG1hcC5maXRCb3VuZHMoYm91bmRzKTsKICAgICAgfQogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pOwoKICAgIHNlbGYud2FpdCA9IGZ1bmN0aW9uIChkdXJhdGlvbikgewogICAgICBwcm9taXNlID0gcHJvbWlzZS50aGVuKGZ1bmN0aW9uIChpbnN0YW5jZSkgewogICAgICAgIHZhciBkZmQgPSBkZWZlcnJlZCgpOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgZGZkLnJlc29sdmUoaW5zdGFuY2UpOwogICAgICAgIH0sIGR1cmF0aW9uKTsKICAgICAgICByZXR1cm4gZGZkOwogICAgICB9KTsKICAgIH07CgogICAgc2VsZi50aGVuID0gZnVuY3Rpb24gKGZuKSB7CiAgICAgIGlmIChpc0Z1bmN0aW9uKGZuKSkgewogICAgICAgIHByb21pc2UgPSBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKGluc3RhbmNlKSB7CiAgICAgICAgICByZXR1cm4gd2hlbihmbi5jYWxsKGNvbnRleHQoKSwgaW5zdGFuY2UpKS50aGVuKGZ1bmN0aW9uIChuZXdJbnN0YW5jZSkgewogICAgICAgICAgICByZXR1cm4gaXNVbmRlZmluZWQobmV3SW5zdGFuY2UpID8gaW5zdGFuY2UgOiBuZXdJbnN0YW5jZTsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9CiAgICB9OwoKICAgIHNlbGYuY2F0Y2ggPSBmdW5jdGlvbiAoZm4pIHsKICAgICAgaWYgKGlzRnVuY3Rpb24oZm4pKSB7CiAgICAgICAgcHJvbWlzZSA9IHByb21pc2UKICAgICAgICAgIC50aGVuKG51bGwsIGZ1bmN0aW9uIChyZWFzb24pIHsKICAgICAgICAgICAgcmV0dXJuIHdoZW4oZm4uY2FsbChjb250ZXh0KCksIHJlYXNvbikpOwogICAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgogICAgZm9yZWFjaFN0cignb24gb25jZScsIGZ1bmN0aW9uIChuYW1lLCBvbmNlKSB7CiAgICAgIHNlbGZbbmFtZV0gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGV2ZW50cyA9IGFyZ3VtZW50c1swXTsKICAgICAgICBpZiAoZXZlbnRzKSB7CiAgICAgICAgICBpZiAodHlwZW9mIGV2ZW50cyA9PT0gJ3N0cmluZycpIHsgLy8gY2FzdCBjYWxsIG9uKCdjbGljaycsIGhhbmRsZXIpIHRvIG9uKHtjbGljazogaGFuZGxlcn0pCiAgICAgICAgICAgIGV2ZW50cyA9IHt9OwogICAgICAgICAgICBldmVudHNbYXJndW1lbnRzWzBdXSA9IHNsaWNlKGFyZ3VtZW50cywgMSk7CiAgICAgICAgICB9CiAgICAgICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKGluc3RhbmNlcykgewogICAgICAgICAgICBpZiAoaW5zdGFuY2VzKSB7CiAgICAgICAgICAgICAgaWYgKGluc3RhbmNlcyBpbnN0YW5jZW9mIENsdXN0ZXIpIHsKICAgICAgICAgICAgICAgIGluc3RhbmNlcy5fYihmdW5jdGlvbiAoaXRlbXMpIHsKICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIGF0dGFjaEV2ZW50cyhldmVudHMsIGl0ZW1zLCBvbmNlKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gYXR0YWNoRXZlbnRzKGV2ZW50cywgaW5zdGFuY2VzLm1hcmtlcnMoKSwgW3VuZGVmaW5lZCwgaW5zdGFuY2VzXSwgb25jZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGF0dGFjaEV2ZW50cyhldmVudHMsIGluc3RhbmNlcywgb25jZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfTsKICAgIH0pOwoKICAgIHNlbGYuZ2V0ID0gZnVuY3Rpb24gKGluZGV4KSB7CiAgICAgIGlmIChpc1VuZGVmaW5lZChpbmRleCkpIHsKICAgICAgICByZXR1cm4gcHJldmlvdXNSZXN1bHRzLm1hcChmdW5jdGlvbiAoaW5zdGFuY2UpIHsKICAgICAgICAgIHJldHVybiBpc0FycmF5KGluc3RhbmNlKSA/IGluc3RhbmNlLnNsaWNlKCkgOiBpbnN0YW5jZTsKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAoaW5kZXggPCAwKSB7CiAgICAgICAgICBpbmRleCA9IHByZXZpb3VzUmVzdWx0cy5sZW5ndGggKyBpbmRleDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGlzQXJyYXkocHJldmlvdXNSZXN1bHRzW2luZGV4XSkgPyBwcmV2aW91c1Jlc3VsdHNbaW5kZXhdLnNsaWNlKCkgOiBwcmV2aW91c1Jlc3VsdHNbaW5kZXhdOwogICAgICB9CiAgICB9OwoKICAgIGlmIChvcHRpb25zKSB7CiAgICAgIHNlbGYubWFwKG9wdGlvbnMpOwogICAgfQogIH0KCgp9KShqUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOw=="}},"time_used":157,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":150,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/asap/v34/KFO9CniXp96a4Tc2DaTeuDAoKsE615hJW34.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.854Z","timestamp":1785124599854,"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/asap/v34/KFO9CniXp96a4Tc2DaTeuDAoKsE615hJW34.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://astroxcinvest.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: 43432\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:35 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:35 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 04 Sep 2025 17:26:23 GMT\r\ncontent-type: font/woff2\r\nage: 398704\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":43432,"size_decoded":44245,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 43432, version 1.0","md5":"3e1800efc8e163fc672a9ec618301728","sha1":"0a59b8246fd479417f6d161db78f0fa80dd10de7","sha256":"4990095a31b381678bf429baf3f1320600830d366137a9053f5a89b0c2620a43","sha512":"580b2ee170dda348ceb586db6800ff206bfd03d2c298818b9e7891e46db307b9b3e03b94120c5de8030166e1b6238322bb48fad575f6df671b020f282ade3f9c","ssdeep":"768:TwOnk8j58wScpgE+fG0u6KLaW+IYK9mZAFg4vLjKCXVg+SIb1a66h8EhTh5ju:TLl8wnpgzGdNLk3+g4T0l9hThxu","tlshash":"e713f2a375f9451bb2d726a1e1e38d544bb4cdab0c0602fe5719ee5d0bce84e06182de","first_seen":"2025-06-25T22:49:48.742012Z","last_seen":"2026-08-04T00:16:47.518275Z","times_seen":4036,"resource_available":false,"data":"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"}},"time_used":69,"timings":{"blocked":20,"dns":0,"connect":0,"send":0,"wait":22,"receive":27,"ssl":0},"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"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.955Z","timestamp":1785124599955,"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 /_/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://astroxcinvest.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\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: 381396\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":194344,"size_decoded":68816,"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":95,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":19,"receive":26,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/coins/markets?ids=bitcoin,ethereum,eos,ripple,litecoin\u0026vs_currency=usd","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.956Z","timestamp":1785124599956,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/markets?ids=bitcoin,ethereum,eos,ripple,litecoin\u0026vs_currency=usd HTTP/1.1\r\nHost: api.coingecko.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://astroxcinvest.com/\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 2.0\r\ntotal: 5\r\nper-page: 100\r\ncache-control: max-age=30, public, must-revalidate, s-maxage=60\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\netag: W/\"330cc8509ff4c19ab911e147e6751f94\"\r\nx-request-id: 688cfb02-a51f-4a52-bf9f-858ebb7f48e6\r\nx-runtime: 0.004025\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\ncf-cache-status: HIT\r\npriority: u=4,i=?0\r\ncf-ray: a218b72e3925569b-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":3921,"size_decoded":2407,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"34506125cf5ad78868964a95c76780df","sha1":"775210b4edf396444f3a69945e296a52b4969a1b","sha256":"ad2b0a2e4d560ecc6d805fb7d848f5ba6ca74b9d8a8d0720b8618b087914fac2","sha512":"2c924c9b1f258c3200afe5bb3f67c0c129b81f8b72bec22cf183061f3c122a470d3863f9126a5069903fdde28afca9337e9f722a78c5f09004db682c4563d101","ssdeep":"","tlshash":"978133960d749ce3c2a165456c9e36140d2efedadcc9cc124fdecdce44687fa420ae4a","first_seen":"2026-07-27T03:57:26.134871Z","last_seen":"2026-07-27T03:57:26.134871Z","times_seen":1,"resource_available":false,"data":"W3siaWQiOiJiaXRjb2luIiwic3ltYm9sIjoiYnRjIiwibmFtZSI6IkJpdGNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMS9sYXJnZS9iaXRjb2luLnBuZz8xNjk2NTAxNDAwIiwiY3VycmVudF9wcmljZSI6NjUyNjEsIm1hcmtldF9jYXAiOjEzMDkyNzIyMjIxMTgsIm1hcmtldF9jYXBfcmFuayI6MSwiZnVsbHlfZGlsdXRlZF92YWx1YXRpb24iOjEzMDkyNzIyMjIxMTgsInRvdGFsX3ZvbHVtZSI6MTYzNTkyNTI5NzUsImhpZ2hfMjRoIjo2NTQ4OSwibG93XzI0aCI6NjQyNDMsInByaWNlX2NoYW5nZV8yNGgiOjc2My42NywicHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoIjoxLjEsIm1hcmtldF9jYXBfY2hhbmdlXzI0aCI6MTUzNTgyODIyODksIm1hcmtldF9jYXBfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoIjoxLjE4Njk2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjIwMDYxNzg0LjAsInRvdGFsX3N1cHBseSI6MjAwNjE3ODQuMCwibWF4X3N1cHBseSI6MjEwMDAwMDAuMCwiYXRoIjoxMjYwODAsImF0aF9jaGFuZ2VfcGVyY2VudGFnZSI6LTQ4LjIzNzk4LCJhdGhfZGF0ZSI6IjIwMjUtMTAtMDZUMTA6NTc6NDIuMDAwWiIsImF0bCI6NjcuODEsImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6OTYxNDMuMTE1ODQsImF0bF9kYXRlIjoiMjAxMy0wNy0wNVQxNjowMDowMC4wMDBaIiwicm9pIjpudWxsLCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDAzOjUzOjMwLjAwMFoifSx7ImlkIjoiZXRoZXJldW0iLCJzeW1ib2wiOiJldGgiLCJuYW1lIjoiRXRoZXJldW0iLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMjc5L2xhcmdlL2V0aGVyZXVtLnBuZz8xNjk2NTAxNjI4IiwiY3VycmVudF9wcmljZSI6MTk0NS42NywibWFya2V0X2NhcCI6MjM0Nzk2NDE3MzcwLCJtYXJrZXRfY2FwX3JhbmsiOjIsImZ1bGx5X2RpbHV0ZWRfdmFsdWF0aW9uIjoyMzQ3OTY0MTczNzAsInRvdGFsX3ZvbHVtZSI6NjgzODU1MzYyNCwiaGlnaF8yNGgiOjE5NjAuMzYsImxvd18yNGgiOjE4NzcuMSwicHJpY2VfY2hhbmdlXzI0aCI6NTguNzUsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6My40LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjcwNzc2MjY4MTYsIm1hcmtldF9jYXBfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoIjozLjEwODA2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjEyMDY4MjYzNS44NTMxMDM3MSwidG90YWxfc3VwcGx5IjoxMjA2ODI2MzUuODUzMTAzNywibWF4X3N1cHBseSI6bnVsbCwiYXRoIjo0OTQ2LjA1LCJhdGhfY2hhbmdlX3BlcmNlbnRhZ2UiOi02MC42NjIwNywiYXRoX2RhdGUiOiIyMDI1LTA4LTI0VDExOjIxOjAzLjAwMFoiLCJhdGwiOjAuNDMyOTc5LCJhdGxfY2hhbmdlX3BlcmNlbnRhZ2UiOjQ0OTI2OS4wNDEyNCwiYXRsX2RhdGUiOiIyMDE1LTEwLTE5VDE2OjAwOjAwLjAwMFoiLCJyb2kiOnsidGltZXMiOjM4Ljg1NzU3OTY4MjMxMiwiY3VycmVuY3kiOiJidGMiLCJwZXJjZW50YWdlIjozODg1Ljc1Nzk2ODIzMTIwMDN9LCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDAzOjUzOjMwLjAwMFoifSx7ImlkIjoicmlwcGxlIiwic3ltYm9sIjoieHJwIiwibmFtZSI6IlhSUCIsImltYWdlIjoiaHR0cHM6Ly9jb2luLWltYWdlcy5jb2luZ2Vja28uY29tL2NvaW5zL2ltYWdlcy80NC9sYXJnZS94cnAtc3ltYm9sLXdoaXRlLTEyOC5wbmc/MTY5NjUwMTQ0MiIsImN1cnJlbnRfcHJpY2UiOjEuMTEsIm1hcmtldF9jYXAiOjY5MTk3ODczMDA3LCJtYXJrZXRfY2FwX3JhbmsiOjYsImZ1bGx5X2RpbHV0ZWRfdmFsdWF0aW9uIjoxMTA2NDE3OTI4NTUsInRvdGFsX3ZvbHVtZSI6NjA1NDk0ODYxLCJoaWdoXzI0aCI6MS4xMiwibG93XzI0aCI6MS4wOTUsInByaWNlX2NoYW5nZV8yNGgiOjAuMDA1NDAyODQsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MC41LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjMzNDQyNzE4OSwibWFya2V0X2NhcF9jaGFuZ2VfcGVyY2VudGFnZV8yNGgiOjAuNDg1NjQsImNpcmN1bGF0aW5nX3N1cHBseSI6NjI1MzMyNzE5NTUuMCwidG90YWxfc3VwcGx5Ijo5OTk4NTYzNTcwNy4wLCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAuMCwiYXRoIjozLjY1LCJhdGhfY2hhbmdlX3BlcmNlbnRhZ2UiOi02OS42NTEyMSwiYXRoX2RhdGUiOiIyMDI1LTA3LTE3VDE5OjQwOjUzLjAwMFoiLCJhdGwiOjAuMDAyNjg2MjEsImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6NDEwOTYuODIwNDQsImF0bF9kYXRlIjoiMjAxNC0wNS0yMVQxNjowMDowMC4wMDBaIiwicm9pIjpudWxsLCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDAzOjUzOjMwLjAwMFoifSx7ImlkIjoibGl0ZWNvaW4iLCJzeW1ib2wiOiJsdGMiLCJuYW1lIjoiTGl0ZWNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMi9sYXJnZS9saXRlY29pbi5wbmc/MTY5NjUwMTQwMCIsImN1cnJlbnRfcHJpY2UiOjQ3LjM2LCJtYXJrZXRfY2FwIjozNjY3MDgwNDAyLCJtYXJrZXRfY2FwX3JhbmsiOjI3LCJmdWxseV9kaWx1dGVkX3ZhbHVhdGlvbiI6MzY2NzA5MzQyNiwidG90YWxfdm9sdW1lIjoyMjU3MjMwNjUsImhpZ2hfMjRoIjo0OC4yLCJsb3dfMjRoIjo0Ni42MiwicHJpY2VfY2hhbmdlXzI0aCI6MC42MzM1NDYsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS41LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjQ5NDQ4MjI0LCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS4zNjY4NywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3NzQyODgyMi43MjE3NTYwNywidG90YWxfc3VwcGx5Ijo3NzQyOTE3OC45NzI2MzE0OCwibWF4X3N1cHBseSI6ODQwMDAwMDAuMCwiYXRoIjo0MTAuMjYsImF0aF9jaGFuZ2VfcGVyY2VudGFnZSI6LTg4LjQ1NjY4LCJhdGhfZGF0ZSI6IjIwMjEtMDUtMDlUMTk6MTM6MDcuMDAwWiIsImF0bCI6MS4xNSwiYXRsX2NoYW5nZV9wZXJjZW50YWdlIjo0MDIyLjIwMDUzLCJhdGxfZGF0ZSI6IjIwMTUtMDEtMTNUMTY6MDA6MDAuMDAwWiIsInJvaSI6bnVsbCwibGFzdF91cGRhdGVkIjoiMjAyNi0wNy0yN1QwMzo1MzozMC4wMDBaIn0seyJpZCI6ImVvcyIsInN5bWJvbCI6ImVvcyIsIm5hbWUiOiJFT1MiLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvNzM4L2xhcmdlL0NHX0VPU19JY29uLnBuZz8xNzMxNzA1MjMyIiwiY3VycmVudF9wcmljZSI6MC4wNjM5ODMsIm1hcmtldF9jYXAiOjAuMCwibWFya2V0X2NhcF9yYW5rIjpudWxsLCJmdWxseV9kaWx1dGVkX3ZhbHVhdGlvbiI6MTM0MzY0MTYwLCJ0b3RhbF92b2x1bWUiOjMxMTIwLCJoaWdoXzI0aCI6MC4wNjQyMTUsImxvd18yNGgiOjAuMDYyMTY4LCJwcmljZV9jaGFuZ2VfMjRoIjowLjAwMDQ2NzIzLCJwcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8yNGgiOjMuMywibWFya2V0X2NhcF9jaGFuZ2VfMjRoIjpudWxsLCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6bnVsbCwiY2lyY3VsYXRpbmdfc3VwcGx5IjowLjAsInRvdGFsX3N1cHBseSI6MjEwMDAwMDAwMC4wLCJtYXhfc3VwcGx5IjoyMTAwMDAwMDAwLjAsImF0aCI6MjIuNzEsImF0aF9jaGFuZ2VfcGVyY2VudGFnZSI6LTk5LjcxODI4LCJhdGhfZGF0ZSI6IjIwMTgtMDQtMjhUMjM6NTA6MzMuMDAwWiIsImF0bCI6MC4wNTgwMDUsImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6MTAuMzA3MjUsImF0bF9kYXRlIjoiMjAyNi0wNi0wNlQwNDozODo0NS4wMDBaIiwicm9pIjp7InRpbWVzIjotMC45MzU0MTg1NTk5NTIwNTU5LCJjdXJyZW5jeSI6InVzZCIsInBlcmNlbnRhZ2UiOi05My41NDE4NTU5OTUyMDU2fSwibGFzdF91cGRhdGVkIjoiMjAyNi0wNy0yN1QwMzo1MzozMC4wMDBaIn1d"}},"time_used":193,"timings":{"blocked":67,"dns":0,"connect":0,"send":0,"wait":126,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/coins/eos/market_chart?vs_currency=usd\u0026days=max","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:40.895Z","timestamp":1785124600895,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/eos/market_chart?vs_currency=usd\u0026days=max HTTP/1.1\r\nHost: api.coingecko.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://astroxcinvest.com/\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 401 \r\ndate: Mon, 27 Jul 2026 03:56:41 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 2.0\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\ncache-control: no-cache\r\nx-request-id: 7953ba60-a448-4212-91be-ff49d64ec2a7\r\nx-runtime: 0.011787\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\npriority: u=4,i=?0\r\ncf-cache-status: BYPASS\r\ncf-ray: a218b7339955569b-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"401","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":335,"size_decoded":1385,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"e2fa48c16a9cef23202f1529cf62dba2","sha1":"ac794099ec766a5e1f19a1396cf80cf06b731ac5","sha256":"534c3ccd735f678502e00d0255b7c68419e700e3e3d3d9cbf89db407af689e20","sha512":"9137101717fd546e9d0652c4136b3412c814f531c8ab066cdb5f244a138f295c841422d9d742e5716499b10be90b6145813485d5d635f7ddd90e216a48cd0b2d","ssdeep":"","tlshash":"aee0204126d64d534fa213d0665ef2d97857e5dc97250686345c8318495523ec658248","first_seen":"2026-07-27T03:57:26.137148Z","last_seen":"2026-07-27T03:57:26.137148Z","times_seen":1,"resource_available":false,"data":"eyJlcnJvciI6eyJzdGF0dXMiOnsidGltZXN0YW1wIjoiMjAyNi0wNy0yN1QwMzo1Njo0MC45NzYrMDA6MDAiLCJlcnJvcl9jb2RlIjoxMDAxMiwiZXJyb3JfbWVzc2FnZSI6IllvdXIgcmVxdWVzdCBleGNlZWRzIHRoZSBhbGxvd2VkIHRpbWUgcmFuZ2UuIFB1YmxpYyBBUEkgdXNlcnMgYXJlIGxpbWl0ZWQgdG8gcXVlcnlpbmcgaGlzdG9yaWNhbCBkYXRhIHdpdGhpbiB0aGUgcGFzdCAzNjUgZGF5cy4gVXBncmFkZSB0byBhIHBhaWQgcGxhbiB0byBlbmpveSBmdWxsIGhpc3RvcmljYWwgZGF0YSBhY2Nlc3M6IGh0dHBzOi8vd3d3LmNvaW5nZWNrby5jb20vZW4vYXBpL3ByaWNpbmcuICJ9fX0="}},"time_used":151,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":151,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/img/img3.png","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.656Z","timestamp":1785124599656,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /img/img3.png HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 18 Oct 2022 11:10:17 GMT\r\netag: \"44ade59-634e8999-63176202e1d147d7;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 72015449\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"image/png","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.239Z","timestamp":1785124600239,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: aff743d12af369ec75431fe84ea17812\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-04T06:18:34.24657Z","times_seen":7064,"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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.252Z","timestamp":1785124600252,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 0566aff1c3f06898893dffcc800ad346\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-04T06:18:34.288838Z","times_seen":4996,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/CH.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.477Z","timestamp":1785124600477,"http_version":"HTTP/2","security_state":"secure","security_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 /country/CH.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 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: \"d490c6879d1a4b832c5fd71de4b4bd38\"\r\nlast-modified: Wed, 20 Dec 2023 06:30:39 GMT\r\ncdn-cachedat: 08/14/2025 09:10:20\r\nx-amz-id-2: +pgOhMBEo1bT/EoeDaU/vJ7iYiRTuqoJjrasc1Ax8y0E+aviBoNB+Oh9lnd5HpM0M0T99zENl0o=\r\nx-amz-request-id: 79R00Z2WARKZCTCQ\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: d490c6879d1a4b832c5fd71de4b4bd38\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: 81dd410bf63f18a5ba4a3616a590b429\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":323,"size_decoded":1103,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (323), with no line terminators","md5":"d490c6879d1a4b832c5fd71de4b4bd38","sha1":"2faf3c6bb3f17594b06fc3a8c7b0a9b4b52d59c0","sha256":"3e5657d1033fd76d680853cb65e85338623961ca92b1e768cb902aa995a81a99","sha512":"a03bc306dddec855aae306318edf5429cbcb8142faf7420677a459a7b1df5002ec22996602071373c3b721e1c25b3f0baf83f45b6530fa89f4ccb9b09cdedce8","ssdeep":"","tlshash":"cae0d87951385008a411c3b5a8bc945b208e60cbf29c12d9b5403106181a1f79f14a98","first_seen":"2023-12-23T23:42:09Z","last_seen":"2026-08-02T19:31:07.761002Z","times_seen":2622,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wIDBoMTh2MThIMFYweiIgZmlsbD0iI0VGNTM1MCIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIi8+PHBhdGggZD0iTTMgN2gxMnY0SDNWN3oiIGZpbGw9IiNGOEY5RkQiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPjxwYXRoIGQ9Ik03IDNoNHYxMkg3VjN6IiBmaWxsPSIjRjhGOUZEIiBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiLz48L3N2Zz4="}},"time_used":139,"timings":{"blocked":-1,"dns":59,"connect":42,"send":0,"wait":2,"receive":-1,"ssl":22},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/css/font-awesome.min.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.410Z","timestamp":1785124599410,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/font-awesome.min.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"8b4f-5aa839fc-3dca4cfd1351e585;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 6479\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":35663,"size_decoded":6842,"mime_type":"text/css","magic":"troff or preprocessor input, ASCII text, with very long lines (433)","md5":"da67408f95eb9047c9e71b55e5bd7f83","sha1":"69458b76a4e86e272a22c94ae70f629d817ee4ae","sha256":"04f20876a9d0d2fa680943f433b033b3d307f5768ec177fa699813448bd795a6","sha512":"9269a4b612938e2345bc0462911cf551657dcfe57fb2f4f70865f44a4ad8005687caef6b59f7f0bd247a38fde9b213794c320d4b40e5e3939fac1ed2024a53d8","ssdeep":"384:StqNCULyg3VjCwuwyFIlgHtbTHirO+gzn9iDAmRA6v0rFAJtY:SSCULXVruwyFIaNbTCHO9LmS6v0rFQS","tlshash":"35f244ace5bf18914329e4c5778fa340b335bbad9d484c58d2823e8cd9c16b981c6bdd","first_seen":"2024-10-16T22:18:11.653586Z","last_seen":"2026-07-27T13:50:14.111991Z","times_seen":100,"resource_available":false,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC42LjMgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovCgpAZm9udC1mYWNlIHsKICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7CiAgIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250NWI2MjViNjI1YjYyLmVvdD92PTQuNi4zJyk7CiAgIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250ZDQxZGQ0MWRkNDFkLmVvdD8jaWVmaXgmdj00LjYuMycpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250NWI2MjViNjI1YjYyLndvZmYyP3Y9NC42LjMnKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udDViNjI1YjYyNWI2Mi53b2ZmP3Y9NC42LjMnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250NWI2MjViNjI1YjYyLnR0Zj92PTQuNi4zJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQ1YjYyNWI2MjViNjIuc3ZnP3Y9NC42LjMjZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTsKICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCi5mYSB7CiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lOwogICBmb250LXNpemU6IGluaGVyaXQ7CiAgIHRleHQtcmVuZGVyaW5nOiBhdXRvOwogICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZQp9CgouZmEtbGcgewogICBmb250LXNpemU6IDEuMzMzMzMzMzNlbTsKICAgbGluZS1oZWlnaHQ6IC43NWVtOwogICB2ZXJ0aWNhbC1hbGlnbjogLTE1JQp9CgouZmEtMnggewogICBmb250LXNpemU6IDJlbQp9CgouZmEtM3ggewogICBmb250LXNpemU6IDNlbQp9CgouZmEtNHggewogICBmb250LXNpemU6IDRlbQp9CgouZmEtNXggewogICBmb250LXNpemU6IDVlbQp9CgouZmEtZncgewogICB3aWR0aDogMS4yODU3MTQyOWVtOwogICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLmZhLXVsIHsKICAgcGFkZGluZy1sZWZ0OiAwOwogICBtYXJnaW4tbGVmdDogMi4xNDI4NTcxNGVtOwogICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUKfQoKLmZhLXVsPmxpIHsKICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5mYS1saSB7CiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgbGVmdDogLTIuMTQyODU3MTRlbTsKICAgd2lkdGg6IDIuMTQyODU3MTRlbTsKICAgdG9wOiAuMTQyODU3MTRlbTsKICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5mYS1saS5mYS1sZyB7CiAgIGxlZnQ6IC0xLjg1NzE0Mjg2ZW0KfQoKLmZhLWJvcmRlciB7CiAgIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07CiAgIGJvcmRlcjogc29saWQgLjA4ZW0gI2VlZTsKICAgYm9yZGVyLXJhZGl1czogLjFlbQp9CgouZmEtcHVsbC1sZWZ0IHsKICAgZmxvYXQ6IGxlZnQKfQoKLmZhLXB1bGwtcmlnaHQgewogICBmbG9hdDogcmlnaHQKfQoKLmZhLmZhLXB1bGwtbGVmdCB7CiAgIG1hcmdpbi1yaWdodDogLjNlbQp9CgouZmEuZmEtcHVsbC1yaWdodCB7CiAgIG1hcmdpbi1sZWZ0OiAuM2VtCn0KCi5wdWxsLXJpZ2h0IHsKICAgZmxvYXQ6IHJpZ2h0Cn0KCi5wdWxsLWxlZnQgewogICBmbG9hdDogbGVmdAp9CgouZmEucHVsbC1sZWZ0IHsKICAgbWFyZ2luLXJpZ2h0OiAuM2VtCn0KCi5mYS5wdWxsLXJpZ2h0IHsKICAgbWFyZ2luLWxlZnQ6IC4zZW0KfQoKLmZhLXNwaW4gewogICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CiAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXIKfQoKLmZhLXB1bHNlIHsKICAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7CiAgIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7CiAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykKICAgfQogICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOwogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpCiAgIH0KfQoKQGtleWZyYW1lcyBmYS1zcGluIHsKICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKQogICB9CiAgIDEwMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZykKICAgfQp9CgouZmEtcm90YXRlLTkwIHsKICAgLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpIjsKICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKQp9CgouZmEtcm90YXRlLTE4MCB7CiAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSI7CiAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykKfQoKLmZhLXJvdGF0ZS0yNzAgewogICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MykiOwogICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7CiAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOwogICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpCn0KCi5mYS1mbGlwLWhvcml6b250YWwgewogICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpIjsKICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsKICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpOwogICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKQp9CgouZmEtZmxpcC12ZXJ0aWNhbCB7CiAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSkiOwogICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOwogICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7CiAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpCn0KCjpyb290IC5mYS1yb3RhdGUtOTAsCjpyb290IC5mYS1yb3RhdGUtMTgwLAo6cm9vdCAuZmEtcm90YXRlLTI3MCwKOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCwKOnJvb3QgLmZhLWZsaXAtdmVydGljYWwgewogICBmaWx0ZXI6IG5vbmUKfQoKLmZhLXN0YWNrIHsKICAgcG9zaXRpb246IHJlbGF0aXZlOwogICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgIHdpZHRoOiAyZW07CiAgIGhlaWdodDogMmVtOwogICBsaW5lLWhlaWdodDogMmVtOwogICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlCn0KCi5mYS1zdGFjay0xeCwKLmZhLXN0YWNrLTJ4IHsKICAgcG9zaXRpb246IGFic29sdXRlOwogICBsZWZ0OiAwOwogICB3aWR0aDogMTAwJTsKICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5mYS1zdGFjay0xeCB7CiAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0Cn0KCi5mYS1zdGFjay0yeCB7CiAgIGZvbnQtc2l6ZTogMmVtCn0KCi5mYS1pbnZlcnNlIHsKICAgY29sb3I6ICNmZmYKfQoKLmZhLWdsYXNzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwMCIKfQoKLmZhLW11c2ljOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwMSIKfQoKLmZhLXNlYXJjaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMDIiCn0KCi5mYS1lbnZlbG9wZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwMyIKfQoKLmZhLWhlYXJ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwNCIKfQoKLmZhLXN0YXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDA1Igp9CgouZmEtc3Rhci1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwNiIKfQoKLmZhLXVzZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDA3Igp9CgouZmEtZmlsbTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMDgiCn0KCi5mYS10aC1sYXJnZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMDkiCn0KCi5mYS10aDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMGEiCn0KCi5mYS10aC1saXN0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwYiIKfQoKLmZhLWNoZWNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwYyIKfQoKLmZhLXJlbW92ZTpiZWZvcmUsCi5mYS1jbG9zZTpiZWZvcmUsCi5mYS10aW1lczpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMGQiCn0KCi5mYS1zZWFyY2gtcGx1czpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMGUiCn0KCi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDEwIgp9CgouZmEtcG93ZXItb2ZmOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxMSIKfQoKLmZhLXNpZ25hbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMTIiCn0KCi5mYS1nZWFyOmJlZm9yZSwKLmZhLWNvZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMTMiCn0KCi5mYS10cmFzaC1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxNCIKfQoKLmZhLWhvbWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDE1Igp9CgouZmEtZmlsZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxNiIKfQoKLmZhLWNsb2NrLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDE3Igp9CgouZmEtcm9hZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMTgiCn0KCi5mYS1kb3dubG9hZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMTkiCn0KCi5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxYSIKfQoKLmZhLWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxYiIKfQoKLmZhLWluYm94OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxYyIKfQoKLmZhLXBsYXktY2lyY2xlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDFkIgp9CgouZmEtcm90YXRlLXJpZ2h0OmJlZm9yZSwKLmZhLXJlcGVhdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMWUiCn0KCi5mYS1yZWZyZXNoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyMSIKfQoKLmZhLWxpc3QtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyMiIKfQoKLmZhLWxvY2s6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDIzIgp9CgouZmEtZmxhZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMjQiCn0KCi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyNSIKfQoKLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDI2Igp9CgouZmEtdm9sdW1lLWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMDI3Igp9CgouZmEtdm9sdW1lLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyOCIKfQoKLmZhLXFyY29kZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMjkiCn0KCi5mYS1iYXJjb2RlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyYSIKfQoKLmZhLXRhZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMmIiCn0KCi5mYS10YWdzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyYyIKfQoKLmZhLWJvb2s6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDJkIgp9CgouZmEtYm9va21hcms6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDJlIgp9CgouZmEtcHJpbnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDJmIgp9CgouZmEtY2FtZXJhOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzMCIKfQoKLmZhLWZvbnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDMxIgp9CgouZmEtYm9sZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMzIiCn0KCi5mYS1pdGFsaWM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDMzIgp9CgouZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDM0Igp9CgouZmEtdGV4dC13aWR0aDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMzUiCn0KCi5mYS1hbGlnbi1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzNiIKfQoKLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMzciCn0KCi5mYS1hbGlnbi1yaWdodDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMzgiCn0KCi5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzOSIKfQoKLmZhLWxpc3Q6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDNhIgp9CgouZmEtZGVkZW50OmJlZm9yZSwKLmZhLW91dGRlbnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDNiIgp9CgouZmEtaW5kZW50OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzYyIKfQoKLmZhLXZpZGVvLWNhbWVyYTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwM2QiCn0KCi5mYS1waG90bzpiZWZvcmUsCi5mYS1pbWFnZTpiZWZvcmUsCi5mYS1waWN0dXJlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDNlIgp9CgouZmEtcGVuY2lsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0MCIKfQoKLmZhLW1hcC1tYXJrZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDQxIgp9CgouZmEtYWRqdXN0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0MiIKfQoKLmZhLXRpbnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDQzIgp9CgouZmEtZWRpdDpiZWZvcmUsCi5mYS1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDQ0Igp9CgouZmEtc2hhcmUtc3F1YXJlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDQ1Igp9CgouZmEtY2hlY2stc3F1YXJlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDQ2Igp9CgouZmEtYXJyb3dzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0NyIKfQoKLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDQ4Igp9CgouZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNDkiCn0KCi5mYS1iYWNrd2FyZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNGEiCn0KCi5mYS1wbGF5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0YiIKfQoKLmZhLXBhdXNlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0YyIKfQoKLmZhLXN0b3A6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDRkIgp9CgouZmEtZm9yd2FyZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNGUiCn0KCi5mYS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDUwIgp9CgouZmEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1MSIKfQoKLmZhLWVqZWN0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1MiIKfQoKLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTMiCn0KCi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1NCIKfQoKLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1NSIKfQoKLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTYiCn0KCi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDU3Igp9CgouZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1OCIKfQoKLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTkiCn0KCi5mYS1pbmZvLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNWEiCn0KCi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1YiIKfQoKLmZhLXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1YyIKfQoKLmZhLWNoZWNrLWNpcmNsZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1ZCIKfQoKLmZhLWJhbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNWUiCn0KCi5mYS1hcnJvdy1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2MCIKfQoKLmZhLWFycm93LXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2MSIKfQoKLmZhLWFycm93LXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2MiIKfQoKLmZhLWFycm93LWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMDYzIgp9CgouZmEtbWFpbC1mb3J3YXJkOmJlZm9yZSwKLmZhLXNoYXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2NCIKfQoKLmZhLWV4cGFuZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNjUiCn0KCi5mYS1jb21wcmVzczpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNjYiCn0KCi5mYS1wbHVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2NyIKfQoKLmZhLW1pbnVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2OCIKfQoKLmZhLWFzdGVyaXNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2OSIKfQoKLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNmEiCn0KCi5mYS1naWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2YiIKfQoKLmZhLWxlYWY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDZjIgp9CgouZmEtZmlyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNmQiCn0KCi5mYS1leWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDZlIgp9CgouZmEtZXllLXNsYXNoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3MCIKfQoKLmZhLXdhcm5pbmc6YmVmb3JlLAouZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDcxIgp9CgouZmEtcGxhbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDcyIgp9CgouZmEtY2FsZW5kYXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDczIgp9CgouZmEtcmFuZG9tOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3NCIKfQoKLmZhLWNvbW1lbnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDc1Igp9CgouZmEtbWFnbmV0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3NiIKfQoKLmZhLWNoZXZyb24tdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDc3Igp9CgouZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3OCIKfQoKLmZhLXJldHdlZXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDc5Igp9CgouZmEtc2hvcHBpbmctY2FydDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwN2EiCn0KCi5mYS1mb2xkZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDdiIgp9CgouZmEtZm9sZGVyLW9wZW46YmVmb3JlIHsKICAgY29udGVudDogIlxmMDdjIgp9CgouZmEtYXJyb3dzLXY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDdkIgp9CgouZmEtYXJyb3dzLWg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDdlIgp9CgouZmEtYmFyLWNoYXJ0LW86YmVmb3JlLAouZmEtYmFyLWNoYXJ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA4MCIKfQoKLmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA4MSIKfQoKLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwODIiCn0KCi5mYS1jYW1lcmEtcmV0cm86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDgzIgp9CgouZmEta2V5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA4NCIKfQoKLmZhLWdlYXJzOmJlZm9yZSwKLmZhLWNvZ3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDg1Igp9CgouZmEtY29tbWVudHM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDg2Igp9CgouZmEtdGh1bWJzLW8tdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDg3Igp9CgouZmEtdGh1bWJzLW8tZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwODgiCn0KCi5mYS1zdGFyLWhhbGY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDg5Igp9CgouZmEtaGVhcnQtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOGEiCn0KCi5mYS1zaWduLW91dDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOGIiCn0KCi5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDhjIgp9CgouZmEtdGh1bWItdGFjazpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOGQiCn0KCi5mYS1leHRlcm5hbC1saW5rOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA4ZSIKfQoKLmZhLXNpZ24taW46YmVmb3JlIHsKICAgY29udGVudDogIlxmMDkwIgp9CgouZmEtdHJvcGh5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA5MSIKfQoKLmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDkyIgp9CgouZmEtdXBsb2FkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA5MyIKfQoKLmZhLWxlbW9uLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDk0Igp9CgouZmEtcGhvbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDk1Igp9CgouZmEtc3F1YXJlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDk2Igp9CgouZmEtYm9va21hcmstbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOTciCn0KCi5mYS1waG9uZS1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDk4Igp9CgouZmEtdHdpdHRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOTkiCn0KCi5mYS1mYWNlYm9vay1mOmJlZm9yZSwKLmZhLWZhY2Vib29rOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA5YSIKfQoKLmZhLWdpdGh1YjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOWIiCn0KCi5mYS11bmxvY2s6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDljIgp9CgouZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDlkIgp9CgouZmEtZmVlZDpiZWZvcmUsCi5mYS1yc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDllIgp9CgouZmEtaGRkLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMGEwIgp9CgouZmEtYnVsbGhvcm46YmVmb3JlIHsKICAgY29udGVudDogIlxmMGExIgp9CgouZmEtYmVsbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZjMiCn0KCi5mYS1jZXJ0aWZpY2F0ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYTMiCn0KCi5mYS1oYW5kLW8tcmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGE0Igp9CgouZmEtaGFuZC1vLWxlZnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGE1Igp9CgouZmEtaGFuZC1vLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhNiIKfQoKLmZhLWhhbmQtby1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhNyIKfQoKLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhOCIKfQoKLmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYTkiCn0KCi5mYS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGFhIgp9CgouZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMGFiIgp9CgouZmEtZ2xvYmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGFjIgp9CgouZmEtd3JlbmNoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhZCIKfQoKLmZhLXRhc2tzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhZSIKfQoKLmZhLWZpbHRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYjAiCn0KCi5mYS1icmllZmNhc2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGIxIgp9CgouZmEtYXJyb3dzLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYjIiCn0KCi5mYS1ncm91cDpiZWZvcmUsCi5mYS11c2VyczpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYzAiCn0KCi5mYS1jaGFpbjpiZWZvcmUsCi5mYS1saW5rOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjMSIKfQoKLmZhLWNsb3VkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjMiIKfQoKLmZhLWZsYXNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjMyIKfQoKLmZhLWN1dDpiZWZvcmUsCi5mYS1zY2lzc29yczpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYzQiCn0KCi5mYS1jb3B5OmJlZm9yZSwKLmZhLWZpbGVzLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMGM1Igp9CgouZmEtcGFwZXJjbGlwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjNiIKfQoKLmZhLXNhdmU6YmVmb3JlLAouZmEtZmxvcHB5LW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMGM3Igp9CgouZmEtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjOCIKfQoKLmZhLW5hdmljb246YmVmb3JlLAouZmEtcmVvcmRlcjpiZWZvcmUsCi5mYS1iYXJzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjOSIKfQoKLmZhLWxpc3QtdWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGNhIgp9CgouZmEtbGlzdC1vbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwY2IiCn0KCi5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjYyIKfQoKLmZhLXVuZGVybGluZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwY2QiCn0KCi5mYS10YWJsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwY2UiCn0KCi5mYS1tYWdpYzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZDAiCn0KCi5mYS10cnVjazpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZDEiCn0KCi5mYS1waW50ZXJlc3Q6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGQyIgp9CgouZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZDMiCn0KCi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGQ0Igp9CgouZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGQ1Igp9CgouZmEtbW9uZXk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGQ2Igp9CgouZmEtY2FyZXQtZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZDciCn0KCi5mYS1jYXJldC11cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZDgiCn0KCi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkOSIKfQoKLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkYSIKfQoKLmZhLWNvbHVtbnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGRiIgp9CgouZmEtdW5zb3J0ZWQ6YmVmb3JlLAouZmEtc29ydDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZGMiCn0KCi5mYS1zb3J0LWRvd246YmVmb3JlLAouZmEtc29ydC1kZXNjOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkZCIKfQoKLmZhLXNvcnQtdXA6YmVmb3JlLAouZmEtc29ydC1hc2M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGRlIgp9CgouZmEtZW52ZWxvcGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGUwIgp9CgouZmEtbGlua2VkaW46YmVmb3JlIHsKICAgY29udGVudDogIlxmMGUxIgp9CgouZmEtcm90YXRlLWxlZnQ6YmVmb3JlLAouZmEtdW5kbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZTIiCn0KCi5mYS1sZWdhbDpiZWZvcmUsCi5mYS1nYXZlbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZTMiCn0KCi5mYS1kYXNoYm9hcmQ6YmVmb3JlLAouZmEtdGFjaG9tZXRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZTQiCn0KCi5mYS1jb21tZW50LW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMGU1Igp9CgouZmEtY29tbWVudHMtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZTYiCn0KCi5mYS1mbGFzaDpiZWZvcmUsCi5mYS1ib2x0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBlNyIKfQoKLmZhLXNpdGVtYXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGU4Igp9CgouZmEtdW1icmVsbGE6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGU5Igp9CgouZmEtcGFzdGU6YmVmb3JlLAouZmEtY2xpcGJvYXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBlYSIKfQoKLmZhLWxpZ2h0YnVsYi1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBlYiIKfQoKLmZhLWV4Y2hhbmdlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBlYyIKfQoKLmZhLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBlZCIKfQoKLmZhLWNsb3VkLXVwbG9hZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZWUiCn0KCi5mYS11c2VyLW1kOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmMCIKfQoKLmZhLXN0ZXRob3Njb3BlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmMSIKfQoKLmZhLXN1aXRjYXNlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmMiIKfQoKLmZhLWJlbGwtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYTIiCn0KCi5mYS1jb2ZmZWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGY0Igp9CgouZmEtY3V0bGVyeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZjUiCn0KCi5mYS1maWxlLXRleHQtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZjYiCn0KCi5mYS1idWlsZGluZy1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmNyIKfQoKLmZhLWhvc3BpdGFsLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMGY4Igp9CgouZmEtYW1idWxhbmNlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmOSIKfQoKLmZhLW1lZGtpdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZmEiCn0KCi5mYS1maWdodGVyLWpldDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZmIiCn0KCi5mYS1iZWVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmYyIKfQoKLmZhLWgtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmZCIKfQoKLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmZSIKfQoKLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwMCIKfQoKLmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMDEiCn0KCi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTAyIgp9CgouZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTAzIgp9CgouZmEtYW5nbGUtbGVmdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMDQiCn0KCi5mYS1hbmdsZS1yaWdodDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMDUiCn0KCi5mYS1hbmdsZS11cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMDYiCn0KCi5mYS1hbmdsZS1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwNyIKfQoKLmZhLWRlc2t0b3A6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTA4Igp9CgouZmEtbGFwdG9wOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwOSIKfQoKLmZhLXRhYmxldDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMGEiCn0KCi5mYS1tb2JpbGUtcGhvbmU6YmVmb3JlLAouZmEtbW9iaWxlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwYiIKfQoKLmZhLWNpcmNsZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwYyIKfQoKLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTBkIgp9CgouZmEtcXVvdGUtcmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTBlIgp9CgouZmEtc3Bpbm5lcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMTAiCn0KCi5mYS1jaXJjbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTExIgp9CgouZmEtbWFpbC1yZXBseTpiZWZvcmUsCi5mYS1yZXBseTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMTIiCn0KCi5mYS1naXRodWItYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjExMyIKfQoKLmZhLWZvbGRlci1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjExNCIKfQoKLmZhLWZvbGRlci1vcGVuLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMTE1Igp9CgouZmEtc21pbGUtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMTgiCn0KCi5mYS1mcm93bi1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjExOSIKfQoKLmZhLW1laC1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjExYSIKfQoKLmZhLWdhbWVwYWQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTFiIgp9CgouZmEta2V5Ym9hcmQtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMWMiCn0KCi5mYS1mbGFnLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMTFkIgp9CgouZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTFlIgp9CgouZmEtdGVybWluYWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTIwIgp9CgouZmEtY29kZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMjEiCn0KCi5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsCi5mYS1yZXBseS1hbGw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTIyIgp9CgouZmEtc3Rhci1oYWxmLWVtcHR5OmJlZm9yZSwKLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSwKLmZhLXN0YXItaGFsZi1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyMyIKfQoKLmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyNCIKfQoKLmZhLWNyb3A6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTI1Igp9CgouZmEtY29kZS1mb3JrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyNiIKfQoKLmZhLXVubGluazpiZWZvcmUsCi5mYS1jaGFpbi1icm9rZW46YmVmb3JlIHsKICAgY29udGVudDogIlxmMTI3Igp9CgouZmEtcXVlc3Rpb246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTI4Igp9CgouZmEtaW5mbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMjkiCn0KCi5mYS1leGNsYW1hdGlvbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMmEiCn0KCi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMmIiCn0KCi5mYS1zdWJzY3JpcHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTJjIgp9CgouZmEtZXJhc2VyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyZCIKfQoKLmZhLXB1enpsZS1waWVjZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMmUiCn0KCi5mYS1taWNyb3Bob25lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzMCIKfQoKLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTMxIgp9CgouZmEtc2hpZWxkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzMiIKfQoKLmZhLWNhbGVuZGFyLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMTMzIgp9CgouZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTM0Igp9CgouZmEtcm9ja2V0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzNSIKfQoKLmZhLW1heGNkbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMzYiCn0KCi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzNyIKfQoKLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzOCIKfQoKLmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzOSIKfQoKLmZhLWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTNhIgp9CgouZmEtaHRtbDU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTNiIgp9CgouZmEtY3NzMzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxM2MiCn0KCi5mYS1hbmNob3I6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTNkIgp9CgouZmEtdW5sb2NrLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxM2UiCn0KCi5mYS1idWxsc2V5ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNDAiCn0KCi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE0MSIKfQoKLmZhLWVsbGlwc2lzLXY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTQyIgp9CgouZmEtcnNzLXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNDMiCn0KCi5mYS1wbGF5LWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNDQiCn0KCi5mYS10aWNrZXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTQ1Igp9CgouZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE0NiIKfQoKLmZhLW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE0NyIKfQoKLmZhLWxldmVsLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE0OCIKfQoKLmZhLWxldmVsLWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTQ5Igp9CgouZmEtY2hlY2stc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE0YSIKfQoKLmZhLXBlbmNpbC1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTRiIgp9CgouZmEtZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTRjIgp9CgouZmEtc2hhcmUtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE0ZCIKfQoKLmZhLWNvbXBhc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTRlIgp9CgouZmEtdG9nZ2xlLWRvd246YmVmb3JlLAouZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTAiCn0KCi5mYS10b2dnbGUtdXA6YmVmb3JlLAouZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTUxIgp9CgouZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwKLmZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1MiIKfQoKLmZhLWV1cm86YmVmb3JlLAouZmEtZXVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1MyIKfQoKLmZhLWdicDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTQiCn0KCi5mYS1kb2xsYXI6YmVmb3JlLAouZmEtdXNkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1NSIKfQoKLmZhLXJ1cGVlOmJlZm9yZSwKLmZhLWlucjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTYiCn0KCi5mYS1jbnk6YmVmb3JlLAouZmEtcm1iOmJlZm9yZSwKLmZhLXllbjpiZWZvcmUsCi5mYS1qcHk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTU3Igp9CgouZmEtcnVibGU6YmVmb3JlLAouZmEtcm91YmxlOmJlZm9yZSwKLmZhLXJ1YjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTgiCn0KCi5mYS13b246YmVmb3JlLAouZmEta3J3OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1OSIKfQoKLmZhLWJpdGNvaW46YmVmb3JlLAouZmEtYnRjOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1YSIKfQoKLmZhLWZpbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTViIgp9CgouZmEtZmlsZS10ZXh0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1YyIKfQoKLmZhLXNvcnQtYWxwaGEtYXNjOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1ZCIKfQoKLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNWUiCn0KCi5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTYwIgp9CgouZmEtc29ydC1hbW91bnQtZGVzYzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNjEiCn0KCi5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2MiIKfQoKLmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2MyIKfQoKLmZhLXRodW1icy11cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNjQiCn0KCi5mYS10aHVtYnMtZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNjUiCn0KCi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNjYiCn0KCi5mYS15b3V0dWJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2NyIKfQoKLmZhLXhpbmc6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTY4Igp9CgouZmEteGluZy1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTY5Igp9CgouZmEteW91dHViZS1wbGF5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2YSIKfQoKLmZhLWRyb3Bib3g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTZiIgp9CgouZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTZjIgp9CgouZmEtaW5zdGFncmFtOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2ZCIKfQoKLmZhLWZsaWNrcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNmUiCn0KCi5mYS1hZG46YmVmb3JlIHsKICAgY29udGVudDogIlxmMTcwIgp9CgouZmEtYml0YnVja2V0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3MSIKfQoKLmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTcyIgp9CgouZmEtdHVtYmxyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3MyIKfQoKLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTc0Igp9CgouZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3NSIKfQoKLmZhLWxvbmctYXJyb3ctdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTc2Igp9CgouZmEtbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3NyIKfQoKLmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTc4Igp9CgouZmEtYXBwbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTc5Igp9CgouZmEtd2luZG93czpiZWZvcmUgewogICBjb250ZW50OiAiXGYxN2EiCn0KCi5mYS1hbmRyb2lkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3YiIKfQoKLmZhLWxpbnV4OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3YyIKfQoKLmZhLWRyaWJiYmxlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3ZCIKfQoKLmZhLXNreXBlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3ZSIKfQoKLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTgwIgp9CgouZmEtdHJlbGxvOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE4MSIKfQoKLmZhLWZlbWFsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxODIiCn0KCi5mYS1tYWxlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE4MyIKfQoKLmZhLWdpdHRpcDpiZWZvcmUsCi5mYS1ncmF0aXBheTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxODQiCn0KCi5mYS1zdW4tbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxODUiCn0KCi5mYS1tb29uLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMTg2Igp9CgouZmEtYXJjaGl2ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxODciCn0KCi5mYS1idWc6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTg4Igp9CgouZmEtdms6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTg5Igp9CgouZmEtd2VpYm86YmVmb3JlIHsKICAgY29udGVudDogIlxmMThhIgp9CgouZmEtcmVucmVuOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE4YiIKfQoKLmZhLXBhZ2VsaW5lczpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOGMiCn0KCi5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOGQiCn0KCi5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOGUiCn0KCi5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5MCIKfQoKLmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSwKLmZhLWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTkxIgp9CgouZmEtZG90LWNpcmNsZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5MiIKfQoKLmZhLXdoZWVsY2hhaXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTkzIgp9CgouZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5NCIKfQoKLmZhLXR1cmtpc2gtbGlyYTpiZWZvcmUsCi5mYS10cnk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTk1Igp9CgouZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOTYiCn0KCi5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5NyIKfQoKLmZhLXNsYWNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5OCIKfQoKLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOTkiCn0KCi5mYS13b3JkcHJlc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTlhIgp9CgouZmEtb3BlbmlkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5YiIKfQoKLmZhLWluc3RpdHV0aW9uOmJlZm9yZSwKLmZhLWJhbms6YmVmb3JlLAouZmEtdW5pdmVyc2l0eTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOWMiCn0KCi5mYS1tb3J0YXItYm9hcmQ6YmVmb3JlLAouZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTlkIgp9CgouZmEteWFob286YmVmb3JlIHsKICAgY29udGVudDogIlxmMTllIgp9CgouZmEtZ29vZ2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhMCIKfQoKLmZhLXJlZGRpdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYTEiCn0KCi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhMiIKfQoKLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYTMiCn0KCi5mYS1zdHVtYmxldXBvbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYTQiCn0KCi5mYS1kZWxpY2lvdXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWE1Igp9CgouZmEtZGlnZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYTYiCn0KCi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhNyIKfQoKLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhOCIKfQoKLmZhLWRydXBhbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYTkiCn0KCi5mYS1qb29tbGE6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWFhIgp9CgouZmEtbGFuZ3VhZ2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWFiIgp9CgouZmEtZmF4OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhYyIKfQoKLmZhLWJ1aWxkaW5nOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhZCIKfQoKLmZhLWNoaWxkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhZSIKfQoKLmZhLXBhdzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYjAiCn0KCi5mYS1zcG9vbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYjEiCn0KCi5mYS1jdWJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFiMiIKfQoKLmZhLWN1YmVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFiMyIKfQoKLmZhLWJlaGFuY2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWI0Igp9CgouZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWI1Igp9CgouZmEtc3RlYW06YmVmb3JlIHsKICAgY29udGVudDogIlxmMWI2Igp9CgouZmEtc3RlYW0tc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFiNyIKfQoKLmZhLXJlY3ljbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWI4Igp9CgouZmEtYXV0b21vYmlsZTpiZWZvcmUsCi5mYS1jYXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWI5Igp9CgouZmEtY2FiOmJlZm9yZSwKLmZhLXRheGk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWJhIgp9CgouZmEtdHJlZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYmIiCn0KCi5mYS1zcG90aWZ5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFiYyIKfQoKLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWJkIgp9CgouZmEtc291bmRjbG91ZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYmUiCn0KCi5mYS1kYXRhYmFzZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYzAiCn0KCi5mYS1maWxlLXBkZi1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjMSIKfQoKLmZhLWZpbGUtd29yZC1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjMiIKfQoKLmZhLWZpbGUtZXhjZWwtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYzMiCn0KCi5mYS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYzQiCn0KCi5mYS1maWxlLXBob3RvLW86YmVmb3JlLAouZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLAouZmEtZmlsZS1pbWFnZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjNSIKfQoKLmZhLWZpbGUtemlwLW86YmVmb3JlLAouZmEtZmlsZS1hcmNoaXZlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMWM2Igp9CgouZmEtZmlsZS1zb3VuZC1vOmJlZm9yZSwKLmZhLWZpbGUtYXVkaW8tbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYzciCn0KCi5mYS1maWxlLW1vdmllLW86YmVmb3JlLAouZmEtZmlsZS12aWRlby1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjOCIKfQoKLmZhLWZpbGUtY29kZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjOSIKfQoKLmZhLXZpbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWNhIgp9CgouZmEtY29kZXBlbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxY2IiCn0KCi5mYS1qc2ZpZGRsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxY2MiCn0KCi5mYS1saWZlLWJvdXk6YmVmb3JlLAouZmEtbGlmZS1idW95OmJlZm9yZSwKLmZhLWxpZmUtc2F2ZXI6YmVmb3JlLAouZmEtc3VwcG9ydDpiZWZvcmUsCi5mYS1saWZlLXJpbmc6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWNkIgp9CgouZmEtY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWNlIgp9CgouZmEtcmE6YmVmb3JlLAouZmEtcmVzaXN0YW5jZTpiZWZvcmUsCi5mYS1yZWJlbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZDAiCn0KCi5mYS1nZTpiZWZvcmUsCi5mYS1lbXBpcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQxIgp9CgouZmEtZ2l0LXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZDIiCn0KCi5mYS1naXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQzIgp9CgouZmEteS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUsCi5mYS15Yy1zcXVhcmU6YmVmb3JlLAouZmEtaGFja2VyLW5ld3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQ0Igp9CgouZmEtdGVuY2VudC13ZWlibzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZDUiCn0KCi5mYS1xcTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZDYiCn0KCi5mYS13ZWNoYXQ6YmVmb3JlLAouZmEtd2VpeGluOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFkNyIKfQoKLmZhLXNlbmQ6YmVmb3JlLAouZmEtcGFwZXItcGxhbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQ4Igp9CgouZmEtc2VuZC1vOmJlZm9yZSwKLmZhLXBhcGVyLXBsYW5lLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQ5Igp9CgouZmEtaGlzdG9yeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZGEiCn0KCi5mYS1jaXJjbGUtdGhpbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZGIiCn0KCi5mYS1oZWFkZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWRjIgp9CgouZmEtcGFyYWdyYXBoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFkZCIKfQoKLmZhLXNsaWRlcnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWRlIgp9CgouZmEtc2hhcmUtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlMCIKfQoKLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWUxIgp9CgouZmEtYm9tYjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZTIiCn0KCi5mYS1zb2NjZXItYmFsbC1vOmJlZm9yZSwKLmZhLWZ1dGJvbC1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlMyIKfQoKLmZhLXR0eTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZTQiCn0KCi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlNSIKfQoKLmZhLXBsdWc6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWU2Igp9CgouZmEtc2xpZGVzaGFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZTciCn0KCi5mYS10d2l0Y2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWU4Igp9CgouZmEteWVscDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZTkiCn0KCi5mYS1uZXdzcGFwZXItbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZWEiCn0KCi5mYS13aWZpOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlYiIKfQoKLmZhLWNhbGN1bGF0b3I6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWVjIgp9CgouZmEtcGF5cGFsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlZCIKfQoKLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWVlIgp9CgouZmEtY2MtdmlzYTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZjAiCn0KCi5mYS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFmMSIKfQoKLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFmMiIKfQoKLmZhLWNjLWFtZXg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWYzIgp9CgouZmEtY2MtcGF5cGFsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFmNCIKfQoKLmZhLWNjLXN0cmlwZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZjUiCn0KCi5mYS1iZWxsLXNsYXNoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFmNiIKfQoKLmZhLWJlbGwtc2xhc2gtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZjciCn0KCi5mYS10cmFzaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZjgiCn0KCi5mYS1jb3B5cmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWY5Igp9CgouZmEtYXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWZhIgp9CgouZmEtZXllZHJvcHBlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZmIiCn0KCi5mYS1wYWludC1icnVzaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZmMiCn0KCi5mYS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFmZCIKfQoKLmZhLWFyZWEtY2hhcnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWZlIgp9CgouZmEtcGllLWNoYXJ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwMCIKfQoKLmZhLWxpbmUtY2hhcnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjAxIgp9CgouZmEtbGFzdGZtOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwMiIKfQoKLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjAzIgp9CgouZmEtdG9nZ2xlLW9mZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMDQiCn0KCi5mYS10b2dnbGUtb246YmVmb3JlIHsKICAgY29udGVudDogIlxmMjA1Igp9CgouZmEtYmljeWNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMDYiCn0KCi5mYS1idXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjA3Igp9CgouZmEtaW94aG9zdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMDgiCn0KCi5mYS1hbmdlbGxpc3Q6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjA5Igp9CgouZmEtY2M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjBhIgp9CgouZmEtc2hla2VsOmJlZm9yZSwKLmZhLXNoZXFlbDpiZWZvcmUsCi5mYS1pbHM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjBiIgp9CgouZmEtbWVhbnBhdGg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjBjIgp9CgouZmEtYnV5c2VsbGFkczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMGQiCn0KCi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMGUiCn0KCi5mYS1kYXNoY3ViZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMTAiCn0KCi5mYS1mb3J1bWJlZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMTEiCn0KCi5mYS1sZWFucHViOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxMiIKfQoKLmZhLXNlbGxzeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMTMiCn0KCi5mYS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjE0Igp9CgouZmEtc2ltcGx5YnVpbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjE1Igp9CgouZmEtc2t5YXRsYXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjE2Igp9CgouZmEtY2FydC1wbHVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxNyIKfQoKLmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMTgiCn0KCi5mYS1kaWFtb25kOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxOSIKfQoKLmZhLXNoaXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjFhIgp9CgouZmEtdXNlci1zZWNyZXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjFiIgp9CgouZmEtbW90b3JjeWNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMWMiCn0KCi5mYS1zdHJlZXQtdmlldzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMWQiCn0KCi5mYS1oZWFydGJlYXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjFlIgp9CgouZmEtdmVudXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjIxIgp9CgouZmEtbWFyczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMjIiCn0KCi5mYS1tZXJjdXJ5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIyMyIKfQoKLmZhLWludGVyc2V4OmJlZm9yZSwKLmZhLXRyYW5zZ2VuZGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIyNCIKfQoKLmZhLXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMjUiCn0KCi5mYS12ZW51cy1kb3VibGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjI2Igp9CgouZmEtbWFycy1kb3VibGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjI3Igp9CgouZmEtdmVudXMtbWFyczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMjgiCn0KCi5mYS1tYXJzLXN0cm9rZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMjkiCn0KCi5mYS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIyYSIKfQoKLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjJiIgp9CgouZmEtbmV1dGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIyYyIKfQoKLmZhLWdlbmRlcmxlc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjJkIgp9CgouZmEtZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjMwIgp9CgouZmEtcGludGVyZXN0LXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjMxIgp9CgouZmEtd2hhdHNhcHA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjMyIgp9CgouZmEtc2VydmVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzMyIKfQoKLmZhLXVzZXItcGx1czpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMzQiCn0KCi5mYS11c2VyLXRpbWVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzNSIKfQoKLmZhLWhvdGVsOmJlZm9yZSwKLmZhLWJlZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMzYiCn0KCi5mYS12aWFjb2luOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzNyIKfQoKLmZhLXRyYWluOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzOCIKfQoKLmZhLXN1YndheTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMzkiCn0KCi5mYS1tZWRpdW06YmVmb3JlIHsKICAgY29udGVudDogIlxmMjNhIgp9CgouZmEteWM6YmVmb3JlLAouZmEteS1jb21iaW5hdG9yOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzYiIKfQoKLmZhLW9wdGluLW1vbnN0ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjNjIgp9CgouZmEtb3BlbmNhcnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjNkIgp9CgouZmEtZXhwZWRpdGVkc3NsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzZSIKfQoKLmZhLWJhdHRlcnktNDpiZWZvcmUsCi5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjQwIgp9CgouZmEtYmF0dGVyeS0zOmJlZm9yZSwKLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjQxIgp9CgouZmEtYmF0dGVyeS0yOmJlZm9yZSwKLmZhLWJhdHRlcnktaGFsZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNDIiCn0KCi5mYS1iYXR0ZXJ5LTE6YmVmb3JlLAouZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0MyIKfQoKLmZhLWJhdHRlcnktMDpiZWZvcmUsCi5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0NCIKfQoKLmZhLW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjQ1Igp9CgouZmEtaS1jdXJzb3I6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjQ2Igp9CgouZmEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0NyIKfQoKLmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0OCIKfQoKLmZhLXN0aWNreS1ub3RlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0OSIKfQoKLmZhLXN0aWNreS1ub3RlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjRhIgp9CgouZmEtY2MtamNiOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0YiIKfQoKLmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0YyIKfQoKLmZhLWNsb25lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0ZCIKfQoKLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjRlIgp9CgouZmEtaG91cmdsYXNzLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjUwIgp9CgouZmEtaG91cmdsYXNzLTE6YmVmb3JlLAouZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI1MSIKfQoKLmZhLWhvdXJnbGFzcy0yOmJlZm9yZSwKLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI1MiIKfQoKLmZhLWhvdXJnbGFzcy0zOmJlZm9yZSwKLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjUzIgp9CgouZmEtaG91cmdsYXNzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI1NCIKfQoKLmZhLWhhbmQtZ3JhYi1vOmJlZm9yZSwKLmZhLWhhbmQtcm9jay1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI1NSIKfQoKLmZhLWhhbmQtc3RvcC1vOmJlZm9yZSwKLmZhLWhhbmQtcGFwZXItbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNTYiCn0KCi5mYS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjU3Igp9CgouZmEtaGFuZC1saXphcmQtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNTgiCn0KCi5mYS1oYW5kLXNwb2NrLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjU5Igp9CgouZmEtaGFuZC1wb2ludGVyLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjVhIgp9CgouZmEtaGFuZC1wZWFjZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI1YiIKfQoKLmZhLXRyYWRlbWFyazpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNWMiCn0KCi5mYS1yZWdpc3RlcmVkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI1ZCIKfQoKLmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjVlIgp9CgouZmEtZ2c6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjYwIgp9CgouZmEtZ2ctY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2MSIKfQoKLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2MiIKfQoKLmZhLW9kbm9rbGFzc25pa2k6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjYzIgp9CgouZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjY0Igp9CgouZmEtZ2V0LXBvY2tldDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNjUiCn0KCi5mYS13aWtpcGVkaWEtdzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNjYiCn0KCi5mYS1zYWZhcmk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjY3Igp9CgouZmEtY2hyb21lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2OCIKfQoKLmZhLWZpcmVmb3g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjY5Igp9CgouZmEtb3BlcmE6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjZhIgp9CgouZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjZiIgp9CgouZmEtdHY6YmVmb3JlLAouZmEtdGVsZXZpc2lvbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNmMiCn0KCi5mYS1jb250YW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjZkIgp9CgouZmEtNTAwcHg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjZlIgp9CgouZmEtYW1hem9uOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI3MCIKfQoKLmZhLWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNzEiCn0KCi5mYS1jYWxlbmRhci1taW51cy1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI3MiIKfQoKLmZhLWNhbGVuZGFyLXRpbWVzLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjczIgp9CgouZmEtY2FsZW5kYXItY2hlY2stbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNzQiCn0KCi5mYS1pbmR1c3RyeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNzUiCn0KCi5mYS1tYXAtcGluOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI3NiIKfQoKLmZhLW1hcC1zaWduczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNzciCn0KCi5mYS1tYXAtbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNzgiCn0KCi5mYS1tYXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjc5Igp9CgouZmEtY29tbWVudGluZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyN2EiCn0KCi5mYS1jb21tZW50aW5nLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjdiIgp9CgouZmEtaG91eno6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjdjIgp9CgouZmEtdmltZW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjdkIgp9CgouZmEtYmxhY2stdGllOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI3ZSIKfQoKLmZhLWZvbnRpY29uczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyODAiCn0KCi5mYS1yZWRkaXQtYWxpZW46YmVmb3JlIHsKICAgY29udGVudDogIlxmMjgxIgp9CgouZmEtZWRnZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyODIiCn0KCi5mYS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjgzIgp9CgouZmEtY29kaWVwaWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjg0Igp9CgouZmEtbW9keDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyODUiCn0KCi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjg2Igp9CgouZmEtdXNiOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4NyIKfQoKLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyODgiCn0KCi5mYS1taXhjbG91ZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyODkiCn0KCi5mYS1zY3JpYmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjhhIgp9CgouZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4YiIKfQoKLmZhLXBhdXNlLWNpcmNsZS1vOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4YyIKfQoKLmZhLXN0b3AtY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4ZCIKfQoKLmZhLXN0b3AtY2lyY2xlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjhlIgp9CgouZmEtc2hvcHBpbmctYmFnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5MCIKfQoKLmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOTEiCn0KCi5mYS1oYXNodGFnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5MiIKfQoKLmZhLWJsdWV0b290aDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOTMiCn0KCi5mYS1ibHVldG9vdGgtYjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOTQiCn0KCi5mYS1wZXJjZW50OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5NSIKfQoKLmZhLWdpdGxhYjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOTYiCn0KCi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5NyIKfQoKLmZhLXdwZm9ybXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjk4Igp9CgouZmEtZW52aXJhOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5OSIKfQoKLmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjlhIgp9CgouZmEtd2hlZWxjaGFpci1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjliIgp9CgouZmEtcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjljIgp9CgouZmEtYmxpbmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjlkIgp9CgouZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHsKICAgY29udGVudDogIlxmMjllIgp9CgouZmEtdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmEwIgp9CgouZmEtYnJhaWxsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTEiCn0KCi5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmEyIgp9CgouZmEtYXNsLWludGVycHJldGluZzpiZWZvcmUsCi5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTMiCn0KCi5mYS1kZWFmbmVzczpiZWZvcmUsCi5mYS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLAouZmEtZGVhZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTQiCn0KCi5mYS1nbGlkZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTUiCn0KCi5mYS1nbGlkZS1nOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhNiIKfQoKLmZhLXNpZ25pbmc6YmVmb3JlLAouZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTciCn0KCi5mYS1sb3ctdmlzaW9uOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhOCIKfQoKLmZhLXZpYWRlbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTkiCn0KCi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhYSIKfQoKLmZhLXNuYXBjaGF0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhYiIKfQoKLmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhYyIKfQoKLmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYWQiCn0KCi5mYS1waWVkLXBpcGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhZSIKfQoKLmZhLWZpcnN0LW9yZGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJiMCIKfQoKLmZhLXlvYXN0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJiMSIKfQoKLmZhLXRoZW1laXNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYjIiCn0KCi5mYS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLAouZmEtZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmIzIgp9CgouZmEtZmE6YmVmb3JlLAouZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJiNCIKfQoKLnNyLW9ubHkgewogICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgIHdpZHRoOiAxcHg7CiAgIGhlaWdodDogMXB4OwogICBwYWRkaW5nOiAwOwogICBtYXJnaW46IC0xcHg7CiAgIG92ZXJmbG93OiBoaWRkZW47CiAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7CiAgIGJvcmRlcjogMAp9Cgouc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLAouc3Itb25seS1mb2N1c2FibGU6Zm9jdXMgewogICBwb3NpdGlvbjogc3RhdGljOwogICB3aWR0aDogYXV0bzsKICAgaGVpZ2h0OiBhdXRvOwogICBtYXJnaW46IDA7CiAgIG92ZXJmbG93OiB2aXNpYmxlOwogICBjbGlwOiBhdXRvCn0="}},"time_used":194,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":187,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.266Z","timestamp":1785124600266,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-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: b62fefdaacb263d691a07756285558c2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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":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":"kit.fontawesome.com/a076d05399.js","fqdn":"kit.fontawesome.com","domain":"fontawesome.com","tld":"com"},"ip":{"addr":"172.64.147.188","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.603Z","timestamp":1785124599603,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /a076d05399.js HTTP/1.1\r\nHost: kit.fontawesome.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://astroxcinvest.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 403 \r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\ncontent-type: text/html; charset=UTF-8\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\ncontent-encoding: gzip\r\nserver: cloudflare\r\ncf-ray: a218b72bbb82b1b8-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"403","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd\u0026days=max","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.958Z","timestamp":1785124599958,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/bitcoin/market_chart?vs_currency=usd\u0026days=max HTTP/1.1\r\nHost: api.coingecko.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://astroxcinvest.com/\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 401 \r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 2.0\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\ncache-control: no-cache\r\nx-request-id: d3aec9e4-bcc8-40f2-b358-b67a1dadf1b5\r\nx-runtime: 0.003943\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\ncf-cache-status: EXPIRED\r\npriority: u=4,i=?0\r\ncf-ray: a218b72e3923569b-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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"]},{"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":335,"size_decoded":1385,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"89f5ded3af0a6bab4656390d09969eac","sha1":"5d08509fd5984eada2187a8035d5cb0bad9b12fa","sha256":"99ba17b9ef7f47346f245b6751aa8af88c38e17bc427a6e5a6e00931c905f779","sha512":"d866a41d5392ffd2b8a259ec294c2d047260674977761eded554a77e3ab78c4d4998b1f80d3b547ad20db3efb0608fe82bbdf777032bf19eff58ddd16da7d771","ssdeep":"","tlshash":"46e0265126e65d634fa213d0a64ef2d978a2f5ec9b260b86396c8328091522ec668288","first_seen":"2026-07-27T03:57:26.143607Z","last_seen":"2026-07-27T03:57:26.143607Z","times_seen":1,"resource_available":false,"data":"eyJlcnJvciI6eyJzdGF0dXMiOnsidGltZXN0YW1wIjoiMjAyNi0wNy0yN1QwMzo1Njo0MC4xMDUrMDA6MDAiLCJlcnJvcl9jb2RlIjoxMDAxMiwiZXJyb3JfbWVzc2FnZSI6IllvdXIgcmVxdWVzdCBleGNlZWRzIHRoZSBhbGxvd2VkIHRpbWUgcmFuZ2UuIFB1YmxpYyBBUEkgdXNlcnMgYXJlIGxpbWl0ZWQgdG8gcXVlcnlpbmcgaGlzdG9yaWNhbCBkYXRhIHdpdGhpbiB0aGUgcGFzdCAzNjUgZGF5cy4gVXBncmFkZSB0byBhIHBhaWQgcGxhbiB0byBlbmpveSBmdWxsIGhpc3RvcmljYWwgZGF0YSBhY2Nlc3M6IGh0dHBzOi8vd3d3LmNvaW5nZWNrby5jb20vZW4vYXBpL3ByaWNpbmcuICJ9fX0="}},"time_used":216,"timings":{"blocked":66,"dns":0,"connect":0,"send":0,"wait":150,"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.234Z","timestamp":1785124600234,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 876100cf99bd451a958e14648e0fe8eb\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-04T06:18:03.255989Z","times_seen":7759,"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":"astroxcinvest.com/fonts/gilroy/gilroy-extrabold-webfont.woff2","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.848Z","timestamp":1785124599848,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /fonts/gilroy/gilroy-extrabold-webfont.woff2 HTTP/1.1\r\nHost: astroxcinvest.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://astroxcinvest.com/css/style.css\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: font/woff2\r\nlast-modified: Thu, 15 Mar 2018 13:57:52 GMT\r\netag: \"9aee-5aaa7be0-e81331ba37b91cdc;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 39662\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":39662,"size_decoded":39990,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 39662, version 1.0","md5":"462325e4eacab2fcc199b465abea5e29","sha1":"de6ca17b8b3435c6b4bccb97834563d61945cc9e","sha256":"9d26c82504443b1000a2155d2fddadc8a6d10508faeea0094e58aa3cc7c2e403","sha512":"e48e0ee11cfb2b4321e4b068e823b0925810a1a95691f990ff1ee55bd57083580432fb49ea6248aa2578924cda004b6c775fb3184b56ed94175f9a484bea5580","ssdeep":"768:g9QJUeUUYHGqmJVl4CCeIvmxHv0wx42jYuhx/Z0yoxZvlqP:SQaSzzHIGd42Bx0yoxDqP","tlshash":"dc030211f8a38139f502ccfa394359571ba22a83762f9bc264897946fff8881853f7c4","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.126302Z","times_seen":305,"resource_available":false,"data":"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"}},"time_used":730,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":715,"receive":15,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.253Z","timestamp":1785124600253,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 63f3adbb9a3954403a0862be867a78ea\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-04T06:18:34.251465Z","times_seen":3438,"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":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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.258Z","timestamp":1785124600258,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: d60ba9c84d25f6feeb19053fdfaf27f2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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":"fonts.googleapis.com/css?family=Asap:400,400i,500,500i,600,600i,700,700i","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.732Z","timestamp":1785124599732,"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=Asap:400,400i,500,500i,600,600i,700,700i 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://astroxcinvest.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 03:56:39 GMT\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\ncache-control: private, max-age=86400\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":[{"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":10060,"size_decoded":1322,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"031d4f7cfa0fa1a18b847010edf61dc1","sha1":"9bd9bf89a5ae811d9e168e615d30437de6d5d721","sha256":"974f42e6a8aaa56735dbb6128d82cb13ac270c78fc386a01667946f62847216f","sha512":"2f18d455077d092f1f070a779e3ebaf94c3b81727f537c51c375b808761d633cc47371e7cc328f63bafd92c164e793fe4d27354225d7decbf2a5ae296af450eb","ssdeep":"192:cbo+9o+2so+dbL+9L+2sL+dbW+9W+2sW+dbh+9h+2sh+dPXXmtsUXxt1dX4tKSXu:cb/9/N/dby9yNydbF9FNFdbI9INIdcH3","tlshash":"ad22f162042ba180a6832dc223df7e35ee5eb1d47046d4756ffe189cec95c26633579c","first_seen":"2025-09-07T19:21:25.407274Z","last_seen":"2026-07-29T06:17:13.145651Z","times_seen":401,"resource_available":false,"data":"LyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0FzYXAnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvYXNhcC92MzQvS0ZPN0NuaVhwOTZheXo0RTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0FzYXAnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvYXNhcC92MzQvS0ZPN0NuaVhwOTZheXo0RTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk83Q25pWHA5NmF5ejRFN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBc2FwJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2FzYXAvdjM0L0tGTzdDbmlYcDk2YXl6NEU3a1NuNjZhR0xkVHlsVUFNYTNPVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBc2FwJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2FzYXAvdjM0L0tGTzdDbmlYcDk2YXl6NEU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0FzYXAnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvYXNhcC92MzQvS0ZPN0NuaVhwOTZheXo0RTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk83Q25pWHA5NmF5ejRFN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk83Q25pWHA5NmF5ejRFN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBc2FwJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2FzYXAvdjM0L0tGTzdDbmlYcDk2YXl6NEU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0FzYXAnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvYXNhcC92MzQvS0ZPN0NuaVhwOTZheXo0RTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0FzYXAnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvYXNhcC92MzQvS0ZPN0NuaVhwOTZheXo0RTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk83Q25pWHA5NmF5ejRFN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBc2FwJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2FzYXAvdjM0L0tGTzlDbmlYcDk2YTRUYzJEYVRldURBb0tzRTYxNWhHVzM2TUFBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk85Q25pWHA5NmE0VGMyRGFUZXVEQW9Lc0U2MTVoSFczNk1BQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk85Q25pWHA5NmE0VGMyRGFUZXVEQW9Lc0U2MTVoSlczNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBc2FwJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2FzYXAvdjM0L0tGTzlDbmlYcDk2YTRUYzJEYVRldURBb0tzRTYxNWhHVzM2TUFBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk85Q25pWHA5NmE0VGMyRGFUZXVEQW9Lc0U2MTVoSFczNk1BQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk85Q25pWHA5NmE0VGMyRGFUZXVEQW9Lc0U2MTVoSlczNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBc2FwJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2FzYXAvdjM0L0tGTzlDbmlYcDk2YTRUYzJEYVRldURBb0tzRTYxNWhHVzM2TUFBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk85Q25pWHA5NmE0VGMyRGFUZXVEQW9Lc0U2MTVoSFczNk1BQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk85Q25pWHA5NmE0VGMyRGFUZXVEQW9Lc0U2MTVoSlczNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBc2FwJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2FzYXAvdjM0L0tGTzlDbmlYcDk2YTRUYzJEYVRldURBb0tzRTYxNWhHVzM2TUFBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk85Q25pWHA5NmE0VGMyRGFUZXVEQW9Lc0U2MTVoSFczNk1BQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQXNhcCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hc2FwL3YzNC9LRk85Q25pWHA5NmE0VGMyRGFUZXVEQW9Lc0U2MTVoSlczNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Cg=="}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/AU.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.479Z","timestamp":1785124600479,"http_version":"HTTP/2","security_state":"secure","security_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 /country/AU.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 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: \"ffaa89557725b51eb58753956db0a148\"\r\nlast-modified: Wed, 08 Sep 2021 09:02:00 GMT\r\ncdn-cachedat: 08/14/2025 09:10:20\r\nx-amz-id-2: DzpdTGdCk+nHWeQwZOfiUK1wdHPTCX6EFgXZCRAjmpAlX0lsoqTo4C7VSzuTwI9+aYlyFOIRTdU=\r\nx-amz-request-id: MSMKKXBR4HGB1RJZ\r\nx-amz-meta-hash: ffaa89557725b51eb58753956db0a148\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: 7b785dd8139110359627905f2e6204b3\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":937,"size_decoded":1310,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (937), with no line terminators","md5":"ffaa89557725b51eb58753956db0a148","sha1":"af4c43200c5a85ad2d525412bf83e55e90138bd3","sha256":"27c815d48181359be416f858593d35e363b546bf3f237e0458cccf01fefbdf30","sha512":"012df6822dab500101b05a391d897c6523bcc4e1f7f65ffce67f4ff4a87b520380c8c4b2cd0b5f2f6ce718fdc7422facea451a03893b5f611af0b68a10275c10","ssdeep":"","tlshash":"95115b85b154d25bcd42ca2dd2381230a25e61cab1ed66c8ace3b35d291fad9fdd40bc","first_seen":"2023-05-01T20:32:00Z","last_seen":"2026-08-02T19:31:07.752404Z","times_seen":2707,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wIDBoMTh2MThIMFYweiIgZmlsbD0iIzBENDdBMSIvPjxwYXRoIGQ9Ik05IDRWMEgwdjloNFY2bDMgM2gyVjdMNiA0aDN6IiBmaWxsPSIjRjhGOUZEIi8+PHBhdGggZD0iTTMgMVYwSDF2MUgwdjJoMXY2aDJWM2g2VjFIM3oiIGZpbGw9IiNFRjUzNTAiLz48cGF0aCBkPSJNOSA4TDUgNEg0bDUgNVY4eiIgZmlsbD0iI0VGNTM1MCIvPjxwYXRoIGQ9Ik03IDEzbC0xIC41di41aC0uNUw1IDE1bC0uNS0xSDR2LS41TDMgMTNsMS0uNVYxMmguNWwuNS0xIC41IDFINnYuNWwxIC41eiIgZmlsbD0iI0Y4RjlGRCIvPjxwYXRoIGQ9Ik0xMy4wNiAxMi42MmwuMjUuNTIuNTYtLjEzLS4yNS41MS40NS4zNi0uNTYuMTJ2LjU4bC0uNDUtLjM2LS40NC4zNlYxNGwtLjU2LS4xMi40NS0uMzYtLjI1LS41MS41Ni4xMy4yNC0uNTJ6TTEwLjc3IDcuMTRsLjI0LjUyLjU2LS4xMy0uMjUuNTEuNDUuMzYtLjU2LjEzdi41N2wtLjQ0LS4zNi0uNDUuMzZ2LS41N2wtLjU2LS4xMy40NS0uMzYtLjI1LS41MS41Ni4xMy4yNS0uNTJ6TTEzLjA2IDQuMDFsLjI1LjUyLjU2LS4xMy0uMjUuNTEuNDUuMzYtLjU2LjEydi41OGwtLjQ1LS4zNi0uNDQuMzZ2LS41OGwtLjU2LS4xMi40NS0uMzYtLjI1LS41MS41Ni4xMy4yNC0uNTJ6TTE1LjA3IDYuMzZsLjI1LjUyLjU2LS4xMy0uMjUuNTEuNDQuMzYtLjU1LjEydi41OGwtLjQ1LS4zNi0uNDUuMzZ2LS41OGwtLjU1LS4xMi40NS0uMzYtLjI1LS41MS41NS4xMy4yNS0uNTJ6TTEzLjY0IDkuMWwuMi42aC42MmwtLjUuMzcuMTkuNi0uNTEtLjM4LS41MS4zNy4yLS42LS41Mi0uMzZoLjYzbC4yLS42eiIgZmlsbD0iI0Y4RjlGRCIvPjwvc3ZnPg=="}},"time_used":144,"timings":{"blocked":-1,"dns":57,"connect":42,"send":0,"wait":6,"receive":-1,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/img/img1.png","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.655Z","timestamp":1785124599655,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /img/img1.png HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 18 Oct 2022 11:14:07 GMT\r\netag: \"5b922a0-634e8a7f-dcfde4e8a31ec2d5;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 96019104\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"image/png","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/asap/v34/KFO9CniXp96a4Tc2DaTeuDAoKsE615hJW34.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.850Z","timestamp":1785124599850,"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/asap/v34/KFO9CniXp96a4Tc2DaTeuDAoKsE615hJW34.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://astroxcinvest.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: 43432\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:35 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:35 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 04 Sep 2025 17:26:23 GMT\r\ncontent-type: font/woff2\r\nage: 398704\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":43432,"size_decoded":44245,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 43432, version 1.0","md5":"3e1800efc8e163fc672a9ec618301728","sha1":"0a59b8246fd479417f6d161db78f0fa80dd10de7","sha256":"4990095a31b381678bf429baf3f1320600830d366137a9053f5a89b0c2620a43","sha512":"580b2ee170dda348ceb586db6800ff206bfd03d2c298818b9e7891e46db307b9b3e03b94120c5de8030166e1b6238322bb48fad575f6df671b020f282ade3f9c","ssdeep":"768:TwOnk8j58wScpgE+fG0u6KLaW+IYK9mZAFg4vLjKCXVg+SIb1a66h8EhTh5ju:TLl8wnpgzGdNLk3+g4T0l9hThxu","tlshash":"e713f2a375f9451bb2d726a1e1e38d544bb4cdab0c0602fe5719ee5d0bce84e06182de","first_seen":"2025-06-25T22:49:48.742012Z","last_seen":"2026-08-04T00:16:47.518275Z","times_seen":4036,"resource_available":false,"data":"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"}},"time_used":81,"timings":{"blocked":21,"dns":0,"connect":0,"send":0,"wait":34,"receive":26,"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.255Z","timestamp":1785124600255,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-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: c0172b26179bf9f9a46ebad511337251\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-04T06:18:03.286309Z","times_seen":1852,"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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.866Z","timestamp":1785124600866,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?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 03:56: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-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: 671a6b0d0982c109f4f86a1393d5eb28\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-04T06:18:03.367529Z","times_seen":11060,"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":"bootstrap.smartsuppchat.com/widget/07542611d8ee197838f45dd179fdf7caf41ebf4b.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"18.185.198.9","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:43.415Z","timestamp":1785124603415,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsuppchat.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Tue, 02 Dec 2025 00:00:00 GMT","end":"Wed, 30 Dec 2026 23:59:59 GMT"},"fingerprint":{"sha1":"DC:47:26:FC:2D:4B:14:19:23:BC:B7:70:14:DA:60:A6:21:B0:1E:81","sha256":"0D:5E:FD:70:25:9E:DE:DD:47:CF:0C:58:1C:08:A2:A1:05:AC:A6:7E:0C:43:6F:50:E7:49:E0:A1:60:D0:0E:0F"}}},"request":{"raw":"GET /widget/07542611d8ee197838f45dd179fdf7caf41ebf4b.json HTTP/1.1\r\nHost: bootstrap.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://astroxcinvest.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:43 GMT\r\ncontent-type: application/json; charset=utf-8\r\nx-version: 6cb79abf75047496934c7756b55ec6f26e7d2373\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: private, max-age=0, must-revalidate\r\nx-hit: redis\r\netag: \"4c7-B/6NfaaDpZne/g/uc5qfSnm44ZA\"\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1223,"size_decoded":879,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"1623b3b9e850c9c1491c70aef8d248c2","sha1":"07fe8d7da683a599defe0fee739a9f4a79b8e190","sha256":"b5b4d35c58c664f860fdab342e28e4f7337c31f56e8da3582e65972af84deb9e","sha512":"bcfb7323cde3f50f57c38880ba4f962f1f35f106a93074f2f3da73256fe2b54698c6065b11f1bc93d6f74811f6d2543fc6f5aa7afea2e5df1ff45b4f25fcc6d2","ssdeep":"","tlshash":"5321766d4a6822fd5245c7d6c5047a036bacdcb371003e7eea0d0a0e70db2e6223646b","first_seen":"2026-06-06T06:44:39.646667Z","last_seen":"2026-08-04T06:18:03.783616Z","times_seen":2316,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzEyMzNkZiIsImNvbG9yMiI6bnVsbCwiY29sb3JHcmFkaWVudCI6dHJ1ZSwiY29uc2VudE1vZGVFbmFibGVkIjpmYWxzZSwiY3Jvc3NEb21haW5FbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdFbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdMaW5rIjoiIiwiY3VzdG9tQnJhbmRpbmdUZXh0IjoiIiwiZW1haWxDb250cm9sIjp0cnVlLCJmZWF0dXJlcyI6eyJhcGkiOmZhbHNlLCJjdXN0b21pemUiOmZhbHNlLCJnYSI6ZmFsc2UsImdyb3VwcyI6ZmFsc2UsInJhdGluZyI6ZmFsc2UsIndoaXRlTGFiZWwiOmZhbHNlfSwiZ29vZ2xlQW5hbHl0aWNzRW5hYmxlZCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01hbnVhbCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01lYXN1cmVtZW50SWRzIjpbXSwiZ3JvdXBTZWxlY3RFbmFibGVkIjpmYWxzZSwiaGVhZGVyU3R5bGUiOiJzdGFuZGFyZCIsImhpZGVPZmZsaW5lQ2hhdCI6ZmFsc2UsImhpZGVXaWRnZXQiOmZhbHNlLCJob3N0Ijoid2Vic29ja2V0LXZpc2l0b3JzLnNtYXJ0c3VwcC5jb20iLCJpbnRlcm5hbEFuYWx5dGljc0VuYWJsZWQiOmZhbHNlLCJpc0Jsb2NrZWQiOmZhbHNlLCJsYW5nIjoiZW4iLCJtb2JpbGVQb3B1cHNFbmFibGVkIjp0cnVlLCJuYW1lQ29udHJvbCI6dHJ1ZSwibnVtYmVyQ29udHJvbCI6ZmFsc2UsIm9wZW5PblRyaWdnZXIiOmZhbHNlLCJvcmllbnRhdGlvbiI6InJpZ2h0IiwicGFja2FnZU5hbWUiOiJmcmVlIiwicG9wdXBUZXh0YXJlYUVuYWJsZWQiOmZhbHNlLCJwcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZCI6ZmFsc2UsInByaXZhY3lOb3RpY2VFbmFibGVkIjp0cnVlLCJwcml2YWN5Tm90aWNlVXJsIjoiIiwicmF0aW5nRW5hYmxlZCI6ZmFsc2UsInJlcXVpcmVMb2dpbiI6ZmFsc2UsInRyYW5zbGF0ZXMiOnt9LCJ1cmxDYXJkc0VuYWJsZWQiOnRydWUsIndpZGdldFZlcnNpb24iOjMsImhhc0ludGVybmFsQXBpIjpmYWxzZSwiY29uZmlnIjp7fSwiYnJvd3NlckxhbmciOiJlbiIsIndpZGdldFRyYWNrZXJVcmwiOiJodHRwczovL3dpZGdldC10cmFja2VyLnNtYXJ0c3VwcC5jb20iLCJ0cmFuc2xhdGlvbnNCYXNlVXJsIjoiaHR0cHM6Ly90cmFuc2xhdGlvbnMuc21hcnRzdXBwY2RuLmNvbSIsIndpZGdldFRyYWNrZXJFbmFibGVkIjpmYWxzZX0="}},"time_used":89,"timings":{"blocked":-1,"dns":3,"connect":24,"send":0,"wait":29,"receive":0,"ssl":32},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/CA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.480Z","timestamp":1785124600480,"http_version":"HTTP/2","security_state":"secure","security_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 /country/CA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56:40 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: \"bc781af019f19646a76bdc030890ac78\"\r\nlast-modified: Fri, 22 Dec 2023 12:52:26 GMT\r\ncdn-cachedat: 08/09/2025 14:28:52\r\nx-amz-id-2: yvH26AHRqsmTVq5uSjZEBE+tyOFZQihVKDA47V8uDKz5TybGkJno+AZrMO2li1N/1PRI1rWs/PI=\r\nx-amz-request-id: BMDFJYSH1DTTMY4C\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: bc781af019f19646a76bdc030890ac78\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: 027600c84eb87136953cef59a7a5edab\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":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":373,"size_decoded":1157,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (373), with no line terminators","md5":"bc781af019f19646a76bdc030890ac78","sha1":"fbe1a3708c0378b110f31d4aee3f88b60379e265","sha256":"4fb8085bfd098cb58f6c39c7c724b34d4354b8efb5135ecf762a6be5ab6677a2","sha512":"a996f0ee3952c8058f7cd4c666d9cb02bc5380bbbf7173028f7557682a829f05344373bd985f7e9ff255432394eb2da60958c6f4085f2b17c9cea2de1829f45b","ssdeep":"","tlshash":"d9e0f136a138e418de41a31595b4084e701eb8d7f18c138bb10021102a032f72b88a90","first_seen":"2023-12-22T15:34:58Z","last_seen":"2026-08-02T19:31:07.720783Z","times_seen":2651,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im00IDB2MThoMTBWMHoiIGZpbGw9IiNmOGY5ZmQiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPjxwYXRoIGQ9Im0wIDB2MThoNFYwem0xNCAwdjE4aDRWMHoiIGZpbGw9IiNlZjUzNTAiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPjxwYXRoIGQ9Im0xMSAxMGwyLTEtMS0uNXYtMWwtMiAxTDExIDdoLTFMOSA1IDggN0g3bDEgMS41LTItMXYxTDUgOWwyIDEtLjUgMWgydjFoMXYtMWgybC0uNS0xeiIgZmlsbD0iI2VmNTM1MCIvPjwvc3ZnPg=="}},"time_used":83,"timings":{"blocked":35,"dns":2,"connect":4,"send":0,"wait":7,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/img/img2.png","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.657Z","timestamp":1785124599657,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /img/img2.png HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 18 Oct 2022 16:40:29 GMT\r\netag: \"5b922a0-634ed6fd-d92d833596a31e51;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 96019104\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"image/png","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T07:30:17.788339Z","times_seen":17704649,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.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://astroxcinvest.com/","date":"2026-07-27T03:56:39.976Z","timestamp":1785124599976,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/forex-cross-rates/?locale=en HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://astroxcinvest.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 03:56: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 03:55:58 GMT\r\ncontent-security-policy: default-src 'self' https: data: blob: wss: 'unsafe-inline'; object-src 'none'; 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-Why8wZj+MQP6rgIEUC6dVg=='\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 03:54:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b2554f0d16f3e3ab7118eb7c34171d43\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]}],"data":{"size":51401,"size_decoded":17284,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"fab8bda74ac7ca5abda40a72c8968dce","sha1":"f718d66dc4e3f46aa41df40f48b098149aaed21f","sha256":"b607d1a4ef988f5731fe8af95c864b1f649a195d4521749221a4a4daaa8ebdfc","sha512":"ceac7f7c4cfe62c399cda182e44be6cdf1333c25ac4151711e29143e4c41593cb9229d4bac1f638f0d4b8b7d90828cf47e980bc009c42b7e950bb795333bbeab","ssdeep":"1536:eN84MteeNzfMO5t6tNogdZ3KWn+66ceuvRMQ:eN84MteeNzfMO5t6tNlYWe4MQ","tlshash":"e933e74398198b05dad64b057c33b203f92903a8955268987aacd8dc155ffc3f1a7bfe","first_seen":"2026-07-27T03:56:14.451456Z","last_seen":"2026-07-27T03:57:26.154572Z","times_seen":3,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5Gb3JleCBjcm9zcyByYXRlczwvdGl0bGU+CgoJPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iIGNyb3Nzb3JpZ2luPgoKCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTk1MjcuMTVjNWMyNWQyN2E1NmEwZGY3NzIuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNzAuNTVjYmM3YTFkYTk2M2IzODI5YjMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ2OTA3LmM1YWY4YWE3YjUwODJiMTg3NWE1LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQzMzI1LjI1NmZhNWE1MjEzYjljYjcwZjVjLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM5MDUuNjgyZTg5ZWYyZGM0YzcwNDIzYzYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTU5MzIuMmE3MGQzOTdjMzRmMmU5ZGU5NGYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTE1MDguNzY3MjE5MjgzYzY1ZjRkNGNhNmUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODQwOC5kZTUzNDY2M2UwNTIwNzViYTEyZi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MTgwOS4xNDZiYzhhYmI2MDkyMGEyNWQyZi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KCjxzY3JpcHQgbm9uY2U9IldoeTh3WmorTVFQNnJnSUVVQzZkVmc9PSI+Cgl3aW5kb3cubG9jYWxlID0gJ2VuJzsKCXdpbmRvdy5sYW5ndWFnZSA9ICdlbic7Cjwvc2NyaXB0PgoJPHNjcmlwdCBub25jZT0iV2h5OHdaaitNUVA2cmdJRVVDNmRWZz09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjs8L3NjcmlwdD4KCgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL3J1bnRpbWUtZW1iZWRfZm9yZXhfY3Jvc3NfcmF0ZXNfd2lkZ2V0LmQ3Y2Q4YmJiYTQxYTBkNTQ2NTZjLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uMzkxNDcuMzBiODg4YTVlYTk3OTZjYjdkNTguanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyMzg3LjQ3YWNlODNjNjFhODg0MzQxY2Q2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTEwMzEuNTM1ZjI3Yjc3NmYzOTRjN2U0M2EuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0NzA4LjczZDJiY2EzNzIwN2M2N2E0MWY0LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDU5NC5lODc0NDRlMjZmOWUxMjU0NTIzMS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzkyMDcuNmE2MmZjODAzZDNkMDc4OTg5MzYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzIwMDYxLjg3MTVhNDUyNTE0ZDQ1ZDVkZDNiLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNjA2Ny45ZDI0ODg5YjJhZjNlYjMwNWRjZi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfZm9yZXhfY3Jvc3NfcmF0ZXNfd2lkZ2V0Ljc3N2NlYTI3MWQwYzBkNjdjMDllLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2ZvcmV4X2Nyb3NzX3JhdGVzX3dpZGdldC5kN2NkOGJiYmE0MWEwZDU0NjU2Yy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU4NjY3LmQxNWZjNGI1YzYzMWJiNWVjZThkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uMzkxNDcuMzBiODg4YTVlYTk3OTZjYjdkNTguanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjM4Ny40N2FjZTgzYzYxYTg4NDM0MWNkNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzMTQ4LjMyY2MwMWRjMDE3NTFiOTE2ODJjLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDcwNi5hNTkxM2FhNmFkNjJkOWRiZjAzMS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY1ODYyLjk1NzY0NzUyYzA5ZjNmMThmODkwLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTEwMzEuNTM1ZjI3Yjc3NmYzOTRjN2U0M2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM1NTIuNGM1NTM1MTgzYjdhMDMzMGE4OWQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDU5NC5lODc0NDRlMjZmOWUxMjU0NTIzMS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMjAwNjEuODcxNWE0NTI1MTRkNDVkNWRkM2IuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNjA2Ny45ZDI0ODg5YjJhZjNlYjMwNWRjZi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2ZvcmV4X2Nyb3NzX3JhdGVzX3dpZGdldC43NzdjZWEyNzFkMGMwZDY3YzA5ZS5qcyIgZGVmZXI+PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iV2h5OHdaaitNUVA2cmdJRVVDNmRWZz09Ij53aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlID0geyJzaG93X2ZlYXR1cmVkX2lwbyI6MS4wLCJibGFja19mcmlkYXlfcG9wdXAiOjEuMCwiYmxhY2tfZnJpZGF5X21haW5wYWdlIjoxLjAsImJsYWNrX2ZyaWRheV9leHRlbmRfbGltaXRhdGlvbiI6MS4wLCJlbmFibGVfdHJhZGluZ19yZXBsYXlfZm9yX3BvaW50X2luZGV4ZXMiOjEuMCwiaW5jcmVhc2VfbWV0YWluZm9fdmVyc2lvbiI6MC4zLCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuM307CndpbmRvdy5pbml0RGF0YSA9IHt9OwoJCXdpbmRvdy5TM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwgPSAiaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIjsKCndpbmRvdy5pbml0RGF0YSA9IHsid2lkZ2V0RGVmYXVsdHMiOnsid2lkdGgiOjc3MCwiaGVpZ2h0Ijo0MDAsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJjdXJyZW5jaWVzIjpbIkVVUiIsIlVTRCIsIkpQWSIsIkdCUCIsIkNIRiIsIkFVRCIsIkNBRCIsIk5aRCJdLCJmcmFtZUVsZW1lbnRJZCI6bnVsbCwiYXV0b3NpemUiOmZhbHNlLCJjb2xvclRoZW1lIjoibGlnaHQiLCJsb2NhbGUiOiJlbiJ9fTsKCQl3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm8gPSB7Imxhbmd1YWdlIjoiZW4iLCJsYW5ndWFnZV9uYW1lIjoiRW5nbGlzaCIsImZsYWciOiJ1cyIsImdlb2lwX2NvZGUiOiJ1cyIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJFbmdsaXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfTsKCQl3aW5kb3cuaW5pdERhdGEuc2V0dGluZ3MgPSB7J1MzX0xPR09fU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8nLCAnUzNfTkVXU19JTUFHRV9TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL25ld3MvJywgJ1dFQlBBQ0tfU1RBVElDX1BBVEgnOiAnaHR0cHM6Ly9zdGF0aWMudHJhZGluZ3ZpZXcuY29tL3N0YXRpYy9idW5kbGVzLycsICdUUkFESU5HX1VSTFMnOiB7J2ZyZWUnOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmctZnJlZS50cmFkaW5ndmlldy5jb20nLCAncHJvJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLnRyYWRpbmd2aWV3LmNvbSd9LCAnQ09OVEVTVFNfVVJMJzogJy9wYXBlci10cmFkaW5nJywgJ0NSVURfU1RPUkFHRV9VUkwnOiAnaHR0cHM6Ly9jcnVkLXN0b3JhZ2UudHJhZGluZ3ZpZXcuY29tJ307PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iV2h5OHdaaitNUVA2cmdJRVVDNmRWZz09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgZT17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtjb25zdCB0PXdpbmRvdzt0LmluaXREYXRhPXQuaW5pdERhdGF8fHt9O2NvbnN0IGE9L1wrL2csbj0vPFwvP1tePl0rKD58JCkvZyxzPWU9PmRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoYSwiICIpKS5yZXBsYWNlKG4sIiIpLG89dC5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGM9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtsZXQgbCxyPWMuZXhlYyhvKTtmb3IoO251bGwhPT1yOylpW3MoclsxXSldPXMoclsyXSkscj1jLmV4ZWMobyk7dHJ5e2w9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQodC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWx8fChsPXt9KX1jYXRjaChlKXtsPXt9fXZhciBoO3QuaW5pdERhdGEucXVlcnlTZXR0aW5ncz1pLHQuaW5pdERhdGEuaGFzaFNldHRpbmdzPShoPWwsT2JqZWN0LmtleXMoaCkuZm9yRWFjaCgodD0+e2VbdF0mJmRlbGV0ZSBoW3RdfSkpLGgpfSkoKTsKCTwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IldoeTh3WmorTVFQNnJnSUVVQzZkVmc9PSI+d2luZG93LlNTX0hPU1QgPSAic3ltYm9sLXNlYXJjaC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7CgkJd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQgPSBmYWxzZTsKCgoJCXdpbmRvdy5sb2NhbGVfZG9tYWlucyA9IHsiZW4iOiJ3d3cudHJhZGluZ3ZpZXcuY29tIiwiYXJfQUUiOiJhci50cmFkaW5ndmlldy5jb20iLCJiciI6ImJyLnRyYWRpbmd2aWV3LmNvbSIsImRlX0RFIjoiZGUudHJhZGluZ3ZpZXcuY29tIiwiZXMiOiJlcy50cmFkaW5ndmlldy5jb20iLCJmciI6ImZyLnRyYWRpbmd2aWV3LmNvbSIsImhlX0lMIjoiaWwudHJhZGluZ3ZpZXcuY29tIiwiaWQiOiJpZC50cmFkaW5ndmlldy5jb20iLCJpbiI6ImluLnRyYWRpbmd2aWV3LmNvbSIsIml0IjoiaXQudHJhZGluZ3ZpZXcuY29tIiwiamEiOiJqcC50cmFkaW5ndmlldy5jb20iLCJrciI6ImtyLnRyYWRpbmd2aWV3LmNvbSIsIm1zX01ZIjoibXkudHJhZGluZ3ZpZXcuY29tIiwicGwiOiJwbC50cmFkaW5ndmlldy5jb20iLCJydSI6InJ1LnRyYWRpbmd2aWV3LmNvbSIsInRoX1RIIjoidGgudHJhZGluZ3ZpZXcuY29tIiwidHIiOiJ0ci50cmFkaW5ndmlldy5jb20iLCJ2aV9WTiI6InZuLnRyYWRpbmd2aWV3LmNvbSIsInpoX0NOIjoiY24udHJhZGluZ3ZpZXcuY29tIiwiemhfVFciOiJ0dy50cmFkaW5ndmlldy5jb20iLCJjYV9FUyI6ImVzLnRyYWRpbmd2aWV3LmNvbSJ9OwoKCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyA9IHdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgfHwgW107CgkJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLnB1c2goJ3dpZGdldCcpOwoKCQl3aW5kb3cuVHJhZGluZ1ZpZXcgPSB3aW5kb3cuVHJhZGluZ1ZpZXcgfHwge307Cjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IldoeTh3WmorTVFQNnJnSUVVQzZkVmc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7CgkJd2luZG93LkJVSUxEX1RJTUUgPSAiMjAyNi0wNy0yNFQxMTo0MDowOCI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUID0gIndpZGdldGRhdGEudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCA9ICJ3aWRnZXRkYXRhLWJhY2t1cC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy51c2VyID0geyd1c2VybmFtZSc6ICdHdWVzdCcsICdmb2xsb3dpbmcnOiAnMCcsICdmb2xsb3dlcnMnOiAnMCcsICdpZ25vcmVfbGlzdCc6IHt9LCAnZG9fbm90X3RyYWNrJzogdHJ1ZX07PC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJXaHk4d1pqK01RUDZyZ0lFVUM2ZFZnPT0iPmxldCBwYXJhbXMgPSB7fTsKCQkJY29uc3QgaHR0cFJlZyA9IG5ldyBSZWdFeHAoJ15odHRwKHMpPzovLycpOwoKCQkJdHJ5IHsKCQkJCXBhcmFtcyA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSk7CgkJCX0gY2F0Y2ggKGUpIHsKCQkJCXBhcmFtcyA9IHt9OwoJCQl9CgoJCQl3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1MgPSB7CgkJCQknd3NfYW5jZXN0b3Jfb3JpZ2luJzogd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyAmJiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCA/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+Cgk8c2NyaXB0IG5vbmNlPSJXaHk4d1pqK01RUDZyZ0lFVUM2ZFZnPT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCB0PTEwMTk7dmFyIGUscyxvLGEsZDshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0oZXx8KGU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0oc3x8KHM9e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KG98fChvPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGF8fChhPXt9KSksZnVuY3Rpb24odCl7dC5UaGVtZUNsYXNzUHJlZml4PSJ0aGVtZS0ifShkfHwoZD17fSkpO2NvbnN0IGM9d2luZG93O2MuaW5pdERhdGE9Yy5pbml0RGF0YXx8e307bGV0IGk9Yy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cyYmKGk9ey4uLmMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsLi4uaX0pLHZvaWQgMCE9PWkpe2lmKHZvaWQgMCE9PWkuY29sb3JUaGVtZSYmZnVuY3Rpb24odCxlPXdpbmRvdyl7Y29uc3Qgcz0idGhlbWUtIit0LG89ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCB0IG9mIEFycmF5LmZyb20obykpdC5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmdCE9PXMmJm8ucmVtb3ZlKHQpO28uYWRkKHMpLGUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9dH0oaS5jb2xvclRoZW1lKSwoaS5pc1RyYW5zcGFyZW50fHxpLnRyYW5zcGFyZW5jeSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy10cmFuc3BhcmVudCIpLHZvaWQgMCE9PWkuZGlzcGxheU1vZGUmJmZ1bmN0aW9uKHMsbyl7aWYobz09PWUuQWRhcHRpdmUpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEoYChtYXgtd2lkdGg6ICR7dH1weClgKSxvPSgpPT57cy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsIWUubWF0Y2hlcykscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsZS5tYXRjaGVzKX07bygpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixvKX1lbHNlIHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLG89PT1lLlJlZ3VsYXIpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLG89PT1lLkNvbXBhY3QpfShkb2N1bWVudC5ib2R5LGkuZGlzcGxheU1vZGUpLGkuYm9keUNsYXNzZXMpZm9yKGNvbnN0IHQgb2YgaS5ib2R5Q2xhc3Nlcylkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodCk7aS5ib2R5X2NsYXNzJiZkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoaS5ib2R5X2NsYXNzKSxpLmJvZHlJZCYmKGRvY3VtZW50LmJvZHkuaWQ9aS5ib2R5SWQpfX0pKCk7Cgk8L3NjcmlwdD4KCgk8ZGl2IGlkPSJ3aWRnZXQtZm9yZXgtY3Jvc3MtcmF0ZXMtY29udGFpbmVyIj48L2Rpdj4KCjxzY3JpcHQgbm9uY2U9IldoeTh3WmorTVFQNnJnSUVVQzZkVmc9PSI+Cgl3aW5kb3cuaW5pdERhdGEgPSB3aW5kb3cuaW5pdERhdGEgfHwge307CgoJd2luZG93LmluaXREYXRhLnNub3dwbG93U2V0dGluZ3MgPSB7CgkJY29sbGVjdG9ySWQ6ICd0dl9jZicsCgkJdXJsOiAnc25vd3Bsb3ctcGl4ZWwudHJhZGluZ3ZpZXcuY29tJywKCQlwYXJhbXM6IHsKCQkJYXBwSWQ6ICd0cmFkaW5ndmlldycsCgkJCXBvc3RQYXRoOiAnL2NvbS50cmFkaW5ndmlldy90cmFjaycsCgkJfSwKCQllbmFibGVkOiB0cnVlLAoJfQo8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4="}},"time_used":81,"timings":{"blocked":-1,"dns":54,"connect":16,"send":0,"wait":3,"receive":-1,"ssl":6},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/turbopack-18a9de512a1933ad.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.038Z","timestamp":1785124600038,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/turbopack-18a9de512a1933ad.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 2239986\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"turbopack-18a9de512a1933ad.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"ee874107586f9203ea70e460428f2bb3\"\r\nlast-modified: Tue, 30 Jun 2026 21:36:51 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/turbopack-18a9de512a1933ad.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::224xg-1782884613047-36a6958ca2eb\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=1Yepw20ITNYII8jBsfjm75%2BlgpGjvc4aIDcVekVgeG6Oug0GJS9uZia1f6YAvPEI9aiRF89S85iODt4FHXYxlZYtuZPD4DhuLjsS7772Cwxt2mTlP6jpI8N1Y93M\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e499456b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":10707,"size_decoded":6486,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (6438)","md5":"ee874107586f9203ea70e460428f2bb3","sha1":"9bfba653884c0499149072efe4824e6170f10271","sha256":"44b3081e3a644e21b57f4155637e1e43563eae2c0f034c6ba9edd6bc9cba26ea","sha512":"7fd5fb8b487d8981ead132093abf93b51a77860cb1d04cd5c233c3e671b7183921080069aac71afb4f5f77a424d02ccdea22e3feba459326eea86d1c6637a09b","ssdeep":"192:D74eFn8/Esp1U91EG5T1uyO9lGdiwMhMlng4W9PZcxkUk1IsiyLxA:D74e2OvO9lG0OlgJZZQLyLxA","tlshash":"6722d8ea33a6f07743af94e6907f4044f1795468145d542c936ce8fa38398ae49e3f27","first_seen":"2026-07-01T05:10:22.643373Z","last_seen":"2026-07-31T06:34:35.53001Z","times_seen":1526,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLHtvdGhlckNodW5rczpbInN0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIsInN0YXRpYy9jaHVua3MvOWRmM2I2N2I2MDYxZWE5ZS5qcyIsInN0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIsInN0YXRpYy9jaHVua3MvNDkxMTQxMGU1MTUzZjBkNy5qcyIsInN0YXRpYy9jaHVua3MvNDgxNWE3NTg2NTdkNGJhZS5qcyJdLHJ1bnRpbWVNb2R1bGVJZHM6Wzk2MzM1XX1dKSwoKCk9PntsZXQgZTtpZighQXJyYXkuaXNBcnJheShnbG9iYWxUaGlzLlRVUkJPUEFDSykpcmV0dXJuO2xldCB0PSIvX25leHQvIixyPShzZWxmLlRVUkJPUEFDS19DSFVOS19TVUZGSVg/P2RvY3VtZW50Py5jdXJyZW50U2NyaXB0Py5nZXRBdHRyaWJ1dGU/Ligic3JjIik/LnJlcGxhY2UoL14oLiooPz1cPyl8Xi4qJCkvLCIiKSl8fCIiLG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbyhlLHQpe3RoaXMubT1lLHRoaXMuZT10fWxldCBsPW8ucHJvdG90eXBlLGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxzPSJ1Ij50eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWc7ZnVuY3Rpb24gdShlLHQscil7aS5jYWxsKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQscil9ZnVuY3Rpb24gYShlLHQpe2xldCByPWVbdF07cmV0dXJuIHJ8fChyPWModCksZVt0XT1yKSxyfWZ1bmN0aW9uIGMoZSl7cmV0dXJue2V4cG9ydHM6e30sZXJyb3I6dm9pZCAwLGlkOmUsbmFtZXNwYWNlT2JqZWN0OnZvaWQgMH19ZnVuY3Rpb24gZihlLHQpe3UoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscyYmdShlLHMse3ZhbHVlOiJNb2R1bGUifSk7bGV0IHI9MDtmb3IoO3I8dC5sZW5ndGg7KXtsZXQgbj10W3IrK10sbz10W3IrK107aWYoIm51bWJlciI9PXR5cGVvZiBvKWlmKDA9PT1vKXUoZSxuLHt2YWx1ZTp0W3IrK10sZW51bWVyYWJsZTohMCx3cml0YWJsZTohMX0pO2Vsc2UgdGhyb3cgRXJyb3IoYHVuZXhwZWN0ZWQgdGFnOiAke299YCk7ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiB0W3JdP3UoZSxuLHtnZXQ6byxzZXQ6dFtyKytdLGVudW1lcmFibGU6ITB9KTp1KGUsbix7Z2V0Om8sZW51bWVyYWJsZTohMH0pfU9iamVjdC5zZWFsKGUpfWwucz1mdW5jdGlvbihlLHQpe2xldCByLG47bnVsbCE9dD9uPShyPWEodGhpcy5jLHQpKS5leHBvcnRzOihyPXRoaXMubSxuPXRoaXMuZSksci5uYW1lc3BhY2VPYmplY3Q9bixmKG4sZSl9LGwuaj1mdW5jdGlvbihlLHQpe3ZhciByLG87bGV0IGwscyx1O251bGwhPXQ/cz0obD1hKHRoaXMuYyx0KSkuZXhwb3J0czoobD10aGlzLm0scz10aGlzLmUpO2xldCBjPShyPWwsbz1zLCh1PW4uZ2V0KHIpKXx8KG4uc2V0KHIsdT1bXSksci5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PW5ldyBQcm94eShvLHtnZXQoZSx0KXtpZihpLmNhbGwoZSx0KXx8ImRlZmF1bHQiPT09dHx8Il9fZXNNb2R1bGUiPT09dClyZXR1cm4gUmVmbGVjdC5nZXQoZSx0KTtmb3IobGV0IGUgb2YgdSl7bGV0IHI9UmVmbGVjdC5nZXQoZSx0KTtpZih2b2lkIDAhPT1yKXJldHVybiByfX0sb3duS2V5cyhlKXtsZXQgdD1SZWZsZWN0Lm93bktleXMoZSk7Zm9yKGxldCBlIG9mIHUpZm9yKGxldCByIG9mIFJlZmxlY3Qub3duS2V5cyhlKSkiZGVmYXVsdCI9PT1yfHx0LmluY2x1ZGVzKHIpfHx0LnB1c2gocik7cmV0dXJuIHR9fSkpLHUpOyJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmMucHVzaChlKX0sbC52PWZ1bmN0aW9uKGUsdCl7KG51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPWV9LGwubj1mdW5jdGlvbihlLHQpe2xldCByOyhyPW51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PWV9O2xldCBwPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18saD1bbnVsbCxwKHt9KSxwKFtdKSxwKHApXTtmdW5jdGlvbiBkKGUsdCxyKXtsZXQgbj1bXSxvPS0xO2ZvcihsZXQgdD1lOygib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSYmIWguaW5jbHVkZXModCk7dD1wKHQpKWZvcihsZXQgciBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSluLnB1c2gocixmdW5jdGlvbihlLHQpe3JldHVybigpPT5lW3RdfShlLHIpKSwtMT09PW8mJiJkZWZhdWx0Ij09PXImJihvPW4ubGVuZ3RoLTEpO3JldHVybiByJiZvPj0wfHwobz49MD9uLnNwbGljZShvLDEsMCxlKTpuLnB1c2goImRlZmF1bHQiLDAsZSkpLGYodCxuKSx0fWZ1bmN0aW9uIG0oZSl7bGV0IHQ9QihlLHRoaXMubSk7aWYodC5uYW1lc3BhY2VPYmplY3QpcmV0dXJuIHQubmFtZXNwYWNlT2JqZWN0O2xldCByPXQuZXhwb3J0cztyZXR1cm4gdC5uYW1lc3BhY2VPYmplY3Q9ZChyLCJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKC4uLmUpe3JldHVybiByLmFwcGx5KHRoaXMsZSl9Ok9iamVjdC5jcmVhdGUobnVsbCksciYmci5fX2VzTW9kdWxlKX1mdW5jdGlvbiBiKGUpe2xldCB0PWUuaW5kZXhPZigiIyIpOy0xIT09dCYmKGU9ZS5zdWJzdHJpbmcoMCx0KSk7bGV0IHI9ZS5pbmRleE9mKCI/Iik7cmV0dXJuIC0xIT09ciYmKGU9ZS5zdWJzdHJpbmcoMCxyKSksZX1mdW5jdGlvbiB5KCl7bGV0IGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgocixuKT0+e3Q9bixlPXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fWwuaT1tLGwuQT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yKGUpKG0uYmluZCh0aGlzKSl9LGwudD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZT9yZXF1aXJlOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgdXNlIG9mIHJ1bnRpbWUgcmVxdWlyZSIpfSxsLnI9ZnVuY3Rpb24oZSl7cmV0dXJuIEIoZSx0aGlzLm0pLmV4cG9ydHN9LGwuZj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5tb2R1bGUoKTtsZXQgcj1FcnJvcihgQ2Fubm90IGZpbmQgbW9kdWxlICcke3R9J2ApO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn1yZXR1cm4gdC5rZXlzPSgpPT5PYmplY3Qua2V5cyhlKSx0LnJlc29sdmU9dD0+e2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5pZCgpO2xldCByPUVycm9yKGBDYW5ub3QgZmluZCBtb2R1bGUgJyR7dH0nYCk7dGhyb3cgci5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixyfSx0LmltcG9ydD1hc3luYyBlPT5hd2FpdCB0KGUpLHR9O2xldCBPPVN5bWJvbCgidHVyYm9wYWNrIHF1ZXVlcyIpLGc9U3ltYm9sKCJ0dXJib3BhY2sgZXhwb3J0cyIpLHc9U3ltYm9sKCJ0dXJib3BhY2sgZXJyb3IiKTtmdW5jdGlvbiBDKGUpe2UmJjEhPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTEsZS5mb3JFYWNoKGU9PmUucXVldWVDb3VudC0tKSxlLmZvckVhY2goZT0+ZS5xdWV1ZUNvdW50LS0/ZS5xdWV1ZUNvdW50Kys6ZSgpKSl9bC5hPWZ1bmN0aW9uKGUsdCl7bGV0IHI9dGhpcy5tLG49dD9PYmplY3QuYXNzaWduKFtdLHtzdGF0dXM6LTF9KTp2b2lkIDAsbz1uZXcgU2V0LHtyZXNvbHZlOmwscmVqZWN0OmkscHJvbWlzZTpzfT15KCksdT1PYmplY3QuYXNzaWduKHMse1tnXTpyLmV4cG9ydHMsW09dOmU9PntuJiZlKG4pLG8uZm9yRWFjaChlKSx1LmNhdGNoKCgpPT57fSl9fSksYT17Z2V0OigpPT51LHNldChlKXtlIT09dSYmKHVbZ109ZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiZXhwb3J0cyIsYSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIm5hbWVzcGFjZU9iamVjdCIsYSksZShmdW5jdGlvbihlKXtsZXQgdD1lLm1hcChlPT57aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoTyBpbiBlKXJldHVybiBlO2lmKG51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmInRoZW4iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7bGV0IHQ9T2JqZWN0LmFzc2lnbihbXSx7c3RhdHVzOjB9KSxyPXtbZ106e30sW09dOmU9PmUodCl9O3JldHVybiBlLnRoZW4oZT0+e3JbZ109ZSxDKHQpfSxlPT57clt3XT1lLEModCl9KSxyfX1yZXR1cm57W2ddOmUsW09dOigpPT57fX19KSxyPSgpPT50Lm1hcChlPT57aWYoZVt3XSl0aHJvdyBlW3ddO3JldHVybiBlW2ddfSkse3Byb21pc2U6bCxyZXNvbHZlOml9PXkoKSxzPU9iamVjdC5hc3NpZ24oKCk9Pmkocikse3F1ZXVlQ291bnQ6MH0pO2Z1bmN0aW9uIHUoZSl7ZSE9PW4mJiFvLmhhcyhlKSYmKG8uYWRkKGUpLGUmJjA9PT1lLnN0YXR1cyYmKHMucXVldWVDb3VudCsrLGUucHVzaChzKSkpfXJldHVybiB0Lm1hcChlPT5lW09dKHUpKSxzLnF1ZXVlQ291bnQ/bDpyKCl9LGZ1bmN0aW9uKGUpe2U/aSh1W3ddPWUpOmwodVtnXSksQyhuKX0pLG4mJi0xPT09bi5zdGF0dXMmJihuLnN0YXR1cz0wKX07bGV0IFU9ZnVuY3Rpb24oZSl7bGV0IHQ9bmV3IFVSTChlLCJ4Oi8iKSxyPXt9O2ZvcihsZXQgZSBpbiB0KXJbZV09dFtlXTtmb3IobGV0IHQgaW4gci5ocmVmPWUsci5wYXRobmFtZT1lLnJlcGxhY2UoL1s/I10uKi8sIiIpLHIub3JpZ2luPXIucHJvdG9jb2w9IiIsci50b1N0cmluZz1yLnRvSlNPTj0oLi4udCk9PmUscilPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyW3RdfSl9O2Z1bmN0aW9uIGooZSx0KXt0aHJvdyBFcnJvcihgSW52YXJpYW50OiAke3QoZSl9YCl9VS5wcm90b3R5cGU9VVJMLnByb3RvdHlwZSxsLlU9VSxsLno9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoImR5bmFtaWMgdXNhZ2Ugb2YgcmVxdWlyZSBpcyBub3Qgc3VwcG9ydGVkIil9LGwuZz1nbG9iYWxUaGlzO2xldCBSPW8ucHJvdG90eXBlO3ZhciBrLF89KChrPV98fHt9KVtrLlJ1bnRpbWU9MF09IlJ1bnRpbWUiLGtbay5QYXJlbnQ9MV09IlBhcmVudCIsa1trLlVwZGF0ZT0yXT0iVXBkYXRlIixrKTtsZXQgdj1uZXcgTWFwO2wuTT12O2xldCAkPW5ldyBNYXAsUD1uZXcgTWFwO2FzeW5jIGZ1bmN0aW9uIFMoZSx0LHIpe2xldCBuO2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4gRShlLHQsSyhyKSk7bGV0IG89ci5pbmNsdWRlZHx8W10sbD1vLm1hcChlPT4hIXYuaGFzKGUpfHwkLmdldChlKSk7aWYobC5sZW5ndGg+MCYmbC5ldmVyeShlPT5lKSlyZXR1cm4gdm9pZCBhd2FpdCBQcm9taXNlLmFsbChsKTtsZXQgaT1yLm1vZHVsZUNodW5rc3x8W10scz1pLm1hcChlPT5QLmdldChlKSkuZmlsdGVyKGU9PmUpO2lmKHMubGVuZ3RoPjApe2lmKHMubGVuZ3RoPT09aS5sZW5ndGgpcmV0dXJuIHZvaWQgYXdhaXQgUHJvbWlzZS5hbGwocyk7bGV0IHI9bmV3IFNldDtmb3IobGV0IGUgb2YgaSlQLmhhcyhlKXx8ci5hZGQoZSk7Zm9yKGxldCBuIG9mIHIpe2xldCByPUUoZSx0LEsobikpO1Auc2V0KG4scikscy5wdXNoKHIpfW49UHJvbWlzZS5hbGwocyl9ZWxzZXtmb3IobGV0IG8gb2Yobj1FKGUsdCxLKHIucGF0aCkpLGkpKVAuaGFzKG8pfHxQLnNldChvLG4pfWZvcihsZXQgZSBvZiBvKSQuaGFzKGUpfHwkLnNldChlLG4pO2F3YWl0IG59Ui5sPWZ1bmN0aW9uKGUpe3JldHVybiBTKDEsdGhpcy5tLmlkLGUpfTtsZXQgVD1Qcm9taXNlLnJlc29sdmUodm9pZCAwKSxBPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIEUodCxyLG4pe2xldCBvPWUubG9hZENodW5rQ2FjaGVkKHQsbiksbD1BLmdldChvKTtpZih2b2lkIDA9PT1sKXtsZXQgZT1BLnNldC5iaW5kKEEsbyxUKTtsPW8udGhlbihlKS5jYXRjaChlPT57bGV0IG87c3dpdGNoKHQpe2Nhc2UgMDpvPWBhcyBhIHJ1bnRpbWUgZGVwZW5kZW5jeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bz1gZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm89ImZyb20gYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1sZXQgbD1FcnJvcihgRmFpbGVkIHRvIGxvYWQgY2h1bmsgJHtufSAke299JHtlP2A6ICR7ZX1gOiIifWAsZT97Y2F1c2U6ZX06dm9pZCAwKTt0aHJvdyBsLm5hbWU9IkNodW5rTG9hZEVycm9yIixsfSksQS5zZXQobyxsKX1yZXR1cm4gbH1mdW5jdGlvbiBLKGUpe3JldHVybmAke3R9JHtlLnNwbGl0KCIvIikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSkuam9pbigiLyIpfSR7cn1gfVIuTD1mdW5jdGlvbihlKXtyZXR1cm4gRSgxLHRoaXMubS5pZCxlKX0sUi5SPWZ1bmN0aW9uKGUpe2xldCB0PXRoaXMucihlKTtyZXR1cm4gdD8uZGVmYXVsdD8/dH0sUi5QPWZ1bmN0aW9uKGUpe3JldHVybmAvUk9PVC8ke2U/PyIifWB9LFIuYj1mdW5jdGlvbihlKXtsZXQgdD1uZXcgQmxvYihbYHNlbGYuVFVSQk9QQUNLX1dPUktFUl9MT0NBVElPTiA9ICR7SlNPTi5zdHJpbmdpZnkobG9jYXRpb24ub3JpZ2luKX07CnNlbGYuVFVSQk9QQUNLX0NIVU5LX1NVRkZJWCA9ICR7SlNPTi5zdHJpbmdpZnkocil9OwpzZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMgPSAke0pTT04uc3RyaW5naWZ5KGUucmV2ZXJzZSgpLm1hcChLKSxudWxsLDIpfTsKaW1wb3J0U2NyaXB0cyguLi5zZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMubWFwKGMgPT4gc2VsZi5UVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OICsgYykucmV2ZXJzZSgpKTtgXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pO3JldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKHQpfTtsZXQgeD0vXC5qcyg/Olw/W14jXSopPyg/OiMuKik/JC8sTj0vXC5jc3MoPzpcP1teI10qKT8oPzojLiopPyQvO2Z1bmN0aW9uIE0oZSl7cmV0dXJuIE4udGVzdChlKX1sLnc9ZnVuY3Rpb24odCxyLG4pe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseSgxLHRoaXMubS5pZCx0LHIsbil9LGwudT1mdW5jdGlvbih0LHIpe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseU1vZHVsZSgxLHRoaXMubS5pZCx0LHIpfTtsZXQgTD17fTtsLmM9TDtsZXQgQj0oZSx0KT0+e2xldCByPUxbZV07aWYocil7aWYoci5lcnJvcil0aHJvdyByLmVycm9yO3JldHVybiByfXJldHVybiBxKGUsXy5QYXJlbnQsdC5pZCl9O2Z1bmN0aW9uIHEoZSx0LHIpe2xldCBuPXYuZ2V0KGUpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IEVycm9yKGZ1bmN0aW9uKGUsdCxyKXtsZXQgbjtzd2l0Y2godCl7Y2FzZSAwOm49YGFzIGEgcnVudGltZSBlbnRyeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bj1gYmVjYXVzZSBpdCB3YXMgcmVxdWlyZWQgZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm49ImJlY2F1c2Ugb2YgYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1yZXR1cm5gTW9kdWxlICR7ZX0gd2FzIGluc3RhbnRpYXRlZCAke259LCBidXQgdGhlIG1vZHVsZSBmYWN0b3J5IGlzIG5vdCBhdmFpbGFibGUuYH0oZSx0LHIpKTtsZXQgbD1jKGUpLGk9bC5leHBvcnRzO0xbZV09bDtsZXQgcz1uZXcgbyhsLGkpO3RyeXtuKHMsbCxpKX1jYXRjaChlKXt0aHJvdyBsLmVycm9yPWUsZX1yZXR1cm4gbC5uYW1lc3BhY2VPYmplY3QmJmwuZXhwb3J0cyE9PWwubmFtZXNwYWNlT2JqZWN0JiZkKGwuZXhwb3J0cyxsLm5hbWVzcGFjZU9iamVjdCksbH1mdW5jdGlvbiBJKHIpe2xldCBuLG89ZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCByPWRlY29kZVVSSUNvbXBvbmVudCgoInUiPnR5cGVvZiBUVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTP1RVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMucG9wKCk6ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKS5yZXBsYWNlKC9bPyNdLiokLywiIikpO3JldHVybiByLnN0YXJ0c1dpdGgodCk/ci5zbGljZSh0Lmxlbmd0aCk6cn0oclswXSk7cmV0dXJuIDI9PT1yLmxlbmd0aD9uPXJbMV06KG49dm9pZCAwLCFmdW5jdGlvbihlLHQscixuKXtsZXQgbz0xO2Zvcig7bzxlLmxlbmd0aDspe2xldCB0PWVbb10sbj1vKzE7Zm9yKDtuPGUubGVuZ3RoJiYiZnVuY3Rpb24iIT10eXBlb2YgZVtuXTspbisrO2lmKG49PT1lLmxlbmd0aCl0aHJvdyBFcnJvcigibWFsZm9ybWVkIGNodW5rIGZvcm1hdCwgZXhwZWN0ZWQgYSBmYWN0b3J5IGZ1bmN0aW9uIik7aWYoIXIuaGFzKHQpKXtsZXQgbD1lW25dO2ZvcihPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibmFtZSIse3ZhbHVlOiJtb2R1bGUgZXZhbHVhdGlvbiJ9KTtvPG47bysrKXQ9ZVtvXSxyLnNldCh0LGwpfW89bisxfX0ociwwLHYpKSxlLnJlZ2lzdGVyQ2h1bmsobyxuKX1sZXQgVz1uZXcgTWFwO2Z1bmN0aW9uIEgoZSl7bGV0IHQ9Vy5nZXQoZSk7aWYoIXQpe2xldCByLG47dD17cmVzb2x2ZWQ6ITEsbG9hZGluZ1N0YXJ0ZWQ6ITEscHJvbWlzZTpuZXcgUHJvbWlzZSgoZSx0KT0+e3I9ZSxuPXR9KSxyZXNvbHZlOigpPT57dC5yZXNvbHZlZD0hMCxyKCl9LHJlamVjdDpufSxXLnNldChlLHQpfXJldHVybiB0fWU9e2FzeW5jIHJlZ2lzdGVyQ2h1bmsoZSx0KXtpZihIKEsoZSkpLnJlc29sdmUoKSxudWxsIT10KXtmb3IobGV0IGUgb2YgdC5vdGhlckNodW5rcylIKEsoInN0cmluZyI9PXR5cGVvZiBlP2U6ZS5wYXRoKSk7aWYoYXdhaXQgUHJvbWlzZS5hbGwodC5vdGhlckNodW5rcy5tYXAodD0+UygwLGUsdCkpKSx0LnJ1bnRpbWVNb2R1bGVJZHMubGVuZ3RoPjApZm9yKGxldCByIG9mIHQucnVudGltZU1vZHVsZUlkcykhZnVuY3Rpb24oZSx0KXtsZXQgcj1MW3RdO2lmKHIpe2lmKHIuZXJyb3IpdGhyb3cgci5lcnJvcjtyZXR1cm59cSh0LF8uUnVudGltZSxlKX0oZSxyKX19LGxvYWRDaHVua0NhY2hlZDooZSx0KT0+KGZ1bmN0aW9uKGUsdCl7bGV0IHI9SCh0KTtpZihyLmxvYWRpbmdTdGFydGVkKXJldHVybiByLnByb21pc2U7aWYoZT09PV8uUnVudGltZSlyZXR1cm4gci5sb2FkaW5nU3RhcnRlZD0hMCxNKHQpJiZyLnJlc29sdmUoKSxyLnByb21pc2U7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGltcG9ydFNjcmlwdHMpaWYoTSh0KSk7ZWxzZSBpZih4LnRlc3QodCkpc2VsZi5UVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTLnB1c2godCksaW1wb3J0U2NyaXB0cyhUVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OK3QpO2Vsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fSBpbiB3b3JrZXJgKTtlbHNle2xldCBlPWRlY29kZVVSSSh0KTtpZihNKHQpKWlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWY9IiR7dH0iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmXj0iJHt0fT8iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmPSIke2V9Il0sbGlua1tyZWw9c3R5bGVzaGVldF1baHJlZl49IiR7ZX0/Il1gKS5sZW5ndGg+MClyLnJlc29sdmUoKTtlbHNle2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtlLnJlbD0ic3R5bGVzaGVldCIsZS5ocmVmPXQsZS5vbmVycm9yPSgpPT57ci5yZWplY3QoKX0sZS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChlKX1lbHNlIGlmKHgudGVzdCh0KSl7bGV0IG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc2NyaXB0W3NyYz0iJHt0fSJdLHNjcmlwdFtzcmNePSIke3R9PyJdLHNjcmlwdFtzcmM9IiR7ZX0iXSxzY3JpcHRbc3JjXj0iJHtlfT8iXWApO2lmKG4ubGVuZ3RoPjApZm9yKGxldCBlIG9mIEFycmF5LmZyb20obikpZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntyLnJlamVjdCgpfSk7ZWxzZXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLnNyYz10LGUub25lcnJvcj0oKT0+e3IucmVqZWN0KCl9LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZSl9fWVsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fWApfXJldHVybiByLmxvYWRpbmdTdGFydGVkPSEwLHIucHJvbWlzZX0pKGUsdCksYXN5bmMgbG9hZFdlYkFzc2VtYmx5KGUsdCxyLG4sbyl7bGV0IGw9ZmV0Y2goSyhyKSkse2luc3RhbmNlOml9PWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGwsbyk7cmV0dXJuIGkuZXhwb3J0c30sYXN5bmMgbG9hZFdlYkFzc2VtYmx5TW9kdWxlKGUsdCxyLG4pe2xldCBvPWZldGNoKEsocikpO3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5jb21waWxlU3RyZWFtaW5nKG8pfX07bGV0IEY9Z2xvYmFsVGhpcy5UVVJCT1BBQ0s7Z2xvYmFsVGhpcy5UVVJCT1BBQ0s9e3B1c2g6SX0sRi5mb3JFYWNoKEkpfSkoKTsKOyhmdW5jdGlvbigpe2lmKHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwhLyg/Ol58O1xzKV9fdmVyY2VsX3Rvb2xiYXI9MSg/Ojt8JCkvLnRlc3QoZG9jdW1lbnQuY29va2llKSlyZXR1cm47dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9J2h0dHBzOi8vdmVyY2VsLmxpdmUvX25leHQtbGl2ZS9mZWVkYmFjay9mZWVkYmFjay5qcyc7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwbGljaXQtb3B0LWluIiwidHJ1ZSIpO3Muc2V0QXR0cmlidXRlKCJkYXRhLWNvb2tpZS1vcHQtaW4iLCJ0cnVlIik7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZGVwbG95bWVudC1pZCIsImRwbF9DUUNuSlhHMXJLWk0xazNReERpQjlpMVRtZjY2Iik7KChkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKHMpKX0pKCk7"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/800e836146d6e7eb.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.046Z","timestamp":1785124600046,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/800e836146d6e7eb.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 4102956\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"800e836146d6e7eb.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"7b2a7348e5acf7f61cd01b2152c769a6\"\r\nlast-modified: Tue, 09 Jun 2026 16:12:41 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/800e836146d6e7eb.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::dmlt9-1781021643910-30bb6f3b3b82\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=cX87NmnmJjQJ1AZihKDRkrlr4HKQMlHN6Iwkyja%2BP5fNKkZt%2BDveE07PLIah90h5ndc2g2bc9e8YwYzZv0lAlyFkDaNXuOJyOMPaR0C9S2dxRZYvxkZyuxMG%2F3le\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e499856b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":19477,"size_decoded":7482,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (16974)","md5":"7b2a7348e5acf7f61cd01b2152c769a6","sha1":"1cc03a4809684838384744113d8a0e0093a62a3a","sha256":"c5bd83f87b5a8d38fee5230c1078de1f65ac83476cd29e8f5a41d63ea9bd22c5","sha512":"56b9d74b6b4d8a6f1e9909cb88c18e6c784c6bbab10d877a936f334ec5056d8720d20c2443e241c3064f536853f3ffa4578c1c8b3ab391ce8d671256a83a0ef3","ssdeep":"192:c0/B5NGI4y5Zzlqrvd2bcQFCx4zN2M15hNeSd4e+MQCC8h/PzM+kyhtTliuR3dQ5:cOq8bcj+Jz57b4e+MQCL2+k+Nll3dwA4","tlshash":"b492b81056143788f5b78289915fc40c302f2a4caf0e85b5bbbcac666b544e73a6ffd6","first_seen":"2026-06-09T20:30:37.829522Z","last_seen":"2026-08-04T06:18:34.280579Z","times_seen":1765,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDI0NjAxLChlLHQsaSk9Pnt0LmV4cG9ydHM9ZS5yKDI4OTk1KX0sNzkyOTQsZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD1lLmkoOTgxMzQpLGk9ZS5pKDI0NjAxKSxuPWUuaSg3NTIwMSkscz1lLmkoNzUxNTcpO2Z1bmN0aW9uIG8oe3RoZW1lOmUsY250OmksZ3JhcGg6byxwcmVmQ29pbklkOmx9KXtsZXRbYyxkXT0oMCxuLnVzZVN0YXRlKShbXSksW2gsZl09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOlN0cmluZyhpKX0pO2wmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGwpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZkKGUuZGF0YSksZS5jdXJyZW5jeSYmZihlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+cCghMSkpfSxbaSxsXSk7bGV0IGc9ImRhcmsiPT09ZSx4PWc/IiMxQjIwMzAiOiIjZmZmZmZmIix5PWc/IiNlNWU3ZWIiOiIjMWYyOTM3Iix1PWc/IiM5Y2EzYWYiOiIjNmI3MjgwIixiPWc/IiMzNzQxNTEiOiIjZTVlN2ViIixqPWc/IiMxZjI5MzciOiIjZjNmNGY2IixTPSIjMjJjNTVlIix2PSIjZWY0NDQ0IjtyZXR1cm4gbT8oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxwYWRkaW5nOjIwLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pOigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzLG92ZXJmbG93OiJhdXRvIixoZWlnaHQ6IjEwMCUifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzdHlsZSIse2NoaWxkcmVuOmAKICAgICAgICAuZnZ3LWhpZGUtc20geyB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgICAgICAuZnZ3LWhpZGUtc20geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcmFuayB7IHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDogNHB4ICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcHJpY2UgeyB3aWR0aDogODBweCAhaW1wb3J0YW50OyB9CiAgICAgICAgICAuZnZ3LXJvdyB7IHBhZGRpbmc6IDZweCA4cHggIWltcG9ydGFudDsgfQogICAgICAgIH0KICAgICAgYH0pLCgwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiOHB4IDEycHgiLGJhY2tncm91bmQ6Zz8iIzExMTgyNyI6IiNmOWZhZmIiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLGZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46IiMifSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46Ik5hbWUifSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcHJpY2UiLHN0eWxlOnt3aWR0aDoxMDAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJQcmljZSJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQifSxjaGlsZHJlbjoiTWFya2V0IENhcCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6OTAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJWb2x1bWUgMjRoIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnt3aWR0aDo3MCx0ZXh0QWxpZ246InJpZ2h0In0sY2hpbGRyZW46IjI0aCAlIn0pLG8mJigwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LWhpZGUtc20iLHN0eWxlOnt3aWR0aDo4MCx0ZXh0QWxpZ246InJpZ2h0IixwYWRkaW5nTGVmdDoxMn0sY2hpbGRyZW46IjdkIn0pXX0pLGMubWFwKGU9Pnt2YXIgaSxuO2xldCBsPWUucGVyY2VudF9jaGFuZ2VfMjRoPj0wO3JldHVybigwLHQuanN4cykoImEiLHtocmVmOmBodHRwczovL2NvaW5saWIuaW8keygwLHMuY29pblVybCkoZS5zeW1ib2wsZS5uYW1lKX1gLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGNsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4xNXMifSxvbk1vdXNlRW50ZXI6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9aixvbk1vdXNlTGVhdmU6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InRyYW5zcGFyZW50IixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46ZS5yYW5rfSksKDAsdC5qc3gpKCJpbWciLHtzcmM6ZS5pbWFnZSxhbHQ6ZS5uYW1lLHdpZHRoOjE4LGhlaWdodDoxOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUiLG1hcmdpblJpZ2h0OjZ9fSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRXZWlnaHQ6NTAwLG1hcmdpblJpZ2h0OjR9LGNoaWxkcmVuOmUubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp1LGZvbnRTaXplOjExfSxjaGlsZHJlbjplLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LXByaWNlIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpbkxlZnQ6ImF1dG8iLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihpPWUucHJpY2VfdXNkKmgucmF0ZSxuPWguc3ltYm9sLGk+PTE/bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjEwMCx0ZXh0QWxpZ246InJpZ2h0Iixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjExfSxjaGlsZHJlbjphKGUubWFya2V0X2NhcCpoLnJhdGUsaC5zeW1ib2wpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjkwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTF9LGNoaWxkcmVuOmEoZS52b2x1bWVfMjRoKmgucmF0ZSxoLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e3dpZHRoOjcwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo1MDAsY29sb3I6bD9TOnZ9LGNoaWxkcmVuOltsPyIrIjoiIixlLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSksbyYmKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjgwLHRleHRBbGlnbjoicmlnaHQiLHBhZGRpbmdMZWZ0OjEyfSxjaGlsZHJlbjooMCx0LmpzeCkocix7Y29pbjplLGNvbG9yOmw/Uzp2fSl9KV19LGUuaWQpfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7cGFkZGluZzoiNHB4IDEycHgiLGZvbnRTaXplOjEwLGNvbG9yOnUsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOigwLHQuanN4KSgiYSIse2hyZWY6Imh0dHBzOi8vY29pbmxpYi5pbyIsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2NvbG9yOnUsdGV4dERlY29yYXRpb246Im5vbmUifSxjaGlsZHJlbjoiUG93ZXJlZCBieSBDb2lubGliIn0pfSldfSl9ZnVuY3Rpb24gcih7Y29pbjplLGNvbG9yOml9KXtsZXQgbixzPWUuc3BhcmtsaW5lXzdkJiZlLnNwYXJrbGluZV83ZC5sZW5ndGg+PTI/ZS5zcGFya2xpbmVfN2Q6bnVsbDtpZihzKW49cztlbHNle2xldCB0PWUucHJpY2VfdXNkLGk9dC8oMStlLnBlcmNlbnRfY2hhbmdlXzI0aC8xMDApO249W107Zm9yKGxldCBlPTA7ZTw9NjtlKyspe2xldCBzPWUvNjtuLnB1c2goaSsodC1pKSpzKy4wMSp0Kk1hdGguc2luKHMqTWF0aC5QSSoyKSl9fWxldCBvPU1hdGgubWluKC4uLm4pLHI9TWF0aC5tYXgoLi4ubiktb3x8MSxhPTcwLyhuLmxlbmd0aC0xKSxsPW4ubWFwKChlLHQpPT5gJHsodCphKS50b0ZpeGVkKDIpfSwkeygyNi0oZS1vKS9yKjI0KS50b0ZpeGVkKDIpfWApLGM9YE0gJHtsLmpvaW4oIiBMICIpfWAsZD1gJHtjfSBMIDcwLjAwLDI4IEwgMCwyOCBaYCxoPWBzcGFyay1ncmFkLSR7ZS5pZH1gO3JldHVybigwLHQuanN4cykoInN2ZyIse3dpZHRoOjcwLGhlaWdodDoyOCx2aWV3Qm94OiIwIDAgNzAgMjgiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUiLGNoaWxkcmVuOlsoMCx0LmpzeCkoImRlZnMiLHtjaGlsZHJlbjooMCx0LmpzeHMpKCJsaW5lYXJHcmFkaWVudCIse2lkOmgseDE6IjAiLHkxOiIwIix4MjoiMCIseTI6IjEiLGNoaWxkcmVuOlsoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6aSxzdG9wT3BhY2l0eToiMC4yNSJ9KSwoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjppLHN0b3BPcGFjaXR5OiIwIn0pXX0pfSksKDAsdC5qc3gpKCJwYXRoIix7ZDpkLGZpbGw6YHVybCgjJHtofSlgLHN0cm9rZToibm9uZSJ9KSwoMCx0LmpzeCkoInBhdGgiLHtkOmMsZmlsbDoibm9uZSIsc3Ryb2tlOmksc3Ryb2tlV2lkdGg6MSxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0pfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGwoe3RoZW1lOmUsY29pbklkOmkscHJlZkNvaW5JZDpzfSl7bGV0W28scl09KDAsbi51c2VTdGF0ZSkobnVsbCksW2EsbF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZCxoXT0oMCxuLnVzZVN0YXRlKShbXSksW2YsbV09KDAsbi51c2VTdGF0ZSkoNyksW3AsZ109KDAsbi51c2VTdGF0ZSkoITApLHg9KDAsbi51c2VSZWYpKG51bGwpLFt5LHVdPSgwLG4udXNlU3RhdGUpKG51bGwpOygwLG4udXNlRWZmZWN0KSgoKT0+e2xldCBlPW5ldyBVUkxTZWFyY2hQYXJhbXM7aT9lLnNldCgibGVnYWN5X2lkIixpKTplLnNldCgic3ltYm9sIiwiQlRDIikscyYmZS5zZXQoInByZWZfY29pbl9pZCIscyksZmV0Y2goYC9hcGkvdjEvd2lkZ2V0PyR7ZX1gKS50aGVuKGU9PmUuanNvbigpKS50aGVuKGU9PntlLmRhdGE/KHUoZS5kYXRhLnNsdWc/PyJiaXRjb2luIikscihlLmRhdGEpKTp1KCJiaXRjb2luIiksZS5jdXJyZW5jeSYmbChlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT51KCJiaXRjb2luIikpfSxbaSxzXSksKDAsbi51c2VFZmZlY3QpKCgpPT57eSYmKGcoITApLChhc3luYygpPT57bGV0IGU9YXdhaXQgZmV0Y2goYC9hcGkvdjEvY29pbnMvJHt5fS9jaGFydD9kYXlzPSR7Zn1gKS50aGVuKGU9PmUuanNvbigpKS5jYXRjaCgoKT0+bnVsbCk7ZT8uZGF0YT8ucHJpY2VzJiZoKGUuZGF0YS5wcmljZXMpLGcoITEpfSkoKSl9LFt5LGZdKSwoMCxuLnVzZUVmZmVjdCkoKCk9PntpZigheC5jdXJyZW50fHxkLmxlbmd0aDwyKXJldHVybjtsZXQgdD14LmN1cnJlbnQsaT10LmdldENvbnRleHQoIjJkIik7aWYoIWkpcmV0dXJuO2xldCBuPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHM9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0LndpZHRoPXMud2lkdGgqbix0LmhlaWdodD1zLmhlaWdodCpuLGkuc2NhbGUobixuKTtsZXQgbz1zLndpZHRoLHI9cy5oZWlnaHQsbD0iZGFyayI9PT1lO2kuZmlsbFN0eWxlPWw/IiMxQjIwMzAiOiIjZmZmZmZmIixpLmZpbGxSZWN0KDAsMCxvLHIpO2xldCBoPW8tNjAtMTAsbT1yLTEwLTMwLHA9YS5yYXRlLGc9ZC5tYXAoZT0+ZVsxXSpwKSx5PU1hdGgubWluKC4uLmcpLHU9TWF0aC5tYXgoLi4uZyksYj11LXl8fDE7aS5zdHJva2VTdHlsZT1sPyIjMzc0MTUxIjoiI2U1ZTdlYiIsaS5saW5lV2lkdGg9LjU7Zm9yKGxldCBlPTA7ZTw9NDtlKyspe2xldCB0PTEwK20vNCplO2kuYmVnaW5QYXRoKCksaS5tb3ZlVG8oNjAsdCksaS5saW5lVG8oby0xMCx0KSxpLnN0cm9rZSgpO2xldCBuPXUtYi80KmU7aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkuZm9udD0iMTBweCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLGkudGV4dEFsaWduPSJyaWdodCIsaS5maWxsVGV4dChjKG4sYS5zeW1ib2wpLDU1LHQrMyl9bGV0IGo9ZFswXVswXSxTPWRbZC5sZW5ndGgtMV1bMF07aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkudGV4dEFsaWduPSJjZW50ZXIiO2ZvcihsZXQgZT0wO2U8PTQ7ZSsrKXtsZXQgdD1qKyhTLWopLzQqZSxuPTYwK2gvNCplLHM9bmV3IERhdGUodCk7aS5maWxsVGV4dChmPD0xP3MudG9Mb2NhbGVUaW1lU3RyaW5nKCJlbiIse2hvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCJ9KTpzLnRvTG9jYWxlRGF0ZVN0cmluZygiZW4iLHttb250aDoic2hvcnQiLGRheToibnVtZXJpYyJ9KSxuLHItOCl9bGV0IHY9Z1tnLmxlbmd0aC0xXT49Z1swXTtpLnN0cm9rZVN0eWxlPXY/IiMyMmM1NWUiOiIjZWY0NDQ0IixpLmxpbmVXaWR0aD0yLGkuYmVnaW5QYXRoKCksZC5mb3JFYWNoKChbZV0sdCk9PntsZXQgbj02MCsoZS1qKS8oUy1qKSpoLHM9MTArKDEtKGdbdF0teSkvYikqbTswPT09dD9pLm1vdmVUbyhuLHMpOmkubGluZVRvKG4scyl9KSxpLnN0cm9rZSgpO2xldCBfPWkuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwxMCwwLDEwK20pO18uYWRkQ29sb3JTdG9wKDAsdj8icmdiYSgzNCwxOTcsOTQsMC4xNSkiOiJyZ2JhKDIzOSw2OCw2OCwwLjE1KSIpLF8uYWRkQ29sb3JTdG9wKDEsdj8icmdiYSgzNCwxOTcsOTQsMCkiOiJyZ2JhKDIzOSw2OCw2OCwwKSIpLGkuZmlsbFN0eWxlPV8saS5saW5lVG8oNjAraCwxMCttKSxpLmxpbmVUbyg2MCwxMCttKSxpLmNsb3NlUGF0aCgpLGkuZmlsbCgpfSxbZCxlLGFdKTtsZXQgYj0iZGFyayI9PT1lLGo9Yj8iI2U1ZTdlYiI6IiMxZjI5MzciLFM9Yj8iIzljYTNhZiI6IiM2YjcyODAiLHY9Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiO3JldHVybigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOmI/IiMxQjIwMzAiOiIjZmZmZmZmIixjb2xvcjpqLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsaGVpZ2h0OiIxMDAlIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbbyYmKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMTBweCAxMnB4Iixib3JkZXJCb3R0b206YDFweCBzb2xpZCAke3Z9YCxnYXA6OH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOm8uaW1hZ2UsYWx0Om8ubmFtZSx3aWR0aDoyNCxoZWlnaHQ6MjQsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTV9LGNoaWxkcmVuOm8ubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjpTLGZvbnRTaXplOjEyfSxjaGlsZHJlbjpvLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnttYXJnaW5MZWZ0OiJhdXRvIixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NjAwLGZvbnRTaXplOjE2fSxjaGlsZHJlbjpjKG8ucHJpY2VfdXNkKmEucmF0ZSxhLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTMsZm9udFdlaWdodDo1MDAsY29sb3I6by5wZXJjZW50X2NoYW5nZV8yNGg+PTA/IiMyMmM1NWUiOiIjZWY0NDQ0In0sY2hpbGRyZW46W28ucGVyY2VudF9jaGFuZ2VfMjRoPj0wPyIrIjoiIixvLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSldfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjQscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjpbMSw3LDMwLDkwLDM2NV0ubWFwKGU9PigwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazooKT0+bShlKSxzdHlsZTp7cGFkZGluZzoiMnB4IDhweCIsZm9udFNpemU6MTEsZm9udFdlaWdodDpmPT09ZT82MDA6NDAwLGJhY2tncm91bmQ6Zj09PWU/Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiOiJ0cmFuc3BhcmVudCIsY29sb3I6Zj09PWU/ajpTLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjQsY3Vyc29yOiJwb2ludGVyIn0sY2hpbGRyZW46MT09PWU/IjI0SCI6Nz09PWU/IjdEIjozMD09PWU/IjFNIjo5MD09PWU/IjNNIjoiMVkifSxlKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmbGV4OjEscGFkZGluZzoiOHB4IDAiLG1pbkhlaWdodDowfSxjaGlsZHJlbjpwPygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsaGVpZ2h0OiIxMDAlIixjb2xvcjpTLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZyBjaGFydC4uLiJ9KTooMCx0LmpzeCkoImNhbnZhcyIse3JlZjp4LHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19KX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6IjRweCAxMnB4Iixmb250U2l6ZToxMCxjb2xvcjpTLHRleHRBbGlnbjoicmlnaHQiLGJvcmRlclRvcDpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjooMCx0LmpzeCkoImEiLHtocmVmOiJodHRwczovL2NvaW5saWIuaW8iLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLHN0eWxlOntjb2xvcjpTLHRleHREZWNvcmF0aW9uOiJub25lIn0sY2hpbGRyZW46IlBvd2VyZWQgYnkgQ29pbmxpYiJ9KX0pXX0pfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gZT49MT90K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTp0K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KX1mdW5jdGlvbiBkKHt0aGVtZTplLGNvaW5JZDppLHByZWZDb2luSWQ6c30pe3ZhciBvLHI7bGV0W2EsbF09KDAsbi51c2VTdGF0ZSkobnVsbCksW2MsZF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZixtXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcztpP2Uuc2V0KCJsZWdhY3lfaWQiLGkpOmUuc2V0KCJzeW1ib2wiLCJCVEMiKSxzJiZlLnNldCgicHJlZl9jb2luX2lkIixzKSxmZXRjaChgL2FwaS92MS93aWRnZXQ/JHtlfWApLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmbChlLmRhdGEpLGUuY3VycmVuY3kmJmQoZS5jdXJyZW5jeSl9KS5jYXRjaCgoKT0+e30pLmZpbmFsbHkoKCk9Pm0oITEpKX0sW2ksc10pO2xldCBwPSJkYXJrIj09PWUsZz1wPyIjMUIyMDMwIjoiI2ZmZmZmZiIseD1wPyIjZTVlN2ViIjoiIzFmMjkzNyIseT1wPyIjOWNhM2FmIjoiIzZiNzI4MCIsdT0iIzIyYzU1ZSIsYj0iI2VmNDQ0NCI7aWYoZnx8IWEpcmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngscGFkZGluZzoxNixmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgaj1hLnBlcmNlbnRfY2hhbmdlXzI0aD49MDtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94In0sY2hpbGRyZW46WygwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LG1hcmdpbkJvdHRvbTo4fSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJpbWciLHtzcmM6YS5pbWFnZSxhbHQ6YS5uYW1lLHdpZHRoOjI4LGhlaWdodDoyOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUifX0pLCgwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmb250V2VpZ2h0OjYwMCxmb250U2l6ZToxNCxsaW5lSGVpZ2h0OjEuMn0sY2hpbGRyZW46YS5uYW1lfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2NvbG9yOnksZm9udFNpemU6MTB9LGNoaWxkcmVuOlthLnN5bWJvbCwiIMK3IFJhbmsgIyIsYS5yYW5rXX0pXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOnttYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46WygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo3MDAsZm9udFNpemU6MjAsbGluZUhlaWdodDoxLjJ9LGNoaWxkcmVuOihvPWEucHJpY2VfdXNkKmMucmF0ZSxyPWMuc3ltYm9sLG8+PTE/citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOmo/dTpifSxjaGlsZHJlbjpbaj8iKyI6IiIsYS5wZXJjZW50X2NoYW5nZV8yNGg/LnRvRml4ZWQoMiksIiUiXX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5LGZvbnRTaXplOjEwLG1hcmdpbkxlZnQ6M30sY2hpbGRyZW46IjI0aCJ9KV19KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7Ym9yZGVyVG9wOmAxcHggc29saWQgJHtwPyIjMzc0MTUxIjoiI2U1ZTdlYiJ9YCxwYWRkaW5nVG9wOjYsZm9udFNpemU6MTF9LGNoaWxkcmVuOlsoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2NvbG9yOnl9LGNoaWxkcmVuOiJNYXJrZXQgQ2FwIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UifSxjaGlsZHJlbjpoKGEubWFya2V0X2NhcCpjLnJhdGUsYy5zeW1ib2wpfSldfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46WygwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5fSxjaGlsZHJlbjoiVm9sdW1lIDI0aCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udEZhbWlseToibW9ub3NwYWNlIn0sY2hpbGRyZW46aChhLnZvbHVtZV8yNGgqYy5yYXRlLGMuc3ltYm9sKX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsbWFyZ2luQm90dG9tOjN9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSAxaCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfMWg/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzFoPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfMWg/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiJ9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSA3ZCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzdkPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pXX0pXX0pfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGYoe3RoZW1lOmV9KXtsZXRbaSxzXT0oMCxuLnVzZVN0YXRlKShbXSksW28scl09KDAsbi51c2VTdGF0ZSkoIkJUQyIpLFthLGxdPSgwLG4udXNlU3RhdGUpKCJVU0QiKSxbYyxkXT0oMCxuLnVzZVN0YXRlKSgiMSIpLFtoLGZdPSgwLG4udXNlU3RhdGUpKCIiKSxbcCxnXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57ZmV0Y2goIi9hcGkvdjEvd2lkZ2V0P3RvcD01MCIpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmcyhlLmRhdGEpfSkuY2F0Y2goKCk9Pnt9KS5maW5hbGx5KCgpPT5nKCExKSl9LFtdKTtsZXQgeD0oMCxuLnVzZUNhbGxiYWNrKSgoKT0+e2xldCBlPXBhcnNlRmxvYXQoYyl8fDA7aWYoIlVTRCI9PT1hKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1vKTt0JiZmKG0oZSp0LnByaWNlX3VzZCkpfWVsc2UgaWYoIlVTRCI9PT1vKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZ0LnByaWNlX3VzZD4wJiZmKG0oZS90LnByaWNlX3VzZCkpfWVsc2V7bGV0IHQ9aS5maW5kKGU9PmUuc3ltYm9sPT09byksbj1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZuJiZuLnByaWNlX3VzZD4wJiZmKG0oZSp0LnByaWNlX3VzZC9uLnByaWNlX3VzZCkpfX0sW2MsbyxhLGldKTsoMCxuLnVzZUVmZmVjdCkoKCk9PntpLmxlbmd0aD4wJiZ4KCl9LFtpLHhdKTtsZXQgeT0iZGFyayI9PT1lLHU9eT8iIzFCMjAzMCI6IiNmZmZmZmYiLGI9eT8iI2U1ZTdlYiI6IiMxZjI5MzciLGo9eT8iIzljYTNhZiI6IiM2YjcyODAiLFM9eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHY9eT8iIzExMTgyNyI6IiNmOWZhZmIiLF89eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHc9e3dpZHRoOiIxMDAlIixwYWRkaW5nOiI2cHggOHB4Iixmb250U2l6ZToxMixiYWNrZ3JvdW5kOnYsY29sb3I6Yixib3JkZXI6YDFweCBzb2xpZCAke1N9YCxib3JkZXJSYWRpdXM6NSxvdXRsaW5lOiJub25lIixhcHBlYXJhbmNlOiJhdXRvIn0saz17d2lkdGg6IjEwMCUiLHBhZGRpbmc6IjZweCA4cHgiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsYmFja2dyb3VuZDp2LGNvbG9yOmIsYm9yZGVyOmAxcHggc29saWQgJHtTfWAsYm9yZGVyUmFkaXVzOjUsb3V0bGluZToibm9uZSIsYm94U2l6aW5nOiJib3JkZXItYm94In07aWYocClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOnUsY29sb3I6YixwYWRkaW5nOjE2LGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pO2xldCBGPVt7c3ltYm9sOiJVU0QiLG5hbWU6IlVTIERvbGxhciJ9LC4uLmkubWFwKGU9Pih7c3ltYm9sOmUuc3ltYm9sLG5hbWU6ZS5uYW1lfSkpXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp1LGNvbG9yOmIsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94IixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTMsbWFyZ2luQm90dG9tOjEwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46IkNyeXB0b2N1cnJlbmN5IENvbnZlcnRlciJ9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjh9LGNoaWxkcmVuOlsoMCx0LmpzeCkoImxhYmVsIix7c3R5bGU6e2Rpc3BsYXk6ImJsb2NrIixmb250U2l6ZToxMCxjb2xvcjpqLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjoiRnJvbSJ9KSwoMCx0LmpzeCkoInNlbGVjdCIse3ZhbHVlOm8sb25DaGFuZ2U6ZT0+cihlLnRhcmdldC52YWx1ZSksc3R5bGU6dyxjaGlsZHJlbjpGLm1hcChlPT4oMCx0LmpzeHMpKCJvcHRpb24iLHt2YWx1ZTplLnN5bWJvbCxjaGlsZHJlbjpbZS5zeW1ib2wsIiAtICIsZS5uYW1lXX0sYGZyb20tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImlucHV0Iix7dHlwZToibnVtYmVyIix2YWx1ZTpjLG9uQ2hhbmdlOmU9PmQoZS50YXJnZXQudmFsdWUpLHN0eWxlOnsuLi5rLG1hcmdpblRvcDo0fSxwbGFjZWhvbGRlcjoiQW1vdW50In0pXX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3RleHRBbGlnbjoiY2VudGVyIixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46KDAsdC5qc3gpKCJidXR0b24iLHtvbkNsaWNrOigpPT57cihhKSxsKG8pfSxzdHlsZTp7YmFja2dyb3VuZDpfLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOiI1MCUiLHdpZHRoOjI4LGhlaWdodDoyOCxmb250U2l6ZToxNCxjdXJzb3I6InBvaW50ZXIiLGNvbG9yOmIsbGluZUhlaWdodDoiMjhweCJ9LGNoaWxkcmVuOiLih4UifSl9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjEwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJsYWJlbCIse3N0eWxlOntkaXNwbGF5OiJibG9jayIsZm9udFNpemU6MTAsY29sb3I6aixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46IlRvIn0pLCgwLHQuanN4KSgic2VsZWN0Iix7dmFsdWU6YSxvbkNoYW5nZTplPT5sKGUudGFyZ2V0LnZhbHVlKSxzdHlsZTp3LGNoaWxkcmVuOkYubWFwKGU9PigwLHQuanN4cykoIm9wdGlvbiIse3ZhbHVlOmUuc3ltYm9sLGNoaWxkcmVuOltlLnN5bWJvbCwiIC0gIixlLm5hbWVdfSxgdG8tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOnsuLi5rLG1hcmdpblRvcDo0LG1pbkhlaWdodDoxNixiYWNrZ3JvdW5kOl99LGNoaWxkcmVuOmh8fCIwLjAwIn0pXX0pLCgwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazp4LHN0eWxlOnt3aWR0aDoiMTAwJSIscGFkZGluZzoiOHB4Iixmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxiYWNrZ3JvdW5kOiIjM2I4MmY2Iixjb2xvcjoiI2ZmZiIsYm9yZGVyOiJub25lIixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIifSxjaGlsZHJlbjoiQ29udmVydCJ9KV19KX1mdW5jdGlvbiBtKGUpe3JldHVybiBlPj0xP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTplPj0uMDAxP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KTplLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo4fSl9ZnVuY3Rpb24gcCh7dGhlbWU6ZSxwcmVmQ29pbklkOmksaW52ZXJ0SG92ZXI6b30pe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKFtdKSxbbCxjXT0oMCxuLnVzZVN0YXRlKSh7Y29kZToiVVNEIixzeW1ib2w6IiQiLHJhdGU6MX0pLFtkLGhdPSgwLG4udXNlU3RhdGUpKCEwKSxmPSgwLG4udXNlUmVmKShudWxsKSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMSk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOiI1MCIsc3BhcmtsaW5lOiIwIn0pO2kmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGkpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZhKGUuZGF0YSksZS5jdXJyZW5jeSYmYyhlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+aCghMSkpfSxbaV0pO2xldCBnPSJkYXJrIj09PWUseD1nPyIjMUIyMDMwIjoiI2ZmZmZmZiIseT1nPyIjZTVlN2ViIjoiIzFmMjkzNyI7aWYoZClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxoZWlnaHQ6IjEwMCUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMCAxMnB4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJzeXN0ZW0tdWksIHNhbnMtc2VyaWYifSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgdT1bLi4uciwuLi5yXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp4LGNvbG9yOnksZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixoZWlnaHQ6IjEwMHZoIixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciJ9LG9uTW91c2VFbnRlcjooKT0+cCghMCksb25Nb3VzZUxlYXZlOigpPT5wKCExKSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtyZWY6ZixzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MjQsd2hpdGVTcGFjZToibm93cmFwIixoZWlnaHQ6IjEwMCUiLHBhZGRpbmdMZWZ0OjEyLGFuaW1hdGlvbjooInllcyI9PT1vP206IW0pPyJ3aWRnZXQtbWFycXVlZSAxMjBzIGxpbmVhciBpbmZpbml0ZSI6Im5vbmUifSxjaGlsZHJlbjp1Lm1hcCgoZSxpKT0+e3ZhciBuLG87bGV0IHI9ZS5wZXJjZW50X2NoYW5nZV8yNGg+PTA7cmV0dXJuKDAsdC5qc3hzKSgiYSIse2hyZWY6YGh0dHBzOi8vY29pbmxpYi5pbyR7KDAscy5jb2luVXJsKShlLnN5bWJvbCxlLm5hbWUpfWAsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo1LGZvbnRTaXplOjEzLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LGZsZXhTaHJpbms6MH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOmUuaW1hZ2UsYWx0OmUubmFtZSx3aWR0aDoxNixoZWlnaHQ6MTYsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo1MDB9LGNoaWxkcmVuOmUuc3ltYm9sfSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihuPWUucHJpY2VfdXNkKmwucmF0ZSxvPWwuc3ltYm9sLG4+PTE/bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOnI/IiMyMmM1NWUiOiIjZWY0NDQ0Iixmb250U2l6ZToxMn0sY2hpbGRyZW46W3I/IisiOiIiLGUucGVyY2VudF9jaGFuZ2VfMjRoPy50b0ZpeGVkKDIpLCIlIl19KV19LGAke2Uuc3ltYm9sfS0ke2l9YCl9KX0pLCgwLHQuanN4KSgic3R5bGUiLHtjaGlsZHJlbjpgCiAgICAgICAgQGtleWZyYW1lcyB3aWRnZXQtbWFycXVlZSB7CiAgICAgICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfQogICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfQogICAgICAgIH0KICAgICAgYH0pXX0pfWZ1bmN0aW9uIGcoe3R5cGU6ZSxwYXJhbXM6aX0pe2xldCBuLHM9aS50aGVtZT8/ImRhcmsiLHI9ImRhcmsiPT09cz8iIzFCMjAzMCI6IiNmZmZmZmYiO3N3aXRjaChlKXtjYXNlImZ1bGxfdjIiOm49KDAsdC5qc3gpKG8se3RoZW1lOnMsY250OnBhcnNlSW50KGkuY250Pz8iNiIsMTApLGdyYXBoOiJubyIhPT1pLmdyYXBoLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWR9KTticmVhaztjYXNlImNoYXJ0IjpuPSgwLHQuanN4KShsLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2Uic2luZ2xlX3YyIjpuPSgwLHQuanN4KShkLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2UiY29udmVydGVyIjpuPSgwLHQuanN4KShmLHt0aGVtZTpzfSk7YnJlYWs7Y2FzZSJob3Jpem9udGFsX3YyIjpuPSgwLHQuanN4KShwLHt0aGVtZTpzLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWQsaW52ZXJ0SG92ZXI6aS5pbnZlcnRfaG92ZXJ9KTticmVhaztkZWZhdWx0Om49KDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6MTYsZm9udFNpemU6MTMsZm9udEZhbWlseToic3lzdGVtLXVpLCBzYW5zLXNlcmlmIn0sY2hpbGRyZW46WyJVbmtub3duIHdpZGdldCB0eXBlOiAiLGVdfSl9cmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpyLG1pbkhlaWdodDoiMTAwdmgifSxjaGlsZHJlbjpufSl9ZnVuY3Rpb24geCh7dHlwZTplfSl7bGV0IG49KDAsaS51c2VTZWFyY2hQYXJhbXMpKCkscz17fTtuLmZvckVhY2goKGUsdCk9PntzW3RdPWV9KTtsZXQgbz1lPz9zLnR5cGU/PyJmdWxsX3YyIjtyZXR1cm4oMCx0LmpzeCkoZyx7dHlwZTpvLHBhcmFtczpzfSl9ZS5zKFsiV2lkZ2V0Q2xpZW50IiwoKT0+eF0sNzkyOTQpfV0pOw=="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/img/logo.png","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.652Z","timestamp":1785124599652,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /img/logo.png HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: image/png\r\nlast-modified: Tue, 18 Oct 2022 09:35:08 GMT\r\netag: \"b46c-634e734c-94d81a358f155c1a;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 46188\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":46188,"size_decoded":46515,"mime_type":"image/png","magic":"PNG image data, 230 x 50, 8-bit/color RGBA, non-interlaced","md5":"3fb8d914c364bdd07f4d784158b0332f","sha1":"7e9d99d3af2e9435ee05a168ce905b279e305efd","sha256":"0377a007b66f912551400b753beeb589a3664e0f4455e2f211310d2c5b49ade7","sha512":"3a42e15b8c0d5ae239fd3cf44be11b271579bd4f3117e7ff923ea7f5ef03658ad8cc001074537c6cafc43811fcb750100e6cae8d8a9b33d759bde1a5ba494473","ssdeep":"768:SfrdHeS7iXWr38zBe5X75IlMTL3fh6aHSwXhGn+a3Y34VEp9ldLLl:Rt2X4g1","tlshash":"40239317f71ed936f917a2731b0de78c3e90cc8702866dc76491ed5aaa0fdc2d8119a2","first_seen":"2026-07-27T03:16:24.585475Z","last_seen":"2026-07-27T03:58:10.333776Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAOYAAAAyCAYAAABIxaeCAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAALPySURBVHgBAOKzHUwB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAACEVDMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA5wAAAK8AAACvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADUAAABRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdE0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPJ9erMdkp7wAAABEAAAAAAAAAAAAAAJkAAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAAAAAAAAAAAAAAAAAKsAAAAAAAAAAAAAAAAAAABmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZgAAAIkAAAAAAAAA3gAAAAAAAAAAAAAAAAAAAHcAAACrAAAA3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiQAAAAAAAAAAAAAAAAAAAEQAAADMAAAAZgAAAAAAAAAAAAAAAAAAAHcAAADMAAAAAAAAAAAAAAAAAAAA3gAAAKsAAAAAAAAAAAAAAAAAAABVAAAAAAAAAAAAAAAAAAAAVgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAB4AAAAAAAAAAAAAAAAAAAAVQAAAAAAAAAAAAAAqwAAAO8AAAAAAAAAAAAAABEAAAC7AAAAdwAAAAAAAAAAAAAAAAAAABEAAAB3AAAAqgAAAAAAAAAAAAAAAAAAAM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzyfXiQAAAM0AAAAAAAAAAAAAAAAAAAAzAAAAmQAAAP8AAAD/AAAA/wAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAiQAAAAAAAAAAAAAAAAAAADMAAAAzAAAAAAAAAAAAAADvAAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAAAAAAAAAAAAMwAAADMAAAAAAAAAAAAAAIkAAAAAAAAAAAAAAAAAAAAiAAAAiAAAAP8AAAD/AAAA/wAAAO4AAACIAAAAAAAAAAAAAAAAAAAAAAAAALwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFYAAADeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACaAAAAmgAAAAAAAAAAAAAAAAAAAFUAAAAAAAAAAAAAAAAAAAC8AAAA7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADeAAAAvAAAAAAAAAAAAAAAAAAAAFUAAAAAAAAAAAAAAIkAAADNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiQAAALwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN4AAAA0AAAAqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAABnAAAAAAAAAAAAAAAAAAAAAAAAAGYAAAAAAAAAAAAAAAAAAACrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqwAAAAAAAAAAAAAAAAAAAGYAAAAAAAAAAAAAAAAAAAA0AAAAqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvAAAAVgAAADQAAAB4AAAA7wAAAAAAAAAAAAAAAAAAAN4AAAB4AAAAIwAAAIkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAABEAAAAAAAAAAAAAAO8AAACrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqwAAAAAAAAAAAAAAAAAAABEAAABVAAAAAAAAAAAAAAAAAAAAVgAAADQAAAB4AAAA7wAAAAAAAAAAAAAAAAAAAAAAAAC8AAAAeAAAACMAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD//9QRxnQIabXAAAAAAElFTkSuQmCC"}},"time_used":189,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":145,"receive":44,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.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/81809.146bc8abb60920a25d2f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.245Z","timestamp":1785124600245,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81809.146bc8abb60920a25d2f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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-3655\"\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:05:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a6c13ca4f8c11f3da06aace6221ccd92\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13909,"size_decoded":3226,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (13909), with no line terminators","md5":"39f4345254ab6de1caff1143860495aa","sha1":"0eb72a69ce368974de136a49f4523a998f1ed695","sha256":"4c41271119eb699b24addac1d79a15df4f49fcc4c8cc29fddbe617efc088f987","sha512":"cb1eef480386dd5c8182cbf0aced6c37b6f9982e2083ae70bbb6f3d20dd108d153dc99d7921645f062eb24650e458be08ae130f684dfea610aee8feb6f2a7773","ssdeep":"192:1hjWhoQCBp67QX+XqVZKC4erpwU5H/NwsE+82yfzJh+SvpINI3I3IqIC:Sc/R","tlshash":"b352ec44eb3271ab741bb03d7399d4cba6596792d8074fbcb2b25102dbca2d36fa0d04","first_seen":"2026-07-17T06:00:43.352688Z","last_seen":"2026-07-28T04:59:54.485166Z","times_seen":297,"resource_available":false,"data":"LmNvbnRhaW5lci1GQVBXMlVOaHtjdXJzb3I6dmFyKC0tY3Jvc3MtdGFibGUtY3Vyc29yLWNlbGwscG9pbnRlcik7bWluLXdpZHRoOnZhcigtLWNyb3NzLXRhYmxlLW1pbi13aWR0aC1jZWxsLGF1dG8pO3BhZGRpbmc6dmFyKC0tY3Jvc3MtdGFibGUtcGFkZGluZy10ZC1jZWxsLDApO3dpZHRoOnZhcigtLWNyb3NzLXRhYmxlLXdpZHRoLWNlbGwsYXV0byl9LmNvbnRhaW5lci1GQVBXMlVOaDpkaXIocnRsKXtkaXJlY3Rpb246bHRyfS5jb250ZW50LUZBUFcyVU5oe2FsaWduLWl0ZW1zOmNlbnRlcjtib3R0b206MDtkaXNwbGF5OmZsZXg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246dmFyKC0tY3Jvc3MtdGFibGUtcG9zaXRpb24tY2VsbC1jb250ZW50LGFic29sdXRlKTt0b3A6MH0uY29udGVudC1GQVBXMlVOaDpkaXIocnRsKXtkaXJlY3Rpb246bHRyfS50di1jcm9zcy10YWJsZS0tcG9zaXRpdmUteGx7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1iZy1jb2xvci1jZWxsLXBvc2l0aXZlLXhsLHZhcigtLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY3Jvc3MtdGFibGUtLXBvc2l0aXZlLXhsOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtYmctY29sb3ItY2VsbC1wb3NpdGl2ZS14bCwjMDAwMCl9fWh0bWwudGhlbWUtbGlnaHQgLnR2LWNyb3NzLXRhYmxlLS1wb3NpdGl2ZS14bHtjb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1tYXgtdmFsdWUtY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe2h0bWwudGhlbWUtbGlnaHQgLnR2LWNyb3NzLXRhYmxlLS1wb3NpdGl2ZS14bDpob3Zlcntjb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1tYXgtdmFsdWUtY29sb3ItaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5KSl9fS50di1jcm9zcy10YWJsZS0tcG9zaXRpdmUtbHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWJnLWNvbG9yLWNlbGwtcG9zaXRpdmUtbCx2YXIoLS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY3Jvc3MtdGFibGUtLXBvc2l0aXZlLWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1iZy1jb2xvci1jZWxsLXBvc2l0aXZlLWwsIzAwMDApfX0udHYtY3Jvc3MtdGFibGUtLXBvc2l0aXZlLW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1iZy1jb2xvci1jZWxsLXBvc2l0aXZlLW0sdmFyKC0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW0pKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNyb3NzLXRhYmxlLS1wb3NpdGl2ZS1tOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtYmctY29sb3ItY2VsbC1wb3NpdGl2ZS1tLCMwMDAwKX19LnR2LWNyb3NzLXRhYmxlLS1wb3NpdGl2ZS1ze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtYmctY29sb3ItY2VsbC1wb3NpdGl2ZS1zLHZhcigtLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jcm9zcy10YWJsZS0tcG9zaXRpdmUtczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWJnLWNvbG9yLWNlbGwtcG9zaXRpdmUtcywjMDAwMCl9fS50di1jcm9zcy10YWJsZS0tbmV1dHJhbHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWJnLWNvbG9yLWNlbGwtbmV1dHJhbCx2YXIoLS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY3Jvc3MtdGFibGUtLW5ldXRyYWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1iZy1jb2xvci1jZWxsLW5ldXRyYWwsIzAwMDApfX0udHYtY3Jvc3MtdGFibGUtLW5lZ2F0aXZlLXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1iZy1jb2xvci1jZWxsLW5lZ2F0aXZlLXMsdmFyKC0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXMpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNyb3NzLXRhYmxlLS1uZWdhdGl2ZS1zOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtYmctY29sb3ItY2VsbC1uZWdhdGl2ZS1zLCMwMDAwKX19LnR2LWNyb3NzLXRhYmxlLS1uZWdhdGl2ZS1te2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtYmctY29sb3ItY2VsbC1uZWdhdGl2ZS1tLHZhcigtLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1tKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jcm9zcy10YWJsZS0tbmVnYXRpdmUtbTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWJnLWNvbG9yLWNlbGwtbmVnYXRpdmUtbSwjMDAwMCl9fS50di1jcm9zcy10YWJsZS0tbmVnYXRpdmUtbHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWJnLWNvbG9yLWNlbGwtbmVnYXRpdmUtbCx2YXIoLS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY3Jvc3MtdGFibGUtLW5lZ2F0aXZlLWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1iZy1jb2xvci1jZWxsLW5lZ2F0aXZlLWwsIzAwMDApfX0udHYtY3Jvc3MtdGFibGUtLW5lZ2F0aXZlLXhse2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtYmctY29sb3ItY2VsbC1uZWdhdGl2ZS14bCx2YXIoLS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGwpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNyb3NzLXRhYmxlLS1uZWdhdGl2ZS14bDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWJnLWNvbG9yLWNlbGwtbmVnYXRpdmUteGwsIzAwMDApfX1odG1sLnRoZW1lLWxpZ2h0IC50di1jcm9zcy10YWJsZS0tbmVnYXRpdmUteGx7Y29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtbWF4LXZhbHVlLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktaW52ZXJzZSkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtodG1sLnRoZW1lLWxpZ2h0IC50di1jcm9zcy10YWJsZS0tbmVnYXRpdmUteGw6aG92ZXJ7Y29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtbWF4LXZhbHVlLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1oZWF2eSkpfX0udHYtY3Jvc3MtdGFibGUtLWVtcHR5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNyb3NzLXRhYmxlLS1lbXB0eTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9fS50YWJsZURhdGFDZWxsLXFlYzhRNDRLe2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowfS50YWJsZURhdGFDZWxsQ29udGVudC1xZWM4UTQ0S3thbGlnbi1pdGVtczpjZW50ZXI7Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5ncm93aW5nLXFlYzhRNDRLe2JhY2tncm91bmQtY29sb3I6cmdiKGZyb20gdmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCkgciBnIGIvLjE0KX1odG1sLnRoZW1lLWRhcmsgLmdyb3dpbmctcWVjOFE0NEt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoZnJvbSB2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKSByIGcgYi8uMzQpfS5mYWxsaW5nLXFlYzhRNDRLe2JhY2tncm91bmQtY29sb3I6cmdiKGZyb20gdmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKSByIGcgYi8uMSl9aHRtbC50aGVtZS1kYXJrIC5mYWxsaW5nLXFlYzhRNDRLe2JhY2tncm91bmQtY29sb3I6cmdiKGZyb20gdmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKSByIGcgYi8uNTIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZmFsbGluZy1xZWM4UTQ0Szpob3ZlciwuZ3Jvd2luZy1xZWM4UTQ0Szpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYihmcm9tIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSByIGcgYi8uMTQpfWh0bWwudGhlbWUtZGFyayAuZmFsbGluZy1xZWM4UTQ0Szpob3ZlcixodG1sLnRoZW1lLWRhcmsgLmdyb3dpbmctcWVjOFE0NEs6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoZnJvbSB2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgciBnIGIvLjM0KX19QHN1cHBvcnRzIG5vdCAoYmFja2dyb3VuZDpyZ2IoZnJvbSAjMDAwIHIgZyBiKSl7Lmdyb3dpbmctcWVjOFE0NEt7YmFja2dyb3VuZC1jb2xvcjojMDg5OTUwMjR9aHRtbC50aGVtZS1kYXJrIC5ncm93aW5nLXFlYzhRNDRLe2JhY2tncm91bmQtY29sb3I6IzA4OTk1MDU3fS5mYWxsaW5nLXFlYzhRNDRLe2JhY2tncm91bmQtY29sb3I6I2YyMzY0NTFhfWh0bWwudGhlbWUtZGFyayAuZmFsbGluZy1xZWM4UTQ0S3tiYWNrZ3JvdW5kLWNvbG9yOiNmMjM2NDU4NX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZhbGxpbmctcWVjOFE0NEs6aG92ZXIsLmdyb3dpbmctcWVjOFE0NEs6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjk2MmZmMjR9aHRtbC50aGVtZS1kYXJrIC5mYWxsaW5nLXFlYzhRNDRLOmhvdmVyLGh0bWwudGhlbWUtZGFyayAuZ3Jvd2luZy1xZWM4UTQ0Szpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyOTYyZmY1N319fS5ub0RhdGEtcWVjOFE0NEt7Y3Vyc29yOmRlZmF1bHR9LmN1cnJlbmN5QmxvY2stZFNzY2Y1cHp7YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6NnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwJX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1PeDRFOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1PeDRFOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApfS5jb250YWluZXItZ1R4M1JaUG57LS1jcm9zcy10YWJsZS1jb2xvci1kaXZpZGVyOnZhcigtLWNvbG9yLWRpdmlkZXIpOy0tY3Jvc3MtdGFibGUtYm9yZGVyLXRhYmxlOnZhcigtLWNvbG9yLWJvcmRlci10YWJsZSk7Ym9yZGVyLWJvdHRvbTp2YXIoLS1jcm9zcy10YWJsZS1ib3JkZXItaGVpZ2h0LDFweCkgc29saWQgdmFyKC0tY3Jvc3MtdGFibGUtY29sb3ItZGl2aWRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1jcm9zcy10YWJsZS1ib3JkZXItcmFkaXVzLG5vbmUpO2JvcmRlci10b3A6dmFyKC0tY3Jvc3MtdGFibGUtYm9yZGVyLWhlaWdodCwxcHgpIHNvbGlkIHZhcigtLWNyb3NzLXRhYmxlLWNvbG9yLWRpdmlkZXIpO2hlaWdodDoxMDAlO292ZXJmbG93OnZhcigtLWNyb3NzLXRhYmxlLW92ZXJmbG93LWNvbnRhaW5lcixhdXRvKTt3aWR0aDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuY29udGFpbmVyLWdUeDNSWlBue2JvcmRlci1pbmxpbmUtZW5kOnZhcigtLWNyb3NzLXRhYmxlLWJvcmRlci1oZWlnaHQsMXB4KSBzb2xpZCB2YXIoLS1jcm9zcy10YWJsZS1jb2xvci1kaXZpZGVyKTtib3JkZXItaW5saW5lLXN0YXJ0OnZhcigtLWNyb3NzLXRhYmxlLWJvcmRlci1oZWlnaHQsMXB4KSBzb2xpZCB2YXIoLS1jcm9zcy10YWJsZS1jb2xvci1kaXZpZGVyKX19QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LmNvbnRhaW5lci1nVHgzUlpQbntzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5jb250YWluZXItZ1R4M1JaUG46Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS5jb250YWluZXItZ1R4M1JaUG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRhaW5lci1nVHgzUlpQbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5jb250YWluZXItZ1R4M1JaUG46Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9LmNvbnRhaW5lci1nVHgzUlpQbi53aWRnZXQtZ1R4M1JaUG57LS1jcm9zcy10YWJsZS1lbXB0eS1jZWxsOnJnYihmcm9tIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSByIGcgYi8wLjA1KTstLWNyb3NzLXRhYmxlLWhvdmVyLWNvbG9yLWNlbGw6cmdiKGZyb20gdmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIHIgZyBiLzAuMTQpOy0tY3Jvc3MtdGFibGUtY29sb3ItZGl2aWRlcjpyZ2IoZnJvbSB2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKSByIGcgYi8wLjEpOy0tY3Jvc3MtdGFibGUtY29sb3ItZGl2aWRlci1oYWxmOnJnYihmcm9tIHZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApIHIgZyBiLzAuMDUpOy0tY3Jvc3MtdGFibGUtYm9yZGVyLXRhYmxlOnZhcigtLWNyb3NzLXRhYmxlLWNvbG9yLWRpdmlkZXIpfWh0bWwudGhlbWUtZGFyayAuY29udGFpbmVyLWdUeDNSWlBuLndpZGdldC1nVHgzUlpQbnstLWNyb3NzLXRhYmxlLWVtcHR5LWNlbGw6cmdiKGZyb20gdmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCkgciBnIGIvMC4yOCk7LS1jcm9zcy10YWJsZS1ob3Zlci1jb2xvci1jZWxsOnJnYihmcm9tIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSByIGcgYi8wLjM0KTstLWNyb3NzLXRhYmxlLWNvbG9yLWRpdmlkZXI6cmdiKGZyb20gdmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCkgciBnIGIvMC4zNyk7LS1jcm9zcy10YWJsZS1jb2xvci1kaXZpZGVyLWhhbGY6cmdiKGZyb20gdmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCkgciBnIGIvMC4xMyl9QHN1cHBvcnRzIG5vdCAoYmFja2dyb3VuZDpyZ2IoZnJvbSAjMDAwIHIgZyBiKSl7LmNvbnRhaW5lci1nVHgzUlpQbi53aWRnZXQtZ1R4M1JaUG57LS1jcm9zcy10YWJsZS1lbXB0eS1jZWxsOiMyOTYyZmYwZDstLWNyb3NzLXRhYmxlLWhvdmVyLWNvbG9yLWNlbGw6IzI5NjJmZjI0Oy0tY3Jvc3MtdGFibGUtY29sb3ItZGl2aWRlcjojNzg3Yjg2MWE7LS1jcm9zcy10YWJsZS1jb2xvci1kaXZpZGVyLWhhbGY6Izc4N2I4NjBkfWh0bWwudGhlbWUtZGFyayAuY29udGFpbmVyLWdUeDNSWlBuLndpZGdldC1nVHgzUlpQbnstLWNyb3NzLXRhYmxlLWVtcHR5LWNlbGw6Izc4N2I4NjQ3Oy0tY3Jvc3MtdGFibGUtaG92ZXItY29sb3ItY2VsbDojMjk2MmZmNTc7LS1jcm9zcy10YWJsZS1jb2xvci1kaXZpZGVyOiM3ODdiODY1ZTstLWNyb3NzLXRhYmxlLWNvbG9yLWRpdmlkZXItaGFsZjojNzg3Yjg2MjF9fS5jb250YWluZXItZ1R4M1JaUG4ud2lkZ2V0LWdUeDNSWlBuLmZvcmNlLWRlZmF1bHQtY29sb3JzLWdUeDNSWlBuey0tY3Jvc3MtdGFibGUtZW1wdHktY2VsbDp1bnNldDstLWNyb3NzLXRhYmxlLWhvdmVyLWNvbG9yLWNlbGw6dW5zZXQ7LS1jcm9zcy10YWJsZS1jb2xvci1kaXZpZGVyOnVuc2V0Oy0tY3Jvc3MtdGFibGUtY29sb3ItZGl2aWRlci1oYWxmOnVuc2V0Oy0tY3Jvc3MtdGFibGUtYm9yZGVyLXRhYmxlOnVuc2V0fSN3aWRnZXQtZm9yZXgtY3Jvc3MtcmF0ZXMtY29udGFpbmVyIC50di1jcm9zcy10YWJsZS0tZW1wdHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1lbXB0eS1jZWxsKX0udGFibGUtZ1R4M1JaUG57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13aWRnZXQtYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2JvcmRlci1jb2xsYXBzZTppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDp2YXIoLS1jcm9zcy10YWJsZS1taW4taGVpZ2h0LDgwcHgpO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLWNyb3NzLXRhYmxlLXdpZHRoLDEwMCUpfS50YWJsZS1nVHgzUlpQbiB0aDpmaXJzdC1jaGlsZCwudGFibGUtZ1R4M1JaUG4gdHI6Zmlyc3QtY2hpbGQgdGh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13aWRnZXQtYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjF9LnRhYmxlLWdUeDNSWlBuIHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxke3otaW5kZXg6Mn0udGFibGUtZ1R4M1JaUG4gdGh7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmc6dmFyKC0tY3Jvc3MtdGFibGUtcGFkZGluZy10aC1jZWxsLDE2cHggMjBweCl9LnRhYmxlLWdUeDNSWlBuIHRkLC50YWJsZS1nVHgzUlpQbiB0aHtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udGFibGUtZ1R4M1JaUG4gdGR7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3BhZGRpbmc6dmFyKC0tY3Jvc3MtdGFibGUtcGFkZGluZy10ZC1jZWxsLDE2cHggMjBweCl9LnRhYmxlLWdUeDNSWlBuIHRkLC50YWJsZS1nVHgzUlpQbiB0aHttaW4td2lkdGg6dmFyKC0tY3Jvc3MtdGFibGUtbWluLXdpZHRoLDk0cHgpO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXR9LnRhYmxlLWdUeDNSWlBuIHRkOmVtcHR5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtZW1wdHktY2VsbCx2YXIoLS1fMC1PeDRFKSl9LnRhYmxlLWdUeDNSWlBuLnByZXZlbnRBbmltYXRpb24tZ1R4M1JaUG4gdGQsLnRhYmxlLWdUeDNSWlBuLnByZXZlbnRBbmltYXRpb24tZ1R4M1JaUG4gdGh7dHJhbnNpdGlvbjpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudGFibGUtZ1R4M1JaUG4gLnRhYmxlQm9keVJvdy1nVHgzUlpQbiB0cjpub3QoOmZpcnN0LWNoaWxkKSB0ZDpob3Zlcjpub3QodGQ6ZW1wdHkpLC50YWJsZS1nVHgzUlpQbiAudGFibGVCb2R5Um93LWdUeDNSWlBuIHRyOm5vdCg6Zmlyc3QtY2hpbGQpOmhvdmVyIHRoOm5vdCg6aG92ZXIpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtaG92ZXItY29sb3ItY2VsbCx2YXIoLS1jb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUpKX19LnRhYmxlLWdUeDNSWlBuIC50YWJsZUJvZHlSb3ctZ1R4M1JaUG4gdHI6bm90KDpsYXN0LWNoaWxkKSB0ZCwudGFibGUtZ1R4M1JaUG4gLnRhYmxlQm9keVJvdy1nVHgzUlpQbiB0cjpub3QoOmxhc3QtY2hpbGQpIHRoe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWNyb3NzLXRhYmxlLWNvbG9yLWRpdmlkZXIpfS50YWJsZS1nVHgzUlpQbiAudGFibGVCb2R5Um93LWdUeDNSWlBuIHRkOm5vdCg6bGFzdC1jaGlsZCksLnRhYmxlLWdUeDNSWlBuIC50YWJsZUJvZHlSb3ctZ1R4M1JaUG4gdGg6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItaW5saW5lLWVuZDoxcHggc29saWQgdmFyKC0tY3Jvc3MtdGFibGUtY29sb3ItZGl2aWRlcil9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey50YWJsZS1nVHgzUlpQbiB0cjpmaXJzdC1jaGlsZCB0aC50YWJsZUhlYWRlckNlbGxIb3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWhvdmVyLWNvbG9yLWNlbGwsdmFyKC0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlKSl9fS50YWJsZS1nVHgzUlpQbjpkaXIocnRsKSB0aDpmaXJzdC1jaGlsZCwudGFibGUtZ1R4M1JaUG46ZGlyKHJ0bCkgdHI6Zmlyc3QtY2hpbGQgdGh7cG9zaXRpb246dmFyKC0tY3Jvc3MtdGFibGUtaGVhZGVyLXBvc2l0aW9uLGluaXRpYWwpfS5jb250YWluZXItZ1R4M1JaUG4ud2lkZ2V0LWdUeDNSWlBuIC50YWJsZS1nVHgzUlpQbiB0ZDplbXB0eXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWVtcHR5LWNlbGwsdmFyKC0tXzAtT3g0RSkpO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtY29sb3ItZGl2aWRlci1oYWxmLHZhcigtLWNvbG9yLWRpdmlkZXIpKSFpbXBvcnRhbnQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtY29sb3ItZGl2aWRlci1oYWxmLHZhcigtLWNvbG9yLWRpdmlkZXIpKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItZ1R4M1JaUG4ud2lkZ2V0LWdUeDNSWlBuIC50YWJsZS1nVHgzUlpQbiAudGFibGVCb2R5Um93LWdUeDNSWlBuIHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHRkOmhvdmVyOm5vdCh0ZDplbXB0eSkgc3BhbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWhvdmVyLWNvbG9yLWNlbGwsdmFyKC0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlKSl9LmNvbnRhaW5lci1nVHgzUlpQbi53aWRnZXQtZ1R4M1JaUG4gLnRhYmxlLWdUeDNSWlBuIC50YWJsZUJvZHlSb3ctZ1R4M1JaUG4gdHI6bm90KDpmaXJzdC1jaGlsZCkgdGQ6aG92ZXI6bm90KHRkOmVtcHR5KTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13aWRnZXQtYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uY29udGFpbmVyLWdUeDNSWlBuLndpZGdldC1nVHgzUlpQbiAudGFibGUtZ1R4M1JaUG4gLnRhYmxlQm9keVJvdy1nVHgzUlpQbiB0cjpub3QoOmZpcnN0LWNoaWxkKTpob3ZlciB0aDpub3QoOmhvdmVyKSBzcGFue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtaG92ZXItY29sb3ItY2VsbCx2YXIoLS1jb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUpKX0uY29udGFpbmVyLWdUeDNSWlBuLndpZGdldC1nVHgzUlpQbiAudGFibGUtZ1R4M1JaUG4gLnRhYmxlQm9keVJvdy1nVHgzUlpQbiB0cjpub3QoOmZpcnN0LWNoaWxkKTpob3ZlciB0aDpub3QoOmhvdmVyKTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13aWRnZXQtYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uY29udGFpbmVyLWdUeDNSWlBuLndpZGdldC1nVHgzUlpQbiAudGFibGUtZ1R4M1JaUG4gdHI6bm90KDpmaXJzdC1jaGlsZCkgdGQ6aG92ZXI6bm90KHRkOmVtcHR5KSBzcGFue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3Jvc3MtdGFibGUtaG92ZXItY29sb3ItY2VsbCx2YXIoLS1jb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUpKX0uY29udGFpbmVyLWdUeDNSWlBuLndpZGdldC1nVHgzUlpQbiAudGFibGUtZ1R4M1JaUG4gdHI6bm90KDpmaXJzdC1jaGlsZCkgdGQ6aG92ZXI6bm90KHRkOmVtcHR5KTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13aWRnZXQtYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uY29udGFpbmVyLWdUeDNSWlBuLndpZGdldC1nVHgzUlpQbiAudGFibGUtZ1R4M1JaUG4gdHI6bm90KDpmaXJzdC1jaGlsZCk6aG92ZXIgdGg6bm90KDpob3Zlcikgc3BhbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNyb3NzLXRhYmxlLWhvdmVyLWNvbG9yLWNlbGwsdmFyKC0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlKSl9LmNvbnRhaW5lci1nVHgzUlpQbi53aWRnZXQtZ1R4M1JaUG4gLnRhYmxlLWdUeDNSWlBuIHRyOm5vdCg6Zmlyc3QtY2hpbGQpOmhvdmVyIHRoOm5vdCg6aG92ZXIpOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdpZGdldC1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSk7Y29udGVudDoiIjtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lci1nVHgzUlpQbi53aWRnZXQtZ1R4M1JaUG4gLnRhYmxlLWdUeDNSWlBuIHRyOmZpcnN0LWNoaWxkIHRoLnRhYmxlSGVhZGVyQ2VsbEhvdmVye2JhY2tncm91bmQtY29sb3I6aW5oZXJpdH19LmNvbnRhaW5lci1nVHgzUlpQbi53aWRnZXQtZ1R4M1JaUG4gLnRhYmxlLWdUeDNSWlBuIHRyOmZpcnN0LWNoaWxkIHRoLnRhYmxlSGVhZGVyQ2VsbEhvdmVyIHNwYW57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jcm9zcy10YWJsZS1ob3Zlci1jb2xvci1jZWxsLHZhcigtLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZSkpfS5jb250YWluZXItZ1R4M1JaUG4ud2lkZ2V0LWdUeDNSWlBuIC50YWJsZS1nVHgzUlpQbiB0cjpmaXJzdC1jaGlsZCB0aC50YWJsZUhlYWRlckNlbGxIb3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13aWRnZXQtYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0jd2lkZ2V0LWZvcmV4LWNyb3NzLXJhdGVzLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTstLWNyb3NzLXRhYmxlLW92ZXJmbG93LWNvbnRhaW5lcjphdXRvOy0tY3Jvc3MtdGFibGUtYm9yZGVyLWhlaWdodDowOy0tY3Jvc3MtdGFibGUtYm9yZGVyLXJhZGl1czowOy0tY3Jvc3MtdGFibGUtbWluLXdpZHRoOjc1cHg7LS1jcm9zcy10YWJsZS1wYWRkaW5nLXRkLWNlbGw6MDstLWNyb3NzLXRhYmxlLXBhZGRpbmctdGgtY2VsbDowfSN3aWRnZXQtZm9yZXgtY3Jvc3MtcmF0ZXMtY29udGFpbmVyIHRoe2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDB9I3dpZGdldC1mb3JleC1jcm9zcy1yYXRlcy1jb250YWluZXIgdGQsI3dpZGdldC1mb3JleC1jcm9zcy1yYXRlcy1jb250YWluZXIgdGh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTJweH0jd2lkZ2V0LWZvcmV4LWNyb3NzLXJhdGVzLWNvbnRhaW5lciB0ZHtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4fSN3aWRnZXQtZm9yZXgtY3Jvc3MtcmF0ZXMtY29udGFpbmVyIHRoZWFke2Rpc3BsYXk6dGFibGUtcm93LWdyb3VwfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/CN.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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.482Z","timestamp":1785124600482,"http_version":"HTTP/2","security_state":"secure","security_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 /country/CN.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 03:56:40 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: \"8ea3ac67cd773a94323070920d5a3794\"\r\nlast-modified: Wed, 08 Sep 2021 09:01:42 GMT\r\ncdn-cachedat: 08/09/2025 14:29:31\r\nx-amz-id-2: FsvJprS7HqOjVjM9piwrLW/BAFLGlB0EZ5UZhf1CTv7FF00JvX9PFIMu4VQ9Kanj5FGxznXZ8kw=\r\nx-amz-request-id: 92J7465RVCSPRA62\r\nx-amz-meta-hash: 8ea3ac67cd773a94323070920d5a3794\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: 9d673fe1b08c6b3b5e7acd765c01e38c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":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":434,"size_decoded":1185,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (434), with no line terminators","md5":"8ea3ac67cd773a94323070920d5a3794","sha1":"530c18f6cbd795cbc9603ad8d0740c0bbf1bf9c3","sha256":"991251c6f527ed5af6ffe76e6d8b63435ea972f986ef4a5d8908fef5fa9214fd","sha512":"9e88eb57174e856d0cf51d3db2aef61502ad90df3b981fe05abea4bb7c0ef5e4933026e7e179dc6dfa6d244ad662a17548d9e46465aa220278c5958fd5e399eb","ssdeep":"","tlshash":"f1e0ab29762ec21c850bc61decb81812750f64dae38f9aedf08257e079c0dd7d821e9c","first_seen":"2023-05-01T20:32:00Z","last_seen":"2026-08-02T16:38:39.011382Z","times_seen":1526,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wIDBoMTh2MThIMFYweiIgZmlsbD0iI0VGNTM1MCIvPjxwYXRoIGQ9Ik02LjY0IDUuOUwyLjQ5IDguOTcgNC4wNyA0bDEuNTkgNUwxLjUgNS45M2g1LjE0VjUuOXpNOC4wOSAzLjIxbDEuNTguNjdMOCA0LjI2IDkuMTIgM2wtLjE1IDEuNjgtLjg4LTEuNDd6TTkuOTkgNWwxLjIgMS4yMS0xLjY5LS4yNyAxLjU0LS43My0uOCAxLjUxTDkuOTkgNXpNMTAuMzMgNy41bC41OSAxLjYtMS40Mi0xaDEuNzFsLTEuMzUgMSAuNDctMS42ek05LjA3IDkuNWwtLjA4IDEuNzQtLjk0LTEuNDYgMS42LjYtMS42NS40NUw5LjA3IDkuNXoiIGZpbGw9IiNGRkVCM0IiLz48L3N2Zz4="}},"time_used":83,"timings":{"blocked":37,"dns":1,"connect":3,"send":0,"wait":2,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:51.671Z","timestamp":1785124611671,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"POST /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://astroxcinvest.com/\r\nX-Goog-AuthUser: 0\r\nContent-Encoding: gzip\r\nContent-Type: application/binary\r\nContent-Length: 299\r\nOrigin: https://astroxcinvest.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":445,"data":"\u001f\b\u0000\u0000\u0000\u0000\u0000\u0000\u0003ÝT]kÃ \u0014ý/\u003eÛÕk\f}KJó\u000böfBVZ!ÕÒ¸2öë§Y3Ò¬£{Ü\u0026rÐÃÑsõêUb÷Òu?\u0006uDÆ¡ëèyÓ2Â2\"\u0019CÓeIÓ4æb¥¨Ì\u0005e\u0011eðÀ\u0011Ýµü÷P#çkô\u000b\u0002ùc\u0010\u001ftWW£b-Äº\u0010Õ\u0002ª-@Õ¢\u0018A\tD Ù\u0026\nU\u000e!úÕr©ûpö¯[ë.¦\u000fO[\u001cS\u00105IÙ¤\u003e1YÒ\u0017»×Áz7X\u001eØ§,õAEÉÐÆ)Ïù#BÀàÄG\u001c\u0003æ\\ÜÊr #!s\u0026°\u0014\u0011xF\u0001âW±³v}§YôÞ´×»6øÖ:\u001b¬îìÙ¥ÃÌ·R\f ·þMjÓ×ú¥¬ïSFSa¸V\u0004\u001a+lÞ\u0001\u0014«{(\u0004\u0000\u0000"}},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://astroxcinvest.com\r\ncross-origin-resource-policy: cross-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 03:56:51 GMT\r\nserver: Playlog\r\ncontent-length: 131\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":131,"size_decoded":578,"mime_type":"text/plain; charset=UTF-8","magic":"JSON text data","md5":"ca0b7e866005f6774d284b9f438ebfd2","sha1":"53644f5ee3640189bdb223473ba6a2d46606c556","sha256":"502e9680cfa78fa8be779cbf4f1947c8eaa3d43bf8c7464800ec772b2ddea358","sha512":"939c4526c623db033ad40bfdc6c8848a1dcd0ca797f17fbbd89fbec1b49dededc16e89084b3759e62fa0ffc8fe896980b10a1ff8daee22736a70b08f1ee13e2f","ssdeep":"","tlshash":"58c08c50330469e1080e82c8c0026858228c903b46708cf10bbd68125d3234a1004854","first_seen":"2023-04-05T03:14:56Z","last_seen":"2026-08-04T07:31:21.979055Z","times_seen":584426,"resource_available":false,"data":"WyItMSIsbnVsbCxbW1siQU5EUk9JRF9CQUNLVVAiLDBdLFsiQkFUVEVSWV9TVEFUUyIsMF0sWyJTTUFSVF9TRVRVUCIsMF0sWyJUUk9OIiwwXV0sLTMzMzQ3Mzc1OTQwMjQ5NzEyMjVdLFtdLHsiMTc1MjM3Mzc1IjpbMTAwMDBdfV0="}},"time_used":32,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/css/icon-font.css","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.412Z","timestamp":1785124599412,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /css/icon-font.css HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"3c49-5aa839fc-3611ed05b071af4;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding,User-Agent\r\ncontent-length: 2604\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":15433,"size_decoded":2966,"mime_type":"text/css","magic":"ASCII text","md5":"6efb53df8e9f88b1143c1b87ab039d94","sha1":"a0c9bfffc07013c362ca14bef8877693a7a9a241","sha256":"c35a7a470e906e6baa8816f2644c419b191244216757605f7a13b25b2f7e3910","sha512":"12dce3a10e32364e6ea72da269439d7dd033cdd0d36204d709781e4ee5d429a81b615a6604ede2d24f657ec651f35dc72c836cd27384eb68c4f8e3a2b198bdf1","ssdeep":"192:0PGYuauvCzkXZBf0pQQOqvsuYWkf1lSYCTUFM:gGYuJ6zkXZBGOqvUW+1l24FM","tlshash":"7d62b6e499bd08805302e4d163422660ff1da3299d9f2c1af6b7798cb7e2215d5e73ec","first_seen":"2024-10-16T22:18:11.639153Z","last_seen":"2026-07-27T13:50:14.115305Z","times_seen":103,"resource_available":false,"data":"QGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdpY29uZm9udCc7CiAgc3JjOgogICAgdXJsKCcuLi9mb250cy9pY29uZm9udC9pY29uZm9udDhiNjU4YjY1OGI2NS50dGY/MnA0cmZiJykgZm9ybWF0KCd0cnVldHlwZScpLAogICAgdXJsKCcuLi9mb250cy9pY29uZm9udC9pY29uZm9udDhiNjU4YjY1OGI2NS53b2ZmPzJwNHJmYicpIGZvcm1hdCgnd29mZicpLAogICAgdXJsKCcuLi9mb250cy9pY29uZm9udC9pY29uZm9udDhiNjU4YjY1OGI2NS5zdmc/MnA0cmZiI2ljb25mb250JykgZm9ybWF0KCdzdmcnKTsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKLmljb24gewogIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovCiAgZm9udC1mYW1pbHk6ICdpY29uZm9udCcgIWltcG9ydGFudDsKICBzcGVhazogbm9uZTsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBmb250LXZhcmlhbnQ6IG5vcm1hbDsKICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICBsaW5lLWhlaWdodDogMTsKCiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovCiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKfQoKLmljb24tZGVhbDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkyNCI7Cn0KLmljb24tbGVmdC1hcnJvdzI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MzEiOwp9Ci5pY29uLXF1b3RlMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkzNyI7Cn0KLmljb24tcmlnaHQtYXJyb3cyOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTM4IjsKfQouaWNvbi1jb2lucy0yOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTAyIjsKfQouaWNvbi1jb21tZXJjZS0yOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTAzIjsKfQouaWNvbi1tb25pdG9yOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTA0IjsKfQouaWNvbi1ncmFwaGljLTM6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MDUiOwp9Ci5pY29uLWJ1c2luZXNzOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTA2IjsKfQouaWNvbi1ncmFwaGljLTI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MDciOwp9Ci5pY29uLWNvbW1lcmNlLTE6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MDgiOwp9Ci5pY29uLWhhbW1lcjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkwOSI7Cn0KLmljb24tZ3JhcGhpYy0xOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTBhIjsKfQouaWNvbi1ncmFwaGljOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTBiIjsKfQouaWNvbi1qdXN0aWNlLTE6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MGMiOwp9Ci5pY29uLWxpbmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MGQiOwp9Ci5pY29uLW1vbmV5LTM6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MGUiOwp9Ci5pY29uLWNoYXJ0OmJlZm9yZSB7CiAgY29udGVudDogIlxlOTBmIjsKfQouaWNvbi1jb21tZXJjZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkxMCI7Cn0KLmljb24tYWdlbmRhOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTExIjsKfQouaWNvbi1tb25leS0yOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTEyIjsKfQouaWNvbi1qdXN0aWNlOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTEzIjsKfQouaWNvbi1tb25leS0xOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTE0IjsKfQouaWNvbi1tb25leTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkxNSI7Cn0KLmljb24tdGVjaG5vbG9neTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkxNiI7Cn0KLmljb24tY29pbnMtMTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkxNyI7Cn0KLmljb24tY29pbnM6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MTgiOwp9Ci5pY29uLWxlZnQtYXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MTkiOwp9Ci5pY29uLWJhbms6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MWEiOwp9Ci5pY29uLWNhbGN1bGF0b3I6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MWIiOwp9Ci5pY29uLWNoYXJ0MjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkxYyI7Cn0KLmljb24tY2hhcnQyMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkxZCI7Cn0KLmljb24tY2hlY2tlZDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkxZSI7Cn0KLmljb24tY2xvY2szOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTFmIjsKfQouaWNvbi1jb21tZW50OmJlZm9yZSB7CiAgY29udGVudDogIlxlOTIwIjsKfQouaWNvbi1jb21tZW50czpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkyMSI7Cn0KLmljb24tY29uc3VsdDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkyMiI7Cn0KLmljb24tY29uc3V0MjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkyMyI7Cn0KLmljb24tZG93bmxvYWQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MjUiOwp9Ci5pY29uLWVudmVsb3BlOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTI2IjsKfQouaWNvbi1ldXJvOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTI3IjsKfQouaWNvbi1mb2xkZXI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MjgiOwp9Ci5pY29uLWludmVzdDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkyOSI7Cn0KLmljb24tbG9hbjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkyYSI7Cn0KLmljb24tbWFwLW1hcmtlcjI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MmIiOwp9Ci5pY29uLW11dHVhbC1mdW5kOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTJjIjsKfQouaWNvbi1wZXJjZW50OmJlZm9yZSB7CiAgY29udGVudDogIlxlOTJkIjsKfQouaWNvbi1waG9uZTM6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MmUiOwp9Ci5pY29uLXBpZS1jaGFydDI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MmYiOwp9Ci5pY29uLXBsYXk6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MzAiOwp9Ci5pY29uLXNhdmluZ3M6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MzIiOwp9Ci5pY29uLXNlYXJjaDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTkzMyI7Cn0KLmljb24tdGFnOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTM0IjsKfQouaWNvbi10YWdzOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTM1IjsKfQouaWNvbi10YXg6YmVmb3JlIHsKICBjb250ZW50OiAiXGU5MzYiOwp9Ci5pY29uLXZwbGF5OmJlZm9yZSB7CiAgY29udGVudDogIlxlOTAwIjsKfQouaWNvbi1uZXdzbGV0dGVyOmJlZm9yZSB7CiAgY29udGVudDogIlxlOTAxIjsKfQouaWNvbi1tb2JpbGUyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDAwIjsKfQouaWNvbi1sYXB0b3AyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDAxIjsKfQouaWNvbi1kZXNrdG9wMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAwMiI7Cn0KLmljb24tdGFibGV0MjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAwMyI7Cn0KLmljb24tcGhvbmUyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDA0IjsKfQouaWNvbi1kb2N1bWVudDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAwNSI7Cn0KLmljb24tZG9jdW1lbnRzOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDA2IjsKfQouaWNvbi1zZWFyY2gyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDA3IjsKfQouaWNvbi1jbGlwYm9hcmQyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDA4IjsKfQouaWNvbi1uZXdzcGFwZXI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMDkiOwp9Ci5pY29uLW5vdGVib29rOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDBhIjsKfQouaWNvbi1ib29rLW9wZW46YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMGIiOwp9Ci5pY29uLWJyb3dzZXI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMGMiOwp9Ci5pY29uLWNhbGVuZGFyMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAwZCI7Cn0KLmljb24tcHJlc2VudGF0aW9uOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDBlIjsKfQouaWNvbi1waWN0dXJlOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDBmIjsKfQouaWNvbi1waWN0dXJlczpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAxMCI7Cn0KLmljb24tdmlkZW86YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMTEiOwp9Ci5pY29uLWNhbWVyYTI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMTIiOwp9Ci5pY29uLXByaW50ZXI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMTMiOwp9Ci5pY29uLXRvb2xib3g6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMTQiOwp9Ci5pY29uLWJyaWVmY2FzZTI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMTUiOwp9Ci5pY29uLXdhbGxldDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAxNiI7Cn0KLmljb24tZ2lmdDI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMTciOwp9Ci5pY29uLWJhcmdyYXBoOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDE4IjsKfQouaWNvbi1ncmlkOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDE5IjsKfQouaWNvbi1leHBhbmQyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDFhIjsKfQouaWNvbi1mb2N1czpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAxYiI7Cn0KLmljb24tZWRpdDI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMWMiOwp9Ci5pY29uLWFkanVzdG1lbnRzOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDFkIjsKfQouaWNvbi1yaWJib246YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMWUiOwp9Ci5pY29uLWhvdXJnbGFzczI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMWYiOwp9Ci5pY29uLWxvY2syOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDIwIjsKfQouaWNvbi1tZWdhcGhvbmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMjEiOwp9Ci5pY29uLXNoaWVsZDI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMjIiOwp9Ci5pY29uLXRyb3BoeTI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMjMiOwp9Ci5pY29uLWZsYWcyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDI0IjsKfQouaWNvbi1tYXAyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDI1IjsKfQouaWNvbi1wdXp6bGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMjYiOwp9Ci5pY29uLWJhc2tldDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAyNyI7Cn0KLmljb24tZW52ZWxvcGUyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDI4IjsKfQouaWNvbi1zdHJlZXRzaWduOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDI5IjsKfQouaWNvbi10ZWxlc2NvcGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMmEiOwp9Ci5pY29uLWdlYXJzMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAyYiI7Cn0KLmljb24ta2V5MjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAyYyI7Cn0KLmljb24tcGFwZXJjbGlwMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAyZCI7Cn0KLmljb24tYXR0YWNobWVudDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAyZSI7Cn0KLmljb24tcHJpY2V0YWdzOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDJmIjsKfQouaWNvbi1saWdodGJ1bGI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMzAiOwp9Ci5pY29uLWxheWVyczpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzMSI7Cn0KLmljb24tcGVuY2lsMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzMiI7Cn0KLmljb24tdG9vbHM6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMzMiOwp9Ci5pY29uLXRvb2xzLTI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMzQiOwp9Ci5pY29uLXNjaXNzb3JzMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzNSI7Cn0KLmljb24tcGFpbnRicnVzaDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzNiI7Cn0KLmljb24tbWFnbmlmeWluZy1nbGFzczpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzNyI7Cn0KLmljb24tY2lyY2xlLWNvbXBhc3M6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwMzgiOwp9Ci5pY29uLWxpbmVncmFwaDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzOSI7Cn0KLmljb24tbWljOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDNhIjsKfQouaWNvbi1zdHJhdGVneTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzYiI7Cn0KLmljb24tYmVha2VyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDNjIjsKfQouaWNvbi1jYXV0aW9uOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDNkIjsKfQouaWNvbi1yZWN5Y2xlMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzZSI7Cn0KLmljb24tYW5jaG9yMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTAzZiI7Cn0KLmljb24tcHJvZmlsZS1tYWxlOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDQwIjsKfQouaWNvbi1wcm9maWxlLWZlbWFsZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA0MSI7Cn0KLmljb24tYmlrZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA0MiI7Cn0KLmljb24td2luZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA0MyI7Cn0KLmljb24taG90YWlyYmFsbG9vbjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA0NCI7Cn0KLmljb24tZ2xvYmUyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDQ1IjsKfQouaWNvbi1nZW5pdXM6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNDYiOwp9Ci5pY29uLW1hcC1waW4yOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDQ3IjsKfQouaWNvbi1kaWFsOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDQ4IjsKfQouaWNvbi1jaGF0OmJlZm9yZSB7CiAgY29udGVudDogIlxlMDQ5IjsKfQouaWNvbi1oZWFydDI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNGEiOwp9Ci5pY29uLWNsb3VkMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA0YiI7Cn0KLmljb24tdXBsb2FkMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA0YyI7Cn0KLmljb24tZG93bmxvYWQyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDRkIjsKfQouaWNvbi10YXJnZXQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNGUiOwp9Ci5pY29uLWhhemFyZG91czpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA0ZiI7Cn0KLmljb24tcGllY2hhcnQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNTAiOwp9Ci5pY29uLXNwZWVkb21ldGVyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDUxIjsKfQouaWNvbi1nbG9iYWw6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNTIiOwp9Ci5pY29uLWNvbXBhc3MyOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDUzIjsKfQouaWNvbi1saWZlc2F2ZXI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNTQiOwp9Ci5pY29uLWNsb2NrOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDU1IjsKfQouaWNvbi1hcGVydHVyZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA1NiI7Cn0KLmljb24tcXVvdGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNTciOwp9Ci5pY29uLXNjb3BlOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDU4IjsKfQouaWNvbi1hbGFybWNsb2NrOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDU5IjsKfQouaWNvbi1yZWZyZXNoMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA1YSI7Cn0KLmljb24taGFwcHk6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNWIiOwp9Ci5pY29uLXNhZDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA1YyI7Cn0KLmljb24tZmFjZWJvb2syOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDVkIjsKfQouaWNvbi10d2l0dGVyMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA1ZSI7Cn0KLmljb24tZ29vZ2xlcGx1czpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA1ZiI7Cn0KLmljb24tcnNzMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA2MCI7Cn0KLmljb24tdHVtYmxyMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTA2MSI7Cn0KLmljb24tbGlua2VkaW4yOmJlZm9yZSB7CiAgY29udGVudDogIlxlMDYyIjsKfQouaWNvbi1kcmliYmJsZTI6YmVmb3JlIHsKICBjb250ZW50OiAiXGUwNjMiOwp9Ci5pY29uLWhvbWU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MDAiOwp9Ci5pY29uLWFwYXJ0bWVudDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgwMSI7Cn0KLmljb24tcGVuY2lsOmJlZm9yZSB7CiAgY29udGVudDogIlxlODAyIjsKfQouaWNvbi1tYWdpYy13YW5kOmJlZm9yZSB7CiAgY29udGVudDogIlxlODAzIjsKfQouaWNvbi1kcm9wOmJlZm9yZSB7CiAgY29udGVudDogIlxlODA0IjsKfQouaWNvbi1saWdodGVyOmJlZm9yZSB7CiAgY29udGVudDogIlxlODA1IjsKfQouaWNvbi1wb29wOmJlZm9yZSB7CiAgY29udGVudDogIlxlODA2IjsKfQouaWNvbi1zdW46YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MDciOwp9Ci5pY29uLW1vb246YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MDgiOwp9Ci5pY29uLWNsb3VkOmJlZm9yZSB7CiAgY29udGVudDogIlxlODA5IjsKfQouaWNvbi1jbG91ZC11cGxvYWQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MGEiOwp9Ci5pY29uLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7CiAgY29udGVudDogIlxlODBiIjsKfQouaWNvbi1jbG91ZC1zeW5jOmJlZm9yZSB7CiAgY29udGVudDogIlxlODBjIjsKfQouaWNvbi1jbG91ZC1jaGVjazpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgwZCI7Cn0KLmljb24tZGF0YWJhc2U6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MGUiOwp9Ci5pY29uLWxvY2szOmJlZm9yZSB7CiAgY29udGVudDogIlxlODBmIjsKfQouaWNvbi1jb2cyOmJlZm9yZSB7CiAgY29udGVudDogIlxlODEwIjsKfQouaWNvbi10cmFzaDI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MTEiOwp9Ci5pY29uLWRpY2U6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MTIiOwp9Ci5pY29uLWhlYXJ0MzpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgxMyI7Cn0KLmljb24tc3RhcjI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MTQiOwp9Ci5pY29uLXN0YXItaGFsZjI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MTUiOwp9Ci5pY29uLXN0YXItZW1wdHk6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MTYiOwp9Ci5pY29uLWZsYWczOmJlZm9yZSB7CiAgY29udGVudDogIlxlODE3IjsKfQouaWNvbi1lbnZlbG9wZTM6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MTgiOwp9Ci5pY29uLXBhcGVyY2xpcDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgxOSI7Cn0KLmljb24taW5ib3g6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWEiOwp9Ci5pY29uLWV5ZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgxYiI7Cn0KLmljb24tcHJpbnRlcjI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWMiOwp9Ci5pY29uLWZpbGUtZW1wdHk6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWQiOwp9Ci5pY29uLWZpbGUtYWRkOmJlZm9yZSB7CiAgY29udGVudDogIlxlODFlIjsKfQouaWNvbi1lbnRlcjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgxZiI7Cn0KLmljb24tZXhpdDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgyMCI7Cn0KLmljb24tZ3JhZHVhdGlvbi1oYXQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjEiOwp9Ci5pY29uLWxpY2Vuc2U6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjIiOwp9Ci5pY29uLW11c2ljLW5vdGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjMiOwp9Ci5pY29uLWZpbG0tcGxheTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgyNCI7Cn0KLmljb24tY2FtZXJhLXZpZGVvOmJlZm9yZSB7CiAgY29udGVudDogIlxlODI1IjsKfQouaWNvbi1jYW1lcmE6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjYiOwp9Ci5pY29uLXBpY3R1cmUyOmJlZm9yZSB7CiAgY29udGVudDogIlxlODI3IjsKfQouaWNvbi1ib29rOmJlZm9yZSB7CiAgY29udGVudDogIlxlODI4IjsKfQouaWNvbi1ib29rbWFyazpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgyOSI7Cn0KLmljb24tdXNlcjI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MmEiOwp9Ci5pY29uLXVzZXJzOmJlZm9yZSB7CiAgY29udGVudDogIlxlODJiIjsKfQouaWNvbi1zaGlydDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgyYyI7Cn0KLmljb24tc3RvcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MmQiOwp9Ci5pY29uLWNhcnQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MmUiOwp9Ci5pY29uLXRhZzI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MmYiOwp9Ci5pY29uLXBob25lLWhhbmRzZXQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MzAiOwp9Ci5pY29uLXBob25lOmJlZm9yZSB7CiAgY29udGVudDogIlxlODMxIjsKfQouaWNvbi1wdXNocGluOmJlZm9yZSB7CiAgY29udGVudDogIlxlODMyIjsKfQouaWNvbi1tYXAtbWFya2VyOmJlZm9yZSB7CiAgY29udGVudDogIlxlODMzIjsKfQouaWNvbi1tYXA6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MzQiOwp9Ci5pY29uLWxvY2F0aW9uOmJlZm9yZSB7CiAgY29udGVudDogIlxlODM1IjsKfQouaWNvbi1jYWxlbmRhci1mdWxsOmJlZm9yZSB7CiAgY29udGVudDogIlxlODM2IjsKfQouaWNvbi1rZXlib2FyZDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgzNyI7Cn0KLmljb24tc3BlbGwtY2hlY2s6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MzgiOwp9Ci5pY29uLXNjcmVlbjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgzOSI7Cn0KLmljb24tc21hcnRwaG9uZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgzYSI7Cn0KLmljb24tdGFibGV0OmJlZm9yZSB7CiAgY29udGVudDogIlxlODNiIjsKfQouaWNvbi1sYXB0b3A6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4M2MiOwp9Ci5pY29uLWxhcHRvcC1waG9uZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTgzZCI7Cn0KLmljb24tcG93ZXItc3dpdGNoOmJlZm9yZSB7CiAgY29udGVudDogIlxlODNlIjsKfQouaWNvbi1idWJibGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4M2YiOwp9Ci5pY29uLWhlYXJ0LXB1bHNlOmJlZm9yZSB7CiAgY29udGVudDogIlxlODQwIjsKfQouaWNvbi1jb25zdHJ1Y3Rpb246YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NDEiOwp9Ci5pY29uLXBpZS1jaGFydDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0MiI7Cn0KLmljb24tY2hhcnQtYmFyczpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0MyI7Cn0KLmljb24tZ2lmdDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0NCI7Cn0KLmljb24tZGlhbW9uZDI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NDUiOwp9Ci5pY29uLWRpbm5lcjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0NyI7Cn0KLmljb24tY29mZmVlLWN1cDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0OCI7Cn0KLmljb24tbGVhZjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0OSI7Cn0KLmljb24tcGF3OmJlZm9yZSB7CiAgY29udGVudDogIlxlODRhIjsKfQouaWNvbi1yb2NrZXQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NGIiOwp9Ci5pY29uLWJyaWVmY2FzZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0YyI7Cn0KLmljb24tYnVzMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0ZCI7Cn0KLmljb24tY2FyMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg0ZSI7Cn0KLmljb24tdHJhaW46YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NGYiOwp9Ci5pY29uLWJpY3ljbGUyOmJlZm9yZSB7CiAgY29udGVudDogIlxlODUwIjsKfQouaWNvbi13aGVlbGNoYWlyOmJlZm9yZSB7CiAgY29udGVudDogIlxlODUxIjsKfQouaWNvbi1zZWxlY3Q6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NTIiOwp9Ci5pY29uLWVhcnRoOmJlZm9yZSB7CiAgY29udGVudDogIlxlODUzIjsKfQouaWNvbi1zbWlsZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg1NCI7Cn0KLmljb24tc2FkMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg1NSI7Cn0KLmljb24tbmV1dHJhbDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg1NiI7Cn0KLmljb24tbXVzdGFjaGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NTciOwp9Ci5pY29uLWFsYXJtOmJlZm9yZSB7CiAgY29udGVudDogIlxlODU4IjsKfQouaWNvbi1idWxsaG9ybjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg1OSI7Cn0KLmljb24tdm9sdW1lLWhpZ2g6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NWEiOwp9Ci5pY29uLXZvbHVtZS1tZWRpdW06YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NWIiOwp9Ci5pY29uLXZvbHVtZS1sb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NWMiOwp9Ci5pY29uLXZvbHVtZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg1ZCI7Cn0KLmljb24tbWljMjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg1ZSI7Cn0KLmljb24taG91cmdsYXNzOmJlZm9yZSB7CiAgY29udGVudDogIlxlODVmIjsKfQouaWNvbi11bmRvOmJlZm9yZSB7CiAgY29udGVudDogIlxlODYwIjsKfQouaWNvbi1yZWRvOmJlZm9yZSB7CiAgY29udGVudDogIlxlODYxIjsKfQouaWNvbi1zeW5jOmJlZm9yZSB7CiAgY29udGVudDogIlxlODYyIjsKfQouaWNvbi1oaXN0b3J5OmJlZm9yZSB7CiAgY29udGVudDogIlxlODYzIjsKfQouaWNvbi1jbG9jazI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NjQiOwp9Ci5pY29uLWRvd25sb2FkMzpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg2NSI7Cn0KLmljb24tdXBsb2FkOmJlZm9yZSB7CiAgY29udGVudDogIlxlODY2IjsKfQouaWNvbi1lbnRlci1kb3duOmJlZm9yZSB7CiAgY29udGVudDogIlxlODY3IjsKfQouaWNvbi1leGl0LXVwOmJlZm9yZSB7CiAgY29udGVudDogIlxlODY4IjsKfQouaWNvbi1idWc6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NjkiOwp9Ci5pY29uLWNvZGUyOmJlZm9yZSB7CiAgY29udGVudDogIlxlODZhIjsKfQouaWNvbi1saW5rOmJlZm9yZSB7CiAgY29udGVudDogIlxlODZiIjsKfQouaWNvbi11bmxpbms6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NmMiOwp9Ci5pY29uLXRodW1icy11cDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg2ZCI7Cn0KLmljb24tdGh1bWJzLWRvd246YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NmUiOwp9Ci5pY29uLW1hZ25pZmllcjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg2ZiI7Cn0KLmljb24tY3Jvc3M6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NzAiOwp9Ci5pY29uLW1lbnU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NzEiOwp9Ci5pY29uLWxpc3Q6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NzIiOwp9Ci5pY29uLWNoZXZyb24tdXA6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4NzMiOwp9Ci5pY29uLWNoZXZyb24tZG93bjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg3NCI7Cn0KLmljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7CiAgY29udGVudDogIlxlODc1IjsKfQouaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7CiAgY29udGVudDogIlxlODc2IjsKfQouaWNvbi1hcnJvdy11cDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg3NyI7Cn0KLmljb24tYXJyb3ctZG93bjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg3OCI7Cn0KLmljb24tYXJyb3ctbGVmdDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg3OSI7Cn0KLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4N2EiOwp9Ci5pY29uLW1vdmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4N2IiOwp9Ci5pY29uLXdhcm5pbmc6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4N2MiOwp9Ci5pY29uLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg3ZCI7Cn0KLmljb24tbWVudS1jaXJjbGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4N2UiOwp9Ci5pY29uLWNoZWNrbWFyay1jaXJjbGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4N2YiOwp9Ci5pY29uLWNyb3NzLWNpcmNsZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg4MCI7Cn0KLmljb24tcGx1cy1jaXJjbGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4ODEiOwp9Ci5pY29uLWNpcmNsZS1taW51czpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg4MiI7Cn0KLmljb24tYXJyb3ctdXAtY2lyY2xlOmJlZm9yZSB7CiAgY29udGVudDogIlxlODgzIjsKfQouaWNvbi1hcnJvdy1kb3duLWNpcmNsZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg4NCI7Cn0KLmljb24tYXJyb3ctbGVmdC1jaXJjbGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4ODUiOwp9Ci5pY29uLWFycm93LXJpZ2h0LWNpcmNsZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg4NiI7Cn0KLmljb24tY2hldnJvbi11cC1jaXJjbGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4ODciOwp9Ci5pY29uLWNoZXZyb24tZG93bi1jaXJjbGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4ODgiOwp9Ci5pY29uLWNoZXZyb24tbGVmdC1jaXJjbGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4ODkiOwp9Ci5pY29uLWNoZXZyb24tcmlnaHQtY2lyY2xlOmJlZm9yZSB7CiAgY29udGVudDogIlxlODhhIjsKfQouaWNvbi1jcm9wOmJlZm9yZSB7CiAgY29udGVudDogIlxlODhiIjsKfQouaWNvbi1mcmFtZS1leHBhbmQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4OGMiOwp9Ci5pY29uLWZyYW1lLWNvbnRyYWN0OmJlZm9yZSB7CiAgY29udGVudDogIlxlODhkIjsKfQouaWNvbi1sYXllcnMyOmJlZm9yZSB7CiAgY29udGVudDogIlxlODhlIjsKfQouaWNvbi1mdW5uZWw6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4OGYiOwp9Ci5pY29uLXRleHQtZm9ybWF0OmJlZm9yZSB7CiAgY29udGVudDogIlxlODkwIjsKfQouaWNvbi10ZXh0LXNpemU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4OTIiOwp9Ci5pY29uLWJvbGQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4OTMiOwp9Ci5pY29uLWl0YWxpYzpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg5NCI7Cn0KLmljb24tdW5kZXJsaW5lOmJlZm9yZSB7CiAgY29udGVudDogIlxlODk1IjsKfQouaWNvbi1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7CiAgY29udGVudDogIlxlODk2IjsKfQouaWNvbi1oaWdobGlnaHQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4OTciOwp9Ci5pY29uLXRleHQtYWxpZ24tbGVmdDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg5OCI7Cn0KLmljb24tdGV4dC1hbGlnbi1jZW50ZXI6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4OTkiOwp9Ci5pY29uLXRleHQtYWxpZ24tcmlnaHQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4OWEiOwp9Ci5pY29uLXRleHQtYWxpZ24tanVzdGlmeTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg5YiI7Cn0KLmljb24tbGluZS1zcGFjaW5nOmJlZm9yZSB7CiAgY29udGVudDogIlxlODljIjsKfQouaWNvbi1pbmRlbnQtaW5jcmVhc2U6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4OWQiOwp9Ci5pY29uLWluZGVudC1kZWNyZWFzZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTg5ZSI7Cn0KLmljb24tcGFnZS1icmVhazpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZThhMiI7Cn0KLmljb24taGFuZDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZThhNSI7Cn0KLmljb24tcG9pbnRlci11cDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZThhNiI7Cn0KLmljb24tcG9pbnRlci1yaWdodDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZThhNyI7Cn0KLmljb24tcG9pbnRlci1kb3duOmJlZm9yZSB7CiAgY29udGVudDogIlxlOGE4IjsKfQouaWNvbi1wb2ludGVyLWxlZnQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4YTkiOwp9Cg=="}},"time_used":195,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":193,"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":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"astroxcinvest.com/images/features/feature3.jpg","fqdn":"astroxcinvest.com","domain":"astroxcinvest.com","tld":"com"},"ip":{"addr":"216.158.229.243","port":443,"asn":19318,"as":"IS-AS-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.838Z","timestamp":1785124599838,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.astroxcinvest.com","organization":""},"issuer":{"commonName":"E8","organization":"Let's Encrypt"},"validity":{"start":"Wed, 27 May 2026 03:10:39 GMT","end":"Tue, 25 Aug 2026 03:10:38 GMT"},"fingerprint":{"sha1":"4B:69:20:85:A1:0E:4A:87:B1:60:4E:1B:F5:A9:4A:53:AB:94:AC:20","sha256":"A5:09:FC:D6:7E:66:E5:56:FC:03:90:80:4E:F0:3B:B5:A2:89:04:96:4E:5A:F4:0B:B7:0A:4F:39:7D:71:F6:AD"}}},"request":{"raw":"GET /images/features/feature3.jpg HTTP/1.1\r\nHost: astroxcinvest.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://astroxcinvest.com/\r\nCookie: PHPSESSID=465rm3pnnammbighkgbt3dctv0\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:56:39 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 13 Mar 2018 20:52:12 GMT\r\netag: \"138e1-5aa839fc-d997722cd6513aeb;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 80097\r\ndate: Mon, 27 Jul 2026 03:56:39 GMT\r\nserver: LiteSpeed\r\nvary: User-Agent\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":80097,"size_decoded":80426,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 532x360, components 3","md5":"eb407d9126b90446cfc620d3543cf023","sha1":"29279de82c935e3e449b7a83e5eaf96e7b2c41cc","sha256":"bb92d33fa58710bb760f41e8c861242cb54dcd1388a21e888b5a9ba005aaca0b","sha512":"fd1a14e6eb0a02a544d519c9f477ecbaa9a24a3ce94ef2fb6b7b3ecb2752cf517b366a659e9b37b59302aef7aec4639b642bffb1464d873385fa1a94a3079684","ssdeep":"1536:HT0JDbrb4UPqRxiOveb98B4ZXG7pZvr/N1pB+f7rzUDuRXK:HTE3/4USREOGJ3G7bvTNf+nxRa","tlshash":"cf730254d78eb43aa89331f1e2ac8064b0ffec4590fe70a28a11b79c5d86c273184ddb","first_seen":"2023-05-15T18:21:00Z","last_seen":"2026-07-29T06:17:13.175758Z","times_seen":285,"resource_available":false,"data":"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"}},"time_used":726,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":655,"receive":71,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"astroxcinvest.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4815a758657d4bae.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.037Z","timestamp":1785124600037,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4815a758657d4bae.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 3812116\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4815a758657d4bae.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"9b4f6d29f92ea43b7c7ef4770fbed76a\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4815a758657d4bae.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::98lrq-1781312483644-7e3fe14e464a\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=2Vu57TXdxXZVHrQTjS%2BZD0MZ%2FdROIUgRj0aMWUTMDtZ8PaiufCVtSYLKWt6fgT86Z0rBOHVYk1LbbmbMp63aQG1T6qYyiRqYDS%2FC%2BuDCbad4M%2FPk2qkyr%2BGaxBbU\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e399256b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":49883,"size_decoded":17726,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (49883), with no line terminators","md5":"9b4f6d29f92ea43b7c7ef4770fbed76a","sha1":"bdad2044ced7e4c0208e62e5650f99140e88aeb6","sha256":"6fb06a5d29509dddf687974e467d8274ef9ef0f6bec7c841fd8336543c9a3f74","sha512":"06ec26c380efdf73315dfc21639732033b79b7869acaed6d4a6697c4d441500bb21f57311b543ee176e2b31b775cff20bc5e611dfff3cca3a3a5c30c8338262f","ssdeep":"1536:UIYGGTQpo7UFYEpzussak11xgaAF+j/G7qWF:UIYGKO+UFZaJgaUt7/","tlshash":"f023d4c971e5b4900bb395b1803f000bf23e1d76185d98a0d3a2dde9b8b45aed233f99","first_seen":"2026-06-13T02:21:16.211868Z","last_seen":"2026-08-04T06:18:34.245622Z","times_seen":1751,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkzMDYzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJSZWRpcmVjdFN0YXR1c0NvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO3ZhciByLG89KChyPXt9KVtyLlNlZU90aGVyPTMwM109IlNlZU90aGVyIixyW3IuVGVtcG9yYXJ5UmVkaXJlY3Q9MzA3XT0iVGVtcG9yYXJ5UmVkaXJlY3QiLHJbci5QZXJtYW5lbnRSZWRpcmVjdD0zMDhdPSJQZXJtYW5lbnRSZWRpcmVjdCIscik7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTA4NjIsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHIsbz17UkVESVJFQ1RfRVJST1JfQ09ERTpmdW5jdGlvbigpe3JldHVybiBhfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saXNSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIHUgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkobix1LHtlbnVtZXJhYmxlOiEwLGdldDpvW3VdfSk7bGV0IGk9ZS5yKDkzMDYzKSxhPSJORVhUX1JFRElSRUNUIjt2YXIgbD0oKHI9e30pLnB1c2g9InB1c2giLHIucmVwbGFjZT0icmVwbGFjZSIscik7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0IHQ9ZS5kaWdlc3Quc3BsaXQoIjsiKSxbbixyXT10LG89dC5zbGljZSgyLC0yKS5qb2luKCI7IiksdT1OdW1iZXIodC5hdCgtMikpO3JldHVybiBuPT09YSYmKCJyZXBsYWNlIj09PXJ8fCJwdXNoIj09PXIpJiYic3RyaW5nIj09dHlwZW9mIG8mJiFpc05hTih1KSYmdSBpbiBpLlJlZGlyZWN0U3RhdHVzQ29kZX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzNDY0MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QUNUSU9OX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBpfSxGTElHSFRfSEVBREVSUzpmdW5jdGlvbigpe3JldHVybiB5fSxORVhUX0FDVElPTl9OT1RfRk9VTkRfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIEV9LE5FWFRfQUNUSU9OX1JFVkFMSURBVEVEX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBPfSxORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gX30sTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRTpmdW5jdGlvbigpe3JldHVybiBmfSxORVhUX0hNUl9SRUZSRVNIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBjfSxORVhUX0hUTUxfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gUn0sTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIG19LE5FWFRfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gU30sTkVYVF9SRVdSSVRURU5fUEFUSF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sTkVYVF9SRVdSSVRURU5fUVVFUllfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBsfSxORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBzfSxORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBofSxORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBhfSxORVhUX1JTQ19VTklPTl9RVUVSWTpmdW5jdGlvbigpe3JldHVybiB2fSxORVhUX1VSTDpmdW5jdGlvbigpe3JldHVybiBkfSxSU0NfQ09OVEVOVF9UWVBFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBwfSxSU0NfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9InJzYyIsaT0ibmV4dC1hY3Rpb24iLGE9Im5leHQtcm91dGVyLXN0YXRlLXRyZWUiLGw9Im5leHQtcm91dGVyLXByZWZldGNoIixzPSJuZXh0LXJvdXRlci1zZWdtZW50LXByZWZldGNoIixjPSJuZXh0LWhtci1yZWZyZXNoIixmPSJfX25leHRfaG1yX3JlZnJlc2hfaGFzaF9fIixkPSJuZXh0LXVybCIscD0idGV4dC94LWNvbXBvbmVudCIseT1bdSxhLGwsYyxzXSx2PSJfcnNjIixoPSJ4LW5leHRqcy1zdGFsZS10aW1lIixfPSJ4LW5leHRqcy1wb3N0cG9uZWQiLGI9IngtbmV4dGpzLXJld3JpdHRlbi1wYXRoIixnPSJ4LW5leHRqcy1yZXdyaXR0ZW4tcXVlcnkiLG09IngtbmV4dGpzLXByZXJlbmRlciIsRT0ieC1uZXh0anMtYWN0aW9uLW5vdC1mb3VuZCIsUz0ieC1uZXh0anMtcmVxdWVzdC1pZCIsUj0ieC1uZXh0anMtaHRtbC1yZXF1ZXN0LWlkIixPPSJ4LWFjdGlvbi1yZXZhbGlkYXRlZCI7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sMjc0NTQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e0RFRkFVTFRfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sTk9UX0ZPVU5EX1NFR01FTlRfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBBR0VfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudDpmdW5jdGlvbigpe3JldHVybiBsfSxjb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldFNlZ21lbnRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiB1fSxnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLHI9ITAsbz1bXSl7bGV0IGk7aWYocilpPXRbMV1bbl07ZWxzZXtsZXQgZT10WzFdO2k9ZS5jaGlsZHJlbj8/T2JqZWN0LnZhbHVlcyhlKVswXX1pZighaSlyZXR1cm4gbztsZXQgYT11KGlbMF0pO3JldHVybiFhfHxhLnN0YXJ0c1dpdGgoYyk/bzooby5wdXNoKGEpLGUoaSxuLCExLG8pKX19LGlzR3JvdXBTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzUGFyYWxsZWxSb3V0ZVNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2VbMV06ZX1mdW5jdGlvbiBpKGUpe3JldHVybiIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIkAiKSYmIkBjaGlsZHJlbiIhPT1lfWZ1bmN0aW9uIGwoZSx0KXtpZihlLmluY2x1ZGVzKGMpKXtsZXQgZT1KU09OLnN0cmluZ2lmeSh0KTtyZXR1cm4ie30iIT09ZT9jKyI/IitlOmN9cmV0dXJuIGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCFlfHwwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7bGV0IG49ImNoaWxkcmVuIj09PXQ/ZVswXTplW2UubGVuZ3RoLTFdO3JldHVybiBuPT09Zj9udWxsOm59bGV0IGM9Il9fUEFHRV9fIixmPSJfX0RFRkFVTFRfXyIsZD0iL19ub3QtZm91bmQifSw3NTA1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17VW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2NsYXNzIHUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLm5hbWU9IlVucmVjb2duaXplZEFjdGlvbkVycm9yIn19ZnVuY3Rpb24gaShlKXtyZXR1cm4hIShlJiYib2JqZWN0Ij09dHlwZW9mIGUmJmUgaW5zdGFuY2VvZiB1KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5NzA4OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiYWN0aW9uQXN5bmNTdG9yYWdlSW5zdGFuY2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSgwLGUucig0OTIxMSkuY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UpKCl9LDIzNzA4LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLmFjdGlvbkFzeW5jU3RvcmFnZUluc3RhbmNlfX0pO2xldCByPWUucig5NzA4OCl9LDQxNzIxLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtnZXRSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0scGVybWFuZW50UmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY30scmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1lLnIoOTMwNjMpLGk9ZS5yKDkwODYyKSxhPSJ1Ijx0eXBlb2Ygd2luZG93P2UucigyMzcwOCkuYWN0aW9uQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBsKGUsdCxuPXUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KXtsZXQgcj1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoaS5SRURJUkVDVF9FUlJPUl9DT0RFKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gci5kaWdlc3Q9YCR7aS5SRURJUkVDVF9FUlJPUl9DT0RFfTske3R9OyR7ZX07JHtufTtgLHJ9ZnVuY3Rpb24gcyhlLHQpe3Rocm93IGwoZSx0Pz89YT8uZ2V0U3RvcmUoKT8uaXNBY3Rpb24/aS5SZWRpcmVjdFR5cGUucHVzaDppLlJlZGlyZWN0VHlwZS5yZXBsYWNlLHUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KX1mdW5jdGlvbiBjKGUsdD1pLlJlZGlyZWN0VHlwZS5yZXBsYWNlKXt0aHJvdyBsKGUsdCx1LlJlZGlyZWN0U3RhdHVzQ29kZS5QZXJtYW5lbnRSZWRpcmVjdCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxpLmlzUmVkaXJlY3RFcnJvcikoZSk/ZS5kaWdlc3Quc3BsaXQoIjsiKS5zbGljZSgyLC0yKS5qb2luKCI7Iik6bnVsbH1mdW5jdGlvbiBkKGUpe2lmKCEoMCxpLmlzUmVkaXJlY3RFcnJvcikoZSkpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJOb3QgYSByZWRpcmVjdCBlcnJvciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjYwIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiBlLmRpZ2VzdC5zcGxpdCgiOyIsMilbMV19ZnVuY3Rpb24gcChlKXtpZighKDAsaS5pc1JlZGlyZWN0RXJyb3IpKGUpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiTm90IGEgcmVkaXJlY3QgZXJyb3IiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTI2MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IikuYXQoLTIpKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNjg3MiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QXBwUm91dGVyQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBpfSxHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LExheW91dFJvdXRlckNvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sTWlzc2luZ1Nsb3RDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFRlbXBsYXRlQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2xldCB1PWUucig4MTI1OCkuXyhlLnIoNzUyMDEpKSxpPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGE9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCksbD11LmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKSxzPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGM9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobmV3IFNldCl9LDYzMTY1LChlLHQsbik9Pnt2YXIgcj17MjI5OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvPWUuZXhwb3J0cz17fTtmdW5jdGlvbiB1KCl7dGhyb3cgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBpKCl7dGhyb3cgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfXRyeXt0PSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dX1jYXRjaChlKXt0PXV9dHJ5e249ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6aX1jYXRjaChlKXtuPWl9ZnVuY3Rpb24gYShlKXtpZih0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKCh0PT09dXx8IXQpJiZzZXRUaW1lb3V0KXJldHVybiB0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gdChlLDApfWNhdGNoKG4pe3RyeXtyZXR1cm4gdC5jYWxsKG51bGwsZSwwKX1jYXRjaChuKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSwwKX19fXZhciBsPVtdLHM9ITEsYz0tMTtmdW5jdGlvbiBmKCl7cyYmciYmKHM9ITEsci5sZW5ndGg/bD1yLmNvbmNhdChsKTpjPS0xLGwubGVuZ3RoJiZkKCkpfWZ1bmN0aW9uIGQoKXtpZighcyl7dmFyIGU9YShmKTtzPSEwO2Zvcih2YXIgdD1sLmxlbmd0aDt0Oyl7Zm9yKHI9bCxsPVtdOysrYzx0OylyJiZyW2NdLnJ1bigpO2M9LTEsdD1sLmxlbmd0aH1yPW51bGwscz0hMSxmdW5jdGlvbihlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKG49PT1pfHwhbikmJmNsZWFyVGltZW91dClyZXR1cm4gbj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19KGUpfX1mdW5jdGlvbiBwKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24geSgpe31vLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTtsLnB1c2gobmV3IHAoZSx0KSksMSE9PWwubGVuZ3RofHxzfHxhKGQpfSxwLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxvLnRpdGxlPSJicm93c2VyIixvLmJyb3dzZXI9ITAsby5lbnY9e30sby5hcmd2PVtdLG8udmVyc2lvbj0iIixvLnZlcnNpb25zPXt9LG8ub249eSxvLmFkZExpc3RlbmVyPXksby5vbmNlPXksby5vZmY9eSxvLnJlbW92ZUxpc3RlbmVyPXksby5yZW1vdmVBbGxMaXN0ZW5lcnM9eSxvLmVtaXQ9eSxvLnByZXBlbmRMaXN0ZW5lcj15LG8ucHJlcGVuZE9uY2VMaXN0ZW5lcj15LG8ubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxvLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LG8uY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxvLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sby51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX19LG89e307ZnVuY3Rpb24gdShlKXt2YXIgdD1vW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgbj1vW2VdPXtleHBvcnRzOnt9fSxpPSEwO3RyeXtyW2VdKG4sbi5leHBvcnRzLHUpLGk9ITF9ZmluYWxseXtpJiZkZWxldGUgb1tlXX1yZXR1cm4gbi5leHBvcnRzfXUuYWI9Ii9ST09UL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfcmVhY3QtZG9tQDE5LjIuM19yZWFjdEAxOS4yLjNfX3JlYWN0QDE5LjIuMy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvIix0LmV4cG9ydHM9dSgyMjkpfSw4MjYzNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLG87dC5leHBvcnRzPShudWxsPT0ocj1lLmcucHJvY2Vzcyk/dm9pZCAwOnIuZW52KSYmIm9iamVjdCI9PXR5cGVvZihudWxsPT0obz1lLmcucHJvY2Vzcyk/dm9pZCAwOm8uZW52KT9lLmcucHJvY2VzczplLnIoNjMxNjUpfSw5OTI5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50Iik7ZnVuY3Rpb24gbyhlLHQsbil7dmFyIG89bnVsbDtpZih2b2lkIDAhPT1uJiYobz0iIituKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLCJrZXkiaW4gdClmb3IodmFyIHUgaW4gbj17fSx0KSJrZXkiIT09dSYmKG5bdV09dFt1XSk7ZWxzZSBuPXQ7cmV0dXJueyQkdHlwZW9mOnIsdHlwZTplLGtleTpvLHJlZjp2b2lkIDAhPT0odD1uLnJlZik/dDpudWxsLHByb3BzOm59fW4uRnJhZ21lbnQ9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxuLmpzeD1vLG4uanN4cz1vfSw5ODEzNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoOTkyOTMpfSw2MzQxNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUuaSg4MjYzNyksbz1TeW1ib2wuZm9yKCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudCIpLHU9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxsPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIikscz1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLGM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGY9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxkPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIikscD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuZm9yKCJyZWFjdC5hY3Rpdml0eSIpLGg9U3ltYm9sLmZvcigicmVhY3Qudmlld190cmFuc2l0aW9uIiksXz1TeW1ib2wuaXRlcmF0b3IsYj17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sZz1PYmplY3QuYXNzaWduLG09e307ZnVuY3Rpb24gRShlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifWZ1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gUihlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifUUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sRS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJ0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSxFLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sUy5wcm90b3R5cGU9RS5wcm90b3R5cGU7dmFyIE89Ui5wcm90b3R5cGU9bmV3IFM7Ty5jb25zdHJ1Y3Rvcj1SLGcoTyxFLnByb3RvdHlwZSksTy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgdz1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFQoKXt9dmFyIGo9e0g6bnVsbCxBOm51bGwsVDpudWxsLFM6bnVsbH0sQT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGsoZSx0LG4pe3ZhciByPW4ucmVmO3JldHVybnskJHR5cGVvZjpvLHR5cGU6ZSxrZXk6dCxyZWY6dm9pZCAwIT09cj9yOm51bGwscHJvcHM6bn19ZnVuY3Rpb24gQyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09b312YXIgTj0vXC8rL2c7ZnVuY3Rpb24gUChlLHQpe3ZhciBuLHI7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/KG49IiIrZS5rZXkscj17Ij0iOiI9MCIsIjoiOiI9MiJ9LCIkIituLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihlKXtyZXR1cm4gcltlXX0pKTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLGk9MDtyZXR1cm4hZnVuY3Rpb24gZSh0LG4scixpLGEpe3ZhciBsLHMsYyxmPXR5cGVvZiB0OygidW5kZWZpbmVkIj09PWZ8fCJib29sZWFuIj09PWYpJiYodD1udWxsKTt2YXIgZD0hMTtpZihudWxsPT09dClkPSEwO2Vsc2Ugc3dpdGNoKGYpe2Nhc2UiYmlnaW50IjpjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmQ9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIG86Y2FzZSB1OmQ9ITA7YnJlYWs7Y2FzZSB5OnJldHVybiBlKChkPXQuX2luaXQpKHQuX3BheWxvYWQpLG4scixpLGEpfX1pZihkKXJldHVybiBhPWEodCksZD0iIj09PWk/Ii4iK1AodCwwKTppLHcoYSk/KHI9IiIsbnVsbCE9ZCYmKHI9ZC5yZXBsYWNlKE4sIiQmLyIpKyIvIiksZShhLG4sciwiIixmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTpudWxsIT1hJiYoQyhhKSYmKGw9YSxzPXIrKG51bGw9PWEua2V5fHx0JiZ0LmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShOLCIkJi8iKSsiLyIpK2QsYT1rKGwudHlwZSxzLGwucHJvcHMpKSxuLnB1c2goYSkpLDE7ZD0wO3ZhciBwPSIiPT09aT8iLiI6aSsiOiI7aWYodyh0KSlmb3IodmFyIHY9MDt2PHQubGVuZ3RoO3YrKylmPXArUChpPXRbdl0sdiksZCs9ZShpLG4scixmLGEpO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mKHY9bnVsbD09PShjPXQpfHwib2JqZWN0IiE9dHlwZW9mIGM/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoYz1fJiZjW19dfHxjWyJAQGl0ZXJhdG9yIl0pP2M6bnVsbCkpZm9yKHQ9di5jYWxsKHQpLHY9MDshKGk9dC5uZXh0KCkpLmRvbmU7KWY9cCtQKGk9aS52YWx1ZSx2KyspLGQrPWUoaSxuLHIsZixhKTtlbHNlIGlmKCJvYmplY3QiPT09Zil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbilyZXR1cm4gZShmdW5jdGlvbihlKXtzd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBlLnJlYXNvbjtkZWZhdWx0OnN3aXRjaCgic3RyaW5nIj09dHlwZW9mIGUuc3RhdHVzP2UudGhlbihULFQpOihlLnN0YXR1cz0icGVuZGluZyIsZS50aGVuKGZ1bmN0aW9uKHQpeyJwZW5kaW5nIj09PWUuc3RhdHVzJiYoZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10KX0sZnVuY3Rpb24odCl7InBlbmRpbmciPT09ZS5zdGF0dXMmJihlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXQpfSkpLGUuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIGUudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgZS5yZWFzb259fXRocm93IGV9KHQpLG4scixpLGEpO3Rocm93IEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09KG49U3RyaW5nKHQpKT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpuKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpfXJldHVybiBkfShlLHIsIiIsIiIsZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2FsbChuLGUsaSsrKX0pLHJ9ZnVuY3Rpb24gRChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbihmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTEsZS5fcmVzdWx0PXQpfSxmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PXQpfSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBNPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50KXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2U/U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJiJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHQuZW1pdClyZXR1cm4gdm9pZCByLmRlZmF1bHQuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLGUpO2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uICQoZSl7dmFyIHQ9ai5ULG49e307bi50eXBlcz1udWxsIT09dD90LnR5cGVzOm51bGwsai5UPW47dHJ5e3ZhciByPWUoKSxvPWouUztudWxsIT09byYmbyhuLHIpLCJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLnRoZW4mJnIudGhlbihULE0pfWNhdGNoKGUpe00oZSl9ZmluYWxseXtudWxsIT09dCYmbnVsbCE9PW4udHlwZXMmJih0LnR5cGVzPW4udHlwZXMpLGouVD10fX1mdW5jdGlvbiBJKGUpe3ZhciB0PWouVDtpZihudWxsIT09dCl7dmFyIG49dC50eXBlcztudWxsPT09bj90LnR5cGVzPVtlXTotMT09PW4uaW5kZXhPZihlKSYmbi5wdXNoKGUpfWVsc2UgJChJLmJpbmQobnVsbCxlKSl9bi5BY3Rpdml0eT12LG4uQ2hpbGRyZW49e21hcDp4LGZvckVhY2g6ZnVuY3Rpb24oZSx0LG4pe3goZSxmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4geChlLGZ1bmN0aW9uKCl7dCsrfSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4geChlLGZ1bmN0aW9uKGUpe3JldHVybiBlfSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCFDKGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LG4uQ29tcG9uZW50PUUsbi5GcmFnbWVudD1pLG4uUHJvZmlsZXI9bCxuLlB1cmVDb21wb25lbnQ9UixuLlN0cmljdE1vZGU9YSxuLlN1c3BlbnNlPWQsbi5WaWV3VHJhbnNpdGlvbj1oLG4uX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWosbi5fX0NPTVBJTEVSX1JVTlRJTUU9e19fcHJvdG9fXzpudWxsLGM6ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VNZW1vQ2FjaGUoZSl9fSxuLmFkZFRyYW5zaXRpb25UeXBlPUksbi5jYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxuLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LG4uY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrZSsiLiIpO3ZhciByPWcoe30sZS5wcm9wcyksbz1lLmtleTtpZihudWxsIT10KWZvcih1IGluIHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksdClBLmNhbGwodCx1KSYmImtleSIhPT11JiYiX19zZWxmIiE9PXUmJiJfX3NvdXJjZSIhPT11JiYoInJlZiIhPT11fHx2b2lkIDAhPT10LnJlZikmJihyW3VdPXRbdV0pO3ZhciB1PWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09dSlyLmNoaWxkcmVuPW47ZWxzZSBpZigxPHUpe2Zvcih2YXIgaT1BcnJheSh1KSxhPTA7YTx1O2ErKylpW2FdPWFyZ3VtZW50c1thKzJdO3IuY2hpbGRyZW49aX1yZXR1cm4gayhlLnR5cGUsbyxyKX0sbi5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbH0pLlByb3ZpZGVyPWUsZS5Db25zdW1lcj17JCR0eXBlb2Y6cyxfY29udGV4dDplfSxlfSxuLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG89e30sdT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSx0KUEuY2FsbCh0LHIpJiYia2V5IiE9PXImJiJfX3NlbGYiIT09ciYmIl9fc291cmNlIiE9PXImJihvW3JdPXRbcl0pO3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09aSlvLmNoaWxkcmVuPW47ZWxzZSBpZigxPGkpe2Zvcih2YXIgYT1BcnJheShpKSxsPTA7bDxpO2wrKylhW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49YX1pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IociBpbiBpPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW9bcl0mJihvW3JdPWlbcl0pO3JldHVybiBrKGUsdSxvKX0sbi5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sbi5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLHJlbmRlcjplfX0sbi5pc1ZhbGlkRWxlbWVudD1DLG4ubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkR9fSxuLm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LG4uc3RhcnRUcmFuc2l0aW9uPSQsbi51bnN0YWJsZV91c2VDYWNoZVJlZnJlc2g9ZnVuY3Rpb24oKXtyZXR1cm4gai5ILnVzZUNhY2hlUmVmcmVzaCgpfSxuLnVzZT1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZShlKX0sbi51c2VBY3Rpb25TdGF0ZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VBY3Rpb25TdGF0ZShlLHQsbil9LG4udXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUNhbGxiYWNrKGUsdCl9LG4udXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUNvbnRleHQoZSl9LG4udXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sbi51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VEZWZlcnJlZFZhbHVlKGUsdCl9LG4udXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VFZmZlY3QoZSx0KX0sbi51c2VFZmZlY3RFdmVudD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUVmZmVjdEV2ZW50KGUpfSxuLnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIGouSC51c2VJZCgpfSxuLnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBqLkgudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LG4udXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sbi51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUxheW91dEVmZmVjdChlLHQpfSxuLnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZU1lbW8oZSx0KX0sbi51c2VPcHRpbWlzdGljPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VPcHRpbWlzdGljKGUsdCl9LG4udXNlUmVkdWNlcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VSZWR1Y2VyKGUsdCxuKX0sbi51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VSZWYoZSl9LG4udXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VTdGF0ZShlKX0sbi51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQsbil9LG4udXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBqLkgudXNlVHJhbnNpdGlvbigpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSw3NTIwMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNjM0MTcpfSw0NDA2NiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAsbj1uZXcgV2Vha01hcDtyZXR1cm4ocj1mdW5jdGlvbihlKXtyZXR1cm4gZT9uOnR9KShlKX1uLl89ZnVuY3Rpb24oZSx0KXtpZighdCYmZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO2lmKG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybntkZWZhdWx0OmV9O3ZhciBuPXIodCk7aWYobiYmbi5oYXMoZSkpcmV0dXJuIG4uZ2V0KGUpO3ZhciBvPXtfX3Byb3RvX186bnVsbH0sdT1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBpIGluIGUpaWYoImRlZmF1bHQiIT09aSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkpe3ZhciBhPXU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KG8saSxhKTpvW2ldPWVbaV19cmV0dXJuIG8uZGVmYXVsdD1lLG4mJm4uc2V0KGUsbyksb319LDgxMjU4LChlLHQsbik9PnsidXNlIHN0cmljdCI7bi5fPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX19LDQ5MjExLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtiaW5kU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc30sY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sY3JlYXRlU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogQXN5bmNMb2NhbFN0b3JhZ2UgYWNjZXNzZWQgaW4gcnVudGltZSB3aGVyZSBpdCBpcyBub3QgYXZhaWxhYmxlIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1MDQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2xhc3MgaXtkaXNhYmxlKCl7dGhyb3cgdX1nZXRTdG9yZSgpe31ydW4oKXt0aHJvdyB1fWV4aXQoKXt0aHJvdyB1fWVudGVyV2l0aCgpe3Rocm93IHV9c3RhdGljIGJpbmQoZSl7cmV0dXJuIGV9fWxldCBhPSJ1Ij50eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcy5Bc3luY0xvY2FsU3RvcmFnZTtmdW5jdGlvbiBsKCl7cmV0dXJuIGE/bmV3IGE6bmV3IGl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gYT9hLmJpbmQoZSk6aS5iaW5kKGUpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gYT9hLnNuYXBzaG90KCk6ZnVuY3Rpb24oZSwuLi50KXtyZXR1cm4gZSguLi50KX19fSw1NjU0OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUucig3NTIwMSk7ZnVuY3Rpb24gbyhlKXt2YXIgdD0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIrZTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe3QrPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBuPTI7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbbl0pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitlKyI7IHZpc2l0ICIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIHUoKXt9dmFyIGk9e2Q6e2Y6dSxyOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3Iobyg1MjIpKX0sRDp1LEM6dSxMOnUsbTp1LFg6dSxTOnUsTTp1fSxwOjAsZmluZERPTU5vZGU6bnVsbH0sYT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxsPVN5bWJvbC5mb3IoInJlYWN0Lm9wdGltaXN0aWNfa2V5Iikscz1yLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBjKGUsdCl7cmV0dXJuImZvbnQiPT09ZT8iIjoic3RyaW5nIj09dHlwZW9mIHQ/InVzZS1jcmVkZW50aWFscyI9PT10P3Q6IiI6dm9pZCAwfW4uX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWksbi5jcmVhdGVQb3J0YWw9ZnVuY3Rpb24oZSx0KXt2YXIgbj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtpZighdHx8MSE9PXQubm9kZVR5cGUmJjkhPT10Lm5vZGVUeXBlJiYxMSE9PXQubm9kZVR5cGUpdGhyb3cgRXJyb3IobygyOTkpKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjphLGtleTpudWxsPT1yP251bGw6cj09PWw/bDoiIityLGNoaWxkcmVuOmUsY29udGFpbmVySW5mbzp0LGltcGxlbWVudGF0aW9uOm59fShlLHQsbnVsbCxuKX0sbi5mbHVzaFN5bmM9ZnVuY3Rpb24oZSl7dmFyIHQ9cy5ULG49aS5wO3RyeXtpZihzLlQ9bnVsbCxpLnA9MixlKXJldHVybiBlKCl9ZmluYWxseXtzLlQ9dCxpLnA9bixpLmQuZigpfX0sbi5wcmVjb25uZWN0PWZ1bmN0aW9uKGUsdCl7InN0cmluZyI9PXR5cGVvZiBlJiYodD10PyJzdHJpbmciPT10eXBlb2YodD10LmNyb3NzT3JpZ2luKT8idXNlLWNyZWRlbnRpYWxzIj09PXQ/dDoiIjp2b2lkIDA6bnVsbCxpLmQuQyhlLHQpKX0sbi5wcmVmZXRjaEROUz1mdW5jdGlvbihlKXsic3RyaW5nIj09dHlwZW9mIGUmJmkuZC5EKGUpfSxuLnByZWluaXQ9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIGUmJnQmJiJzdHJpbmciPT10eXBlb2YgdC5hcyl7dmFyIG49dC5hcyxyPWMobix0LmNyb3NzT3JpZ2luKSxvPSJzdHJpbmciPT10eXBlb2YgdC5pbnRlZ3JpdHk/dC5pbnRlZ3JpdHk6dm9pZCAwLHU9InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMDsic3R5bGUiPT09bj9pLmQuUyhlLCJzdHJpbmciPT10eXBlb2YgdC5wcmVjZWRlbmNlP3QucHJlY2VkZW5jZTp2b2lkIDAse2Nyb3NzT3JpZ2luOnIsaW50ZWdyaXR5Om8sZmV0Y2hQcmlvcml0eTp1fSk6InNjcmlwdCI9PT1uJiZpLmQuWChlLHtjcm9zc09yaWdpbjpyLGludGVncml0eTpvLGZldGNoUHJpb3JpdHk6dSxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19LG4ucHJlaW5pdE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtpZihudWxsPT10LmFzfHwic2NyaXB0Ij09PXQuYXMpe3ZhciBuPWModC5hcyx0LmNyb3NzT3JpZ2luKTtpLmQuTShlLHtjcm9zc09yaWdpbjpuLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19ZWxzZSBudWxsPT10JiZpLmQuTShlKX0sbi5wcmVsb2FkPWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQuYXMpe3ZhciBuPXQuYXMscj1jKG4sdC5jcm9zc09yaWdpbik7aS5kLkwoZSxuLHtjcm9zc09yaWdpbjpyLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDAsdHlwZToic3RyaW5nIj09dHlwZW9mIHQudHlwZT90LnR5cGU6dm9pZCAwLGZldGNoUHJpb3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMCxyZWZlcnJlclBvbGljeToic3RyaW5nIj09dHlwZW9mIHQucmVmZXJyZXJQb2xpY3k/dC5yZWZlcnJlclBvbGljeTp2b2lkIDAsaW1hZ2VTcmNTZXQ6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU3JjU2V0P3QuaW1hZ2VTcmNTZXQ6dm9pZCAwLGltYWdlU2l6ZXM6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU2l6ZXM/dC5pbWFnZVNpemVzOnZvaWQgMCxtZWRpYToic3RyaW5nIj09dHlwZW9mIHQubWVkaWE/dC5tZWRpYTp2b2lkIDB9KX19LG4ucHJlbG9hZE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZih0KXt2YXIgbj1jKHQuYXMsdC5jcm9zc09yaWdpbik7aS5kLm0oZSx7YXM6InN0cmluZyI9PXR5cGVvZiB0LmFzJiYic2NyaXB0IiE9PXQuYXM/dC5hczp2b2lkIDAsY3Jvc3NPcmlnaW46bixpbnRlZ3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmludGVncml0eT90LmludGVncml0eTp2b2lkIDB9KX1lbHNlIGkuZC5tKGUpfSxuLnJlcXVlc3RGb3JtUmVzZXQ9ZnVuY3Rpb24oZSl7aS5kLnIoZSl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSh0KX0sbi51c2VGb3JtU3RhdGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBzLkgudXNlRm9ybVN0YXRlKGUsdCxuKX0sbi51c2VGb3JtU3RhdHVzPWZ1bmN0aW9uKCl7cmV0dXJuIHMuSC51c2VIb3N0VHJhbnNpdGlvblN0YXR1cygpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSwyOTA4MCwoZSx0LG4pPT57InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSx0LmV4cG9ydHM9ZS5yKDU2NTQ5KX0sODg3NzQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2dldERlcGxveW1lbnRJZDpmdW5jdGlvbigpe3JldHVybiB1fSxnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KCl7cmV0dXJuITF9ZnVuY3Rpb24gaSgpe3JldHVybiIifX0sNDk3MDYsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lLnIoMjkwODApLG89e3N0cmVhbTohMH0sdT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkodCl7dmFyIG49ZS5yKHQpO3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiBuLnRoZW58fCJmdWxmaWxsZWQiPT09bi5zdGF0dXM/bnVsbDoobi50aGVuKGZ1bmN0aW9uKGUpe24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9ZX0sZnVuY3Rpb24oZSl7bi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lfSksbil9dmFyIGE9bmV3IFdlYWtTZXQsbD1uZXcgV2Vha1NldDtmdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGModCl7Zm9yKHZhciBuPXRbMV0scj1bXSxvPTA7bzxuLmxlbmd0aDtvKyspe3ZhciB1PWUuTChuW29dKTtpZihsLmhhcyh1KXx8ci5wdXNoKHUpLCFhLmhhcyh1KSl7dmFyIGM9bC5hZGQuYmluZChsLHUpO3UudGhlbihjLHMpLGEuYWRkKHUpfX1yZXR1cm4gND09PXQubGVuZ3RoPzA9PT1yLmxlbmd0aD9pKHRbMF0pOlByb21pc2UuYWxsKHIpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaSh0WzBdKX0pOjA8ci5sZW5ndGg/UHJvbWlzZS5hbGwocik6bnVsbH1mdW5jdGlvbiBmKHQpe3ZhciBuPWUucih0WzBdKTtpZig0PT09dC5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4paWYoImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyluPW4udmFsdWU7ZWxzZSB0aHJvdyBuLnJlYXNvbjtyZXR1cm4iKiI9PT10WzJdP246IiI9PT10WzJdP24uX19lc01vZHVsZT9uLmRlZmF1bHQ6bjp1LmNhbGwobix0WzJdKT9uW3RbMl1dOnZvaWQgMH12YXIgZD1yLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxwPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3IsaD1TeW1ib2wuYXN5bmNJdGVyYXRvcixfPUFycmF5LmlzQXJyYXksYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsZz1PYmplY3QucHJvdG90eXBlLG09bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRShlLHQsbil7bS5oYXMoZSl8fG0uc2V0KGUse2lkOnQsb3JpZ2luYWxCaW5kOmUuYmluZCxib3VuZDpufSl9ZnVuY3Rpb24gUyhlLHQsbil7dGhpcy5zdGF0dXM9ZSx0aGlzLnZhbHVlPXQsdGhpcy5yZWFzb249bn1mdW5jdGlvbiBSKGUpe3N3aXRjaChlLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RChlKTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TShlKX1zd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInBlbmRpbmciOmNhc2UiYmxvY2tlZCI6Y2FzZSJoYWx0ZWQiOnRocm93IGU7ZGVmYXVsdDp0aHJvdyBlLnJlYXNvbn19ZnVuY3Rpb24gTyhlLHQsbixyKXtmb3IodmFyIG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIHU9dFtvXTsiZnVuY3Rpb24iPT10eXBlb2YgdT91KG4pOkwoZSx1LG4scil9fWZ1bmN0aW9uIHcoZSx0LG4pe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdOyJmdW5jdGlvbiI9PXR5cGVvZiBvP28obik6VShlLG8uaGFuZGxlcixuKX19ZnVuY3Rpb24gVChlLHQpe3ZhciBuPXQuaGFuZGxlci5jaHVuaztpZihudWxsPT09bilyZXR1cm4gbnVsbDtpZihuPT09ZSlyZXR1cm4gdC5oYW5kbGVyO2lmKG51bGwhPT0odD1uLnZhbHVlKSlmb3Iobj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByJiZudWxsIT09KHI9VChlLHIpKSlyZXR1cm4gcn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBqKGUsdCxuLHIpe3N3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOk8oZSxuLHQudmFsdWUsdCk7YnJlYWs7Y2FzZSJibG9ja2VkIjpmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHU9bltvXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdSl7dmFyIGk9VCh0LHUpO2lmKG51bGwhPT1pKXN3aXRjaChMKGUsdSxpLnZhbHVlLHQpLG4uc3BsaWNlKG8sMSksby0tLG51bGwhPT1yJiYtMSE9PSh1PXIuaW5kZXhPZih1KSkmJnIuc3BsaWNlKHUsMSksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpPKGUsbix0LnZhbHVlLHQpO3JldHVybjtjYXNlInJlamVjdGVkIjpudWxsIT09ciYmdyhlLHIsdC5yZWFzb24pO3JldHVybn19fWNhc2UicGVuZGluZyI6aWYodC52YWx1ZSlmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKXQudmFsdWUucHVzaChuW2VdKTtlbHNlIHQudmFsdWU9bjtpZih0LnJlYXNvbil7aWYocilmb3Iobj0wO248ci5sZW5ndGg7bisrKXQucmVhc29uLnB1c2gocltuXSl9ZWxzZSB0LnJlYXNvbj1yO2JyZWFrO2Nhc2UicmVqZWN0ZWQiOnImJncoZSxyLHQucmVhc29uKX19ZnVuY3Rpb24gQShlLHQsbil7aWYoInBlbmRpbmciIT09dC5zdGF0dXMmJiJibG9ja2VkIiE9PXQuc3RhdHVzKXQucmVhc29uLmVycm9yKG4pO2Vsc2V7dmFyIHI9dC5yZWFzb247dC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1uLG51bGwhPT1yJiZ3KGUscixuKX19ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIG5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsKG4/J3siZG9uZSI6dHJ1ZSwidmFsdWUiOic6J3siZG9uZSI6ZmFsc2UsInZhbHVlIjonKSt0KyJ9IixlKX1mdW5jdGlvbiBDKGUsdCxuLHIpe04oZSx0LChyPyd7ImRvbmUiOnRydWUsInZhbHVlIjonOid7ImRvbmUiOmZhbHNlLCJ2YWx1ZSI6JykrbisifSIpfWZ1bmN0aW9uIE4oZSx0LG4pe2lmKCJwZW5kaW5nIiE9PXQuc3RhdHVzKXQucmVhc29uLmVucXVldWVNb2RlbChuKTtlbHNle3ZhciByPXQudmFsdWUsbz10LnJlYXNvbjt0LnN0YXR1cz0icmVzb2x2ZWRfbW9kZWwiLHQudmFsdWU9bix0LnJlYXNvbj1lLG51bGwhPT1yJiYoRCh0KSxqKGUsdCxyLG8pKX19ZnVuY3Rpb24gUChlLHQsbil7aWYoInBlbmRpbmciPT09dC5zdGF0dXN8fCJibG9ja2VkIj09PXQuc3RhdHVzKXt2YXIgcj10LnZhbHVlLG89dC5yZWFzb247dC5zdGF0dXM9InJlc29sdmVkX21vZHVsZSIsdC52YWx1ZT1uLHQucmVhc29uPW51bGwsbnVsbCE9PXImJihNKHQpLGooZSx0LHIsbykpfX1TLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKSxTLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHRoaXMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHRoaXMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHRoaXMpfXN3aXRjaCh0aGlzLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKHRoaXMudmFsdWUpO2JyZWFrO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjoiZnVuY3Rpb24iPT10eXBlb2YgZSYmKG51bGw9PT10aGlzLnZhbHVlJiYodGhpcy52YWx1ZT1bXSksdGhpcy52YWx1ZS5wdXNoKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKG51bGw9PT10aGlzLnJlYXNvbiYmKHRoaXMucmVhc29uPVtdKSx0aGlzLnJlYXNvbi5wdXNoKHQpKTticmVhaztjYXNlImhhbHRlZCI6YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT10eXBlb2YgdCYmdCh0aGlzLnJlYXNvbil9fTt2YXIgeD1udWxsO2Z1bmN0aW9uIEQoZSl7dmFyIHQ9eDt4PW51bGw7dmFyIG49ZS52YWx1ZSxyPWUucmVhc29uO2Uuc3RhdHVzPSJibG9ja2VkIixlLnZhbHVlPW51bGwsZS5yZWFzb249bnVsbDt0cnl7dmFyIG89SlNPTi5wYXJzZShuLHIuX2Zyb21KU09OKSx1PWUudmFsdWU7aWYobnVsbCE9PXUpZm9yKGUudmFsdWU9bnVsbCxlLnJlYXNvbj1udWxsLG49MDtuPHUubGVuZ3RoO24rKyl7dmFyIGk9dVtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaT9pKG8pOkwocixpLG8sZSl9aWYobnVsbCE9PXgpe2lmKHguZXJyb3JlZCl0aHJvdyB4LnJlYXNvbjtpZigwPHguZGVwcyl7eC52YWx1ZT1vLHguY2h1bms9ZTtyZXR1cm59fWUuc3RhdHVzPSJmdWxmaWxsZWQiLGUudmFsdWU9b31jYXRjaCh0KXtlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXR9ZmluYWxseXt4PXR9fWZ1bmN0aW9uIE0oZSl7dHJ5e3ZhciB0PWYoZS52YWx1ZSk7ZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10fWNhdGNoKHQpe2Uuc3RhdHVzPSJyZWplY3RlZCIsZS5yZWFzb249dH19ZnVuY3Rpb24gJChlLHQpe2UuX2Nsb3NlZD0hMCxlLl9jbG9zZWRSZWFzb249dCxlLl9jaHVua3MuZm9yRWFjaChmdW5jdGlvbihuKXsicGVuZGluZyI9PT1uLnN0YXR1cz9BKGUsbix0KToiZnVsZmlsbGVkIj09PW4uc3RhdHVzJiZudWxsIT09bi5yZWFzb24mJm4ucmVhc29uLmVycm9yKHQpfSl9ZnVuY3Rpb24gSShlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDplLF9pbml0OlJ9fWZ1bmN0aW9uIEgoZSx0KXt2YXIgbj1lLl9jaHVua3Mscj1uLmdldCh0KTtyZXR1cm4gcnx8KHI9ZS5fY2xvc2VkP25ldyBTKCJyZWplY3RlZCIsbnVsbCxlLl9jbG9zZWRSZWFzb24pOm5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpLG4uc2V0KHQscikpLHJ9ZnVuY3Rpb24gTChlLHQsbil7dmFyIHI9dC5oYW5kbGVyLG89dC5wYXJlbnRPYmplY3QsaT10LmtleSxhPXQubWFwLGw9dC5wYXRoO3RyeXtmb3IodmFyIHM9MTtzPGwubGVuZ3RoO3MrKyl7Zm9yKDsib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uJiZuLiQkdHlwZW9mPT09eTspe3ZhciBjPW4uX3BheWxvYWQ7aWYoYz09PXIuY2h1bmspbj1yLnZhbHVlO2Vsc2V7c3dpdGNoKGMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKGMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKGMpfXN3aXRjaChjLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOm49Yy52YWx1ZTtjb250aW51ZTtjYXNlImJsb2NrZWQiOnZhciBmPVQoYyx0KTtpZihudWxsIT09Zil7bj1mLnZhbHVlO2NvbnRpbnVlfWNhc2UicGVuZGluZyI6bC5zcGxpY2UoMCxzLTEpLG51bGw9PT1jLnZhbHVlP2MudmFsdWU9W3RdOmMudmFsdWUucHVzaCh0KSxudWxsPT09Yy5yZWFzb24/Yy5yZWFzb249W3RdOmMucmVhc29uLnB1c2godCk7cmV0dXJuO2Nhc2UiaGFsdGVkIjpyZXR1cm47ZGVmYXVsdDpVKGUsdC5oYW5kbGVyLGMucmVhc29uKTtyZXR1cm59fX12YXIgZD1sW3NdO2lmKCJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJnUuY2FsbChuLGQpKW49bltkXTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIHJlZmVyZW5jZS4iKX1mb3IoOyJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJm4uJCR0eXBlb2Y9PT15Oyl7dmFyIHY9bi5fcGF5bG9hZDtpZih2PT09ci5jaHVuayluPXIudmFsdWU7ZWxzZXtzd2l0Y2godi5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodik7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odil9aWYoImZ1bGZpbGxlZCI9PT12LnN0YXR1cyl7bj12LnZhbHVlO2NvbnRpbnVlfWJyZWFrfX12YXIgaD1hKGUsbixvLGkpO2lmKCJfX3Byb3RvX18iIT09aSYmKG9baV09aCksIiI9PT1pJiZudWxsPT09ci52YWx1ZSYmKHIudmFsdWU9aCksb1swXT09PXAmJiJvYmplY3QiPT10eXBlb2Ygci52YWx1ZSYmbnVsbCE9PXIudmFsdWUmJnIudmFsdWUuJCR0eXBlb2Y9PT1wKXt2YXIgXz1yLnZhbHVlOyIzIj09PWkmJihfLnByb3BzPWgpfX1jYXRjaChuKXtVKGUsdC5oYW5kbGVyLG4pO3JldHVybn1yLmRlcHMtLSwwPT09ci5kZXBzJiZudWxsIT09KHQ9ci5jaHVuaykmJiJibG9ja2VkIj09PXQuc3RhdHVzJiYobj10LnZhbHVlLHQuc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9ci52YWx1ZSx0LnJlYXNvbj1yLnJlYXNvbixudWxsIT09biYmTyhlLG4sci52YWx1ZSx0KSl9ZnVuY3Rpb24gVShlLHQsbil7dC5lcnJvcmVkfHwodC5lcnJvcmVkPSEwLHQudmFsdWU9bnVsbCx0LnJlYXNvbj1uLG51bGwhPT0odD10LmNodW5rKSYmImJsb2NrZWQiPT09dC5zdGF0dXMmJkEoZSx0LG4pKX1mdW5jdGlvbiBGKGUsdCxuLHIsbyx1KXtyZXR1cm4geD8ocj14LHIuZGVwcysrKTpyPXg9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sdD17aGFuZGxlcjpyLHBhcmVudE9iamVjdDp0LGtleTpuLG1hcDpvLHBhdGg6dX0sbnVsbD09PWUudmFsdWU/ZS52YWx1ZT1bdF06ZS52YWx1ZS5wdXNoKHQpLG51bGw9PT1lLnJlYXNvbj9lLnJlYXNvbj1bdF06ZS5yZWFzb24ucHVzaCh0KSxudWxsfWZ1bmN0aW9uIFgoZSx0LG4scil7aWYoIWUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZylyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbz8iZnVsZmlsbGVkIj09PW8uc3RhdHVzP3QocixvLnZhbHVlLmNvbmNhdChlKSk6UHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIHQocixuLmNvbmNhdChlKSl9KTp0KHIsZSl9dmFyIHI9ZS5pZCxvPWUuYm91bmQ7cmV0dXJuIEUobixyLG8pLG59KHQsZS5fY2FsbFNlcnZlcik7dmFyIG89ZnVuY3Rpb24oZSx0KXt2YXIgbj0iIixyPWVbdF07aWYociluPXIubmFtZTtlbHNle3ZhciBvPXQubGFzdEluZGV4T2YoIiMiKTtpZigtMSE9PW8mJihuPXQuc2xpY2UobysxKSxyPWVbdC5zbGljZSgwLG8pXSksIXIpdGhyb3cgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBtb2R1bGUgIicrdCsnIiBpbiB0aGUgUmVhY3QgU2VydmVyIE1hbmlmZXN0LiBUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLicpfXJldHVybiByLmFzeW5jP1tyLmlkLHIuY2h1bmtzLG4sMV06W3IuaWQsci5jaHVua3Msbl19KGUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZyx0LmlkKSx1PWMobyk7aWYodSl0LmJvdW5kJiYodT1Qcm9taXNlLmFsbChbdSx0LmJvdW5kXSkpO2Vsc2V7aWYoIXQuYm91bmQpcmV0dXJuIEUodT1mKG8pLHQuaWQsdC5ib3VuZCksdTt1PVByb21pc2UucmVzb2x2ZSh0LmJvdW5kKX1pZih4KXt2YXIgaT14O2kuZGVwcysrfWVsc2UgaT14PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOm51bGwsZGVwczoxLGVycm9yZWQ6ITF9O3JldHVybiB1LnRoZW4oZnVuY3Rpb24oKXt2YXIgdT1mKG8pO2lmKHQuYm91bmQpe3ZhciBhPXQuYm91bmQudmFsdWUuc2xpY2UoMCk7YS51bnNoaWZ0KG51bGwpLHU9dS5iaW5kLmFwcGx5KHUsYSl9RSh1LHQuaWQsdC5ib3VuZCksIl9fcHJvdG9fXyIhPT1yJiYobltyXT11KSwiIj09PXImJm51bGw9PT1pLnZhbHVlJiYoaS52YWx1ZT11KSxuWzBdPT09cCYmIm9iamVjdCI9PXR5cGVvZiBpLnZhbHVlJiZudWxsIT09aS52YWx1ZSYmaS52YWx1ZS4kJHR5cGVvZj09PXAmJihhPWkudmFsdWUsIjMiPT09cikmJihhLnByb3BzPXUpLGkuZGVwcy0tLDA9PT1pLmRlcHMmJm51bGwhPT0odT1pLmNodW5rKSYmImJsb2NrZWQiPT09dS5zdGF0dXMmJihhPXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1pLnZhbHVlLHUucmVhc29uPW51bGwsbnVsbCE9PWEmJk8oZSxhLGkudmFsdWUsdSkpfSxmdW5jdGlvbih0KXtpZighaS5lcnJvcmVkKXtpLmVycm9yZWQ9ITAsaS52YWx1ZT1udWxsLGkucmVhc29uPXQ7dmFyIG49aS5jaHVuaztudWxsIT09biYmImJsb2NrZWQiPT09bi5zdGF0dXMmJkEoZSxuLHQpfX0pLG51bGx9ZnVuY3Rpb24gVihlLHQsbixyLG8pe3ZhciB1PXBhcnNlSW50KCh0PXQuc3BsaXQoIjoiKSlbMF0sMTYpO3N3aXRjaCgodT1IKGUsdSkpLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RCh1KTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TSh1KX1zd2l0Y2godS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjp1PXUudmFsdWU7Zm9yKHZhciBpPTE7aTx0Lmxlbmd0aDtpKyspe2Zvcig7Im9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSYmdS4kJHR5cGVvZj09PXk7KXtzd2l0Y2goKHU9dS5fcGF5bG9hZCkuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHUpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHUpfXN3aXRjaCh1LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnU9dS52YWx1ZTticmVhaztjYXNlImJsb2NrZWQiOmNhc2UicGVuZGluZyI6cmV0dXJuIEYodSxuLHIsZSxvLHQuc2xpY2UoaS0xKSk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX11PXVbdFtpXV19Zm9yKDsib2JqZWN0Ij09dHlwZW9mIHUmJm51bGwhPT11JiZ1LiQkdHlwZW9mPT09eTspe3N3aXRjaCgodD11Ll9wYXlsb2FkKS5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodCk7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odCl9aWYoImZ1bGZpbGxlZCI9PT10LnN0YXR1cyl7dT10LnZhbHVlO2NvbnRpbnVlfWJyZWFrfXJldHVybiBvKGUsdSxuLHIpO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjpyZXR1cm4gRih1LG4scixlLG8sdCk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX1mdW5jdGlvbiBxKGUsdCl7cmV0dXJuIG5ldyBNYXAodCl9ZnVuY3Rpb24gQihlLHQpe3JldHVybiBuZXcgU2V0KHQpfWZ1bmN0aW9uIFcoZSx0KXtyZXR1cm4gbmV3IEJsb2IodC5zbGljZSgxKSx7dHlwZTp0WzBdfSl9ZnVuY3Rpb24gRyhlLHQpe2U9bmV3IEZvcm1EYXRhO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWUuYXBwZW5kKHRbbl1bMF0sdFtuXVsxXSk7cmV0dXJuIGV9ZnVuY3Rpb24gSihlLHQpe3JldHVybiB0W1N5bWJvbC5pdGVyYXRvcl0oKX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHR9ZnVuY3Rpb24geigpe3Rocm93IEVycm9yKCdUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gInVzZSBzZXJ2ZXIiIGJ1dCB0aGUgY2FsbFNlcnZlciBvcHRpb24gd2FzIG5vdCBpbXBsZW1lbnRlZCBpbiB5b3VyIHJvdXRlciBydW50aW1lLicpfWZ1bmN0aW9uIFkoZSx0LG4scixvLHUsaSl7dmFyIGEsbD1uZXcgTWFwO3RoaXMuX2J1bmRsZXJDb25maWc9ZSx0aGlzLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWc9dCx0aGlzLl9tb2R1bGVMb2FkaW5nPW4sdGhpcy5fY2FsbFNlcnZlcj12b2lkIDAhPT1yP3I6eix0aGlzLl9lbmNvZGVGb3JtQWN0aW9uPW8sdGhpcy5fbm9uY2U9dSx0aGlzLl9jaHVua3M9bCx0aGlzLl9zdHJpbmdEZWNvZGVyPW5ldyBUZXh0RGVjb2Rlcix0aGlzLl9mcm9tSlNPTj1udWxsLHRoaXMuX2Nsb3NlZD0hMSx0aGlzLl9jbG9zZWRSZWFzb249bnVsbCx0aGlzLl90ZW1wUmVmcz1pLHRoaXMuX2Zyb21KU09OPShhPXRoaXMsZnVuY3Rpb24oZSx0KXtpZigiX19wcm90b19fIiE9PWUpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIG49YSxyPXRoaXMsbz1lLHU9dDtpZigiJCI9PT11WzBdKXtpZigiJCI9PT11KXJldHVybiBudWxsIT09eCYmIjAiPT09byYmKHg9e3BhcmVudDp4LGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjAsZXJyb3JlZDohMX0pLHA7c3dpdGNoKHVbMV0pe2Nhc2UiJCI6cmV0dXJuIHUuc2xpY2UoMSk7Y2FzZSJMIjpyZXR1cm4gSShuPUgobixyPXBhcnNlSW50KHUuc2xpY2UoMiksMTYpKSk7Y2FzZSJAIjpyZXR1cm4gSChuLHI9cGFyc2VJbnQodS5zbGljZSgyKSwxNikpO2Nhc2UiUyI6cmV0dXJuIFN5bWJvbC5mb3IodS5zbGljZSgyKSk7Y2FzZSJoIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sWCk7Y2FzZSJUIjppZihyPSIkIit1LnNsaWNlKDIpLG51bGw9PShuPW4uX3RlbXBSZWZzKSl0aHJvdyBFcnJvcigiTWlzc2luZyBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0IGJ1dCB0aGUgUlNDIHJlc3BvbnNlIHJldHVybmVkIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZS4gUGFzcyBhIHRlbXBvcmFyeVJlZmVyZW5jZSBvcHRpb24gd2l0aCB0aGUgc2V0IHRoYXQgd2FzIHVzZWQgd2l0aCB0aGUgcmVwbHkuIik7cmV0dXJuIG4uZ2V0KHIpO2Nhc2UiUSI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLHEpO2Nhc2UiVyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEIpO2Nhc2UiQiI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLFcpO2Nhc2UiSyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEcpO2Nhc2UiWiI6cmV0dXJuIGVyKCk7Y2FzZSJpIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sSik7Y2FzZSJJIjpyZXR1cm4gMS8wO2Nhc2UiLSI6cmV0dXJuIiQtMCI9PT11Py0wOi0xLzA7Y2FzZSJOIjpyZXR1cm4gTmFOO2Nhc2UidSI6cmV0dXJuO2Nhc2UiRCI6cmV0dXJuIG5ldyBEYXRlKERhdGUucGFyc2UodS5zbGljZSgyKSkpO2Nhc2UibiI6cmV0dXJuIEJpZ0ludCh1LnNsaWNlKDIpKTtkZWZhdWx0OnJldHVybiBWKG4sdT11LnNsaWNlKDEpLHIsbyxLKX19cmV0dXJuIHV9aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7aWYodFswXT09PXApe2lmKGU9eyQkdHlwZW9mOnAsdHlwZTp0WzFdLGtleTp0WzJdLHJlZjpudWxsLHByb3BzOnRbM119LG51bGwhPT14KXtpZih4PSh0PXgpLnBhcmVudCx0LmVycm9yZWQpZT1JKGU9bmV3IFMoInJlamVjdGVkIixudWxsLHQucmVhc29uKSk7ZWxzZSBpZigwPHQuZGVwcyl7dmFyIGk9bmV3IFMoImJsb2NrZWQiLG51bGwsbnVsbCk7dC52YWx1ZT1lLHQuY2h1bms9aSxlPUkoaSl9fX1lbHNlIGU9dDtyZXR1cm4gZX1yZXR1cm4gdH19KX1mdW5jdGlvbiBRKGUsdCxuKXt2YXIgcj0oZT1lLl9jaHVua3MpLmdldCh0KTtyJiYicGVuZGluZyIhPT1yLnN0YXR1cz9yLnJlYXNvbi5lbnF1ZXVlVmFsdWUobik6KG49bmV3IFMoImZ1bGZpbGxlZCIsbixudWxsKSxlLnNldCh0LG4pKX1mdW5jdGlvbiBaKGUsdCxuLHIpe3ZhciBvPWUuX2NodW5rcyx1PW8uZ2V0KHQpO3U/InBlbmRpbmciPT09dS5zdGF0dXMmJih0PXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1uLHUucmVhc29uPXIsbnVsbCE9PXQmJk8oZSx0LHUudmFsdWUsdSkpOihlPW5ldyBTKCJmdWxmaWxsZWQiLG4sciksby5zZXQodCxlKSl9ZnVuY3Rpb24gZWUoZSx0LG4pe3ZhciByPW51bGwsbz0hMTtuPW5ldyBSZWFkYWJsZVN0cmVhbSh7dHlwZTpuLHN0YXJ0OmZ1bmN0aW9uKGUpe3I9ZX19KTt2YXIgdT1udWxsO1ooZSx0LG4se2VucXVldWVWYWx1ZTpmdW5jdGlvbihlKXtudWxsPT09dT9yLmVucXVldWUoZSk6dS50aGVuKGZ1bmN0aW9uKCl7ci5lbnF1ZXVlKGUpfSl9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXtpZihudWxsPT09dSl7dmFyIG49bmV3IFMoInJlc29sdmVkX21vZGVsIix0LGUpO0QobiksImZ1bGZpbGxlZCI9PT1uLnN0YXR1cz9yLmVucXVldWUobi52YWx1ZSk6KG4udGhlbihmdW5jdGlvbihlKXtyZXR1cm4gci5lbnF1ZXVlKGUpfSxmdW5jdGlvbihlKXtyZXR1cm4gci5lcnJvcihlKX0pLHU9bil9ZWxzZXtuPXU7dmFyIG89bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCk7by50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiByLmVucXVldWUoZSl9LGZ1bmN0aW9uKGUpe3JldHVybiByLmVycm9yKGUpfSksdT1vLG4udGhlbihmdW5jdGlvbigpe3U9PT1vJiYodT1udWxsKSxOKGUsbyx0KX0pfX0sY2xvc2U6ZnVuY3Rpb24oKXtpZighbylpZihvPSEwLG51bGw9PT11KXIuY2xvc2UoKTtlbHNle3ZhciBlPXU7dT1udWxsLGUudGhlbihmdW5jdGlvbigpe3JldHVybiByLmNsb3NlKCl9KX19LGVycm9yOmZ1bmN0aW9uKGUpe2lmKCFvKWlmKG89ITAsbnVsbD09PXUpci5lcnJvcihlKTtlbHNle3ZhciB0PXU7dT1udWxsLHQudGhlbihmdW5jdGlvbigpe3JldHVybiByLmVycm9yKGUpfSl9fX0pfWZ1bmN0aW9uIGV0KCl7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZW4oZSx0LG4pe3ZhciByPVtdLG89ITEsdT0wLGk9e307aVtoXT1mdW5jdGlvbigpe3ZhciBlLHQ9MDtyZXR1cm4oZT17bmV4dDplPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpdGhyb3cgRXJyb3IoIlZhbHVlcyBjYW5ub3QgYmUgcGFzc2VkIHRvIG5leHQoKSBvZiBBc3luY0l0ZXJhYmxlcyBwYXNzZWQgdG8gQ2xpZW50IENvbXBvbmVudHMuIik7aWYodD09PXIubGVuZ3RoKXtpZihvKXJldHVybiBuZXcgUygiZnVsZmlsbGVkIix7ZG9uZTohMCx2YWx1ZTp2b2lkIDB9LG51bGwpO3JbdF09bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCl9cmV0dXJuIHJbdCsrXX19KVtoXT1ldCxlfSxaKGUsdCxuP2lbaF0oKTppLHtlbnF1ZXVlVmFsdWU6ZnVuY3Rpb24odCl7aWYodT09PXIubGVuZ3RoKXJbdV09bmV3IFMoImZ1bGZpbGxlZCIse2RvbmU6ITEsdmFsdWU6dH0sbnVsbCk7ZWxzZXt2YXIgbj1yW3VdLG89bi52YWx1ZSxpPW4ucmVhc29uO24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9e2RvbmU6ITEsdmFsdWU6dH0sbi5yZWFzb249bnVsbCxudWxsIT09byYmaihlLG4sbyxpKX11Kyt9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXt1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMSk6QyhlLHJbdV0sdCwhMSksdSsrfSxjbG9zZTpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMCk6QyhlLHJbdV0sdCwhMCksdSsrO3U8ci5sZW5ndGg7KUMoZSxyW3UrK10sJyIkdW5kZWZpbmVkIicsITApfSxlcnJvcjpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGgmJihyW3VdPW5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpKTt1PHIubGVuZ3RoOylBKGUsclt1KytdLHQpfX0pfWZ1bmN0aW9uIGVyKCl7dmFyIGU9RXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBTZXJ2ZXIgQ29tcG9uZW50cyByZW5kZXIuIFRoZSBzcGVjaWZpYyBtZXNzYWdlIGlzIG9taXR0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgdG8gYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgZGV0YWlscy4gQSBkaWdlc3QgcHJvcGVydHkgaXMgaW5jbHVkZWQgb24gdGhpcyBlcnJvciBpbnN0YW5jZSB3aGljaCBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIG5hdHVyZSBvZiB0aGUgZXJyb3IuIik7cmV0dXJuIGUuc3RhY2s9IkVycm9yOiAiK2UubWVzc2FnZSxlfWZ1bmN0aW9uIGVvKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9dC5sZW5ndGgsbz0wO288bjtvKyspcis9ZVtvXS5ieXRlTGVuZ3RoO3I9bmV3IFVpbnQ4QXJyYXkocik7Zm9yKHZhciB1PW89MDt1PG47dSsrKXt2YXIgaT1lW3VdO3Iuc2V0KGksbyksbys9aS5ieXRlTGVuZ3RofXJldHVybiByLnNldCh0LG8pLHJ9ZnVuY3Rpb24gZXUoZSx0LG4scixvLHUpe1EoZSx0LG89bmV3IG8oKG49MD09PW4ubGVuZ3RoJiYwPT1yLmJ5dGVPZmZzZXQldT9yOmVvKG4scikpLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoL3UpKX1mdW5jdGlvbiBlaShlKXskKGUsRXJyb3IoIkNvbm5lY3Rpb24gY2xvc2VkLiIpKX1mdW5jdGlvbiBlYShlKXtyZXR1cm4gbmV3IFkobnVsbCxudWxsLG51bGwsZSYmZS5jYWxsU2VydmVyP2UuY2FsbFNlcnZlcjp2b2lkIDAsdm9pZCAwLHZvaWQgMCxlJiZlLnRlbXBvcmFyeVJlZmVyZW5jZXM/ZS50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCl9ZnVuY3Rpb24gZWwoZSx0LG4pe2Z1bmN0aW9uIHIodCl7JChlLHQpfXZhciB1PXtfcm93U3RhdGU6MCxfcm93SUQ6MCxfcm93VGFnOjAsX3Jvd0xlbmd0aDowLF9idWZmZXI6W119LGk9dC5nZXRSZWFkZXIoKTtpLnJlYWQoKS50aGVuKGZ1bmN0aW9uIHQoYSl7dmFyIGw9YS52YWx1ZTtpZihhLmRvbmUpcmV0dXJuIG4oKTt2YXIgcz0wLGY9dS5fcm93U3RhdGU7YT11Ll9yb3dJRDtmb3IodmFyIHA9dS5fcm93VGFnLHk9dS5fcm93TGVuZ3RoLHY9dS5fYnVmZmVyLGg9bC5sZW5ndGg7czxoOyl7dmFyIF89LTE7c3dpdGNoKGYpe2Nhc2UgMDo1OD09PShfPWxbcysrXSk/Zj0xOmE9YTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMTo4ND09PShmPWxbc10pfHw2NT09PWZ8fDc5PT09Znx8MTExPT09Znx8OTg9PT1mfHw4NT09PWZ8fDgzPT09Znx8MTE1PT09Znx8NzY9PT1mfHwxMDg9PT1mfHw3MT09PWZ8fDEwMz09PWZ8fDc3PT09Znx8MTA5PT09Znx8ODY9PT1mPyhwPWYsZj0yLHMrKyk6NjQ8ZiYmOTE+Znx8MzU9PT1mfHwxMTQ9PT1mfHwxMjA9PT1mPyhwPWYsZj0zLHMrKyk6KHA9MCxmPTMpO2NvbnRpbnVlO2Nhc2UgMjo0ND09PShfPWxbcysrXSk/Zj00Onk9eTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMzpfPWwuaW5kZXhPZigxMCxzKTticmVhaztjYXNlIDQ6KF89cyt5KT5sLmxlbmd0aCYmKF89LTEpfXZhciBiPWwuYnl0ZU9mZnNldCtzO2lmKC0xPF8peT1uZXcgVWludDhBcnJheShsLmJ1ZmZlcixiLF8tcyksOTg9PT1wP1EoZSxhLF89PT1oP3k6eS5zbGljZSgpKTpmdW5jdGlvbihlLHQsbixyLHUsaSl7c3dpdGNoKHIpe2Nhc2UgNjU6UShlLG4sZW8odSxpKS5idWZmZXIpO3JldHVybjtjYXNlIDc5OmV1KGUsbix1LGksSW50OEFycmF5LDEpO3JldHVybjtjYXNlIDExMTpRKGUsbiwwPT09dS5sZW5ndGg/aTplbyh1LGkpKTtyZXR1cm47Y2FzZSA4NTpldShlLG4sdSxpLFVpbnQ4Q2xhbXBlZEFycmF5LDEpO3JldHVybjtjYXNlIDgzOmV1KGUsbix1LGksSW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSAxMTU6ZXUoZSxuLHUsaSxVaW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSA3NjpldShlLG4sdSxpLEludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTA4OmV1KGUsbix1LGksVWludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgNzE6ZXUoZSxuLHUsaSxGbG9hdDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTAzOmV1KGUsbix1LGksRmxvYXQ2NEFycmF5LDgpO3JldHVybjtjYXNlIDc3OmV1KGUsbix1LGksQmlnSW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSAxMDk6ZXUoZSxuLHUsaSxCaWdVaW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSA4NjpldShlLG4sdSxpLERhdGFWaWV3LDEpO3JldHVybn10PWUuX3N0cmluZ0RlY29kZXI7Zm9yKHZhciBhPSIiLGw9MDtsPHUubGVuZ3RoO2wrKylhKz10LmRlY29kZSh1W2xdLG8pO3N3aXRjaCh1PWErPXQuZGVjb2RlKGkpLHIpe2Nhc2UgNzM6dmFyIHM9ZSxmPW4scD11LHk9cy5fY2h1bmtzLHY9eS5nZXQoZik7cD1KU09OLnBhcnNlKHAscy5fZnJvbUpTT04pO3ZhciBoPWZ1bmN0aW9uKGUsdCl7aWYoZSl7dmFyIG49ZVt0WzBdXTtpZihlPW4mJm5bdFsyXV0pbj1lLm5hbWU7ZWxzZXtpZighKGU9biYmblsiKiJdKSl0aHJvdyBFcnJvcignQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSAiJyt0WzBdKyciIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29uc3VtZXIgTWFuaWZlc3QuIFRoaXMgaXMgcHJvYmFibHkgYSBidWcgaW4gdGhlIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIGJ1bmRsZXIuJyk7bj10WzJdfXJldHVybiA0PT09dC5sZW5ndGg/W2UuaWQsZS5jaHVua3MsbiwxXTpbZS5pZCxlLmNodW5rcyxuXX1yZXR1cm4gdH0ocy5fYnVuZGxlckNvbmZpZyxwKTtpZihwPWMoaCkpe2lmKHYpe3ZhciBfPXY7Xy5zdGF0dXM9ImJsb2NrZWQifWVsc2UgXz1uZXcgUygiYmxvY2tlZCIsbnVsbCxudWxsKSx5LnNldChmLF8pO3AudGhlbihmdW5jdGlvbigpe3JldHVybiBQKHMsXyxoKX0sZnVuY3Rpb24oZSl7cmV0dXJuIEEocyxfLGUpfSl9ZWxzZSB2P1Aocyx2LGgpOih2PW5ldyBTKCJyZXNvbHZlZF9tb2R1bGUiLGgsbnVsbCkseS5zZXQoZix2KSk7YnJlYWs7Y2FzZSA3Mjpzd2l0Y2gobj11WzBdLGU9SlNPTi5wYXJzZSh1PXUuc2xpY2UoMSksZS5fZnJvbUpTT04pLHU9ZC5kLG4pe2Nhc2UiRCI6dS5EKGUpO2JyZWFrO2Nhc2UiQyI6InN0cmluZyI9PXR5cGVvZiBlP3UuQyhlKTp1LkMoZVswXSxlWzFdKTticmVhaztjYXNlIkwiOm49ZVswXSxyPWVbMV0sMz09PWUubGVuZ3RoP3UuTChuLHIsZVsyXSk6dS5MKG4scik7YnJlYWs7Y2FzZSJtIjoic3RyaW5nIj09dHlwZW9mIGU/dS5tKGUpOnUubShlWzBdLGVbMV0pO2JyZWFrO2Nhc2UiWCI6InN0cmluZyI9PXR5cGVvZiBlP3UuWChlKTp1LlgoZVswXSxlWzFdKTticmVhaztjYXNlIlMiOiJzdHJpbmciPT10eXBlb2YgZT91LlMoZSk6dS5TKGVbMF0sMD09PWVbMV0/dm9pZCAwOmVbMV0sMz09PWUubGVuZ3RoP2VbMl06dm9pZCAwKTticmVhaztjYXNlIk0iOiJzdHJpbmciPT10eXBlb2YgZT91Lk0oZSk6dS5NKGVbMF0sZVsxXSl9YnJlYWs7Y2FzZSA2OTppPShyPWUuX2NodW5rcykuZ2V0KG4pLHU9SlNPTi5wYXJzZSh1KSwodD1lcigpKS5kaWdlc3Q9dS5kaWdlc3QsaT9BKGUsaSx0KTooZT1uZXcgUygicmVqZWN0ZWQiLG51bGwsdCksci5zZXQobixlKSk7YnJlYWs7Y2FzZSA4NDoocj0oZT1lLl9jaHVua3MpLmdldChuKSkmJiJwZW5kaW5nIiE9PXIuc3RhdHVzP3IucmVhc29uLmVucXVldWVWYWx1ZSh1KToodT1uZXcgUygiZnVsZmlsbGVkIix1LG51bGwpLGUuc2V0KG4sdSkpO2JyZWFrO2Nhc2UgNzg6Y2FzZSA2ODpjYXNlIDc0OmNhc2UgODc6dGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWFkIGEgUlNDIHBheWxvYWQgY3JlYXRlZCBieSBhIGRldmVsb3BtZW50IHZlcnNpb24gb2YgUmVhY3Qgb24gdGhlIHNlcnZlciB3aGlsZSB1c2luZyBhIHByb2R1Y3Rpb24gdmVyc2lvbiBvbiB0aGUgY2xpZW50LiBBbHdheXMgdXNlIG1hdGNoaW5nIHZlcnNpb25zIG9uIHRoZSBzZXJ2ZXIgYW5kIHRoZSBjbGllbnQuIik7Y2FzZSA4MjplZShlLG4sdm9pZCAwKTticmVhaztjYXNlIDExNDplZShlLG4sImJ5dGVzIik7YnJlYWs7Y2FzZSA4ODplbihlLG4sITEpO2JyZWFrO2Nhc2UgMTIwOmVuKGUsbiwhMCk7YnJlYWs7Y2FzZSA2Nzoobj1lLl9jaHVua3MuZ2V0KG4pKSYmImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyYmbi5yZWFzb24uY2xvc2UoIiI9PT11PyciJHVuZGVmaW5lZCInOnUpO2JyZWFrO2RlZmF1bHQ6KGk9KHI9ZS5fY2h1bmtzKS5nZXQobikpP04oZSxpLHUpOihlPW5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsdSxlKSxyLnNldChuLGUpKX19KGUsdSxhLHAsdix5KSxzPV8sMz09PWYmJnMrKyx5PWE9cD1mPTAsdi5sZW5ndGg9MDtlbHNle2w9bmV3IFVpbnQ4QXJyYXkobC5idWZmZXIsYixsLmJ5dGVMZW5ndGgtcyksOTg9PT1wPyh5LT1sLmJ5dGVMZW5ndGgsUShlLGEsbCkpOih2LnB1c2gobCkseS09bC5ieXRlTGVuZ3RoKTticmVha319cmV0dXJuIHUuX3Jvd1N0YXRlPWYsdS5fcm93SUQ9YSx1Ll9yb3dUYWc9cCx1Ll9yb3dMZW5ndGg9eSxpLnJlYWQoKS50aGVuKHQpLmNhdGNoKHIpfSkuY2F0Y2gocil9bi5jcmVhdGVGcm9tRmV0Y2g9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lYSh0KTtyZXR1cm4gZS50aGVuKGZ1bmN0aW9uKGUpe2VsKG4sZS5ib2R5LGVpLmJpbmQobnVsbCxuKSl9LGZ1bmN0aW9uKGUpeyQobixlKX0pLEgobiwwKX0sbi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZWwodD1lYSh0KSxlLGVpLmJpbmQobnVsbCx0KSksSCh0LDApfSxuLmNyZWF0ZVNlcnZlclJlZmVyZW5jZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXt2YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiB0KGUsbil9cmV0dXJuIEUobixlLG51bGwpLG59LG4uY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9LG4uZW5jb2RlUmVwbHk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt2YXIgbz1mdW5jdGlvbihlLHQsbixyLG8pe2Z1bmN0aW9uIHUoZSx0KXt0PW5ldyBCbG9iKFtuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKV0pO3ZhciBuPWwrKztyZXR1cm4gbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrbix0KSwiJCIrZStuLnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBpKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBwOmlmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6Iikpe3ZhciBFLFMsUixPLHcsVD1mLmdldCh0aGlzKTtpZih2b2lkIDAhPT1UKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCJ9dGhyb3cgRXJyb3IoIlJlYWN0IEVsZW1lbnQgY2Fubm90IGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudCB3aXRob3V0IGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSBzZXQuIFBhc3MgYSBUZW1wb3JhcnlSZWZlcmVuY2VTZXQgdG8gdGhlIG9wdGlvbnMuIik7Y2FzZSB5OlQ9dC5fcGF5bG9hZDt2YXIgaj10Ll9pbml0O251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt0cnl7dmFyIEE9aihUKSxrPWwrKyxDPWEoQSxrKTtyZXR1cm4gYy5hcHBlbmQoIiIrayxDKSwiJCIray50b1N0cmluZygxNil9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7cysrO3ZhciBOPWwrKztyZXR1cm4gVD1mdW5jdGlvbigpe3RyeXt2YXIgZT1hKHQsTiksbj1jO24uYXBwZW5kKCIiK04sZSkscy0tLDA9PT1zJiZyKG4pfWNhdGNoKGUpe28oZSl9fSxlLnRoZW4oVCxUKSwiJCIrTi50b1N0cmluZygxNil9cmV0dXJuIG8oZSksbnVsbH1maW5hbGx5e3MtLX19aWYoVD1mLmdldCh0KSwiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuKXtpZih2b2lkIDAhPT1UKWlmKGQhPT10KXJldHVybiBUO2Vsc2UgZD1udWxsO251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt2YXIgUD1sKys7cmV0dXJuIGU9IiRAIitQLnRvU3RyaW5nKDE2KSxmLnNldCh0LGUpLHQudGhlbihmdW5jdGlvbihlKXt0cnl7dmFyIHQ9Zi5nZXQoZSksbj12b2lkIDAhPT10P0pTT04uc3RyaW5naWZ5KHQpOmEoZSxQKTsoZT1jKS5hcHBlbmQoIiIrUCxuKSxzLS0sMD09PXMmJnIoZSl9Y2F0Y2goZSl7byhlKX19LG8pLGV9aWYodm9pZCAwIT09VClpZihkIT09dClyZXR1cm4gVDtlbHNlIGQ9bnVsbDtlbHNlIC0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSYmKGU9VCsiOiIrZSxmLnNldCh0LGUpLHZvaWQgMCE9PW4mJm4uc2V0KGUsdCkpO2lmKF8odCkpcmV0dXJuIHQ7aWYodCBpbnN0YW5jZW9mIEZvcm1EYXRhKXtudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKTt2YXIgeD1jLEQ9IiIrKGU9bCsrKSsiXyI7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlLHQpe3guYXBwZW5kKEQrdCxlKX0pLCIkSyIrZS50b1N0cmluZygxNil9aWYodCBpbnN0YW5jZW9mIE1hcClyZXR1cm4gZT1sKyssVD1hKEFycmF5LmZyb20odCksZSksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrZSxUKSwiJFEiK2UudG9TdHJpbmcoMTYpO2lmKHQgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIGU9bCsrLFQ9YShBcnJheS5mcm9tKHQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRXIitlLnRvU3RyaW5nKDE2KTtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpcmV0dXJuIGU9bmV3IEJsb2IoW3RdKSxUPWwrKyxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxjLmFwcGVuZCgiIitULGUpLCIkQSIrVC50b1N0cmluZygxNik7aWYodCBpbnN0YW5jZW9mIEludDhBcnJheSlyZXR1cm4gdSgiTyIsdCk7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIHUoIm8iLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSlyZXR1cm4gdSgiVSIsdCk7aWYodCBpbnN0YW5jZW9mIEludDE2QXJyYXkpcmV0dXJuIHUoIlMiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlyZXR1cm4gdSgicyIsdCk7aWYodCBpbnN0YW5jZW9mIEludDMyQXJyYXkpcmV0dXJuIHUoIkwiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheSlyZXR1cm4gdSgibCIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSlyZXR1cm4gdSgiRyIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSlyZXR1cm4gdSgiZyIsdCk7aWYodCBpbnN0YW5jZW9mIEJpZ0ludDY0QXJyYXkpcmV0dXJuIHUoIk0iLHQpO2lmKHQgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSlyZXR1cm4gdSgibSIsdCk7aWYodCBpbnN0YW5jZW9mIERhdGFWaWV3KXJldHVybiB1KCJWIix0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2IpcmV0dXJuIG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGU9bCsrLGMuYXBwZW5kKCIiK2UsdCksIiRCIitlLnRvU3RyaW5nKDE2KTtpZihlPW51bGw9PT0oRT10KXx8Im9iamVjdCIhPXR5cGVvZiBFP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKEU9diYmRVt2XXx8RVsiQEBpdGVyYXRvciJdKT9FOm51bGwpcmV0dXJuKFQ9ZS5jYWxsKHQpKT09PXQ/KGU9bCsrLFQ9YShBcnJheS5mcm9tKFQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRpIitlLnRvU3RyaW5nKDE2KSk6QXJyYXkuZnJvbShUKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUmVhZGFibGVTdHJlYW0mJnQgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbSlyZXR1cm4gZnVuY3Rpb24oZSl7dHJ5e3ZhciB0LG4sdSxhLGYsZCxwLHk9ZS5nZXRSZWFkZXIoe21vZGU6ImJ5b2IifSl9Y2F0Y2goYSl7cmV0dXJuIHQ9ZS5nZXRSZWFkZXIoKSxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxuPWMscysrLHU9bCsrLHQucmVhZCgpLnRoZW4oZnVuY3Rpb24gZShhKXtpZihhLmRvbmUpbi5hcHBlbmQoIiIrdSwiQyIpLDA9PS0tcyYmcihuKTtlbHNlIHRyeXt2YXIgbD1KU09OLnN0cmluZ2lmeShhLnZhbHVlLGkpO24uYXBwZW5kKCIiK3UsbCksdC5yZWFkKCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJFIiK3UudG9TdHJpbmcoMTYpfXJldHVybiBhPXksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksZj1jLHMrKyxkPWwrKyxwPVtdLGEucmVhZChuZXcgVWludDhBcnJheSgxMDI0KSkudGhlbihmdW5jdGlvbiBlKHQpe3QuZG9uZT8odD1sKyssZi5hcHBlbmQoIiIrdCxuZXcgQmxvYihwKSksZi5hcHBlbmQoIiIrZCwnIiRvJyt0LnRvU3RyaW5nKDE2KSsnIicpLGYuYXBwZW5kKCIiK2QsIkMiKSwwPT0tLXMmJnIoZikpOihwLnB1c2godC52YWx1ZSksYS5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKGUsbykpfSxvKSwiJHIiK2QudG9TdHJpbmcoMTYpfSh0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YoZT10W2hdKSlyZXR1cm4gUz10LFI9ZS5jYWxsKHQpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLE89YyxzKyssdz1sKyssUz1TPT09UixSLm5leHQoKS50aGVuKGZ1bmN0aW9uIGUodCl7aWYodC5kb25lKXtpZih2b2lkIDA9PT10LnZhbHVlKU8uYXBwZW5kKCIiK3csIkMiKTtlbHNlIHRyeXt2YXIgbj1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csIkMiK24pfWNhdGNoKGUpe28oZSk7cmV0dXJufTA9PS0tcyYmcihPKX1lbHNlIHRyeXt2YXIgdT1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csdSksUi5uZXh0KCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJCIrKFM/IngiOiJYIikrdy50b1N0cmluZygxNik7aWYoKGU9Yih0KSkhPT1nJiYobnVsbD09PWV8fG51bGwhPT1iKGUpKSl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcigiT25seSBwbGFpbiBvYmplY3RzLCBhbmQgYSBmZXcgYnVpbHQtaW5zLCBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMuIENsYXNzZXMgb3IgbnVsbCBwcm90b3R5cGVzIGFyZSBub3Qgc3VwcG9ydGVkLiIpO3JldHVybiIkVCJ9cmV0dXJuIHR9aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiJaIj09PXRbdC5sZW5ndGgtMV0mJnRoaXNbZV1pbnN0YW5jZW9mIERhdGU/IiREIit0OmU9IiQiPT09dFswXT8iJCIrdDp0O2lmKCJib29sZWFuIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiBOdW1iZXIuaXNGaW5pdGUodCk/MD09PXQmJi0xLzA9PTEvdD8iJC0wIjp0OjEvMD09PXQ/IiRJbmZpbml0eSI6LTEvMD09PXQ/IiQtSW5maW5pdHkiOiIkTmFOIjtpZih2b2lkIDA9PT10KXJldHVybiIkdW5kZWZpbmVkIjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7aWYodm9pZCAwIT09KFQ9bS5nZXQodCkpKXJldHVybiB2b2lkIDAhPT0oZT1mLmdldCh0KSl8fChlPUpTT04uc3RyaW5naWZ5KHtpZDpULmlkLGJvdW5kOlQuYm91bmR9LGkpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLFQ9bCsrLGMuc2V0KCIiK1QsZSksZT0iJGgiK1QudG9TdHJpbmcoMTYpLGYuc2V0KHQsZSkpLGU7aWYodm9pZCAwIT09biYmLTE9PT1lLmluZGV4T2YoIjoiKSYmdm9pZCAwIT09KFQ9Zi5nZXQodGhpcykpKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCI7dGhyb3cgRXJyb3IoIkNsaWVudCBGdW5jdGlvbnMgY2Fubm90IGJlIHBhc3NlZCBkaXJlY3RseSB0byBTZXJ2ZXIgRnVuY3Rpb25zLiBPbmx5IEZ1bmN0aW9ucyBwYXNzZWQgZnJvbSB0aGUgU2VydmVyIGNhbiBiZSBwYXNzZWQgYmFjayBhZ2Fpbi4iKX1pZigic3ltYm9sIj09dHlwZW9mIHQpe2lmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSlyZXR1cm4gbi5zZXQoVCsiOiIrZSx0KSwiJFQiO3Rocm93IEVycm9yKCJTeW1ib2xzIGNhbm5vdCBiZSBwYXNzZWQgdG8gYSBTZXJ2ZXIgRnVuY3Rpb24gd2l0aG91dCBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0LiBQYXNzIGEgVGVtcG9yYXJ5UmVmZXJlbmNlU2V0IHRvIHRoZSBvcHRpb25zLiIpfWlmKCJiaWdpbnQiPT10eXBlb2YgdClyZXR1cm4iJG4iK3QudG9TdHJpbmcoMTApO3Rocm93IEVycm9yKCJUeXBlICIrdHlwZW9mIHQrIiBpcyBub3Qgc3VwcG9ydGVkIGFzIGFuIGFyZ3VtZW50IHRvIGEgU2VydmVyIEZ1bmN0aW9uLiIpfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYodD0iJCIrdC50b1N0cmluZygxNiksZi5zZXQoZSx0KSx2b2lkIDAhPT1uJiZuLnNldCh0LGUpKSxkPWUsSlNPTi5zdHJpbmdpZnkoZSxpKX12YXIgbD0xLHM9MCxjPW51bGwsZj1uZXcgV2Vha01hcCxkPWUsRT1hKGUsMCk7cmV0dXJuIG51bGw9PT1jP3IoRSk6KGMuc2V0KCIwIixFKSwwPT09cyYmcihjKSksZnVuY3Rpb24oKXswPHMmJihzPTAsbnVsbD09PWM/cihFKTpyKGMpKX19KGUsMCx0JiZ0LnRlbXBvcmFyeVJlZmVyZW5jZXM/dC50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCxuLHIpO2lmKHQmJnQuc2lnbmFsKXt2YXIgdT10LnNpZ25hbDtpZih1LmFib3J0ZWQpbyh1LnJlYXNvbik7ZWxzZXt2YXIgaT1mdW5jdGlvbigpe28odS5yZWFzb24pLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGkpfTt1LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpKX19fSl9LG4ucmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRShlLHQsbnVsbCksZX19LDkxNTk4LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig0OTcwNil9LDc1MDQ1LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig5MTU5OCl9LDU5NDMwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByLG89e0FDVElPTl9ITVJfUkVGUkVTSDpmdW5jdGlvbigpe3JldHVybiBjfSxBQ1RJT05fTkFWSUdBVEU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sQUNUSU9OX1JFRlJFU0g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sQUNUSU9OX1JFU1RPUkU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sQUNUSU9OX1NFUlZFUl9BQ1RJT046ZnVuY3Rpb24oKXtyZXR1cm4gZn0sQUNUSU9OX1NFUlZFUl9QQVRDSDpmdW5jdGlvbigpe3JldHVybiBzfSxQcmVmZXRjaEtpbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gZH19O2Zvcih2YXIgdSBpbiBvKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHUse2VudW1lcmFibGU6ITAsZ2V0Om9bdV19KTtsZXQgaT0icmVmcmVzaCIsYT0ibmF2aWdhdGUiLGw9InJlc3RvcmUiLHM9InNlcnZlci1wYXRjaCIsYz0iaG1yLXJlZnJlc2giLGY9InNlcnZlci1hY3Rpb24iO3ZhciBkPSgocj17fSkuQVVUTz0iYXV0byIsci5GVUxMPSJmdWxsIixyKTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MTc2OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJ0aGVuImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnRoZW59T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJpc1RoZW5hYmxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sOTQ4NzksKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2Rpc3BhdGNoQXBwUm91dGVyQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHVzZUFjdGlvblF1ZXVlOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDkxNzY4KSxhPW51bGw7ZnVuY3Rpb24gbChlKXtpZihudWxsPT09YSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7YShlKX1mdW5jdGlvbiBzKGUpe2xldFt0LG5dPXUuZGVmYXVsdC51c2VTdGF0ZShlLnN0YXRlKTthPXQ9PmUuZGlzcGF0Y2godCxuKTtsZXQgcj0oMCx1LnVzZU1lbW8pKCgpPT50LFt0XSk7cmV0dXJuKDAsaS5pc1RoZW5hYmxlKShyKT8oMCx1LnVzZSkocik6cn0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMDkzMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiY2FsbFNlcnZlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSk7bGV0IHI9ZS5yKDc1MjAxKSxvPWUucig1OTQzMCksdT1lLnIoOTQ4NzkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKG4saSk9PnsoMCxyLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx1LmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpvLkFDVElPTl9TRVJWRVJfQUNUSU9OLGFjdGlvbklkOmUsYWN0aW9uQXJnczp0LHJlc29sdmU6bixyZWplY3Q6aX0pfSl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4OTU5NCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZFNvdXJjZU1hcFVSTCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"time_used":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":"coinlib.io/_next/static/chunks/c0a6ae515f4d245d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.041Z","timestamp":1785124600041,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/c0a6ae515f4d245d.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 3812116\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"c0a6ae515f4d245d.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"42e2ea745a52c479ce79b9fadf7f2ed9\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/c0a6ae515f4d245d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::xwt97-1781312483646-eb94f2b460c3\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=YqziCmjL3lcdLOIbf8IvFJTR4AEeGSlhdv2tSz6loAmZCwC1zkg65TF%2FS0tuJrYwGsOHEM56DKRZpIODz0w5e5qIS%2Bjls2GnXkl6Lh98nR22izmsvlQwvCxAT3w%2B\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e499656b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":3649,"size_decoded":3724,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3649), with no line terminators","md5":"42e2ea745a52c479ce79b9fadf7f2ed9","sha1":"0cf08999016475d70bf072b7878daea0244184e3","sha256":"2746264358bea944d3523f9c66585147897903d73b7b42e0bfd599f2492e3315","sha512":"cf4f42621c9615fcfc08b325ce391ff9e3af8b94fe80c1e4118eb1e52ca88e0b0409d0c36bc96f50a26ac3ea232630521e1a8077e10d05438f3b7fb8ebc266a9","ssdeep":"","tlshash":"af7165f0a702b23409ea41de5079c778b53d3658512e9420d1badc7f626cd8964b2ef3","first_seen":"2026-06-13T02:21:16.197988Z","last_seen":"2026-08-04T06:18:34.219548Z","times_seen":1751,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQyMDkyLGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDc1MjAxKSxyPShlLHQscixuLHMsYSxvLGwpPT57bGV0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG09WyJsaWdodCIsImRhcmsiXTtmdW5jdGlvbiBjKHQpe3ZhciByOyhBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mb3JFYWNoKGU9PntsZXQgcj0iY2xhc3MiPT09ZSxuPXImJmE/cy5tYXAoZT0+YVtlXXx8ZSk6cztyPyhpLmNsYXNzTGlzdC5yZW1vdmUoLi4ubiksaS5jbGFzc0xpc3QuYWRkKGEmJmFbdF0/YVt0XTp0KSk6aS5zZXRBdHRyaWJ1dGUoZSx0KX0pLHI9dCxsJiZtLmluY2x1ZGVzKHIpJiYoaS5zdHlsZS5jb2xvclNjaGVtZT1yKX1pZihuKWMobik7ZWxzZSB0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0odCl8fHIsbj1vJiYic3lzdGVtIj09PWU/d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOmU7YyhuKX1jYXRjaChlKXt9fSxuPVsibGlnaHQiLCJkYXJrIl0scz0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIsYT0idSI8dHlwZW9mIHdpbmRvdyxvPXQuY3JlYXRlQ29udGV4dCh2b2lkIDApLGw9e3NldFRoZW1lOmU9Pnt9LHRoZW1lczpbXX0saT0oKT0+e3ZhciBlO3JldHVybiBudWxsIT0oZT10LnVzZUNvbnRleHQobykpP2U6bH0sbT1lPT50LnVzZUNvbnRleHQobyk/dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxlLmNoaWxkcmVuKTp0LmNyZWF0ZUVsZW1lbnQoZCx7Li4uZX0pLGM9WyJsaWdodCIsImRhcmsiXSxkPSh7Zm9yY2VkVGhlbWU6ZSxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOnI9ITEsZW5hYmxlU3lzdGVtOmE9ITAsZW5hYmxlQ29sb3JTY2hlbWU6bD0hMCxzdG9yYWdlS2V5Omk9InRoZW1lIix0aGVtZXM6bT1jLGRlZmF1bHRUaGVtZTpkPWE/InN5c3RlbSI6ImxpZ2h0IixhdHRyaWJ1dGU6cD0iZGF0YS10aGVtZSIsdmFsdWU6YixjaGlsZHJlbjp2LG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pPT57bGV0W3csU109dC51c2VTdGF0ZSgoKT0+aChpLGQpKSxbQyxFXT10LnVzZVN0YXRlKCgpPT4ic3lzdGVtIj09PXc/ZigpOncpLGs9Yj9PYmplY3QudmFsdWVzKGIpOm0sQT10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD1lO2lmKCF0KXJldHVybjsic3lzdGVtIj09PWUmJmEmJih0PWYoKSk7bGV0IHM9Yj9iW3RdOnQsbz1yP3koZyk6bnVsbCxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxtPWU9PnsiY2xhc3MiPT09ZT8oaS5jbGFzc0xpc3QucmVtb3ZlKC4uLmspLHMmJmkuY2xhc3NMaXN0LmFkZChzKSk6ZS5zdGFydHNXaXRoKCJkYXRhLSIpJiYocz9pLnNldEF0dHJpYnV0ZShlLHMpOmkucmVtb3ZlQXR0cmlidXRlKGUpKX07aWYoQXJyYXkuaXNBcnJheShwKT9wLmZvckVhY2gobSk6bShwKSxsKXtsZXQgZT1uLmluY2x1ZGVzKGQpP2Q6bnVsbCxyPW4uaW5jbHVkZXModCk/dDplO2kuc3R5bGUuY29sb3JTY2hlbWU9cn1udWxsPT1vfHxvKCl9LFtnXSksTD10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHcpOmU7Uyh0KTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaSx0KX1jYXRjaChlKXt9fSxbd10pLFA9dC51c2VDYWxsYmFjayh0PT57RShmKHQpKSwic3lzdGVtIj09PXcmJmEmJiFlJiZBKCJzeXN0ZW0iKX0sW3csZV0pO3QudXNlRWZmZWN0KCgpPT57bGV0IGU9d2luZG93Lm1hdGNoTWVkaWEocyk7cmV0dXJuIGUuYWRkTGlzdGVuZXIoUCksUChlKSwoKT0+ZS5yZW1vdmVMaXN0ZW5lcihQKX0sW1BdKSx0LnVzZUVmZmVjdCgoKT0+e2xldCBlPWU9PntlLmtleT09PWkmJihlLm5ld1ZhbHVlP1MoZS5uZXdWYWx1ZSk6TChkKSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdG9yYWdlIixlKX0sW0xdKSx0LnVzZUVmZmVjdCgoKT0+e0EobnVsbCE9ZT9lOncpfSxbZSx3XSk7bGV0IE89dC51c2VNZW1vKCgpPT4oe3RoZW1lOncsc2V0VGhlbWU6TCxmb3JjZWRUaGVtZTplLHJlc29sdmVkVGhlbWU6InN5c3RlbSI9PT13P0M6dyx0aGVtZXM6YT9bLi4ubSwic3lzdGVtIl06bSxzeXN0ZW1UaGVtZTphP0M6dm9pZCAwfSksW3csTCxlLEMsYSxtXSk7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLlByb3ZpZGVyLHt2YWx1ZTpPfSx0LmNyZWF0ZUVsZW1lbnQodSx7Zm9yY2VkVGhlbWU6ZSxzdG9yYWdlS2V5OmksYXR0cmlidXRlOnAsZW5hYmxlU3lzdGVtOmEsZW5hYmxlQ29sb3JTY2hlbWU6bCxkZWZhdWx0VGhlbWU6ZCx2YWx1ZTpiLHRoZW1lczptLG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pLHYpfSx1PXQubWVtbygoe2ZvcmNlZFRoZW1lOmUsc3RvcmFnZUtleTpuLGF0dHJpYnV0ZTpzLGVuYWJsZVN5c3RlbTphLGVuYWJsZUNvbG9yU2NoZW1lOm8sZGVmYXVsdFRoZW1lOmwsdmFsdWU6aSx0aGVtZXM6bSxub25jZTpjLHNjcmlwdFByb3BzOmR9KT0+e2xldCB1PUpTT04uc3RyaW5naWZ5KFtzLG4sbCxlLG0saSxhLG9dKS5zbGljZSgxLC0xKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiLHsuLi5kLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxub25jZToidSI8dHlwZW9mIHdpbmRvdz9jOiIiLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6YCgke3IudG9TdHJpbmcoKX0pKCR7dX0pYH19KX0pLGg9KGUsdCk9PntsZXQgcjtpZighYSl7dHJ5e3I9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl8fHZvaWQgMH1jYXRjaChlKXt9cmV0dXJuIHJ8fHR9fSx5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiosKjo6YmVmb3JlLCo6OmFmdGVyey13ZWJraXQtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbW96LXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7LW8tdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbXMtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fSIpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpLCgpPT57d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSksc2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQodCl9LDEpfX0sZj1lPT4oZXx8KGU9d2luZG93Lm1hdGNoTWVkaWEocykpLGUubWF0Y2hlcz8iZGFyayI6ImxpZ2h0Iik7ZS5zKFsiVGhlbWVQcm92aWRlciIsKCk9Pm0sInVzZVRoZW1lIiwoKT0+aV0pfSw4MzY2MSxlPT57InVzZSBzdHJpY3QiO3ZhciB0PWUuaSg5ODEzNCkscj1lLmkoNDIwOTIpO2Z1bmN0aW9uIG4oe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCx0LmpzeCkoci5UaGVtZVByb3ZpZGVyLHthdHRyaWJ1dGU6ImNsYXNzIixkZWZhdWx0VGhlbWU6ImRhcmsiLGVuYWJsZVN5c3RlbTohMCxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOiEwLGNoaWxkcmVuOmV9KX1lLnMoWyJUaGVtZVByb3ZpZGVyIiwoKT0+bl0pfV0pOw=="}},"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/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.261Z","timestamp":1785124600261,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 31aac21e71e934aee41bcc82aeee1463\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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":"fonts.gstatic.com/s/asap/v34/KFO9CniXp96a4Tc2DaTeuDAoKsE615hJW34.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://astroxcinvest.com/","date":"2026-07-27T03:56:39.853Z","timestamp":1785124599853,"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/asap/v34/KFO9CniXp96a4Tc2DaTeuDAoKsE615hJW34.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://astroxcinvest.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: 43432\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:35 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:35 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 04 Sep 2025 17:26:23 GMT\r\ncontent-type: font/woff2\r\nage: 398704\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":43432,"size_decoded":44245,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 43432, version 1.0","md5":"3e1800efc8e163fc672a9ec618301728","sha1":"0a59b8246fd479417f6d161db78f0fa80dd10de7","sha256":"4990095a31b381678bf429baf3f1320600830d366137a9053f5a89b0c2620a43","sha512":"580b2ee170dda348ceb586db6800ff206bfd03d2c298818b9e7891e46db307b9b3e03b94120c5de8030166e1b6238322bb48fad575f6df671b020f282ade3f9c","ssdeep":"768:TwOnk8j58wScpgE+fG0u6KLaW+IYK9mZAFg4vLjKCXVg+SIb1a66h8EhTh5ju:TLl8wnpgzGdNLk3+g4T0l9hThxu","tlshash":"e713f2a375f9451bb2d726a1e1e38d544bb4cdab0c0602fe5719ee5d0bce84e06182de","first_seen":"2025-06-25T22:49:48.742012Z","last_seen":"2026-08-04T00:16:47.518275Z","times_seen":4036,"resource_available":false,"data":"d09GMgABAAAAAKmoABQAAAABcWwAAKk1AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoQgG7UwHI8uP0hWQVKDNgZgP1NUQVSBTicuAIUwL34RCAqBvmSBmScLhQoAMIOkZAE2AiQDihAEIAWILgeOOAwHW8daUcM86zB0J4JGVWpzzzSZbu6U3iz9dhpHMk2442HjAPBh72pn//8pSUeMxaA2gNPTrH+jJ8kjMCkoqikyabOOruaZmGmZtqcsoTgpqKw9BBpRIMI13lowxOWfoe4GhZPuoku6m9FEXk6rjWuBQDfc8c/h0Q6PgYo/p5VH/+K8yXezBj+/NjpDyZHxz247MI0ejT5j/9GdC57Bfr/Lvp4Ult3wvOLnrgJjl82IWHXq5fl4u/75tat6eu4TGP3QViZGFCLjDM/Prfdr8TeWf2u2MWqs2QZsMNiIsUFLC0ikKIICgnoGFirGYZz2GXVmY0SeZ5+eZ5+FnqLAfTYrvoyIBCyW1DzdM7PLH/gA0Dp3zXPMlVI9B+Sxde8M69j8QLxAw83Cqsqc1KVSs8m9ToIQ8Axk+LxDDvDY8jB2DSA9sh/KTkrRfvCbvQsGwdy+iHwN1SYihpAMyWi2BLHIO7Kz2chPFNUF7mCePNFfNvt/u3tI0vLd+xA+AJg5duzc5cottfSey7GD0JXbEUYAeHGvdlc0o5lpotOHOiuJLTDEjmOHHFrgwBKoaq8qM9kHIuyAhnRWJTfgzg4uDj9zdP/hh/dBdFF6PXqi8FOGJRpocLeBRFSiIqlKJbBst9uDOut7J3ESk2xZkiWDTBDHTngytDsP+JDbK8pf3z4fNPWvf9ESwS7PwwG8b63eq6qGgSX4gDoSVV6MZ+PjIl2MQYu0H2hvb2ahp7EqwUACdXgCHsfnOI6Ty3g8SVYA/8gcE5GHmvehbQl1q5aLaF+pLIvCISJvcvBiXuLqftOm1odlFxBH5Ll3hgLw1i1a/SuVp4QpJjdvuQQp3MP/z+1BLAPtlub7njvjFmpy/ktVu/7/wU9/UHI8Y6VA2gbY5r5BKpByl7TY3m7ttqc9Dv4MOJgZgBwUUTMAGQ1IKSYoyR6Asg1AUh4aIYKUacppslZpSutytqQPSEkPoJw8lhSVdDm1nbantHLbU8777j5uacdcjnl7uG4/nK97CkSlK9Nb9Y33gfZl4sgX2Rz7swuVhQf6knWjLRnofg0IKRDmTiLA+IPQ/6dq2WIkjd7wIrjV4OLgnD4uDl1UIVedi5KEeG8pKBwIkfeGIHcfQF2AcGlI6t6DIG/W6oLOSV7nUMY0xO7a2Ezpkpz1djs3VYhN4eeqt8vo/7/Osv0ar5eqEHTN7JyTPnWq6uu+J3pfsmSMInsA2RCQveTdAHUAWO1JXaUvY7GWZVUD5sCkXUc7F5NBIO51PF7rO98+f47cbckwBDdcjDGu6qrCNSI1wYSQWbavxzvG1B4radK17bYGR5QpJxxgNA/9/6vLN/cjQpwNWGijQAhKVz69D5n6fg5bfmPRFWctaoYxCCNAEgQO6QLyaP8AjXRGBXY3YFhWX75vA4EoAmwGfALwbwyYOKFUFIRgkCmmAwIFJcy3CgTDkUA1LLnICgui+jx0yqwIjBkmCcFIkgI2TTlbqZ4dpnF4uDYNDxwGxDBY4QSDCEHWJz7F/tFAoothZs0JDUePTpCGUHIeOS67EQxpW6cGIKk4BBUEjmbDEAzKBAcPyEaw4zvpKEDkXSRgu3921/uvVbh7f/p/x+7b24f/v6df3j58ejd8ei98dr958UD4+P4XP37wzidIfGbWhmnc64fBORpM4TaX7qVyQf9jfy29CSahEUwCDBkwbAxmAAIAzqBQ4lVDtpGEksoPxAdfPiCFjMJ+Tgc+JTIcjLXGabuVMwbwRnTOhZvx4tv49kt+sepui7Ks9PYOHr5aPjzTD2/jGwIAQgYAzCAGfwVqrnX0Meac2dVT6R4BwwA4F0JIKaWWRilry7LSOqber1IBCPIxxwAcu5vzo9sJxBtmtXBDIVe9emsEins00CIQ9y1FBRRQgDEA6KKSugWB3uduRjmin+k/pBuU9xssq+LcGAkZoMjaAqt4OcDKuqFr/1ghsj95gcElHHhYILgOLZ+OXqD5K/pbZrEObUZrUCZPqjjh1MQQ+TsODmDTE4E2ZZOXVXAQEOZuXNeSRMpnbs5mLemk9CusZTlzvPeYTVwKZ3s6azol1oVP7oT5fSmblfBeN6uXfrPQO3Y6l2oAFjmMckthW+iiu2oAudZcWHOBrFkhbIeTkSA0o3LNKoSL/FFtMKgLNSsFNHdZI2DO0mFMY0pBWtpTH/Jyoq7VPF6HegKpB4QokOrJwLF8g+OC52Z1rjyRBF1rnFJ/yvam8ddQNl/2DQBKE6EsXUtZGEPMhEU8HW3wJmwvGwwDaMVMFEZ3Yhmt2tCv6L/oHfQM2mnFm9FV6EJ0Fjp2hE25FWg+mo7Gx9Z21IQqUQ5KgWaQ3u7qcv/pe32hD8J+d2/sFb24O7qtRyN49W7ogV3UWfZxbWm/ljXROAKw7OqurvqvXtajuls36lwd6cW1tdaIvBiww2ivUfA0VUXly+loFV/OMlZAKUoMGMCjmFUk6Ge+5l94P8iNXMoZuRPwUqed2Zx1mZ+2DE1JciAnw4iPM7QOjyXq+EUWYRhc/qUa1ZZp7GSqlymBRFCrdwQgT0FXtdMBGvGFzzt9ZHDkDPFRgEwrOprRZxLaCFmvWYJIEwCitC53bPOsmF+wWGBDmikRvcpYF5EDN0KoTicSHShnkJwzSKnoE+9avX0EYgle1c6Z5sLSzMgc1zIXbELhO4yZa1IOvYHBneAurM4lDgDxa5IMXHCj8bWeUJks12MyMdm1nQFfWFDb3IbXMRCpiMrOBUFmqai8gaxWSO1DaaoUcJykPpS8BLbOVpGeELOoKgDC5FjCEsbr+k5Ku7Z9hE3LklnblmAVqG2DKprLhRknwhyEapo5qyHZ8ys6cVs19GFZ7NpWCJ1pbnDp0ANT4ZBw0/VjVdk9cCLFtlhDDK6Ad2rx1ALj0Etnoei/e0ldu7Z6e2N3J241pyled5tEbtbW45SABN1wfXb94kzSveurc9EJoHVbzaoIrb0kUYhVVOrOQoQPzGRoWjRhE6n8XC5zkblBmYd6KRnKSlkfMlfKJxaLOSNmherFdCNa0Fa00JmPccQRkmdsYWo5JInGBLEmvypsXGeW/YvtUhGGLNZxN299YvJk4mI+S15nQNYF52J0KNvjrEVtdcv+6lwUDkalHXwAGPGQRAmDte7IQyvjmZQYTEan5EfIl4APAd6EvBx5LvJY5L5spfi6gCu/s3c/UTNDi41ooE/FNhvtqKAtykIwWwtsx0AvM7eH+sFOQGDXQbKxILYIqm0xtBs4tmX7ysQ0aZrzfLxr8r69Xv5BX+rOXtfzbdvSzV3VJZ1e6+zQDmi+YzUYc8ez6kM9qWt2+bHaXiuqA7XtNanG1ojRgVXWLN+dgTWTy17akhZ9fP+41xO4azlmto/d+OfFmZdZGZu6FCX1qutJTK8mTNNG+q2NZa/t3dlVNaK8hw4Q6YVJ8JoH6tuDxQIMNf57o09mOMMr1tbO0gf0AVm6E1w87LLaQ3sVlUwKrJeJJP2R23MqceqbsFLD3912uUg7HIbhhpjorLIQ7wZ9Q5shMg1HgNCKVOdG/Ia1N5OqAVmuCNwZeoGSkoBBilVgrAhbY74P6AN6gbLSDLNoSMkNWSNIHN42jVDxjlktcaNh3lZojth6w9uXrEOlf0ItDBulzND8Y7bubueTEbTNTKhcinpbTpAVE1HqQLhkxFRoGtbDiIOIdoQykRXga4PYXF51LMXsQvb+4jVSzYDjJcrlD1aKqKGWsYxjgk48Py6TMQlMsaltCI0OpFSEkFx2hsyjQEx1xN0JE0IH74DiDJT4FN5633QbmHsjC3vEwOGETrQ6kgkeC8oRmCqnbG/OqJYJZLx/tc9xtvpr5N7y6wiz+gAqv2CnZNJcw0LupRM7vEFl6tm4f2bvjmvbG5kGmAktbFg7H5k9K6wc8wkdQBE3K2zNXHS1VEkHn0PvSL5ahdiVUzWBgwZza95FmTpqT+oPKjcekpP0J1F7/ebcwFaPZ7tGuekhdOAmM1fuqeXBGCb7bJdykV4FwcvdKCUlRmOse5CzEo3L17969CKRVGsD1/5By1dV/f1EMmv3duMnKlVTXbrcCXtqbDJFbYu6lQbQ9ZQ1yRPooi7vvlgV78iZ+Qg5HEcAO6NsQU12bFJNNFFlCZaj11/0nVjaJJsauQEP0lp/ALcGbUdaGj9Rql8ddjO/v5aNHyTCQMY+KHRMrVUfMPuAT7P4tzDZLfZwOBMM1IaVJjO3J93VJsdrmtEn7ozSzfXHmD3ym2vXdEFjjJEqOHDOG61aeCAUYw2GnZ5AoJNS8OJHjXPU6CSiZyRmYuctelyeSoJEQVLl0ChVz6KhY2MN7xTnF+O5tJki2bSOTTV9tWneeCfdF90y9QW4FZhJ3cBQ4S9AQwfjsTCpr5AfDZie8oLwZ7CyYQr39xbBjipSZVVlwGJ6A5FIf1ySTJAsliabZcvphMs1AFmRYnwlHUtW2hlXppyXClVIqtVRrgdLMpTFDVOhFg2SRrB0TSrebieOZqOgfjEaxRj4y43VimL8Nq62hz7iUdohEZGKzDC8o19JfBMn1a1SY3T3ERICmSGMNqegZZLiq2WkwRuj248KyCnEaWlzw+hojI7KdJTFLAwt82Aj61IkUFHDupBUtB6+CZlQ2+DBVcwk+NANZobkdaKoVak93suSlhlrkyBNITd75fUHdOhKUFfk/9GJfXMS351Yt0qM+fZOkAxxgKPZCl035wsxdmvege7UtMJMbdwX1aYoRWUO0uhHMX4H8eOFYad6m/htP/4CBFIJosaEnsm4tmEhWpYF2tDe5Mcap9UU00z3ymti+Ljrd14zDJiwYMOBCwEfAUJEiJHgjQw5CnxQ4osWHQaCFTp/Xl/KzkoM5VgEYT9Rfr9oSsKr0zQW0rt88uc4mugD2UxXixWuCPXxKXo3R8Ci1wdC8WFS4SAW9j5FGdpOpKep3UuWazhUy9ATNK8mRKgwWaaA/Y3wCVE8z1sQSFTetqP19gDjwGFAQQh2E4C1KRg05+18iBNAPbyVIPMe2GrDSC36lW5d/odZV8mPZtZ+lQyX39UyewV0983y/6DrOms8XA8uN2i5Tt1ft+Ta/JDcdM17TGvHRl83ZEDFdfCkJj8oBg0T8PsJCwcXD5EKhBkIIxCvQOiB0ALBA6EGQgmEHAhpUwxbGem72dJDiv26QKLPJv8upRIS1l3KZY2gFfdXZej9bwCeBr7dt4bdw6f71h8leD33nqfc4wYXOEEnu+/cHLGmuvTs1+GyAfPfjtdCx3uzocCMj0vRdrdUYQohmo3gZKHAvbCFZ5gmaeAJiJfQhSEcQwshcfCNMJ9wHIEhR/+Skk1zpuTJ0p/6Ti+czizqgBY2HnrgouYwoijGLOhS1k1malRhBQZddhsqqoVIOiq7E2Q73Gekwf5mLQT2Qc7rnaD66dO41QkK3fjQfbo2gIwQJ5/euzLtmrtNj2eZBhmJOtUvygWBPGRFaxf/n4TV1lhrnfX+sMFGm2z2qw6zzTHXPL+Zb4GF4DtEdBV5oP+mEh4kCTKtDJOo+HDhRVNxKoQfIToN1BmmX5j7znFKnhP2VxLjwJ2M1BN+eLbTTPUs2AUgocrydvamQ0Rry5l5fH8DC1eeaAQj4O/kclGffVEVywCJAXE2AGcnTK7snQOoUHBTYEuM5WUVHJ8UzFuJHPZbJ1VkQPoHB4hujDYSltes/u7Pn2WWNmM1q1OlSI5U8ZzCWeipKO9YM1pNpP84E8DGchh2UTMTEegkAdBmSFiyHcsz+VKZsTwSycLuyOBVdebYCE4Y4XCGKAjaURf9+3hQRsGCY7COwz0uHLSGISqgVcSFJMILMYS2NYEF0gzoHW3DCuLVSpVr73ba28IMc9NlXrnoazWH1ID4BTwVznSRmxnlRGkY/PAHBIeHQtbQSEbOsvoYDEtCCqIoDoAcrPdMYNC2aODLJhz6hBpK4pMUhAWSaDfAXF4gK+2HXhoF71U1RBctSkEp5lQ8veZwSG7du3BwYu7sFJ/cI1Mmt3XxVvRO73+Er8YJySgMA2pTMIiED0D1qrOxFg1RpG//JhP6uYjlq1zYVwPBX/NVfNkR3yFMvwgs/IkT/2ti+F8I8HSgW57yOh0woJ5deYDreE5uL77wsin8RMB7bLk3jNzg0qn/rs6HtyHrRgNMB0JRgF4CSj2hgQEOJkCdoiIdAWlFZ8GPuCtyBO5HvHBI1Lyi8QJECTZfu7FP/1koR6IoJgH4babh+CKaHrwaZE9PutxpVyvutKM677St8tgt6YJNhUBHOedOGyDttnXgHK1bAyp+GKjIha8K1cSl33766my8KcoEWPvl1ed3vXRnY8CM/7RZ1TO27qaAttMIyLNoLZWvuubCoN7z1jGwGWuzvhQUnMzqrDN1rx40hKAIFfE9CCu2KsQKmUKpCFCYFeGKOMX1IaXP7ENzD3OUvL4+DOsoGIVbYavARRkaQFSl4PItCqFC+kubFDbzD12ENXfwthgZgcD/n9Y7vLest7Q34P858P+VJ99+8hcA/OzzyX7/7pNTT8b8rPKn/z6e4832sMe2CH+z123946fD81K0JS/0kecutek99dse6/NdrCiDQAD8wQfP47vvjXteeOBh0ogj8XcwgOBovDARePgEpGTkfCj50dIzMDIxn+Lk8H7xSJ+91BWF/7KJkfhgUzDszJItZ0SurlSZCpWq1RumQaPhms988pj+fWe8j6GDT5G540kMiBsmRMQLwqCwkMAMPyIPGYoKFfJ2063C4xMUPMvhhpl+Ou2EM54iHbvPD0NGRcfFwsYhISQixuBLdRrNqgVG2EfDzknvOXY6TeLFiuPh4pYgWaZ0/WQYoL98BVJVGWygGkMMSqTWKC1GGGmcoVpp1I30k33X7Yv/ffP1QKDC+2SKCt+aSahYM7rRhLfpNQDE3mshLwB8jlkPMZ05O7QxbOb6bA5X/iuYreEJw2RoewQbzpWdEdHtStdQlI1nL42PPqU35KpS6pmliwN7XwUcui0A8x2B6bmm37wAD+GUMQD5EMXB24qQfi2fJQGCxCFDqUbJTwQJU6W6UCZ92RgWKpFcZQU/PdjB6bv60Pde0o1iZZtgZfltaaoiVqfaAJLi2hVKrYlUu21KIglwwMMwxCwxBWGV9A7C/YigtMwM2ycGodyknWC4gWy9DdSuEBvRluU5kGFvz929DPIGnaw0jXYFQONYRhDLBavkt6s0iDaLJNlbgTcCOgZFDhLNiqTmITQmkLeca1+gfoXX1pFUgBQkoDo4bNpDbh7ti01jTMvVjUavVE3TWwj59I1EXuz46zsytKwehEoz47sZpFDlxk/QtMVb4lSsOMu2W0IYC9kZwu+hL5lJ25AcEpjJ9auK/RPpAmoUfrvPzLW9WbL0hGuVomhxzLUJ9ssy1KGuK0XqcWeLZPreyt+JpZF2CryPb3uSpGwmKVMcVhE9r8iRkjgdlzWZK1zWgESysdDkuKuTEZ8ANITWoKMBQ9E8Cg97GjLgxVjaYsh9uQoXCXYilF+HiuvCgg1bcCDXQjsBjdFpdp7lC7CIZYPM8EehhjSfvoa0kn6A5cyuIK2TVDOQ86d1an3Zm8UIspUasJEf9LbtzMl8+9UhxO+bFj7uaK0OAx09d2ABxLACwn88jnYZuJkz9AHs9QPKGn+0kNHIpJPWBudnNCaXqWEMepdMmVh6JKmg0NsM0jHOI3dFOp0H9SNFONVOw4hw0FFt9nV71giJ3Vrz/sk0MYeR2gPGXT1hDsK/IAAcT0GlyWSGW8jotclX7Q1PkCGfJ1sxVr9zOGfphVGPwjqvnb/RBwzFPgYGCSP8EzLt04R9M1CeGbBKZ5itL09hrHwjblhVMwJj1YrUJ3sbDf6zvPfwScaODrr92maoq6LLKHIDNp8cKPIAzRAaKCKoGiT1r56CV123Ug5kj/SdTHDWeZCfilUDvVoimOGTxO/A2LOuXl9F6Cow7/Xuy7/1nyAF1kjuae9n9/LPBcYwXO/cr0bhGsPSeXb+1hQt62V97SqF8NQwT7DOLLOp05bUPh+UcU2KbKZmhd7Qc41vc0atogwcFuvBPYyarN3iZDlp2j6DvUJHeXd8RcS9BjqFl7itqurNNIIRsoPnIXm/yZBg9hzS7WlT9HYJnvORsw8OYQFl4OsC6WF8cYIuW5VYkbw6NykmJKwHL0fAZC5+FkbOFxoS3Bo+GC1yPphH/Ye5ppBdmE8CFF6BUe2mjgfgRL6tHB//+ojE84Eq1rcVwaZV9RqI6lqpPT9q0qpjPG/LWwVXa6ScopaRsIB7TU8w2JSl+hGz0vMB7KaLNoXEuGMbiCYHgjrjKyuzrcsUVmgM7PiTYsKQy8x38t9scSYATC422jkY1nGwx8x+AfsQTzGcGN0k+0XQXRfFbXTS0xlLTvb/6u9rrY3bLn0lL9rVaap6xskmw1c0gVla4x5ev5sGrq1bmn6FBVhcX6uP11NRyRieEFmHByyA20oFf8tLrjyWC6wZK7K2D8gYLkrY9c1TiicGxj5Jn9th2xDIMSw9WkucoKa5x2F60g/I9e8gBRNSXfcv/XF2I4xy3e5y/myZyJvjfadnRYzxsHgQ2+Vd7HlIXM3ExFrHsod5cIOmiKCV4d5jQ99eECdlg+GOn8u3yBxI7s63JbQGJooxzFnlVMJVOWrXu46BY3Gkpp70PD61ouMXT8Ze7dzBWCNvODyMmlVTL1HqzHsDaXR/1AyI8XuzH2IwzLQihcB/d7gP9i8lzPM9dBnaTDeW8hUodFTkUPMNayQL3/C5ffvTqKcxVEh0ERjetUGypr0gYNky9klruac952P3knEIOLdfdGqwk7bkGLqOBw6pdU8va4tqkJly7kwouur4FM2CCUPNcTvAkgbvuVo36HVF0mehLakrjiBqdHj00RyI37uqN9MIChZOuvoOJB1V+vg4bWT3zHpHchDWXMRjbDwbVzgvTilVs1LcQ2yms1ceuB6oL8/ZkiqavJr1Znm1e1XBVvioQwXy/F/fD2M9QG82VAYoB70/opVUVjpKOer6jkMO4yjT9BAE+91vw5eRZaj859TvkMH2hhnQZUyo9OSzNew44k9F1JesMPw9MxaaU1zXDaqg8esyhcVai83yHkjEgLokEBIShkwrjO2hAqUObn4IkO7zdfYzHLncxD5HhKu1+q6n8NNonNcuhNbi9mygL7BEWQiVBEgdjPHLAGEF4dPJ81YviETWuA1VbD1K/UwCJi/xZnBZtyStO/M0KwXY6kfPzoxSn0n4xGF4Wun7INUWblm2lBcq/FPHcavG4ojDWDScSWuEVLrlV5OQCe99oxruQA/5n7peiceyxbzg/ggySIdLL3m0yJmtouqDRLZ/OAiSOI2+1nF3OLPO4zMJXvg3za7yhkMI5gzknSEVj7TLIrO81dGYpgTo6Tpapc9L5RikYlUtfQxKC2KwzWK+Vd8U61ELxDf4ANbGvdGkz8JAurMhRvJG4SYQWiI8aCT722LtKdOttE5TljtUlet1L2UdwYiWdIU/NsaPYlaTVNQ2Vmvjly35EtV8od/IL7mlNE4Lc67WfWDknssT+IUHTKZTOoQD38stMVteQ6biTdQ0cawqtzpkIZq1+bJulvKAbVG5aa8mZ6eNmFkuiY5VEDgzaGMHZMleGsWaeapHBSRg6vnpiTX2qGTFwm2WDMRfaViDZAM50BqjPWkxMmURsqDpCqV8RVcAU6t64xlI424oBL9f5c4/D+/ju7Vu6K9q5T6Rvt42GYI+7vcjt9XbJfXZMRNjlNN3FakwB4IXpdGZAOPH0dzOmTmA4UVH5BVcMLUbmLsE6GHMFwwE71W/xFZCRXCwiUwdsU6B41C6DM4qqnQBwfBblcwHvVA6BN3yx+iKQk1BFqrWziygf9FDBmHKlhe6vafp+JIsf8vUyB9n9vvoQiP0eVrTmS2vCYqPR1pi4KZsSsl4ysal9NpXKJDWVAzL6BBxfi87cQsLtGxZs7LH8zh+jlfiZtFZgoBdnl/XGVclZnL6CqWEdDWMv/onQZ2j3jCRyQkcX137JtNj69x+YNWxZboiZFvikaH9m4YaEXaGn9GxmUNGH7aG/hoD+FKsU/Fn2wy5xsP+72JZbliQ2UUs3k5fgIZc6Dt3je8AvJPUHineQmi4nqjXesuJyLNDssUqO31O06V9gD5J4nE8ZOpMgxTIh0dJQV/VlnrEVoulYOJK08NM/MqDx2VuymoZ33IPJH7MMsdgR5HNXtLlvF+U3TaWHDAQPHZYpU7A9kbPpG29ChMFTrbJKfUQc8U5Neae+rNs3STkc74l5wSv1jTpz+oJNvm2vjrRG/RRhcp+7aTrYS/9NTRx2Y2cTh+6RHKCUP6wZz6h6N1Kt+p5ERo5BRVU3HU/oYYBGTWq/8UYYYxk9l1u9uTpOy60SEKDVTuH6c8NSvij3Z1x3SWlUnM1UxOZwmlxc/V6iMWZpGkY6TmOOjno1ekpf/ihzgoxtbvXpyYGTc7ClngXNPA7LwcX073HKxIW5tPz/r3c37Uu7/iIM+yFcl+KqBJSmle4u+96dS4vqyt/+nEP5Sp3B0/33qw/h1yknmdn7t5Sr9NWZYGOjevs9fJB1+vnr0+EN7T6hrGMgA/ixXPZ7vEhMTY9YttzKLFnODazw+MbACTUoKBmntmRx3dF/qaLcJvrtTU2yQ6hAJYdKR5exteWa4CW2mVgpZMFQKJ3OsntrZL9aLbm2sbQN7zlzAAm27iYRIw0Wm91CPNcT5dO+mZMjRE7plmq53mtllKNDXjqCEV08F8QaDKWh9Ba87BaYGYqIsS3EyHBiDnpx16VsTlpal5dBWU4uWXCnRLP/N+ezmUVzaOMuA3c8KB9rKIffbFjM7enZHbbmX7+wzGZCoN2upjfldF+Eo1WmBSCKe3meu/WQLKR6EvS+xTgqR/6IxeOE59m63d3oYeTcdGYyoM7F3SbxfXVFF9NNGsh24tUzF3/NgcRRQ/kbDPH9Yta9WrXKh34ZqhoGPFSNJZ4eSUV3+fRbgkLhkEH1nhICZ4kIy/SVTA7t2Aht7sONx6jaz9lc33NPEPcOA1j7++9JC6rcfoQCP18EdxOHXM3Z60nx5sb/AnvarTYcG9lx+x/oVrBl47t6cQHy+f/8fx48K/5K3vaD408FISPvO0IDGN7s8MC387mYgjZJqAwc1SdosiZ3rBuQMphkSqH6dyTWJ3YCvNOzw2d5Tf/M20LIWPJiGj5M+Tt+777fP5qr2FdlqdFo6J+1nhm/isg5c9Xq1zWKpPvTCrTBqeGKGVO2Vn0wEOfmCBXRF6TOqs+qSPaEx1uTXGkjEtuiEx2BVtjLEl1YBS2ZtnmfbtWb1+h/O6grrtEIjlbN5IoZR8N6dU20y/lJcGjqiJSAy8fO4yRNo1zoFTwQhQdjfd0JucXLNu6ZfOyXQtmJs0aVD9jypT6qYNmAakDn8nS4Zl40usD+8LBKHaiFkqU9vkHOVuHdCmtYBrE1+Dtx5iZ+zjK/daz++3xX3JxiWDY4+IvB+xn6InTOw6SSKNSE31HNEyaR6xS9+9/7AbTtgDmiU7IZSzWzLUz98TQOj3ZPJqaTxGIaZJqSSHPg0zJGrpqHSUGqfwlAo0Y97nBC2X1G02iECdFodWxz3fHuD+4vHrvs1eh/wVtrhLh7K8UNKjdK80aX+oKRSguAZ0/ollqQQ2fjcoebWdNFHKuylr4LPoKplo3pdb+7XD6DV6f5BnBVwzva/k3Q0o3FqzNnx9YG0gQ3MDRi3T5awuMdCnjxbA/WhHt2b7Q4L9+/1lvBHT+FUEWE1JvtPnanv/+dpyR5c2/3cCuFpu/bO+27ct2zF8wadu33e3nJw2q/7W9vX76oEF1021Jdb+CIjYm+o+KxvvKFy35jUwSPUaPm/0gYbRm5W2TmXOPc3j07639BpwnylxgcCStY/3z6Zf41HVlnh42rELDw/yL1c7HJQJVS7unOyam29MOZs5N3vIR3rLr2+NGt/82ht+Kps/FHseJ+ynSFfHSzxn36Bftc1owirvlqP9MCSr6P9fSMq3MtaQZfTmClnKKS4bJVj7OzAvIuL3l6SNlrWJYYPyaL5F/rj9hag8zp3vyJTJmLJ1OwqmJIoN20alA2bQtORd+PBB5O4NV8tiVaWKjqH8fWi7FSMGlSzBqQ5lv4KgnSv+Ce5H0GNkYRZxZ5+2e008E1mL+r69NpOLzr5FJimG+wsJHt4Kisl2JcvLxETjK993w0vn13gK/4vyiQYss5oItnjZ9WltcAyGZsDqHgvJ81/8b5So1WPo7wtVpLmM6D9AhQoIXHnM19c6GdBbuT4BybMyvowafU5/lnKe4X2bWNOD5Fh5cWAT4Q2xrwNvZCA+hePi+bYkXM9HzmaocJiawUhCMeNsRYGWDDw0cm3rfdFjAtfJwZpVwoe3kVHEC24c9UjwlFX3MCquYOK9ZE8A1t7LaxvZn16gnRaATIsQj2SAaErmpqNXyOOWsxmJFKR4Rg+XKW/l5VZd7shepfMOZoMdprFXMKt3P3y9wD2cAzoilE65GXjlFtLG9Uv/93q94mBS+kJK65owHxcLxpD/qo6mYMGSaJ32aDiK7fxCKK2mcZYOvCzNZE0/Rr8ZJpowZJLIhjmXtn+/pVz5iTJJ/DkdTWpqdrdbKKdT6PmfqZG5pjFfTe9aIKfXgPpZQ6kkx+7iSg8ZyCg2CkH+DdHHc1WRs2tBoMoU7IY7uq4snvi3yfxQUm0zG9hEmCnXpWA8BnVR4/Mqv+DQnDsDDrN6qDZ2cNtaj63UHNLNzZHt/K9rT6UO3k4634OQ/RkuyZOSBJIkxOjtc3ZhFndtDVUEZrhS37rYLI68YTqGuI/X4Owr8zodkRhO+HrPLf39FvcSdTT31Qei7Bn3xNc2eagtqk7pALBaU5ofRPJpIAQ3jvMHP0HA+hY/Tfurb6LK8uqkTUnUjsuKSPLbIgaX5ztJo+Yv5nOtxSuCHNY1smT1h5PRGWd7y8VRK83Yy2SvS3+0pLav0DEhT9gsmDeJrffr6L+AzZs+ya4Znp2lHZrrCVami3d9o4XyUp6bF6eGdKtSnX6LC6VdMuRcrUYTZq4rL4/KBDBvWPGX8hJbpQ4XnZmujJmmce2JV9AntZErZFQqMsjyCxqz0keqlpRMapja4E2OLKipiixMTDFTeikWyl5QzVGxyGaM2GoHIY9IQrKmMWQucwA9rHNUyOzekZWBUUlx+uFaBIGLPhJRkYwyvkv4PeyYg1qvTSEmLTo3U7pW7wByIT8O3mbkyuoxrrtRuSFEx3VtpCNOnFiPbBGK3sjKbkNFlRPY2nMYHP29GFAhtRu+S4SMhL7dUcaRjjTpRp9d6cjVO1o0Te2kzWXQZQdlxYyX08EEyR69NyNFES6cn8gULLw0/ecojXqM3WmJqfGPjktx+KuFr3Z51VaMCfaQrjxp/Vzi/+fp9cyoUzpd+IbGBoBXi08atA4P4r0Ri9gQEuM0FOO19KxqeaVSYhNfqbtel4p74mfLseo+Ym0z3NlwIZwI/6q44hluzMaXlF+sgeuSRa+3fdAbLn4L2d93sMrykxL8SKt/TefwR+ri1a57HVCkbNYXs4cLDh4RYYCNjtT5MBN/mrrCxxhGLCGIxwT04Rw70+zUqDYpNIWH7iGAKdenohLAP/STKsrkXbX4TpcHxAf4S/nU+GNmiz/d3QvkC2i9ZwfaiW/Vp7baOklUqVVQ59F54XVP7xAkNbQ3uhLiiioq44gQLWwFII8jiq2RsYMjSt66NZAp+RSn8/TELOXiW0SwjwIY0rnsapw+prPUa3DbQ7Yr2RBe7XM5bchTtcg9qaJmdG9xSEhUf4+quie+ouruKT/Hon2fb7CU5vXYbu9MiU+Nfoc3bBVqv8mm4QcZbtX1kSLN2gMSRbdc25aTpRma77JJ63OcjTuNv4oRHVReVu/PtindbkL/jlDWj80bmj4JMErJ891+CG7TpCb4TDKfI2SdqUiRasoGPLsZr2g4eupbr4s9igLMEjId4mlGx2zzTSl0h92YzWbSm96YajOwWKF2tFXgEH5ymKJeubqKS9n0mo7t8fY08P0nH6XMLecPKA9Xq6EQ/o/jfpGIKZcNNMvpXkL9Jwf2L+Eu8ZO9wf53elaYy/3n+7TTk5wc7InJU+qSQEFvmIWTDHO8ETaytoERv95ncCyhDPC6nwxMfovw8Py0kNi7EsCY4LDw+6u8r9ZkFJ1wmZz+ZiTZQ/JpBIV7Taqb/TV2KBLjf7XMsMSsrsWj/HD3TKHry6626r9OUesF5g4eBJxCzJXnpfUgQdiHVPeEQOuHQBhaZoFiX3rNPYYILDZdX28feg2UM4YGwVB0SVrHw+2Wi6oPowAjCDMauoJrpz2zR5g5H84ZrW1jgb0FYZN2+8vVvD6MupLoadzTt3MBEBYHfP//+yreQao493npi4y0ywZyrLAoZRm2lr8nO/Z/5g5hn0mR06uQuZBXwH+HTOMBJPlZJxYQDw5emW9W4vZRytOpbwulW1BLBx1vqWPafUy3hJLxiK4kccEbvciV1T7y9ZPoXhcru+Hjcl09T7xKDy8qDwfETnuce7inPPFtmthFgZMG7vIceOh+njfu/2fhTfbXUZwkjcDseIRSG05YjgNNQzzdURDfvnmP3K7v81V8SqQF89jBvZTSKzBiAkJcdFGlH+NfLi2D01N8IrVk0ddzdo7zo+2phjJHHTAPL99ts0dGxthibNSwmNjoseonvK73hla/ylUH/CgyZ8B8edznOF02KFQfgNH79eZDb4Zi9KsGxbPQYx1Jz2SOrE7Qxo1MehXa3X3Ro0C81NROPrJ+fM1R158kzAeKlW83WKOllZeumOCqzffwLEy2CWvp72a0KYklD/KiYiO1ddRXMZodE28MMX11U7PE8MpXSHMv0yxtSkun9Yrf1ldJ77//QXmIaF85eQ8V/e4xRS65rTDEyb11KZmichpDRWMvwQDnkw5JxtYZg3fIPVOzRRDKVF3tI0r8uMyfgwt0l6J/L/BPM0aEDKoNBC8S6j8+1YLPdVBQDngvxATiLdY92IJaQ0VkzabFz8fss3a03lE9siUGhBS+wsCzuGzp56LYDKB5zQpOSkpAQW+DKy2ZdZrJ8mO9YOHd/un7GsLhwblAm16PXpEeaFel387wBDQ1J87E4xYV2j/8vkRUJKQmWg2xK53gjBgdEx8sqsh1V3k1RFkFsxX9CyZJp+uD8Az7aeLGd4amLF5hVcRKLd6LeqEhalyoF0yF+PBUJQAzNUUW9LTKZut2NIxgUWE/s/Ywb6G8jSoNsuXHhPu6ZUKzkyrfzap32sK/fFrsuUDE2VhAnHqmMsdhMyTkBlpCcAHOyTf1Q9CZBeOTUdkVIn7Z5HOKvmx7Hj5XMULptFp+klalCgB/mvScYXSevyLo0RBDzM980snU97EWGCbh2TdhECutGUE770EkUsCjM6R5WXu4e6oz2DLVCzzCnKUCTnZw0cQL81dlJyd/bAZaaaXvJ4yIG89H+MgyLc9ZIKHuxyeQzNOCDDaMgGKf9SDKPK81XiHANhrQXYzjrDS8kJtQoCR4/Ydefexl8EsEAbWGitr9+kEiFIxBSTbhIVmaW6JgqMZ1DwnNJAhFbKaRtuOGtMlGQEQUomfWTZ3EGm5QRNQhXXCALdzvBvRA+I3cnUhOFwSinE/fdRcbxZhISSOOQObTAXIZg49gVS2aRmUzM9ieYEBZ8DieNWYSQEiNE+vuawIFmEz6CQt1MmUJdSmeTOfR5WdQ1fmaFk3fKqBL9B5aFqRskMXqbvL8xpvY2nTw6CkX85gU6E2T5ZlWNgSP4HKC9IRUv39d+d6ZMob3l78+fCXLM+A0yjIbtGNH0gFyDk2iDyC+wBgqcQKyvRnbjYHGE7yIiSG6Xq4fODFao9snlZ1XSbXM/LtzkH+K06A3RlpDA4o1bh/jLFYliUbhCvHnlh03bgoL4i8GCoeoGSbSBF64DQfznhjl6CkxuPhKguWnTsbf93DKZ3H7br/v2uwwUQPwIPIYWzmcI1LQYXCMAQY1kKwXbml9wZEQwU8NlEBKmhuf204IZ51n38XM0NY/gaWji09T7LNrFmpaFTtY92rlrqNqJ3wuVRxls34bBqvOsB7jAPHDjom2rvA1OfZS8uJiC/lJixPDPhv0SZ75/cHywasvqKVWH/06m/sVh9gBEn4X7NL4l99DU7au89U5DlKK4mNx4raPAZ1dL85ZPEaLz1fu3TrLwL/H5lz+Bh74PwDqZfJFcsfgsNyrkG0DZMvJbMsLzjS8rlZdWY7TNZBhjlclrCA3XWCELg0mHaKTcYfuMu8xFbjOpeZ6KcVW+TaAGYryQyrYnEzK2jCgQzen3tkiRbJ34nhRlfBMpNrR4f0AsLdsQVzGUKZzDOrFQto36Q4w2LmyWbxPdl/TnNPcvXjMITvLaQ8YmJwWetZ5moYw1FLTtgwsak1DWaevdJLWhlN1eC0/GyGuB8zkhw2XEkee+600buqr2AtO4BIXgikg7gN7E9sSVZfym21dVrd9jS8iMW4OR7iwhYVbXruiZynUFBbG1c8buuDAMm3EAwBNZtaSh3z3tra7S782Yl9Xz5+LwqRqRcBwzT1o86Bv5PDg+TbpjtnG9ie302n3Vi8G4spshN603zt4hldFmsFBvgs87rThuUafqtOoUy3H5GR6f8EZZM2ggrW8TpyN4fTA7+vIrDIbXVadhzlp8qeuM/HjIb9Dq1Ml2S3HQMk0mS5XJRj5OwLyJFHrK6x8INvaVLDkH5qZ66XhurppOOvEbCR3gv/a/JjkjOHvJ6KcEu3EJVmiPnCatc41fUl1IJhdW8/PctZZEohyhYDZL24aQtk0WG0ra1r3q75/q25Ujg+v2817KYSoa/jy1YqStP0D/0538v+eiP/G1GO+oVwQP5yV5849ia3Hgmk49S4V6GcEElZvqFYFXcBKngrVjEprNOSX6Sf3K4zaMGrvKXZw0SpebrW9OLLDMLc5xeE/u7+37r5jXIufJz0rjw9LMI4rinEGtl4cP55Loi3GQTIqn9CMlxpF4H3wxqSYwSVAWmu0aM9qVlfmrc3CjfVH/4rhfR6b1C74SSSEPoeHO0S3UD9y7D/hBQ7LVF+742F4LCsyeEMDC/FN4MUZVWrjJ3730DtphT4+wWRLy/cLZFZcYcNh8Cuml0OIHuKL1641NxwSbufGmZLL8Px799vSQxO097tbd8clu2o0R8WmuqNA3MQLwaTPzLKU1qr/dMDjOZaopt7v/5QgZQo5eQjnLxPNxSWLx7gcuYaIX9jQKZcENElqQJNE0iIjAvhmVC6l8fWCgm+9STmb7yK4/+6NqR0Sh0vTOI7E9TvF9Vuorv9G1PueYeoCv8U2CJFD8wj6ATJn2jII1P7NSsfDehz/+mhkarFK5wVA0dYKlpMQyITXFMr6keDBTUydajAcnJdUyoaTkjRU5s7Soasjg0poSWcQHClayFEUGFHp74tLycmLT4+VbZ6Ho0jqUpJeeCyoumJ6ePqMgP3369LTIB160/IKUf57kAR6YFF29dx2sWug1jsOpjYkxW1QcMRxQvlnXyEFhdLcXibqbq2080ewbstFLKHiW6jtc6Z+mTgTlRj69ibSWxsPXEIM6H/1X0+m3BudyqXQ+KqAbkCGnuDGYAM3g1p9FTHTBlW6vrFoam8qmUZ61QVmwgk37w5MTwiObGB4RvJubAyD/Q0+A/4UCmW/w4Vgg2UPxxKI0NQ/nqWlIJjmB4gnEhuOgZbqQO5ArxJ/5BMyFHoHMpcov9ga+8WLOUI4YIw8mxHnCrZDbYU7T6dLMlsgbL/Sjx2J+NV+ASS0jRpJIVWYVaCEorCoyuWXKAoxcxX6pI7f05SdVJNLIES2LI8zRsZYQIWYTCbGYW65U/tfmxhZMaSFnARQv5kQVe/43xHWeAk9w2xxF3ZLN3bz400PA9fF/W00DhvoQEzj/y/RaTsKXsaj0H+sKl66XGBMNZcXBblZWUCGVnLOTgjbHi6LtSUmvrZTYnBQubSYr4Y81Oet301nL8LhvLUC4kSuhS7j7iflwYt+yTw+Gx/NWtAsJSEbs2kHIyItzx65g4tgOt6eB69RGXfPcAgwWk/VPyeTs39WSTSY9NZAoLwcPlix/KpZdQX6qJ5NKgKBewzfzNU9b1cPeD/l5psMz30lN82JQ8YEN7SvF01bsTvFieKVR0ZPBi7fcmcFkM2fciX+i8RT4DKOnjN9TwSfRJrpXyu72sHjINAzEqbzZgJgmIzaIAjYccnta/hYYeBvb3YximoDC/GCptCDqDY834+poEnJqPYb48/7xDhBEKH4QxOjHS8HmZM4rfEd8tvTRtJmsO/grDkhzsJ6TYR7SGpUUSBBhEfZOwcFg8r8s7p9FzX7iFr+6s8AfYt3Hc0e+eGseDpO5YbT6qhcvzWVk0jDLq1fNxbQwLhmujH31bmQufp8F/E/jrHu0xg2v3sVV6HhxS4PF3EAil5k3pKrr8czVZHnx9jVNuweSTOSPZExaJmSz6xiCZDK66VeMPCaB4I6+LBWNZFwH6q38RJqZlsgXhC9LDgeiJ2R/Km32PD8vDU8l0ohj/cHlL4J1YI0ISPOBL/8Bg/XvRfuS0zseUah3BYqXl/OyPSjpDhC9p98hoZ7svMvf5IK7VMqjjvTkfYD/3Gs+hv0ydWP2aROTqbydvXHqLxg23wu/uTde7VL/1gUmvlAd6pUx2nFKs7WF7OdLnlLPoI5iyHo3gbzXKq+AQC9VUE9gQM+vbBObbWazYtnsGCD7gP6zD0P5CPpD4D07hiAsc0mU6SQkasiZ777yncEE23cXgMwkrgyXcV8+Lw7Sn5E/ktGI381erIM8/mhMKe930rJBPOLgWzFvYkTfv0OPZ8ncvOXsCECTsepxzu0OL2X3ooInO8jU+Xze8AvWwCRPIUZaB3gO2joSVnv91zs4nCdoo5J3PCmYhnN+vdaFtSLR2nv7t6exAq9KpVesIMemehcQ+E41v2UCA96NZZs5HAvbPzAAyJLRZ/sxhIdQj8mFX768SoSeoZCWkBEeEbBKJnJhBCd0D+CWp7PqA/IWBg3X+XklNCxqOkZZZBNSJ0Ux2bUnq3A0ekWNhuOcZPJT+scmAb6D/gcZi+ATSarFlTzpCBpp/LJN28JwWM+0ZYa07HEyvn0HJet+98YLVseLOXm2PI5Y9igFlvjDLYW2bHz+1cIa8HEQYBmDh4LCJINtSxrtSOrsTeqdTZrci82mQYsd3sOcYXC3RWwWJjuEyQkj+GKO4Qpf6oxr63Sb5uoPA9A5zr0AnCCNRLE/tyJ5jWe+jdQrK+W092PdKQySRm+TOh+T+sCx2SlvFoAhZp6KuXiBFP2+EeEN7fookv9TcVbjt8iZNDuIGQl3PUMywpJkmGVJm70z7A7vmxN5/3c+acVY7tOk+UvSWC1prJU0jmgenrDeytWFX7kuYu0LhK3n9tlOUDzLehcA2qvaF37luDhqHJ7sorL66OG+ul7uSTVrpJp1Ul0cDdLy6BHSzDlpZo40M0+a2eLHlhRbKW0uerSfkORWSlPDrEhV73hQPSNOvRWdKdivbFpdNWtDLoQZ/DrTwWzmMJd5/MZ8FjzehWXuHJOeBxe4yCUuc4WrXDPXczK6IDc1OS8X5KJckstyRa7Ktej6PIHOh+OF2vK1Cz1iSslF/wdwoToXX5rhImoDXQu1hF9IveNiOsA9hnwvga/Z6H5MIC+9DjhbBWbB4IFnX5gl6M787zEgkNt3/o8CIXw0+C6wwXchIwZqd584elI9NqIn4PsCwDsceBoHR7irefEN4OMR2IUUgZQhgVlSA+fac1CZc02ivSxuTWF2hDsixRF1FlqgJ8cz/9h17oqQ+viZxdgJEvr7ld8H446+Qh9lXQ9KbmZjTYp7HAPgigBrR2/17xKPB+Gc6fJzeF67XLahr8Q6oRTIn7oQcM5AfmqXdfTqLo2FJTJbZBrCSiT8g+Huml/K/LyO8IjXaOlgDq4SPc6ZLh9srly5QUTCOQP5tJMzess7t+1bxVCfNDNO8LFyv65gugPhwLOUf9jQ52SxhcnvSpVOgOiK+59eO+aQGMrPKNMBeyEj/LNFIhgIzk0YXePnHOKy2nwF6cn8K0UKruanPxACN8nDKihPXc0bxlwDD7fraHJThBSWSYKAkV5UXeSsIlmFzh/qBAOQf9cRZiDfF1mTg5epxTIKWSf+d6tT2PiRfzxhozevWfPoNk4wAz65TUlBTmu/rGYavQ62DL/zLKBVBLIX/bHxM0FZipdlZQkFs95Zz49yAIul42sk2UhkOj+rSSIldZpEQeYoiZLAp0ikBD5KIiN1hERK6jCJlNR5EgVPHiRCUpdIhFTCNXrqWdDY7nrj4MunhP3Z5IgAQaS+1ncsKYUOzg/8FAVDANiRvHhBaC1/3ngB5phBlGwqVK2MQhygRN4+Y6y1iuJj8sruVkMhUGU9kyBh7vw6kVmeM0y5m+i1sMnbOOvDKMZHLVS7gxH1Jpv7GPOwvDjSXX/UQS17M//NAfutV7RyrqSvl5SU565B4Y27j6iY6xPMQygjRF85V1n89fzvlXmGJbY56U9v9GVLtpat7tTrDu9DTIIKUA3qQDPRavQY1oj9Q5KTzCQ3qYBUT7pBekUeRt5BPkuZQw2jJlFXUfdSL1AfUT/hM/GVtETaerqQvtUrmRHMJJhFzFPMu8y3LMAiWKPZUvYOjpxj5qzipnHLuS3c6UR/YggxnviN2EAcJq7z3vInCkgCseCYcIFIIbKIPKJC0VBRj8RfslFyRPJd6iX1kYZIE6QDpMOkN6SvvJu978sq5Mnyx/LPikRFkaJB0aZY7GP2cSsFyiO+Rb7f/Mb42/w/BowLZAf6B9oCUwJLA8+pylVfguqDJgYtUMPqPerz6ofqjxpMK9VN1S3Uj9RPO/hrNLRahHGLM12IliSlUrm1t6fjJJ0ShtJKByvYzjFG+HARDFOEGcOcSleJhqpVHVqh7TqmkXyxgQ9WYGVZFVaj1WlNt5ZYh1pbrR3WFdbt1mM22MaxKW0mW4wtw1Zm227rDZ8UkRBxy15m/xGZF0WPWh21K+pk1E32fygHy1HuaHZMcyxyIs4h0fro9zHSmISY/bG/xT6PC4lzxWXHTYs7HPfRJXMtjOfGH3KXuze6P3oQD98T4An1zPA89XxKOJyoTVySuCnxVZIqeWTK+lQkTZn2I/17v3X9nmdEZqRkjM+4ndmSVZldm5OW65/7Om9Z3pb+aH9b/wP5/vm2/G0F/gXLC9WFjYX3C98U/hgwfMD7AX2jRpG8yFDkKNpU9LhYVDyi+HgJraSp5FKpd+n80nNloWVDyq6V08qLyrdXiCtyK25W4pVtlXcqX1f1VD/xr3SCY6AVAUKQBmCQ6QQAOEGvQM+OgaAn73tsGeM114vy9VP3FkV8I7MVviqLxZuHw3D3m2dXrz548u4djzdxPNrz3Wr5Mfrlf+sipfX8RGxdRISOA3721EnP6eo5edA1zSidT6m7OKtPJ9zXLt4JtPjSnIy3gHCuJH/frJmobu8pCBJSmx6o4DAzUmA0KP7bxZdefvmlF1/IaU7/fbv4XG4OHdaeiT9+9GX7x7dvJLCwbYml/Oq3d9xCMLwWnP/p9Vxmxe5ccW3osvY/59zh5hdyAuTt7IxkdufX9/HvyZyAGMYwNtaKHsaj39EStnUGQR0kAofoKWKB5+gOcgL/Aj1GMHAFbasZ1A/oESpwCotxMS6WDf8glF2g3g/SyLMVtGM/S9bhl/gQ6De2sR0QxIQWrFFIKpREALE0syu0F/p12Wn/eAjklIfxe0cCg/u9z72Q8GGBOfxC/GnsiE/z+31JGPgFExs6FEUxIeWUY2nvdKM90qXdvfabh6Sk49r+98uFR+vXIKW5+IN7HnlhtnNgin/PMj7ujP9Sdf/8r53xGOPfS3aZr3xBEaQIyTzR0u7by6MNdHQ61n7QiJaFfRRBQtk4A2e3guxhmGK14NBaAIIEy1A/Lh7Ooac9Tz9otiNE+LEMuLvsfC3ZNxudFYquhnnpN+plO532gvLJtDK6+ec+S9aNM9B555RU0LcoPn/+Bjrte/HF5mxk7+a9DnCz/khLIRA5MFiJeel9aaj1a+19etcZXUOefzNm5GDicxhleeETCKnvT5/2/h6+vvzcVPjn4/aHex9F9h2oz05bLL/UPgoN8QZfaM/pp89e/dPsobRBA3AZLgtobw8PYaNbC1i9aJEKlan0Q3GEKmmezTEngsEZR+3CwE9kIDWmxVTSShkbynIi8QvgSLTfmnpAhNph64JGuFxJRspZiNgVZaXSFOtxUrnzD3bKU3htldQTojKOYZ4nzqhiQKgtReRu8XpnTSCDSzDBW7N2q69Xi7zCVg3g6APQFS/v5fK5QWVLqAqOR6uUcS8dfEFlOLt1YmCFLVzlcAvIDacrDA3rIfI5Rss77Vudm8j61aDzX0gcO0DPz8v+E3ZpoWmGFMNZL0imsSdjCOdIh3VYN8sTOcG+bANq9FwCB03AxEsmgmTu/YZPJSxKE6noCA8QcNF73m2kHbEp36knwLX34zt3t+VkIhWd8hhgwPf3vvh432ed71/oDFD7HBp0959/W80CSsapOHUItEu0VVyRIyeSKaUrwrWli1EdCepUFd+Ove3heCrpmAHdKH8iatyVFeGTMJtX5SGBITbHb8fOWjjtjmnMrGkrfyKyzeqK8KdZPK9mFQEbbu6/HXvnPSQxYjy/2vpJpe+Q4FJYMBgQ+B/lwjJj0T6Hk4dgPsXd5SPZVB4T3rJ1gh5KxH4weu4XtTEhzff0ga2foYe8M77Vvn+Bd9qYUJOe2Pa6Y8XGjX76eoYxD/080gN30RN0Fvi/oZ9FY3wKTdjcbU5kE0tSzp/D0Tn2ECvxHj/rYgkk6ssuiEMTzvyqejqoNVYBwxKx6xKkf09j+kkn2nlHEH6PzODhZsKxuKz6uxu0DQax+2uQ+y/HuFzvbCeCPsMdMoMvXo2+o16iK1iLh+KhJn1zdogVjVeat1FYLKZR+bIMahA8XLWozenjZlkUz0uw7c5qtxb7kHhEbUngw+LARWxCbBIMETUf88KweY2sjHf3T15SzoRfrnvGdBaejql8cOLVIe1eI0XeRfh/Y8WUDReT6xq2VD3V+Bj03XOxUc97vK3wdGtu1sETZa9nZycgV0lLE4Gu+8mrG53qioY1jAQfolWE209Q2t9Tn2nKnstPxtlN0tyFMs18gJgK/jJ2/dV+7JXO+dt5dPcvKJT9A1s/rPYLOFFHyCnewBgc2x8LCQcf0+ey31IoAKdZfC5LRXAAGp+JwM7HoAHKY5TyqCHS1cvg8nx2Cv+HepA4m0ZuCu72XggsgCqrGoZ63TVAlZPWdPd1iORlDzJjUXv+aKHgLz3hfHI8d3vS5nYUAg+gRc8rys/tL8wEUD5eJ/J28hdDCEEZlk8rlw5ySZKQBHNXIeeVXArc8Wu07wpe+jgAlPZYr0uiD9Hyes5dHLHAM3QbOdfz8zkrgngGrTgch2e5Rw429FkEI7k7CGz12O1EiLSAJNsIxFWT2kBXBb/Gfr8+G2w1WrhYSCkojY/1sjg/bHirLmYojfGH1UrBon2srTxlUZ3Wd7S+7d8xbSEdVlJmdnulHlcU01qJGlnrEJry5CuA6Wbk5HmF+53bnzaAC8mY3E22kDuCOB67XBrRmh3QHWWcqd9iTgKBo5PzW5scmdLZytAff/TVoaLH5zORQ/UY7l8PN+OUoiYpdWE2CFJc8uzPi7VfLVrO+L8YgFy3b7X5V9M/K63H28fjN1892LH/V+rKvIrUcAgumSsCJYmRk32Fj8Xl4jQg0xOe3N87G5m7k4wbhL/U/Fnq422D/7/6/HMH02HRnyieCmoC7wO3fd93DMfaw7b/4b2jjj/0wb7YN4lZVSB2moOIDiKQbiai0HYZcviq9Eq02P9zpQnnns3KUxFVEJ1bOgxV+de/0RPyukqe23iJECGdryF/ErQ+AjoJfHVPd2mEQXzCEbgFz0y2NsbNyp6rp6cdrOT0hvCtvSLkqVBTc1z92D1qPYZFqIqZ8wzBJElNeVKt1LdxVh8B2OcYBuoLfH3/5C1XfHR0UJOZkwcnD71+sJoVBlfWvKeueNHd0+XsO+Gcd0uN8nCnI4S9zbFlP8jA+cus4z3NBjUa73l1Fl9b7z/YW84/iajSecZjXbv/ePbpp512xtnnfJ9GfBEp+utTTzrhhBNPPc3oywMbyDFl7d0CruX9k7iqfJCBVxZM1/OCudM7cER7c0Q/nkdxnOQYNO9AcVI97L+fnlWQnZb6skFLgM13+8LvJ6N8VIWSgaN0lC2P3eE1KjJ64ShIY6NErjNgRA9LD+FgES7uboz2R2Tf9zh07GNt3J2HfeK3hk0oiHBF8RzDf0CVXZFFof7n3XffzoHbwkmJlQQ/HefykPt99auh3gtjEab8H3TbBbQ9Cdvoxk7Kaogt9aFnEa2i7Fwrjv1mQw22NjaGmlwbLIR5zXju2bjOiScabPIl/baSwiOaTe99/caNa5fhedIVfR8br+5/f3/n3NHfjUjXqT4qVX47l231tx/cLjtsvjnjfr856nxv/qZesxCGxN9ePSKD82NiG4bECkSgf8EThIj54Fp/rgOA/pOLQz7RK+2hRtXlgLjRunZMVRSS/9gifLOiP8xMQu9yASS8M+VgDIAUQCkhhVHKVM3/+bDU9OEOJNQT7FH6xtb+k6v3BQHc3mu0SOrFjfb4C/RVdhlDAiD01fLrA1R3//33eMrfvvn0jyZGwB+L9sci/7H4AiuwEJfgknHdkApDuI2mBR/0M83oY2mQfr+olIqTgvMZAQC3ZdnAC6rzseXT2CL6Y3IPFKEijEteihGPMpoWYOJGO94x7LW2SAEppZ2fGCCW65jUswUApUCQ6ME8+t39FR6t+ObVbdd1ma4uUp9BD5bRpoenxRAiFa0dZM1gOzrnAnQnwi64TMMXdslPW1r2/FTKQhjsSg4PbNmi/e5x6BAMoLuscm9bufQb7j4WOk4i2nbQhPuyXfyiB/ZdeNPnS7rIX3S7Q7Zww9F9jGJWxO/dOUAFnYiv53bvdI8Y6dYiAMsfOrG6HEO5OmSoqjX2Fx8j8upxY7Ijx5EXd6Q/Vy5gzZHWd4QZRxIl4efTmh0/UlvA6WeANB7OvGkKPX+yxAhnDxH5KG5UymyyeNPn3l5dO7aqRrtoyhSUBL7jKSa9IwnrXG/Tv/tNZzl3C3P61DwWczL/5+5dKCBGPyk2ThVanh9ZNc24/zKXv//6D/+e4/XZgn7/8d3pl3RF/uVvuYaxOBbHbRkvhrjlkX87nZCS66X2a3WtsHoEzp9QY+/cLD1dWfc438rRnoQiZ9K7/ubXzjinPCQq8zFdvZO/ch6Qi16mzIqSi7OgE5H+63+V+9ZqXklNMzju8d+4Lg6RLXBX+tPMsPfVOcBPPCHpXVtWui/ksD8uxvnzqzcW2VlUTfK/GjOnPDrKlRcpjOembnn2Rj9I7F0MYbaa1o/IkiiJD74XA45Gf4Pk3tv/8/OtVhY4Oq/F9Re1hZO4H3973xPJofGVEazBndjaLGxo+8WBQ/vz/vYjnaa5Hl0WeR7kS8rCv55y/uUDz5KjmXrEDG/61tvCUlzSXTq1D2EbJKW0t3sf9QM9nTnxbPZWjP3w2LI/371cIYOF4DSnxbtAVUG3qIR6dLByEUuXcbWqwnjIvsdMRKP4r/6bb5+9nJiWjZgXp8o3PioOv82e4xlL9WMCwrp9Oj/3iCKXCour2DZxH4u5Z1390exukQcohyBAJcTxPMdmN120hcbnVx9fduGT52p23T6Pfn9p6//y4MdSoxRSaW2SfduxkBiVmvzp6Rd3607bude4Hh5/dXmIb7ADd+COAgd3E6xVDP5PIQR2DI05yLkCuSRwbGpqRqFodMFpxVtFVphPl7DOvVPzy/hFCFby8o4zGakDGAJKTsnWN/z8gHJLdFFbjsuwqSmhQlnnO+Jk8z3Jqt1BHRF1HNI4jMnOjfQZohvxFL0aVQmXgaHYd1pf7uqyezlyUSH7QpGtcWdrJwVUJHGp23yZxCRgFoJQXDnjKKZESMbC1uF0LdlszzxB/YEfSZZxqVjWEuUBcnRqZ8/IqJdvsOtJy2ybUSI24j5A62vTkMZ+21gRZYXEVt/+93m4qWt0rya6rYANZj0BSHmuyqeG0TT4yeOtv3sbUuaFqfgkpTJPiygffBGSknpGuze8ezRWXD9CBC4qgULaYKg366svIffemfd0vJid5mWRxVycjXvu3YuvOx3PbgdtU/OlGrTgTKPmLHAE8AYLG955xsIiRmM39G3GawkTwFUjhoyYED+AEkbdFDxCFSAn0wKIZz8QF063jhW9MXPdHod5yW7osPYUR70sSYhV2Zh6wT4y5UxhxNJNThPXUNX5cRrZFF6+GAryHa3YjyHe/m2vN/Xx0buaHF8McQlkdD11jW2x9nwyKsAsdLs5BiTMWLYszKZmTvrru1UFIoT0TzPzge9vuz5m4BApL2URdk91w5hVZ0EyyDiRaFpULY+ShFP9/v9OAWgnRXls59nXMHu7B1ythjU3fp0KXC6B9b/izUZT2/3JJPKEM3sN5LAcL53+7SOaNi6x//nonvvuWfXu9kSN1XYCL4b1QW9r4+7L6hVmKBmCTGg1CsTaCdVV1i1wWAl0tMi9RLsJozxP179Nov70h2yZOPOI8R72roXNQzGjJ/iIs+QIQtlfXHSoLIZSv8IRv7Qta8NE5Hb/ejifTLfn3X5R/JSuf/nRL07Y7tvL0yuhQuHYfp8d5ZjQ4/YjmGTq2b4VBRpRTzjSdtyZNuBaw/ay7mVT2D0ma695YcD7wTSj7KD2+kDkDMW7f02Lh+mW8qGK7pAZfcS48QK3CLHwbqgJmuZo5rDN6OnZiyZy3U+d/Ii6o/qiMfeJln9/qP+AInEkjkzIbdHim5g80+C7Rq+3yT+4yqPIHHi5+M2oLAUhqDVa8ciJ/+zpDkWhlDae9a1a5y4KKz/PhPcny9V9/rXheLYsvD3OnXhYfRCiWhsfAHD4YeePlMvBG9PgZfBX79v7fu8R2WT+9TfSMscXX9350CtH7wN6kPF3Yyx5YHX+1zYtHYj7HxS/WhwSRGdPn0mXehmX4so+81smBPjbZ7ehNei77nsMos9kR38s22yKyIcD/yyVabHl5uioBz932h9m74Y0MQZhfRd7TXg7kE2V0TrlyAV+MZWBy9VhSJLsApveKWaLvFuJJajW6uNvzzSz/ctt9vwOHSjt2AF3YEJ0GUEAbhwPJFj/SPT/uSesFr5GXoTOEBgV+D+uTOpy9d/+Nw/+PrS/trn4/OH7STD++sSbv7V4PZbW/uzFODzgzsvFxt+KtST/Pzl704G/eDj3OhDj479x+eT+t24k9wuvlvxSudOHIOLx2et9dS+dPAC8Q/m4ABd4BmwzxVHku3w8TZ1cH9g370QIuP4ogBD4frCLeF0VJ+HgOZwDBc3WZsYTZbSMDPVvSb2oSSlg0NZ4Er+k6QsCdNnXlgCRvquVICdV58Vqr/ebugcPK1fTsRPFqWB/60z6e392NU2zqxqRpEnGJwDKivrmZ0A1A3jjp4oQIlPuZ96Cy37i9wBIRjkMc3j4+utpmfTvBjq8H9SCPNizmJOh8F9/9dFtf/9Y5CrcBGnbsLt11tUK9mT508MwhR4sXkGqwSr4/1Wt1ciJoyejnZZCc0Ydnrw0QH86XZbvT2yowdqG9UiRJke8uV0YRZED23/f/4mSlCnKL7ruqnNuuehi5Jmq8EbVLrTNv82UUFJmztEB119MKnuvXQg58iSvzE8DlRKC02LGLztqQ1AYJa8uP149fJv/4qunLtT57MSmTYZX/6GRdfevOmBlojwd75ovVlQWMQDdeyBfSqwxRKLOnyWuT9RXbgWYg185771OtNeFdebjBI+EsWh7/wPa0f62SM8d68Oq+lDoizR/ZvjsPvcy0yF6tPur4S0UhFUg2li0/ouLnjslRLDtQZolVfM/KuZAe9k5tqbMHhtBnedDaLVcC7d/9OqtLTjbEd9gC5T/nrE3sTdPTi+Wq/03U5/9Le6jX/Ad++fDwcXXdzQNoqgWD5ocFDW0r8ykjcIqwZF5Gd0cN95V1UXj/pfXiBcz3TS0og1E6ZwW/fB12j/IPKFqaiFlzVoRjT6725aZQoMhlqwwrgtyewdFkDKhEs4H26/iwEbuImX25Z5M+wNTjiLUyNS2V21PMn2I3JLPmIeEKsuVpyaqV4O5nSamGGJyVv90Hdib8VconrhSdKuoxPXIr1KE1Fqq6vtydqd2ptnIgYnIdhIUD79TLSnO67EHyCgFlMg3TeS633F8ATaGK3z5DdCH8xPnpxqxEqepH9AdVOIYjsUT8AQzCtOVLoxNvYVPPZtn4Kb4uR/gq5bC0IV2sCm1sd4FydABhztNvLl1aMdkyLDXnHGO7XEhmS7mryML6pZHDQBM1M/MRVjEUXuE7K6uasYHDlGy2enywc5c4DpoV4NWE4/WWCD7YY3eWgnsS09CYZ8Phj7uDUZeRm6nT/5Os3p7vopt1B0wzPabgN3AVc1TIKbrkxbOZeLYMnljXzd8YSVml2xcPnfps3WRZf8XJ3RRHtbdwQ+jSJd6+tWTLXpWhHOSho6lHyCMHFwUMUnSdujiyXhw1eurtv7g5unlnSn0/ryy0cTtzu39oanEy2D4UnIxzHU4QmUk8466px9SDDXBetkX8e1xnuAHH84d8LkX8XpSP+wkoVuoDFygt1EWOEAdZAf+v+gAkYMfB0ElygOP0SFiOII78F68J+UYgxjK4BHcuHRKP/6Y88tk4xVXQfaZOYV2az/vcNbt9dg6Yl5DocvGYmrKu1d920TyauP4Umn4iAPY7IEMuWh2pFkmXGxE1MvZUr0g/aZapIAMLSYhwj1iOztNS+tjXtSM0ILd1T3I647oYsfv9Sw7fE8YiNHtvcWFjwFgLA3cOKN16TQfRTdpY8os11ZTy9+GfL4pDXhg2pHV9pKJMxpcfOVGXmS1p4zdabelOVX/zZRsZpO6p6o+zWyEsyKtDVNXJJbfzJZC3VLenKW1mfC9CJl9RKoMMkmyHxFGLnI5G6TP1nHA+iulQ2FOar24/W9hfhjdX9Pownq/b1nKsD9xIlzwAXrinqyBUDK4nDFc2Ynv7BpltImY9vv2MMDeSSZeeRU+OHumW46zebqpAKmD330T3jxoD1JcPLMrEsbmtFsV4mRLWrtsuU6LJJzn9zvJgzdJ+KLH7fVaeUYO3L58C1/f+EhZ7WC+nE3yDQg3f8mcKzVRf1yEi86g+xLgLGNcZBTlAczAxHYWUoUIRwp5cxYgJY0jp0yJDNz3XOlEByIRy3GJRqIt+n0taR9U2RKnf6to8vJIhRPPYUTHvvdltJl1kWnrfDxjRj/c9QOfm+u2FfOMSoYyIeIYO8puIgEM5mVDomqLNgY+Wxu7g+LzCYoP27pbfpw36+V6My+01a2OCZrZyRxQVXVRxiwMT72XAVhOHo14zk3EIEo7KeQNdXeRzNEWwFSQjYWf9gguX3yaL3ti8HT7HhkNp+P0wB9MC5CR9QTPZ2l9paubNc+zr1Qr2Y/8jDwCmTI41knocJRJ8oJi4eMjYjmqpLQ+5eV07kqBbLiuKA8lgaTs0Zp3+wQgdFGrVBzoNMMsFyhkPzUb1zOkUNaZTEk9kTlwAhLMEbB6ziNVI1So7/IY0qTLTuDjESUgpsa+qcmownNSCCBI9vFr8vW99KvO+++TOMc3oVQoxdj/HHs2xrBAZXggHugH+xBjl7hRiD08piV0v/NzBCoaTKhlqmZD/PXIsc3LNQksTyhyb84OC5amjtR+gQ3o96STJ9lEYYsP/yMPj9YKgS28feu/CpUn0yjH2G7TCIAAN7aEl9ej8trL1qho12HIyJVA79dNKVvxqmVhQ0NGPcY89/kLbZNebVQVvDxru+EuAp4ARJGnjF8VlCdn8yiDl53zU55YiOxtnl2idKdOTpJ2uyFDBu6kzJKQVy0hve3fh8SlgCehTikD6/0pt9H9h4vPePDb7afv8htNxZPx1MCRJi05o5E0rpm5FmVY9aYMJiQcrPCvoEblGdRgH9e0yCh5xF1EkFMYiIoo1mcQ/flx4fs2pNfnU9vxHUaUxXwJgCADoD8yOaoHOTKFD4/2FeuJ3hsr5FlCKkFGqehxbmcbgDxf3IEI18DUR1copRvJWpAKeN5fSDvleEH4YRsTpzT3qFfjKu4jS4+ByOAdwUJlPaAY53nhl1hg3gNIn5u6vRcK6bRzND3TEfH2u71Zl9hPqxgi6nHv6WRbkNz8TTd9Um0DFCFibDmxjRdLDfjyJQ06j07a4RkzPcghEpS+BPwMjByioSmwpnHrWX58R/F8Mc/eBUAHy88kKHuff2rrTzqP33+XtVAaWxSP7muJdQve55mMgBk4C2f2BNIuDXp5VLY/6YVnU6X1Y1+H9TY4APpoILQolOcAU5Tx2aaHuyOgodGGzNfWdff9F0EVvvJXY7I5bJfdLMMr9ydOuUlqzJxNO8+tqdBVzI86g7EB5JPyrx37Dty8tH5jIjFcDuZt1dOnZOqVF+geqnFRRxB0H7HAA7SH3MD/B91CGR7BDJyLc00sn03lyy5pFl62YKCN4pzQzuHANuwg8uo7jq0piKg/PAuBHxIt+cIHaW1rT1mrgPZwIWYks22hRBhCCk1LmlsAq1i3Ls8wNMqK+mlBnRD1icsAmqj9NlxKXyRHizhEpDSudU2DDnwh9ul0yh5qenOpi6eZFkgud9OjGJ5TqFcmr5aF0dH0iESgRRB19ytwz4MXyVOyKu2iEre9L9Duh4+PXohd99/39tvRQXwEH40cxCgNgHHuUYPO4oCUmlKOStz7Dout6fCSGAgQrsYWVkY9r8RPYrrI+mQDKcpCLLwWiJhDh00CMj/8AkSGGEflMteac0hJD2ye6ZmreOim6ZvcVmCjY5ms5GN0Rko2iOo58h9b+U0VKoSJ9rBLfMt1YWWLg4Jh9mAr0Geyqx82gijGOIkpIsVYmhqUZXdfmhJhGp7EjnUHTRZumtDU93yAJHP35r9Bcf7uLI0rkFqD7b0B4rYoL5rnSzqoGKt4jikPwUrBWVvWrjHpOtelJEGFrqtuQsv7KMvlEdl2QZrEIWcYjpjx+wsy3CqjmUgXZ9MFQgZtu9xU+rSdMk50+XY8BMxAwZ4NPAfGvJLcZHUSyp0LTyiDI1GcFhYmO3+YgTSOwmIGPFG+evSXcdw5jKmekioqfHrcA1gCFe+uL2x14BSNXjEuubXapLwCpNaCwju3HvFrkdx5ZpDMrKqasJ410yr12Ojhf64m7uBh4OORx4uL9SHndLzd6VMVtUuH7fmJXISpuB/ul1RBF7MHci7iDvXjPh6RqXI4FjLYe3hlkSP8LKWUFqya8DP8Ia4/rGeWsqzO/Oot0rUs9UkT6O1S6nmW7sHtnTngpAtcHEXXJkqEsna63kAj9CNSocNOTPfwYuyfPNWdY3E55+66krnLze5oU+d4TOGtec6JO/5RM1d4aIN1p9SNLU64Ve0QeazuTmef+dA8PnERMfQ+AmCAxjPJ6brNTG5JuSJZ7M51XddayGSlV7kzNM18XMquw2OW9IzjJKgOvEaPMJvUV+TijybHkfqDoHdRdj1nUaEQD6EVW7E1K1kr431GTgsZSeA2IYUWSmfqIzAD9CRclcm9eh+XdZvGrsUzEFKJY1IMxDMKQmVceZQ3gjZZcdOQ/kDjz5j15oWWZ2EDiBEO9P0Ty1Cs9SyIZg8/CEhKxlrMQo/2M1tZUn8vvStI4EW6pACzcA7OnUZbB/PuQZWPbiQzz/OursbjDD7DuSrL6dPyBvjXtA8lLA1KRbz9CMHeAeVFXpRrv1oqh/nx32s2rGpD2zgj3+vPfwdwTQjWW9N6LqJTgtq47E8W5wGohpQMf8MBTtCSK0vUbbpUvPgb1SHNW2UjZ/rjKv1sec1mcnswtF8q2zlB3Z0uCvJ3w89OT5tkWTzRKSa+RszxGK3qmPNAFgJs77ZnGuZHepisdqNfqP3EQkah1Zj5mD+mRyKG2r7VzWEzFpA12udkTOJHPItiFre+ZeQ6juvH2f37sKszEFvtqv56MQXU1tQGRmGayIi+M/DQmwfZzneWMEooT8p4ZGx238k0kDP6r7yeEOCx2JuAW+NMj+jdOOugAzOhy+VUl2F4P1BmaLMNK5sUkv3gPJMDkkWc3T1d1YBLu4pMZldTc8+aCJ/JWLdqOZtpXbMuXUg3/KhRN8uBnVoT26AUW3DNDTgbz8VzFYfAi/7nExS3YuwISekir9mQYR7U0L4E9V/ZHsJJkyv8vWsqB9jUc18hgGqHQqUYRbBgxsgU/1xlrWK9mgpHx+NbdhmksfKCpcMJ/lKKyaHDgzB0qBPEaeAgrXwiRgw8tLu3hntFpcWmwha1cUyFt6HG1Ue/T1dEvwHV8QWhtDApL8pIMADhSoAh6TocPcvJTFF3iUD9QdvhBG+5Nm+6dL6Y1dX84GC3mk3KdruoMj3mfWuctQhW2HU8jNKJbirePLu61tEvJ5J6piGByn/CuxiLsD1dGAO2krQljp7lg0/0ZruSkwKFjoRd4fzu/Fr78oHLlu2J2nurdqtihuV9cpSuxToWlVzHtnbnYoblvB1erPbaGJugWrkH7UFhO2NSPS9EAZCmGuLg7pA+21H62zgBFhpvsNHHrL4Mgo/XoNkLWaDOnP/Brwr40VyFMQqACBBFBl4xA00Iz/v99FfXegLCEZHoI/eJkn4oCHrt6lX/HH7VBWJddl+EWDO97/6HZmLnpLLTgRDJb22xNaV2NE/6RMMV11X4+vE6ucYpveGgYcb0bUK4/PF4axgIOlQMdRN27uY8t6DvmWCVywC9dRFax/GUrhHmvMgkBAYef7a9DiQpY7RBWrSLNdoYSCi3K/EWhnKHfl5JGOVD9D44l0lwLrq17Tdn+UNMfSHE+JI17PgjrpUU8i0t9uazv2eaQ614Ep4YOPq6lY72uqdNOplRdRwA5aUq2waGUY5MLs19yAnP1kpKyOmyCjYPPYC7NkbBPgN1FgbvWhckpujsUF46U8KSo2CuQT17tLYd3W8+7tdiMEEkwW4lPXE7sMogyZ9WPxRv/cUwrE5P/M5xfn2Qm+L44BDkkvVOKJHeDml28PiEpudrA4C8hPNZjrxhX11kvbUMSNWWf1qmkr766498VM/eWXX1wlk/pGejStT32UwSefBIs7x2iqY3QNMgSLAknhpX2GMr+dlQs1w2OSKIlKM0X9QlRO3n9lctvT77EC/LjQvPNpLOK8MotlRXan0cMEmZ+kAqi++cvheh69xGkX4lG0QVZPRi7LLtnEgwRh8gatP6txTih7UxrKd+bf1Ze113I1mdXiwXGWMhD0wM5fd2WrUyWly7Lw3S5fTsi2ffJtF0U4ldARcjRWWYY927qvR3PMLbJ5/LZccLzsOlwQEW4Qpc0WzopD9FeSaMzUfxFxIPAuA8bO5315+SypG5+Yn6fZ26p6glRISvzf3O+1OyVzFo/UT9vnZektLo6887lS1myp/Souo7AHtgzThfmSJO5FMTIdPAFHkXgdmQELFHIML5EbDR5CM1Q/gsKVjLI6V8E0wPjhxcmSvDMXAo4dIE0ckgCfsdwjirsuxixiyV46vJRPVw5CHldlm+PcLWRxiBiKWCcaBx0p/LTQ7gQF2BbVoETQ8LBtZwOOhPrOrkdP61YsQhFXQZKJdhSyMPFhBZ8bBTHb/KTQ3dZzOlG7lu2jozrr2FLcKpbypua7ELgPmDZv3hRipSZa0VoykBDodcG9cLsLrPan7mV7MiD21WD9K0rKo6ooDKyhIjSNaL5KRvcCMxa0V5VSBpHS2Ddofpq4DTZ2HQY3E5e1lXSOHfFG2ZxDZoKcWWORq9hcvp4ZAQtJ1oVBtGKcOYkI8+uUBwxdY7n0RoYCMf3Iybu9YB2zKT1ChlLkU4DESytBWhEOml2o8tV7iUHLpK4LzhWfVYFoFCtZgJgawRRDFGhII0XhTHgaV5schRla1dLNWKkagy9CiJopTm3C63MsFeORBK5Wze/z2qF9FS/44NVCCw+gQxvLbF0Up48GBXMmioKzluAYwhy3AYS8rW6gN4GPhA8zYDRNbNh9DQZjmJUD4z5SoTKgSPRdawT1t4WuqER3vzGp5PnSCMAERNzuFizrVVYZskfgjfS0+JarPEi2mC8uBiMZvMINujxVTL43DIg4J55InbaT/a6XkcVmdKGaUrLAeJh4bhRtw4YVvEEuuZi8C28aspTe95ljTziycNcnOncB3sR/0tNqaxLb5syIWRFIR21nmv47LRdXYM2hRNsZ96StcX7yzz6ZlfbTeCUlqG7GeAJIpCB5sEMDz7dt2q51l8x8MHtyIftjo9xxWLK5e3wHo8NKzPxZI7HRsrp9Vwxbvb4jxe+md7W5I+2nHiclsmSmBB3Ok0YFbXs1ljthlNdfrE2P9bY3l+RyTyn/Jpy/p4jjwW/4x0pOzUqPTbEE245LHxYP9bMYL1N6fF8Pp1+unj0//GMviy0T+AGTgP5yVIuuYsdEGNf9kIIvt+zANFRUUsKwiscR9rI0h/TMc/9saNjFjbRYzUH/rSx0Iyi1nugupnUd+mUISH7phH3KfjIDpmrqN4FNVggWj+2Bu7QHHSi8TgcSMfZjhJZjGMz4KKZ1H8p+MzSX9k8iisuGkUFeWxo64cFWLAN8r2xjdLil33IhnzSI4+RA8Oj5hwDGWm3B5mQssJlFkdxnHr7lwo0tAkqhqz4441uKp0OIrHaPu5fSTD0EeyIcslfLn0LBZ6YHJSrHa748w3arjqGHYqpYgsntSJgIdO2LZMQVzFcF1EmOjStyNLTy6Rdw928956PVO+VUetU6NhL9Ik2xDu9DvT9zQcbQKIq5iqH7oxQU8M7f4oO2jzoyxQ/qP8Dq2jfhAYgSOxPU9etGEc+u3MXjZ7uE4PzMHed8DTBMAPWEknPBESwmKb/WNrZxElBFD/UYsNY1K29xepHhXzeQ9+e2qDhgSPNpyUkn4HsXax36juRQDVHi23N3RreoX9J6vV9j7/Ym+i7R6UWopiUjpqXmKuzFuhzZIn9muZHwMVYjXrD7lGmjoAcFGeMDQ8QH6B+KB731sFFpRyEPfRSX7X0wjrs/QsjLk8lUTxff7MJTxzqNiyZMskivXqtJRA/Yqln3D9gNWqZd8t5xOVLtxFtVyK/AUqzOSQ8yv/3IOUx4nWSlmLPdqxEUMFx5D9TTe7eA6/1UTPB0Gtkmr5a4NdfjnyraGPRy7doc+S2fw+/7EToQ+jciLy31EC8Pb5wkXn86q0pMxvvE1+FIBlHjmuUNYi7RHnv3MGPfaH/Epl/vN5HIMFOBf3Nw37spY5IIQxm+YoO9N51vyiuje69VyybNNx+5PhNTQTevU8EJ6IfgdjfaX1HtJf8aC0ELhVupeyEt6/hs7NXCDkphiHzEWe8qLq/5ET4m1FskVq+Vooy5KnbaApne+flVE3UY3oUQfAEIbPXuOlkoONU4nwuYKoX9l91h+GY5wk54Yxg9kp0kdJu7z5h4FiW++G+QZhh0n8dwZvXt1873A1bX2CUejRaiMTlmT42vlSc4w+TLtZWMak/NndXEeQGyfihMDv8XTjbXtrN4mz8UCMx/xA17C/S+m4YBRvi1ncgUk+kP6GVxeD+E++HBd9m7Cauq20QPeNXVNpTnNRLZYi/82J6V9c6qNpkXQ+Ilcm6P0/V53CT7jGvSQBxDg12ey0EBQC18nDiy/MD49F/guXY/XguPbiZfmmM+qos4jkihm6+t96VPilNOT9mPb5WxwxIhTp2OgQcmAHdkTylri+ltB1xVnA2HMUBxYvihYHcDIsgxnaJAbOEx2a7kw1cb0g/e+2ScxX4yK283qk/EdrzW0moL/c/0OxDbv95kXX91/qSkcOKUrC8H4r55CftW5wDMq/Gt/+QhHwTupxl5jgY82mpLJfZZqjMJ/WL1WiQjZuBxxNuf8t58Ko66gO1+GhvWHat17kwzsEQeD0xMZw7L6xSjP+xHrWTuCYAgyiI0nkTq4gE+MZOtQHFdWRFEIulQy2wH2HGTcUj8uktHPienvsgRYk6vInil27AHdNxJ10PiI+SSRVyyk4elxDFc3ZM6sAn/dNH/bjplwGjo4BchEqTfmwO/Z4POwp0Z94q8YTLanC7VCoInRpI9m9HjZAblM1fdrj1AP+HfgIj8Wwfjyt8XR3uBHvwXueMup3ybuUKNNlGkOoeWqgH5ujH7OrmQ1Kvgk7eBpGwKkS7KhR9QYzI5qevDaEsjMrkdoTdvA0jN5TNdhBv8HMiP4dXhtCCJrFSByCT/B7/F4V9uAG/z+xW7jtlJyuhLoRoAx+HoclBVo2Ih8O1tzWREq0exaiTobl2N3gj6a0i8aWt+m+zeoGg31cu75A5Zlq2His++3pi797c0GcMPffEFZbE++hqdVA5HHBwV9e0kgaW1Jn69tvTLAX5rWE5Ep5fq9QQfzuN6GueyDPRZju6voqjxPXeMwPokhDGMMYVif74mtwCp6NZ09HiPwBFuMDXzYbVi4FQZvxgN1WSs+sbkVhxgN2oIp38ks7AZXjGlwTmEBo9b2eaqQNV2co0E7zNHNufM1Z67ZlrukVdaJQArgfjfF1FU3fBSM4LNFigTnHEBGAvcuEmhoawRzl0ZFH9ecjOMgWWXHMBrkOCgIy9j3GlFbe1GVMpJJDDuy4ZElv8pMsmlFNAQsICHc6pHPpJIdFiKhlPgta90HbUoU4OjGt/qgXcfkSpeC0fKVJuFaVQ5skEHJjTuntbZHunNK2u1YsEtvC1bhBIw0R4bq9fB45EsoP0HDUWobaNB1yxnq4Ey+s8rj2vVG7sNLBBim6yud2FmgvAgHWuwgZAfswesQz9Zh1jzQYMxiI4GUcf+1giExt3jAWX0tT5ycWCAlasB5Yc9ZqLqD917mc2bnpsXfd0eP3q5/oQMtODPxuq0Qij4UAe63bhrTwlKLUDyYHLCitov6Xn9ptw37VXAdcqLhTpXB2OFksPogFR4mcZIzhL9Dnv7akN/ZMIWJGxfH2IUSHH+4WH7yCIEh2gkOk/91nnjKkU1nriCehGBw3GRcUESaC5JGEDcCSEU+KOCXCO+cdxOiZDGxSCR/4Ij2OqCrYA7uasO+nT0lpO6QfnsitqlYGjAIXlQwqHXbPLoC7wObJvpvKkyMzTD3rMgRxI5E36XPT2hVeqAqSmkruh1MCeBuEgCDrdKEPQtJb/8834J0G+4/eeD8abfPEr2XGyIRn39zMkx75Ugr+WqYWQTZsw7aWpJxBjIIy1Him1U0HCsV+saAQDFif55eWk0liGVqruVC6h9iqq3248o8tMWXfLYuobrzCTb04UMiGndPPFMdGbcKqDMz6vmGrfkuUO/ij7s21Qsh05wdl4ck13MmQPdh96298/Z933/VsWITGII6qV7hRDnE+VBPxAOSfNacNf7MJYwhxoQHvEgCjB8Dkq6cdKubKkF+2YRiEX324mLY8g5TVeQIEgaKFroLTq//fuaUFb8TInmHQ412RQw1He3k7bYM/LRrVA7cu6Qgzi7Jp6to6XKj9LEhdDAqXmqNlKz5kTOx6tHBAgRvTj//j5lv4l8K6JNgPKcC54JPKohv5z7/O8tcUZmZpWTebyxCMePyd6NWyGal8xjA7FIY5M4MYmozbcbvkGEvnrAqRohe6sAeJBr66zyCKb6azKDPMO0g61A6I0YdkINuFYZJXtpuavsmypCD7ua5jx4zykl8ZvaT7u3AV8jTL8iBwEhc25C1iqVbW2QBL52chMxQ6C0Gs56D0NRBdsViFLTArtWJks6YwhvcCk4nUeNgwQgKm+IA7wsKTQmwmVjqXTTcx2PNl2GbTCgFcR8ifEUUNQJUwdm2ouvTp3QuDGZTzaaNjJqZCbPuv9SO6C7KvnvvK1TmbXOjgVhTI4yCoYrK/VzoQbP42KM4M5crXllGVtQ+t4VvPH31HXr46EYXDGkVZiNCGmshifJgohkG3AyxIF/WAhjBvunwyQKgdtMBE/SBKJXtPNCwt4pX0hrjGnoMrJ/X5976YnhK16xaOtzNuuHaSwT9/M3HnzaRwQeqjbeF484o2qTDMl7EMVtnnKbZnNbzG0Sb9kAo/2DY64nNPvqh+9Yle79KXF4b1ELoZrOaN+/3rH/j8+uJp4bbxcBSr1s1nzcmHZsqZE+ZrzU/KsrE+AxsNOgyueTvYa0o/xlEZzgCNQOeTGnJMa5g8uujqvm3AZt1xPlL4Em5tZyEJpVJ6ChlxGOUhkvi2USHbDABpRLQt1rrCZiUxKn+njzC6KAJWXiuBLzSHLqa3LYSY5NWVp8KUH8eaOYxdZHq0M7TKkEgXuFZCJtNZ5qyni1kT5rmvTaPj1YPvDWqKNswAjdz98oLMYnJzazt+kFavTDcW8sfTBMdlyrNPTw4C/2j7NsSdYATcH9TAxXTBVIeyTO092wFV4V6eoSG4ATfEIShD5RwtTZkFFZmd9j15lI0yEhG545STcqQOd66ZrJ2zHbBzhyV4wPpiaayixUzVknn7ExcQrnezW3XDmti8747ybT6ZVGkThrzaAK+3B1N11XnW2Lfon0QxcvOWOMGDMcnHnLiNTSH0WawjwzvyNUp0oyQjfH22mMUGmrtrPXs2mdhIRFInk7pA6YG+wyx1945ZIkg5YP+79FBXBXnvKiVZdL6jVtTxAiwxnC8OH5lxifVM9VW32daSu8jMkZ7EfFSmUmK5m42u9M++u7TQgszmRw+J92KwvZN6/uxObtJuTMLFFJdRGA7DYYHkyfI1LbGxlIzNbfAycszzHLvW4x3oYi3Bg2HXkLcnGdwjtFnVVT9YCvMo2t6xQipb9Ab7fbNJ4j+yjAkPB0+HW1d653tPV4Y7wFW3Bl31Z68txM5fNKbC9qn0z/olWLxl6Cs3eTrMegov9AmYflvMBp/R+GedOs0zyJE4YfnkiPW+s4DPJHieg9S3MXCAJ8yThptxl3WOCmoLry3gApgLFXjE4H1uAwe2RiuoxGqTxq7O9t045TBrGENALmsmSGQ/lU1VcIw/AgGO96KDkNawcuo1wEAIvG13OgGehP1WBbrlRSkCSdG0DoVOEF/IjUkL0pYgTwLPpt0gEQSNc975VEai3Z4ImMzKKfKE3gVn7aqr+KEUK7XBCQuaEp02ayXbC+exlErAGM4amfVSp56bvs+8W5NyDXIdV096YDBWTMcz3Wx/GsHAZa+wPaLZ1mwJ5k2VJ9GDZSWI03AjEc/i0eFb/BSrL43jAeeFgBt7H53zdBb2A+Zl69hIzrDG2txNXowEggAjUqx9rKxPQ2tzyHTOvm6cLUSsLk+Swh0opa333ojGCwI+Gu2S748ge4NOUiaYHtjRR1oyRyRb4lMEJK8pZ2iRSDuZklL7LqYLebT6knCWJ9YU6Gbrgh80o3gS3/Fg154AtO4orRJpSkTtxe7FcOzyxFnqLkqbtk0o4OPR6eJKeiSq1oLZ8eUdTAR2KLKW2KIs/NkpCnjbhbAeD2ksINfiZnQGJ1GL+Ok6O5JgPbTquc2WtiU+blqnxHInh2W9PjzZZHQ87kZvXgZ0XTE5DlkyPTXdtq76sMae+Mwk7/+foNeQNw7AgXWuwCoVF0S9PTewOgV6SAVJ/g8xrOGs67lGeRYr1UDFVgIIbfaJJoMzNV4m3MGVbp0WBXYyUGeOMdJ7gNbT+NP4jUz24N3il+mbafP+tb02JhHJ+dWWTyr9FPy8nuKSADiCkvs6hL0Qc35YoIZ9RzMcfJ0oQRWub2lDirN8PTLJ+9Iswprv85GrnGv3xMvSHnXBaxwaiS6pxpv/p5w0lYNAR04K4pi/OCPizb/zKC+7WZcu5IODJ4JNbRgCZTgEw5273lEOmH9Ky1ibOVqvgndgr2CzKwJTE9MHiIVYi+kTQvab3z5rQ6tfncdUc4CI3tn3sWyu2JCbhbmC3shUij6AcM8ns5mfC0tozrM+ETl8AiFOn+xXmW37xVQIjlAYY503JWCWZi+QwpqKsncaWM5EbLyrICYGhtEcAQpr+I4z6N0qMewnSzn38gxQGm+1wEUEQndaMHZMUAMQobd2rVzFrThCDZl5EwFr95Sr2cyq28tZWHMqb0MwQFuA4OdDiYpAGozFDgPJT5NahN6cUI/vFtRxpMLGKPzCuMjcu+NSIPGBTReKPxqBR+PRC607s3emtSSCPhZiF0MlcSOQHKui5scZA+dCagNHIGAzjsJnbnk4L8lbR6wxrbOyNFhfCiBBNsFqxlWy66WFznln5g3xMcByrzQGvigiEYIj69pHGpXOexDz/UBSPsnarBRPwXBQG1DpRWvo/kRhm7M87FcZwr0bLAVujYilf1TumRzytsH9/Fj2UHAO4OgiweWerQBuTHlEhKyXEVRCVhVbLKm46yKPQ02qBI6O2VjaADqEGNbmVLKd4qQGM0bj285Ylq4Byr5nia05m8IW5kAaokyciXMEWxahxmhVDyG9mkELbhCrXOgquXO+LE9HEWqlLIUxJkJKK93onZ4zD8a54g/V62GWpR7r5kKHsQ0pcP4GpEVWVeG+JvmSipX2RpHluVdRMPpGz1czlMo7oJr9DD2FMb+aK57Z39Md3w8yec7f6+1TeElAvzYy2cZMKYjO4Vf1Q20qTCDy7gsk83tLYepc0Vwh0HN4oI+TOH2ZMzTonyw/DEFeTzfKRq1amozDj94ZExC5G0qjraG0Jl7TPpDh3A1ugp2UErAejy2KBiDJBwQXFM3IVV2wcVmbjxeJkhQJI3X+cPA2yjhUU2mFsyY80FMqq84CPPZ0UraqPCCOZxjsO+el8YkG5zbRSzhVWEk7t1wEGKRQKK7jlTe0rTZjR3NWuPMjeV0euWPR2eaMGKYwhxNI3RhM6NoHWSUjzrUxsYztkMSRYS/xDxfjolCHXMgpYxRBTixL9r9gFrAus4wYB4J4CjE9b1szbg0yIERYFKStD5WhGDTo2YHDXGkmLwNwGZ4tg8GHkjQpPAobaAMqmxmU8svV11AZLhoiz3S9I5GoJ3nvq8a15EUnsIFmXNqIfUehSNpIxo+7ta6cEDmFHJdAj31xbVUEki4wq0wXMCymeDe/CFswUkNTXn4tOER92SWh70PhcR0kUFta9YymRzOy4FKoChKy4FAcFkiEqWPF8P8tqS8Ysseulef5HRAyTkyOaI/LyvXa8MhGDWLuL+pJjmUV4oa0RprKqhDzwkOkmggWAZTZ76ufVjZQfjSnxdvP6vUeP1kc/3XYSIao0CYV9nD4uPCVJ2SSpgjfaiQ8KDwVl56Hg3vDS1Mdrp+sDyoFiQDdpfZwRQ2yTmEVh0U9JLQttrXhqqFikIwJZVzYRsa4IZkVzU1mgKtR2HOmRw2F1EomUNQZ5ZCIFKFkIXlyij+ZdJDjBtx1BcA4NfMTOsx+yyDOGL9h2A5Ovxd72iDTMWzq3vGNESFvSkVwlBrq1qGW0BPPmoIdF9mApaAiqL43/+ausDaKs75Tt9ygu0MGYAU/q32qwfqWRQkilOa7DWa6uRnvaUPCCfMcSnDDxnFRo4j5pTx0G5MeDXxkytkBWI/Gc2+P00jZqipKf/jsptOXrgMnB8wkxZVwxriUgWSwRyYwg9mwDBvK2mIGCboIIdFDMnshL4pitRIja4Lt0hzoHJ0mll4gB/mjZTFwytGWSwhaMNmX444VQJhAOcTBxHCkc5RkqSOOsGD4/hjjJlemDBVGhleYRNtEiHnjYL656gvVgTSYL5fEFk1xUs9F8kow7XQHWHZN6GReiljkfU9jvvx6VUIy7dThYcgAT0OgsJx59YiQ/fmO6MVw8U+AUCA59sE+IZPXPKYpDn20WX7tJKY19DFmPp82notkeoyyTyczgkmm8EMrdw4mvS7btI7Fm0vNJG33eaBNLaWuIS02YqPHA176zPNkSqSwb8fIHeEaKKhkDG7sLNJlZKY0BMvU812xMAAxYiKL2js7lgeaDsblPAY4P43L9KiqvHLHG5q68QZm6oafsroSXeozaRdUQIFdjLuiWmxftKhKe5jDeIcxjNUmG47RRH5/t14EWHtPBEVgJ3ZKl5Gjq/0gk4bxzrIZN3m/EOOb6D7KtOCuy/u5QbNHzdSyYG+fWfmK2MGnvj+uLN+2CSnCTAteub6fxWn53slxmti9IhU2JU/bnnCouYdrZ8dIevAUbVnxPDOhAtnoy1awJbTNCJahTPEx5LzzFCp7FcwUQnnORl+2fCjf0xTcEhbtv0opbdmkn6gTTdVuAoa8nHAK/YH9/8s3jgs32ejLlrgpeU9aa6fZS+tMLtw+cUidHdiER+FRZkTFIjjxZDur8pSD+x+d1LFQcNl3XwyyB6wFYq0RSJUnZXm4oXZD+0UTIQ/aBVIp2hdtUSQJ4jZs7Y2khZE2wjMWPMGkEIVr7hZxkIOAPh0NS+mO9JWpZiuD0iFD13lB74uaOg7TxG6km2TcSefrJmpcXNm5UUSNQve9cVGw6zPxWeMB4ft9lH3OapsmE88qF+auWm3hJJ4y7J6Z5Dg006aW1QhXpVIXh0Fr3w+Tsq4rponVpjx1FU6aORwkavF0d3f1EfDum/eUmQkLGCpL1EEi7sdv9vj+mHY11i1tYLauCTEHV1yk5FiE5kQmNJk5Nh527DCKmcLVNe1HOwq5sVKMo7aSd2YRF3xuIXeJCFoYYD+dC7HALQ9l0dylMIXDgqpZLOPk5lDsqQbrdtWQgKxsWgo+4DSFVWgqRw8cr7pwcVrTxT0liefjgtu6KXYvvMNnFpmKQtb7fi98g01N820bk1Js7ubTQzhuPF3uDkusz/kR0wr3Ia0qDZZtAa1DELiGqmqoCrOj8ii9uJ3NCctEc2Q6P9l8EZB08+wF1jVmqCz/cSQxwj9fK/1kDeuTpBDOO16kUGW5Z6wq2Q8Waq0Ok6ipfc5zOWmxpN60dW2Ott0OAZCg+5vyncHn4u1PIt2Y1cU3GTHEnE9Jxb4VG1+kFUMAAVaq4CvQCY9CoL7YuFNfzTd7AgjD/MRcq522xsPfvVtV5t/9kFwRk+F1SXs5CYY9TJysjQsbgh3nXmkTiHv0V32x7NEbjgqnYr+kUmofdkxo5+pyCb/K61enQtplqwRzZ1bysb7LF7dFTjT6MroInoVntcK4bRG7pjRdnUF6GssCfVAdRXcp1YdrKknk64BklJC6DMw3nVblNN9bZEjEvSQz2rd9cBcHPHISMOFhlvWkD2hbnAbfcBHmtLhzcbxPot3eLdXLxTJfJ6kYWuxdc6k0TnV55ATXFcP9az4o3vzhtllIPlPBAZWbHY+ZKH0v0zACnDLbw6VyPjlMNWuUGPCmGA/ejAnk+0amEHnwDVOY0z1lF1vL0Y84nnmhz48ud35rOzlrm6kVfNzSNdSTLK2HZXnExURulyJf5ImF5P2eJPfGM2tIx6cXSweJ9i9h9pkM/B+zPbxOU5JIYo2SsAu0Ml65WRfI99kLO7gNNlSNVBsFdoJ2E9qGhQz6ZaJrzRfc2le0tBQEO731dmHJjDqKrz9K7XYrH3guQNw1h7lhnIQMdmlJSKnRsl2F4b1SmTsaE03Nem6J75521Xg5vUOUHO6mHtH66l0JpES8U9aYtl0naV109MwtZLJWdPhILdBOPGTpPXcslwLE52njYJmGcQ9cL0jDt03FwiQOHWcMJalwPCsVSvKO2dQo1hvv1csz128lTX083T9KonH5DrNOZF2S3O8KE/3Ud3+REEuw5BHwjWJ/7OYeMzd7ebBkA7XZjakrzmljXZpDvpWv3XsyHO3p6adt+lRX3rb/QOQkiJCPed088J2Exm4/0pGXMlIj+44RHUfcriiqKcgH/pFjfvAzdHuETG9REWvexhTmtdQ35MJJOKmrFNLbGpXDm3rplaTBMOvV2DGug7M7DksgEnMkgBRj1C5UGGhiPZZ1OedqKtH717FMj13D965puX5UBJYyn0TMGrLeeIXZWraKS3OaGLDaoGVaJFkNvGeWU2F3kROCkCZ47D0FvueHU/P6KIzJehbmi0m1YRU1gmuMe+/2TzIAm7v4BUXeZYTaoMX6JGXMsnTJBXij+OwmfHsv2dgTeSaYdD6Vpq2lnRlvRh4Y3k2RKRDgGIlAonFxSoxHYRMiXXTIKLxY9h5neRGZYvgmKfI04oZgBH3nM7pEwC9fedrZHL25dXl2R3REi4R8bSIzT7WsnluU5nkdIu25xqmHaHayjeMo8CxxHSb5Qe8xHRVcNcppOLd/ZousT7wXpcuOWCQN5GzvbIQIKX0Un40q6fBLok4xlYapFZ2h+xoOk20nUYwqP4xleOtHOZ7qiEnvf5YE+04alLUp02jGoYiok4nmtnRHdAlxh2hsuKE0obRmfrW2HI1geMJ6DYR7sKS6lUJjKMfZxF/MFpeN3LU0s2OJbVkAI1OpcK6Md6yPc0c7qnbOh0BMgbOUN+eHkS1LlSz0V+hVFebzvbA1/VzDy2dr/3D/8NKfZ94TTd+MhSU2CPvKpqh1Ki/q6kubF1Ov9YX9E2r17jle8jJ8MzdjjKESnVHKgUfGdG0k9LKsMEZaVkJ8sBSylbjqhJ98lmeSNbwERfZ2SeJF1pK38zC1jBnEEbHyVqilauH1qkANmRAarLdGC/XHlvdGc29r/mgyuvTtpHnCEbHEgfGcqSyqjHsjFYKiUITGTSIDW98AMYK52+Zti9Se1s2Jd9bBPNwLjwxYMWJr0vfPLs4u/YkdP9EELBaGZa2rV275IKC8cOrca+5az/vti7ydV/t5GwYaUOu8sSiq3FE341oRAR/udWrqj9H+z1KxVdxviwWybcaqYGZ5cOIZVVKmRCO8TF44FtOjrqMcuevZ+BbxRnsV7Xuf58T6GUpJfegpXjvc2V3CdSVk8arey3Xl5GplqmciUmdfbaObcV1pxM2m8nmKs+XUb6cWnbOu02yS9Sx9i1hPHkb77ffWiGEXoxi1Far3M/GPtaMiOn5ran87vmlRx/8a0mMTNnn8HUIuF2WwEpJdOUCQvZ2UFFjSysSFRq4Ujd4oblcVs+dAX9WWHeWsqto6y+Cwq/xpxQSWxR2YwJldVJbjNhiJ5Eq1Pgi5QWSPS29S/V/n8FIU2CT1aKthGkFKDqvENrXWdDpq/NPCmdA+d31th4IxDcK09Ybbg5pyKqR2hUbEphDKfmxT32K6PlNtN+b0LpCEYr8fUdk+CMPIdYvaVxnhZ1MhlFmPujeYpk+GI8/JA5v9bVK7YQGmOZddwq6bWgeeozG4Fbd6kcniFImksM4lwLYyMMra3Ez1TI/20tsT8/efR6gjbGIGLh0wCGCQ4xHh5mxmEwTHi2VquT8uKmTUBZUwGmgEm5VQawxrrTaF2eINJBH3p6RDpSvWLUZhYl5pMiLx7uWq+0TIlotk3DdKal1ObBlafwq4uweGUcHuwnhTQRavf+sUSZeXKw9MCXp2qLh6bNyfSWg/klrb1JSLaicCReMYHDMjOxq0G7x80EoRZj0OcDawgiM2V4hagIwaQaw3aASLQPsa20x9OCDKCodjceJjTwAQrOifCoXBrpk2Z+skXNOiZ1dWjsIjVVSgZGQDKaXY3R9yhFExWkTnreVttYS1nyIXx0CfG+WJ751LT7Q4cib23CNVsY1PIndaadnfBW7Mf60ZO64SlWMlA/saAJGwrA9VEgOFqD6dMjztysxxlYo3pyhzXMU6UEyKMsw+ctbal0w91PYvgG9OS6VMrIvpg0iGlVi5zVZfaXPgAExih+Y2LoEynHa7z+YTrMLMj5SS0tdFB+yKGCJyb2G6DpQnPU3W0nHQ34IwKICUZ34YmL1X9ZMbtyeMJ9Vk35giZLqKyQCMfPsL5cs6As3hgRpZVTSGWoaWr9TA2iIcPnWnqoy8Z0JLT7kb+5wzGsLNOjD0rOOOJ/ihKb5qGPxqQTeQsmrC6Bp+gB90HVbxFnACtgMheWm0ZN8QZHBBs16kilYyJEO06aTkNRuPc0SW8yj7dhJKpz4cqzT+FKyy3N5ha72z6aKBn1viy9L4s4T7MjHsnvdlDRERpwXPVumhplz5zkejyCTamJdoP+4C+8ck+6eBIhSnjGDWOGIDnZXsu9LExcATzln9PEYNQu0D4n0K7b6NZVdJzPMShpgKN0imR4E2ldeigvVxnLdKfmeoijLxYL6uikmhpMpIgWBy8rOfSXvkfS3WQJXWzrXmkiNu/rffu+wNx4BfvN9wI+4ctaSSyMmMg4glnNEpcGI4dLVOQpDBBQdligFK33k8L5Li2Gj12VNWOT9hbkquwlkLLQnp4ya6/NfpWMPIoemqqTxuOlcJJDYhB4KzOhUBrCeNa4cPsqpHjuGlmZE9m8yUCSj6rU5QBbUo2cBPtIEdfuYZhim2PC9zgOG0llyIbOWwV+OL89evTy9myf57C56zBYWs3oFvkaTlTxqUtMjNkqIuLzyMdPsyi8lNuTfDvPRfcZrVr4PxpXrGCo/F2/rd14QTHcEn8Akpiu980wq0cOQSZEqDI4Z3ZWOKG7zZqirwZ5IPmt07VdhsSP7TkWAZGsUh1gAyYb1IajEcoiyKIqAnsRnupbIDEKI/wmwxI5rQmDI65wyxYPQTEHOmOei5ZMFLxoFkSn1Q5lxN2WYli4pgaSS4LSJ+Iqe3bYU3ZevJbjftK55ZZagos95iuwBWAV815Fz46yQuDVD/iyhm7ZXpQ5xAF7zYuBh4HyriM1NwsJM+pcAPixbk+6878fq6PEt8fEOpj5V6qgX3GAh6G0ncya4VDSjjsejoJryQdUjwXbmbGFHmxk31Ga8F5Wg9jORm5abHaNU005Aja+d2o/O+Eq3f28RGCk1W6vVX6il2hdX/PT+ki+agLnHoI3h5MWNL0cqUE991Xdy/6zFMXQcstFCVWV/8YJyew++hkKyr5/qTs9eAlxyVUnH+LmtFBcNRwUjX4zKHcYrP6KJD8trBD53sH70nd51gejfdOj84IfpBGzZ1WRKIZGQo0hQryUQtiSJh8zPCdWkEzPF3RVNhkNQhkhLXpatoCoic4EcKCb9atKS53kycLyVI90XhP0U7kcaoyzlV65KxKwFBDvh2hoAKCSzMLdm68zEdCMctVriHS3ox3WG4fo+w+gB34/0D+yU2q5UqpMHaNO2CqdyM245WnoxG0WeMZJhxPiQ4Wdy+43Oua1NiAuejifW+euWMb6yM09m2Fidu0CB6u0yGbUDW47qgiGuuiNbZ1whR1+wxaDzjAzgu+c8wY8IAotfLmsFcSGWsFhhzQcD1LIXkxSrQaHNIQBSTJubooPDjVllDTEFvDLzcOBdKj7JhN8xCmEHIspcWjom0eRpuSPk4UOKDRLF69bzufKFqjHbloykn921Lt7ZV5yT3oayhVxUtjSNMl0lKvrZjiiDFJlw25dT1PIeaoNT57DAY3beR7wcxyvjoCOLBSPZH1qnXdNVVoDIQTpgiYB8NSNpO67S6lOfuxRBvxaOCD9TFduvSO3aI5UaZmxJp/cjbx3mGo2AX2x6R2+ZFJHHxeKv8yLYJbWY1zPSbdQSi/PlKstku4Ot8J8aBKw8nMotmEudFHnv44mSFvtroM0VzInJhFSkZcTOEDHqlUQmTEJzIIAo8bMWTu34zFz7oUxQQQbrSAWj4QQAEFb7EBTw/qkiQTaTtIgSOmShJ+Ma8OdJqYfhTKjXrddZBExKNjFrIZhslnVSul0c1ajHNmh/ZV4dCsOy7/lx9QZMRkhRYUhDwYgjehBT58HE4pw0kLCG5gO98vK6Kcye5iWBvuIpy6IQGfHgbj0G4MaaLkq9d1q6NUrxzPC2zjBOnwwuUQW97ESeMiCv0KZ7B982AyxUcs/Bl37UwgE5+1NfvJy11QMjttcPbLuLQFpuOu4kcXQFxbQLh1pouSstHDUcK2dsD0j11wZ3TE3K8n1dRDPXiXMnG+aC7AyRIb2J5EB0ywAV4ddeGwdEP7K0oLxT6XcE1BYTTQO4N4g/sNal4zsuXPF9eB+mUFEJKmxNWUouDTzyb9Yn68f6TiulVRn015967mGCOS1paYiTTo51zGU213RQivQyxQxH8KH8wgM9N+eHiDBWaFbc2ppK0ohBjcvFLG3Vn6ZZfhtehe8tecFje+eGCDRWf6aqPVRQ+oDseYDY1rLiKQjde9fkdNTd3FHeGIZ0UcdUCjPGruKpUBd+yI4om5MJ2LzbOqHfnr6129rTc+tPbXjsK0nla3KE9KS3HVde+qtM2f19pZ/xk6hHTVP2RMIMDyWreV53Cte7sYVR2k1jL9a7Rmpr4EvvfCGmJXa8U62bnoYEjrIVHkMT+DRnaLwFtPibwpvMMbSiR82KjtY40l9PxBMRzfF7tt9lO3HU0iEY2rEwGNytGzdJOXEFFBcvpSVIMu2HOMrGl9ETOJmgRiNk7lOz8qbC8BopjHX3z/+/9EaWMIPLRXfGEv0Sjda9cdje7d7nfrmKTTrqoaoe2eDFuYHcBo+aDHXrqmv1msFdfaIphN1vnYWKn4Alc0PiY9t5zi/6B9YOzRE4no+1/OvcPS8Uxbn/vLIPW/r5ayol120vk+JgQUIn1Xfx7so5BBEirJpgrYn0Jac2+2RW/eORY93l4EYAo0pmQEsxdYDeOSFZwFNA/z1bqGSO6HQkuCQSJXXN38/b5EPGx8dXthKEBW2CIuE8TJNz82hKs8kEdKclLx/nEJUiB4v4ObWGUiC/Cskj5MpoyqNLTboPwMyb7+UEzJ2Jlda9tTZZ7T3xyluA2lR73Htl+D4IgjKPARSd6m4Sc+1EU2qOYBfP1D090siSI461mVaeLyfWfkTRVSC7okmYQDawsZE27TAuGJmK7W3mWwfDts6jSXXRTnPoDheEeQJzh8z77/1aWzcfNmDSv0v29fhpm0qB8TYIkaifXT5OVs73oBVcVtwWRvsa1ouEb3w9tYXDzZA2IMYv/rZCK4KrilgYmy7Gn8z2NRKRG5BUswZW40ghOE9mUV7OSj1VMq89jis2eHrPYGI6NkTA5oxHHL35+AYyJYibzAxkbw4dMNgzL2QgPaizF0JijG9OPSWRy++rlRyr9FNSXPnpqTh2wpbqqqrv78FGNrH7/bRAq7fWDsSHNo1JuR5Jwr/XIp5XMkHlAQgvfy3RaKVZkEn0AKmveaKrxpFJoHhPAWLJNpQPgl0ezs5NczAnZSnAkeY8ML1RwjJGYjnfj3cwaCZXcv43bydhMx8elcTPF6Zt7NvFSxOGdOkBrqOuMkete7pswjVJHl4rO/eOmDTIHMTuwZfZ1606nHqC1C5fPZlO2K20TJLNyG+9a7qy8vnaqA970dinZ9xHeIVm61/eamToJkCJFRL+d2NNJAaeA2dkEBsr9zlS73DB7eOfWvbOcmRayOlwEhX/yYLkrUBf2HbuhBZwcq1TX/P+uq/1Jc1gbbLZtpIsL1YjYPL3xrH9Bt03llNMD3HXYcvvl67dmiAz14gNHZV0b+Aq5Q/XLB+sDe/sa09KBMuk0uBb/gf+IOOpGLInMejpznKZLJoBU+/9uzE8hJ1acbEp41sfTyWmqWAiyTtvGqKnt0PBTy2m6w0KgpDw0Qiic9f40c5oumQiVaWz4Kec0RUwEYQnb8Nxp5hErkrhaPzhtdcaZOdmKiOyD/oh3xChzaLVVHhp3KprG2LmwSFZzR+y2MaeoGRUsp/MSCoP13/AdbC1RtTbGoaHnrhlxxkPRkVTFbUPOabN/xHLcSziPJ8YHsz1G44/RNEVDTnazecRgK56GpxnCsZEdI78B4lkySgq84WfLaDgNskKYWRdnzihDN01F5Bt/Go2GG3FZ77tZ106pUcZdU7AVB+78GmEjHofHtYC2kSrHWTG1tQbPIuXK0kvcHKo0MqYHFCnpN2SzBac5LwcUbBgHCFzTQJLB86IqmSndep7EyIvIP/qeOSfWvpS7ebhAKjK1mYMp2+0vNO0VgvcOXA4Vx/5EDxpJXxx5HR6/zmE8yVBA2X+V4/CHRTuYbzrCbIdC5N5jBE7WfaRNaNfFykucVU3LvKlDlHn4GldQBDABJfktK+/fM6V4gG+53KJD3G6sKGSx995mPD4lm7KAJJICjtQczMDJwO8/OqzK9W5VeLp79rnkwYe4n22m7RsJSaZj5Wjk/mml1dlRgemCh+23sqOr4EG4wbDqMqzesSZ3e/3QWcjkZAAP4238ucTwKEQ6aEUz1H96MoIl2fY1xW79oHbd6cqMZzvAqoi1h2HIZtkye7Xsqf88ZoxtWIfFDG9it5M9v5mc7Dcds060azxks2zDp2hipv4Tn5kUVRFJUy19sW69Rie6t1T5c4b1MfcksuqWkyMof8X08M49iaq6YwjUnItVNGXwVPiy4rLfSmcaPV+RqYBbxscS/W0lDu8sIBLi9hSLABAswi/PM/yps7PW5Z8+i25mdngXYPV4Vzy5mQ0fDMXzOyltFvW0ahIRxQaQwjSIKX3MvPT7XEbfa9H46Gel+Uw/OySYjJO70kfzmQAPEMYJfIVfqsJ7m81eLnF+5R5fYSjZ03v8spOvCRNe0R/ysE83B+YjD19tMfbB/Rad0PLSLTqYiQgw4JckuFFFNG+sG7jdDLGacuGffFVyOO3z57HkHTInEP5OaYvGN2/RtksDKTgU4G+2GAh8zJVBV/5d6cZ2dpqWU+G24YRNWS6mAX6B13euoUr1ex3oyUVRt8JNzQLlguTP3iz0aW1pU6n9sIj1BaHf215mHTqxs8uZQa3JFqfwakC6ljg/qoh2Zw0X3xX0nidcBM0aFUa8vMy5vt+jmPtacS24K/7VQfiq56SxjPt2jixbjrQ+VgqNrurYVGv/S/BU/KuvIE99/X+1n+0Vqia5BQu1PhfzY5Nxs6bvTjebs39AnsTxOD6juC61ftb5t4NLq/3EkGfZW4o0Uw8ryeX2OEj2TfOBraraVDXriC6D80NWhSq0tl6E2C4QMxEQfOZK9ze5KXnfSI4m1bCyRNtW+ZmVtLOZp6x1vAgHPvgyxyZID6XyxDb7mA+l/cw9ZIsiD5mZXHGyItes73ZnOL8IFydvxRvOnoN8j88KStM88wmSEd7RHiTKZm6NMD6dp/g5eY2RCayfUV+BPWWsEqBlURxgIHp5xIKvOwWkXW0O+4EJbZFkApGUO79td+ZqSYR7IFM+vkc31OO95zIUDbEd5neyQTloPTuezdrEYhoTEFg3HsAb7xGg5BPY/+8nZzECRXpjgAENI36Wp1nsxER5BbzmS+/EORZhrAdJkYQ6LUKdss7By6TKYU73jd5FpuhVo+eyYy/MKcZVvhVohj8cMG3TEPaV8psI/LRBtL6sMaKrqnYEgT9pGKMUyTSTBrKvtB/+Es0aSsuPCbKz4+O3KYLzDJyDc84ZTpCXoUDQfV0UzhnJiSBaaRqMpT3XqUaic6MFWishaPQyTitGKumjrTXjWOl1xjqv6Bew3GQiTX63lPNcsx7EuXQFBaF0OkPpmkVhonMRP8AkRJh63a6fTQkcCTeg4Oc9nTNys5svxfPaWqMFsV+iO/J8RnVNiDWG1yfOdSPTLrDNUd6d+cW+x6AR7hBLjqNhAQZgVZcmhbCdpsjbUs+PbZwFbEEhyLaR3djdI3Br46mfURihT/W+WHV/EOGjuTXuL8onvo4Ba9Tw3dG5s15fzoq5b2p3sdOR9Oxrzs6cOP3hR6gOwnAchaPSrXVDOrSp4Zh9H1jBpPMHbCo03vWFpSDeFy0bCVwIFKzHu7TgxTwk53HZsGze3soI5ZFyhWuU1bHvoqfz6YQYscGQCNduC+bl8RPNcahAduLbeBcSbfgh0BaEpkck67wIgqgWINLqDmT3w0Db0KuSxt0E0o89ghACrLFTiWtPX4WpOAYnmf5oKy8e1Vajvi84sPfhaz4AWfF7tUvoRv2NxZtcDgblLsFdRnepd/gtX+P2zK9Y0cOOP9akEDTLLn7MqWMBICN0lf0TRbuINWGSwl0yyIjR/r/vzDril6q0llVStBJRn5gBoS3JXaQqOaOL94nY4aR+/n8fbhcrz4JzQD05an//jZmHH73tGQSBhBk4AqemApBVq/6QuZPyYTsj4JSvjNono8qlxJgvL/QvDr6w+RGxfBcWEYrZ6QP9Ekpf6R5QoslCUJ9Ahkycr3aUAHysOzKYi+wwgqIFvmEHAJtPttWgtwsRU/Vhk58jO9YHVeYZrI0LVGdX62Fb9rOh6GmlLbuPi8gxeA3me1+Lic23ytTbCrciZ58q9+fe5t+Dcenh5xFHx3kz2s+LTA9RhwmtvZchk7U+LaT0UmBBOCZa1mIMLmBtQwcA9GBjtmlFgbiI0dQkmOitC5CSvrTQSvEJp20tBLvCqlCUhZPQmwKSY0JKGWx77aCUKkYLZSzGa9Gf/rZFu3Ace+gOxSS0ON2rUTHKwXPVQED0hgkXehBKMR/LrNDLisrz/n+olCVkOBsLdXFmFkNLoU8OdNmMMid3kmT4ddag9VHqPYKdnIXtQ19Y2/E/rZBwu2B+bMNeHpRjGZaNQ/dioZs1HTfrrBgJOuEcdJjyBaklLXGFz0RdOfE9E9h5PeNa7FHjF9QpwSheyM/E6GhFsglf+QmqE7IFrTgCmzLMfd1k/Wjfg3gOM2ns7BFhG6D1c83RdLFrWtzJWaLbP1wnWV9vHr7jH4WkKKuGZyne1WlQ8dqjYJpMiyr3HoEGY+gGnCtH4P/IfvzlUdHgJPTn+AvuI/LBV9O9zkh3RGJd66ikraEfVmNNe+wPUOmhWuhrf/jdd69fX6qMZ4M5G0bRTtEzkkJasgUy6RnVprEczgNcbpcUbnigBRfcGSgOOaWYKN+MenyfFrq6WB4dLTfrUmZv+0GIF84tMQFIqdmcxh6684vAKuv2B/cyY2e9kRbQnpQQPhKknNYMWuKRmM4HRGH8wfeRSgrhixKFWeMKmpDpm+tEDN+/L0/I1uIG/d25e82033q8g0QudFcOKdeV2IEdS4DWQLMcg26BMeyen79+Y+Fpf6oYgOR8G5e5L/7uggEWEpBWzoe4YIrXIi3xfLjICwKufM14mCR5kiSBqSOvXY90TW+9t9oDFlJKznq8fsBro9VQKUvxVn60DbsXiSibeP3gDXWRUuoCWPEHyyaFO7cxBsuinxiYDSHawxwIQizU4hAcEp/sD+zmKRWQ9Dq29F/mK2JYjcknRjgNzE+0LbuOjCkt4ul50dgkni4Sljqc0Cpwuryk2iRoihFh4jTUWIKpHB9gtjJ0WnMeF01uG9pVyF0QLsg9iawS9jC2cRVy/fiQmizOtRFbuvWDXLaMNIQulaGWfHZqYPVc9Qzb2gWUHUPQyou4Pl6gwTEe4aFT8QpRl/0fYOELPXt+CERUfKE16UoAjgfXeFUZba7vVxXRi464LgFfY4HvDks1HjBXHh1LcHMJK4EfpF/WimijKA5sw9CUrr9IbxKklAnBGO0CnJAAz09grcKP9DvoMKwsktaJRYM47Ao/8xwMMWEzFbSJE+JZMnJlfewGuDFTUSktsWyCAFewPijZVyJGe+UoWet80SAh1GRhOZ8kPEyrFUtebzZ+EDoIImZ33UPOShNm5TQoEsaE21wgCHHfEpQmSV5LoQCLsTgXfKciJI13oiC73i3J+QodRdHE80irqjPD8kUUvRPFevlO1OBnRSfnAtDop8YgAzhG1IZx3wzpplT2HZBmMkBeiLRgIACNOUSqEag7+eBCeiHm/OW6tLwUIECCjLhui87yndvBDWgpac61a5Bi29tUCNgVsK5AUPokl1AVxJYRXTrUEq0SLaT0lBnQXrdSiP9EZzUlJT3GFwpIJvvYNzkZSrA39q5XI0awKkCe5nVbLYQrMyxY2hw9DOVPko7CkYHZutVNpP8+SXhgcSt4xg9Wkeur1fFbsp1uZSfEfdyNyhPtiWs021XeOxINJ1qqJRAk/5q1RRHaLLTwLP4K51rp3X//RgYD7v79eg7c7dYS+3QfSkDQchwFX56MHGx8Oa173X/XAP87kP0bJq5iys7ZPbIO2A/HxN8kl3dlRJeTK3I0Lag4AhbUYQO+uAzZhvQnMTehEAv/JjQH3av+kNeiIv3FyUSUkJmRuJBErMdZH5eilexnsHnhc1XOXM59bTkiyOYeNjMvigQ5epBCHmlN7am4DSgnBAu/bdPl3kEDu521EDZXb7X0NoS86EB2AWIqS+Hm9PNC934RC+EC1p29Ys5Vb6Z5mHMGmb11CREtBErJ+kJa4eUwlhC5Kg/Dip8t0jiwt0DRNNnnHnCUAlAh62UEPwCLPoAFyUk23XnV3u5wt/ESBFPGwy/SwYagAsBI7Ng4ylmjYvbpTrt49ebswhMNFDfGoR0g6Q/T6UBSfq58wSRcXsMSL6VYRalsUWHquEE49XIeQAmXpxEXFFvCjQCQGYxGAKyBCHoGZNyu8UDxI/hhTTJDWXnlcrO32+3VfAWFWnmUTwohtHDklGwOsAy3DAAE3a03TYh6Ccqwsku5XWkhscO3Gn4qCzSFSsN6LrpxUsGPkDUMIgQiENyUhrGmoR6aUP46XGB4LXgvKWbol88tEGf0udjO5wSGc1npDK2O6d6eKWHitaBv2jQ49ZSP2zgMHGdk3qA7chOoVNqOg/SXJ925qWsplWL/Ay103kBwEGULUcTUOLDgoq48D+kKGjJbseuEPoaytM475j3vRh8SEmXVvlZLqjsvl/0MkgVHNG9nPCVrOFoUKIRv/L01tJnHsyVnsGhmuc80W1sOE4Ln3W6ULuGKmLSIwwlD3FEGdeQDoZC/iAIEpViKpQoYSImB9hiA1nNXAbnoMHr1Byv0iWC6nu1ZQBaT/WAM8MBYrd4hbRLiQZzISqEGh7sTF34VF4uCvbOsL8JhWhId9t2m7tjqvhGT/v4EWka9n6ZO8uNCzW+kZFE8A++140IVYklmCi0i5EJwWzMDZQjJZ270kae6rk0QCsS8K5lrpYu2FPhRFeDPnCvB+qwrORqjRNCZYoOxICGl1qjZZxhlvY8x8d24J7o4tyPxZsDEYBejNk8XSZAJwYA/EjzUYO0UQz3dg0YoJNInd131NTuRJBc77dJGo5p11UgEgANvYW5+mAbcE6SVsT80JLLoecKw4FTu6sj6rDGRKko2mtvNegGyyPGaAG6JY3QPLAxHjx0bj8DJUe/oCfgVAeAWvL1pOwkmuO5PVJiGrpSHrBZ8ZKSBczfHd8fR2eNf4b2uHOiijxLT0JXSsTpAf8u/OEfa8e5ZfU2KUR6weiC47u+pMQ1dKR2rA/TPTC7OkZu0zuoX5BilzOqBmdqPYqlIaRXBdX8kVzR+RUuE84CVDcHi52f6iC76aBYNXSlDFgTW9Nfdi3Pkjn832DdEC7roo1s0dKUMWRAY65+bXpwjCIq3t+YGuU24WB4IoE38023KLg7a/yYhyEt6fqrkFlywXz3vVe8njrDP9DzADAYQoN84GqD/MeT/b0bOhFlQjg/iXLV8CKoS/eOCXYpW/ZTOYLYrdp9SHS+lVUWs/yGvKIOHiSQErZAO2a2UmYNZW1jLmY/8A7JJF8/VX9F9NtL/xypcokZOuMza1MWvdsodf0Sd66o7dw1Gz4pVeSltwMGYU1AtggQqc1Q+gkHack9lk99zYc4KgbYfQdIiLgGlZKqQVp0K+kPwMAbSo4x4PDDE6KLx8hYz+VSQDNzNpksfHZWvAahmwnporCLFHSl/Qj8vUye9ZQJLLb8cAaXjRlHP8eoNuV1N5G88GK/4S7MLVCfbKqCnAWxwViqo48RBl36CnCGgAjRAM9RADtThMGy+7XAyCcUBNEE+FEAM8qAC+kHprIjA8cfpmgghyvdI0CgdKT/iA+CSdUsnTMZnmNjPJFIDMwlQBk9mhylX5xcayChdUcMFFR8j64iuaIrC7aRLV7xf2uEab9MF4aGFg/DI4iv/LmVu8UmbYvDELSE27tDRCIuWUJttYHIMnfcx9hUlM5SpEMDMFqSewUGP5zbpz99GqgzEBt1KhC2QDlC89dKDge0e5pBurf1CjI9lZLqZGnuBeqyD6bopJyj0Uf5BnMrj6/5OmMjvUfujryH4Z/AWZ64HJqffwGeCu9IWaP1x0EDcZSSS/1usikmdQu1AsgBxTtThl4/w0guhFKsXxii4F6HPrV6UMJ29GHFWyaSI269gCE3WNSAA1saDXgjgieqlAUpCe+mAE79eL0CE1csAMp96mQD3speFcGsKu8Y5EEf/biAuunO9BL6dvTwsq3r5xKb2ClC09gpx1Mki4sJeMSlnrwQutFeKoOyVo+NDJcZl39AJuLF6Q5Sqk6Ap5NaqUS41oza899SK1pg7lE6MWvkF5QaXZ/xdRmjSoFSu72eqiCSmhBrJe8xUaYia0JdaLJgCK+ThpYpL2Vc5+enxqg3UtNSuVsqUfa3NlrPSbTXqvJwb5IqiPPA6UMmlN3ITso3CGaJcf5crGz1V6tWJ9tJIbpxVvc1TqxUmZqhUbfhXo0FOIjfk1ZpCQ8HcLBvHARM2oyjPFkdIkyJVwrUu6cpAYqixFW8bqaGhQgUTo2DWq9D64ZUU6rnpGtQbJGo5Lx1tuAlqfd1HVlAZkq5Wk504XBm98h40DNJmuS4rlwW10Wx1pHEDBp3RILDpdxs3EI/JVb2ljzofDM4qs0W5rTr4C1Ah0Csqlc654KIgahpal1x2xVW6IEDPELTJF6+KyTXXVbtptm22M3t3b0dULyQYCGN1y20D3TFftXy7NyJDgsgQBaKCODUGqzVIXWy9gku8em6veQJ9IOlhEuxYXYhkf2rSrCUcDJcSDaKDVGl5gXT9jJBhZHayUVYaY4dM/9m0kqf1ap4JuuHxxnmpekMUeuugATEgJsQKO5xwQ4TnmOOW+T0+rssr0YTV61pCGkGEEUUcSaTxjizyKOITZXzjF/8EJDCqBEUdTbQ+xa4yJjgmq2L/105YrLElPBGxJzJROnXFEacvviY6MYlNXFyJjzueJCQxSUlOSlIhSUt6+iUDG5M3mU1QqymtctIUXkg4HMlMFpaddolBQ1ekRBSnU07bbY+99tlgoyOOwuDJ5otqqjbTtZthYjnJVeylSQ4jJy/9TTa/fAzvfbCfgg+5uUqtEV0BSgozIEUpTklKU5byVKQyVanOwNRkUAanNkNSl3qzPBBrprse+ss9jxqaYWnINzMd+YNBX2jvWeEjkVqRuPnZOqnofJcfLWfL7jkVltspquN8YL4/npFuqcGlWyuZykbdnb1W080PRkaDpnO/Q7HU/ruA0lb3nU3vT/hwP/F0sjmrHemi7KZq1spsGfuU2PIdVTreSHwXnfkKlScxDlWhm3G8TqguV6/BXnEm8In2Evxl1aUmfxOCiqVNwTssbSYUfmvxUF3Yhd2IEWMXdmM3PkUBgXGDmOPEJepDwHhEErd4APEmEMECxiNuQgQLUccB7gPAkBgMGACowbAYwGCARz0fi3b2yjVAmxhuZjwyrVj0YhSzWMUuUlRxjnzPRCK7GLsSj9YpdlgcxYHtv1cIX93LRseE2+Nt+QzF/OhrHhIua54ipWU/tO6nFjr81oaOiGfFlosAfBI++Xws5n0R2pK9sTJ7PWtuEMcsf4gftjlSaNtP5+isuD9cHryIvHRyNthVN6eqoidaLJj1nVQMh7atPR5ce6NzjQMH5HHar4ezXl+0bqGw4sA5dCwuVPx4Nt6q0sMFeTP9/l+Rv/fWLr4lHP9oYZAvNssj6nLfl5cwEn0eW/e5O/+MVe15AA=="}},"time_used":72,"timings":{"blocked":20,"dns":0,"connect":0,"send":0,"wait":28,"receive":24,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/d71b99267b066b9b.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T03:56:40.047Z","timestamp":1785124600047,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/d71b99267b066b9b.js HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 2253216\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"d71b99267b066b9b.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 03:56:40 GMT\r\netag: W/\"8ab91e90961bd7e4d7c2d7514a37ecf6\"\r\nlast-modified: Mon, 25 May 2026 18:12:21 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/d71b99267b066b9b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::z8pn9-1779843301298-e28dad7012c9\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=zOERHsO1Pk7RhGZITE2o6qTviulbfcRZeLLS7t7hKSPWsVd9fdbDVharAS86USwPMaXYAXB%2BUwSvixB53i6NSLQNeJP%2BZZgeBewrkAvJuHrkpKI76BUJcTPotD9b\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a218b72e499956b7-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":27443,"size_decoded":11045,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (27443), with no line terminators","md5":"8ab91e90961bd7e4d7c2d7514a37ecf6","sha1":"d2e2405837d8cd1436dae22a0c5d7f4e15168995","sha256":"6e16504cbe3f76082798a523cf9cdce3bc9321fefc36485d02c9289e5a5f6b38","sha512":"da24ae4884840b4b996fdd087c41065e590b5cf33046f6aec00157142b53b9da067a83af2cc7744429b64c02bbfb1aef428787389939a1736cb4ad1f0458ee69","ssdeep":"384:AqniNMH/fZ8oNS1VFWHcE+Ff8IiUG6AUNmXVOmitisz8Xdjz8/K4QIwATf:YO58o0fG65mXVOOKKNInf","tlshash":"bec2c725b90705be2aee83e7e06cabd5d9385a02d5098b4ce3978f319704bf56187b0d","first_seen":"2026-04-30T18:36:20.827898Z","last_seen":"2026-08-04T06:18:34.231181Z","times_seen":2011,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc1MTU3LDcyODQsZT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7Zm9yKHZhciBlLHIsbz0wLHQ9IiIsbD1hcmd1bWVudHMubGVuZ3RoO288bDtvKyspKGU9YXJndW1lbnRzW29dKSYmKHI9ZnVuY3Rpb24gZShyKXt2YXIgbyx0LGw9IiI7aWYoInN0cmluZyI9PXR5cGVvZiByfHwibnVtYmVyIj09dHlwZW9mIHIpbCs9cjtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgcilpZihBcnJheS5pc0FycmF5KHIpKXt2YXIgbj1yLmxlbmd0aDtmb3Iobz0wO288bjtvKyspcltvXSYmKHQ9ZShyW29dKSkmJihsJiYobCs9IiAiKSxsKz10KX1lbHNlIGZvcih0IGluIHIpclt0XSYmKGwmJihsKz0iICIpLGwrPXQpO3JldHVybiBsfShlKSkmJih0JiYodCs9IiAiKSx0Kz1yKTtyZXR1cm4gdH1lLnMoWyJjbHN4IiwoKT0+cl0sNzI4NCk7bGV0IG89KGU9bmV3IE1hcCxyPW51bGwsbyk9Pih7bmV4dFBhcnQ6ZSx2YWxpZGF0b3JzOnIsY2xhc3NHcm91cElkOm99KSx0PVtdLGw9KGUscixvKT0+e2lmKDA9PWUubGVuZ3RoLXIpcmV0dXJuIG8uY2xhc3NHcm91cElkO2xldCB0PWVbcl0sbj1vLm5leHRQYXJ0LmdldCh0KTtpZihuKXtsZXQgbz1sKGUscisxLG4pO2lmKG8pcmV0dXJuIG99bGV0IGE9by52YWxpZGF0b3JzO2lmKG51bGw9PT1hKXJldHVybjtsZXQgcz0wPT09cj9lLmpvaW4oIi0iKTplLnNsaWNlKHIpLmpvaW4oIi0iKSxpPWEubGVuZ3RoO2ZvcihsZXQgZT0wO2U8aTtlKyspe2xldCByPWFbZV07aWYoci52YWxpZGF0b3IocykpcmV0dXJuIHIuY2xhc3NHcm91cElkfX0sbj0oZSxyKT0+e2xldCB0PW8oKTtmb3IobGV0IG8gaW4gZSlhKGVbb10sdCxvLHIpO3JldHVybiB0fSxhPShlLHIsbyx0KT0+e2xldCBsPWUubGVuZ3RoO2ZvcihsZXQgbj0wO248bDtuKyspcyhlW25dLHIsbyx0KX0scz0oZSxyLG8sdCk9Pnsic3RyaW5nIj09dHlwZW9mIGU/aShlLHIsbyk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/YyhlLHIsbyx0KTpkKGUscixvLHQpfSxpPShlLHIsbyk9PnsoIiI9PT1lP3I6bShyLGUpKS5jbGFzc0dyb3VwSWQ9b30sYz0oZSxyLG8sdCk9PntwKGUpP2EoZSh0KSxyLG8sdCk6KG51bGw9PT1yLnZhbGlkYXRvcnMmJihyLnZhbGlkYXRvcnM9W10pLHIudmFsaWRhdG9ycy5wdXNoKHtjbGFzc0dyb3VwSWQ6byx2YWxpZGF0b3I6ZX0pKX0sZD0oZSxyLG8sdCk9PntsZXQgbD1PYmplY3QuZW50cmllcyhlKSxuPWwubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspe2xldFtuLHNdPWxbZV07YShzLG0ocixuKSxvLHQpfX0sbT0oZSxyKT0+e2xldCB0PWUsbD1yLnNwbGl0KCItIiksbj1sLmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXtsZXQgcj1sW2VdLG49dC5uZXh0UGFydC5nZXQocik7bnx8KG49bygpLHQubmV4dFBhcnQuc2V0KHIsbikpLHQ9bn1yZXR1cm4gdH0scD1lPT4iaXNUaGVtZUdldHRlciJpbiBlJiYhMD09PWUuaXNUaGVtZUdldHRlcixiPVtdLHU9KGUscixvLHQsbCk9Pih7bW9kaWZpZXJzOmUsaGFzSW1wb3J0YW50TW9kaWZpZXI6cixiYXNlQ2xhc3NOYW1lOm8sbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjp0LGlzRXh0ZXJuYWw6bH0pLGY9L1xzKy8sZz1lPT57bGV0IHI7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCBvPSIiO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0mJihyPWcoZVt0XSkpJiYobyYmKG8rPSIgIiksbys9cik7cmV0dXJuIG99LGg9W10saz1lPT57bGV0IHI9cj0+cltlXXx8aDtyZXR1cm4gci5pc1RoZW1lR2V0dGVyPSEwLHJ9LHc9L15cWyg/Oihcd1tcdy1dKik6KT8oLispXF0kL2kseD0vXlwoKD86KFx3W1x3LV0qKTopPyguKylcKSQvaSx5PS9eXGQrKD86XC5cZCspP1wvXGQrKD86XC5cZCspPyQvLHY9L14oXGQrKFwuXGQrKT8pPyh4c3xzbXxtZHxsZ3x4bCkkLyx6PS9cZCsoJXxweHxyP2VtfFtzZGxdP3YoW2h3aWJdfG1pbnxtYXgpfHB0fHBjfGlufGNtfG1tfGNhcHxjaHxleHxyP2xofGNxKHd8aHxpfGJ8bWlufG1heCkpfFxiKGNhbGN8bWlufG1heHxjbGFtcClcKC4rXCl8XjAkLyxqPS9eKHJnYmE/fGhzbGE/fGh3Ynwob2spPyhsYWJ8bGNoKXxjb2xvci1taXgpXCguK1wpJC8sQz0vXihpbnNldF8pPy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApXy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApLyxHPS9eKHVybHxpbWFnZXxpbWFnZS1zZXR8Y3Jvc3MtZmFkZXxlbGVtZW50fChyZXBlYXRpbmctKT8obGluZWFyfHJhZGlhbHxjb25pYyktZ3JhZGllbnQpXCguK1wpJC8sTj1lPT55LnRlc3QoZSksST1lPT4hIWUmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKGUpKSxVPWU9PiEhZSYmTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoZSkpLCQ9ZT0+ZS5lbmRzV2l0aCgiJSIpJiZJKGUuc2xpY2UoMCwtMSkpLE89ZT0+di50ZXN0KGUpLFM9KCk9PiEwLFc9ZT0+ei50ZXN0KGUpJiYhai50ZXN0KGUpLEY9KCk9PiExLFA9ZT0+Qy50ZXN0KGUpLFQ9ZT0+Ry50ZXN0KGUpLE09ZT0+IVIoZSkmJiFIKGUpLEE9ZT0+ZXIoZSxlbixGKSxSPWU9PncudGVzdChlKSxEPWU9PmVyKGUsZWEsVykscT1lPT5lcihlLGVzLEkpLEI9ZT0+ZXIoZSxlYyxTKSxFPWU9PmVyKGUsZWksRiksSz1lPT5lcihlLGV0LEYpLF89ZT0+ZXIoZSxlbCxUKSxMPWU9PmVyKGUsZWQsUCksSD1lPT54LnRlc3QoZSksSj1lPT5lbyhlLGVhKSxRPWU9PmVvKGUsZWkpLFY9ZT0+ZW8oZSxldCksWD1lPT5lbyhlLGVuKSxZPWU9PmVvKGUsZWwpLFo9ZT0+ZW8oZSxlZCwhMCksZWU9ZT0+ZW8oZSxlYywhMCksZXI9KGUscixvKT0+e2xldCB0PXcuZXhlYyhlKTtyZXR1cm4hIXQmJih0WzFdP3IodFsxXSk6byh0WzJdKSl9LGVvPShlLHIsbz0hMSk9PntsZXQgdD14LmV4ZWMoZSk7cmV0dXJuISF0JiYodFsxXT9yKHRbMV0pOm8pfSxldD1lPT4icG9zaXRpb24iPT09ZXx8InBlcmNlbnRhZ2UiPT09ZSxlbD1lPT4iaW1hZ2UiPT09ZXx8InVybCI9PT1lLGVuPWU9PiJsZW5ndGgiPT09ZXx8InNpemUiPT09ZXx8ImJnLXNpemUiPT09ZSxlYT1lPT4ibGVuZ3RoIj09PWUsZXM9ZT0+Im51bWJlciI9PT1lLGVpPWU9PiJmYW1pbHktbmFtZSI9PT1lLGVjPWU9PiJudW1iZXIiPT09ZXx8IndlaWdodCI9PT1lLGVkPWU9PiJzaGFkb3ciPT09ZSxlbT0oKGUsLi4ucik9PntsZXQgbyxhLHMsaSxjPWU9PntsZXQgcj1hKGUpO2lmKHIpcmV0dXJuIHI7bGV0IHQ9KChlLHIpPT57bGV0e3BhcnNlQ2xhc3NOYW1lOm8sZ2V0Q2xhc3NHcm91cElkOnQsZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOmwsc29ydE1vZGlmaWVyczpufT1yLGE9W10scz1lLnRyaW0oKS5zcGxpdChmKSxpPSIiO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS09MSl7bGV0IHI9c1tlXSx7aXNFeHRlcm5hbDpjLG1vZGlmaWVyczpkLGhhc0ltcG9ydGFudE1vZGlmaWVyOm0sYmFzZUNsYXNzTmFtZTpwLG1heWJlUG9zdGZpeE1vZGlmaWVyUG9zaXRpb246Yn09byhyKTtpZihjKXtpPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSk7Y29udGludWV9bGV0IHU9ISFiLGY9dCh1P3Auc3Vic3RyaW5nKDAsYik6cCk7aWYoIWYpe2lmKCF1fHwhKGY9dChwKSkpe2k9cisoaS5sZW5ndGg+MD8iICIraTppKTtjb250aW51ZX11PSExfWxldCBnPTA9PT1kLmxlbmd0aD8iIjoxPT09ZC5sZW5ndGg/ZFswXTpuKGQpLmpvaW4oIjoiKSxoPW0/ZysiISI6ZyxrPWgrZjtpZihhLmluZGV4T2Yoayk+LTEpY29udGludWU7YS5wdXNoKGspO2xldCB3PWwoZix1KTtmb3IobGV0IGU9MDtlPHcubGVuZ3RoOysrZSl7bGV0IHI9d1tlXTthLnB1c2goaCtyKX1pPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSl9cmV0dXJuIGl9KShlLG8pO3JldHVybiBzKGUsdCksdH07cmV0dXJuIGk9ZD0+e3ZhciBtO2xldCBwO3JldHVybiBhPShvPXtjYWNoZTooZT0+e2lmKGU8MSlyZXR1cm57Z2V0OigpPT52b2lkIDAsc2V0OigpPT57fX07bGV0IHI9MCxvPU9iamVjdC5jcmVhdGUobnVsbCksdD1PYmplY3QuY3JlYXRlKG51bGwpLGw9KGwsbik9PntvW2xdPW4sKytyPmUmJihyPTAsdD1vLG89T2JqZWN0LmNyZWF0ZShudWxsKSl9O3JldHVybntnZXQoZSl7bGV0IHI9b1tlXTtyZXR1cm4gdm9pZCAwIT09cj9yOnZvaWQgMCE9PShyPXRbZV0pPyhsKGUscikscik6dm9pZCAwfSxzZXQoZSxyKXtlIGluIG8/b1tlXT1yOmwoZSxyKX19fSkoKG09ci5yZWR1Y2UoKGUscik9PnIoZSksZSgpKSkuY2FjaGVTaXplKSxwYXJzZUNsYXNzTmFtZTooZT0+e2xldHtwcmVmaXg6cixleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZTpvfT1lLHQ9ZT0+e2xldCByLG89W10sdD0wLGw9MCxuPTAsYT1lLmxlbmd0aDtmb3IobGV0IHM9MDtzPGE7cysrKXtsZXQgYT1lW3NdO2lmKDA9PT10JiYwPT09bCl7aWYoIjoiPT09YSl7by5wdXNoKGUuc2xpY2UobixzKSksbj1zKzE7Y29udGludWV9aWYoIi8iPT09YSl7cj1zO2NvbnRpbnVlfX0iWyI9PT1hP3QrKzoiXSI9PT1hP3QtLToiKCI9PT1hP2wrKzoiKSI9PT1hJiZsLS19bGV0IHM9MD09PW8ubGVuZ3RoP2U6ZS5zbGljZShuKSxpPXMsYz0hMTtyZXR1cm4gcy5lbmRzV2l0aCgiISIpPyhpPXMuc2xpY2UoMCwtMSksYz0hMCk6cy5zdGFydHNXaXRoKCIhIikmJihpPXMuc2xpY2UoMSksYz0hMCksdShvLGMsaSxyJiZyPm4/ci1uOnZvaWQgMCl9O2lmKHIpe2xldCBlPXIrIjoiLG89dDt0PXI9PnIuc3RhcnRzV2l0aChlKT9vKHIuc2xpY2UoZS5sZW5ndGgpKTp1KGIsITEscix2b2lkIDAsITApfWlmKG8pe2xldCBlPXQ7dD1yPT5vKHtjbGFzc05hbWU6cixwYXJzZUNsYXNzTmFtZTplfSl9cmV0dXJuIHR9KShtKSxzb3J0TW9kaWZpZXJzOihwPW5ldyBNYXAsbS5vcmRlclNlbnNpdGl2ZU1vZGlmaWVycy5mb3JFYWNoKChlLHIpPT57cC5zZXQoZSwxZTYrcil9KSxlPT57bGV0IHI9W10sbz1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7bGV0IGw9ZVt0XSxuPSJbIj09PWxbMF0sYT1wLmhhcyhsKTtufHxhPyhvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pLG89W10pLHIucHVzaChsKSk6by5wdXNoKGwpfXJldHVybiBvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pKSxyfSksLi4uKGU9PntsZXQgcj0oZT0+e2xldHt0aGVtZTpyLGNsYXNzR3JvdXBzOm99PWU7cmV0dXJuIG4obyxyKX0pKGUpLHtjb25mbGljdGluZ0NsYXNzR3JvdXBzOm8sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOmF9PWU7cmV0dXJue2dldENsYXNzR3JvdXBJZDplPT57aWYoZS5zdGFydHNXaXRoKCJbIikmJmUuZW5kc1dpdGgoIl0iKSl7dmFyIG87bGV0IHIsdCxsO3JldHVybiAtMT09PShvPWUpLnNsaWNlKDEsLTEpLmluZGV4T2YoIjoiKT92b2lkIDA6KHQ9KHI9by5zbGljZSgxLC0xKSkuaW5kZXhPZigiOiIpLChsPXIuc2xpY2UoMCx0KSk/ImFyYml0cmFyeS4uIitsOnZvaWQgMCl9bGV0IHQ9ZS5zcGxpdCgiLSIpLG49KygiIj09PXRbMF0mJnQubGVuZ3RoPjEpO3JldHVybiBsKHQsbixyKX0sZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOihlLHIpPT57aWYocil7bGV0IHI9YVtlXSxsPW9bZV07aWYocil7aWYobCl7bGV0IGU9QXJyYXkobC5sZW5ndGgrci5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8bC5sZW5ndGg7cisrKWVbcl09bFtyXTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKyllW2wubGVuZ3RoK29dPXJbb107cmV0dXJuIGV9cmV0dXJuIHJ9cmV0dXJuIGx8fHR9cmV0dXJuIG9bZV18fHR9fX0pKG0pfSkuY2FjaGUuZ2V0LHM9by5jYWNoZS5zZXQsaT1jLGMoZCl9LCguLi5lKT0+aSgoKC4uLmUpPT57bGV0IHIsbyx0PTAsbD0iIjtmb3IoO3Q8ZS5sZW5ndGg7KShyPWVbdCsrXSkmJihvPWcocikpJiYobCYmKGwrPSIgIiksbCs9byk7cmV0dXJuIGx9KSguLi5lKSl9KSgoKT0+e2xldCBlPWsoImNvbG9yIikscj1rKCJmb250Iiksbz1rKCJ0ZXh0IiksdD1rKCJmb250LXdlaWdodCIpLGw9aygidHJhY2tpbmciKSxuPWsoImxlYWRpbmciKSxhPWsoImJyZWFrcG9pbnQiKSxzPWsoImNvbnRhaW5lciIpLGk9aygic3BhY2luZyIpLGM9aygicmFkaXVzIiksZD1rKCJzaGFkb3ciKSxtPWsoImluc2V0LXNoYWRvdyIpLHA9aygidGV4dC1zaGFkb3ciKSxiPWsoImRyb3Atc2hhZG93IiksdT1rKCJibHVyIiksZj1rKCJwZXJzcGVjdGl2ZSIpLGc9aygiYXNwZWN0IiksaD1rKCJlYXNlIiksdz1rKCJhbmltYXRlIikseD0oKT0+WyJhdXRvIiwiYXZvaWQiLCJhbGwiLCJhdm9pZC1wYWdlIiwicGFnZSIsImxlZnQiLCJyaWdodCIsImNvbHVtbiJdLHk9KCk9PlsiY2VudGVyIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwidG9wLWxlZnQiLCJsZWZ0LXRvcCIsInRvcC1yaWdodCIsInJpZ2h0LXRvcCIsImJvdHRvbS1yaWdodCIsInJpZ2h0LWJvdHRvbSIsImJvdHRvbS1sZWZ0IiwibGVmdC1ib3R0b20iXSx2PSgpPT5bLi4ueSgpLEgsUl0sej0oKT0+WyJhdXRvIiwiaGlkZGVuIiwiY2xpcCIsInZpc2libGUiLCJzY3JvbGwiXSxqPSgpPT5bImF1dG8iLCJjb250YWluIiwibm9uZSJdLEM9KCk9PltILFIsaV0sRz0oKT0+W04sImZ1bGwiLCJhdXRvIiwuLi5DKCldLFc9KCk9PltVLCJub25lIiwic3ViZ3JpZCIsSCxSXSxGPSgpPT5bImF1dG8iLHtzcGFuOlsiZnVsbCIsVSxILFJdfSxVLEgsUl0sUD0oKT0+W1UsImF1dG8iLEgsUl0sVD0oKT0+WyJhdXRvIiwibWluIiwibWF4IiwiZnIiLEgsUl0sZXI9KCk9Plsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJiZXR3ZWVuIiwiYXJvdW5kIiwiZXZlbmx5Iiwic3RyZXRjaCIsImJhc2VsaW5lIiwiY2VudGVyLXNhZmUiLCJlbmQtc2FmZSJdLGVvPSgpPT5bInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwic3RyZXRjaCIsImNlbnRlci1zYWZlIiwiZW5kLXNhZmUiXSxldD0oKT0+WyJhdXRvIiwuLi5DKCldLGVsPSgpPT5bTiwiYXV0byIsImZ1bGwiLCJkdnciLCJkdmgiLCJsdnciLCJsdmgiLCJzdnciLCJzdmgiLCJtaW4iLCJtYXgiLCJmaXQiLC4uLkMoKV0sZW49KCk9PltOLCJzY3JlZW4iLCJmdWxsIiwiZHZ3IiwibHZ3Iiwic3Z3IiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVhPSgpPT5bTiwic2NyZWVuIiwiZnVsbCIsImxoIiwiZHZoIiwibHZoIiwic3ZoIiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVzPSgpPT5bZSxILFJdLGVpPSgpPT5bLi4ueSgpLFYsSyx7cG9zaXRpb246W0gsUl19XSxlYz0oKT0+WyJuby1yZXBlYXQiLHtyZXBlYXQ6WyIiLCJ4IiwieSIsInNwYWNlIiwicm91bmQiXX1dLGVkPSgpPT5bImF1dG8iLCJjb3ZlciIsImNvbnRhaW4iLFgsQSx7c2l6ZTpbSCxSXX1dLGVtPSgpPT5bJCxKLERdLGVwPSgpPT5bIiIsIm5vbmUiLCJmdWxsIixjLEgsUl0sZWI9KCk9PlsiIixJLEosRF0sZXU9KCk9Plsic29saWQiLCJkYXNoZWQiLCJkb3R0ZWQiLCJkb3VibGUiXSxlZj0oKT0+WyJub3JtYWwiLCJtdWx0aXBseSIsInNjcmVlbiIsIm92ZXJsYXkiLCJkYXJrZW4iLCJsaWdodGVuIiwiY29sb3ItZG9kZ2UiLCJjb2xvci1idXJuIiwiaGFyZC1saWdodCIsInNvZnQtbGlnaHQiLCJkaWZmZXJlbmNlIiwiZXhjbHVzaW9uIiwiaHVlIiwic2F0dXJhdGlvbiIsImNvbG9yIiwibHVtaW5vc2l0eSJdLGVnPSgpPT5bSSwkLFYsS10sZWg9KCk9PlsiIiwibm9uZSIsdSxILFJdLGVrPSgpPT5bIm5vbmUiLEksSCxSXSxldz0oKT0+WyJub25lIixJLEgsUl0sZXg9KCk9PltJLEgsUl0sZXk9KCk9PltOLCJmdWxsIiwuLi5DKCldO3JldHVybntjYWNoZVNpemU6NTAwLHRoZW1lOnthbmltYXRlOlsic3BpbiIsInBpbmciLCJwdWxzZSIsImJvdW5jZSJdLGFzcGVjdDpbInZpZGVvIl0sYmx1cjpbT10sYnJlYWtwb2ludDpbT10sY29sb3I6W1NdLGNvbnRhaW5lcjpbT10sImRyb3Atc2hhZG93IjpbT10sZWFzZTpbImluIiwib3V0IiwiaW4tb3V0Il0sZm9udDpbTV0sImZvbnQtd2VpZ2h0IjpbInRoaW4iLCJleHRyYWxpZ2h0IiwibGlnaHQiLCJub3JtYWwiLCJtZWRpdW0iLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJibGFjayJdLCJpbnNldC1zaGFkb3ciOltPXSxsZWFkaW5nOlsibm9uZSIsInRpZ2h0Iiwic251ZyIsIm5vcm1hbCIsInJlbGF4ZWQiLCJsb29zZSJdLHBlcnNwZWN0aXZlOlsiZHJhbWF0aWMiLCJuZWFyIiwibm9ybWFsIiwibWlkcmFuZ2UiLCJkaXN0YW50Iiwibm9uZSJdLHJhZGl1czpbT10sc2hhZG93OltPXSxzcGFjaW5nOlsicHgiLEldLHRleHQ6W09dLCJ0ZXh0LXNoYWRvdyI6W09dLHRyYWNraW5nOlsidGlnaHRlciIsInRpZ2h0Iiwibm9ybWFsIiwid2lkZSIsIndpZGVyIiwid2lkZXN0Il19LGNsYXNzR3JvdXBzOnthc3BlY3Q6W3thc3BlY3Q6WyJhdXRvIiwic3F1YXJlIixOLFIsSCxnXX1dLGNvbnRhaW5lcjpbImNvbnRhaW5lciJdLGNvbHVtbnM6W3tjb2x1bW5zOltJLFIsSCxzXX1dLCJicmVhay1hZnRlciI6W3siYnJlYWstYWZ0ZXIiOngoKX1dLCJicmVhay1iZWZvcmUiOlt7ImJyZWFrLWJlZm9yZSI6eCgpfV0sImJyZWFrLWluc2lkZSI6W3siYnJlYWstaW5zaWRlIjpbImF1dG8iLCJhdm9pZCIsImF2b2lkLXBhZ2UiLCJhdm9pZC1jb2x1bW4iXX1dLCJib3gtZGVjb3JhdGlvbiI6W3siYm94LWRlY29yYXRpb24iOlsic2xpY2UiLCJjbG9uZSJdfV0sYm94Olt7Ym94OlsiYm9yZGVyIiwiY29udGVudCJdfV0sZGlzcGxheTpbImJsb2NrIiwiaW5saW5lLWJsb2NrIiwiaW5saW5lIiwiZmxleCIsImlubGluZS1mbGV4IiwidGFibGUiLCJpbmxpbmUtdGFibGUiLCJ0YWJsZS1jYXB0aW9uIiwidGFibGUtY2VsbCIsInRhYmxlLWNvbHVtbiIsInRhYmxlLWNvbHVtbi1ncm91cCIsInRhYmxlLWZvb3Rlci1ncm91cCIsInRhYmxlLWhlYWRlci1ncm91cCIsInRhYmxlLXJvdy1ncm91cCIsInRhYmxlLXJvdyIsImZsb3ctcm9vdCIsImdyaWQiLCJpbmxpbmUtZ3JpZCIsImNvbnRlbnRzIiwibGlzdC1pdGVtIiwiaGlkZGVuIl0sc3I6WyJzci1vbmx5Iiwibm90LXNyLW9ubHkiXSxmbG9hdDpbe2Zsb2F0OlsicmlnaHQiLCJsZWZ0Iiwibm9uZSIsInN0YXJ0IiwiZW5kIl19XSxjbGVhcjpbe2NsZWFyOlsibGVmdCIsInJpZ2h0IiwiYm90aCIsIm5vbmUiLCJzdGFydCIsImVuZCJdfV0saXNvbGF0aW9uOlsiaXNvbGF0ZSIsImlzb2xhdGlvbi1hdXRvIl0sIm9iamVjdC1maXQiOlt7b2JqZWN0OlsiY29udGFpbiIsImNvdmVyIiwiZmlsbCIsIm5vbmUiLCJzY2FsZS1kb3duIl19XSwib2JqZWN0LXBvc2l0aW9uIjpbe29iamVjdDp2KCl9XSxvdmVyZmxvdzpbe292ZXJmbG93OnooKX1dLCJvdmVyZmxvdy14IjpbeyJvdmVyZmxvdy14Ijp6KCl9XSwib3ZlcmZsb3cteSI6W3sib3ZlcmZsb3cteSI6eigpfV0sb3ZlcnNjcm9sbDpbe292ZXJzY3JvbGw6aigpfV0sIm92ZXJzY3JvbGwteCI6W3sib3ZlcnNjcm9sbC14IjpqKCl9XSwib3ZlcnNjcm9sbC15IjpbeyJvdmVyc2Nyb2xsLXkiOmooKX1dLHBvc2l0aW9uOlsic3RhdGljIiwiZml4ZWQiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwic3RpY2t5Il0saW5zZXQ6W3tpbnNldDpHKCl9XSwiaW5zZXQteCI6W3siaW5zZXQteCI6RygpfV0sImluc2V0LXkiOlt7Imluc2V0LXkiOkcoKX1dLHN0YXJ0Olt7Imluc2V0LXMiOkcoKSxzdGFydDpHKCl9XSxlbmQ6W3siaW5zZXQtZSI6RygpLGVuZDpHKCl9XSwiaW5zZXQtYnMiOlt7Imluc2V0LWJzIjpHKCl9XSwiaW5zZXQtYmUiOlt7Imluc2V0LWJlIjpHKCl9XSx0b3A6W3t0b3A6RygpfV0scmlnaHQ6W3tyaWdodDpHKCl9XSxib3R0b206W3tib3R0b206RygpfV0sbGVmdDpbe2xlZnQ6RygpfV0sdmlzaWJpbGl0eTpbInZpc2libGUiLCJpbnZpc2libGUiLCJjb2xsYXBzZSJdLHo6W3t6OltVLCJhdXRvIixILFJdfV0sYmFzaXM6W3tiYXNpczpbTiwiZnVsbCIsImF1dG8iLHMsLi4uQygpXX1dLCJmbGV4LWRpcmVjdGlvbiI6W3tmbGV4Olsicm93Iiwicm93LXJldmVyc2UiLCJjb2wiLCJjb2wtcmV2ZXJzZSJdfV0sImZsZXgtd3JhcCI6W3tmbGV4Olsibm93cmFwIiwid3JhcCIsIndyYXAtcmV2ZXJzZSJdfV0sZmxleDpbe2ZsZXg6W0ksTiwiYXV0byIsImluaXRpYWwiLCJub25lIixSXX1dLGdyb3c6W3tncm93OlsiIixJLEgsUl19XSxzaHJpbms6W3tzaHJpbms6WyIiLEksSCxSXX1dLG9yZGVyOlt7b3JkZXI6W1UsImZpcnN0IiwibGFzdCIsIm5vbmUiLEgsUl19XSwiZ3JpZC1jb2xzIjpbeyJncmlkLWNvbHMiOlcoKX1dLCJjb2wtc3RhcnQtZW5kIjpbe2NvbDpGKCl9XSwiY29sLXN0YXJ0IjpbeyJjb2wtc3RhcnQiOlAoKX1dLCJjb2wtZW5kIjpbeyJjb2wtZW5kIjpQKCl9XSwiZ3JpZC1yb3dzIjpbeyJncmlkLXJvd3MiOlcoKX1dLCJyb3ctc3RhcnQtZW5kIjpbe3JvdzpGKCl9XSwicm93LXN0YXJ0IjpbeyJyb3ctc3RhcnQiOlAoKX1dLCJyb3ctZW5kIjpbeyJyb3ctZW5kIjpQKCl9XSwiZ3JpZC1mbG93IjpbeyJncmlkLWZsb3ciOlsicm93IiwiY29sIiwiZGVuc2UiLCJyb3ctZGVuc2UiLCJjb2wtZGVuc2UiXX1dLCJhdXRvLWNvbHMiOlt7ImF1dG8tY29scyI6VCgpfV0sImF1dG8tcm93cyI6W3siYXV0by1yb3dzIjpUKCl9XSxnYXA6W3tnYXA6QygpfV0sImdhcC14IjpbeyJnYXAteCI6QygpfV0sImdhcC15IjpbeyJnYXAteSI6QygpfV0sImp1c3RpZnktY29udGVudCI6W3tqdXN0aWZ5OlsuLi5lcigpLCJub3JtYWwiXX1dLCJqdXN0aWZ5LWl0ZW1zIjpbeyJqdXN0aWZ5LWl0ZW1zIjpbLi4uZW8oKSwibm9ybWFsIl19XSwianVzdGlmeS1zZWxmIjpbeyJqdXN0aWZ5LXNlbGYiOlsiYXV0byIsLi4uZW8oKV19XSwiYWxpZ24tY29udGVudCI6W3tjb250ZW50Olsibm9ybWFsIiwuLi5lcigpXX1dLCJhbGlnbi1pdGVtcyI6W3tpdGVtczpbLi4uZW8oKSx7YmFzZWxpbmU6WyIiLCJsYXN0Il19XX1dLCJhbGlnbi1zZWxmIjpbe3NlbGY6WyJhdXRvIiwuLi5lbygpLHtiYXNlbGluZTpbIiIsImxhc3QiXX1dfV0sInBsYWNlLWNvbnRlbnQiOlt7InBsYWNlLWNvbnRlbnQiOmVyKCl9XSwicGxhY2UtaXRlbXMiOlt7InBsYWNlLWl0ZW1zIjpbLi4uZW8oKSwiYmFzZWxpbmUiXX1dLCJwbGFjZS1zZWxmIjpbeyJwbGFjZS1zZWxmIjpbImF1dG8iLC4uLmVvKCldfV0scDpbe3A6QygpfV0scHg6W3tweDpDKCl9XSxweTpbe3B5OkMoKX1dLHBzOlt7cHM6QygpfV0scGU6W3twZTpDKCl9XSxwYnM6W3twYnM6QygpfV0scGJlOlt7cGJlOkMoKX1dLHB0Olt7cHQ6QygpfV0scHI6W3twcjpDKCl9XSxwYjpbe3BiOkMoKX1dLHBsOlt7cGw6QygpfV0sbTpbe206ZXQoKX1dLG14Olt7bXg6ZXQoKX1dLG15Olt7bXk6ZXQoKX1dLG1zOlt7bXM6ZXQoKX1dLG1lOlt7bWU6ZXQoKX1dLG1iczpbe21iczpldCgpfV0sbWJlOlt7bWJlOmV0KCl9XSxtdDpbe210OmV0KCl9XSxtcjpbe21yOmV0KCl9XSxtYjpbe21iOmV0KCl9XSxtbDpbe21sOmV0KCl9XSwic3BhY2UteCI6W3sic3BhY2UteCI6QygpfV0sInNwYWNlLXgtcmV2ZXJzZSI6WyJzcGFjZS14LXJldmVyc2UiXSwic3BhY2UteSI6W3sic3BhY2UteSI6QygpfV0sInNwYWNlLXktcmV2ZXJzZSI6WyJzcGFjZS15LXJldmVyc2UiXSxzaXplOlt7c2l6ZTplbCgpfV0sImlubGluZS1zaXplIjpbe2lubGluZTpbImF1dG8iLC4uLmVuKCldfV0sIm1pbi1pbmxpbmUtc2l6ZSI6W3sibWluLWlubGluZSI6WyJhdXRvIiwuLi5lbigpXX1dLCJtYXgtaW5saW5lLXNpemUiOlt7Im1heC1pbmxpbmUiOlsibm9uZSIsLi4uZW4oKV19XSwiYmxvY2stc2l6ZSI6W3tibG9jazpbImF1dG8iLC4uLmVhKCldfV0sIm1pbi1ibG9jay1zaXplIjpbeyJtaW4tYmxvY2siOlsiYXV0byIsLi4uZWEoKV19XSwibWF4LWJsb2NrLXNpemUiOlt7Im1heC1ibG9jayI6WyJub25lIiwuLi5lYSgpXX1dLHc6W3t3OltzLCJzY3JlZW4iLC4uLmVsKCldfV0sIm1pbi13IjpbeyJtaW4tdyI6W3MsInNjcmVlbiIsIm5vbmUiLC4uLmVsKCldfV0sIm1heC13IjpbeyJtYXgtdyI6W3MsInNjcmVlbiIsIm5vbmUiLCJwcm9zZSIse3NjcmVlbjpbYV19LC4uLmVsKCldfV0saDpbe2g6WyJzY3JlZW4iLCJsaCIsLi4uZWwoKV19XSwibWluLWgiOlt7Im1pbi1oIjpbInNjcmVlbiIsImxoIiwibm9uZSIsLi4uZWwoKV19XSwibWF4LWgiOlt7Im1heC1oIjpbInNjcmVlbiIsImxoIiwuLi5lbCgpXX1dLCJmb250LXNpemUiOlt7dGV4dDpbImJhc2UiLG8sSixEXX1dLCJmb250LXNtb290aGluZyI6WyJhbnRpYWxpYXNlZCIsInN1YnBpeGVsLWFudGlhbGlhc2VkIl0sImZvbnQtc3R5bGUiOlsiaXRhbGljIiwibm90LWl0YWxpYyJdLCJmb250LXdlaWdodCI6W3tmb250Olt0LGVlLEJdfV0sImZvbnQtc3RyZXRjaCI6W3siZm9udC1zdHJldGNoIjpbInVsdHJhLWNvbmRlbnNlZCIsImV4dHJhLWNvbmRlbnNlZCIsImNvbmRlbnNlZCIsInNlbWktY29uZGVuc2VkIiwibm9ybWFsIiwic2VtaS1leHBhbmRlZCIsImV4cGFuZGVkIiwiZXh0cmEtZXhwYW5kZWQiLCJ1bHRyYS1leHBhbmRlZCIsJCxSXX1dLCJmb250LWZhbWlseSI6W3tmb250OltRLEUscl19XSwiZm9udC1mZWF0dXJlcyI6W3siZm9udC1mZWF0dXJlcyI6W1JdfV0sImZ2bi1ub3JtYWwiOlsibm9ybWFsLW51bXMiXSwiZnZuLW9yZGluYWwiOlsib3JkaW5hbCJdLCJmdm4tc2xhc2hlZC16ZXJvIjpbInNsYXNoZWQtemVybyJdLCJmdm4tZmlndXJlIjpbImxpbmluZy1udW1zIiwib2xkc3R5bGUtbnVtcyJdLCJmdm4tc3BhY2luZyI6WyJwcm9wb3J0aW9uYWwtbnVtcyIsInRhYnVsYXItbnVtcyJdLCJmdm4tZnJhY3Rpb24iOlsiZGlhZ29uYWwtZnJhY3Rpb25zIiwic3RhY2tlZC1mcmFjdGlvbnMiXSx0cmFja2luZzpbe3RyYWNraW5nOltsLEgsUl19XSwibGluZS1jbGFtcCI6W3sibGluZS1jbGFtcCI6W0ksIm5vbmUiLEgscV19XSxsZWFkaW5nOlt7bGVhZGluZzpbbiwuLi5DKCldfV0sImxpc3QtaW1hZ2UiOlt7Imxpc3QtaW1hZ2UiOlsibm9uZSIsSCxSXX1dLCJsaXN0LXN0eWxlLXBvc2l0aW9uIjpbe2xpc3Q6WyJpbnNpZGUiLCJvdXRzaWRlIl19XSwibGlzdC1zdHlsZS10eXBlIjpbe2xpc3Q6WyJkaXNjIiwiZGVjaW1hbCIsIm5vbmUiLEgsUl19XSwidGV4dC1hbGlnbm1lbnQiOlt7dGV4dDpbImxlZnQiLCJjZW50ZXIiLCJyaWdodCIsImp1c3RpZnkiLCJzdGFydCIsImVuZCJdfV0sInBsYWNlaG9sZGVyLWNvbG9yIjpbe3BsYWNlaG9sZGVyOmVzKCl9XSwidGV4dC1jb2xvciI6W3t0ZXh0OmVzKCl9XSwidGV4dC1kZWNvcmF0aW9uIjpbInVuZGVybGluZSIsIm92ZXJsaW5lIiwibGluZS10aHJvdWdoIiwibm8tdW5kZXJsaW5lIl0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6W3tkZWNvcmF0aW9uOlsuLi5ldSgpLCJ3YXZ5Il19XSwidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyI6W3tkZWNvcmF0aW9uOltJLCJmcm9tLWZvbnQiLCJhdXRvIixILERdfV0sInRleHQtZGVjb3JhdGlvbi1jb2xvciI6W3tkZWNvcmF0aW9uOmVzKCl9XSwidW5kZXJsaW5lLW9mZnNldCI6W3sidW5kZXJsaW5lLW9mZnNldCI6W0ksImF1dG8iLEgsUl19XSwidGV4dC10cmFuc2Zvcm0iOlsidXBwZXJjYXNlIiwibG93ZXJjYXNlIiwiY2FwaXRhbGl6ZSIsIm5vcm1hbC1jYXNlIl0sInRleHQtb3ZlcmZsb3ciOlsidHJ1bmNhdGUiLCJ0ZXh0LWVsbGlwc2lzIiwidGV4dC1jbGlwIl0sInRleHQtd3JhcCI6W3t0ZXh0Olsid3JhcCIsIm5vd3JhcCIsImJhbGFuY2UiLCJwcmV0dHkiXX1dLGluZGVudDpbe2luZGVudDpDKCl9XSwidmVydGljYWwtYWxpZ24iOlt7YWxpZ246WyJiYXNlbGluZSIsInRvcCIsIm1pZGRsZSIsImJvdHRvbSIsInRleHQtdG9wIiwidGV4dC1ib3R0b20iLCJzdWIiLCJzdXBlciIsSCxSXX1dLHdoaXRlc3BhY2U6W3t3aGl0ZXNwYWNlOlsibm9ybWFsIiwibm93cmFwIiwicHJlIiwicHJlLWxpbmUiLCJwcmUtd3JhcCIsImJyZWFrLXNwYWNlcyJdfV0sYnJlYWs6W3ticmVhazpbIm5vcm1hbCIsIndvcmRzIiwiYWxsIiwia2VlcCJdfV0sd3JhcDpbe3dyYXA6WyJicmVhay13b3JkIiwiYW55d2hlcmUiLCJub3JtYWwiXX1dLGh5cGhlbnM6W3toeXBoZW5zOlsibm9uZSIsIm1hbnVhbCIsImF1dG8iXX1dLGNvbnRlbnQ6W3tjb250ZW50Olsibm9uZSIsSCxSXX1dLCJiZy1hdHRhY2htZW50Ijpbe2JnOlsiZml4ZWQiLCJsb2NhbCIsInNjcm9sbCJdfV0sImJnLWNsaXAiOlt7ImJnLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJ0ZXh0Il19XSwiYmctb3JpZ2luIjpbeyJiZy1vcmlnaW4iOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiXX1dLCJiZy1wb3NpdGlvbiI6W3tiZzplaSgpfV0sImJnLXJlcGVhdCI6W3tiZzplYygpfV0sImJnLXNpemUiOlt7Ymc6ZWQoKX1dLCJiZy1pbWFnZSI6W3tiZzpbIm5vbmUiLHtsaW5lYXI6W3t0bzpbInQiLCJ0ciIsInIiLCJiciIsImIiLCJibCIsImwiLCJ0bCJdfSxVLEgsUl0scmFkaWFsOlsiIixILFJdLGNvbmljOltVLEgsUl19LFksX119XSwiYmctY29sb3IiOlt7Ymc6ZXMoKX1dLCJncmFkaWVudC1mcm9tLXBvcyI6W3tmcm9tOmVtKCl9XSwiZ3JhZGllbnQtdmlhLXBvcyI6W3t2aWE6ZW0oKX1dLCJncmFkaWVudC10by1wb3MiOlt7dG86ZW0oKX1dLCJncmFkaWVudC1mcm9tIjpbe2Zyb206ZXMoKX1dLCJncmFkaWVudC12aWEiOlt7dmlhOmVzKCl9XSwiZ3JhZGllbnQtdG8iOlt7dG86ZXMoKX1dLHJvdW5kZWQ6W3tyb3VuZGVkOmVwKCl9XSwicm91bmRlZC1zIjpbeyJyb3VuZGVkLXMiOmVwKCl9XSwicm91bmRlZC1lIjpbeyJyb3VuZGVkLWUiOmVwKCl9XSwicm91bmRlZC10IjpbeyJyb3VuZGVkLXQiOmVwKCl9XSwicm91bmRlZC1yIjpbeyJyb3VuZGVkLXIiOmVwKCl9XSwicm91bmRlZC1iIjpbeyJyb3VuZGVkLWIiOmVwKCl9XSwicm91bmRlZC1sIjpbeyJyb3VuZGVkLWwiOmVwKCl9XSwicm91bmRlZC1zcyI6W3sicm91bmRlZC1zcyI6ZXAoKX1dLCJyb3VuZGVkLXNlIjpbeyJyb3VuZGVkLXNlIjplcCgpfV0sInJvdW5kZWQtZWUiOlt7InJvdW5kZWQtZWUiOmVwKCl9XSwicm91bmRlZC1lcyI6W3sicm91bmRlZC1lcyI6ZXAoKX1dLCJyb3VuZGVkLXRsIjpbeyJyb3VuZGVkLXRsIjplcCgpfV0sInJvdW5kZWQtdHIiOlt7InJvdW5kZWQtdHIiOmVwKCl9XSwicm91bmRlZC1iciI6W3sicm91bmRlZC1iciI6ZXAoKX1dLCJyb3VuZGVkLWJsIjpbeyJyb3VuZGVkLWJsIjplcCgpfV0sImJvcmRlci13Ijpbe2JvcmRlcjplYigpfV0sImJvcmRlci13LXgiOlt7ImJvcmRlci14IjplYigpfV0sImJvcmRlci13LXkiOlt7ImJvcmRlci15IjplYigpfV0sImJvcmRlci13LXMiOlt7ImJvcmRlci1zIjplYigpfV0sImJvcmRlci13LWUiOlt7ImJvcmRlci1lIjplYigpfV0sImJvcmRlci13LWJzIjpbeyJib3JkZXItYnMiOmViKCl9XSwiYm9yZGVyLXctYmUiOlt7ImJvcmRlci1iZSI6ZWIoKX1dLCJib3JkZXItdy10IjpbeyJib3JkZXItdCI6ZWIoKX1dLCJib3JkZXItdy1yIjpbeyJib3JkZXItciI6ZWIoKX1dLCJib3JkZXItdy1iIjpbeyJib3JkZXItYiI6ZWIoKX1dLCJib3JkZXItdy1sIjpbeyJib3JkZXItbCI6ZWIoKX1dLCJkaXZpZGUteCI6W3siZGl2aWRlLXgiOmViKCl9XSwiZGl2aWRlLXgtcmV2ZXJzZSI6WyJkaXZpZGUteC1yZXZlcnNlIl0sImRpdmlkZS15IjpbeyJkaXZpZGUteSI6ZWIoKX1dLCJkaXZpZGUteS1yZXZlcnNlIjpbImRpdmlkZS15LXJldmVyc2UiXSwiYm9yZGVyLXN0eWxlIjpbe2JvcmRlcjpbLi4uZXUoKSwiaGlkZGVuIiwibm9uZSJdfV0sImRpdmlkZS1zdHlsZSI6W3tkaXZpZGU6Wy4uLmV1KCksImhpZGRlbiIsIm5vbmUiXX1dLCJib3JkZXItY29sb3IiOlt7Ym9yZGVyOmVzKCl9XSwiYm9yZGVyLWNvbG9yLXgiOlt7ImJvcmRlci14IjplcygpfV0sImJvcmRlci1jb2xvci15IjpbeyJib3JkZXIteSI6ZXMoKX1dLCJib3JkZXItY29sb3ItcyI6W3siYm9yZGVyLXMiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWUiOlt7ImJvcmRlci1lIjplcygpfV0sImJvcmRlci1jb2xvci1icyI6W3siYm9yZGVyLWJzIjplcygpfV0sImJvcmRlci1jb2xvci1iZSI6W3siYm9yZGVyLWJlIjplcygpfV0sImJvcmRlci1jb2xvci10IjpbeyJib3JkZXItdCI6ZXMoKX1dLCJib3JkZXItY29sb3ItciI6W3siYm9yZGVyLXIiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWIiOlt7ImJvcmRlci1iIjplcygpfV0sImJvcmRlci1jb2xvci1sIjpbeyJib3JkZXItbCI6ZXMoKX1dLCJkaXZpZGUtY29sb3IiOlt7ZGl2aWRlOmVzKCl9XSwib3V0bGluZS1zdHlsZSI6W3tvdXRsaW5lOlsuLi5ldSgpLCJub25lIiwiaGlkZGVuIl19XSwib3V0bGluZS1vZmZzZXQiOlt7Im91dGxpbmUtb2Zmc2V0IjpbSSxILFJdfV0sIm91dGxpbmUtdyI6W3tvdXRsaW5lOlsiIixJLEosRF19XSwib3V0bGluZS1jb2xvciI6W3tvdXRsaW5lOmVzKCl9XSxzaGFkb3c6W3tzaGFkb3c6WyIiLCJub25lIixkLFosTF19XSwic2hhZG93LWNvbG9yIjpbe3NoYWRvdzplcygpfV0sImluc2V0LXNoYWRvdyI6W3siaW5zZXQtc2hhZG93IjpbIm5vbmUiLG0sWixMXX1dLCJpbnNldC1zaGFkb3ctY29sb3IiOlt7Imluc2V0LXNoYWRvdyI6ZXMoKX1dLCJyaW5nLXciOlt7cmluZzplYigpfV0sInJpbmctdy1pbnNldCI6WyJyaW5nLWluc2V0Il0sInJpbmctY29sb3IiOlt7cmluZzplcygpfV0sInJpbmctb2Zmc2V0LXciOlt7InJpbmctb2Zmc2V0IjpbSSxEXX1dLCJyaW5nLW9mZnNldC1jb2xvciI6W3sicmluZy1vZmZzZXQiOmVzKCl9XSwiaW5zZXQtcmluZy13IjpbeyJpbnNldC1yaW5nIjplYigpfV0sImluc2V0LXJpbmctY29sb3IiOlt7Imluc2V0LXJpbmciOmVzKCl9XSwidGV4dC1zaGFkb3ciOlt7InRleHQtc2hhZG93IjpbIm5vbmUiLHAsWixMXX1dLCJ0ZXh0LXNoYWRvdy1jb2xvciI6W3sidGV4dC1zaGFkb3ciOmVzKCl9XSxvcGFjaXR5Olt7b3BhY2l0eTpbSSxILFJdfV0sIm1peC1ibGVuZCI6W3sibWl4LWJsZW5kIjpbLi4uZWYoKSwicGx1cy1kYXJrZXIiLCJwbHVzLWxpZ2h0ZXIiXX1dLCJiZy1ibGVuZCI6W3siYmctYmxlbmQiOmVmKCl9XSwibWFzay1jbGlwIjpbeyJtYXNrLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJmaWxsIiwic3Ryb2tlIiwidmlldyJdfSwibWFzay1uby1jbGlwIl0sIm1hc2stY29tcG9zaXRlIjpbe21hc2s6WyJhZGQiLCJzdWJ0cmFjdCIsImludGVyc2VjdCIsImV4Y2x1ZGUiXX1dLCJtYXNrLWltYWdlLWxpbmVhci1wb3MiOlt7Im1hc2stbGluZWFyIjpbSV19XSwibWFzay1pbWFnZS1saW5lYXItZnJvbS1wb3MiOlt7Im1hc2stbGluZWFyLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1saW5lYXItdG8tcG9zIjpbeyJtYXNrLWxpbmVhci10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWxpbmVhci1mcm9tLWNvbG9yIjpbeyJtYXNrLWxpbmVhci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtbGluZWFyLXRvLWNvbG9yIjpbeyJtYXNrLWxpbmVhci10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1wb3MiOlt7Im1hc2stdC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtdC10by1wb3MiOlt7Im1hc2stdC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1jb2xvciI6W3sibWFzay10LWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS10LXRvLWNvbG9yIjpbeyJtYXNrLXQtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yLWZyb20tcG9zIjpbeyJtYXNrLXItZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXItdG8tcG9zIjpbeyJtYXNrLXItdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yLWZyb20tY29sb3IiOlt7Im1hc2stci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2Utci10by1jb2xvciI6W3sibWFzay1yLXRvIjplcygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLXBvcyI6W3sibWFzay1iLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1iLXRvLXBvcyI6W3sibWFzay1iLXRvIjplZygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLWNvbG9yIjpbeyJtYXNrLWItZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLWItdG8tY29sb3IiOlt7Im1hc2stYi10byI6ZXMoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1wb3MiOlt7Im1hc2stbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtbC10by1wb3MiOlt7Im1hc2stbC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1jb2xvciI6W3sibWFzay1sLWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS1sLXRvLWNvbG9yIjpbeyJtYXNrLWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS14LWZyb20tcG9zIjpbeyJtYXNrLXgtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXgtdG8tcG9zIjpbeyJtYXNrLXgtdG8iOmVnKCl9XSwibWFzay1pbWFnZS14LWZyb20tY29sb3IiOlt7Im1hc2steC1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UteC10by1jb2xvciI6W3sibWFzay14LXRvIjplcygpfV0sIm1hc2staW1hZ2UteS1mcm9tLXBvcyI6W3sibWFzay15LWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS15LXRvLXBvcyI6W3sibWFzay15LXRvIjplZygpfV0sIm1hc2staW1hZ2UteS1mcm9tLWNvbG9yIjpbeyJtYXNrLXktZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXktdG8tY29sb3IiOlt7Im1hc2steS10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbCI6W3sibWFzay1yYWRpYWwiOltILFJdfV0sIm1hc2staW1hZ2UtcmFkaWFsLWZyb20tcG9zIjpbeyJtYXNrLXJhZGlhbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtcmFkaWFsLXRvLXBvcyI6W3sibWFzay1yYWRpYWwtdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtZnJvbS1jb2xvciI6W3sibWFzay1yYWRpYWwtZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbC10by1jb2xvciI6W3sibWFzay1yYWRpYWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtc2hhcGUiOlt7Im1hc2stcmFkaWFsIjpbImNpcmNsZSIsImVsbGlwc2UiXX1dLCJtYXNrLWltYWdlLXJhZGlhbC1zaXplIjpbeyJtYXNrLXJhZGlhbCI6W3tjbG9zZXN0Olsic2lkZSIsImNvcm5lciJdLGZhcnRoZXN0Olsic2lkZSIsImNvcm5lciJdfV19XSwibWFzay1pbWFnZS1yYWRpYWwtcG9zIjpbeyJtYXNrLXJhZGlhbC1hdCI6eSgpfV0sIm1hc2staW1hZ2UtY29uaWMtcG9zIjpbeyJtYXNrLWNvbmljIjpbSV19XSwibWFzay1pbWFnZS1jb25pYy1mcm9tLXBvcyI6W3sibWFzay1jb25pYy1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tcG9zIjpbeyJtYXNrLWNvbmljLXRvIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtZnJvbS1jb2xvciI6W3sibWFzay1jb25pYy1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tY29sb3IiOlt7Im1hc2stY29uaWMtdG8iOmVzKCl9XSwibWFzay1tb2RlIjpbe21hc2s6WyJhbHBoYSIsImx1bWluYW5jZSIsIm1hdGNoIl19XSwibWFzay1vcmlnaW4iOlt7Im1hc2stb3JpZ2luIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50IiwiZmlsbCIsInN0cm9rZSIsInZpZXciXX1dLCJtYXNrLXBvc2l0aW9uIjpbe21hc2s6ZWkoKX1dLCJtYXNrLXJlcGVhdCI6W3ttYXNrOmVjKCl9XSwibWFzay1zaXplIjpbe21hc2s6ZWQoKX1dLCJtYXNrLXR5cGUiOlt7Im1hc2stdHlwZSI6WyJhbHBoYSIsImx1bWluYW5jZSJdfV0sIm1hc2staW1hZ2UiOlt7bWFzazpbIm5vbmUiLEgsUl19XSxmaWx0ZXI6W3tmaWx0ZXI6WyIiLCJub25lIixILFJdfV0sYmx1cjpbe2JsdXI6ZWgoKX1dLGJyaWdodG5lc3M6W3ticmlnaHRuZXNzOltJLEgsUl19XSxjb250cmFzdDpbe2NvbnRyYXN0OltJLEgsUl19XSwiZHJvcC1zaGFkb3ciOlt7ImRyb3Atc2hhZG93IjpbIiIsIm5vbmUiLGIsWixMXX1dLCJkcm9wLXNoYWRvdy1jb2xvciI6W3siZHJvcC1zaGFkb3ciOmVzKCl9XSxncmF5c2NhbGU6W3tncmF5c2NhbGU6WyIiLEksSCxSXX1dLCJodWUtcm90YXRlIjpbeyJodWUtcm90YXRlIjpbSSxILFJdfV0saW52ZXJ0Olt7aW52ZXJ0OlsiIixJLEgsUl19XSxzYXR1cmF0ZTpbe3NhdHVyYXRlOltJLEgsUl19XSxzZXBpYTpbe3NlcGlhOlsiIixJLEgsUl19XSwiYmFja2Ryb3AtZmlsdGVyIjpbeyJiYWNrZHJvcC1maWx0ZXIiOlsiIiwibm9uZSIsSCxSXX1dLCJiYWNrZHJvcC1ibHVyIjpbeyJiYWNrZHJvcC1ibHVyIjplaCgpfV0sImJhY2tkcm9wLWJyaWdodG5lc3MiOlt7ImJhY2tkcm9wLWJyaWdodG5lc3MiOltJLEgsUl19XSwiYmFja2Ryb3AtY29udHJhc3QiOlt7ImJhY2tkcm9wLWNvbnRyYXN0IjpbSSxILFJdfV0sImJhY2tkcm9wLWdyYXlzY2FsZSI6W3siYmFja2Ryb3AtZ3JheXNjYWxlIjpbIiIsSSxILFJdfV0sImJhY2tkcm9wLWh1ZS1yb3RhdGUiOlt7ImJhY2tkcm9wLWh1ZS1yb3RhdGUiOltJLEgsUl19XSwiYmFja2Ryb3AtaW52ZXJ0IjpbeyJiYWNrZHJvcC1pbnZlcnQiOlsiIixJLEgsUl19XSwiYmFja2Ryb3Atb3BhY2l0eSI6W3siYmFja2Ryb3Atb3BhY2l0eSI6W0ksSCxSXX1dLCJiYWNrZHJvcC1zYXR1cmF0ZSI6W3siYmFja2Ryb3Atc2F0dXJhdGUiOltJLEgsUl19XSwiYmFja2Ryb3Atc2VwaWEiOlt7ImJhY2tkcm9wLXNlcGlhIjpbIiIsSSxILFJdfV0sImJvcmRlci1jb2xsYXBzZSI6W3tib3JkZXI6WyJjb2xsYXBzZSIsInNlcGFyYXRlIl19XSwiYm9yZGVyLXNwYWNpbmciOlt7ImJvcmRlci1zcGFjaW5nIjpDKCl9XSwiYm9yZGVyLXNwYWNpbmcteCI6W3siYm9yZGVyLXNwYWNpbmcteCI6QygpfV0sImJvcmRlci1zcGFjaW5nLXkiOlt7ImJvcmRlci1zcGFjaW5nLXkiOkMoKX1dLCJ0YWJsZS1sYXlvdXQiOlt7dGFibGU6WyJhdXRvIiwiZml4ZWQiXX1dLGNhcHRpb246W3tjYXB0aW9uOlsidG9wIiwiYm90dG9tIl19XSx0cmFuc2l0aW9uOlt7dHJhbnNpdGlvbjpbIiIsImFsbCIsImNvbG9ycyIsIm9wYWNpdHkiLCJzaGFkb3ciLCJ0cmFuc2Zvcm0iLCJub25lIixILFJdfV0sInRyYW5zaXRpb24tYmVoYXZpb3IiOlt7dHJhbnNpdGlvbjpbIm5vcm1hbCIsImRpc2NyZXRlIl19XSxkdXJhdGlvbjpbe2R1cmF0aW9uOltJLCJpbml0aWFsIixILFJdfV0sZWFzZTpbe2Vhc2U6WyJsaW5lYXIiLCJpbml0aWFsIixoLEgsUl19XSxkZWxheTpbe2RlbGF5OltJLEgsUl19XSxhbmltYXRlOlt7YW5pbWF0ZTpbIm5vbmUiLHcsSCxSXX1dLGJhY2tmYWNlOlt7YmFja2ZhY2U6WyJoaWRkZW4iLCJ2aXNpYmxlIl19XSxwZXJzcGVjdGl2ZTpbe3BlcnNwZWN0aXZlOltmLEgsUl19XSwicGVyc3BlY3RpdmUtb3JpZ2luIjpbeyJwZXJzcGVjdGl2ZS1vcmlnaW4iOnYoKX1dLHJvdGF0ZTpbe3JvdGF0ZTplaygpfV0sInJvdGF0ZS14IjpbeyJyb3RhdGUteCI6ZWsoKX1dLCJyb3RhdGUteSI6W3sicm90YXRlLXkiOmVrKCl9XSwicm90YXRlLXoiOlt7InJvdGF0ZS16IjplaygpfV0sc2NhbGU6W3tzY2FsZTpldygpfV0sInNjYWxlLXgiOlt7InNjYWxlLXgiOmV3KCl9XSwic2NhbGUteSI6W3sic2NhbGUteSI6ZXcoKX1dLCJzY2FsZS16IjpbeyJzY2FsZS16IjpldygpfV0sInNjYWxlLTNkIjpbInNjYWxlLTNkIl0sc2tldzpbe3NrZXc6ZXgoKX1dLCJza2V3LXgiOlt7InNrZXcteCI6ZXgoKX1dLCJza2V3LXkiOlt7InNrZXcteSI6ZXgoKX1dLHRyYW5zZm9ybTpbe3RyYW5zZm9ybTpbSCxSLCIiLCJub25lIiwiZ3B1IiwiY3B1Il19XSwidHJhbnNmb3JtLW9yaWdpbiI6W3tvcmlnaW46digpfV0sInRyYW5zZm9ybS1zdHlsZSI6W3t0cmFuc2Zvcm06WyIzZCIsImZsYXQiXX1dLHRyYW5zbGF0ZTpbe3RyYW5zbGF0ZTpleSgpfV0sInRyYW5zbGF0ZS14IjpbeyJ0cmFuc2xhdGUteCI6ZXkoKX1dLCJ0cmFuc2xhdGUteSI6W3sidHJhbnNsYXRlLXkiOmV5KCl9XSwidHJhbnNsYXRlLXoiOlt7InRyYW5zbGF0ZS16IjpleSgpfV0sInRyYW5zbGF0ZS1ub25lIjpbInRyYW5zbGF0ZS1ub25lIl0sYWNjZW50Olt7YWNjZW50OmVzKCl9XSxhcHBlYXJhbmNlOlt7YXBwZWFyYW5jZTpbIm5vbmUiLCJhdXRvIl19XSwiY2FyZXQtY29sb3IiOlt7Y2FyZXQ6ZXMoKX1dLCJjb2xvci1zY2hlbWUiOlt7c2NoZW1lOlsibm9ybWFsIiwiZGFyayIsImxpZ2h0IiwibGlnaHQtZGFyayIsIm9ubHktZGFyayIsIm9ubHktbGlnaHQiXX1dLGN1cnNvcjpbe2N1cnNvcjpbImF1dG8iLCJkZWZhdWx0IiwicG9pbnRlciIsIndhaXQiLCJ0ZXh0IiwibW92ZSIsImhlbHAiLCJub3QtYWxsb3dlZCIsIm5vbmUiLCJjb250ZXh0LW1lbnUiLCJwcm9ncmVzcyIsImNlbGwiLCJjcm9zc2hhaXIiLCJ2ZXJ0aWNhbC10ZXh0IiwiYWxpYXMiLCJjb3B5Iiwibm8tZHJvcCIsImdyYWIiLCJncmFiYmluZyIsImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIiwicm93LXJlc2l6ZSIsIm4tcmVzaXplIiwiZS1yZXNpemUiLCJzLXJlc2l6ZSIsInctcmVzaXplIiwibmUtcmVzaXplIiwibnctcmVzaXplIiwic2UtcmVzaXplIiwic3ctcmVzaXplIiwiZXctcmVzaXplIiwibnMtcmVzaXplIiwibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSIsInpvb20taW4iLCJ6b29tLW91dCIsSCxSXX1dLCJmaWVsZC1zaXppbmciOlt7ImZpZWxkLXNpemluZyI6WyJmaXhlZCIsImNvbnRlbnQiXX1dLCJwb2ludGVyLWV2ZW50cyI6W3sicG9pbnRlci1ldmVudHMiOlsiYXV0byIsIm5vbmUiXX1dLHJlc2l6ZTpbe3Jlc2l6ZTpbIm5vbmUiLCIiLCJ5IiwieCJdfV0sInNjcm9sbC1iZWhhdmlvciI6W3tzY3JvbGw6WyJhdXRvIiwic21vb3RoIl19XSwic2Nyb2xsLW0iOlt7InNjcm9sbC1tIjpDKCl9XSwic2Nyb2xsLW14IjpbeyJzY3JvbGwtbXgiOkMoKX1dLCJzY3JvbGwtbXkiOlt7InNjcm9sbC1teSI6QygpfV0sInNjcm9sbC1tcyI6W3sic2Nyb2xsLW1zIjpDKCl9XSwic2Nyb2xsLW1lIjpbeyJzY3JvbGwtbWUiOkMoKX1dLCJzY3JvbGwtbWJzIjpbeyJzY3JvbGwtbWJzIjpDKCl9XSwic2Nyb2xsLW1iZSI6W3sic2Nyb2xsLW1iZSI6QygpfV0sInNjcm9sbC1tdCI6W3sic2Nyb2xsLW10IjpDKCl9XSwic2Nyb2xsLW1yIjpbeyJzY3JvbGwtbXIiOkMoKX1dLCJzY3JvbGwtbWIiOlt7InNjcm9sbC1tYiI6QygpfV0sInNjcm9sbC1tbCI6W3sic2Nyb2xsLW1sIjpDKCl9XSwic2Nyb2xsLXAiOlt7InNjcm9sbC1wIjpDKCl9XSwic2Nyb2xsLXB4IjpbeyJzY3JvbGwtcHgiOkMoKX1dLCJzY3JvbGwtcHkiOlt7InNjcm9sbC1weSI6QygpfV0sInNjcm9sbC1wcyI6W3sic2Nyb2xsLXBzIjpDKCl9XSwic2Nyb2xsLXBlIjpbeyJzY3JvbGwtcGUiOkMoKX1dLCJzY3JvbGwtcGJzIjpbeyJzY3JvbGwtcGJzIjpDKCl9XSwic2Nyb2xsLXBiZSI6W3sic2Nyb2xsLXBiZSI6QygpfV0sInNjcm9sbC1wdCI6W3sic2Nyb2xsLXB0IjpDKCl9XSwic2Nyb2xsLXByIjpbeyJzY3JvbGwtcHIiOkMoKX1dLCJzY3JvbGwtcGIiOlt7InNjcm9sbC1wYiI6QygpfV0sInNjcm9sbC1wbCI6W3sic2Nyb2xsLXBsIjpDKCl9XSwic25hcC1hbGlnbiI6W3tzbmFwOlsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJhbGlnbi1ub25lIl19XSwic25hcC1zdG9wIjpbe3NuYXA6WyJub3JtYWwiLCJhbHdheXMiXX1dLCJzbmFwLXR5cGUiOlt7c25hcDpbIm5vbmUiLCJ4IiwieSIsImJvdGgiXX1dLCJzbmFwLXN0cmljdG5lc3MiOlt7c25hcDpbIm1hbmRhdG9yeSIsInByb3hpbWl0eSJdfV0sdG91Y2g6W3t0b3VjaDpbImF1dG8iLCJub25lIiwibWFuaXB1bGF0aW9uIl19XSwidG91Y2gteCI6W3sidG91Y2gtcGFuIjpbIngiLCJsZWZ0IiwicmlnaHQiXX1dLCJ0b3VjaC15IjpbeyJ0b3VjaC1wYW4iOlsieSIsInVwIiwiZG93biJdfV0sInRvdWNoLXB6IjpbInRvdWNoLXBpbmNoLXpvb20iXSxzZWxlY3Q6W3tzZWxlY3Q6WyJub25lIiwidGV4dCIsImFsbCIsImF1dG8iXX1dLCJ3aWxsLWNoYW5nZSI6W3sid2lsbC1jaGFuZ2UiOlsiYXV0byIsInNjcm9sbCIsImNvbnRlbnRzIiwidHJhbnNmb3JtIixILFJdfV0sZmlsbDpbe2ZpbGw6WyJub25lIiwuLi5lcygpXX1dLCJzdHJva2UtdyI6W3tzdHJva2U6W0ksSixELHFdfV0sc3Ryb2tlOlt7c3Ryb2tlOlsibm9uZSIsLi4uZXMoKV19XSwiZm9yY2VkLWNvbG9yLWFkanVzdCI6W3siZm9yY2VkLWNvbG9yLWFkanVzdCI6WyJhdXRvIiwibm9uZSJdfV19LGNvbmZsaWN0aW5nQ2xhc3NHcm91cHM6e292ZXJmbG93Olsib3ZlcmZsb3cteCIsIm92ZXJmbG93LXkiXSxvdmVyc2Nyb2xsOlsib3ZlcnNjcm9sbC14Iiwib3ZlcnNjcm9sbC15Il0saW5zZXQ6WyJpbnNldC14IiwiaW5zZXQteSIsImluc2V0LWJzIiwiaW5zZXQtYmUiLCJzdGFydCIsImVuZCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLCJpbnNldC14IjpbInJpZ2h0IiwibGVmdCJdLCJpbnNldC15IjpbInRvcCIsImJvdHRvbSJdLGZsZXg6WyJiYXNpcyIsImdyb3ciLCJzaHJpbmsiXSxnYXA6WyJnYXAteCIsImdhcC15Il0scDpbInB4IiwicHkiLCJwcyIsInBlIiwicGJzIiwicGJlIiwicHQiLCJwciIsInBiIiwicGwiXSxweDpbInByIiwicGwiXSxweTpbInB0IiwicGIiXSxtOlsibXgiLCJteSIsIm1zIiwibWUiLCJtYnMiLCJtYmUiLCJtdCIsIm1yIiwibWIiLCJtbCJdLG14OlsibXIiLCJtbCJdLG15OlsibXQiLCJtYiJdLHNpemU6WyJ3IiwiaCJdLCJmb250LXNpemUiOlsibGVhZGluZyJdLCJmdm4tbm9ybWFsIjpbImZ2bi1vcmRpbmFsIiwiZnZuLXNsYXNoZWQtemVybyIsImZ2bi1maWd1cmUiLCJmdm4tc3BhY2luZyIsImZ2bi1mcmFjdGlvbiJdLCJmdm4tb3JkaW5hbCI6WyJmdm4tbm9ybWFsIl0sImZ2bi1zbGFzaGVkLXplcm8iOlsiZnZuLW5vcm1hbCJdLCJmdm4tZmlndXJlIjpbImZ2bi1ub3JtYWwiXSwiZnZuLXNwYWNpbmciOlsiZnZuLW5vcm1hbCJdLCJmdm4tZnJhY3Rpb24iOlsiZnZuLW5vcm1hbCJdLCJsaW5lLWNsYW1wIjpbImRpc3BsYXkiLCJvdmVyZmxvdyJdLHJvdW5kZWQ6WyJyb3VuZGVkLXMiLCJyb3VuZGVkLWUiLCJyb3VuZGVkLXQiLCJyb3VuZGVkLXIiLCJyb3VuZGVkLWIiLCJyb3VuZGVkLWwiLCJyb3VuZGVkLXNzIiwicm91bmRlZC1zZSIsInJvdW5kZWQtZWUiLCJyb3VuZGVkLWVzIiwicm91bmRlZC10bCIsInJvdW5kZWQtdHIiLCJyb3VuZGVkLWJyIiwicm91bmRlZC1ibCJdLCJyb3VuZGVkLXMiOlsicm91bmRlZC1zcyIsInJvdW5kZWQtZXMiXSwicm91bmRlZC1lIjpbInJvdW5kZWQtc2UiLCJyb3VuZGVkLWVlIl0sInJvdW5kZWQtdCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC10ciJdLCJyb3VuZGVkLXIiOlsicm91bmRlZC10ciIsInJvdW5kZWQtYnIiXSwicm91bmRlZC1iIjpbInJvdW5kZWQtYnIiLCJyb3VuZGVkLWJsIl0sInJvdW5kZWQtbCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC1ibCJdLCJib3JkZXItc3BhY2luZyI6WyJib3JkZXItc3BhY2luZy14IiwiYm9yZGVyLXNwYWNpbmcteSJdLCJib3JkZXItdyI6WyJib3JkZXItdy14IiwiYm9yZGVyLXcteSIsImJvcmRlci13LXMiLCJib3JkZXItdy1lIiwiYm9yZGVyLXctYnMiLCJib3JkZXItdy1iZSIsImJvcmRlci13LXQiLCJib3JkZXItdy1yIiwiYm9yZGVyLXctYiIsImJvcmRlci13LWwiXSwiYm9yZGVyLXcteCI6WyJib3JkZXItdy1yIiwiYm9yZGVyLXctbCJdLCJib3JkZXItdy15IjpbImJvcmRlci13LXQiLCJib3JkZXItdy1iIl0sImJvcmRlci1jb2xvciI6WyJib3JkZXItY29sb3IteCIsImJvcmRlci1jb2xvci15IiwiYm9yZGVyLWNvbG9yLXMiLCJib3JkZXItY29sb3ItZSIsImJvcmRlci1jb2xvci1icyIsImJvcmRlci1jb2xvci1iZSIsImJvcmRlci1jb2xvci10IiwiYm9yZGVyLWNvbG9yLXIiLCJib3JkZXItY29sb3ItYiIsImJvcmRlci1jb2xvci1sIl0sImJvcmRlci1jb2xvci14IjpbImJvcmRlci1jb2xvci1yIiwiYm9yZGVyLWNvbG9yLWwiXSwiYm9yZGVyLWNvbG9yLXkiOlsiYm9yZGVyLWNvbG9yLXQiLCJib3JkZXItY29sb3ItYiJdLHRyYW5zbGF0ZTpbInRyYW5zbGF0ZS14IiwidHJhbnNsYXRlLXkiLCJ0cmFuc2xhdGUtbm9uZSJdLCJ0cmFuc2xhdGUtbm9uZSI6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGUteCIsInRyYW5zbGF0ZS15IiwidHJhbnNsYXRlLXoiXSwic2Nyb2xsLW0iOlsic2Nyb2xsLW14Iiwic2Nyb2xsLW15Iiwic2Nyb2xsLW1zIiwic2Nyb2xsLW1lIiwic2Nyb2xsLW1icyIsInNjcm9sbC1tYmUiLCJzY3JvbGwtbXQiLCJzY3JvbGwtbXIiLCJzY3JvbGwtbWIiLCJzY3JvbGwtbWwiXSwic2Nyb2xsLW14IjpbInNjcm9sbC1tciIsInNjcm9sbC1tbCJdLCJzY3JvbGwtbXkiOlsic2Nyb2xsLW10Iiwic2Nyb2xsLW1iIl0sInNjcm9sbC1wIjpbInNjcm9sbC1weCIsInNjcm9sbC1weSIsInNjcm9sbC1wcyIsInNjcm9sbC1wZSIsInNjcm9sbC1wYnMiLCJzY3JvbGwtcGJlIiwic2Nyb2xsLXB0Iiwic2Nyb2xsLXByIiwic2Nyb2xsLXBiIiwic2Nyb2xsLXBsIl0sInNjcm9sbC1weCI6WyJzY3JvbGwtcHIiLCJzY3JvbGwtcGwiXSwic2Nyb2xsLXB5IjpbInNjcm9sbC1wdCIsInNjcm9sbC1wYiJdLHRvdWNoOlsidG91Y2gteCIsInRvdWNoLXkiLCJ0b3VjaC1weiJdLCJ0b3VjaC14IjpbInRvdWNoIl0sInRvdWNoLXkiOlsidG91Y2giXSwidG91Y2gtcHoiOlsidG91Y2giXX0sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOnsiZm9udC1zaXplIjpbImxlYWRpbmciXX0sb3JkZXJTZW5zaXRpdmVNb2RpZmllcnM6WyIqIiwiKioiLCJhZnRlciIsImJhY2tkcm9wIiwiYmVmb3JlIiwiZGV0YWlscy1jb250ZW50IiwiZmlsZSIsImZpcnN0LWxldHRlciIsImZpcnN0LWxpbmUiLCJtYXJrZXIiLCJwbGFjZWhvbGRlciIsInNlbGVjdGlvbiJdfX0pO2Z1bmN0aW9uIGVwKC4uLmUpe3JldHVybiBlbShyKGUpKX1mdW5jdGlvbiBlYihlLHIpe3JldHVybmAvY29pbi8ke2UudG9VcHBlckNhc2UoKX0vJHtlbmNvZGVVUklDb21wb25lbnQoci50cmltKCkucmVwbGFjZSgvXHMrL2csIi0iKSl9YH1sZXQgZXU9bmV3IFNldChbImNvaW5saWIuaW8iLCJ3d3cuY29pbmxpYi5pbyIsImNvaW5saWIudmVyY2VsLmFwcCJdKTtmdW5jdGlvbiBlZihlKXtpZighZXx8ZS5zdGFydHNXaXRoKCIvIil8fGUuc3RhcnRzV2l0aCgiIyIpKXJldHVybiExO2lmKC9eKG1haWx0b3x0ZWwpOi9pLnRlc3QoZSkpcmV0dXJuITA7dHJ5e2xldCByPW5ldyBVUkwoZSk7cmV0dXJuIWV1LmhhcyhyLmhvc3RuYW1lKX1jYXRjaHtyZXR1cm4hMX19bGV0IGVnPW5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtub3RhdGlvbjoiY29tcGFjdCIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTtmdW5jdGlvbiBlaChlKXtyZXR1cm4gZWcuZm9ybWF0KGUpfWZ1bmN0aW9uIGVrKGUscj0idXNkIil7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtzdHlsZToiY3VycmVuY3kiLGN1cnJlbmN5OnIudG9VcHBlckNhc2UoKSxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6MixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZTwxPzY6ZTwxMDA/NDoyfSkuZm9ybWF0KGUpfWZ1bmN0aW9uIGV3KGUpe3JldHVybmAke2U+PTA/IisiOiIifSR7ZS50b0ZpeGVkKDIpfSVgfWZ1bmN0aW9uIGV4KGUpe3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLVVTIikuZm9ybWF0KGUpfWUucyhbImNuIiwoKT0+ZXAsImNvaW5VcmwiLCgpPT5lYiwiZm9ybWF0Q29tcGFjdCIsKCk9PmVoLCJmb3JtYXROdW1iZXIiLCgpPT5leCwiZm9ybWF0UGVyY2VudGFnZSIsKCk9PmV3LCJmb3JtYXRQcmljZSIsKCk9PmVrLCJpc0V4dGVybmFsVXJsIiwoKT0+ZWZdLDc1MTU3KX1dKTs="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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/forex-cross-rates/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A400%2C%22currencies%22%3A%5B%22EUR%22%2C%22USD%22%2C%22JPY%22%2C%22GBP%22%2C%22CHF%22%2C%22AUD%22%2C%22CAD%22%2C%22NZD%22%2C%22CNY%22%5D%2C%22colorTheme%22%3A%22light%22%2C%22utm_source%22%3A%22astroxcinvest.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forex-cross-rates%22%2C%22page-uri%22%3A%22astroxcinvest.com%2F%22%7D","date":"2026-07-27T03:56:40.236Z","timestamp":1785124600236,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5: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/forex-cross-rates/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 03:56: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: 0c3602bcfe2d9c1106da7ac7ce7513db\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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}}]}
